@vitrosoftware/common-ui-ts 1.1.14 → 1.1.15

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.
@@ -58716,13 +58716,13 @@ var ActionHandler = function ActionHandler(props) {
58716
58716
  }, []);
58717
58717
  var data = useMemo(function () {
58718
58718
  return {
58719
- itemList: props.itemList || [props.item]
58719
+ itemList: props.itemList || [props.item],
58720
+ itemCount: props.itemList ? props.itemList.length : [props.item].length
58720
58721
  };
58721
58722
  }, []);
58722
58723
  var progressBarRef = useRef(null);
58723
58724
  var localeService = useInjection(SERVICE.LOCALE);
58724
58725
  var action = props.actionText || localeService.create(LOCALE$1.ACTION + CTRL.DOT + props.actionCode);
58725
- var itemCount = data.itemList.length;
58726
58726
  useEffect(function () {
58727
58727
  setIsCloseByOutsideClick(currentAction !== actionMap$1.progress);
58728
58728
  if (currentAction === actionMap$1.before) {
@@ -58762,17 +58762,17 @@ var ActionHandler = function ActionHandler(props) {
58762
58762
  if (props.isConfirm) {
58763
58763
  var confText;
58764
58764
  if (props.confirmText && props.confirmText()) {
58765
- confText = props.confirmText(itemCount);
58765
+ confText = props.confirmText(data.itemCount);
58766
58766
  } else {
58767
- if (itemCount === 1) {
58767
+ if (data.itemCount === 1) {
58768
58768
  confText = localeService.create(LOCALE$1.CONF_SINGLE, {
58769
58769
  actionCode: action,
58770
- itemCount: itemCount
58770
+ itemCount: data.itemCount
58771
58771
  });
58772
58772
  } else {
58773
58773
  confText = localeService.create(LOCALE$1.CONF_MULTI, {
58774
58774
  actionCode: action,
58775
- itemCount: itemCount
58775
+ itemCount: data.itemCount
58776
58776
  });
58777
58777
  }
58778
58778
  }
@@ -58801,13 +58801,13 @@ var ActionHandler = function ActionHandler(props) {
58801
58801
  setActionResult(success, successResult, failResult);
58802
58802
  if (success) {
58803
58803
  if (props.successText && props.successText()) {
58804
- setText(props.successText(itemCount));
58804
+ setText(props.successText(data.itemCount));
58805
58805
  }
58806
58806
  } else {
58807
58807
  if (error && error.text) {
58808
58808
  setText(error.text);
58809
58809
  } else if (props.errorText) {
58810
- setText(props.errorText(error, itemCount));
58810
+ setText(props.errorText(error, data.itemCount));
58811
58811
  }
58812
58812
  }
58813
58813
  };
@@ -58818,28 +58818,28 @@ var ActionHandler = function ActionHandler(props) {
58818
58818
  var key = [LOCALE$1.ACTION_MSG, props.actionCode, LOCALE$1.SUCCESS].join(CTRL.DOT);
58819
58819
  setText(localeService.create(key, {
58820
58820
  actionCode: action,
58821
- count: itemCount
58821
+ count: successResult.length
58822
58822
  }));
58823
58823
  } else if (successResult.length && failResult.length) {
58824
58824
  setIcon(styles$6['vitro-icon-warning']);
58825
58825
  setState(styles$6['vitro-warning']);
58826
- var _key = itemCount === 1 ? LOCALE$1.WARNING_SINGLE : LOCALE$1.WARNING_MULTI;
58826
+ var _key = data.itemCount === 1 ? LOCALE$1.WARNING_SINGLE : LOCALE$1.WARNING_MULTI;
58827
58827
  setText(localeService.create(_key, {
58828
58828
  actionCode: action,
58829
- itemCount: itemCount
58829
+ itemCount: data.itemCount
58830
58830
  }));
58831
58831
  } else {
58832
58832
  setIcon(styles$6['vitro-icon-error']);
58833
58833
  setState(styles$6['vitro-error']);
58834
- var _key2 = itemCount === 1 ? LOCALE$1.ERROR_SINGLE : LOCALE$1.ERROR_MULTI;
58834
+ var _key2 = data.itemCount === 1 ? LOCALE$1.ERROR_SINGLE : LOCALE$1.ERROR_MULTI;
58835
58835
  setText(localeService.create(_key2, {
58836
58836
  actionCode: action,
58837
- itemCount: itemCount
58837
+ itemCount: data.itemCount
58838
58838
  }));
58839
58839
  }
58840
58840
  };
58841
58841
  var setProgress = function setProgress(index) {
58842
- var percent = index * 100 / itemCount;
58842
+ var percent = index * 100 / data.itemCount;
58843
58843
  if (progressBarRef.current) {
58844
58844
  progressBarRef.current.style.width = percent + CTRL.PERCENT;
58845
58845
  }
@@ -58848,9 +58848,9 @@ var ActionHandler = function ActionHandler(props) {
58848
58848
  try {
58849
58849
  init();
58850
58850
  if (props.progressText) {
58851
- setText(props.progressText(itemCount));
58851
+ setText(props.progressText(data.itemCount));
58852
58852
  } else {
58853
- if (itemCount === 1) {
58853
+ if (data.itemCount === 1) {
58854
58854
  setText(localeService.create(LOCALE$1.PROGRESS_SINGLE, {
58855
58855
  actionCode: action
58856
58856
  }));
@@ -58858,7 +58858,7 @@ var ActionHandler = function ActionHandler(props) {
58858
58858
  setText(localeService.create(LOCALE$1.PROGRESS_MULTI, {
58859
58859
  idx: 1,
58860
58860
  actionCode: action,
58861
- itemCount: itemCount
58861
+ itemCount: data.itemCount
58862
58862
  }));
58863
58863
  }
58864
58864
  }
@@ -58910,13 +58910,14 @@ var ActionHandler = function ActionHandler(props) {
58910
58910
  }, function () {
58911
58911
  if (cancellationToken.cancel) {
58912
58912
  data.itemList = data.itemList.slice(0, _i + 1);
58913
+ data.itemCount = data.itemList.length;
58913
58914
  _interrupt = true;
58914
58915
  return;
58915
58916
  }
58916
- if (itemCount > 1) {
58917
+ if (data.itemCount > 1) {
58917
58918
  setText(localeService.create(LOCALE$1.PROGRESS_MULTI, {
58918
58919
  idx: _i + 1,
58919
- itemCount: itemCount,
58920
+ itemCount: data.itemCount,
58920
58921
  actionCode: action
58921
58922
  }));
58922
58923
  } else {
@@ -59001,7 +59002,7 @@ var ActionHandler = function ActionHandler(props) {
59001
59002
  }))), showItemCount && React__default.createElement("span", {
59002
59003
  className: styles$6['vitro-small']
59003
59004
  }, localeService.create(LOCALE$1.ITEM_COUNT, {
59004
- itemCount: itemCount
59005
+ itemCount: data.itemCount
59005
59006
  })), showInfo && React__default.createElement(ActionInfo, {
59006
59007
  itemList: data.itemList,
59007
59008
  successResult: successResult,
@@ -59966,6 +59967,8 @@ var TimePicker = function TimePicker(props) {
59966
59967
 
59967
59968
  var styles$h = {"vitro-selected-item":"_lookup-picker-selected-item_vitro-selected-item_hw-euth"};
59968
59969
 
59970
+ var htmlValueStyles = {"vitro-item-html-value":"_lookup-picker-html-value_vitro-item-html-value_2QBoTey"};
59971
+
59969
59972
  var SelectedValueList = function SelectedValueList(props) {
59970
59973
  return React__default.createElement(React__default.Fragment, null, props.list.map(function (x) {
59971
59974
  var title = props.selectedValueTemplate(x);
@@ -59973,7 +59976,9 @@ var SelectedValueList = function SelectedValueList(props) {
59973
59976
  key: x.id,
59974
59977
  className: styles$h['vitro-selected-item'],
59975
59978
  title: title
59976
- }, React__default.createElement("span", null, title), props.isMultiSelect && React__default.createElement("div", {
59979
+ }, props.getHtmlValue ? React__default.createElement("div", {
59980
+ className: htmlValueStyles['vitro-item-html-value']
59981
+ }, props.getHtmlValue(x)) : null, React__default.createElement("span", null, title), props.isMultiSelect && React__default.createElement("div", {
59977
59982
  onClick: function onClick() {
59978
59983
  return props.onOptionValueDelete(x.id);
59979
59984
  },
@@ -59982,7 +59987,23 @@ var SelectedValueList = function SelectedValueList(props) {
59982
59987
  }));
59983
59988
  };
59984
59989
 
59985
- var styles$i = {"vitro-value-list":"_lookup-picker-value-list_vitro-value-list_LSdCMjq","vitro-item":"_lookup-picker-value-list_vitro-item_7yZBz5u","vitro-placeholder-empty":"_lookup-picker-value-list_vitro-placeholder-empty_fTVHWwc","vitro-keyword-highlight":"_lookup-picker-value-list_vitro-keyword-highlight_1uESHan","vitro-display-none":"_lookup-picker-value-list_vitro-display-none_2kDzC6K"};
59990
+ var styles$i = {"vitro-value-list":"_lookup-picker-value-list_vitro-value-list_LSdCMjq","vitro-item":"_lookup-picker-value-list_vitro-item_7yZBz5u","vitro-item-html-value":"_lookup-picker-value-list_vitro-item-html-value_1yl9tXx","vitro-placeholder-empty":"_lookup-picker-value-list_vitro-placeholder-empty_fTVHWwc","vitro-keyword-highlight":"_lookup-picker-value-list_vitro-keyword-highlight_1uESHan","vitro-display-none":"_lookup-picker-value-list_vitro-display-none_2kDzC6K"};
59991
+
59992
+ var ValueListItem = function ValueListItem(props) {
59993
+ return React__default.createElement("div", {
59994
+ key: props.item.id,
59995
+ className: styles$i['vitro-item'],
59996
+ onClick: function onClick() {
59997
+ return props.onSelect(props.item.id);
59998
+ }
59999
+ }, props.htmlValue ? React__default.createElement("div", {
60000
+ className: htmlValueStyles['vitro-item-html-value']
60001
+ }, props.htmlValue) : null, React__default.createElement("div", {
60002
+ dangerouslySetInnerHTML: {
60003
+ __html: props.createDisplayValue(props.item)
60004
+ }
60005
+ }));
60006
+ };
59986
60007
 
59987
60008
  var FLAG = 'gi';
59988
60009
  var ValueList = function ValueList(props) {
@@ -60005,15 +60026,11 @@ var ValueList = function ValueList(props) {
60005
60026
  }, React__default.createElement(ScrollBar, {
60006
60027
  onInit: setScrollableElement
60007
60028
  }, props.isPending && React__default.createElement(Progress, null), !props.isPending && React__default.createElement(React__default.Fragment, null, props.list.length > 0 ? props.list.map(function (x) {
60008
- return React__default.createElement("div", {
60009
- key: x.id,
60010
- className: styles$i['vitro-item'],
60011
- onClick: function onClick() {
60012
- return props.onOptionValueSelect(x.id);
60013
- },
60014
- dangerouslySetInnerHTML: {
60015
- __html: createDisplayValue(x)
60016
- }
60029
+ return React__default.createElement(ValueListItem, {
60030
+ item: x,
60031
+ onSelect: props.onOptionValueSelect,
60032
+ createDisplayValue: createDisplayValue,
60033
+ htmlValue: props.getHtmlValue && props.getHtmlValue(x)
60017
60034
  });
60018
60035
  }) : React__default.createElement("div", {
60019
60036
  className: styles$i['vitro-placeholder-empty']
@@ -60227,6 +60244,12 @@ var LookupPicker = function LookupPicker(props) {
60227
60244
  classList.push(state);
60228
60245
  return classList.join(CTRL.SPACE);
60229
60246
  };
60247
+ var getHtmlValue = function getHtmlValue(item) {
60248
+ if (props.htmlValueTemplate && props.getHtmlValueTemplateProps) {
60249
+ return React__default.createElement(props.htmlValueTemplate, props.getHtmlValueTemplateProps(item));
60250
+ }
60251
+ return null;
60252
+ };
60230
60253
  return React__default.createElement("div", {
60231
60254
  className: getClassName(),
60232
60255
  tabIndex: 1,
@@ -60243,7 +60266,8 @@ var LookupPicker = function LookupPicker(props) {
60243
60266
  list: selectedValueList,
60244
60267
  onOptionValueDelete: onOptionValueDelete,
60245
60268
  selectedValueTemplate: selectedValueTemplate,
60246
- isMultiSelect: props.isMultiSelect
60269
+ isMultiSelect: props.isMultiSelect,
60270
+ getHtmlValue: getHtmlValue
60247
60271
  }) : !valueListVisible && React__default.createElement(React__default.Fragment, null, props.placeholder), !props.isDisabled && !props.isReadOnly && React__default.createElement("input", {
60248
60272
  ref: inputRef,
60249
60273
  value: inputValue,
@@ -60274,7 +60298,8 @@ var LookupPicker = function LookupPicker(props) {
60274
60298
  filterValueTemplate: filterValueTemplate,
60275
60299
  onOptionValueSelect: onOptionValueSelect,
60276
60300
  isVisible: valueListVisible,
60277
- emptyPlaceholder: props.emptyPlaceholder || localeService.create(LOCALE$3.PLACEHOLDER_EMPTY)
60301
+ emptyPlaceholder: props.emptyPlaceholder || localeService.create(LOCALE$3.PLACEHOLDER_EMPTY),
60302
+ getHtmlValue: getHtmlValue
60278
60303
  }), props.errorMessage && React__default.createElement("span", {
60279
60304
  className: styles$j['vitro-error-text']
60280
60305
  }, props.errorMessage));
@@ -62581,5 +62606,135 @@ var DialogFooter = function DialogFooter(props) {
62581
62606
  }));
62582
62607
  };
62583
62608
 
62584
- export { ActionHandlerConstants as ACTION_HANDLER, AlertConstants as ALERT, ActionHandler, Alert$1 as Alert, Breadcrumbs, Button$2 as Button, CommandMenu, CommandMenuButton, CommandMenuDropdownButton, CommandMenuLookupPicker, CommandMenuSubItem, ComponentLoader, ComponentLoaderContextImpl, ControlGroup, DatePicker, Dialog, DialogContent, DialogFooter, Input, Label, Login, LookupPicker, MicroFrontend, PdfViewer, Sidebar, TableViewConstants as TABLE_VIEW, TreeViewConstants as TREE_VIEW, TabGroup, TableView, TaskTile, TelerikUploader, TelerikUploaderContextImpl, TimePicker, TopLevelMenu, TreeView, View, commonEn, commonRu };
62609
+ var styles$w = {"vitro-avatar":"_avatar_vitro-avatar_P2tU-_r","vitro-avatar-big":"_avatar_vitro-avatar-big_pEmlX3a"};
62610
+
62611
+ var Avatar = function Avatar(props) {
62612
+ var getInitials = function getInitials() {
62613
+ var initials = CTRL.EMPTY;
62614
+ if (props.userName) {
62615
+ props.userName.split(CTRL.SPACE).forEach(function (name, i) {
62616
+ initials += i < 2 ? name[0] ? name[0] : CTRL.EMPTY : CTRL.EMPTY;
62617
+ });
62618
+ }
62619
+ return initials;
62620
+ };
62621
+ var getBackground = function getBackground() {
62622
+ if (props.image) {
62623
+ return props.image;
62624
+ } else if (props.userName) {
62625
+ return getBgColor(props.userName);
62626
+ }
62627
+ return CTRL.EMPTY;
62628
+ };
62629
+ var getHashOfString = function getHashOfString(str) {
62630
+ var hash = 0;
62631
+ for (var i = 0; i < str.length; i++) {
62632
+ hash = str.charCodeAt(i) + ((hash << 5) - hash);
62633
+ }
62634
+ hash = Math.abs(hash);
62635
+ return hash;
62636
+ };
62637
+ var normalizeHash = function normalizeHash(hash, min, max) {
62638
+ return Math.floor(hash % (max - min) + min);
62639
+ };
62640
+ var getHue = function getHue(name) {
62641
+ var min = 1000;
62642
+ var max = 360;
62643
+ var hash = getHashOfString(name);
62644
+ var normalizedHash = normalizeHash(hash, min, max);
62645
+ return normalizedHash;
62646
+ };
62647
+ var getBgColor = function getBgColor(name) {
62648
+ return "linear-gradient(0deg, hsla(" + getHue(name) + ", 58%, 55%, 1), hsla(" + (getHue(name) + 50) + ", 100%, 78%, 1))";
62649
+ };
62650
+ var className = styles$w['vitro-avatar'] + (props.isBigSize ? CTRL.SPACE + styles$w['vitro-avatar-big'] : CTRL.EMPTY);
62651
+ return React__default.createElement("div", {
62652
+ className: className,
62653
+ style: {
62654
+ background: getBackground()
62655
+ }
62656
+ }, getInitials());
62657
+ };
62658
+
62659
+ var styles$x = {"vitro-user-profile":"_user-profile_vitro-user-profile_11XpBoQ","vitro-dropdown-item":"_user-profile_vitro-dropdown-item_dSErsta"};
62660
+
62661
+ var UserProfileMenuItem = function UserProfileMenuItem(props) {
62662
+ var onClick = function onClick() {
62663
+ if (props.onClick) {
62664
+ props.onClick();
62665
+ }
62666
+ props.setDropdownState(false);
62667
+ };
62668
+ if (props.link) {
62669
+ return React__default.createElement("div", {
62670
+ className: styles$x['vitro-dropdown-item'],
62671
+ onClick: onClick
62672
+ }, React__default.createElement(Link, {
62673
+ to: props.link
62674
+ }, props.imageUrl && React__default.createElement(Icon, {
62675
+ defaultUrl: props.imageUrl,
62676
+ hoverUrl: props.hoverImageUrl
62677
+ }), props.text));
62678
+ }
62679
+ if (props.onClick) {
62680
+ return React__default.createElement("div", {
62681
+ className: styles$x['vitro-dropdown-item'],
62682
+ key: props.text,
62683
+ onClick: onClick
62684
+ }, props.imageUrl && React__default.createElement(Icon, {
62685
+ defaultUrl: props.imageUrl,
62686
+ hoverUrl: props.hoverImageUrl
62687
+ }), props.text);
62688
+ }
62689
+ return null;
62690
+ };
62691
+
62692
+ var UserProfile = function UserProfile(props) {
62693
+ var _useState = useState(false),
62694
+ dropdownOpen = _useState[0],
62695
+ setDropdownOpen = _useState[1];
62696
+ var toggle = function toggle() {
62697
+ return setDropdownOpen(function (prevState) {
62698
+ return !prevState;
62699
+ });
62700
+ };
62701
+ var createSurnameWithInitials = function createSurnameWithInitials(name) {
62702
+ var username = CTRL.EMPTY;
62703
+ if (name) {
62704
+ name.split(CTRL.SPACE).forEach(function (name, i) {
62705
+ if (i < 3) {
62706
+ username += i === 0 ? name + CTRL.SPACE : (name[0] ? name[0] : CTRL.EMPTY) + CTRL.DOT;
62707
+ }
62708
+ });
62709
+ }
62710
+ return username;
62711
+ };
62712
+ return React__default.createElement(Dropdown, {
62713
+ isOpen: dropdownOpen,
62714
+ toggle: toggle,
62715
+ className: styles$x['vitro-user-profile']
62716
+ }, React__default.createElement(DropdownToggle, {
62717
+ caret: true
62718
+ }, React__default.createElement("div", null, React__default.createElement("span", {
62719
+ className: styles$x['vitro-text-color-white']
62720
+ }, createSurnameWithInitials(props.userName)), React__default.createElement(Avatar, {
62721
+ userName: props.userName,
62722
+ isBigSize: true
62723
+ }))), React__default.createElement(DropdownMenu, {
62724
+ right: true
62725
+ }, props.dropdownMenuItemList && props.dropdownMenuItemList.length > 0 && props.dropdownMenuItemList.map(function (item) {
62726
+ return React__default.createElement(UserProfileMenuItem, Object.assign({
62727
+ setDropdownState: setDropdownOpen
62728
+ }, item));
62729
+ })));
62730
+ };
62731
+
62732
+ var UserLookupPicker = function UserLookupPicker(props) {
62733
+ return React__default.createElement(LookupPicker, Object.assign({}, props, {
62734
+ htmlValueTemplate: Avatar,
62735
+ getHtmlValueTemplateProps: props.getHtmlValueTemplateProps
62736
+ }));
62737
+ };
62738
+
62739
+ export { ActionHandlerConstants as ACTION_HANDLER, AlertConstants as ALERT, ActionHandler, Alert$1 as Alert, Avatar, Breadcrumbs, Button$2 as Button, CommandMenu, CommandMenuButton, CommandMenuDropdownButton, CommandMenuLookupPicker, CommandMenuSubItem, ComponentLoader, ComponentLoaderContextImpl, ControlGroup, DatePicker, Dialog, DialogContent, DialogFooter, Input, Label, Login, LookupPicker, MicroFrontend, PdfViewer, Sidebar, TableViewConstants as TABLE_VIEW, TreeViewConstants as TREE_VIEW, TabGroup, TableView, TaskTile, TelerikUploader, TelerikUploaderContextImpl, TimePicker, TopLevelMenu, TreeView, UserLookupPicker, UserProfile, View, commonEn, commonRu };
62585
62740
  //# sourceMappingURL=index.modern.js.map