• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

SAP / ui5-webcomponents-react / 11209261422

07 Oct 2024 05:29AM CUT coverage: 87.197% (-0.02%) from 87.215%
11209261422

push

github

web-flow
chore(deps): update dependency eslint-plugin-import to v2.31.0 (#6453)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[eslint-plugin-import](https://redirect.github.com/import-js/eslint-plugin-import)
| [`2.30.0` ->
`2.31.0`](https://renovatebot.com/diffs/npm/eslint-plugin-import/2.30.0/2.31.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-import/2.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-import/2.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-import/2.30.0/2.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-import/2.30.0/2.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>import-js/eslint-plugin-import (eslint-plugin-import)</summary>

###
[`v2.31.0`](https://redirect.github.com/import-js/eslint-plugin-import/blob/HEAD/CHANGELOG.md#2310---2024-10-03)

[Compare
Source](https://redirect.github.com/import-js/eslint-plugin-import/compare/v2.30.0...v2.31.0)

##### Added

- support eslint v9
(\[[#&#8203;2996](https://redirect.github.com/import-js/eslint-plugin-import/issues/2996)],
thanks \[[@&#8203;G-Rath](https://redirect.github.com/G-Rath)]
\[[@&#8203;michaelfaith](https://redirect.github.com/michaelfaith)])
- \[`order`]: allow validating named imports
(\[[#&#8203;3043](https://redirect.github.com/import-js/eslint-plugin-import/issues/3043)],
thanks \[[@&#8203;manuth](https://redirect.github.com/manuth)])
- \[`extensions`]: add the `checkTypeImports` option
(\[[#&#8203;2817](https://redirect.github.com/import-js/eslint-plugin-import/issues/2817)],
thanks \[[@&#8203;phryneas](https... (continued)

2850 of 3809 branches covered (74.82%)

5040 of 5780 relevant lines covered (87.2%)

92134.87 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

4.0
/packages/main/src/components/AnalyticalTable/pluginHooks/useOnColumnResize.ts
1
'use client';
2

3
import { debounce } from '@ui5/webcomponents-react-base';
4
import { useEffect, useRef } from 'react';
5
import type { ReactTableHooks, TableInstance } from '../types/index.js';
6

7
interface useOnColumnResizeOptions {
8
  /**
9
   * If `liveUpdate` is `true`, the resize function will fire every time the width has changed depending on the `options.wait` delay.
10
   */
11
  liveUpdate?: boolean;
12
  /**
13
   * The number of milliseconds for which the calls are to be delayed. __Defaults to `100`__.
14
   *
15
   * __Note:__ If `liveUpdate` is `true`, this option has no effect.
16
   */
17
  wait?: number;
18
}
19

20
type useOnColumnResizeFunc = (e: { columnWidth: number; header: Record<string, any> }) => void;
21

22
/**
23
 * Plugin Hook that adds a callback which is fired on column resize.
24
 *
25
 * @param {event} callback Fired when the column is resized by dragging the "Resizer".
26
 * @param {Object=} options Additional options.
27
 * @param {number=} options.wait If `liveUpdate` is `true`, the resize function will fire every time the width has changed depending on the `options.wait` delay.
28
 * @param {boolean=} options.liveUpdate The number of milliseconds for which the calls are to be delayed. Defaults to `100`.
29
 */
30
export const useOnColumnResize = (callback: useOnColumnResizeFunc, options?: useOnColumnResizeOptions) => {
400✔
31
  const debouncedEvent = debounce(callback, options?.wait ?? 100);
×
32

33
  const useInstance = (instance: TableInstance) => {
×
34
    const { state, columns } = instance;
×
35
    const { columnResizing } = state;
×
36
    const { isResizingColumn, columnWidths } = columnResizing;
×
37
    const prevHeaderIsResizing = useRef(undefined);
×
38

39
    useEffect(() => {
×
40
      if (isResizingColumn && options?.liveUpdate) {
×
41
        const currentHeader = columns.find((item) => item.id === isResizingColumn);
×
42
        debouncedEvent({
×
43
          columnWidth: columnWidths[isResizingColumn],
44
          header: currentHeader
45
        });
46
      }
47
    }, [columnResizing, options?.liveUpdate, columns]);
48

49
    useEffect(() => {
×
50
      if (options?.liveUpdate) {
×
51
        return () => debouncedEvent.cancel();
×
52
      }
53
    }, [options?.liveUpdate]);
54

55
    useEffect(() => {
×
56
      if (!options?.liveUpdate) {
×
57
        const currentHeader = columns.find((item) => item.id === prevHeaderIsResizing.current);
×
58
        if (isResizingColumn) {
×
59
          prevHeaderIsResizing.current = isResizingColumn;
×
60
        }
61
        if (!isResizingColumn && prevHeaderIsResizing.current) {
×
62
          callback({
×
63
            columnWidth: columnWidths[prevHeaderIsResizing.current],
64
            header: currentHeader
65
          });
66
        }
67
      }
68
    }, [columnResizing, options?.liveUpdate, columns]);
69
  };
70

71
  const useOnColumnResizeHooks = (hooks: ReactTableHooks) => {
×
72
    hooks.useFinalInstance.push(useInstance);
×
73
  };
74

75
  useOnColumnResizeHooks.pluginName = 'useOnColumnResize';
×
76

77
  return useOnColumnResizeHooks;
×
78
};
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc