@vitrosoftware/common-ui-ts 1.1.50 → 1.1.52

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
@@ -195,6 +195,8 @@ CTRL.QUOTATION_MARK = '\'';
195
195
  CTRL.ZERO = '0';
196
196
  CTRL.ASTERISK = '*';
197
197
 
198
+ var styles = {"vitro-breadcrumbs":"_breadcrumbs_vitro-breadcrumbs_3r4NcQY","vitro-breadcrumbs-list-wrap":"_breadcrumbs_vitro-breadcrumbs-list-wrap_1_JBrw0","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"};
199
+
198
200
  var Item = function Item(props) {
199
201
  var onClick = function onClick() {
200
202
  if (props.onClick) {
@@ -202,12 +204,15 @@ var Item = function Item(props) {
202
204
  }
203
205
  };
204
206
  return React__default.createElement("li", {
205
- onClick: onClick,
206
207
  className: props.className || CTRL.EMPTY
207
- }, props.text);
208
+ }, React__default.createElement("div", {
209
+ onClick: onClick
210
+ }, props.children), props.isShowSeparator && React__default.createElement("div", {
211
+ className: styles['vitro-separator']
212
+ }));
208
213
  };
209
214
 
210
- var styles = {"vitro-scrollbar-content":"_scrollbar_vitro-scrollbar-content_3HXSt5u"};
215
+ var styles$1 = {"vitro-scrollbar-content":"_scrollbar_vitro-scrollbar-content_3HXSt5u"};
211
216
 
212
217
  var w = window;
213
218
  var ScrollBar = function ScrollBar(props) {
@@ -247,7 +252,7 @@ var ScrollBar = function ScrollBar(props) {
247
252
  return React__default.createElement("div", {
248
253
  ref: ref
249
254
  }, React__default.createElement("div", {
250
- className: styles['vitro-scrollbar-content']
255
+ className: styles$1['vitro-scrollbar-content']
251
256
  }, element && props.children));
252
257
  };
253
258
 
@@ -265,8 +270,6 @@ var ScrollBar = function ScrollBar(props) {
265
270
  EVENT["CONTEXTMENU"] = "contextmenu";
266
271
  })(exports.EVENT || (exports.EVENT = {}));
267
272
 
268
- var styles$1 = {"vitro-breadcrumbs":"_breadcrumbs_vitro-breadcrumbs_3r4NcQY","vitro-breadcrumbs-list-wrap":"_breadcrumbs_vitro-breadcrumbs-list-wrap_1_JBrw0","vitro-breadcrumbs-list":"_breadcrumbs_vitro-breadcrumbs-list_1SNtgtJ","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"};
269
-
270
273
  var Breadcrumbs = function Breadcrumbs(props) {
271
274
  var _useState = React.useState([]),
272
275
  displayItemList = _useState[0],
@@ -369,7 +372,7 @@ var Breadcrumbs = function Breadcrumbs(props) {
369
372
  setWindowWidth(window.innerWidth);
370
373
  };
371
374
  var clickOutside = function clickOutside(e) {
372
- if (menuRef.current && !menuRef.current.contains(e.target) && e.target.className !== styles$1['vitro-breadcrumbs-button']) {
375
+ if (menuRef.current && !menuRef.current.contains(e.target) && e.target.className !== styles['vitro-breadcrumbs-button']) {
373
376
  setDropDown(false);
374
377
  }
375
378
  };
@@ -380,43 +383,45 @@ var Breadcrumbs = function Breadcrumbs(props) {
380
383
  var showDropdownMenu = function showDropdownMenu() {
381
384
  setDropDown(!dropDown);
382
385
  };
383
- var titleClassName = styles$1['vitro-site-name'] + CTRL.SPACE + (displayItemList.length ? styles$1['opened'] : styles$1['closed']);
386
+ var titleClassName = styles['vitro-site-name'] + CTRL.SPACE + (displayItemList.length ? styles['opened'] : styles['closed']);
384
387
  return React__default.createElement("div", {
385
- className: styles$1['vitro-breadcrumbs']
388
+ className: styles['vitro-breadcrumbs']
386
389
  }, props.text ? React__default.createElement("h2", {
387
390
  className: titleClassName
388
391
  }, props.text) : null, React__default.createElement("div", {
389
- className: styles$1['vitro-breadcrumbs-list-wrap']
392
+ className: styles['vitro-breadcrumbs-list-wrap']
390
393
  }, React__default.createElement("ul", {
391
- className: styles$1['vitro-breadcrumbs-list']
392
- }, displayItemList.map(function (item) {
394
+ className: styles['vitro-breadcrumbs-list']
395
+ }, displayItemList.map(function (item, i) {
393
396
  return React__default.createElement(Item, {
394
- text: item.text,
395
397
  id: item.id,
396
398
  onClick: function onClick() {
397
399
  return onItemClick(item);
398
- }
399
- });
400
+ },
401
+ isShowSeparator: i !== displayItemList.length - 1
402
+ }, item.text);
400
403
  })), dropdownItemList.length ? React__default.createElement("div", {
401
404
  onClick: showDropdownMenu,
402
- className: styles$1['vitro-breadcrumbs-button']
405
+ className: styles['vitro-breadcrumbs-button']
403
406
  }) : null, !props.wrapRoot && rootItem ? React__default.createElement(Item, {
404
407
  id: rootItem.id,
405
408
  onClick: function onClick() {
406
409
  return onItemClick(rootItem);
407
410
  },
408
- className: styles$1['vitro-root']
409
- }) : null), dropDown && dropdownItemList.length > 0 && React__default.createElement("div", {
410
- className: styles$1['vitro-drop-down-list'],
411
+ isShowSeparator: true
412
+ }, React__default.createElement("div", {
413
+ className: styles['vitro-root']
414
+ })) : null), dropDown && dropdownItemList.length > 0 && React__default.createElement("div", {
415
+ className: styles['vitro-drop-down-list'],
411
416
  ref: menuRef
412
- }, React__default.createElement("ul", null, React__default.createElement(ScrollBar, null, dropdownItemList.map(function (item) {
417
+ }, React__default.createElement("ul", null, React__default.createElement(ScrollBar, null, dropdownItemList.map(function (item, i) {
413
418
  return React__default.createElement(Item, {
414
- text: item.text,
415
419
  id: item.id,
416
420
  onClick: function onClick() {
417
421
  return onItemClick(item);
418
- }
419
- });
422
+ },
423
+ isShowSeparator: false
424
+ }, item.text);
420
425
  })))));
421
426
  };
422
427
 
@@ -60591,7 +60596,7 @@ var REGEXP;
60591
60596
  var styles$f = {"vitro-control":"_input_vitro-control_1DmPFkF","vitro-focus":"_input_vitro-focus_1txynr8","vitro-label":"_input_vitro-label_2XBESiY","vitro-read-only":"_input_vitro-read-only_3f-cBbK","vitro-error":"_input_vitro-error_1T3dLzB","vitro-left-label":"_input_vitro-left-label_D9Fpvpd","vitro-error-text":"_input_vitro-error-text_QpZK56k","vitro-button-copy":"_input_vitro-button-copy_jjyktjx"};
60592
60597
 
60593
60598
  var PX_UNIT$2 = 'px';
60594
- var Input = function Input(props) {
60599
+ var Input = React.forwardRef(function (props, ref) {
60595
60600
  var control;
60596
60601
  var localeSeparator = 1.1.toLocaleString()[1];
60597
60602
  var secondLocaleSeparator = localeSeparator === CTRL.COMMA ? CTRL.DOT : CTRL.COMMA;
@@ -60608,7 +60613,7 @@ var Input = function Input(props) {
60608
60613
  var _useState4 = React.useState(CTRL.EMPTY),
60609
60614
  state = _useState4[0],
60610
60615
  setState = _useState4[1];
60611
- var ref = React.useRef(null);
60616
+ var inputRef = React.useRef(null);
60612
60617
  React.useEffect(function () {
60613
60618
  if (props.value) {
60614
60619
  updateValue(props.value, true);
@@ -60628,6 +60633,15 @@ var Input = function Input(props) {
60628
60633
  if (props.maxHeight) jsonStyle.maxHeight = props.maxHeight + PX_UNIT$2;
60629
60634
  setStyle(jsonStyle);
60630
60635
  }, [props.height, props.minHeight, props.maxHeight]);
60636
+ React.useImperativeHandle(ref, function () {
60637
+ return {
60638
+ focus: function focus() {
60639
+ if (inputRef.current) {
60640
+ inputRef.current.focus();
60641
+ }
60642
+ }
60643
+ };
60644
+ });
60631
60645
  var updateValue = function updateValue(value, isInit) {
60632
60646
  var newValue = sourceValue;
60633
60647
  if (!props.number) {
@@ -60682,15 +60696,24 @@ var Input = function Input(props) {
60682
60696
  var copyValue = function copyValue() {
60683
60697
  navigator.clipboard.writeText(inputValue);
60684
60698
  };
60699
+ var onKeyDown = function onKeyDown(e) {
60700
+ if (e.keyCode === 13 && !e.shiftKey) {
60701
+ e.preventDefault();
60702
+ e.target.blur();
60703
+ }
60704
+ if (props.onKeyDown) {
60705
+ props.onKeyDown(e);
60706
+ }
60707
+ };
60685
60708
  var remainHeight = function remainHeight() {
60686
- if (ref && ref.current && props.onChangeSize) {
60687
- props.onChangeSize(ref.current.offsetHeight);
60709
+ if (inputRef && inputRef.current && props.onChangeSize) {
60710
+ props.onChangeSize(inputRef.current.offsetHeight);
60688
60711
  }
60689
60712
  window.removeEventListener(exports.EVENT.MOUSEUP, remainHeight);
60690
60713
  };
60691
60714
  if (props.isMultiline) {
60692
60715
  control = React__default.createElement("textarea", {
60693
- ref: ref,
60716
+ ref: inputRef,
60694
60717
  readOnly: props.isReadOnly,
60695
60718
  disabled: props.isDisabled,
60696
60719
  name: props.name,
@@ -60699,7 +60722,7 @@ var Input = function Input(props) {
60699
60722
  required: props.isRequired,
60700
60723
  value: inputValue ? inputValue : CTRL.EMPTY,
60701
60724
  onKeyPress: props.onKeyPress,
60702
- onKeyDown: props.onKeyDown,
60725
+ onKeyDown: onKeyDown,
60703
60726
  onChange: onChange,
60704
60727
  onMouseDown: onResize,
60705
60728
  onBlur: onBlur,
@@ -60708,7 +60731,7 @@ var Input = function Input(props) {
60708
60731
  });
60709
60732
  } else {
60710
60733
  var input = React__default.createElement("input", {
60711
- ref: ref,
60734
+ ref: inputRef,
60712
60735
  readOnly: props.isReadOnly,
60713
60736
  disabled: props.isDisabled,
60714
60737
  type: props.type,
@@ -60719,7 +60742,7 @@ var Input = function Input(props) {
60719
60742
  required: props.isRequired,
60720
60743
  onBlur: onBlur,
60721
60744
  onKeyPress: props.onKeyPress,
60722
- onKeyDown: props.onKeyDown,
60745
+ onKeyDown: onKeyDown,
60723
60746
  onFocus: onFocus,
60724
60747
  autoComplete: props.isAutoComplete ? AUTOCOMPLETE.ON : AUTOCOMPLETE.OFF
60725
60748
  });
@@ -60755,7 +60778,7 @@ var Input = function Input(props) {
60755
60778
  }) : null, props.children, props.errorMessage && React__default.createElement("span", {
60756
60779
  className: styles$f['vitro-error-text']
60757
60780
  }, props.errorMessage));
60758
- };
60781
+ });
60759
60782
 
60760
60783
  var styles$g = {"vitro-issue-tile-footer":"_issue-tile-footer_vitro-issue-tile-footer_KtHOieL","vitro-issue-tile-status":"_issue-tile-footer_vitro-issue-tile-status_3OjC56L","vitro-status-color":"_issue-tile-footer_vitro-status-color_hhLb22J","vitro-button-more":"_issue-tile-footer_vitro-button-more_1RyVAeR"};
60761
60784
 
@@ -61259,12 +61282,12 @@ var LABEL_POSITION;
61259
61282
  var styles$m = {"vitro-control":"_date-picker_vitro-control_2AYXegb","vitro-button-copy":"_date-picker_vitro-button-copy_1cGY1Uu","vitro-control-container":"_date-picker_vitro-control-container_2CVwecs","vitro-focus":"_date-picker_vitro-focus_2cJKcKr","vitro-label":"_date-picker_vitro-label_2jh9qxb","vitro-read-only":"_date-picker_vitro-read-only_2NZoMN5","vitro-error":"_date-picker_vitro-error_3DkgZiN","vitro-left-label":"_date-picker_vitro-left-label_ZFhZFS9","vitro-error-text":"_date-picker_vitro-error-text_15CdrRj"};
61260
61283
 
61261
61284
  var $$3 = window.$;
61262
- var DatePicker = function DatePicker(props) {
61285
+ var DatePicker = React.forwardRef(function (props, ref) {
61263
61286
  var _useState = React.useState(CTRL.EMPTY),
61264
61287
  state = _useState[0],
61265
61288
  setState = _useState[1];
61266
61289
  var container = React.useRef(null);
61267
- var ref = React.useRef(null);
61290
+ var inputRef = React.useRef(null);
61268
61291
  var componentName = 'kendoDatePicker';
61269
61292
  React.useEffect(function () {
61270
61293
  var config = {
@@ -61281,7 +61304,7 @@ var DatePicker = function DatePicker(props) {
61281
61304
  return props.isWorkDay(date);
61282
61305
  },
61283
61306
  open: function open(e) {
61284
- onFocus();
61307
+ onFocus(e);
61285
61308
  if (props.onOpen) {
61286
61309
  props.onOpen(e, $$3(container.current));
61287
61310
  }
@@ -61292,7 +61315,7 @@ var DatePicker = function DatePicker(props) {
61292
61315
  }
61293
61316
  },
61294
61317
  close: function close(e) {
61295
- onBlur();
61318
+ onBlur(e);
61296
61319
  if (props.onClose) {
61297
61320
  props.onClose(e.sender.value(), props.name);
61298
61321
  }
@@ -61310,32 +61333,89 @@ var DatePicker = function DatePicker(props) {
61310
61333
  if (config.value) {
61311
61334
  config.value = new Date(config.value);
61312
61335
  }
61313
- $$3(ref.current).kendoDatePicker(config);
61314
- var picker = $$3(ref.current).data(componentName);
61336
+ $$3(inputRef.current).kendoDatePicker(config);
61337
+ var picker = $$3(inputRef.current).data(componentName);
61315
61338
  picker.enable(!props.isDisabled);
61316
61339
  picker.readonly(props.isReadOnly === true);
61317
- }, [ref]);
61340
+ }, [inputRef]);
61318
61341
  React.useEffect(function () {
61319
61342
  if (props.value) {
61320
- $$3(ref.current).data(componentName).value(new Date(props.value));
61343
+ $$3(inputRef.current).data(componentName).value(new Date(props.value));
61321
61344
  } else {
61322
- $$3(ref.current).data(componentName).value(props.value);
61345
+ $$3(inputRef.current).data(componentName).value(null);
61346
+ $$3(inputRef.current).data(componentName).setOptions({
61347
+ dateInput: true
61348
+ });
61323
61349
  }
61324
61350
  }, [props.value]);
61325
61351
  React.useEffect(function () {
61326
- if (props.minValue) $$3(ref.current).data(componentName).min(props.minValue);
61352
+ $$3(inputRef.current).data(componentName).setOptions({
61353
+ change: function change(e) {
61354
+ if (props.onChange) {
61355
+ props.onChange(e.sender.value(), props.name);
61356
+ }
61357
+ }
61358
+ });
61359
+ }, [props.onChange]);
61360
+ React.useEffect(function () {
61361
+ $$3(inputRef.current).data(componentName).setOptions({
61362
+ disableDates: function disableDates(date) {
61363
+ if (!props.isWorkDay) {
61364
+ return false;
61365
+ }
61366
+ return props.isWorkDay(date);
61367
+ }
61368
+ });
61369
+ }, [props.isWorkDay]);
61370
+ React.useEffect(function () {
61371
+ $$3(inputRef.current).data(componentName).setOptions({
61372
+ open: function open(e) {
61373
+ onFocus(e);
61374
+ if (props.onOpen) {
61375
+ props.onOpen(e, $$3(container.current));
61376
+ }
61377
+ }
61378
+ });
61379
+ }, [props.onOpen]);
61380
+ React.useEffect(function () {
61381
+ $$3(inputRef.current).data(componentName).setOptions({
61382
+ close: function close(e) {
61383
+ onBlur(e);
61384
+ if (props.onClose) {
61385
+ props.onClose(e.sender.value(), props.name);
61386
+ }
61387
+ }
61388
+ });
61389
+ }, [props.onClose]);
61390
+ React.useEffect(function () {
61391
+ if (props.minValue) $$3(inputRef.current).data(componentName).min(props.minValue);
61327
61392
  }, [props.minValue]);
61328
61393
  React.useEffect(function () {
61329
- if (props.maxValue) $$3(ref.current).data(componentName).max(props.maxValue);
61394
+ if (props.maxValue) $$3(inputRef.current).data(componentName).max(props.maxValue);
61330
61395
  }, [props.maxValue]);
61331
61396
  React.useEffect(function () {
61332
61397
  props.errorMessage ? setState(styles$m['vitro-error']) : setState(CTRL.EMPTY);
61333
61398
  }, [props.errorMessage]);
61334
- var onFocus = function onFocus() {
61399
+ React.useImperativeHandle(ref, function () {
61400
+ return {
61401
+ focus: function focus() {
61402
+ if (inputRef.current) {
61403
+ inputRef.current.focus();
61404
+ }
61405
+ }
61406
+ };
61407
+ });
61408
+ var onFocus = function onFocus(e) {
61335
61409
  setState(styles$m['vitro-focus']);
61410
+ if (props.onFocus) {
61411
+ props.onFocus(e);
61412
+ }
61336
61413
  };
61337
- var onBlur = function onBlur() {
61414
+ var onBlur = function onBlur(e) {
61338
61415
  setState(props.errorMessage ? styles$m['vitro-error'] : styles$m[CTRL.EMPTY]);
61416
+ if (props.onBlur) {
61417
+ props.onBlur(e);
61418
+ }
61339
61419
  };
61340
61420
  var copyValue = function copyValue() {
61341
61421
  navigator.clipboard.writeText("" + props.value);
@@ -61359,7 +61439,7 @@ var DatePicker = function DatePicker(props) {
61359
61439
  width: props.labelWidth,
61360
61440
  className: styles$m['vitro-label']
61361
61441
  }), React__default.createElement("input", {
61362
- ref: ref,
61442
+ ref: inputRef,
61363
61443
  placeholder: props.placeholder,
61364
61444
  onFocus: onFocus,
61365
61445
  onBlur: onBlur
@@ -61372,7 +61452,7 @@ var DatePicker = function DatePicker(props) {
61372
61452
  }), props.errorMessage && React__default.createElement("span", {
61373
61453
  className: styles$m['vitro-error-text']
61374
61454
  }, props.errorMessage));
61375
- };
61455
+ });
61376
61456
 
61377
61457
  var FORMAT;
61378
61458
  (function (FORMAT) {
@@ -61394,15 +61474,15 @@ var COMPONENT_TYPE;
61394
61474
  var styles$n = {"vitro-control":"_time-picker_vitro-control_1sx07It","vitro-button-copy":"_time-picker_vitro-button-copy_QZg3bTW","vitro-control-container":"_time-picker_vitro-control-container_3ys3rMN","vitro-focus":"_time-picker_vitro-focus_wmhPjvE","vitro-label":"_time-picker_vitro-label_2b97aCy","vitro-error":"_time-picker_vitro-error_2ZmK0I5","vitro-read-only":"_time-picker_vitro-read-only_NlE18Zm","vitro-left-label":"_time-picker_vitro-left-label_3NRmFYH","vitro-error-text":"_time-picker_vitro-error-text_2BNoBKW"};
61395
61475
 
61396
61476
  var $$4 = window.$;
61397
- var TimePicker = function TimePicker(props) {
61477
+ var TimePicker = React.forwardRef(function (props, ref) {
61398
61478
  var _useState = React.useState(CTRL.EMPTY),
61399
61479
  state = _useState[0],
61400
61480
  setState = _useState[1];
61401
61481
  var container = React.useRef(null);
61402
- var ref = React.useRef(null);
61482
+ var inputRef = React.useRef(null);
61403
61483
  var componentName = 'kendoTimePicker';
61404
61484
  React.useEffect(function () {
61405
- $$4(ref.current).kendoTimePicker({
61485
+ $$4(inputRef.current).kendoTimePicker({
61406
61486
  format: props.format || FORMAT.HH_MM,
61407
61487
  componentType: COMPONENT_TYPE.MODERN,
61408
61488
  culture: props.culture || CULTURE$1.RU,
@@ -61414,13 +61494,13 @@ var TimePicker = function TimePicker(props) {
61414
61494
  }
61415
61495
  },
61416
61496
  open: function open(e) {
61417
- onFocus();
61497
+ onFocus(e);
61418
61498
  if (props.onOpen) {
61419
61499
  props.onOpen(e, $$4(container.current));
61420
61500
  }
61421
61501
  },
61422
61502
  close: function close(e) {
61423
- onBlur();
61503
+ onBlur(e);
61424
61504
  if (props.onClose) {
61425
61505
  props.onClose(e, $$4(container.current));
61426
61506
  }
@@ -61429,18 +61509,33 @@ var TimePicker = function TimePicker(props) {
61429
61509
  appendTo: $$4(container.current)
61430
61510
  }
61431
61511
  });
61432
- var picker = $$4(ref.current).data(componentName);
61512
+ var picker = $$4(inputRef.current).data(componentName);
61433
61513
  picker.enable(!props.isDisabled);
61434
61514
  picker.readonly(props.isReadOnly === true);
61435
- }, [ref]);
61515
+ }, [inputRef]);
61436
61516
  React.useEffect(function () {
61437
- $$4(ref.current).data(componentName).value(props.value);
61517
+ $$4(inputRef.current).data(componentName).value(props.value);
61438
61518
  }, [props.value]);
61439
- var onFocus = function onFocus() {
61519
+ React.useImperativeHandle(ref, function () {
61520
+ return {
61521
+ focus: function focus() {
61522
+ if (inputRef.current) {
61523
+ inputRef.current.focus();
61524
+ }
61525
+ }
61526
+ };
61527
+ });
61528
+ var onFocus = function onFocus(e) {
61440
61529
  setState(styles$n['vitro-focus']);
61530
+ if (props.onFocus) {
61531
+ props.onFocus(e);
61532
+ }
61441
61533
  };
61442
- var onBlur = function onBlur() {
61534
+ var onBlur = function onBlur(e) {
61443
61535
  setState(props.errorMessage ? styles$n['vitro-error'] : styles$n[CTRL.EMPTY]);
61536
+ if (props.onBlur) {
61537
+ props.onBlur(e);
61538
+ }
61444
61539
  };
61445
61540
  var copyValue = function copyValue() {
61446
61541
  navigator.clipboard.writeText("" + props.value);
@@ -61464,7 +61559,7 @@ var TimePicker = function TimePicker(props) {
61464
61559
  width: props.labelWidth,
61465
61560
  className: styles$n['vitro-label']
61466
61561
  }), React__default.createElement("input", {
61467
- ref: ref,
61562
+ ref: inputRef,
61468
61563
  placeholder: props.placeholder,
61469
61564
  onFocus: onFocus,
61470
61565
  onBlur: onBlur
@@ -61477,7 +61572,7 @@ var TimePicker = function TimePicker(props) {
61477
61572
  }), props.errorMessage && React__default.createElement("span", {
61478
61573
  className: styles$n['vitro-error-text']
61479
61574
  }, props.errorMessage));
61480
- };
61575
+ });
61481
61576
 
61482
61577
  var styles$o = {"vitro-selected-item-multi":"_lookup-picker-selected-item_vitro-selected-item-multi_bzL7ugZ","vitro-selected-item":"_lookup-picker-selected-item_vitro-selected-item_hw-euth","vitro-button-close":"_lookup-picker-selected-item_vitro-button-close_1SRnr_0"};
61483
61578
 
@@ -61570,7 +61665,7 @@ var LOCALE$4;
61570
61665
  var styles$q = {"vitro-lookup-picker":"_lookup-picker_vitro-lookup-picker_1aXYQEG","vitro-content":"_lookup-picker_vitro-content_37L0slb","vitro-focus":"_lookup-picker_vitro-focus_2UGpxXD","vitro-label":"_lookup-picker_vitro-label_2QoJkUz","vitro-read-only":"_lookup-picker_vitro-read-only_32NOdGB","vitro-error":"_lookup-picker_vitro-error_dF7iopC","vitro-error-text":"_lookup-picker_vitro-error-text_273lqvD","vitro-button-copy":"_lookup-picker_vitro-button-copy_2UIHHZD","vitro-right":"_lookup-picker_vitro-right_1XFsL1w","vitro-button-close":"_lookup-picker_vitro-button-close_3_Qndrj","vitro-button-collapse-up":"_lookup-picker_vitro-button-collapse-up_3i0OJub","vitro-button-collapse-bottom":"_lookup-picker_vitro-button-collapse-bottom_3o0Pl83"};
61571
61666
 
61572
61667
  var $$5 = window.$;
61573
- var LookupPicker = function LookupPicker(props) {
61668
+ var LookupPicker = React.forwardRef(function (props, ref) {
61574
61669
  var createDefaultSelectedValueList = props.selectedValueList ? props.selectedValueList : props.selectedValue ? [props.selectedValue] : [];
61575
61670
  var _useState = React.useState(true),
61576
61671
  pending = _useState[0],
@@ -61639,6 +61734,15 @@ var LookupPicker = function LookupPicker(props) {
61639
61734
  setSelectedValueList([]);
61640
61735
  }
61641
61736
  }, [props.selectedValue]);
61737
+ React.useImperativeHandle(ref, function () {
61738
+ return {
61739
+ focus: function focus() {
61740
+ if (inputRef.current) {
61741
+ inputRef.current.focus();
61742
+ }
61743
+ }
61744
+ };
61745
+ });
61642
61746
  var onInputValueUpdated = function onInputValueUpdated() {
61643
61747
  if ((inputValue || inputValue === CTRL.EMPTY) && inputValue.length >= props.filterMinLength) {
61644
61748
  if (props.valueList) {
@@ -61760,9 +61864,12 @@ var LookupPicker = function LookupPicker(props) {
61760
61864
  }
61761
61865
  });
61762
61866
  };
61763
- var onFocus = function onFocus() {
61867
+ var onFocus = function onFocus(e) {
61764
61868
  setState(styles$q['vitro-focus']);
61765
61869
  setValueListVisible(true);
61870
+ if (props.onFocus) {
61871
+ props.onFocus(e);
61872
+ }
61766
61873
  };
61767
61874
  var onCollapseButtonClick = function onCollapseButtonClick(valueListVisible) {
61768
61875
  setValueListVisible(!valueListVisible);
@@ -61843,7 +61950,7 @@ var LookupPicker = function LookupPicker(props) {
61843
61950
  }), props.errorMessage && React__default.createElement("span", {
61844
61951
  className: styles$q['vitro-error-text']
61845
61952
  }, props.errorMessage));
61846
- };
61953
+ });
61847
61954
 
61848
61955
  var styles$r = {"vitro-command-menu":"_command-menu_vitro-command-menu_l82vtIh"};
61849
61956
 
@@ -64036,7 +64143,8 @@ var UserProfile = function UserProfile(props) {
64036
64143
 
64037
64144
  var styles$E = {"vitro-avatar":"_user-lookup-picker_vitro-avatar_2vI-SeH"};
64038
64145
 
64039
- var UserLookupPicker = function UserLookupPicker(props) {
64146
+ var UserLookupPicker = React.forwardRef(function (props, ref) {
64147
+ var lookupPickerRef = React.useRef(null);
64040
64148
  var getHtmlValueTemplateProps = function getHtmlValueTemplateProps(item) {
64041
64149
  var prop = props.getHtmlValueTemplateProps(item);
64042
64150
  if (props.isMultiSelect) {
@@ -64046,11 +64154,21 @@ var UserLookupPicker = function UserLookupPicker(props) {
64046
64154
  }
64047
64155
  return prop;
64048
64156
  };
64157
+ React.useImperativeHandle(ref, function () {
64158
+ return {
64159
+ focus: function focus() {
64160
+ if (lookupPickerRef.current) {
64161
+ lookupPickerRef.current.focus();
64162
+ }
64163
+ }
64164
+ };
64165
+ });
64049
64166
  return React__default.createElement(LookupPicker, Object.assign({}, props, {
64050
64167
  htmlValueTemplate: Avatar,
64051
- getHtmlValueTemplateProps: getHtmlValueTemplateProps
64168
+ getHtmlValueTemplateProps: getHtmlValueTemplateProps,
64169
+ ref: lookupPickerRef
64052
64170
  }));
64053
- };
64171
+ });
64054
64172
 
64055
64173
  var styles$F = {"vitro-title":"_activity_vitro-title_1rdvvaa","vitro-dropdown-button":"_activity_vitro-dropdown-button_12258nJ","vitro-activity":"_activity_vitro-activity_1u7YeF3"};
64056
64174
 
@@ -64193,6 +64311,16 @@ var ActivityMessage = function ActivityMessage(props) {
64193
64311
  }));
64194
64312
  };
64195
64313
 
64314
+ var CONTROL = function CONTROL() {};
64315
+ CONTROL.LOOKUP_PICKER = 'LookupPicker';
64316
+ CONTROL.DATE_PICKER = 'DatePicker';
64317
+ CONTROL.CHECKBOX = 'Checkbox';
64318
+ CONTROL.IMAGE_PICKER = 'ImagePicker';
64319
+ CONTROL.AVATAR = 'Avatar';
64320
+ CONTROL.INPUT = 'Input';
64321
+ CONTROL.PASSWORD = 'Password';
64322
+ CONTROL.TIME_PICKER = 'TimePicker';
64323
+
64196
64324
  var LOCALE$6;
64197
64325
  (function (LOCALE) {
64198
64326
  LOCALE["PLACEHOLDER"] = "app.common.messageInput.placeholder";
@@ -64362,7 +64490,7 @@ var ImagePicker = function ImagePicker(props) {
64362
64490
  var styles$L = {"vitro-criterion-container":"_criterion_vitro-criterion-container_2cYcSkL","vitro-block":"_criterion_vitro-block_3E9-RXM","vitro-control":"_criterion_vitro-control_2JLaybj","vitro-label":"_criterion_vitro-label_3F6a8dj","vitro-operator-select-container":"_criterion_vitro-operator-select-container_3OkjzXG","vitro-operator-select":"_criterion_vitro-operator-select_1guNlk9","vitro-operator-list":"_criterion_vitro-operator-list_3A2VZsd","vitro-button-cancel":"_criterion_vitro-button-cancel_2C2G0sL","vitro-focus":"_criterion_vitro-focus_3FNLsoN","vitro-error":"_criterion_vitro-error_3pvFrlW","vitro-condition-select":"_criterion_vitro-condition-select_1hTBBg-","vitro-icon":"_criterion_vitro-icon_1DmS0jh","vitro-condition-list":"_criterion_vitro-condition-list_10UIxJI"};
64363
64491
 
64364
64492
  var ConditionSelect = function ConditionSelect(props) {
64365
- var _useState = React.useState(props.itemList[0]),
64493
+ var _useState = React.useState(props.defaultValue || props.itemList[0]),
64366
64494
  condition = _useState[0],
64367
64495
  setCondition = _useState[1];
64368
64496
  var _useState2 = React.useState(false),
@@ -64424,7 +64552,7 @@ var ConditionSelect = function ConditionSelect(props) {
64424
64552
  };
64425
64553
 
64426
64554
  var Criterion = function Criterion(props) {
64427
- var _useState = React.useState(props.operatorList.length ? props.operatorList[0] : null),
64555
+ var _useState = React.useState(props.operatorList[0]),
64428
64556
  operator = _useState[0],
64429
64557
  setOperator = _useState[1];
64430
64558
  var _useState2 = React.useState(false),
@@ -64436,19 +64564,30 @@ var Criterion = function Criterion(props) {
64436
64564
  var _useState4 = React.useState(CTRL.EMPTY),
64437
64565
  state = _useState4[0],
64438
64566
  setState = _useState4[1];
64567
+ var componentProps = props.content.props;
64568
+ var defaultOperator = (componentProps.value ? props.operatorList.find(function (x) {
64569
+ return x.type === componentProps.value.operator;
64570
+ }) : props.operatorList.find(function (x) {
64571
+ return x.type === props.defaultOperator;
64572
+ })) || props.operatorList[0];
64573
+ var defaultCondition = (componentProps.value ? props.conditionList.find(function (x) {
64574
+ return x.type === componentProps.value.condition;
64575
+ }) : props.conditionList.find(function (x) {
64576
+ return x.type === props.defaultCondition;
64577
+ })) || props.conditionList[0];
64439
64578
  var value = React.useMemo(function () {
64440
- var _props$operatorList$, _props$conditionList$;
64441
64579
  return {
64442
- internalName: props.content.props.name,
64443
- operator: (_props$operatorList$ = props.operatorList[0]) === null || _props$operatorList$ === void 0 ? void 0 : _props$operatorList$.type,
64444
- valueList: [],
64445
- condition: (_props$conditionList$ = props.conditionList[0]) === null || _props$conditionList$ === void 0 ? void 0 : _props$conditionList$.type
64580
+ internalName: componentProps.name,
64581
+ operator: defaultOperator.type,
64582
+ valueList: componentProps.value ? componentProps.value.valueList : [],
64583
+ condition: defaultCondition.type
64446
64584
  };
64447
64585
  }, []);
64448
64586
  var selectRef = React.useRef(null);
64449
64587
  var labelRef = React.useRef(null);
64450
64588
  React.useEffect(function () {
64451
64589
  window.addEventListener(exports.EVENT.CLICK, onBlurSelect);
64590
+ setOperator(defaultOperator);
64452
64591
  return function () {
64453
64592
  window.removeEventListener(exports.EVENT.CLICK, onBlurSelect);
64454
64593
  };
@@ -64478,26 +64617,23 @@ var Criterion = function Criterion(props) {
64478
64617
  };
64479
64618
  var onFocus = function onFocus(e) {
64480
64619
  setState(styles$L['vitro-focus']);
64481
- if (props.content.props.onFocus) {
64482
- props.content.props.onFocus(e);
64620
+ if (componentProps.onFocus) {
64621
+ componentProps.onFocus(e);
64483
64622
  }
64484
64623
  };
64485
64624
  var onBlur = function onBlur(e) {
64486
- setState(props.content.props.errorMessage ? styles$L['vitro-error'] : CTRL.EMPTY);
64487
- if (props.content.props.onBlur) {
64488
- props.content.props.onBlur(e);
64625
+ setState(componentProps.errorMessage ? styles$L['vitro-error'] : CTRL.EMPTY);
64626
+ if (componentProps.onBlur) {
64627
+ componentProps.onBlur(e);
64489
64628
  }
64490
64629
  };
64491
64630
  var onChange = function onChange(val) {
64492
64631
  if (props.onChange) {
64493
- props.onChange(val, props.content.props.name);
64632
+ props.onChange(val, componentProps.name);
64494
64633
  }
64495
64634
  };
64496
64635
  var onControlChange = function onControlChange(val, name) {
64497
- var valueArray = Array.isArray(val) ? val : [val];
64498
- value.valueList = valueArray.map(function (v) {
64499
- return v && v.id ? v.id : v;
64500
- });
64636
+ value.valueList = Array.isArray(val) ? val : [val];
64501
64637
  onChange(value);
64502
64638
  };
64503
64639
  return React__default.createElement("div", {
@@ -64524,8 +64660,9 @@ var Criterion = function Criterion(props) {
64524
64660
  }, React__default.createElement("span", null, props.label)), React__default.createElement(ConditionSelect, {
64525
64661
  itemList: props.conditionList,
64526
64662
  onSelect: onConditionClick,
64527
- translateX: translate
64528
- }), React__default.createElement(props.content.component, _extends({}, props.content.props, {
64663
+ translateX: translate,
64664
+ defaultValue: defaultCondition
64665
+ }), React__default.createElement(props.content.component, _extends({}, componentProps, {
64529
64666
  className: styles$L['vitro-control'],
64530
64667
  onBlur: onBlur,
64531
64668
  onFocus: onFocus,
@@ -64536,7 +64673,7 @@ var Criterion = function Criterion(props) {
64536
64673
  isRequired: false
64537
64674
  }))), React__default.createElement("button", {
64538
64675
  onClick: function onClick() {
64539
- return props.onDelete(props.content.props.id);
64676
+ return props.onDelete(componentProps.id);
64540
64677
  },
64541
64678
  className: styles$L['vitro-button-cancel']
64542
64679
  }));
@@ -64548,20 +64685,39 @@ var LOCALE$8;
64548
64685
  LOCALE["EMPTY_PLACEHOLDER"] = "app.common.search.checkboxList.emptyPlaceholder";
64549
64686
  })(LOCALE$8 || (LOCALE$8 = {}));
64550
64687
 
64551
- var styles$M = {"vitro-control":"_input_vitro-control__btu7j_","vitro-active":"_input_vitro-active_jxhGdE8","vitro-focus":"_input_vitro-focus_3tuxmPs","vitro-search-value-list":"_input_vitro-search-value-list_2I_KVY5","vitro-button-cancel":"_input_vitro-button-cancel_YqNZPj-","vitro-button-settings":"_input_vitro-button-settings_1w9FwYt","vitro-search-value":"_input_vitro-search-value_1ZbcNTJ"};
64688
+ var styles$M = {"vitro-control":"_input_vitro-control__btu7j_","vitro-active":"_input_vitro-active_jxhGdE8","vitro-focus":"_input_vitro-focus_3tuxmPs","vitro-button-search":"_input_vitro-button-search_15PeWCS","vitro-search-value-list":"_input_vitro-search-value-list_2I_KVY5","vitro-button-cancel":"_input_vitro-button-cancel_YqNZPj-","vitro-button-settings":"_input_vitro-button-settings_1w9FwYt","vitro-search-value":"_input_vitro-search-value_1ZbcNTJ"};
64552
64689
 
64690
+ var NEW_LINE$1 = '\n';
64553
64691
  var Input$1 = function Input(props) {
64554
- var _useState = React.useState(Boolean(props.isSettingsActive)),
64555
- isToggled = _useState[0],
64556
- setIsToggled = _useState[1];
64557
- var _useState2 = React.useState(false),
64558
- isActive = _useState2[0],
64559
- setIsActive = _useState2[1];
64560
- var _useState3 = React.useState(CTRL.EMPTY),
64561
- state = _useState3[0],
64562
- setState = _useState3[1];
64692
+ var _useState = React.useState(false),
64693
+ isMobileView = _useState[0],
64694
+ setIsMobileView = _useState[1];
64695
+ var _useState2 = React.useState(Boolean(props.isSettingsActive)),
64696
+ isToggled = _useState2[0],
64697
+ setIsToggled = _useState2[1];
64698
+ var _useState3 = React.useState(false),
64699
+ isActive = _useState3[0],
64700
+ setIsActive = _useState3[1];
64701
+ var _useState4 = React.useState(CTRL.EMPTY),
64702
+ state = _useState4[0],
64703
+ setState = _useState4[1];
64563
64704
  var localeService = inversifyReact.useInjection(SERVICE.LOCALE);
64564
64705
  var inputRef = React.useRef(null);
64706
+ React.useEffect(function () {
64707
+ window.addEventListener(exports.EVENT.RESIZE, handleResize);
64708
+ handleResize();
64709
+ return function () {
64710
+ window.removeEventListener(exports.EVENT.RESIZE, handleResize);
64711
+ };
64712
+ }, []);
64713
+ React.useEffect(function () {
64714
+ handleResize();
64715
+ }, [window.innerWidth]);
64716
+ React.useEffect(function () {
64717
+ if (isMobileView && props.valueList && props.valueList.length) {
64718
+ setIsToggled(true);
64719
+ }
64720
+ }, [isMobileView, props.valueList]);
64565
64721
  React.useEffect(function () {
64566
64722
  var _props$valueList;
64567
64723
  if (state || props.textValue || (_props$valueList = props.valueList) !== null && _props$valueList !== void 0 && _props$valueList.length) {
@@ -64571,6 +64727,9 @@ var Input$1 = function Input(props) {
64571
64727
  React.useEffect(function () {
64572
64728
  setIsToggled(Boolean(props.isSettingsActive));
64573
64729
  }, [props.isSettingsActive]);
64730
+ var handleResize = function handleResize() {
64731
+ window.innerWidth < 800 ? setIsMobileView(true) : setIsMobileView(false);
64732
+ };
64574
64733
  var onSettingsClick = function onSettingsClick() {
64575
64734
  setIsToggled(!isToggled);
64576
64735
  if (props.onSettingsClick) {
@@ -64578,10 +64737,15 @@ var Input$1 = function Input(props) {
64578
64737
  }
64579
64738
  };
64580
64739
  var onKeyDown = function onKeyDown(e) {
64581
- var value = inputRef.current && inputRef.current.value;
64582
- if (e.keyCode === 13 && value) {
64740
+ if (e.keyCode === 13) {
64583
64741
  e.preventDefault();
64584
- props.onEnter();
64742
+ onSubmit();
64743
+ }
64744
+ };
64745
+ var onSubmit = function onSubmit() {
64746
+ var value = inputRef.current && inputRef.current.value;
64747
+ if (value) {
64748
+ props.onSubmit();
64585
64749
  inputRef.current.value = CTRL.EMPTY;
64586
64750
  }
64587
64751
  };
@@ -64597,6 +64761,10 @@ var Input$1 = function Input(props) {
64597
64761
  props.onChange(e.target.value);
64598
64762
  }
64599
64763
  };
64764
+ var onBlur = function onBlur() {
64765
+ setState(CTRL.EMPTY);
64766
+ onSubmit();
64767
+ };
64600
64768
  var getClassName = function getClassName() {
64601
64769
  var classList = [styles$M['vitro-control'], props.className || CTRL.EMPTY, state];
64602
64770
  if (isActive) {
@@ -64604,8 +64772,8 @@ var Input$1 = function Input(props) {
64604
64772
  }
64605
64773
  return classList.join(CTRL.SPACE);
64606
64774
  };
64607
- var getValueList = function getValueList(value) {
64608
- return value.valueList.map(function (x) {
64775
+ var getTextValue = function getTextValue(value) {
64776
+ var valueArray = value.valueList.map(function (x) {
64609
64777
  if (typeof x === 'object') {
64610
64778
  if (x instanceof Date) {
64611
64779
  return x.toLocaleString().split(CTRL.COMMA)[0];
@@ -64615,20 +64783,48 @@ var Input$1 = function Input(props) {
64615
64783
  return x;
64616
64784
  }
64617
64785
  });
64786
+ var text = [value.name, valueArray.join(CTRL.COMMA + CTRL.SPACE)].join(CTRL.COLON + CTRL.SPACE);
64787
+ return text;
64788
+ };
64789
+ var getTextValueList = function getTextValueList(valueList) {
64790
+ var list = valueList.map(function (x) {
64791
+ return getTextValue(x);
64792
+ });
64793
+ list.shift();
64794
+ return list.join(NEW_LINE$1);
64618
64795
  };
64619
64796
  var getSelectedValueList = function getSelectedValueList(valueList) {
64620
64797
  var firstValue = valueList[0];
64621
64798
  return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
64622
64799
  className: styles$M['vitro-search-value']
64623
- }, firstValue.name + CTRL.COLON + CTRL.SPACE, getValueList(firstValue).join(CTRL.COMMA + CTRL.SPACE)), valueList.length && valueList.length > 1 ? React__default.createElement("div", {
64800
+ }, getTextValue(firstValue), React__default.createElement("button", {
64801
+ onClick: onCancel,
64802
+ className: styles$M['vitro-button-cancel']
64803
+ })), valueList.length && valueList.length > 1 ? React__default.createElement(Tooltip$1, {
64804
+ text: getTextValueList(valueList),
64805
+ placement: PLACEMENT$1.BOTTOM
64806
+ }, React__default.createElement("div", {
64624
64807
  className: styles$M['vitro-search-value']
64625
64808
  }, localeService.create(LOCALE$8.INPUT_MORE, {
64626
64809
  count: valueList.length - 1
64627
- })) : null);
64810
+ }), React__default.createElement("button", {
64811
+ onClick: onCancel,
64812
+ className: styles$M['vitro-button-cancel']
64813
+ }))) : null);
64814
+ };
64815
+ var onSearchClick = function onSearchClick() {
64816
+ if (isMobileView) {
64817
+ onSettingsClick();
64818
+ } else {
64819
+ onSubmit();
64820
+ }
64628
64821
  };
64629
64822
  return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
64630
64823
  className: getClassName()
64631
- }, React__default.createElement("div", {
64824
+ }, React__default.createElement("button", {
64825
+ className: styles$M['vitro-button-search'] + (isToggled ? CTRL.SPACE + styles$M['vitro-active'] : CTRL.EMPTY),
64826
+ onClick: onSearchClick
64827
+ }), !isMobileView && React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
64632
64828
  className: styles$M['vitro-search-value-list']
64633
64829
  }, props.valueList && props.valueList.length ? getSelectedValueList(props.valueList) : React__default.createElement("input", {
64634
64830
  type: 'text',
@@ -64638,9 +64834,7 @@ var Input$1 = function Input(props) {
64638
64834
  onFocus: function onFocus() {
64639
64835
  return setState(styles$M['vitro-focus']);
64640
64836
  },
64641
- onBlur: function onBlur() {
64642
- return setState(CTRL.EMPTY);
64643
- },
64837
+ onBlur: onBlur,
64644
64838
  placeholder: !isActive ? props.placeholder : CTRL.EMPTY
64645
64839
  })), isActive && React__default.createElement(React__default.Fragment, null, props.isShowSettings && React__default.createElement("button", {
64646
64840
  onClick: onSettingsClick,
@@ -64648,16 +64842,21 @@ var Input$1 = function Input(props) {
64648
64842
  }), React__default.createElement("button", {
64649
64843
  onClick: onCancel,
64650
64844
  className: styles$M['vitro-button-cancel']
64651
- }))));
64845
+ })))));
64652
64846
  };
64653
64847
 
64654
- var FieldIterator = function FieldIterator(props) {
64848
+ var FieldIterator = React.forwardRef(function (props, ref) {
64655
64849
  var _useState = React.useState([]),
64656
64850
  controlList = _useState[0],
64657
64851
  setControlList = _useState[1];
64658
64852
  var changedFieldValueMap = React.useMemo(function () {
64659
64853
  return new Map();
64660
64854
  }, []);
64855
+ var focusStatus = React.useMemo(function () {
64856
+ return {
64857
+ focus: false
64858
+ };
64859
+ }, []);
64661
64860
  var saveStatus = React.useMemo(function () {
64662
64861
  return {
64663
64862
  isSaving: false
@@ -64688,6 +64887,31 @@ var FieldIterator = function FieldIterator(props) {
64688
64887
  React.useEffect(function () {
64689
64888
  setErrorMessage();
64690
64889
  }, [props.errorControlList]);
64890
+ React.useEffect(function () {
64891
+ if (focusStatus.focus) {
64892
+ var firstActiveControl = getFirstActiveControl();
64893
+ if (firstActiveControl && firstActiveControl.ref && firstActiveControl.ref.current) {
64894
+ if (firstActiveControl.ref.current.focus) {
64895
+ firstActiveControl.ref.current.focus();
64896
+ }
64897
+ focusStatus.focus = false;
64898
+ }
64899
+ }
64900
+ });
64901
+ React.useImperativeHandle(ref, function () {
64902
+ return {
64903
+ focus: function focus() {
64904
+ var firstActiveControl = getFirstActiveControl();
64905
+ if (firstActiveControl && firstActiveControl.ref && firstActiveControl.ref.current) {
64906
+ if (firstActiveControl.ref.current.focus) {
64907
+ firstActiveControl.ref.current.focus();
64908
+ }
64909
+ } else {
64910
+ focusStatus.focus = true;
64911
+ }
64912
+ }
64913
+ };
64914
+ });
64691
64915
  var updateControlList = function updateControlList() {
64692
64916
  if (props.fieldValueMap) {
64693
64917
  var _loop = function _loop() {
@@ -64707,6 +64931,14 @@ var FieldIterator = function FieldIterator(props) {
64707
64931
  }
64708
64932
  }
64709
64933
  };
64934
+ var getFirstActiveControl = function getFirstActiveControl() {
64935
+ if (controlList && controlList.length) {
64936
+ return controlList.find(function (x) {
64937
+ return !x.isReadOnly && !x.isDisabled && !x.value;
64938
+ });
64939
+ }
64940
+ return null;
64941
+ };
64710
64942
  var isControlRow = function isControlRow(controlName) {
64711
64943
  if (props.rowFieldList) {
64712
64944
  return props.rowFieldList.includes(controlName);
@@ -64732,7 +64964,8 @@ var FieldIterator = function FieldIterator(props) {
64732
64964
  return onChangeControl(value, name);
64733
64965
  },
64734
64966
  isRow: isControlRow(field.internalName),
64735
- field: field
64967
+ field: field,
64968
+ ref: React.createRef()
64736
64969
  };
64737
64970
  return control;
64738
64971
  };
@@ -64781,18 +65014,19 @@ var FieldIterator = function FieldIterator(props) {
64781
65014
  });
64782
65015
  });
64783
65016
  };
64784
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(ScrollBar, null, controlList.map(function (control) {
65017
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(ScrollBar, null, controlList.map(function (control, index) {
64785
65018
  var component = props.componentMap.find(function (x) {
64786
65019
  return x.name === control.code;
64787
65020
  });
64788
65021
  if (component) {
65022
+ control.index = index;
64789
65023
  return React__default.createElement("div", {
64790
65024
  className: control.isRow ? 'vitro-inline' : 'vitro-block'
64791
65025
  }, React__default.createElement("div", null, React__default.createElement(component.value, control)));
64792
65026
  }
64793
65027
  return null;
64794
65028
  })));
64795
- };
65029
+ });
64796
65030
 
64797
65031
  var styles$N = {"vitro-search":"_search_vitro-search_QkJksC_","vitro-settings-dialog":"_search_vitro-settings-dialog_1_c5bIg","vitro-filter":"_search_vitro-filter_2n-Y-mS","vitro-add-field":"_search_vitro-add-field_2hHt1Z2","vitro-add-field-button":"_search_vitro-add-field-button_30hdXYn","vitro-add-field-dialog":"_search_vitro-add-field-dialog_3gC92SF","vitro-footer":"_search_vitro-footer_1-ya4xk","vitro-button-cancel":"_search_vitro-button-cancel_1M8UkMM"};
64798
65032
 
@@ -64800,9 +65034,28 @@ var Filter = function Filter(props) {
64800
65034
  var _useState = React.useState(null),
64801
65035
  componentMap = _useState[0],
64802
65036
  setComponentMap = _useState[1];
65037
+ var _useState2 = React.useState(null),
65038
+ fieldValueMap = _useState2[0],
65039
+ setFieldValueMap = _useState2[1];
65040
+ var _useState3 = React.useState(null),
65041
+ changedFieldValueMap = _useState3[0],
65042
+ setChangedFieldValueMap = _useState3[1];
64803
65043
  React.useEffect(function () {
64804
65044
  initComponentMap();
64805
65045
  }, [props.componentMap]);
65046
+ React.useEffect(function () {
65047
+ if (changedFieldValueMap) {
65048
+ setFieldValueMap(Object.fromEntries(changedFieldValueMap));
65049
+ }
65050
+ }, [props.fieldList, changedFieldValueMap]);
65051
+ React.useEffect(function () {
65052
+ var valueMap = new Map();
65053
+ props.valueList.map(function (x) {
65054
+ valueMap.set(x.internalName, x);
65055
+ });
65056
+ setFieldValueMap(Object.fromEntries(valueMap));
65057
+ setChangedFieldValueMap(valueMap);
65058
+ }, [props.valueList]);
64806
65059
  var initComponentMap = function initComponentMap() {
64807
65060
  var map = props.componentMap.map(function (component) {
64808
65061
  return {
@@ -64812,7 +65065,8 @@ var Filter = function Filter(props) {
64812
65065
  label: componentProps.label,
64813
65066
  onDelete: props.onDeleteField,
64814
65067
  operatorList: props.operatorList,
64815
- conditionList: props.conditionList,
65068
+ defaultCondition: props.getDefaultCondition && props.getDefaultCondition(component.name),
65069
+ conditionList: props.getConditionList(component.name),
64816
65070
  content: {
64817
65071
  component: component.value,
64818
65072
  props: _extends({}, componentProps, {
@@ -64820,20 +65074,25 @@ var Filter = function Filter(props) {
64820
65074
  })
64821
65075
  },
64822
65076
  onChange: componentProps.onChange,
64823
- isShowOperatorSelect: true
65077
+ isShowOperatorSelect: componentProps.index ? true : false
64824
65078
  });
64825
65079
  }
64826
65080
  };
64827
65081
  });
64828
65082
  setComponentMap(map);
64829
65083
  };
65084
+ var onChange = function onChange(changedFieldValueMap) {
65085
+ setChangedFieldValueMap(changedFieldValueMap);
65086
+ props.onChange(changedFieldValueMap);
65087
+ };
64830
65088
  return React__default.createElement("div", {
64831
65089
  className: styles$N['vitro-filter']
64832
65090
  }, componentMap && React__default.createElement(FieldIterator, {
64833
65091
  fieldList: props.fieldList,
65092
+ fieldValueMap: fieldValueMap,
65093
+ changedFieldValueMap: changedFieldValueMap,
64834
65094
  componentMap: componentMap,
64835
- onChange: props.onChange,
64836
- isClearChangedFieldValueMap: true
65095
+ onChange: onChange
64837
65096
  }));
64838
65097
  };
64839
65098
 
@@ -64864,10 +65123,11 @@ var CheckboxList = function CheckboxList(props) {
64864
65123
  }
64865
65124
  };
64866
65125
  var getSelectedItemList = function getSelectedItemList() {
64867
- return itemList.map(function (item) {
64868
- if (item.value) {
64869
- return item.id;
64870
- }
65126
+ var selectedList = itemList.filter(function (item) {
65127
+ return item.value;
65128
+ });
65129
+ return selectedList.map(function (item) {
65130
+ return item.id;
64871
65131
  });
64872
65132
  };
64873
65133
  var onSearchCancel = function onSearchCancel() {
@@ -64897,7 +65157,7 @@ var CheckboxList = function CheckboxList(props) {
64897
65157
  }, React__default.createElement(Input$1, {
64898
65158
  onCancel: onSearchCancel,
64899
65159
  onChange: onInputChange,
64900
- onEnter: onInputChange,
65160
+ onSubmit: onInputChange,
64901
65161
  className: styles$O['vitro-control']
64902
65162
  }), React__default.createElement(ScrollBar, null, isShowSearchResult ? searchItemList.length ? searchItemList.map(function (item) {
64903
65163
  return getCheckbox(item);
@@ -64963,20 +65223,23 @@ var Search = function Search(props) {
64963
65223
  setIsShowAddFieldDialog(!isShowAddFieldDialog);
64964
65224
  };
64965
65225
  var onFieldListChange = function onFieldListChange(selectedFieldIdList) {
64966
- var newFieldList = [];
64967
65226
  var _loop = function _loop() {
64968
65227
  var id = _step.value;
64969
- var field = props.fieldList.find(function (field) {
64970
- return field.id === id;
65228
+ var field = filterFieldList.find(function (x) {
65229
+ return x.id === id;
64971
65230
  });
64972
- if (field) {
64973
- newFieldList.push(field);
65231
+ if (!field) {
65232
+ var newField = props.fieldList.find(function (x) {
65233
+ return x.id === id;
65234
+ });
65235
+ setFilterFieldList(function (prevState) {
65236
+ return [].concat(prevState, [newField]);
65237
+ });
64974
65238
  }
64975
65239
  };
64976
65240
  for (var _iterator = _createForOfIteratorHelperLoose(selectedFieldIdList), _step; !(_step = _iterator()).done;) {
64977
65241
  _loop();
64978
65242
  }
64979
- setFilterFieldList(newFieldList);
64980
65243
  };
64981
65244
  var closeSettings = function closeSettings() {
64982
65245
  setIsShowAddFieldDialog(false);
@@ -65055,7 +65318,7 @@ var Search = function Search(props) {
65055
65318
  valueList: selectedSearchCriterionList,
65056
65319
  onSettingsClick: onSettingsClick,
65057
65320
  onCancel: onCancel,
65058
- onEnter: onSubmit,
65321
+ onSubmit: onSubmit,
65059
65322
  onChange: onInputChange,
65060
65323
  placeholder: props.inputPlaceholder,
65061
65324
  isSettingsActive: isShowDialog,
@@ -65064,12 +65327,14 @@ var Search = function Search(props) {
65064
65327
  className: styles$N['vitro-settings-dialog']
65065
65328
  }, React__default.createElement(Filter, {
65066
65329
  fieldList: filterFieldList,
65330
+ valueList: selectedSearchCriterionList,
65067
65331
  onChange: onFilterChange,
65068
65332
  componentMap: props.componentMap,
65069
65333
  onDeleteField: onDeleteField,
65070
65334
  operatorList: props.operatorList,
65071
- conditionList: props.conditionList
65072
- }), React__default.createElement("div", {
65335
+ getConditionList: props.getConditionList,
65336
+ getDefaultCondition: props.getDefaultCondition
65337
+ }), filterFieldList.length < props.maxFieldCount && React__default.createElement("div", {
65073
65338
  className: styles$N['vitro-add-field']
65074
65339
  }, React__default.createElement(Button$2, {
65075
65340
  text: props.labelAddField,
@@ -65104,6 +65369,7 @@ exports.Alert = Alert$1;
65104
65369
  exports.Avatar = Avatar;
65105
65370
  exports.Breadcrumbs = Breadcrumbs;
65106
65371
  exports.Button = Button$2;
65372
+ exports.CONTROL = CONTROL;
65107
65373
  exports.Checkbox = Checkbox;
65108
65374
  exports.CommandMenu = CommandMenu;
65109
65375
  exports.CommandMenuButton = CommandMenuButton;