consta-design-system / uikit

https://consta.design/libs/uikit
MIT License
235 stars 94 forks source link

docs: Не верные ссылки #3776

Open Bodyu-KS-82 opened 1 month ago

Bodyu-KS-82 commented 1 month ago

Полные правила оформления issue

Добрый день! Помогите пожалуйста разобраться, с функциями библиотеки.

Не работает вызов контекстного меню, по правой кнопки мыши! На стайте https://consta.design, есть ссылка на пример с вызовом контекстного меню и опубликован такой пример: https://consta.design/libs/uikit/components-table-stable?hash=пример-таблицы-с-обработкой-клика-по-ячейке

но на странице, сам пример не работает в части вызова контекстного меню при клике правой кнопкой мыши, так как при обработке в таблице события onCellClick={handleCellClickMenu} при выполнении handleCellClickMenu возвращается только type === 'click', по левой кнопке мыши, а по клику правой кнопки мыши, type ==='contextMenu' не возвращается.

то есть на странице https://consta.design/libs/uikit/components-table-stable/dev?hash=обработка-клика-по-ячейке описано, что: type: 'click' | 'contextMenu' — тип клика

но по факту возвращается только "click" https://consta.design/libs/uikit/components-table-stable/dev?hash=обработка-клика-по-ячейке

const handleCellClickMenu: onCellClick = ({e, type, rowId, columnIdx, ref})=>{ e.preventDefault(); if(type === 'click' ){ console.log (++click+++ Обычный клик, по ячейке columnIdx: "${columnIdx}", в строке: "${rowId}", в type: ${type}, в ref ${ref}, в e: ${e}); } else { setRef(ref); setIsShow(true); } };

делал для таблицы:

const tableJournal = <Table size='m' borderBetweenColumns borderBetweenRows getCellWrap={(row) => 'truncate'} rows = {rowDataJournal} columns = {colDefsJournal} stickyColumns={1} stickyHeader onCellClick={handleCellClickMenu} />

для рендера <div style={{ width: '100%', height: '75%' }}> {tableJournal} {show && ref && ( <ContextMenu items={menuItems} getItemLabel = {getLabel} anchorRef={ref} direction = "downStartLeft" onClickOutside = {()=>setIsShow(false)} possibleDirections = {['downStartLeft']} />

Как воспроизвести баг (опционально)
https://consta.design/libs/uikit/components-table-stable?hash=пример-таблицы-с-обработкой-клика-по-ячейке

Ожидаемое поведение (опционально)
вызова контекстного меню не произойдет

Если баг в коде, необходимо заполнить поля ниже ↧

Версия Consta Kit Последняя

Параметры софта на компьютере:

Дополнительная информация Использую библиотеку, для создания системы АСДПО (допуск подрядчиков на пром. объекты). Прикрепил скрин, но толку от него мало, на нем, только отображение клика левой кнопки мыши, при нажатии правой, передача type: 'contextMenu' не происходит.

gizeasy commented 1 month ago
gizeasy commented 1 month ago

@Bodyu-KS-82, можете взять новую таблицу, https://consta.design/libs/table/components-table-stable и через renderCell прокинуть любой компонент для отрисовки данных, к примеру: ваш компонент с контекстным меню.

Bodyu-KS-82 commented 1 month ago

Добрый день! использовал новую таблицу: import { DataCell } from '@consta/table/DataCell'; import { Table, TableColumn, TableRenderCell } from '@consta/table/Table'; сделал необходимые функциональные поля ввода, все замечательно и в корпоративной стилистике! Но вот с контекстным меню, по клику правой кнопкой мыши по строке (ячейкам строки), так ничего не получилось и в новой таблице. Не выводится меню, не срабатывает по клику ПКМ на полях таблицы обернутые стилем Consta, не выполняется event.preventDefault(), выводится только стандартное меню правой кнопки мыши для браузера. Может есть какой-нибудь пример?

DataCell Пример кода.txt