@majoo-ui/react 1.60.40 → 1.60.41

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.
@@ -32,6 +32,7 @@ export interface IInputResourceListProps {
32
32
  renderSelectAll?: JSX.Element;
33
33
  customHeader?: JSX.Element;
34
34
  expandable?: boolean;
35
+ checkDisableItems?: boolean;
35
36
  }
36
- declare function InputResourceList({ data: dataProp, disabled, onItemCheck, onItemUncheck, searchPlaceholder, counterFooter, counterFooterText, isLoading, enabledItems, emptyDataMessage, value, fetchData, onQueryChange, css, wrapperCss, defaultSort, title, hideSelectAll, customHeader, }: IInputResourceListProps): JSX.Element;
37
+ declare function InputResourceList({ data: dataProp, disabled, onItemCheck, onItemUncheck, searchPlaceholder, counterFooter, counterFooterText, isLoading, enabledItems, emptyDataMessage, value, fetchData, onQueryChange, css, wrapperCss, defaultSort, title, hideSelectAll, customHeader, checkDisableItems }: IInputResourceListProps): JSX.Element;
37
38
  export default InputResourceList;
package/index.esm.js CHANGED
@@ -15452,7 +15452,8 @@ function InputResourceList({
15452
15452
  defaultSort,
15453
15453
  title,
15454
15454
  hideSelectAll,
15455
- customHeader
15455
+ customHeader,
15456
+ checkDisableItems
15456
15457
  }) {
15457
15458
  const {
15458
15459
  t
@@ -15461,6 +15462,12 @@ function InputResourceList({
15461
15462
  const [query, setQuery] = useState();
15462
15463
  const [sortType, setSortType] = useState('asc');
15463
15464
  const [data, setData] = useState([]);
15465
+ const filteredValue = useMemo(() => {
15466
+ const dataValues = data.map(({
15467
+ value
15468
+ }) => value);
15469
+ return (value || []).filter(x => dataValues.includes(x.value));
15470
+ }, [JSON.stringify(value), JSON.stringify(data)]);
15464
15471
  const scrollerRef = useRef(null);
15465
15472
  useEffect(() => {
15466
15473
  function filterUnique(params) {
@@ -15490,7 +15497,7 @@ function InputResourceList({
15490
15497
  children: [jsxs(Flex$1, Object.assign({
15491
15498
  align: "center"
15492
15499
  }, {
15493
- children: [jsx(InputCheckbox, {
15500
+ children: [jsx(InputCheckbox, Object.assign({
15494
15501
  label: jsxs(Flex$1, Object.assign({
15495
15502
  gap: 3,
15496
15503
  align: "center"
@@ -15522,7 +15529,9 @@ function InputResourceList({
15522
15529
  index: index,
15523
15530
  value: resource.value,
15524
15531
  disabled: isDisabled
15525
- }, void 0), (resource === null || resource === void 0 ? void 0 : resource.icon) && jsx(Box, Object.assign({
15532
+ }, Object.assign({}, checkDisableItems && isDisabled && {
15533
+ checked: isDisabled
15534
+ })), void 0), (resource === null || resource === void 0 ? void 0 : resource.icon) && jsx(Box, Object.assign({
15526
15535
  css: {
15527
15536
  marginLeft: '$spacing-03'
15528
15537
  }
@@ -15622,13 +15631,14 @@ function InputResourceList({
15622
15631
  }), void 0);
15623
15632
  }
15624
15633
  function toggleCheckAll() {
15625
- if ((value === null || value === void 0 ? void 0 : value.length) && (value === null || value === void 0 ? void 0 : value.length) < (data === null || data === void 0 ? void 0 : data.length) || (value === null || value === void 0 ? void 0 : value.length) === (data === null || data === void 0 ? void 0 : data.length)) {
15626
- for (let i = 0; i < (value === null || value === void 0 ? void 0 : value.length); i++) {
15627
- onItemUncheck === null || onItemUncheck === void 0 ? void 0 : onItemUncheck(value === null || value === void 0 ? void 0 : value[i]);
15634
+ if ((filteredValue === null || filteredValue === void 0 ? void 0 : filteredValue.length) && (filteredValue === null || filteredValue === void 0 ? void 0 : filteredValue.length) < (data === null || data === void 0 ? void 0 : data.length) || (filteredValue === null || filteredValue === void 0 ? void 0 : filteredValue.length) === (data === null || data === void 0 ? void 0 : data.length)) {
15635
+ for (let i = 0; i < filteredValue.length; i++) {
15636
+ onItemUncheck === null || onItemUncheck === void 0 ? void 0 : onItemUncheck(filteredValue === null || filteredValue === void 0 ? void 0 : filteredValue[i]);
15628
15637
  }
15629
15638
  } else {
15630
15639
  for (let i = 0; i < (data === null || data === void 0 ? void 0 : data.length); i++) {
15631
- onItemCheck === null || onItemCheck === void 0 ? void 0 : onItemCheck(data === null || data === void 0 ? void 0 : data[i]);
15640
+ const isEnabled = enabledItems ? enabledItems.find(id => id === (data === null || data === void 0 ? void 0 : data[i].value)) || enabledItems.length === 0 : true;
15641
+ if (isEnabled) onItemCheck === null || onItemCheck === void 0 ? void 0 : onItemCheck(data === null || data === void 0 ? void 0 : data[i]);
15632
15642
  }
15633
15643
  }
15634
15644
  }
@@ -15656,8 +15666,8 @@ function InputResourceList({
15656
15666
  }
15657
15667
  }, {
15658
15668
  children: [!hideSelectAll && jsx(InputCheckbox, {
15659
- checked: (value === null || value === void 0 ? void 0 : value.length) === (data === null || data === void 0 ? void 0 : data.length) && data.length > 0,
15660
- indeterminate: Boolean((value === null || value === void 0 ? void 0 : value.length) && (value === null || value === void 0 ? void 0 : value.length) < (data === null || data === void 0 ? void 0 : data.length)),
15669
+ checked: (filteredValue === null || filteredValue === void 0 ? void 0 : filteredValue.length) === (data === null || data === void 0 ? void 0 : data.length) && data.length > 0,
15670
+ indeterminate: Boolean((filteredValue === null || filteredValue === void 0 ? void 0 : filteredValue.length) && (filteredValue === null || filteredValue === void 0 ? void 0 : filteredValue.length) < (data === null || data === void 0 ? void 0 : data.length)),
15661
15671
  onCheckedChange: toggleCheckAll,
15662
15672
  css: {
15663
15673
  marginRight: '$spacing-02'
package/index.umd.js CHANGED
@@ -15614,7 +15614,8 @@
15614
15614
  defaultSort = _a.defaultSort,
15615
15615
  title = _a.title,
15616
15616
  hideSelectAll = _a.hideSelectAll,
15617
- customHeader = _a.customHeader;
15617
+ customHeader = _a.customHeader,
15618
+ checkDisableItems = _a.checkDisableItems;
15618
15619
  var t = reactI18next.useTranslation(['MajooUI/inputResourceList', 'translation']).t;
15619
15620
  var _e = React.useState([]),
15620
15621
  checkedResources = _e[0],
@@ -15628,6 +15629,15 @@
15628
15629
  var _h = React.useState([]),
15629
15630
  data = _h[0],
15630
15631
  setData = _h[1];
15632
+ var filteredValue = React.useMemo(function () {
15633
+ var dataValues = data.map(function (_a) {
15634
+ var value = _a.value;
15635
+ return value;
15636
+ });
15637
+ return (value || []).filter(function (x) {
15638
+ return dataValues.includes(x.value);
15639
+ });
15640
+ }, [JSON.stringify(value), JSON.stringify(data)]);
15631
15641
  var scrollerRef = React.useRef(null);
15632
15642
  React.useEffect(function () {
15633
15643
  function filterUnique(params) {
@@ -15663,7 +15673,7 @@
15663
15673
  children: [jsxRuntime.jsxs(Flex$1, __assign({
15664
15674
  align: "center"
15665
15675
  }, {
15666
- children: [jsxRuntime.jsx(InputCheckbox, {
15676
+ children: [jsxRuntime.jsx(InputCheckbox, __assign({
15667
15677
  label: jsxRuntime.jsxs(Flex$1, __assign({
15668
15678
  gap: 3,
15669
15679
  align: "center"
@@ -15697,7 +15707,9 @@
15697
15707
  index: index,
15698
15708
  value: resource.value,
15699
15709
  disabled: isDisabled
15700
- }, void 0), (resource === null || resource === void 0 ? void 0 : resource.icon) && jsxRuntime.jsx(Box, __assign({
15710
+ }, __assign({}, checkDisableItems && isDisabled && {
15711
+ checked: isDisabled
15712
+ })), void 0), (resource === null || resource === void 0 ? void 0 : resource.icon) && jsxRuntime.jsx(Box, __assign({
15701
15713
  css: {
15702
15714
  marginLeft: '$spacing-03'
15703
15715
  }
@@ -15809,13 +15821,19 @@
15809
15821
  }), void 0);
15810
15822
  }
15811
15823
  function toggleCheckAll() {
15812
- if ((value === null || value === void 0 ? void 0 : value.length) && (value === null || value === void 0 ? void 0 : value.length) < (data === null || data === void 0 ? void 0 : data.length) || (value === null || value === void 0 ? void 0 : value.length) === (data === null || data === void 0 ? void 0 : data.length)) {
15813
- for (var i = 0; i < (value === null || value === void 0 ? void 0 : value.length); i++) {
15814
- onItemUncheck === null || onItemUncheck === void 0 ? void 0 : onItemUncheck(value === null || value === void 0 ? void 0 : value[i]);
15824
+ if ((filteredValue === null || filteredValue === void 0 ? void 0 : filteredValue.length) && (filteredValue === null || filteredValue === void 0 ? void 0 : filteredValue.length) < (data === null || data === void 0 ? void 0 : data.length) || (filteredValue === null || filteredValue === void 0 ? void 0 : filteredValue.length) === (data === null || data === void 0 ? void 0 : data.length)) {
15825
+ for (var i = 0; i < filteredValue.length; i++) {
15826
+ onItemUncheck === null || onItemUncheck === void 0 ? void 0 : onItemUncheck(filteredValue === null || filteredValue === void 0 ? void 0 : filteredValue[i]);
15815
15827
  }
15816
15828
  } else {
15829
+ var _loop_1 = function _loop_1(i) {
15830
+ var isEnabled = enabledItems ? enabledItems.find(function (id) {
15831
+ return id === (data === null || data === void 0 ? void 0 : data[i].value);
15832
+ }) || enabledItems.length === 0 : true;
15833
+ if (isEnabled) onItemCheck === null || onItemCheck === void 0 ? void 0 : onItemCheck(data === null || data === void 0 ? void 0 : data[i]);
15834
+ };
15817
15835
  for (var i = 0; i < (data === null || data === void 0 ? void 0 : data.length); i++) {
15818
- onItemCheck === null || onItemCheck === void 0 ? void 0 : onItemCheck(data === null || data === void 0 ? void 0 : data[i]);
15836
+ _loop_1(i);
15819
15837
  }
15820
15838
  }
15821
15839
  }
@@ -15843,8 +15861,8 @@
15843
15861
  }
15844
15862
  }, {
15845
15863
  children: [!hideSelectAll && jsxRuntime.jsx(InputCheckbox, {
15846
- checked: (value === null || value === void 0 ? void 0 : value.length) === (data === null || data === void 0 ? void 0 : data.length) && data.length > 0,
15847
- indeterminate: Boolean((value === null || value === void 0 ? void 0 : value.length) && (value === null || value === void 0 ? void 0 : value.length) < (data === null || data === void 0 ? void 0 : data.length)),
15864
+ checked: (filteredValue === null || filteredValue === void 0 ? void 0 : filteredValue.length) === (data === null || data === void 0 ? void 0 : data.length) && data.length > 0,
15865
+ indeterminate: Boolean((filteredValue === null || filteredValue === void 0 ? void 0 : filteredValue.length) && (filteredValue === null || filteredValue === void 0 ? void 0 : filteredValue.length) < (data === null || data === void 0 ? void 0 : data.length)),
15848
15866
  onCheckedChange: toggleCheckAll,
15849
15867
  css: {
15850
15868
  marginRight: '$spacing-02'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@majoo-ui/react",
3
- "version": "1.60.40",
3
+ "version": "1.60.41",
4
4
  "dependencies": {
5
5
  "@majoo-ui/core": "^1.31.3",
6
6
  "@majoo-ui/helpers": "^1.30.5",