Toggle Select All previous

 avatar
unknown
javascript
9 months ago
1.3 kB
1
Indexable
const toggleSelectAll = () => {
    setSelectAll(!selectAll);
    if (!selectAll) {
      const allRows = posts.map((data) => ({
        id: data.id,
        status: data.status,
        work_unit_id: data.work_unit_id,
        serial_number: data.serial_number
      }));
      const limitedRows = [];
      const limitedSN = [];
      const limitedWorkUnit = [];
      let inStockCount = selectedRows.filter((row) => posts.find((post) => post.id === row.id)?.status === 'In Stock').length;

      // Filter berdasarkan status "In Stock" dan batas maksimum
      allRows.forEach((data) => {
        if (data.status === 'In Stock') {
          if (inStockCount < maxLimit) {
            limitedRows.push({ id: data.id });
            limitedSN.push(data.serial_number);
            limitedWorkUnit.push(data.work_unit_id);
            inStockCount++;
          }
        } else {
          limitedRows.push({ id: data.id });
          limitedSN.push(data.serial_number);
          limitedWorkUnit.push(data.work_unit_id);
        }
      });
      setSelectedRows([...selectedRows, ...limitedRows]);
      setSelectedSN([...selectedSN, ...limitedSN]);
      setSelectedWorkUnit([...selectedWorkUnit, ...limitedWorkUnit]);
    } else {
      setSelectedRows([]);
      setSelectedSN([]);
      setSelectedWorkUnit([]);
    }
  };
Editor is loading...
Leave a Comment