ods-component-lib 1.18.238 → 1.18.239

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -38520,267 +38520,12 @@ var Constants = {
38520
38520
  timelineDefaultStartDate: new Date(currentYear, 0, 1),
38521
38521
  timelineDefaultEndDate: new Date(currentYear + 1, 0, 1)
38522
38522
  };
38523
-
38524
- var checkboxCellComponent = function checkboxCellComponent(props) {
38525
- var isChecked = props.data.value;
38526
- var onChange = function onChange(e) {
38527
- props.data.column.onCheckboxColumnChange({
38528
- data: props.data.data,
38529
- dataField: props.data.column.dataField,
38530
- isChecked: e.target.checked
38531
- });
38532
- };
38533
- return React__default.createElement(OdsCheckbox, {
38534
- key: "odstimeline-checkboxcolumn-" + props.data.name,
38535
- style: {
38536
- height: "32px"
38537
- },
38538
- defaultChecked: isChecked,
38539
- onChange: onChange
38540
- });
38541
- };
38542
- var statusCellComponent = function statusCellComponent(props) {
38543
- var isActive = props.data.value;
38544
- var _onClick = function onClick(value) {
38545
- props.data.column.onStatusColumnChange({
38546
- data: props.data.data,
38547
- dataField: props.data.column.dataField,
38548
- status: value
38549
- });
38550
- };
38551
- return isActive ? React__default.createElement(icons.CheckCircleFilled, {
38552
- style: {
38553
- fontSize: 20,
38554
- color: "#568B6B"
38555
- },
38556
- onClick: function onClick() {
38557
- return _onClick(false);
38558
- }
38559
- }) : React__default.createElement(icons.CheckCircleFilled, {
38560
- style: {
38561
- fontSize: 20,
38562
- color: "#EDEDED"
38563
- },
38564
- onClick: function onClick() {
38565
- return _onClick(true);
38566
- }
38567
- });
38568
- };
38569
- var mapCustomTask = function mapCustomTask(item) {
38570
- return _extends({
38571
- isSelected: false
38572
- }, item);
38573
- };
38574
- var mapSelectedKeys = function mapSelectedKeys(datasource, key, selectedKeys) {
38575
- if (key && key != "" && selectedKeys && selectedKeys.length > 0) {
38576
- return datasource.map(function (x) {
38577
- x.isSelected = selectedKeys.some(function (y) {
38578
- return y == x[key];
38579
- });
38580
- return x;
38581
- });
38582
- } else {
38583
- return datasource;
38584
- }
38585
- };
38586
- var getTranslatedValue = function getTranslatedValue(value, translations) {
38587
- var _translations$find$tr, _translations$find;
38588
- if (translations === undefined || translations.length == 0 || moment.isDate(value)) {
38589
- return value;
38590
- }
38591
- return (_translations$find$tr = (_translations$find = translations.find(function (item) {
38592
- return item.originalValue === value;
38593
- })) === null || _translations$find === void 0 ? void 0 : _translations$find.translatedValue) != null ? _translations$find$tr : value;
38594
- };
38595
- var getStaticColumnWidth = function getStaticColumnWidth(props) {
38596
- switch (props.dataType) {
38597
- case "boolean":
38598
- return 100;
38599
- case "date":
38600
- case "datetime":
38601
- return 150;
38602
- default:
38603
- {
38604
- if (props.isCheckboxColumn || props.isStatusColumn) {
38605
- return 100;
38606
- }
38607
- return props.width;
38608
- }
38609
- }
38610
- };
38611
- var findMaxDataLength = function findMaxDataLength(data, dataField) {
38612
- var dataLengthList = data.map(function (item) {
38613
- return item[dataField].length;
38614
- });
38615
- return Math.max.apply(Math, dataLengthList);
38616
- };
38617
-
38618
- var OdsTimelineTableDateFilter = function OdsTimelineTableDateFilter(props) {
38619
- var defaultStartDate = props.defaultStartDate,
38620
- defaultEndDate = props.defaultEndDate,
38621
- backText = props.backText,
38622
- nextText = props.nextText,
38623
- onFilterRangeChange = props.onFilterRangeChange;
38624
- var _useState = React.useState([dayjs_min(defaultStartDate), dayjs_min(defaultEndDate)]),
38625
- dateRange = _useState[0],
38626
- setDateRange = _useState[1];
38627
- var startDate = dateRange[0].toDate();
38628
- var endDate = dateRange[1].toDate();
38629
- var onPickerValueChange = function onPickerValueChange(date) {
38630
- var newStartDate = date[0].toDate(),
38631
- newEndDate = date[1].toDate();
38632
- (newStartDate != startDate || newEndDate != endDate) && onFilterRangeChange({
38633
- startDate: newStartDate,
38634
- endDate: newEndDate
38635
- });
38636
- setDateRange(date);
38637
- };
38638
- var buttonClick = function buttonClick(monthDirection) {
38639
- var newStartDate = startDate,
38640
- newEndDate = endDate,
38641
- currentStartYear = startDate.getFullYear(),
38642
- currentStartMonth = startDate.getMonth(),
38643
- currentEndYear = endDate.getFullYear(),
38644
- currentEndMonth = endDate.getMonth();
38645
- switch (monthDirection) {
38646
- case "previousMonth":
38647
- newStartDate.setMonth(currentStartMonth == 0 ? 11 : currentStartMonth - 1);
38648
- newStartDate.setFullYear(currentStartMonth == 0 ? currentStartYear - 1 : currentStartYear);
38649
- break;
38650
- case "nextMonth":
38651
- newEndDate.setMonth(currentEndMonth == 11 ? 0 : currentEndMonth + 1);
38652
- newEndDate.setFullYear(currentEndMonth == 11 ? currentEndYear + 1 : currentEndYear);
38653
- break;
38654
- }
38655
- setDateRange([dayjs_min(newStartDate), dayjs_min(newEndDate)]);
38656
- onFilterRangeChange({
38657
- startDate: newStartDate,
38658
- endDate: newEndDate
38659
- });
38660
- };
38661
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(antd.Space, null, React__default.createElement(OdsButton, {
38662
- key: "odsbutton-back",
38663
- onClick: function onClick(_e) {
38664
- buttonClick("previousMonth");
38665
- },
38666
- style: {
38667
- backgroundColor: "#A19FA0",
38668
- color: "white",
38669
- borderColor: "white"
38670
- }
38671
- }, React__default.createElement(icons.LeftCircleFilled, null), backText != null ? backText : "Back"), React__default.createElement(OdsDateRangePicker, {
38672
- defaultValue: [dayjs_min(defaultStartDate), dayjs_min(defaultEndDate)],
38673
- value: dateRange,
38674
- onPickerValueChange: onPickerValueChange
38675
- }), React__default.createElement(OdsButton, {
38676
- key: "odsbutton-next",
38677
- onClick: function onClick(_e) {
38678
- buttonClick("nextMonth");
38679
- },
38680
- style: {
38681
- backgroundColor: "#A19FA0",
38682
- color: "white",
38683
- borderColor: "white"
38684
- }
38685
- }, nextText != null ? nextText : "Next", React__default.createElement(icons.RightCircleFilled, null))));
38686
- };
38687
-
38688
- var OdsTimelineSelectionColumn = function OdsTimelineSelectionColumn(selectionEvent) {
38689
- var selectionColumn = {
38690
- caption: "",
38691
- minWidth: 50,
38692
- width: 50,
38693
- dataField: "isSelected",
38694
- allowExporting: false,
38695
- cellComponent: function cellComponent(props) {
38696
- var onChange = function onChange(e) {
38697
- selectionEvent && selectionEvent({
38698
- data: props.data.data,
38699
- isSelected: e.target.checked
38700
- });
38701
- };
38702
- return React__default.createElement(OdsCheckbox, {
38703
- key: "odstimeline-selection-" + props.data.name,
38704
- style: {
38705
- height: "32px"
38706
- },
38707
- defaultChecked: props.data.value,
38708
- onChange: onChange
38709
- });
38710
- }
38711
- };
38712
- return selectionColumn;
38713
- };
38714
-
38715
- var _templateObject$B, _templateObject2$9, _templateObject3$6, _templateObject4$5, _templateObject5$4;
38716
- var useStyles$b = antdStyle.createStyles(function (_ref, props) {
38717
- var _props$taskWidth, _props$progressPerc, _props$progressColor;
38718
- var css = _ref.css;
38719
- var _taskWidth = (_props$taskWidth = props === null || props === void 0 ? void 0 : props.taskWidth) != null ? _props$taskWidth : 0;
38720
- var _progressPerc = (_props$progressPerc = props === null || props === void 0 ? void 0 : props.progressPerc) != null ? _props$progressPerc : 100;
38721
- var _progressColor = (_props$progressColor = props === null || props === void 0 ? void 0 : props.progressColor) != null ? _props$progressColor : "unset";
38722
- return {
38723
- taskBar: css(_templateObject$B || (_templateObject$B = _taggedTemplateLiteralLoose(["\n min-height: 22px;\n display: block;\n overflow: hidden;\n width: ", "px;\n border: 1px solid #f0f0f0;\n border-radius: 5px;\n background-color: #f0f0f0;\n "])), _taskWidth != null ? _taskWidth : 0),
38724
- taskProgress: css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteralLoose(["\n height: 100%;\n position: absolute;\n left: 0;\n bottom: 0;\n width: ", "%;\n border: 1px solid ", ";\n border-radius: 5px;\n background-color: ", ";\n "])), _progressPerc, _progressColor, _progressColor),
38725
- taskBarTitle: css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteralLoose(["\n z-index: 1;\n padding-left: 4px;\n position: absolute;\n "]))),
38726
- searchBoxIcon: css(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteralLoose(["\n color: #999;\n font-size: 17px;\n line-height: 18px;\n "]))),
38727
- searchBox: css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteralLoose(["\n padding-left: 5px;\n "])))
38728
- };
38729
- });
38730
-
38731
- var OdsTimelineTableTaskTemplate = function OdsTimelineTableTaskTemplate(_ref) {
38732
- var taskData = _ref.taskData,
38733
- taskSize = _ref.taskSize;
38734
- var _useStyles = useStyles$b({
38735
- progressColor: taskData.color,
38736
- progressPerc: taskData.progress,
38737
- taskWidth: taskSize.width
38738
- }),
38739
- timelineTableStyles = _useStyles.styles;
38740
- return React__default.createElement("div", {
38741
- className: timelineTableStyles.taskBar
38742
- }, React__default.createElement("span", {
38743
- className: timelineTableStyles.taskBarTitle
38744
- }, taskData.title), React__default.createElement("div", {
38745
- className: timelineTableStyles.taskProgress
38746
- }));
38747
- };
38748
-
38749
- var OdsTimelineTableSearchBox = function OdsTimelineTableSearchBox(props) {
38750
- var _props$value;
38751
- var _useStyles = useStyles$b(),
38752
- timelineTableStyles = _useStyles.styles;
38753
- var _useState = React.useState(true),
38754
- initialLoad = _useState[0],
38755
- setInitialLoad = _useState[1];
38756
- var _useState2 = React.useState((_props$value = props.value) != null ? _props$value : ""),
38757
- searchValue = _useState2[0],
38758
- setSearchValue = _useState2[1];
38759
- React.useEffect(function () {
38760
- var _props$timeoutDuratio;
38761
- if (initialLoad) {
38762
- setInitialLoad(false);
38763
- return function () {};
38764
- }
38765
- var timeoutSearch = setTimeout(function () {
38766
- props.onSearch && props.onSearch(searchValue);
38767
- }, (_props$timeoutDuratio = props.timeoutDuration) != null ? _props$timeoutDuratio : 2000);
38768
- return function () {
38769
- return clearTimeout(timeoutSearch);
38770
- };
38771
- }, [searchValue]);
38772
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(OdsInput, {
38773
- key: "OdsTimelineTableSearchBox_OdsSearch",
38774
- value: searchValue,
38775
- prefix: React__default.createElement("span", {
38776
- className: "dx-icon-search " + timelineTableStyles.searchBoxIcon
38777
- }),
38778
- placeholder: props.placeholder,
38779
- className: timelineTableStyles.searchBox,
38780
- onChange: function onChange(e) {
38781
- return setSearchValue(e.target.value);
38782
- }
38783
- }));
38523
+ var actionColumnProps = {
38524
+ dataField: "Actions",
38525
+ allowExporting: false,
38526
+ allowFiltering: false,
38527
+ allowSorting: false,
38528
+ dataType: "object"
38784
38529
  };
38785
38530
 
38786
38531
  var lodash = createCommonjsModule(function (module, exports) {
@@ -55882,96 +55627,420 @@ var lodash = createCommonjsModule(function (module, exports) {
55882
55627
  isUnwrapped = retUnwrapped && !chainAll,
55883
55628
  onlyLazy = isLazy && !isHybrid;
55884
55629
 
55885
- if (!retUnwrapped && useLazy) {
55886
- value = onlyLazy ? value : new LazyWrapper(this);
55887
- var result = func.apply(value, args);
55888
- result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined$1 });
55889
- return new LodashWrapper(result, chainAll);
55890
- }
55891
- if (isUnwrapped && onlyLazy) {
55892
- return func.apply(this, args);
55893
- }
55894
- result = this.thru(interceptor);
55895
- return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result;
55896
- };
55630
+ if (!retUnwrapped && useLazy) {
55631
+ value = onlyLazy ? value : new LazyWrapper(this);
55632
+ var result = func.apply(value, args);
55633
+ result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined$1 });
55634
+ return new LodashWrapper(result, chainAll);
55635
+ }
55636
+ if (isUnwrapped && onlyLazy) {
55637
+ return func.apply(this, args);
55638
+ }
55639
+ result = this.thru(interceptor);
55640
+ return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result;
55641
+ };
55642
+ });
55643
+
55644
+ // Add `Array` methods to `lodash.prototype`.
55645
+ arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {
55646
+ var func = arrayProto[methodName],
55647
+ chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',
55648
+ retUnwrapped = /^(?:pop|shift)$/.test(methodName);
55649
+
55650
+ lodash.prototype[methodName] = function() {
55651
+ var args = arguments;
55652
+ if (retUnwrapped && !this.__chain__) {
55653
+ var value = this.value();
55654
+ return func.apply(isArray(value) ? value : [], args);
55655
+ }
55656
+ return this[chainName](function(value) {
55657
+ return func.apply(isArray(value) ? value : [], args);
55658
+ });
55659
+ };
55660
+ });
55661
+
55662
+ // Map minified method names to their real names.
55663
+ baseForOwn(LazyWrapper.prototype, function(func, methodName) {
55664
+ var lodashFunc = lodash[methodName];
55665
+ if (lodashFunc) {
55666
+ var key = lodashFunc.name + '';
55667
+ if (!hasOwnProperty.call(realNames, key)) {
55668
+ realNames[key] = [];
55669
+ }
55670
+ realNames[key].push({ 'name': methodName, 'func': lodashFunc });
55671
+ }
55672
+ });
55673
+
55674
+ realNames[createHybrid(undefined$1, WRAP_BIND_KEY_FLAG).name] = [{
55675
+ 'name': 'wrapper',
55676
+ 'func': undefined$1
55677
+ }];
55678
+
55679
+ // Add methods to `LazyWrapper`.
55680
+ LazyWrapper.prototype.clone = lazyClone;
55681
+ LazyWrapper.prototype.reverse = lazyReverse;
55682
+ LazyWrapper.prototype.value = lazyValue;
55683
+
55684
+ // Add chain sequence methods to the `lodash` wrapper.
55685
+ lodash.prototype.at = wrapperAt;
55686
+ lodash.prototype.chain = wrapperChain;
55687
+ lodash.prototype.commit = wrapperCommit;
55688
+ lodash.prototype.next = wrapperNext;
55689
+ lodash.prototype.plant = wrapperPlant;
55690
+ lodash.prototype.reverse = wrapperReverse;
55691
+ lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
55692
+
55693
+ // Add lazy aliases.
55694
+ lodash.prototype.first = lodash.prototype.head;
55695
+
55696
+ if (symIterator) {
55697
+ lodash.prototype[symIterator] = wrapperToIterator;
55698
+ }
55699
+ return lodash;
55700
+ });
55701
+
55702
+ /*--------------------------------------------------------------------------*/
55703
+
55704
+ // Export lodash.
55705
+ var _ = runInContext();
55706
+
55707
+ // Some AMD build optimizers, like r.js, check for condition patterns like:
55708
+ if (freeModule) {
55709
+ // Export for Node.js.
55710
+ (freeModule.exports = _)._ = _;
55711
+ // Export for CommonJS support.
55712
+ freeExports._ = _;
55713
+ }
55714
+ else {
55715
+ // Export to the global object.
55716
+ root._ = _;
55717
+ }
55718
+ }.call(commonjsGlobal));
55719
+ });
55720
+
55721
+ var checkboxCellComponent = function checkboxCellComponent(props) {
55722
+ var isChecked = props.data.value;
55723
+ var onChange = function onChange(e) {
55724
+ props.data.column.onCheckboxColumnChange({
55725
+ data: props.data.data,
55726
+ dataField: props.data.column.dataField,
55727
+ isChecked: e.target.checked
55728
+ });
55729
+ };
55730
+ return React__default.createElement(OdsCheckbox, {
55731
+ key: "odstimeline-checkboxcolumn-" + props.data.name,
55732
+ style: {
55733
+ height: "32px"
55734
+ },
55735
+ defaultChecked: isChecked,
55736
+ onChange: onChange
55737
+ });
55738
+ };
55739
+ var statusCellComponent = function statusCellComponent(props) {
55740
+ var isActive = props.data.value;
55741
+ var _onClick = function onClick(value) {
55742
+ props.data.column.onStatusColumnChange({
55743
+ data: props.data.data,
55744
+ dataField: props.data.column.dataField,
55745
+ status: value
55746
+ });
55747
+ };
55748
+ return isActive ? React__default.createElement(icons.CheckCircleFilled, {
55749
+ style: {
55750
+ fontSize: 20,
55751
+ color: "#568B6B"
55752
+ },
55753
+ onClick: function onClick() {
55754
+ return _onClick(false);
55755
+ }
55756
+ }) : React__default.createElement(icons.CheckCircleFilled, {
55757
+ style: {
55758
+ fontSize: 20,
55759
+ color: "#EDEDED"
55760
+ },
55761
+ onClick: function onClick() {
55762
+ return _onClick(true);
55763
+ }
55764
+ });
55765
+ };
55766
+ var mapCustomTask = function mapCustomTask(item) {
55767
+ return _extends({
55768
+ isSelected: false
55769
+ }, item);
55770
+ };
55771
+ var mapSelectedKeys = function mapSelectedKeys(datasource, key, selectedKeys) {
55772
+ if (key && key != "" && selectedKeys && selectedKeys.length > 0) {
55773
+ return datasource.map(function (x) {
55774
+ x.isSelected = selectedKeys.some(function (y) {
55775
+ return y == x[key];
55776
+ });
55777
+ return x;
55778
+ });
55779
+ } else {
55780
+ return datasource;
55781
+ }
55782
+ };
55783
+ var getTranslatedValue = function getTranslatedValue(value, translations) {
55784
+ var _translations$find$tr, _translations$find;
55785
+ if (translations === undefined || translations.length == 0 || moment.isDate(value)) {
55786
+ return value;
55787
+ }
55788
+ return (_translations$find$tr = (_translations$find = translations.find(function (item) {
55789
+ return item.originalValue === value;
55790
+ })) === null || _translations$find === void 0 ? void 0 : _translations$find.translatedValue) != null ? _translations$find$tr : value;
55791
+ };
55792
+ var getStaticColumnWidth = function getStaticColumnWidth(props) {
55793
+ switch (props.dataType) {
55794
+ case "boolean":
55795
+ return 100;
55796
+ case "date":
55797
+ case "datetime":
55798
+ return 150;
55799
+ default:
55800
+ {
55801
+ if (props.isCheckboxColumn || props.isStatusColumn) {
55802
+ return 100;
55803
+ }
55804
+ return props.width;
55805
+ }
55806
+ }
55807
+ };
55808
+ var findMaxDataLength = function findMaxDataLength(data, dataField) {
55809
+ var dataLengthList = data.map(function (item) {
55810
+ return item[dataField].length;
55811
+ });
55812
+ return Math.max.apply(Math, dataLengthList);
55813
+ };
55814
+ var actionCellRender = function actionCellRender(cellData, props, actionButtons) {
55815
+ var _props$actionColumnSe = props.actionColumnSettings,
55816
+ actionButtonGroup = _props$actionColumnSe.actionButtonGroup,
55817
+ actionButtonsTooltipType = _props$actionColumnSe.actionButtonsTooltipType;
55818
+ var kebabMenuButtons = actionButtonGroup && actionButtonGroup.length > 3 ? actionButtonGroup.slice(2).map(function (button) {
55819
+ return {
55820
+ icon: button.icon,
55821
+ onClick: function onClick(event) {
55822
+ var customEvent = {
55823
+ column: cellData.column,
55824
+ component: cellData.component,
55825
+ element: cellData.element,
55826
+ event: event,
55827
+ model: cellData.data,
55828
+ row: cellData.row
55829
+ };
55830
+ button.onClick(customEvent);
55831
+ }
55832
+ };
55833
+ }) : [];
55834
+ var buttonElements = [];
55835
+ lodash.forEach(actionButtons, function (buttonItem, index) {
55836
+ var isVisible = typeof buttonItem.visible === "function" ? buttonItem.visible({
55837
+ column: cellData.column,
55838
+ component: cellData.component,
55839
+ row: cellData.row
55840
+ }) : buttonItem.visible;
55841
+ buttonElements.push(React__default.createElement(OdsDataGrdiRowButton, Object.assign({
55842
+ key: "action-button-" + index,
55843
+ hint: buttonItem.hint,
55844
+ visible: isVisible,
55845
+ size: "small",
55846
+ type: "text",
55847
+ disabled: buttonItem.actionPermission === undefined ? false : !buttonItem.actionPermission,
55848
+ icon: buttonItem.icon
55849
+ }, actionButtonsTooltipType === "styled" && {
55850
+ tooltip: buttonItem.hint
55851
+ }, {
55852
+ onClick: function onClick(event) {
55853
+ var customEvent = {
55854
+ column: cellData.column,
55855
+ component: cellData.component,
55856
+ element: cellData.element,
55857
+ event: event,
55858
+ model: cellData.data,
55859
+ row: cellData.row
55860
+ };
55861
+ buttonItem.onClick(customEvent);
55862
+ }
55863
+ })));
55864
+ });
55865
+ if (kebabMenuButtons.length > 0) {
55866
+ buttonElements.push(React__default.createElement(OdsDropdown, {
55867
+ key: "dropdown-" + (cellData.rowIndex || cellData.data.ID),
55868
+ menuItems: kebabMenuButtons
55869
+ }, React__default.createElement(OdsDataGrdiRowButton, {
55870
+ type: "text",
55871
+ icon: React__default.createElement(outline.KebabMenuIcon, null)
55872
+ })));
55873
+ }
55874
+ return React__default.createElement(React__default.Fragment, null, buttonElements);
55875
+ };
55876
+
55877
+ var OdsTimelineTableDateFilter = function OdsTimelineTableDateFilter(props) {
55878
+ var defaultStartDate = props.defaultStartDate,
55879
+ defaultEndDate = props.defaultEndDate,
55880
+ backText = props.backText,
55881
+ nextText = props.nextText,
55882
+ onFilterRangeChange = props.onFilterRangeChange;
55883
+ var _useState = React.useState([dayjs_min(defaultStartDate), dayjs_min(defaultEndDate)]),
55884
+ dateRange = _useState[0],
55885
+ setDateRange = _useState[1];
55886
+ var startDate = dateRange[0].toDate();
55887
+ var endDate = dateRange[1].toDate();
55888
+ var onPickerValueChange = function onPickerValueChange(date) {
55889
+ var newStartDate = date[0].toDate(),
55890
+ newEndDate = date[1].toDate();
55891
+ (newStartDate != startDate || newEndDate != endDate) && onFilterRangeChange({
55892
+ startDate: newStartDate,
55893
+ endDate: newEndDate
55897
55894
  });
55895
+ setDateRange(date);
55896
+ };
55897
+ var buttonClick = function buttonClick(monthDirection) {
55898
+ var newStartDate = startDate,
55899
+ newEndDate = endDate,
55900
+ currentStartYear = startDate.getFullYear(),
55901
+ currentStartMonth = startDate.getMonth(),
55902
+ currentEndYear = endDate.getFullYear(),
55903
+ currentEndMonth = endDate.getMonth();
55904
+ switch (monthDirection) {
55905
+ case "previousMonth":
55906
+ newStartDate.setMonth(currentStartMonth == 0 ? 11 : currentStartMonth - 1);
55907
+ newStartDate.setFullYear(currentStartMonth == 0 ? currentStartYear - 1 : currentStartYear);
55908
+ break;
55909
+ case "nextMonth":
55910
+ newEndDate.setMonth(currentEndMonth == 11 ? 0 : currentEndMonth + 1);
55911
+ newEndDate.setFullYear(currentEndMonth == 11 ? currentEndYear + 1 : currentEndYear);
55912
+ break;
55913
+ }
55914
+ setDateRange([dayjs_min(newStartDate), dayjs_min(newEndDate)]);
55915
+ onFilterRangeChange({
55916
+ startDate: newStartDate,
55917
+ endDate: newEndDate
55918
+ });
55919
+ };
55920
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(antd.Space, null, React__default.createElement(OdsButton, {
55921
+ key: "odsbutton-back",
55922
+ onClick: function onClick(_e) {
55923
+ buttonClick("previousMonth");
55924
+ },
55925
+ style: {
55926
+ backgroundColor: "#A19FA0",
55927
+ color: "white",
55928
+ borderColor: "white"
55929
+ }
55930
+ }, React__default.createElement(icons.LeftCircleFilled, null), backText != null ? backText : "Back"), React__default.createElement(OdsDateRangePicker, {
55931
+ defaultValue: [dayjs_min(defaultStartDate), dayjs_min(defaultEndDate)],
55932
+ value: dateRange,
55933
+ onPickerValueChange: onPickerValueChange
55934
+ }), React__default.createElement(OdsButton, {
55935
+ key: "odsbutton-next",
55936
+ onClick: function onClick(_e) {
55937
+ buttonClick("nextMonth");
55938
+ },
55939
+ style: {
55940
+ backgroundColor: "#A19FA0",
55941
+ color: "white",
55942
+ borderColor: "white"
55943
+ }
55944
+ }, nextText != null ? nextText : "Next", React__default.createElement(icons.RightCircleFilled, null))));
55945
+ };
55898
55946
 
55899
- // Add `Array` methods to `lodash.prototype`.
55900
- arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {
55901
- var func = arrayProto[methodName],
55902
- chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',
55903
- retUnwrapped = /^(?:pop|shift)$/.test(methodName);
55904
-
55905
- lodash.prototype[methodName] = function() {
55906
- var args = arguments;
55907
- if (retUnwrapped && !this.__chain__) {
55908
- var value = this.value();
55909
- return func.apply(isArray(value) ? value : [], args);
55910
- }
55911
- return this[chainName](function(value) {
55912
- return func.apply(isArray(value) ? value : [], args);
55947
+ var OdsTimelineSelectionColumn = function OdsTimelineSelectionColumn(selectionEvent) {
55948
+ var selectionColumn = {
55949
+ caption: "",
55950
+ minWidth: 50,
55951
+ width: 50,
55952
+ dataField: "isSelected",
55953
+ allowExporting: false,
55954
+ cellComponent: function cellComponent(props) {
55955
+ var onChange = function onChange(e) {
55956
+ selectionEvent && selectionEvent({
55957
+ data: props.data.data,
55958
+ isSelected: e.target.checked
55913
55959
  });
55914
55960
  };
55915
- });
55916
-
55917
- // Map minified method names to their real names.
55918
- baseForOwn(LazyWrapper.prototype, function(func, methodName) {
55919
- var lodashFunc = lodash[methodName];
55920
- if (lodashFunc) {
55921
- var key = lodashFunc.name + '';
55922
- if (!hasOwnProperty.call(realNames, key)) {
55923
- realNames[key] = [];
55924
- }
55925
- realNames[key].push({ 'name': methodName, 'func': lodashFunc });
55926
- }
55927
- });
55928
-
55929
- realNames[createHybrid(undefined$1, WRAP_BIND_KEY_FLAG).name] = [{
55930
- 'name': 'wrapper',
55931
- 'func': undefined$1
55932
- }];
55933
-
55934
- // Add methods to `LazyWrapper`.
55935
- LazyWrapper.prototype.clone = lazyClone;
55936
- LazyWrapper.prototype.reverse = lazyReverse;
55937
- LazyWrapper.prototype.value = lazyValue;
55938
-
55939
- // Add chain sequence methods to the `lodash` wrapper.
55940
- lodash.prototype.at = wrapperAt;
55941
- lodash.prototype.chain = wrapperChain;
55942
- lodash.prototype.commit = wrapperCommit;
55943
- lodash.prototype.next = wrapperNext;
55944
- lodash.prototype.plant = wrapperPlant;
55945
- lodash.prototype.reverse = wrapperReverse;
55946
- lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
55947
-
55948
- // Add lazy aliases.
55949
- lodash.prototype.first = lodash.prototype.head;
55950
-
55951
- if (symIterator) {
55952
- lodash.prototype[symIterator] = wrapperToIterator;
55961
+ return React__default.createElement(OdsCheckbox, {
55962
+ key: "odstimeline-selection-" + props.data.name,
55963
+ style: {
55964
+ height: "32px"
55965
+ },
55966
+ defaultChecked: props.data.value,
55967
+ onChange: onChange
55968
+ });
55953
55969
  }
55954
- return lodash;
55955
- });
55970
+ };
55971
+ return selectionColumn;
55972
+ };
55956
55973
 
55957
- /*--------------------------------------------------------------------------*/
55974
+ var _templateObject$B, _templateObject2$9, _templateObject3$6, _templateObject4$5, _templateObject5$4;
55975
+ var useStyles$b = antdStyle.createStyles(function (_ref, props) {
55976
+ var _props$taskWidth, _props$progressPerc, _props$progressColor;
55977
+ var css = _ref.css;
55978
+ var _taskWidth = (_props$taskWidth = props === null || props === void 0 ? void 0 : props.taskWidth) != null ? _props$taskWidth : 0;
55979
+ var _progressPerc = (_props$progressPerc = props === null || props === void 0 ? void 0 : props.progressPerc) != null ? _props$progressPerc : 100;
55980
+ var _progressColor = (_props$progressColor = props === null || props === void 0 ? void 0 : props.progressColor) != null ? _props$progressColor : "unset";
55981
+ return {
55982
+ taskBar: css(_templateObject$B || (_templateObject$B = _taggedTemplateLiteralLoose(["\n min-height: 22px;\n display: block;\n overflow: hidden;\n width: ", "px;\n border: 1px solid #f0f0f0;\n border-radius: 5px;\n background-color: #f0f0f0;\n "])), _taskWidth != null ? _taskWidth : 0),
55983
+ taskProgress: css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteralLoose(["\n height: 100%;\n position: absolute;\n left: 0;\n bottom: 0;\n width: ", "%;\n border: 1px solid ", ";\n border-radius: 5px;\n background-color: ", ";\n "])), _progressPerc, _progressColor, _progressColor),
55984
+ taskBarTitle: css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteralLoose(["\n z-index: 1;\n padding-left: 4px;\n position: absolute;\n "]))),
55985
+ searchBoxIcon: css(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteralLoose(["\n color: #999;\n font-size: 17px;\n line-height: 18px;\n "]))),
55986
+ searchBox: css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteralLoose(["\n padding-left: 5px;\n "])))
55987
+ };
55988
+ });
55958
55989
 
55959
- // Export lodash.
55960
- var _ = runInContext();
55990
+ var OdsTimelineTableTaskTemplate = function OdsTimelineTableTaskTemplate(_ref) {
55991
+ var taskData = _ref.taskData,
55992
+ taskSize = _ref.taskSize;
55993
+ var _useStyles = useStyles$b({
55994
+ progressColor: taskData.color,
55995
+ progressPerc: taskData.progress,
55996
+ taskWidth: taskSize.width
55997
+ }),
55998
+ timelineTableStyles = _useStyles.styles;
55999
+ return React__default.createElement("div", {
56000
+ className: timelineTableStyles.taskBar
56001
+ }, React__default.createElement("span", {
56002
+ className: timelineTableStyles.taskBarTitle
56003
+ }, taskData.title), React__default.createElement("div", {
56004
+ className: timelineTableStyles.taskProgress
56005
+ }));
56006
+ };
55961
56007
 
55962
- // Some AMD build optimizers, like r.js, check for condition patterns like:
55963
- if (freeModule) {
55964
- // Export for Node.js.
55965
- (freeModule.exports = _)._ = _;
55966
- // Export for CommonJS support.
55967
- freeExports._ = _;
55968
- }
55969
- else {
55970
- // Export to the global object.
55971
- root._ = _;
55972
- }
55973
- }.call(commonjsGlobal));
55974
- });
56008
+ var OdsTimelineTableSearchBox = function OdsTimelineTableSearchBox(props) {
56009
+ var _props$value;
56010
+ var _useStyles = useStyles$b(),
56011
+ timelineTableStyles = _useStyles.styles;
56012
+ var _useState = React.useState(true),
56013
+ initialLoad = _useState[0],
56014
+ setInitialLoad = _useState[1];
56015
+ var _useState2 = React.useState((_props$value = props.value) != null ? _props$value : ""),
56016
+ searchValue = _useState2[0],
56017
+ setSearchValue = _useState2[1];
56018
+ React.useEffect(function () {
56019
+ var _props$timeoutDuratio;
56020
+ if (initialLoad) {
56021
+ setInitialLoad(false);
56022
+ return function () {};
56023
+ }
56024
+ var timeoutSearch = setTimeout(function () {
56025
+ props.onSearch && props.onSearch(searchValue);
56026
+ }, (_props$timeoutDuratio = props.timeoutDuration) != null ? _props$timeoutDuratio : 2000);
56027
+ return function () {
56028
+ return clearTimeout(timeoutSearch);
56029
+ };
56030
+ }, [searchValue]);
56031
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(OdsInput, {
56032
+ key: "OdsTimelineTableSearchBox_OdsSearch",
56033
+ value: searchValue,
56034
+ prefix: React__default.createElement("span", {
56035
+ className: "dx-icon-search " + timelineTableStyles.searchBoxIcon
56036
+ }),
56037
+ placeholder: props.placeholder,
56038
+ className: timelineTableStyles.searchBox,
56039
+ onChange: function onChange(e) {
56040
+ return setSearchValue(e.target.value);
56041
+ }
56042
+ }));
56043
+ };
55975
56044
 
55976
56045
  var OdsTimelineTable = React.forwardRef(function (props, ref) {
55977
56046
  var _toolbarSettings$sear, _toolbarSettings$sear5, _toolbarSettings$expo6, _toolbarSettings$expo7;
@@ -55986,6 +56055,7 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
55986
56055
  sorting = props.sorting,
55987
56056
  sortingProcess = props.sortingProcess,
55988
56057
  toolbarSettings = props.toolbarSettings,
56058
+ actionColumnSettings = props.actionColumnSettings,
55989
56059
  onCustomSelectionChanged = props.onCustomSelectionChanged,
55990
56060
  onDateRangeChange = props.onDateRangeChange,
55991
56061
  onSortingChanged = props.onSortingChanged;
@@ -56022,6 +56092,17 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
56022
56092
  React.useEffect(function () {
56023
56093
  updateExportableTasks();
56024
56094
  }, [timelineTasks]);
56095
+ var actionButtons = React.useMemo(function () {
56096
+ if (actionColumnSettings.actionButtonGroup) {
56097
+ if (actionColumnSettings.actionButtonGroup.length > 3) {
56098
+ return actionColumnSettings.actionButtonGroup.slice(0, 2);
56099
+ } else {
56100
+ return actionColumnSettings.actionButtonGroup;
56101
+ }
56102
+ } else {
56103
+ return [];
56104
+ }
56105
+ }, [actionColumnSettings.actionButtonGroup]);
56025
56106
  var updateExportableTasks = function updateExportableTasks() {
56026
56107
  var result = [];
56027
56108
  lodash.forEach(timelineTasks, function (item) {
@@ -56240,6 +56321,9 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
56240
56321
  return exportableTasks.length > 0 && item.width === undefined && item.dataType != "boolean" && item.dataType != "date" && item.dataType != "datetime" && !item.isCheckboxColumn && !item.isStatusColumn;
56241
56322
  };
56242
56323
  var getNewWidth = function getNewWidth(item) {
56324
+ if (item.dataField === undefined || item.dataField == "") {
56325
+ return item.width;
56326
+ }
56243
56327
  var maxLength = findMaxDataLength(exportableTasks, item.dataField);
56244
56328
  return maxLength <= 10 ? 100 : maxLength * 10;
56245
56329
  };
@@ -56337,7 +56421,13 @@ var OdsTimelineTable = React.forwardRef(function (props, ref) {
56337
56421
  }
56338
56422
  }, columnProps));
56339
56423
  }
56340
- }), React__default.createElement(gantt.Tasks, {
56424
+ }), actionColumnSettings.actionColumnEnable != false ? React__default.createElement(gantt.Column, Object.assign({}, actionColumnProps, {
56425
+ caption: actionColumnSettings.actionButtonGroupCaption,
56426
+ cssClass: "actionButtonGroupCell",
56427
+ cellRender: function cellRender(cellData) {
56428
+ return actionCellRender(cellData, props, actionButtons);
56429
+ }
56430
+ })) : "", React__default.createElement(gantt.Tasks, {
56341
56431
  dataSource: timelineTasks
56342
56432
  }), children, React__default.createElement(gantt.Sorting, {
56343
56433
  mode: sortingMode,