react-table-edit 1.4.17 → 1.4.19
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/component/edit-form/select-table/index.d.ts +1 -1
- package/dist/component/edit-form-inline/select-table/index.d.ts +1 -1
- package/dist/component/table/command.d.ts +1 -1
- package/dist/component/type/index.d.ts +65 -0
- package/dist/component/utils.d.ts +25 -0
- package/dist/component/virtualized-table/content.d.ts +22 -0
- package/dist/component/virtualized-table/group-col.d.ts +6 -0
- package/dist/component/virtualized-table/header.d.ts +30 -0
- package/dist/component/virtualized-table/index.d.ts +25 -0
- package/dist/component/virtualized-table/loading-item.d.ts +4 -0
- package/dist/index.d.ts +91 -1
- package/dist/index.js +212 -157
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +212 -158
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1158,7 +1158,7 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
1158
1158
|
|
|
1159
1159
|
var PropTypes = propTypes$1.exports;
|
|
1160
1160
|
|
|
1161
|
-
var classnames$
|
|
1161
|
+
var classnames$1 = {exports: {}};
|
|
1162
1162
|
|
|
1163
1163
|
/*!
|
|
1164
1164
|
Copyright (c) 2018 Jed Watson.
|
|
@@ -1233,9 +1233,9 @@ var classnames$2 = {exports: {}};
|
|
|
1233
1233
|
window.classNames = classNames;
|
|
1234
1234
|
}
|
|
1235
1235
|
}());
|
|
1236
|
-
}(classnames$
|
|
1236
|
+
}(classnames$1));
|
|
1237
1237
|
|
|
1238
|
-
var classNames$
|
|
1238
|
+
var classNames$2 = classnames$1.exports;
|
|
1239
1239
|
|
|
1240
1240
|
var ManagerReferenceNodeContext = React__namespace.createContext();
|
|
1241
1241
|
var ManagerReferenceNodeSetterContext = React__namespace.createContext();
|
|
@@ -4587,7 +4587,7 @@ const Row = props => {
|
|
|
4587
4587
|
const isXs = !i;
|
|
4588
4588
|
colClasses.push(isXs ? `row-cols-${colSize}` : `row-cols-${colWidth}-${colSize}`);
|
|
4589
4589
|
});
|
|
4590
|
-
const classes = mapToCssModules(classNames$
|
|
4590
|
+
const classes = mapToCssModules(classNames$2(className, noGutters ? 'gx-0' : null, form ? 'form-row' : 'row', colClasses), cssModule);
|
|
4591
4591
|
return /*#__PURE__*/React__default["default"].createElement(Tag, _extends$5({}, attributes, {
|
|
4592
4592
|
className: classes
|
|
4593
4593
|
}));
|
|
@@ -4647,7 +4647,7 @@ const getColumnClasses = (attributes, cssModule, widths = colWidths$1) => {
|
|
|
4647
4647
|
if (isObject$1(columnProp)) {
|
|
4648
4648
|
const colSizeInterfix = isXs ? '-' : `-${colWidth}-`;
|
|
4649
4649
|
const colClass = getColumnSizeClass$1(isXs, colWidth, columnProp.size);
|
|
4650
|
-
colClasses.push(mapToCssModules(classNames$
|
|
4650
|
+
colClasses.push(mapToCssModules(classNames$2({
|
|
4651
4651
|
[colClass]: columnProp.size || columnProp.size === '',
|
|
4652
4652
|
[`order${colSizeInterfix}${columnProp.order}`]: columnProp.order || columnProp.order === 0,
|
|
4653
4653
|
[`offset${colSizeInterfix}${columnProp.offset}`]: columnProp.offset || columnProp.offset === 0
|
|
@@ -4681,7 +4681,7 @@ const Col = props => {
|
|
|
4681
4681
|
colClasses.push('col');
|
|
4682
4682
|
}
|
|
4683
4683
|
|
|
4684
|
-
const classes = mapToCssModules(classNames$
|
|
4684
|
+
const classes = mapToCssModules(classNames$2(className, colClasses), cssModule);
|
|
4685
4685
|
return /*#__PURE__*/React__default["default"].createElement(Tag, _extends$5({}, modifiedAttributes, {
|
|
4686
4686
|
className: classes
|
|
4687
4687
|
}));
|
|
@@ -4789,7 +4789,7 @@ class NavLink extends React__default["default"].Component {
|
|
|
4789
4789
|
} = _this$props,
|
|
4790
4790
|
attributes = _objectWithoutProperties$1(_this$props, _excluded$15);
|
|
4791
4791
|
|
|
4792
|
-
const classes = mapToCssModules(classNames$
|
|
4792
|
+
const classes = mapToCssModules(classNames$2(className, 'nav-link', {
|
|
4793
4793
|
disabled: attributes.disabled,
|
|
4794
4794
|
active: active
|
|
4795
4795
|
}), cssModule);
|
|
@@ -4877,7 +4877,7 @@ class Button extends React__default["default"].Component {
|
|
|
4877
4877
|
attributes = _objectWithoutProperties$1(_this$props, _excluded$12);
|
|
4878
4878
|
|
|
4879
4879
|
const btnOutlineColor = `btn${outline ? '-outline' : ''}-${color}`;
|
|
4880
|
-
const classes = mapToCssModules(classNames$
|
|
4880
|
+
const classes = mapToCssModules(classNames$2(className, close && 'btn-close', close || 'btn', close || btnOutlineColor, size ? `btn-${size}` : false, block ? 'd-block w-100' : false, {
|
|
4881
4881
|
active,
|
|
4882
4882
|
disabled: this.props.disabled
|
|
4883
4883
|
}), cssModule);
|
|
@@ -4965,7 +4965,7 @@ class ButtonToggle extends React__default["default"].Component {
|
|
|
4965
4965
|
} = _this$props,
|
|
4966
4966
|
attributes = _objectWithoutProperties$1(_this$props, _excluded$11);
|
|
4967
4967
|
|
|
4968
|
-
const classes = mapToCssModules(classNames$
|
|
4968
|
+
const classes = mapToCssModules(classNames$2(className, {
|
|
4969
4969
|
focus: this.state.focus
|
|
4970
4970
|
}), this.props.cssModule);
|
|
4971
4971
|
return /*#__PURE__*/React__default["default"].createElement(Button$1, _extends$5({
|
|
@@ -5239,7 +5239,7 @@ class Dropdown extends React__default["default"].Component {
|
|
|
5239
5239
|
});
|
|
5240
5240
|
}
|
|
5241
5241
|
|
|
5242
|
-
const classes = mapToCssModules(classNames$
|
|
5242
|
+
const classes = mapToCssModules(classNames$2(className, nav && active ? 'active' : false, setActiveFromChild && subItemIsActive ? 'active' : false, {
|
|
5243
5243
|
'btn-group': group,
|
|
5244
5244
|
[`btn-group-${size}`]: !!size,
|
|
5245
5245
|
dropdown: !group,
|
|
@@ -5380,7 +5380,7 @@ class DropdownItem extends React__default["default"].Component {
|
|
|
5380
5380
|
} = _omit,
|
|
5381
5381
|
props = _objectWithoutProperties$1(_omit, _excluded$Z);
|
|
5382
5382
|
|
|
5383
|
-
const classes = mapToCssModules(classNames$
|
|
5383
|
+
const classes = mapToCssModules(classNames$2(className, {
|
|
5384
5384
|
disabled: props.disabled,
|
|
5385
5385
|
'dropdown-item': !divider && !header && !text,
|
|
5386
5386
|
active: active,
|
|
@@ -5473,7 +5473,7 @@ class DropdownMenu extends React__default["default"].Component {
|
|
|
5473
5473
|
} = _this$props,
|
|
5474
5474
|
attrs = _objectWithoutProperties$1(_this$props, _excluded$Y);
|
|
5475
5475
|
|
|
5476
|
-
const classes = mapToCssModules(classNames$
|
|
5476
|
+
const classes = mapToCssModules(classNames$2(className, 'dropdown-menu', {
|
|
5477
5477
|
'dropdown-menu-dark': dark,
|
|
5478
5478
|
'dropdown-menu-end': end || right,
|
|
5479
5479
|
show: this.context.isOpen
|
|
@@ -5606,7 +5606,7 @@ class DropdownToggle extends React__default["default"].Component {
|
|
|
5606
5606
|
props = _objectWithoutProperties$1(_this$props, _excluded$X);
|
|
5607
5607
|
|
|
5608
5608
|
const ariaLabel = props['aria-label'] || 'Toggle Dropdown';
|
|
5609
|
-
const classes = mapToCssModules(classNames$
|
|
5609
|
+
const classes = mapToCssModules(classNames$2(className, {
|
|
5610
5610
|
'dropdown-toggle': caret || split,
|
|
5611
5611
|
'dropdown-toggle-split': split,
|
|
5612
5612
|
'nav-link': nav
|
|
@@ -5697,7 +5697,7 @@ function Fade(props) {
|
|
|
5697
5697
|
const childProps = omit(otherProps, TransitionPropTypeKeys);
|
|
5698
5698
|
return /*#__PURE__*/React__default["default"].createElement(Transition$1, transitionProps, status => {
|
|
5699
5699
|
const isActive = status === 'entered';
|
|
5700
|
-
const classes = mapToCssModules(classNames$
|
|
5700
|
+
const classes = mapToCssModules(classNames$2(className, baseClass, isActive && baseClassActive), cssModule);
|
|
5701
5701
|
return /*#__PURE__*/React__default["default"].createElement(Tag, _extends$5({
|
|
5702
5702
|
className: classes
|
|
5703
5703
|
}, childProps, {
|
|
@@ -5869,7 +5869,7 @@ class Collapse extends React$5.Component {
|
|
|
5869
5869
|
onExited: this.onExited
|
|
5870
5870
|
}), status => {
|
|
5871
5871
|
let collapseClass = getTransitionClass(status);
|
|
5872
|
-
const classes = mapToCssModules(classNames$
|
|
5872
|
+
const classes = mapToCssModules(classNames$2(className, horizontal && 'collapse-horizontal', collapseClass, navbar && 'navbar-collapse'), cssModule);
|
|
5873
5873
|
const style = dimension === null ? null : {
|
|
5874
5874
|
[horizontal ? 'width' : 'height']: dimension
|
|
5875
5875
|
};
|
|
@@ -5922,7 +5922,7 @@ const Badge = props => {
|
|
|
5922
5922
|
} = props,
|
|
5923
5923
|
attributes = _objectWithoutProperties$1(props, _excluded$P);
|
|
5924
5924
|
|
|
5925
|
-
const classes = mapToCssModules(classNames$
|
|
5925
|
+
const classes = mapToCssModules(classNames$2(className, 'badge', 'bg-' + color, pill ? 'rounded-pill' : false), cssModule);
|
|
5926
5926
|
|
|
5927
5927
|
if (attributes.href && Tag === 'span') {
|
|
5928
5928
|
Tag = 'a';
|
|
@@ -6077,7 +6077,7 @@ class CarouselItem extends React__default["default"].Component {
|
|
|
6077
6077
|
const isActive = status === TransitionStatuses.ENTERED || status === TransitionStatuses.EXITING;
|
|
6078
6078
|
const directionClassName = (status === TransitionStatuses.ENTERING || status === TransitionStatuses.EXITING) && this.state.startAnimation && (direction === 'end' ? 'carousel-item-start' : 'carousel-item-end');
|
|
6079
6079
|
const orderClassName = status === TransitionStatuses.ENTERING && (direction === 'end' ? 'carousel-item-next' : 'carousel-item-prev');
|
|
6080
|
-
const itemClasses = mapToCssModules(classNames$
|
|
6080
|
+
const itemClasses = mapToCssModules(classNames$2(className, 'carousel-item', isActive && 'active', directionClassName, orderClassName), cssModule);
|
|
6081
6081
|
return /*#__PURE__*/React__default["default"].createElement(Tag, {
|
|
6082
6082
|
className: itemClasses
|
|
6083
6083
|
}, children);
|
|
@@ -6291,8 +6291,8 @@ class Carousel extends React__default["default"].Component {
|
|
|
6291
6291
|
dark,
|
|
6292
6292
|
fade
|
|
6293
6293
|
} = this.props;
|
|
6294
|
-
const outerClasses = mapToCssModules(classNames$
|
|
6295
|
-
const innerClasses = mapToCssModules(classNames$
|
|
6294
|
+
const outerClasses = mapToCssModules(classNames$2(className, 'carousel', fade, slide && 'slide', dark && 'carousel-dark'), cssModule);
|
|
6295
|
+
const innerClasses = mapToCssModules(classNames$2('carousel-inner'), cssModule); // filter out booleans, null, or undefined
|
|
6296
6296
|
|
|
6297
6297
|
const children = this.props.children.filter(child => child !== null && child !== undefined && typeof child !== 'boolean');
|
|
6298
6298
|
const slidesOnly = children.every(child => child.type === CarouselItem$1); // Rendering only slides
|
|
@@ -6405,9 +6405,9 @@ const CarouselControl = props => {
|
|
|
6405
6405
|
directionText,
|
|
6406
6406
|
className
|
|
6407
6407
|
} = props;
|
|
6408
|
-
const anchorClasses = mapToCssModules(classNames$
|
|
6409
|
-
const iconClasses = mapToCssModules(classNames$
|
|
6410
|
-
const screenReaderClasses = mapToCssModules(classNames$
|
|
6408
|
+
const anchorClasses = mapToCssModules(classNames$2(className, `carousel-control-${direction}`), cssModule);
|
|
6409
|
+
const iconClasses = mapToCssModules(classNames$2(`carousel-control-${direction}-icon`), cssModule);
|
|
6410
|
+
const screenReaderClasses = mapToCssModules(classNames$2('visually-hidden'), cssModule);
|
|
6411
6411
|
return (
|
|
6412
6412
|
/*#__PURE__*/
|
|
6413
6413
|
// We need to disable this linting rule to use an `<a>` instead of
|
|
@@ -6451,9 +6451,9 @@ const CarouselIndicators = props => {
|
|
|
6451
6451
|
onClickHandler,
|
|
6452
6452
|
className
|
|
6453
6453
|
} = props;
|
|
6454
|
-
const listClasses = mapToCssModules(classNames$
|
|
6454
|
+
const listClasses = mapToCssModules(classNames$2(className, 'carousel-indicators'), cssModule);
|
|
6455
6455
|
const indicators = items.map((item, idx) => {
|
|
6456
|
-
const indicatorClasses = mapToCssModules(classNames$
|
|
6456
|
+
const indicatorClasses = mapToCssModules(classNames$2({
|
|
6457
6457
|
active: activeIndex === idx
|
|
6458
6458
|
}), cssModule);
|
|
6459
6459
|
return /*#__PURE__*/React__default["default"].createElement("button", {
|
|
@@ -6488,7 +6488,7 @@ const CarouselCaption = props => {
|
|
|
6488
6488
|
cssModule,
|
|
6489
6489
|
className
|
|
6490
6490
|
} = props;
|
|
6491
|
-
const classes = mapToCssModules(classNames$
|
|
6491
|
+
const classes = mapToCssModules(classNames$2(className, 'carousel-caption', 'd-none', 'd-md-block'), cssModule);
|
|
6492
6492
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6493
6493
|
className: classes
|
|
6494
6494
|
}, /*#__PURE__*/React__default["default"].createElement("h3", null, captionHeader), /*#__PURE__*/React__default["default"].createElement("p", null, captionText));
|
|
@@ -6749,8 +6749,8 @@ class PopperContent extends React__default["default"].Component {
|
|
|
6749
6749
|
} = _this$props,
|
|
6750
6750
|
attrs = _objectWithoutProperties$1(_this$props, _excluded$z);
|
|
6751
6751
|
|
|
6752
|
-
const arrowClassName = mapToCssModules(classNames$
|
|
6753
|
-
const popperClassName = mapToCssModules(classNames$
|
|
6752
|
+
const arrowClassName = mapToCssModules(classNames$2('arrow', _arrowClassName), cssModule);
|
|
6753
|
+
const popperClassName = mapToCssModules(classNames$2(_popperClassName, placementPrefix ? `${placementPrefix}-auto` : ''), this.props.cssModule);
|
|
6754
6754
|
const modifierNames = modifiers.map(m => m.name);
|
|
6755
6755
|
const baseModifiers = [{
|
|
6756
6756
|
name: 'offset',
|
|
@@ -7214,8 +7214,8 @@ const defaultProps$D = {
|
|
|
7214
7214
|
};
|
|
7215
7215
|
|
|
7216
7216
|
const Popover = props => {
|
|
7217
|
-
const popperClasses = classNames$
|
|
7218
|
-
const classes = classNames$
|
|
7217
|
+
const popperClasses = classNames$2('popover', 'show', props.popperClassName);
|
|
7218
|
+
const classes = classNames$2('popover-inner', props.innerClassName);
|
|
7219
7219
|
return /*#__PURE__*/React__default["default"].createElement(TooltipPopoverWrapper$1, _extends$5({}, props, {
|
|
7220
7220
|
arrowClassName: "popover-arrow",
|
|
7221
7221
|
popperClassName: popperClasses,
|
|
@@ -7640,7 +7640,7 @@ class Modal extends React__default["default"].Component {
|
|
|
7640
7640
|
conditionallyUpdateScrollbar();
|
|
7641
7641
|
|
|
7642
7642
|
if (Modal.openCount === 0) {
|
|
7643
|
-
document.body.className = classNames$
|
|
7643
|
+
document.body.className = classNames$2(document.body.className, mapToCssModules('modal-open', this.props.cssModule));
|
|
7644
7644
|
}
|
|
7645
7645
|
|
|
7646
7646
|
this.modalIndex = Modal.openCount;
|
|
@@ -7684,7 +7684,7 @@ class Modal extends React__default["default"].Component {
|
|
|
7684
7684
|
const attributes = omit(this.props, propsToOmit$1);
|
|
7685
7685
|
const dialogBaseClass = 'modal-dialog';
|
|
7686
7686
|
return /*#__PURE__*/React__default["default"].createElement("div", _extends$5({}, attributes, {
|
|
7687
|
-
className: mapToCssModules(classNames$
|
|
7687
|
+
className: mapToCssModules(classNames$2(dialogBaseClass, this.props.className, {
|
|
7688
7688
|
[`modal-${this.props.size}`]: this.props.size,
|
|
7689
7689
|
[`${dialogBaseClass}-centered`]: this.props.centered,
|
|
7690
7690
|
[`${dialogBaseClass}-scrollable`]: this.props.scrollable,
|
|
@@ -7696,7 +7696,7 @@ class Modal extends React__default["default"].Component {
|
|
|
7696
7696
|
this._dialog = c;
|
|
7697
7697
|
}
|
|
7698
7698
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
7699
|
-
className: mapToCssModules(classNames$
|
|
7699
|
+
className: mapToCssModules(classNames$2('modal-content', this.props.contentClassName), this.props.cssModule)
|
|
7700
7700
|
}, this.props.children));
|
|
7701
7701
|
}
|
|
7702
7702
|
|
|
@@ -7747,9 +7747,9 @@ class Modal extends React__default["default"].Component {
|
|
|
7747
7747
|
const Backdrop = backdrop && (hasTransition ? /*#__PURE__*/React__default["default"].createElement(Fade, _extends$5({}, backdropTransition, {
|
|
7748
7748
|
in: isOpen && !!backdrop,
|
|
7749
7749
|
cssModule: cssModule,
|
|
7750
|
-
className: mapToCssModules(classNames$
|
|
7750
|
+
className: mapToCssModules(classNames$2('modal-backdrop', backdropClassName), cssModule)
|
|
7751
7751
|
})) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
7752
|
-
className: mapToCssModules(classNames$
|
|
7752
|
+
className: mapToCssModules(classNames$2('modal-backdrop', 'show', backdropClassName), cssModule)
|
|
7753
7753
|
}));
|
|
7754
7754
|
return /*#__PURE__*/React__default["default"].createElement(Portal$1$1, {
|
|
7755
7755
|
node: this._element
|
|
@@ -7760,7 +7760,7 @@ class Modal extends React__default["default"].Component {
|
|
|
7760
7760
|
onEntered: this.onOpened,
|
|
7761
7761
|
onExited: this.onClosed,
|
|
7762
7762
|
cssModule: cssModule,
|
|
7763
|
-
className: mapToCssModules(classNames$
|
|
7763
|
+
className: mapToCssModules(classNames$2('modal', modalClassName, this.state.showStaticBackdropAnimation && 'modal-static'), cssModule),
|
|
7764
7764
|
innerRef: innerRef
|
|
7765
7765
|
}), external, this.renderModalDialog()), Backdrop));
|
|
7766
7766
|
}
|
|
@@ -7809,7 +7809,7 @@ const ModalBody = props => {
|
|
|
7809
7809
|
} = props,
|
|
7810
7810
|
attributes = _objectWithoutProperties$1(props, _excluded$u);
|
|
7811
7811
|
|
|
7812
|
-
const classes = mapToCssModules(classNames$
|
|
7812
|
+
const classes = mapToCssModules(classNames$2(className, 'modal-body'), cssModule);
|
|
7813
7813
|
return /*#__PURE__*/React__default["default"].createElement(Tag, _extends$5({}, attributes, {
|
|
7814
7814
|
className: classes
|
|
7815
7815
|
}));
|
|
@@ -7832,8 +7832,8 @@ const defaultProps$v = {
|
|
|
7832
7832
|
};
|
|
7833
7833
|
|
|
7834
7834
|
const Tooltip = props => {
|
|
7835
|
-
const popperClasses = classNames$
|
|
7836
|
-
const classes = classNames$
|
|
7835
|
+
const popperClasses = classNames$2('tooltip', 'show', props.popperClassName);
|
|
7836
|
+
const classes = classNames$2('tooltip-inner', props.innerClassName);
|
|
7837
7837
|
return /*#__PURE__*/React__default["default"].createElement(TooltipPopoverWrapper$1, _extends$5({}, props, {
|
|
7838
7838
|
arrowClassName: "tooltip-arrow",
|
|
7839
7839
|
popperClassName: popperClasses,
|
|
@@ -7912,7 +7912,7 @@ class Form extends React$5.Component {
|
|
|
7912
7912
|
} = _this$props,
|
|
7913
7913
|
attributes = _objectWithoutProperties$1(_this$props, _excluded$q);
|
|
7914
7914
|
|
|
7915
|
-
const classes = mapToCssModules(classNames$
|
|
7915
|
+
const classes = mapToCssModules(classNames$2(className, inline ? 'form-inline' : false), cssModule);
|
|
7916
7916
|
return /*#__PURE__*/React__default["default"].createElement(Tag, _extends$5({}, attributes, {
|
|
7917
7917
|
ref: innerRef,
|
|
7918
7918
|
className: classes
|
|
@@ -7949,7 +7949,7 @@ const FormFeedback = props => {
|
|
|
7949
7949
|
attributes = _objectWithoutProperties$1(props, _excluded$p);
|
|
7950
7950
|
|
|
7951
7951
|
const validMode = tooltip ? 'tooltip' : 'feedback';
|
|
7952
|
-
const classes = mapToCssModules(classNames$
|
|
7952
|
+
const classes = mapToCssModules(classNames$2(className, valid ? `valid-${validMode}` : `invalid-${validMode}`), cssModule);
|
|
7953
7953
|
return /*#__PURE__*/React__default["default"].createElement(Tag, _extends$5({}, attributes, {
|
|
7954
7954
|
className: classes
|
|
7955
7955
|
}));
|
|
@@ -8064,7 +8064,7 @@ class Input extends React__default["default"].Component {
|
|
|
8064
8064
|
delete attributes.size;
|
|
8065
8065
|
}
|
|
8066
8066
|
|
|
8067
|
-
const classes = mapToCssModules(classNames$
|
|
8067
|
+
const classes = mapToCssModules(classNames$2(className, invalid && 'is-invalid', valid && 'is-valid', bsSize ? selectInput ? `form-select-${bsSize}` : `form-control-${bsSize}` : false, formControlClass), cssModule);
|
|
8068
8068
|
|
|
8069
8069
|
if (Tag === 'input' || tag && typeof tag === 'function') {
|
|
8070
8070
|
attributes.type = type === 'switch' ? 'checkbox' : type;
|
|
@@ -8168,7 +8168,7 @@ const Label = props => {
|
|
|
8168
8168
|
if (isObject$1(columnProp)) {
|
|
8169
8169
|
const colSizeInterfix = isXs ? '-' : `-${colWidth}-`;
|
|
8170
8170
|
colClass = getColumnSizeClass(isXs, colWidth, columnProp.size);
|
|
8171
|
-
colClasses.push(mapToCssModules(classNames$
|
|
8171
|
+
colClasses.push(mapToCssModules(classNames$2({
|
|
8172
8172
|
[colClass]: columnProp.size || columnProp.size === '',
|
|
8173
8173
|
[`order${colSizeInterfix}${columnProp.order}`]: columnProp.order || columnProp.order === 0,
|
|
8174
8174
|
[`offset${colSizeInterfix}${columnProp.offset}`]: columnProp.offset || columnProp.offset === 0
|
|
@@ -8178,7 +8178,7 @@ const Label = props => {
|
|
|
8178
8178
|
colClasses.push(colClass);
|
|
8179
8179
|
}
|
|
8180
8180
|
});
|
|
8181
|
-
const classes = mapToCssModules(classNames$
|
|
8181
|
+
const classes = mapToCssModules(classNames$2(className, hidden ? 'visually-hidden' : false, check ? 'form-check-label' : false, size ? `col-form-label-${size}` : false, colClasses, colClasses.length ? 'col-form-label' : 'form-label'), cssModule);
|
|
8182
8182
|
return /*#__PURE__*/React__default["default"].createElement(Tag, _extends$5({
|
|
8183
8183
|
htmlFor: htmlFor
|
|
8184
8184
|
}, attributes, {
|
|
@@ -8577,11 +8577,11 @@ class Offcanvas extends React__default["default"].Component {
|
|
|
8577
8577
|
this._backdrop = c;
|
|
8578
8578
|
},
|
|
8579
8579
|
cssModule: cssModule,
|
|
8580
|
-
className: mapToCssModules(classNames$
|
|
8580
|
+
className: mapToCssModules(classNames$2('offcanvas-backdrop', backdropClassName), cssModule),
|
|
8581
8581
|
onClick: this.handleBackdropClick,
|
|
8582
8582
|
onMouseDown: this.handleBackdropMouseDown
|
|
8583
8583
|
})) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
8584
|
-
className: mapToCssModules(classNames$
|
|
8584
|
+
className: mapToCssModules(classNames$2('offcanvas-backdrop', 'show', backdropClassName), cssModule),
|
|
8585
8585
|
onClick: this.handleBackdropClick,
|
|
8586
8586
|
onMouseDown: this.handleBackdropMouseDown
|
|
8587
8587
|
}));
|
|
@@ -8593,7 +8593,7 @@ class Offcanvas extends React__default["default"].Component {
|
|
|
8593
8593
|
onEntered: this.onOpened,
|
|
8594
8594
|
onExited: this.onClosed,
|
|
8595
8595
|
cssModule: cssModule,
|
|
8596
|
-
className: mapToCssModules(classNames$
|
|
8596
|
+
className: mapToCssModules(classNames$2('offcanvas', className, `offcanvas-${direction}`), cssModule),
|
|
8597
8597
|
innerRef: c => {
|
|
8598
8598
|
this._dialog = c;
|
|
8599
8599
|
},
|
|
@@ -8707,7 +8707,7 @@ class TabContent extends React$5.Component {
|
|
|
8707
8707
|
tag: Tag
|
|
8708
8708
|
} = this.props;
|
|
8709
8709
|
const attributes = omit(this.props, Object.keys(propTypes$e));
|
|
8710
|
-
const classes = mapToCssModules(classNames$
|
|
8710
|
+
const classes = mapToCssModules(classNames$2('tab-content', className), cssModule);
|
|
8711
8711
|
return /*#__PURE__*/React__default["default"].createElement(TabContext.Provider, {
|
|
8712
8712
|
value: {
|
|
8713
8713
|
activeTabId: this.state.activeTab
|
|
@@ -8825,7 +8825,7 @@ const List = React$5.forwardRef((props, ref) => {
|
|
|
8825
8825
|
} = props,
|
|
8826
8826
|
attributes = _objectWithoutProperties$1(props, _excluded$4);
|
|
8827
8827
|
|
|
8828
|
-
const classes = mapToCssModules(classNames$
|
|
8828
|
+
const classes = mapToCssModules(classNames$2(className, type ? `list-${type}` : false), cssModule);
|
|
8829
8829
|
return /*#__PURE__*/React__default["default"].createElement(Tag, _extends$5({}, attributes, {
|
|
8830
8830
|
className: classes,
|
|
8831
8831
|
ref: ref
|
|
@@ -8852,7 +8852,7 @@ const ListInlineItem = React$5.forwardRef((props, ref) => {
|
|
|
8852
8852
|
} = props,
|
|
8853
8853
|
attributes = _objectWithoutProperties$1(props, _excluded$3);
|
|
8854
8854
|
|
|
8855
|
-
const classes = mapToCssModules(classNames$
|
|
8855
|
+
const classes = mapToCssModules(classNames$2(className, 'list-inline-item'), cssModule);
|
|
8856
8856
|
return /*#__PURE__*/React__default["default"].createElement(Tag, _extends$5({}, attributes, {
|
|
8857
8857
|
className: classes,
|
|
8858
8858
|
ref: ref
|
|
@@ -9035,7 +9035,7 @@ const Spinner = props => {
|
|
|
9035
9035
|
} = props,
|
|
9036
9036
|
attributes = _objectWithoutProperties$1(props, _excluded$2);
|
|
9037
9037
|
|
|
9038
|
-
const classes = mapToCssModules(classNames$
|
|
9038
|
+
const classes = mapToCssModules(classNames$2(className, size ? `spinner-${type}-${size}` : false, `spinner-${type}`, color ? `text-${color}` : false), cssModule);
|
|
9039
9039
|
return /*#__PURE__*/React__default["default"].createElement(Tag, _extends$5({
|
|
9040
9040
|
role: "status"
|
|
9041
9041
|
}, attributes, {
|
|
@@ -9089,7 +9089,7 @@ _objectSpread2(_objectSpread2({}, Col$1.propTypes), {}, {
|
|
|
9089
9089
|
Object.values = values;
|
|
9090
9090
|
})();
|
|
9091
9091
|
|
|
9092
|
-
var classnames
|
|
9092
|
+
var classnames = {exports: {}};
|
|
9093
9093
|
|
|
9094
9094
|
/*!
|
|
9095
9095
|
Copyright (c) 2018 Jed Watson.
|
|
@@ -9145,9 +9145,9 @@ var classnames$1 = {exports: {}};
|
|
|
9145
9145
|
window.classNames = classNames;
|
|
9146
9146
|
}
|
|
9147
9147
|
}());
|
|
9148
|
-
}(classnames
|
|
9148
|
+
}(classnames));
|
|
9149
9149
|
|
|
9150
|
-
var
|
|
9150
|
+
var classNames$1 = classnames.exports;
|
|
9151
9151
|
|
|
9152
9152
|
/******************************************************************************
|
|
9153
9153
|
Copyright (c) Microsoft Corporation.
|
|
@@ -14285,7 +14285,7 @@ const ReactInput = (props) => {
|
|
|
14285
14285
|
//{...props}
|
|
14286
14286
|
, {
|
|
14287
14287
|
//{...props}
|
|
14288
|
-
style: style, placeholder: placeholder, onKeyPress: onKeyPress, className:
|
|
14288
|
+
style: style, placeholder: placeholder, onKeyPress: onKeyPress, className: classNames$1('input__value', {
|
|
14289
14289
|
'is-clearable': value
|
|
14290
14290
|
}), value: value, onChange: (val) => setValue(val.target.value) }), value ? jsxRuntime.jsx(SvgX, { className: 'input__clear-icon', onClick: handelClear, strokeWidth: 3, fontSize: 16 }) : ''] }));
|
|
14291
14291
|
};
|
|
@@ -19297,6 +19297,77 @@ const FindNodeByPath = (tree, path) => {
|
|
|
19297
19297
|
}
|
|
19298
19298
|
return { parent: current, lastIndex: levels.at(-1), firstIndex: levels.length === 1 ? levels[0] : -1, node };
|
|
19299
19299
|
};
|
|
19300
|
+
/**
|
|
19301
|
+
* Tính toán cấu trúc bảng từ dữ liệu column dạng cây:
|
|
19302
|
+
* - Tạo header dạng nhiều cấp (header theo chiều dọc)
|
|
19303
|
+
* - Chuyển cột thành dạng phẳng để render nội dung
|
|
19304
|
+
* - Tính toán vị trí cố định trái/phải (fixed column) để hiển thị sticky
|
|
19305
|
+
*
|
|
19306
|
+
* @param columns Mảng cấu trúc cây đại diện cho các cột của bảng
|
|
19307
|
+
* @returns {
|
|
19308
|
+
* levels: IHeaderColumnTable[][] // Các hàng header theo cấp
|
|
19309
|
+
* flat: IColumnVirtualizedTable[] // Danh sách cột phẳng
|
|
19310
|
+
* objWidthFixLeft: Record<number, number> // Offset trái cho cột fixed left
|
|
19311
|
+
* objWidthFixRight: Record<number, number> // Offset phải cho cột fixed right
|
|
19312
|
+
* lastObjWidthFixLeft: number // Chỉ số cột cuối cùng fixed left
|
|
19313
|
+
* fisrtObjWidthFixRight: number // Chỉ số cột đầu tiên fixed right
|
|
19314
|
+
* }
|
|
19315
|
+
*/
|
|
19316
|
+
const calculateTableStructure = (columns) => {
|
|
19317
|
+
const levels = [];
|
|
19318
|
+
const flat = [];
|
|
19319
|
+
const objWidthFixLeft = {};
|
|
19320
|
+
const objWidthFixRight = {};
|
|
19321
|
+
let maxDepth = 0;
|
|
19322
|
+
// Tính depth tối đa
|
|
19323
|
+
const calculateDepth = (cols, depth = 1) => (Math.max(...cols.map(col => (col.columns?.length ? calculateDepth(col.columns, depth + 1) : depth))));
|
|
19324
|
+
maxDepth = calculateDepth(columns);
|
|
19325
|
+
let leftTotal = 0;
|
|
19326
|
+
let rightTotal = 0;
|
|
19327
|
+
const traverse = (cols, level = 0) => {
|
|
19328
|
+
levels[level] = levels[level] || [];
|
|
19329
|
+
return cols.reduce((colspanSum, col) => {
|
|
19330
|
+
const hasChildren = (col.columns?.length ?? 0) > 0;
|
|
19331
|
+
const colspan = hasChildren ? traverse(col.columns, level + 1) : 1;
|
|
19332
|
+
const cell = {
|
|
19333
|
+
...col,
|
|
19334
|
+
columns: col.columns ?? [],
|
|
19335
|
+
colspan,
|
|
19336
|
+
rowspan: hasChildren ? 1 : maxDepth - level
|
|
19337
|
+
};
|
|
19338
|
+
levels[level].push(cell);
|
|
19339
|
+
if (!hasChildren) {
|
|
19340
|
+
const visible = col.visible !== false;
|
|
19341
|
+
const index = flat.length;
|
|
19342
|
+
const width = col.width ?? 40;
|
|
19343
|
+
cell.index = index;
|
|
19344
|
+
flat.push(cell);
|
|
19345
|
+
if (col.fixedType === 'left' && visible) {
|
|
19346
|
+
objWidthFixLeft[index] = leftTotal;
|
|
19347
|
+
leftTotal += width;
|
|
19348
|
+
}
|
|
19349
|
+
if (col.fixedType === 'right' && visible) {
|
|
19350
|
+
objWidthFixRight[index] = rightTotal;
|
|
19351
|
+
rightTotal += width;
|
|
19352
|
+
}
|
|
19353
|
+
}
|
|
19354
|
+
return colspanSum + colspan;
|
|
19355
|
+
}, 0);
|
|
19356
|
+
};
|
|
19357
|
+
traverse(columns);
|
|
19358
|
+
const flatVisble = flat.filter((e) => e.visible !== false);
|
|
19359
|
+
const lastObjWidthFixLeft = Math.max(...Object.keys(objWidthFixLeft).map(Number), 0);
|
|
19360
|
+
const fisrtObjWidthFixRight = Math.min(...Object.keys(objWidthFixRight).map(Number), flat.length);
|
|
19361
|
+
return {
|
|
19362
|
+
levels,
|
|
19363
|
+
flat,
|
|
19364
|
+
flatVisble,
|
|
19365
|
+
objWidthFixLeft,
|
|
19366
|
+
objWidthFixRight,
|
|
19367
|
+
lastObjWidthFixLeft,
|
|
19368
|
+
fisrtObjWidthFixRight
|
|
19369
|
+
};
|
|
19370
|
+
};
|
|
19300
19371
|
|
|
19301
19372
|
var isCheckBoxInput = (element) => element.type === 'checkbox';
|
|
19302
19373
|
|
|
@@ -21347,11 +21418,11 @@ const TextInput = (props) => {
|
|
|
21347
21418
|
}
|
|
21348
21419
|
}, style: { height: `${height}px` }, autoFocus: autoFocus, disabled: disabled, placeholder: placeholder, type: type ? type : 'text', invalid: errors && true, className: "h-100", rows: row, min: min, max: max, readOnly: readOnly, ...rest })) }), errors && jsxRuntime.jsx(FormFeedback$1, { children: errors?.message })] }));
|
|
21349
21420
|
};
|
|
21350
|
-
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsxs("div", { className:
|
|
21421
|
+
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsxs("div", { className: classNames$1(' align', {
|
|
21351
21422
|
[labelSize ? labelSize : '']: labelSize,
|
|
21352
21423
|
[classes ? classes : '']: classes,
|
|
21353
21424
|
'form-row-inline-error': errors
|
|
21354
|
-
}, inLine === false ? 'form-group ' : 'form-row-inline d-flex'), children: [renderLabel({ isLabel, name, label, required }), jsxRuntime.jsx("div", { className:
|
|
21425
|
+
}, inLine === false ? 'form-group ' : 'form-row-inline d-flex'), children: [renderLabel({ isLabel, name, label, required }), jsxRuntime.jsx("div", { className: classNames$1('form-input-content', { 'hidden-label': isLabel === false }), children: renderInput() })] }) }));
|
|
21355
21426
|
};
|
|
21356
21427
|
|
|
21357
21428
|
/**
|
|
@@ -22590,7 +22661,7 @@ const NumberInput = (props) => {
|
|
|
22590
22661
|
decimalScale: fractionCurrency ?? 0,
|
|
22591
22662
|
fixedDecimalScale
|
|
22592
22663
|
};
|
|
22593
|
-
return (jsxRuntime.jsx(NumericFormat, { id: id, ...numericFormatProps, className:
|
|
22664
|
+
return (jsxRuntime.jsx(NumericFormat, { id: id, ...numericFormatProps, className: classNames$1('form-control text-right', {
|
|
22594
22665
|
'is-invalid': errors
|
|
22595
22666
|
}), onValueChange: (values) => {
|
|
22596
22667
|
floatValue = values?.floatValue;
|
|
@@ -22615,11 +22686,11 @@ const NumberInput = (props) => {
|
|
|
22615
22686
|
}, placeholder: placeholder, disabled: disabled }));
|
|
22616
22687
|
} }), errors && jsxRuntime.jsx(FormFeedback$1, { children: errors?.message })] }));
|
|
22617
22688
|
};
|
|
22618
|
-
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsxs("div", { className:
|
|
22689
|
+
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsxs("div", { className: classNames$1(' align', {
|
|
22619
22690
|
[labelSize ? labelSize : '']: labelSize,
|
|
22620
22691
|
[classes ? classes : '']: classes,
|
|
22621
22692
|
'form-row-inline-error': errors
|
|
22622
|
-
}, inLine === false ? 'form-group ' : 'form-row-inline d-flex'), children: [renderLabel({ isLabel, name, label, required }), jsxRuntime.jsx("div", { style: { width: width ? width : undefined }, className:
|
|
22693
|
+
}, inLine === false ? 'form-group ' : 'form-row-inline d-flex'), children: [renderLabel({ isLabel, name, label, required }), jsxRuntime.jsx("div", { style: { width: width ? width : undefined }, className: classNames$1('form-input-content', { 'hidden-label': isLabel === false }), children: renderInput() })] }) }));
|
|
22623
22694
|
};
|
|
22624
22695
|
|
|
22625
22696
|
const defaultMaxHeight$1 = 250;
|
|
@@ -22846,7 +22917,7 @@ const SelectTable = React$5.forwardRef((props, ref) => {
|
|
|
22846
22917
|
}, 100);
|
|
22847
22918
|
};
|
|
22848
22919
|
const renderHeaderCol = (col, indexCol) => {
|
|
22849
|
-
return (jsxRuntime.jsx(React$5.Fragment, { children: col.visible !== false && jsxRuntime.jsx("th", { className:
|
|
22920
|
+
return (jsxRuntime.jsx(React$5.Fragment, { children: col.visible !== false && jsxRuntime.jsx("th", { className: classNames$1(`r-select-headercell fix-${col.fixedType}`, { 'cell-fixed': col.fixedType }), style: {
|
|
22850
22921
|
width: col.fixedType ? Number(col.maxWidth ? col.maxWidth : (col.width ? col.width : (col.minWidth ?? 'auto'))) : col.width,
|
|
22851
22922
|
minWidth: col.fixedType ? Number(col.maxWidth ? col.maxWidth : (col.width ? col.width : (col.minWidth ?? 'auto'))) : col.minWidth,
|
|
22852
22923
|
top: `${0 * 35}px`,
|
|
@@ -22890,7 +22961,7 @@ const SelectTable = React$5.forwardRef((props, ref) => {
|
|
|
22890
22961
|
};
|
|
22891
22962
|
const RenderElement = React__default["default"].memo((props) => {
|
|
22892
22963
|
const { indexRow, row, isSelected, level = 0 } = props;
|
|
22893
|
-
return (jsxRuntime.jsxs("tr", { id: `row-select-table-${indexRow}`, style: { paddingLeft: 10 * level }, className:
|
|
22964
|
+
return (jsxRuntime.jsxs("tr", { id: `row-select-table-${indexRow}`, style: { paddingLeft: 10 * level }, className: classNames$1('r-select-row', { 'last-row': indexRow === (optionsLoad ? optionsLoad : options).length - 1 }, { 'fisrt-row': indexRow === 0 }), children: [isMulti && jsxRuntime.jsx("td", { className: classNames$1(`r-select-rowcell`, { 'r-select-move': indexFocus === indexRow, 'r-select-active': !isMulti && value && value[fieldValue ?? 'value'] === row[fieldValue ?? 'value'] }), style: { width: 40, textAlign: 'center', padding: 0, paddingBottom: 6 }, onClick: (e) => {
|
|
22894
22965
|
if (isMulti) {
|
|
22895
22966
|
const index = value?.findIndex((x) => x[fieldValue ?? 'value'] === row[fieldValue ?? 'value']);
|
|
22896
22967
|
if (index > -1) {
|
|
@@ -22921,7 +22992,7 @@ const SelectTable = React$5.forwardRef((props, ref) => {
|
|
|
22921
22992
|
}
|
|
22922
22993
|
return (jsxRuntime.jsxs(React$5.Fragment, { children: [col.visible !== false && jsxRuntime.jsx("td", { id: `select-${id}-${indexRow}-${indexCol}`,
|
|
22923
22994
|
// ref={refRow}
|
|
22924
|
-
className:
|
|
22995
|
+
className: classNames$1(`r-select-rowcell`, { 'r-select-move': indexFocus === indexRow, 'r-select-active': !isMulti && value && value[fieldValue ?? 'value'] === row[fieldValue ?? 'value'] }), style: {
|
|
22925
22996
|
minWidth: col.minWidth,
|
|
22926
22997
|
width: col.width,
|
|
22927
22998
|
maxWidth: col.maxWidth,
|
|
@@ -22960,7 +23031,7 @@ const SelectTable = React$5.forwardRef((props, ref) => {
|
|
|
22960
23031
|
});
|
|
22961
23032
|
const RenderTable = (props) => {
|
|
22962
23033
|
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("table", { style: { width: '100%' }, children: [!(noHeader || (columns?.length ?? 0) === 0) &&
|
|
22963
|
-
jsxRuntime.jsx("thead", { className: 'r-select-gridheader', children: jsxRuntime.jsxs("tr", { className: "r-select-row", role: "row", children: [isMulti && jsxRuntime.jsx("th", { className:
|
|
23034
|
+
jsxRuntime.jsx("thead", { className: 'r-select-gridheader', children: jsxRuntime.jsxs("tr", { className: "r-select-row", role: "row", children: [isMulti && jsxRuntime.jsx("th", { className: classNames$1(`r-select-headercell`), style: { width: 40, top: `0px` }, children: jsxRuntime.jsx("div", { style: { justifyContent: 'center' }, className: classNames$1('r-select-headercell-div'), children: jsxRuntime.jsx(Input$1, { checked: isSelectedAll, type: "checkbox", onClick: (e) => {
|
|
22964
23035
|
if (isMulti) {
|
|
22965
23036
|
if (isSelectedAll) {
|
|
22966
23037
|
handChange([]);
|
|
@@ -22970,22 +23041,22 @@ const SelectTable = React$5.forwardRef((props, ref) => {
|
|
|
22970
23041
|
}
|
|
22971
23042
|
e.stopPropagation();
|
|
22972
23043
|
}
|
|
22973
|
-
}, readOnly: true, className:
|
|
23044
|
+
}, readOnly: true, className: classNames$1('cursor-pointer', { 'd-none': !isMulti }), style: { textAlign: 'center', marginTop: 6 } }) }) }), (columns ? columns : defaultColumns).map((col, index) => {
|
|
22974
23045
|
return (renderHeaderCol(col, index));
|
|
22975
23046
|
})] }) }), ((optionsLoad ? optionsLoad : options) && !isLoading) && jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("tbody", { className: 'r-select-gridcontent', children: [haveCreateNew && jsxRuntime.jsx(RenderElement, { isSelected: false, indexRow: 0, row: { valueCreate: searchTerm, [fieldValue ?? "value"]: searchTerm, [fieldLabel ?? "label"]: `${t('Create')} '${searchTerm}'`, isCreated: true } }), (optionsLoad ? optionsLoad : options)?.map((row, indexRow) => {
|
|
22976
23047
|
const isSelected = isMulti && value?.some((x) => x[fieldValue ?? 'value'] === row[fieldValue ?? 'value']);
|
|
22977
23048
|
return (jsxRuntime.jsx(RenderElement, { isSelected: isSelected ?? false, indexRow: indexRow + (haveCreateNew ? 1 : 0), row: row }, `select-table-${indexRow}`));
|
|
22978
23049
|
})] }) })] }), ((((optionsLoad ? optionsLoad : options)?.length ?? 0) === 0) && !haveCreateNew && !isLoading) && jsxRuntime.jsxs("div", { className: "r-no-data", children: [jsxRuntime.jsx("svg", { width: "64", height: "41", viewBox: "0 0 64 41", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsxs("g", { transform: "translate(0 1)", fill: "none", fillRule: "evenodd", children: [jsxRuntime.jsx("ellipse", { fill: "#f5f5f5", cx: "32", cy: "33", rx: "32", ry: "7" }), jsxRuntime.jsxs("g", { fillRule: "nonzero", stroke: "#d9d9d9", children: [jsxRuntime.jsx("path", { d: "M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z" }), jsxRuntime.jsx("path", { d: "M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z", fill: "#fafafa" })] })] }) }), t('No data available.')] }), isLoading && jsxRuntime.jsxs("div", { className: "r-no-data", children: [jsxRuntime.jsx(Spinner$1, { className: "me-1", children: " " }), t('Loading...')] })] }));
|
|
22979
23050
|
};
|
|
22980
|
-
return (jsxRuntime.jsx("div", { className:
|
|
23051
|
+
return (jsxRuntime.jsx("div", { className: classNames$1('react-select-table', { 'is-invalid': invalid }), ref: ref, id: id, children: jsxRuntime.jsx("div", { ref: selectTableRef, children: jsxRuntime.jsxs(Dropdown$1, { isOpen: dropdownOpen, toggle: () => { }, onMouseDown: (e) => e.preventDefault(), children: [jsxRuntime.jsxs(DropdownToggle$1, { onClick: (e) => {
|
|
22981
23052
|
if (!isDisabled) {
|
|
22982
23053
|
inputRef?.current.focus();
|
|
22983
23054
|
handleOpenClose();
|
|
22984
23055
|
}
|
|
22985
23056
|
e.preventDefault();
|
|
22986
|
-
}, tag: 'div', style: { width: width ? width : (selectTableRef?.current?.clientWidth ? selectTableRef?.current?.clientWidth : 'auto') }, className:
|
|
23057
|
+
}, tag: 'div', style: { width: width ? width : (selectTableRef?.current?.clientWidth ? selectTableRef?.current?.clientWidth : 'auto') }, className: classNames$1('select-table-control', { 'r-select-is-disabled': isDisabled }, { 'r-select-is-open': dropdownOpen }, { 'r-select-is-focus': isFocus }, { 'r-select-is-invalid': invalid }), children: [jsxRuntime.jsxs("div", { className: "select-table-container", children: [isMulti ? jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("div", { className: classNames$1('select-value is-mutil', { 'd-none': searchTerm }), children: value?.map((ele, index) => {
|
|
22987
23058
|
return (jsxRuntime.jsxs("span", { children: [index === 0 ? '' : ', ', formatOptionLabel ? formatOptionLabel(ele) : ele[fieldLabel ?? 'label']] }, index));
|
|
22988
|
-
}) }) }) : jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("div", { className:
|
|
23059
|
+
}) }) }) : jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("div", { className: classNames$1('select-value', { 'd-none': searchTerm }), children: [value ? (formatOptionLabel ? formatOptionLabel(value) : value[fieldLabel ?? 'label']) : '', " "] }) }), !((isMulti ? value?.length > 0 : value) || isDisabled || searchTerm) && jsxRuntime.jsx("div", { className: classNames$1('select-placeholder'), children: placeholder }), jsxRuntime.jsx("div", { className: 'input-container', children: jsxRuntime.jsx("input", { style: { textAlign: textAlign ?? 'left' }, ref: inputRef, className: classNames$1('select-input'), readOnly: isDisabled, value: searchTerm, onPaste: (e) => (onPaste && !dropdownOpen) && onPaste(e), onChange: (val) => {
|
|
22989
23060
|
if (val.target.value) {
|
|
22990
23061
|
if (loadOptions && val.target.value) {
|
|
22991
23062
|
setIsLoading(true);
|
|
@@ -22999,7 +23070,7 @@ const SelectTable = React$5.forwardRef((props, ref) => {
|
|
|
22999
23070
|
}
|
|
23000
23071
|
}
|
|
23001
23072
|
setSearchTerm(val.target.value);
|
|
23002
|
-
}, onKeyDown: (e) => handleOnKeyDown(e) }) })] }), isLoading && jsxRuntime.jsxs("div", { className:
|
|
23073
|
+
}, onKeyDown: (e) => handleOnKeyDown(e) }) })] }), isLoading && jsxRuntime.jsxs("div", { className: classNames$1('select-table-indicator d-flex align-items-center'), children: [jsxRuntime.jsx(Spinner$1, { style: { width: 4, height: 4, marginRight: 3 }, type: "grow" }), jsxRuntime.jsx(Spinner$1, { style: { width: 4, height: 4, marginRight: 3 }, type: "grow" }), jsxRuntime.jsx(Spinner$1, { style: { width: 4, height: 4, marginRight: 3 }, type: "grow" })] }), (isClearable && value && !isDisabled) && jsxRuntime.jsx("div", { className: classNames$1('cursor-pointer icon-clear'), onClick: (e) => {
|
|
23003
23074
|
handChange(isMulti ? [] : undefined);
|
|
23004
23075
|
e.stopPropagation();
|
|
23005
23076
|
}, children: "\u00D7" }), !isDisabled && jsxRuntime.jsx("div", { className: "select-table-indicator", onMouseDown: (e) => e.preventDefault(), children: jsxRuntime.jsx("svg", { height: "20", width: "20", viewBox: "0 0 20 20", children: jsxRuntime.jsx("path", { d: "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z" }) }) })] }), jsxRuntime.jsx(DropdownMenu$1, { container: component, className: 'formula-dropdown icon-dropdown p-0', style: {
|
|
@@ -23008,12 +23079,12 @@ const SelectTable = React$5.forwardRef((props, ref) => {
|
|
|
23008
23079
|
position: 'fixed',
|
|
23009
23080
|
borderRadius: 4,
|
|
23010
23081
|
zIndex: 9999
|
|
23011
|
-
}, children: jsxRuntime.jsx(DropdownItem$1, { className:
|
|
23082
|
+
}, children: jsxRuntime.jsx(DropdownItem$1, { className: classNames$1('p-0 menu-select-table'), tag: 'div', header: true, children: dropdownOpen && jsxRuntime.jsx("div", { style: { backgroundColor: 'none' }, onMouseDown: (e) => {
|
|
23012
23083
|
if (!isDisabled) {
|
|
23013
23084
|
inputRef?.current.focus();
|
|
23014
23085
|
e.preventDefault();
|
|
23015
23086
|
}
|
|
23016
|
-
}, children: jsxRuntime.jsxs("div", { className: 'r-select-grid', children: [jsxRuntime.jsx("div", { className:
|
|
23087
|
+
}, children: jsxRuntime.jsxs("div", { className: 'r-select-grid', children: [jsxRuntime.jsx("div", { className: classNames$1('r-select-gridtable', { 'no-header': noHeader || (columns?.length ?? 0) === 0 }), ref: selectMenuTableRef, style: { width: menuWidth, minWidth: selectTableRef?.current?.clientWidth, maxHeight: maxHeight ?? defaultMaxHeight$1 }, children: jsxRuntime.jsx(RenderTable, {}) }), jsxRuntime.jsxs("div", { className: classNames$1('r-select-footer', { 'd-none': !(showFooter === true || handleAdd) }), children: [jsxRuntime.jsxs(Button$1, { outline: true, color: "primary", onClick: () => handleAdd?.(), className: classNames$1('r-btn d-flex align-items-center', { 'd-none': !handleAdd }), children: [jsxRuntime.jsx(SvgPlus, { className: "me-50", fontSize: 16 }), t('AddNew'), " (F9)"] }), footerComponent ? footerComponent() : null] })] }) }) }) })] }) }) }));
|
|
23017
23088
|
});
|
|
23018
23089
|
|
|
23019
23090
|
const SelectTableBox$1 = (props) => {
|
|
@@ -23029,10 +23100,10 @@ const SelectTableBox$1 = (props) => {
|
|
|
23029
23100
|
const { isLabel, desciptionLabel, id, classLabel, name, label, required } = props;
|
|
23030
23101
|
return (jsxRuntime.jsxs(React$5.Fragment, { children: [isLabel === false ? '' : jsxRuntime.jsxs(Label$1, { id: `label-${id}`, className: classLabel, for: name, children: [t(label ? label : ''), " ", required ? jsxRuntime.jsx("span", { className: "text-danger", children: "*" }) : ''] }), (!isNullOrUndefined$1(desciptionLabel) && desciptionLabel !== '') ?? jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx(UncontrolledTooltip, { target: `label-${id}`, children: t(desciptionLabel ?? '') }) })] }));
|
|
23031
23102
|
};
|
|
23032
|
-
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsxs("div", { className:
|
|
23103
|
+
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsxs("div", { className: classNames$1(inLine === false ? 'form-group ' : 'form-row-inline d-flex', 'align', {
|
|
23033
23104
|
[labelSize ? labelSize : '']: labelSize,
|
|
23034
23105
|
'form-row-inline-error': errors
|
|
23035
|
-
}), children: [renderLabel({ isLabel, desciptionLabel, classLabel, name, label, required, id: id ?? '' }), jsxRuntime.jsxs("div", { className:
|
|
23106
|
+
}), children: [renderLabel({ isLabel, desciptionLabel, classLabel, name, label, required, id: id ?? '' }), jsxRuntime.jsxs("div", { className: classNames$1('form-input-content', { 'hidden-label': isLabel === false }), children: [jsxRuntime.jsx(Controller, { name: name, control: control, render: ({ field: { value, onChange } }) => {
|
|
23036
23107
|
return (jsxRuntime.jsx(SelectTable, { ...rest, id: id, value: (isMulti ? value?.length > 0 : value) ? (!isMulti ? (options.find((val) => val[fieldValue ?? 'value'] === value) ?? (defaultValue ?? '')) : value) : (isMulti ? [] : undefined),
|
|
23037
23108
|
// Giá trị của SelectTable, nếu isMulti là true và value có độ dài lớn hơn 0, hoặc nếu isMulti là false và value có giá trị,
|
|
23038
23109
|
// thì tìm giá trị tương ứng trong options hoặc sử dụng defaultValue. Nếu không, sử dụng giá trị mặc định tùy thuộc vào isMulti.
|
|
@@ -23065,7 +23136,6 @@ const EditForm = React$5.forwardRef((props, ref) => {
|
|
|
23065
23136
|
const { innerWidth } = window;
|
|
23066
23137
|
const inputRef = React$5.useRef(null);
|
|
23067
23138
|
const editFormRef = React$5.useRef(null);
|
|
23068
|
-
const buttonRef = React$5.useRef(null);
|
|
23069
23139
|
const [dropdownOpen, setDropdownOpen] = React$5.useState(false);
|
|
23070
23140
|
const [isFocus, setIsFocus] = React$5.useState(false);
|
|
23071
23141
|
const [itemsField, setItemsField] = React$5.useState([]);
|
|
@@ -23235,7 +23305,7 @@ const EditForm = React$5.forwardRef((props, ref) => {
|
|
|
23235
23305
|
});
|
|
23236
23306
|
}
|
|
23237
23307
|
}, [inputRef]);
|
|
23238
|
-
return (jsxRuntime.jsx("div", { className: "form-edit", ref: ref, id: id, children: jsxRuntime.jsx("div", { ref: editFormRef, children: jsxRuntime.jsxs(Dropdown$1, { isOpen: dropdownOpen, toggle: () => { }, children: [jsxRuntime.jsx(DropdownToggle$1, { tag: 'div', children: jsxRuntime.jsxs("div", { className:
|
|
23308
|
+
return (jsxRuntime.jsx("div", { className: "form-edit", ref: ref, id: id, children: jsxRuntime.jsx("div", { ref: editFormRef, children: jsxRuntime.jsxs(Dropdown$1, { isOpen: dropdownOpen, toggle: () => { }, children: [jsxRuntime.jsx(DropdownToggle$1, { tag: 'div', children: jsxRuntime.jsxs("div", { className: classNames$1('display-value', { 'r-is-focus': isFocus || dropdownOpen }, { 'is-invalid': invalid }), onClick: handleOnClick, children: [template?.(rowData, indexRow) ?? displayValue, jsxRuntime.jsx(Input$1, { style: {
|
|
23239
23309
|
width: template ? 0 : '100%',
|
|
23240
23310
|
height: template ? 0 : 28,
|
|
23241
23311
|
lineHeight: template ? 0 : 19,
|
|
@@ -23251,7 +23321,7 @@ const EditForm = React$5.forwardRef((props, ref) => {
|
|
|
23251
23321
|
}, children: jsxRuntime.jsxs(DropdownItem$1, { className: 'p-0', style: { borderRadius: '6px' }, tag: 'div', header: true, children: [jsxRuntime.jsx("div", { onKeyDown: (e) => formKeyDown(e, handleSubmit(handleOnSubmit)), className: 'p-1', style: {
|
|
23252
23322
|
maxHeight: menuHeight ? menuHeight : 300,
|
|
23253
23323
|
overflow: "auto"
|
|
23254
|
-
}, children: itemsField ? renderForm(itemsField) : '' }), jsxRuntime.jsxs("div", { className: "d-flex justify-content-between p-50", style: { boxShadow: "0 4px 24px 0 rgb(34 41 47 / 10%)" }, children: [jsxRuntime.jsx("div", { className: "text-primary py-25", style: { fontSize: 12 }, children: footerTemplate ? footerTemplate(rowData) : '' }), !onChangeField ? jsxRuntime.jsxs("div", { className: "d-flex justify-content-end", children: [isClearable && jsxRuntime.jsx(Button$1, {
|
|
23324
|
+
}, children: itemsField ? renderForm(itemsField) : '' }), jsxRuntime.jsxs("div", { className: "d-flex justify-content-between p-50", style: { boxShadow: "0 4px 24px 0 rgb(34 41 47 / 10%)" }, children: [jsxRuntime.jsx("div", { className: "text-primary py-25", style: { fontSize: 12 }, children: footerTemplate ? footerTemplate(rowData) : '' }), !onChangeField ? jsxRuntime.jsxs("div", { className: "d-flex justify-content-end", children: [isClearable && jsxRuntime.jsx(Button$1, { className: 'btn me-50 py-25 px-50', outline: true, onClick: () => {
|
|
23255
23325
|
itemsField.forEach((e) => {
|
|
23256
23326
|
if (e.type === 'numeric') {
|
|
23257
23327
|
setValue(e.name, 0);
|
|
@@ -23264,7 +23334,7 @@ const EditForm = React$5.forwardRef((props, ref) => {
|
|
|
23264
23334
|
if (e.code === 'Tab') {
|
|
23265
23335
|
closeMenu();
|
|
23266
23336
|
}
|
|
23267
|
-
}, children: t('Clear') }), jsxRuntime.jsx(Button$1, {
|
|
23337
|
+
}, children: t('Clear') }), jsxRuntime.jsx(Button$1, { color: 'primary', className: 'btn btn-primary py-25 px-50', onClick: handleSubmit(handleOnSubmit), onKeyDown: (e) => {
|
|
23268
23338
|
if (e.code === 'Tab') {
|
|
23269
23339
|
closeMenu();
|
|
23270
23340
|
}
|
|
@@ -23295,7 +23365,7 @@ const ModalHeader = (props) => {
|
|
|
23295
23365
|
return jsxRuntime.jsx(SvgPlus, { fontSize: 17, className: 'me-1' });
|
|
23296
23366
|
}
|
|
23297
23367
|
};
|
|
23298
|
-
return (jsxRuntime.jsxs("div", { className: 'modal-header d-flex align-items-center justify-content-between mb-1', children: [jsxRuntime.jsxs("div", { className: "d-flex align-items-center justify-content-start", children: [jsxRuntime.jsxs("h5", { className: 'modal-title', children: [handleModalIcon(), " ", t(title)] }), component ? component() : jsxRuntime.jsx(jsxRuntime.Fragment, {})] }), jsxRuntime.jsx("div", { className: 'todo-item-action d-flex align-items-center', children: jsxRuntime.jsx(SvgX, { className:
|
|
23368
|
+
return (jsxRuntime.jsxs("div", { className: 'modal-header d-flex align-items-center justify-content-between mb-1', children: [jsxRuntime.jsxs("div", { className: "d-flex align-items-center justify-content-start", children: [jsxRuntime.jsxs("h5", { className: 'modal-title', children: [handleModalIcon(), " ", t(title)] }), component ? component() : jsxRuntime.jsx(jsxRuntime.Fragment, {})] }), jsxRuntime.jsx("div", { className: 'todo-item-action d-flex align-items-center', children: jsxRuntime.jsx(SvgX, { className: classNames$1('fw-normal mt-25 cursor-pointer', { 'd-none': !handleModal }), fontSize: 20, onClick: handleModal }) })] }));
|
|
23299
23369
|
};
|
|
23300
23370
|
|
|
23301
23371
|
const Sidebar = (props) => {
|
|
@@ -23321,16 +23391,16 @@ const Sidebar = (props) => {
|
|
|
23321
23391
|
toggleSidebar();
|
|
23322
23392
|
}, 400);
|
|
23323
23393
|
};
|
|
23324
|
-
return (jsxRuntime.jsxs("div", { tabIndex: 0, className:
|
|
23394
|
+
return (jsxRuntime.jsxs("div", { tabIndex: 0, className: classNames$1({ 'd-none': !open }), onKeyDown: (e) => {
|
|
23325
23395
|
if ((!keyboard) && e.code === 'Escape' && flag) {
|
|
23326
23396
|
handClose();
|
|
23327
23397
|
e.stopPropagation();
|
|
23328
23398
|
e.preventDefault();
|
|
23329
23399
|
}
|
|
23330
|
-
}, children: [jsxRuntime.jsx("div", { className:
|
|
23400
|
+
}, children: [jsxRuntime.jsx("div", { className: classNames$1('offcanvas-backdrop fade', {
|
|
23331
23401
|
'd-none': !flag || hiddenBackground,
|
|
23332
23402
|
show: flag
|
|
23333
|
-
}), style: { zIndex: 1056 }, onClick: handClose }), jsxRuntime.jsxs("div", { className:
|
|
23403
|
+
}), style: { zIndex: 1056 }, onClick: handClose }), jsxRuntime.jsxs("div", { className: classNames$1('r-sidebar', `customizer-${width ?? 600}`, {
|
|
23334
23404
|
open: flag,
|
|
23335
23405
|
fullscreen: isFullScreen
|
|
23336
23406
|
}), style: { zIndex: 1057 }, children: [jsxRuntime.jsxs("div", { style: {
|
|
@@ -23346,7 +23416,7 @@ const Sidebar = (props) => {
|
|
|
23346
23416
|
cursor: 'pointer',
|
|
23347
23417
|
zIndex: 9,
|
|
23348
23418
|
marginLeft: 7
|
|
23349
|
-
}, className:
|
|
23419
|
+
}, className: classNames$1({ 'd-none': hiddenFullScreenButton }), onClick: () => {
|
|
23350
23420
|
setIsFullScreen(!isFullScreen);
|
|
23351
23421
|
}, children: [jsxRuntime.jsx(SvgChevronLeft, { className: `${isFullScreen ? 'd-none' : ''}`, fontSize: 16 }), jsxRuntime.jsx(SvgChevronRight, { className: `${!isFullScreen ? 'd-none' : ''}`, fontSize: 15 })] }), children] })] }));
|
|
23352
23422
|
};
|
|
@@ -23455,7 +23525,7 @@ const SidebarSetColumn = (props) => {
|
|
|
23455
23525
|
}
|
|
23456
23526
|
];
|
|
23457
23527
|
const renderHeaderCol = (col, indexCol) => {
|
|
23458
|
-
return (jsxRuntime.jsx(React$5.Fragment, { children: col.visible !== false && jsxRuntime.jsx("th", { className:
|
|
23528
|
+
return (jsxRuntime.jsx(React$5.Fragment, { children: col.visible !== false && jsxRuntime.jsx("th", { className: classNames$1(`r-headercell fix-${col.fixedType}`, { 'cell-fixed': col.fixedType }), style: {
|
|
23459
23529
|
width: col.fixedType ? Number(col.maxWidth ? col.maxWidth : (col.width ? col.width : (col.minWidth ?? 'auto'))) : col.width,
|
|
23460
23530
|
minWidth: col.fixedType ? Number(col.maxWidth ? col.maxWidth : (col.width ? col.width : (col.minWidth ?? 'auto'))) : col.minWidth,
|
|
23461
23531
|
top: `${0 * 42}px`,
|
|
@@ -23468,12 +23538,12 @@ const SidebarSetColumn = (props) => {
|
|
|
23468
23538
|
return (jsxRuntime.jsxs(Sidebar, { open: openSidebar, toggleSidebar: handleCancel, width: 700, children: [jsxRuntime.jsx(ModalHeader, { typeModal: 'Edit', handleModal: handleCancel, title: 'Column setup' }), jsxRuntime.jsx("div", { className: "ms-2 react-table-edit", children: jsxRuntime.jsx("div", { className: 'r-grid', children: jsxRuntime.jsx("div", { className: "r-gridtable", style: { height: windowSize.innerHeight - 120 }, children: jsxRuntime.jsxs("table", { style: { width: '100%' }, children: [jsxRuntime.jsx("thead", { className: 'r-gridheader', children: jsxRuntime.jsx("tr", { className: "r-row", role: "row", children: columns.map((col, index) => {
|
|
23469
23539
|
return (renderHeaderCol(col, index));
|
|
23470
23540
|
}) }) }), jsxRuntime.jsx("tbody", { className: 'r-gridcontent', children: dataSource?.map((row, indexRow) => {
|
|
23471
|
-
return (jsxRuntime.jsx("tr", { className:
|
|
23541
|
+
return (jsxRuntime.jsx("tr", { className: classNames$1('r-row', { 'last-row': indexRow === dataSource.length - 1 }, { 'fisrt-row': indexRow === 0 }), children: columns.map((col, indexCol) => {
|
|
23472
23542
|
let value = row[col.field];
|
|
23473
23543
|
if (col.editType === 'numeric' || (col.editTypeCondition && col.editTypeCondition(row) === 'numeric')) {
|
|
23474
23544
|
value = formartNumberic(row[col.field], ',', '.', col.numericSettings?.fraction, true) ?? 0;
|
|
23475
23545
|
}
|
|
23476
|
-
return (jsxRuntime.jsx(React$5.Fragment, { children: col.visible !== false && jsxRuntime.jsx("td", { className:
|
|
23546
|
+
return (jsxRuntime.jsx(React$5.Fragment, { children: col.visible !== false && jsxRuntime.jsx("td", { className: classNames$1(`r-rowcell fix-${col.fixedType}`, { 'cell-fixed': col.fixedType }, { 'r-active': indexFocus === indexRow }), style: {
|
|
23477
23547
|
padding: 0,
|
|
23478
23548
|
textAlign: col.textAlign ? col.textAlign : 'left'
|
|
23479
23549
|
}, onFocus: (e) => {
|
|
@@ -23488,9 +23558,9 @@ const SidebarSetColumn = (props) => {
|
|
|
23488
23558
|
}
|
|
23489
23559
|
e.stopPropagation();
|
|
23490
23560
|
}
|
|
23491
|
-
}, children: jsxRuntime.jsx("div", { className:
|
|
23561
|
+
}, children: jsxRuntime.jsx("div", { className: classNames$1('r-rowcell-div'), style: {
|
|
23492
23562
|
width: col.fixedType ? Number(col.maxWidth ? col.maxWidth : (col.width ? col.width : (col.minWidth ?? 'auto'))) : 'auto'
|
|
23493
|
-
}, children: jsxRuntime.jsx("div", { className:
|
|
23563
|
+
}, children: jsxRuntime.jsx("div", { className: classNames$1('r-rowcell-content'), style: {
|
|
23494
23564
|
margin: '7px 9px'
|
|
23495
23565
|
}, children: jsxRuntime.jsx("div", { className: "r-cell-text", children: col.template ? col.template(row, indexRow) : value }) }) }) }, `col-${indexRow}-${indexCol}`) }, indexCol));
|
|
23496
23566
|
}) }, `row-${indexRow}`));
|
|
@@ -23513,12 +23583,14 @@ const CommandElement = (props) => {
|
|
|
23513
23583
|
const { commandItems, rowData, indexRow, handleCommandClick, indexFocus, setIndexFocus } = props;
|
|
23514
23584
|
const { t } = reactI18next.useTranslation();
|
|
23515
23585
|
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsx("div", { className: 'd-flex align-items-center', style: { columnGap: 10 }, children: commandItems.map((item, index) => {
|
|
23516
|
-
return (jsxRuntime.jsxs(Button$1, { id: `command-item-${indexRow}-${index}`, tabIndex: -1, style: { padding: '5px', minWidth: 45, height: '100%' }, className:
|
|
23586
|
+
return (jsxRuntime.jsxs(Button$1, { id: `command-item-${indexRow}-${index}`, tabIndex: -1, style: { padding: '5px', minWidth: 45, height: '100%' }, className: classNames$1('command-item', {
|
|
23517
23587
|
'btn-icon': item.tooltip === ''
|
|
23518
23588
|
}), color: item.color ? item.color : '#000', onClick: (e) => {
|
|
23519
23589
|
handleCommandClick(item.id, rowData, indexRow);
|
|
23520
23590
|
if (indexRow === indexFocus) {
|
|
23521
|
-
setIndexFocus
|
|
23591
|
+
if (setIndexFocus) {
|
|
23592
|
+
setIndexFocus(-1);
|
|
23593
|
+
}
|
|
23522
23594
|
}
|
|
23523
23595
|
e.preventDefault();
|
|
23524
23596
|
}, children: [item.icon && jsxRuntime.jsx(IconCustom, { iconName: item.icon, size: 16 }), jsxRuntime.jsx(UncontrolledTooltip, { className: "r-tooltip", target: `command-item-${indexRow}-${index}`, place: "top", children: t(item.tooltip ?? '') })] }, `command-${index}`));
|
|
@@ -41753,14 +41825,14 @@ const HeaderTableCol = (props) => {
|
|
|
41753
41825
|
setColumn(newColumns);
|
|
41754
41826
|
}
|
|
41755
41827
|
};
|
|
41756
|
-
return (jsxRuntime.jsx(React$5.Fragment, { children: col.visible !== false && (jsxRuntime.jsx(Resizable, { className: "r-resize", width: typeof col.width === 'number' ? col.width : Number((col.width ?? "").replaceAll(new RegExp(`[^0-9]`, "g"), '')), height: 0, onResize: handleResize, draggableOpts: { enableUserSelectHack: false }, children: jsxRuntime.jsx("th", { rowSpan: col.rowspan !== 1 ? col.rowspan : undefined, colSpan: col.columns?.filter(x => x.visible !== false)?.length ?? 1, className:
|
|
41828
|
+
return (jsxRuntime.jsx(React$5.Fragment, { children: col.visible !== false && (jsxRuntime.jsx(Resizable, { className: "r-resize", width: typeof col.width === 'number' ? col.width : Number((col.width ?? "").replaceAll(new RegExp(`[^0-9]`, "g"), '')), height: 0, onResize: handleResize, draggableOpts: { enableUserSelectHack: false }, children: jsxRuntime.jsx("th", { rowSpan: col.rowspan !== 1 ? col.rowspan : undefined, colSpan: col.columns?.filter(x => x.visible !== false)?.length ?? 1, className: classNames$1(`r-headercell fix-${col.fixedType}`, { 'fixed-last': (col.fixedType === 'left' && indexCol === lastObjWidthFixLeft) || (col.fixedType === 'right' && indexCol === fisrtObjWidthFixRight) }, { 'cell-fixed': col.fixedType }), style: {
|
|
41757
41829
|
top: `${indexParent * 42}px`,
|
|
41758
41830
|
left: col.fixedType === 'left' ? objWidthFixLeft[col.index ?? 0] : undefined,
|
|
41759
41831
|
right: col.fixedType === 'right' ? objWidthFixRight[col.index ?? 0] : undefined,
|
|
41760
41832
|
width: col.width ? typeof col.width === 'number' ? col.width : col.width?.includes('px') || col.width?.includes('%') ? col.width : `${col.width}px` : 'auto',
|
|
41761
41833
|
minWidth: col.fixedType ? col.width : col.minWidth ? typeof col.minWidth === 'number' ? col.minWidth : col.minWidth?.includes('px') || col.minWidth?.includes('%') ? col.minWidth : `${col.minWidth}px` : 'auto',
|
|
41762
41834
|
maxWidth: col.fixedType ? col.width : col.maxWidth ? typeof col.maxWidth === 'number' ? col.maxWidth : col.maxWidth?.includes('px') || col.maxWidth?.includes('%') ? col.maxWidth : `${col.maxWidth}px` : 'auto'
|
|
41763
|
-
}, children: jsxRuntime.jsxs("div", { style: { justifyContent: col.textAlign ?? 'left' }, className:
|
|
41835
|
+
}, children: jsxRuntime.jsxs("div", { style: { justifyContent: col.textAlign ?? 'left' }, className: classNames$1('r-headercell-div'), children: [col.field === 'checkbox' && (jsxRuntime.jsx(Input$1, { checked: !!(totalCount > 0 && selectedRows?.length >= totalCount), type: "checkbox", className: classNames$1('cursor-pointer', { 'd-none': !isMulti }), style: { textAlign: col.textAlign ?? 'left', marginTop: 6 }, onChange: (e) => {
|
|
41764
41836
|
if (selectEnable) {
|
|
41765
41837
|
if (e.target.checked) {
|
|
41766
41838
|
setSelectedRows(dataSource.map((item) => { return item; }));
|
|
@@ -41887,7 +41959,7 @@ const SelectTableTree = React$5.forwardRef((props, ref) => {
|
|
|
41887
41959
|
};
|
|
41888
41960
|
// Hàm để render header của cột
|
|
41889
41961
|
const renderHeaderCol = (col, indexCol) => {
|
|
41890
|
-
return (jsxRuntime.jsx(React$5.Fragment, { children: col.visible !== false && (jsxRuntime.jsx("th", { className:
|
|
41962
|
+
return (jsxRuntime.jsx(React$5.Fragment, { children: col.visible !== false && (jsxRuntime.jsx("th", { className: classNames$1(`r-select-headercell fix-${col.fixedType}`, { 'cell-fixed': col.fixedType }), style: {
|
|
41891
41963
|
width: col.fixedType ? Number(col.maxWidth ? col.maxWidth : (col.width ? col.width : (col.minWidth ?? 'auto'))) : col.width,
|
|
41892
41964
|
minWidth: col.fixedType ? Number(col.maxWidth ? col.maxWidth : (col.width ? col.width : (col.minWidth ?? 'auto'))) : col.minWidth,
|
|
41893
41965
|
maxWidth: col.fixedType ? Number(col.maxWidth ? col.maxWidth : (col.width ? col.width : (col.minWidth ?? 'auto'))) : col.minWidth,
|
|
@@ -41938,7 +42010,7 @@ const SelectTableTree = React$5.forwardRef((props, ref) => {
|
|
|
41938
42010
|
const RenderElement = React__default["default"].memo((props) => {
|
|
41939
42011
|
const { indexRow, row, isSelected, level = 0 } = props;
|
|
41940
42012
|
const [expanded, setExpanded] = React$5.useState(row.expanded);
|
|
41941
|
-
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("tr", { id: `row-select-table-${indexRow}`, className:
|
|
42013
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("tr", { id: `row-select-table-${indexRow}`, className: classNames$1('r-select-row', { 'fisrt-row': indexRow === 0 && level === 0 }), children: [isMulti && jsxRuntime.jsxs("td", { className: classNames$1(`r-select-rowcell`, { 'r-select-active': !isMulti && value && isSelected }), style: {
|
|
41942
42014
|
textAlign: 'center',
|
|
41943
42015
|
paddingLeft: (level * 15) + (row[fieldChildren ?? 'children']?.length > 0 ? 0 : 10)
|
|
41944
42016
|
}, onClick: (e) => {
|
|
@@ -41985,7 +42057,7 @@ const SelectTableTree = React$5.forwardRef((props, ref) => {
|
|
|
41985
42057
|
setExpanded(true);
|
|
41986
42058
|
}
|
|
41987
42059
|
e.stopPropagation();
|
|
41988
|
-
}, fontSize: 18, className:
|
|
42060
|
+
}, fontSize: 18, className: classNames$1('me-50 pb-0 r-icon-expand', { 'is-open': expanded }) }), jsxRuntime.jsx(Input$1, { checked: isSelected, type: "checkbox", className: "cursor-pointer", onChange: () => { } })] }), (columns ? columns : defaultColumns).map((col, indexCol) => {
|
|
41989
42061
|
let valueDisplay = row[col.field];
|
|
41990
42062
|
if (col.type === 'numeric' || (col.typeCondition && col.typeCondition(row) === 'numeric')) {
|
|
41991
42063
|
valueDisplay = formartNumberic(row[col.field], formatSetting?.decimalSeparator ?? '.', formatSetting?.thousandSeparator ?? ',', col.fraction ?? 0, true) ?? 0;
|
|
@@ -41996,7 +42068,7 @@ const SelectTableTree = React$5.forwardRef((props, ref) => {
|
|
|
41996
42068
|
else if (col.type === 'datetime') {
|
|
41997
42069
|
valueDisplay = valueDisplay ? formatDateTime(valueDisplay, formatSetting?.dateFormat ?? 'DD/MM/yyyy HH:mm') : '';
|
|
41998
42070
|
}
|
|
41999
|
-
return (jsxRuntime.jsxs(React$5.Fragment, { children: [col.visible !== false && jsxRuntime.jsxs("td", { id: `select-${id}-${indexRow}-${indexCol}`, className:
|
|
42071
|
+
return (jsxRuntime.jsxs(React$5.Fragment, { children: [col.visible !== false && jsxRuntime.jsxs("td", { id: `select-${id}-${indexRow}-${indexCol}`, className: classNames$1(`r-select-rowcell`, { 'r-select-active': !isMulti && value && isSelected }), style: {
|
|
42000
42072
|
paddingLeft: 9 + (indexCol === 0 && !isMulti ? (level * 10) + (row[fieldChildren ?? 'children']?.length > 0 || level === 0 ? 0 : 15) : 0),
|
|
42001
42073
|
textAlign: col.textAlign ? col.textAlign : 'left'
|
|
42002
42074
|
}, onClick: (e) => {
|
|
@@ -42050,7 +42122,7 @@ const SelectTableTree = React$5.forwardRef((props, ref) => {
|
|
|
42050
42122
|
setExpanded(true);
|
|
42051
42123
|
}
|
|
42052
42124
|
e.stopPropagation();
|
|
42053
|
-
}, fontSize: 18, className:
|
|
42125
|
+
}, fontSize: 18, className: classNames$1('me-50 r-icon-expand', { 'is-open': expanded }) }), col.template ? col.template(row, indexRow) : (col.type === 'numeric' && Number(row[col.field]) < 0 ? jsxRuntime.jsxs("div", { style: { color: formatSetting?.colorNegative ?? 'red' }, children: [" ", `${formatSetting?.prefixNegative ?? '-'}${value}${formatSetting?.suffixNegative ?? ''}`] }) : valueDisplay)] }, `col-${indexRow}-${indexCol}`), checkOverflow(indexRow, indexCol) && jsxRuntime.jsx(UncontrolledTooltip, { className: "r-tooltip", autohide: false, target: `select-${id}-${indexRow}-${indexCol}`, children: col.template ? col.template(row, indexRow) : (col.type === 'numeric' && Number(row[col.field]) < 0 ? jsxRuntime.jsxs("div", { style: { color: formatSetting?.colorNegative ?? 'red' }, children: [" ", `${formatSetting?.prefixNegative ?? '-'}${value}${formatSetting?.suffixNegative ?? ''}`] }) : valueDisplay) })] }, indexCol));
|
|
42054
42126
|
})] }, `row-${indexRow}`), row[fieldChildren ?? 'children'] && row.expanded && row[fieldChildren ?? 'children'].map((child, indexChild) => {
|
|
42055
42127
|
if (checkSearch(searchTerm, child, (columns ? columns : defaultColumns))) {
|
|
42056
42128
|
const isSelectedChild = value && (isMulti ? value?.some((x) => x === child[fieldValue ?? 'value']) : value[fieldValue ?? 'value'] === child[fieldValue ?? 'value']);
|
|
@@ -42061,7 +42133,7 @@ const SelectTableTree = React$5.forwardRef((props, ref) => {
|
|
|
42061
42133
|
const RenderTable = (props) => {
|
|
42062
42134
|
let countDisplay = 0;
|
|
42063
42135
|
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("table", { style: { width: '100%' }, children: [!(noHeader && (columns?.length ?? 0) > 0) &&
|
|
42064
|
-
jsxRuntime.jsx("thead", { className: 'r-select-gridheader', children: jsxRuntime.jsxs("tr", { className: "r-select-row", role: "row", children: [isMulti && jsxRuntime.jsx("th", { className:
|
|
42136
|
+
jsxRuntime.jsx("thead", { className: 'r-select-gridheader', children: jsxRuntime.jsxs("tr", { className: "r-select-row", role: "row", children: [isMulti && jsxRuntime.jsx("th", { className: classNames$1(`r-select-headercell checkbox-column`), style: { width: 40, minWidth: 40, maxWidth: 100, top: `0px` }, children: jsxRuntime.jsx("div", { style: { justifyContent: 'center' }, className: classNames$1('r-select-headercell-div'), children: jsxRuntime.jsx(Input$1, { checked: isSelectedAll, type: "checkbox", onClick: (e) => {
|
|
42065
42137
|
if (isMulti) {
|
|
42066
42138
|
if (isSelectedAll) {
|
|
42067
42139
|
onChange([]);
|
|
@@ -42071,7 +42143,7 @@ const SelectTableTree = React$5.forwardRef((props, ref) => {
|
|
|
42071
42143
|
}
|
|
42072
42144
|
e.stopPropagation();
|
|
42073
42145
|
}
|
|
42074
|
-
}, readOnly: true, className:
|
|
42146
|
+
}, readOnly: true, className: classNames$1('cursor-pointer', { 'd-none': !isMulti }), style: { textAlign: 'center', marginTop: 6 } }) }) }), (columns ? columns : defaultColumns).map((col, index) => {
|
|
42075
42147
|
return (renderHeaderCol(col, index));
|
|
42076
42148
|
})] }) }), (options.length > 0) && jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("tbody", { className: 'r-select-gridcontent', children: options?.map((row, indexRow) => {
|
|
42077
42149
|
if (checkSearch(searchTerm, row, (columns ? columns : defaultColumns))) {
|
|
@@ -42097,17 +42169,17 @@ const SelectTableTree = React$5.forwardRef((props, ref) => {
|
|
|
42097
42169
|
traverse(tree);
|
|
42098
42170
|
return records;
|
|
42099
42171
|
};
|
|
42100
|
-
return (jsxRuntime.jsx("div", { className:
|
|
42172
|
+
return (jsxRuntime.jsx("div", { className: classNames$1('react-select-table', { 'is-invalid': invalid }), ref: ref, id: id, children: jsxRuntime.jsx("div", { ref: selectTableRef, children: jsxRuntime.jsxs(Dropdown$1, { isOpen: dropdownOpen, toggle: () => { }, onMouseDown: (e) => e.preventDefault(), children: [jsxRuntime.jsxs(DropdownToggle$1, { onClick: (e) => {
|
|
42101
42173
|
if (!isDisabled) {
|
|
42102
42174
|
inputRef?.current.focus();
|
|
42103
42175
|
handleOpenClose();
|
|
42104
42176
|
}
|
|
42105
42177
|
e.preventDefault();
|
|
42106
|
-
}, tag: 'div', style: { width: '100%' }, className:
|
|
42178
|
+
}, tag: 'div', style: { width: '100%' }, className: classNames$1('select-table-control', { 'r-select-is-disabled': isDisabled }, { 'r-select-is-open': dropdownOpen }, { 'r-select-is-focus': isFocus }, { 'r-select-is-invalid': invalid }), children: [jsxRuntime.jsxs("div", { className: "select-table-container", children: [isMulti ? jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("div", { className: classNames$1('select-value is-mutil', { 'd-none': searchTerm }), children: getSelectedRecords(options, value).map((ele, index) => {
|
|
42107
42179
|
return (jsxRuntime.jsxs("span", { children: [index === 0 ? '' : ', ', ele[fieldLabel ?? 'label']] }, index));
|
|
42108
|
-
}) }) }) : jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("div", { className:
|
|
42180
|
+
}) }) }) : jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("div", { className: classNames$1('select-value', { 'd-none': searchTerm }), children: [value ? (formatOptionLabel ? formatOptionLabel(value) : value[fieldLabel ?? 'label']) : '', " "] }) }), !((isMulti ? value?.length > 0 : value) || isDisabled || searchTerm) && jsxRuntime.jsx("div", { className: classNames$1('select-placeholder'), children: placeholder }), jsxRuntime.jsx("div", { className: 'input-container', children: jsxRuntime.jsx("input", { style: { textAlign: textAlign ?? 'left' }, ref: inputRef, className: classNames$1('select-input'), readOnly: isDisabled, value: searchTerm, onPaste: (e) => (onPaste && !dropdownOpen) && onPaste(e), onChange: (val) => {
|
|
42109
42181
|
setSearchTerm(val.target.value);
|
|
42110
|
-
}, onKeyDown: (e) => handleOnKeyDown(e) }) })] }), (isClearable && value && !isDisabled) && jsxRuntime.jsx("div", { className:
|
|
42182
|
+
}, onKeyDown: (e) => handleOnKeyDown(e) }) })] }), (isClearable && value && !isDisabled) && jsxRuntime.jsx("div", { className: classNames$1('cursor-pointer icon-clear'), onClick: (e) => {
|
|
42111
42183
|
onChange(isMulti ? [] : undefined);
|
|
42112
42184
|
e.stopPropagation();
|
|
42113
42185
|
}, children: "\u00D7" }), !isDisabled && jsxRuntime.jsx("div", { className: "select-table-indicator", onMouseDown: (e) => e.preventDefault(), children: jsxRuntime.jsx("svg", { height: "20", width: "20", viewBox: "0 0 20 20", children: jsxRuntime.jsx("path", { d: "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z" }) }) })] }), jsxRuntime.jsx(DropdownMenu$1, { container: component, className: 'formula-dropdown icon-dropdown p-0', style: {
|
|
@@ -42115,12 +42187,12 @@ const SelectTableTree = React$5.forwardRef((props, ref) => {
|
|
|
42115
42187
|
position: 'fixed',
|
|
42116
42188
|
borderRadius: 4,
|
|
42117
42189
|
zIndex: 9999
|
|
42118
|
-
}, children: jsxRuntime.jsx(DropdownItem$1, { className:
|
|
42190
|
+
}, children: jsxRuntime.jsx(DropdownItem$1, { className: classNames$1('p-0 menu-select-table'), style: { borderRadius: '6px' }, tag: 'div', header: true, children: dropdownOpen && jsxRuntime.jsx("div", { onMouseDown: (e) => {
|
|
42119
42191
|
if (!isDisabled) {
|
|
42120
42192
|
inputRef?.current.focus();
|
|
42121
42193
|
e.preventDefault();
|
|
42122
42194
|
}
|
|
42123
|
-
}, children: jsxRuntime.jsxs("div", { className: 'r-select-grid r-select-tree-grid', children: [jsxRuntime.jsx("div", { className: "r-select-gridtable ", ref: selectMenuTableRef, style: { width: menuWidth, minWidth: selectTableRef?.current?.clientWidth, maxHeight: maxHeight ?? defaultMaxHeight }, children: jsxRuntime.jsx(RenderTable, {}) }), jsxRuntime.jsxs("div", { className:
|
|
42195
|
+
}, children: jsxRuntime.jsxs("div", { className: 'r-select-grid r-select-tree-grid', children: [jsxRuntime.jsx("div", { className: "r-select-gridtable ", ref: selectMenuTableRef, style: { width: menuWidth, minWidth: selectTableRef?.current?.clientWidth, maxHeight: maxHeight ?? defaultMaxHeight }, children: jsxRuntime.jsx(RenderTable, {}) }), jsxRuntime.jsxs("div", { className: classNames$1('r-select-footer', { 'd-none': !(showFooter === true || handleAdd || isMulti) }), children: [jsxRuntime.jsxs(Button$1, { outline: true, color: "primary", onClick: handleAdd, className: classNames$1('r-btn d-flex align-items-center', { 'd-none': !handleAdd }), children: [jsxRuntime.jsx(SvgPlus, { className: "me-50", fontSize: 16 }), t('AddNew'), " (F9)"] }), isMulti && jsxRuntime.jsx("div", { className: "ms-50 text-primary h-100 d-flex align-items-center", onClick: handleAdd, children: t('countSelected', { item: value?.length ?? 0 }) }), footerComponent ? footerComponent() : null] })] }) }) }) })] }) }) }));
|
|
42124
42196
|
});
|
|
42125
42197
|
|
|
42126
42198
|
const PagingComponent = ({ totalItem, pageSize, currentPage, onChangePage, pageOptions, onChangePageSize }) => {
|
|
@@ -42136,14 +42208,14 @@ const PagingComponent = ({ totalItem, pageSize, currentPage, onChangePage, pageO
|
|
|
42136
42208
|
const renderPageNumber = (number) => {
|
|
42137
42209
|
const arr = [];
|
|
42138
42210
|
for (let index = ((number - 1) * 5) + 1; index <= number * 5 && index <= Math.floor(totalItem / pageSize) + (Math.floor(totalItem / pageSize) === totalItem / pageSize ? 0 : 1); index++) {
|
|
42139
|
-
arr.push(jsxRuntime.jsx("div", { className:
|
|
42211
|
+
arr.push(jsxRuntime.jsx("div", { className: classNames$1('r-number', { 'r-active': index === currentPage }), onClick: () => { onChangePage({ totalItem, pageSize, currentPage: index, old: currentPage }); }, children: index }, `page-${index}`));
|
|
42140
42212
|
}
|
|
42141
42213
|
return (arr);
|
|
42142
42214
|
};
|
|
42143
|
-
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsxs("div", { className: "r-pager", children: [jsxRuntime.jsxs("div", { className: "r-pagercontainer", children: [jsxRuntime.jsx("button", { className: "r-button", type: "button", disabled: countPage <= 1 || currentPage === 1, onClick: () => onChangePage({ totalItem, pageSize, currentPage: 1, old: currentPage }), children: jsxRuntime.jsx(SvgChevronsLeft, { fontSize: 16 }) }), jsxRuntime.jsx("button", { className: "r-button", type: "button", disabled: countPage <= 1 || currentPage === 1, onClick: () => onChangePage({ totalItem, pageSize, currentPage: currentPage - 1, old: currentPage }), children: jsxRuntime.jsx(SvgChevronLeft, { fontSize: 16 }) }), jsxRuntime.jsx("button", { className:
|
|
42215
|
+
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsxs("div", { className: "r-pager", children: [jsxRuntime.jsxs("div", { className: "r-pagercontainer", children: [jsxRuntime.jsx("button", { className: "r-button", type: "button", disabled: countPage <= 1 || currentPage === 1, onClick: () => onChangePage({ totalItem, pageSize, currentPage: 1, old: currentPage }), children: jsxRuntime.jsx(SvgChevronsLeft, { fontSize: 16 }) }), jsxRuntime.jsx("button", { className: "r-button", type: "button", disabled: countPage <= 1 || currentPage === 1, onClick: () => onChangePage({ totalItem, pageSize, currentPage: currentPage - 1, old: currentPage }), children: jsxRuntime.jsx(SvgChevronLeft, { fontSize: 16 }) }), jsxRuntime.jsx("button", { className: classNames$1('r-button', { 'd-none': currentPageNumber === 1 }), type: "button", onClick: () => {
|
|
42144
42216
|
setCurrentPageNumber(currentPageNumber - 1);
|
|
42145
42217
|
onChangePage({ totalItem, pageSize, currentPage: ((currentPageNumber - 2) * 5) + 1, old: currentPage });
|
|
42146
|
-
}, children: "..." }), renderPageNumber(currentPageNumber), jsxRuntime.jsx("button", { className:
|
|
42218
|
+
}, children: "..." }), renderPageNumber(currentPageNumber), jsxRuntime.jsx("button", { className: classNames$1('r-button', { 'd-none': currentPageNumber * 5 >= countPage }), type: "button", onClick: () => {
|
|
42147
42219
|
setCurrentPageNumber(currentPageNumber + 1);
|
|
42148
42220
|
onChangePage({ totalItem, pageSize, currentPage: (currentPageNumber * 5) + 1, old: currentPage });
|
|
42149
42221
|
}, children: "..." }), jsxRuntime.jsx("button", { className: "r-button", type: "button", disabled: countPage <= 1 || countPage === currentPage, onClick: () => onChangePage({ totalItem, pageSize, currentPage: currentPage + 1, old: currentPage }), children: jsxRuntime.jsx(SvgChevronRight, { fontSize: 16 }) }), jsxRuntime.jsx("button", { className: "r-button", type: "button", disabled: countPage <= 1 || countPage === currentPage, onClick: () => onChangePage({ totalItem, pageSize, currentPage: Math.floor(totalItem / pageSize) + (Math.floor(totalItem / pageSize) === totalItem / pageSize ? 0 : 1), old: currentPage }), children: jsxRuntime.jsx(SvgChevronsRight, { fontSize: 16 }) }), jsxRuntime.jsx("div", { className: "r-pagesize", children: jsxRuntime.jsx(SelectTable, { value: { value: pageSize, label: pageSize }, noHeader: true, options: pageOptions.map((item) => ({ value: item, label: item })), onChange: (val) => {
|
|
@@ -42258,13 +42330,13 @@ editDisable, addDisable, toolbarSetting, buttonSetting) => {
|
|
|
42258
42330
|
};
|
|
42259
42331
|
|
|
42260
42332
|
const ToolbarBottom = ({ handleAdd, handleDuplicate, handleInsertBefore, handleInsertAfter, handleDeleteAll, setOpenPopupSetupColumn, indexFocus, editDisable, addDisable, buttonSetting, toolbarSetting, headerColumns, t }) => {
|
|
42261
|
-
return (jsxRuntime.jsx("div", { id: "table_custom_bottom_toolbar", className: "r-toolbar r-toolbar-bottom", role: "toolbar", "aria-disabled": "false", "aria-haspopup": "false", "aria-orientation": "horizontal", children: jsxRuntime.jsxs("div", { className: "r-toolbar-items", children: [jsxRuntime.jsxs("div", { className: "r-toolbar-left", children: [jsxRuntime.jsxs("div", { className:
|
|
42333
|
+
return (jsxRuntime.jsx("div", { id: "table_custom_bottom_toolbar", className: "r-toolbar r-toolbar-bottom", role: "toolbar", "aria-disabled": "false", "aria-haspopup": "false", "aria-orientation": "horizontal", children: jsxRuntime.jsxs("div", { className: "r-toolbar-items", children: [jsxRuntime.jsxs("div", { className: "r-toolbar-left", children: [jsxRuntime.jsxs("div", { className: classNames$1('r-toolbar-item d-flex', { 'd-none': editDisable || addDisable }), "aria-disabled": "false", children: [jsxRuntime.jsx(Button$1, { color: 'success', outline: true, onClick: () => handleAdd(1), className: 'd-flex', children: t('Add item') }), jsxRuntime.jsxs(UncontrolledDropdown, { className: 'nav-item', children: [jsxRuntime.jsx(DropdownToggle$1, { tag: 'div', className: 'me-0 d-flex', children: jsxRuntime.jsx(Button$1, { type: 'button', color: 'success', outline: true, style: { marginLeft: -1 }, className: 'px-25', children: jsxRuntime.jsx("svg", { fill: '#28c76f', height: "15", width: "20", viewBox: "0 0 20 20", children: jsxRuntime.jsx("path", { d: "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z" }) }) }) }), jsxRuntime.jsxs(DropdownMenu$1, { className: 'formula-dropdown icon-dropdown p-0', style: { width: 60 }, children: [jsxRuntime.jsx(DropdownItem$1, { className: 'py-25', tag: 'div', onClick: () => handleAdd(10), children: "Th\u00EAm 10 h\u00E0ng" }), jsxRuntime.jsx(DropdownItem$1, { className: 'py-25', tag: 'div', onClick: () => handleAdd(20), children: "Th\u00EAm 20 h\u00E0ng" }), jsxRuntime.jsx(DropdownItem$1, { className: 'py-25', tag: 'div', onClick: () => handleAdd(30), children: "Th\u00EAm 30 h\u00E0ng" }), jsxRuntime.jsx(DropdownItem$1, { className: 'py-25', tag: 'div', onClick: () => handleAdd(40), children: "Th\u00EAm 40 h\u00E0ng" }), jsxRuntime.jsx(DropdownItem$1, { className: 'py-25', tag: 'div', onClick: () => handleAdd(50), children: "Th\u00EAm 50 h\u00E0ng" })] })] })] }), (indexFocus ?? -1) > -1 ? jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: classNames$1('r-toolbar-item', { 'd-none': editDisable || addDisable || buttonSetting?.duplicateDisable }), "aria-disabled": "false", children: jsxRuntime.jsx(Button$1, { color: 'success', outline: true, onClick: () => { handleDuplicate(); }, className: 'd-flex', children: t('Duplicate') }) }), jsxRuntime.jsx("div", { className: classNames$1('r-toolbar-item', { 'd-none': editDisable || addDisable || buttonSetting?.insertBeforeDisable }), "aria-disabled": "false", children: jsxRuntime.jsx(Button$1, { color: 'success', outline: true, onClick: handleInsertBefore, className: 'd-flex', children: t('Insert item before') }) }), jsxRuntime.jsx("div", { className: classNames$1('r-toolbar-item', { 'd-none': editDisable || addDisable || buttonSetting?.insertAfterDisable }), "aria-disabled": "false", children: jsxRuntime.jsx(Button$1, { color: 'success', outline: true, onClick: handleInsertAfter, className: 'd-flex', children: t('Insert item after') }) })] }) : jsxRuntime.jsx(jsxRuntime.Fragment, { children: " " }), jsxRuntime.jsx("div", { className: classNames$1('r-toolbar-item', { 'd-none': editDisable || buttonSetting?.deleteAllDisable }), "aria-disabled": "false", children: jsxRuntime.jsx(Button$1, { color: 'primary', outline: true, onClick: handleDeleteAll, className: 'd-flex', children: t('Delete all item') }) }), toolbarSetting?.toolbarBottomOptions?.map((item, index) => {
|
|
42262
42334
|
return ((item.align === 'left') ? jsxRuntime.jsx("div", { className: "r-toolbar-item", "aria-disabled": "false", children: item.template() }, `toolbar-bottom-left-${index}`) : '');
|
|
42263
42335
|
})] }), jsxRuntime.jsx("div", { className: "r-toolbar-center", children: toolbarSetting?.toolbarBottomOptions?.map((item, index) => {
|
|
42264
42336
|
return ((item.align === 'center') ? jsxRuntime.jsx("div", { className: "r-toolbar-item", "aria-disabled": "false", children: item.template() }, `toolbar-bottom-center-${index}`) : '');
|
|
42265
42337
|
}) }), jsxRuntime.jsxs("div", { className: "r-toolbar-right", children: [toolbarSetting?.toolbarBottomOptions?.map((item, index) => {
|
|
42266
42338
|
return ((item.align === 'right') ? jsxRuntime.jsx("div", { className: "r-toolbar-item", "aria-disabled": "false", children: item.template() }, `toolbar-bottom-right-${index}`) : '');
|
|
42267
|
-
}), jsxRuntime.jsx("div", { className:
|
|
42339
|
+
}), jsxRuntime.jsx("div", { className: classNames$1('r-toolbar-item me-25', { 'd-none': headerColumns.length > 1 }), "aria-disabled": "false", children: jsxRuntime.jsx(SvgSettings, { className: "text-primary cursor-pointer", onClick: () => setOpenPopupSetupColumn(true) }) }), jsxRuntime.jsx("div", { className: classNames$1('r-toolbar-item me-25', { 'd-none': editDisable || addDisable }), "aria-disabled": "false", children: jsxRuntime.jsxs(UncontrolledDropdown, { className: 'dropdown-user nav-item', children: [jsxRuntime.jsx(DropdownToggle$1, { tag: 'div', color: "primary", onClick: (e) => e.preventDefault(), children: jsxRuntime.jsx(SvgInfo, { className: "cursor-pointer text-primary" }) }), jsxRuntime.jsx(DropdownMenu$1, { className: 'formula-dropdown icon-dropdown', children: jsxRuntime.jsxs("ul", { className: "mb-0 pe-50", children: [jsxRuntime.jsx("li", { style: { fontSize: 13 }, children: "Nh\u1EA5n v\u00E0o c\u1ED9t STT \u0111\u1EC3 ch\u1ECDn h\u00E0ng v\u00E0 nh\u1EA5n Ctrl + D \u0111\u1EC3 nh\u00E2n b\u1EA3n" }), jsxRuntime.jsx("li", { style: { fontSize: 13 }, children: "Ch\u1ECDn \u00F4 v\u00E0 Ctrl + V \u0111\u1EC3 d\u00E1n th\u00F4ng tin t\u1EEB excel" }), jsxRuntime.jsx("li", { style: { fontSize: 13 }, children: "Nh\u1EA5n v\u00E0o c\u1ED9t STT \u0111\u1EC3 ch\u1ECDn h\u00E0ng v\u00E0 nh\u1EA5n Ctrl + C \u0111\u1EC3 sao ch\u00E9p h\u00E0ng" }), jsxRuntime.jsx("li", { style: { fontSize: 13 }, children: "Nh\u1EA5n v\u00E0o c\u1ED9t STT \u0111\u1EC3 ch\u1ECDn h\u00E0ng v\u00E0 nh\u1EA5n Ctrl + V \u0111\u1EC3 d\u00E1n h\u00E0ng" }), jsxRuntime.jsx("li", { style: { fontSize: 13 }, children: "Nh\u1EA5n Ctrl ho\u1EB7c Alt + Shift + \u2193 \u0111\u1EC3 sao ch\u00E9p d\u1EEF li\u1EC7u \u00F4 cho c\u00E1c d\u00F2ng d\u01B0\u1EDBi" }), jsxRuntime.jsx("li", { style: { fontSize: 13 }, children: "Nh\u1EA5n Ctrl ho\u1EB7c Alt + Shift + \u2191 \u0111\u1EC3 sao ch\u00E9p d\u1EEF li\u1EC7u \u00F4 cho c\u00E1c d\u00F2ng tr\u00EAn" })] }) })] }) })] })] }) }));
|
|
42268
42340
|
};
|
|
42269
42341
|
|
|
42270
42342
|
const handleArrowRight = (e, params) => {
|
|
@@ -42429,10 +42501,10 @@ const SelectTableBox = (props) => {
|
|
|
42429
42501
|
const { isLabel, desciptionLabel, id, classLabel, name, label, required } = props;
|
|
42430
42502
|
return (jsxRuntime.jsxs(React$5.Fragment, { children: [isLabel === false ? '' : jsxRuntime.jsxs(Label$1, { id: `label-${id}`, className: classLabel, for: name, children: [t(label ? label : ''), " ", required ? jsxRuntime.jsx("span", { className: "text-danger", children: "*" }) : ''] }), (!isNullOrUndefined$1(desciptionLabel) && desciptionLabel !== '') ?? jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx(UncontrolledTooltip, { target: `label-${id}`, children: t(desciptionLabel ?? '') }) })] }));
|
|
42431
42503
|
};
|
|
42432
|
-
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsxs("div", { className:
|
|
42504
|
+
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsxs("div", { className: classNames$1(inLine === false ? 'form-group ' : 'form-row-inline d-flex', 'align', {
|
|
42433
42505
|
[labelSize ? labelSize : '']: labelSize,
|
|
42434
42506
|
'form-row-inline-error': errors
|
|
42435
|
-
}), children: [renderLabel({ isLabel, desciptionLabel, classLabel, name, label, required, id: id ?? '' }), jsxRuntime.jsxs("div", { className:
|
|
42507
|
+
}), children: [renderLabel({ isLabel, desciptionLabel, classLabel, name, label, required, id: id ?? '' }), jsxRuntime.jsxs("div", { className: classNames$1('form-input-content', { 'hidden-label': isLabel === false }), children: [jsxRuntime.jsx(Controller, { name: name, control: control, render: ({ field: { value, onChange } }) => {
|
|
42436
42508
|
return (jsxRuntime.jsx(SelectTable, { ...rest, id: id, value: (isMulti ? value?.length > 0 : value) ? (!isMulti ? (options.find((val) => val[fieldValue ?? 'value'] === value) ?? (defaultValue ?? '')) : value) : (isMulti ? [] : undefined),
|
|
42437
42509
|
// Giá trị của SelectTable, nếu isMulti là true và value có độ dài lớn hơn 0, hoặc nếu isMulti là false và value có giá trị,
|
|
42438
42510
|
// thì tìm giá trị tương ứng trong options hoặc sử dụng defaultValue. Nếu không, sử dụng giá trị mặc định tùy thuộc vào isMulti.
|
|
@@ -42630,24 +42702,6 @@ const TableEdit = React$5.forwardRef((props, ref) => {
|
|
|
42630
42702
|
setHeaderColumns(arrHeaderColumns);
|
|
42631
42703
|
setContentColumns(arrContentColumns);
|
|
42632
42704
|
}, [columns]);
|
|
42633
|
-
React$5.useEffect(() => {
|
|
42634
|
-
const arrHeaderColumns = [];
|
|
42635
|
-
const arrContentColumns = [];
|
|
42636
|
-
let headerLevelRow = 0;
|
|
42637
|
-
if (levelCol) {
|
|
42638
|
-
headerLevelRow = levelCol;
|
|
42639
|
-
}
|
|
42640
|
-
else {
|
|
42641
|
-
headerLevelRow = stretchColumn(columns, 0);
|
|
42642
|
-
setLevelCol(headerLevelRow);
|
|
42643
|
-
}
|
|
42644
|
-
for (let i = 0; i < headerLevelRow; i++) {
|
|
42645
|
-
arrHeaderColumns.push([]);
|
|
42646
|
-
}
|
|
42647
|
-
getNestedChildren(columns, arrHeaderColumns, arrContentColumns, 0, headerLevelRow);
|
|
42648
|
-
setHeaderColumns(arrHeaderColumns);
|
|
42649
|
-
setContentColumns(arrContentColumns);
|
|
42650
|
-
}, [columns]);
|
|
42651
42705
|
const getNestedChildren = (array, arrHeaderColumns, arrContentColumns, level, maxLevelRow) => {
|
|
42652
42706
|
array.forEach((item) => {
|
|
42653
42707
|
const ele = { ...item, visible: item.visible, rowspan: 1, index: 0 };
|
|
@@ -42727,7 +42781,7 @@ const TableEdit = React$5.forwardRef((props, ref) => {
|
|
|
42727
42781
|
/*eslint-disable */
|
|
42728
42782
|
switch (col?.editTypeCondition ? col?.editTypeCondition(row) : col.editType) {
|
|
42729
42783
|
case 'date':
|
|
42730
|
-
return (jsxRuntime.jsx(DateInput, { id: `${idTable}-col${indexCol + 1}-row${indexRow + 1}`, className:
|
|
42784
|
+
return (jsxRuntime.jsx(DateInput, { id: `${idTable}-col${indexCol + 1}-row${indexRow + 1}`, className: classNames$1('form-control border-0 rounded-0 input-numeric', { 'is-invalid': col.validate && col.validate(row[col.field], row) }), value: row[col.field], onChange: (date) => {
|
|
42731
42785
|
row[col.field] = date ? new Date(date.getTime() + 7 * 60 * 60 * 1000) : undefined;
|
|
42732
42786
|
if (col.callback) {
|
|
42733
42787
|
col.callback(row[col.field], indexRow, row);
|
|
@@ -42739,7 +42793,7 @@ const TableEdit = React$5.forwardRef((props, ref) => {
|
|
|
42739
42793
|
}
|
|
42740
42794
|
} }));
|
|
42741
42795
|
case 'datetime':
|
|
42742
|
-
return (jsxRuntime.jsx(DateInput, { id: `${idTable}-col${indexCol + 1}-row${indexRow + 1}`, className:
|
|
42796
|
+
return (jsxRuntime.jsx(DateInput, { id: `${idTable}-col${indexCol + 1}-row${indexRow + 1}`, className: classNames$1('form-control border-0 rounded-0 input-numeric', { 'is-invalid': col.validate && col.validate(row[col.field], row) }), value: row[col.field], onChange: (date) => {
|
|
42743
42797
|
row[col.field] = date;
|
|
42744
42798
|
if (col.callback) {
|
|
42745
42799
|
col.callback(row[col.field], indexRow, row);
|
|
@@ -42874,7 +42928,7 @@ const TableEdit = React$5.forwardRef((props, ref) => {
|
|
|
42874
42928
|
decimalScale: col.numericSettings?.fraction ?? 0
|
|
42875
42929
|
};
|
|
42876
42930
|
let floatValue = parseFloat(row[col.field] ?? '0');
|
|
42877
|
-
return (jsxRuntime.jsx(NumericFormat, { id: `${idTable}-col${indexCol + 1}-row${indexRow + 1}`, style: { textAlign: col.textAlign, height: 29 }, ...numericFormatProps, defaultValue: formartNumberic(row[col.field], formatSetting?.decimalSeparator ?? ',', formatSetting?.thousandSeparator ?? '.', col.numericSettings?.fraction), className:
|
|
42931
|
+
return (jsxRuntime.jsx(NumericFormat, { id: `${idTable}-col${indexCol + 1}-row${indexRow + 1}`, style: { textAlign: col.textAlign, height: 29 }, ...numericFormatProps, defaultValue: formartNumberic(row[col.field], formatSetting?.decimalSeparator ?? ',', formatSetting?.thousandSeparator ?? '.', col.numericSettings?.fraction), className: classNames$1('form-control border-0 rounded-0 input-numeric', { 'is-invalid': col.validate && col.validate(row[col.field], row) }), onValueChange: (values) => {
|
|
42878
42932
|
floatValue = values?.floatValue;
|
|
42879
42933
|
}, onFocus: (e) => {
|
|
42880
42934
|
e.target.setSelectionRange(0, e.target.innerText.length - 1);
|
|
@@ -42940,7 +42994,7 @@ const TableEdit = React$5.forwardRef((props, ref) => {
|
|
|
42940
42994
|
}
|
|
42941
42995
|
} }));
|
|
42942
42996
|
default:
|
|
42943
|
-
return (jsxRuntime.jsx(Input$1, { id: `${idTable}-col${indexCol + 1}-row${indexRow + 1}`, style: { textAlign: col.textAlign, height: 29 }, value: isNullOrUndefined$1(row[col.field]) ? '' : row[col.field], className:
|
|
42997
|
+
return (jsxRuntime.jsx(Input$1, { id: `${idTable}-col${indexCol + 1}-row${indexRow + 1}`, style: { textAlign: col.textAlign, height: 29 }, value: isNullOrUndefined$1(row[col.field]) ? '' : row[col.field], className: classNames$1('border-0 rounded-0 input-element', { 'is-invalid': col.validate && col.validate(row[col.field], row) }), onChange: (val) => {
|
|
42944
42998
|
if (row[col.field] != val.target?.value) {
|
|
42945
42999
|
row[col.field] = val.target?.value;
|
|
42946
43000
|
if (col.callback) {
|
|
@@ -43283,14 +43337,14 @@ const TableEdit = React$5.forwardRef((props, ref) => {
|
|
|
43283
43337
|
}, [selectedItem]);
|
|
43284
43338
|
const renderContentCol = (col, row, indexRow, indexCol, isSelected) => {
|
|
43285
43339
|
if (col.field === 'command') {
|
|
43286
|
-
return (col.visible !== false && jsxRuntime.jsx("td", { className:
|
|
43340
|
+
return (col.visible !== false && jsxRuntime.jsx("td", { className: classNames$1(`r-rowcell p-0 fix-${col.fixedType}`, { 'cell-fixed': col.fixedType }, { 'fixed-last': (col.fixedType === 'left' && indexCol === lastObjWidthFixLeft) || (col.fixedType === 'right' && indexCol === fisrtObjWidthFixRight) }, { 'r-active': (isSelected && editDisable) || indexFocus === indexRow }), style: {
|
|
43287
43341
|
left: col.fixedType === 'left' ? objWidthFixLeft[indexCol] : undefined,
|
|
43288
43342
|
right: col.fixedType === 'right' ? objWidthFixRight[indexCol] : undefined,
|
|
43289
43343
|
textAlign: col.textAlign ? col.textAlign : 'left',
|
|
43290
43344
|
}, children: jsxRuntime.jsx("div", { className: "r-rowcell-div command", children: jsxRuntime.jsx(CommandElement, { commandItems: col.commandItems ?? [], handleCommandClick: handleCommandClick, indexRow: indexRow, rowData: row, setIndexFocus: setIndexFocus, indexFocus: indexFocus }) }) }, `col-${indexRow}-${indexCol}`));
|
|
43291
43345
|
}
|
|
43292
43346
|
else if (col.field === '#') {
|
|
43293
|
-
return (col.visible !== false && jsxRuntime.jsx("td", { className:
|
|
43347
|
+
return (col.visible !== false && jsxRuntime.jsx("td", { className: classNames$1(`r-rowcell p-0 cursor-pointer fix-${col.fixedType}`, { 'cell-fixed': col.fixedType }, { 'fixed-last': (col.fixedType === 'left' && indexCol === lastObjWidthFixLeft) || (col.fixedType === 'right' && indexCol === fisrtObjWidthFixRight) }, { 'r-active': (isSelected && editDisable) || indexFocus === indexRow }), tabIndex: Number(`${indexRow}${indexCol}`), style: {
|
|
43294
43348
|
left: col.fixedType === 'left' ? objWidthFixLeft[indexCol] : undefined,
|
|
43295
43349
|
right: col.fixedType === 'right' ? objWidthFixRight[indexCol] : undefined,
|
|
43296
43350
|
textAlign: 'center',
|
|
@@ -43328,7 +43382,7 @@ const TableEdit = React$5.forwardRef((props, ref) => {
|
|
|
43328
43382
|
}, children: jsxRuntime.jsx("div", { className: "r-rowcell-div", children: indexRow + 1 }) }, `col-${indexRow}-${indexCol}`));
|
|
43329
43383
|
}
|
|
43330
43384
|
else if (col.field === 'checkbox') {
|
|
43331
|
-
return (jsxRuntime.jsx("td", { className:
|
|
43385
|
+
return (jsxRuntime.jsx("td", { className: classNames$1(`r-rowcell p-0 fix-${col.fixedType}`, { 'cell-fixed': col.fixedType }, { 'fixed-last': (col.fixedType === 'left' && indexCol === lastObjWidthFixLeft) || (col.fixedType === 'right' && indexCol === fisrtObjWidthFixRight) }, { 'r-active': (isSelected && editDisable) || indexFocus === indexRow }), style: {
|
|
43332
43386
|
left: col.fixedType === 'left' ? objWidthFixLeft[indexCol] : undefined,
|
|
43333
43387
|
right: col.fixedType === 'right' ? objWidthFixRight[indexCol] : undefined,
|
|
43334
43388
|
}, children: jsxRuntime.jsx("div", { className: "r-rowcell-div cursor-pointer", style: { alignItems: 'center' }, onClick: (e) => {
|
|
@@ -43368,7 +43422,7 @@ const TableEdit = React$5.forwardRef((props, ref) => {
|
|
|
43368
43422
|
}
|
|
43369
43423
|
const typeDis = !editDisable && (indexFocus === indexRow || col.editType === 'checkbox') && (!col.disabledCondition || !col.disabledCondition(row)) ? (col.editEnable ? 1 : (col.template ? 2 : 3)) : (col.template ? 2 : 3);
|
|
43370
43424
|
const errorMessage = typeDis === 1 || col.field === '' || !col.validate ? '' : col.validate(row[col.field], row);
|
|
43371
|
-
return (jsxRuntime.jsx(React$5.Fragment, { children: col.visible !== false && jsxRuntime.jsx("td", { className:
|
|
43425
|
+
return (jsxRuntime.jsx(React$5.Fragment, { children: col.visible !== false && jsxRuntime.jsx("td", { className: classNames$1(`r-rowcell fix-${col.fixedType}`, { 'cell-fixed': col.fixedType }, { 'fixed-last': (col.fixedType === 'left' && indexCol === lastObjWidthFixLeft) || (col.fixedType === 'right' && indexCol === fisrtObjWidthFixRight) }, { 'r-active': (isSelected && editDisable) || indexFocus === indexRow }), style: {
|
|
43372
43426
|
left: col.fixedType === 'left' ? objWidthFixLeft[indexCol] : undefined,
|
|
43373
43427
|
right: col.fixedType === 'right' ? objWidthFixRight[indexCol] : undefined,
|
|
43374
43428
|
}, onClick: (e) => {
|
|
@@ -43399,9 +43453,9 @@ const TableEdit = React$5.forwardRef((props, ref) => {
|
|
|
43399
43453
|
}
|
|
43400
43454
|
e.stopPropagation();
|
|
43401
43455
|
}
|
|
43402
|
-
}, children: jsxRuntime.jsx("div", { className:
|
|
43456
|
+
}, children: jsxRuntime.jsx("div", { className: classNames$1('r-rowcell-div'), children: jsxRuntime.jsxs("div", { id: indexFocus === indexRow && typeDis !== 1 ? `${idTable}-col${indexCol + 1}-row${indexRow + 1}` : '', className: classNames$1('r-rowcell-content', { 'r-is-invalid': errorMessage }), style: {
|
|
43403
43457
|
textAlign: col.textAlign ? col.textAlign : 'left'
|
|
43404
|
-
}, children: [typeDis === 1 && !refreshRow && jsxRuntime.jsx(jsxRuntime.Fragment, { children: RenderEditCell(row, col, indexCol, indexRow) }), (typeDis !== 1 || refreshRow) && RenderContentCell(row, col, indexCol, indexRow, typeDis, value), jsxRuntime.jsx("span", { id: `error-${indexRow}-${indexCol}`, className:
|
|
43458
|
+
}, children: [typeDis === 1 && !refreshRow && jsxRuntime.jsx(jsxRuntime.Fragment, { children: RenderEditCell(row, col, indexCol, indexRow) }), (typeDis !== 1 || refreshRow) && RenderContentCell(row, col, indexCol, indexRow, typeDis, value), jsxRuntime.jsx("span", { id: `error-${indexRow}-${indexCol}`, className: classNames$1('cursor-pointer text-primary icon-table', { 'd-none': !errorMessage }), children: jsxRuntime.jsx(SvgAlertCircle, { fontSize: 15.5 }) }), jsxRuntime.jsx(UncontrolledTooltip, { target: `error-${indexRow}-${indexCol}`, className: "r-tooltip tooltip-error", children: errorMessage?.toString() ?? '' })] }) }) }, `col-${indexRow}-${indexCol}`) }, indexCol));
|
|
43405
43459
|
}
|
|
43406
43460
|
};
|
|
43407
43461
|
const RenderContentCell = (row, col, indexCol, indexRow, typeDis, value) => {
|
|
@@ -43418,7 +43472,7 @@ const TableEdit = React$5.forwardRef((props, ref) => {
|
|
|
43418
43472
|
};
|
|
43419
43473
|
const renderFooterCol = (col, indexCol) => {
|
|
43420
43474
|
const sumValue = (col.haveSum === true && col.editType === "numeric") ? dataSource.reduce(function (accumulator, currentValue) { return (Number(accumulator ?? 0) + Number(currentValue[col.field] ?? 0)); }, 0) : 0;
|
|
43421
|
-
return (jsxRuntime.jsx(React$5.Fragment, { children: (col.visible !== false) && jsxRuntime.jsx("td", { className:
|
|
43475
|
+
return (jsxRuntime.jsx(React$5.Fragment, { children: (col.visible !== false) && jsxRuntime.jsx("td", { className: classNames$1(`p-0 px-50 r-footer fix-${col.fixedType}`, { 'cell-fixed': col.fixedType }), style: {
|
|
43422
43476
|
left: col.fixedType === 'left' ? objWidthFixLeft[indexCol] : undefined,
|
|
43423
43477
|
right: col.fixedType === 'right' ? objWidthFixRight[indexCol] : undefined,
|
|
43424
43478
|
textAlign: col.textAlign ? col.textAlign : 'left'
|
|
@@ -43442,7 +43496,7 @@ const TableEdit = React$5.forwardRef((props, ref) => {
|
|
|
43442
43496
|
const flagSearch = !searchClient || checkSearch(searchSetting?.searchTerm !== undefined ? searchSetting?.searchTerm : searchTerm, row, searchSetting?.keyField ?? []);
|
|
43443
43497
|
if (flagSearch) {
|
|
43444
43498
|
const flagDisplay = !pagingClient || ((indexRow + 1) > ((pagingSetting.pageSize ?? 0) * ((pagingSetting.currentPage ?? 0) - 1)) && (indexRow + 1) <= ((pagingSetting.pageSize ?? 0) * ((pagingSetting.currentPage ?? 0))));
|
|
43445
|
-
return (flagDisplay && jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("tr", { className:
|
|
43499
|
+
return (flagDisplay && jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("tr", { className: classNames$1('r-row'), children: contentColumns.map((col, indexCol) => renderContentCol(col, row, indexRow, indexCol, isSelected)) }, `row-${indexRow}`) }));
|
|
43446
43500
|
}
|
|
43447
43501
|
}));
|
|
43448
43502
|
};
|
|
@@ -43561,7 +43615,7 @@ const TabsMenuComponent = ({ buttonWidth, tabParent, tabChild, resourceCodeParen
|
|
|
43561
43615
|
const handleModal = (name) => {
|
|
43562
43616
|
setOpenModal((old) => ({ ...old, [name]: !(openModal[name] ?? false) }));
|
|
43563
43617
|
};
|
|
43564
|
-
return (jsxRuntime.jsxs(React$5.Fragment, { children: [renderModal ? renderModal({ handleModal, windowSize, openModal, setDataItem, dataItem }) : '', jsxRuntime.jsxs("div", { className:
|
|
43618
|
+
return (jsxRuntime.jsxs(React$5.Fragment, { children: [renderModal ? renderModal({ handleModal, windowSize, openModal, setDataItem, dataItem }) : '', jsxRuntime.jsxs("div", { className: classNames$1('tab-custom', { 'tab-parent': tabParent }, { 'tab-child': tabChild }), style: { width: `calc(100% - ${buttonWidth ?? 100}px` }, children: [jsxRuntime.jsx("div", { onClick: () => handleScroll(-200), className: classNames$1('btn-scroll', { 'd-none': componentWidth >= contentWidth - 20 }), children: jsxRuntime.jsx(SvgChevronLeft, {}) }), jsxRuntime.jsx("div", { ref: tabComponentRef, className: "tab-component", onMouseDown: handleMouseDown, onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, onMouseLeave: handleMouseUp, children: jsxRuntime.jsx("div", { ref: contentComponentRef, children: dataMenu.map((item) => {
|
|
43565
43619
|
if (item?.resAttributes?.IS_MENU === '1') {
|
|
43566
43620
|
return (jsxRuntime.jsxs(UncontrolledDropdown, { draggable: false, className: "tab-custom-item", isOpen: openMenu, toggle: toggleMenu, direction: 'down', style: { backgroundColor: openMenu ? '#e0e0e0' : '' }, children: [jsxRuntime.jsx(DropdownToggle$1, { color: "#00000", style: { border: 'none', boxShadow: 'none', margin: 0, padding: 0 }, className: "background-none", children: jsxRuntime.jsx("div", { children: item.name }) }), jsxRuntime.jsx(DropdownMenu$1, { container: document.body, end: true, style: { width: 300 }, children: item?.children?.map((x) => jsxRuntime.jsx(DropdownItem$1, { style: { borderRadius: '5px', margin: "0 0.5rem", width: "95%" }, onClick: () => {
|
|
43567
43621
|
if (x.resAttributes.MODAL_VALUE) {
|
|
@@ -43573,9 +43627,9 @@ const TabsMenuComponent = ({ buttonWidth, tabParent, tabChild, resourceCodeParen
|
|
|
43573
43627
|
}, children: x.name }, x.code)) })] }, item.code));
|
|
43574
43628
|
}
|
|
43575
43629
|
else {
|
|
43576
|
-
return (jsxRuntime.jsx(reactRouterDom.Link, { draggable: false, to: item.url, className:
|
|
43630
|
+
return (jsxRuntime.jsx(reactRouterDom.Link, { draggable: false, to: item.url, className: classNames$1('tab-custom-item', { active: item.url === url || (tabParent && url?.split('/').length > 3 && item.url.startsWith(url.substring(0, url.lastIndexOf('/')))) }), children: item.name }, item.code));
|
|
43577
43631
|
}
|
|
43578
|
-
}) }) }), jsxRuntime.jsx("div", { onClick: () => handleScroll(200), className:
|
|
43632
|
+
}) }) }), jsxRuntime.jsx("div", { onClick: () => handleScroll(200), className: classNames$1('btn-scroll', { 'd-none': componentWidth >= contentWidth - 20 }), children: jsxRuntime.jsx(SvgChevronRight, {}) })] })] }));
|
|
43579
43633
|
};
|
|
43580
43634
|
|
|
43581
43635
|
const OptionFont = [
|
|
@@ -44458,23 +44512,23 @@ const InputStyleComponent = (props) => {
|
|
|
44458
44512
|
backgroundColor: value.backgroundColor ?? '#ffffff',
|
|
44459
44513
|
color: value.color ?? '#000000'
|
|
44460
44514
|
}, children: props.label }));
|
|
44461
|
-
} }), jsxRuntime.jsx("div", { className:
|
|
44515
|
+
} }), jsxRuntime.jsx("div", { className: classNames$1('ms-25', { 'd-none': disabledFontSize }), style: { width: 60 }, children: jsxRuntime.jsx(SelectTable, { options: Array.from({ length: 100 }, (_, i) => ({ value: i + 1, label: i + 1 })), noHeader: true, isDisabled: disabled, value: value.fontSize ? { value: value.fontSize, label: value.fontSize } : null, onChange: (val) => {
|
|
44462
44516
|
onChange({ ...value, fontSize: val.value });
|
|
44463
|
-
} }) }), jsxRuntime.jsx("div", { className:
|
|
44517
|
+
} }) }), jsxRuntime.jsx("div", { className: classNames$1('btn-input-style', { 'active-custom': value.bold }, { 'd-none': disabledBold }), onClick: () => {
|
|
44464
44518
|
if (!disabled) {
|
|
44465
44519
|
onChange({ ...value, bold: !value.bold });
|
|
44466
44520
|
}
|
|
44467
|
-
}, children: jsxRuntime.jsx(SvgBold, { fontSize: 18 }) }), jsxRuntime.jsx("div", { className:
|
|
44521
|
+
}, children: jsxRuntime.jsx(SvgBold, { fontSize: 18 }) }), jsxRuntime.jsx("div", { className: classNames$1('btn-input-style', { 'active-custom': value.italic }, { 'd-none': disabledItalic }), onClick: () => {
|
|
44468
44522
|
if (!disabled) {
|
|
44469
44523
|
onChange({ ...value, italic: !value.italic });
|
|
44470
44524
|
}
|
|
44471
|
-
}, children: jsxRuntime.jsx(SvgItalic, { fontSize: 18 }) }), jsxRuntime.jsx("div", { className:
|
|
44525
|
+
}, children: jsxRuntime.jsx(SvgItalic, { fontSize: 18 }) }), jsxRuntime.jsx("div", { className: classNames$1('btn-input-style', { 'active-custom': value.underline }, { 'd-none': disabledUnderline }), onClick: () => {
|
|
44472
44526
|
if (!disabled) {
|
|
44473
44527
|
onChange({ ...value, underline: !value.underline });
|
|
44474
44528
|
}
|
|
44475
|
-
}, children: jsxRuntime.jsx(SvgUnderline, { fontSize: 18 }) }), jsxRuntime.jsxs(Button$1, { tag: 'label', color: 'none', className:
|
|
44529
|
+
}, children: jsxRuntime.jsx(SvgUnderline, { fontSize: 18 }) }), jsxRuntime.jsxs(Button$1, { tag: 'label', color: 'none', className: classNames$1('btn-input-style', { 'd-none': disabledColor }), children: [jsxRuntime.jsx(SvgType, { stroke: value.color ?? '#000000', fontSize: 18 }), jsxRuntime.jsx("input", { type: "color", id: "color", disabled: disabled, value: value.color, style: { color: '#FFF', border: 'none', height: 0, width: 0, outline: 'none', padding: 0 }, onChange: (e) => {
|
|
44476
44530
|
onChange({ ...value, color: e.target.value });
|
|
44477
|
-
} })] }), jsxRuntime.jsxs(Button$1, { tag: 'label', color: 'none', className:
|
|
44531
|
+
} })] }), jsxRuntime.jsxs(Button$1, { tag: 'label', color: 'none', className: classNames$1('btn-input-style', { 'd-none': disabledBackgroundColor }), children: [jsxRuntime.jsx(SvgDroplet, { fill: value.backgroundColor ?? '#ffffff', fontSize: 18 }), jsxRuntime.jsx(Input$1, { id: "backgroundColor", type: "color", disabled: disabled, style: { color: '#FFF', border: 'none', height: 0, width: 0, outline: 'none', padding: 0 }, value: value.backgroundColor, onChange: (e) => {
|
|
44478
44532
|
onChange({ ...value, backgroundColor: e.target.value });
|
|
44479
44533
|
} })] })] }) }));
|
|
44480
44534
|
};
|
|
@@ -45936,10 +45990,10 @@ const CheckboxInput = (props) => {
|
|
|
45936
45990
|
}
|
|
45937
45991
|
} })) }) }));
|
|
45938
45992
|
};
|
|
45939
|
-
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsxs("div", { className:
|
|
45993
|
+
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsxs("div", { className: classNames$1(inLine === false ? 'form-group ' : 'form-row-inline d-flex', {
|
|
45940
45994
|
[labelSize ? labelSize : '']: labelSize,
|
|
45941
45995
|
reverse
|
|
45942
|
-
}), children: [renderLabel({ isLabel, name, label: label ?? '' }), jsxRuntime.jsxs("div", { className:
|
|
45996
|
+
}), children: [renderLabel({ isLabel, name, label: label ?? '' }), jsxRuntime.jsxs("div", { className: classNames$1('form-input-content', { 'hidden-label': isLabel === false }), children: [renderInput(), renderText()] })] }) }));
|
|
45943
45997
|
};
|
|
45944
45998
|
|
|
45945
45999
|
const defaultStyleExportSetting = {
|
|
@@ -46027,11 +46081,11 @@ const StyleInput = (props) => {
|
|
|
46027
46081
|
return (jsxRuntime.jsx(InputStyleComponent, { disabledBackgroundColor: disabledBackgroundColor, disabledFontFamily: disabledFontFamily, disabledFontSize: disabledFontSize, disabledBold: disabledBold, disabledItalic: disabledItalic, disabledUnderline: disabledUnderline, disabled: disabled, value: value, onChange: onChange }));
|
|
46028
46082
|
} }), errors && jsxRuntime.jsx(FormFeedback$1, { children: errors?.message })] }));
|
|
46029
46083
|
};
|
|
46030
|
-
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsxs("div", { className:
|
|
46084
|
+
return (jsxRuntime.jsx(React$5.Fragment, { children: jsxRuntime.jsxs("div", { className: classNames$1(' align', {
|
|
46031
46085
|
[labelSize ? labelSize : '']: labelSize,
|
|
46032
46086
|
[classes ? classes : '']: classes,
|
|
46033
46087
|
'form-row-inline-error': errors
|
|
46034
|
-
}, inLine === false ? 'form-group ' : 'form-row-inline d-flex'), children: [renderLabel({ isLabel, name, label, required }), jsxRuntime.jsx("div", { style: { height: `${height}px` }, className:
|
|
46088
|
+
}, inLine === false ? 'form-group ' : 'form-row-inline d-flex'), children: [renderLabel({ isLabel, name, label, required }), jsxRuntime.jsx("div", { style: { height: `${height}px` }, className: classNames$1('form-input-content', { 'hidden-label': isLabel === false }), children: renderInput() })] }) }));
|
|
46035
46089
|
};
|
|
46036
46090
|
|
|
46037
46091
|
const ExportExcelComponent = ({ openModal, typeModal, handleModal, windowSize, dataItem, columns, columnGroups }) => {
|
|
@@ -65300,7 +65354,7 @@ const Wizard = React$5.forwardRef((props, ref) => {
|
|
|
65300
65354
|
// ** Renders Wizard Header
|
|
65301
65355
|
const renderHeader = () => {
|
|
65302
65356
|
return steps.map((step, index) => {
|
|
65303
|
-
return (jsxRuntime.jsxs(React$5.Fragment, { children: [index !== 0 && index !== steps.length ? jsxRuntime.jsx("div", { className: 'line', children: separator }) : null, jsxRuntime.jsx("div", { className:
|
|
65357
|
+
return (jsxRuntime.jsxs(React$5.Fragment, { children: [index !== 0 && index !== steps.length ? jsxRuntime.jsx("div", { className: 'line', children: separator }) : null, jsxRuntime.jsx("div", { className: classNames$1('step', {
|
|
65304
65358
|
crossed: (step.done !== undefined ? step.done : activeStep > (index + 1)),
|
|
65305
65359
|
disable: step.disable,
|
|
65306
65360
|
active: (index + 1) === activeStep
|
|
@@ -65310,18 +65364,18 @@ const Wizard = React$5.forwardRef((props, ref) => {
|
|
|
65310
65364
|
// ** Renders Wizard Content
|
|
65311
65365
|
const renderContent = () => {
|
|
65312
65366
|
return steps.map((step, index) => {
|
|
65313
|
-
return (jsxRuntime.jsx("div", { className:
|
|
65367
|
+
return (jsxRuntime.jsx("div", { className: classNames$1('content', {
|
|
65314
65368
|
[contentClassName]: contentClassName,
|
|
65315
65369
|
'active dstepper-block': activeStep === (index + 1)
|
|
65316
65370
|
}), id: step.id, children: step.content }, step.id));
|
|
65317
65371
|
});
|
|
65318
65372
|
};
|
|
65319
|
-
return (jsxRuntime.jsxs("div", { ref: ref, className:
|
|
65373
|
+
return (jsxRuntime.jsxs("div", { ref: ref, className: classNames$1('bs-stepper', {
|
|
65320
65374
|
[className]: className,
|
|
65321
65375
|
vertical: type === 'vertical',
|
|
65322
65376
|
'vertical wizard-modern': type === 'modern-vertical',
|
|
65323
65377
|
'wizard-modern': type === 'modern-horizontal'
|
|
65324
|
-
}), children: [jsxRuntime.jsx("div", { className:
|
|
65378
|
+
}), children: [jsxRuntime.jsx("div", { className: classNames$1('bs-stepper-header', { [headerClassName]: headerClassName }), children: renderHeader() }), jsxRuntime.jsx("div", { style: { height: heightContent, width: widthContent }, className: classNames$1('bs-stepper-content', { [contentWrapperClassName]: contentWrapperClassName }), children: renderContent() })] }));
|
|
65325
65379
|
});
|
|
65326
65380
|
|
|
65327
65381
|
const ImportExcelComponent = (props) => {
|
|
@@ -65360,6 +65414,7 @@ exports.SelectTable = SelectTable;
|
|
|
65360
65414
|
exports.SelectTableTree = SelectTableTree;
|
|
65361
65415
|
exports.TabsMenuComponent = TabsMenuComponent;
|
|
65362
65416
|
exports.Wizard = Wizard;
|
|
65417
|
+
exports.calculateTableStructure = calculateTableStructure;
|
|
65363
65418
|
exports.checkDecimalSeparator = checkDecimalSeparator;
|
|
65364
65419
|
exports.checkThousandSeparator = checkThousandSeparator;
|
|
65365
65420
|
exports["default"] = TableEdit;
|