@vitrosoftware/common-ui-ts 1.1.242 → 1.1.244

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
@@ -487,6 +487,7 @@ CTRL.QUOTATION_MARK = '\'';
487
487
  CTRL.ZERO = '0';
488
488
  CTRL.ASTERISK = '*';
489
489
  CTRL.GT = '>';
490
+ CTRL.DOUBLE_QUOTE = '"';
490
491
 
491
492
  var styles = {"vitro-breadcrumbs":"_breadcrumbs_vitro-breadcrumbs_3r4NcQY","vitro-breadcrumbs-list-container":"_breadcrumbs_vitro-breadcrumbs-list-container_OVqyIE3","vitro-breadcrumbs-list":"_breadcrumbs_vitro-breadcrumbs-list_1SNtgtJ","vitro-separator":"_breadcrumbs_vitro-separator_3RKZZBc","vitro-breadcrumbs-button":"_breadcrumbs_vitro-breadcrumbs-button_3fazq3c","vitro-root":"_breadcrumbs_vitro-root_1S5-6AY","vitro-drop-down-list":"_breadcrumbs_vitro-drop-down-list_2PhrR2a"};
492
493
 
@@ -21384,6 +21385,10 @@ var XML_TAG;
21384
21385
  (function (XML_TAG) {
21385
21386
  XML_TAG["PAGE_SETTINGS"] = "B";
21386
21387
  })(XML_TAG || (XML_TAG = {}));
21388
+ var XML_ATTRIBUTE;
21389
+ (function (XML_ATTRIBUTE) {
21390
+ XML_ATTRIBUTE["ROWS"] = "Rows";
21391
+ })(XML_ATTRIBUTE || (XML_ATTRIBUTE = {}));
21387
21392
 
21388
21393
  var TableViewConstants = {
21389
21394
  __proto__: null,
@@ -21421,7 +21426,8 @@ var TableViewConstants = {
21421
21426
  get GANTT_UNITS () { return GANTT_UNITS; },
21422
21427
  get GANTT_MENU_ACTION () { return GANTT_MENU_ACTION; },
21423
21428
  GANTT_COLUMN_LIST: GANTT_COLUMN_LIST,
21424
- get XML_TAG () { return XML_TAG; }
21429
+ get XML_TAG () { return XML_TAG; },
21430
+ get XML_ATTRIBUTE () { return XML_ATTRIBUTE; }
21425
21431
  };
21426
21432
 
21427
21433
  var w$1 = window;
@@ -21442,6 +21448,7 @@ var TableViewServiceImpl = /*#__PURE__*/function () {
21442
21448
  this.visibleColumnList = [];
21443
21449
  this.disabledActionList = [];
21444
21450
  this.disabledColumnList = [];
21451
+ this.isExpanding = false;
21445
21452
  this.grid = grid;
21446
21453
  this.id = grid.id;
21447
21454
  this.grid.Source.Upload.Format = this.gridChangesFormat;
@@ -21843,7 +21850,9 @@ var TableViewServiceImpl = /*#__PURE__*/function () {
21843
21850
  var filterContentTypeListJson = JSON.stringify(this.filterContentTypeList);
21844
21851
  newData = this.setXmlPart(newData, "FilterContentTypeList='" + filterContentTypeListJson + "'", XML_TAG.PAGE_SETTINGS);
21845
21852
  }
21846
- newData = this.setSearchCriterionListXml(newData);
21853
+ if (!newData.includes(XML_ATTRIBUTE.ROWS + CTRL.EQUAL + CTRL.DOUBLE_QUOTE + CTRL.BRACE_OPEN)) {
21854
+ newData = this.setSearchCriterionListXml(newData);
21855
+ }
21847
21856
  newData = this.setVisibleColumnListXml(newData);
21848
21857
  return newData;
21849
21858
  };
@@ -61681,32 +61690,72 @@ var styles$v = {"vitro-tab-button-group":"_tab-button-group_vitro-tab-button-gro
61681
61690
  var CSS_CLASS_ACTIVE = 'active';
61682
61691
  var CSS_CLASS_TAB_BUTTON_GROUP = 'vitro-tab-button-group';
61683
61692
  var CSS_CLASS_TAB_BUTTON_GROUP_CONTENT = 'vitro-tab-button-group-content';
61693
+ var ELEMENT_CANVAS$1 = 'canvas';
61694
+ var CANVAS_CONTEXT$1 = '2d';
61684
61695
  var TabButtonGroup = function TabButtonGroup(props) {
61685
61696
  var _useState = React.useState([]),
61686
61697
  tabList = _useState[0],
61687
61698
  setTabList = _useState[1];
61688
- var _useState2 = React.useState(),
61689
- activeItem = _useState2[0],
61690
- setActiveItem = _useState2[1];
61691
- var _useState3 = React.useState(),
61692
- activeItemTabBtn = _useState3[0],
61693
- setActiveItemTabBtn = _useState3[1];
61694
- var _useState4 = React.useState(0),
61695
- width = _useState4[0],
61696
- setWidth = _useState4[1];
61699
+ var _useState2 = React.useState(props.itemList.length),
61700
+ overflowIndex = _useState2[0],
61701
+ setOverflowIndex = _useState2[1];
61702
+ var _useState3 = React.useState(props.activeItem || CTRL.EMPTY),
61703
+ activeItem = _useState3[0],
61704
+ setActiveItem = _useState3[1];
61705
+ var _useState4 = React.useState(),
61706
+ activeItemTabBtn = _useState4[0],
61707
+ setActiveItemTabBtn = _useState4[1];
61708
+ var _useState5 = React.useState(0),
61709
+ width = _useState5[0],
61710
+ setWidth = _useState5[1];
61711
+ var resizeTimeout = React.useMemo(function () {
61712
+ return {
61713
+ id: null
61714
+ };
61715
+ }, []);
61697
61716
  var ref = React.useRef(null);
61698
61717
  var overflowTabList = [];
61699
- var tabMinWidth = 120;
61700
61718
  var resizeObserver = new window.ResizeObserver(function (entries) {
61701
61719
  for (var _iterator = _createForOfIteratorHelperLoose(entries), _step; !(_step = _iterator()).done;) {
61702
61720
  var entry = _step.value;
61703
61721
  if (ref.current && entry.target === ref.current) {
61704
- if (!width || props.wrap) {
61705
- setWidth(ref.current.offsetWidth);
61722
+ if (props.wrap) {
61723
+ if (resizeTimeout.id) {
61724
+ clearTimeout(resizeTimeout.id);
61725
+ }
61726
+ resizeTimeout.id = setTimeout(function () {
61727
+ var _ref$current;
61728
+ resizeTimeout.id = null;
61729
+ setWidth(((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.offsetWidth) || 0);
61730
+ }, 200);
61706
61731
  }
61707
61732
  }
61708
61733
  }
61709
61734
  });
61735
+ React.useEffect(function () {
61736
+ if (width) {
61737
+ setOverflowIndex(getOverflowIndex(width));
61738
+ } else {
61739
+ setOverflowIndex(tabList.length);
61740
+ }
61741
+ }, [width]);
61742
+ var getOverflowIndex = function getOverflowIndex(width) {
61743
+ var scrollWidth = (activeItemTabBtn === null || activeItemTabBtn === void 0 ? void 0 : activeItemTabBtn.width) || 0;
61744
+ for (var _iterator2 = _createForOfIteratorHelperLoose(tabList.entries()), _step2; !(_step2 = _iterator2()).done;) {
61745
+ var _step2$value = _step2.value,
61746
+ index = _step2$value[0],
61747
+ item = _step2$value[1];
61748
+ if (item.id === (activeItemTabBtn === null || activeItemTabBtn === void 0 ? void 0 : activeItemTabBtn.id)) {
61749
+ continue;
61750
+ }
61751
+ if (scrollWidth + item.width < width) {
61752
+ scrollWidth += item.width;
61753
+ } else {
61754
+ return index;
61755
+ }
61756
+ }
61757
+ return tabList.length;
61758
+ };
61710
61759
  React.useEffect(function () {
61711
61760
  if (ref.current) {
61712
61761
  resizeObserver.observe(ref.current);
@@ -61719,62 +61768,35 @@ var TabButtonGroup = function TabButtonGroup(props) {
61719
61768
  }, []);
61720
61769
  React.useEffect(function () {
61721
61770
  if (props.itemList) {
61722
- var list = props.itemList.map(function (item, index) {
61723
- return _extends({}, item, {
61724
- index: index
61725
- });
61726
- });
61727
- var isActiveItemChanged = props.activeItem != activeItem;
61728
- setTabList(list);
61729
- setActiveItem(props.activeItem);
61730
- if (props.activeItem) {
61731
- var itemTabBtn = tabList.find(function (item) {
61732
- return item.id === props.activeItem;
61733
- });
61734
- if (itemTabBtn) {
61735
- if (isActiveItemChanged) {
61736
- var overflowItem = overflowTabList.find(function (item) {
61737
- return item.index === itemTabBtn.index;
61738
- });
61739
- if (overflowItem) {
61740
- setActiveItemTabBtn(overflowItem);
61741
- } else {
61742
- setActiveItemTabBtn(null);
61743
- }
61744
- }
61745
- } else {
61746
- setActiveItemTabBtn(null);
61747
- }
61748
- } else {
61749
- setActiveItemTabBtn(null);
61750
- }
61771
+ setTabList(getItemList(props.itemList));
61751
61772
  }
61752
61773
  }, [props.itemList]);
61753
61774
  React.useEffect(function () {
61754
- var isActiveItemChanged = props.activeItem != activeItem;
61755
- setActiveItem(props.activeItem);
61756
61775
  if (props.activeItem) {
61757
- var itemTabBtn = tabList.find(function (item) {
61758
- return item.id === props.activeItem;
61759
- });
61760
- if (itemTabBtn) {
61761
- if (isActiveItemChanged) {
61762
- var overflowItem = overflowTabList.find(function (item) {
61763
- return item.index === itemTabBtn.index;
61764
- });
61765
- if (overflowItem) {
61766
- setActiveItemTabBtn(overflowItem);
61767
- } else {
61768
- setActiveItemTabBtn(null);
61769
- }
61770
- }
61771
- } else {
61772
- setActiveItemTabBtn(null);
61773
- }
61774
- } else {
61775
- setActiveItemTabBtn(null);
61776
+ setActiveItem(props.activeItem);
61776
61777
  }
61777
61778
  }, [props.activeItem]);
61779
+ var getItemList = function getItemList(itemList) {
61780
+ if (ref.current) {
61781
+ var canvas = document.createElement(ELEMENT_CANVAS$1);
61782
+ var font = window.getComputedStyle(ref.current).font;
61783
+ var newItemList = itemList.map(function (item, index) {
61784
+ return _extends({}, item, {
61785
+ width: getTextWidth(item.text, canvas, font),
61786
+ index: index
61787
+ });
61788
+ });
61789
+ return newItemList;
61790
+ }
61791
+ return itemList;
61792
+ };
61793
+ var getTextWidth = function getTextWidth(text, canvas, font) {
61794
+ var context = canvas.getContext(CANVAS_CONTEXT$1);
61795
+ context.font = font;
61796
+ var _context$measureText = context.measureText(text),
61797
+ width = _context$measureText.width;
61798
+ return width + 24;
61799
+ };
61778
61800
  var setButtonActive = function setButtonActive(index) {
61779
61801
  var overflowItem = overflowTabList.find(function (item) {
61780
61802
  return item.index === index;
@@ -61804,21 +61826,13 @@ var TabButtonGroup = function TabButtonGroup(props) {
61804
61826
  }
61805
61827
  });
61806
61828
  };
61807
- var getWidth = function getWidth() {
61808
- var count = tabList.length - overflowTabList.length;
61809
- var _width = width - count * 16;
61810
- return _width >= tabMinWidth ? _width : tabMinWidth;
61811
- };
61812
61829
  return React__default.createElement("div", {
61813
61830
  className: styles$v[CSS_CLASS_TAB_BUTTON_GROUP]
61814
61831
  }, React__default.createElement("div", {
61815
61832
  className: styles$v[CSS_CLASS_TAB_BUTTON_GROUP_CONTENT],
61816
61833
  ref: ref
61817
61834
  }, tabList.map(function (item, index) {
61818
- if ((activeItemTabBtn ? index + 2 : index + 1) * tabMinWidth < getWidth() || !props.wrap) {
61819
- if (activeItemTabBtn && activeItemTabBtn.index === index) {
61820
- setActiveItemTabBtn(null);
61821
- }
61835
+ if (index < overflowIndex || !props.wrap || activeItemTabBtn && activeItemTabBtn.index === index) {
61822
61836
  return getTabButton(item, index);
61823
61837
  }
61824
61838
  if (activeItemTabBtn && activeItemTabBtn.index === index) {
@@ -61826,15 +61840,9 @@ var TabButtonGroup = function TabButtonGroup(props) {
61826
61840
  }
61827
61841
  overflowTabList.push(item);
61828
61842
  return null;
61829
- }), activeItemTabBtn && React__default.createElement(Button$1, {
61830
- key: activeItemTabBtn.id,
61831
- className: styles$v[CSS_CLASS_ACTIVE],
61832
- text: activeItemTabBtn.text,
61833
- onClick: function onClick() {}
61834
61843
  }), tabList && props.wrap && React__default.createElement(OverflowButton, {
61835
61844
  list: overflowTabList,
61836
61845
  offset: tabList.length - overflowTabList.length,
61837
- width: width,
61838
61846
  onSelect: setButtonActive
61839
61847
  })));
61840
61848
  };
@@ -66969,7 +66977,7 @@ var Viewer = function Viewer(props) {
66969
66977
  };
66970
66978
 
66971
66979
  var name = "@vitrosoftware/common-ui-ts";
66972
- var version$1 = "1.1.242";
66980
+ var version$1 = "1.1.244";
66973
66981
  var description = "vitro software common ui ts";
66974
66982
  var author = "";
66975
66983
  var license = "MIT";