diff --git a/docs/accessibility.md b/docs/accessibility.md new file mode 100644 index 00000000..929928d1 --- /dev/null +++ b/docs/accessibility.md @@ -0,0 +1,449 @@ +--- +sidebar_label: Accessibility +title: Accessibility +description: Make DHTMLX Spreadsheet accessible to keyboard and screen-reader users. Learn about the WAI-ARIA support, keyboard navigation, screen-reader announcements and high-contrast themes that target WCAG 2.2 AA. +--- + +# Accessibility in DHTMLX Spreadsheet + +This guide is for developers who embed DHTMLX Spreadsheet in an application that has to meet accessibility requirements. Use it to check the component against your checklist and to configure it for keyboard, screen reader and high-contrast users. + +The Spreadsheet renders WAI-ARIA roles and states as part of its markup. The keyboard focus stays on the active cell, and the toolbar, the menu bar and the sheet tabs are one tab stop each. Changes that have no element of their own, such as a refused edit or a search result, go to a live region that screen readers read aloud. + +:::info Target conformance +DHTMLX Spreadsheet is designed to meet **WCAG 2.2 Level AA**, **Section 508** of the U.S. Rehabilitation Act, and **EN 301 549** (the technical baseline of the European Accessibility Act). + +Conformance is reported criterion by criterion for DHTMLX Spreadsheet 6.0.4. The detailed **Accessibility Conformance Report (VPAT® 2.5)** is available: [Accessibility Conformance Report](accessibility_conformance_report.md). +::: + +## Capabilities + +| Area | Support | +| ---- | ------- | +| Keyboard operation | Every command on the cells has a key. The toolbar, the menu bar and the sheet tabs are single tab stops navigated with the arrow keys. The column width, the row height and the column filter have context menu commands, so they don't require dragging or a click on an icon | +| WAI-ARIA semantics | The cells are a `grid` with `columnheader`, `rowheader` and `gridcell` elements. The roles are always rendered | +| Focus model | The keyboard focus is on the active cell. Tab enters the sheet on the active cell and leaves it from the last and the first cell. Ctrl + F6 moves the focus between the menu, the toolbar, the sheet and the sheet tabs | +| Selection model | The active cell, a range and several ranges are exposed through `aria-selected`, and the extent of a range is announced. The selection can be turned off with the [`selection`](api/spreadsheet_selection_config.md) option | +| Read-only mode | The sheet can be navigated, selected, copied and searched; edits are refused and announced, and the context menu is not available | +| Screen readers | Tested with NVDA, JAWS and VoiceOver | +| Visual accessibility | The `contrast-light` and `contrast-dark` themes, a visible focus indicator in every theme, and cues that don't depend on color | +| Text resize and zoom | The layout stays operable at 200% and 400% zoom and with text spacing overrides | +| Customization | The public [`announce()`](api/spreadsheet_announce_method.md) method for your own messages, and translatable `aria_*` locale strings for every built-in name and announcement | +| Standards | WCAG 2.2 AA, Section 508, EN 301 549 | + +## Covered areas + +This guide covers the Spreadsheet widget: + +- the cells, the column and row headers, merged cells and frozen rows and columns +- the selection: the active cell, ranges and several ranges +- the formula bar and the cell editors, including the editor of a cell with a list of values +- the toolbar with its color and border popups, the menu bar and the context menus +- the sheet tabs +- sorting, filtering, search, data validation, links in cells, import and export +- the themes and the focus indicator + +The accessibility of the final page also depends on the host application. See [Host-page responsibilities](#host-page-responsibilities). + +## WAI-ARIA support + +The Spreadsheet adds WAI-ARIA roles and attributes to its markup automatically, and you can't turn them off. Each part of the widget has its own role and name, and the names come from the [locale](#localization). + +### Spreadsheet container + +The parts of the Spreadsheet are separate named controls: + +| Part | Role / attribute | Accessible name | +| ---- | ---------------- | --------------- | +| Menu bar | `role="menubar"` + `aria-label` | "Main" | +| Toolbar | `role="toolbar"` + `aria-label` | "Formatting" | +| Formula bar | `aria-label` on the input | "Formula bar, B7", with the address of the active cell | +| Cells | `role="grid"` + `aria-label` | "Spreadsheet" | +| Sheet tabs | `role="toolbar"` + `aria-label` | "Sheets" | +| Live region | `role="status"`, `aria-live="polite"`, `aria-atomic="true"` | visually hidden, placed next to the grid outside `role="grid"` | + +The root element of the Spreadsheet has no landmark role, so you can place it inside the landmark that fits your page. + +### Cell surface + +The following attributes describe the cells as a whole. The `.dhx_grid-content` element carries them: + +| Selector | Role / attribute | Purpose | +| -------- | ---------------- | ------- | +| `.dhx_grid-content` | `role="grid"` | The interactive grid of cells | +| `.dhx_grid-content` | `aria-label` | "Spreadsheet", from the `aria_grid` locale key | +| `.dhx_grid-content` | `aria-rowcount` | The number of rows of the sheet plus the header row | +| `.dhx_grid-content` | `aria-colcount` | The number of visible columns plus the column of row numbers | +| `.dhx_grid-content` | `aria-readonly` | `"true"` in the [read-only mode](api/spreadsheet_readonly_config.md) and while the [selection](api/spreadsheet_selection_config.md) is turned off | +| `.dhx_grid-content` | `aria-multiselectable` | `"true"`; `"false"` while the selection is turned off | + +### Rows and cells + +The following table lists the roles and the position and state attributes of the rows and the cells: + +| Selector | Role / attribute | Purpose | +| -------- | ---------------- | ------- | +| Row | `role="row"` + `aria-rowindex` | A row of the sheet. Row 1 of the sheet has `aria-rowindex="2"`, since the column header is the first row | +| Cell | `role="gridcell"` + `aria-colindex` | A cell. Column A has `aria-colindex="2"`, since the row numbers are the first column | +| Row number | `role="rowheader"` | The header of the row | +| Cell | `aria-selected` | `"true"` on the active cell and on every cell of the selected ranges | +| Cell | `aria-readonly` | `"true"` in the read-only mode, while the [selection](api/spreadsheet_selection_config.md) is turned off, and on [locked cells](work_with_cells.md#locking-cells) | +| Cell | `tabindex` | `"0"` on the active cell and `"-1"` on the other cells, so the cells are one tab stop | +| Active cell | DOM focus | The keyboard focus is on the active cell itself, not on a separate input. While the cell is edited, the focus is on the cell editor | +| Merged cell | `aria-colspan` / `aria-rowspan` | The number of columns or rows that the merged cell spans. The cells it covers are hidden with `aria-hidden="true"` | +| Link in a cell | `` with `target="_blank"` and `rel="noopener noreferrer"` | A link with the `http`, `https`, `mailto`, `ftp` or `tel` scheme | + +A cell also contains visually hidden text, which screen readers read together with the value: + +| Hidden text | When | +| ----------- | ---- | +| The cell address, for example, "B7" | On the active cell and on every cell of a selected range. Screen readers read the address before the value | +| "link" | On a selected cell with a link. Alt + Enter opens the link | +| "locked" | On a selected locked cell | +| A description of the formula error, for example, "Reference error. Check the cell references" | On a cell with a formula error | +| "Invalid value. Choose a value from the list" | On a cell whose value is not in its [list of values](work_with_cells.md#using-drop-down-lists-in-cells) | +| "Filter" / "Filter applied" | On a cell with the filter icon | + +### Column and row headers + +| Selector | Role / attribute | Purpose | +| -------- | ---------------- | ------- | +| Column letter | `role="columnheader"` + `aria-colindex` | The header of the column | +| Select-all corner | `role="columnheader"` | Named "Select all" | +| Row number | `role="rowheader"` | The header of the row | +| Column menu icon, icons of hidden rows and columns | `aria-hidden="true"` | Decorative. The commands are in the context menu | + +The headers are not tab stops. A click on a column letter, a row number or the corner selects the rows or columns and returns the focus to the active cell. + +### Formula bar and editors + +| Selector | Role / attribute | Purpose | +| -------- | ---------------- | ------- | +| Formula bar input | `aria-label` | "Formula bar, B7", with the address of the active cell. The input is `readonly` on a locked cell, so its value can still be read. While the selection is turned off, the formula bar is empty and locked | +| Cell editor input | `aria-label` | "Cell editor, B7" | +| Editor of a cell with a list of values | `role="combobox"`, `aria-controls`, `aria-expanded`, `aria-activedescendant` | The list of values is a `listbox` of `option` elements, and the highlighted option is `aria-selected` | +| Editor with an invalid value | `aria-invalid="true"` | The saved value of the cell is not in its list of values. The attribute is updated after the value is saved, not while the user types | +| Close icon of the formula help | `role="button"` + `aria-label` | "Close formula help" | + +### Toolbar and menus + +| Selector | Role / attribute | Purpose | +| -------- | ---------------- | ------- | +| Toolbar | `role="toolbar"` + `aria-label` | "Formatting"; the toolbars of the Border popup, the search bar and the link popup are named "Borders", "Search" and "Link" | +| Toolbar button | `aria-label` | The value of the button. An icon button is named by its tooltip, for example, "Bold (ctrl+b)". The icons are hidden with `aria-hidden="true"` | +| Bold, Italic, Underline, Strikethrough, Lock, Filter | `aria-pressed` | Whether the formatting or the filter is on | +| Button that opens a dropdown | `aria-haspopup="menu"`, `aria-expanded` | The dropdown is a `menu` named after its button | +| Alignment, text wrapping, number formats | `role="menuitemradio"` + `aria-checked` | One option of an exclusive set | +| Text color, Background color, Border color | `aria-label` | The name of the control and of the current color, for example, "Text color: dark gray" | +| Color palette | `role="grid"` of `gridcell` elements | The grid is named "Color palette". Each color cell is named after its color, and the chosen one has `aria-selected="true"` | +| Border style list | `role="listbox"` of `option` elements | The options are named "Thin line", "Medium line", "Thick line", "Dashed line", "Dotted line", "Double line" | +| Menu bar | `role="menubar"` + `aria-label` | "Main". Its items open popups with `role="menu"`. In the popups, the formatting items have `role="menuitemcheckbox"`, and the alignment, text wrapping and number format items have `role="menuitemradio"`. Both report their state with `aria-checked` | +| Context menus | `role="menu"` + `aria-label` | "Cell" for the cells and "Sheet" for the sheet tabs | + +### Sheet tabs + +| Selector | Role / attribute | Purpose | +| -------- | ---------------- | ------- | +| Sheet tab bar | `role="toolbar"` + `aria-label` | "Sheets" | +| Sheet tab | `button` + `aria-pressed` | The tab is named after its sheet. The tab of the active sheet has `aria-pressed="true"` | +| Add sheet button | `aria-label` | "Add sheet" | + +### Dialogs + +| Selector | Role / attribute | Purpose | +| -------- | ---------------- | ------- | +| Column width and Row height dialogs | `role="dialog"`, `aria-modal="true"`, `aria-label` | Named by the dialog title. The input is labeled "Width in pixels" / "Height in pixels" | +| Search bar | `role="dialog"` + `aria-label` | Named "Search". The search input is labeled "Search", and the buttons are named "Previous match", "Next match" and "Close search" | +| Insert link, Data validation | `role="dialog"` + `aria-label` | Named by the dialog title | +| Alerts | `role="alertdialog"`, `aria-modal="true"`, `aria-labelledby`, `aria-describedby` | Named by the alert header and described by its text | + +### Hidden and decorative elements + +The Spreadsheet hides decorative parts from assistive technology with `aria-hidden="true"`. These are the lock, filter and column menu icons, the icons of hidden rows and columns, and the select-all icon. The layer that draws the selection, the copy and search highlights and the fill handle is hidden as well. So are the colored copy of the formula in the formula bar and the cells covered by a merged cell. Layout wrappers have `role="presentation"`. The focus sentinels before and after the grid only pass the focus to the active cell. + +## Selection and editing model + +The DOM focus is on the active cell itself, so a screen reader reads the cell, not a separate input. When the active cell moves, the screen reader reads the address of the new cell first, then its value and its hidden descriptions. When the user selects a range with the keyboard or the mouse, the screen reader announces the extent of the range once the selection stops changing. A cell shared by several ranges is counted once, and the cells of hidden rows and columns are counted. Nothing is announced while a cell is edited. When a range is reduced to the active cell, the address of the cell is announced. + +| Situation | What the screen reader gets | +| --------- | --------------------------- | +| The active cell moves | The cell with its address, value and descriptions, for example, "B7, 120, locked" | +| A range is selected | "B2 to D7, 18 cells" | +| Several ranges are selected with Ctrl | "B2 to B4, D2 to D4, 6 cells" | +| The editor opens with Enter, F2 or typing | The editor input named "Cell editor, B7" | +| The editor of a cell with a list of values opens | An expanded combobox. After ↑ or ↓, the highlighted option of the list is read | +| The edit is saved | New formula errors in the edited cells and in the cells that depend on them, and invalid values in the edited cells, are announced | +| An edit of a locked cell is refused | "The cell is locked" | +| An editing key is pressed in the read-only mode | "The sheet is read-only" | + +Enter, F2 or typing opens the editor. Enter saves the value and moves down, Tab saves it and moves right, and Esc cancels the edit. + +## Keyboard navigation + +The keyboard works as soon as the Spreadsheet is on the page; no configuration is needed. The tables below summarize the keyboard model. See [Hot keys list](hotkeys.md) for the complete set of shortcuts. + +![The Horizontal align dropdown of the toolbar opened with the Down arrow key, with the focus on its first item](/img/accessibility/toolbar_dropdown_focus.png) + +### Cells + +| Keys | Action | +| ---- | ------ | +| Arrow keys | Move the active cell. The active cell stops at the first and last visible row and column | +| Shift + arrow keys | Extend the selected range | +| Home / End | Move to the first or the last visible cell of the row | +| Ctrl + arrow keys, Ctrl + Home / End | Move to the edge of the sheet | +| Tab / Shift + Tab | Move right or left within the row. From the last or the first cell of the sheet, move the focus out of the cells to the next or the previous part of the page, for example, the sheet tabs or the formula bar | +| Enter, F2 | Open the editor | +| Esc | Close the editor without saving | +| Ctrl + Space / Shift + Space | Select the column or the row | +| Ctrl + Shift + 9 / 0 | Show the hidden rows or columns inside the selected range | +| Alt + Enter | Open the link of the active cell | +| Shift + F10 or the Menu key | Open the context menu with the commands for the cell, or for the column after Ctrl + Space | +| Alt + ↑ / ↓, Ctrl + Alt + Page Down / Page Up | Switch to the next or the previous sheet | + +### Moving between the parts + +| Keys | Action | +| ---- | ------ | +| Ctrl + F6 / Ctrl + Shift + F6 | Move the focus to the next or the previous part: the menu, the toolbar, the sheet, the sheet tabs. The formula bar and hidden parts are skipped. An open edit is saved first | +| Tab / Shift + Tab | Move the focus to the next or the previous part in the page tab order. Each bar is one tab stop, and the focus lands on the control used last | + +### Toolbar, menu bar and sheet tabs + +| Keys | Action | +| ---- | ------ | +| ← / →, Home / End | Move between the controls of the bar | +| Enter / Space | Press the control: run the command, open the dropdown or switch to the sheet | +| ↓ | Open the dropdown and move the focus to its first item | +| ↑ / ↓ | Move between the items of an open dropdown or menu | +| → / ← | Open or close a submenu | +| Esc | Close the dropdown or the menu and return the focus to its control | + +### Popups and dialogs + +| Keys | Action | +| ---- | ------ | +| Arrow keys, Home / End | Move between the colors of the color palette | +| Enter | Apply the color, the border, or the size in the Column width and Row height dialogs | +| Esc | Close the popup, the dialog or the search bar and return the focus to the control or the cell that opened it. In the custom color mode, return to the palette. In a color or style popup opened from the Border popup, close it and return the focus to its button in the Border popup | +| Tab / Shift + Tab | Move between the controls of a dialog or of the custom color mode. In a color popup or the Border popup, close it and return the focus to its toolbar button | +| ↑ / ↓, Enter | Move through the list of values of a cell and choose a value | + +:::note +Pointer-only actions have keyboard alternatives. The *Column width* and *Row height* commands of the context menu set an exact size without dragging, and the *Open filter* command opens a filter without a click on its icon. +::: + +## Assistive technology + +The DHTMLX team tests the Spreadsheet with the following screen readers: + +| Screen reader | Browser | Platform | +| ------------- | ------- | -------- | +| NVDA | Firefox | Windows | +| JAWS | Chrome | Windows | +| VoiceOver | Safari | macOS | + +Screen readers get each state from the element it belongs to: + +| State | Exposed through | Read on | +| ----- | --------------- | ------- | +| Position | `aria-rowindex`, `aria-colindex`, and the cell address in the cell text | Each cell. The address is in the text of the active cell and of the cells of the selected ranges | +| Selection | `aria-selected` | The active cell and the cells of the selected ranges | +| Editability | `aria-readonly` | The grid and the cells in the read-only mode and while the selection is turned off, and locked cells | +| Merged cells | `aria-colspan`, `aria-rowspan` | The merged cell | +| Row headers | `role="rowheader"` | The row numbers | +| Toggle state | `aria-pressed` | The Bold, Italic, Underline, Strikethrough, Lock and Filter buttons and the sheet tabs | +| Checked state | `aria-checked` | The formatting items of the menu bar, and the alignment, text wrapping and number format items | +| Errors and invalid values | Hidden text in the cell, `aria-invalid` | The cell and its editor | +| Links | `` and the hidden text "link" | The cell with a link | + +## High contrast and focus + +### Themes + +The Spreadsheet has four built-in themes: `light` (default), `dark`, `contrast-light` and `contrast-dark`. The `contrast-light` and `contrast-dark` themes meet the WCAG AA contrast requirements for text. Switch a theme with the `dhx.setTheme()` method or with the `data-dhx-theme` attribute: + +~~~jsx +dhx.setTheme("contrast-light"); // or "contrast-dark" +~~~ + +See the [Built-in themes](/themes/) article for the details. + +In the light themes, the colors that mark the cell references of a formula have a contrast of at least 4.5:1. + +The `contrast-light` theme draws dark text and borders on a white background. In the Spreadsheet below, the context menu of a cell with the filter icon is opened with the keyboard. Its focused command, [*Open filter*](filtering_data.md#opening-a-filter-with-the-keyboard), is marked by a dashed outline, and the active cell is marked by a solid border in the primary color of the theme: + +![Spreadsheet in the contrast-light theme](/img/accessibility/spreadsheet_contrast_light.png) + +The `contrast-dark` theme draws light text and borders on a dark background. When the focus is on a toolbar control, the control is marked by a focus ring in the `--dhx-spreadsheet-focus-color` color, which is lighter than the primary color of the active cell border in the dark themes: + +![Spreadsheet in the contrast-dark theme](/img/accessibility/spreadsheet_contrast_dark.png) + +### Focus indicator + +The keyboard focus is shown in every theme: + +- the active cell has a 2px solid border in the primary color of the theme +- a cell and the cell editor that have the keyboard focus get a 2px outline in the primary color of the theme +- the formula bar and the controls of the toolbar, the menu bar, the sheet tabs, the Border popup, the link popup and the search bar get a 2px outline in the color of the `--dhx-spreadsheet-focus-color` variable +- in the color palette, the border style list, the dropdowns of the toolbar and the menu bar, and the context menus, the focused item gets a 1px dashed outline in the `--dhx-color-focused` color +- in the list editor of a cell, the focus stays in the editor, and the current item of the list is highlighted with a background color + +The `--dhx-spreadsheet-focus-color` variable is lighter than the primary color in the dark themes and can be redefined in a [custom theme](themes/custom_theme.md). The contrast of each indicator in each theme is given in the [Accessibility Conformance Report](accessibility_conformance_report.md). + +### Color and zoom + +- **Color is not the only signal.** The active cell and the selection have a border and a fill, an invalid value has a marker and a hidden description, and the formatting buttons report their state through `aria-pressed`. The color buttons have the name of the color in their accessible name. +- **Zoom and reflow.** The Spreadsheet stays operable at 200% and 400% zoom. The cells scroll in two directions, and the toolbar, the menu bar and the sheet tabs fit a width of 320 CSS px. +- **Text spacing.** With the WCAG text spacing overrides, no control label is cut, and the sheet tab bar scrolls when the tabs grow. +- **Scrolling into view.** The active cell is scrolled into view next to the frozen rows and columns. + +## Status announcements + +The Spreadsheet announces the changes that have no element of their own through a polite live region, so the screen reader finishes the current sentence first: + +| Event | Announced text | Locale key | +| ----- | -------------- | ---------- | +| A range is selected | "B2 to D7, 18 cells" | `aria_selectedRange`, `aria_rangeExtent`, `aria_rangeSeparator` | +| An edit causes a formula error or an invalid value | "B7: Reference error. Check the cell references" | `aria_cellMessage` | +| An edit causes several errors / invalid values | "3 new errors. B7: ..." / "3 invalid values. B7: ..." | `aria_newErrors`, `aria_invalidValues` | +| An edit of a locked cell / range is refused | "The cell is locked" / "Locked cells were not changed" | `aria_lockedCell`, `aria_lockedCells` | +| An editing key is pressed in the read-only mode | "The sheet is read-only" | `aria_readonlySheet` | +| The search text is typed | "Results: 5. 1 of 5, B2" or "No results" | `aria_searchResults`, `aria_searchMatch`, `aria_searchNoResults` | +| The next or previous match is shown | "2 of 5, B7" | `aria_searchMatch` | +| An Excel file is exported | "Exporting the file", "The file is exported" | `aria_exportStarted`, `aria_exportDone` | +| A file chosen in the file dialog is imported | "Importing the file", "The file is imported" | `aria_importStarted`, `aria_importDone` | +| The Column width / Row height command is applied | "Column width set to 120 pixels" | `aria_columnWidthSet`, `aria_rowHeightSet` | +| Ctrl + Shift + 9 / 0 finds nothing to show | "No hidden rows in the selection" | `aria_noHiddenRows`, `aria_noHiddenCols` | + +To announce the result of your own command, call the [`announce()`](api/spreadsheet_announce_method.md) method: + +~~~jsx +spreadsheet.announce("The report is saved"); +~~~ + +## Localization + +The accessible names, the cell descriptions and the announcements are stored in the `spreadsheet` locale as keys with the `aria_` prefix, next to the interface labels. Translate them with the `dhx.i18n.setLocale()` method before the Spreadsheet is initialized: + +~~~jsx +dhx.i18n.setLocale("spreadsheet", { + // other keys of the locale + aria_grid: "Tabelle", + aria_cellEditor: "Zelleneditor, {cell}", + aria_readonlySheet: "Das Blatt ist schreibgeschützt", + aria_selectedRange: "{range}, {count} Zellen", + aria_rangeExtent: "{start} bis {end}" +}); + +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +The parts in curly braces, such as `{cell}` or `{count}`, are replaced with the values and must be kept in the translated strings. The names of the colors and of the alert buttons come from the `colorpicker` and `message` locales. See [Localization](localization.md#default-locale) for the full list of keys and [Localizing built-in widgets](localization.md#localizing-built-in-widgets) for the other locales. + +## Configuration recipes + +### Accessible default setup + +The Spreadsheet needs no configuration for the keyboard and the WAI-ARIA output. To meet the WCAG AA contrast requirements for text, select a contrast theme. See [Built-in themes](/themes/) for the other ways to set a theme: + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + // the keyboard navigation and the WAI-ARIA output need no configuration +}); +spreadsheet.parse(data); + +dhx.setTheme("contrast-light"); // or "contrast-dark" +~~~ + +### Read-only setup + +Use the [`readonly`](api/spreadsheet_readonly_config.md) option to show data that users can read and copy but not change. Keyboard and screen reader users can still move through the cells: + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true +}); +spreadsheet.parse(data); +~~~ + +To show the data without an active cell and without selection, add [`selection: false`](api/spreadsheet_selection_config.md). The grid then becomes one tab stop that the keyboard passes through. + +### Translated accessibility strings + +Screen readers read the accessibility strings from four locales: `spreadsheet` holds the names, cell descriptions and announcements, `colorpicker` holds the color names, `message` holds the names of the alert buttons, and `grid` holds the announcement of the number of loaded rows. Set all four before you create the Spreadsheet. See [Localizing built-in widgets](localization.md#localizing-built-in-widgets) for the keys: + +~~~jsx +const deSpreadsheet = { + // other keys of the locale + aria_grid: "Tabelle", + aria_readonlySheet: "Das Blatt ist schreibgeschützt" +}; +const deColorpicker = { + aria_palette: "Farbpalette", + aria_colorRed: "rot" +}; +const deMessage = { + aria_confirm: "Bestätigen" +}; +const deGrid = { + aria_rowsLoaded: "{count} Zeilen geladen" +}; + +dhx.i18n.setLocale("spreadsheet", deSpreadsheet); +dhx.i18n.setLocale("colorpicker", deColorpicker); +dhx.i18n.setLocale("message", deMessage); +dhx.i18n.setLocale("grid", deGrid); + +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +### Announcing a custom command + +When your own command changes the data, tell screen reader users about the result with the [`announce()`](api/spreadsheet_announce_method.md) method. The example adds a [menu](customization.md#menu) command that clears the active sheet: + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); + +spreadsheet.menu.data.add({ id: "clear-sheet", value: "Clear sheet" }); + +spreadsheet.menu.events.on("click", function (id) { + if (id === "clear-sheet") { + spreadsheet.sheets.clear(); + spreadsheet.announce("The sheet is cleared"); + } +}); +~~~ + +## Host-page responsibilities + +A few requirements live at the page level, not inside the component. Make sure that the host page: + +- sets the document language, for example, ``, and a page title +- puts a heading above the Spreadsheet and places it inside a landmark, for example, `
` +- provides a skip link, if the Spreadsheet is preceded by a long navigation +- gives a second signal, such as text or an icon, to any state that you mark with a cell color, since the colors of the cell styles are part of your data +- checks the contrast of the colors that you set in the cell styles and in a custom theme + +## Testing and methodology + +The DHTMLX team validates the accessibility of Spreadsheet 6.0.4 against the component source and in the browser: + +1. **Automated testing** with [axe-core](https://github.com/dequelabs/axe-core) in the `light`, `dark`, `contrast-light` and `contrast-dark` themes, with the search bar, the list editor, the dialogs and an alert open. +2. **Manual review** of the source: the roles, states and names of each part, the keyboard handlers and the focus regions, and the theme tokens with their contrast ratios. +3. **Manual testing**: keyboard-only walkthroughs of the cells, the bars, the menus and the dialogs, screen reader passes with NVDA, JAWS and VoiceOver, 200% and 400% zoom, reflow at 320 CSS px and WCAG text spacing overrides. +4. **Conformance reporting**: the results are published criterion by criterion in the [Accessibility Conformance Report](accessibility_conformance_report.md), including the criteria that the Spreadsheet partially supports. + +## Resources + +- [Accessibility Conformance Report (VPAT 2.5)](accessibility_conformance_report.md) +- [Hot keys list](hotkeys.md) +- [`readonly`](api/spreadsheet_readonly_config.md) +- [`selection`](api/spreadsheet_selection_config.md) +- [`announce()`](api/spreadsheet_announce_method.md) +- [Localization](localization.md) +- [Built-in themes](/themes/) +- [WCAG 2.2](https://www.w3.org/TR/WCAG22/) +- [WAI-ARIA 1.2](https://www.w3.org/TR/wai-aria-1.2/) +- [WAI-ARIA Authoring Practices: Grid pattern](https://www.w3.org/WAI/ARIA/apg/patterns/grid/) +- [WAI-ARIA Authoring Practices: Toolbar pattern](https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/) diff --git a/docs/accessibility_conformance_report.md b/docs/accessibility_conformance_report.md new file mode 100644 index 00000000..583649c6 --- /dev/null +++ b/docs/accessibility_conformance_report.md @@ -0,0 +1,220 @@ +--- +sidebar_label: Conformance report (VPAT) +title: Accessibility Conformance Report +description: DHTMLX Spreadsheet Accessibility Conformance Report, based on VPAT 2.5 - conformance with WCAG 2.2 AA, Section 508, and EN 301 549. +--- + +# Accessibility Conformance Report + +This report documents how DHTMLX Spreadsheet conforms to the major accessibility standards. It follows the **VPAT® 2.5 (International Edition)** structure. For a task-oriented overview of the accessibility features and how to configure them, see the [Accessibility](accessibility.md) guide. + +**Name of Product/Version:** DHTMLX Spreadsheet v6.0.4 + +**Report Date:** October 2026 + +**Product Description:** DHTMLX Spreadsheet is a JavaScript spreadsheet component for web applications. Its interface consists of a menu bar, a toolbar, a formula bar, a cell grid with row and column headers, and sheet tabs. Its features include formulas, cell formatting, merged cells, frozen rows and columns, sorting, filtering, search, data validation, cell links, and Excel import and export. It is embedded by a host web application. + +**Contact Information:** [info@dhtmlx.com](mailto:info@dhtmlx.com) + +## Notes + +- This report evaluates DHTMLX Spreadsheet in its **recommended accessibility configuration**: the default configuration, where the WAI-ARIA output and the keyboard navigation are always on, with the `contrast-light` or `contrast-dark` theme set through `dhx.setTheme()` or the `data-dhx-theme` attribute. The Remarks state where a conformance level depends on this configuration. See the [Accessibility](accessibility.md) guide for the setup. +- DHTMLX Spreadsheet is **web content** rendered by a host application. Page-level responsibilities (the page title, ``, skip/bypass mechanisms, and site-wide navigation) belong to the host application and are reported as *Not Applicable* with an explanation. +- In the WCAG tables, only the **Web** response is populated. The *Electronic Docs*, *Software*, *Closed*, and *Authoring Tool* rows are *Not Applicable*: the product is not standalone (non-web) software, closed functionality, an authoring tool, or a piece of electronic documentation. +- Colors that an author applies to cells through cell styles are part of the document data and are not evaluated as part of the product. + +**Evaluation Methods Used:** + +- Automated testing: axe-core in the `light`, `dark`, `contrast-light` and `contrast-dark` themes, with the search bar, the list editor, the dialogs and an alert open. +- Manual code review of the component source and stylesheets: the roles and ARIA attributes of each part of the widget, the keyboard handlers and focus regions, the accessible names and their locale keys, and the theme color tokens, with contrast ratios computed for the four themes. +- Assistive-technology testing: manual passes with **NVDA + Firefox** and **JAWS + Chrome** on Windows and **VoiceOver + Safari** on macOS. +- Browser overrides: 200% / 400% zoom, reflow at 320 CSS px, and WCAG text-spacing overrides. + +## Applicable standards / guidelines + +| Standard / Guideline | Included in report | +|---|---| +| Web Content Accessibility Guidelines 2.0 | Level A (No) · Level AA (No) · Level AAA (No) | +| Web Content Accessibility Guidelines 2.1 | Level A (No) · Level AA (No) · Level AAA (No) | +| Web Content Accessibility Guidelines 2.2 | Level A (**Yes**) · Level AA (**Yes**) · Level AAA (No) | +| Revised Section 508 standards (published Jan 18, 2017; corrected Jan 22, 2018) | (**Yes**) | +| EN 301 549 - V3.1.1 (2019-11) and V3.2.1 (2021-03) | (**Yes**) | + +*WCAG 2.0 and 2.1 are not reported separately. Criteria that WCAG marks "2.1 and 2.2" are answered because +they are part of WCAG 2.2 and are referenced by EN 301 549.* + +## Terms + +- **Supports:** The functionality of the product has at least one method that meets the criterion without + known defects, or meets with equivalent facilitation. +- **Partially Supports:** Some functionality of the product does not meet the criterion. +- **Does Not Support:** The majority of product functionality does not meet the criterion. +- **Not Applicable:** The criterion is not relevant to the product. + +## WCAG 2.x report + +DHTMLX Spreadsheet is web content, so only the **Web** response is populated below. "Requires an AA-conformant +theme" is a configuration dependency, not a defect. Criterion 4.1.1 Parsing is removed in WCAG 2.2 and is not reported. + +### Table 1: Success Criteria, Level A + +| Criteria | Conformance level | Remarks and explanations | +|---|---|---| +| **1.1.1** Non-text Content | Supports | Icons are font glyphs. Icon-only controls take their accessible name from the locale or from their tooltip, for example "Add sheet", "Close search" and "Select all". The color buttons carry the name of the color, for example "Text color: dark gray". Decorative icons (lock, filter, column menu, hidden-line markers), the selection layer and the cells covered by a merged cell are hidden with `aria-hidden="true"`; the state they show is carried by text in the cell, such as "locked" and "Filter applied". | +| **1.2.1** Audio-only and Video-only (Prerecorded) | Not Applicable | The product contains no audio or video content. | +| **1.2.2** Captions (Prerecorded) | Not Applicable | No prerecorded multimedia. | +| **1.2.3** Audio Description or Media Alternative (Prerecorded) | Not Applicable | No prerecorded multimedia. | +| **1.3.1** Info and Relationships | Supports | The cells are a `grid` named "Spreadsheet" with `row`, `columnheader`, `rowheader` and `gridcell` roles. Position is exposed with `aria-rowindex`/`aria-colindex` against `aria-rowcount`/`aria-colcount`; the extent of a merged cell with `aria-colspan`/`aria-rowspan`; editability with `aria-readonly`; selection with `aria-selected` and `aria-multiselectable`. The toolbar, the menu bar and the sheet tabs are `toolbar` and `menubar` elements with names; the formatting toggles have `aria-pressed` on the toolbar and are `menuitemcheckbox` in the menu bar, and exclusive formatting options are `menuitemradio` with `aria-checked`. | +| **1.3.2** Meaningful Sequence | Supports | DOM and reading order follow the visual order: the menu bar, the toolbar, the formula bar, the cells and the sheet tabs. The cells carry their position in the sheet through `aria-rowindex`/`aria-colindex`, so the sequence is preserved when rows and columns are scrolled out of the DOM. | +| **1.3.3** Sensory Characteristics | Supports | No instruction or label relies solely on shape, size, or spatial location; interactive elements carry text or an ARIA name. | +| **1.4.1** Use of Color | Supports | Each state shown by color also has a border, a fill, a marker or text: the active cell, the selected range, search matches, the copied range and invalid cells, together with `aria-selected` or text in the cell. Rows hidden by a filter leave a gap in the row numbers. The color buttons carry the color name in their accessible name. | +| **1.4.2** Audio Control | Not Applicable | The product produces no auto-playing audio. | +| **2.1.1** Keyboard | Supports | Every command on the cells has a key, listed in the [Hot keys list](hotkeys.md); `Shift`+`F10` or the Menu key opens the context menu. `Ctrl`+`F6` moves the focus between the menu, the toolbar, the sheet and the sheet tabs. The bars, their dropdowns and popups, and the list editor work with the arrow keys, `Home`, `End`, `Enter` and `Esc`. The column width, the row height and the column filter have context menu commands. | +| **2.1.2** No Keyboard Trap | Supports | `Tab` on the last cell and `Shift`+`Tab` on the first cell of the sheet move the focus out of the cells to the next or the previous part of the page, and `Ctrl`+`F6` moves it between the parts of the Spreadsheet. In the list editor `Tab` ends the edit and `Esc` cancels it, also after the arrow keys were used. `Esc` and `Tab` close the toolbar popups and return the focus to their buttons. | +| **2.1.4** Character Key Shortcuts | Supports | Every shortcut uses a modifier key (`Ctrl`, `Alt`, `Shift`) or a non-character key (`F2`, `F6`, `F10`, `F11`, `Enter`, `Esc`, `Delete`, arrows). Typing a character on a cell enters it into the cell, which is the purpose of the cell, and doesn't run a command. | +| **2.2.1** Timing Adjustable | Not Applicable | The product sets no time limits. | +| **2.2.2** Pause, Stop, Hide | Supports | There is no auto-updating, moving, blinking or scrolling content. No animation lasts more than 5 seconds. | +| **2.3.1** Three Flashes or Below Threshold | Supports | The product contains no flashing content. | +| **2.4.1** Bypass Blocks | Not Applicable | Applies at page level; bypass mechanisms belong to the host application. | +| **2.4.2** Page Titled | Not Applicable | Page titles are the host application's responsibility. | +| **2.4.3** Focus Order | Supports | The cells are one tab stop on the active cell, and the toolbar, the menu bar and the sheet tabs are one tab stop each, in visual order. `Tab` leaves the sheet at the last and the first cell. Dialogs take the focus, keep `Tab` inside, and return the focus to the active cell when they close; menus, context menus and popups return the focus to the control that opened them, and after a text or background color is applied, the focus returns to the active cell. The active cell is scrolled into view when it receives the focus. | +| **2.4.4** Link Purpose (In Context) | Supports | A link in a cell is rendered as an `` element whose text is the link text set by the author, or the address. The cell text adds "link" when the cell is selected, and `Alt`+`Enter` opens it. | +| **2.5.1** Pointer Gestures | Supports | No operation requires a multipoint or path-based gesture; every drag operation has a non-drag alternative (see 2.5.7). | +| **2.5.2** Pointer Cancellation | Supports | Column and row resizing and the fill handle apply on release, and one undo reverts each of them. Commands of the toolbar, the menus and the sheet tabs run on `click`. | +| **2.5.3** Label in Name | Supports | Controls with visible text take that text as their accessible name: the menu items, the context menu commands, the sheet tabs and the dialog buttons. Icon buttons are named by their tooltip, and the color buttons by their tooltip followed by the color name. | +| **2.5.4** Motion Actuation | Not Applicable | No functionality is operated by device motion or user motion. | +| **3.1.1** Language of Page | Not Applicable | The document language (``) is set by the host application. | +| **3.2.1** On Focus | Supports | Receiving focus never changes context. A click on a column letter, a row number or the corner selects the lines and keeps the focus on the active cell. | +| **3.2.2** On Input | Supports | Changing a value does not change context. Editing a cell, choosing a value from a list or typing in the search bar updates the sheet in place, which is the documented purpose of those controls. | +| **3.2.6** Consistent Help (2.2 only) | Not Applicable | The widget provides no help mechanism; this is a page-level concern. | +| **3.3.1** Error Identification | Supports | Formula errors and invalid list values are described in the cell content, for example "Reference error. Check the cell references" and "Invalid value. Choose a value from the list". New formula errors and invalid values caused by an edit are announced through the live region, and the editor of an invalid value has `aria-invalid="true"`. | +| **3.3.2** Labels or Instructions | Supports | The cell editor is named "Cell editor, B7" and the formula bar "Formula bar, B7", with the address of the edited cell. The dialog fields are labelled, for example "Width in pixels", and the search bar buttons are named "Previous match", "Next match" and "Close search". | +| **3.3.7** Redundant Entry (2.2 only) | Supports | The product contains no multi-step process that asks for information already entered. | +| **4.1.2** Name, Role, Value | Supports | Each part exposes a role, its states and a name from the locale: the cells (`grid`, `row`, `gridcell`, `columnheader`, `rowheader`, `aria-selected`, `aria-readonly`), the toolbars and the menu bar (`toolbar`, `menubar`), the formatting, Lock and Filter buttons and the sheet tabs (`aria-pressed`), the formatting items of the menu bar (`menuitemcheckbox`, `aria-checked`), and the exclusive formats (`menuitemradio`, `aria-checked`). Alerts are `alertdialog` with `aria-modal="true"`. The list editor is a `combobox` that controls a `listbox`, with `aria-expanded` and `aria-activedescendant`. | + +### Table 2: Success Criteria, Level AA + +| Criteria | Conformance level | Remarks and explanations | +|---|---|---| +| **1.2.4** Captions (Live) | Not Applicable | No live multimedia. | +| **1.2.5** Audio Description (Prerecorded) | Not Applicable | No prerecorded video. | +| **1.3.4** Orientation | Supports | Content is not restricted to a single display orientation. | +| **1.3.5** Identify Input Purpose | Not Applicable | The product's editors collect document data, not the user's own personal information covered by the WCAG input-purpose list. | +| **1.4.3** Contrast (Minimum) | Supports | The `contrast-light` and `contrast-dark` themes meet AA: no product text is below 4.5:1 in either theme, with the search bar, the list editor, the column width dialog and an alert open. The formula reference colors are 4.59:1 to 7.04:1 in the light and `contrast-light` themes, and 7.62:1 to 12.26:1 in the dark themes. In the default light theme, secondary text such as dialog field labels and alert text is about 3.95:1. Meeting the criterion requires selecting one of the contrast themes, and one supported method meets it. | +| **1.4.4** Resize Text | Supports | Text can be resized to 200% without loss of content or functionality; the toolbar, the formula bar, the sheet tabs and the dialogs remain usable. | +| **1.4.5** Images of Text | Supports | All text is rendered as real text. Icons are font glyphs; the product uses no raster images. | +| **1.4.10** Reflow | Supports | The cells are two-dimensional content, which the criterion exempts from reflow, and scroll both horizontally and vertically. The toolbar, the menu bar and the sheet tabs fit a width of 320 CSS px. | +| **1.4.11** Non-text Contrast | Supports | The focus indicators of the cells, the formula bar and the bar controls are 2px wide and drawn in theme colors; the ratios below are given for the default light, `contrast-light`, dark and `contrast-dark` themes. The active cell is marked by a 2px solid border in `--dhx-color-primary`: about 3.9:1, 7.7:1, 3.4:1 and 5.3:1 against the cell background. The cell and the cell editor that have the keyboard focus get a 2px outline in the same color, with the same ratios, and about 3.3:1, 6.0:1, 3.1:1 and 4.2:1 inside a selected range. The formula bar gets a 2px outline in `--dhx-spreadsheet-focus-color`: about 3.9:1, 7.7:1, 5.3:1 and 6.5:1 against its background. The controls of the toolbar, the menu bar and the sheet tabs get the same outline: about 3.7:1, 7.2:1, 3.9:1 and 4.9:1 against the bar background. All values are above the 3:1 requirement. | +| **1.4.12** Text Spacing | Supports | With the WCAG text-spacing overrides applied, no control label is cut; the sheet tab bar scrolls when the tabs grow. | +| **1.4.13** Content on Hover or Focus | Supports | Toolbar tooltips stay open while hovered and are dismissed with `Esc` without moving the pointer or the focus. The invalid-value tooltip reports an input error, stays while the cell is active, and is removed with `Esc`. | +| **2.4.5** Multiple Ways | Not Applicable | Applies to locating pages within a set of web pages; out of scope for a single embedded component (host-application concern). | +| **2.4.6** Headings and Labels | Supports | The main parts take their accessible names from the locale: "Spreadsheet" (grid), "Formatting" (toolbar), "Borders", "Search" and "Link" (the toolbars of the Border popup, the search bar and the link popup), "Main" (menu bar), "Cell" and "Sheet" (context menus of the cells and the sheet tabs), "Sheets" (sheet tab bar), "Formula bar, B7" (formula bar) and "Cell editor, B7" (cell editor). The select-all corner is named "Select all", the search bar is named "Search" and its buttons "Previous match", "Next match" and "Close search", the button that adds a sheet is named "Add sheet", and the other dialogs are named by their titles. | +| **2.4.7** Focus Visible | Supports | The keyboard focus location is visible at all times. The active cell always has a 2px solid border, and the focused cell or cell editor has a 2px outline, both in the primary color of the theme. The formula bar and the controls of the toolbar, the menu bar, the sheet tabs, the Border popup, the link popup and the search bar show a 2px focus ring in the `--dhx-spreadsheet-focus-color` color. In the color palette, the border style list, the dropdowns of the toolbar and the menu bar, and the context menus, the focused item has a 1px dashed outline. In the list editor, the focused item is highlighted with a background color. The focus indicator is shown in every built-in theme. | +| **2.4.11** Focus Not Obscured (Minimum) (2.2 only) | Supports | The active cell is scrolled into view next to the frozen rows and columns, so it is never left behind a frozen area. | +| **2.5.7** Dragging Movements (2.2 only) | Supports | Range selection has `Shift`+arrows and `Ctrl`+`Space`/`Shift`+`Space`. Column width and row height are set with the *Column width* and *Row height* commands of the context menu, with undo. Hidden rows and columns are shown with `Ctrl`+`Shift`+`9`/`0` and the *Show rows*/*Show columns* commands. Filling cells is available through the [`groupFill`](api/spreadsheet_groupfill_event.md) event, which can be bound to a context menu command. | +| **2.5.8** Target Size (Minimum) (2.2 only) | Partially Supports | The fill handle is 12 x 12 CSS px. The column and row resizers have equivalent controls, the *Column width* and *Row height* commands. The select-all corner is the 40 x 32 CSS px corner header cell, and the toolbar and menu controls are larger than 24 x 24 CSS px. | +| **3.1.2** Language of Parts | Not Applicable | The widget does not mix languages within its content; language is host-owned. | +| **3.2.3** Consistent Navigation | Not Applicable | Applies across a set of web pages; host-application concern. | +| **3.2.4** Consistent Identification | Supports | Commands with the same function have the same names and icons in the toolbar, the menu bar and the context menu, and the same keys. | +| **3.3.3** Error Suggestion | Supports | Error descriptions suggest a fix: "Check the cell references" for a reference error and "Choose a value from the list" for an invalid list value. | +| **3.3.4** Error Prevention (Legal, Financial, Data) | Supports | Every change of the data can be reverted with undo (`Ctrl`+`Z`) and repeated with redo. The host application can additionally cancel any action through the [`beforeAction`](api/spreadsheet_beforeaction_event.md) event. | +| **3.3.8** Accessible Authentication (Minimum) (2.2 only) | Not Applicable | The product performs no authentication. | +| **4.1.3** Status Messages | Supports | Status changes are announced without moving focus through a visually hidden live region outside the grid (`role="status"`, `aria-live="polite"`, `aria-atomic="true"`). It reports the selected range, new formula errors and invalid values, refused edits of locked cells or a read-only sheet, search results, the start and end of import and export, new column widths and row heights, and a selection with no hidden rows or columns to show. The same region is available to the host application through the public [`announce()`](api/spreadsheet_announce_method.md) method, and every built-in message is localizable through the `aria_*` locale keys. | + +## Revised Section 508 report + +WCAG-mapped provisions are answered in the WCAG 2.x report above and referenced here. Chapter 4 (Hardware) +is Not Applicable, because DHTMLX Spreadsheet is a software component with no hardware or physical controls. + +### Chapter 3: Functional Performance Criteria + +| Criteria | Conformance level | Remarks and explanations | +|---|---|---| +| 302.1 Without Vision | Supports | Operable with a screen reader through the `grid` model with column and row headers, the cell address and descriptions read with each cell, the named toolbars and menus, the live region, and the keyboard model. See WCAG 1.3.1, 2.1.1, 4.1.2, 4.1.3. | +| 302.2 With Limited Vision | Supports | Zoom, text resize and reflow are supported, the focus is visible in every theme, and AA contrast is met by the `contrast-light` / `contrast-dark` themes. See WCAG 1.4.3, 1.4.4, 1.4.10, 1.4.11, 2.4.7. | +| 302.3 Without Perception of Color | Supports | No information is conveyed by color alone: the active cell, the selection, search matches and invalid values each carry a border, a marker or text in the cell alongside the color, and the color buttons name the color. See WCAG 1.4.1. | +| 302.4 Without Hearing | Supports | No information is conveyed by sound. | +| 302.5 With Limited Hearing | Supports | No information is conveyed by sound. | +| 302.6 Without Speech | Supports | No speech input is required to operate the product. | +| 302.7 With Limited Manipulation | Supports | Every function works from the keyboard; no path-based gesture is required, and every drag operation has a keyboard or command alternative. See WCAG 2.1.1, 2.5.1, 2.5.7, 2.5.8. | +| 302.8 With Limited Reach and Strength | Supports | Operable by keyboard; no physical reach, force or timing requirements. | +| 302.9 With Limited Language, Cognitive, and Learning Abilities | Supports | Commands have the same names in the toolbar, the menus and the context menu, formula errors are described with a way to correct them, and every change can be reverted with undo. See WCAG 3.2.4, 3.3.3, 3.3.4. | + +### Chapter 5: Software + +| Criteria | Conformance level | Remarks and explanations | +|---|---|---| +| 501.1 Scope - Incorporation of WCAG 2.0 AA | See WCAG 2.x section | See the WCAG 2.x report above. | +| 502 Interoperability with Assistive Technology | Not Applicable | Applies to non-web (platform) software. DHTMLX Spreadsheet is web content that exposes standard DOM and ARIA to the browser accessibility tree; interoperability is covered by the WCAG results (Clause 9 / 501.1). | +| 503 Applications | Not Applicable | Applies to non-web platform software; the product is web content. | +| 504 Authoring Tools | Not Applicable | DHTMLX Spreadsheet is not an authoring tool for web content: it edits spreadsheet data, not accessibility-relevant web content. | + +### Chapter 6: Support Documentation and Services + +| Criteria | Conformance level | Remarks and explanations | +|---|---|---| +| 602.2 Accessibility and Compatibility Features | Supports | The documentation describes the product's accessibility features: the [Accessibility](accessibility.md) guide covers the WAI-ARIA model, the keyboard model, the read-only mode and the selection option, the themes and the focus indicator, the [`announce()`](api/spreadsheet_announce_method.md) API and the [localizable `aria_*` strings](accessibility.md#localization); the [Hot keys list](hotkeys.md) lists every shortcut. | +| 602.3 Electronic Support Documentation | Supports (see WCAG 2.x section) | The documentation site is delivered as web content and is maintained to meet WCAG 2.2 AA. | +| 602.4 Alternate Formats for Non-Electronic Support Documentation | Not Applicable | Documentation is delivered electronically only; there are no non-electronic (print) support documents. | +| 603.2 Information on Accessibility and Compatibility Features | Supports | The product's accessibility features are documented publicly in the [Accessibility](accessibility.md) guide and can be provided by the support channel on request. | +| 603.3 Accommodation of Communication Needs | Supports | Support is provided over a text-based email channel; users interact through their own assistive technology. | + +## EN 301 549 report + +Clause 9 (Web) maps directly to the WCAG 2.x report above and is the substantive assessment for this web +product. Telephony, video, and hardware clauses (Clauses 6, 7, 8, 13) are Not Applicable. + +### Clause 4: Functional Performance Statements + +These mirror the Section 508 Chapter 3 results (same conclusions). + +| Criteria | Conformance level | Remarks and explanations | +|---|---|---| +| 4.2.1 Usage without vision | Supports | See 508 302.1 (screen-reader operable through the grid model, the cell descriptions, the named controls, the live region and the keyboard model). | +| 4.2.2 Usage with limited vision | Supports | See 508 302.2 (AA contrast through the contrast themes, a visible focus in every theme; zoom and reflow supported). | +| 4.2.3 Usage without perception of colour | Supports | See 508 302.3 (a border, a marker or text accompanies every color cue). | +| 4.2.4 Usage without hearing | Supports | No information conveyed by sound. | +| 4.2.5 Usage with limited hearing | Supports | No information conveyed by sound. | +| 4.2.6 Usage with no or limited vocal capability | Supports | No speech input required. | +| 4.2.7 Usage with limited manipulation or strength | Supports | See 508 302.7 (keyboard-operable, no gestures, alternatives for every drag operation). | +| 4.2.8 Usage with limited reach | Supports | No physical reach requirements (software component). | +| 4.2.9 Minimize photosensitive seizure triggers | Supports | No flashing content (see WCAG 2.3.1). | +| 4.2.10 Usage with limited cognition, language or learning | Supports | See 508 302.9 (consistent command names, described errors, reversible changes). | +| 4.2.11 Privacy | Supports | Accessibility features use the same interface as everyone else; there is no separate, less-private mode. | + +### Clause 5: Generic Requirements + +**Mostly Not Applicable.** Clause 5 addresses closed functionality and hardware-style requirements. DHTMLX +Spreadsheet is open web software that works with the platform and browser assistive technology, so the +closed-functionality sub-clauses, biometrics (5.3), operable parts (5.5), and locking/toggle-control status +(5.6) are Not Applicable. Where a generic requirement is met through normal assistive-technology support, it +is covered by Clause 9 (Web) and the WCAG results. + +### Clause 9: Web + +**See the WCAG 2.x section.** Clauses 9.1.1.1-9.4.1.3 map to the WCAG 2.2 Level A/AA results in Tables 1 +and 2 above. + +### Clause 11: Software + +**Not Applicable (assessed under Clause 9).** DHTMLX Spreadsheet is web content evaluated under Clause 9 (Web); +it is not non-web software. The WCAG-mapped software provisions (11.1.1.1-11.4.1.3) are covered by the WCAG +2.x results. 11.8 (Authoring tools) is Not Applicable, because the product is not an authoring tool. + +### Clause 12: Documentation and Support Services + +| Criteria | Conformance level | Remarks and explanations | +|---|---|---| +| 12.1.1 Accessibility and compatibility features | Supports | The [Accessibility](accessibility.md) guide documents the product's accessibility features: the WAI-ARIA model, the keyboard model, the read-only mode and the selection option, the themes, the focus indicator, the [`announce()`](api/spreadsheet_announce_method.md) API and the [localizable `aria_*` strings](accessibility.md#localization). | +| 12.1.2 Accessible documentation | Supports (see WCAG 2.x section) | The documentation site is delivered as web content and is maintained to meet WCAG 2.2 AA. | +| 12.2.2 Information on accessibility and compatibility features | Supports | Accessibility features are documented publicly and can be surfaced by support on request. | +| 12.2.3 Effective communication | Supports | Support is provided over a text-based email channel; users interact through their own assistive technology. | +| 12.2.4 Accessible documentation | Supports (see WCAG 2.x section) | Same basis as 12.1.2: the documentation site is maintained to meet WCAG 2.2 AA. | + +## Legal disclaimer + +This report is provided for informational purposes only and describes the accessibility of the named +product version as of the report date. It is provided "as is", without warranty of any kind, and does not +constitute a contractual commitment or guarantee. Accessibility support may change in subsequent releases, +and results apply to the evaluated configuration. "VPAT" and "Voluntary Product Accessibility Template" are +registered service marks of the Information Technology Industry Council (ITI). diff --git a/docs/angular_integration.md b/docs/angular_integration.md index 4a841f78..658c9423 100644 --- a/docs/angular_integration.md +++ b/docs/angular_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: Integration with Angular title: Angular Integration -description: You can learn about the Angular integration of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Use DHTMLX Spreadsheet in an Angular application. Create a project, add Spreadsheet as an Angular component, load data and handle events. --- # Integration with Angular @@ -234,6 +234,10 @@ ngOnDestroy() { } ~~~ +:::info +The `destructor()` method removes the event handlers attached with `spreadsheet.events.on()`. When a new Spreadsheet instance is created, for example, when the component is created again, attach the handlers to the new instance. +::: + ### Step 3. Adding Spreadsheet into the app To add the `SpreadsheetComponent` component into the app, open the *src/app/app.component.ts* file and replace the default code with the following one: diff --git a/docs/api/api_overview.md b/docs/api/api_overview.md index 01947e25..10d686a2 100644 --- a/docs/api/api_overview.md +++ b/docs/api/api_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: API overview title: API Overview -description: You can check an API overview of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Overview of the DHTMLX Spreadsheet API, covering the constructor, methods, events, properties, and the sheet manager, selection, event bus and export modules. --- # API overview @@ -27,6 +27,7 @@ Parameters: | [](api/spreadsheet_addcolumn_method.md) | @getshort(api/spreadsheet_addcolumn_method.md) | | [](api/spreadsheet_addformula_method.md) | @getshort(api/spreadsheet_addformula_method.md) | | [](api/spreadsheet_addrow_method.md) | @getshort(api/spreadsheet_addrow_method.md) | +| [](api/spreadsheet_announce_method.md) | @getshort(api/spreadsheet_announce_method.md) | | [](api/spreadsheet_clear_method.md) | @getshort(api/spreadsheet_clear_method.md) | | [](api/spreadsheet_deletecolumn_method.md) | @getshort(api/spreadsheet_deletecolumn_method.md) | | [](api/spreadsheet_deleterow_method.md) | @getshort(api/spreadsheet_deleterow_method.md) | @@ -99,6 +100,7 @@ Parameters: | [](api/spreadsheet_multisheets_config.md) | @getshort(api/spreadsheet_multisheets_config.md) | | [](api/spreadsheet_readonly_config.md) | @getshort(api/spreadsheet_readonly_config.md) | | [](api/spreadsheet_rowscount_config.md) | @getshort(api/spreadsheet_rowscount_config.md) | +| [](api/spreadsheet_selection_config.md) | @getshort(api/spreadsheet_selection_config.md) | | [](api/spreadsheet_toolbarblocks_config.md) | @getshort(api/spreadsheet_toolbarblocks_config.md) | @@ -118,8 +120,11 @@ Parameters: | Name | Description | | :--------------------------------------------- | :---------------------------------------------------- | +| [](api/selection_disable_method.md) | @getshort(api/selection_disable_method.md) | +| [](api/selection_enable_method.md) | @getshort(api/selection_enable_method.md) | | [](api/selection_getfocusedcell_method.md) | @getshort(api/selection_getfocusedcell_method.md) | | [](api/selection_getselectedcell_method.md) | @getshort(api/selection_getselectedcell_method.md) | +| [](api/selection_isdisabled_method.md) | @getshort(api/selection_isdisabled_method.md) | | [](api/selection_removeselectedcell_method.md) | @getshort(api/selection_removeselectedcell_method.md) | | [](api/selection_setfocusedcell_method.md) | @getshort(api/selection_setfocusedcell_method.md) | | [](api/selection_setselectedcell_method.md) | @getshort(api/selection_setselectedcell_method.md) | diff --git a/docs/api/eventsbus_detach_method.md b/docs/api/eventsbus_detach_method.md index 02607b5c..7e31ecad 100644 --- a/docs/api/eventsbus_detach_method.md +++ b/docs/api/eventsbus_detach_method.md @@ -1,7 +1,7 @@ --- sidebar_label: detach() title: detach events bus method -description: You can learn about the detach events bus method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Detach an event handler attached with the on() method from DHTMLX Spreadsheet with the events.detach() method, by the name of the event. --- # detach() @@ -23,7 +23,7 @@ detach(name: string): void; ### Example ~~~jsx {10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/docs/api/eventsbus_fire_method.md b/docs/api/eventsbus_fire_method.md index 69a340bc..b1c7055c 100644 --- a/docs/api/eventsbus_fire_method.md +++ b/docs/api/eventsbus_fire_method.md @@ -1,7 +1,7 @@ --- sidebar_label: fire() title: fire events bus method -description: You can learn about the fire events bus method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Trigger an inner event of DHTMLX Spreadsheet with the events.fire() method, passing the name of the event and an array of the event data. --- # fire() @@ -32,7 +32,7 @@ The method returns `false` if some of the event handlers return `false`. Otherwi ### Example ~~~jsx {10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/docs/api/eventsbus_on_method.md b/docs/api/eventsbus_on_method.md index e7ac68a5..9a428b9b 100644 --- a/docs/api/eventsbus_on_method.md +++ b/docs/api/eventsbus_on_method.md @@ -1,7 +1,7 @@ --- sidebar_label: on() title: on events bus method -description: You can learn about the on events bus method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Attach a handler to an inner event of DHTMLX Spreadsheet with the events.on() method, for example, to react to a change of the cell style. --- # on() @@ -24,7 +24,7 @@ on(name: string, callback: function): void; ### Example ~~~jsx {6-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/docs/api/export_json_method.md b/docs/api/export_json_method.md index 32eb28ae..127c027a 100644 --- a/docs/api/export_json_method.md +++ b/docs/api/export_json_method.md @@ -1,7 +1,7 @@ --- sidebar_label: json() title: json export method -description: You can learn about the json export method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Export the data of DHTMLX Spreadsheet into a JSON file with the export.json() method. --- # json() @@ -19,7 +19,7 @@ json(): void; ### Example ~~~jsx {7} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/docs/api/export_xlsx_method.md b/docs/api/export_xlsx_method.md index b6dfc849..b553febe 100644 --- a/docs/api/export_xlsx_method.md +++ b/docs/api/export_xlsx_method.md @@ -1,7 +1,7 @@ --- sidebar_label: xlsx() title: xlsx export method -description: You can learn about the xlsx export method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Export the data of DHTMLX Spreadsheet into an Excel (.xlsx) file with the export.xlsx() method, optionally with a custom file name. --- # xlsx() @@ -23,7 +23,7 @@ xlsx(name:string): void; ### Example ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/docs/api/overview/actions_overview.md b/docs/api/overview/actions_overview.md index 3a7d2d88..a2d683a6 100644 --- a/docs/api/overview/actions_overview.md +++ b/docs/api/overview/actions_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Spreadsheet actions title: Actions Overview -description: You can check an Actions overview of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Overview of the DHTMLX Spreadsheet actions and the full list of the actions that you can handle in the beforeAction and afterAction events. --- # Actions overview @@ -67,8 +67,8 @@ spreadsheet.events.on("beforeColumnAdd", function(cell){ | **merge** | The action is executed when merging a range of cells | | **removeCellStyles** | The action is executed when clearing styles of a cell | | **renameSheet** | The action is executed when renaming a sheet | -| **resizeCol** | The action is executed when resizing a column | -| **resizeRow** | The action is executed when resizing a row | +| **resizeCol** | The action is executed when resizing a column by dragging its border or with the *Column width* command | +| **resizeRow** | The action is executed when resizing a row by dragging its border or with the *Row height* command | | **setCellFormat** | The action is executed when changing the format of a cell | | **setCellValue** | The action is executed when changing or removing the value of a cell | | **setValidation** | The action is executed when setting data validation for a cell | @@ -78,6 +78,13 @@ spreadsheet.events.on("beforeColumnAdd", function(cell){ | **toggleFreeze** | The action is executed when freezing/unfreezing columns/rows | | **unmerge** | The action is executed when splitting cells | +:::note +In the `config` object of the [`beforeAction`](api/spreadsheet_beforeaction_event.md) and [`afterAction`](api/spreadsheet_afteraction_event.md) events, the **resizeCol** and **resizeRow** actions pass: + +- `cell` - the cell or range of cells whose columns or rows are resized +- `val` - the new width or height in pixels. It is set only for the *Column width* and *Row height* commands, not for resizing by dragging +::: + **Change log:** - The **toggleFreeze** and **toggleVisibility** actions were added in v5.2 diff --git a/docs/api/overview/eventbus_overview.md b/docs/api/overview/eventbus_overview.md index 5cfb089e..f0e5943f 100644 --- a/docs/api/overview/eventbus_overview.md +++ b/docs/api/overview/eventbus_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Event Bus methods overview title: Event Bus Methods Overview -description: You can check an Event Bus methods overview of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: List of the DHTMLX Spreadsheet event bus methods that attach, detach and trigger events. --- # Event Bus methods overview diff --git a/docs/api/overview/events_overview.md b/docs/api/overview/events_overview.md index 85cc579b..8ad04f9d 100644 --- a/docs/api/overview/events_overview.md +++ b/docs/api/overview/events_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Events overview title: Events Overview -description: You can have an Events overview of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: List of the DHTMLX Spreadsheet events that fire on actions, data loading, cell editing, selection, focus and sheet changes. --- # Events overview diff --git a/docs/api/overview/export_overview.md b/docs/api/overview/export_overview.md index 2b72faa1..3f61473e 100644 --- a/docs/api/overview/export_overview.md +++ b/docs/api/overview/export_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Export methods overview title: Export Methods Overview -description: You can check an Export methods overview of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: List of the DHTMLX Spreadsheet export module methods that save the data to a JSON or an Excel (.xlsx) file. --- # Export methods overview diff --git a/docs/api/overview/methods_overview.md b/docs/api/overview/methods_overview.md index 2dc43702..d27cb4b9 100644 --- a/docs/api/overview/methods_overview.md +++ b/docs/api/overview/methods_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Methods overview title: Methods Overview -description: You can check a Methods overview of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: List of the DHTMLX Spreadsheet methods for loading and saving data, editing cells, styling, merging, sorting, filtering and managing sheets. --- # Methods overview @@ -11,6 +11,7 @@ description: You can check a Methods overview of the DHTMLX JavaScript Spreadshe | [](api/spreadsheet_addcolumn_method.md) | @getshort(../spreadsheet_addcolumn_method.md) | | [](api/spreadsheet_addformula_method.md) | @getshort(../spreadsheet_addformula_method.md) | | [](api/spreadsheet_addrow_method.md) | @getshort(../spreadsheet_addrow_method.md) | +| [](api/spreadsheet_announce_method.md) | @getshort(../spreadsheet_announce_method.md) | | [](api/spreadsheet_clear_method.md) | @getshort(../spreadsheet_clear_method.md) | | [](api/spreadsheet_deletecolumn_method.md) | @getshort(../spreadsheet_deletecolumn_method.md) | | [](api/spreadsheet_deleterow_method.md) | @getshort(../spreadsheet_deleterow_method.md) | diff --git a/docs/api/overview/properties_overview.md b/docs/api/overview/properties_overview.md index c7d84d98..fcd96323 100644 --- a/docs/api/overview/properties_overview.md +++ b/docs/api/overview/properties_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Properties overview title: Properties Overview -description: You can check a Properties overview of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: List of the DHTMLX Spreadsheet configuration properties that set up the toolbar, the menu, the read-only mode, the selection, the grid size and more. --- # Properties overview @@ -18,5 +18,6 @@ description: You can check a Properties overview of the DHTMLX JavaScript Spread | [](api/spreadsheet_multisheets_config.md) | @getshort(../spreadsheet_multisheets_config.md) | | [](api/spreadsheet_readonly_config.md) | @getshort(../spreadsheet_readonly_config.md) | | [](api/spreadsheet_rowscount_config.md) | @getshort(../spreadsheet_rowscount_config.md) | +| [](api/spreadsheet_selection_config.md) | @getshort(../spreadsheet_selection_config.md) | | [](api/spreadsheet_toolbarblocks_config.md) | @getshort(../spreadsheet_toolbarblocks_config.md) | diff --git a/docs/api/overview/selection_overview.md b/docs/api/overview/selection_overview.md index 53061618..3da7ce72 100644 --- a/docs/api/overview/selection_overview.md +++ b/docs/api/overview/selection_overview.md @@ -1,15 +1,18 @@ --- sidebar_label: Selection methods overview title: Selection Methods Overview -description: You can check a Selection methods overview of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: List of the DHTMLX Spreadsheet selection module methods that select cells, set focus and turn the selection of cells off and on. --- # Selection methods overview | Name | Description | | :--------------------------------------------- | :---------------------------------------------------- | +| [](api/selection_disable_method.md) | @getshort(../selection_disable_method.md) | +| [](api/selection_enable_method.md) | @getshort(../selection_enable_method.md) | | [](api/selection_getfocusedcell_method.md) | @getshort(../selection_getfocusedcell_method.md) | | [](api/selection_getselectedcell_method.md) | @getshort(../selection_getselectedcell_method.md) | +| [](api/selection_isdisabled_method.md) | @getshort(../selection_isdisabled_method.md) | | [](api/selection_removeselectedcell_method.md) | @getshort(../selection_removeselectedcell_method.md) | | [](api/selection_setfocusedcell_method.md) | @getshort(../selection_setfocusedcell_method.md) | | [](api/selection_setselectedcell_method.md) | @getshort(../selection_setselectedcell_method.md) | diff --git a/docs/api/overview/sheetmanager_overview.md b/docs/api/overview/sheetmanager_overview.md index 11498829..fe461189 100644 --- a/docs/api/overview/sheetmanager_overview.md +++ b/docs/api/overview/sheetmanager_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Sheet Manager API overview title: Sheet Manager API Overview -description: You can check a Sheet Manager API overview of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: List of the DHTMLX Spreadsheet sheet manager methods that add, remove, clear, get and switch sheets. --- # Sheet Manager API overview diff --git a/docs/api/selection_disable_method.md b/docs/api/selection_disable_method.md new file mode 100644 index 00000000..d2c4a337 --- /dev/null +++ b/docs/api/selection_disable_method.md @@ -0,0 +1,47 @@ +--- +sidebar_label: disable() +title: disable selection method +description: Turn the selection of cells off in DHTMLX Spreadsheet at runtime with the selection.disable() method, which removes the active cell and ignores selection by the mouse, the keyboard and the API. +--- + +# disable() + +### Description + +@short: Turns the selection of cells off + +### Usage + +~~~jsx +disable(): void; +~~~ + +### Example + +~~~jsx {6} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + // config parameters +}); +spreadsheet.parse(data); + +spreadsheet.selection.disable(); +~~~ + +### Details + +The method: + +- ends the editing of a cell and saves the entered value +- removes the selected and the active cells on every sheet +- ignores the selection by the mouse, the keyboard and the API until the [`enable()`](api/selection_enable_method.md) method is called + +While the selection is turned off, the [`getSelectedCell()`](api/selection_getselectedcell_method.md) and [`getFocusedCell()`](api/selection_getfocusedcell_method.md) methods return `undefined`. The other effects are the same as for the [`selection: false`](api/spreadsheet_selection_config.md#details) configuration option. + +If the selection is already turned off, the method does nothing. + +**Change log:** Added in v6.0.4 + +**Related articles:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`enable()`](api/selection_enable_method.md) +- [Accessibility: read-only setup](accessibility.md#read-only-setup) diff --git a/docs/api/selection_enable_method.md b/docs/api/selection_enable_method.md new file mode 100644 index 00000000..74d383e2 --- /dev/null +++ b/docs/api/selection_enable_method.md @@ -0,0 +1,42 @@ +--- +sidebar_label: enable() +title: enable selection method +description: Turn the selection of cells back on in DHTMLX Spreadsheet with the selection.enable() method, which makes the A1 cell active and fires the selection events. +--- + +# enable() + +### Description + +@short: Turns the selection of cells on + +### Usage + +~~~jsx +enable(): void; +~~~ + +### Example + +~~~jsx {7} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // other config parameters +}); +spreadsheet.parse(data); + +spreadsheet.selection.enable(); +~~~ + +### Details + +The method makes the A1 cell of the active sheet active. The [`beforeSelectionSet`](api/spreadsheet_beforeselectionset_event.md), [`beforeFocusSet`](api/spreadsheet_beforefocusset_event.md), [`afterFocusSet`](api/spreadsheet_afterfocusset_event.md) and [`afterSelectionSet`](api/spreadsheet_afterselectionset_event.md) events fire for the A1 cell. + +If the selection is already turned on, the method does nothing. + +**Change log:** Added in v6.0.4 + +**Related articles:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`disable()`](api/selection_disable_method.md) +- [Accessibility: read-only setup](accessibility.md#read-only-setup) diff --git a/docs/api/selection_getfocusedcell_method.md b/docs/api/selection_getfocusedcell_method.md index 1142c280..99d26b2c 100644 --- a/docs/api/selection_getfocusedcell_method.md +++ b/docs/api/selection_getfocusedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFocusedCell() title: getFocusedCell selection method -description: You can learn about the getFocusedCell selection method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Get the id of the focused (active) cell in DHTMLX Spreadsheet with the selection.getFocusedCell() method. --- # getFocusedCell() @@ -23,7 +23,7 @@ The method returns the id of the focused cell ### Example ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/docs/api/selection_getselectedcell_method.md b/docs/api/selection_getselectedcell_method.md index 7aa6e703..21dc6080 100644 --- a/docs/api/selection_getselectedcell_method.md +++ b/docs/api/selection_getselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getSelectedCell() title: getSelectedCell selection method -description: You can learn about the getSelectedCell selection method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Get the ids or ranges of the selected cells in DHTMLX Spreadsheet with the selection.getSelectedCell() method. --- # getSelectedCell() @@ -23,7 +23,7 @@ The method returns the id(s) or a range of selected cell(s) ### Example ~~~jsx {8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/docs/api/selection_isdisabled_method.md b/docs/api/selection_isdisabled_method.md new file mode 100644 index 00000000..53ebb926 --- /dev/null +++ b/docs/api/selection_isdisabled_method.md @@ -0,0 +1,41 @@ +--- +sidebar_label: isDisabled() +title: isDisabled selection method +description: Check whether the selection of cells is turned off in DHTMLX Spreadsheet with the selection.isDisabled() method. +--- + +# isDisabled() + +### Description + +@short: Checks whether the selection of cells is turned off + +### Usage + +~~~jsx +isDisabled(): boolean; +~~~ + +### Returns + +The method returns `true` if the selection is turned off; otherwise, `false` + +### Example + +~~~jsx {7} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // other config parameters +}); +spreadsheet.parse(data); + +const disabled = spreadsheet.selection.isDisabled(); // -> true +~~~ + +**Change log:** Added in v6.0.4 + +**Related articles:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`enable()`](api/selection_enable_method.md) +- [`disable()`](api/selection_disable_method.md) +- [Accessibility: read-only setup](accessibility.md#read-only-setup) diff --git a/docs/api/selection_removeselectedcell_method.md b/docs/api/selection_removeselectedcell_method.md index 39ad2ff8..0f7efe09 100644 --- a/docs/api/selection_removeselectedcell_method.md +++ b/docs/api/selection_removeselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: removeSelectedCell() title: removeSelectedCell selection method -description: You can learn about the removeSelectedCell method of Selection in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Remove the selection from the specified cells or ranges of cells in DHTMLX Spreadsheet with the selection.removeSelectedCell() method. --- # removeSelectedCell() @@ -23,7 +23,7 @@ removeSelectedCell(cell: string): void; ### Example ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/docs/api/selection_setfocusedcell_method.md b/docs/api/selection_setfocusedcell_method.md index acf06c9b..fe312b28 100644 --- a/docs/api/selection_setfocusedcell_method.md +++ b/docs/api/selection_setfocusedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFocusedCell() title: setFocusedCell selection method -description: You can learn about the setFocusedCell selection method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Make a cell active and move the keyboard focus to it in DHTMLX Spreadsheet with the selection.setFocusedCell() method. --- # setFocusedCell() @@ -13,17 +13,18 @@ description: You can learn about the setFocusedCell selection method in the docu ### Usage ~~~jsx -setFocusedCell(cell: string): void; +setFocusedCell(cell: string, scroll?: boolean): void; ~~~ ### Parameters - `cell` - (required) the id of a cell to set focus on +- `scroll` - (optional) whether to scroll the Spreadsheet to the cell, `true` by default ### Example ~~~jsx {6} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); @@ -31,4 +32,24 @@ spreadsheet.parse(data); spreadsheet.selection.setFocusedCell("D4"); ~~~ -**Related article:** [Work with Spreadsheet](working_with_ssheet.md) +### Details + +The method makes the specified cell active and, after the redraw, moves the keyboard focus to it. The keyboard focus isn't moved if it is: + +- in an element outside the Spreadsheet +- on the toolbar, the menu or the sheet tabs reached with the keyboard +- in an open cell editor + +If the keyboard focus is on the page body, for example, right after the page is loaded, the method moves it to the cell. + +The same rules apply to any other change of the active cell, for example, by another API method. + +If the [`beforeFocusSet`](api/spreadsheet_beforefocusset_event.md) event handler returns `false`, the active cell isn't changed and the keyboard focus isn't moved. + +The method does nothing while the selection is turned off with the [`selection: false`](api/spreadsheet_selection_config.md) configuration option or the [`selection.disable()`](api/selection_disable_method.md) method. + +**Change log:** Moving the keyboard focus to the cell was added in v6.0.4 + +**Related articles:** +- [Work with Spreadsheet](working_with_ssheet.md) +- [Accessibility: keyboard navigation](accessibility.md#keyboard-navigation) diff --git a/docs/api/selection_setselectedcell_method.md b/docs/api/selection_setselectedcell_method.md index e23a855a..ac32f108 100644 --- a/docs/api/selection_setselectedcell_method.md +++ b/docs/api/selection_setselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setSelectedCell() title: setSelectedCell selection method -description: You can learn about the setSelectedCell selection method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Select a cell, several cells or a range of cells in DHTMLX Spreadsheet with the selection.setSelectedCell() method, optionally scrolling to them. --- # setSelectedCell() @@ -13,17 +13,18 @@ description: You can learn about the setSelectedCell selection method in the doc ### Usage ~~~jsx -setSelectedCell(cell: string): void; +setSelectedCell(cell: string, scroll?: boolean): void; ~~~ ### Parameters - `cell` - (required) the id(s) or a range of selected cell(s) +- `scroll` - (optional) whether to scroll the Spreadsheet to the cell, `true` by default ### Example ~~~jsx {7,10,13} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/docs/api/sheetmanager_add_method.md b/docs/api/sheetmanager_add_method.md index e41615c8..c39248e7 100644 --- a/docs/api/sheetmanager_add_method.md +++ b/docs/api/sheetmanager_add_method.md @@ -1,7 +1,7 @@ --- sidebar_label: add() title: add method -description: You can learn about the add method of the Sheet Manager in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Add a new empty sheet to DHTMLX Spreadsheet with the sheets.add() method, which returns the id of the new sheet (requires the multiSheets option). --- # add() diff --git a/docs/api/sheetmanager_clear_method.md b/docs/api/sheetmanager_clear_method.md index a89819ae..a4e59aee 100644 --- a/docs/api/sheetmanager_clear_method.md +++ b/docs/api/sheetmanager_clear_method.md @@ -1,7 +1,7 @@ --- sidebar_label: clear() title: clear method -description: You can learn about the clear method of the Sheet Manager in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Clear the values, styles and formatting of a sheet in DHTMLX Spreadsheet with the sheets.clear() method, without deleting the sheet itself. --- # clear() diff --git a/docs/api/sheetmanager_get_method.md b/docs/api/sheetmanager_get_method.md index a773cf8f..a5d85d47 100644 --- a/docs/api/sheetmanager_get_method.md +++ b/docs/api/sheetmanager_get_method.md @@ -1,7 +1,7 @@ --- sidebar_label: get() title: get method -description: You can learn about the get method of the Sheet Manager in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Get a sheet object by its id in DHTMLX Spreadsheet with the sheets.get() method. --- # get() diff --git a/docs/api/sheetmanager_getactive_method.md b/docs/api/sheetmanager_getactive_method.md index 48632989..9294e57c 100644 --- a/docs/api/sheetmanager_getactive_method.md +++ b/docs/api/sheetmanager_getactive_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getActive() title: getActive method -description: You can learn about the getActive method of the Sheet Manager in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Get the active (visible) sheet of DHTMLX Spreadsheet with the sheets.getActive() method, which returns the id and the name of the sheet. --- # getActive() diff --git a/docs/api/sheetmanager_getall_method.md b/docs/api/sheetmanager_getall_method.md index ce20df82..4410505d 100644 --- a/docs/api/sheetmanager_getall_method.md +++ b/docs/api/sheetmanager_getall_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getAll() title: getAll method -description: You can learn about the getAll method of the Sheet Manager in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Get all the sheets of DHTMLX Spreadsheet with the sheets.getAll() method, which returns an array of objects with the ids and the names of the sheets. --- # getAll() diff --git a/docs/api/sheetmanager_remove_method.md b/docs/api/sheetmanager_remove_method.md index 49260aa0..f2c1fe05 100644 --- a/docs/api/sheetmanager_remove_method.md +++ b/docs/api/sheetmanager_remove_method.md @@ -1,7 +1,7 @@ --- sidebar_label: remove() title: remove method -description: You can learn about the remove method of the Sheet Manager in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Remove a sheet by its id from DHTMLX Spreadsheet with the sheets.remove() method, which keeps at least one sheet and switches to another sheet if the active one is removed. --- # remove() diff --git a/docs/api/sheetmanager_setactive_method.md b/docs/api/sheetmanager_setactive_method.md index 3e4cab4f..962f5f6d 100644 --- a/docs/api/sheetmanager_setactive_method.md +++ b/docs/api/sheetmanager_setactive_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setActive() title: setActive method -description: You can learn about the setActive method of the Sheet Manager in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Switch the active (visible) sheet of DHTMLX Spreadsheet to the sheet with the specified id with the sheets.setActive() method. --- # setActive() diff --git a/docs/api/spreadsheet_addcolumn_method.md b/docs/api/spreadsheet_addcolumn_method.md index a05703ea..4e06617f 100644 --- a/docs/api/spreadsheet_addcolumn_method.md +++ b/docs/api/spreadsheet_addcolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addColumn() title: addColumn method -description: You can learn about the addColumn method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Add an empty column to DHTMLX Spreadsheet with the addColumn() method, which inserts it at the column of the specified cell and shifts the existing columns to the right. --- # addColumn() @@ -27,7 +27,7 @@ addColumn(cell: string): void; ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // adds an empty "G" column diff --git a/docs/api/spreadsheet_addformula_method.md b/docs/api/spreadsheet_addformula_method.md index 9c4375ef..57813df3 100644 --- a/docs/api/spreadsheet_addformula_method.md +++ b/docs/api/spreadsheet_addformula_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addFormula() title: addFormula method -description: You can learn about the addFormula method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Register a custom formula function in DHTMLX Spreadsheet with the addFormula() method to use it in cell formulas by its uppercase name. --- # addFormula() diff --git a/docs/api/spreadsheet_addrow_method.md b/docs/api/spreadsheet_addrow_method.md index 948a80a7..ac19eb9f 100644 --- a/docs/api/spreadsheet_addrow_method.md +++ b/docs/api/spreadsheet_addrow_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addRow() title: addRow method -description: You can learn about the addRow method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Add an empty row to DHTMLX Spreadsheet with the addRow() method, which inserts it at the row of the specified cell and shifts the existing rows down. --- # addRow() @@ -27,7 +27,7 @@ addRow(cell: string): void; ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // adds an empty second row diff --git a/docs/api/spreadsheet_afteraction_event.md b/docs/api/spreadsheet_afteraction_event.md index 26fb7645..fca50ee3 100644 --- a/docs/api/spreadsheet_afteraction_event.md +++ b/docs/api/spreadsheet_afteraction_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterAction title: afterAction event -description: You can learn about the afterAction event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Handle the afterAction event of DHTMLX Spreadsheet, which fires after an action is executed and receives the name of the action and its parameters, such as the cell and the new and previous values. --- # afterAction @@ -13,7 +13,21 @@ description: You can learn about the afterAction event in the documentation of t ### Usage ~~~jsx -afterAction: (action: string, config: object) => void; +afterAction: ( + action: string, + config: { + action?: string, + cell?: string, + row?: number, + col?: number, + val?: any, + prev?: any, + groupAction?: string, + pageId?: string | number, + pageName?: string, + // other properties of the action + } | object[] +) => void; ~~~ ### Parameters @@ -21,12 +35,23 @@ afterAction: (action: string, config: object) => void; The callback of the event takes the following parameters: - `action` - (required) the name of the action. Check the full list of available actions [here](api/overview/actions_overview.md#list-of-actions) -- `config` - (required) an object with parameters of the action +- `config` - (required) an object with parameters of the action. The set of properties depends on the action. The object can include: + - `action` - (optional) the name of the action + - `cell` - (optional) the id of the cell or the range of cells the action is applied to, for example, `"A1"` or `"B2:D5"` + - `row` - (optional) the zero-based index of the row of the cell + - `col` - (optional) the zero-based index of the column of the cell + - `val` - (optional) the new value that the action applies, for example, a cell value, a style or a size + - `prev` - (optional) the previous value + - `groupAction` - (optional) the name of the action that is executed instead of `action` when `cell` is a range of cells, for example, `"groupAction"`, `"groupRowAction"` or `"resizeCol"` + - `pageId` - (optional) the id of the sheet + - `pageName` - (optional) the name of the sheet + + When several actions are executed together, for example, on paste, the `action` parameter is `"groupAction"`, and `config` is an array of such objects. ### Example ~~~jsx {6-11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(dataset); diff --git a/docs/api/spreadsheet_afterclear_event.md b/docs/api/spreadsheet_afterclear_event.md index bf75b6b8..029a9fb0 100644 --- a/docs/api/spreadsheet_afterclear_event.md +++ b/docs/api/spreadsheet_afterclear_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterClear title: afterClear event -description: You can learn about the afterClear event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Handle the afterClear event that fires after DHTMLX Spreadsheet is cleared (deprecated since v4.3, use the afterAction event instead). --- # afterClear @@ -33,7 +33,7 @@ afterClear: () => void; ### Example ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "afterClear" event diff --git a/docs/api/spreadsheet_afterdataloaded_event.md b/docs/api/spreadsheet_afterdataloaded_event.md index f8138797..b097699f 100644 --- a/docs/api/spreadsheet_afterdataloaded_event.md +++ b/docs/api/spreadsheet_afterdataloaded_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterDataLoaded title: afterDataLoaded event -description: You can learn about the afterDataLoaded event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Run code after data is loaded into DHTMLX Spreadsheet with the afterDataLoaded event, for example, to show a message when the loading is complete. --- # afterDataLoaded diff --git a/docs/api/spreadsheet_aftereditend_event.md b/docs/api/spreadsheet_aftereditend_event.md index a88495b7..e54f7f8c 100644 --- a/docs/api/spreadsheet_aftereditend_event.md +++ b/docs/api/spreadsheet_aftereditend_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterEditEnd title: afterEditEnd event -description: You can learn about the afterEditEnd event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Handle the end of cell editing in DHTMLX Spreadsheet with the afterEditEnd event, which receives the id of the cell and its new value. --- # afterEditEnd @@ -26,7 +26,7 @@ The callback of the event takes the following parameters: ### Example ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "afterEditEnd" event diff --git a/docs/api/spreadsheet_aftereditstart_event.md b/docs/api/spreadsheet_aftereditstart_event.md index 4349bcc8..f56406c0 100644 --- a/docs/api/spreadsheet_aftereditstart_event.md +++ b/docs/api/spreadsheet_aftereditstart_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterEditStart title: afterEditStart event -description: You can learn about the afterEditStart event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Handle the start of cell editing in DHTMLX Spreadsheet with the afterEditStart event, which receives the id of the cell and its value. --- # afterEditStart @@ -26,7 +26,7 @@ The callback of the event takes the following parameters: ### Example ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "afterEditStart" event diff --git a/docs/api/spreadsheet_afterfocusset_event.md b/docs/api/spreadsheet_afterfocusset_event.md index e1601369..f805fa19 100644 --- a/docs/api/spreadsheet_afterfocusset_event.md +++ b/docs/api/spreadsheet_afterfocusset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterFocusSet title: afterFocusSet event -description: You can learn about the afterFocusSet event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Track the focused cell in DHTMLX Spreadsheet with the afterFocusSet event, which fires after the focus is set on a cell and receives the cell id. --- # afterFocusSet @@ -25,7 +25,7 @@ The callback of the event takes the following parameters: ### Example ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "afterFocusSet" event diff --git a/docs/api/spreadsheet_afterselectionset_event.md b/docs/api/spreadsheet_afterselectionset_event.md index 55eaa0f7..d07a5e8d 100644 --- a/docs/api/spreadsheet_afterselectionset_event.md +++ b/docs/api/spreadsheet_afterselectionset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterSelectionSet title: afterSelectionSet event -description: You can learn about the afterSelectionSet event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: React to the selection of cells in DHTMLX Spreadsheet with the afterSelectionSet event, which fires after cells are selected and receives their ids. --- # afterSelectionSet @@ -25,7 +25,7 @@ The callback of the event takes the following parameters: ### Example ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "afterSelectionSet" event diff --git a/docs/api/spreadsheet_aftersheetchange_event.md b/docs/api/spreadsheet_aftersheetchange_event.md index 452a4538..bee0a532 100644 --- a/docs/api/spreadsheet_aftersheetchange_event.md +++ b/docs/api/spreadsheet_aftersheetchange_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterSheetChange title: afterSheetChange event -description: You can learn about the afterSheetChange event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Track the switching of sheets in DHTMLX Spreadsheet with the afterSheetChange event, which receives the name and id of the newly active sheet. --- # afterSheetChange @@ -25,7 +25,7 @@ The callback of the event takes the following parameters: ### Example ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "afterSheetChange" event diff --git a/docs/api/spreadsheet_announce_method.md b/docs/api/spreadsheet_announce_method.md new file mode 100644 index 00000000..cc947850 --- /dev/null +++ b/docs/api/spreadsheet_announce_method.md @@ -0,0 +1,67 @@ +--- +sidebar_label: announce() +title: announce method +description: Send a status message to screen reader users of DHTMLX Spreadsheet with the announce() method, for example, to report the result of a custom toolbar or menu command. +--- + +# announce() + +### Description + +@short: Announces a message to screen reader users + +### Usage + +~~~jsx +announce(message: string): void; +~~~ + +### Parameters + +- `message` - (required) the text to announce. An empty string clears the message + +### Example + +In the example below, a custom menu command counts the empty cells in the selected range and announces the result: + +~~~jsx {18} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + menu: true, + // other config parameters +}); +spreadsheet.parse(data); + +spreadsheet.menu.data.add({ + id: "count-empty", + value: "Count empty cells" +}); + +spreadsheet.menu.events.on("click", function (id) { + if (id === "count-empty") { + let count = 0; + spreadsheet.eachCell(function (cell, value) { + if (value === "" || value === undefined || value === null) count++; + }, spreadsheet.selection.getSelectedCell()); + spreadsheet.announce(count + " empty cells in the selection"); + } +}); +~~~ + +### Details + +Use the method to tell screen reader users about the result of an action that has no visible element of its own, such as a custom toolbar or menu command. + +The message goes to a visually hidden live region placed right after the grid element (`role="status"`, `aria-live="polite"`, `aria-atomic="true"`). The screen reader reads it after finishing its current speech, and the keyboard focus doesn't move. + +The Spreadsheet announces its own messages through the same region: the selected range, new formula errors and invalid values, refused edits, search results, the start and end of import and export, and new column widths and row heights (see the [list of status announcements](accessibility.md#status-announcements)). The region holds one message at a time, so a later message, your own or a built-in one, replaces the previous one. + +If you pass the text that is currently in the region, the screen reader reads it again. + +The method also works in the [read-only mode](api/spreadsheet_readonly_config.md) and while the [selection](api/spreadsheet_selection_config.md) is turned off. It does nothing before the Spreadsheet is attached to the page and after the `destructor()` method is called. + +**Change log:** Added in v6.0.4 + +**Related articles:** +- [Status announcements](accessibility.md#status-announcements) +- [Announcing a custom command](accessibility.md#announcing-a-custom-command) +- [Customizing the menu](customization.md#menu) diff --git a/docs/api/spreadsheet_beforeaction_event.md b/docs/api/spreadsheet_beforeaction_event.md index 5f6a63b7..9084c8d0 100644 --- a/docs/api/spreadsheet_beforeaction_event.md +++ b/docs/api/spreadsheet_beforeaction_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeAction title: beforeAction event -description: You can learn about the beforeAction event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Intercept actions in DHTMLX Spreadsheet with the beforeAction event, which receives the name and parameters of an action and cancels it when the handler returns false. --- # beforeAction @@ -13,7 +13,21 @@ description: You can learn about the beforeAction event in the documentation of ### Usage ~~~jsx -beforeAction: (action: string, config: object) => void | boolean; +beforeAction: ( + action: string, + config: { + action?: string, + cell?: string, + row?: number, + col?: number, + val?: any, + prev?: any, + groupAction?: string, + pageId?: string | number, + pageName?: string, + // other properties of the action + } | object[] +) => void | boolean; ~~~ ### Parameters @@ -21,7 +35,18 @@ beforeAction: (action: string, config: object) => void | boolean; The callback of the event takes the following parameters: - `action` - (required) the name of the action. Check the full list of available actions [here](api/overview/actions_overview.md#list-of-actions) -- `config` - (required) an object with parameters of the action +- `config` - (required) an object with parameters of the action. The set of properties depends on the action. The object can include: + - `action` - (optional) the name of the action + - `cell` - (optional) the id of the cell or the range of cells the action is applied to, for example, `"A1"` or `"B2:D5"` + - `row` - (optional) the zero-based index of the row of the cell + - `col` - (optional) the zero-based index of the column of the cell + - `val` - (optional) the new value that the action applies, for example, a cell value, a style or a size + - `prev` - (optional) the previous value + - `groupAction` - (optional) the name of the action that is executed instead of `action` when `cell` is a range of cells, for example, `"groupAction"`, `"groupRowAction"` or `"resizeCol"` + - `pageId` - (optional) the id of the sheet + - `pageName` - (optional) the name of the sheet + + When several actions are executed together, for example, on paste, the `action` parameter is `"groupAction"`, and `config` is an array of such objects. ### Returns @@ -30,7 +55,7 @@ Return `false` to prevent an action from being executed; otherwise, return `true ### Example ~~~jsx {6-11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(dataset); diff --git a/docs/api/spreadsheet_beforeclear_event.md b/docs/api/spreadsheet_beforeclear_event.md index 19f84c14..2a8acf00 100644 --- a/docs/api/spreadsheet_beforeclear_event.md +++ b/docs/api/spreadsheet_beforeclear_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeClear title: beforeClear event -description: You can learn about the beforeClear event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Prevent the clearing of DHTMLX Spreadsheet with the deprecated beforeClear event, or with the beforeAction event and the clear action that replace it. --- # beforeClear @@ -38,7 +38,7 @@ Return `false` to prevent clearing a spreadsheet; otherwise, `true`. ### Example ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "beforeClear" event diff --git a/docs/api/spreadsheet_beforeeditend_event.md b/docs/api/spreadsheet_beforeeditend_event.md index c0e1cad2..f94a2fcb 100644 --- a/docs/api/spreadsheet_beforeeditend_event.md +++ b/docs/api/spreadsheet_beforeeditend_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeEditEnd title: beforeEditEnd event -description: You can learn about the beforeEditEnd event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Check a cell value before editing ends in DHTMLX Spreadsheet with the beforeEditEnd event, and return false to keep the editor open. --- # beforeEditEnd @@ -30,7 +30,7 @@ Return `true` to finish editing a cell, `false` to prevent closing of an editor ### Example ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "beforeEditEnd" event diff --git a/docs/api/spreadsheet_beforeeditstart_event.md b/docs/api/spreadsheet_beforeeditstart_event.md index 72baf292..2f5f8aeb 100644 --- a/docs/api/spreadsheet_beforeeditstart_event.md +++ b/docs/api/spreadsheet_beforeeditstart_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeEditStart title: beforeEditStart event -description: You can learn about the beforeEditStart event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Control which cells can be edited in DHTMLX Spreadsheet with the beforeEditStart event, and return false to prevent the editor from opening. --- # beforeEditStart @@ -30,7 +30,7 @@ Return `true` to edit a cell, `false` to prevent editing ### Example ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "beforeEditStart" event diff --git a/docs/api/spreadsheet_beforefocusset_event.md b/docs/api/spreadsheet_beforefocusset_event.md index 7506453a..2bab2117 100644 --- a/docs/api/spreadsheet_beforefocusset_event.md +++ b/docs/api/spreadsheet_beforefocusset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeFocusSet title: beforeFocusSet event -description: You can learn about the beforeFocusSet event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Control the focus in DHTMLX Spreadsheet with the beforeFocusSet event, which fires before a cell gets the focus and prevents it when the handler returns false. --- # beforeFocusSet @@ -29,7 +29,7 @@ Return `true` to set focus on a cell, `false` to prevent setting focus ### Example ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "beforeFocusSet" event diff --git a/docs/api/spreadsheet_beforeselectionset_event.md b/docs/api/spreadsheet_beforeselectionset_event.md index 9bceb6c5..28d5f102 100644 --- a/docs/api/spreadsheet_beforeselectionset_event.md +++ b/docs/api/spreadsheet_beforeselectionset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeSelectionSet title: beforeSelectionSet event -description: You can learn about the beforeSelectionSet event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Control the selection of cells in DHTMLX Spreadsheet with the beforeSelectionSet event, which fires before cells are selected and prevents it when the handler returns false. --- # beforeSelectionSet @@ -29,7 +29,7 @@ Return `true` to select cells, `false` to prevent selection of cells ### Example ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "beforeSelectionSet" event diff --git a/docs/api/spreadsheet_beforesheetchange_event.md b/docs/api/spreadsheet_beforesheetchange_event.md index dcc4cdc9..bd435116 100644 --- a/docs/api/spreadsheet_beforesheetchange_event.md +++ b/docs/api/spreadsheet_beforesheetchange_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeSheetChange title: beforeSheetChange event -description: You can learn about the beforeSheetChange event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Control the switching of sheets in DHTMLX Spreadsheet with the beforeSheetChange event, and return false to keep the current sheet active. --- # beforeSheetChange @@ -29,7 +29,7 @@ Return `true` to change the active sheet, `false` to prevent the active sheet fr ### Example ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "beforeSheetChange" event diff --git a/docs/api/spreadsheet_clear_method.md b/docs/api/spreadsheet_clear_method.md index 7b5a0d65..b0a97165 100644 --- a/docs/api/spreadsheet_clear_method.md +++ b/docs/api/spreadsheet_clear_method.md @@ -1,7 +1,7 @@ --- sidebar_label: clear() title: clear method -description: You can learn about the clear method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Remove all the data from DHTMLX Spreadsheet with the clear() method. --- # clear() @@ -19,7 +19,7 @@ clear(): void; ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // clears a spreadsheet diff --git a/docs/api/spreadsheet_colscount_config.md b/docs/api/spreadsheet_colscount_config.md index af414287..d148316a 100644 --- a/docs/api/spreadsheet_colscount_config.md +++ b/docs/api/spreadsheet_colscount_config.md @@ -1,7 +1,7 @@ --- sidebar_label: colsCount title: colsCount config -description: You can learn about the colsCount config in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Set the number of columns that DHTMLX Spreadsheet shows on initialization with the colsCount property. --- # colsCount @@ -19,7 +19,7 @@ colsCount?: number; ### Example ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { colsCount: 10, // other config parameters }); diff --git a/docs/api/spreadsheet_deletecolumn_method.md b/docs/api/spreadsheet_deletecolumn_method.md index 6056d159..3b6172b7 100644 --- a/docs/api/spreadsheet_deletecolumn_method.md +++ b/docs/api/spreadsheet_deletecolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: deleteColumn() title: deleteColumn method -description: You can learn about the deleteColumn method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Remove a column or a range of columns from DHTMLX Spreadsheet with the deleteColumn() method, including all the columns of a merged cell. --- # deleteColumn() @@ -11,7 +11,9 @@ description: You can learn about the deleteColumn method in the documentation of @short: Removes a column from the spreadsheet :::info -The method finds the specified cell, selects it, removes the column where the cell is located and moves the column on the left to its position. +The method removes the column where the specified cell is located and moves the columns on the right of it to the left. + +If the cell is inside a merged cell, the method removes every column that the merged cell spans. ::: ### Usage @@ -27,7 +29,7 @@ deleteColumn(cell: string): void; ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // removes the "G" column @@ -35,7 +37,27 @@ spreadsheet.deleteColumn("G2"); ~~~ :::note -You can delete several columns by providing a range of cells' ids as a parameter of the method, for example: "A1:C3". +You can delete several columns by providing a range of cells' ids as a parameter of the method, for example: "A1:C3". If the range touches a merged cell, the columns of the whole merged cell are deleted. A range that covers whole columns, for example, "B1:C100" in a sheet with 100 rows, is deleted as is. ::: -**Related article:** [Work with Spreadsheet](working_with_ssheet.md#addingremoving-rows-and-columns) +### Details + +When a column inside a merged cell is deleted, the whole merged cell is deleted with all its columns: + +~~~jsx +spreadsheet.mergeCells("B2:D2"); + +// removes columns B, C and D +spreadsheet.deleteColumn("C2"); +~~~ + +When whole columns are deleted, a merged cell that spans them becomes smaller. Merged cells on the right of the deleted columns move to the left together with their columns. If the deleted columns are frozen, the frozen area shrinks by the number of the deleted frozen columns. + +The [`beforeAction`](api/spreadsheet_beforeaction_event.md) and [`afterAction`](api/spreadsheet_afteraction_event.md) events of the `"deleteColumn"` action receive the cell that is passed to the method, not the range of the deleted columns. + +**Change log:** Deleting all the columns of a merged cell was added in v6.0.4 + +**Related articles:** +- [Work with rows and columns](work_with_rows_cols.md#removing-columns) +- [Merging cells](merge_cells.md#removing-rows-and-columns-of-merged-cells) +- [Work with Spreadsheet](working_with_ssheet.md#addingremoving-rows-and-columns) diff --git a/docs/api/spreadsheet_deleterow_method.md b/docs/api/spreadsheet_deleterow_method.md index 7e86ccd9..0a2ff701 100644 --- a/docs/api/spreadsheet_deleterow_method.md +++ b/docs/api/spreadsheet_deleterow_method.md @@ -1,7 +1,7 @@ --- sidebar_label: deleteRow() title: deleteRow method -description: You can learn about the deleteRow method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Remove a row or a range of rows from DHTMLX Spreadsheet with the deleteRow() method, including all the rows of a merged cell. --- # deleteRow() @@ -11,7 +11,9 @@ description: You can learn about the deleteRow method in the documentation of th @short: Removes a row from the spreadsheet :::info -The method finds the specified cell, selects it, removes the row where the cell is located and moves the row below to its position. +The method removes the row where the specified cell is located and moves the rows below it up. + +If the cell is inside a merged cell, the method removes every row that the merged cell spans. ::: ### Usage @@ -27,7 +29,7 @@ deleteRow(cell: string): void; ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // removes the second row @@ -35,7 +37,27 @@ spreadsheet.deleteRow("G2"); ~~~ :::note -You can delete several rows by providing a range of cells' ids as a parameter of the method, for example: "A1:C3". +You can delete several rows by providing a range of cells' ids as a parameter of the method, for example: "A1:C3". If the range touches a merged cell, the rows of the whole merged cell are deleted. A range that covers whole rows, for example, "A2:Z3" in a sheet with columns A to Z, is deleted as is. ::: -**Related article:** [Work with Spreadsheet](working_with_ssheet.md#addingremoving-rows-and-columns) +### Details + +When a row inside a merged cell is deleted, the whole merged cell is deleted with all its rows: + +~~~jsx +spreadsheet.mergeCells("B2:B4"); + +// removes rows 2, 3 and 4 +spreadsheet.deleteRow("B3"); +~~~ + +When whole rows are deleted, a merged cell that spans them becomes smaller. Merged cells below the deleted rows move up together with their rows. If the deleted rows are frozen, the frozen area shrinks by the number of the deleted frozen rows. + +The [`beforeAction`](api/spreadsheet_beforeaction_event.md) and [`afterAction`](api/spreadsheet_afteraction_event.md) events of the `"deleteRow"` action receive the cell that is passed to the method, not the range of the deleted rows. + +**Change log:** Deleting all the rows of a merged cell was added in v6.0.4 + +**Related articles:** +- [Work with rows and columns](work_with_rows_cols.md#removing-rows) +- [Merging cells](merge_cells.md#removing-rows-and-columns-of-merged-cells) +- [Work with Spreadsheet](working_with_ssheet.md#addingremoving-rows-and-columns) diff --git a/docs/api/spreadsheet_eachcell_method.md b/docs/api/spreadsheet_eachcell_method.md index d0f1f328..121f5f15 100644 --- a/docs/api/spreadsheet_eachcell_method.md +++ b/docs/api/spreadsheet_eachcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: eachCell() title: eachCell method -description: You can learn about the eachcell method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Iterate over a range of cells or the selected cells in DHTMLX Spreadsheet with the eachCell() method, which calls a function with the name and value of each cell. --- # eachCell() @@ -31,7 +31,7 @@ eachCell( ### Example ~~~jsx {21-27} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); diff --git a/docs/api/spreadsheet_editline_config.md b/docs/api/spreadsheet_editline_config.md index 76109e7a..8ed0ac71 100644 --- a/docs/api/spreadsheet_editline_config.md +++ b/docs/api/spreadsheet_editline_config.md @@ -1,7 +1,7 @@ --- sidebar_label: editLine title: editLine config -description: You can learn about the editLine config in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Show or hide the editing bar of DHTMLX Spreadsheet with the editLine property, which is turned on by default. --- # editLine @@ -25,7 +25,7 @@ editLine: true ### Example ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { editLine: true, // other config parameters }); diff --git a/docs/api/spreadsheet_endedit_method.md b/docs/api/spreadsheet_endedit_method.md index b4a202db..3f5576e9 100644 --- a/docs/api/spreadsheet_endedit_method.md +++ b/docs/api/spreadsheet_endedit_method.md @@ -1,7 +1,7 @@ --- sidebar_label: endEdit() title: endEdit method -description: You can learn about the endEdit method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Finish editing the selected cell in DHTMLX Spreadsheet with the endEdit() method, which closes the editor and saves the entered value. --- # endEdit() @@ -19,7 +19,7 @@ endEdit(): void; ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // finishes editing in the selected cell diff --git a/docs/api/spreadsheet_exportmodulepath_config.md b/docs/api/spreadsheet_exportmodulepath_config.md index fb967aca..31f33d4b 100644 --- a/docs/api/spreadsheet_exportmodulepath_config.md +++ b/docs/api/spreadsheet_exportmodulepath_config.md @@ -1,7 +1,7 @@ --- sidebar_label: exportModulePath title: exportModulePath config -description: You can learn about the exportModulePath config in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Set the path to the worker.js file of the JSON2Excel export module in DHTMLX Spreadsheet with the exportModulePath property, for example, to export to Excel on your own server. --- # exportModulePath @@ -19,7 +19,7 @@ exportModulePath?: string; ### Example ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { exportModulePath: "../libs/json2excel/x.x/worker.js?vx", // a local path to the `worker.js` file of the export module // other config parameters }); diff --git a/docs/api/spreadsheet_fitcolumn_method.md b/docs/api/spreadsheet_fitcolumn_method.md index 56d3cfa4..267724b1 100644 --- a/docs/api/spreadsheet_fitcolumn_method.md +++ b/docs/api/spreadsheet_fitcolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: fitColumn() title: fitColumn method -description: You can learn about the fitColumn method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Adjust the width of a column to its longest value in DHTMLX Spreadsheet with the fitColumn() method. --- # fitColumn() @@ -24,7 +24,7 @@ fitColumn(cell: string): void; ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // adjusts the width of the "G" column diff --git a/docs/api/spreadsheet_formats_config.md b/docs/api/spreadsheet_formats_config.md index e1420a4c..dabe1943 100644 --- a/docs/api/spreadsheet_formats_config.md +++ b/docs/api/spreadsheet_formats_config.md @@ -1,7 +1,7 @@ --- sidebar_label: formats title: formats config -description: You can learn about the formats config in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Define the number formats available in DHTMLX Spreadsheet with the formats property, an array of objects with the id, mask, name and example of each format. --- # formats @@ -50,7 +50,7 @@ defaultFormats = [ ### Example ~~~jsx {2-19} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { formats: [ { name: "U.S. Dollar", diff --git a/docs/api/spreadsheet_freezecols_method.md b/docs/api/spreadsheet_freezecols_method.md index 2dc58aca..f208362e 100644 --- a/docs/api/spreadsheet_freezecols_method.md +++ b/docs/api/spreadsheet_freezecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: freezeCols() title: freezeCols method -description: You can learn about the freezeCols method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Freeze columns in DHTMLX Spreadsheet with the freezeCols() method, which fixes the columns up to the specified or the selected cell, on the current or another sheet. --- # freezeCols() diff --git a/docs/api/spreadsheet_freezerows_method.md b/docs/api/spreadsheet_freezerows_method.md index 8da1f2a0..5c6ee580 100644 --- a/docs/api/spreadsheet_freezerows_method.md +++ b/docs/api/spreadsheet_freezerows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: freezeRows() title: freezeRows method -description: You can learn about the freezeRows method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Freeze rows in DHTMLX Spreadsheet with the freezeRows() method, which fixes the rows up to the specified or the selected cell, on the current or another sheet. --- # freezeRows() diff --git a/docs/api/spreadsheet_getfilter_method.md b/docs/api/spreadsheet_getfilter_method.md index a9889b93..65431254 100644 --- a/docs/api/spreadsheet_getfilter_method.md +++ b/docs/api/spreadsheet_getfilter_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFilter() title: getFilter method -description: You can learn about the getFilter method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Get the filtering criteria of a sheet in DHTMLX Spreadsheet with the getFilter() method, which returns the filtered range of cells and the filter rules. --- # getFilter() @@ -30,7 +30,7 @@ The method returns an object with filtering criteria. The object includes two at ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // gets criteria of filtering for the current sheet diff --git a/docs/api/spreadsheet_getformat_method.md b/docs/api/spreadsheet_getformat_method.md index 044022bb..84e0de8d 100644 --- a/docs/api/spreadsheet_getformat_method.md +++ b/docs/api/spreadsheet_getformat_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFormat() title: getFormat method -description: You can learn about the getFormat method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Get the number format applied to the value of a cell or a range of cells in DHTMLX Spreadsheet with the getFormat() method. --- # getFormat() @@ -27,7 +27,7 @@ The method returns the format(s) applied to the value of the cell(s) ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // returns "currency" diff --git a/docs/api/spreadsheet_getformula_method.md b/docs/api/spreadsheet_getformula_method.md index 560eca9a..0cdf8f2f 100644 --- a/docs/api/spreadsheet_getformula_method.md +++ b/docs/api/spreadsheet_getformula_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFormula() title: getFormula method -description: You can learn about the getFormula method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Get the formula of a cell in DHTMLX Spreadsheet with the getFormula() method, including a cell on another sheet. --- # getFormula() @@ -27,7 +27,7 @@ The method returns the formula of the cell ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // returns "ABS(C2)" diff --git a/docs/api/spreadsheet_getstyle_method.md b/docs/api/spreadsheet_getstyle_method.md index 37c5fd9a..5cff7c96 100644 --- a/docs/api/spreadsheet_getstyle_method.md +++ b/docs/api/spreadsheet_getstyle_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getStyle() title: getStyle method -description: You can learn about the getStyle method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Get the styles applied to a cell or a range of cells in DHTMLX Spreadsheet with the getStyle() method. --- # getStyle() @@ -27,7 +27,7 @@ The method returns the styles set for the cells ### Example ~~~jsx {5,9,12} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // getting style of one cell diff --git a/docs/api/spreadsheet_getvalue_method.md b/docs/api/spreadsheet_getvalue_method.md index 4ffa8863..af5192dd 100644 --- a/docs/api/spreadsheet_getvalue_method.md +++ b/docs/api/spreadsheet_getvalue_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getValue() title: getValue method -description: You can learn about the getValue method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Get the value of a cell or the values of a range of cells in DHTMLX Spreadsheet with the getValue() method. --- # getValue() @@ -27,7 +27,7 @@ The method returns the values of the cells ### Example ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // returning the value of one cell diff --git a/docs/api/spreadsheet_groupfill_event.md b/docs/api/spreadsheet_groupfill_event.md index 06291fad..00d5f65a 100644 --- a/docs/api/spreadsheet_groupfill_event.md +++ b/docs/api/spreadsheet_groupfill_event.md @@ -1,7 +1,7 @@ --- sidebar_label: groupFill title: groupFill event -description: You can learn about the groupFill event in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Handle the auto filling of cells in DHTMLX Spreadsheet with the groupFill event, which passes the focused cell and the selected cells to the callback. --- # groupFill @@ -26,7 +26,7 @@ The callback of the event takes the following parameters: ### Example ~~~jsx {5-7} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "groupFill" event diff --git a/docs/api/spreadsheet_hidecols_method.md b/docs/api/spreadsheet_hidecols_method.md index 00e54243..90756202 100644 --- a/docs/api/spreadsheet_hidecols_method.md +++ b/docs/api/spreadsheet_hidecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideCols() title: hideCols method -description: You can learn about the hideCols method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Hide one or several columns in DHTMLX Spreadsheet with the hideCols() method, by the id of a cell, a range of cells or the selected cell. --- # hideCols() diff --git a/docs/api/spreadsheet_hiderows_method.md b/docs/api/spreadsheet_hiderows_method.md index c5b8db5b..749dcbe9 100644 --- a/docs/api/spreadsheet_hiderows_method.md +++ b/docs/api/spreadsheet_hiderows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideRows() title: hideRows method -description: You can learn about the hideRows method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Hide one or several rows in DHTMLX Spreadsheet with the hideRows() method, by the id of a cell, a range of cells or the selected cell. --- # hideRows() diff --git a/docs/api/spreadsheet_hidesearch_method.md b/docs/api/spreadsheet_hidesearch_method.md index de4bc8b7..33570c42 100644 --- a/docs/api/spreadsheet_hidesearch_method.md +++ b/docs/api/spreadsheet_hidesearch_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideSearch() title: hideSearch method -description: You can learn about the hideSearch method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Hide the search bar of DHTMLX Spreadsheet with the hideSearch() method, for example, after a search opened with the search() method. --- # hideSearch() @@ -19,7 +19,7 @@ hideSearch(): void; ### Example ~~~jsx {5,8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // opens a search bar and highlights the found cells diff --git a/docs/api/spreadsheet_importmodulepath_config.md b/docs/api/spreadsheet_importmodulepath_config.md index 53b40c24..21f55077 100644 --- a/docs/api/spreadsheet_importmodulepath_config.md +++ b/docs/api/spreadsheet_importmodulepath_config.md @@ -1,7 +1,7 @@ --- sidebar_label: importModulePath title: importModulePath config -description: You can learn about the importModulePath config in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Set the path to the worker.js file of the Excel2json library, which DHTMLX Spreadsheet uses to import Excel files, with the importModulePath property. --- # importModulePath @@ -19,7 +19,7 @@ importModulePath?: string; ### Example ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { importModulePath: "../libs/excel2json/1.0/worker.js", // other config parameters }); diff --git a/docs/api/spreadsheet_insertlink_method.md b/docs/api/spreadsheet_insertlink_method.md index 33f05e4e..e6913521 100644 --- a/docs/api/spreadsheet_insertlink_method.md +++ b/docs/api/spreadsheet_insertlink_method.md @@ -1,7 +1,7 @@ --- sidebar_label: insertLink() title: insertLink method -description: You can learn about the insertLink method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Insert a hyperlink into a cell of DHTMLX Spreadsheet with the insertLink() method, or remove the hyperlink and keep the text of the cell. --- # insertLink() @@ -36,7 +36,7 @@ To remove a hyperlink but keep the text, call the method without the `link` para ### Example ~~~jsx {5-7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // insert a link in "A2" cell diff --git a/docs/api/spreadsheet_islocked_method.md b/docs/api/spreadsheet_islocked_method.md index 7348ae94..fae8e800 100644 --- a/docs/api/spreadsheet_islocked_method.md +++ b/docs/api/spreadsheet_islocked_method.md @@ -1,7 +1,7 @@ --- sidebar_label: isLocked() title: isLocked method -description: You can learn about the isLocked method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Check whether a cell or any cell of a range is locked in DHTMLX Spreadsheet with the isLocked() method. --- # isLocked() @@ -27,7 +27,7 @@ The method returns `true` if the cell is locked and `false` if it's unlocked ### Example ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // checks whether a cell is locked diff --git a/docs/api/spreadsheet_load_method.md b/docs/api/spreadsheet_load_method.md index a78b460e..e4529db9 100644 --- a/docs/api/spreadsheet_load_method.md +++ b/docs/api/spreadsheet_load_method.md @@ -1,7 +1,7 @@ --- sidebar_label: load() title: load method -description: You can learn about the load method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Load data into DHTMLX Spreadsheet from an external JSON, CSV or XLSX file with the load() method, which returns a promise. --- # load() @@ -28,7 +28,7 @@ The method returns a promise of data loading ### Example ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // load data in the JSON format (default) @@ -84,7 +84,7 @@ You can let users load a JSON file into the spreadsheet through the File Explore - Call the `load()` method with two parameters: an empty string as a URL and the type of data to load ("json"): ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { menu: true, }); diff --git a/docs/api/spreadsheet_localization_config.md b/docs/api/spreadsheet_localization_config.md index 7b43b1f2..5b56ead8 100644 --- a/docs/api/spreadsheet_localization_config.md +++ b/docs/api/spreadsheet_localization_config.md @@ -1,7 +1,7 @@ --- sidebar_label: localization title: localization config -description: You can learn about the localization config in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Set the decimal and thousands separators, the currency sign and the date and time formats of DHTMLX Spreadsheet with the localization property. --- # localization @@ -41,7 +41,7 @@ const defaultLocales = { ### Example ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { localization: { decimal: ",", thousands: " ", diff --git a/docs/api/spreadsheet_lock_method.md b/docs/api/spreadsheet_lock_method.md index d364565b..32c0eeba 100644 --- a/docs/api/spreadsheet_lock_method.md +++ b/docs/api/spreadsheet_lock_method.md @@ -1,7 +1,7 @@ --- sidebar_label: lock() title: lock method -description: You can learn about the lock method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Lock a cell, a range of cells or several cells in DHTMLX Spreadsheet with the lock() method, so that users can't edit them. --- # lock() @@ -23,7 +23,7 @@ lock(cell: string): void; ### Example ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // locks a cell diff --git a/docs/api/spreadsheet_menu_config.md b/docs/api/spreadsheet_menu_config.md index 9fe6b00b..e72454f3 100644 --- a/docs/api/spreadsheet_menu_config.md +++ b/docs/api/spreadsheet_menu_config.md @@ -1,7 +1,7 @@ --- sidebar_label: menu title: menu config -description: You can learn about the menu config in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Show or hide the menu of DHTMLX Spreadsheet with the menu property. --- # menu @@ -25,7 +25,7 @@ menu: true ### Example ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { menu: false, // other config parameters }); diff --git a/docs/api/spreadsheet_mergecells_method.md b/docs/api/spreadsheet_mergecells_method.md index f41e5f62..89cbbcb5 100644 --- a/docs/api/spreadsheet_mergecells_method.md +++ b/docs/api/spreadsheet_mergecells_method.md @@ -1,7 +1,7 @@ --- sidebar_label: mergeCells() title: mergeCells method -description: You can learn about the mergeCells method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Merge a range of cells into one cell or split merged cells in DHTMLX Spreadsheet with the mergeCells() method. --- # mergeCells() @@ -29,7 +29,7 @@ mergeCells( ### Example ~~~jsx {5,8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // merge cells A3, A4, and A5 diff --git a/docs/api/spreadsheet_multisheets_config.md b/docs/api/spreadsheet_multisheets_config.md index 3fad9e53..4c00c074 100644 --- a/docs/api/spreadsheet_multisheets_config.md +++ b/docs/api/spreadsheet_multisheets_config.md @@ -1,7 +1,7 @@ --- sidebar_label: multiSheets title: multiSheets config -description: You can learn about the multiSheets config in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Turn the work with multiple sheets on or off in DHTMLX Spreadsheet with the multiSheets property, which shows or hides the bottom tabbar with sheet tabs. --- # multiSheets @@ -25,7 +25,7 @@ multiSheets: true ### Example ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { multiSheets: false, // other config parameters }); diff --git a/docs/api/spreadsheet_parse_method.md b/docs/api/spreadsheet_parse_method.md index 8ea7e1d2..c06b19b1 100644 --- a/docs/api/spreadsheet_parse_method.md +++ b/docs/api/spreadsheet_parse_method.md @@ -1,7 +1,7 @@ --- sidebar_label: parse() title: parse method -description: You can learn about the parse method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Load data into DHTMLX Spreadsheet from a local data source with the parse() method, including cell values, styles, formats, editors, links and several sheets. --- # parse() @@ -167,7 +167,7 @@ const data = [ // more data ]; -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); ~~~ @@ -246,7 +246,7 @@ const styledData = { ], }; -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(styledData); ~~~ diff --git a/docs/api/spreadsheet_readonly_config.md b/docs/api/spreadsheet_readonly_config.md index ac4039d4..3d285774 100644 --- a/docs/api/spreadsheet_readonly_config.md +++ b/docs/api/spreadsheet_readonly_config.md @@ -1,7 +1,7 @@ --- sidebar_label: readonly title: readonly config -description: You can learn about the readonly config in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Turn on the read-only mode in DHTMLX Spreadsheet with the readonly property, which blocks data changes but keeps keyboard navigation, selection, copying and search. --- # readonly @@ -25,15 +25,47 @@ readonly: false ### Example ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { readonly: true, // other config parameters }); ~~~ +### Details + +In the read-only mode, the toolbar, the menu and the formula bar are hidden, and the context menu and the column menu icon are not available. The sheet tabs stay, but without the button that adds a sheet, the sheet context menu and renaming by a double-click. + +Users can still read and copy the data: + +- the A1 cell is active after the data is loaded +- the cells can be navigated with the keyboard and selected with the mouse, and the selection events fire on these actions +- the cells can be copied with `Ctrl (Cmd) + C` and searched with `Ctrl (Cmd) + F` +- the sheets can be switched in the sheet tabs and with the keyboard +- the links in cells can be opened, but the buttons that edit and remove a link are disabled in the link popup + +Changes of the data are refused: + +- typing, the editing keys, cut and paste, undo and redo, and the shortcuts that format cells, insert a link, add a sheet or show hidden rows and columns are ignored, and screen readers announce "The sheet is read-only" +- the methods that edit the data, for example, [`setValue()`](api/spreadsheet_setvalue_method.md), [`setStyle()`](api/spreadsheet_setstyle_method.md) and [`deleteRow()`](api/spreadsheet_deleterow_method.md), and the [`startEdit()`](api/spreadsheet_startedit_method.md) method are ignored. The [`parse()`](api/spreadsheet_parse_method.md) and [`load()`](api/spreadsheet_load_method.md) methods still load data +- the fill handle is hidden +- the columns and rows can't be resized by dragging their borders, and a double-click on a column border doesn't fit the column width to the data + +To turn off the keyboard navigation and the selection as well, set the [`selection`](api/spreadsheet_selection_config.md) option to `false`. In this case, the Spreadsheet has no active cell, and the cells can't be selected by the mouse, the keyboard or the API: + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, + // other config parameters +}); +~~~ + +**Change log:** The keyboard navigation, the selection, copying and search in the read-only mode were added in v6.0.4 + **Related articles:** - [Configuration](configuration.md#read-only-mode) - [Customization](customization.md#custom-read-only-mode) +- [Accessibility: read-only setup](accessibility.md#read-only-setup) **Related sample:** [Spreadsheet. Readonly](https://snippet.dhtmlx.com/2w959gx2) diff --git a/docs/api/spreadsheet_redo_method.md b/docs/api/spreadsheet_redo_method.md index 736a409c..3e3da042 100644 --- a/docs/api/spreadsheet_redo_method.md +++ b/docs/api/spreadsheet_redo_method.md @@ -1,7 +1,7 @@ --- sidebar_label: redo() title: redo method -description: You can learn about the redo method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Apply an undone action once again in DHTMLX Spreadsheet with the redo() method. --- # redo() @@ -19,7 +19,7 @@ redo(): void; ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // applies the reverted action once again diff --git a/docs/api/spreadsheet_rowscount_config.md b/docs/api/spreadsheet_rowscount_config.md index 618714bf..f6618da3 100644 --- a/docs/api/spreadsheet_rowscount_config.md +++ b/docs/api/spreadsheet_rowscount_config.md @@ -1,7 +1,7 @@ --- sidebar_label: rowsCount title: rowsCount config -description: You can learn about the rowsCount config in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Set the number of rows that DHTMLX Spreadsheet shows on initialization with the rowsCount property. --- # rowsCount @@ -19,7 +19,7 @@ rowsCount?: number; ### Example ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { rowsCount: 10, // other config parameters }); diff --git a/docs/api/spreadsheet_search_method.md b/docs/api/spreadsheet_search_method.md index 96003a21..c1a1a362 100644 --- a/docs/api/spreadsheet_search_method.md +++ b/docs/api/spreadsheet_search_method.md @@ -1,7 +1,7 @@ --- sidebar_label: search() title: search method -description: You can learn about the search method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Search for cells by a value in DHTMLX Spreadsheet with the search() method, which returns the ids of the found cells and can open the search bar with the matches highlighted. --- # search() @@ -35,7 +35,7 @@ The method returns an array with IDs of the found cells ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // returns IDs of cells with the matched result, opens a search bar and highlights the found cells diff --git a/docs/api/spreadsheet_selection_config.md b/docs/api/spreadsheet_selection_config.md new file mode 100644 index 00000000..17c4d96e --- /dev/null +++ b/docs/api/spreadsheet_selection_config.md @@ -0,0 +1,63 @@ +--- +sidebar_label: selection +title: selection config +description: Turn off the selection of cells in DHTMLX Spreadsheet with the selection property, alone or with the read-only mode, to show the data without an active cell. +--- + +# selection + +### Description + +@short: Optional. Enables/disables the selection of cells + +### Usage + +~~~jsx +selection?: boolean; +~~~ + +### Default config + +~~~jsx +selection: true +~~~ + +### Example + +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // other config parameters +}); +~~~ + +### Details + +When the property is set to `false`: + +- the Spreadsheet has no active cell +- the cells can't be selected with the mouse, the keyboard or the API: the [`setSelectedCell()`](api/selection_setselectedcell_method.md) and [`setFocusedCell()`](api/selection_setfocusedcell_method.md) methods are ignored, and the [`getSelectedCell()`](api/selection_getselectedcell_method.md) and [`getFocusedCell()`](api/selection_getfocusedcell_method.md) methods return `undefined` +- the cells can't be edited from the interface: the formula bar is locked, the fill handle is hidden, and the [`startEdit()`](api/spreadsheet_startedit_method.md) method is ignored +- the context menu and the column menu icon are not available +- `Tab` stops on the grid once and moves the focus further, and `Ctrl + F6` skips the grid + +The columns and rows can still be resized by dragging their borders, and the data can still be changed with the API, for example, with the [`setValue()`](api/spreadsheet_setvalue_method.md) method. + +Combined with the [`readonly`](api/spreadsheet_readonly_config.md) property, the option turns off the keyboard navigation and the selection that are available in the read-only mode: + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, + // other config parameters +}); +~~~ + +To turn the selection off and on at runtime, use the [`selection.disable()`](api/selection_disable_method.md) and [`selection.enable()`](api/selection_enable_method.md) methods. + +**Change log:** Added in v6.0.4 + +**Related articles:** +- [Selection of cells](configuration.md#selection-of-cells) +- [Read-only mode](configuration.md#read-only-mode) +- [Accessibility: read-only setup](accessibility.md#read-only-setup) diff --git a/docs/api/spreadsheet_serialize_method.md b/docs/api/spreadsheet_serialize_method.md index a2fb0977..08e4d5c6 100644 --- a/docs/api/spreadsheet_serialize_method.md +++ b/docs/api/spreadsheet_serialize_method.md @@ -1,7 +1,7 @@ --- sidebar_label: serialize() title: serialize method -description: You can learn about the serialize method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Save the data of DHTMLX Spreadsheet to a JSON object with the serialize() method, which includes the sheets, the cell values, the styles and the number formats. --- # serialize() @@ -94,7 +94,7 @@ Note that: ### Example ~~~jsx {4} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); const state = spreadsheet.serialize(); diff --git a/docs/api/spreadsheet_setfilter_method.md b/docs/api/spreadsheet_setfilter_method.md index d701c06c..2a77b627 100644 --- a/docs/api/spreadsheet_setfilter_method.md +++ b/docs/api/spreadsheet_setfilter_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFilter() title: setFilter method -description: You can learn about the setFilter method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Filter the data of a column in DHTMLX Spreadsheet by conditions or by excluded values with the setFilter() method, or reset the filtering. --- # setFilter() @@ -44,7 +44,7 @@ To reset filtering, call the method without parameters or pass only the `cell` p ### Example ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // filter data by condition specified for column A diff --git a/docs/api/spreadsheet_setformat_method.md b/docs/api/spreadsheet_setformat_method.md index 6e9e344c..33d21825 100644 --- a/docs/api/spreadsheet_setformat_method.md +++ b/docs/api/spreadsheet_setformat_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFormat() title: setFormat method -description: You can learn about the setformat method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Apply a number format to the value of a cell or a range of cells in DHTMLX Spreadsheet with the setFormat() method. --- # setFormat() @@ -24,7 +24,7 @@ setFormat(cell: string, format: string | array): void; ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // applies the currency format to the cell A1 diff --git a/docs/api/spreadsheet_setstyle_method.md b/docs/api/spreadsheet_setstyle_method.md index deca0e98..8de29cb5 100644 --- a/docs/api/spreadsheet_setstyle_method.md +++ b/docs/api/spreadsheet_setstyle_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setStyle() title: setStyle method -description: You can learn about the setStyle method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Apply the same style to a cell, several cells or a range of cells in DHTMLX Spreadsheet with the setStyle() method, passing the styles as an object or an array. --- # setStyle() @@ -28,7 +28,7 @@ setStyle(cell: string, styles: array | object): void; ### Example ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // setting style for one cell diff --git a/docs/api/spreadsheet_setvalidation_method.md b/docs/api/spreadsheet_setvalidation_method.md index a9b6401d..a474ad7c 100644 --- a/docs/api/spreadsheet_setvalidation_method.md +++ b/docs/api/spreadsheet_setvalidation_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setValidation() title: setValidation method -description: You can learn about the setValidation method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Add a drop-down list of values to cells in DHTMLX Spreadsheet with the setValidation() method, taking the options from a range of cells or an array, or remove the validation. --- # setValidation() @@ -29,7 +29,7 @@ setValidation( ### Example ~~~jsx {8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); diff --git a/docs/api/spreadsheet_setvalue_method.md b/docs/api/spreadsheet_setvalue_method.md index 7bbdec95..8897b350 100644 --- a/docs/api/spreadsheet_setvalue_method.md +++ b/docs/api/spreadsheet_setvalue_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setValue() title: setValue method -description: You can learn about the setValue method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Set a value for a cell, several cells or a range of cells in DHTMLX Spreadsheet with the setValue() method, passing a single value or an array of values repeated across the cells. --- # setValue() @@ -28,7 +28,7 @@ setValue(cell: string, value: string | number | array): void; ### Example ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // setting value for one cell diff --git a/docs/api/spreadsheet_showcols_method.md b/docs/api/spreadsheet_showcols_method.md index 110f5e11..53f1a56a 100644 --- a/docs/api/spreadsheet_showcols_method.md +++ b/docs/api/spreadsheet_showcols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: showCols() title: showCols method -description: You can learn about the showCols method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Show hidden columns in DHTMLX Spreadsheet with the showCols() method, using the column of the passed cell or of the selected cell. --- # showCols() diff --git a/docs/api/spreadsheet_showrows_method.md b/docs/api/spreadsheet_showrows_method.md index 1f5f62fd..762265ac 100644 --- a/docs/api/spreadsheet_showrows_method.md +++ b/docs/api/spreadsheet_showrows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: showRows() title: showRows method -description: You can learn about the showRows method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Show hidden rows in DHTMLX Spreadsheet with the showRows() method, using the row of the passed cell or of the selected cell. --- # showRows() diff --git a/docs/api/spreadsheet_sortcells_method.md b/docs/api/spreadsheet_sortcells_method.md index 0fd1db6a..740c2f79 100644 --- a/docs/api/spreadsheet_sortcells_method.md +++ b/docs/api/spreadsheet_sortcells_method.md @@ -1,7 +1,7 @@ --- sidebar_label: sortCells() title: sortCells method -description: You can learn about the sortCells method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Sort the data of DHTMLX Spreadsheet in ascending or descending order by a column or a range of cells with the sortCells() method. --- # sortCells() @@ -26,7 +26,7 @@ sortCells(cell: string, dir: number): void; ### Example ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // configuration parameters }); spreadsheet.parse(data); diff --git a/docs/api/spreadsheet_startedit_method.md b/docs/api/spreadsheet_startedit_method.md index 033f570f..c266cfa0 100644 --- a/docs/api/spreadsheet_startedit_method.md +++ b/docs/api/spreadsheet_startedit_method.md @@ -1,7 +1,7 @@ --- sidebar_label: startEdit() title: startEdit method -description: You can learn about the startEdit method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Start editing the passed or the selected cell of DHTMLX Spreadsheet with the startEdit() method, optionally with an initial value. --- # startEdit() @@ -28,11 +28,17 @@ startEdit(cell?: string, initialValue?: string): void; ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // starts editing the currently selected cell spreadsheet.startEdit(); ~~~ +### Details + +Typing in the active cell starts editing through this method. Text composed with an input method editor (IME) is passed as `initialValue` when the composition ends. So the [`beforeEditStart`](api/spreadsheet_beforeeditstart_event.md) and [`afterEditStart`](api/spreadsheet_aftereditstart_event.md) events receive the typed or the composed text, and `beforeEditStart` can cancel the edit. + +**Change log:** Starting the edit with the text composed with an IME was added in v6.0.4 + **Related article:** [Work with Spreadsheet](working_with_cells.md#editing-a-cell) diff --git a/docs/api/spreadsheet_toolbarblocks_config.md b/docs/api/spreadsheet_toolbarblocks_config.md index 313eba1e..dfffb3b1 100644 --- a/docs/api/spreadsheet_toolbarblocks_config.md +++ b/docs/api/spreadsheet_toolbarblocks_config.md @@ -1,7 +1,7 @@ --- sidebar_label: toolbarBlocks title: toolbarBlocks config -description: You can learn about the toolbarBlocks config in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Choose which blocks of buttons the DHTMLX Spreadsheet toolbar shows, such as undo, colors, font, align and format, with the toolbarBlocks property. --- # toolbarBlocks diff --git a/docs/api/spreadsheet_undo_method.md b/docs/api/spreadsheet_undo_method.md index be96925c..5bd8d843 100644 --- a/docs/api/spreadsheet_undo_method.md +++ b/docs/api/spreadsheet_undo_method.md @@ -1,7 +1,7 @@ --- sidebar_label: undo() title: undo method -description: You can learn about the undo method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Revert the latest action in DHTMLX Spreadsheet with the undo() method, and reapply it with the redo() method. --- # undo() @@ -19,7 +19,7 @@ undo(): void; ### Example ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // performs one step back diff --git a/docs/api/spreadsheet_unfreezecols_method.md b/docs/api/spreadsheet_unfreezecols_method.md index f9fca1fe..677fac92 100644 --- a/docs/api/spreadsheet_unfreezecols_method.md +++ b/docs/api/spreadsheet_unfreezecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unfreezeCols() title: unfreezeCols method -description: You can learn about the unfreezeCols method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Unfreeze the frozen columns in DHTMLX Spreadsheet with the unfreezeCols() method, so that they scroll together with the rest of the grid. --- # unfreezeCols() diff --git a/docs/api/spreadsheet_unfreezerows_method.md b/docs/api/spreadsheet_unfreezerows_method.md index 130b083c..30a79947 100644 --- a/docs/api/spreadsheet_unfreezerows_method.md +++ b/docs/api/spreadsheet_unfreezerows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unfreezeRows() title: unfreezeRows method -description: You can learn about the unfreezeRows method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Unfreeze the frozen rows in DHTMLX Spreadsheet with the unfreezeRows() method, so that they scroll together with the rest of the grid. --- # unfreezeRows() diff --git a/docs/api/spreadsheet_unlock_method.md b/docs/api/spreadsheet_unlock_method.md index 606d7979..68eebc75 100644 --- a/docs/api/spreadsheet_unlock_method.md +++ b/docs/api/spreadsheet_unlock_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unlock() title: unlock method -description: You can learn about the unlock method in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Unlock a locked cell, several cells or a range of cells in DHTMLX Spreadsheet with the unlock() method, so that users can edit them again. --- # unlock() @@ -23,7 +23,7 @@ unlock(cell: string): void; ### Example ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // unlocks a cell diff --git a/docs/awaitredraw.md b/docs/awaitredraw.md index 383ee873..f37a29a5 100644 --- a/docs/awaitredraw.md +++ b/docs/awaitredraw.md @@ -1,7 +1,7 @@ --- sidebar_label: AwaitRedraw helper title: AwaitRedraw helper -description: You can explore the AwaitRedraw helper in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Run code after DHTMLX Spreadsheet finishes rendering with the dhx.awaitRedraw helper, for API methods that take effect only once the component is on the page. --- # AwaitRedraw helper diff --git a/docs/configuration.md b/docs/configuration.md index ad419a74..3d370a4f 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -1,7 +1,7 @@ --- sidebar_label: Configuration title: Configuration -description: You can learn about the configuration of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Configure DHTMLX Spreadsheet. Set up the toolbar, the editing bar, the menu, the number of rows and columns, the read-only mode, the selection of cells and number formats. --- # Configuration @@ -49,10 +49,43 @@ The menu of the Spreadsheet is hidden by default. You can switch it on/off via t You can also enable read-only mode to prevent editing of Spreadsheet cells via the [`readonly`](api/spreadsheet_readonly_config.md) configuration option. +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, +}); +~~~ + +In the read-only mode, the toolbar, the menu and the formula bar are hidden. Users can navigate the cells with the keyboard, select them with the mouse, copy and search them. Edits are refused and announced to screen readers as "The sheet is read-only". The fill handle is hidden. Check the details in the [`readonly`](api/spreadsheet_readonly_config.md#details) article. To learn how keyboard and screen reader users work with a read-only Spreadsheet, check the [Read-only setup](accessibility.md#read-only-setup) section of the Accessibility guide. + +To turn off the keyboard navigation and the selection in the read-only mode, set the [`selection`](api/spreadsheet_selection_config.md) option to `false`: + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, +}); +~~~ + You can also [customize the read-only behavior of Spreadsheet](customization.md#custom-read-only-mode). +## Selection of cells + +By default, users can select cells with the mouse and the keyboard, and the Spreadsheet has an active cell. To turn the selection off, set the [`selection`](api/spreadsheet_selection_config.md) configuration option to `false`: + +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, +}); +~~~ + +In this case, the Spreadsheet has no active cell, the cells can't be selected or edited from the interface, and the context menu is not available. + +To turn the selection off and on at runtime, use the [`selection.disable()`](api/selection_disable_method.md) and [`selection.enable()`](api/selection_enable_method.md) methods. The [`selection.isDisabled()`](api/selection_isdisabled_method.md) method checks whether the selection is turned off. + +Without the selection, the grid becomes one tab stop that the keyboard passes through. Check the [Read-only setup](accessibility.md#read-only-setup) section of the Accessibility guide. + ## Custom number formats for cells You can apply 7 default formats to cell values: "Common", "Number", "Percent", "Currency", "Date", "Time", "Text". diff --git a/docs/customization.md b/docs/customization.md index b1833f76..5973384e 100644 --- a/docs/customization.md +++ b/docs/customization.md @@ -1,7 +1,7 @@ --- sidebar_label: Customization title: Customization -description: You can learn about the customization of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Customize DHTMLX Spreadsheet. Change icons, and add, update and delete controls of the toolbar, the menu and the context menu, or build a custom read-only mode. --- # Customization @@ -31,6 +31,8 @@ Then you can use the name of the icon as the value of the `icon` property in the You can add the following types of controls: `button`, `menuItem`, `separator`, and `spacer`. +Like the other controls of the [default toolbar](#default-controls), the *Text color* and *Background color* controls, and the *Border color* control in the *Border* popup, are of the [`navItem`](https://docs.dhtmlx.com/suite/toolbar/navitem/) type. They draw the current color with the [`html`](https://docs.dhtmlx.com/suite/toolbar/api/api_navitem_properties/) property, take their accessible name from the [`value`](https://docs.dhtmlx.com/suite/toolbar/api/api_navitem_properties/) property, for example, "Text color: dark gray", and open a color popup. The Spreadsheet updates both properties of the *Text color* and *Background color* controls when the active cell changes, and of the *Border color* control when a border color is chosen. + The `button` object has the following properties: - `type` - the type of a button, set it to "button" @@ -379,7 +381,8 @@ The [default context menu](/#context-menu) has the following structure: - the **Columns** menuItem (id: "columns") - the *Add column* menuItem (id: "add-col") - the *Remove column* menuItem (id: "remove-col") - - the *Fit to data* menuItem (id: "fit-col") + - the *Fit to data* menuItem (id: "fit-col"), shown in the column menu and when whole columns are selected + - the *Column width* menuItem (id: "col-width") - the separator - the *Unfreeze columns* menuItem (id: "unfreeze-cols") - the *Freeze up to column [id]* menuItem (id: "freeze-cols") @@ -388,6 +391,7 @@ The [default context menu](/#context-menu) has the following structure: - the **Rows** menuItem (id: "rows") - the *Add row* menuItem (id: "add-row") - the *Remove row* menuItem (id: "remove-row") + - the *Row height* menuItem (id: "row-height") - the separator - the *Unfreeze rows* menuItem (id: "unfreeze-rows") - the *Freeze up to row [id]* menuItem (id: "freeze-rows") @@ -396,6 +400,7 @@ The [default context menu](/#context-menu) has the following structure: - the **Sort** menuItem (id: "sort") - the *Sort A to Z* menuItem (id: "asc-sort") - the *Sort Z to A* menuItem (id: "desc-sort") +- the **Open filter** menuItem (id: "open-filter"), shown when the active cell holds the filter icon - the **Insert link** menuItem (id: "link") ### Adding controls diff --git a/docs/data_formatting.md b/docs/data_formatting.md index 607b5dbf..9a7d0e0b 100644 --- a/docs/data_formatting.md +++ b/docs/data_formatting.md @@ -1,7 +1,7 @@ --- sidebar_label: Data formatting title: Data Formatting -description: You can learn about data formatting in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Style cell data in DHTMLX Spreadsheet from the toolbar, including text and background colors, bold and italic, alignment, text wrapping and cell borders, and clear styles and values. --- # Data formatting diff --git a/docs/data_search.md b/docs/data_search.md index de9a48af..433ea08b 100644 --- a/docs/data_search.md +++ b/docs/data_search.md @@ -1,7 +1,7 @@ --- sidebar_label: Searching for data title: Searching for data -description: You can learn about data search in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Search for data in DHTMLX Spreadsheet with the search bar. Open it with Ctrl (Cmd) + F or the Data menu, move between the matches and close it with Esc. --- # Searching for data @@ -11,4 +11,12 @@ To open a search bar, use one of two options: - Set focus on any cell and press **Ctrl (Cmd) + F** - Or go to: *Data* -> *Search* -![DHTMLX Spreadsheet search bar with a text input for finding data](/img/search_data.png) \ No newline at end of file +![DHTMLX Spreadsheet search bar with a text input for finding data](/img/search_data.png) + +Type the text to find in the search bar. The first cell that contains the text is highlighted and scrolled into view, and the counter shows the number of matches. To move between the matches, click the arrow buttons in the search bar. + +The search results are updated after the cells are edited and after another sheet is opened. Screen readers announce the number of matches and the address of the first match after you stop typing, for example, "Results: 5. 1 of 5, B2", or "No results". When you move to another match, they announce its position and address, for example, "2 of 5, B7". + +To close the search bar, press **Esc** or click the close button. The focus returns to the active cell. + +To search for data with the API, use the [`search()`](api/spreadsheet_search_method.md) method. diff --git a/docs/excel_import_export.md b/docs/excel_import_export.md index 39a67c92..03c75327 100644 --- a/docs/excel_import_export.md +++ b/docs/excel_import_export.md @@ -1,7 +1,7 @@ --- sidebar_label: Excel import/export title: Excel import and export -description: You can learn about the excel import and export in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Import data from Excel files into DHTMLX Spreadsheet and export it to .xlsx through the toolbar or the File menu. --- # Excel import/export @@ -37,3 +37,9 @@ Go to: *File -> Download As... -> Microsoft Excel (.xlsx)* in the menu ![DHTMLX Spreadsheet File menu with the Download As option for Microsoft Excel XLSX export](/img/file_export.png) 2\. Check your downloads directory to find the Excel file with data from Spreadsheet. + +Screen readers announce the start and the end of import and export. + +:::note +Import and export of Excel files use WebAssembly. If the browser doesn't support WebAssembly, the Import and Export commands show a message with the text of the `wasmNotSupported` [locale](localization.md#default-locale) key. The [`load()`](api/spreadsheet_load_method.md) method with the `"xlsx"` type and the [`export.xlsx()`](api/export_xlsx_method.md) method throw an `Error` with the same text, which you can catch in your code. +::: diff --git a/docs/filtering_data.md b/docs/filtering_data.md index cbaae6fb..50ce3b69 100644 --- a/docs/filtering_data.md +++ b/docs/filtering_data.md @@ -1,7 +1,7 @@ --- sidebar_label: Filtering data title: Filtering data -description: You can learn about data filtering in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Filter data in DHTMLX Spreadsheet by condition or by values, open a filter with the keyboard, and clear or remove filters. --- # Filtering data @@ -20,6 +20,20 @@ To activate filtering, use one of two ways: After that, a **filter** icon appears on the right of each column header in the range. +## Opening a filter with the keyboard + +To open the filter of a column without the mouse: + +- Move the active cell to the column header cell with the **filter** icon + +- Press `Shift + F10` or the Menu key to call the context menu and choose *Open filter* + +![DHTMLX Spreadsheet context menu of a header cell with the filter icon and the Open filter command focused](/img/open_filter_context_menu.png) + +The *Open filter* command appears in the context menu only for the cells with the **filter** icon. You can also choose it after right-clicking such a cell. In the [read-only mode](api/spreadsheet_readonly_config.md), the context menu and the *Open filter* command are not available. + +The filter popup takes the focus, and `Tab` moves between its controls. `Esc` closes the popup and returns the focus to the cell. If a dropdown list or a date picker is open in the popup, `Esc` closes it first. + ## Filtering by condition - Click the **filter** icon of the necessary column diff --git a/docs/functions.md b/docs/functions.md index 749c9ab4..1a6070e8 100644 --- a/docs/functions.md +++ b/docs/functions.md @@ -1,7 +1,7 @@ --- sidebar_label: Formulas and functions title: Formulas and functions -description: You can learn about the formulas and functions of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Use the Excel and Google Sheets compatible formulas in DHTMLX Spreadsheet, including math, date, lookup, string and financial functions, add custom formulas and get the formula of a cell. --- # Formulas and functions diff --git a/docs/guides.md b/docs/guides.md index e94b23f9..3a20b0ea 100644 --- a/docs/guides.md +++ b/docs/guides.md @@ -1,12 +1,12 @@ --- sidebar_label: Guides overview title: Developer and User Guides -description: You can study developer and user guides in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Developer and user guides of DHTMLX Spreadsheet, from initialization, configuration and data loading to editing cells, formatting and work with sheets. --- # Guides -DHTMLX Spreadsheet includes a wide range of features: import and export of data in different formats, convenient work with cell content and styles, an adaptable spreadsheet structure, a read-only mode, extensive look-and-feel customization, and integration with popular frameworks. +DHTMLX Spreadsheet includes a wide range of features: import and export of data in different formats, convenient work with cell content and styles, an adaptable spreadsheet structure, a read-only mode, extensive look-and-feel customization, keyboard and screen-reader accessibility, and integration with popular frameworks. ## Developer guides @@ -38,6 +38,12 @@ Shows how to load data into Spreadsheet, handle events, and use the main functio - [Integration with Svelte](svelte_integration.md) - GitHub demo of using Spreadsheet in a Svelte app - [Integration with Vue.js](vuejs_integration.md) - GitHub demo of using Spreadsheet in a Vue app +### Accessibility + +- [Accessibility](accessibility.md) - WAI-ARIA support, keyboard navigation, screen-reader announcements, and high-contrast themes +- [Setting up an accessible Spreadsheet](accessibility.md#configuration-recipes) - configurations for keyboard and screen-reader users, including the read-only mode +- [Conformance report (VPAT)](accessibility_conformance_report.md) - conformance with WCAG 2.2 AA, Section 508, and EN 301 549 + ### AI-assisted development - [DHTMLX MCP server](mcp-server.md) - connect AI coding assistants to live Spreadsheet documentation diff --git a/docs/handling_events.md b/docs/handling_events.md index a8c2b8d0..6c03c93f 100644 --- a/docs/handling_events.md +++ b/docs/handling_events.md @@ -1,7 +1,7 @@ --- sidebar_label: Event handling title: Event handling -description: You can learn about event handling in the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Attach and detach event listeners and call events in DHTMLX Spreadsheet with the events.on(), events.detach() and events.fire() methods. --- # Event handling diff --git a/docs/hotkeys.md b/docs/hotkeys.md index b4f7e1ce..81acdc9c 100644 --- a/docs/hotkeys.md +++ b/docs/hotkeys.md @@ -1,13 +1,21 @@ --- sidebar_label: Hot keys list title: Hotkeys -description: You can learn about the hotkeys in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Keyboard shortcuts of DHTMLX Spreadsheet for editing, formatting, navigation, selection, search, work with sheets, rows and columns, popups and dialogs. --- # Hot keys list Here is a list of hotkeys that you can use while working with DHTMLX Spreadsheet. +:::note +The shortcuts for cells work while the focus is in the cells or in the formula bar. The formatting, undo, search, link and add-sheet shortcuts also work while the focus is on the toolbar. When the focus is on the toolbar, the menu bar or the sheet tabs, the arrow keys, **Home**, **End**, **Enter** and **Space** work within that bar (see [Moving the focus](#moving-the-focus)). + +In the [read-only mode](api/spreadsheet_readonly_config.md), the shortcuts for navigation, selection, copying and search work. The shortcuts that change the sheet, including **Ctrl (Cmd) + Shift + 9**, **Ctrl (Cmd) + Shift + 0** and **Shift + F11**, are refused, and screen readers announce "The sheet is read-only". The context menu isn't available, so **Shift + F10** and the Menu key don't work. + +To learn how the keyboard navigation works with screen readers, check the [Accessibility](accessibility.md#keyboard-navigation) guide. +::: + ## Editing @@ -18,7 +26,7 @@ Here is a list of hotkeys that you can use while working with DHTMLX Spreadsheet - + @@ -28,6 +36,10 @@ Here is a list of hotkeys that you can use while working with DHTMLX Spreadsheet + + + +
Ctrl (Cmd) + Enterstops cell’s editing, leaves selection on the cellstops cell's editing, leaves selection on the cell
F2Esc closes editor in a cell without saving changes
Alt (Option) + Enteropens the link of the active cell in a new tab
@@ -114,43 +126,43 @@ Here is a list of hotkeys that you can use while working with DHTMLX Spreadsheet Shift + Enter - moves selection one cell up (in a column). If a range of cells is selected, moves selection one cell up within the bounds of a range. Deactivated when reaches the first cell in a column. + moves selection one cell up (in a column). If a range of cells is selected, moves selection one cell up within the bounds of a range. Tab - moves selection one cell right (in a row). If a range of cells is selected, moves selection one cell right within the bounds of a range. Deactivated when reaches the rightmost cell in a row. + moves selection one cell right (in a row). From the rightmost cell, moves selection to the first cell of the same row. If a range of cells is selected, moves selection one cell right within the bounds of a range. From the last cell of the sheet, saves the edited value and moves the focus out of the cells to the next part of the page, for example, the sheet tabs. Tab + Shift - moves selection one cell left (in a row). If a range of cells is selected, moves selection one cell left within the bounds of a range. Deactivated when reaches the leftmost cell in a row. + moves selection one cell left (in a row). From the leftmost cell, moves selection to the last cell of the same row. If a range of cells is selected, moves selection one cell left within the bounds of a range. From the first cell of the sheet, saves the edited value and moves the focus out of the cells to the previous part of the page, for example, the formula bar. Arrow keys - provide navigation around cells in a sheet + provide navigation around cells in a sheet. Stop at the first and last visible row and column. If a range of cells is selected, an arrow key at the edge of the sheet collapses the range to the active cell Home - moves selection to the first cell in the row + moves selection to the first visible cell in the row End - moves selection to the last cell in the row + moves selection to the last visible cell in the row Ctrl (Cmd) + Left Arrow Key - moves selection to the first cell in a row + moves selection to the first visible cell in a row Ctrl (Cmd) + Right Arrow Key - moves selection to the last cell in a row + moves selection to the last visible cell in a row Ctrl (Cmd) + Up Arrow Key - moves selection to the first cell in a column + moves selection to the first visible cell in a column Ctrl (Cmd) + Down Arrow Key - moves selection to the last cell in a column + moves selection to the last visible cell in a column Ctrl (Cmd) + Home @@ -175,6 +187,59 @@ Here is a list of hotkeys that you can use while working with DHTMLX Spreadsheet +## Moving the focus + +The toolbar, the menu bar and the sheet tabs are single tab stops: Tab moves the focus into a bar and out of it, and the focus lands on the control that was used last. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ctrl + F6moves the focus to the next part of the Spreadsheet in the order: the menu, the toolbar, the sheet (the active cell), the sheet tabs, and then back to the menu. The formula bar and hidden parts are skipped. Saves the value of the edited cell first
Ctrl + Shift + F6moves the focus to the previous part of the Spreadsheet
Left Arrow/Right Arrow Keymoves the focus to the previous/next control of the toolbar, the menu bar or the sheet tabs
Home/Endmoves the focus to the first/last control of the bar
Enter/Spacepresses the focused control: runs the command, opens the dropdown, or switches to the sheet of the focused tab
Down Arrow Keyopens the dropdown of the focused control and moves the focus to its first item
Up Arrow/Down Arrow Keymoves the focus between the items of an open dropdown or menu
Right Arrow Keyopens the submenu of the focused menu item
Left Arrow Keycloses the submenu. In the first level of a dropdown, closes the dropdown and returns the focus to its control
Esccloses the dropdown or the menu and returns the focus to the control that opened it. Closes the tooltip of a toolbar control. Without Esc, the tooltip stays open while the pointer is over it
Shift + F10 or Menu keyopens the context menu of the active cell or of the focused sheet tab and moves the focus into it. After Ctrl (Cmd) + Space, the context menu of a cell shows the commands for the column. Esc closes the context menu and returns the focus to the cell
+ ## Search @@ -185,11 +250,15 @@ Here is a list of hotkeys that you can use while working with DHTMLX Spreadsheet - + - + + + + +
Ctrl (Cmd) + Gmoves selection to the next found matchhighlights the next found match
Ctrl (Cmd) + Shift + Gmoves selection to the previous found matchhighlights the previous found match
Esccloses the search box and returns the focus to the active cell
@@ -234,8 +303,110 @@ Here is a list of hotkeys that you can use while working with DHTMLX Spreadsheet adds a new sheet into the spreadsheet - Alt + Arrow Up/ Arrow Down - switches to the next/previous sheet + Alt (Option) + Arrow Up + switches to the next sheet. From the last sheet, switches to the first one + + + Alt (Option) + Arrow Down + switches to the previous sheet. From the first sheet, switches to the last one + + + Ctrl (Cmd) + Alt (Option) + Page Down + switches to the next sheet + + + Ctrl (Cmd) + Alt (Option) + Page Up + switches to the previous sheet + + + + +## Work with rows and columns + + + + + + + + + + + + +
Ctrl (Cmd) + Shift + 9shows the hidden rows inside the selected range
Ctrl (Cmd) + Shift + 0shows the hidden columns inside the selected range
+ +## Toolbar popups + +The keys below work in the popups of the *Text color*, *Background color* and *Border* controls of the toolbar. The popup takes the focus when it opens. + + + + + + + + + + + + + + + + + + + + + + + + +
Arrow keysmove the focus between the colors of the palette or between the controls of the Border popup
Home/Endmoves the focus to the first/last color of the palette
Enterapplies the focused color or border. After a text or background color is applied, the focus returns to the active cell
Escreturns from the custom color mode to the palette. In a color or style popup opened over the Border popup, closes it and returns the focus to its button in the Border popup. Otherwise, closes the popup and returns the focus to its toolbar control
Tab/Tab + Shiftcloses the popup and returns the focus to its toolbar control. In the Border popup and the popups opened over it, closes them all and returns the focus to the Border control. In the custom color mode, moves the focus between the controls of the color picker
+ +## List editor + +The keys below work in the editor of a cell with a [list of values](api/spreadsheet_setvalidation_method.md). + + + + + + + + + + + + + + + + + + + + +
Up Arrow/Down Arrow Keymoves through the list of values
Enterchooses the value and closes the editor
Esccloses the editor without saving changes
Tabsaves the value and moves selection one cell right
+ +## Filter and dialogs + +The keys below work in the popup of a [filter](filtering_data.md#opening-a-filter-with-the-keyboard) and in the [Column width and Row height](work_with_rows_cols.md#setting-column-width-and-row-height) dialogs. + + + + + + + + + + + + + +
Esccloses the filter popup and returns the focus to the cell
Enterapplies the size in the Column width and Row height dialogs
Esccloses the Column width and Row height dialogs without changes
diff --git a/docs/how_to_start.md b/docs/how_to_start.md index 232ccc70..85fdbc88 100644 --- a/docs/how_to_start.md +++ b/docs/how_to_start.md @@ -1,7 +1,7 @@ --- sidebar_label: How to start title: How to start with DHTMLX Spreadsheet -description: You can learn how to start with the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Get DHTMLX Spreadsheet running on a page in four steps, from including the source files or installing the npm package to configuring the component and loading data. --- # How to start @@ -79,7 +79,7 @@ As parameters, the constructor function takes the HTML container to place Spread
@@ -94,7 +94,7 @@ Next you can specify additional configuration options you want the Spreadsheet c You can adjust the look and feel of Spreadsheet with several options, for example: `toolbarBlocks`, `rowsCount`, and `colsCount`. [Check the details](configuration.md). ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { toolbarBlocks: ["columns", "rows", "clear"], rowsCount: 10, colsCount: 10 @@ -129,7 +129,7 @@ const data = [ ] // initializing spreadsheet -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { //config }); // loading data into spreadsheet diff --git a/docs/index.md b/docs/index.md index ed5ddf83..9b62cbc8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,7 +2,7 @@ sidebar_label: Spreadsheet overview title: DHTMLX Spreadsheet Overview slug: / -description: You can have an overview of the JavaScript Spreadsheet library in the DHTMLX documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Overview of DHTMLX Spreadsheet, a JavaScript component for editing and formatting spreadsheet data, with its toolbar, editing line, grid, menu and context menu. --- # DHTMLX Spreadsheet overview diff --git a/docs/initialization.md b/docs/initialization.md index 1490adc7..95664216 100644 --- a/docs/initialization.md +++ b/docs/initialization.md @@ -1,7 +1,7 @@ --- sidebar_label: Initialization title: Initialization -description: You can learn about the initialization of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Initialize DHTMLX Spreadsheet on a page by including the source files, adding a container and calling the dhx.Spreadsheet constructor with a configuration object. --- # Initialization @@ -39,10 +39,10 @@ The structure of the Spreadsheet pack is the following: ## Creating container -Add a container for Spreadsheet and give it an id, for example "spreadsheet": +Add a container for Spreadsheet and give it an id, for example "spreadsheet_container": ~~~html title="index.html" -
+
~~~ ## Initializing DHTMLX Spreadsheet @@ -54,7 +54,7 @@ Initialize DHTMLX Spreadsheet with the `dhx.Spreadsheet` object constructor. The ~~~jsx title="index.js" // creating DHTMLX Spreadsheet -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config options }); ~~~ diff --git a/docs/loading_data.md b/docs/loading_data.md index 0dcc8ebf..2656ea8e 100644 --- a/docs/loading_data.md +++ b/docs/loading_data.md @@ -1,7 +1,7 @@ --- sidebar_label: Data loading and export title: Loading data -description: You can learn about loading data in the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Load JSON, CSV or Excel data with styles, locked cells and links into DHTMLX Spreadsheet from a file or a local source, save and restore the state, and export data to Excel or JSON. --- # Data loading and export @@ -179,7 +179,7 @@ Note that you should not use the `value` property of the `cell` object and the ` By default, Spreadsheet expects data in JSON format. To load data from an external source, use the [](api/spreadsheet_load_method.md) method. It takes the URL of the file with data as a parameter: ~~~jsx -var spreadsheet = new dhx.Spreadsheet("spreadsheet"); +var spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.load("../common/data.json"); ~~~ @@ -195,7 +195,7 @@ If you need to let users import a JSON file into the spreadsheet through the Fil You can also load data in CSV format. For this, you need to call the [](api/spreadsheet_load_method.md) method and pass the name of the format ("csv") as the second parameter: ~~~jsx -var spreadsheet = new dhx.Spreadsheet("spreadsheet"); +var spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.load("../common/data.csv", "csv"); ~~~ @@ -262,7 +262,7 @@ spreadsheet.load("/some/data").then(function(){ To load data from a local source, make use of the [](api/spreadsheet_parse_method.md) method. Pass a [predefined data set](#preparing-data) as a parameter of this method: ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet"); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.parse(data); ~~~ diff --git a/docs/localization.md b/docs/localization.md index 7454f90f..2b91a402 100644 --- a/docs/localization.md +++ b/docs/localization.md @@ -1,7 +1,7 @@ --- sidebar_label: Localization title: Localization -description: You can learn about the localization of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Localize DHTMLX Spreadsheet. Check the default locale, create a custom one, translate the built-in widgets and the formula popup, and apply a locale. --- # Localization @@ -23,6 +23,8 @@ const en = { textColor: "Text color", backgroundColor: "Background color", + fontSize: "Font size", + bold: "Bold", italic: "Italic", underline: "Underline", @@ -60,6 +62,10 @@ const en = { addRow: "Add row above", removeRow: "Remove row {row}", removeRows: "Remove rows {row}", + columnWidth: "Column width", + rowHeight: "Row height", + widthInPixels: "Width in pixels", + heightInPixels: "Height in pixels", row: "row", col: "col", freeze: "Freeze", @@ -82,8 +88,10 @@ const en = { text: "Text", date: "Date", time: "Time", + scientific: "Scientific", filter: "Filter", + openFilter: "Open filter", help: "Help", @@ -104,6 +112,9 @@ const en = { border_style: "Border style", // Tabbar + // the name of a new sheet is this prefix followed by a number: sheet1, sheet2 + defaultSheetName: "sheet", + addSheet: "Add sheet", deleteSheet: "Delete", renameSheet: "Rename", renameSheetAlert: "A sheet with the name $name already exists. Please enter another name. ", @@ -114,10 +125,14 @@ const en = { export: "Export", downloadAs: "Download as...", importAs: "Import as...", + xlsxFormat: "Microsoft Excel(.xlsx)", data: "Data", validation: "Data validation", search: "Search", + previousMatch: "Previous match", + nextMatch: "Next match", + closeSearch: "Close search", sort: "Sort", ascSort: "Sort A to Z", descSort: "Sort Z to A", @@ -177,17 +192,105 @@ const en = { spanUnmergeLockedError: "You can't unmerge locked cells!", spanOverFilteredRow: "You can't merge cells over a filtered row.", removeAlert: "You can't remove last $name!", + wasmNotSupported: "WebAssembly is not supported by your browser", + invalidValue: "Invalid value", + + // Accessible names, read by screen readers + // accessible name of a color button; {label} is the name of the control, {color} is a name from the colorpicker locale + aria_colorButton: "{label}: {color}", + // accessible names of the toolbars; the screen reader adds the word "toolbar" itself + aria_toolbarFormatting: "Formatting", + aria_toolbarBorders: "Borders", + aria_toolbarSheets: "Sheets", + aria_toolbarSearch: "Search", + aria_toolbarLink: "Link", + // accessible names of the line styles in the border style list + aria_borderStyleThin: "Thin line", + aria_borderStyleMedium: "Medium line", + aria_borderStyleThick: "Thick line", + aria_borderStyleDashed: "Dashed line", + aria_borderStyleDotted: "Dotted line", + aria_borderStyleDouble: "Double line", + // accessible names of the context menus; the screen reader adds the word "menu" itself + aria_cellMenu: "Cell", + aria_sheetMenu: "Sheet", + // accessible name of the menu bar; the screen reader adds the words "menu bar" itself + aria_menuBar: "Main", + // accessible name of the cell grid; the screen reader adds the word "grid" itself + aria_grid: "Spreadsheet", + // accessible name of the select-all corner, the first column header + aria_selectAll: "Select all", + // accessible name of the formula bar; {cell} is the address of the cell it shows, for example "B7" + aria_formulaBar: "Formula bar, {cell}", + // accessible name of the input that edits a cell; {cell} is the address of the cell, for example "B7" + aria_cellEditor: "Cell editor, {cell}", + // accessible name of the close icon of the formula help panel + aria_closeFormulaHelp: "Close formula help", + + // Cell descriptions, read with the content of the active cell + // read with the content of a cell that has a filter icon; the icon itself is hidden from assistive technology + aria_filter: "Filter", + aria_filterApplied: "Filter applied", + // read after the content of a selected cell that holds a link; Alt+Enter opens the link + aria_cellLink: "link", + // read after the content of a selected locked cell; the lock icon itself is hidden from assistive technology + aria_lockedState: "locked", + // read after the value of a cell with a formula error; the formula engine writes the error as #ERROR, #REF! or #SPILL! + aria_errorSyntax: "Syntax error. Check the formula", + aria_errorCalc: "Calculation error. Check the values and functions", + aria_errorRef: "Reference error. Check the cell references", + aria_errorSpill: "Spill error. Clear the cells the result needs", + // read after the value of a cell that breaks its list validation + aria_invalidValue: "Invalid value. Choose a value from the list", + + // Screen reader announcements + // announced when an editing key is pressed in the read-only mode + aria_readonlySheet: "The sheet is read-only", + // announced when Ctrl+Shift+9 or Ctrl+Shift+0 finds nothing to reveal + aria_noHiddenRows: "No hidden rows in the selection", + aria_noHiddenCols: "No hidden columns in the selection", + // announced when a selection of several cells changes; {range} is built from aria_rangeExtent + aria_selectedRange: "{range}, {count} cells", + aria_rangeExtent: "{start} to {end}", + // joins the ranges of a selection made with Ctrl + aria_rangeSeparator: ", ", + // announced after an action; {message} is one of the texts above + aria_cellMessage: "{cell}: {message}", + // announced when an action makes several errors appear; {first} is aria_cellMessage for the first of them + aria_newErrors: "{count} new errors. {first}", + // announced when an action puts several invalid values; {first} is aria_cellMessage for the first of them + aria_invalidValues: "{count} invalid values. {first}", + // announced once when an edit of a locked cell is refused; the second one when a range holds locked cells + aria_lockedCell: "The cell is locked", + aria_lockedCells: "Locked cells were not changed", + // announced when the search text changes; followed by aria_searchMatch for the first match + aria_searchResults: "Results: {count}.", + // announced for the current match; {cell} is its address, for example "B7" + aria_searchMatch: "{index} of {count}, {cell}", + aria_searchNoResults: "No results", + // announced when an export or an import of a file starts and ends + aria_exportStarted: "Exporting the file", + aria_exportDone: "The file is exported", + aria_importStarted: "Importing the file", + aria_importDone: "The file is imported", + // announced when the column width or the row height command is applied; {size} is the applied size + aria_columnWidthSet: "Column width set to {size} pixels", + aria_rowHeightSet: "Row height set to {size} pixels", }; ~~~ +The keys that start with `aria_` are not shown in the interface. Screen readers read them as the names of the controls, as the descriptions of the active cell, and as the messages of the live region that the [`announce()`](api/spreadsheet_announce_method.md) method also uses. The parts in curly braces, such as `{cell}` or `{count}`, are replaced with the values when the string is read. Keep them in the translated strings. For an example of translated accessibility strings, check the [Accessibility](accessibility.md#translated-accessibility-strings) guide. + +The `defaultSheetName` key sets the prefix of the default sheet names. The Spreadsheet adds a number to it, so the default value `"sheet"` gives the names "sheet1", "sheet2" and so on. For example, with `"Tabelle"`, the prefix that Microsoft Excel uses in German, the sheets are named "Tabelle1", "Tabelle2" and so on. + ## Custom locale To apply a different locale, you need to: -- provide translations for all text labels in Spreadsheet, for example, for the Russian locale: +- provide translations for all text labels in Spreadsheet, for example, for the German locale: ~~~jsx -const ru = { +const de = { // language settings }; ~~~ @@ -195,10 +298,48 @@ const ru = { - apply the new locale by calling the `dhx.i18n.setLocale()` method before initializing Spreadsheet: ~~~jsx -dhx.i18n.setLocale("spreadsheet", ru); +dhx.i18n.setLocale("spreadsheet", de); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +## Localizing built-in widgets + +Spreadsheet uses the Calendar, Colorpicker, Grid, Timepicker, Toolbar, Window and Message widgets of DHTMLX Suite inside. Their strings are stored in separate locales, which you can translate in the same way as the `spreadsheet` locale: + +| Locale | Strings used in Spreadsheet | +| ------ | --------------------------- | +| `calendar` | the month and day names of the date editor and of the date filter | +| `colorpicker` | the labels of the custom color mode in the color popups of the toolbar, the name of the palette, and the color names that screen readers read for the swatches and the color buttons, for example, "Text color: dark gray" | +| `grid` | the announcement of the number of loaded rows | +| `timepicker` | the labels of the time editor | +| `toolbar` | the default accessible name of a toolbar | +| `window` | the default accessible name of a dialog | +| `message` | the accessible names of the alert and confirm dialogs and of their buttons | + +Call `dhx.i18n.setLocale()` with the name of the locale before initializing Spreadsheet, since the toolbars, the menus and the context menus read the locale when they are created: + +~~~jsx +const deColorpicker = { + cancel: "Abbrechen", + select: "Auswählen", + aria_palette: "Farbpalette", + aria_colorRed: "rot", + // other strings +}; + +const deMessage = { + aria_confirm: "Bestätigen" +}; + +dhx.i18n.setLocale("spreadsheet", de); +dhx.i18n.setLocale("colorpicker", deColorpicker); +dhx.i18n.setLocale("message", deMessage); + const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); ~~~ +The locale keys are flat: pass each key at the top level of the object. For details, check the [Localization of screen-reader strings](https://docs.dhtmlx.com/suite/common_features/accessibility_support/#localization-of-screen-reader-strings) article of the DHTMLX Suite documentation. + ## Default locale for formulas The `dhx.i18n.formulas` object contains the i18n locale for the Spreadsheet formula popup. The default locale for formulas is the following: diff --git a/docs/merge_cells.md b/docs/merge_cells.md index 8b1dbdfa..62e46797 100644 --- a/docs/merge_cells.md +++ b/docs/merge_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: Merging cells title: Merging cells -description: You can learn about merging cells in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Merge and split cells in DHTMLX Spreadsheet through the toolbar or the Format menu, and learn how removing rows and columns affects merged cells. --- # Merging cells @@ -44,4 +44,14 @@ or 2\. Go to: *Format -> Unmerge* in the menu -![DHTMLX Spreadsheet Format menu with the Unmerge option for splitting merged cells](/img/unmerge_cells_via_menu.png) \ No newline at end of file +![DHTMLX Spreadsheet Format menu with the Unmerge option for splitting merged cells](/img/unmerge_cells_via_menu.png) + +## Removing rows and columns of merged cells + +When you remove a row or a column through a merged cell, every row or column that the merged cell spans is removed. It works this way when a cell or a range of cells is selected and the row or column is removed via the toolbar, the menu, the context menu or the [`deleteRow()`](api/spreadsheet_deleterow_method.md) / [`deleteColumn()`](api/spreadsheet_deletecolumn_method.md) methods. The context menu shows the full range in the command name, for example, *Remove rows 2-4*. + +![DHTMLX Spreadsheet context menu with the Rows submenu showing Remove rows 2-4 for a merged cell](/img/remove_merged_rows_context_menu.png) + +When whole rows or columns are selected, for example, by clicking their headers or with `Shift + Space` or `Ctrl (Cmd) + Space`, only the selected rows or columns are removed. A merged cell that spans them becomes smaller, and a merged cell left with a single cell becomes an ordinary cell. + +Merged cells located below or on the right of the removed rows or columns move together with them. diff --git a/docs/migration.md b/docs/migration.md index 27c718b3..3859f734 100644 --- a/docs/migration.md +++ b/docs/migration.md @@ -1,7 +1,7 @@ --- sidebar_label: Migration to newer versions title: Migration -description: You can learn about migration in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Migrate to a newer version of DHTMLX Spreadsheet with the list of deprecated, changed and removed properties, methods and events of each version and their replacements. --- # Migration to newer versions diff --git a/docs/number_formatting.md b/docs/number_formatting.md index c3802073..375c7a49 100644 --- a/docs/number_formatting.md +++ b/docs/number_formatting.md @@ -1,7 +1,7 @@ --- sidebar_label: Number formatting title: Number Formatting -description: You can study the developer guide about number formatting in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Apply number, currency, percent, date, time and scientific formats to cell values in DHTMLX Spreadsheet, localize them, define custom format masks and set or get the format of a cell. --- # Number formatting @@ -107,7 +107,7 @@ With Spreadsheet configuration options, you can localize time and date, specify For example, you can change the default localization settings as shown below: ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { localization: { decimal: ",", thousands: " ", diff --git a/docs/number_formatting_guide.md b/docs/number_formatting_guide.md index ce1fbbdf..8bed0f01 100644 --- a/docs/number_formatting_guide.md +++ b/docs/number_formatting_guide.md @@ -1,7 +1,7 @@ --- sidebar_label: Number formatting title: Number Formatting Guide -description: You can study the user guide about number formatting in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Choose a number format for cell values in DHTMLX Spreadsheet from the toolbar, such as number, currency, percent, date, time or text. --- # Number formatting diff --git a/docs/react/overview.md b/docs/react/overview.md index 3f003665..bb6ab878 100644 --- a/docs/react/overview.md +++ b/docs/react/overview.md @@ -96,8 +96,8 @@ Props are categorized by how the component handles changes: | Category | Props | What happens on change | |----------|-------|----------------------| -| **Init-only** | `menu`, `editLine`, `toolbarBlocks`, `multiSheets`, `formats`, `localization`, `importModulePath`, `exportModulePath`, `spreadsheetLocale` | The widget is destroyed and recreated. Spreadsheet data is preserved, but undo/redo history and UI state (selection, scroll position) are reset. | -| **Runtime** | `readonly`, `rowsCount`, `colsCount` | Applied immediately without data loss or UI state reset. | +| **Init-only** | `menu`, `editLine`, `toolbarBlocks`, `multiSheets`, `formats`, `localization`, `importModulePath`, `exportModulePath`, `spreadsheetLocale`, `readonly` | The widget is destroyed and recreated. Spreadsheet data is preserved, but undo/redo history and UI state (selection, scroll position) are reset. | +| **Runtime** | `selection`, `rowsCount`, `colsCount` | Applied immediately without data loss or UI state reset. | | **Data** | `sheets`, `activeSheet` | Applied incrementally; only changed cells, ranges, or settings are updated. | | **Re-parse** | `styles` | Style changes require a full data reload. Spreadsheet data is preserved, but undo/redo history and UI state are reset. | | **State** | `search`, `theme`, `loadUrl` | Applied via dedicated widget APIs with no side effects. | @@ -198,6 +198,10 @@ function App() { The `instance` property is `null` before the widget initializes and after unmount. +:::info +Handlers attached with `ref.current.instance.events.on()` are removed when the widget is recreated after a change of an init-only prop and when the component is unmounted. Use the [event callback props](react/events.md), which the component attaches to every new widget instance. +::: + ## API reference | Document | Contents | diff --git a/docs/react/props.md b/docs/react/props.md index e00947a4..1a901d33 100644 --- a/docs/react/props.md +++ b/docs/react/props.md @@ -25,6 +25,7 @@ Changing any of these props causes the widget to be destroyed and recreated. Spr | `importModulePath` | `string` | Path to the XLSX import module. See JS API: [`importModulePath`](api/spreadsheet_importmodulepath_config.md). | | `exportModulePath` | `string` | Path to the XLSX export module. See JS API: [`exportModulePath`](api/spreadsheet_exportmodulepath_config.md). | | `spreadsheetLocale` | [`SpreadsheetLocale`](react/types.md#spreadsheetlocale) | UI translations and localized formula names. Separate from `localization`. | +| `readonly` | `boolean` | Enable read-only mode. Users can navigate, select, copy and search the cells, and edits are refused. See JS API: [`readonly`](api/spreadsheet_readonly_config.md). | @@ -40,7 +41,7 @@ These props are applied immediately without destroying the widget. No data loss |------|------|-------------| | `rowsCount` | `number` | Number of rows in the grid. See JS API: [`rowsCount`](api/spreadsheet_rowscount_config.md). | | `colsCount` | `number` | Number of columns in the grid. See JS API: [`colsCount`](api/spreadsheet_colscount_config.md). | -| `readonly` | `boolean` | Enable read-only mode. See JS API: [`readonly`](api/spreadsheet_readonly_config.md). | +| `selection` | `boolean` | Turn the selection of cells on and off. Default: `true`. With `false`, the spreadsheet has no active cell, and the cells can't be selected or edited from the UI. See JS API: [`selection`](api/spreadsheet_selection_config.md). | ## Data props @@ -225,10 +226,18 @@ const [theme, setTheme] = useState("light"); ### Read-only mode +In read-only mode, users can navigate the cells with the keyboard, select them with the mouse, copy and search them. Edits are refused and announced to screen readers. Since `readonly` is an init-only prop, changing it recreates the widget. The data is kept, while the undo/redo history and the UI state (selection, scroll position) are reset. + ~~~tsx ~~~ +To turn off the keyboard navigation and the selection as well, add `selection={false}`. The `selection` prop is applied at runtime, so it can be switched without recreating the widget: + +~~~tsx + +~~~ + ### Loading data from URL ~~~tsx diff --git a/docs/react/themes.md b/docs/react/themes.md index 7091fb48..3a0545e7 100644 --- a/docs/react/themes.md +++ b/docs/react/themes.md @@ -77,6 +77,9 @@ Define a custom `data-dhx-theme` selector, override the variables you need, and /* spreadsheet range colors */ --dhx-spreadsheet-range-background-1: #bee3f8; --dhx-spreadsheet-range-color-1: #2b6cb0; + + /* keyboard focus outline of the formula bar and the toolbar controls */ + --dhx-spreadsheet-focus-color: #2b6cb0; } ~~~ diff --git a/docs/react/types.md b/docs/react/types.md index b4b5660d..d788120d 100644 --- a/docs/react/types.md +++ b/docs/react/types.md @@ -188,6 +188,13 @@ ref.current?.instance?.selection.setSelectedCell("A1:C5"); // Undo/redo ref.current?.instance?.undo(); ref.current?.instance?.redo(); + +// Turn the selection off and on +ref.current?.instance?.selection.disable(); +ref.current?.instance?.selection.enable(); + +// Send a status message to screen readers +ref.current?.instance?.announce("The report is saved"); ~~~ ## Actions enum @@ -270,6 +277,7 @@ These types are re-exported from `@dhx/ts-spreadsheet` for convenience: | `IStylesList` | Style definitions map. | | `IDataWithStyles` | Data structure with embedded styles (used by `serialize()`/`parse()`). | | `ICellInfo` | Cell information returned by widget methods. | +| `ISelection` | Selection module interface (`instance.selection`), including the [`enable()`](api/selection_enable_method.md), [`disable()`](api/selection_disable_method.md) and [`isDisabled()`](api/selection_isdisabled_method.md) methods. | | `FileFormat` | File format for data loading (for example, `"json"` or `"xlsx"`). | | `ToolbarBlocks` | Toolbar block identifiers (for example, `"default"`, `"undo"`, or `"font"`). | | `FilterConditions` | Enum of available filter condition types. | diff --git a/docs/sorting_data.md b/docs/sorting_data.md index 2979d4f8..632458db 100644 --- a/docs/sorting_data.md +++ b/docs/sorting_data.md @@ -1,7 +1,7 @@ --- sidebar_label: Sorting data title: Sorting data -description: You can learn about sorting data in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Sort data in DHTMLX Spreadsheet from A to Z or from Z to A by a column or by a selected range of cells with the Sort command of the context menu. --- # Sorting data diff --git a/docs/svelte_integration.md b/docs/svelte_integration.md index 90b54872..829a833f 100644 --- a/docs/svelte_integration.md +++ b/docs/svelte_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: Integration with Svelte title: Svelte Integration -description: You can learn about the Svelte integration of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Use DHTMLX Spreadsheet in a Svelte application. Create a project, add Spreadsheet as a Svelte component, load data and handle events. --- # Integration with Svelte diff --git a/docs/themes/base_themes_configuration.md b/docs/themes/base_themes_configuration.md index e5b8751a..d7cceff9 100644 --- a/docs/themes/base_themes_configuration.md +++ b/docs/themes/base_themes_configuration.md @@ -1,7 +1,7 @@ --- sidebar_label: Configuring built-in themes title: Configuring Built-in Themes -description: You can explore how to configure themes in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Change the colors of the built-in DHTMLX Spreadsheet themes by overriding their CSS variables, for all themes at once or for a separate theme. --- # Configuring built-in themes @@ -94,7 +94,7 @@ If you want to override some color values for a separate [Spreadsheet theme](/th diff --git a/docs/themes/custom_theme.md b/docs/themes/custom_theme.md index d53659d2..8a1c5ab6 100644 --- a/docs/themes/custom_theme.md +++ b/docs/themes/custom_theme.md @@ -1,7 +1,7 @@ --- sidebar_label: Custom theme title: Custom Theme -description: You can learn how to create a custom theme in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Create a custom color theme for DHTMLX Spreadsheet with CSS variables and apply it with the dhx.setTheme() method. --- # Custom theme @@ -88,7 +88,7 @@ To make your own custom theme, override the values of the internal CSS variables diff --git a/docs/themes/themes.md b/docs/themes/themes.md index 00bee324..0ee3db77 100644 --- a/docs/themes/themes.md +++ b/docs/themes/themes.md @@ -1,7 +1,7 @@ --- sidebar_label: Built-in themes title: Built-in Themes -description: You can learn about the built-in themes of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Built-in themes of DHTMLX Spreadsheet, light and dark with their high contrast variants. Learn the Spreadsheet-specific CSS variables and how to set a theme. --- # Built-in themes @@ -13,7 +13,7 @@ The DHTMLX Spreadsheet library provides 4 predefined themes: - [light high contrast theme](#light-high-contrast-theme) ("contrast-light") - [dark high contrast theme](#dark-high-contrast-theme) ("contrast-dark") -The Spreadsheet themes are developed in accordance with international standards. The high contrast themes help users with vision impairment. For more details, read the [Accessibility support](https://docs.dhtmlx.com/suite/common_features/accessibility_support/) article. +The Spreadsheet themes are developed in accordance with international standards. The high contrast themes help users with vision impairment. For the contrast of the themes and the keyboard focus indicator in Spreadsheet, check the [High contrast and focus](accessibility.md#high-contrast-and-focus) section of the Accessibility guide. For the accessibility of the DHTMLX Suite widgets, read the [Accessibility support](https://docs.dhtmlx.com/suite/common_features/accessibility_support/) article. You can try all themes in the example below: @@ -377,14 +377,15 @@ The list of variables specific to the Spreadsheet component includes the followi --dhx-spreadsheet-range-background-8: #ecb6ff; --dhx-spreadsheet-range-color-1: #00815a; - --dhx-spreadsheet-range-color-2: #bfc000; - --dhx-spreadsheet-range-color-3: #c55933; - --dhx-spreadsheet-range-color-4: #0cc1d6; - --dhx-spreadsheet-range-color-5: #0080a3; - --dhx-spreadsheet-range-color-6: #529a0a; + --dhx-spreadsheet-range-color-2: #8b7300; + --dhx-spreadsheet-range-color-3: #a34729; + --dhx-spreadsheet-range-color-4: #007a8c; + --dhx-spreadsheet-range-color-5: #135db1; + --dhx-spreadsheet-range-color-6: #2f6500; --dhx-spreadsheet-range-color-7: #6d767b; - --dhx-spreadsheet-range-color-8: #ba38e7; + --dhx-spreadsheet-range-color-8: #b82fe5; + --dhx-spreadsheet-focus-color: var(--dhx-color-primary); } ~~~ @@ -411,6 +412,17 @@ The list of variables specific to the Spreadsheet component includes the followi --dhx-spreadsheet-range-color-7: #e4e4e4; --dhx-spreadsheet-range-color-8: #ecb6ff; + --dhx-spreadsheet-focus-color: hsl(var(--dhx-h-primary), var(--dhx-s-primary), calc(var(--dhx-l-primary) + 12% - var(--dhx-l-contrast-offset))); +} +~~~ + +The `--dhx-spreadsheet-range-color-*` and `--dhx-spreadsheet-range-background-*` variables set the colors that mark the cell references of a formula while it is edited. In the light themes, the `--dhx-spreadsheet-range-color-*` colors have a contrast of at least 4.5:1 against the background of the formula bar. + +The `--dhx-spreadsheet-focus-color` variable sets the color of the keyboard focus outline of the formula bar and of the controls of the toolbar, the menu bar, the sheet tabs, the Border popup, the link popup and the search bar. In the dark themes, the color is lighter than the primary color, so that the outline keeps a contrast of at least 3:1. You can redefine the variable in a [custom theme](themes/custom_theme.md): + +~~~css +[data-dhx-theme='custom-theme-dark'] { + --dhx-spreadsheet-focus-color: #7fc8ff; } ~~~ @@ -426,7 +438,7 @@ You can choose from the following variants: ~~~html title="index.html" -
+
~~~ - set the `data-dhx-theme` attribute for an HTML element, for example, for `documentElement`: @@ -453,31 +465,31 @@ The examples below show how to use the `dhx.setTheme()` method: - setting a theme either to the body or to the container ~~~html -
+
Other content
~~~ - setting a theme to the container specified via an HTMLElement ~~~html -
+
Other content
~~~ diff --git a/docs/using_typescript.md b/docs/using_typescript.md index a665d927..5dd594f9 100644 --- a/docs/using_typescript.md +++ b/docs/using_typescript.md @@ -1,7 +1,7 @@ --- sidebar_label: TypeScript support title: TypeScript support -description: You can learn about using typescript with the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Use the built-in TypeScript definitions of DHTMLX Spreadsheet for type checking, autocompletion and JSDoc hints in your IDE. --- # TypeScript support diff --git a/docs/vuejs_integration.md b/docs/vuejs_integration.md index 978173c7..6e630880 100644 --- a/docs/vuejs_integration.md +++ b/docs/vuejs_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: Integration with Vue title: Vue Integration -description: You can learn about the Vue integration of the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Use DHTMLX Spreadsheet in a Vue application. Create a project, add Spreadsheet as a Vue component, load data and handle events. --- # Integration with Vue @@ -260,6 +260,10 @@ export default { //... ~~~ +:::info +The `destructor()` method removes the event handlers attached with `spreadsheet.events.on()`. When a new Spreadsheet instance is created, for example, when the component is created again, attach the handlers to the new instance. +::: + After that, you can start the app to see Spreadsheet loaded with data on a page. ![DHTMLX Spreadsheet initialized with sample data in a Vue 3 application](/img/integrations/trial_spreadsheet.png) diff --git a/docs/whats_new.md b/docs/whats_new.md index 9afbf47e..3ac591ce 100644 --- a/docs/whats_new.md +++ b/docs/whats_new.md @@ -1,13 +1,78 @@ --- sidebar_label: What's new title: What's new in DHTMLX Spreadsheet -description: You can learn what's new in the DHTMLX JavaScript Spreadsheet library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Release notes of DHTMLX Spreadsheet with the new functionality, updates, fixes and breaking changes of each version. --- # What's new If you are updating Spreadsheet from an older version, check [Migration to Newer Version](migration.md) for details. +## Version 6.0.4 + +Released on November 2, 2026 + +### New functionality + +- Accessibility support that targets WCAG 2.2 AA, Section 508 and EN 301 549: keyboard operation of every part of the Spreadsheet, screen reader support and a visible focus in every theme. Check the [Accessibility](accessibility.md) guide and the [Accessibility Conformance Report](accessibility_conformance_report.md) +- The ability to turn the selection of cells off and on: + - new configuration property: [`selection`](api/spreadsheet_selection_config.md) + - new methods of the selection module: [`enable()`](api/selection_enable_method.md), [`disable()`](api/selection_disable_method.md), [`isDisabled()`](api/selection_isdisabled_method.md) +- The [`announce()`](api/spreadsheet_announce_method.md) method sends a status message to screen readers +- New commands of the [context menu](customization.md#context-menu): [*Column width*, *Row height*](work_with_rows_cols.md#setting-column-width-and-row-height) and [*Open filter*](filtering_data.md#opening-a-filter-with-the-keyboard) + +### Updates + +- Keyboard navigation (check the [Hot keys list](hotkeys.md)): + - the focus stays on the active cell, `Tab` and `Shift + Tab` leave the cells from the last and the first cell of the sheet, and `Ctrl + F6` moves the focus between the menu, the toolbar, the sheet and the sheet tabs + - the toolbar, the menu bar and the sheet tabs are single tab stops navigated with the arrow keys + - new shortcuts are added, for example, `Shift + F10` for the context menu and `Ctrl (Cmd) + Shift + 9` / `Ctrl (Cmd) + Shift + 0` for showing hidden rows and columns + - the toolbar color and border popups take the focus when they open and close with `Esc` and `Tab` +- The arrow keys stop at the first and last visible row and column instead of moving to the opposite edge, and an arrow key at the edge reduces a selected range to the active cell +- Text composed with an input method editor (IME) is shown in the active cell and starts the edit through the [`startEdit()`](api/spreadsheet_startedit_method.md) method, so the `beforeEditStart` and `afterEditStart` events fire for it +- The [`setFocusedCell()`](api/selection_setfocusedcell_method.md) method moves the keyboard focus to the cell +- A [link in a cell](work_with_cells.md#inserting-a-hyperlink-into-a-cell) is rendered as a real link that opens in a new tab, and `Alt (Option) + Enter` opens the link of the active cell +- The [read-only mode](api/spreadsheet_readonly_config.md) keeps the keyboard navigation, the selection, copying and search, and screen readers announce the refused edits. To turn the selection off, use the `selection: false` option +- [Removing a row or a column through a merged cell](merge_cells.md#removing-rows-and-columns-of-merged-cells) removes all the rows or columns of the merged cell +- New interface and screen reader strings in the [`spreadsheet` locale](localization.md#default-locale), and [translation of the built-in widgets](localization.md#localizing-built-in-widgets) +- The [`--dhx-spreadsheet-focus-color`](/themes/#spreadsheet-specific-styles) variable for the keyboard focus, and the formula reference colors with a higher contrast in the light themes + +### Fixes + +- A merged cell was dropped instead of shifted when a row or column before it was deleted. Now a merged cell left with a single cell becomes an ordinary cell and keeps its value +- Deleting a row or column through a merged cell removed only one line of the merge +- The context menu labels for removing rows and columns didn't show all the rows or columns of a merged cell that would be removed +- Rows were not deleted when they covered the whole filtered range +- The frozen area didn't shrink when frozen rows or columns were deleted +- Autofill threw an error when the dragged cells held no plain number +- The page froze on `Home`, `End`, `Ctrl (Cmd) + Home`, `Ctrl (Cmd) + End` and `Ctrl (Cmd) + Arrow` keys when the first or last row or column was hidden +- The font size was lost when cells were copied to Excel or pasted from Excel or within the Spreadsheet +- The invalid-value tooltip appeared away from the invalid cell or wasn't shown +- `Esc` and `Tab` didn't work in the list editor after the arrow keys were used +- The search highlighted the second match first and didn't refresh the results after an edit or a sheet switch +- A script error occurred on import or export in a browser without WebAssembly +- Document listeners and inner widgets were left behind after `destructor()` +- The keyboard focus was lost after the search bar closed +- A closed context menu reopened +- The active cell was scrolled one cell short of the viewport edge during keyboard navigation +- A formula with an invalid reference showed a broken or repeated `#REF!` error instead of a single `#REF!` + +### React Spreadsheet + +React Spreadsheet includes all the Spreadsheet updates and fixes listed above. The changes below are specific to the React wrapper. + +#### Updates + +- The new [`selection`](react/props.md#runtime-props) prop +- The [`ISelection`](react/types.md#re-exported-upstream-types) type is re-exported +- [`readonly`](react/props.md#init-only-props) is an init-only prop + +#### Fixes + +- The event callbacks and `onStateChange` didn't fire after the Spreadsheet was recreated by an init-only prop change +- The event handlers of the wrapper were not removed on unmount +- The data from `loadUrl` was loaded twice on mount and again over the kept data after the Spreadsheet was recreated + ## Version 6.0.3 Released on August 24, 2026 diff --git a/docs/work_with_cells.md b/docs/work_with_cells.md index a922c78d..bd5cf3b3 100644 --- a/docs/work_with_cells.md +++ b/docs/work_with_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: Editing cells title: Editing cells -description: You can learn about the work with cells in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Edit cells in DHTMLX Spreadsheet. Enter content, insert hyperlinks, use drop-down lists, fill several cells, copy cells to and from Excel and lock cells. --- # Editing cells @@ -138,21 +138,34 @@ You can automatically fill cells with data. This is how it works: - copying the value -​For example, to make a series 4,4,4,4..., type 4 in the first cell only. +For example, to make a series 4,4,4,4..., type 4 in the first cell only. - following the pattern - to make a series 1, 2, 3, 4, 5, ... , type 1 and 2 into the first two cells. - to make a series 1 ,3, 5, 7, 9, ... , type 1 and 3 into the first two cells. - to make a series 2 ,4, 6, 8, 10, ... , type 2 and 4 into the first two cells. - besides numbers, you can also use letters in a pattern, for example, to make a series like 1, a, 2, b, 3, a, 4, b, ..., type 1, a, 2, b into the first four cells. + - to continue a number at the end of a text, type the first values, for example, to make a series item1, item2, item3, ..., type item1 and item2 into the first two cells. + - to make a series of dates, type a date into the first cell: each next cell gets the next day. +- repeating the text + +For example, to make a series North, South, North, South, ..., type North and South into the first two cells. Numbers in the cells with the *Text* format are repeated in the same way. 3\. Drag the **Fill Handle** ![DHTMLX Spreadsheet autofill dragging the fill handle to replicate cell data](/img/autofill.gif) +## Copying cells to and from Excel + +You can copy cells with **Ctrl (Cmd) + C** and paste them with **Ctrl (Cmd) + V** within the Spreadsheet and between the Spreadsheet and Microsoft Excel: + +- within the Spreadsheet, the cells keep their values, formulas, styles, number formats and links. The cell references in the formulas are shifted to the new position +- in Excel, the pasted cells get the values (the results of the formulas, not the formulas), the styles (including the font size), merged cells and links. The rows hidden by a filter are skipped +- cells copied from Excel keep their values, styles (including the font size), number formats, merged cells and links when you paste them into the Spreadsheet + ## Locking cells -You can lock cells to protect their values from changes. When you lock a cell, it shows a gray "key" in the top right corner. Locked cells do not respond to any attempts to edit them. +You can lock cells to protect their values from changes. When you lock a cell, it shows a gray "key" in the top right corner. Locked cells do not respond to any attempts to edit them. Screen readers announce the refused edit: "The cell is locked" for a single cell, or "Locked cells were not changed" when the selected range holds locked cells. ![DHTMLX Spreadsheet locked cells marked with a gray key icon in the top right corner](/img/lockedcells.png) diff --git a/docs/work_with_rows_cols.md b/docs/work_with_rows_cols.md index caf55eb7..7b36492d 100644 --- a/docs/work_with_rows_cols.md +++ b/docs/work_with_rows_cols.md @@ -1,7 +1,7 @@ --- sidebar_label: Work with rows and columns title: Work with rows and columns -description: You can learn about how to work with rows and columns in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Work with rows and columns in DHTMLX Spreadsheet. Add and remove them, autofit and set the column width and row height, freeze, hide and show them. --- # Work with rows and columns @@ -54,6 +54,10 @@ To remove a row, take the following steps: To remove several rows at once: select the rows, right-click to call the context menu and choose *Rows -> Remove rows [ids]*. ::: +:::info +If the selected cell is inside a merged cell, all the rows of the merged cell are removed. Check the [Merging cells](merge_cells.md#removing-rows-and-columns-of-merged-cells) article for details. +::: + ### Adding columns To add a new column, take the following steps: @@ -98,6 +102,10 @@ To remove a column, take the following steps: To remove several columns at once: select the columns, right-click to call the context menu and choose *Columns -> Remove columns [ids]*. ::: +:::info +If the selected cell is inside a merged cell, all the columns of the merged cell are removed. Check the [Merging cells](merge_cells.md#removing-rows-and-columns-of-merged-cells) article for details. +::: + ## AutoFit column width To change the column width so that it would automatically fit the longest content in the column, you can: @@ -116,6 +124,50 @@ To change the column width so that it would automatically fit the longest conten ![DHTMLX Spreadsheet Columns submenu with the Fit to data option for autofit column width](/img/column_autofit.png) +## Setting column width and row height + +### Setting column width + +To set an exact width of columns, take the following steps: + +1\. Select a column or a cell in the column. To change several columns, select a range of cells that spans them. + +2\. Right-click the selection, or press `Shift + F10` or the Menu key, and choose *Columns -> Column width*. The same command is available in the menu of the 3 dots icon of the column. + +![DHTMLX Spreadsheet context menu with the Columns submenu showing Column width](/img/column_width_context_menu.png) + +3\. In the *Column width* dialog, enter the width in pixels and click **Apply** or press `Enter`. + +![DHTMLX Spreadsheet Column width dialog with the width in pixels and the Cancel and Apply buttons](/img/column_width_dialog.png) + +### Setting row height + +To set an exact height of rows, take the following steps: + +1\. Select a row or a cell in the row. To change several rows, select a range of cells that spans them. + +2\. Right-click the selection, or press `Shift + F10` or the Menu key, and choose *Rows -> Row height*. + +![DHTMLX Spreadsheet context menu with the Rows submenu showing Row height](/img/row_height_context_menu.png) + +3\. In the *Row height* dialog, enter the height in pixels and click **Apply** or press `Enter`. + +![DHTMLX Spreadsheet Row height dialog with the height in pixels and the Cancel and Apply buttons](/img/row_height_dialog.png) + +### How the new size is applied + +The dialog shows the current size of the first column or row of the selected range and applies the new size to every column or row of this range. If several ranges are selected, the last selected range is used. + +The size is rounded to whole pixels. The minimum width of a column is 20 px, and the minimum height of a row is 10 px: a smaller positive value is replaced with the minimum. While the field is empty or the value isn't a positive number, the **Apply** button is disabled. + +The **Cancel** button or `Esc` closes the dialog without changes. Screen readers announce the new size, for example, "Column width set to 120 pixels". + +### Undoing the change + +The new size can be undone with `Ctrl (Cmd) + Z`. + +To handle the change in code, use the `resizeCol` and `resizeRow` [actions](api/overview/actions_overview.md#list-of-actions). + ## Freezing/unfreezing rows and columns ### Freezing rows @@ -212,6 +264,10 @@ To hide a row, take the following steps: ![DHTMLX Spreadsheet context menu with the Rows submenu showing Hide rows](/img/hide_row_context_menu.png) +:::info +If the active cell is in a row that becomes hidden, the active cell moves to the first visible row below it, and the selection is reduced to this cell. If there are no visible rows below, it moves to the last visible row above. +::: + ### Showing rows To show hidden rows, take one of the following steps: @@ -228,6 +284,8 @@ To show hidden rows, take one of the following steps: ![DHTMLX Spreadsheet context menu with the Rows submenu showing Show rows](/img/show_rows_context_menu.png) +- or select rows or several cells so that the hidden rows were included into the selection, and press `Ctrl (Cmd) + Shift + 9`. For example, select rows 2-4 to show the hidden row 3. If the selection includes no hidden rows, screen readers announce "No hidden rows in the selection" + ### Hiding columns To hide a column, take the following steps: @@ -244,6 +302,10 @@ To hide a column, take the following steps: ![DHTMLX Spreadsheet context menu with the Columns submenu showing Hide columns](/img/hide_columns_context_menu.png) +:::info +If the active cell is in a column that becomes hidden, the active cell moves to the first visible column on the right of it, and the selection is reduced to this cell. If there are no visible columns on the right, it moves to the last visible column on the left. +::: + ### Showing columns To show hidden columns, take one of the following steps: @@ -260,4 +322,4 @@ To show hidden columns, take one of the following steps: ![DHTMLX Spreadsheet context menu with the Columns submenu showing Show columns](/img/show_columns_context_menu.png) - +- or select columns or several cells so that the hidden columns were included into the selection, and press `Ctrl (Cmd) + Shift + 0`. If the selection includes no hidden columns, screen readers announce "No hidden columns in the selection" diff --git a/docs/work_with_sheets.md b/docs/work_with_sheets.md index d864f25d..90410bc8 100644 --- a/docs/work_with_sheets.md +++ b/docs/work_with_sheets.md @@ -1,7 +1,7 @@ --- sidebar_label: Work with sheets title: Work with Sheets -description: You can learn about the work with sheets in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Add, remove, rename and switch sheets in DHTMLX Spreadsheet with the bottom toolbar and the sheet tabs, and refer to cells of other sheets in formulas. --- # Work with sheets diff --git a/docs/working_with_cells.md b/docs/working_with_cells.md index b92c6f2f..595cc394 100644 --- a/docs/working_with_cells.md +++ b/docs/working_with_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: Work with cells title: Work with cells -description: You can learn about working with cells in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Set and get cell values and styles, validate cells, insert links, and edit, lock, merge and select cells in DHTMLX Spreadsheet with the API. --- # Work with cells diff --git a/docs/working_with_sheets.md b/docs/working_with_sheets.md index 05897d9c..316e9544 100644 --- a/docs/working_with_sheets.md +++ b/docs/working_with_sheets.md @@ -1,7 +1,7 @@ --- sidebar_label: Work with sheets title: Working with Sheets -description: You can learn about working with sheets in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Load multiple sheets into DHTMLX Spreadsheet, and add, remove, get, clear and switch sheets with the API methods. --- # Work with sheets diff --git a/docs/working_with_ssheet.md b/docs/working_with_ssheet.md index 008830a6..83b7d7f8 100644 --- a/docs/working_with_ssheet.md +++ b/docs/working_with_ssheet.md @@ -1,7 +1,7 @@ --- sidebar_label: Work with Spreadsheet title: Working with Spreadsheet -description: You can learn about working with spreadsheet in the documentation of the DHTMLX JavaScript Spreadsheet library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Spreadsheet. +description: Undo and redo actions, add, remove, freeze and hide rows and columns, autofit column width, filter, search and sort data, and clear DHTMLX Spreadsheet with the API. --- # Work with Spreadsheet @@ -282,7 +282,7 @@ From v4.3, you can sort data in the spreadsheet with the [`sortCells()`](api/spr - `dir` - the sorting direction: 1 - ascending sort order, -1 - descending sort order ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); diff --git a/i18n/de/docusaurus-plugin-content-docs/current.json b/i18n/de/docusaurus-plugin-content-docs/current.json index fdeac066..e32ca3e6 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current.json +++ b/i18n/de/docusaurus-plugin-content-docs/current.json @@ -83,6 +83,10 @@ "message": "Arbeit mit Zellen", "description": "The generated-index page title for category 'Work with cells' in sidebar 'docs'" }, + "sidebar.docs.category.Accessibility": { + "message": "Barrierefreiheit", + "description": "The label for category 'Accessibility' in sidebar 'docs'" + }, "sidebar.docs.category.Frameworks & integrations": { "message": "Frameworks und Integrationen", "description": "The label for category 'Frameworks & integrations' in sidebar 'docs'" diff --git a/i18n/de/docusaurus-plugin-content-docs/current/.sync b/i18n/de/docusaurus-plugin-content-docs/current/.sync index 96f6c508..0532604c 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/.sync +++ b/i18n/de/docusaurus-plugin-content-docs/current/.sync @@ -1 +1 @@ -2b6d3c2fd433461ffce34526974de3f1ba5161a8 +9ff2cef64e00d4e77947433a670dc5d573fcc7f4 diff --git a/i18n/de/docusaurus-plugin-content-docs/current/accessibility.md b/i18n/de/docusaurus-plugin-content-docs/current/accessibility.md new file mode 100644 index 00000000..d057e6fb --- /dev/null +++ b/i18n/de/docusaurus-plugin-content-docs/current/accessibility.md @@ -0,0 +1,449 @@ +--- +sidebar_label: Barrierefreiheit +title: Barrierefreiheit +description: Machen Sie DHTMLX Spreadsheet für Tastatur- und Screenreader-Nutzer zugänglich. Erfahren Sie mehr über WAI-ARIA-Unterstützung, Tastaturnavigation, Screenreader-Ansagen und Themes mit hohem Kontrast, die auf WCAG 2.2 AA ausgerichtet sind. +--- + +# Barrierefreiheit in DHTMLX Spreadsheet + +Dieser Leitfaden richtet sich an Entwickler, die DHTMLX Spreadsheet in eine Anwendung einbetten, die Anforderungen an die Barrierefreiheit erfüllen muss. Anhand des Leitfadens können Sie die Komponente mit Ihrer Checkliste abgleichen und für Nutzer von Tastatur, Screenreader und hohem Kontrast konfigurieren. + +Das Spreadsheet rendert WAI-ARIA-Rollen und -Zustände als Teil seines Markups. Der Tastaturfokus bleibt auf der aktiven Zelle, und die Symbolleiste, die Menüleiste und die Blattregisterkarten bilden jeweils einen einzigen Tabstopp. Änderungen, die kein eigenes Element haben, etwa eine abgelehnte Bearbeitung oder ein Suchergebnis, werden an eine Live-Region gesendet, die Screenreader vorlesen. + +:::info Ziel-Konformität +DHTMLX Spreadsheet ist darauf ausgelegt, **WCAG 2.2 Level AA**, **Section 508** des U.S. Rehabilitation Act und **EN 301 549** (die technische Grundlage des European Accessibility Act) zu erfüllen. + +Die Konformität wird für DHTMLX Spreadsheet 6.0.4 Kriterium für Kriterium dokumentiert. Der ausführliche **Accessibility Conformance Report (VPAT® 2.5)** ist verfügbar: [Accessibility Conformance Report](accessibility_conformance_report.md). +::: + +## Funktionen {#capabilities} + +| Bereich | Unterstützung | +| ---- | ------- | +| Tastaturbedienung | Jeder Befehl für die Zellen hat eine Taste. Die Symbolleiste, die Menüleiste und die Blattregisterkarten sind einzelne Tabstopps, die mit den Pfeiltasten navigiert werden. Spaltenbreite, Zeilenhöhe und Spaltenfilter haben Kontextmenübefehle, sodass weder Ziehen noch ein Klick auf ein Symbol erforderlich ist | +| WAI-ARIA-Semantik | Die Zellen sind ein `grid` mit den Elementen `columnheader`, `rowheader` und `gridcell`. Die Rollen werden immer gerendert | +| Fokusmodell | Der Tastaturfokus liegt auf der aktiven Zelle. Tab betritt das Blatt auf der aktiven Zelle und verlässt es von der letzten bzw. der ersten Zelle aus. Ctrl + F6 verschiebt den Fokus zwischen dem Menü, der Symbolleiste, dem Blatt und den Blattregisterkarten | +| Auswahlmodell | Die aktive Zelle, ein Bereich und mehrere Bereiche werden über `aria-selected` bereitgestellt, und die Ausdehnung eines Bereichs wird angesagt. Die Auswahl lässt sich mit der Option [`selection`](api/spreadsheet_selection_config.md) deaktivieren | +| Schreibgeschützter Modus | Das Blatt kann navigiert, ausgewählt, kopiert und durchsucht werden; Bearbeitungen werden abgelehnt und angesagt, und das Kontextmenü ist nicht verfügbar | +| Screenreader | Getestet mit NVDA, JAWS und VoiceOver | +| Visuelle Barrierefreiheit | Die Themes `contrast-light` und `contrast-dark`, ein sichtbarer Fokusindikator in jedem Theme sowie Hinweise, die nicht von der Farbe abhängen | +| Textgröße und Zoom | Das Layout bleibt bei 200 % und 400 % Zoom sowie mit überschriebenen Textabständen bedienbar | +| Anpassung | Die öffentliche Methode [`announce()`](api/spreadsheet_announce_method.md) für eigene Meldungen und übersetzbare `aria_*`-Locale-Strings für jeden integrierten Namen und jede integrierte Ansage | +| Standards | WCAG 2.2 AA, Section 508, EN 301 549 | + +## Abgedeckte Bereiche {#covered-areas} + +Dieser Leitfaden behandelt das Spreadsheet-Widget: + +- die Zellen, die Spalten- und Zeilenköpfe, verbundene Zellen sowie fixierte Zeilen und Spalten +- die Auswahl: die aktive Zelle, Bereiche und mehrere Bereiche +- die Formelleiste und die Zelleneditoren, einschließlich des Editors einer Zelle mit einer Werteliste +- die Symbolleiste mit ihren Farb- und Rahmen-Popups, die Menüleiste und die Kontextmenüs +- die Blattregisterkarten +- Sortierung, Filterung, Suche, Datenvalidierung, Links in Zellen, Import und Export +- die Themes und den Fokusindikator + +Die Barrierefreiheit der fertigen Seite hängt auch von der Host-Anwendung ab. Siehe [Verantwortung der Host-Seite](#host-page-responsibilities). + +## WAI-ARIA-Unterstützung {#wai-aria-support} + +Das Spreadsheet fügt seinem Markup automatisch WAI-ARIA-Rollen und -Attribute hinzu, und Sie können diese nicht deaktivieren. Jeder Teil des Widgets hat eine eigene Rolle und einen eigenen Namen, und die Namen stammen aus der [Locale](#localization). + +### Spreadsheet-Container {#spreadsheet-container} + +Die Teile des Spreadsheets sind separate benannte Steuerelemente: + +| Teil | Rolle / Attribut | Zugänglicher Name | +| ---- | ---------------- | --------------- | +| Menüleiste | `role="menubar"` + `aria-label` | "Main" | +| Symbolleiste | `role="toolbar"` + `aria-label` | "Formatting" | +| Formelleiste | `aria-label` am Eingabefeld | "Formula bar, B7", mit der Adresse der aktiven Zelle | +| Zellen | `role="grid"` + `aria-label` | "Spreadsheet" | +| Blattregisterkarten | `role="toolbar"` + `aria-label` | "Sheets" | +| Live-Region | `role="status"`, `aria-live="polite"`, `aria-atomic="true"` | visuell verborgen, neben dem Grid außerhalb von `role="grid"` platziert | + +Das Wurzelelement des Spreadsheets hat keine Landmark-Rolle, sodass Sie es in die Landmark platzieren können, die zu Ihrer Seite passt. + +### Zellenoberfläche {#cell-surface} + +Die folgenden Attribute beschreiben die Zellen als Ganzes. Das Element `.dhx_grid-content` trägt sie: + +| Selektor | Rolle / Attribut | Zweck | +| -------- | ---------------- | ------- | +| `.dhx_grid-content` | `role="grid"` | Das interaktive Grid der Zellen | +| `.dhx_grid-content` | `aria-label` | "Spreadsheet", aus dem Locale-Schlüssel `aria_grid` | +| `.dhx_grid-content` | `aria-rowcount` | Die Anzahl der Zeilen des Blatts plus die Kopfzeile | +| `.dhx_grid-content` | `aria-colcount` | Die Anzahl der sichtbaren Spalten plus die Spalte der Zeilennummern | +| `.dhx_grid-content` | `aria-readonly` | `"true"` im [schreibgeschützten Modus](api/spreadsheet_readonly_config.md) und solange die [Auswahl](api/spreadsheet_selection_config.md) deaktiviert ist | +| `.dhx_grid-content` | `aria-multiselectable` | `"true"`; `"false"`, solange die Auswahl deaktiviert ist | + +### Zeilen und Zellen {#rows-and-cells} + +Die folgende Tabelle listet die Rollen sowie die Positions- und Zustandsattribute der Zeilen und Zellen auf: + +| Selektor | Rolle / Attribut | Zweck | +| -------- | ---------------- | ------- | +| Zeile | `role="row"` + `aria-rowindex` | Eine Zeile des Blatts. Zeile 1 des Blatts hat `aria-rowindex="2"`, da der Spaltenkopf die erste Zeile ist | +| Zelle | `role="gridcell"` + `aria-colindex` | Eine Zelle. Spalte A hat `aria-colindex="2"`, da die Zeilennummern die erste Spalte bilden | +| Zeilennummer | `role="rowheader"` | Der Kopf der Zeile | +| Zelle | `aria-selected` | `"true"` an der aktiven Zelle und an jeder Zelle der ausgewählten Bereiche | +| Zelle | `aria-readonly` | `"true"` im schreibgeschützten Modus, solange die [Auswahl](api/spreadsheet_selection_config.md) deaktiviert ist, und an [gesperrten Zellen](work_with_cells.md#locking-cells) | +| Zelle | `tabindex` | `"0"` an der aktiven Zelle und `"-1"` an den übrigen Zellen, sodass die Zellen einen einzigen Tabstopp bilden | +| Aktive Zelle | DOM-Fokus | Der Tastaturfokus liegt auf der aktiven Zelle selbst, nicht auf einem separaten Eingabefeld. Während die Zelle bearbeitet wird, liegt der Fokus auf dem Zelleneditor | +| Verbundene Zelle | `aria-colspan` / `aria-rowspan` | Die Anzahl der Spalten bzw. Zeilen, die die verbundene Zelle umfasst. Die von ihr verdeckten Zellen werden mit `aria-hidden="true"` ausgeblendet | +| Link in einer Zelle | `
` mit `target="_blank"` und `rel="noopener noreferrer"` | Ein Link mit dem Schema `http`, `https`, `mailto`, `ftp` oder `tel` | + +Eine Zelle enthält außerdem visuell verborgenen Text, den Screenreader zusammen mit dem Wert vorlesen: + +| Verborgener Text | Wann | +| ----------- | ---- | +| Die Zellenadresse, zum Beispiel "B7" | An der aktiven Zelle und an jeder Zelle eines ausgewählten Bereichs. Screenreader lesen die Adresse vor dem Wert vor | +| "link" | An einer ausgewählten Zelle mit einem Link. Alt + Enter öffnet den Link | +| "locked" | An einer ausgewählten gesperrten Zelle | +| Eine Beschreibung des Formelfehlers, zum Beispiel "Reference error. Check the cell references" | An einer Zelle mit einem Formelfehler | +| "Invalid value. Choose a value from the list" | An einer Zelle, deren Wert nicht in ihrer [Werteliste](work_with_cells.md#using-drop-down-lists-in-cells) enthalten ist | +| "Filter" / "Filter applied" | An einer Zelle mit dem Filtersymbol | + +### Spalten- und Zeilenköpfe {#column-and-row-headers} + +| Selektor | Rolle / Attribut | Zweck | +| -------- | ---------------- | ------- | +| Spaltenbuchstabe | `role="columnheader"` + `aria-colindex` | Der Kopf der Spalte | +| Ecke "Alles auswählen" | `role="columnheader"` | Benannt "Select all" | +| Zeilennummer | `role="rowheader"` | Der Kopf der Zeile | +| Spaltenmenü-Symbol, Symbole ausgeblendeter Zeilen und Spalten | `aria-hidden="true"` | Dekorativ. Die Befehle befinden sich im Kontextmenü | + +Die Köpfe sind keine Tabstopps. Ein Klick auf einen Spaltenbuchstaben, eine Zeilennummer oder die Ecke wählt die Zeilen bzw. Spalten aus und gibt den Fokus an die aktive Zelle zurück. + +### Formelleiste und Editoren {#formula-bar-and-editors} + +| Selektor | Rolle / Attribut | Zweck | +| -------- | ---------------- | ------- | +| Eingabefeld der Formelleiste | `aria-label` | "Formula bar, B7", mit der Adresse der aktiven Zelle. Das Eingabefeld ist bei einer gesperrten Zelle `readonly`, sodass sein Wert weiterhin gelesen werden kann. Solange die Auswahl deaktiviert ist, ist die Formelleiste leer und gesperrt | +| Eingabefeld des Zelleneditors | `aria-label` | "Cell editor, B7" | +| Editor einer Zelle mit einer Werteliste | `role="combobox"`, `aria-controls`, `aria-expanded`, `aria-activedescendant` | Die Werteliste ist eine `listbox` aus `option`-Elementen, und die hervorgehobene Option hat `aria-selected` | +| Editor mit einem ungültigen Wert | `aria-invalid="true"` | Der gespeicherte Wert der Zelle ist nicht in ihrer Werteliste enthalten. Das Attribut wird nach dem Speichern des Werts aktualisiert, nicht während der Eingabe | +| Schließen-Symbol der Formelhilfe | `role="button"` + `aria-label` | "Close formula help" | + +### Symbolleiste und Menüs {#toolbar-and-menus} + +| Selektor | Rolle / Attribut | Zweck | +| -------- | ---------------- | ------- | +| Symbolleiste | `role="toolbar"` + `aria-label` | "Formatting"; die Symbolleisten des Rahmen-Popups, der Suchleiste und des Link-Popups heißen "Borders", "Search" und "Link" | +| Symbolleisten-Schaltfläche | `aria-label` | Der Wert der Schaltfläche. Eine Symbolschaltfläche wird nach ihrem Tooltip benannt, zum Beispiel "Bold (ctrl+b)". Die Symbole werden mit `aria-hidden="true"` ausgeblendet | +| Bold, Italic, Underline, Strikethrough, Lock, Filter | `aria-pressed` | Ob die Formatierung bzw. der Filter aktiv ist | +| Schaltfläche, die ein Dropdown öffnet | `aria-haspopup="menu"`, `aria-expanded` | Das Dropdown ist ein `menu`, das nach seiner Schaltfläche benannt ist | +| Ausrichtung, Textumbruch, Zahlenformate | `role="menuitemradio"` + `aria-checked` | Eine Option einer exklusiven Gruppe | +| Text color, Background color, Border color | `aria-label` | Der Name des Steuerelements und der aktuellen Farbe, zum Beispiel "Text color: dark gray" | +| Farbpalette | `role="grid"` aus `gridcell`-Elementen | Das Grid heißt "Color palette". Jede Farbzelle ist nach ihrer Farbe benannt, und die gewählte hat `aria-selected="true"` | +| Liste der Rahmenstile | `role="listbox"` aus `option`-Elementen | Die Optionen heißen "Thin line", "Medium line", "Thick line", "Dashed line", "Dotted line", "Double line" | +| Menüleiste | `role="menubar"` + `aria-label` | "Main". Ihre Einträge öffnen Popups mit `role="menu"`. In den Popups haben die Formatierungseinträge `role="menuitemcheckbox"`, und die Einträge für Ausrichtung, Textumbruch und Zahlenformate haben `role="menuitemradio"`. Beide melden ihren Zustand mit `aria-checked` | +| Kontextmenüs | `role="menu"` + `aria-label` | "Cell" für die Zellen und "Sheet" für die Blattregisterkarten | + +### Blattregisterkarten {#sheet-tabs} + +| Selektor | Rolle / Attribut | Zweck | +| -------- | ---------------- | ------- | +| Leiste der Blattregisterkarten | `role="toolbar"` + `aria-label` | "Sheets" | +| Blattregisterkarte | `button` + `aria-pressed` | Die Registerkarte ist nach ihrem Blatt benannt. Die Registerkarte des aktiven Blatts hat `aria-pressed="true"` | +| Schaltfläche "Blatt hinzufügen" | `aria-label` | "Add sheet" | + +### Dialoge {#dialogs} + +| Selektor | Rolle / Attribut | Zweck | +| -------- | ---------------- | ------- | +| Dialoge für Spaltenbreite und Zeilenhöhe | `role="dialog"`, `aria-modal="true"`, `aria-label` | Benannt nach dem Dialogtitel. Das Eingabefeld ist mit "Width in pixels" / "Height in pixels" beschriftet | +| Suchleiste | `role="dialog"` + `aria-label` | Benannt "Search". Das Suchfeld ist mit "Search" beschriftet, und die Schaltflächen heißen "Previous match", "Next match" und "Close search" | +| Link einfügen, Datenvalidierung | `role="dialog"` + `aria-label` | Benannt nach dem Dialogtitel | +| Warnmeldungen | `role="alertdialog"`, `aria-modal="true"`, `aria-labelledby`, `aria-describedby` | Benannt nach der Kopfzeile der Meldung und beschrieben durch ihren Text | + +### Ausgeblendete und dekorative Elemente {#hidden-and-decorative-elements} + +Das Spreadsheet blendet dekorative Teile mit `aria-hidden="true"` vor assistiven Technologien aus. Dazu gehören die Symbole für Sperre, Filter und Spaltenmenü, die Symbole ausgeblendeter Zeilen und Spalten sowie das Symbol "Alles auswählen". Ebenso ausgeblendet sind die Ebene, die die Auswahl, die Kopier- und Suchhervorhebungen sowie den Ausfüllpunkt zeichnet, die farbige Kopie der Formel in der Formelleiste und die von einer verbundenen Zelle verdeckten Zellen. Layout-Wrapper haben `role="presentation"`. Die Fokus-Sentinels vor und nach dem Grid leiten den Fokus lediglich an die aktive Zelle weiter. + +## Auswahl- und Bearbeitungsmodell {#selection-and-editing-model} + +Der DOM-Fokus liegt auf der aktiven Zelle selbst, sodass ein Screenreader die Zelle liest und kein separates Eingabefeld. Wenn sich die aktive Zelle bewegt, liest der Screenreader zuerst die Adresse der neuen Zelle, dann ihren Wert und ihre verborgenen Beschreibungen vor. Wenn der Nutzer mit der Tastatur oder der Maus einen Bereich auswählt, sagt der Screenreader die Ausdehnung des Bereichs an, sobald sich die Auswahl nicht mehr ändert. Eine Zelle, die zu mehreren Bereichen gehört, wird nur einmal gezählt, und die Zellen ausgeblendeter Zeilen und Spalten werden mitgezählt. Während eine Zelle bearbeitet wird, wird nichts angesagt. Wenn ein Bereich auf die aktive Zelle verkleinert wird, wird die Adresse der Zelle angesagt. + +| Situation | Was der Screenreader erhält | +| --------- | --------------------------- | +| Die aktive Zelle bewegt sich | Die Zelle mit ihrer Adresse, ihrem Wert und ihren Beschreibungen, zum Beispiel "B7, 120, locked" | +| Ein Bereich wird ausgewählt | "B2 to D7, 18 cells" | +| Mehrere Bereiche werden mit Ctrl ausgewählt | "B2 to B4, D2 to D4, 6 cells" | +| Der Editor öffnet sich mit Enter, F2 oder durch Tippen | Das Eingabefeld des Editors mit dem Namen "Cell editor, B7" | +| Der Editor einer Zelle mit einer Werteliste öffnet sich | Eine aufgeklappte Combobox. Nach ↑ oder ↓ wird die hervorgehobene Option der Liste vorgelesen | +| Die Bearbeitung wird gespeichert | Neue Formelfehler in den bearbeiteten Zellen und in den davon abhängigen Zellen sowie ungültige Werte in den bearbeiteten Zellen werden angesagt | +| Die Bearbeitung einer gesperrten Zelle wird abgelehnt | "The cell is locked" | +| Im schreibgeschützten Modus wird eine Bearbeitungstaste gedrückt | "The sheet is read-only" | + +Enter, F2 oder Tippen öffnet den Editor. Enter speichert den Wert und geht nach unten, Tab speichert ihn und geht nach rechts, und Esc bricht die Bearbeitung ab. + +## Tastaturnavigation {#keyboard-navigation} + +Die Tastatur funktioniert, sobald sich das Spreadsheet auf der Seite befindet; eine Konfiguration ist nicht erforderlich. Die folgenden Tabellen fassen das Tastaturmodell zusammen. Den vollständigen Satz an Tastenkombinationen finden Sie in der [Liste der Hotkeys](hotkeys.md). + +![Das Dropdown "Horizontal align" der Symbolleiste, mit der Pfeiltaste nach unten geöffnet, mit dem Fokus auf seinem ersten Eintrag](/img/accessibility/toolbar_dropdown_focus.png) + +### Zellen {#cells} + +| Tasten | Aktion | +| ---- | ------ | +| Pfeiltasten | Die aktive Zelle verschieben. Die aktive Zelle stoppt an der ersten und der letzten sichtbaren Zeile und Spalte | +| Shift + Pfeiltasten | Den ausgewählten Bereich erweitern | +| Home / End | Zur ersten bzw. letzten sichtbaren Zelle der Zeile wechseln | +| Ctrl + Pfeiltasten, Ctrl + Home / End | Zum Rand des Blatts wechseln | +| Tab / Shift + Tab | Innerhalb der Zeile nach rechts bzw. links wechseln. Von der letzten bzw. der ersten Zelle des Blatts aus den Fokus aus den Zellen heraus zum nächsten bzw. vorherigen Teil der Seite verschieben, zum Beispiel zu den Blattregisterkarten oder zur Formelleiste | +| Enter, F2 | Den Editor öffnen | +| Esc | Den Editor ohne Speichern schließen | +| Ctrl + Space / Shift + Space | Die Spalte bzw. die Zeile auswählen | +| Ctrl + Shift + 9 / 0 | Die ausgeblendeten Zeilen bzw. Spalten innerhalb des ausgewählten Bereichs einblenden | +| Alt + Enter | Den Link der aktiven Zelle öffnen | +| Shift + F10 oder die Menütaste | Das Kontextmenü mit den Befehlen für die Zelle öffnen, oder für die Spalte nach Ctrl + Space | +| Alt + ↑ / ↓, Ctrl + Alt + Page Down / Page Up | Zum nächsten bzw. vorherigen Blatt wechseln | + +### Wechsel zwischen den Teilen {#moving-between-the-parts} + +| Tasten | Aktion | +| ---- | ------ | +| Ctrl + F6 / Ctrl + Shift + F6 | Den Fokus zum nächsten bzw. vorherigen Teil verschieben: das Menü, die Symbolleiste, das Blatt, die Blattregisterkarten. Die Formelleiste und ausgeblendete Teile werden übersprungen. Eine offene Bearbeitung wird zuerst gespeichert | +| Tab / Shift + Tab | Den Fokus zum nächsten bzw. vorherigen Teil in der Tabulatorreihenfolge der Seite verschieben. Jede Leiste ist ein Tabstopp, und der Fokus landet auf dem zuletzt verwendeten Steuerelement | + +### Symbolleiste, Menüleiste und Blattregisterkarten {#toolbar-menu-bar-and-sheet-tabs} + +| Tasten | Aktion | +| ---- | ------ | +| ← / →, Home / End | Zwischen den Steuerelementen der Leiste wechseln | +| Enter / Space | Das Steuerelement betätigen: den Befehl ausführen, das Dropdown öffnen oder zum Blatt wechseln | +| ↓ | Das Dropdown öffnen und den Fokus auf seinen ersten Eintrag setzen | +| ↑ / ↓ | Zwischen den Einträgen eines geöffneten Dropdowns oder Menüs wechseln | +| → / ← | Ein Untermenü öffnen bzw. schließen | +| Esc | Das Dropdown oder das Menü schließen und den Fokus an sein Steuerelement zurückgeben | + +### Popups und Dialoge {#popups-and-dialogs} + +| Tasten | Aktion | +| ---- | ------ | +| Pfeiltasten, Home / End | Zwischen den Farben der Farbpalette wechseln | +| Enter | Die Farbe, den Rahmen oder die Größe in den Dialogen für Spaltenbreite und Zeilenhöhe anwenden | +| Esc | Das Popup, den Dialog oder die Suchleiste schließen und den Fokus an das Steuerelement oder die Zelle zurückgeben, die sie geöffnet hat. Im Modus für benutzerdefinierte Farben zur Palette zurückkehren. In einem Farb- oder Stil-Popup, das aus dem Rahmen-Popup geöffnet wurde, es schließen und den Fokus an seine Schaltfläche im Rahmen-Popup zurückgeben | +| Tab / Shift + Tab | Zwischen den Steuerelementen eines Dialogs oder des Modus für benutzerdefinierte Farben wechseln. In einem Farb-Popup oder im Rahmen-Popup es schließen und den Fokus an seine Symbolleisten-Schaltfläche zurückgeben | +| ↑ / ↓, Enter | Durch die Werteliste einer Zelle navigieren und einen Wert auswählen | + +:::note +Für Aktionen, die nur mit dem Zeigegerät möglich sind, gibt es Tastaturalternativen. Die Befehle *Column width* und *Row height* des Kontextmenüs legen eine exakte Größe ohne Ziehen fest, und der Befehl *Open filter* öffnet einen Filter ohne Klick auf sein Symbol. +::: + +## Assistive Technologien {#assistive-technology} + +Das DHTMLX-Team testet das Spreadsheet mit den folgenden Screenreadern: + +| Screenreader | Browser | Plattform | +| ------------- | ------- | -------- | +| NVDA | Firefox | Windows | +| JAWS | Chrome | Windows | +| VoiceOver | Safari | macOS | + +Screenreader erhalten jeden Zustand von dem Element, zu dem er gehört: + +| Zustand | Bereitgestellt über | Gelesen an | +| ----- | --------------- | ------- | +| Position | `aria-rowindex`, `aria-colindex` und die Zellenadresse im Zellentext | Jeder Zelle. Die Adresse steht im Text der aktiven Zelle und der Zellen der ausgewählten Bereiche | +| Auswahl | `aria-selected` | Der aktiven Zelle und den Zellen der ausgewählten Bereiche | +| Bearbeitbarkeit | `aria-readonly` | Dem Grid und den Zellen im schreibgeschützten Modus und solange die Auswahl deaktiviert ist, sowie gesperrten Zellen | +| Verbundene Zellen | `aria-colspan`, `aria-rowspan` | Der verbundenen Zelle | +| Zeilenköpfe | `role="rowheader"` | Den Zeilennummern | +| Umschaltzustand | `aria-pressed` | Den Schaltflächen Bold, Italic, Underline, Strikethrough, Lock und Filter sowie den Blattregisterkarten | +| Markierungszustand | `aria-checked` | Den Formatierungseinträgen der Menüleiste sowie den Einträgen für Ausrichtung, Textumbruch und Zahlenformate | +| Fehler und ungültige Werte | Verborgener Text in der Zelle, `aria-invalid` | Der Zelle und ihrem Editor | +| Links | `` und der verborgene Text "link" | Der Zelle mit einem Link | + +## Hoher Kontrast und Fokus {#high-contrast-and-focus} + +### Themes {#themes} + +Das Spreadsheet hat vier integrierte Themes: `light` (Standard), `dark`, `contrast-light` und `contrast-dark`. Die Themes `contrast-light` und `contrast-dark` erfüllen die WCAG-AA-Kontrastanforderungen für Text. Ein Theme wechseln Sie mit der Methode `dhx.setTheme()` oder mit dem Attribut `data-dhx-theme`: + +~~~jsx +dhx.setTheme("contrast-light"); // or "contrast-dark" +~~~ + +Details finden Sie im Artikel [Integrierte Themes](/themes/). + +In den hellen Themes haben die Farben, die die Zellbezüge einer Formel markieren, einen Kontrast von mindestens 4,5:1. + +Das Theme `contrast-light` zeichnet dunklen Text und dunkle Rahmen auf weißem Hintergrund. Im folgenden Spreadsheet ist das Kontextmenü einer Zelle mit dem Filtersymbol mit der Tastatur geöffnet. Sein fokussierter Befehl, [*Open filter*](filtering_data.md#opening-a-filter-with-the-keyboard), ist durch eine gestrichelte Kontur markiert, und die aktive Zelle ist durch einen durchgezogenen Rahmen in der Primärfarbe des Themes markiert: + +![Spreadsheet im Theme contrast-light](/img/accessibility/spreadsheet_contrast_light.png) + +Das Theme `contrast-dark` zeichnet hellen Text und helle Rahmen auf dunklem Hintergrund. Wenn der Fokus auf einem Steuerelement der Symbolleiste liegt, ist das Steuerelement durch einen Fokusring in der Farbe `--dhx-spreadsheet-focus-color` markiert, die in den dunklen Themes heller ist als die Primärfarbe des Rahmens der aktiven Zelle: + +![Spreadsheet im Theme contrast-dark](/img/accessibility/spreadsheet_contrast_dark.png) + +### Fokusindikator {#focus-indicator} + +Der Tastaturfokus wird in jedem Theme angezeigt: + +- die aktive Zelle hat einen durchgezogenen 2px-Rahmen in der Primärfarbe des Themes +- eine Zelle und der Zelleneditor, die den Tastaturfokus haben, erhalten eine 2px-Kontur in der Primärfarbe des Themes +- die Formelleiste und die Steuerelemente der Symbolleiste, der Menüleiste, der Blattregisterkarten, des Rahmen-Popups, des Link-Popups und der Suchleiste erhalten eine 2px-Kontur in der Farbe der Variable `--dhx-spreadsheet-focus-color` +- in der Farbpalette, in der Liste der Rahmenstile, in den Dropdowns der Symbolleiste und der Menüleiste sowie in den Kontextmenüs erhält der fokussierte Eintrag eine gestrichelte 1px-Kontur in der Farbe `--dhx-color-focused` +- im Listeneditor einer Zelle bleibt der Fokus im Editor, und der aktuelle Eintrag der Liste wird mit einer Hintergrundfarbe hervorgehoben + +Die Variable `--dhx-spreadsheet-focus-color` ist in den dunklen Themes heller als die Primärfarbe und kann in einem [benutzerdefinierten Theme](themes/custom_theme.md) neu definiert werden. Der Kontrast jedes Indikators in jedem Theme ist im [Accessibility Conformance Report](accessibility_conformance_report.md) angegeben. + +### Farbe und Zoom {#color-and-zoom} + +- **Farbe ist nicht das einzige Signal.** Die aktive Zelle und die Auswahl haben einen Rahmen und eine Füllung, ein ungültiger Wert hat eine Markierung und eine verborgene Beschreibung, und die Formatierungsschaltflächen melden ihren Zustand über `aria-pressed`. Die Farbschaltflächen haben den Namen der Farbe in ihrem zugänglichen Namen. +- **Zoom und Reflow.** Das Spreadsheet bleibt bei 200 % und 400 % Zoom bedienbar. Die Zellen scrollen in zwei Richtungen, und die Symbolleiste, die Menüleiste und die Blattregisterkarten passen in eine Breite von 320 CSS px. +- **Textabstände.** Mit den WCAG-Überschreibungen für Textabstände wird keine Steuerelement-Beschriftung abgeschnitten, und die Leiste der Blattregisterkarten scrollt, wenn die Registerkarten wachsen. +- **Ins Sichtfeld scrollen.** Die aktive Zelle wird neben den fixierten Zeilen und Spalten ins Sichtfeld gescrollt. + +## Statusansagen {#status-announcements} + +Das Spreadsheet sagt die Änderungen, die kein eigenes Element haben, über eine höfliche (polite) Live-Region an, sodass der Screenreader zuerst den aktuellen Satz beendet: + +| Ereignis | Angesagter Text | Locale-Schlüssel | +| ----- | -------------- | ---------- | +| Ein Bereich wird ausgewählt | "B2 to D7, 18 cells" | `aria_selectedRange`, `aria_rangeExtent`, `aria_rangeSeparator` | +| Eine Bearbeitung verursacht einen Formelfehler oder einen ungültigen Wert | "B7: Reference error. Check the cell references" | `aria_cellMessage` | +| Eine Bearbeitung verursacht mehrere Fehler / ungültige Werte | "3 new errors. B7: ..." / "3 invalid values. B7: ..." | `aria_newErrors`, `aria_invalidValues` | +| Die Bearbeitung einer gesperrten Zelle / eines gesperrten Bereichs wird abgelehnt | "The cell is locked" / "Locked cells were not changed" | `aria_lockedCell`, `aria_lockedCells` | +| Im schreibgeschützten Modus wird eine Bearbeitungstaste gedrückt | "The sheet is read-only" | `aria_readonlySheet` | +| Der Suchtext wird eingegeben | "Results: 5. 1 of 5, B2" oder "No results" | `aria_searchResults`, `aria_searchMatch`, `aria_searchNoResults` | +| Der nächste oder vorherige Treffer wird angezeigt | "2 of 5, B7" | `aria_searchMatch` | +| Eine Excel-Datei wird exportiert | "Exporting the file", "The file is exported" | `aria_exportStarted`, `aria_exportDone` | +| Eine im Dateidialog gewählte Datei wird importiert | "Importing the file", "The file is imported" | `aria_importStarted`, `aria_importDone` | +| Der Befehl Column width / Row height wird angewendet | "Column width set to 120 pixels" | `aria_columnWidthSet`, `aria_rowHeightSet` | +| Ctrl + Shift + 9 / 0 findet nichts zum Einblenden | "No hidden rows in the selection" | `aria_noHiddenRows`, `aria_noHiddenCols` | + +Um das Ergebnis Ihres eigenen Befehls anzusagen, rufen Sie die Methode [`announce()`](api/spreadsheet_announce_method.md) auf: + +~~~jsx +spreadsheet.announce("The report is saved"); +~~~ + +## Lokalisierung {#localization} + +Die zugänglichen Namen, die Zellbeschreibungen und die Ansagen sind in der Locale `spreadsheet` als Schlüssel mit dem Präfix `aria_` neben den Beschriftungen der Oberfläche abgelegt. Übersetzen Sie sie mit der Methode `dhx.i18n.setLocale()`, bevor das Spreadsheet initialisiert wird: + +~~~jsx +dhx.i18n.setLocale("spreadsheet", { + // other keys of the locale + aria_grid: "Tabelle", + aria_cellEditor: "Zelleneditor, {cell}", + aria_readonlySheet: "Das Blatt ist schreibgeschützt", + aria_selectedRange: "{range}, {count} Zellen", + aria_rangeExtent: "{start} bis {end}" +}); + +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +Die Teile in geschweiften Klammern, wie `{cell}` oder `{count}`, werden durch die Werte ersetzt und müssen in den übersetzten Strings erhalten bleiben. Die Namen der Farben und der Schaltflächen der Warnmeldungen stammen aus den Locales `colorpicker` und `message`. Die vollständige Liste der Schlüssel finden Sie unter [Lokalisierung](localization.md#default-locale) und Informationen zu den weiteren Locales unter [Lokalisierung integrierter Widgets](localization.md#localizing-built-in-widgets). + +## Konfigurationsbeispiele {#configuration-recipes} + +### Barrierefreie Standardeinrichtung {#accessible-default-setup} + +Das Spreadsheet benötigt für die Tastatur und die WAI-ARIA-Ausgabe keine Konfiguration. Um die WCAG-AA-Kontrastanforderungen für Text zu erfüllen, wählen Sie ein Kontrast-Theme. Weitere Möglichkeiten, ein Theme festzulegen, finden Sie unter [Integrierte Themes](/themes/): + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + // the keyboard navigation and the WAI-ARIA output need no configuration +}); +spreadsheet.parse(data); + +dhx.setTheme("contrast-light"); // or "contrast-dark" +~~~ + +### Schreibgeschützte Einrichtung {#read-only-setup} + +Verwenden Sie die Option [`readonly`](api/spreadsheet_readonly_config.md), um Daten anzuzeigen, die Nutzer lesen und kopieren, aber nicht ändern können. Tastatur- und Screenreader-Nutzer können sich weiterhin durch die Zellen bewegen: + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true +}); +spreadsheet.parse(data); +~~~ + +Um die Daten ohne aktive Zelle und ohne Auswahl anzuzeigen, fügen Sie [`selection: false`](api/spreadsheet_selection_config.md) hinzu. Das Grid wird dann zu einem Tabstopp, den die Tastatur lediglich durchläuft. + +### Übersetzte Barrierefreiheits-Strings {#translated-accessibility-strings} + +Screenreader lesen die Barrierefreiheits-Strings aus vier Locales: `spreadsheet` enthält die Namen, Zellbeschreibungen und Ansagen, `colorpicker` enthält die Farbnamen, `message` enthält die Namen der Schaltflächen der Warnmeldungen, und `grid` enthält die Ansage der Anzahl geladener Zeilen. Legen Sie alle vier fest, bevor Sie das Spreadsheet erstellen. Die Schlüssel finden Sie unter [Lokalisierung integrierter Widgets](localization.md#localizing-built-in-widgets): + +~~~jsx +const deSpreadsheet = { + // other keys of the locale + aria_grid: "Tabelle", + aria_readonlySheet: "Das Blatt ist schreibgeschützt" +}; +const deColorpicker = { + aria_palette: "Farbpalette", + aria_colorRed: "rot" +}; +const deMessage = { + aria_confirm: "Bestätigen" +}; +const deGrid = { + aria_rowsLoaded: "{count} Zeilen geladen" +}; + +dhx.i18n.setLocale("spreadsheet", deSpreadsheet); +dhx.i18n.setLocale("colorpicker", deColorpicker); +dhx.i18n.setLocale("message", deMessage); +dhx.i18n.setLocale("grid", deGrid); + +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +### Einen benutzerdefinierten Befehl ansagen {#announcing-a-custom-command} + +Wenn Ihr eigener Befehl die Daten ändert, informieren Sie Screenreader-Nutzer mit der Methode [`announce()`](api/spreadsheet_announce_method.md) über das Ergebnis. Das Beispiel fügt einen [Menü](customization.md#menu)-Befehl hinzu, der das aktive Blatt leert: + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); + +spreadsheet.menu.data.add({ id: "clear-sheet", value: "Clear sheet" }); + +spreadsheet.menu.events.on("click", function (id) { + if (id === "clear-sheet") { + spreadsheet.sheets.clear(); + spreadsheet.announce("The sheet is cleared"); + } +}); +~~~ + +## Verantwortung der Host-Seite {#host-page-responsibilities} + +Einige Anforderungen betreffen die Seitenebene und nicht die Komponente selbst. Stellen Sie sicher, dass die Host-Seite: + +- die Dokumentsprache festlegt, zum Beispiel ``, sowie einen Seitentitel +- eine Überschrift über dem Spreadsheet setzt und es innerhalb einer Landmark platziert, zum Beispiel `
` +- einen Skip-Link bereitstellt, wenn dem Spreadsheet eine lange Navigation vorausgeht +- jedem Zustand, den Sie mit einer Zellenfarbe markieren, ein zweites Signal wie Text oder ein Symbol hinzufügt, da die Farben der Zellenstile Teil Ihrer Daten sind +- den Kontrast der Farben prüft, die Sie in den Zellenstilen und in einem benutzerdefinierten Theme festlegen + +## Tests und Methodik {#testing-and-methodology} + +Das DHTMLX-Team validiert die Barrierefreiheit von Spreadsheet 6.0.4 anhand des Komponenten-Quellcodes und im Browser: + +1. **Automatisierte Tests** mit [axe-core](https://github.com/dequelabs/axe-core) in den Themes `light`, `dark`, `contrast-light` und `contrast-dark`, bei geöffneter Suchleiste, geöffnetem Listeneditor, geöffneten Dialogen und einer geöffneten Warnmeldung. +2. **Manuelle Prüfung** des Quellcodes: die Rollen, Zustände und Namen jedes Teils, die Tastatur-Handler und die Fokusbereiche sowie die Theme-Tokens mit ihren Kontrastverhältnissen. +3. **Manuelle Tests**: reine Tastatur-Durchläufe durch die Zellen, die Leisten, die Menüs und die Dialoge, Screenreader-Durchläufe mit NVDA, JAWS und VoiceOver, 200 % und 400 % Zoom, Reflow bei 320 CSS px und WCAG-Überschreibungen für Textabstände. +4. **Konformitätsbericht**: Die Ergebnisse werden Kriterium für Kriterium im [Accessibility Conformance Report](accessibility_conformance_report.md) veröffentlicht, einschließlich der Kriterien, die das Spreadsheet teilweise unterstützt. + +## Ressourcen {#resources} + +- [Accessibility Conformance Report (VPAT 2.5)](accessibility_conformance_report.md) +- [Liste der Hotkeys](hotkeys.md) +- [`readonly`](api/spreadsheet_readonly_config.md) +- [`selection`](api/spreadsheet_selection_config.md) +- [`announce()`](api/spreadsheet_announce_method.md) +- [Lokalisierung](localization.md) +- [Integrierte Themes](/themes/) +- [WCAG 2.2](https://www.w3.org/TR/WCAG22/) +- [WAI-ARIA 1.2](https://www.w3.org/TR/wai-aria-1.2/) +- [WAI-ARIA Authoring Practices: Grid pattern](https://www.w3.org/WAI/ARIA/apg/patterns/grid/) +- [WAI-ARIA Authoring Practices: Toolbar pattern](https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/accessibility_conformance_report.md b/i18n/de/docusaurus-plugin-content-docs/current/accessibility_conformance_report.md new file mode 100644 index 00000000..d6d0d932 --- /dev/null +++ b/i18n/de/docusaurus-plugin-content-docs/current/accessibility_conformance_report.md @@ -0,0 +1,220 @@ +--- +sidebar_label: Konformitätsbericht (VPAT) +title: Barrierefreiheits-Konformitätsbericht +description: Barrierefreiheits-Konformitätsbericht für DHTMLX Spreadsheet auf Basis von VPAT 2.5 - Konformität mit WCAG 2.2 AA, Section 508 und EN 301 549. +--- + +# Barrierefreiheits-Konformitätsbericht + +Dieser Bericht dokumentiert, wie DHTMLX Spreadsheet die wichtigsten Standards für Barrierefreiheit erfüllt. Er folgt der Struktur von **VPAT® 2.5 (International Edition)**. Einen aufgabenorientierten Überblick über die Barrierefreiheitsfunktionen und ihre Konfiguration finden Sie im Leitfaden [Barrierefreiheit](accessibility.md). + +**Produktname/Version:** DHTMLX Spreadsheet v6.0.4 + +**Berichtsdatum:** Oktober 2026 + +**Produktbeschreibung:** DHTMLX Spreadsheet ist eine JavaScript-Tabellenkomponente für Webanwendungen. Die Oberfläche besteht aus einer Menüleiste, einer Symbolleiste, einer Formelleiste, einem Zellraster mit Zeilen- und Spaltenköpfen sowie Tabellenblatt-Registern. Zu den Funktionen gehören Formeln, Zellformatierung, verbundene Zellen, fixierte Zeilen und Spalten, Sortierung, Filterung, Suche, Datenvalidierung, Zellverknüpfungen sowie Excel-Import und -Export. Die Komponente wird von einer Host-Webanwendung eingebettet. + +**Kontaktinformationen:** [info@dhtmlx.com](mailto:info@dhtmlx.com) + +## Hinweise {#notes} + +- Dieser Bericht bewertet DHTMLX Spreadsheet in seiner **empfohlenen Barrierefreiheitskonfiguration**: die Standardkonfiguration, bei der die WAI-ARIA-Ausgabe und die Tastaturnavigation immer aktiv sind, mit dem Theme `contrast-light` oder `contrast-dark`, das über `dhx.setTheme()` oder das Attribut `data-dhx-theme` gesetzt wird. Die Anmerkungen geben an, wo eine Konformitätsstufe von dieser Konfiguration abhängt. Die Einrichtung beschreibt der Leitfaden [Barrierefreiheit](accessibility.md). +- DHTMLX Spreadsheet ist **Webinhalt**, der von einer Host-Anwendung gerendert wird. Verantwortlichkeiten auf Seitenebene (Seitentitel, ``, Skip-/Bypass-Mechanismen und seitenweite Navigation) liegen bei der Host-Anwendung und werden mit einer Erläuterung als *Nicht anwendbar* gemeldet. +- In den WCAG-Tabellen ist nur die Antwort für **Web** ausgefüllt. Die Zeilen *Electronic Docs*, *Software*, *Closed* und *Authoring Tool* sind *Nicht anwendbar*: Das Produkt ist weder eigenständige (Nicht-Web-)Software noch geschlossene Funktionalität, noch ein Authoring-Tool, noch elektronische Dokumentation. +- Farben, die ein Autor über Zellformate auf Zellen anwendet, gehören zu den Dokumentdaten und werden nicht als Teil des Produkts bewertet. + +**Verwendete Bewertungsmethoden:** + +- Automatisierte Tests: axe-core in den Themes `light`, `dark`, `contrast-light` und `contrast-dark`, bei geöffneter Suchleiste, geöffnetem Listeneditor, geöffneten Dialogen und einer geöffneten Warnmeldung. +- Manuelle Prüfung des Quellcodes und der Stylesheets der Komponente: die Rollen und ARIA-Attribute jedes Teils des Widgets, die Tastaturhandler und Fokusbereiche, die zugänglichen Namen und ihre Locale-Schlüssel sowie die Farbtokens der Themes, mit berechneten Kontrastverhältnissen für die vier Themes. +- Tests mit assistiven Technologien: manuelle Durchläufe mit **NVDA + Firefox** und **JAWS + Chrome** unter Windows sowie **VoiceOver + Safari** unter macOS. +- Browser-Überschreibungen: 200 % / 400 % Zoom, Umbruch bei 320 CSS-px und WCAG-Überschreibungen des Textabstands. + +## Anwendbare Standards / Richtlinien {#applicable-standards--guidelines} + +| Standard / Richtlinie | Im Bericht enthalten | +|---|---| +| Web Content Accessibility Guidelines 2.0 | Stufe A (Nein) · Stufe AA (Nein) · Stufe AAA (Nein) | +| Web Content Accessibility Guidelines 2.1 | Stufe A (Nein) · Stufe AA (Nein) · Stufe AAA (Nein) | +| Web Content Accessibility Guidelines 2.2 | Stufe A (**Ja**) · Stufe AA (**Ja**) · Stufe AAA (Nein) | +| Überarbeitete Section-508-Standards (veröffentlicht am 18. Januar 2017; korrigiert am 22. Januar 2018) | (**Ja**) | +| EN 301 549 - V3.1.1 (2019-11) und V3.2.1 (2021-03) | (**Ja**) | + +*WCAG 2.0 und 2.1 werden nicht separat berichtet. Kriterien, die WCAG mit „2.1 und 2.2" kennzeichnet, werden beantwortet, +weil sie Teil von WCAG 2.2 sind und in EN 301 549 referenziert werden.* + +## Begriffe {#terms} + +- **Unterstützt:** Die Funktionalität des Produkts verfügt über mindestens eine Methode, die das Kriterium ohne + bekannte Mängel erfüllt oder mit gleichwertiger Erleichterung erfüllt. +- **Teilweise unterstützt:** Einige Funktionen des Produkts erfüllen das Kriterium nicht. +- **Wird nicht unterstützt:** Der Großteil der Produktfunktionalität erfüllt das Kriterium nicht. +- **Nicht anwendbar:** Das Kriterium ist für das Produkt nicht relevant. + +## WCAG-2.x-Bericht {#wcag-2x-report} + +DHTMLX Spreadsheet ist Webinhalt, daher ist unten nur die Antwort für **Web** ausgefüllt. „Erfordert ein AA-konformes +Theme" ist eine Konfigurationsabhängigkeit, kein Mangel. Das Erfolgskriterium 4.1.1 Parsing wurde in WCAG 2.2 entfernt und wird nicht berichtet. + +### Tabelle 1: Erfolgskriterien, Stufe A {#table-1-success-criteria-level-a} + +| Kriterien | Konformitätsstufe | Anmerkungen und Erläuterungen | +|---|---|---| +| **1.1.1** Nicht-Text-Inhalt | Unterstützt | Icons sind Schriftglyphen. Steuerelemente, die nur aus einem Icon bestehen, beziehen ihren zugänglichen Namen aus der Locale oder aus ihrem Tooltip, zum Beispiel "Add sheet", "Close search" und "Select all". Die Farbschaltflächen tragen den Namen der Farbe, zum Beispiel "Text color: dark gray". Dekorative Icons (Sperre, Filter, Spaltenmenü, Marker für ausgeblendete Zeilen), die Auswahlebene und die von einer verbundenen Zelle überdeckten Zellen sind mit `aria-hidden="true"` ausgeblendet; der Zustand, den sie anzeigen, wird durch Text in der Zelle vermittelt, etwa "locked" und "Filter applied". | +| **1.2.1** Reine Audio- und reine Videoinhalte (aufgezeichnet) | Nicht anwendbar | Das Produkt enthält keine Audio- oder Videoinhalte. | +| **1.2.2** Untertitel (aufgezeichnet) | Nicht anwendbar | Keine aufgezeichneten Multimediainhalte. | +| **1.2.3** Audiodeskription oder Medienalternative (aufgezeichnet) | Nicht anwendbar | Keine aufgezeichneten Multimediainhalte. | +| **1.3.1** Info und Beziehungen | Unterstützt | Die Zellen bilden ein `grid` mit dem Namen "Spreadsheet" und den Rollen `row`, `columnheader`, `rowheader` und `gridcell`. Die Position wird mit `aria-rowindex`/`aria-colindex` gegenüber `aria-rowcount`/`aria-colcount` bereitgestellt, die Ausdehnung einer verbundenen Zelle mit `aria-colspan`/`aria-rowspan`, die Bearbeitbarkeit mit `aria-readonly` und die Auswahl mit `aria-selected` und `aria-multiselectable`. Die Symbolleiste, die Menüleiste und die Tabellenblatt-Register sind `toolbar`- und `menubar`-Elemente mit Namen; die Formatierungsschalter haben in der Symbolleiste `aria-pressed` und sind in der Menüleiste `menuitemcheckbox`, und sich gegenseitig ausschließende Formatierungsoptionen sind `menuitemradio` mit `aria-checked`. | +| **1.3.2** Bedeutungstragende Reihenfolge | Unterstützt | DOM- und Lesereihenfolge folgen der visuellen Reihenfolge: Menüleiste, Symbolleiste, Formelleiste, Zellen und Tabellenblatt-Register. Die Zellen tragen ihre Position im Tabellenblatt über `aria-rowindex`/`aria-colindex`, sodass die Reihenfolge erhalten bleibt, wenn Zeilen und Spalten aus dem DOM herausgescrollt werden. | +| **1.3.3** Sensorische Eigenschaften | Unterstützt | Keine Anweisung und keine Beschriftung beruht allein auf Form, Größe oder räumlicher Lage; interaktive Elemente tragen Text oder einen ARIA-Namen. | +| **1.4.1** Verwendung von Farbe | Unterstützt | Jeder Zustand, der durch Farbe dargestellt wird, hat zusätzlich einen Rahmen, eine Füllung, einen Marker oder Text: die aktive Zelle, der ausgewählte Bereich, Suchtreffer, der kopierte Bereich und ungültige Zellen, zusammen mit `aria-selected` oder Text in der Zelle. Durch einen Filter ausgeblendete Zeilen hinterlassen eine Lücke in der Zeilennummerierung. Die Farbschaltflächen tragen den Farbnamen in ihrem zugänglichen Namen. | +| **1.4.2** Audiosteuerung | Nicht anwendbar | Das Produkt gibt keinen automatisch abgespielten Ton aus. | +| **2.1.1** Tastatur | Unterstützt | Jeder Befehl auf den Zellen hat eine Taste, aufgeführt in der [Liste der Hotkeys](hotkeys.md); `Shift`+`F10` oder die Menütaste öffnet das Kontextmenü. `Ctrl`+`F6` verschiebt den Fokus zwischen Menü, Symbolleiste, Tabellenblatt und Tabellenblatt-Registern. Die Leisten, ihre Dropdown-Listen und Popups sowie der Listeneditor funktionieren mit den Pfeiltasten, `Home`, `End`, `Enter` und `Esc`. Für Spaltenbreite, Zeilenhöhe und den Spaltenfilter gibt es Kontextmenübefehle. | +| **2.1.2** Keine Tastaturfalle | Unterstützt | `Tab` in der letzten Zelle und `Shift`+`Tab` in der ersten Zelle des Tabellenblatts verschieben den Fokus aus den Zellen zum nächsten bzw. vorherigen Teil der Seite, und `Ctrl`+`F6` verschiebt ihn zwischen den Teilen von Spreadsheet. Im Listeneditor beendet `Tab` die Bearbeitung und `Esc` bricht sie ab, auch nach der Verwendung der Pfeiltasten. `Esc` und `Tab` schließen die Popups der Symbolleiste und setzen den Fokus auf deren Schaltflächen zurück. | +| **2.1.4** Zeichentasten-Kurzbefehle | Unterstützt | Jeder Kurzbefehl verwendet eine Modifikatortaste (`Ctrl`, `Alt`, `Shift`) oder eine Nicht-Zeichentaste (`F2`, `F6`, `F10`, `F11`, `Enter`, `Esc`, `Delete`, Pfeile). Die Eingabe eines Zeichens in einer Zelle trägt es in die Zelle ein, was der Zweck der Zelle ist, und führt keinen Befehl aus. | +| **2.2.1** Zeitvorgaben anpassbar | Nicht anwendbar | Das Produkt setzt keine Zeitlimits. | +| **2.2.2** Pausieren, Beenden, Ausblenden | Unterstützt | Es gibt keine sich automatisch aktualisierenden, bewegten, blinkenden oder scrollenden Inhalte. Keine Animation dauert länger als 5 Sekunden. | +| **2.3.1** Grenzwert von drei Blitzen oder darunter | Unterstützt | Das Produkt enthält keine blinkenden Inhalte. | +| **2.4.1** Blöcke umgehen | Nicht anwendbar | Gilt auf Seitenebene; Mechanismen zum Umgehen von Blöcken liegen bei der Host-Anwendung. | +| **2.4.2** Seite mit Titel | Nicht anwendbar | Seitentitel liegen in der Verantwortung der Host-Anwendung. | +| **2.4.3** Fokus-Reihenfolge | Unterstützt | Die Zellen bilden einen Tab-Stopp auf der aktiven Zelle, und die Symbolleiste, die Menüleiste und die Tabellenblatt-Register bilden je einen Tab-Stopp, in visueller Reihenfolge. `Tab` verlässt das Tabellenblatt an der letzten und der ersten Zelle. Dialoge übernehmen den Fokus, halten `Tab` innerhalb und setzen den Fokus beim Schließen auf die aktive Zelle zurück; Menüs, Kontextmenüs und Popups setzen den Fokus auf das Steuerelement zurück, das sie geöffnet hat, und nach dem Anwenden einer Text- oder Hintergrundfarbe kehrt der Fokus zur aktiven Zelle zurück. Die aktive Zelle wird in den sichtbaren Bereich gescrollt, wenn sie den Fokus erhält. | +| **2.4.4** Linkzweck (im Kontext) | Unterstützt | Ein Link in einer Zelle wird als ``-Element gerendert, dessen Text der vom Autor festgelegte Linktext oder die Adresse ist. Der Zellentext ergänzt "link", wenn die Zelle ausgewählt ist, und `Alt`+`Enter` öffnet ihn. | +| **2.5.1** Zeigergesten | Unterstützt | Kein Vorgang erfordert eine Multipoint- oder pfadbasierte Geste; jeder Ziehvorgang hat eine Alternative ohne Ziehen (siehe 2.5.7). | +| **2.5.2** Zeiger-Abbruch | Unterstützt | Das Ändern von Spalten- und Zeilengrößen sowie das Ausfüllkästchen wirken beim Loslassen, und ein Rückgängig-Schritt macht jeden davon rückgängig. Befehle der Symbolleiste, der Menüs und der Tabellenblatt-Register werden bei `click` ausgeführt. | +| **2.5.3** Beschriftung im Namen | Unterstützt | Steuerelemente mit sichtbarem Text übernehmen diesen Text als zugänglichen Namen: die Menüeinträge, die Kontextmenübefehle, die Tabellenblatt-Register und die Dialogschaltflächen. Icon-Schaltflächen werden durch ihren Tooltip benannt, die Farbschaltflächen durch ihren Tooltip gefolgt vom Farbnamen. | +| **2.5.4** Bewegungsaktivierung | Nicht anwendbar | Keine Funktion wird durch Gerätebewegung oder Benutzerbewegung bedient. | +| **3.1.1** Sprache der Seite | Nicht anwendbar | Die Dokumentsprache (``) wird von der Host-Anwendung festgelegt. | +| **3.2.1** Bei Fokus | Unterstützt | Das Erhalten des Fokus ändert nie den Kontext. Ein Klick auf einen Spaltenbuchstaben, eine Zeilennummer oder die Ecke wählt die Zeilen bzw. Spalten aus und lässt den Fokus auf der aktiven Zelle. | +| **3.2.2** Bei Eingabe | Unterstützt | Das Ändern eines Werts ändert den Kontext nicht. Das Bearbeiten einer Zelle, das Auswählen eines Werts aus einer Liste oder die Eingabe in der Suchleiste aktualisiert das Tabellenblatt an Ort und Stelle, was der dokumentierte Zweck dieser Steuerelemente ist. | +| **3.2.6** Konsistente Hilfe (nur 2.2) | Nicht anwendbar | Das Widget stellt keinen Hilfemechanismus bereit; dies ist ein Thema auf Seitenebene. | +| **3.3.1** Fehlererkennung | Unterstützt | Formelfehler und ungültige Listenwerte werden im Zelleninhalt beschrieben, zum Beispiel "Reference error. Check the cell references" und "Invalid value. Choose a value from the list". Neue Formelfehler und durch eine Bearbeitung verursachte ungültige Werte werden über die Live-Region angekündigt, und der Editor eines ungültigen Werts hat `aria-invalid="true"`. | +| **3.3.2** Beschriftungen oder Anweisungen | Unterstützt | Der Zelleneditor heißt "Cell editor, B7" und die Formelleiste "Formula bar, B7", mit der Adresse der bearbeiteten Zelle. Die Dialogfelder sind beschriftet, zum Beispiel "Width in pixels", und die Schaltflächen der Suchleiste heißen "Previous match", "Next match" und "Close search". | +| **3.3.7** Redundante Eingabe (nur 2.2) | Unterstützt | Das Produkt enthält keinen mehrstufigen Prozess, der bereits eingegebene Informationen erneut abfragt. | +| **4.1.2** Name, Rolle, Wert | Unterstützt | Jeder Teil stellt eine Rolle, seine Zustände und einen Namen aus der Locale bereit: die Zellen (`grid`, `row`, `gridcell`, `columnheader`, `rowheader`, `aria-selected`, `aria-readonly`), die Symbolleisten und die Menüleiste (`toolbar`, `menubar`), die Schaltflächen für Formatierung, Sperren und Filter sowie die Tabellenblatt-Register (`aria-pressed`), die Formatierungseinträge der Menüleiste (`menuitemcheckbox`, `aria-checked`) und die sich gegenseitig ausschließenden Formate (`menuitemradio`, `aria-checked`). Warnmeldungen sind `alertdialog` mit `aria-modal="true"`. Der Listeneditor ist eine `combobox`, die eine `listbox` steuert, mit `aria-expanded` und `aria-activedescendant`. | + +### Tabelle 2: Erfolgskriterien, Stufe AA {#table-2-success-criteria-level-aa} + +| Kriterien | Konformitätsstufe | Anmerkungen und Erläuterungen | +|---|---|---| +| **1.2.4** Untertitel (live) | Nicht anwendbar | Keine Live-Multimediainhalte. | +| **1.2.5** Audiodeskription (aufgezeichnet) | Nicht anwendbar | Keine aufgezeichneten Videoinhalte. | +| **1.3.4** Ausrichtung | Unterstützt | Der Inhalt ist nicht auf eine einzelne Anzeigeausrichtung beschränkt. | +| **1.3.5** Eingabezweck bestimmen | Nicht anwendbar | Die Editoren des Produkts erfassen Dokumentdaten, nicht die persönlichen Informationen des Benutzers, die von der WCAG-Liste der Eingabezwecke abgedeckt werden. | +| **1.4.3** Kontrast (Minimum) | Unterstützt | Die Themes `contrast-light` und `contrast-dark` erfüllen AA: Kein Produkttext liegt in einem der beiden Themes unter 4,5:1, bei geöffneter Suchleiste, geöffnetem Listeneditor, geöffnetem Dialog für die Spaltenbreite und geöffneter Warnmeldung. Die Farben der Formelreferenzen liegen in den Themes light und `contrast-light` bei 4,59:1 bis 7,04:1 und in den dunklen Themes bei 7,62:1 bis 12,26:1. Im Standard-Theme light liegt sekundärer Text wie Dialogfeldbeschriftungen und Text von Warnmeldungen bei etwa 3,95:1. Zur Erfüllung des Kriteriums muss eines der Kontrast-Themes ausgewählt werden; damit erfüllt eine unterstützte Methode das Kriterium. | +| **1.4.4** Textgröße ändern | Unterstützt | Der Text kann ohne Verlust von Inhalt oder Funktionalität auf 200 % vergrößert werden; die Symbolleiste, die Formelleiste, die Tabellenblatt-Register und die Dialoge bleiben bedienbar. | +| **1.4.5** Schriftbilder | Unterstützt | Aller Text wird als echter Text dargestellt. Icons sind Schriftglyphen; das Produkt verwendet keine Rasterbilder. | +| **1.4.10** Umbruch | Unterstützt | Die Zellen sind zweidimensionaler Inhalt, der vom Kriterium vom Umbruch ausgenommen ist, und scrollen horizontal und vertikal. Die Symbolleiste, die Menüleiste und die Tabellenblatt-Register passen in eine Breite von 320 CSS-px. | +| **1.4.11** Nicht-Text-Kontrast | Unterstützt | Die Fokusindikatoren der Zellen, der Formelleiste und der Steuerelemente der Leisten sind 2 px breit und in Theme-Farben gezeichnet; die folgenden Verhältnisse gelten für die Themes light (Standard), `contrast-light`, dark und `contrast-dark`. Die aktive Zelle ist durch einen durchgehenden 2-px-Rahmen in `--dhx-color-primary` markiert: etwa 3,9:1, 7,7:1, 3,4:1 und 5,3:1 gegenüber dem Zellenhintergrund. Die Zelle und der Zelleneditor, die den Tastaturfokus haben, erhalten eine 2-px-Kontur in derselben Farbe, mit denselben Verhältnissen, und innerhalb eines ausgewählten Bereichs etwa 3,3:1, 6,0:1, 3,1:1 und 4,2:1. Die Formelleiste erhält eine 2-px-Kontur in `--dhx-spreadsheet-focus-color`: etwa 3,9:1, 7,7:1, 5,3:1 und 6,5:1 gegenüber ihrem Hintergrund. Die Steuerelemente der Symbolleiste, der Menüleiste und der Tabellenblatt-Register erhalten dieselbe Kontur: etwa 3,7:1, 7,2:1, 3,9:1 und 4,9:1 gegenüber dem Hintergrund der Leiste. Alle Werte liegen über der Anforderung von 3:1. | +| **1.4.12** Textabstand | Unterstützt | Bei angewendeten WCAG-Überschreibungen des Textabstands wird keine Beschriftung eines Steuerelements abgeschnitten; die Leiste der Tabellenblatt-Register scrollt, wenn die Register wachsen. | +| **1.4.13** Inhalt bei Hover oder Fokus | Unterstützt | Tooltips der Symbolleiste bleiben geöffnet, solange der Mauszeiger darüber steht, und werden mit `Esc` geschlossen, ohne den Zeiger oder den Fokus zu bewegen. Der Tooltip für ungültige Werte meldet einen Eingabefehler, bleibt bestehen, solange die Zelle aktiv ist, und wird mit `Esc` entfernt. | +| **2.4.5** Mehrere Wege | Nicht anwendbar | Gilt für das Auffinden von Seiten innerhalb einer Gruppe von Webseiten; für eine einzelne eingebettete Komponente nicht relevant (Thema der Host-Anwendung). | +| **2.4.6** Überschriften und Beschriftungen | Unterstützt | Die Hauptbereiche beziehen ihre zugänglichen Namen aus der Locale: "Spreadsheet" (Grid), "Formatting" (Symbolleiste), "Borders", "Search" und "Link" (die Symbolleisten des Popups für Rahmen, der Suchleiste und des Link-Popups), "Main" (Menüleiste), "Cell" und "Sheet" (Kontextmenüs der Zellen und der Tabellenblatt-Register), "Sheets" (Leiste der Tabellenblatt-Register), "Formula bar, B7" (Formelleiste) und "Cell editor, B7" (Zelleneditor). Die Ecke zum Auswählen aller Zellen heißt "Select all", die Suchleiste heißt "Search" und ihre Schaltflächen "Previous match", "Next match" und "Close search", die Schaltfläche zum Hinzufügen eines Tabellenblatts heißt "Add sheet", und die übrigen Dialoge werden nach ihren Titeln benannt. | +| **2.4.7** Fokus sichtbar | Unterstützt | Die Position des Tastaturfokus ist jederzeit sichtbar. Die aktive Zelle hat immer einen durchgehenden 2-px-Rahmen, und die fokussierte Zelle oder der fokussierte Zelleneditor hat eine 2-px-Kontur, beide in der Primärfarbe des Themes. Die Formelleiste und die Steuerelemente der Symbolleiste, der Menüleiste, der Tabellenblatt-Register, des Popups für Rahmen, des Link-Popups und der Suchleiste zeigen einen 2-px-Fokusring in der Farbe `--dhx-spreadsheet-focus-color`. In der Farbpalette, der Liste der Rahmenstile, den Dropdown-Listen der Symbolleiste und der Menüleiste sowie den Kontextmenüs hat der fokussierte Eintrag eine 1-px-Kontur mit gestrichelter Linie. Im Listeneditor wird der fokussierte Eintrag mit einer Hintergrundfarbe hervorgehoben. Der Fokusindikator wird in jedem integrierten Theme angezeigt. | +| **2.4.11** Fokus nicht verdeckt (Minimum) (nur 2.2) | Unterstützt | Die aktive Zelle wird neben den fixierten Zeilen und Spalten in den sichtbaren Bereich gescrollt, sodass sie nie hinter einem fixierten Bereich zurückbleibt. | +| **2.5.7** Ziehbewegungen (nur 2.2) | Unterstützt | Die Bereichsauswahl funktioniert mit `Shift`+Pfeiltasten und `Ctrl`+`Space`/`Shift`+`Space`. Spaltenbreite und Zeilenhöhe werden mit den Kontextmenübefehlen *Column width* und *Row height* festgelegt, mit Rückgängig-Funktion. Ausgeblendete Zeilen und Spalten werden mit `Ctrl`+`Shift`+`9`/`0` und den Befehlen *Show rows*/*Show columns* eingeblendet. Das Ausfüllen von Zellen ist über das Ereignis [`groupFill`](api/spreadsheet_groupfill_event.md) möglich, das an einen Kontextmenübefehl gebunden werden kann. | +| **2.5.8** Zielgröße (Minimum) (nur 2.2) | Teilweise unterstützt | Das Ausfüllkästchen ist 12 x 12 CSS-px groß. Für die Größenänderung von Spalten und Zeilen gibt es gleichwertige Steuerelemente, die Befehle *Column width* und *Row height*. Die Ecke zum Auswählen aller Zellen ist die 40 x 32 CSS-px große Eckkopfzelle, und die Steuerelemente der Symbolleiste und der Menüs sind größer als 24 x 24 CSS-px. | +| **3.1.2** Sprache von Teilen | Nicht anwendbar | Das Widget mischt innerhalb seines Inhalts keine Sprachen; die Sprache liegt beim Host. | +| **3.2.3** Konsistente Navigation | Nicht anwendbar | Gilt für eine Gruppe von Webseiten; Thema der Host-Anwendung. | +| **3.2.4** Konsistente Erkennung | Unterstützt | Befehle mit gleicher Funktion haben in der Symbolleiste, der Menüleiste und dem Kontextmenü dieselben Namen und Icons sowie dieselben Tasten. | +| **3.3.3** Fehlervorschlag | Unterstützt | Fehlerbeschreibungen schlagen eine Korrektur vor: "Check the cell references" bei einem Referenzfehler und "Choose a value from the list" bei einem ungültigen Listenwert. | +| **3.3.4** Fehlervermeidung (rechtlich, finanziell, Daten) | Unterstützt | Jede Änderung der Daten kann mit Rückgängig (`Ctrl`+`Z`) zurückgenommen und mit Wiederholen erneut angewendet werden. Die Host-Anwendung kann zusätzlich jede Aktion über das Ereignis [`beforeAction`](api/spreadsheet_beforeaction_event.md) abbrechen. | +| **3.3.8** Barrierefreie Authentifizierung (Minimum) (nur 2.2) | Nicht anwendbar | Das Produkt führt keine Authentifizierung durch. | +| **4.1.3** Statusmeldungen | Unterstützt | Statusänderungen werden ohne Fokusverschiebung über eine visuell ausgeblendete Live-Region außerhalb des Grids angekündigt (`role="status"`, `aria-live="polite"`, `aria-atomic="true"`). Sie meldet den ausgewählten Bereich, neue Formelfehler und ungültige Werte, abgelehnte Bearbeitungen gesperrter Zellen oder eines schreibgeschützten Tabellenblatts, Suchergebnisse, Beginn und Ende von Import und Export, neue Spaltenbreiten und Zeilenhöhen sowie eine Auswahl ohne einzublendende ausgeblendete Zeilen oder Spalten. Dieselbe Region steht der Host-Anwendung über die öffentliche Methode [`announce()`](api/spreadsheet_announce_method.md) zur Verfügung, und jede integrierte Meldung ist über die `aria_*`-Locale-Schlüssel lokalisierbar. | + +## Bericht zu Revised Section 508 {#revised-section-508-report} + +WCAG-bezogene Bestimmungen werden im obigen WCAG-2.x-Bericht beantwortet und hier referenziert. Kapitel 4 (Hardware) +ist Nicht anwendbar, da DHTMLX Spreadsheet eine Softwarekomponente ohne Hardware oder physische Bedienelemente ist. + +### Kapitel 3: Funktionale Leistungskriterien {#chapter-3-functional-performance-criteria} + +| Kriterien | Konformitätsstufe | Anmerkungen und Erläuterungen | +|---|---|---| +| 302.1 Ohne Sehvermögen | Unterstützt | Mit einem Screenreader bedienbar über das `grid`-Modell mit Spalten- und Zeilenköpfen, die Zelladresse und die mit jeder Zelle vorgelesenen Beschreibungen, die benannten Symbolleisten und Menüs, die Live-Region und das Tastaturmodell. Siehe WCAG 1.3.1, 2.1.1, 4.1.2, 4.1.3. | +| 302.2 Mit eingeschränktem Sehvermögen | Unterstützt | Zoom, Textvergrößerung und Umbruch werden unterstützt, der Fokus ist in jedem Theme sichtbar, und der AA-Kontrast wird von den Themes `contrast-light` / `contrast-dark` erfüllt. Siehe WCAG 1.4.3, 1.4.4, 1.4.10, 1.4.11, 2.4.7. | +| 302.3 Ohne Farbwahrnehmung | Unterstützt | Keine Information wird allein durch Farbe vermittelt: Die aktive Zelle, die Auswahl, Suchtreffer und ungültige Werte tragen jeweils neben der Farbe einen Rahmen, einen Marker oder Text in der Zelle, und die Farbschaltflächen nennen die Farbe. Siehe WCAG 1.4.1. | +| 302.4 Ohne Hörvermögen | Unterstützt | Keine Information wird durch Ton vermittelt. | +| 302.5 Mit eingeschränktem Hörvermögen | Unterstützt | Keine Information wird durch Ton vermittelt. | +| 302.6 Ohne Sprechvermögen | Unterstützt | Für die Bedienung des Produkts ist keine Spracheingabe erforderlich. | +| 302.7 Mit eingeschränkter Handhabung | Unterstützt | Jede Funktion ist über die Tastatur bedienbar; keine pfadbasierte Geste ist erforderlich, und jeder Ziehvorgang hat eine Alternative über Tastatur oder Befehl. Siehe WCAG 2.1.1, 2.5.1, 2.5.7, 2.5.8. | +| 302.8 Mit eingeschränkter Reichweite und Kraft | Unterstützt | Über die Tastatur bedienbar; keine Anforderungen an physische Reichweite, Kraftaufwand oder Zeitvorgaben. | +| 302.9 Mit eingeschränkten sprachlichen, kognitiven und Lernfähigkeiten | Unterstützt | Befehle haben in der Symbolleiste, den Menüs und dem Kontextmenü dieselben Namen, Formelfehler werden mit einem Korrekturweg beschrieben, und jede Änderung kann mit Rückgängig zurückgenommen werden. Siehe WCAG 3.2.4, 3.3.3, 3.3.4. | + +### Kapitel 5: Software {#chapter-5-software} + +| Kriterien | Konformitätsstufe | Anmerkungen und Erläuterungen | +|---|---|---| +| 501.1 Geltungsbereich - Einbeziehung von WCAG 2.0 AA | Siehe Abschnitt WCAG 2.x | Siehe den obigen WCAG-2.x-Bericht. | +| 502 Interoperabilität mit assistiven Technologien | Nicht anwendbar | Gilt für Nicht-Web-Software (Plattformsoftware). DHTMLX Spreadsheet ist Webinhalt, der standardmäßiges DOM und ARIA für den Accessibility-Tree des Browsers bereitstellt; die Interoperabilität wird durch die WCAG-Ergebnisse abgedeckt (Klausel 9 / 501.1). | +| 503 Anwendungen | Nicht anwendbar | Gilt für Nicht-Web-Plattformsoftware; das Produkt ist Webinhalt. | +| 504 Authoring-Tools | Nicht anwendbar | DHTMLX Spreadsheet ist kein Authoring-Tool für Webinhalte: Es bearbeitet Tabellendaten, keine für die Barrierefreiheit relevanten Webinhalte. | + +### Kapitel 6: Supportdokumentation und -dienste {#chapter-6-support-documentation-and-services} + +| Kriterien | Konformitätsstufe | Anmerkungen und Erläuterungen | +|---|---|---| +| 602.2 Funktionen für Barrierefreiheit und Kompatibilität | Unterstützt | Die Dokumentation beschreibt die Barrierefreiheitsfunktionen des Produkts: Der Leitfaden [Barrierefreiheit](accessibility.md) behandelt das WAI-ARIA-Modell, das Tastaturmodell, den schreibgeschützten Modus und die Auswahloption, die Themes und den Fokusindikator, die API [`announce()`](api/spreadsheet_announce_method.md) und die [lokalisierbaren `aria_*`-Zeichenfolgen](accessibility.md#localization); die [Liste der Hotkeys](hotkeys.md) führt jeden Kurzbefehl auf. | +| 602.3 Elektronische Supportdokumentation | Unterstützt (siehe Abschnitt WCAG 2.x) | Die Dokumentationsseite wird als Webinhalt bereitgestellt und so gepflegt, dass sie WCAG 2.2 AA erfüllt. | +| 602.4 Alternative Formate für nichtelektronische Supportdokumentation | Nicht anwendbar | Die Dokumentation wird ausschließlich elektronisch bereitgestellt; es gibt keine nichtelektronische (gedruckte) Supportdokumentation. | +| 603.2 Informationen zu Funktionen für Barrierefreiheit und Kompatibilität | Unterstützt | Die Barrierefreiheitsfunktionen des Produkts sind im Leitfaden [Barrierefreiheit](accessibility.md) öffentlich dokumentiert und können auf Anfrage über den Supportkanal bereitgestellt werden. | +| 603.3 Berücksichtigung von Kommunikationsbedürfnissen | Unterstützt | Der Support erfolgt über einen textbasierten E-Mail-Kanal; Benutzer interagieren mit ihrer eigenen assistiven Technologie. | + +## Bericht zu EN 301 549 {#en-301-549-report} + +Klausel 9 (Web) entspricht direkt dem obigen WCAG-2.x-Bericht und ist die inhaltliche Bewertung für dieses Webprodukt. +Die Klauseln zu Telefonie, Video und Hardware (Klauseln 6, 7, 8, 13) sind Nicht anwendbar. + +### Klausel 4: Funktionale Leistungsangaben {#clause-4-functional-performance-statements} + +Diese spiegeln die Ergebnisse aus Section 508 Kapitel 3 wider (gleiche Schlussfolgerungen). + +| Kriterien | Konformitätsstufe | Anmerkungen und Erläuterungen | +|---|---|---| +| 4.2.1 Nutzung ohne Sehvermögen | Unterstützt | Siehe 508 302.1 (mit Screenreader bedienbar über das Grid-Modell, die Zellbeschreibungen, die benannten Steuerelemente, die Live-Region und das Tastaturmodell). | +| 4.2.2 Nutzung mit eingeschränktem Sehvermögen | Unterstützt | Siehe 508 302.2 (AA-Kontrast über die Kontrast-Themes, sichtbarer Fokus in jedem Theme; Zoom und Umbruch werden unterstützt). | +| 4.2.3 Nutzung ohne Farbwahrnehmung | Unterstützt | Siehe 508 302.3 (ein Rahmen, ein Marker oder Text begleitet jeden Farbhinweis). | +| 4.2.4 Nutzung ohne Hörvermögen | Unterstützt | Keine Information wird durch Ton vermittelt. | +| 4.2.5 Nutzung mit eingeschränktem Hörvermögen | Unterstützt | Keine Information wird durch Ton vermittelt. | +| 4.2.6 Nutzung ohne oder mit eingeschränkter Sprechfähigkeit | Unterstützt | Keine Spracheingabe erforderlich. | +| 4.2.7 Nutzung mit eingeschränkter Handhabung oder Kraft | Unterstützt | Siehe 508 302.7 (per Tastatur bedienbar, keine Gesten, Alternativen für jeden Ziehvorgang). | +| 4.2.8 Nutzung mit eingeschränkter Reichweite | Unterstützt | Keine Anforderungen an physische Reichweite (Softwarekomponente). | +| 4.2.9 Minimierung von Auslösern für photosensitive Anfälle | Unterstützt | Keine blinkenden Inhalte (siehe WCAG 2.3.1). | +| 4.2.10 Nutzung mit eingeschränkten kognitiven, sprachlichen oder Lernfähigkeiten | Unterstützt | Siehe 508 302.9 (einheitliche Befehlsnamen, beschriebene Fehler, umkehrbare Änderungen). | +| 4.2.11 Privatsphäre | Unterstützt | Die Barrierefreiheitsfunktionen nutzen dieselbe Oberfläche wie für alle anderen; es gibt keinen separaten, weniger privaten Modus. | + +### Klausel 5: Allgemeine Anforderungen {#clause-5-generic-requirements} + +**Überwiegend Nicht anwendbar.** Klausel 5 behandelt geschlossene Funktionalität und Anforderungen im Hardware-Stil. DHTMLX +Spreadsheet ist offene Websoftware, die mit der assistiven Technologie der Plattform und des Browsers zusammenarbeitet, daher sind die +Unterklauseln zu geschlossener Funktionalität, Biometrie (5.3), bedienbaren Teilen (5.5) und dem Status von Sperr-/Umschaltsteuerungen +(5.6) Nicht anwendbar. Wo eine allgemeine Anforderung durch normale Unterstützung assistiver Technologien erfüllt wird, +ist sie durch Klausel 9 (Web) und die WCAG-Ergebnisse abgedeckt. + +### Klausel 9: Web {#clause-9-web} + +**Siehe Abschnitt WCAG 2.x.** Die Klauseln 9.1.1.1-9.4.1.3 entsprechen den WCAG-2.2-Ergebnissen der Stufen A/AA in den Tabellen 1 +und 2 oben. + +### Klausel 11: Software {#clause-11-software} + +**Nicht anwendbar (bewertet unter Klausel 9).** DHTMLX Spreadsheet ist Webinhalt, der unter Klausel 9 (Web) bewertet wird; +es ist keine Nicht-Web-Software. Die WCAG-bezogenen Softwarebestimmungen (11.1.1.1-11.4.1.3) sind durch die WCAG- +2.x-Ergebnisse abgedeckt. 11.8 (Authoring-Tools) ist Nicht anwendbar, da das Produkt kein Authoring-Tool ist. + +### Klausel 12: Dokumentation und Supportdienste {#clause-12-documentation-and-support-services} + +| Kriterien | Konformitätsstufe | Anmerkungen und Erläuterungen | +|---|---|---| +| 12.1.1 Funktionen für Barrierefreiheit und Kompatibilität | Unterstützt | Der Leitfaden [Barrierefreiheit](accessibility.md) dokumentiert die Barrierefreiheitsfunktionen des Produkts: das WAI-ARIA-Modell, das Tastaturmodell, den schreibgeschützten Modus und die Auswahloption, die Themes, den Fokusindikator, die API [`announce()`](api/spreadsheet_announce_method.md) und die [lokalisierbaren `aria_*`-Zeichenfolgen](accessibility.md#localization). | +| 12.1.2 Barrierefreie Dokumentation | Unterstützt (siehe Abschnitt WCAG 2.x) | Die Dokumentationsseite wird als Webinhalt bereitgestellt und so gepflegt, dass sie WCAG 2.2 AA erfüllt. | +| 12.2.2 Informationen zu Funktionen für Barrierefreiheit und Kompatibilität | Unterstützt | Die Barrierefreiheitsfunktionen sind öffentlich dokumentiert und können vom Support auf Anfrage bereitgestellt werden. | +| 12.2.3 Wirksame Kommunikation | Unterstützt | Der Support erfolgt über einen textbasierten E-Mail-Kanal; Benutzer interagieren mit ihrer eigenen assistiven Technologie. | +| 12.2.4 Barrierefreie Dokumentation | Unterstützt (siehe Abschnitt WCAG 2.x) | Gleiche Grundlage wie bei 12.1.2: Die Dokumentationsseite wird so gepflegt, dass sie WCAG 2.2 AA erfüllt. | + +## Rechtlicher Hinweis {#legal-disclaimer} + +Dieser Bericht dient ausschließlich Informationszwecken und beschreibt die Barrierefreiheit der genannten +Produktversion zum Berichtsdatum. Er wird „wie besehen" und ohne Gewährleistung jeglicher Art bereitgestellt und stellt +keine vertragliche Verpflichtung oder Garantie dar. Die Unterstützung der Barrierefreiheit kann sich in späteren Versionen ändern, +und die Ergebnisse gelten für die bewertete Konfiguration. „VPAT" und „Voluntary Product Accessibility Template" sind +eingetragene Dienstleistungsmarken des Information Technology Industry Council (ITI). diff --git a/i18n/de/docusaurus-plugin-content-docs/current/angular_integration.md b/i18n/de/docusaurus-plugin-content-docs/current/angular_integration.md index 699a6b9f..704a3004 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/angular_integration.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/angular_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: Integration mit Angular title: Angular-Integration -description: In der Dokumentation erfahren Sie mehr über die Angular-Integration der DHTMLX JavaScript Spreadsheet-Bibliothek. Lesen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: DHTMLX Spreadsheet in einer Angular-Anwendung verwenden. Erstellen Sie ein Projekt, fügen Sie Spreadsheet als Angular-Komponente hinzu, laden Sie Daten und verarbeiten Sie Events. --- # Integration mit Angular {#integration-with-angular} @@ -234,6 +234,10 @@ ngOnDestroy() { } ~~~ +:::info +Die Methode `destructor()` entfernt die mit `spreadsheet.events.on()` hinzugefügten Event-Handler. Wenn eine neue Spreadsheet-Instanz erstellt wird, zum Beispiel wenn die Komponente erneut erstellt wird, fügen Sie die Handler der neuen Instanz hinzu. +::: + ### Schritt 3. Spreadsheet zur App hinzufügen {#step-3-adding-spreadsheet-into-the-app} Um die `SpreadsheetComponent`-Komponente zur App hinzuzufügen, öffnen Sie die Datei *src/app/app.component.ts* und ersetzen Sie den Standardcode durch den folgenden: diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/api_overview.md b/i18n/de/docusaurus-plugin-content-docs/current/api/api_overview.md index 359ca435..0bdf0398 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/api_overview.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/api_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: API-Übersicht title: API-Übersicht -description: Sie können eine API-Übersicht der DHTMLX JavaScript Spreadsheet-Bibliothek in der Dokumentation einsehen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: "Übersicht über die API von DHTMLX Spreadsheet: Konstruktor, Methoden, Events, Eigenschaften sowie die Module Sheet Manager, Selection, Event Bus und Export." --- # API-Übersicht {#api-overview} @@ -27,6 +27,7 @@ Parameter: | [](api/spreadsheet_addcolumn_method.md) | @getshort(api/spreadsheet_addcolumn_method.md) | | [](api/spreadsheet_addformula_method.md) | @getshort(api/spreadsheet_addformula_method.md) | | [](api/spreadsheet_addrow_method.md) | @getshort(api/spreadsheet_addrow_method.md) | +| [](api/spreadsheet_announce_method.md) | @getshort(api/spreadsheet_announce_method.md) | | [](api/spreadsheet_clear_method.md) | @getshort(api/spreadsheet_clear_method.md) | | [](api/spreadsheet_deletecolumn_method.md) | @getshort(api/spreadsheet_deletecolumn_method.md) | | [](api/spreadsheet_deleterow_method.md) | @getshort(api/spreadsheet_deleterow_method.md) | @@ -99,6 +100,7 @@ Parameter: | [](api/spreadsheet_multisheets_config.md) | @getshort(api/spreadsheet_multisheets_config.md) | | [](api/spreadsheet_readonly_config.md) | @getshort(api/spreadsheet_readonly_config.md) | | [](api/spreadsheet_rowscount_config.md) | @getshort(api/spreadsheet_rowscount_config.md) | +| [](api/spreadsheet_selection_config.md) | @getshort(api/spreadsheet_selection_config.md) | | [](api/spreadsheet_toolbarblocks_config.md) | @getshort(api/spreadsheet_toolbarblocks_config.md) | @@ -118,8 +120,11 @@ Parameter: | Name | Beschreibung | | :--------------------------------------------- | :---------------------------------------------------- | +| [](api/selection_disable_method.md) | @getshort(api/selection_disable_method.md) | +| [](api/selection_enable_method.md) | @getshort(api/selection_enable_method.md) | | [](api/selection_getfocusedcell_method.md) | @getshort(api/selection_getfocusedcell_method.md) | | [](api/selection_getselectedcell_method.md) | @getshort(api/selection_getselectedcell_method.md) | +| [](api/selection_isdisabled_method.md) | @getshort(api/selection_isdisabled_method.md) | | [](api/selection_removeselectedcell_method.md) | @getshort(api/selection_removeselectedcell_method.md) | | [](api/selection_setfocusedcell_method.md) | @getshort(api/selection_setfocusedcell_method.md) | | [](api/selection_setselectedcell_method.md) | @getshort(api/selection_setselectedcell_method.md) | diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md index aba4f4ff..e53e4139 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md @@ -1,7 +1,7 @@ --- sidebar_label: detach() title: detach Events Bus-Methode -description: Sie können sich über die detach Events Bus-Methode in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek informieren. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Entfernen Sie mit der Methode events.detach() einen mit der Methode on() angehängten Event-Handler aus DHTMLX Spreadsheet anhand des Event-Namens. --- # detach() @@ -23,7 +23,7 @@ detach(name: string): void; ### Beispiel {#example} ~~~jsx {10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md index 6e1c5e89..af798a9f 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md @@ -1,7 +1,7 @@ --- sidebar_label: fire() title: fire Events Bus-Methode -description: Sie können sich über die fire Events Bus-Methode in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek informieren. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Lösen Sie mit der Methode events.fire() ein internes Event von DHTMLX Spreadsheet aus und übergeben Sie den Event-Namen und ein Array mit den Event-Daten. --- # fire() @@ -32,7 +32,7 @@ Die Methode gibt `false` zurück, wenn einer der Event-Handler `false` zurückgi ### Beispiel {#example} ~~~jsx {10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md index 88bfb325..e80adb2e 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md @@ -1,7 +1,7 @@ --- sidebar_label: on() title: on Events Bus-Methode -description: Sie können sich über die on Events Bus-Methode in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek informieren. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Hängen Sie mit der Methode events.on() einen Handler an ein internes Event von DHTMLX Spreadsheet an, zum Beispiel, um auf eine Änderung des Zellstils zu reagieren. --- # on() @@ -24,7 +24,7 @@ on(name: string, callback: function): void; ### Beispiel {#example} ~~~jsx {6-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/export_json_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/export_json_method.md index 3bf94d41..ab5a9c6c 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/export_json_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/export_json_method.md @@ -1,7 +1,7 @@ --- sidebar_label: json() title: json Export-Methode -description: Sie können sich über die json Export-Methode in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek informieren. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Exportieren Sie mit der Methode export.json() die Daten von DHTMLX Spreadsheet in eine JSON-Datei. --- # json() @@ -19,7 +19,7 @@ json(): void; ### Beispiel {#example} ~~~jsx {7} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md index f546c0e9..3010e949 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md @@ -1,7 +1,7 @@ --- sidebar_label: xlsx() title: xlsx Export-Methode -description: Sie können sich über die xlsx Export-Methode in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek informieren. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Exportieren Sie mit der Methode export.xlsx() die Daten von DHTMLX Spreadsheet in eine Excel-Datei (.xlsx), optional mit einem eigenen Dateinamen. --- # xlsx() @@ -23,7 +23,7 @@ xlsx(name:string): void; ### Beispiel {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md index 5de189ba..dfc4d3dd 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Spreadsheet-Aktionen title: Aktionen-Übersicht -description: Sie können eine Aktionen-Übersicht der DHTMLX JavaScript Spreadsheet-Bibliothek in der Dokumentation einsehen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Überblick über die Aktionen von DHTMLX Spreadsheet und vollständige Liste der Aktionen, die Sie in den Events beforeAction und afterAction behandeln können. --- # Aktionen-Übersicht {#actions-overview} @@ -67,8 +67,8 @@ spreadsheet.events.on("beforeColumnAdd", function(cell){ | **merge** | Die Aktion wird beim Verbinden eines Zellbereichs ausgeführt | | **removeCellStyles** | Die Aktion wird beim Löschen der Stile einer Zelle ausgeführt | | **renameSheet** | Die Aktion wird beim Umbenennen eines Blatts ausgeführt | -| **resizeCol** | Die Aktion wird beim Ändern der Spaltenbreite ausgeführt | -| **resizeRow** | Die Aktion wird beim Ändern der Zeilenhöhe ausgeführt | +| **resizeCol** | Die Aktion wird beim Ändern der Spaltenbreite durch Ziehen des Spaltenrands oder mit dem Befehl *Spaltenbreite* ausgeführt | +| **resizeRow** | Die Aktion wird beim Ändern der Zeilenhöhe durch Ziehen des Zeilenrands oder mit dem Befehl *Zeilenhöhe* ausgeführt | | **setCellFormat** | Die Aktion wird beim Ändern des Formats einer Zelle ausgeführt | | **setCellValue** | Die Aktion wird beim Ändern oder Entfernen des Werts einer Zelle ausgeführt | | **setValidation** | Die Aktion wird beim Festlegen der Datenvalidierung für eine Zelle ausgeführt | @@ -78,6 +78,13 @@ spreadsheet.events.on("beforeColumnAdd", function(cell){ | **toggleFreeze** | Die Aktion wird beim Einfrieren/Aufheben des Einfrierens von Spalten/Zeilen ausgeführt | | **unmerge** | Die Aktion wird beim Aufheben der Verbindung von Zellen ausgeführt | +:::note +Im `config`-Objekt der Events [`beforeAction`](api/spreadsheet_beforeaction_event.md) und [`afterAction`](api/spreadsheet_afteraction_event.md) übergeben die Aktionen **resizeCol** und **resizeRow** Folgendes: + +- `cell` - die Zelle oder der Zellbereich, dessen Spalten oder Zeilen in der Größe geändert werden +- `val` - die neue Breite oder Höhe in Pixeln. Der Wert wird nur für die Befehle *Spaltenbreite* und *Zeilenhöhe* gesetzt, nicht beim Ändern der Größe durch Ziehen +::: + **Changelog:** - Die Aktionen **toggleFreeze** und **toggleVisibility** wurden in v5.2 hinzugefügt diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md index 32d10aa8..30304ef7 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Übersicht der Event Bus-Methoden title: Übersicht der Event Bus-Methoden -description: Sie können eine Übersicht der Event Bus-Methoden der DHTMLX JavaScript Spreadsheet-Bibliothek in der Dokumentation einsehen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Liste der Event-Bus-Methoden von DHTMLX Spreadsheet zum Anhängen, Entfernen und Auslösen von Events. --- # Übersicht der Event Bus-Methoden {#event-bus-methods-overview} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/events_overview.md b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/events_overview.md index 7b224cbd..95ff8cd9 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/events_overview.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/events_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Events-Übersicht title: Events-Übersicht -description: Sie können eine Events-Übersicht der DHTMLX JavaScript Spreadsheet-Bibliothek in der Dokumentation einsehen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Liste der Events von DHTMLX Spreadsheet, die bei Aktionen, beim Laden von Daten, beim Bearbeiten von Zellen, bei Auswahl, Fokus und Tabellenblattwechsel ausgelöst werden. --- # Events-Übersicht {#events-overview} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/export_overview.md b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/export_overview.md index df1ce0ad..1a6dcd3e 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/export_overview.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/export_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Übersicht der Export-Methoden title: Übersicht der Export-Methoden -description: Sie können eine Übersicht der Export-Methoden der DHTMLX JavaScript Spreadsheet-Bibliothek in der Dokumentation einsehen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Liste der Methoden des Export-Moduls von DHTMLX Spreadsheet, die die Daten in eine JSON- oder Excel-Datei (.xlsx) speichern. --- # Übersicht der Export-Methoden {#export-methods-overview} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md index 06234b93..2f5e9d4c 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Methoden-Übersicht title: Methoden-Übersicht -description: Sie können die Methoden-Übersicht der DHTMLX JavaScript Spreadsheet-Bibliothek in der Dokumentation einsehen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Liste der DHTMLX Spreadsheet-Methoden zum Laden und Speichern von Daten, Bearbeiten von Zellen, Formatieren, Verbinden, Sortieren, Filtern und Verwalten von Tabellenblättern. --- # Methoden-Übersicht {#methods-overview} @@ -11,6 +11,7 @@ description: Sie können die Methoden-Übersicht der DHTMLX JavaScript Spreadshe | [](api/spreadsheet_addcolumn_method.md) | @getshort(../spreadsheet_addcolumn_method.md) | | [](api/spreadsheet_addformula_method.md) | @getshort(../spreadsheet_addformula_method.md) | | [](api/spreadsheet_addrow_method.md) | @getshort(../spreadsheet_addrow_method.md) | +| [](api/spreadsheet_announce_method.md) | @getshort(../spreadsheet_announce_method.md) | | [](api/spreadsheet_clear_method.md) | @getshort(../spreadsheet_clear_method.md) | | [](api/spreadsheet_deletecolumn_method.md) | @getshort(../spreadsheet_deletecolumn_method.md) | | [](api/spreadsheet_deleterow_method.md) | @getshort(../spreadsheet_deleterow_method.md) | diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md index 72ee682e..b702786c 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Eigenschaften-Übersicht title: Eigenschaften-Übersicht -description: Sie können die Eigenschaften-Übersicht der DHTMLX JavaScript Spreadsheet-Bibliothek in der Dokumentation einsehen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Liste der DHTMLX Spreadsheet-Konfigurationseigenschaften für Symbolleiste, Menü, schreibgeschützten Modus, Auswahl, Rastergröße und mehr. --- # Eigenschaften-Übersicht {#properties-overview} @@ -18,4 +18,5 @@ description: Sie können die Eigenschaften-Übersicht der DHTMLX JavaScript Spre | [](api/spreadsheet_multisheets_config.md) | @getshort(../spreadsheet_multisheets_config.md) | | [](api/spreadsheet_readonly_config.md) | @getshort(../spreadsheet_readonly_config.md) | | [](api/spreadsheet_rowscount_config.md) | @getshort(../spreadsheet_rowscount_config.md) | +| [](api/spreadsheet_selection_config.md) | @getshort(../spreadsheet_selection_config.md) | | [](api/spreadsheet_toolbarblocks_config.md) | @getshort(../spreadsheet_toolbarblocks_config.md) | diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md index 9440023f..4269b623 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md @@ -1,15 +1,18 @@ --- sidebar_label: Übersicht der Selection-Methoden title: Übersicht der Selection-Methoden -description: Sie können die Übersicht der Selection-Methoden der DHTMLX JavaScript Spreadsheet-Bibliothek in der Dokumentation einsehen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Liste der Methoden des Selection-Moduls von DHTMLX Spreadsheet zum Auswählen von Zellen, Setzen des Fokus sowie Aus- und Einschalten der Zellauswahl. --- # Übersicht der Selection-Methoden {#selection-methods-overview} | Name | Beschreibung | | :--------------------------------------------- | :---------------------------------------------------- | +| [](api/selection_disable_method.md) | @getshort(../selection_disable_method.md) | +| [](api/selection_enable_method.md) | @getshort(../selection_enable_method.md) | | [](api/selection_getfocusedcell_method.md) | @getshort(../selection_getfocusedcell_method.md) | | [](api/selection_getselectedcell_method.md) | @getshort(../selection_getselectedcell_method.md) | +| [](api/selection_isdisabled_method.md) | @getshort(../selection_isdisabled_method.md) | | [](api/selection_removeselectedcell_method.md) | @getshort(../selection_removeselectedcell_method.md) | | [](api/selection_setfocusedcell_method.md) | @getshort(../selection_setfocusedcell_method.md) | | [](api/selection_setselectedcell_method.md) | @getshort(../selection_setselectedcell_method.md) | diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md index 6653a9ac..4e25be03 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Sheet Manager API-Übersicht title: Sheet Manager API-Übersicht -description: Sie können die Sheet Manager API-Übersicht der DHTMLX JavaScript Spreadsheet-Bibliothek in der Dokumentation einsehen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Liste der Methoden des Sheet-Managers von DHTMLX Spreadsheet zum Hinzufügen, Entfernen, Leeren, Abrufen und Wechseln von Tabellenblättern. --- # Sheet Manager API-Übersicht {#sheet-manager-api-overview} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/selection_disable_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_disable_method.md new file mode 100644 index 00000000..571f973c --- /dev/null +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_disable_method.md @@ -0,0 +1,47 @@ +--- +sidebar_label: disable() +title: disable Selection-Methode +description: Schalten Sie die Zellauswahl in DHTMLX Spreadsheet zur Laufzeit mit der Methode selection.disable() aus. Die Methode entfernt die aktive Zelle und ignoriert die Auswahl per Maus, Tastatur und API. +--- + +# disable() + +### Beschreibung {#description} + +@short: Schaltet die Zellauswahl aus + +### Verwendung {#usage} + +~~~jsx +disable(): void; +~~~ + +### Beispiel {#example} + +~~~jsx {6} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + // config parameters +}); +spreadsheet.parse(data); + +spreadsheet.selection.disable(); +~~~ + +### Details {#details} + +Die Methode: + +- beendet die Bearbeitung einer Zelle und speichert den eingegebenen Wert +- entfernt die ausgewählten und die aktiven Zellen auf jedem Blatt +- ignoriert die Auswahl per Maus, Tastatur und API, bis die Methode [`enable()`](api/selection_enable_method.md) aufgerufen wird + +Solange die Auswahl ausgeschaltet ist, geben die Methoden [`getSelectedCell()`](api/selection_getselectedcell_method.md) und [`getFocusedCell()`](api/selection_getfocusedcell_method.md) `undefined` zurück. Die übrigen Auswirkungen entsprechen denen der Konfigurationsoption [`selection: false`](api/spreadsheet_selection_config.md#details). + +Ist die Auswahl bereits ausgeschaltet, tut die Methode nichts. + +**Changelog:** Hinzugefügt in v6.0.4 + +**Verwandte Artikel:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`enable()`](api/selection_enable_method.md) +- [Barrierefreiheit: Einrichtung für den schreibgeschützten Modus](accessibility.md#read-only-setup) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/selection_enable_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_enable_method.md new file mode 100644 index 00000000..c3711d2d --- /dev/null +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_enable_method.md @@ -0,0 +1,42 @@ +--- +sidebar_label: enable() +title: enable Selection-Methode +description: Schalten Sie die Zellauswahl in DHTMLX Spreadsheet mit der Methode selection.enable() wieder ein. Die Methode macht die Zelle A1 aktiv und löst die Auswahl-Events aus. +--- + +# enable() + +### Beschreibung {#description} + +@short: Schaltet die Zellauswahl ein + +### Verwendung {#usage} + +~~~jsx +enable(): void; +~~~ + +### Beispiel {#example} + +~~~jsx {7} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // other config parameters +}); +spreadsheet.parse(data); + +spreadsheet.selection.enable(); +~~~ + +### Details {#details} + +Die Methode macht die Zelle A1 des aktiven Blatts aktiv. Für die Zelle A1 werden die Events [`beforeSelectionSet`](api/spreadsheet_beforeselectionset_event.md), [`beforeFocusSet`](api/spreadsheet_beforefocusset_event.md), [`afterFocusSet`](api/spreadsheet_afterfocusset_event.md) und [`afterSelectionSet`](api/spreadsheet_afterselectionset_event.md) ausgelöst. + +Ist die Auswahl bereits eingeschaltet, tut die Methode nichts. + +**Changelog:** Hinzugefügt in v6.0.4 + +**Verwandte Artikel:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`disable()`](api/selection_disable_method.md) +- [Barrierefreiheit: Einrichtung für den schreibgeschützten Modus](accessibility.md#read-only-setup) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md index 96452ed3..f75cde7a 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFocusedCell() title: getFocusedCell Selection-Methode -description: Sie können die getFocusedCell Selection-Methode in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek kennenlernen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Ermitteln Sie mit der Methode selection.getFocusedCell() die ID der fokussierten (aktiven) Zelle in DHTMLX Spreadsheet. --- # getFocusedCell() @@ -23,7 +23,7 @@ Die Methode gibt die ID der fokussierten Zelle zurück ### Beispiel {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // Konfigurationsparameter }); spreadsheet.parse(data); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md index 64c5391a..5c4f9893 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getSelectedCell() title: getSelectedCell Selection-Methode -description: Sie können die getSelectedCell Selection-Methode in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek kennenlernen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Ermitteln Sie mit der Methode selection.getSelectedCell() die IDs oder Bereiche der ausgewählten Zellen in DHTMLX Spreadsheet. --- # getSelectedCell() @@ -23,7 +23,7 @@ Die Methode gibt die ID(s) oder einen Bereich der ausgewählten Zelle(n) zurück ### Beispiel {#example} ~~~jsx {8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // Konfigurationsparameter }); spreadsheet.parse(data); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/selection_isdisabled_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_isdisabled_method.md new file mode 100644 index 00000000..7c34f5bb --- /dev/null +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_isdisabled_method.md @@ -0,0 +1,41 @@ +--- +sidebar_label: isDisabled() +title: isDisabled Selection-Methode +description: Prüfen Sie mit der Methode selection.isDisabled(), ob die Zellauswahl in DHTMLX Spreadsheet ausgeschaltet ist. +--- + +# isDisabled() + +### Beschreibung {#description} + +@short: Prüft, ob die Zellauswahl ausgeschaltet ist + +### Verwendung {#usage} + +~~~jsx +isDisabled(): boolean; +~~~ + +### Rückgabewert {#returns} + +Die Methode gibt `true` zurück, wenn die Auswahl ausgeschaltet ist, andernfalls `false` + +### Beispiel {#example} + +~~~jsx {7} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // other config parameters +}); +spreadsheet.parse(data); + +const disabled = spreadsheet.selection.isDisabled(); // -> true +~~~ + +**Changelog:** Hinzugefügt in v6.0.4 + +**Verwandte Artikel:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`enable()`](api/selection_enable_method.md) +- [`disable()`](api/selection_disable_method.md) +- [Barrierefreiheit: Einrichtung für den schreibgeschützten Modus](accessibility.md#read-only-setup) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md index ca4a3a3d..b8a66b35 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: removeSelectedCell() title: removeSelectedCell Selection-Methode -description: Sie können die removeSelectedCell Selection-Methode in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek kennenlernen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Heben Sie mit der Methode selection.removeSelectedCell() die Auswahl der angegebenen Zellen oder Zellbereiche in DHTMLX Spreadsheet auf. --- # removeSelectedCell() @@ -23,7 +23,7 @@ removeSelectedCell(cell: string): void; ### Beispiel {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // Konfigurationsparameter }); spreadsheet.parse(data); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md index 86d0b9b7..b8922c84 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFocusedCell() title: setFocusedCell Selection-Methode -description: Sie können die setFocusedCell Selection-Methode in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek kennenlernen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Machen Sie eine Zelle aktiv und verschieben Sie den Tastaturfokus mit der Methode selection.setFocusedCell() in DHTMLX Spreadsheet auf diese Zelle. --- # setFocusedCell() @@ -13,17 +13,18 @@ description: Sie können die setFocusedCell Selection-Methode in der Dokumentati ### Verwendung {#usage} ~~~jsx -setFocusedCell(cell: string): void; +setFocusedCell(cell: string, scroll?: boolean): void; ~~~ ### Parameter {#parameters} - `cell` - (erforderlich) die ID der Zelle, auf die der Fokus gesetzt werden soll +- `scroll` - (optional) legt fest, ob die Tabellenkalkulation zur Zelle gescrollt wird, standardmäßig `true` ### Beispiel {#example} ~~~jsx {6} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // Konfigurationsparameter }); spreadsheet.parse(data); @@ -31,4 +32,24 @@ spreadsheet.parse(data); spreadsheet.selection.setFocusedCell("D4"); ~~~ -**Verwandter Artikel:** [Mit der Tabellenkalkulation arbeiten](working_with_ssheet.md) +### Details {#details} + +Die Methode macht die angegebene Zelle aktiv und verschiebt nach dem Neuzeichnen den Tastaturfokus auf diese Zelle. Der Tastaturfokus wird nicht verschoben, wenn er sich befindet: + +- in einem Element außerhalb der Tabellenkalkulation +- in der Symbolleiste, im Menü oder in den Tabellenblatt-Tabs, die per Tastatur erreicht wurden +- in einem geöffneten Zelleneditor + +Befindet sich der Tastaturfokus auf dem Seitenkörper (body), zum Beispiel direkt nach dem Laden der Seite, verschiebt die Methode ihn auf die Zelle. + +Dieselben Regeln gelten für jede andere Änderung der aktiven Zelle, zum Beispiel durch eine andere API-Methode. + +Wenn der Handler des Events [`beforeFocusSet`](api/spreadsheet_beforefocusset_event.md) `false` zurückgibt, wird die aktive Zelle nicht geändert und der Tastaturfokus nicht verschoben. + +Die Methode tut nichts, solange die Auswahl mit der Konfigurationsoption [`selection: false`](api/spreadsheet_selection_config.md) oder mit der Methode [`selection.disable()`](api/selection_disable_method.md) deaktiviert ist. + +**Changelog:** Das Verschieben des Tastaturfokus auf die Zelle wurde in v6.0.4 hinzugefügt + +**Verwandte Artikel:** +- [Mit der Tabellenkalkulation arbeiten](working_with_ssheet.md) +- [Barrierefreiheit: Tastaturnavigation](accessibility.md#keyboard-navigation) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md index fd73da4b..dc42735b 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setSelectedCell() title: setSelectedCell Selection-Methode -description: Sie können die setSelectedCell Selection-Methode in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek kennenlernen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Wählen Sie mit der Methode selection.setSelectedCell() eine Zelle, mehrere Zellen oder einen Zellbereich in DHTMLX Spreadsheet aus und scrollen Sie optional dorthin. --- # setSelectedCell() @@ -13,17 +13,18 @@ description: Sie können die setSelectedCell Selection-Methode in der Dokumentat ### Verwendung {#usage} ~~~jsx -setSelectedCell(cell: string): void; +setSelectedCell(cell: string, scroll?: boolean): void; ~~~ ### Parameter {#parameters} - `cell` - (erforderlich) die ID(s) oder ein Bereich der auszuwählenden Zelle(n) +- `scroll` - (optional) legt fest, ob die Tabellenkalkulation zur Zelle gescrollt wird, standardmäßig `true` ### Beispiel {#example} ~~~jsx {7,10,13} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // Konfigurationsparameter }); spreadsheet.parse(data); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md index 15fb9d48..d0734285 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md @@ -1,7 +1,7 @@ --- sidebar_label: add() title: add Methode -description: Sie können die add Methode des Sheet Managers in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek kennenlernen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Fügen Sie mit der Methode sheets.add() ein neues leeres Tabellenblatt zu DHTMLX Spreadsheet hinzu. Die Methode gibt die ID des neuen Tabellenblatts zurück (erfordert die Option multiSheets). --- # add() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md index 6e9e50f3..335734a9 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md @@ -1,7 +1,7 @@ --- sidebar_label: clear() title: clear-Methode -description: Sie können mehr über die clear-Methode des Sheet Managers in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren. Lesen Sie Entwicklerleitfäden und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Löschen Sie mit der Methode sheets.clear() die Werte, Stile und Formatierungen eines Tabellenblatts in DHTMLX Spreadsheet, ohne das Tabellenblatt selbst zu entfernen. --- # clear() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md index ca2d0ee4..ec1011d1 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md @@ -1,7 +1,7 @@ --- sidebar_label: get() title: get-Methode -description: Sie können mehr über die get-Methode des Sheet Managers in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren. Lesen Sie Entwicklerleitfäden und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Ermitteln Sie mit der Methode sheets.get() ein Tabellenblatt-Objekt anhand seiner ID in DHTMLX Spreadsheet. --- # get() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md index 2a938176..af0a11ed 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getActive() title: getActive-Methode -description: Sie können mehr über die getActive-Methode des Sheet Managers in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren. Lesen Sie Entwicklerleitfäden und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Ermitteln Sie mit der Methode sheets.getActive() das aktive (sichtbare) Tabellenblatt von DHTMLX Spreadsheet. Die Methode gibt die ID und den Namen des Tabellenblatts zurück. --- # getActive() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md index 821a6673..8f80a822 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getAll() title: getAll-Methode -description: Sie können mehr über die getAll-Methode des Sheet Managers in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren. Lesen Sie Entwicklerleitfäden und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Ermitteln Sie mit der Methode sheets.getAll() alle Tabellenblätter von DHTMLX Spreadsheet. Die Methode gibt ein Array von Objekten mit den IDs und Namen der Tabellenblätter zurück. --- # getAll() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md index 6dc38be9..6efc6e0d 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md @@ -1,7 +1,7 @@ --- sidebar_label: remove() title: remove-Methode -description: Sie können mehr über die remove-Methode des Sheet Managers in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren. Lesen Sie Entwicklerleitfäden und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Entfernen Sie mit der Methode sheets.remove() ein Tabellenblatt anhand seiner ID aus DHTMLX Spreadsheet. Mindestens ein Tabellenblatt bleibt erhalten, und beim Entfernen des aktiven Tabellenblatts wird zu einem anderen gewechselt. --- # remove() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md index c324124d..cf991f66 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setActive() title: setActive-Methode -description: Sie können mehr über die setActive-Methode des Sheet Managers in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren. Lesen Sie Entwicklerleitfäden und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Wechseln Sie mit der Methode sheets.setActive() das aktive (sichtbare) Tabellenblatt von DHTMLX Spreadsheet zum Tabellenblatt mit der angegebenen ID. --- # setActive() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md index 7559a786..8e34366b 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addColumn() title: addColumn-Methode -description: Sie können mehr über die addColumn-Methode in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren. Lesen Sie Entwicklerleitfäden und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Fügen Sie mit der Methode addColumn() eine leere Spalte in DHTMLX Spreadsheet ein. Sie wird an der Spalte der angegebenen Zelle eingefügt, und die vorhandenen Spalten werden nach rechts verschoben. --- # addColumn() @@ -27,7 +27,7 @@ addColumn(cell: string): void; ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // fügt eine leere Spalte "G" hinzu diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md index f016ed88..970a615b 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addFormula() title: addFormula-Methode -description: Sie können mehr über die addFormula-Methode in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren. Lesen Sie Entwicklerleitfäden und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Registrieren Sie mit der Methode addFormula() eine benutzerdefinierte Formelfunktion in DHTMLX Spreadsheet, um sie in Zellformeln über ihren Namen in Großbuchstaben zu verwenden. --- # addFormula() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md index 338c555f..0437da07 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addRow() title: addRow-Methode -description: Sie können mehr über die addRow-Methode in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren. Lesen Sie Entwicklerleitfäden und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Fügen Sie mit der Methode addRow() eine leere Zeile in DHTMLX Spreadsheet ein. Sie wird an der Zeile der angegebenen Zelle eingefügt, und die vorhandenen Zeilen werden nach unten verschoben. --- # addRow() @@ -27,7 +27,7 @@ addRow(cell: string): void; ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // fügt eine leere zweite Zeile hinzu diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md index ebfb6fd1..deaee07e 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterAction title: afterAction-Event -description: Sie können mehr über das afterAction-Event in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren. Lesen Sie Entwicklerleitfäden und API-Referenz, testen Sie Code-Beispiele und Live-Demos und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Behandeln Sie das Event afterAction von DHTMLX Spreadsheet, das nach der Ausführung einer Aktion ausgelöst wird und den Namen der Aktion sowie ihre Parameter erhält, etwa die Zelle sowie den neuen und den vorherigen Wert. --- # afterAction @@ -13,7 +13,21 @@ description: Sie können mehr über das afterAction-Event in der Dokumentation d ### Verwendung {#usage} ~~~jsx -afterAction: (action: string, config: object) => void; +afterAction: ( + action: string, + config: { + action?: string, + cell?: string, + row?: number, + col?: number, + val?: any, + prev?: any, + groupAction?: string, + pageId?: string | number, + pageName?: string, + // other properties of the action + } | object[] +) => void; ~~~ ### Parameter {#parameters} @@ -21,12 +35,23 @@ afterAction: (action: string, config: object) => void; Der Callback des Events akzeptiert folgende Parameter: - `action` - (erforderlich) der Name der Aktion. Die vollständige Liste der verfügbaren Aktionen finden Sie [hier](api/overview/actions_overview.md#list-of-actions) -- `config` - (erforderlich) ein Objekt mit den Parametern der Aktion +- `config` - (erforderlich) ein Objekt mit den Parametern der Aktion. Die Menge der Eigenschaften hängt von der Aktion ab. Das Objekt kann Folgendes enthalten: + - `action` - (optional) der Name der Aktion + - `cell` - (optional) die ID der Zelle oder des Zellbereichs, auf den die Aktion angewendet wird, zum Beispiel `"A1"` oder `"B2:D5"` + - `row` - (optional) der nullbasierte Index der Zeile der Zelle + - `col` - (optional) der nullbasierte Index der Spalte der Zelle + - `val` - (optional) der neue Wert, den die Aktion anwendet, zum Beispiel ein Zellwert, ein Stil oder eine Größe + - `prev` - (optional) der vorherige Wert + - `groupAction` - (optional) der Name der Aktion, die anstelle von `action` ausgeführt wird, wenn `cell` ein Zellbereich ist, zum Beispiel `"groupAction"`, `"groupRowAction"` oder `"resizeCol"` + - `pageId` - (optional) die ID des Tabellenblatts + - `pageName` - (optional) der Name des Tabellenblatts + + Werden mehrere Aktionen gemeinsam ausgeführt, zum Beispiel beim Einfügen, lautet der Parameter `action` `"groupAction"`, und `config` ist ein Array solcher Objekte. ### Beispiel {#example} ~~~jsx {6-11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // Konfigurationsparameter }); spreadsheet.parse(dataset); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md index e46f9c8e..9a7b991d 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterClear title: afterClear event -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über das afterClear-Event. Durchsuchen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Behandeln Sie das Event afterClear, das ausgelöst wird, nachdem DHTMLX Spreadsheet geleert wurde (seit v4.3 veraltet, verwenden Sie stattdessen das Event afterAction). --- # afterClear @@ -33,7 +33,7 @@ afterClear: () => void; ### Beispiel {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "afterClear" event diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md index 8c5e9abe..db91b5c6 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterDataLoaded title: afterDataLoaded event -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über das afterDataLoaded-Event. Durchsuchen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Führen Sie mit dem Event afterDataLoaded Code aus, nachdem Daten in DHTMLX Spreadsheet geladen wurden, zum Beispiel, um nach dem Laden eine Meldung anzuzeigen. --- # afterDataLoaded diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md index bc4e0723..99e79c12 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterEditEnd title: afterEditEnd event -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über das afterEditEnd-Event. Durchsuchen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Reagieren Sie mit dem Event afterEditEnd auf das Ende der Zellbearbeitung in DHTMLX Spreadsheet. Das Event erhält die ID der Zelle und ihren neuen Wert. --- # afterEditEnd @@ -26,7 +26,7 @@ Der Callback des Events nimmt folgende Parameter entgegen: ### Beispiel {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "afterEditEnd" event diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md index 62c84c47..2a39a506 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterEditStart title: afterEditStart event -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über das afterEditStart-Event. Durchsuchen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Reagieren Sie mit dem Event afterEditStart auf den Beginn der Zellbearbeitung in DHTMLX Spreadsheet. Das Event erhält die ID der Zelle und ihren Wert. --- # afterEditStart @@ -26,7 +26,7 @@ Der Callback des Events nimmt folgende Parameter entgegen: ### Beispiel {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "afterEditStart" event diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md index 3f0831e8..a0996dd9 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterFocusSet title: afterFocusSet event -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über das afterFocusSet-Event. Durchsuchen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Verfolgen Sie die fokussierte Zelle in DHTMLX Spreadsheet mit dem Event afterFocusSet. Es wird ausgelöst, nachdem der Fokus auf eine Zelle gesetzt wurde, und erhält die ID der Zelle. --- # afterFocusSet @@ -25,7 +25,7 @@ Der Callback des Events nimmt folgende Parameter entgegen: ### Beispiel {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "afterFocusSet" event diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md index 0f7219a8..0aac6080 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterSelectionSet title: afterSelectionSet event -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über das afterSelectionSet-Event. Durchsuchen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Reagieren Sie mit dem Event afterSelectionSet auf die Auswahl von Zellen in DHTMLX Spreadsheet. Es wird ausgelöst, nachdem Zellen ausgewählt wurden, und erhält deren IDs. --- # afterSelectionSet @@ -25,7 +25,7 @@ Der Callback des Events nimmt folgende Parameter entgegen: ### Beispiel {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "afterSelectionSet" event diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md index be886f07..498c0281 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterSheetChange title: afterSheetChange event -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über das afterSheetChange-Event. Durchsuchen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Verfolgen Sie den Wechsel von Tabellenblättern in DHTMLX Spreadsheet mit dem Event afterSheetChange. Es erhält den Namen und die ID des neu aktiven Tabellenblatts. --- # afterSheetChange @@ -25,7 +25,7 @@ Der Callback des Events nimmt folgende Parameter entgegen: ### Beispiel {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "afterSheetChange" event diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_announce_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_announce_method.md new file mode 100644 index 00000000..83dbcb28 --- /dev/null +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_announce_method.md @@ -0,0 +1,67 @@ +--- +sidebar_label: announce() +title: announce Methode +description: Senden Sie mit der Methode announce() eine Statusmeldung an Screenreader-Nutzer von DHTMLX Spreadsheet, zum Beispiel um das Ergebnis eines benutzerdefinierten Toolbar- oder Menübefehls zu melden. +--- + +# announce() + +### Beschreibung {#description} + +@short: Gibt eine Meldung an Screenreader-Nutzer aus + +### Verwendung {#usage} + +~~~jsx +announce(message: string): void; +~~~ + +### Parameter {#parameters} + +- `message` - (erforderlich) der Text, der angekündigt werden soll. Ein leerer String löscht die Meldung + +### Beispiel {#example} + +Im folgenden Beispiel zählt ein benutzerdefinierter Menübefehl die leeren Zellen im ausgewählten Bereich und gibt das Ergebnis aus: + +~~~jsx {18} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + menu: true, + // other config parameters +}); +spreadsheet.parse(data); + +spreadsheet.menu.data.add({ + id: "count-empty", + value: "Count empty cells" +}); + +spreadsheet.menu.events.on("click", function (id) { + if (id === "count-empty") { + let count = 0; + spreadsheet.eachCell(function (cell, value) { + if (value === "" || value === undefined || value === null) count++; + }, spreadsheet.selection.getSelectedCell()); + spreadsheet.announce(count + " empty cells in the selection"); + } +}); +~~~ + +### Details {#details} + +Verwenden Sie die Methode, um Screenreader-Nutzer über das Ergebnis einer Aktion zu informieren, die kein eigenes sichtbares Element hat, etwa ein benutzerdefinierter Toolbar- oder Menübefehl. + +Die Meldung geht an eine visuell verborgene Live-Region, die direkt nach dem Grid-Element platziert ist (`role="status"`, `aria-live="polite"`, `aria-atomic="true"`). Der Screenreader liest sie vor, nachdem er die aktuelle Ausgabe beendet hat, und der Tastaturfokus wird nicht verschoben. + +Das Spreadsheet gibt seine eigenen Meldungen über dieselbe Region aus: den ausgewählten Bereich, neue Formelfehler und ungültige Werte, abgelehnte Änderungen, Suchergebnisse, Beginn und Ende von Import und Export sowie neue Spaltenbreiten und Zeilenhöhen (siehe die [Liste der Statusmeldungen](accessibility.md#status-announcements)). Die Region enthält jeweils nur eine Meldung, sodass eine neuere Meldung, ob eigene oder integrierte, die vorherige ersetzt. + +Wenn Sie den Text übergeben, der sich gerade in der Region befindet, liest der Screenreader ihn erneut vor. + +Die Methode funktioniert auch im [schreibgeschützten Modus](api/spreadsheet_readonly_config.md) und bei ausgeschalteter [Auswahl](api/spreadsheet_selection_config.md). Sie tut nichts, bevor das Spreadsheet in die Seite eingebunden wurde, und nachdem die Methode `destructor()` aufgerufen wurde. + +**Changelog:** Hinzugefügt in v6.0.4 + +**Verwandte Artikel:** +- [Statusmeldungen](accessibility.md#status-announcements) +- [Einen benutzerdefinierten Befehl ankündigen](accessibility.md#announcing-a-custom-command) +- [Anpassen des Menüs](customization.md#menu) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md index 036be70b..4ac353c5 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeAction title: beforeAction event -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über das beforeAction-Event. Durchsuchen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Fangen Sie Aktionen in DHTMLX Spreadsheet mit dem Event beforeAction ab. Es erhält den Namen und die Parameter einer Aktion und bricht sie ab, wenn der Handler false zurückgibt. --- # beforeAction @@ -13,7 +13,21 @@ description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek e ### Verwendung {#usage} ~~~jsx -beforeAction: (action: string, config: object) => void | boolean; +beforeAction: ( + action: string, + config: { + action?: string, + cell?: string, + row?: number, + col?: number, + val?: any, + prev?: any, + groupAction?: string, + pageId?: string | number, + pageName?: string, + // other properties of the action + } | object[] +) => void | boolean; ~~~ ### Parameter {#parameters} @@ -21,7 +35,18 @@ beforeAction: (action: string, config: object) => void | boolean; Der Callback des Events nimmt folgende Parameter entgegen: - `action` - (erforderlich) der Name der Aktion. Die vollständige Liste der verfügbaren Aktionen finden Sie [hier](api/overview/actions_overview.md#list-of-actions) -- `config` - (erforderlich) ein Objekt mit den Parametern der Aktion +- `config` - (erforderlich) ein Objekt mit den Parametern der Aktion. Die Menge der Eigenschaften hängt von der Aktion ab. Das Objekt kann Folgendes enthalten: + - `action` - (optional) der Name der Aktion + - `cell` - (optional) die ID der Zelle oder des Zellbereichs, auf den die Aktion angewendet wird, zum Beispiel `"A1"` oder `"B2:D5"` + - `row` - (optional) der nullbasierte Index der Zeile der Zelle + - `col` - (optional) der nullbasierte Index der Spalte der Zelle + - `val` - (optional) der neue Wert, den die Aktion anwendet, zum Beispiel ein Zellwert, ein Stil oder eine Größe + - `prev` - (optional) der vorherige Wert + - `groupAction` - (optional) der Name der Aktion, die anstelle von `action` ausgeführt wird, wenn `cell` ein Zellbereich ist, zum Beispiel `"groupAction"`, `"groupRowAction"` oder `"resizeCol"` + - `pageId` - (optional) die ID des Tabellenblatts + - `pageName` - (optional) der Name des Tabellenblatts + + Werden mehrere Aktionen gemeinsam ausgeführt, zum Beispiel beim Einfügen, lautet der Parameter `action` `"groupAction"`, und `config` ist ein Array solcher Objekte. ### Rückgabewert {#returns} @@ -30,7 +55,7 @@ Geben Sie `false` zurück, um die Ausführung einer Aktion zu verhindern; andern ### Beispiel {#example} ~~~jsx {6-11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(dataset); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md index 0fb013c5..d4020e93 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeClear title: beforeClear event -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über das beforeClear-Event. Durchsuchen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Verhindern Sie das Leeren von DHTMLX Spreadsheet mit dem veralteten Event beforeClear oder mit dem Event beforeAction und der Aktion clear, die es ersetzen. --- # beforeClear @@ -38,7 +38,7 @@ Geben Sie `false` zurück, um das Leeren einer Tabellenkalkulation zu verhindern ### Beispiel {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "beforeClear" event diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md index 93d441f9..57b2c376 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeEditEnd title: beforeEditEnd event -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über das beforeEditEnd-Event. Durchsuchen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Prüfen Sie mit dem Event beforeEditEnd den Wert einer Zelle, bevor die Bearbeitung in DHTMLX Spreadsheet endet, und geben Sie false zurück, um den Editor geöffnet zu lassen. --- # beforeEditEnd @@ -30,7 +30,7 @@ Geben Sie `true` zurück, um die Bearbeitung einer Zelle abzuschließen, `false` ### Beispiel {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // subscribe on the "beforeEditEnd" event diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md index bcec12a8..ec96026b 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeEditStart title: beforeEditStart event -description: Sie können im Dokumentationsbereich der DHTMLX JavaScript Spreadsheet-Bibliothek mehr über das beforeEditStart-Event erfahren. Lesen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Steuern Sie mit dem Event beforeEditStart, welche Zellen in DHTMLX Spreadsheet bearbeitet werden können, und geben Sie false zurück, um das Öffnen des Editors zu verhindern. --- # beforeEditStart @@ -30,7 +30,7 @@ Geben Sie `true` zurück, um eine Zelle zu bearbeiten, oder `false`, um die Bear ### Beispiel {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Event "beforeEditStart" abonnieren diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md index 28d7603d..ba1b3d79 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeFocusSet title: beforeFocusSet event -description: Sie können im Dokumentationsbereich der DHTMLX JavaScript Spreadsheet-Bibliothek mehr über das beforeFocusSet-Event erfahren. Lesen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Steuern Sie den Fokus in DHTMLX Spreadsheet mit dem Event beforeFocusSet. Es wird ausgelöst, bevor eine Zelle den Fokus erhält, und verhindert dies, wenn der Handler false zurückgibt. --- # beforeFocusSet @@ -29,7 +29,7 @@ Geben Sie `true` zurück, um den Fokus auf eine Zelle zu setzen, oder `false`, u ### Beispiel {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Event "beforeFocusSet" abonnieren diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md index 68e32abf..75df7b12 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeSelectionSet title: beforeSelectionSet event -description: Sie können im Dokumentationsbereich der DHTMLX JavaScript Spreadsheet-Bibliothek mehr über das beforeSelectionSet-Event erfahren. Lesen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Steuern Sie die Auswahl von Zellen in DHTMLX Spreadsheet mit dem Event beforeSelectionSet. Es wird ausgelöst, bevor Zellen ausgewählt werden, und verhindert dies, wenn der Handler false zurückgibt. --- # beforeSelectionSet @@ -29,7 +29,7 @@ Geben Sie `true` zurück, um Zellen auszuwählen, oder `false`, um die Auswahl v ### Beispiel {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Event "beforeSelectionSet" abonnieren diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md index 3ea81c2a..8b21a1bb 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeSheetChange title: beforeSheetChange event -description: Sie können im Dokumentationsbereich der DHTMLX JavaScript Spreadsheet-Bibliothek mehr über das beforeSheetChange-Event erfahren. Lesen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Steuern Sie den Wechsel von Tabellenblättern in DHTMLX Spreadsheet mit dem Event beforeSheetChange und geben Sie false zurück, um das aktuelle Tabellenblatt aktiv zu lassen. --- # beforeSheetChange @@ -29,7 +29,7 @@ Geben Sie `true` zurück, um das aktive Tabellenblatt zu wechseln, oder `false`, ### Beispiel {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Event "beforeSheetChange" abonnieren diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md index 7a5d98d5..50022a90 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md @@ -1,7 +1,7 @@ --- sidebar_label: clear() title: clear method -description: Sie können im Dokumentationsbereich der DHTMLX JavaScript Spreadsheet-Bibliothek mehr über die clear-Methode erfahren. Lesen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Entfernen Sie mit der Methode clear() alle Daten aus DHTMLX Spreadsheet. --- # clear() @@ -19,7 +19,7 @@ clear(): void; ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // leert eine Tabellenkalkulation diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md index 253d7632..fdd9f331 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md @@ -1,7 +1,7 @@ --- sidebar_label: colsCount title: colsCount config -description: Sie können im Dokumentationsbereich der DHTMLX JavaScript Spreadsheet-Bibliothek mehr über die colsCount-Konfiguration erfahren. Lesen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Legen Sie mit der Eigenschaft colsCount die Anzahl der Spalten fest, die DHTMLX Spreadsheet bei der Initialisierung anzeigt. --- # colsCount @@ -19,7 +19,7 @@ colsCount?: number; ### Beispiel {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { colsCount: 10, // andere Konfigurationsparameter }); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md index bbd09dd7..1fba1ecd 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: deleteColumn() title: deleteColumn method -description: Sie können im Dokumentationsbereich der DHTMLX JavaScript Spreadsheet-Bibliothek mehr über die deleteColumn-Methode erfahren. Lesen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Entfernen Sie mit der Methode deleteColumn() eine Spalte oder einen Spaltenbereich aus DHTMLX Spreadsheet, einschließlich aller Spalten einer verbundenen Zelle. --- # deleteColumn() @@ -11,7 +11,9 @@ description: Sie können im Dokumentationsbereich der DHTMLX JavaScript Spreadsh @short: Entfernt eine Spalte aus der Tabellenkalkulation :::info -Die Methode sucht die angegebene Zelle, markiert sie, entfernt die Spalte, in der sich die Zelle befindet, und verschiebt die Spalte links davon an deren Position. +Die Methode entfernt die Spalte, in der sich die angegebene Zelle befindet, und verschiebt die Spalten rechts davon nach links. + +Befindet sich die Zelle innerhalb einer verbundenen Zelle, entfernt die Methode jede Spalte, über die sich die verbundene Zelle erstreckt. ::: ### Verwendung {#usage} @@ -27,7 +29,7 @@ deleteColumn(cell: string): void; ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // entfernt die Spalte "G" @@ -35,7 +37,27 @@ spreadsheet.deleteColumn("G2"); ~~~ :::note -Sie können mehrere Spalten löschen, indem Sie einen Zellenbereich als Parameter der Methode angeben, zum Beispiel: "A1:C3". +Sie können mehrere Spalten löschen, indem Sie einen Zellenbereich als Parameter der Methode angeben, zum Beispiel: "A1:C3". Wenn der Bereich eine verbundene Zelle berührt, werden die Spalten der gesamten verbundenen Zelle gelöscht. Ein Bereich, der ganze Spalten abdeckt, zum Beispiel "B1:C100" in einem Tabellenblatt mit 100 Zeilen, wird unverändert gelöscht. ::: -**Verwandter Artikel:** [Arbeiten mit der Tabellenkalkulation](working_with_ssheet.md#addingremoving-rows-and-columns) +### Details {#details} + +Wird eine Spalte innerhalb einer verbundenen Zelle gelöscht, wird die gesamte verbundene Zelle mit allen ihren Spalten gelöscht: + +~~~jsx +spreadsheet.mergeCells("B2:D2"); + +// removes columns B, C and D +spreadsheet.deleteColumn("C2"); +~~~ + +Werden ganze Spalten gelöscht, wird eine verbundene Zelle, die sich über diese erstreckt, kleiner. Verbundene Zellen rechts von den gelöschten Spalten werden zusammen mit ihren Spalten nach links verschoben. Sind die gelöschten Spalten fixiert, verkleinert sich der fixierte Bereich um die Anzahl der gelöschten fixierten Spalten. + +Die Events [`beforeAction`](api/spreadsheet_beforeaction_event.md) und [`afterAction`](api/spreadsheet_afteraction_event.md) der Aktion `"deleteColumn"` erhalten die Zelle, die an die Methode übergeben wird, und nicht den Bereich der gelöschten Spalten. + +**Changelog:** Das Löschen aller Spalten einer verbundenen Zelle wurde in v6.0.4 hinzugefügt + +**Verwandte Artikel:** +- [Arbeiten mit Zeilen und Spalten](work_with_rows_cols.md#removing-columns) +- [Zellen verbinden](merge_cells.md#removing-rows-and-columns-of-merged-cells) +- [Arbeiten mit der Tabellenkalkulation](working_with_ssheet.md#addingremoving-rows-and-columns) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md index 397ca7ac..357b305a 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md @@ -1,7 +1,7 @@ --- sidebar_label: deleteRow() title: deleteRow method -description: Sie können im Dokumentationsbereich der DHTMLX JavaScript Spreadsheet-Bibliothek mehr über die deleteRow-Methode erfahren. Lesen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Entfernen Sie mit der Methode deleteRow() eine Zeile oder einen Zeilenbereich aus DHTMLX Spreadsheet, einschließlich aller Zeilen einer verbundenen Zelle. --- # deleteRow() @@ -11,7 +11,9 @@ description: Sie können im Dokumentationsbereich der DHTMLX JavaScript Spreadsh @short: Entfernt eine Zeile aus der Tabellenkalkulation :::info -Die Methode sucht die angegebene Zelle, markiert sie, entfernt die Zeile, in der sich die Zelle befindet, und verschiebt die darunter liegende Zeile an deren Position. +Die Methode entfernt die Zeile, in der sich die angegebene Zelle befindet, und verschiebt die darunter liegenden Zeilen nach oben. + +Befindet sich die Zelle innerhalb einer verbundenen Zelle, entfernt die Methode jede Zeile, über die sich die verbundene Zelle erstreckt. ::: ### Verwendung {#usage} @@ -27,7 +29,7 @@ deleteRow(cell: string): void; ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // entfernt die zweite Zeile @@ -35,7 +37,27 @@ spreadsheet.deleteRow("G2"); ~~~ :::note -Sie können mehrere Zeilen löschen, indem Sie einen Zellenbereich als Parameter der Methode angeben, zum Beispiel: "A1:C3". +Sie können mehrere Zeilen löschen, indem Sie einen Zellenbereich als Parameter der Methode angeben, zum Beispiel: "A1:C3". Wenn der Bereich eine verbundene Zelle berührt, werden die Zeilen der gesamten verbundenen Zelle gelöscht. Ein Bereich, der ganze Zeilen abdeckt, zum Beispiel "A2:Z3" in einem Tabellenblatt mit den Spalten A bis Z, wird unverändert gelöscht. ::: -**Verwandter Artikel:** [Arbeiten mit der Tabellenkalkulation](working_with_ssheet.md#addingremoving-rows-and-columns) +### Details {#details} + +Wird eine Zeile innerhalb einer verbundenen Zelle gelöscht, wird die gesamte verbundene Zelle mit allen ihren Zeilen gelöscht: + +~~~jsx +spreadsheet.mergeCells("B2:B4"); + +// removes rows 2, 3 and 4 +spreadsheet.deleteRow("B3"); +~~~ + +Werden ganze Zeilen gelöscht, wird eine verbundene Zelle, die sich über diese erstreckt, kleiner. Verbundene Zellen unterhalb der gelöschten Zeilen werden zusammen mit ihren Zeilen nach oben verschoben. Sind die gelöschten Zeilen fixiert, verkleinert sich der fixierte Bereich um die Anzahl der gelöschten fixierten Zeilen. + +Die Events [`beforeAction`](api/spreadsheet_beforeaction_event.md) und [`afterAction`](api/spreadsheet_afteraction_event.md) der Aktion `"deleteRow"` erhalten die Zelle, die an die Methode übergeben wird, und nicht den Bereich der gelöschten Zeilen. + +**Changelog:** Das Löschen aller Zeilen einer verbundenen Zelle wurde in v6.0.4 hinzugefügt + +**Verwandte Artikel:** +- [Arbeiten mit Zeilen und Spalten](work_with_rows_cols.md#removing-rows) +- [Zellen verbinden](merge_cells.md#removing-rows-and-columns-of-merged-cells) +- [Arbeiten mit der Tabellenkalkulation](working_with_ssheet.md#addingremoving-rows-and-columns) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md index 1f3ec2de..272abe33 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: eachCell() title: eachCell method -description: Sie können im Dokumentationsbereich der DHTMLX JavaScript Spreadsheet-Bibliothek mehr über die eachCell-Methode erfahren. Lesen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Durchlaufen Sie mit der Methode eachCell() einen Zellbereich oder die ausgewählten Zellen in DHTMLX Spreadsheet. Die Methode ruft für jede Zelle eine Funktion mit deren Namen und Wert auf. --- # eachCell() @@ -31,7 +31,7 @@ eachCell( ### Beispiel {#example} ~~~jsx {21-27} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // Konfigurationsparameter }); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md index 5bd02c3d..d67d2d28 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md @@ -1,7 +1,7 @@ --- sidebar_label: editLine title: editLine config -description: Sie können im Dokumentationsbereich der DHTMLX JavaScript Spreadsheet-Bibliothek mehr über die editLine-Konfiguration erfahren. Lesen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Blenden Sie die Bearbeitungsleiste von DHTMLX Spreadsheet mit der Eigenschaft editLine ein oder aus. Standardmäßig ist sie eingeblendet. --- # editLine @@ -25,7 +25,7 @@ editLine: true ### Beispiel {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { editLine: true, // andere Konfigurationsparameter }); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md index 3d482602..1b75a3de 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md @@ -1,7 +1,7 @@ --- sidebar_label: endEdit() title: endEdit-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die endEdit-Methode. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Beenden Sie mit der Methode endEdit() die Bearbeitung der ausgewählten Zelle in DHTMLX Spreadsheet. Die Methode schließt den Editor und speichert den eingegebenen Wert. --- # endEdit() @@ -19,7 +19,7 @@ endEdit(): void; ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // beendet die Bearbeitung in der ausgewählten Zelle diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md index 843dac66..1a4065af 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md @@ -1,7 +1,7 @@ --- sidebar_label: exportModulePath title: exportModulePath-Konfiguration -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die exportModulePath-Konfiguration. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Legen Sie mit der Eigenschaft exportModulePath den Pfad zur Datei worker.js des Export-Moduls JSON2Excel in DHTMLX Spreadsheet fest, zum Beispiel, um auf Ihrem eigenen Server nach Excel zu exportieren. --- # exportModulePath @@ -19,7 +19,7 @@ exportModulePath?: string; ### Beispiel {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { exportModulePath: "../libs/json2excel/x.x/worker.js?vx", // ein lokaler Pfad zur `worker.js`-Datei des Export-Moduls // weitere Konfigurationsparameter }); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md index 96180a38..3c5d06ef 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: fitColumn() title: fitColumn-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die fitColumn-Methode. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Passen Sie mit der Methode fitColumn() die Breite einer Spalte in DHTMLX Spreadsheet an ihren längsten Wert an. --- # fitColumn() @@ -24,7 +24,7 @@ fitColumn(cell: string): void; ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // passt die Breite der Spalte "G" an diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md index 15520688..08b7a181 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md @@ -1,7 +1,7 @@ --- sidebar_label: formats title: formats-Konfiguration -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die formats-Konfiguration. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Definieren Sie mit der Eigenschaft formats die in DHTMLX Spreadsheet verfügbaren Zahlenformate, ein Array von Objekten mit ID, Maske, Name und Beispiel jedes Formats. --- # formats @@ -50,7 +50,7 @@ defaultFormats = [ ### Beispiel {#example} ~~~jsx {2-19} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { formats: [ { name: "U.S. Dollar", diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md index 288f16ae..53c1ffbb 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: freezeCols() title: freezeCols-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die freezeCols-Methode. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Fixieren Sie Spalten in DHTMLX Spreadsheet mit der Methode freezeCols(). Sie fixiert die Spalten bis zur angegebenen oder ausgewählten Zelle, im aktuellen oder einem anderen Tabellenblatt. --- # freezeCols() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md index a47bbb53..ab0a1f8b 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: freezeRows() title: freezeRows-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die freezeRows-Methode. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Fixieren Sie Zeilen in DHTMLX Spreadsheet mit der Methode freezeRows(). Sie fixiert die Zeilen bis zur angegebenen oder ausgewählten Zelle, im aktuellen oder einem anderen Tabellenblatt. --- # freezeRows() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md index 5b35c388..77e821d9 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFilter() title: getFilter-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die getFilter-Methode. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Rufen Sie mit der Methode getFilter() die Filterkriterien eines Tabellenblatts in DHTMLX Spreadsheet ab. Sie gibt den gefilterten Zellbereich und die Filterregeln zurück. --- # getFilter() @@ -30,7 +30,7 @@ Die Methode gibt ein Objekt mit Filterkriterien zurück. Das Objekt enthält zwe ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // gibt die Filterkriterien für das aktuelle Tabellenblatt zurück diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md index 66979e44..4b9043ea 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFormat() title: getFormat-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die getFormat-Methode. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Rufen Sie mit der Methode getFormat() das Zahlenformat ab, das auf den Wert einer Zelle oder eines Zellbereichs in DHTMLX Spreadsheet angewendet ist. --- # getFormat() @@ -27,7 +27,7 @@ Die Methode gibt das bzw. die Format(e) zurück, das bzw. die auf den Wert der Z ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // gibt "currency" zurück diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md index adfbced2..08ce3895 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFormula() title: getFormula-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die getFormula-Methode. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Rufen Sie mit der Methode getFormula() die Formel einer Zelle in DHTMLX Spreadsheet ab, auch einer Zelle auf einem anderen Tabellenblatt. --- # getFormula() @@ -27,7 +27,7 @@ Die Methode gibt die Formel der Zelle zurück ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // gibt "ABS(C2)" zurück diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md index ddb1bbb2..1cc6a45e 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getStyle() title: getStyle-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die getStyle-Methode. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Rufen Sie mit der Methode getStyle() die Stile ab, die auf eine Zelle oder einen Zellbereich in DHTMLX Spreadsheet angewendet sind. --- # getStyle() @@ -27,7 +27,7 @@ Die Methode gibt die für die Zellen festgelegten Stile zurück ### Beispiel {#example} ~~~jsx {5,9,12} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Stil einer einzelnen Zelle abrufen diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md index 7250480f..cf64b31b 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getValue() title: getValue method -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die getValue-Methode. Lesen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Rufen Sie mit der Methode getValue() den Wert einer Zelle oder die Werte eines Zellbereichs in DHTMLX Spreadsheet ab. --- # getValue() @@ -27,7 +27,7 @@ Die Methode gibt die Werte der Zellen zurück ### Beispiel {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Wert einer einzelnen Zelle zurückgeben diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md index da32c43d..392750e5 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md @@ -1,7 +1,7 @@ --- sidebar_label: groupFill title: groupFill event -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über das groupFill-Event. Lesen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Verarbeiten Sie das automatische Ausfüllen von Zellen in DHTMLX Spreadsheet mit dem Event groupFill, das die fokussierte Zelle und die ausgewählten Zellen an den Callback übergibt. --- # groupFill @@ -26,7 +26,7 @@ Der Callback des Events nimmt folgende Parameter entgegen: ### Beispiel {#example} ~~~jsx {5-7} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Das "groupFill"-Event abonnieren diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md index d8dfbfae..27685460 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideCols() title: hideCols method -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die hideCols-Methode. Lesen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Blenden Sie mit der Methode hideCols() eine oder mehrere Spalten in DHTMLX Spreadsheet aus, anhand der ID einer Zelle, eines Zellbereichs oder der ausgewählten Zelle. --- # hideCols() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md index 8dc60853..366a8721 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideRows() title: hideRows method -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die hideRows-Methode. Lesen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Blenden Sie mit der Methode hideRows() eine oder mehrere Zeilen in DHTMLX Spreadsheet aus, anhand der ID einer Zelle, eines Zellbereichs oder der ausgewählten Zelle. --- # hideRows() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md index b5acbd54..b7176624 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideSearch() title: hideSearch method -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die hideSearch-Methode. Lesen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Blenden Sie die Suchleiste von DHTMLX Spreadsheet mit der Methode hideSearch() aus, zum Beispiel nach einer mit der Methode search() geöffneten Suche. --- # hideSearch() @@ -19,7 +19,7 @@ hideSearch(): void; ### Beispiel {#example} ~~~jsx {5,8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Öffnet eine Suchleiste und hebt die gefundenen Zellen hervor diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md index 8fe4a494..afdab749 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md @@ -1,7 +1,7 @@ --- sidebar_label: importModulePath title: importModulePath config -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die importModulePath-Konfiguration. Lesen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Legen Sie mit der Eigenschaft importModulePath den Pfad zur Datei worker.js der Bibliothek Excel2json fest, mit der DHTMLX Spreadsheet Excel-Dateien importiert. --- # importModulePath @@ -19,7 +19,7 @@ importModulePath?: string; ### Beispiel {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { importModulePath: "../libs/excel2json/1.0/worker.js", // weitere Konfigurationsparameter }); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md index 502a639a..fabc9f95 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md @@ -1,7 +1,7 @@ --- sidebar_label: insertLink() title: insertLink method -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die insertLink-Methode. Lesen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Fügen Sie mit der Methode insertLink() einen Hyperlink in eine Zelle von DHTMLX Spreadsheet ein, oder entfernen Sie den Hyperlink und behalten Sie den Text der Zelle bei. --- # insertLink() @@ -36,7 +36,7 @@ Um einen Hyperlink zu entfernen, aber den Text beizubehalten, rufen Sie die Meth ### Beispiel {#example} ~~~jsx {5-7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Einen Link in Zelle "A2" einfügen diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md index 4bcf97b3..3a08475c 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md @@ -1,7 +1,7 @@ --- sidebar_label: isLocked() title: isLocked method -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die isLocked-Methode. Lesen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Prüfen Sie mit der Methode isLocked(), ob eine Zelle oder eine beliebige Zelle eines Bereichs in DHTMLX Spreadsheet gesperrt ist. --- # isLocked() @@ -27,7 +27,7 @@ Die Methode gibt `true` zurück, wenn die Zelle gesperrt ist, und `false`, wenn ### Beispiel {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Prüft, ob eine Zelle gesperrt ist diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md index f89e66f4..6d732e0e 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md @@ -1,7 +1,7 @@ --- sidebar_label: load() title: load method -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die load-Methode. Lesen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Laden Sie mit der Methode load() Daten aus einer externen JSON-, CSV- oder XLSX-Datei in DHTMLX Spreadsheet. Die Methode gibt ein Promise zurück. --- # load() @@ -28,7 +28,7 @@ Die Methode gibt ein Promise des Datenladevorgangs zurück ### Beispiel {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Daten im JSON-Format laden (Standard) @@ -84,7 +84,7 @@ Sie können Benutzern ermöglichen, eine JSON-Datei über den Datei-Explorer in - Rufen Sie die Methode `load()` mit zwei Parametern auf: einem leeren String als URL und dem Typ der zu ladenden Daten ("json"): ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { menu: true, }); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md index 6fa21c39..dbfe2801 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md @@ -1,7 +1,7 @@ --- sidebar_label: localization title: localization config -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die localization-Konfiguration. Lesen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Legen Sie mit der Eigenschaft localization das Dezimal- und das Tausendertrennzeichen, das Währungszeichen sowie das Datums- und Zeitformat von DHTMLX Spreadsheet fest. --- # localization @@ -41,7 +41,7 @@ const defaultLocales = { ### Beispiel {#example} ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { localization: { decimal: ",", thousands: " ", diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md index e2abaaa9..6ba73b6f 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md @@ -1,7 +1,7 @@ --- sidebar_label: lock() title: lock-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die lock-Methode. Lesen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Sperren Sie mit der Methode lock() eine Zelle, einen Zellbereich oder mehrere Zellen in DHTMLX Spreadsheet, damit Benutzer sie nicht bearbeiten können. --- # lock() @@ -23,7 +23,7 @@ lock(cell: string): void; ### Beispiel {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // sperrt eine Zelle diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md index d551152d..c8d23f64 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md @@ -1,7 +1,7 @@ --- sidebar_label: menu title: menu-Konfiguration -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die menu-Konfiguration. Lesen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Blenden Sie das Menü von DHTMLX Spreadsheet mit der Eigenschaft menu ein oder aus. --- # menu @@ -25,7 +25,7 @@ menu: true ### Beispiel {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { menu: false, // other config parameters }); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md index 6804a2dd..897a42b5 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md @@ -1,7 +1,7 @@ --- sidebar_label: mergeCells() title: mergeCells-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die mergeCells-Methode. Lesen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Verbinden Sie mit der Methode mergeCells() einen Zellbereich zu einer Zelle oder teilen Sie verbundene Zellen in DHTMLX Spreadsheet. --- # mergeCells() @@ -29,7 +29,7 @@ mergeCells( ### Beispiel {#example} ~~~jsx {5,8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Zellen A3, A4 und A5 zusammenführen diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md index 12b5fa45..688453be 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md @@ -1,7 +1,7 @@ --- sidebar_label: multiSheets title: multiSheets-Konfiguration -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die multiSheets-Konfiguration. Lesen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Aktivieren oder deaktivieren Sie mit der Eigenschaft multiSheets die Arbeit mit mehreren Tabellenblättern in DHTMLX Spreadsheet. Sie blendet die untere Leiste mit den Tabellenblatt-Tabs ein oder aus. --- # multiSheets @@ -25,7 +25,7 @@ multiSheets: true ### Beispiel {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { multiSheets: false, // other config parameters }); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md index 64499ab6..975147b5 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md @@ -1,7 +1,7 @@ --- sidebar_label: parse() title: parse-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die parse-Methode. Lesen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Laden Sie mit der Methode parse() Daten aus einer lokalen Datenquelle in DHTMLX Spreadsheet, einschließlich Zellwerten, Stilen, Formaten, Editoren, Links und mehreren Tabellenblättern. --- # parse() @@ -167,7 +167,7 @@ const data = [ // weitere Daten ]; -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); ~~~ @@ -246,7 +246,7 @@ const styledData = { ], }; -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(styledData); ~~~ diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md index 24c7aa68..e101c93b 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md @@ -1,7 +1,7 @@ --- sidebar_label: readonly title: readonly-Konfiguration -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die readonly-Konfiguration. Lesen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Aktivieren Sie den Nur-Lesen-Modus in DHTMLX Spreadsheet mit der Eigenschaft readonly. Er blockiert Datenänderungen, behält aber Tastaturnavigation, Auswahl, Kopieren und Suche bei. --- # readonly @@ -25,15 +25,47 @@ readonly: false ### Beispiel {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { readonly: true, // other config parameters }); ~~~ +### Details {#details} + +Im Nur-Lesen-Modus sind die Symbolleiste, das Menü und die Formelleiste ausgeblendet, und das Kontextmenü sowie das Symbol des Spaltenmenüs sind nicht verfügbar. Die Tabellenblatt-Tabs bleiben erhalten, jedoch ohne die Schaltfläche zum Hinzufügen eines Tabellenblatts, das Kontextmenü der Tabellenblätter und das Umbenennen per Doppelklick. + +Benutzer können die Daten weiterhin lesen und kopieren: + +- die Zelle A1 ist nach dem Laden der Daten aktiv +- die Zellen können per Tastatur navigiert und per Maus ausgewählt werden, und die Auswahl-Events werden bei diesen Aktionen ausgelöst +- die Zellen können mit `Ctrl (Cmd) + C` kopiert und mit `Ctrl (Cmd) + F` durchsucht werden +- die Tabellenblätter können in den Tabellenblatt-Tabs und per Tastatur gewechselt werden +- die Links in Zellen können geöffnet werden, aber die Schaltflächen zum Bearbeiten und Entfernen eines Links sind im Link-Popup deaktiviert + +Änderungen der Daten werden abgelehnt: + +- Eingaben, Bearbeitungstasten, Ausschneiden und Einfügen, Rückgängig und Wiederholen sowie die Tastenkombinationen zum Formatieren von Zellen, Einfügen eines Links, Hinzufügen eines Tabellenblatts oder Einblenden ausgeblendeter Zeilen und Spalten werden ignoriert, und Screenreader kündigen "The sheet is read-only" an +- die Methoden, die Daten bearbeiten, zum Beispiel [`setValue()`](api/spreadsheet_setvalue_method.md), [`setStyle()`](api/spreadsheet_setstyle_method.md) und [`deleteRow()`](api/spreadsheet_deleterow_method.md), sowie die Methode [`startEdit()`](api/spreadsheet_startedit_method.md) werden ignoriert. Die Methoden [`parse()`](api/spreadsheet_parse_method.md) und [`load()`](api/spreadsheet_load_method.md) laden weiterhin Daten +- der Fill-Handle ist ausgeblendet +- die Spalten und Zeilen können nicht durch Ziehen ihrer Ränder in der Größe geändert werden, und ein Doppelklick auf einen Spaltenrand passt die Spaltenbreite nicht an die Daten an + +Um auch die Tastaturnavigation und die Auswahl zu deaktivieren, setzen Sie die Option [`selection`](api/spreadsheet_selection_config.md) auf `false`. In diesem Fall hat die Tabellenkalkulation keine aktive Zelle, und die Zellen können weder per Maus, Tastatur noch API ausgewählt werden: + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, + // other config parameters +}); +~~~ + +**Changelog:** Die Tastaturnavigation, die Auswahl, das Kopieren und die Suche im Nur-Lesen-Modus wurden in v6.0.4 hinzugefügt + **Verwandte Artikel:** - [Konfiguration](configuration.md#read-only-mode) - [Anpassung](customization.md#custom-read-only-mode) +- [Barrierefreiheit: Einrichtung für den Nur-Lesen-Modus](accessibility.md#read-only-setup) **Verwandtes Beispiel:** [Spreadsheet. Nur-Lesen](https://snippet.dhtmlx.com/2w959gx2) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md index 01ecddd6..105f4225 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md @@ -1,7 +1,7 @@ --- sidebar_label: redo() title: redo-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die redo-Methode. Lesen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Wenden Sie mit der Methode redo() eine rückgängig gemachte Aktion in DHTMLX Spreadsheet erneut an. --- # redo() @@ -19,7 +19,7 @@ redo(): void; ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // wendet die rückgängig gemachte Aktion erneut an diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md index 48311a17..6456e7e2 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md @@ -1,7 +1,7 @@ --- sidebar_label: rowsCount title: rowsCount-Konfiguration -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die rowsCount-Konfiguration. Lesen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Legen Sie mit der Eigenschaft rowsCount die Anzahl der Zeilen fest, die DHTMLX Spreadsheet bei der Initialisierung anzeigt. --- # rowsCount @@ -19,7 +19,7 @@ rowsCount?: number; ### Beispiel {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { rowsCount: 10, // other config parameters }); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md index 350ae828..85269d59 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md @@ -1,7 +1,7 @@ --- sidebar_label: search() title: search-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die search-Methode. Lesen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Suchen Sie mit der Methode search() nach Zellen mit einem Wert in DHTMLX Spreadsheet. Die Methode gibt die IDs der gefundenen Zellen zurück und kann die Suchleiste mit hervorgehobenen Treffern öffnen. --- # search() @@ -35,7 +35,7 @@ Die Methode gibt ein Array mit den IDs der gefundenen Zellen zurück ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // gibt IDs der Zellen mit übereinstimmendem Ergebnis zurück, öffnet die Suchleiste und hebt die gefundenen Zellen hervor diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_selection_config.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_selection_config.md new file mode 100644 index 00000000..c7875c53 --- /dev/null +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_selection_config.md @@ -0,0 +1,63 @@ +--- +sidebar_label: selection +title: selection Konfiguration +description: Schalten Sie die Zellauswahl in DHTMLX Spreadsheet mit der Eigenschaft selection aus, allein oder zusammen mit dem schreibgeschützten Modus, um die Daten ohne aktive Zelle anzuzeigen. +--- + +# selection + +### Beschreibung {#description} + +@short: Optional. Aktiviert/deaktiviert die Zellauswahl + +### Verwendung {#usage} + +~~~jsx +selection?: boolean; +~~~ + +### Standardkonfiguration {#default-config} + +~~~jsx +selection: true +~~~ + +### Beispiel {#example} + +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // other config parameters +}); +~~~ + +### Details {#details} + +Wenn die Eigenschaft auf `false` gesetzt ist: + +- hat das Spreadsheet keine aktive Zelle +- können Zellen weder mit der Maus, der Tastatur noch der API ausgewählt werden: Die Methoden [`setSelectedCell()`](api/selection_setselectedcell_method.md) und [`setFocusedCell()`](api/selection_setfocusedcell_method.md) werden ignoriert, und die Methoden [`getSelectedCell()`](api/selection_getselectedcell_method.md) und [`getFocusedCell()`](api/selection_getfocusedcell_method.md) geben `undefined` zurück +- können Zellen nicht über die Oberfläche bearbeitet werden: Die Formelleiste ist gesperrt, der Ausfüllgriff ist ausgeblendet, und die Methode [`startEdit()`](api/spreadsheet_startedit_method.md) wird ignoriert +- sind das Kontextmenü und das Spaltenmenü-Symbol nicht verfügbar +- hält `Tab` einmal auf dem Grid an und verschiebt den Fokus weiter, und `Ctrl + F6` überspringt das Grid + +Die Spalten und Zeilen lassen sich weiterhin durch Ziehen ihrer Ränder in der Größe ändern, und die Daten können weiterhin über die API geändert werden, zum Beispiel mit der Methode [`setValue()`](api/spreadsheet_setvalue_method.md). + +In Kombination mit der Eigenschaft [`readonly`](api/spreadsheet_readonly_config.md) schaltet die Option die Tastaturnavigation und die Auswahl aus, die im schreibgeschützten Modus verfügbar sind: + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, + // other config parameters +}); +~~~ + +Um die Auswahl zur Laufzeit aus- und einzuschalten, verwenden Sie die Methoden [`selection.disable()`](api/selection_disable_method.md) und [`selection.enable()`](api/selection_enable_method.md). + +**Changelog:** Hinzugefügt in v6.0.4 + +**Verwandte Artikel:** +- [Auswahl von Zellen](configuration.md#selection-of-cells) +- [Schreibgeschützter Modus](configuration.md#read-only-mode) +- [Barrierefreiheit: Einrichtung für den schreibgeschützten Modus](accessibility.md#read-only-setup) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md index 858c017f..41753b2f 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md @@ -1,7 +1,7 @@ --- sidebar_label: serialize() title: serialize-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die serialize-Methode. Lesen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Speichern Sie die Daten von DHTMLX Spreadsheet mit der Methode serialize() in einem JSON-Objekt, das die Tabellenblätter, die Zellwerte, die Stile und die Zahlenformate enthält. --- # serialize() @@ -94,7 +94,7 @@ Beachten Sie: ### Beispiel {#example} ~~~jsx {4} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); const state = spreadsheet.serialize(); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md index 9047accd..27ea48a4 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFilter() title: setFilter-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die setFilter-Methode. Entwicklerhandbücher und API-Referenz, Code-Beispiele, Live-Demos und eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet. +description: Filtern Sie mit der Methode setFilter() die Daten einer Spalte in DHTMLX Spreadsheet nach Bedingungen oder ausgeschlossenen Werten, oder setzen Sie die Filterung zurück. --- # setFilter() @@ -44,7 +44,7 @@ Um die Filterung zurückzusetzen, rufen Sie die Methode ohne Parameter auf oder ### Beispiel {#example} ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Daten nach einer für Spalte A angegebenen Bedingung filtern diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md index 08eee0da..c3147d41 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFormat() title: setFormat-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die setFormat-Methode. Entwicklerhandbücher und API-Referenz, Code-Beispiele, Live-Demos und eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet. +description: Wenden Sie mit der Methode setFormat() ein Zahlenformat auf den Wert einer Zelle oder eines Zellbereichs in DHTMLX Spreadsheet an. --- # setFormat() @@ -24,7 +24,7 @@ setFormat(cell: string, format: string | array): void; ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // wendet das Währungsformat auf die Zelle A1 an diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md index 5f277a4b..43139858 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setStyle() title: setStyle-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die setStyle-Methode. Entwicklerhandbücher und API-Referenz, Code-Beispiele, Live-Demos und eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet. +description: Wenden Sie mit der Methode setStyle() denselben Stil auf eine Zelle, mehrere Zellen oder einen Zellbereich in DHTMLX Spreadsheet an und übergeben Sie die Stile als Objekt oder Array. --- # setStyle() @@ -28,7 +28,7 @@ setStyle(cell: string, styles: array | object): void; ### Beispiel {#example} ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Stil für eine einzelne Zelle setzen diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md index a082ea66..39053c5f 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setValidation() title: setValidation-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die setValidation-Methode. Entwicklerhandbücher und API-Referenz, Code-Beispiele, Live-Demos und eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet. +description: Fügen Sie Zellen in DHTMLX Spreadsheet mit der Methode setValidation() eine Dropdown-Liste mit Werten aus einem Zellbereich oder einem Array hinzu oder entfernen Sie die Validierung. --- # setValidation() @@ -29,7 +29,7 @@ setValidation( ### Beispiel {#example} ~~~jsx {8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // Konfigurationsparameter }); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md index e318414d..bfdead93 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setValue() title: setValue-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die setValue-Methode. Entwicklerhandbücher und API-Referenz, Code-Beispiele, Live-Demos und eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet. +description: Setzen Sie mit der Methode setValue() einen Wert für eine Zelle, mehrere Zellen oder einen Zellbereich in DHTMLX Spreadsheet und übergeben Sie einen einzelnen Wert oder ein Array von Werten, das über die Zellen wiederholt wird. --- # setValue() @@ -28,7 +28,7 @@ setValue(cell: string, value: string | number | array): void; ### Beispiel {#example} ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // Wert für eine einzelne Zelle setzen diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md index ac1bff25..85005834 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: showCols() title: showCols-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die showCols-Methode. Entwicklerhandbücher und API-Referenz, Code-Beispiele, Live-Demos und eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet. +description: Blenden Sie mit der Methode showCols() ausgeblendete Spalten in DHTMLX Spreadsheet wieder ein, bestimmt durch die Spalte der übergebenen oder der ausgewählten Zelle. --- # showCols() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md index 84d9ce74..19b8b517 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: showRows() title: showRows-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die showRows-Methode. Entwicklerhandbücher und API-Referenz, Code-Beispiele, Live-Demos und eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet. +description: Blenden Sie mit der Methode showRows() ausgeblendete Zeilen in DHTMLX Spreadsheet wieder ein, bestimmt durch die Zeile der übergebenen oder der ausgewählten Zelle. --- # showRows() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md index c1f077b3..11e180aa 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md @@ -1,7 +1,7 @@ --- sidebar_label: sortCells() title: sortCells-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die sortCells-Methode. Entwicklerhandbücher und API-Referenz, Code-Beispiele, Live-Demos und eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet. +description: Sortieren Sie die Daten in DHTMLX Spreadsheet mit der Methode sortCells() auf- oder absteigend nach einer Spalte oder einem Zellbereich. --- # sortCells() @@ -26,7 +26,7 @@ sortCells(cell: string, dir: number): void; ### Beispiel {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // Konfigurationsparameter }); spreadsheet.parse(data); diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md index 2de68aaa..cc10c268 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md @@ -1,7 +1,7 @@ --- sidebar_label: startEdit() title: startEdit-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die startEdit-Methode. Entwicklerhandbücher und API-Referenz, Code-Beispiele, Live-Demos und eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet. +description: Starten Sie mit der Methode startEdit() die Bearbeitung der übergebenen oder der ausgewählten Zelle in DHTMLX Spreadsheet, optional mit einem Anfangswert. --- # startEdit() @@ -28,11 +28,17 @@ startEdit(cell?: string, initialValue?: string): void; ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // startet die Bearbeitung der aktuell ausgewählten Zelle spreadsheet.startEdit(); ~~~ +### Details {#details} + +Die Eingabe in der aktiven Zelle startet die Bearbeitung über diese Methode. Text, der mit einem Input Method Editor (IME) verfasst wird, wird nach Abschluss der Komposition als `initialValue` übergeben. Somit erhalten die Events [`beforeEditStart`](api/spreadsheet_beforeeditstart_event.md) und [`afterEditStart`](api/spreadsheet_aftereditstart_event.md) den eingegebenen bzw. verfassten Text, und `beforeEditStart` kann die Bearbeitung abbrechen. + +**Changelog:** Das Starten der Bearbeitung mit dem per IME verfassten Text wurde in v6.0.4 hinzugefügt + **Verwandter Artikel:** [Mit dem Spreadsheet arbeiten](working_with_cells.md#editing-a-cell) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md index b0ae04f4..905df430 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md @@ -1,7 +1,7 @@ --- sidebar_label: toolbarBlocks title: toolbarBlocks-Konfiguration -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die toolbarBlocks-Konfiguration. Entwicklerhandbücher und API-Referenz, Code-Beispiele, Live-Demos und eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet. +description: Legen Sie mit der Eigenschaft toolbarBlocks fest, welche Schaltflächenblöcke die Toolbar von DHTMLX Spreadsheet anzeigt, etwa undo, colors, font, align und format. --- # toolbarBlocks diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md index 3d37b6ec..7485394e 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md @@ -1,7 +1,7 @@ --- sidebar_label: undo() title: undo-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die undo-Methode. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Machen Sie mit der Methode undo() die letzte Aktion in DHTMLX Spreadsheet rückgängig und stellen Sie sie mit der Methode redo() wieder her. --- # undo() @@ -19,7 +19,7 @@ undo(): void; ### Beispiel {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // führt einen Schritt zurück aus diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md index a767073d..306a2c32 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unfreezeCols() title: unfreezeCols-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die unfreezeCols-Methode. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Geben Sie mit der Methode unfreezeCols() die fixierten Spalten in DHTMLX Spreadsheet frei, sodass sie wieder mit dem restlichen Grid scrollen. --- # unfreezeCols() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md index 9cde3318..c4bb21af 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unfreezeRows() title: unfreezeRows-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die unfreezeRows-Methode. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Geben Sie mit der Methode unfreezeRows() die fixierten Zeilen in DHTMLX Spreadsheet frei, sodass sie wieder mit dem restlichen Grid scrollen. --- # unfreezeRows() diff --git a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md index ae8b52d9..cf081b9e 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unlock() title: unlock-Methode -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die unlock-Methode. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Entsperren Sie mit der Methode unlock() eine gesperrte Zelle, mehrere Zellen oder einen Zellbereich in DHTMLX Spreadsheet, damit Benutzer sie wieder bearbeiten können. --- # unlock() @@ -23,7 +23,7 @@ unlock(cell: string): void; ### Beispiel {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // entsperrt eine Zelle diff --git a/i18n/de/docusaurus-plugin-content-docs/current/awaitredraw.md b/i18n/de/docusaurus-plugin-content-docs/current/awaitredraw.md index 616564b7..ed5b5ffa 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/awaitredraw.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/awaitredraw.md @@ -1,7 +1,7 @@ --- sidebar_label: AwaitRedraw-Helfer title: AwaitRedraw-Helfer -description: Sie können den AwaitRedraw-Helfer in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erkunden. Durchsuchen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Führen Sie mit dem Helfer dhx.awaitRedraw Code aus, nachdem DHTMLX Spreadsheet das Rendern abgeschlossen hat, etwa für API-Methoden, die erst wirken, wenn die Komponente auf der Seite ist. --- # AwaitRedraw-Helfer {#awaitredraw-helper} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/configuration.md b/i18n/de/docusaurus-plugin-content-docs/current/configuration.md index 6e6faf6d..d3a0b8b1 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/configuration.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/configuration.md @@ -1,7 +1,7 @@ --- sidebar_label: Konfiguration title: Konfiguration -description: In der Dokumentation erfahren Sie alles über die Konfiguration der DHTMLX JavaScript Spreadsheet-Bibliothek. Lesen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: DHTMLX Spreadsheet konfigurieren. Symbolleiste, Bearbeitungsleiste, Menü, Anzahl der Zeilen und Spalten, schreibgeschützter Modus, Zellauswahl und Zahlenformate einrichten. --- # Konfiguration {#configuration} @@ -48,10 +48,43 @@ Das Menü des Spreadsheets ist standardmäßig ausgeblendet. Sie können es übe Sie können auch den schreibgeschützten Modus aktivieren, um die Bearbeitung von Spreadsheet-Zellen über die Konfigurationsoption [`readonly`](api/spreadsheet_readonly_config.md) zu verhindern. +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, +}); +~~~ + +Im schreibgeschützten Modus sind die Symbolleiste, das Menü und die Formelleiste ausgeblendet. Nutzer können mit der Tastatur zwischen den Zellen navigieren, Zellen mit der Maus auswählen, kopieren und durchsuchen. Änderungen werden abgelehnt und Screenreadern mit der Meldung "The sheet is read-only" angekündigt. Das Ausfüllkästchen (Fill Handle) ist ausgeblendet. Details finden Sie im Artikel zu [`readonly`](api/spreadsheet_readonly_config.md#details). Wie Tastatur- und Screenreader-Nutzer mit einem schreibgeschützten Spreadsheet arbeiten, erfahren Sie im Abschnitt [Read-only setup](accessibility.md#read-only-setup) des Accessibility-Leitfadens. + +Um die Tastaturnavigation und die Auswahl im schreibgeschützten Modus auszuschalten, setzen Sie die Option [`selection`](api/spreadsheet_selection_config.md) auf `false`: + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, +}); +~~~ + Sie können auch das [schreibgeschützte Verhalten des Spreadsheets anpassen](customization.md#custom-read-only-mode). +## Zellauswahl {#selection-of-cells} + +Standardmäßig können Nutzer Zellen mit der Maus und der Tastatur auswählen, und das Spreadsheet hat eine aktive Zelle. Um die Auswahl auszuschalten, setzen Sie die Konfigurationsoption [`selection`](api/spreadsheet_selection_config.md) auf `false`: + +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, +}); +~~~ + +In diesem Fall hat das Spreadsheet keine aktive Zelle, die Zellen können über die Oberfläche weder ausgewählt noch bearbeitet werden, und das Kontextmenü ist nicht verfügbar. + +Um die Auswahl zur Laufzeit aus- und einzuschalten, verwenden Sie die Methoden [`selection.disable()`](api/selection_disable_method.md) und [`selection.enable()`](api/selection_enable_method.md). Mit der Methode [`selection.isDisabled()`](api/selection_isdisabled_method.md) prüfen Sie, ob die Auswahl ausgeschaltet ist. + +Ohne Auswahl wird das Raster zu einem einzigen Tabstopp, den die Tastatur durchläuft. Siehe den Abschnitt [Read-only setup](accessibility.md#read-only-setup) des Accessibility-Leitfadens. + ## Benutzerdefinierte Zahlenformate für Zellen {#custom-number-formats-for-cells} Sie können 7 Standardformate auf Zellwerte anwenden: "Common", "Number", "Percent", "Currency", "Date", "Time", "Text". diff --git a/i18n/de/docusaurus-plugin-content-docs/current/customization.md b/i18n/de/docusaurus-plugin-content-docs/current/customization.md index 40d8a5f1..38cbfe1b 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/customization.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/customization.md @@ -1,7 +1,7 @@ --- sidebar_label: Anpassung title: Anpassung -description: Sie erfahren in der Dokumentation, wie Sie die DHTMLX JavaScript Spreadsheet-Bibliothek anpassen. Durchsuchen Sie Entwicklerleitfaden und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus, und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: DHTMLX Spreadsheet anpassen. Icons ändern sowie Controls der Symbolleiste, des Menüs und des Kontextmenüs hinzufügen, aktualisieren und löschen oder einen benutzerdefinierten schreibgeschützten Modus erstellen. --- # Anpassung {#customization} @@ -31,6 +31,8 @@ Anschließend können Sie den Namen des Icons als Wert der Eigenschaft `icon` im Sie können die folgenden Control-Typen hinzufügen: `button`, `menuItem`, `separator` und `spacer`. +Wie die anderen Controls der [Standard-Toolbar](#default-controls) sind auch die Controls *Textfarbe* und *Hintergrundfarbe* sowie das Control *Rahmenfarbe* im Popup *Rahmen* vom Typ [`navItem`](https://docs.dhtmlx.com/suite/toolbar/navitem/). Sie zeichnen die aktuelle Farbe über die Eigenschaft [`html`](https://docs.dhtmlx.com/suite/toolbar/api/api_navitem_properties/), beziehen ihren zugänglichen Namen aus der Eigenschaft [`value`](https://docs.dhtmlx.com/suite/toolbar/api/api_navitem_properties/), zum Beispiel "Text color: dark gray", und öffnen ein Farb-Popup. Spreadsheet aktualisiert beide Eigenschaften der Controls *Textfarbe* und *Hintergrundfarbe*, wenn sich die aktive Zelle ändert, und des Controls *Rahmenfarbe*, wenn eine Rahmenfarbe gewählt wird. + Das `button`-Objekt hat folgende Eigenschaften: - `type` - der Typ eines Buttons, setzen Sie diesen auf "button" @@ -51,7 +53,7 @@ Das `menuItem`-Objekt hat folgende Eigenschaften: - `value` - der Wert eines Menüeintrags - `childs` - ein Array von untergeordneten Controls (beachten Sie, dass alle untergeordneten Elemente den Typ `menuItem` haben müssen) -Die Datensammlungs-API der **Toolbar**, des **Menüs** und des **Kontextmenüs** ermöglicht Ihnen die Verwaltung von Controls: Sie können benutzerdefinierte Controls hinzufügen, nicht benötigte entfernen oder vorhandene aktualisieren - beispielsweise deren Icons ändern. +Die Datensammlungs-API der **Toolbar**, des **Menüs** und des **Kontextmenüs** ermöglicht Ihnen die Verwaltung von Controls: Sie können benutzerdefinierte Controls hinzufügen, nicht benötigte entfernen oder vorhandene aktualisieren, beispielsweise deren Icons ändern. ### Controls hinzufügen {#adding-controls} @@ -379,7 +381,8 @@ Das [Standard-Kontextmenü](/#context-menu) hat folgende Struktur: - das **Spalten**-menuItem (id: "columns") - das *Spalte hinzufügen*-menuItem (id: "add-col") - das *Spalte entfernen*-menuItem (id: "remove-col") - - das *An Daten anpassen*-menuItem (id: "fit-col") + - das *An Daten anpassen*-menuItem (id: "fit-col"), angezeigt im Spaltenmenü und bei Auswahl ganzer Spalten + - das *Spaltenbreite*-menuItem (id: "col-width") - der Trenner - das *Spalten einblenden*-menuItem (id: "unfreeze-cols") - das *Bis Spalte [id] fixieren*-menuItem (id: "freeze-cols") @@ -388,6 +391,7 @@ Das [Standard-Kontextmenü](/#context-menu) hat folgende Struktur: - das **Zeilen**-menuItem (id: "rows") - das *Zeile hinzufügen*-menuItem (id: "add-row") - das *Zeile entfernen*-menuItem (id: "remove-row") + - das *Zeilenhöhe*-menuItem (id: "row-height") - der Trenner - das *Zeilen einblenden*-menuItem (id: "unfreeze-rows") - das *Bis Zeile [id] fixieren*-menuItem (id: "freeze-rows") @@ -397,6 +401,7 @@ Das [Standard-Kontextmenü](/#context-menu) hat folgende Struktur: - das *A bis Z sortieren*-menuItem (id: "asc-sort") - das *Z bis A sortieren*-menuItem (id: "desc-sort") - das **Link einfügen**-menuItem (id: "link") +- das **Filter öffnen**-menuItem (id: "open-filter"), angezeigt, wenn die aktive Zelle das Filtersymbol enthält ### Controls hinzufügen {#adding-controls-3} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/data_formatting.md b/i18n/de/docusaurus-plugin-content-docs/current/data_formatting.md index 47a4876e..5893a892 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/data_formatting.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/data_formatting.md @@ -1,7 +1,7 @@ --- sidebar_label: Datenformatierung title: Datenformatierung -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über die Datenformatierung. Durchsuchen Sie Entwicklerhandbücher und die API-Referenz, testen Sie Codebeispiele und Live-Demos, und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Formatieren Sie Zelldaten in DHTMLX Spreadsheet über die Toolbar, einschließlich Text- und Hintergrundfarbe, Fett und Kursiv, Ausrichtung, Textumbruch und Zellrahmen, und entfernen Sie Stile und Werte. --- # Datenformatierung {#data-formatting} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/data_search.md b/i18n/de/docusaurus-plugin-content-docs/current/data_search.md index acd44e24..a8a093a4 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/data_search.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/data_search.md @@ -1,7 +1,7 @@ --- sidebar_label: Daten suchen title: Daten suchen -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie alles über die Datensuche. Lesen Sie Entwicklerleitfäden und die API-Referenz, probieren Sie Codebeispiele und Live-Demos aus, und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Daten in DHTMLX Spreadsheet mit der Suchleiste durchsuchen. Öffnen Sie sie mit Ctrl (Cmd) + F oder über das Menü Daten, wechseln Sie zwischen den Treffern und schließen Sie sie mit Esc. --- # Daten suchen {#searching-for-data} @@ -12,3 +12,11 @@ Um die Suchleiste zu öffnen, haben Sie zwei Möglichkeiten: - Oder navigieren Sie zu: *Daten* -> *Suchen* ![DHTMLX Spreadsheet-Suchleiste mit einem Texteingabefeld zum Suchen von Daten](/img/search_data.png) + +Geben Sie den zu suchenden Text in die Suchleiste ein. Die erste Zelle, die den Text enthält, wird hervorgehoben und in den sichtbaren Bereich gescrollt, und der Zähler zeigt die Anzahl der Treffer an. Um zwischen den Treffern zu wechseln, klicken Sie auf die Pfeiltasten in der Suchleiste. + +Die Suchergebnisse werden nach dem Bearbeiten von Zellen und nach dem Öffnen eines anderen Tabellenblatts aktualisiert. Screenreader kündigen die Anzahl der Treffer und die Adresse des ersten Treffers an, nachdem Sie die Eingabe beendet haben, zum Beispiel "Results: 5. 1 of 5, B2" oder "No results". Wenn Sie zu einem anderen Treffer wechseln, kündigen sie dessen Position und Adresse an, zum Beispiel "2 of 5, B7". + +Um die Suchleiste zu schließen, drücken Sie **Esc** oder klicken Sie auf die Schaltfläche zum Schließen. Der Fokus kehrt zur aktiven Zelle zurück. + +Um Daten über die API zu suchen, verwenden Sie die Methode [`search()`](api/spreadsheet_search_method.md). diff --git a/i18n/de/docusaurus-plugin-content-docs/current/excel_import_export.md b/i18n/de/docusaurus-plugin-content-docs/current/excel_import_export.md index 6722d501..f8263a77 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/excel_import_export.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/excel_import_export.md @@ -1,7 +1,7 @@ --- sidebar_label: Excel-Import/Export title: Excel-Import und -Export -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über den Excel-Import und -Export. Durchsuchen Sie Entwicklerhandbücher und API-Referenzen, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Daten aus Excel-Dateien in DHTMLX Spreadsheet importieren und über die Symbolleiste oder das Menü Datei nach .xlsx exportieren. --- # Excel-Import/Export {#excel-importexport} @@ -37,3 +37,9 @@ Gehen Sie zu: *Datei -> Herunterladen als... -> Microsoft Excel (.xlsx)* im Men ![DHTMLX Spreadsheet File menu with the Download As option for Microsoft Excel XLSX export](/img/file_export.png) 2\. Überprüfen Sie Ihr Download-Verzeichnis, um die Excel-Datei mit den Daten aus Spreadsheet zu finden. + +Screenreader kündigen den Beginn und das Ende von Import und Export an. + +:::note +Import und Export von Excel-Dateien verwenden WebAssembly. Wenn der Browser WebAssembly nicht unterstützt, zeigen die Befehle Import und Export eine Meldung mit dem Text des Schlüssels `wasmNotSupported` der [Locale](localization.md#default-locale) an. Die Methode [`load()`](api/spreadsheet_load_method.md) mit dem Typ `"xlsx"` und die Methode [`export.xlsx()`](api/export_xlsx_method.md) werfen einen `Error` mit demselben Text, den Sie in Ihrem Code abfangen können. +::: diff --git a/i18n/de/docusaurus-plugin-content-docs/current/filtering_data.md b/i18n/de/docusaurus-plugin-content-docs/current/filtering_data.md index b297a39d..8b1e8085 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/filtering_data.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/filtering_data.md @@ -1,7 +1,7 @@ --- sidebar_label: Daten filtern title: Daten filtern -description: Sie können mehr über das Filtern von Daten in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren. Lesen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Daten in DHTMLX Spreadsheet nach Bedingung oder nach Werten filtern, einen Filter mit der Tastatur öffnen sowie Filter löschen oder entfernen. --- # Daten filtern {#filtering-data} @@ -36,6 +36,20 @@ Um einen Filter zu löschen, klicken Sie auf das **Filter**-Symbol in der Spalte ![DHTMLX Spreadsheet-Filterdialog mit der Option "Nach Bedingung: Keine" zum Löschen von Filtern](/img/clear_filter_bycondition.png) +## Einen Filter mit der Tastatur öffnen {#opening-a-filter-with-the-keyboard} + +So öffnen Sie den Filter einer Spalte ohne Maus: + +- Bewegen Sie die aktive Zelle zur Kopfzelle der Spalte mit dem **Filter**-Symbol + +- Drücken Sie `Shift + F10` oder die Menütaste, um das Kontextmenü aufzurufen, und wählen Sie *Open filter* + +![DHTMLX Spreadsheet context menu of a header cell with the filter icon and the Open filter command focused](/img/open_filter_context_menu.png) + +Der Befehl *Open filter* erscheint im Kontextmenü nur für Zellen mit dem **Filter**-Symbol. Sie können ihn auch nach einem Rechtsklick auf eine solche Zelle wählen. Im [schreibgeschützten Modus](api/spreadsheet_readonly_config.md) sind das Kontextmenü und der Befehl *Open filter* nicht verfügbar. + +Das Filter-Popup erhält den Fokus, und `Tab` wechselt zwischen seinen Controls. `Esc` schließt das Popup und gibt den Fokus an die Zelle zurück. Ist im Popup eine Dropdown-Liste oder ein Datepicker geöffnet, schließt `Esc` zuerst diese. + ## Filtern nach Werten {#filtering-by-values} - Klicken Sie auf das **Filter**-Symbol der gewünschten Spalte diff --git a/i18n/de/docusaurus-plugin-content-docs/current/functions.md b/i18n/de/docusaurus-plugin-content-docs/current/functions.md index 42259011..ef8d79a8 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/functions.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/functions.md @@ -1,7 +1,7 @@ --- sidebar_label: Formeln und Funktionen title: Formeln und Funktionen -description: In der Dokumentation erfahren Sie alles über die Formeln und Funktionen der DHTMLX JavaScript Spreadsheet-Bibliothek. Lesen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Nutzen Sie in DHTMLX Spreadsheet zu Excel und Google Sheets kompatible Formeln, darunter mathematische, Datums-, Such-, Text- und Finanzfunktionen, fügen Sie eigene Formeln hinzu und lesen Sie die Formel einer Zelle aus. --- # Formeln und Funktionen {#formulas-and-functions} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/guides.md b/i18n/de/docusaurus-plugin-content-docs/current/guides.md index cc6c8c53..e75d8cea 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/guides.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/guides.md @@ -1,12 +1,12 @@ --- sidebar_label: Leitfaden-Übersicht title: Entwickler- und Benutzerhandbücher -description: Entwickler- und Benutzerhandbücher finden Sie in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek. Durchsuchen Sie die API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: "Entwickler- und Benutzerhandbücher von DHTMLX Spreadsheet: von Initialisierung, Konfiguration und Datenladen bis zum Bearbeiten von Zellen, Formatieren und Arbeiten mit Tabellenblättern." --- # Leitfäden {#guides} -DHTMLX Spreadsheet bietet ein breites Spektrum an Funktionen: Import und Export von Daten in verschiedenen Formaten, komfortables Arbeiten mit Zellinhalten und -stilen, eine flexible Tabellenstruktur, einen Nur-Lesen-Modus, umfangreiche Anpassungsmöglichkeiten für das Erscheinungsbild und Integration mit gängigen Frameworks. +DHTMLX Spreadsheet bietet ein breites Spektrum an Funktionen: Import und Export von Daten in verschiedenen Formaten, komfortables Arbeiten mit Zellinhalten und -stilen, eine flexible Tabellenstruktur, einen Nur-Lesen-Modus, umfangreiche Anpassungsmöglichkeiten für das Erscheinungsbild, Barrierefreiheit für Tastatur- und Screenreader-Nutzer und Integration mit gängigen Frameworks. ## Entwicklerhandbücher {#developer-guides} @@ -42,6 +42,12 @@ Zeigt, wie Sie Daten in Spreadsheet laden, Events verarbeiten und die wichtigste - [DHTMLX MCP-Server](mcp-server.md) - verbindet KI-Coding-Assistenten mit der Live-Dokumentation von Spreadsheet +### Barrierefreiheit {#accessibility} + +- [Barrierefreiheit](accessibility.md) - WAI-ARIA-Unterstützung, Tastaturnavigation, Screenreader-Ankündigungen und High-Contrast-Themes +- [Einen barrierefreien Spreadsheet einrichten](accessibility.md#configuration-recipes) - Konfigurationen für Tastatur- und Screenreader-Nutzer, einschließlich des schreibgeschützten Modus +- [Konformitätsbericht (VPAT)](accessibility_conformance_report.md) - Konformität mit WCAG 2.2 AA, Section 508 und EN 301 549 + ## Benutzerhandbücher {#user-guides} Die Benutzerhandbücher erleichtern Ihren Nutzern die Arbeit mit Spreadsheet. diff --git a/i18n/de/docusaurus-plugin-content-docs/current/handling_events.md b/i18n/de/docusaurus-plugin-content-docs/current/handling_events.md index a2b99c3a..b112918d 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/handling_events.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/handling_events.md @@ -1,7 +1,7 @@ --- sidebar_label: Event-Handling title: Event-Handling -description: In der Dokumentation zur DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr über das Event-Handling. Lesen Sie Entwickleranleitungen und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Fügen Sie in DHTMLX Spreadsheet mit den Methoden events.on(), events.detach() und events.fire() Event-Listener hinzu, entfernen Sie sie und lösen Sie Events aus. --- # Event-Handling {#event-handling} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/hotkeys.md b/i18n/de/docusaurus-plugin-content-docs/current/hotkeys.md index 69174ee9..c4507f5e 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/hotkeys.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/hotkeys.md @@ -1,13 +1,21 @@ --- sidebar_label: Liste der Tastenkombinationen title: Tastenkombinationen -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie alles uber die Tastenkombinationen. Lesen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Testversion von DHTMLX Spreadsheet herunter. +description: Tastenkombinationen von DHTMLX Spreadsheet zum Bearbeiten, Formatieren, für die Navigation, Auswahl, Suche, die Arbeit mit Tabellenblättern, Zeilen und Spalten sowie für Popups und Dialoge. --- # Liste der Tastenkombinationen {#hot-keys-list} Hier finden Sie eine Übersicht der Tastenkombinationen, die Sie bei der Arbeit mit DHTMLX Spreadsheet verwenden können. +:::note +Die Tastenkombinationen für Zellen funktionieren, solange sich der Fokus in den Zellen oder in der Formelleiste befindet. Die Tastenkombinationen für Formatierung, Rückgängig, Suche, Link und das Hinzufügen von Tabellenblättern funktionieren auch, wenn sich der Fokus in der Symbolleiste befindet. Wenn sich der Fokus in der Symbolleiste, in der Menüleiste oder in den Tabellenblatt-Registern befindet, funktionieren die Pfeiltasten sowie **Home**, **End**, **Enter** und **Leertaste** innerhalb dieser Leiste (siehe [Fokus verschieben](#moving-the-focus)). + +Im [schreibgeschützten Modus](api/spreadsheet_readonly_config.md) funktionieren die Tastenkombinationen für Navigation, Auswahl, Kopieren und Suche. Tastenkombinationen, die das Tabellenblatt ändern, darunter **Ctrl (Cmd) + Shift + 9**, **Ctrl (Cmd) + Shift + 0** und **Shift + F11**, werden abgelehnt, und Screenreader melden "The sheet is read-only". Das Kontextmenü ist nicht verfügbar, daher funktionieren **Shift + F10** und die Menütaste nicht. + +Informationen zur Tastaturnavigation mit Screenreadern finden Sie im Handbuch [Barrierefreiheit](accessibility.md#keyboard-navigation). +::: + ## Bearbeitung {#editing} @@ -28,6 +36,10 @@ Hier finden Sie eine Übersicht der Tastenkombinationen, die Sie bei der Arbeit + + + +
Esc schließt den Editor in einer Zelle ohne die Änderungen zu speichern
Alt (Option) + Enteröffnet den Link der aktiven Zelle in einem neuen Tab
@@ -114,43 +126,43 @@ Hier finden Sie eine Übersicht der Tastenkombinationen, die Sie bei der Arbeit Shift + Enter - verschiebt die Auswahl um eine Zelle nach oben (in einer Spalte). Wenn ein Zellbereich ausgewählt ist, wird die Auswahl innerhalb des Bereichs um eine Zelle nach oben verschoben. Deaktiviert, wenn die erste Zelle einer Spalte erreicht wird. + verschiebt die Auswahl um eine Zelle nach oben (in einer Spalte). Wenn ein Zellbereich ausgewählt ist, wird die Auswahl innerhalb des Bereichs um eine Zelle nach oben verschoben. Tab - verschiebt die Auswahl um eine Zelle nach rechts (in einer Zeile). Wenn ein Zellbereich ausgewählt ist, wird die Auswahl innerhalb des Bereichs um eine Zelle nach rechts verschoben. Deaktiviert, wenn die äußerste rechte Zelle einer Zeile erreicht wird. + verschiebt die Auswahl um eine Zelle nach rechts (in einer Zeile). Von der äußersten rechten Zelle aus wird die Auswahl zur ersten Zelle derselben Zeile verschoben. Wenn ein Zellbereich ausgewählt ist, wird die Auswahl innerhalb des Bereichs um eine Zelle nach rechts verschoben. Von der letzten Zelle des Tabellenblatts aus wird der bearbeitete Wert gespeichert und der Fokus aus den Zellen zum nächsten Teil der Seite verschoben, zum Beispiel zu den Tabellenblatt-Registern. Tab + Shift - verschiebt die Auswahl um eine Zelle nach links (in einer Zeile). Wenn ein Zellbereich ausgewählt ist, wird die Auswahl innerhalb des Bereichs um eine Zelle nach links verschoben. Deaktiviert, wenn die äußerste linke Zelle einer Zeile erreicht wird. + verschiebt die Auswahl um eine Zelle nach links (in einer Zeile). Von der äußersten linken Zelle aus wird die Auswahl zur letzten Zelle derselben Zeile verschoben. Wenn ein Zellbereich ausgewählt ist, wird die Auswahl innerhalb des Bereichs um eine Zelle nach links verschoben. Von der ersten Zelle des Tabellenblatts aus wird der bearbeitete Wert gespeichert und der Fokus aus den Zellen zum vorherigen Teil der Seite verschoben, zum Beispiel zur Formelleiste. Pfeiltasten - ermöglichen die Navigation zwischen den Zellen in einem Tabellenblatt + ermöglichen die Navigation zwischen den Zellen in einem Tabellenblatt. Stoppen an der ersten und letzten sichtbaren Zeile und Spalte. Wenn ein Zellbereich ausgewählt ist, reduziert eine Pfeiltaste am Rand des Tabellenblatts den Bereich auf die aktive Zelle Home - verschiebt die Auswahl zur ersten Zelle in der Zeile + verschiebt die Auswahl zur ersten sichtbaren Zelle in der Zeile End - verschiebt die Auswahl zur letzten Zelle in der Zeile + verschiebt die Auswahl zur letzten sichtbaren Zelle in der Zeile Ctrl (Cmd) + Linke Pfeiltaste - verschiebt die Auswahl zur ersten Zelle in einer Zeile + verschiebt die Auswahl zur ersten sichtbaren Zelle in einer Zeile Ctrl (Cmd) + Rechte Pfeiltaste - verschiebt die Auswahl zur letzten Zelle in einer Zeile + verschiebt die Auswahl zur letzten sichtbaren Zelle in einer Zeile Ctrl (Cmd) + Obere Pfeiltaste - verschiebt die Auswahl zur ersten Zelle in einer Spalte + verschiebt die Auswahl zur ersten sichtbaren Zelle in einer Spalte Ctrl (Cmd) + Untere Pfeiltaste - verschiebt die Auswahl zur letzten Zelle in einer Spalte + verschiebt die Auswahl zur letzten sichtbaren Zelle in einer Spalte Ctrl (Cmd) + Home @@ -175,6 +187,59 @@ Hier finden Sie eine Übersicht der Tastenkombinationen, die Sie bei der Arbeit +## Fokus verschieben {#moving-the-focus} + +Die Symbolleiste, die Menüleiste und die Tabellenblatt-Register sind jeweils ein einzelner Tab-Stopp: Tab verschiebt den Fokus in eine Leiste hinein und wieder heraus, und der Fokus landet auf dem zuletzt verwendeten Steuerelement. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ctrl + F6verschiebt den Fokus zum nächsten Teil von Spreadsheet in der Reihenfolge: Menü, Symbolleiste, Tabellenblatt (die aktive Zelle), Tabellenblatt-Register und dann zurück zum Menü. Die Formelleiste und ausgeblendete Teile werden übersprungen. Speichert zuvor den Wert der bearbeiteten Zelle
Ctrl + Shift + F6verschiebt den Fokus zum vorherigen Teil von Spreadsheet
Linke Pfeiltaste/Rechte Pfeiltasteverschiebt den Fokus zum vorherigen/nächsten Steuerelement der Symbolleiste, der Menüleiste oder der Tabellenblatt-Register
Home/Endverschiebt den Fokus zum ersten/letzten Steuerelement der Leiste
Enter/Leertastebetätigt das fokussierte Steuerelement: führt den Befehl aus, öffnet das Dropdown oder wechselt zum Tabellenblatt des fokussierten Registers
Untere Pfeiltasteöffnet das Dropdown des fokussierten Steuerelements und verschiebt den Fokus zu dessen erstem Element
Obere Pfeiltaste/Untere Pfeiltasteverschiebt den Fokus zwischen den Elementen eines geöffneten Dropdowns oder Menüs
Rechte Pfeiltasteöffnet das Untermenü des fokussierten Menüelements
Linke Pfeiltasteschließt das Untermenü. In der ersten Ebene eines Dropdowns schließt sie das Dropdown und gibt den Fokus an dessen Steuerelement zurück
Escschließt das Dropdown oder das Menü und gibt den Fokus an das Steuerelement zurück, das es geöffnet hat. Schließt den Tooltip eines Symbolleisten-Steuerelements. Ohne Esc bleibt der Tooltip geöffnet, solange sich der Mauszeiger darauf befindet
Shift + F10 oder Menütasteöffnet das Kontextmenü der aktiven Zelle oder des fokussierten Tabellenblatt-Registers und verschiebt den Fokus hinein. Nach Ctrl (Cmd) + Space zeigt das Kontextmenü einer Zelle die Befehle für die Spalte. Esc schließt das Kontextmenü und gibt den Fokus an die Zelle zurück
+ ## Suche {#search} @@ -185,11 +250,15 @@ Hier finden Sie eine Übersicht der Tastenkombinationen, die Sie bei der Arbeit - + - + + + + +
Ctrl (Cmd) + Gverschiebt die Auswahl zum nächsten gefundenen Trefferhebt den nächsten gefundenen Treffer hervor
Ctrl (Cmd) + Shift + Gverschiebt die Auswahl zum vorherigen gefundenen Trefferhebt den vorherigen gefundenen Treffer hervor
Escschließt das Suchfeld und gibt den Fokus an die aktive Zelle zurück
@@ -234,8 +303,110 @@ Hier finden Sie eine Übersicht der Tastenkombinationen, die Sie bei der Arbeit fügt ein neues Tabellenblatt in die Tabelle ein - Alt + Pfeiltaste oben/unten - wechselt zum nächsten/vorherigen Tabellenblatt + Alt (Option) + Pfeiltaste oben + wechselt zum nächsten Tabellenblatt. Vom letzten Tabellenblatt aus wird zum ersten gewechselt + + + Alt (Option) + Pfeiltaste unten + wechselt zum vorherigen Tabellenblatt. Vom ersten Tabellenblatt aus wird zum letzten gewechselt + + + Ctrl (Cmd) + Alt (Option) + Page Down + wechselt zum nächsten Tabellenblatt + + + Ctrl (Cmd) + Alt (Option) + Page Up + wechselt zum vorherigen Tabellenblatt + + + + +## Arbeit mit Zeilen und Spalten {#work-with-rows-and-columns} + + + + + + + + + + + + +
Ctrl (Cmd) + Shift + 9blendet die ausgeblendeten Zeilen innerhalb des ausgewählten Bereichs ein
Ctrl (Cmd) + Shift + 0blendet die ausgeblendeten Spalten innerhalb des ausgewählten Bereichs ein
+ +## Symbolleisten-Popups {#toolbar-popups} + +Die folgenden Tasten funktionieren in den Popups der Steuerelemente *Text color*, *Background color* und *Border* der Symbolleiste. Das Popup erhält beim Öffnen den Fokus. + + + + + + + + + + + + + + + + + + + + + + + + +
Pfeiltastenverschieben den Fokus zwischen den Farben der Palette oder zwischen den Steuerelementen des Border-Popups
Home/Endverschiebt den Fokus zur ersten/letzten Farbe der Palette
Enterwendet die fokussierte Farbe oder den fokussierten Rahmen an. Nachdem eine Text- oder Hintergrundfarbe angewendet wurde, kehrt der Fokus zur aktiven Zelle zurück
Esckehrt vom benutzerdefinierten Farbmodus zur Palette zurück. In einem über dem Border-Popup geöffneten Farb- oder Stil-Popup schließt sie dieses und gibt den Fokus an dessen Schaltfläche im Border-Popup zurück. Andernfalls schließt sie das Popup und gibt den Fokus an dessen Symbolleisten-Steuerelement zurück
Tab/Tab + Shiftschließt das Popup und gibt den Fokus an dessen Symbolleisten-Steuerelement zurück. Im Border-Popup und in den darüber geöffneten Popups werden alle geschlossen und der Fokus kehrt zum Border-Steuerelement zurück. Im benutzerdefinierten Farbmodus verschiebt sie den Fokus zwischen den Steuerelementen des Farbwählers
+ +## Listen-Editor {#list-editor} + +Die folgenden Tasten funktionieren im Editor einer Zelle mit einer [Werteliste](api/spreadsheet_setvalidation_method.md). + + + + + + + + + + + + + + + + + + + + +
Obere Pfeiltaste/Untere Pfeiltastenavigiert durch die Werteliste
Enterwählt den Wert aus und schließt den Editor
Escschließt den Editor ohne die Änderungen zu speichern
Tabspeichert den Wert und verschiebt die Auswahl um eine Zelle nach rechts
+ +## Filter und Dialoge {#filter-and-dialogs} + +Die folgenden Tasten funktionieren im Popup eines [Filters](filtering_data.md#opening-a-filter-with-the-keyboard) und in den Dialogen [Spaltenbreite und Zeilenhöhe](work_with_rows_cols.md#setting-column-width-and-row-height). + + + + + + + + + + + + + +
Escschließt das Filter-Popup und gibt den Fokus an die Zelle zurück
Enterwendet die Größe in den Dialogen Column width und Row height an
Escschließt die Dialoge Column width und Row height ohne Änderungen
diff --git a/i18n/de/docusaurus-plugin-content-docs/current/how_to_start.md b/i18n/de/docusaurus-plugin-content-docs/current/how_to_start.md index bd8a784b..518d1e6c 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/how_to_start.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/how_to_start.md @@ -1,7 +1,7 @@ --- sidebar_label: Erste Schritte title: Erste Schritte mit DHTMLX Spreadsheet -description: Sie können in der Dokumentation erfahren, wie Sie mit der DHTMLX JavaScript Spreadsheet-Bibliothek beginnen. Lesen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus, und laden Sie eine kostenlose 30-tägige Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Bringen Sie DHTMLX Spreadsheet in vier Schritten auf eine Seite, vom Einbinden der Quelldateien oder Installieren des npm-Pakets bis zum Konfigurieren der Komponente und Laden der Daten. --- # Erste Schritte {#how-to-start} @@ -79,7 +79,7 @@ Als Parameter nimmt die Konstruktorfunktion den HTML-Container, in den Spreadshe
@@ -94,7 +94,7 @@ Als Nächstes können Sie zusätzliche Konfigurationsoptionen festlegen, die die Sie können das Erscheinungsbild von Spreadsheet mit mehreren Optionen anpassen, zum Beispiel: `toolbarBlocks`, `rowsCount` und `colsCount`. [Weitere Details finden Sie hier](configuration.md). ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { toolbarBlocks: ["columns", "rows", "clear"], rowsCount: 10, colsCount: 10 @@ -129,7 +129,7 @@ const data = [ ] // Spreadsheet initialisieren -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { //config }); // Daten in Spreadsheet laden diff --git a/i18n/de/docusaurus-plugin-content-docs/current/index.md b/i18n/de/docusaurus-plugin-content-docs/current/index.md index fe7f9771..be02ec95 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/index.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/index.md @@ -2,7 +2,7 @@ sidebar_label: Spreadsheet-Übersicht title: DHTMLX Spreadsheet Übersicht slug: / -description: Sie finden eine Übersicht der JavaScript-Spreadsheet-Bibliothek in der DHTMLX-Dokumentation. Durchsuchen Sie Entwickleranleitungen und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus, und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Überblick über DHTMLX Spreadsheet, eine JavaScript-Komponente zum Bearbeiten und Formatieren von Tabellendaten, mit Toolbar, Bearbeitungszeile, Grid, Menü und Kontextmenü. --- # DHTMLX Spreadsheet-Übersicht {#dhtmlx-spreadsheet-overview} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/initialization.md b/i18n/de/docusaurus-plugin-content-docs/current/initialization.md index 6234b261..f869e4ad 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/initialization.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/initialization.md @@ -1,7 +1,7 @@ --- sidebar_label: Initialisierung title: Initialisierung -description: In der Dokumentation erfahren Sie, wie die DHTMLX JavaScript Spreadsheet-Bibliothek initialisiert wird. Lesen Sie Entwickleranleitungen und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-tägige Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Initialisieren Sie DHTMLX Spreadsheet auf einer Seite, indem Sie die Quelldateien einbinden, einen Container hinzufügen und den Konstruktor dhx.Spreadsheet mit einem Konfigurationsobjekt aufrufen. --- # Initialisierung {#initialization} @@ -39,10 +39,10 @@ Die Struktur des Spreadsheet-Pakets ist wie folgt: ## Container erstellen {#creating-container} -Fügen Sie einen Container für Spreadsheet hinzu und geben Sie ihm eine ID, zum Beispiel "spreadsheet": +Fügen Sie einen Container für Spreadsheet hinzu und geben Sie ihm eine ID, zum Beispiel "spreadsheet_container": ~~~html title="index.html" -
+
~~~ ## DHTMLX Spreadsheet initialisieren {#initializing-dhtmlx-spreadsheet} @@ -54,7 +54,7 @@ Initialisieren Sie DHTMLX Spreadsheet mit dem `dhx.Spreadsheet`-Objekt-Konstrukt ~~~jsx title="index.js" // DHTMLX Spreadsheet erstellen -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // Konfigurationsoptionen }); ~~~ diff --git a/i18n/de/docusaurus-plugin-content-docs/current/loading_data.md b/i18n/de/docusaurus-plugin-content-docs/current/loading_data.md index 61905041..d827e36e 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/loading_data.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/loading_data.md @@ -1,7 +1,7 @@ --- sidebar_label: Datenladen und -export title: Daten laden -description: In dieser Dokumentation erfahren Sie, wie Sie Daten in der DHTMLX JavaScript Spreadsheet-Bibliothek laden. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus, und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Laden Sie JSON-, CSV- oder Excel-Daten mit Stilen, gesperrten Zellen und Links aus einer Datei oder einer lokalen Quelle in DHTMLX Spreadsheet, speichern und stellen Sie den Zustand wieder her und exportieren Sie Daten nach Excel oder JSON. --- # Datenladen und -export {#data-loading-and-export} @@ -179,7 +179,7 @@ Beachten Sie, dass Sie die `value`-Eigenschaft des `cell`-Objekts und die `text` Standardmäßig erwartet Spreadsheet Daten im JSON-Format. Um Daten aus einer externen Quelle zu laden, verwenden Sie die Methode [](api/spreadsheet_load_method.md). Sie nimmt die URL der Datei mit den Daten als Parameter entgegen: ~~~jsx -var spreadsheet = new dhx.Spreadsheet("spreadsheet"); +var spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.load("../common/data.json"); ~~~ @@ -195,7 +195,7 @@ Wenn Sie es Benutzern ermöglichen möchten, eine JSON-Datei über den Datei-Exp Sie können auch Daten im CSV-Format laden. Dazu müssen Sie die Methode [](api/spreadsheet_load_method.md) aufrufen und den Namen des Formats ("csv") als zweiten Parameter übergeben: ~~~jsx -var spreadsheet = new dhx.Spreadsheet("spreadsheet"); +var spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.load("../common/data.csv", "csv"); ~~~ @@ -262,7 +262,7 @@ spreadsheet.load("/some/data").then(function(){ Um Daten aus einer lokalen Quelle zu laden, verwenden Sie die Methode [](api/spreadsheet_parse_method.md). Übergeben Sie einen [vorbereiteten Datensatz](#preparing-data) als Parameter dieser Methode: ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet"); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.parse(data); ~~~ diff --git a/i18n/de/docusaurus-plugin-content-docs/current/localization.md b/i18n/de/docusaurus-plugin-content-docs/current/localization.md index 980ddb54..ffdc4edb 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/localization.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/localization.md @@ -1,7 +1,7 @@ --- sidebar_label: Lokalisierung title: Lokalisierung -description: Sie können sich in der Dokumentation über die Lokalisierung der DHTMLX JavaScript Spreadsheet-Bibliothek informieren. Durchsuchen Sie Entwicklerleitfäden und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Lokalisieren Sie DHTMLX Spreadsheet. Lernen Sie das Standard-Gebietsschema kennen, erstellen Sie ein benutzerdefiniertes, übersetzen Sie die integrierten Widgets und das Formel-Popup und wenden Sie ein Gebietsschema an. --- # Lokalisierung {#localization} @@ -23,6 +23,8 @@ const en = { textColor: "Text color", backgroundColor: "Background color", + fontSize: "Font size", + bold: "Bold", italic: "Italic", underline: "Underline", @@ -60,6 +62,10 @@ const en = { addRow: "Add row above", removeRow: "Remove row {row}", removeRows: "Remove rows {row}", + columnWidth: "Column width", + rowHeight: "Row height", + widthInPixels: "Width in pixels", + heightInPixels: "Height in pixels", row: "row", col: "col", freeze: "Freeze", @@ -82,8 +88,10 @@ const en = { text: "Text", date: "Date", time: "Time", + scientific: "Scientific", filter: "Filter", + openFilter: "Open filter", help: "Help", @@ -104,6 +112,9 @@ const en = { border_style: "Border style", // Tabbar + // the name of a new sheet is this prefix followed by a number: sheet1, sheet2 + defaultSheetName: "sheet", + addSheet: "Add sheet", deleteSheet: "Delete", renameSheet: "Rename", renameSheetAlert: "A sheet with the name $name already exists. Please enter another name. ", @@ -114,10 +125,14 @@ const en = { export: "Export", downloadAs: "Download as...", importAs: "Import as...", + xlsxFormat: "Microsoft Excel(.xlsx)", data: "Data", validation: "Data validation", search: "Search", + previousMatch: "Previous match", + nextMatch: "Next match", + closeSearch: "Close search", sort: "Sort", ascSort: "Sort A to Z", descSort: "Sort Z to A", @@ -177,17 +192,105 @@ const en = { spanUnmergeLockedError: "You can't unmerge locked cells!", spanOverFilteredRow: "You can't merge cells over a filtered row.", removeAlert: "You can't remove last $name!", + wasmNotSupported: "WebAssembly is not supported by your browser", + invalidValue: "Invalid value", + + // Accessible names, read by screen readers + // accessible name of a color button; {label} is the name of the control, {color} is a name from the colorpicker locale + aria_colorButton: "{label}: {color}", + // accessible names of the toolbars; the screen reader adds the word "toolbar" itself + aria_toolbarFormatting: "Formatting", + aria_toolbarBorders: "Borders", + aria_toolbarSheets: "Sheets", + aria_toolbarSearch: "Search", + aria_toolbarLink: "Link", + // accessible names of the line styles in the border style list + aria_borderStyleThin: "Thin line", + aria_borderStyleMedium: "Medium line", + aria_borderStyleThick: "Thick line", + aria_borderStyleDashed: "Dashed line", + aria_borderStyleDotted: "Dotted line", + aria_borderStyleDouble: "Double line", + // accessible names of the context menus; the screen reader adds the word "menu" itself + aria_cellMenu: "Cell", + aria_sheetMenu: "Sheet", + // accessible name of the menu bar; the screen reader adds the words "menu bar" itself + aria_menuBar: "Main", + // accessible name of the cell grid; the screen reader adds the word "grid" itself + aria_grid: "Spreadsheet", + // accessible name of the select-all corner, the first column header + aria_selectAll: "Select all", + // accessible name of the formula bar; {cell} is the address of the cell it shows, for example "B7" + aria_formulaBar: "Formula bar, {cell}", + // accessible name of the input that edits a cell; {cell} is the address of the cell, for example "B7" + aria_cellEditor: "Cell editor, {cell}", + // accessible name of the close icon of the formula help panel + aria_closeFormulaHelp: "Close formula help", + + // Cell descriptions, read with the content of the active cell + // read with the content of a cell that has a filter icon; the icon itself is hidden from assistive technology + aria_filter: "Filter", + aria_filterApplied: "Filter applied", + // read after the content of a selected cell that holds a link; Alt+Enter opens the link + aria_cellLink: "link", + // read after the content of a selected locked cell; the lock icon itself is hidden from assistive technology + aria_lockedState: "locked", + // read after the value of a cell with a formula error; the formula engine writes the error as #ERROR, #REF! or #SPILL! + aria_errorSyntax: "Syntax error. Check the formula", + aria_errorCalc: "Calculation error. Check the values and functions", + aria_errorRef: "Reference error. Check the cell references", + aria_errorSpill: "Spill error. Clear the cells the result needs", + // read after the value of a cell that breaks its list validation + aria_invalidValue: "Invalid value. Choose a value from the list", + + // Screen reader announcements + // announced when an editing key is pressed in the read-only mode + aria_readonlySheet: "The sheet is read-only", + // announced when Ctrl+Shift+9 or Ctrl+Shift+0 finds nothing to reveal + aria_noHiddenRows: "No hidden rows in the selection", + aria_noHiddenCols: "No hidden columns in the selection", + // announced when a selection of several cells changes; {range} is built from aria_rangeExtent + aria_selectedRange: "{range}, {count} cells", + aria_rangeExtent: "{start} to {end}", + // joins the ranges of a selection made with Ctrl + aria_rangeSeparator: ", ", + // announced after an action; {message} is one of the texts above + aria_cellMessage: "{cell}: {message}", + // announced when an action makes several errors appear; {first} is aria_cellMessage for the first of them + aria_newErrors: "{count} new errors. {first}", + // announced when an action puts several invalid values; {first} is aria_cellMessage for the first of them + aria_invalidValues: "{count} invalid values. {first}", + // announced once when an edit of a locked cell is refused; the second one when a range holds locked cells + aria_lockedCell: "The cell is locked", + aria_lockedCells: "Locked cells were not changed", + // announced when the search text changes; followed by aria_searchMatch for the first match + aria_searchResults: "Results: {count}.", + // announced for the current match; {cell} is its address, for example "B7" + aria_searchMatch: "{index} of {count}, {cell}", + aria_searchNoResults: "No results", + // announced when an export or an import of a file starts and ends + aria_exportStarted: "Exporting the file", + aria_exportDone: "The file is exported", + aria_importStarted: "Importing the file", + aria_importDone: "The file is imported", + // announced when the column width or the row height command is applied; {size} is the applied size + aria_columnWidthSet: "Column width set to {size} pixels", + aria_rowHeightSet: "Row height set to {size} pixels", }; ~~~ +Die Schlüssel, die mit `aria_` beginnen, werden in der Oberfläche nicht angezeigt. Screenreader lesen sie als Namen der Steuerelemente, als Beschreibungen der aktiven Zelle und als Meldungen des Live-Bereichs, den auch die Methode [`announce()`](api/spreadsheet_announce_method.md) verwendet. Die Teile in geschweiften Klammern, wie `{cell}` oder `{count}`, werden beim Vorlesen der Zeichenfolge durch die Werte ersetzt. Behalten Sie sie in den übersetzten Zeichenfolgen bei. Ein Beispiel für übersetzte Barrierefreiheits-Zeichenfolgen finden Sie im Handbuch [Barrierefreiheit](accessibility.md#translated-accessibility-strings). + +Der Schlüssel `defaultSheetName` legt das Präfix der Standardnamen von Tabellenblättern fest. Spreadsheet hängt eine Nummer an, sodass der Standardwert `"sheet"` die Namen "sheet1", "sheet2" usw. ergibt. Mit `"Tabelle"`, dem Präfix, das Microsoft Excel im Deutschen verwendet, heißen die Tabellenblätter beispielsweise "Tabelle1", "Tabelle2" usw. + ## Benutzerdefiniertes Gebietsschema {#custom-locale} Um ein anderes Gebietsschema anzuwenden, müssen Sie: -- Übersetzungen für alle Textbeschriftungen in Spreadsheet bereitstellen, beispielsweise für das russische Gebietsschema: +- Übersetzungen für alle Textbeschriftungen in Spreadsheet bereitstellen, beispielsweise für das deutsche Gebietsschema: ~~~jsx -const ru = { +const de = { // language settings }; ~~~ @@ -195,10 +298,48 @@ const ru = { - das neue Gebietsschema anwenden, indem Sie die Methode `dhx.i18n.setLocale()` vor der Initialisierung von Spreadsheet aufrufen: ~~~jsx -dhx.i18n.setLocale("spreadsheet", ru); +dhx.i18n.setLocale("spreadsheet", de); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +## Integrierte Widgets lokalisieren {#localizing-built-in-widgets} + +Spreadsheet verwendet intern die Widgets Calendar, Colorpicker, Grid, Timepicker, Toolbar, Window und Message von DHTMLX Suite. Ihre Zeichenfolgen sind in separaten Gebietsschemas gespeichert, die Sie auf dieselbe Weise übersetzen können wie das Gebietsschema `spreadsheet`: + +| Gebietsschema | In Spreadsheet verwendete Zeichenfolgen | +| ------ | --------------------------- | +| `calendar` | die Monats- und Tagesnamen des Datumseditors und des Datumsfilters | +| `colorpicker` | die Beschriftungen des benutzerdefinierten Farbmodus in den Farb-Popups der Symbolleiste, der Name der Palette und die Farbnamen, die Screenreader für die Farbfelder und die Farbschaltflächen vorlesen, zum Beispiel "Text color: dark gray" | +| `grid` | die Ansage der Anzahl geladener Zeilen | +| `timepicker` | die Beschriftungen des Zeiteditors | +| `toolbar` | der standardmäßige zugängliche Name einer Symbolleiste | +| `window` | der standardmäßige zugängliche Name eines Dialogs | +| `message` | die zugänglichen Namen der Alert- und Confirm-Dialoge und ihrer Schaltflächen | + +Rufen Sie `dhx.i18n.setLocale()` mit dem Namen des Gebietsschemas vor der Initialisierung von Spreadsheet auf, da die Symbolleisten, die Menüs und die Kontextmenüs das Gebietsschema beim Erstellen auslesen: + +~~~jsx +const deColorpicker = { + cancel: "Abbrechen", + select: "Auswählen", + aria_palette: "Farbpalette", + aria_colorRed: "rot", + // other strings +}; + +const deMessage = { + aria_confirm: "Bestätigen" +}; + +dhx.i18n.setLocale("spreadsheet", de); +dhx.i18n.setLocale("colorpicker", deColorpicker); +dhx.i18n.setLocale("message", deMessage); + const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); ~~~ +Die Gebietsschema-Schlüssel sind flach: Übergeben Sie jeden Schlüssel auf der obersten Ebene des Objekts. Weitere Informationen finden Sie im Artikel [Localization of screen-reader strings](https://docs.dhtmlx.com/suite/common_features/accessibility_support/#localization-of-screen-reader-strings) in der Dokumentation von DHTMLX Suite. + ## Standard-Gebietsschema für Formeln {#default-locale-for-formulas} Das Objekt `dhx.i18n.formulas` enthält das i18n-Gebietsschema für das Spreadsheet-Formel-Popup. Das Standard-Gebietsschema für Formeln sieht wie folgt aus: diff --git a/i18n/de/docusaurus-plugin-content-docs/current/merge_cells.md b/i18n/de/docusaurus-plugin-content-docs/current/merge_cells.md index d251c8a0..b0853abd 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/merge_cells.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/merge_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: Zellen zusammenführen title: Zellen zusammenführen -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie, wie Sie Zellen zusammenführen. Lesen Sie Entwicklerhandbücher und API-Referenzen, testen Sie Code-Beispiele und Live-Demos, und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Führen Sie Zellen in DHTMLX Spreadsheet über die Symbolleiste oder das Menü „Format" zusammen und teilen Sie sie wieder auf. Erfahren Sie außerdem, wie sich das Entfernen von Zeilen und Spalten auf zusammengeführte Zellen auswirkt. --- # Zellen zusammenführen {#merging-cells} @@ -45,3 +45,13 @@ oder 2\. Navigieren Sie zu: *Format -> Unmerge* im Menü ![DHTMLX Spreadsheet-Menü „Format" mit der Option „Unmerge" zum Aufteilen zusammengeführter Zellen](/img/unmerge_cells_via_menu.png) + +## Zeilen und Spalten zusammengeführter Zellen entfernen {#removing-rows-and-columns-of-merged-cells} + +Wenn Sie eine Zeile oder eine Spalte über eine zusammengeführte Zelle entfernen, werden alle Zeilen oder Spalten entfernt, die sich über die zusammengeführte Zelle erstrecken. Das gilt, wenn eine Zelle oder ein Zellbereich ausgewählt ist und die Zeile oder Spalte über die Symbolleiste, das Menü, das Kontextmenü oder die Methoden [`deleteRow()`](api/spreadsheet_deleterow_method.md) / [`deleteColumn()`](api/spreadsheet_deletecolumn_method.md) entfernt wird. Das Kontextmenü zeigt den gesamten Bereich im Namen des Befehls an, zum Beispiel *Remove rows 2-4*. + +![DHTMLX Spreadsheet context menu with the Rows submenu showing Remove rows 2-4 for a merged cell](/img/remove_merged_rows_context_menu.png) + +Wenn ganze Zeilen oder Spalten ausgewählt sind, zum Beispiel durch Klicken auf ihre Kopfzellen oder mit `Shift + Space` bzw. `Ctrl (Cmd) + Space`, werden nur die ausgewählten Zeilen oder Spalten entfernt. Eine zusammengeführte Zelle, die sich über sie erstreckt, wird kleiner, und eine zusammengeführte Zelle, von der nur eine einzelne Zelle übrig bleibt, wird zu einer gewöhnlichen Zelle. + +Zusammengeführte Zellen, die unterhalb oder rechts von den entfernten Zeilen oder Spalten liegen, werden mit ihnen verschoben. diff --git a/i18n/de/docusaurus-plugin-content-docs/current/migration.md b/i18n/de/docusaurus-plugin-content-docs/current/migration.md index 923aecb3..a3c18516 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/migration.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/migration.md @@ -1,7 +1,7 @@ --- sidebar_label: Migration zu neueren Versionen title: Migration -description: Sie finden Informationen zur Migration in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Migrieren Sie auf eine neuere Version von DHTMLX Spreadsheet anhand der Liste veralteter, geänderter und entfernter Eigenschaften, Methoden und Events jeder Version und ihrer Ersatzlösungen. --- # Migration zu neueren Versionen {#migration-to-newer-versions} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/number_formatting.md b/i18n/de/docusaurus-plugin-content-docs/current/number_formatting.md index 445f5a6a..1db7ea1e 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/number_formatting.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/number_formatting.md @@ -1,7 +1,7 @@ --- sidebar_label: Zahlenformatierung title: Zahlenformatierung -description: Sie können den Entwicklerleitfaden zur Zahlenformatierung in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek lesen. Durchsuchen Sie Entwicklerleitfäden und API-Referenzen, probieren Sie Code-Beispiele und Live-Demos aus, und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Wenden Sie in DHTMLX Spreadsheet Zahlen-, Währungs-, Prozent-, Datums-, Zeit- und wissenschaftliche Formate auf Zellwerte an, lokalisieren Sie sie, definieren Sie eigene Formatmasken und setzen oder lesen Sie das Format einer Zelle. --- # Zahlenformatierung {#number-formatting} @@ -107,7 +107,7 @@ Mit den Konfigurationsoptionen von Spreadsheet können Sie Uhrzeit und Datum lok Sie können beispielsweise die Standard-Lokalisierungseinstellungen wie folgt ändern: ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { localization: { decimal: ",", thousands: " ", diff --git a/i18n/de/docusaurus-plugin-content-docs/current/number_formatting_guide.md b/i18n/de/docusaurus-plugin-content-docs/current/number_formatting_guide.md index 4b383e07..247c0089 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/number_formatting_guide.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/number_formatting_guide.md @@ -1,7 +1,7 @@ --- sidebar_label: Zahlenformatierung title: Leitfaden zur Zahlenformatierung -description: Sie können den Benutzerhandbuch zur Zahlenformatierung in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek nachlesen. Durchsuchen Sie Entwicklerhandbücher und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Wählen Sie in DHTMLX Spreadsheet über die Toolbar ein Zahlenformat für Zellwerte aus, etwa Zahl, Währung, Prozent, Datum, Uhrzeit oder Text. --- # Zahlenformatierung {#number-formatting} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/react/overview.md b/i18n/de/docusaurus-plugin-content-docs/current/react/overview.md index 48298d43..b70eae28 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/react/overview.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/react/overview.md @@ -96,8 +96,8 @@ Props werden danach kategorisiert, wie die Komponente mit Änderungen umgeht: | Kategorie | Props | Was passiert bei Änderung | |----------|-------|----------------------| -| **Init-Only** | `menu`, `editLine`, `toolbarBlocks`, `multiSheets`, `formats`, `localization`, `importModulePath`, `exportModulePath`, `spreadsheetLocale` | Das Widget wird zerstört und neu erstellt. Tabellendaten bleiben erhalten, aber Rückgängig/Wiederherstellen-Verlauf und UI-Zustand (Auswahl, Scrollposition) werden zurückgesetzt. | -| **Laufzeit** | `readonly`, `rowsCount`, `colsCount` | Wird sofort ohne Datenverlust oder UI-Zustandsreset angewendet. | +| **Init-Only** | `menu`, `editLine`, `toolbarBlocks`, `multiSheets`, `formats`, `localization`, `importModulePath`, `exportModulePath`, `spreadsheetLocale`, `readonly` | Das Widget wird zerstört und neu erstellt. Tabellendaten bleiben erhalten, aber Rückgängig/Wiederherstellen-Verlauf und UI-Zustand (Auswahl, Scrollposition) werden zurückgesetzt. | +| **Laufzeit** | `selection`, `rowsCount`, `colsCount` | Wird sofort ohne Datenverlust oder UI-Zustandsreset angewendet. | | **Daten** | `sheets`, `activeSheet` | Wird inkrementell angewendet; nur geänderte Zellen, Bereiche oder Einstellungen werden aktualisiert. | | **Neu-Parsen** | `styles` | Stiländerungen erfordern einen vollständigen Datenneulade. Tabellendaten bleiben erhalten, aber Rückgängig/Wiederherstellen-Verlauf und UI-Zustand werden zurückgesetzt. | | **Zustand** | `search`, `theme`, `loadUrl` | Wird über dedizierte Widget-APIs ohne Nebeneffekte angewendet. | @@ -198,6 +198,10 @@ function App() { Die `instance`-Eigenschaft ist `null`, bevor das Widget initialisiert wird und nach dem Unmount. +:::info +Handler, die mit `ref.current.instance.events.on()` hinzugefügt wurden, werden entfernt, wenn das Widget nach der Änderung eines Init-Only-Props neu erstellt wird und wenn die Komponente unmountet wird. Verwenden Sie die [Event-Callback-Props](react/events.md), die die Komponente an jede neue Widget-Instanz anhängt. +::: + ## API-Referenz {#api-reference} | Dokument | Inhalt | diff --git a/i18n/de/docusaurus-plugin-content-docs/current/react/props.md b/i18n/de/docusaurus-plugin-content-docs/current/react/props.md index 52044c97..0d118127 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/react/props.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/react/props.md @@ -25,6 +25,7 @@ Das Ändern einer dieser Props führt dazu, dass das Widget zerstört und neu er | `importModulePath` | `string` | Pfad zum XLSX-Importmodul. Siehe JS-API: [`importModulePath`](api/spreadsheet_importmodulepath_config.md). | | `exportModulePath` | `string` | Pfad zum XLSX-Exportmodul. Siehe JS-API: [`exportModulePath`](api/spreadsheet_exportmodulepath_config.md). | | `spreadsheetLocale` | [`SpreadsheetLocale`](react/types.md#spreadsheetlocale) | UI-Übersetzungen und lokalisierte Formelnamen. Unabhängig von `localization`. | +| `readonly` | `boolean` | Schreibschutz-Modus aktivieren. Benutzer können die Zellen navigieren, auswählen, kopieren und durchsuchen, Bearbeitungen werden abgelehnt. Siehe JS-API: [`readonly`](api/spreadsheet_readonly_config.md). | @@ -40,7 +41,7 @@ Diese Props werden sofort angewendet, ohne das Widget zu zerstören. Kein Datenv |------|------|-------------| | `rowsCount` | `number` | Anzahl der Zeilen im Raster. Siehe JS-API: [`rowsCount`](api/spreadsheet_rowscount_config.md). | | `colsCount` | `number` | Anzahl der Spalten im Raster. Siehe JS-API: [`colsCount`](api/spreadsheet_colscount_config.md). | -| `readonly` | `boolean` | Schreibschutz-Modus aktivieren. Siehe JS-API: [`readonly`](api/spreadsheet_readonly_config.md). | +| `selection` | `boolean` | Auswahl von Zellen ein- und ausschalten. Standard: `true`. Bei `false` hat das Spreadsheet keine aktive Zelle, und die Zellen können nicht über die UI ausgewählt oder bearbeitet werden. Siehe JS-API: [`selection`](api/spreadsheet_selection_config.md). | ## Daten-Props {#data-props} @@ -225,10 +226,18 @@ const [theme, setTheme] = useState("light"); ### Schreibschutz-Modus {#read-only-mode} +Im Schreibschutz-Modus können Benutzer die Zellen mit der Tastatur navigieren, mit der Maus auswählen, kopieren und durchsuchen. Bearbeitungen werden abgelehnt und für Screenreader angekündigt. Da `readonly` ein Init-Only-Prop ist, wird das Widget bei einer Änderung neu erstellt. Die Daten bleiben erhalten, während der Rückgängig/Wiederherstellen-Verlauf und der UI-Zustand (Auswahl, Scrollposition) zurückgesetzt werden. + ~~~tsx ~~~ +Um auch die Tastaturnavigation und die Auswahl zu deaktivieren, fügen Sie `selection={false}` hinzu. Das Prop `selection` wird zur Laufzeit angewendet und kann daher ohne Neuerstellung des Widgets umgeschaltet werden: + +~~~tsx + +~~~ + ### Daten von URL laden {#loading-data-from-url} ~~~tsx diff --git a/i18n/de/docusaurus-plugin-content-docs/current/react/themes.md b/i18n/de/docusaurus-plugin-content-docs/current/react/themes.md index 01851069..042a8d41 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/react/themes.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/react/themes.md @@ -77,6 +77,9 @@ Definieren Sie einen benutzerdefinierten `data-dhx-theme`-Selektor, uberschreibe /* Spreadsheet-Bereichsfarben */ --dhx-spreadsheet-range-background-1: #bee3f8; --dhx-spreadsheet-range-color-1: #2b6cb0; + + /* keyboard focus outline of the formula bar and the toolbar controls */ + --dhx-spreadsheet-focus-color: #2b6cb0; } ~~~ diff --git a/i18n/de/docusaurus-plugin-content-docs/current/react/types.md b/i18n/de/docusaurus-plugin-content-docs/current/react/types.md index bbb3c436..bed59b43 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/react/types.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/react/types.md @@ -188,6 +188,13 @@ ref.current?.instance?.selection.setSelectedCell("A1:C5"); // Ruckgangig/Wiederholen ref.current?.instance?.undo(); ref.current?.instance?.redo(); + +// Turn the selection off and on +ref.current?.instance?.selection.disable(); +ref.current?.instance?.selection.enable(); + +// Send a status message to screen readers +ref.current?.instance?.announce("The report is saved"); ~~~ ## Actions-Enum {#actions-enum} @@ -270,6 +277,7 @@ Diese Typen werden der Einfachheit halber aus `@dhx/ts-spreadsheet` erneut expor | `IStylesList` | Stildefinitions-Map. | | `IDataWithStyles` | Datenstruktur mit eingebetteten Stilen (verwendet von `serialize()`/`parse()`). | | `ICellInfo` | Zellinformationen, die von Widget-Methoden zuruckgegeben werden. | +| `ISelection` | Selection-Modul-Interface (`instance.selection`), einschließlich der Methoden [`enable()`](api/selection_enable_method.md), [`disable()`](api/selection_disable_method.md) und [`isDisabled()`](api/selection_isdisabled_method.md). | | `FileFormat` | Dateiformat fur das Laden von Daten (z. B. `"json"` oder `"xlsx"`). | | `ToolbarBlocks` | Bezeichner fur Toolbar-Blocke (z. B. `"default"`, `"undo"` oder `"font"`). | | `FilterConditions` | Enum der verfugbaren Filterbedingungstypen. | diff --git a/i18n/de/docusaurus-plugin-content-docs/current/sorting_data.md b/i18n/de/docusaurus-plugin-content-docs/current/sorting_data.md index 9c73d579..a413183b 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/sorting_data.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/sorting_data.md @@ -1,7 +1,7 @@ --- sidebar_label: Daten sortieren title: Daten sortieren -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie, wie Sie Daten sortieren. Durchsuchen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Sortieren Sie Daten in DHTMLX Spreadsheet über den Sortierbefehl des Kontextmenüs von A bis Z oder von Z bis A nach einer Spalte oder einem ausgewählten Zellbereich. --- # Daten sortieren {#sorting-data} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/svelte_integration.md b/i18n/de/docusaurus-plugin-content-docs/current/svelte_integration.md index 17df5b75..6e10a4eb 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/svelte_integration.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/svelte_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: Integration mit Svelte title: Svelte-Integration -description: In der Dokumentation erfahren Sie mehr über die Svelte-Integration der DHTMLX JavaScript Spreadsheet-Bibliothek. Lesen Sie Entwicklerleitfäden und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus, und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: DHTMLX Spreadsheet in einer Svelte-Anwendung verwenden. Erstellen Sie ein Projekt, fügen Sie Spreadsheet als Svelte-Komponente hinzu, laden Sie Daten und verarbeiten Sie Events. --- # Integration mit Svelte {#integration-with-svelte} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md b/i18n/de/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md index 718ca04f..70394f25 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md @@ -1,7 +1,7 @@ --- sidebar_label: Configuring built-in themes title: Integrierte Themes konfigurieren -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie, wie Sie Themes konfigurieren. Durchsuchen Sie Entwickleranleitungen und die API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Ändern Sie die Farben der integrierten Themes von DHTMLX Spreadsheet, indem Sie ihre CSS-Variablen überschreiben, für alle Themes auf einmal oder für ein einzelnes Theme. --- # Integrierte Themes konfigurieren {#configuring-built-in-themes} @@ -94,7 +94,7 @@ Wenn Sie einige Farbwerte fur ein einzelnes [Spreadsheet-Theme](/themes/) ubersc diff --git a/i18n/de/docusaurus-plugin-content-docs/current/themes/custom_theme.md b/i18n/de/docusaurus-plugin-content-docs/current/themes/custom_theme.md index 8045446a..191ca4d4 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/themes/custom_theme.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/themes/custom_theme.md @@ -1,7 +1,7 @@ --- sidebar_label: Custom theme title: Benutzerdefiniertes Theme -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie, wie Sie ein benutzerdefiniertes Theme erstellen. Durchsuchen Sie Entwickleranleitungen und die API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Erstellen Sie mit CSS-Variablen ein eigenes Farb-Theme für DHTMLX Spreadsheet und wenden Sie es mit der Methode dhx.setTheme() an. --- # Benutzerdefiniertes Theme {#custom-theme} @@ -88,7 +88,7 @@ Um ein eigenes benutzerdefiniertes Theme zu erstellen, uberschreiben Sie die Wer diff --git a/i18n/de/docusaurus-plugin-content-docs/current/themes/themes.md b/i18n/de/docusaurus-plugin-content-docs/current/themes/themes.md index a48861c9..c3065abf 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/themes/themes.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/themes/themes.md @@ -1,7 +1,7 @@ --- sidebar_label: Built-in themes title: Integrierte Themes -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie mehr uber die integrierten Themes. Durchsuchen Sie Entwickleranleitungen und die API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Integrierte Themes von DHTMLX Spreadsheet, hell und dunkel mit ihren Hochkontrast-Varianten. Lernen Sie die Spreadsheet-spezifischen CSS-Variablen kennen und erfahren Sie, wie Sie ein Theme setzen. --- # Integrierte Themes {#built-in-themes} @@ -13,7 +13,7 @@ Die DHTMLX Spreadsheet-Bibliothek bietet 4 vordefinierte Themes: - [Helles Hochkontrast-Theme](#light-high-contrast-theme) ("contrast-light") - [Dunkles Hochkontrast-Theme](#dark-high-contrast-theme) ("contrast-dark") -Die Spreadsheet-Themes wurden in Ubereinstimmung mit internationalen Standards entwickelt. Die Hochkontrast-Themes helfen Benutzern mit Sehbehinderungen. Weitere Details finden Sie im Artikel [Barrierefreiheitsunterstutzung](https://docs.dhtmlx.com/suite/common_features/accessibility_support/). +Die Spreadsheet-Themes wurden in Ubereinstimmung mit internationalen Standards entwickelt. Die Hochkontrast-Themes helfen Benutzern mit Sehbehinderungen. Informationen zum Kontrast der Themes und zum Indikator für den Tastaturfokus in Spreadsheet finden Sie im Abschnitt [High contrast and focus](accessibility.md#high-contrast-and-focus) des Leitfadens zur Barrierefreiheit. Informationen zur Barrierefreiheit der DHTMLX Suite-Widgets finden Sie im Artikel [Barrierefreiheitsunterstutzung](https://docs.dhtmlx.com/suite/common_features/accessibility_support/). Sie konnen alle Themes im folgenden Beispiel ausprobieren: @@ -377,14 +377,15 @@ Die Liste der fur die Spreadsheet-Komponente spezifischen Variablen umfasst folg --dhx-spreadsheet-range-background-8: #ecb6ff; --dhx-spreadsheet-range-color-1: #00815a; - --dhx-spreadsheet-range-color-2: #bfc000; - --dhx-spreadsheet-range-color-3: #c55933; - --dhx-spreadsheet-range-color-4: #0cc1d6; - --dhx-spreadsheet-range-color-5: #0080a3; - --dhx-spreadsheet-range-color-6: #529a0a; + --dhx-spreadsheet-range-color-2: #8b7300; + --dhx-spreadsheet-range-color-3: #a34729; + --dhx-spreadsheet-range-color-4: #007a8c; + --dhx-spreadsheet-range-color-5: #135db1; + --dhx-spreadsheet-range-color-6: #2f6500; --dhx-spreadsheet-range-color-7: #6d767b; - --dhx-spreadsheet-range-color-8: #ba38e7; + --dhx-spreadsheet-range-color-8: #b82fe5; + --dhx-spreadsheet-focus-color: var(--dhx-color-primary); } ~~~ @@ -411,6 +412,17 @@ Die Liste der fur die Spreadsheet-Komponente spezifischen Variablen umfasst folg --dhx-spreadsheet-range-color-7: #e4e4e4; --dhx-spreadsheet-range-color-8: #ecb6ff; + --dhx-spreadsheet-focus-color: hsl(var(--dhx-h-primary), var(--dhx-s-primary), calc(var(--dhx-l-primary) + 12% - var(--dhx-l-contrast-offset))); +} +~~~ + +Die Variablen `--dhx-spreadsheet-range-color-*` und `--dhx-spreadsheet-range-background-*` legen die Farben fest, mit denen die Zellbezüge einer Formel während der Bearbeitung markiert werden. In den hellen Themes haben die Farben `--dhx-spreadsheet-range-color-*` einen Kontrast von mindestens 4,5:1 gegenüber dem Hintergrund der Formelleiste. + +Die Variable `--dhx-spreadsheet-focus-color` legt die Farbe des Tastaturfokus-Rahmens der Formelleiste sowie der Steuerelemente der Symbolleiste, der Menüleiste, der Tabellenblatt-Registerkarten, des Border-Popups, des Link-Popups und der Suchleiste fest. In den dunklen Themes ist die Farbe heller als die Primärfarbe, sodass der Rahmen einen Kontrast von mindestens 3:1 behält. Sie können die Variable in einem [benutzerdefinierten Theme](themes/custom_theme.md) neu definieren: + +~~~css +[data-dhx-theme='custom-theme-dark'] { + --dhx-spreadsheet-focus-color: #7fc8ff; } ~~~ @@ -426,7 +438,7 @@ Sie konnen zwischen den folgenden Varianten wahlen: ~~~html title="index.html" -
+
~~~ - Das Attribut `data-dhx-theme` fur ein HTML-Element setzen, z. B. fur `documentElement`: @@ -453,31 +465,31 @@ Die folgenden Beispiele zeigen, wie die Methode `dhx.setTheme()` verwendet wird: - Theme auf den Body oder den Container setzen ~~~html -
+
Other content
~~~ - Theme auf den via HTMLElement angegebenen Container setzen ~~~html -
+
Other content
~~~ diff --git a/i18n/de/docusaurus-plugin-content-docs/current/using_typescript.md b/i18n/de/docusaurus-plugin-content-docs/current/using_typescript.md index 0a152380..ec2ac500 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/using_typescript.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/using_typescript.md @@ -1,7 +1,7 @@ --- sidebar_label: TypeScript-Unterstützung title: TypeScript-Unterstützung -description: Sie erfahren, wie Sie TypeScript mit der DHTMLX JavaScript Spreadsheet-Bibliothek verwenden. Sehen Sie sich Entwicklerhandbücher und API-Referenzen an, probieren Sie Codebeispiele und Live-Demos aus, und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Nutzen Sie die integrierten TypeScript-Definitionen von DHTMLX Spreadsheet für Typprüfung, Autovervollständigung und JSDoc-Hinweise in Ihrer IDE. --- # TypeScript-Unterstützung {#typescript-support} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/vuejs_integration.md b/i18n/de/docusaurus-plugin-content-docs/current/vuejs_integration.md index b477fc26..82c0aabf 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/vuejs_integration.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/vuejs_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: Integration mit Vue title: Vue-Integration -description: In der Dokumentation erfahren Sie mehr über die Vue-Integration der DHTMLX JavaScript Spreadsheet-Bibliothek. Lesen Sie Entwickleranleitungen und die API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus, und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: DHTMLX Spreadsheet in einer Vue-Anwendung verwenden. Erstellen Sie ein Projekt, fügen Sie Spreadsheet als Vue-Komponente hinzu, laden Sie Daten und verarbeiten Sie Events. --- # Integration mit Vue {#integration-with-vue} @@ -260,6 +260,10 @@ export default { //... ~~~ +:::info +Die Methode `destructor()` entfernt die mit `spreadsheet.events.on()` hinzugefügten Event-Handler. Wenn eine neue Spreadsheet-Instanz erstellt wird, zum Beispiel wenn die Komponente erneut erstellt wird, fügen Sie die Handler der neuen Instanz hinzu. +::: + Danach können Sie die App starten, um Spreadsheet mit Daten auf einer Seite geladen zu sehen. ![DHTMLX Spreadsheet mit Beispieldaten in einer Vue 3-Anwendung initialisiert](/img/integrations/trial_spreadsheet.png) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/whats_new.md b/i18n/de/docusaurus-plugin-content-docs/current/whats_new.md index 543c1739..f94d51a7 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/whats_new.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/whats_new.md @@ -1,13 +1,78 @@ --- sidebar_label: Was ist neu title: Was ist neu in DHTMLX Spreadsheet -description: Sie erfahren in der Dokumentation, was neu in der DHTMLX JavaScript Spreadsheet-Bibliothek ist. Durchsuchen Sie Entwicklerhandbücher und API-Referenzen, testen Sie Code-Beispiele und Live-Demos, und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Versionshinweise zu DHTMLX Spreadsheet mit neuen Funktionen, Aktualisierungen, Fehlerbehebungen und Breaking Changes jeder Version. --- # Was ist neu {#whats-new} Wenn Sie Spreadsheet von einer älteren Version aktualisieren, lesen Sie die [Migration auf eine neuere Version](migration.md) für Details. +## Version 6.0.4 {#version-604} + +Veröffentlicht am 2. November 2026 + +### Neue Funktionen {#new-functionality-604} + +- Unterstützung der Barrierefreiheit nach WCAG 2.2 AA, Section 508 und EN 301 549: Tastaturbedienung aller Teile von Spreadsheet, Screenreader-Unterstützung und ein sichtbarer Fokus in jedem Theme. Weitere Informationen finden Sie im Leitfaden [Accessibility](accessibility.md) und im [Accessibility Conformance Report](accessibility_conformance_report.md) +- Die Möglichkeit, die Auswahl von Zellen aus- und einzuschalten: + - neue Konfigurationseigenschaft: [`selection`](api/spreadsheet_selection_config.md) + - neue Methoden des Selection-Moduls: [`enable()`](api/selection_enable_method.md), [`disable()`](api/selection_disable_method.md), [`isDisabled()`](api/selection_isdisabled_method.md) +- Die Methode [`announce()`](api/spreadsheet_announce_method.md) sendet eine Statusmeldung an Screenreader +- Neue Befehle des [Kontextmenüs](customization.md#context-menu): [*Column width*, *Row height*](work_with_rows_cols.md#setting-column-width-and-row-height) und [*Open filter*](filtering_data.md#opening-a-filter-with-the-keyboard) + +### Aktualisierungen {#updates-604} + +- Tastaturnavigation (siehe die [Liste der Hotkeys](hotkeys.md)): + - der Fokus bleibt auf der aktiven Zelle, `Tab` und `Shift + Tab` verlassen die Zellen von der letzten bzw. der ersten Zelle des Tabellenblatts aus, und `Ctrl + F6` verschiebt den Fokus zwischen Menü, Symbolleiste, Tabellenblatt und Tabellenblatt-Registerkarten + - die Symbolleiste, die Menüleiste und die Tabellenblatt-Registerkarten sind jeweils ein einzelner Tab-Stopp und werden mit den Pfeiltasten navigiert + - neue Tastenkombinationen wurden hinzugefügt, zum Beispiel `Shift + F10` für das Kontextmenü und `Ctrl (Cmd) + Shift + 9` / `Ctrl (Cmd) + Shift + 0` zum Einblenden ausgeblendeter Zeilen und Spalten + - die Farb- und Rahmen-Popups der Symbolleiste übernehmen beim Öffnen den Fokus und werden mit `Esc` und `Tab` geschlossen +- Die Pfeiltasten stoppen an der ersten und letzten sichtbaren Zeile und Spalte, anstatt zum gegenüberliegenden Rand zu springen, und eine Pfeiltaste am Rand reduziert einen ausgewählten Bereich auf die aktive Zelle +- Mit einem Input Method Editor (IME) eingegebener Text wird in der aktiven Zelle angezeigt und startet die Bearbeitung über die Methode [`startEdit()`](api/spreadsheet_startedit_method.md), sodass die Events `beforeEditStart` und `afterEditStart` dafür ausgelöst werden +- Die Methode [`setFocusedCell()`](api/selection_setfocusedcell_method.md) verschiebt den Tastaturfokus auf die Zelle +- Ein [Link in einer Zelle](work_with_cells.md#inserting-a-hyperlink-into-a-cell) wird als echter Link dargestellt, der in einem neuen Tab geöffnet wird, und `Alt (Option) + Enter` öffnet den Link der aktiven Zelle +- Der [Nur-Lese-Modus](api/spreadsheet_readonly_config.md) behält die Tastaturnavigation, die Auswahl, das Kopieren und die Suche bei, und Screenreader kündigen abgelehnte Bearbeitungen an. Um die Auswahl auszuschalten, verwenden Sie die Option `selection: false` +- [Das Entfernen einer Zeile oder Spalte über eine zusammengeführte Zelle](merge_cells.md#removing-rows-and-columns-of-merged-cells) entfernt alle Zeilen bzw. Spalten der zusammengeführten Zelle +- Neue Oberflächen- und Screenreader-Texte im [Gebietsschema `spreadsheet`](localization.md#default-locale) sowie [Übersetzung der integrierten Widgets](localization.md#localizing-built-in-widgets) +- Die Variable [`--dhx-spreadsheet-focus-color`](/themes/#spreadsheet-specific-styles) für den Tastaturfokus sowie die Referenzfarben von Formeln mit höherem Kontrast in den hellen Themes + +### Fehlerbehebungen {#fixes-604} + +- Eine zusammengeführte Zelle wurde verworfen, anstatt verschoben zu werden, wenn eine Zeile oder Spalte vor ihr gelöscht wurde. Jetzt wird eine zusammengeführte Zelle, von der nur eine einzelne Zelle übrig bleibt, zu einer gewöhnlichen Zelle und behält ihren Wert +- Das Löschen einer Zeile oder Spalte über eine zusammengeführte Zelle entfernte nur eine Zeile bzw. Spalte der Zusammenführung +- Die Beschriftungen des Kontextmenüs zum Entfernen von Zeilen und Spalten zeigten nicht alle Zeilen oder Spalten einer zusammengeführten Zelle an, die entfernt würden +- Zeilen wurden nicht gelöscht, wenn sie den gesamten gefilterten Bereich abdeckten +- Der fixierte Bereich wurde nicht kleiner, wenn fixierte Zeilen oder Spalten gelöscht wurden +- Autofill löste einen Fehler aus, wenn die gezogenen Zellen keine einfache Zahl enthielten +- Die Seite fror bei den Tasten `Home`, `End`, `Ctrl (Cmd) + Home`, `Ctrl (Cmd) + End` und `Ctrl (Cmd) + Pfeiltaste` ein, wenn die erste oder letzte Zeile oder Spalte ausgeblendet war +- Die Schriftgröße ging verloren, wenn Zellen nach Excel kopiert oder aus Excel bzw. innerhalb von Spreadsheet eingefügt wurden +- Der Tooltip für ungültige Werte erschien abseits der ungültigen Zelle oder wurde nicht angezeigt +- `Esc` und `Tab` funktionierten im Listen-Editor nicht mehr, nachdem die Pfeiltasten verwendet wurden +- Die Suche hob zuerst den zweiten Treffer hervor und aktualisierte die Ergebnisse nach einer Bearbeitung oder einem Wechsel des Tabellenblatts nicht +- Beim Import oder Export in einem Browser ohne WebAssembly trat ein Skriptfehler auf +- Nach `destructor()` blieben Dokument-Listener und innere Widgets zurück +- Der Tastaturfokus ging verloren, nachdem die Suchleiste geschlossen wurde +- Ein geschlossenes Kontextmenü wurde erneut geöffnet +- Die aktive Zelle wurde bei der Tastaturnavigation eine Zelle zu kurz an den Rand des Viewports gescrollt +- Eine Formel mit einem ungültigen Bezug zeigte einen fehlerhaften oder wiederholten `#REF!`-Fehler statt eines einzelnen `#REF!` + +### React Spreadsheet {#react-spreadsheet-604} + +React Spreadsheet enthält alle oben aufgeführten Aktualisierungen und Fehlerbehebungen von Spreadsheet. Die folgenden Änderungen betreffen nur den React-Wrapper. + +#### Aktualisierungen {#react-updates-604} + +- Die neue Prop [`selection`](react/props.md#runtime-props) +- Der Typ [`ISelection`](react/types.md#re-exported-upstream-types) wird re-exportiert +- [`readonly`](react/props.md#init-only-props) ist eine Init-only-Prop + +#### Fehlerbehebungen {#react-fixes-604} + +- Die Event-Callbacks und `onStateChange` wurden nicht ausgelöst, nachdem Spreadsheet durch eine Änderung einer Init-only-Prop neu erstellt wurde +- Die Event-Handler des Wrappers wurden beim Unmount nicht entfernt +- Die Daten aus `loadUrl` wurden beim Mount zweimal geladen und nach dem Neuerstellen von Spreadsheet erneut über die beibehaltenen Daten + ## Version 6.0.3 {#version-603} Veröffentlicht am 24. August 2026 diff --git a/i18n/de/docusaurus-plugin-content-docs/current/work_with_cells.md b/i18n/de/docusaurus-plugin-content-docs/current/work_with_cells.md index 635d959d..443817d7 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/work_with_cells.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/work_with_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: Zellen bearbeiten title: Zellen bearbeiten -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie alles über die Arbeit mit Zellen. Lesen Sie Entwicklerhandbücher und die API-Referenz, testen Sie Codebeispiele und Live-Demos, und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Bearbeiten Sie Zellen in DHTMLX Spreadsheet. Geben Sie Inhalte ein, fügen Sie Hyperlinks ein, verwenden Sie Dropdown-Listen, füllen Sie mehrere Zellen aus, kopieren Sie Zellen von und nach Excel und sperren Sie Zellen. --- # Zellen bearbeiten {#editing-cells} @@ -145,14 +145,27 @@ Sie können Zellen automatisch mit Daten füllen. So funktioniert es: - Um die Reihe 1, 3, 5, 7, 9, ... zu erstellen, geben Sie 1 und 3 in die ersten beiden Zellen ein. - Um die Reihe 2, 4, 6, 8, 10, ... zu erstellen, geben Sie 2 und 4 in die ersten beiden Zellen ein. - Neben Zahlen können Sie auch Buchstaben in einem Muster verwenden, zum Beispiel: Um eine Reihe wie 1, a, 2, b, 3, a, 4, b, ... zu erstellen, geben Sie 1, a, 2, b in die ersten vier Zellen ein. + - Um eine Zahl am Ende eines Textes fortzusetzen, geben Sie die ersten Werte ein, zum Beispiel: Um eine Reihe item1, item2, item3, ... zu erstellen, geben Sie item1 und item2 in die ersten beiden Zellen ein. + - Um eine Reihe von Datumsangaben zu erstellen, geben Sie ein Datum in die erste Zelle ein: Jede weitere Zelle erhält den nächsten Tag. +- Wiederholen des Texts + +Beispiel: Um die Reihe North, South, North, South, ... zu erstellen, geben Sie North und South in die ersten beiden Zellen ein. Zahlen in Zellen mit dem Format *Text* werden auf dieselbe Weise wiederholt. 3\. Ziehen Sie den **Ausfüllpunkt** ![DHTMLX Spreadsheet-Autofill: Ausfüllpunkt ziehen, um Zelldaten zu replizieren](/img/autofill.gif) +## Zellen von und nach Excel kopieren {#copying-cells-to-and-from-excel} + +Sie können Zellen mit **Ctrl (Cmd) + C** kopieren und mit **Ctrl (Cmd) + V** einfügen, und zwar innerhalb von Spreadsheet sowie zwischen Spreadsheet und Microsoft Excel: + +- innerhalb von Spreadsheet behalten die Zellen ihre Werte, Formeln, Stile, Zahlenformate und Links. Die Zellbezüge in den Formeln werden an die neue Position verschoben +- in Excel erhalten die eingefügten Zellen die Werte (die Ergebnisse der Formeln, nicht die Formeln), die Stile (einschließlich der Schriftgröße), zusammengeführte Zellen und Links. Zeilen, die durch einen Filter ausgeblendet sind, werden übersprungen +- aus Excel kopierte Zellen behalten beim Einfügen in Spreadsheet ihre Werte, Stile (einschließlich der Schriftgröße), Zahlenformate, zusammengeführte Zellen und Links + ## Zellen sperren {#locking-cells} -Sie können Zellen sperren, um ihre Werte vor Änderungen zu schützen. Wenn Sie eine Zelle sperren, wird in der oberen rechten Ecke ein graues "Schlüssel"-Symbol angezeigt. Gesperrte Zellen reagieren nicht auf Bearbeitungsversuche. +Sie können Zellen sperren, um ihre Werte vor Änderungen zu schützen. Wenn Sie eine Zelle sperren, wird in der oberen rechten Ecke ein graues "Schlüssel"-Symbol angezeigt. Gesperrte Zellen reagieren nicht auf Bearbeitungsversuche. Screenreader kündigen die abgelehnte Bearbeitung an: „Die Zelle ist gesperrt" ("The cell is locked") bei einer einzelnen Zelle oder „Gesperrte Zellen wurden nicht geändert" ("Locked cells were not changed"), wenn der ausgewählte Bereich gesperrte Zellen enthält. ![DHTMLX Spreadsheet: gesperrte Zellen, markiert mit einem grauen Schlüssel-Symbol in der oberen rechten Ecke](/img/lockedcells.png) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/work_with_rows_cols.md b/i18n/de/docusaurus-plugin-content-docs/current/work_with_rows_cols.md index ff40c61f..97ce073d 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/work_with_rows_cols.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/work_with_rows_cols.md @@ -1,7 +1,7 @@ --- sidebar_label: Arbeiten mit Zeilen und Spalten title: Arbeiten mit Zeilen und Spalten -description: Sie erfahren, wie Sie in der DHTMLX JavaScript Spreadsheet-Bibliothek mit Zeilen und Spalten arbeiten. Entdecken Sie Entwicklerhandbücher und API-Referenz, probieren Sie Code-Beispiele und Live-Demos aus, und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Arbeiten Sie in DHTMLX Spreadsheet mit Zeilen und Spalten. Fügen Sie sie hinzu und entfernen Sie sie, passen Sie die Spaltenbreite automatisch an, legen Sie Spaltenbreite und Zeilenhöhe fest, fixieren Sie sie und blenden Sie sie aus und ein. --- # Arbeiten mit Zeilen und Spalten {#work-with-rows-and-columns} @@ -54,6 +54,10 @@ Um eine Zeile zu entfernen, führen Sie die folgenden Schritte aus: Um mehrere Zeilen auf einmal zu entfernen: Wahlen Sie die Zeilen aus, klicken Sie mit der rechten Maustaste, um das Kontextmenü aufzurufen, und wählen Sie *Rows -> Remove rows [ids]*. ::: +:::info +Wenn die ausgewählte Zelle innerhalb einer zusammengeführten Zelle liegt, werden alle Zeilen der zusammengeführten Zelle entfernt. Details finden Sie im Artikel [Zellen zusammenführen](merge_cells.md#removing-rows-and-columns-of-merged-cells). +::: + ### Spalten hinzufügen {#adding-columns} Um eine neue Spalte hinzuzufügen, führen Sie die folgenden Schritte aus: @@ -98,6 +102,10 @@ Um eine Spalte zu entfernen, führen Sie die folgenden Schritte aus: Um mehrere Spalten auf einmal zu entfernen: Wahlen Sie die Spalten aus, klicken Sie mit der rechten Maustaste, um das Kontextmenü aufzurufen, und wählen Sie *Columns -> Remove columns [ids]*. ::: +:::info +Wenn die ausgewählte Zelle innerhalb einer zusammengeführten Zelle liegt, werden alle Spalten der zusammengeführten Zelle entfernt. Details finden Sie im Artikel [Zellen zusammenführen](merge_cells.md#removing-rows-and-columns-of-merged-cells). +::: + ## Spaltenbreite automatisch anpassen {#autofit-column-width} Um die Spaltenbreite so zu ändern, dass sie automatisch dem längsten Inhalt der Spalte entspricht, können Sie: @@ -116,6 +124,50 @@ Um die Spaltenbreite so zu ändern, dass sie automatisch dem längsten Inhalt de ![DHTMLX Spreadsheet Columns submenu with the Fit to data option for autofit column width](/img/column_autofit.png) +## Spaltenbreite und Zeilenhöhe festlegen {#setting-column-width-and-row-height} + +### Spaltenbreite festlegen {#setting-column-width} + +Um eine genaue Breite für Spalten festzulegen, führen Sie die folgenden Schritte aus: + +1\. Wählen Sie eine Spalte oder eine Zelle in der Spalte aus. Um mehrere Spalten zu ändern, wählen Sie einen Zellbereich aus, der sie umfasst. + +2\. Klicken Sie mit der rechten Maustaste auf die Auswahl oder drücken Sie `Shift + F10` bzw. die Menütaste und wählen Sie *Columns -> Column width*. Derselbe Befehl ist im Menü des 3-Punkte-Symbols der Spalte verfügbar. + +![DHTMLX Spreadsheet context menu with the Columns submenu showing Column width](/img/column_width_context_menu.png) + +3\. Geben Sie im Dialog *Column width* die Breite in Pixeln ein und klicken Sie auf **Apply** oder drücken Sie `Enter`. + +![DHTMLX Spreadsheet Column width dialog with the width in pixels and the Cancel and Apply buttons](/img/column_width_dialog.png) + +### Zeilenhöhe festlegen {#setting-row-height} + +Um eine genaue Höhe für Zeilen festzulegen, führen Sie die folgenden Schritte aus: + +1\. Wählen Sie eine Zeile oder eine Zelle in der Zeile aus. Um mehrere Zeilen zu ändern, wählen Sie einen Zellbereich aus, der sie umfasst. + +2\. Klicken Sie mit der rechten Maustaste auf die Auswahl oder drücken Sie `Shift + F10` bzw. die Menütaste und wählen Sie *Rows -> Row height*. + +![DHTMLX Spreadsheet context menu with the Rows submenu showing Row height](/img/row_height_context_menu.png) + +3\. Geben Sie im Dialog *Row height* die Höhe in Pixeln ein und klicken Sie auf **Apply** oder drücken Sie `Enter`. + +![DHTMLX Spreadsheet Row height dialog with the height in pixels and the Cancel and Apply buttons](/img/row_height_dialog.png) + +### Anwendung der neuen Größe {#how-the-new-size-is-applied} + +Der Dialog zeigt die aktuelle Größe der ersten Spalte bzw. Zeile des ausgewählten Bereichs an und wendet die neue Größe auf jede Spalte bzw. Zeile dieses Bereichs an. Wenn mehrere Bereiche ausgewählt sind, wird der zuletzt ausgewählte Bereich verwendet. + +Die Größe wird auf ganze Pixel gerundet. Die Mindestbreite einer Spalte beträgt 20 px und die Mindesthöhe einer Zeile 10 px: Ein kleinerer positiver Wert wird durch das Minimum ersetzt. Solange das Feld leer ist oder der Wert keine positive Zahl ist, ist die Schaltfläche **Apply** deaktiviert. + +Die Schaltfläche **Cancel** oder `Esc` schließt den Dialog ohne Änderungen. Screenreader kündigen die neue Größe an, zum Beispiel „Column width set to 120 pixels". + +### Änderung rückgängig machen {#undoing-the-change} + +Die neue Größe kann mit `Ctrl (Cmd) + Z` rückgängig gemacht werden. + +Um die Änderung im Code zu verarbeiten, verwenden Sie die [Actions](api/overview/actions_overview.md#list-of-actions) `resizeCol` und `resizeRow`. + ## Zeilen und Spalten fixieren/Fixierung aufheben {#freezingunfreezing-rows-and-columns} ### Zeilen fixieren {#freezing-rows} @@ -212,6 +264,10 @@ Um eine Zeile auszublenden, führen Sie die folgenden Schritte aus: ![DHTMLX Spreadsheet context menu with the Rows submenu showing Hide rows](/img/hide_row_context_menu.png) +:::info +Wenn sich die aktive Zelle in einer Zeile befindet, die ausgeblendet wird, wechselt die aktive Zelle zur ersten sichtbaren Zeile darunter, und die Auswahl wird auf diese Zelle reduziert. Wenn darunter keine sichtbaren Zeilen vorhanden sind, wechselt sie zur letzten sichtbaren Zeile darüber. +::: + ### Zeilen einblenden {#showing-rows} Um ausgeblendete Zeilen einzublenden, führen Sie einen der folgenden Schritte aus: @@ -228,6 +284,8 @@ Um ausgeblendete Zeilen einzublenden, führen Sie einen der folgenden Schritte a ![DHTMLX Spreadsheet context menu with the Rows submenu showing Show rows](/img/show_rows_context_menu.png) +- oder wählen Sie Zeilen oder mehrere Zellen aus, sodass die ausgeblendeten Zeilen in die Auswahl eingeschlossen sind, und drücken Sie `Ctrl (Cmd) + Shift + 9`. Wählen Sie zum Beispiel die Zeilen 2-4 aus, um die ausgeblendete Zeile 3 einzublenden. Wenn die Auswahl keine ausgeblendeten Zeilen enthält, kündigen Screenreader „No hidden rows in the selection" an + ### Spalten ausblenden {#hiding-columns} Um eine Spalte auszublenden, führen Sie die folgenden Schritte aus: @@ -244,6 +302,10 @@ Um eine Spalte auszublenden, führen Sie die folgenden Schritte aus: ![DHTMLX Spreadsheet context menu with the Columns submenu showing Hide columns](/img/hide_columns_context_menu.png) +:::info +Wenn sich die aktive Zelle in einer Spalte befindet, die ausgeblendet wird, wechselt die aktive Zelle zur ersten sichtbaren Spalte rechts davon, und die Auswahl wird auf diese Zelle reduziert. Wenn rechts keine sichtbaren Spalten vorhanden sind, wechselt sie zur letzten sichtbaren Spalte links. +::: + ### Spalten einblenden {#showing-columns} Um ausgeblendete Spalten einzublenden, führen Sie einen der folgenden Schritte aus: @@ -259,3 +321,5 @@ Um ausgeblendete Spalten einzublenden, führen Sie einen der folgenden Schritte (*In der folgenden Abbildung ist die Spalte C ausgeblendet*) ![DHTMLX Spreadsheet context menu with the Columns submenu showing Show columns](/img/show_columns_context_menu.png) + +- oder wählen Sie Spalten oder mehrere Zellen aus, sodass die ausgeblendeten Spalten in die Auswahl eingeschlossen sind, und drücken Sie `Ctrl (Cmd) + Shift + 0`. Wenn die Auswahl keine ausgeblendeten Spalten enthält, kündigen Screenreader „No hidden columns in the selection" an diff --git a/i18n/de/docusaurus-plugin-content-docs/current/work_with_sheets.md b/i18n/de/docusaurus-plugin-content-docs/current/work_with_sheets.md index e6dce490..b9d8bcba 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/work_with_sheets.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/work_with_sheets.md @@ -1,7 +1,7 @@ --- sidebar_label: Mit Tabellenblättern arbeiten title: Mit Tabellenblättern arbeiten -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie, wie Sie mit Tabellenblättern arbeiten. Durchsuchen Sie Entwicklerhandbücher und die API-Referenz, probieren Sie Codebeispiele und Live-Demos aus und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Fügen Sie in DHTMLX Spreadsheet über die untere Toolbar und die Blattregister Tabellenblätter hinzu, entfernen, benennen und wechseln Sie sie und verweisen Sie in Formeln auf Zellen anderer Blätter. --- # Mit Tabellenblättern arbeiten {#work-with-sheets} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/working_with_cells.md b/i18n/de/docusaurus-plugin-content-docs/current/working_with_cells.md index 9a6be8f4..24849540 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/working_with_cells.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/working_with_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: Mit Zellen arbeiten title: Mit Zellen arbeiten -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie, wie Sie mit Zellen arbeiten. Entwickleranleitungen und API-Referenz, Code-Beispiele, Live-Demos und eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet stehen zur Verfügung. +description: Setzen und lesen Sie über die API Werte und Stile von Zellen in DHTMLX Spreadsheet, validieren Sie Zellen, fügen Sie Links ein und bearbeiten, sperren, verbinden und markieren Sie Zellen. --- # Mit Zellen arbeiten {#work-with-cells} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/working_with_sheets.md b/i18n/de/docusaurus-plugin-content-docs/current/working_with_sheets.md index 0b5ac0a5..9374487d 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/working_with_sheets.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/working_with_sheets.md @@ -1,7 +1,7 @@ --- sidebar_label: Mit Tabellen arbeiten title: Mit Tabellen arbeiten -description: In der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren Sie, wie Sie mit Tabellen arbeiten. Hier finden Sie Entwickleranleitungen und API-Referenzen, Codebeispiele und Live-Demos sowie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet. +description: Laden Sie mehrere Tabellenblätter in DHTMLX Spreadsheet und fügen Sie Blätter mit API-Methoden hinzu, entfernen, lesen, leeren und wechseln Sie sie. --- # Mit Tabellen arbeiten diff --git a/i18n/de/docusaurus-plugin-content-docs/current/working_with_ssheet.md b/i18n/de/docusaurus-plugin-content-docs/current/working_with_ssheet.md index dcc430d9..59d3d55a 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/working_with_ssheet.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/working_with_ssheet.md @@ -1,7 +1,7 @@ --- sidebar_label: Mit der Tabellenkalkulation arbeiten title: Mit der Tabellenkalkulation arbeiten -description: Sie können in der Dokumentation der DHTMLX JavaScript Spreadsheet-Bibliothek erfahren, wie Sie mit der Tabellenkalkulation arbeiten. Durchsuchen Sie Entwicklerhandbücher und die API-Referenz, testen Sie Codebeispiele und Live-Demos, und laden Sie eine kostenlose 30-Tage-Evaluierungsversion von DHTMLX Spreadsheet herunter. +description: Machen Sie über die API Aktionen in DHTMLX Spreadsheet rückgängig und wiederholen Sie sie, fügen Sie Zeilen und Spalten hinzu, entfernen, fixieren und blenden Sie sie aus, passen Sie die Spaltenbreite an, filtern, durchsuchen und sortieren Sie Daten und leeren Sie die Tabelle. --- # Mit der Tabellenkalkulation arbeiten {#work-with-spreadsheet} @@ -282,7 +282,7 @@ Ab v4.3 können Sie Daten in der Tabellenkalkulation mit der Methode [`sortCells - `dir` - die Sortierrichtung: 1 - aufsteigende Sortierreihenfolge, -1 - absteigende Sortierreihenfolge ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // Konfigurationsparameter }); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current.json b/i18n/ko/docusaurus-plugin-content-docs/current.json index 1bf9b07c..4648be09 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current.json +++ b/i18n/ko/docusaurus-plugin-content-docs/current.json @@ -83,6 +83,10 @@ "message": "셀 작업", "description": "The generated-index page title for category 'Work with cells' in sidebar 'docs'" }, + "sidebar.docs.category.Accessibility": { + "message": "접근성", + "description": "The label for category 'Accessibility' in sidebar 'docs'" + }, "sidebar.docs.category.Frameworks & integrations": { "message": "프레임워크 및 통합", "description": "The label for category 'Frameworks & integrations' in sidebar 'docs'" diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/.sync b/i18n/ko/docusaurus-plugin-content-docs/current/.sync index 96f6c508..0532604c 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/.sync +++ b/i18n/ko/docusaurus-plugin-content-docs/current/.sync @@ -1 +1 @@ -2b6d3c2fd433461ffce34526974de3f1ba5161a8 +9ff2cef64e00d4e77947433a670dc5d573fcc7f4 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/accessibility.md b/i18n/ko/docusaurus-plugin-content-docs/current/accessibility.md new file mode 100644 index 00000000..bced66c2 --- /dev/null +++ b/i18n/ko/docusaurus-plugin-content-docs/current/accessibility.md @@ -0,0 +1,449 @@ +--- +sidebar_label: 접근성 +title: 접근성 +description: DHTMLX Spreadsheet를 키보드 및 스크린 리더 사용자가 이용할 수 있도록 만드는 방법을 설명합니다. WCAG 2.2 AA를 목표로 하는 WAI-ARIA 지원, 키보드 탐색, 스크린 리더 안내 및 고대비 테마에 대해 알아보십시오. +--- + +# DHTMLX Spreadsheet의 접근성 + +이 가이드는 접근성 요구 사항을 충족해야 하는 애플리케이션에 DHTMLX Spreadsheet를 포함하는 개발자를 위한 문서입니다. 이 가이드를 사용하여 컴포넌트를 체크리스트와 대조하고, 키보드, 스크린 리더 및 고대비 사용자를 위해 컴포넌트를 구성하십시오. + +Spreadsheet는 마크업의 일부로 WAI-ARIA 역할과 상태를 렌더링합니다. 키보드 포커스는 활성 셀에 유지되며, 툴바, 메뉴 바 및 시트 탭은 각각 하나의 탭 정지점입니다. 거부된 편집이나 검색 결과처럼 별도의 요소가 없는 변경 사항은 스크린 리더가 소리 내어 읽는 라이브 영역(live region)으로 전달됩니다. + +:::info 목표 준수 수준 +DHTMLX Spreadsheet는 **WCAG 2.2 Level AA**, 미국 재활법 **Section 508**, 그리고 **EN 301 549**(유럽 접근성법의 기술 기준)를 충족하도록 설계되었습니다. + +준수 여부는 DHTMLX Spreadsheet 6.0.4에 대해 기준별로 보고됩니다. 상세한 **Accessibility Conformance Report (VPAT® 2.5)** 는 다음에서 확인할 수 있습니다. [Accessibility Conformance Report](accessibility_conformance_report.md). +::: + +## 기능 {#capabilities} + +| 영역 | 지원 내용 | +| ---- | ------- | +| 키보드 조작 | 셀에 대한 모든 명령에 키가 있습니다. 툴바, 메뉴 바 및 시트 탭은 화살표 키로 탐색하는 단일 탭 정지점입니다. 열 너비, 행 높이 및 열 필터에는 컨텍스트 메뉴 명령이 있으므로 드래그하거나 아이콘을 클릭할 필요가 없습니다 | +| WAI-ARIA 시맨틱 | 셀은 `columnheader`, `rowheader` 및 `gridcell` 요소가 포함된 `grid`입니다. 역할은 항상 렌더링됩니다 | +| 포커스 모델 | 키보드 포커스는 활성 셀에 있습니다. Tab은 활성 셀을 통해 시트로 진입하며 마지막 셀과 첫 번째 셀에서 시트를 벗어납니다. Ctrl + F6은 메뉴, 툴바, 시트 및 시트 탭 간에 포커스를 이동합니다 | +| 선택 모델 | 활성 셀, 범위 및 여러 범위는 `aria-selected`를 통해 노출되며, 범위의 크기가 안내됩니다. 선택은 [`selection`](api/spreadsheet_selection_config.md) 옵션으로 끌 수 있습니다 | +| 읽기 전용 모드 | 시트에서 탐색, 선택, 복사 및 검색할 수 있습니다. 편집은 거부되고 안내되며, 컨텍스트 메뉴는 사용할 수 없습니다 | +| 스크린 리더 | NVDA, JAWS 및 VoiceOver로 테스트되었습니다 | +| 시각적 접근성 | `contrast-light` 및 `contrast-dark` 테마, 모든 테마에서 보이는 포커스 표시기, 색상에 의존하지 않는 단서 | +| 텍스트 크기 조정 및 확대 | 200% 및 400% 확대와 텍스트 간격 재정의 상태에서도 레이아웃을 조작할 수 있습니다 | +| 사용자 정의 | 사용자 고유의 메시지를 위한 공개 [`announce()`](api/spreadsheet_announce_method.md) 메서드와 모든 기본 제공 이름 및 안내를 위한 번역 가능한 `aria_*` 로캘 문자열 | +| 표준 | WCAG 2.2 AA, Section 508, EN 301 549 | + +## 적용 범위 {#covered-areas} + +이 가이드는 Spreadsheet 위젯을 다룹니다. + +- 셀, 열 및 행 헤더, 병합된 셀, 고정된 행과 열 +- 선택: 활성 셀, 범위 및 여러 범위 +- 수식 입력줄과 셀 에디터(값 목록이 있는 셀의 에디터 포함) +- 색상 및 테두리 팝업이 있는 툴바, 메뉴 바 및 컨텍스트 메뉴 +- 시트 탭 +- 정렬, 필터링, 검색, 데이터 유효성 검사, 셀의 링크, 가져오기 및 내보내기 +- 테마와 포커스 표시기 + +최종 페이지의 접근성은 호스트 애플리케이션에도 좌우됩니다. [Host-page responsibilities](#host-page-responsibilities)를 참조하십시오. + +## WAI-ARIA 지원 {#wai-aria-support} + +Spreadsheet는 마크업에 WAI-ARIA 역할과 속성을 자동으로 추가하며, 이를 끌 수 없습니다. 위젯의 각 부분에는 고유한 역할과 이름이 있으며, 이름은 [로캘](#localization)에서 가져옵니다. + +### Spreadsheet 컨테이너 {#spreadsheet-container} + +Spreadsheet의 각 부분은 이름이 지정된 별도의 컨트롤입니다. + +| 부분 | 역할 / 속성 | 접근 가능한 이름 | +| ---- | ---------------- | --------------- | +| 메뉴 바 | `role="menubar"` + `aria-label` | "Main" | +| 툴바 | `role="toolbar"` + `aria-label` | "Formatting" | +| 수식 입력줄 | 입력란의 `aria-label` | "Formula bar, B7", 활성 셀의 주소 포함 | +| 셀 | `role="grid"` + `aria-label` | "Spreadsheet" | +| 시트 탭 | `role="toolbar"` + `aria-label` | "Sheets" | +| 라이브 영역 | `role="status"`, `aria-live="polite"`, `aria-atomic="true"` | 시각적으로 숨겨져 있으며, `role="grid"` 바깥의 그리드 옆에 배치됩니다 | + +Spreadsheet의 루트 요소에는 랜드마크 역할이 없으므로 페이지에 맞는 랜드마크 안에 배치할 수 있습니다. + +### 셀 영역 {#cell-surface} + +다음 속성은 셀 전체를 설명합니다. `.dhx_grid-content` 요소가 이 속성들을 가집니다. + +| 선택자 | 역할 / 속성 | 용도 | +| -------- | ---------------- | ------- | +| `.dhx_grid-content` | `role="grid"` | 셀의 대화형 그리드 | +| `.dhx_grid-content` | `aria-label` | "Spreadsheet", `aria_grid` 로캘 키에서 가져옴 | +| `.dhx_grid-content` | `aria-rowcount` | 시트의 행 수에 헤더 행을 더한 값 | +| `.dhx_grid-content` | `aria-colcount` | 표시되는 열 수에 행 번호 열을 더한 값 | +| `.dhx_grid-content` | `aria-readonly` | [읽기 전용 모드](api/spreadsheet_readonly_config.md)이거나 [선택](api/spreadsheet_selection_config.md)이 꺼져 있는 동안 `"true"` | +| `.dhx_grid-content` | `aria-multiselectable` | `"true"`. 선택이 꺼져 있는 동안에는 `"false"` | + +### 행과 셀 {#rows-and-cells} + +다음 표는 행과 셀의 역할, 위치 및 상태 속성을 나열합니다. + +| 선택자 | 역할 / 속성 | 용도 | +| -------- | ---------------- | ------- | +| 행 | `role="row"` + `aria-rowindex` | 시트의 행. 열 헤더가 첫 번째 행이므로 시트의 1행은 `aria-rowindex="2"`를 가집니다 | +| 셀 | `role="gridcell"` + `aria-colindex` | 셀. 행 번호가 첫 번째 열이므로 A열은 `aria-colindex="2"`를 가집니다 | +| 행 번호 | `role="rowheader"` | 행의 헤더 | +| 셀 | `aria-selected` | 활성 셀과 선택된 범위의 모든 셀에서 `"true"` | +| 셀 | `aria-readonly` | 읽기 전용 모드, [선택](api/spreadsheet_selection_config.md)이 꺼져 있는 동안, 그리고 [잠긴 셀](work_with_cells.md#locking-cells)에서 `"true"` | +| 셀 | `tabindex` | 활성 셀에서 `"0"`, 다른 셀에서 `"-1"`이므로 셀은 하나의 탭 정지점입니다 | +| 활성 셀 | DOM 포커스 | 키보드 포커스는 별도의 입력란이 아니라 활성 셀 자체에 있습니다. 셀을 편집하는 동안에는 포커스가 셀 에디터에 있습니다 | +| 병합된 셀 | `aria-colspan` / `aria-rowspan` | 병합된 셀이 걸쳐 있는 열 또는 행의 수. 병합된 셀에 가려진 셀은 `aria-hidden="true"`로 숨겨집니다 | +| 셀의 링크 | `target="_blank"` 및 `rel="noopener noreferrer"`가 있는 `
` | `http`, `https`, `mailto`, `ftp` 또는 `tel` 스킴을 사용하는 링크 | + +셀에는 값과 함께 스크린 리더가 읽는 시각적으로 숨겨진 텍스트도 포함됩니다. + +| 숨겨진 텍스트 | 시점 | +| ----------- | ---- | +| 셀 주소(예: "B7") | 활성 셀과 선택된 범위의 모든 셀. 스크린 리더는 값보다 먼저 주소를 읽습니다 | +| "link" | 링크가 있는 선택된 셀. Alt + Enter로 링크를 엽니다 | +| "locked" | 선택된 잠긴 셀 | +| 수식 오류에 대한 설명(예: "Reference error. Check the cell references") | 수식 오류가 있는 셀 | +| "Invalid value. Choose a value from the list" | 값이 [값 목록](work_with_cells.md#using-drop-down-lists-in-cells)에 없는 셀 | +| "Filter" / "Filter applied" | 필터 아이콘이 있는 셀 | + +### 열 및 행 헤더 {#column-and-row-headers} + +| 선택자 | 역할 / 속성 | 용도 | +| -------- | ---------------- | ------- | +| 열 문자 | `role="columnheader"` + `aria-colindex` | 열의 헤더 | +| 모두 선택 모서리 | `role="columnheader"` | "Select all"로 명명됨 | +| 행 번호 | `role="rowheader"` | 행의 헤더 | +| 열 메뉴 아이콘, 숨겨진 행과 열의 아이콘 | `aria-hidden="true"` | 장식용. 명령은 컨텍스트 메뉴에 있습니다 | + +헤더는 탭 정지점이 아닙니다. 열 문자, 행 번호 또는 모서리를 클릭하면 행이나 열이 선택되고 포커스가 활성 셀로 돌아갑니다. + +### 수식 입력줄과 에디터 {#formula-bar-and-editors} + +| 선택자 | 역할 / 속성 | 용도 | +| -------- | ---------------- | ------- | +| 수식 입력줄 입력란 | `aria-label` | "Formula bar, B7", 활성 셀의 주소 포함. 잠긴 셀에서는 입력란이 `readonly`이므로 값을 읽을 수 있습니다. 선택이 꺼져 있는 동안 수식 입력줄은 비어 있고 잠깁니다 | +| 셀 에디터 입력란 | `aria-label` | "Cell editor, B7" | +| 값 목록이 있는 셀의 에디터 | `role="combobox"`, `aria-controls`, `aria-expanded`, `aria-activedescendant` | 값 목록은 `option` 요소로 구성된 `listbox`이며, 강조 표시된 옵션은 `aria-selected`입니다 | +| 잘못된 값이 있는 에디터 | `aria-invalid="true"` | 셀의 저장된 값이 값 목록에 없습니다. 이 속성은 사용자가 입력하는 동안이 아니라 값이 저장된 후에 업데이트됩니다 | +| 수식 도움말의 닫기 아이콘 | `role="button"` + `aria-label` | "Close formula help" | + +### 툴바와 메뉴 {#toolbar-and-menus} + +| 선택자 | 역할 / 속성 | 용도 | +| -------- | ---------------- | ------- | +| 툴바 | `role="toolbar"` + `aria-label` | "Formatting". 테두리 팝업, 검색 바 및 링크 팝업의 툴바는 "Borders", "Search" 및 "Link"로 명명됩니다 | +| 툴바 버튼 | `aria-label` | 버튼의 값. 아이콘 버튼은 툴팁으로 명명됩니다(예: "Bold (ctrl+b)"). 아이콘은 `aria-hidden="true"`로 숨겨집니다 | +| Bold, Italic, Underline, Strikethrough, Lock, Filter | `aria-pressed` | 서식 또는 필터가 켜져 있는지 여부 | +| 드롭다운을 여는 버튼 | `aria-haspopup="menu"`, `aria-expanded` | 드롭다운은 해당 버튼의 이름을 따른 `menu`입니다 | +| 정렬, 텍스트 줄 바꿈, 숫자 형식 | `role="menuitemradio"` + `aria-checked` | 배타적 집합의 한 옵션 | +| Text color, Background color, Border color | `aria-label` | 컨트롤과 현재 색상의 이름(예: "Text color: dark gray") | +| 색상 팔레트 | `gridcell` 요소로 구성된 `role="grid"` | 그리드는 "Color palette"로 명명됩니다. 각 색상 셀은 해당 색상의 이름을 가지며, 선택된 셀은 `aria-selected="true"`를 가집니다 | +| 테두리 스타일 목록 | `option` 요소로 구성된 `role="listbox"` | 옵션은 "Thin line", "Medium line", "Thick line", "Dashed line", "Dotted line", "Double line"으로 명명됩니다 | +| 메뉴 바 | `role="menubar"` + `aria-label` | "Main". 항목은 `role="menu"`가 있는 팝업을 엽니다. 팝업에서 서식 항목은 `role="menuitemcheckbox"`를, 정렬, 텍스트 줄 바꿈 및 숫자 형식 항목은 `role="menuitemradio"`를 가집니다. 둘 다 `aria-checked`로 상태를 보고합니다 | +| 컨텍스트 메뉴 | `role="menu"` + `aria-label` | 셀용은 "Cell", 시트 탭용은 "Sheet" | + +### 시트 탭 {#sheet-tabs} + +| 선택자 | 역할 / 속성 | 용도 | +| -------- | ---------------- | ------- | +| 시트 탭 바 | `role="toolbar"` + `aria-label` | "Sheets" | +| 시트 탭 | `button` + `aria-pressed` | 탭은 해당 시트의 이름을 따릅니다. 활성 시트의 탭은 `aria-pressed="true"`를 가집니다 | +| 시트 추가 버튼 | `aria-label` | "Add sheet" | + +### 대화 상자 {#dialogs} + +| 선택자 | 역할 / 속성 | 용도 | +| -------- | ---------------- | ------- | +| Column width 및 Row height 대화 상자 | `role="dialog"`, `aria-modal="true"`, `aria-label` | 대화 상자 제목으로 명명됩니다. 입력란의 레이블은 "Width in pixels" / "Height in pixels"입니다 | +| 검색 바 | `role="dialog"` + `aria-label` | "Search"로 명명됩니다. 검색 입력란의 레이블은 "Search"이며, 버튼은 "Previous match", "Next match" 및 "Close search"로 명명됩니다 | +| Insert link, Data validation | `role="dialog"` + `aria-label` | 대화 상자 제목으로 명명됩니다 | +| 알림 | `role="alertdialog"`, `aria-modal="true"`, `aria-labelledby`, `aria-describedby` | 알림 헤더로 명명되고 알림 텍스트로 설명됩니다 | + +### 숨겨진 요소와 장식 요소 {#hidden-and-decorative-elements} + +Spreadsheet는 `aria-hidden="true"`를 사용하여 보조 기술에서 장식 부분을 숨깁니다. 여기에는 잠금, 필터 및 열 메뉴 아이콘, 숨겨진 행과 열의 아이콘, 모두 선택 아이콘이 포함됩니다. 선택 영역, 복사 및 검색 강조 표시, 채우기 핸들을 그리는 레이어도 숨겨집니다. 수식 입력줄에 있는 수식의 색상 복사본과 병합된 셀에 가려진 셀도 마찬가지입니다. 레이아웃 래퍼에는 `role="presentation"`이 있습니다. 그리드 앞뒤의 포커스 센티널은 포커스를 활성 셀로 전달하는 역할만 합니다. + +## 선택 및 편집 모델 {#selection-and-editing-model} + +DOM 포커스는 활성 셀 자체에 있으므로 스크린 리더는 별도의 입력란이 아니라 셀을 읽습니다. 활성 셀이 이동하면 스크린 리더는 새 셀의 주소를 먼저 읽고, 그다음 값과 숨겨진 설명을 읽습니다. 사용자가 키보드나 마우스로 범위를 선택하면 선택 변경이 멈춘 후 스크린 리더가 범위의 크기를 한 번 안내합니다. 여러 범위에 공유된 셀은 한 번만 계산되며, 숨겨진 행과 열의 셀도 계산됩니다. 셀을 편집하는 동안에는 아무것도 안내되지 않습니다. 범위가 활성 셀 하나로 줄어들면 해당 셀의 주소가 안내됩니다. + +| 상황 | 스크린 리더가 받는 내용 | +| --------- | --------------------------- | +| 활성 셀이 이동함 | 주소, 값 및 설명이 포함된 셀(예: "B7, 120, locked") | +| 범위가 선택됨 | "B2 to D7, 18 cells" | +| Ctrl로 여러 범위가 선택됨 | "B2 to B4, D2 to D4, 6 cells" | +| Enter, F2 또는 입력으로 에디터가 열림 | "Cell editor, B7"로 명명된 에디터 입력란 | +| 값 목록이 있는 셀의 에디터가 열림 | 확장된 콤보박스. ↑ 또는 ↓를 누르면 목록에서 강조 표시된 옵션을 읽습니다 | +| 편집이 저장됨 | 편집된 셀과 그 셀에 의존하는 셀의 새 수식 오류, 그리고 편집된 셀의 잘못된 값이 안내됩니다 | +| 잠긴 셀의 편집이 거부됨 | "The cell is locked" | +| 읽기 전용 모드에서 편집 키를 누름 | "The sheet is read-only" | + +Enter, F2 또는 입력으로 에디터가 열립니다. Enter는 값을 저장하고 아래로 이동하며, Tab은 값을 저장하고 오른쪽으로 이동하고, Esc는 편집을 취소합니다. + +## 키보드 탐색 {#keyboard-navigation} + +키보드는 Spreadsheet가 페이지에 표시되는 즉시 작동하며 별도의 구성이 필요하지 않습니다. 아래 표는 키보드 모델을 요약합니다. 전체 단축키는 [Hot keys list](hotkeys.md)를 참조하십시오. + +![툴바의 Horizontal align 드롭다운을 아래쪽 화살표 키로 열었으며 첫 번째 항목에 포커스가 있는 모습](/img/accessibility/toolbar_dropdown_focus.png) + +### 셀 {#cells} + +| 키 | 동작 | +| ---- | ------ | +| 화살표 키 | 활성 셀을 이동합니다. 활성 셀은 표시되는 첫 번째와 마지막 행 및 열에서 멈춥니다 | +| Shift + 화살표 키 | 선택된 범위를 확장합니다 | +| Home / End | 행에서 표시되는 첫 번째 또는 마지막 셀로 이동합니다 | +| Ctrl + 화살표 키, Ctrl + Home / End | 시트의 가장자리로 이동합니다 | +| Tab / Shift + Tab | 행 안에서 오른쪽 또는 왼쪽으로 이동합니다. 시트의 마지막 또는 첫 번째 셀에서는 포커스를 셀 밖의 다음 또는 이전 페이지 부분(예: 시트 탭 또는 수식 입력줄)으로 이동합니다 | +| Enter, F2 | 에디터를 엽니다 | +| Esc | 저장하지 않고 에디터를 닫습니다 | +| Ctrl + Space / Shift + Space | 열 또는 행을 선택합니다 | +| Ctrl + Shift + 9 / 0 | 선택된 범위 안의 숨겨진 행 또는 열을 표시합니다 | +| Alt + Enter | 활성 셀의 링크를 엽니다 | +| Shift + F10 또는 Menu 키 | 셀에 대한 명령이 있는 컨텍스트 메뉴를 엽니다. Ctrl + Space 이후에는 열에 대한 컨텍스트 메뉴를 엽니다 | +| Alt + ↑ / ↓, Ctrl + Alt + Page Down / Page Up | 다음 또는 이전 시트로 전환합니다 | + +### 부분 간 이동 {#moving-between-the-parts} + +| 키 | 동작 | +| ---- | ------ | +| Ctrl + F6 / Ctrl + Shift + F6 | 포커스를 다음 또는 이전 부분(메뉴, 툴바, 시트, 시트 탭)으로 이동합니다. 수식 입력줄과 숨겨진 부분은 건너뜁니다. 열려 있는 편집은 먼저 저장됩니다 | +| Tab / Shift + Tab | 페이지 탭 순서에서 포커스를 다음 또는 이전 부분으로 이동합니다. 각 바는 하나의 탭 정지점이며, 포커스는 마지막으로 사용한 컨트롤에 놓입니다 | + +### 툴바, 메뉴 바 및 시트 탭 {#toolbar-menu-bar-and-sheet-tabs} + +| 키 | 동작 | +| ---- | ------ | +| ← / →, Home / End | 바의 컨트롤 간에 이동합니다 | +| Enter / Space | 컨트롤을 누릅니다. 명령을 실행하거나, 드롭다운을 열거나, 시트로 전환합니다 | +| ↓ | 드롭다운을 열고 포커스를 첫 번째 항목으로 이동합니다 | +| ↑ / ↓ | 열려 있는 드롭다운 또는 메뉴의 항목 간에 이동합니다 | +| → / ← | 하위 메뉴를 열거나 닫습니다 | +| Esc | 드롭다운 또는 메뉴를 닫고 포커스를 해당 컨트롤로 되돌립니다 | + +### 팝업 및 대화 상자 {#popups-and-dialogs} + +| 키 | 동작 | +| ---- | ------ | +| 화살표 키, Home / End | 색상 팔레트의 색상 간에 이동합니다 | +| Enter | 색상, 테두리 또는 Column width 및 Row height 대화 상자의 크기를 적용합니다 | +| Esc | 팝업, 대화 상자 또는 검색 바를 닫고 포커스를 이를 연 컨트롤 또는 셀로 되돌립니다. 사용자 지정 색상 모드에서는 팔레트로 돌아갑니다. 테두리 팝업에서 연 색상 또는 스타일 팝업에서는 팝업을 닫고 포커스를 테두리 팝업의 해당 버튼으로 되돌립니다 | +| Tab / Shift + Tab | 대화 상자 또는 사용자 지정 색상 모드의 컨트롤 간에 이동합니다. 색상 팝업 또는 테두리 팝업에서는 팝업을 닫고 포커스를 해당 툴바 버튼으로 되돌립니다 | +| ↑ / ↓, Enter | 셀의 값 목록을 탐색하고 값을 선택합니다 | + +:::note +포인터 전용 동작에는 키보드 대안이 있습니다. 컨텍스트 메뉴의 *Column width* 및 *Row height* 명령은 드래그하지 않고도 정확한 크기를 설정하며, *Open filter* 명령은 아이콘을 클릭하지 않고도 필터를 엽니다. +::: + +## 보조 기술 {#assistive-technology} + +DHTMLX 팀은 다음 스크린 리더로 Spreadsheet를 테스트합니다. + +| 스크린 리더 | 브라우저 | 플랫폼 | +| ------------- | ------- | -------- | +| NVDA | Firefox | Windows | +| JAWS | Chrome | Windows | +| VoiceOver | Safari | macOS | + +스크린 리더는 각 상태를 해당 상태가 속한 요소에서 가져옵니다. + +| 상태 | 노출 방식 | 읽는 대상 | +| ----- | --------------- | ------- | +| 위치 | `aria-rowindex`, `aria-colindex` 및 셀 텍스트의 셀 주소 | 각 셀. 주소는 활성 셀과 선택된 범위의 셀 텍스트에 있습니다 | +| 선택 | `aria-selected` | 활성 셀과 선택된 범위의 셀 | +| 편집 가능 여부 | `aria-readonly` | 읽기 전용 모드와 선택이 꺼져 있는 동안의 그리드 및 셀, 그리고 잠긴 셀 | +| 병합된 셀 | `aria-colspan`, `aria-rowspan` | 병합된 셀 | +| 행 헤더 | `role="rowheader"` | 행 번호 | +| 토글 상태 | `aria-pressed` | Bold, Italic, Underline, Strikethrough, Lock 및 Filter 버튼과 시트 탭 | +| 선택 상태 | `aria-checked` | 메뉴 바의 서식 항목, 그리고 정렬, 텍스트 줄 바꿈 및 숫자 형식 항목 | +| 오류 및 잘못된 값 | 셀의 숨겨진 텍스트, `aria-invalid` | 셀과 해당 에디터 | +| 링크 | `` 및 숨겨진 텍스트 "link" | 링크가 있는 셀 | + +## 고대비 및 포커스 {#high-contrast-and-focus} + +### 테마 {#themes} + +Spreadsheet에는 `light`(기본값), `dark`, `contrast-light` 및 `contrast-dark`의 네 가지 기본 제공 테마가 있습니다. `contrast-light` 및 `contrast-dark` 테마는 텍스트에 대한 WCAG AA 대비 요구 사항을 충족합니다. `dhx.setTheme()` 메서드 또는 `data-dhx-theme` 속성으로 테마를 전환하십시오. + +~~~jsx +dhx.setTheme("contrast-light"); // or "contrast-dark" +~~~ + +자세한 내용은 [Built-in themes](/themes/) 문서를 참조하십시오. + +밝은 테마에서 수식의 셀 참조를 표시하는 색상은 최소 4.5:1의 대비를 가집니다. + +`contrast-light` 테마는 흰색 배경에 어두운 텍스트와 테두리를 그립니다. 아래 Spreadsheet에서는 필터 아이콘이 있는 셀의 컨텍스트 메뉴를 키보드로 열었습니다. 포커스가 있는 명령인 [*Open filter*](filtering_data.md#opening-a-filter-with-the-keyboard)는 점선 윤곽선으로 표시되고, 활성 셀은 테마의 기본 색상으로 된 실선 테두리로 표시됩니다. + +![contrast-light 테마의 Spreadsheet](/img/accessibility/spreadsheet_contrast_light.png) + +`contrast-dark` 테마는 어두운 배경에 밝은 텍스트와 테두리를 그립니다. 포커스가 툴바 컨트롤에 있으면 해당 컨트롤은 `--dhx-spreadsheet-focus-color` 색상의 포커스 링으로 표시되며, 이 색상은 어두운 테마에서 활성 셀 테두리의 기본 색상보다 밝습니다. + +![contrast-dark 테마의 Spreadsheet](/img/accessibility/spreadsheet_contrast_dark.png) + +### 포커스 표시기 {#focus-indicator} + +키보드 포커스는 모든 테마에서 표시됩니다. + +- 활성 셀에는 테마의 기본 색상으로 된 2px 실선 테두리가 있습니다 +- 키보드 포커스가 있는 셀과 셀 에디터에는 테마의 기본 색상으로 된 2px 윤곽선이 적용됩니다 +- 수식 입력줄과 툴바, 메뉴 바, 시트 탭, 테두리 팝업, 링크 팝업 및 검색 바의 컨트롤에는 `--dhx-spreadsheet-focus-color` 변수 색상으로 된 2px 윤곽선이 적용됩니다 +- 색상 팔레트, 테두리 스타일 목록, 툴바와 메뉴 바의 드롭다운 및 컨텍스트 메뉴에서는 포커스가 있는 항목에 `--dhx-color-focused` 색상으로 된 1px 점선 윤곽선이 적용됩니다 +- 셀의 목록 에디터에서는 포커스가 에디터에 유지되며, 목록의 현재 항목은 배경색으로 강조 표시됩니다 + +`--dhx-spreadsheet-focus-color` 변수는 어두운 테마에서 기본 색상보다 밝으며 [사용자 지정 테마](themes/custom_theme.md)에서 다시 정의할 수 있습니다. 각 테마에서 각 표시기의 대비는 [Accessibility Conformance Report](accessibility_conformance_report.md)에 나와 있습니다. + +### 색상 및 확대 {#color-and-zoom} + +- **색상이 유일한 신호가 아닙니다.** 활성 셀과 선택 영역에는 테두리와 채우기가 있고, 잘못된 값에는 표시기와 숨겨진 설명이 있으며, 서식 버튼은 `aria-pressed`를 통해 상태를 보고합니다. 색상 버튼의 접근 가능한 이름에는 색상 이름이 포함됩니다. +- **확대 및 리플로.** Spreadsheet는 200% 및 400% 확대에서도 조작할 수 있습니다. 셀은 두 방향으로 스크롤되며, 툴바, 메뉴 바 및 시트 탭은 320 CSS px 너비에 맞습니다. +- **텍스트 간격.** WCAG 텍스트 간격 재정의를 적용해도 컨트롤 레이블이 잘리지 않으며, 탭이 늘어나면 시트 탭 바가 스크롤됩니다. +- **보이는 위치로 스크롤.** 활성 셀은 고정된 행과 열 옆에서 보이는 위치로 스크롤됩니다. + +## 상태 안내 {#status-announcements} + +Spreadsheet는 별도의 요소가 없는 변경 사항을 polite 라이브 영역을 통해 안내하므로 스크린 리더는 현재 문장을 먼저 끝까지 읽습니다. + +| 이벤트 | 안내 텍스트 | 로캘 키 | +| ----- | -------------- | ---------- | +| 범위가 선택됨 | "B2 to D7, 18 cells" | `aria_selectedRange`, `aria_rangeExtent`, `aria_rangeSeparator` | +| 편집으로 수식 오류 또는 잘못된 값이 발생함 | "B7: Reference error. Check the cell references" | `aria_cellMessage` | +| 편집으로 여러 오류 / 잘못된 값이 발생함 | "3 new errors. B7: ..." / "3 invalid values. B7: ..." | `aria_newErrors`, `aria_invalidValues` | +| 잠긴 셀 / 범위의 편집이 거부됨 | "The cell is locked" / "Locked cells were not changed" | `aria_lockedCell`, `aria_lockedCells` | +| 읽기 전용 모드에서 편집 키를 누름 | "The sheet is read-only" | `aria_readonlySheet` | +| 검색 텍스트를 입력함 | "Results: 5. 1 of 5, B2" 또는 "No results" | `aria_searchResults`, `aria_searchMatch`, `aria_searchNoResults` | +| 다음 또는 이전 일치 항목이 표시됨 | "2 of 5, B7" | `aria_searchMatch` | +| Excel 파일을 내보냄 | "Exporting the file", "The file is exported" | `aria_exportStarted`, `aria_exportDone` | +| 파일 대화 상자에서 선택한 파일을 가져옴 | "Importing the file", "The file is imported" | `aria_importStarted`, `aria_importDone` | +| Column width / Row height 명령이 적용됨 | "Column width set to 120 pixels" | `aria_columnWidthSet`, `aria_rowHeightSet` | +| Ctrl + Shift + 9 / 0으로 표시할 항목을 찾지 못함 | "No hidden rows in the selection" | `aria_noHiddenRows`, `aria_noHiddenCols` | + +사용자 고유의 명령 결과를 안내하려면 [`announce()`](api/spreadsheet_announce_method.md) 메서드를 호출하십시오. + +~~~jsx +spreadsheet.announce("The report is saved"); +~~~ + +## 현지화 {#localization} + +접근 가능한 이름, 셀 설명 및 안내는 인터페이스 레이블 옆에 `aria_` 접두사가 있는 키로 `spreadsheet` 로캘에 저장됩니다. Spreadsheet를 초기화하기 전에 `dhx.i18n.setLocale()` 메서드로 번역하십시오. + +~~~jsx +dhx.i18n.setLocale("spreadsheet", { + // other keys of the locale + aria_grid: "Tabelle", + aria_cellEditor: "Zelleneditor, {cell}", + aria_readonlySheet: "Das Blatt ist schreibgeschützt", + aria_selectedRange: "{range}, {count} Zellen", + aria_rangeExtent: "{start} bis {end}" +}); + +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +`{cell}` 또는 `{count}`와 같이 중괄호로 묶인 부분은 값으로 대체되므로 번역된 문자열에서도 유지해야 합니다. 색상 이름과 알림 버튼의 이름은 `colorpicker` 및 `message` 로캘에서 가져옵니다. 전체 키 목록은 [Localization](localization.md#default-locale)을, 다른 로캘은 [Localizing built-in widgets](localization.md#localizing-built-in-widgets)를 참조하십시오. + +## 구성 예시 {#configuration-recipes} + +### 접근성을 고려한 기본 설정 {#accessible-default-setup} + +Spreadsheet는 키보드와 WAI-ARIA 출력을 위해 별도의 구성이 필요하지 않습니다. 텍스트에 대한 WCAG AA 대비 요구 사항을 충족하려면 고대비 테마를 선택하십시오. 테마를 설정하는 다른 방법은 [Built-in themes](/themes/)를 참조하십시오. + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + // the keyboard navigation and the WAI-ARIA output need no configuration +}); +spreadsheet.parse(data); + +dhx.setTheme("contrast-light"); // or "contrast-dark" +~~~ + +### 읽기 전용 설정 {#read-only-setup} + +사용자가 읽고 복사할 수 있지만 변경할 수 없는 데이터를 표시하려면 [`readonly`](api/spreadsheet_readonly_config.md) 옵션을 사용하십시오. 키보드 및 스크린 리더 사용자는 여전히 셀 사이를 이동할 수 있습니다. + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true +}); +spreadsheet.parse(data); +~~~ + +활성 셀과 선택 없이 데이터를 표시하려면 [`selection: false`](api/spreadsheet_selection_config.md)를 추가하십시오. 그러면 그리드는 키보드가 통과하는 하나의 탭 정지점이 됩니다. + +### 번역된 접근성 문자열 {#translated-accessibility-strings} + +스크린 리더는 네 개의 로캘에서 접근성 문자열을 읽습니다. `spreadsheet`에는 이름, 셀 설명 및 안내가, `colorpicker`에는 색상 이름이, `message`에는 알림 버튼의 이름이, `grid`에는 로드된 행 수 안내가 포함됩니다. Spreadsheet를 생성하기 전에 네 가지 모두 설정하십시오. 키는 [Localizing built-in widgets](localization.md#localizing-built-in-widgets)를 참조하십시오. + +~~~jsx +const deSpreadsheet = { + // other keys of the locale + aria_grid: "Tabelle", + aria_readonlySheet: "Das Blatt ist schreibgeschützt" +}; +const deColorpicker = { + aria_palette: "Farbpalette", + aria_colorRed: "rot" +}; +const deMessage = { + aria_confirm: "Bestätigen" +}; +const deGrid = { + aria_rowsLoaded: "{count} Zeilen geladen" +}; + +dhx.i18n.setLocale("spreadsheet", deSpreadsheet); +dhx.i18n.setLocale("colorpicker", deColorpicker); +dhx.i18n.setLocale("message", deMessage); +dhx.i18n.setLocale("grid", deGrid); + +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +### 사용자 지정 명령 안내 {#announcing-a-custom-command} + +사용자 고유의 명령이 데이터를 변경하는 경우 [`announce()`](api/spreadsheet_announce_method.md) 메서드로 스크린 리더 사용자에게 결과를 알려 주십시오. 이 예제는 활성 시트를 지우는 [메뉴](customization.md#menu) 명령을 추가합니다. + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); + +spreadsheet.menu.data.add({ id: "clear-sheet", value: "Clear sheet" }); + +spreadsheet.menu.events.on("click", function (id) { + if (id === "clear-sheet") { + spreadsheet.sheets.clear(); + spreadsheet.announce("The sheet is cleared"); + } +}); +~~~ + +## 호스트 페이지의 책임 {#host-page-responsibilities} + +일부 요구 사항은 컴포넌트 내부가 아니라 페이지 수준에 있습니다. 호스트 페이지가 다음을 충족하는지 확인하십시오. + +- 문서 언어(예: ``)와 페이지 제목을 설정합니다 +- Spreadsheet 위에 제목을 두고 랜드마크(예: `
`) 안에 배치합니다 +- Spreadsheet 앞에 긴 탐색 영역이 있는 경우 건너뛰기 링크를 제공합니다 +- 셀 색상으로 표시하는 모든 상태에 텍스트나 아이콘과 같은 두 번째 신호를 제공합니다. 셀 스타일의 색상은 사용자 데이터의 일부이기 때문입니다 +- 셀 스타일과 사용자 지정 테마에서 설정한 색상의 대비를 확인합니다 + +## 테스트 및 방법론 {#testing-and-methodology} + +DHTMLX 팀은 컴포넌트 소스와 브라우저에서 Spreadsheet 6.0.4의 접근성을 검증합니다. + +1. **자동화 테스트**: 검색 바, 목록 에디터, 대화 상자 및 알림이 열린 상태에서 `light`, `dark`, `contrast-light` 및 `contrast-dark` 테마에 대해 [axe-core](https://github.com/dequelabs/axe-core)로 수행합니다. +2. **수동 검토**: 소스를 대상으로 각 부분의 역할, 상태 및 이름, 키보드 핸들러와 포커스 영역, 그리고 대비율이 포함된 테마 토큰을 검토합니다. +3. **수동 테스트**: 셀, 바, 메뉴 및 대화 상자에 대한 키보드 전용 워크스루, NVDA, JAWS 및 VoiceOver를 사용한 스크린 리더 테스트, 200% 및 400% 확대, 320 CSS px에서의 리플로, WCAG 텍스트 간격 재정의를 수행합니다. +4. **준수 보고**: Spreadsheet가 부분적으로 지원하는 기준을 포함하여 결과를 [Accessibility Conformance Report](accessibility_conformance_report.md)에 기준별로 게시합니다. + +## 리소스 {#resources} + +- [Accessibility Conformance Report (VPAT 2.5)](accessibility_conformance_report.md) +- [단축키 목록](hotkeys.md) +- [`readonly`](api/spreadsheet_readonly_config.md) +- [`selection`](api/spreadsheet_selection_config.md) +- [`announce()`](api/spreadsheet_announce_method.md) +- [현지화](localization.md) +- [기본 제공 테마](/themes/) +- [WCAG 2.2](https://www.w3.org/TR/WCAG22/) +- [WAI-ARIA 1.2](https://www.w3.org/TR/wai-aria-1.2/) +- [WAI-ARIA Authoring Practices: Grid pattern](https://www.w3.org/WAI/ARIA/apg/patterns/grid/) +- [WAI-ARIA Authoring Practices: Toolbar pattern](https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/) diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/accessibility_conformance_report.md b/i18n/ko/docusaurus-plugin-content-docs/current/accessibility_conformance_report.md new file mode 100644 index 00000000..7f9337a5 --- /dev/null +++ b/i18n/ko/docusaurus-plugin-content-docs/current/accessibility_conformance_report.md @@ -0,0 +1,218 @@ +--- +sidebar_label: 적합성 보고서 (VPAT) +title: 접근성 적합성 보고서 +description: VPAT 2.5 기반 DHTMLX Spreadsheet 접근성 적합성 보고서 - WCAG 2.2 AA, Section 508 및 EN 301 549 준수 현황. +--- + +# 접근성 적합성 보고서 + +이 보고서는 DHTMLX Spreadsheet가 주요 접근성 표준을 어떻게 준수하는지 설명합니다. 보고서는 **VPAT® 2.5 (International Edition)** 구조를 따릅니다. 접근성 기능과 구성 방법에 대한 작업 중심 개요는 [접근성](accessibility.md) 가이드를 참조하십시오. + +**제품명/버전:** DHTMLX Spreadsheet v6.0.4 + +**보고서 날짜:** 2026년 10월 + +**제품 설명:** DHTMLX Spreadsheet는 웹 애플리케이션용 JavaScript 스프레드시트 컴포넌트입니다. 인터페이스는 메뉴 바, 툴바, 수식 입력줄, 행 및 열 머리글이 있는 셀 그리드, 시트 탭으로 구성됩니다. 수식, 셀 서식, 셀 병합, 행 및 열 고정, 정렬, 필터링, 검색, 데이터 유효성 검사, 셀 링크, Excel 가져오기 및 내보내기 기능을 제공합니다. 이 컴포넌트는 호스트 웹 애플리케이션에 포함되어 사용됩니다. + +**연락처:** [info@dhtmlx.com](mailto:info@dhtmlx.com) + +## 참고 사항 {#notes} + +- 이 보고서는 DHTMLX Spreadsheet를 **권장 접근성 구성**으로 평가합니다. 권장 구성은 WAI-ARIA 출력과 키보드 탐색이 항상 켜져 있는 기본 구성이며, `dhx.setTheme()` 또는 `data-dhx-theme` 속성으로 `contrast-light` 또는 `contrast-dark` 테마를 설정한 상태입니다. 적합성 수준이 이 구성에 의존하는 경우 비고에 명시합니다. 설정 방법은 [접근성](accessibility.md) 가이드를 참조하십시오. +- DHTMLX Spreadsheet는 호스트 애플리케이션이 렌더링하는 **웹 콘텐츠**입니다. 페이지 수준의 책임 사항(페이지 제목, ``, 건너뛰기/우회 메커니즘, 사이트 전체 탐색)은 호스트 애플리케이션에 속하며, 설명과 함께 *해당 없음*으로 보고합니다. +- WCAG 표에서는 **Web** 응답만 작성합니다. *Electronic Docs*, *Software*, *Closed*, *Authoring Tool* 행은 *해당 없음*입니다. 이 제품은 독립 실행형(비웹) 소프트웨어, 폐쇄형 기능, 저작 도구, 전자 문서가 아니기 때문입니다. +- 작성자가 셀 스타일을 통해 셀에 적용하는 색상은 문서 데이터의 일부이며 제품 평가 대상에 포함되지 않습니다. + +**사용한 평가 방법:** + +- 자동 테스트: 검색 바, 목록 편집기, 대화 상자, 알림이 열린 상태에서 `light`, `dark`, `contrast-light`, `contrast-dark` 테마로 axe-core를 실행했습니다. +- 컴포넌트 소스와 스타일시트의 수동 코드 검토: 위젯 각 부분의 role과 ARIA 속성, 키보드 핸들러와 포커스 영역, 접근 가능한 이름과 해당 로캘 키, 테마 색상 토큰을 검토했으며 네 가지 테마에 대해 명암비를 계산했습니다. +- 보조 기술 테스트: Windows에서 **NVDA + Firefox** 및 **JAWS + Chrome**, macOS에서 **VoiceOver + Safari**로 수동 점검을 수행했습니다. +- 브라우저 재정의: 200% / 400% 확대, 320 CSS px에서의 리플로우, WCAG 텍스트 간격 재정의. + +## 적용 표준 / 지침 {#applicable-standards--guidelines} + +| 표준 / 지침 | 보고서 포함 여부 | +|---|---| +| Web Content Accessibility Guidelines 2.0 | Level A (아니요) · Level AA (아니요) · Level AAA (아니요) | +| Web Content Accessibility Guidelines 2.1 | Level A (아니요) · Level AA (아니요) · Level AAA (아니요) | +| Web Content Accessibility Guidelines 2.2 | Level A (**예**) · Level AA (**예**) · Level AAA (아니요) | +| Revised Section 508 standards (2017년 1월 18일 발행, 2018년 1월 22일 정정) | (**예**) | +| EN 301 549 - V3.1.1 (2019-11) 및 V3.2.1 (2021-03) | (**예**) | + +*WCAG 2.0과 2.1은 별도로 보고하지 않습니다. WCAG에서 "2.1 and 2.2"로 표시한 기준은 WCAG 2.2에 포함되고 +EN 301 549에서 참조하므로 답변합니다.* + +## 용어 {#terms} + +- **지원함(Supports):** 제품의 기능에 알려진 결함 없이 기준을 충족하는 방법이 하나 이상 있거나, 동등한 촉진(equivalent facilitation)으로 충족합니다. +- **부분 지원(Partially Supports):** 제품의 일부 기능이 기준을 충족하지 않습니다. +- **지원하지 않음(Does Not Support):** 제품 기능의 대부분이 기준을 충족하지 않습니다. +- **해당 없음(Not Applicable):** 해당 기준이 제품과 관련이 없습니다. + +## WCAG 2.x 보고서 {#wcag-2x-report} + +DHTMLX Spreadsheet는 웹 콘텐츠이므로 아래에는 **Web** 응답만 작성합니다. "AA 적합 테마 필요"는 구성 의존성이며 결함이 +아닙니다. 기준 4.1.1 구문 분석(Parsing)은 WCAG 2.2에서 제거되어 보고하지 않습니다. + +### 표 1: 성공 기준, Level A {#table-1-success-criteria-level-a} + +| 기준 | 적합성 수준 | 비고 및 설명 | +|---|---|---| +| **1.1.1** 텍스트 아닌 콘텐츠 | 지원함 | 아이콘은 글꼴 글리프입니다. 아이콘만 있는 컨트롤은 로캘 또는 툴팁에서 접근 가능한 이름을 가져옵니다(예: "Add sheet", "Close search", "Select all"). 색상 버튼은 색상 이름을 가집니다(예: "Text color: dark gray"). 장식용 아이콘(잠금, 필터, 열 메뉴, 숨겨진 줄 표시), 선택 레이어, 병합된 셀에 가려진 셀은 `aria-hidden="true"`로 숨깁니다. 이들이 나타내는 상태는 셀 안의 텍스트("locked", "Filter applied" 등)로 전달됩니다. | +| **1.2.1** 오디오 전용 및 비디오 전용(녹화) | 해당 없음 | 제품에 오디오 또는 비디오 콘텐츠가 없습니다. | +| **1.2.2** 자막(녹화) | 해당 없음 | 녹화된 멀티미디어가 없습니다. | +| **1.2.3** 오디오 설명 또는 미디어 대체물(녹화) | 해당 없음 | 녹화된 멀티미디어가 없습니다. | +| **1.3.1** 정보와 관계 | 지원함 | 셀은 `row`, `columnheader`, `rowheader`, `gridcell` role을 가진 "Spreadsheet"라는 이름의 `grid`입니다. 위치는 `aria-rowcount`/`aria-colcount`에 대한 `aria-rowindex`/`aria-colindex`로, 병합된 셀의 범위는 `aria-colspan`/`aria-rowspan`으로, 편집 가능 여부는 `aria-readonly`로, 선택은 `aria-selected`와 `aria-multiselectable`로 노출됩니다. 툴바, 메뉴 바, 시트 탭은 이름이 있는 `toolbar` 및 `menubar` 요소입니다. 서식 토글은 툴바에서 `aria-pressed`를 가지며 메뉴 바에서는 `menuitemcheckbox`이고, 상호 배타적인 서식 옵션은 `aria-checked`를 가진 `menuitemradio`입니다. | +| **1.3.2** 의미 있는 순서 | 지원함 | DOM 및 읽기 순서는 시각적 순서(메뉴 바, 툴바, 수식 입력줄, 셀, 시트 탭)를 따릅니다. 셀은 `aria-rowindex`/`aria-colindex`로 시트 내 위치를 전달하므로, 행과 열이 스크롤되어 DOM에서 사라져도 순서가 유지됩니다. | +| **1.3.3** 감각적 특성 | 지원함 | 어떤 지침이나 레이블도 모양, 크기, 공간적 위치에만 의존하지 않으며, 상호작용 요소는 텍스트 또는 ARIA 이름을 가집니다. | +| **1.4.1** 색의 사용 | 지원함 | 색상으로 나타내는 각 상태에는 테두리, 채우기, 표시 또는 텍스트도 함께 제공됩니다. 활성 셀, 선택한 범위, 검색 일치 항목, 복사한 범위, 잘못된 셀이 해당하며, `aria-selected` 또는 셀 안의 텍스트가 함께 제공됩니다. 필터로 숨겨진 행은 행 번호에 간격을 남깁니다. 색상 버튼은 접근 가능한 이름에 색상 이름을 포함합니다. | +| **1.4.2** 오디오 제어 | 해당 없음 | 제품은 자동 재생 오디오를 생성하지 않습니다. | +| **2.1.1** 키보드 | 지원함 | 셀에 대한 모든 명령에 키가 있으며 [단축키 목록](hotkeys.md)에 나열되어 있습니다. `Shift`+`F10` 또는 Menu 키로 컨텍스트 메뉴를 엽니다. `Ctrl`+`F6`은 메뉴, 툴바, 시트, 시트 탭 사이로 포커스를 이동합니다. 바, 바의 드롭다운과 팝업, 목록 편집기는 화살표 키, `Home`, `End`, `Enter`, `Esc`로 작동합니다. 열 너비, 행 높이, 열 필터에는 컨텍스트 메뉴 명령이 있습니다. | +| **2.1.2** 키보드 트랩 없음 | 지원함 | 시트의 마지막 셀에서 `Tab`, 첫 번째 셀에서 `Shift`+`Tab`을 누르면 포커스가 셀에서 페이지의 다음 또는 이전 부분으로 이동하며, `Ctrl`+`F6`은 Spreadsheet의 각 부분 사이로 포커스를 이동합니다. 목록 편집기에서 `Tab`은 편집을 종료하고 `Esc`는 취소하며, 화살표 키를 사용한 후에도 동일합니다. `Esc`와 `Tab`은 툴바 팝업을 닫고 포커스를 해당 버튼으로 되돌립니다. | +| **2.1.4** 문자 키 단축키 | 지원함 | 모든 단축키는 수정자 키(`Ctrl`, `Alt`, `Shift`) 또는 비문자 키(`F2`, `F6`, `F10`, `F11`, `Enter`, `Esc`, `Delete`, 화살표)를 사용합니다. 셀에서 문자를 입력하면 셀에 입력되며, 이는 셀의 본래 목적이고 명령을 실행하지 않습니다. | +| **2.2.1** 시간 조절 가능 | 해당 없음 | 제품은 시간 제한을 설정하지 않습니다. | +| **2.2.2** 일시정지, 정지, 숨기기 | 지원함 | 자동으로 갱신되거나 움직이거나 깜박이거나 스크롤되는 콘텐츠가 없습니다. 5초를 넘는 애니메이션이 없습니다. | +| **2.3.1** 세 번 깜박임 또는 임계값 이하 | 지원함 | 제품에 깜박이는 콘텐츠가 없습니다. | +| **2.4.1** 블록 건너뛰기 | 해당 없음 | 페이지 수준에 적용되며, 우회 메커니즘은 호스트 애플리케이션에 속합니다. | +| **2.4.2** 페이지 제목 | 해당 없음 | 페이지 제목은 호스트 애플리케이션의 책임입니다. | +| **2.4.3** 초점 순서 | 지원함 | 셀은 활성 셀에 하나의 탭 정지 지점을 가지며, 툴바, 메뉴 바, 시트 탭은 각각 하나의 탭 정지 지점을 가지고 시각적 순서를 따릅니다. `Tab`은 마지막 셀과 첫 번째 셀에서 시트를 벗어납니다. 대화 상자는 포커스를 가져가고 `Tab`을 내부에 유지하며, 닫힐 때 포커스를 활성 셀로 되돌립니다. 메뉴, 컨텍스트 메뉴, 팝업은 포커스를 연 컨트롤로 되돌리며, 텍스트 또는 배경 색상을 적용한 후에는 포커스가 활성 셀로 돌아갑니다. 활성 셀은 포커스를 받을 때 보이는 위치로 스크롤됩니다. | +| **2.4.4** 링크 목적(문맥 내) | 지원함 | 셀의 링크는 작성자가 설정한 링크 텍스트 또는 주소를 텍스트로 가진 `` 요소로 렌더링됩니다. 셀이 선택되면 셀 텍스트에 "link"가 추가되며, `Alt`+`Enter`로 링크를 엽니다. | +| **2.5.1** 포인터 제스처 | 지원함 | 다중 포인트 또는 경로 기반 제스처가 필요한 작업이 없으며, 모든 드래그 작업에는 드래그가 아닌 대안이 있습니다(2.5.7 참조). | +| **2.5.2** 포인터 취소 | 지원함 | 열 및 행 크기 조절과 채우기 핸들은 놓을 때 적용되며, 한 번의 실행 취소로 각각을 되돌릴 수 있습니다. 툴바, 메뉴, 시트 탭의 명령은 `click` 시 실행됩니다. | +| **2.5.3** 이름에 레이블 포함 | 지원함 | 보이는 텍스트가 있는 컨트롤은 그 텍스트를 접근 가능한 이름으로 사용합니다. 메뉴 항목, 컨텍스트 메뉴 명령, 시트 탭, 대화 상자 버튼이 해당합니다. 아이콘 버튼은 툴팁으로, 색상 버튼은 툴팁 뒤에 색상 이름을 붙여 이름을 지정합니다. | +| **2.5.4** 동작 작동 | 해당 없음 | 기기 동작이나 사용자 동작으로 작동하는 기능이 없습니다. | +| **3.1.1** 페이지의 언어 | 해당 없음 | 문서 언어(``)는 호스트 애플리케이션이 설정합니다. | +| **3.2.1** 초점 시 | 지원함 | 포커스를 받아도 문맥이 바뀌지 않습니다. 열 문자, 행 번호 또는 모서리를 클릭하면 해당 줄이 선택되고 포커스는 활성 셀에 유지됩니다. | +| **3.2.2** 입력 시 | 지원함 | 값을 변경해도 문맥이 바뀌지 않습니다. 셀 편집, 목록에서 값 선택, 검색 바에 입력하면 시트가 그 자리에서 갱신되며, 이는 해당 컨트롤의 문서화된 목적입니다. | +| **3.2.6** 일관된 도움말 (2.2 전용) | 해당 없음 | 위젯은 도움말 메커니즘을 제공하지 않으며, 이는 페이지 수준의 사항입니다. | +| **3.3.1** 오류 식별 | 지원함 | 수식 오류와 잘못된 목록 값은 셀 내용에 설명됩니다(예: "Reference error. Check the cell references", "Invalid value. Choose a value from the list"). 편집으로 발생한 새 수식 오류와 잘못된 값은 라이브 영역을 통해 안내되며, 잘못된 값의 편집기에는 `aria-invalid="true"`가 설정됩니다. | +| **3.3.2** 레이블 또는 지침 | 지원함 | 셀 편집기는 "Cell editor, B7", 수식 입력줄은 "Formula bar, B7"로 이름이 지정되며, 편집 중인 셀의 주소를 포함합니다. 대화 상자 필드에는 레이블이 있으며(예: "Width in pixels"), 검색 바 버튼은 "Previous match", "Next match", "Close search"로 이름이 지정됩니다. | +| **3.3.7** 중복 입력 (2.2 전용) | 지원함 | 제품에는 이미 입력한 정보를 다시 요구하는 다단계 프로세스가 없습니다. | +| **4.1.2** 이름, 역할, 값 | 지원함 | 각 부분은 role, 상태, 로캘에서 가져온 이름을 노출합니다. 셀(`grid`, `row`, `gridcell`, `columnheader`, `rowheader`, `aria-selected`, `aria-readonly`), 툴바와 메뉴 바(`toolbar`, `menubar`), 서식, Lock, Filter 버튼과 시트 탭(`aria-pressed`), 메뉴 바의 서식 항목(`menuitemcheckbox`, `aria-checked`), 상호 배타적인 서식(`menuitemradio`, `aria-checked`)이 해당합니다. 알림은 `aria-modal="true"`가 설정된 `alertdialog`입니다. 목록 편집기는 `listbox`를 제어하는 `combobox`이며 `aria-expanded`와 `aria-activedescendant`를 가집니다. | + +### 표 2: 성공 기준, Level AA {#table-2-success-criteria-level-aa} + +| 기준 | 적합성 수준 | 비고 및 설명 | +|---|---|---| +| **1.2.4** 자막(라이브) | 해당 없음 | 라이브 멀티미디어가 없습니다. | +| **1.2.5** 오디오 설명(녹화) | 해당 없음 | 녹화된 비디오가 없습니다. | +| **1.3.4** 방향 | 지원함 | 콘텐츠가 단일 디스플레이 방향으로 제한되지 않습니다. | +| **1.3.5** 입력 목적 식별 | 해당 없음 | 제품의 편집기는 문서 데이터를 수집하며, WCAG 입력 목적 목록에서 다루는 사용자 본인의 개인 정보를 수집하지 않습니다. | +| **1.4.3** 명도 대비(최소) | 지원함 | `contrast-light` 및 `contrast-dark` 테마는 AA를 충족합니다. 검색 바, 목록 편집기, 열 너비 대화 상자, 알림이 열린 상태에서 두 테마 모두 제품 텍스트가 4.5:1 미만인 경우가 없습니다. 수식 참조 색상은 light 및 `contrast-light` 테마에서 4.59:1에서 7.04:1, dark 테마에서 7.62:1에서 12.26:1입니다. 기본 light 테마에서는 대화 상자 필드 레이블과 알림 텍스트 같은 보조 텍스트가 약 3.95:1입니다. 이 기준을 충족하려면 대비 테마 중 하나를 선택해야 하며, 지원되는 방법 하나로 충족합니다. | +| **1.4.4** 텍스트 크기 조절 | 지원함 | 콘텐츠나 기능의 손실 없이 텍스트를 200%까지 확대할 수 있으며, 툴바, 수식 입력줄, 시트 탭, 대화 상자를 계속 사용할 수 있습니다. | +| **1.4.5** 텍스트 이미지 | 지원함 | 모든 텍스트는 실제 텍스트로 렌더링됩니다. 아이콘은 글꼴 글리프이며 제품은 래스터 이미지를 사용하지 않습니다. | +| **1.4.10** 리플로우 | 지원함 | 셀은 이 기준에서 리플로우 예외로 인정하는 2차원 콘텐츠이며, 가로와 세로로 스크롤됩니다. 툴바, 메뉴 바, 시트 탭은 320 CSS px 너비에 맞습니다. | +| **1.4.11** 텍스트 아닌 명도 대비 | 지원함 | 셀, 수식 입력줄, 바 컨트롤의 포커스 표시기는 2px 너비이며 테마 색상으로 그려집니다. 아래 비율은 기본 light, `contrast-light`, dark, `contrast-dark` 테마에 대한 값입니다. 활성 셀은 `--dhx-color-primary` 색상의 2px 실선 테두리로 표시되며, 셀 배경 대비 약 3.9:1, 7.7:1, 3.4:1, 5.3:1입니다. 키보드 포커스를 가진 셀과 셀 편집기는 같은 색상의 2px 아웃라인을 가지며 비율도 같고, 선택한 범위 안에서는 약 3.3:1, 6.0:1, 3.1:1, 4.2:1입니다. 수식 입력줄은 `--dhx-spreadsheet-focus-color` 색상의 2px 아웃라인을 가지며, 배경 대비 약 3.9:1, 7.7:1, 5.3:1, 6.5:1입니다. 툴바, 메뉴 바, 시트 탭의 컨트롤은 같은 아웃라인을 가지며, 바 배경 대비 약 3.7:1, 7.2:1, 3.9:1, 4.9:1입니다. 모든 값이 3:1 요구 사항을 넘습니다. | +| **1.4.12** 텍스트 간격 | 지원함 | WCAG 텍스트 간격 재정의를 적용해도 잘리는 컨트롤 레이블이 없으며, 탭이 늘어나면 시트 탭 바가 스크롤됩니다. | +| **1.4.13** 호버 또는 포커스 시 콘텐츠 | 지원함 | 툴바 툴팁은 마우스를 올려 둔 동안 열려 있고, 포인터나 포커스를 옮기지 않고 `Esc`로 닫을 수 있습니다. 잘못된 값 툴팁은 입력 오류를 알리고, 셀이 활성 상태인 동안 유지되며, `Esc`로 제거됩니다. | +| **2.4.5** 여러 가지 방법 | 해당 없음 | 웹 페이지 집합 내에서 페이지를 찾는 데 적용되며, 단일 임베디드 컴포넌트에는 범위 밖입니다(호스트 애플리케이션의 사항). | +| **2.4.6** 제목과 레이블 | 지원함 | 주요 부분은 로캘에서 접근 가능한 이름을 가져옵니다. "Spreadsheet"(그리드), "Formatting"(툴바), "Borders", "Search", "Link"(Border 팝업, 검색 바, 링크 팝업의 툴바), "Main"(메뉴 바), "Cell" 및 "Sheet"(셀과 시트 탭의 컨텍스트 메뉴), "Sheets"(시트 탭 바), "Formula bar, B7"(수식 입력줄), "Cell editor, B7"(셀 편집기)이 해당합니다. 전체 선택 모서리는 "Select all", 검색 바는 "Search", 그 버튼은 "Previous match", "Next match", "Close search", 시트를 추가하는 버튼은 "Add sheet"로 이름이 지정되며, 그 밖의 대화 상자는 제목으로 이름이 지정됩니다. | +| **2.4.7** 초점 표시 | 지원함 | 키보드 포커스 위치가 항상 보입니다. 활성 셀에는 항상 2px 실선 테두리가 있고, 포커스를 가진 셀 또는 셀 편집기에는 2px 아웃라인이 있으며, 둘 다 테마의 기본 색상입니다. 수식 입력줄과 툴바, 메뉴 바, 시트 탭, Border 팝업, 링크 팝업, 검색 바의 컨트롤에는 `--dhx-spreadsheet-focus-color` 색상의 2px 포커스 링이 표시됩니다. 색상 팔레트, 테두리 스타일 목록, 툴바와 메뉴 바의 드롭다운, 컨텍스트 메뉴에서는 포커스된 항목에 1px 점선 아웃라인이 있습니다. 목록 편집기에서는 포커스된 항목이 배경색으로 강조됩니다. 포커스 표시기는 모든 기본 제공 테마에서 표시됩니다. | +| **2.4.11** 초점 가려지지 않음(최소) (2.2 전용) | 지원함 | 활성 셀은 고정된 행과 열 옆의 보이는 위치로 스크롤되므로 고정 영역 뒤에 가려지지 않습니다. | +| **2.5.7** 드래그 동작 (2.2 전용) | 지원함 | 범위 선택에는 `Shift`+화살표와 `Ctrl`+`Space`/`Shift`+`Space`를 사용할 수 있습니다. 열 너비와 행 높이는 컨텍스트 메뉴의 *Column width* 및 *Row height* 명령으로 설정하며 실행 취소를 지원합니다. 숨겨진 행과 열은 `Ctrl`+`Shift`+`9`/`0` 및 *Show rows*/*Show columns* 명령으로 표시합니다. 셀 채우기는 컨텍스트 메뉴 명령에 바인딩할 수 있는 [`groupFill`](api/spreadsheet_groupfill_event.md) 이벤트로 사용할 수 있습니다. | +| **2.5.8** 대상 크기(최소) (2.2 전용) | 부분 지원 | 채우기 핸들은 12 x 12 CSS px입니다. 열 및 행 크기 조절 핸들에는 동등한 컨트롤인 *Column width* 및 *Row height* 명령이 있습니다. 전체 선택 모서리는 40 x 32 CSS px의 모서리 머리글 셀이며, 툴바와 메뉴 컨트롤은 24 x 24 CSS px보다 큽니다. | +| **3.1.2** 부분의 언어 | 해당 없음 | 위젯은 콘텐츠 안에서 여러 언어를 혼용하지 않으며, 언어는 호스트가 관리합니다. | +| **3.2.3** 일관된 탐색 | 해당 없음 | 웹 페이지 집합 전체에 적용되며, 호스트 애플리케이션의 사항입니다. | +| **3.2.4** 일관된 식별 | 지원함 | 기능이 같은 명령은 툴바, 메뉴 바, 컨텍스트 메뉴에서 같은 이름과 아이콘, 같은 키를 가집니다. | +| **3.3.3** 오류 수정 제안 | 지원함 | 오류 설명은 수정 방법을 제안합니다. 참조 오류에는 "Check the cell references", 잘못된 목록 값에는 "Choose a value from the list"가 표시됩니다. | +| **3.3.4** 오류 예방(법률, 금융, 데이터) | 지원함 | 데이터의 모든 변경은 실행 취소(`Ctrl`+`Z`)로 되돌리고 다시 실행으로 반복할 수 있습니다. 호스트 애플리케이션은 추가로 [`beforeAction`](api/spreadsheet_beforeaction_event.md) 이벤트를 통해 모든 동작을 취소할 수 있습니다. | +| **3.3.8** 접근 가능한 인증(최소) (2.2 전용) | 해당 없음 | 제품은 인증을 수행하지 않습니다. | +| **4.1.3** 상태 메시지 | 지원함 | 상태 변경은 그리드 바깥에 있는 시각적으로 숨겨진 라이브 영역(`role="status"`, `aria-live="polite"`, `aria-atomic="true"`)을 통해 포커스를 이동하지 않고 안내됩니다. 이 영역은 선택한 범위, 새 수식 오류와 잘못된 값, 잠긴 셀 또는 읽기 전용 시트에 대한 거부된 편집, 검색 결과, 가져오기와 내보내기의 시작 및 종료, 새 열 너비와 행 높이, 표시할 숨겨진 행이나 열이 없는 선택을 알립니다. 같은 영역은 공개 [`announce()`](api/spreadsheet_announce_method.md) 메서드를 통해 호스트 애플리케이션에서도 사용할 수 있으며, 모든 기본 제공 메시지는 `aria_*` 로캘 키로 현지화할 수 있습니다. | + +## 개정된 Section 508 보고서 {#revised-section-508-report} + +WCAG에 대응하는 조항은 위의 WCAG 2.x 보고서에서 답변했으며 여기서는 이를 참조합니다. 4장(하드웨어)은 +해당 없음입니다. DHTMLX Spreadsheet는 하드웨어나 물리적 컨트롤이 없는 소프트웨어 컴포넌트이기 때문입니다. + +### 3장: 기능 성능 기준 {#chapter-3-functional-performance-criteria} + +| 기준 | 적합성 수준 | 비고 및 설명 | +|---|---|---| +| 302.1 시각 없이 | 지원함 | 열 및 행 머리글이 있는 `grid` 모델, 각 셀과 함께 읽히는 셀 주소와 설명, 이름이 지정된 툴바와 메뉴, 라이브 영역, 키보드 모델을 통해 스크린 리더로 조작할 수 있습니다. WCAG 1.3.1, 2.1.1, 4.1.2, 4.1.3을 참조하십시오. | +| 302.2 제한된 시력 | 지원함 | 확대, 텍스트 크기 조절, 리플로우를 지원하며, 모든 테마에서 포커스가 보이고, `contrast-light` / `contrast-dark` 테마로 AA 대비를 충족합니다. WCAG 1.4.3, 1.4.4, 1.4.10, 1.4.11, 2.4.7을 참조하십시오. | +| 302.3 색 지각 없이 | 지원함 | 색상만으로 전달되는 정보가 없습니다. 활성 셀, 선택, 검색 일치 항목, 잘못된 값은 각각 색상과 함께 셀 안에 테두리, 표시 또는 텍스트를 가지며, 색상 버튼은 색상 이름을 가집니다. WCAG 1.4.1을 참조하십시오. | +| 302.4 청각 없이 | 지원함 | 소리로 전달되는 정보가 없습니다. | +| 302.5 제한된 청력 | 지원함 | 소리로 전달되는 정보가 없습니다. | +| 302.6 음성 없이 | 지원함 | 제품을 조작하는 데 음성 입력이 필요하지 않습니다. | +| 302.7 제한된 조작 | 지원함 | 모든 기능이 키보드로 작동하며, 경로 기반 제스처가 필요하지 않고, 모든 드래그 작업에는 키보드 또는 명령 대안이 있습니다. WCAG 2.1.1, 2.5.1, 2.5.7, 2.5.8을 참조하십시오. | +| 302.8 제한된 도달 범위와 힘 | 지원함 | 키보드로 조작할 수 있으며, 물리적 도달 범위, 힘, 시간 요구 사항이 없습니다. | +| 302.9 제한된 언어, 인지 및 학습 능력 | 지원함 | 명령은 툴바, 메뉴, 컨텍스트 메뉴에서 같은 이름을 가지며, 수식 오류는 수정 방법과 함께 설명되고, 모든 변경은 실행 취소로 되돌릴 수 있습니다. WCAG 3.2.4, 3.3.3, 3.3.4를 참조하십시오. | + +### 5장: 소프트웨어 {#chapter-5-software} + +| 기준 | 적합성 수준 | 비고 및 설명 | +|---|---|---| +| 501.1 범위 - WCAG 2.0 AA 통합 | WCAG 2.x 섹션 참조 | 위의 WCAG 2.x 보고서를 참조하십시오. | +| 502 보조 기술과의 상호 운용성 | 해당 없음 | 비웹(플랫폼) 소프트웨어에 적용됩니다. DHTMLX Spreadsheet는 표준 DOM과 ARIA를 브라우저 접근성 트리에 노출하는 웹 콘텐츠이며, 상호 운용성은 WCAG 결과(Clause 9 / 501.1)로 다룹니다. | +| 503 애플리케이션 | 해당 없음 | 비웹 플랫폼 소프트웨어에 적용되며, 이 제품은 웹 콘텐츠입니다. | +| 504 저작 도구 | 해당 없음 | DHTMLX Spreadsheet는 웹 콘텐츠용 저작 도구가 아닙니다. 접근성과 관련된 웹 콘텐츠가 아니라 스프레드시트 데이터를 편집합니다. | + +### 6장: 지원 문서 및 서비스 {#chapter-6-support-documentation-and-services} + +| 기준 | 적합성 수준 | 비고 및 설명 | +|---|---|---| +| 602.2 접근성 및 호환성 기능 | 지원함 | 문서는 제품의 접근성 기능을 설명합니다. [접근성](accessibility.md) 가이드는 WAI-ARIA 모델, 키보드 모델, 읽기 전용 모드와 선택 옵션, 테마와 포커스 표시기, [`announce()`](api/spreadsheet_announce_method.md) API, [현지화 가능한 `aria_*` 문자열](accessibility.md#localization)을 다루며, [단축키 목록](hotkeys.md)은 모든 단축키를 나열합니다. | +| 602.3 전자 지원 문서 | 지원함 (WCAG 2.x 섹션 참조) | 문서 사이트는 웹 콘텐츠로 제공되며 WCAG 2.2 AA를 충족하도록 유지 관리됩니다. | +| 602.4 비전자 지원 문서의 대체 형식 | 해당 없음 | 문서는 전자 형식으로만 제공되며, 비전자(인쇄) 지원 문서는 없습니다. | +| 603.2 접근성 및 호환성 기능에 대한 정보 | 지원함 | 제품의 접근성 기능은 [접근성](accessibility.md) 가이드에 공개적으로 문서화되어 있으며, 요청 시 지원 채널을 통해 제공할 수 있습니다. | +| 603.3 의사소통 요구 수용 | 지원함 | 지원은 텍스트 기반 이메일 채널로 제공되며, 사용자는 자신의 보조 기술로 상호작용합니다. | + +## EN 301 549 보고서 {#en-301-549-report} + +Clause 9(Web)는 위의 WCAG 2.x 보고서에 직접 대응하며, 이 웹 제품에 대한 핵심 평가입니다. 전화, 비디오, 하드웨어 관련 조항(Clause 6, 7, 8, 13)은 +해당 없음입니다. + +### Clause 4: 기능 성능 설명 {#clause-4-functional-performance-statements} + +이 항목은 Section 508 3장의 결과를 그대로 따릅니다(결론 동일). + +| 기준 | 적합성 수준 | 비고 및 설명 | +|---|---|---| +| 4.2.1 시각 없이 사용 | 지원함 | 508 302.1을 참조하십시오(그리드 모델, 셀 설명, 이름이 지정된 컨트롤, 라이브 영역, 키보드 모델을 통해 스크린 리더로 조작 가능). | +| 4.2.2 제한된 시력으로 사용 | 지원함 | 508 302.2를 참조하십시오(대비 테마를 통한 AA 대비, 모든 테마에서 보이는 포커스, 확대 및 리플로우 지원). | +| 4.2.3 색 지각 없이 사용 | 지원함 | 508 302.3을 참조하십시오(모든 색상 단서에 테두리, 표시 또는 텍스트가 함께 제공됨). | +| 4.2.4 청각 없이 사용 | 지원함 | 소리로 전달되는 정보가 없습니다. | +| 4.2.5 제한된 청력으로 사용 | 지원함 | 소리로 전달되는 정보가 없습니다. | +| 4.2.6 음성 능력이 없거나 제한적인 경우 사용 | 지원함 | 음성 입력이 필요하지 않습니다. | +| 4.2.7 제한된 조작 또는 힘으로 사용 | 지원함 | 508 302.7을 참조하십시오(키보드로 조작 가능, 제스처 없음, 모든 드래그 작업에 대한 대안 제공). | +| 4.2.8 제한된 도달 범위로 사용 | 지원함 | 물리적 도달 범위 요구 사항이 없습니다(소프트웨어 컴포넌트). | +| 4.2.9 광과민성 발작 유발 요인 최소화 | 지원함 | 깜박이는 콘텐츠가 없습니다(WCAG 2.3.1 참조). | +| 4.2.10 제한된 인지, 언어 또는 학습 능력으로 사용 | 지원함 | 508 302.9를 참조하십시오(일관된 명령 이름, 설명이 있는 오류, 되돌릴 수 있는 변경). | +| 4.2.11 개인정보 보호 | 지원함 | 접근성 기능은 다른 사용자와 같은 인터페이스를 사용하며, 별도의 개인정보 보호 수준이 낮은 모드가 없습니다. | + +### Clause 5: 일반 요구 사항 {#clause-5-generic-requirements} + +**대부분 해당 없음.** Clause 5는 폐쇄형 기능과 하드웨어 유형의 요구 사항을 다룹니다. DHTMLX +Spreadsheet는 플랫폼 및 브라우저 보조 기술과 함께 작동하는 개방형 웹 소프트웨어이므로, 폐쇄형 기능 하위 조항, 생체 인식(5.3), 조작 가능한 부분(5.5), +잠금/토글 컨트롤 상태(5.6)는 해당 없음입니다. 일반 요구 사항이 일반적인 보조 기술 지원으로 충족되는 경우에는 +Clause 9(Web)와 WCAG 결과에서 다룹니다. + +### Clause 9: 웹 {#clause-9-web} + +**WCAG 2.x 섹션을 참조하십시오.** Clause 9.1.1.1-9.4.1.3은 위의 표 1과 표 2에 있는 WCAG 2.2 Level A/AA +결과에 대응합니다. + +### Clause 11: 소프트웨어 {#clause-11-software} + +**해당 없음 (Clause 9에서 평가).** DHTMLX Spreadsheet는 Clause 9(Web)에서 평가하는 웹 콘텐츠이며, +비웹 소프트웨어가 아닙니다. WCAG에 대응하는 소프트웨어 조항(11.1.1.1-11.4.1.3)은 WCAG +2.x 결과에서 다룹니다. 11.8(저작 도구)은 제품이 저작 도구가 아니므로 해당 없음입니다. + +### Clause 12: 문서 및 지원 서비스 {#clause-12-documentation-and-support-services} + +| 기준 | 적합성 수준 | 비고 및 설명 | +|---|---|---| +| 12.1.1 접근성 및 호환성 기능 | 지원함 | [접근성](accessibility.md) 가이드는 제품의 접근성 기능을 문서화합니다. WAI-ARIA 모델, 키보드 모델, 읽기 전용 모드와 선택 옵션, 테마, 포커스 표시기, [`announce()`](api/spreadsheet_announce_method.md) API, [현지화 가능한 `aria_*` 문자열](accessibility.md#localization)이 해당합니다. | +| 12.1.2 접근 가능한 문서 | 지원함 (WCAG 2.x 섹션 참조) | 문서 사이트는 웹 콘텐츠로 제공되며 WCAG 2.2 AA를 충족하도록 유지 관리됩니다. | +| 12.2.2 접근성 및 호환성 기능에 대한 정보 | 지원함 | 접근성 기능은 공개적으로 문서화되어 있으며, 요청 시 지원 팀이 안내할 수 있습니다. | +| 12.2.3 효과적인 의사소통 | 지원함 | 지원은 텍스트 기반 이메일 채널로 제공되며, 사용자는 자신의 보조 기술로 상호작용합니다. | +| 12.2.4 접근 가능한 문서 | 지원함 (WCAG 2.x 섹션 참조) | 12.1.2와 같은 근거로, 문서 사이트는 WCAG 2.2 AA를 충족하도록 유지 관리됩니다. | + +## 법적 고지 {#legal-disclaimer} + +이 보고서는 정보 제공 목적으로만 제공되며, 보고서 날짜 기준으로 명시된 +제품 버전의 접근성을 설명합니다. 이 보고서는 어떠한 종류의 보증도 없이 "있는 그대로" 제공되며, +계약상의 약속이나 보장을 구성하지 않습니다. 접근성 지원은 이후 릴리스에서 변경될 수 있으며, +결과는 평가한 구성에 적용됩니다. "VPAT" 및 "Voluntary Product Accessibility Template"는 +Information Technology Industry Council(ITI)의 등록 서비스 마크입니다. diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/angular_integration.md b/i18n/ko/docusaurus-plugin-content-docs/current/angular_integration.md index 09757af4..9ce0a000 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/angular_integration.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/angular_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: Angular 통합 title: Angular 통합 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 Angular 통합에 대해 문서에서 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 직접 실행해 보세요. DHTMLX Spreadsheet의 30일 무료 평가판도 다운로드할 수 있습니다. +description: Angular 애플리케이션에서 DHTMLX Spreadsheet를 사용하는 방법입니다. 프로젝트를 만들고, Spreadsheet를 Angular 컴포넌트로 추가하고, 데이터를 로드하고, 이벤트를 처리합니다. --- # Angular 통합 {#integration-with-angular} @@ -234,6 +234,10 @@ ngOnDestroy() { } ~~~ +:::info +`destructor()` 메서드는 `spreadsheet.events.on()`으로 연결한 이벤트 핸들러를 제거합니다. 새 Spreadsheet 인스턴스를 생성할 때(예: 컴포넌트가 다시 생성될 때) 새 인스턴스에 핸들러를 다시 연결하세요. +::: + ### 3단계. 앱에 Spreadsheet 추가 {#step-3-adding-spreadsheet-into-the-app} `SpreadsheetComponent` 컴포넌트를 앱에 추가하려면 *src/app/app.component.ts* 파일을 열고 기본 코드를 다음으로 교체합니다: diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/api_overview.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/api_overview.md index 9fb698f3..bb0e8211 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/api_overview.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/api_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: API 개요 title: API 개요 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 API 개요를 문서에서 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet API 개요입니다. 생성자, 메서드, 이벤트, 속성과 시트 매니저, 셀 선택, 이벤트 버스, 내보내기 모듈을 다룹니다. --- # API 개요 {#api-overview} @@ -27,6 +27,7 @@ const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { | [](api/spreadsheet_addcolumn_method.md) | @getshort(api/spreadsheet_addcolumn_method.md) | | [](api/spreadsheet_addformula_method.md) | @getshort(api/spreadsheet_addformula_method.md) | | [](api/spreadsheet_addrow_method.md) | @getshort(api/spreadsheet_addrow_method.md) | +| [](api/spreadsheet_announce_method.md) | @getshort(api/spreadsheet_announce_method.md) | | [](api/spreadsheet_clear_method.md) | @getshort(api/spreadsheet_clear_method.md) | | [](api/spreadsheet_deletecolumn_method.md) | @getshort(api/spreadsheet_deletecolumn_method.md) | | [](api/spreadsheet_deleterow_method.md) | @getshort(api/spreadsheet_deleterow_method.md) | @@ -99,6 +100,7 @@ const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { | [](api/spreadsheet_multisheets_config.md) | @getshort(api/spreadsheet_multisheets_config.md) | | [](api/spreadsheet_readonly_config.md) | @getshort(api/spreadsheet_readonly_config.md) | | [](api/spreadsheet_rowscount_config.md) | @getshort(api/spreadsheet_rowscount_config.md) | +| [](api/spreadsheet_selection_config.md) | @getshort(api/spreadsheet_selection_config.md) | | [](api/spreadsheet_toolbarblocks_config.md) | @getshort(api/spreadsheet_toolbarblocks_config.md) | @@ -118,8 +120,11 @@ const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { | 이름 | 설명 | | :--------------------------------------------- | :---------------------------------------------------- | +| [](api/selection_disable_method.md) | @getshort(api/selection_disable_method.md) | +| [](api/selection_enable_method.md) | @getshort(api/selection_enable_method.md) | | [](api/selection_getfocusedcell_method.md) | @getshort(api/selection_getfocusedcell_method.md) | | [](api/selection_getselectedcell_method.md) | @getshort(api/selection_getselectedcell_method.md) | +| [](api/selection_isdisabled_method.md) | @getshort(api/selection_isdisabled_method.md) | | [](api/selection_removeselectedcell_method.md) | @getshort(api/selection_removeselectedcell_method.md) | | [](api/selection_setfocusedcell_method.md) | @getshort(api/selection_setfocusedcell_method.md) | | [](api/selection_setselectedcell_method.md) | @getshort(api/selection_setselectedcell_method.md) | diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md index 886909a2..52e5ba4a 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md @@ -1,7 +1,7 @@ --- sidebar_label: detach() title: detach events bus 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 detach events bus 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet에서 events.detach() 메서드로 on() 메서드를 통해 연결된 이벤트 핸들러를 이벤트 이름으로 분리합니다. --- # detach() @@ -23,7 +23,7 @@ detach(name: string): void; ### 예제 {#example} ~~~jsx {10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md index 3d3d782b..6d38da53 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md @@ -1,7 +1,7 @@ --- sidebar_label: fire() title: fire events bus 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 fire events bus 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet에서 events.fire() 메서드로 이벤트 이름과 이벤트 데이터 배열을 전달하여 내부 이벤트를 트리거합니다. --- # fire() @@ -32,7 +32,7 @@ fire(name: string, arguments: array): boolean; ### 예제 {#example} ~~~jsx {10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md index e19f7c2d..55187a76 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md @@ -1,7 +1,7 @@ --- sidebar_label: on() title: on events bus 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 on events bus 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet에서 events.on() 메서드로 내부 이벤트에 핸들러를 연결합니다. 예를 들어 셀 스타일 변경에 대응할 수 있습니다. --- # on() @@ -24,7 +24,7 @@ on(name: string, callback: function): void; ### 예제 {#example} ~~~jsx {6-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/export_json_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/export_json_method.md index 223c927f..21a5f8f9 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/export_json_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/export_json_method.md @@ -1,7 +1,7 @@ --- sidebar_label: json() title: json 내보내기 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 json 내보내기 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet에서 export.json() 메서드로 데이터를 JSON 파일로 내보냅니다. --- # json() @@ -19,7 +19,7 @@ json(): void; ### 예제 {#example} ~~~jsx {7} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md index ce29cf0e..fd95dc86 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md @@ -1,7 +1,7 @@ --- sidebar_label: xlsx() title: xlsx 내보내기 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 xlsx 내보내기 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet에서 export.xlsx() 메서드로 데이터를 Excel(.xlsx) 파일로 내보냅니다. 파일 이름을 지정할 수도 있습니다. --- # xlsx() @@ -23,7 +23,7 @@ xlsx(name:string): void; ### 예제 {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md index 8039e4d9..64eace21 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Spreadsheet 액션 title: 액션 개요 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 액션 개요를 문서에서 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet 액션 개요와 beforeAction 및 afterAction 이벤트에서 처리할 수 있는 전체 액션 목록입니다. --- # 액션 개요 {#actions-overview} @@ -67,8 +67,8 @@ spreadsheet.events.on("beforeColumnAdd", function(cell){ | **merge** | 셀 범위를 병합할 때 실행됩니다 | | **removeCellStyles** | 셀 스타일을 지울 때 실행됩니다 | | **renameSheet** | 시트 이름을 바꿀 때 실행됩니다 | -| **resizeCol** | 열 크기를 조정할 때 실행됩니다 | -| **resizeRow** | 행 크기를 조정할 때 실행됩니다 | +| **resizeCol** | 경계를 드래그하거나 *Column width* 명령으로 열 크기를 조정할 때 실행됩니다 | +| **resizeRow** | 경계를 드래그하거나 *Row height* 명령으로 행 크기를 조정할 때 실행됩니다 | | **setCellFormat** | 셀 형식을 변경할 때 실행됩니다 | | **setCellValue** | 셀 값을 변경하거나 제거할 때 실행됩니다 | | **setValidation** | 셀에 데이터 유효성 검사를 설정할 때 실행됩니다 | @@ -78,6 +78,13 @@ spreadsheet.events.on("beforeColumnAdd", function(cell){ | **toggleFreeze** | 열/행을 고정하거나 고정 해제할 때 실행됩니다 | | **unmerge** | 셀을 분할할 때 실행됩니다 | +:::note +[`beforeAction`](api/spreadsheet_beforeaction_event.md) 및 [`afterAction`](api/spreadsheet_afteraction_event.md) 이벤트의 `config` 객체에서 **resizeCol** 및 **resizeRow** 액션은 다음 값을 전달합니다: + +- `cell` - 열 또는 행의 크기가 조정되는 셀 또는 셀 범위 +- `val` - 픽셀 단위의 새 너비 또는 높이. *Column width* 및 *Row height* 명령에서만 설정되며, 드래그로 크기를 조정할 때는 설정되지 않습니다 +::: + **변경 로그:** - **toggleFreeze** 및 **toggleVisibility** 액션이 v5.2에서 추가되었습니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md index d00f919c..041a699f 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Event Bus 메서드 개요 title: Event Bus 메서드 개요 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 Event Bus 메서드 개요를 문서에서 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드하실 수 있습니다. +description: 이벤트를 연결, 분리 및 트리거하는 DHTMLX Spreadsheet 이벤트 버스 메서드 목록입니다. --- # Event Bus 메서드 개요 {#event-bus-methods-overview} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/events_overview.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/events_overview.md index 4ee933b3..e45a8aff 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/events_overview.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/events_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: 이벤트 개요 title: 이벤트 개요 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 이벤트 개요를 문서에서 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드하실 수 있습니다. +description: 액션, 데이터 로딩, 셀 편집, 선택, 포커스 및 시트 변경 시 발생하는 DHTMLX Spreadsheet 이벤트 목록입니다. --- # 이벤트 개요 {#events-overview} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/export_overview.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/export_overview.md index 49aaf524..7b8b5127 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/export_overview.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/export_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: 내보내기 메서드 개요 title: 내보내기 메서드 개요 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 내보내기 메서드 개요를 문서에서 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드하실 수 있습니다. +description: 데이터를 JSON 또는 Excel(.xlsx) 파일로 저장하는 DHTMLX Spreadsheet export 모듈 메서드 목록입니다. --- # 내보내기 메서드 개요 {#export-methods-overview} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md index 3ec5c888..b8d957e7 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: 메서드 개요 title: 메서드 개요 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 메서드 개요를 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드할 수 있습니다. +description: 데이터 로드 및 저장, 셀 편집, 스타일 지정, 병합, 정렬, 필터링, 시트 관리를 위한 DHTMLX Spreadsheet 메서드 목록입니다. --- # 메서드 개요 {#methods-overview} @@ -11,6 +11,7 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 메서 | [](api/spreadsheet_addcolumn_method.md) | @getshort(../spreadsheet_addcolumn_method.md) | | [](api/spreadsheet_addformula_method.md) | @getshort(../spreadsheet_addformula_method.md) | | [](api/spreadsheet_addrow_method.md) | @getshort(../spreadsheet_addrow_method.md) | +| [](api/spreadsheet_announce_method.md) | @getshort(../spreadsheet_announce_method.md) | | [](api/spreadsheet_clear_method.md) | @getshort(../spreadsheet_clear_method.md) | | [](api/spreadsheet_deletecolumn_method.md) | @getshort(../spreadsheet_deletecolumn_method.md) | | [](api/spreadsheet_deleterow_method.md) | @getshort(../spreadsheet_deleterow_method.md) | diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md index 14ea5ad2..77a2b100 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: 속성 개요 title: 속성 개요 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 속성 개요를 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드할 수 있습니다. +description: 툴바, 메뉴, 읽기 전용 모드, 셀 선택, 그리드 크기 등을 설정하는 DHTMLX Spreadsheet 구성 속성 목록입니다. --- # 속성 개요 {#properties-overview} @@ -18,4 +18,5 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 속성 | [](api/spreadsheet_multisheets_config.md) | @getshort(../spreadsheet_multisheets_config.md) | | [](api/spreadsheet_readonly_config.md) | @getshort(../spreadsheet_readonly_config.md) | | [](api/spreadsheet_rowscount_config.md) | @getshort(../spreadsheet_rowscount_config.md) | +| [](api/spreadsheet_selection_config.md) | @getshort(../spreadsheet_selection_config.md) | | [](api/spreadsheet_toolbarblocks_config.md) | @getshort(../spreadsheet_toolbarblocks_config.md) | diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md index 886c69c6..d35042aa 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md @@ -1,15 +1,18 @@ --- sidebar_label: Selection 메서드 개요 title: Selection 메서드 개요 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 Selection 메서드 개요를 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드할 수 있습니다. +description: 셀 선택, 포커스 설정, 셀 선택 해제 및 활성화를 위한 DHTMLX Spreadsheet selection 모듈 메서드 목록입니다. --- # Selection 메서드 개요 {#selection-methods-overview} | 이름 | 설명 | | :--------------------------------------------- | :---------------------------------------------------- | +| [](api/selection_disable_method.md) | @getshort(../selection_disable_method.md) | +| [](api/selection_enable_method.md) | @getshort(../selection_enable_method.md) | | [](api/selection_getfocusedcell_method.md) | @getshort(../selection_getfocusedcell_method.md) | | [](api/selection_getselectedcell_method.md) | @getshort(../selection_getselectedcell_method.md) | +| [](api/selection_isdisabled_method.md) | @getshort(../selection_isdisabled_method.md) | | [](api/selection_removeselectedcell_method.md) | @getshort(../selection_removeselectedcell_method.md) | | [](api/selection_setfocusedcell_method.md) | @getshort(../selection_setfocusedcell_method.md) | | [](api/selection_setselectedcell_method.md) | @getshort(../selection_setselectedcell_method.md) | diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md index 19c167e9..52a24ddd 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Sheet Manager API 개요 title: Sheet Manager API 개요 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 Sheet Manager API 개요를 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드할 수 있습니다. +description: 시트를 추가, 제거, 초기화, 조회 및 전환하는 DHTMLX Spreadsheet 시트 관리자 메서드 목록입니다. --- # Sheet Manager API 개요 {#sheet-manager-api-overview} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_disable_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_disable_method.md new file mode 100644 index 00000000..ea197944 --- /dev/null +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_disable_method.md @@ -0,0 +1,47 @@ +--- +sidebar_label: disable() +title: disable selection 메서드 +description: DHTMLX Spreadsheet에서 selection.disable() 메서드로 런타임에 셀 선택 기능을 끌 수 있습니다. 이 메서드는 활성 셀을 제거하고 마우스, 키보드, API를 통한 선택을 무시합니다. +--- + +# disable() + +### 설명 {#description} + +@short: 셀 선택 기능을 끕니다 + +### 사용법 {#usage} + +~~~jsx +disable(): void; +~~~ + +### 예제 {#example} + +~~~jsx {6} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + // config parameters +}); +spreadsheet.parse(data); + +spreadsheet.selection.disable(); +~~~ + +### 상세 설명 {#details} + +이 메서드는 다음과 같이 동작합니다. + +- 셀 편집을 종료하고 입력된 값을 저장합니다 +- 모든 시트에서 선택된 셀과 활성 셀을 제거합니다 +- [`enable()`](api/selection_enable_method.md) 메서드가 호출될 때까지 마우스, 키보드, API를 통한 선택을 무시합니다 + +선택 기능이 꺼져 있는 동안 [`getSelectedCell()`](api/selection_getselectedcell_method.md) 및 [`getFocusedCell()`](api/selection_getfocusedcell_method.md) 메서드는 `undefined`를 반환합니다. 그 밖의 동작은 [`selection: false`](api/spreadsheet_selection_config.md#details) 구성 옵션을 사용할 때와 동일합니다. + +선택 기능이 이미 꺼져 있으면 이 메서드는 아무 동작도 하지 않습니다. + +**변경 로그:** v6.0.4에서 추가됨 + +**관련 문서:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`enable()`](api/selection_enable_method.md) +- [접근성: 읽기 전용 설정](accessibility.md#read-only-setup) diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_enable_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_enable_method.md new file mode 100644 index 00000000..856df74d --- /dev/null +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_enable_method.md @@ -0,0 +1,42 @@ +--- +sidebar_label: enable() +title: enable selection 메서드 +description: DHTMLX Spreadsheet에서 selection.enable() 메서드로 셀 선택 기능을 다시 켤 수 있습니다. 이 메서드는 A1 셀을 활성화하고 선택 관련 이벤트를 발생시킵니다. +--- + +# enable() + +### 설명 {#description} + +@short: 셀 선택 기능을 켭니다 + +### 사용법 {#usage} + +~~~jsx +enable(): void; +~~~ + +### 예제 {#example} + +~~~jsx {7} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // other config parameters +}); +spreadsheet.parse(data); + +spreadsheet.selection.enable(); +~~~ + +### 상세 설명 {#details} + +이 메서드는 활성 시트의 A1 셀을 활성 셀로 만듭니다. A1 셀에 대해 [`beforeSelectionSet`](api/spreadsheet_beforeselectionset_event.md), [`beforeFocusSet`](api/spreadsheet_beforefocusset_event.md), [`afterFocusSet`](api/spreadsheet_afterfocusset_event.md), [`afterSelectionSet`](api/spreadsheet_afterselectionset_event.md) 이벤트가 발생합니다. + +선택 기능이 이미 켜져 있으면 이 메서드는 아무 동작도 하지 않습니다. + +**변경 로그:** v6.0.4에서 추가됨 + +**관련 문서:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`disable()`](api/selection_disable_method.md) +- [접근성: 읽기 전용 설정](accessibility.md#read-only-setup) diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md index 3b95bf5d..448040cb 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFocusedCell() title: getFocusedCell selection 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 getFocusedCell selection 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 selection.getFocusedCell() 메서드로 포커스가 있는(활성) 셀의 id를 가져옵니다. --- # getFocusedCell() @@ -23,7 +23,7 @@ getFocusedCell(): string; ### 예제 {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md index 256f7160..7c846385 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getSelectedCell() title: getSelectedCell selection 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 getSelectedCell selection 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 selection.getSelectedCell() 메서드로 선택된 셀의 id 또는 범위를 가져옵니다. --- # getSelectedCell() @@ -23,7 +23,7 @@ getSelectedCell(): string; ### 예제 {#example} ~~~jsx {8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_isdisabled_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_isdisabled_method.md new file mode 100644 index 00000000..5c4d0628 --- /dev/null +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_isdisabled_method.md @@ -0,0 +1,41 @@ +--- +sidebar_label: isDisabled() +title: isDisabled selection 메서드 +description: DHTMLX Spreadsheet에서 selection.isDisabled() 메서드로 셀 선택 기능이 꺼져 있는지 확인할 수 있습니다. +--- + +# isDisabled() + +### 설명 {#description} + +@short: 셀 선택 기능이 꺼져 있는지 확인합니다 + +### 사용법 {#usage} + +~~~jsx +isDisabled(): boolean; +~~~ + +### 반환값 {#returns} + +선택 기능이 꺼져 있으면 `true`를, 그렇지 않으면 `false`를 반환합니다 + +### 예제 {#example} + +~~~jsx {7} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // other config parameters +}); +spreadsheet.parse(data); + +const disabled = spreadsheet.selection.isDisabled(); // -> true +~~~ + +**변경 로그:** v6.0.4에서 추가됨 + +**관련 문서:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`enable()`](api/selection_enable_method.md) +- [`disable()`](api/selection_disable_method.md) +- [접근성: 읽기 전용 설정](accessibility.md#read-only-setup) diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md index 61c1cfd2..227494ae 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: removeSelectedCell() title: removeSelectedCell selection 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 Selection의 removeSelectedCell 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 selection.removeSelectedCell() 메서드로 지정한 셀 또는 셀 범위의 선택을 해제합니다. --- # removeSelectedCell() @@ -23,7 +23,7 @@ removeSelectedCell(cell: string): void; ### 예제 {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md index 3a162a2d..cbeefd5c 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFocusedCell() title: setFocusedCell selection 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 setFocusedCell selection 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 selection.setFocusedCell() 메서드로 셀을 활성화하고 키보드 포커스를 해당 셀로 이동합니다. --- # setFocusedCell() @@ -13,17 +13,18 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 setFocus ### 사용법 {#usage} ~~~jsx -setFocusedCell(cell: string): void; +setFocusedCell(cell: string, scroll?: boolean): void; ~~~ ### 매개변수 {#parameters} - `cell` - (필수) 포커스를 설정할 셀의 id +- `scroll` - (선택 사항) Spreadsheet를 해당 셀로 스크롤할지 여부이며, 기본값은 `true`입니다 ### 예제 {#example} ~~~jsx {6} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); @@ -31,4 +32,24 @@ spreadsheet.parse(data); spreadsheet.selection.setFocusedCell("D4"); ~~~ -**관련 문서:** [Spreadsheet 작업하기](working_with_ssheet.md) +### 상세 정보 {#details} + +이 메서드는 지정된 셀을 활성 셀로 만들고, 다시 그려진 후 키보드 포커스를 해당 셀로 이동합니다. 키보드 포커스가 다음 위치에 있는 경우에는 이동하지 않습니다: + +- Spreadsheet 외부의 요소 +- 키보드로 이동한 툴바, 메뉴 또는 시트 탭 +- 열려 있는 셀 에디터 + +키보드 포커스가 페이지 body에 있는 경우(예: 페이지를 로드한 직후) 이 메서드는 포커스를 셀로 이동합니다. + +다른 API 메서드 등으로 활성 셀을 변경하는 경우에도 동일한 규칙이 적용됩니다. + +[`beforeFocusSet`](api/spreadsheet_beforefocusset_event.md) 이벤트 핸들러가 `false`를 반환하면 활성 셀이 변경되지 않으며 키보드 포커스도 이동하지 않습니다. + +[`selection: false`](api/spreadsheet_selection_config.md) 구성 옵션 또는 [`selection.disable()`](api/selection_disable_method.md) 메서드로 선택이 비활성화된 동안에는 이 메서드가 아무 작업도 하지 않습니다. + +**변경 로그:** 셀로 키보드 포커스를 이동하는 기능이 v6.0.4에서 추가됨 + +**관련 문서:** +- [Spreadsheet 작업하기](working_with_ssheet.md) +- [접근성: 키보드 탐색](accessibility.md#keyboard-navigation) diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md index b853979c..007789b9 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setSelectedCell() title: setSelectedCell selection 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 setSelectedCell selection 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 selection.setSelectedCell() 메서드로 하나 또는 여러 셀이나 셀 범위를 선택하고, 필요하면 해당 위치로 스크롤합니다. --- # setSelectedCell() @@ -13,17 +13,18 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 setSelec ### 사용법 {#usage} ~~~jsx -setSelectedCell(cell: string): void; +setSelectedCell(cell: string, scroll?: boolean): void; ~~~ ### 매개변수 {#parameters} - `cell` - (필수) 선택할 셀의 id 또는 범위 +- `scroll` - (선택 사항) Spreadsheet를 해당 셀로 스크롤할지 여부이며, 기본값은 `true`입니다 ### 예제 {#example} ~~~jsx {7,10,13} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md index 316af70a..acb7195f 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md @@ -1,7 +1,7 @@ --- sidebar_label: add() title: add 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 Sheet Manager의 add 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판도 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 sheets.add() 메서드로 새 빈 시트를 추가하고 새 시트의 id를 반환받습니다(multiSheets 옵션 필요). --- # add() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md index 4039ada9..c51c559f 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md @@ -1,7 +1,7 @@ --- sidebar_label: clear() title: clear 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 Sheet Manager의 clear 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 sheets.clear() 메서드로 시트 자체는 삭제하지 않고 시트의 값, 스타일 및 서식을 지웁니다. --- # clear() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md index b798b766..b5ba7c4d 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md @@ -1,7 +1,7 @@ --- sidebar_label: get() title: get 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 Sheet Manager의 get 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 sheets.get() 메서드로 id를 기준으로 시트 객체를 가져옵니다. --- # get() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md index 971afce9..29a3dcc7 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getActive() title: getActive 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 Sheet Manager의 getActive 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 sheets.getActive() 메서드로 활성(표시된) 시트를 가져옵니다. 이 메서드는 시트의 id와 이름을 반환합니다. --- # getActive() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md index 440f9080..aa7d26eb 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getAll() title: getAll 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 Sheet Manager의 getAll 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 sheets.getAll() 메서드로 모든 시트를 가져옵니다. 이 메서드는 시트의 id와 이름이 담긴 객체 배열을 반환합니다. --- # getAll() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md index 973ffb57..1c531e93 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md @@ -1,7 +1,7 @@ --- sidebar_label: remove() title: remove 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 Sheet Manager의 remove 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 sheets.remove() 메서드로 id를 기준으로 시트를 제거합니다. 최소 하나의 시트는 유지되며, 활성 시트를 제거하면 다른 시트로 전환됩니다. --- # remove() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md index 30745458..5a3cbff2 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setActive() title: setActive 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 Sheet Manager의 setActive 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 sheets.setActive() 메서드로 활성(표시된) 시트를 지정한 id의 시트로 전환합니다. --- # setActive() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md index 26a30316..efc13ae0 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addColumn() title: addColumn 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 addColumn 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 addColumn() 메서드로 빈 열을 추가합니다. 지정한 셀의 열 위치에 열을 삽입하고 기존 열을 오른쪽으로 이동합니다. --- # addColumn() @@ -27,7 +27,7 @@ addColumn(cell: string): void; ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 빈 "G" 열 추가 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md index 69797891..e3015564 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addFormula() title: addFormula 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 addFormula 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 addFormula() 메서드로 사용자 정의 수식 함수를 등록하여 셀 수식에서 대문자 이름으로 사용합니다. --- # addFormula() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md index c88dda92..907ec073 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addRow() title: addRow 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 addRow 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 addRow() 메서드로 빈 행을 추가합니다. 지정한 셀의 행 위치에 행을 삽입하고 기존 행을 아래로 이동합니다. --- # addRow() @@ -27,7 +27,7 @@ addRow(cell: string): void; ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 빈 두 번째 행 추가 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md index 5de85602..bd3c32bd 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterAction title: afterAction 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 afterAction 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: 작업이 실행된 후 발생하는 DHTMLX Spreadsheet의 afterAction 이벤트를 처리합니다. 이 이벤트는 액션 이름과 셀, 새 값 및 이전 값 등 액션의 매개변수를 전달받습니다. --- # afterAction @@ -13,7 +13,21 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 afterAct ### 사용법 {#usage} ~~~jsx -afterAction: (action: string, config: object) => void; +afterAction: ( + action: string, + config: { + action?: string, + cell?: string, + row?: number, + col?: number, + val?: any, + prev?: any, + groupAction?: string, + pageId?: string | number, + pageName?: string, + // other properties of the action + } | object[] +) => void; ~~~ ### 매개변수 {#parameters} @@ -21,12 +35,23 @@ afterAction: (action: string, config: object) => void; 이벤트의 callback은 다음 매개변수를 받습니다: - `action` - (필수) 액션의 이름. 사용 가능한 액션의 전체 목록은 [여기](api/overview/actions_overview.md#list-of-actions)를 참조하세요. -- `config` - (필수) 액션의 매개변수를 포함한 객체 +- `config` - (필수) 액션의 매개변수를 포함한 객체. 속성 집합은 액션에 따라 다릅니다. 객체에는 다음이 포함될 수 있습니다: + - `action` - (선택 사항) 액션의 이름 + - `cell` - (선택 사항) 액션이 적용되는 셀 또는 셀 범위의 id (예: `"A1"` 또는 `"B2:D5"`) + - `row` - (선택 사항) 셀이 위치한 행의 0부터 시작하는 인덱스 + - `col` - (선택 사항) 셀이 위치한 열의 0부터 시작하는 인덱스 + - `val` - (선택 사항) 액션이 적용하는 새 값 (예: 셀 값, 스타일 또는 크기) + - `prev` - (선택 사항) 이전 값 + - `groupAction` - (선택 사항) `cell`이 셀 범위일 때 `action` 대신 실행되는 액션의 이름 (예: `"groupAction"`, `"groupRowAction"` 또는 `"resizeCol"`) + - `pageId` - (선택 사항) 시트의 id + - `pageName` - (선택 사항) 시트의 이름 + + 붙여넣기처럼 여러 액션이 함께 실행되는 경우 `action` 매개변수는 `"groupAction"`이며, `config`는 이러한 객체의 배열입니다. ### 예제 {#example} ~~~jsx {6-11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config 매개변수 }); spreadsheet.parse(dataset); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md index 796f06b4..cdd11251 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterClear title: afterClear 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 afterClear 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet가 초기화된 후 발생하는 afterClear 이벤트를 처리합니다(v4.3부터 더 이상 사용되지 않으므로 afterAction 이벤트를 사용하십시오). --- # afterClear @@ -33,7 +33,7 @@ afterClear: () => void; ### 예제 {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "afterClear" 이벤트 구독 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md index 42591a5e..2b70626a 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterDataLoaded title: afterDataLoaded 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 afterDataLoaded 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet에서 afterDataLoaded 이벤트로 데이터가 로드된 후 코드를 실행합니다. 예를 들어, 로딩이 완료되면 메시지를 표시할 수 있습니다. --- # afterDataLoaded diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md index 5ef6dbfc..93830c42 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterEditEnd title: afterEditEnd 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 afterEditEnd 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet에서 afterEditEnd 이벤트로 셀 편집 종료를 처리합니다. 이 이벤트는 셀 id와 새 값을 받습니다. --- # afterEditEnd @@ -26,7 +26,7 @@ afterEditEnd: (cell: string, value: string) => void; ### 예제 {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "afterEditEnd" 이벤트 구독 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md index 7a6bdbab..7993db0e 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterEditStart title: afterEditStart 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 afterEditStart 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet에서 afterEditStart 이벤트로 셀 편집 시작을 처리합니다. 이 이벤트는 셀 id와 값을 받습니다. --- # afterEditStart @@ -26,7 +26,7 @@ afterEditStart: (cell: string, value: string) => void; ### 예제 {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "afterEditStart" 이벤트 구독 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md index 481788b7..eb163b77 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterFocusSet title: afterFocusSet 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 afterFocusSet 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet에서 afterFocusSet 이벤트로 포커스된 셀을 추적합니다. 이 이벤트는 셀에 포커스가 설정된 후 발생하며 셀 id를 받습니다. --- # afterFocusSet @@ -25,7 +25,7 @@ afterFocusSet: (cell: string) => void; ### 예제 {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "afterFocusSet" 이벤트 구독 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md index cbafd895..aef2c89a 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterSelectionSet title: afterSelectionSet 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 afterSelectionSet 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet에서 afterSelectionSet 이벤트로 셀 선택에 대응합니다. 이 이벤트는 셀이 선택된 후 발생하며 셀 id를 받습니다. --- # afterSelectionSet @@ -25,7 +25,7 @@ afterSelectionSet: (cell: string) => void; ### 예제 {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "afterSelectionSet" 이벤트 구독 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md index ee3671e9..68cc968a 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterSheetChange title: afterSheetChange 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 afterSheetChange 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet에서 afterSheetChange 이벤트로 시트 전환을 추적합니다. 이 이벤트는 새로 활성화된 시트의 이름과 id를 받습니다. --- # afterSheetChange @@ -25,7 +25,7 @@ afterSheetChange: (sheet: object) => void; ### 예제 {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "afterSheetChange" 이벤트 구독 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_announce_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_announce_method.md new file mode 100644 index 00000000..468e9ee4 --- /dev/null +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_announce_method.md @@ -0,0 +1,67 @@ +--- +sidebar_label: announce() +title: announce 메서드 +description: DHTMLX Spreadsheet에서 announce() 메서드로 스크린 리더 사용자에게 상태 메시지를 전달할 수 있습니다. 예를 들어 사용자 정의 툴바 또는 메뉴 명령의 실행 결과를 알릴 때 사용합니다. +--- + +# announce() + +### 설명 {#description} + +@short: 스크린 리더 사용자에게 메시지를 알립니다 + +### 사용법 {#usage} + +~~~jsx +announce(message: string): void; +~~~ + +### 매개변수 {#parameters} + +- `message` - (필수) 알릴 텍스트. 빈 문자열을 전달하면 메시지가 지워집니다 + +### 예제 {#example} + +아래 예제에서는 사용자 정의 메뉴 명령이 선택한 범위의 빈 셀 개수를 세고 그 결과를 알립니다. + +~~~jsx {18} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + menu: true, + // other config parameters +}); +spreadsheet.parse(data); + +spreadsheet.menu.data.add({ + id: "count-empty", + value: "Count empty cells" +}); + +spreadsheet.menu.events.on("click", function (id) { + if (id === "count-empty") { + let count = 0; + spreadsheet.eachCell(function (cell, value) { + if (value === "" || value === undefined || value === null) count++; + }, spreadsheet.selection.getSelectedCell()); + spreadsheet.announce(count + " empty cells in the selection"); + } +}); +~~~ + +### 상세 설명 {#details} + +사용자 정의 툴바 또는 메뉴 명령처럼 화면에 표시되는 요소가 따로 없는 동작의 결과를 스크린 리더 사용자에게 알려야 할 때 이 메서드를 사용합니다. + +메시지는 그리드 요소 바로 뒤에 있는 시각적으로 숨겨진 라이브 영역(`role="status"`, `aria-live="polite"`, `aria-atomic="true"`)으로 전달됩니다. 스크린 리더는 현재 읽고 있는 음성이 끝난 뒤에 이 메시지를 읽으며, 키보드 포커스는 이동하지 않습니다. + +Spreadsheet도 같은 영역을 통해 자체 메시지를 알립니다. 선택한 범위, 새로 발생한 수식 오류와 잘못된 값, 거부된 편집, 검색 결과, 가져오기와 내보내기의 시작 및 종료, 새 열 너비와 행 높이가 이에 해당합니다([상태 알림 목록](accessibility.md#status-announcements) 참조). 이 영역은 한 번에 하나의 메시지만 유지하므로, 나중에 전달된 메시지는 직접 보낸 메시지이든 기본 제공 메시지이든 이전 메시지를 대체합니다. + +영역에 현재 들어 있는 텍스트와 같은 텍스트를 전달하면 스크린 리더가 해당 텍스트를 다시 읽습니다. + +이 메서드는 [읽기 전용 모드](api/spreadsheet_readonly_config.md)에서도, [선택](api/spreadsheet_selection_config.md) 기능이 꺼져 있는 동안에도 동작합니다. Spreadsheet가 페이지에 연결되기 전이나 `destructor()` 메서드가 호출된 후에는 아무 동작도 하지 않습니다. + +**변경 로그:** v6.0.4에서 추가됨 + +**관련 문서:** +- [상태 알림](accessibility.md#status-announcements) +- [사용자 정의 명령 알리기](accessibility.md#announcing-a-custom-command) +- [메뉴 커스터마이징](customization.md#menu) diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md index e9dc2c31..c81ba569 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeAction title: beforeAction 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 beforeAction 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet에서 beforeAction 이벤트로 액션을 가로챕니다. 이 이벤트는 액션의 이름과 매개변수를 받으며, 핸들러가 false를 반환하면 액션을 취소합니다. --- # beforeAction @@ -13,7 +13,21 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 beforeAc ### 사용법 {#usage} ~~~jsx -beforeAction: (action: string, config: object) => void | boolean; +beforeAction: ( + action: string, + config: { + action?: string, + cell?: string, + row?: number, + col?: number, + val?: any, + prev?: any, + groupAction?: string, + pageId?: string | number, + pageName?: string, + // other properties of the action + } | object[] +) => void | boolean; ~~~ ### 매개변수 {#parameters} @@ -21,7 +35,18 @@ beforeAction: (action: string, config: object) => void | boolean; 이벤트의 callback은 다음 매개변수를 받습니다: - `action` - (필수) 액션의 이름. 사용 가능한 액션의 전체 목록은 [여기](api/overview/actions_overview.md#list-of-actions)에서 확인하세요 -- `config` - (필수) 액션의 매개변수를 포함하는 객체 +- `config` - (필수) 액션의 매개변수를 포함한 객체. 속성 집합은 액션에 따라 다릅니다. 객체에는 다음이 포함될 수 있습니다: + - `action` - (선택 사항) 액션의 이름 + - `cell` - (선택 사항) 액션이 적용되는 셀 또는 셀 범위의 id (예: `"A1"` 또는 `"B2:D5"`) + - `row` - (선택 사항) 셀이 위치한 행의 0부터 시작하는 인덱스 + - `col` - (선택 사항) 셀이 위치한 열의 0부터 시작하는 인덱스 + - `val` - (선택 사항) 액션이 적용하는 새 값 (예: 셀 값, 스타일 또는 크기) + - `prev` - (선택 사항) 이전 값 + - `groupAction` - (선택 사항) `cell`이 셀 범위일 때 `action` 대신 실행되는 액션의 이름 (예: `"groupAction"`, `"groupRowAction"` 또는 `"resizeCol"`) + - `pageId` - (선택 사항) 시트의 id + - `pageName` - (선택 사항) 시트의 이름 + + 붙여넣기처럼 여러 액션이 함께 실행되는 경우 `action` 매개변수는 `"groupAction"`이며, `config`는 이러한 객체의 배열입니다. ### 반환값 {#returns} @@ -30,7 +55,7 @@ beforeAction: (action: string, config: object) => void | boolean; ### 예제 {#example} ~~~jsx {6-11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(dataset); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md index 04d82e19..a9ffc6d4 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeClear title: beforeClear 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 beforeClear 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet에서 더 이상 사용되지 않는 beforeClear 이벤트로, 또는 이를 대체하는 beforeAction 이벤트와 clear 액션으로 스프레드시트 비우기를 막습니다. --- # beforeClear @@ -38,7 +38,7 @@ beforeClear: () => void | boolean; ### 예제 {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "beforeClear" 이벤트 구독 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md index 63797752..3a71cdc8 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeEditEnd title: beforeEditEnd 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 beforeEditEnd 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하실 수 있습니다. +description: DHTMLX Spreadsheet에서 beforeEditEnd 이벤트로 편집이 끝나기 전에 셀 값을 확인하고, false를 반환하여 에디터를 열린 상태로 유지합니다. --- # beforeEditEnd @@ -30,7 +30,7 @@ beforeEditEnd: (cell: string, value: string) => void | boolean; ### 예제 {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "beforeEditEnd" 이벤트 구독 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md index fccd078c..bc8a30ca 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeEditStart title: beforeEditStart 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 문서에서 beforeEditStart 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 체험하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 beforeEditStart 이벤트로 편집할 수 있는 셀을 제어하고, false를 반환하여 에디터가 열리지 않게 합니다. --- # beforeEditStart @@ -30,7 +30,7 @@ beforeEditStart: (cell: string, value: string) => void | boolean; ### 예제 {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "beforeEditStart" 이벤트를 구독합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md index 6638c68d..b424adf5 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeFocusSet title: beforeFocusSet 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 문서에서 beforeFocusSet 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 체험하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 beforeFocusSet 이벤트로 포커스를 제어합니다. 이 이벤트는 셀이 포커스를 받기 전에 발생하며, 핸들러가 false를 반환하면 포커스 설정을 막습니다. --- # beforeFocusSet @@ -29,7 +29,7 @@ beforeFocusSet: (cell: string) => void | boolean; ### 예제 {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "beforeFocusSet" 이벤트를 구독합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md index e2700205..028af69a 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeSelectionSet title: beforeSelectionSet 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 문서에서 beforeSelectionSet 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 체험하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 beforeSelectionSet 이벤트로 셀 선택을 제어합니다. 이 이벤트는 셀이 선택되기 전에 발생하며, 핸들러가 false를 반환하면 선택을 막습니다. --- # beforeSelectionSet @@ -29,7 +29,7 @@ beforeSelectionSet: (cell: string) => void | boolean; ### 예제 {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "beforeSelectionSet" 이벤트를 구독합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md index 20f210be..62cbafc8 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeSheetChange title: beforeSheetChange 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 문서에서 beforeSheetChange 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 체험하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 beforeSheetChange 이벤트로 시트 전환을 제어하고, false를 반환하여 현재 시트를 활성 상태로 유지합니다. --- # beforeSheetChange @@ -29,7 +29,7 @@ beforeSheetChange: (sheet: object) => void | boolean; ### 예제 {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "beforeSheetChange" 이벤트를 구독합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md index 136963ee..505594bb 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md @@ -1,7 +1,7 @@ --- sidebar_label: clear() title: clear 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 문서에서 clear 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 체험하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 clear() 메서드로 모든 데이터를 제거합니다. --- # clear() @@ -19,7 +19,7 @@ clear(): void; ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 스프레드시트를 초기화합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md index c55fe77e..419a2668 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md @@ -1,7 +1,7 @@ --- sidebar_label: colsCount title: colsCount 설정 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 문서에서 colsCount 설정에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 체험하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 colsCount 속성으로 초기화 시 표시되는 열 수를 설정합니다. --- # colsCount @@ -19,7 +19,7 @@ colsCount?: number; ### 예제 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { colsCount: 10, // 기타 설정 매개변수 }); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md index aa626c11..b1003c0b 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: deleteColumn() title: deleteColumn 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 문서에서 deleteColumn 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 체험하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 deleteColumn() 메서드로 열 또는 열 범위를 제거합니다. 병합된 셀의 모든 열도 함께 제거됩니다. --- # deleteColumn() @@ -11,7 +11,9 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리의 문서에서 delet @short: 스프레드시트에서 열을 제거합니다 :::info -이 메서드는 지정된 셀을 찾아 선택한 다음, 해당 셀이 위치한 열을 제거하고 왼쪽 열을 해당 위치로 이동합니다. +이 메서드는 지정된 셀이 위치한 열을 제거하고, 그 오른쪽에 있는 열을 왼쪽으로 이동합니다. + +셀이 병합된 셀 안에 있으면 병합된 셀이 걸쳐 있는 모든 열을 제거합니다. ::: ### 사용법 {#usage} @@ -27,7 +29,7 @@ deleteColumn(cell: string): void; ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "G" 열을 제거합니다 @@ -35,7 +37,27 @@ spreadsheet.deleteColumn("G2"); ~~~ :::note -"A1:C3"과 같이 셀 id의 범위를 메서드의 매개변수로 제공하여 여러 열을 삭제할 수 있습니다. +"A1:C3"과 같이 셀 id의 범위를 메서드의 매개변수로 제공하여 여러 열을 삭제할 수 있습니다. 범위가 병합된 셀에 닿아 있으면 병합된 셀 전체의 열이 삭제됩니다. 예를 들어 행이 100개인 시트에서 "B1:C100"처럼 전체 열을 포함하는 범위는 그대로 삭제됩니다. ::: -**관련 문서:** [스프레드시트 작업](working_with_ssheet.md#addingremoving-rows-and-columns) +### 상세 정보 {#details} + +병합된 셀 안의 열을 삭제하면 병합된 셀 전체가 모든 열과 함께 삭제됩니다: + +~~~jsx +spreadsheet.mergeCells("B2:D2"); + +// removes columns B, C and D +spreadsheet.deleteColumn("C2"); +~~~ + +전체 열을 삭제하면 해당 열에 걸쳐 있던 병합된 셀의 크기가 작아집니다. 삭제된 열의 오른쪽에 있는 병합된 셀은 해당 열과 함께 왼쪽으로 이동합니다. 삭제된 열이 고정된 열이면 고정 영역이 삭제된 고정 열의 개수만큼 줄어듭니다. + +`"deleteColumn"` 액션의 [`beforeAction`](api/spreadsheet_beforeaction_event.md) 및 [`afterAction`](api/spreadsheet_afteraction_event.md) 이벤트는 삭제된 열의 범위가 아니라 메서드에 전달된 셀을 받습니다. + +**변경 로그:** 병합된 셀의 모든 열을 삭제하는 기능이 v6.0.4에서 추가됨 + +**관련 문서:** +- [행과 열 작업](work_with_rows_cols.md#removing-columns) +- [셀 병합](merge_cells.md#removing-rows-and-columns-of-merged-cells) +- [스프레드시트 작업](working_with_ssheet.md#addingremoving-rows-and-columns) diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md index 4d060c00..1aabe167 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md @@ -1,7 +1,7 @@ --- sidebar_label: deleteRow() title: deleteRow 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 문서에서 deleteRow 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 체험하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 deleteRow() 메서드로 행 또는 행 범위를 제거합니다. 병합된 셀의 모든 행도 함께 제거됩니다. --- # deleteRow() @@ -11,7 +11,9 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리의 문서에서 delet @short: 스프레드시트에서 행을 제거합니다 :::info -이 메서드는 지정된 셀을 찾아 선택한 다음, 해당 셀이 위치한 행을 제거하고 아래 행을 해당 위치로 이동합니다. +이 메서드는 지정된 셀이 위치한 행을 제거하고, 그 아래에 있는 행을 위로 이동합니다. + +셀이 병합된 셀 안에 있으면 병합된 셀이 걸쳐 있는 모든 행을 제거합니다. ::: ### 사용법 {#usage} @@ -27,7 +29,7 @@ deleteRow(cell: string): void; ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 두 번째 행을 제거합니다 @@ -35,7 +37,27 @@ spreadsheet.deleteRow("G2"); ~~~ :::note -"A1:C3"과 같이 셀 id의 범위를 메서드의 매개변수로 제공하여 여러 행을 삭제할 수 있습니다. +"A1:C3"과 같이 셀 id의 범위를 메서드의 매개변수로 제공하여 여러 행을 삭제할 수 있습니다. 범위가 병합된 셀에 닿아 있으면 병합된 셀 전체의 행이 삭제됩니다. 예를 들어 A부터 Z까지 열이 있는 시트에서 "A2:Z3"처럼 전체 행을 포함하는 범위는 그대로 삭제됩니다. ::: -**관련 문서:** [스프레드시트 작업](working_with_ssheet.md#addingremoving-rows-and-columns) +### 상세 정보 {#details} + +병합된 셀 안의 행을 삭제하면 병합된 셀 전체가 모든 행과 함께 삭제됩니다: + +~~~jsx +spreadsheet.mergeCells("B2:B4"); + +// removes rows 2, 3 and 4 +spreadsheet.deleteRow("B3"); +~~~ + +전체 행을 삭제하면 해당 행에 걸쳐 있던 병합된 셀의 크기가 작아집니다. 삭제된 행의 아래에 있는 병합된 셀은 해당 행과 함께 위로 이동합니다. 삭제된 행이 고정된 행이면 고정 영역이 삭제된 고정 행의 개수만큼 줄어듭니다. + +`"deleteRow"` 액션의 [`beforeAction`](api/spreadsheet_beforeaction_event.md) 및 [`afterAction`](api/spreadsheet_afteraction_event.md) 이벤트는 삭제된 행의 범위가 아니라 메서드에 전달된 셀을 받습니다. + +**변경 로그:** 병합된 셀의 모든 행을 삭제하는 기능이 v6.0.4에서 추가됨 + +**관련 문서:** +- [행과 열 작업](work_with_rows_cols.md#removing-rows) +- [셀 병합](merge_cells.md#removing-rows-and-columns-of-merged-cells) +- [스프레드시트 작업](working_with_ssheet.md#addingremoving-rows-and-columns) diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md index 54fb931b..28aae89d 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: eachCell() title: eachCell 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 문서에서 eachcell 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 체험하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 eachCell() 메서드로 셀 범위 또는 선택된 셀을 순회합니다. 이 메서드는 각 셀의 이름과 값으로 함수를 호출합니다. --- # eachCell() @@ -31,7 +31,7 @@ eachCell( ### 예제 {#example} ~~~jsx {21-27} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // 설정 매개변수 }); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md index 912b725c..97a389a3 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md @@ -1,7 +1,7 @@ --- sidebar_label: editLine title: editLine 설정 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 문서에서 editLine 설정에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 체험하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 editLine 속성으로 편집 바를 표시하거나 숨깁니다. 편집 바는 기본적으로 표시됩니다. --- # editLine @@ -25,7 +25,7 @@ editLine: true ### 예제 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { editLine: true, // 기타 설정 매개변수 }); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md index 9fd037af..2ff7789f 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md @@ -1,7 +1,7 @@ --- sidebar_label: endEdit() title: endEdit 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 endEdit 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 endEdit() 메서드로 선택된 셀의 편집을 종료합니다. 이 메서드는 에디터를 닫고 입력된 값을 저장합니다. --- # endEdit() @@ -19,7 +19,7 @@ endEdit(): void; ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 선택된 셀의 편집을 종료합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md index d9358dda..28ca96c4 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md @@ -1,7 +1,7 @@ --- sidebar_label: exportModulePath title: exportModulePath 설정 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 exportModulePath 설정에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 exportModulePath 속성으로 JSON2Excel 내보내기 모듈의 worker.js 파일 경로를 설정합니다. 예를 들어, 자체 서버에서 Excel로 내보낼 때 사용합니다. --- # exportModulePath @@ -19,7 +19,7 @@ exportModulePath?: string; ### 예제 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { exportModulePath: "../libs/json2excel/x.x/worker.js?vx", // 내보내기 모듈의 `worker.js` 파일에 대한 로컬 경로 // other config parameters }); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md index 391c2b0e..faade139 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: fitColumn() title: fitColumn 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 fitColumn 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 fitColumn() 메서드로 열 너비를 해당 열에서 가장 긴 값에 맞게 조정합니다. --- # fitColumn() @@ -24,7 +24,7 @@ fitColumn(cell: string): void; ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "G" 열의 너비를 조정합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md index ae61e4a8..a5f9fbcf 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md @@ -1,7 +1,7 @@ --- sidebar_label: formats title: formats 설정 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 formats 설정에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 formats 속성으로 사용할 수 있는 숫자 형식을 정의합니다. 이 속성은 각 형식의 id, 마스크, 이름 및 예시를 담은 객체 배열입니다. --- # formats @@ -50,7 +50,7 @@ defaultFormats = [ ### 예제 {#example} ~~~jsx {2-19} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { formats: [ { name: "U.S. Dollar", diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md index 9e8ed8a6..bb5bed0b 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: freezeCols() title: freezeCols 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 freezeCols 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 freezeCols() 메서드로 열을 고정합니다. 이 메서드는 현재 시트 또는 다른 시트에서 지정된 셀이나 선택된 셀까지의 열을 고정합니다. --- # freezeCols() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md index 3266795d..7a5b2267 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: freezeRows() title: freezeRows 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 freezeRows 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 freezeRows() 메서드로 행을 고정합니다. 이 메서드는 현재 시트 또는 다른 시트에서 지정된 셀이나 선택된 셀까지의 행을 고정합니다. --- # freezeRows() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md index 00c6b19a..f60486b6 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFilter() title: getFilter 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 getFilter 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 getFilter() 메서드로 시트의 필터링 조건을 가져옵니다. 필터링된 셀 범위와 필터 규칙을 반환합니다. --- # getFilter() @@ -30,7 +30,7 @@ getFilter(id?: string): {cell, rules}; ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 현재 시트의 필터링 기준을 가져옵니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md index 874c4ad2..ae206239 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFormat() title: getFormat 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 getFormat 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 getFormat() 메서드로 셀 또는 셀 범위의 값에 적용된 숫자 형식을 가져옵니다. --- # getFormat() @@ -27,7 +27,7 @@ getFormat(cell: string): string | array; ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "currency"를 반환합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md index acf1dc82..6501ca3d 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFormula() title: getFormula 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 getFormula 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 getFormula() 메서드로 셀의 수식을 가져옵니다. 다른 시트에 있는 셀의 수식도 가져올 수 있습니다. --- # getFormula() @@ -27,7 +27,7 @@ getFormula(cell: string): string | array; ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "ABS(C2)"를 반환합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md index f5140ff2..8503d910 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getStyle() title: getStyle 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 getStyle 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 getStyle() 메서드로 셀 또는 셀 범위에 적용된 스타일을 가져옵니다. --- # getStyle() @@ -27,7 +27,7 @@ getStyle(cell: string): any; ### 예제 {#example} ~~~jsx {5,9,12} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 단일 셀의 스타일 가져오기 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md index 7d541a85..d6bd269d 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getValue() title: getValue 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 getValue 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 시험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수도 있습니다. +description: DHTMLX Spreadsheet에서 getValue() 메서드로 셀의 값 또는 셀 범위의 값을 가져옵니다. --- # getValue() @@ -27,7 +27,7 @@ getValue(cell: string): any | array; ### 예제 {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 단일 셀의 값 반환 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md index 60784395..f7b5e8c2 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md @@ -1,7 +1,7 @@ --- sidebar_label: groupFill title: groupFill 이벤트 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 groupFill 이벤트에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 시험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수도 있습니다. +description: DHTMLX Spreadsheet에서 groupFill 이벤트로 셀 자동 채우기를 처리합니다. 이 이벤트는 포커스된 셀과 선택된 셀을 콜백에 전달합니다. --- # groupFill @@ -26,7 +26,7 @@ groupFill: (focusedCell: string, selectedCell: string) => void; ### 예제 {#example} ~~~jsx {5-7} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "groupFill" 이벤트 구독 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md index 066b525b..a43cd6dd 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideCols() title: hideCols 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 hideCols 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 시험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수도 있습니다. +description: DHTMLX Spreadsheet에서 hideCols() 메서드로 하나 이상의 열을 숨깁니다. 셀 id, 셀 범위 또는 선택된 셀로 열을 지정합니다. --- # hideCols() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md index 06e116d4..0ccbea7d 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideRows() title: hideRows 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 hideRows 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 시험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수도 있습니다. +description: DHTMLX Spreadsheet에서 hideRows() 메서드로 하나 이상의 행을 숨깁니다. 셀 id, 셀 범위 또는 선택된 셀로 행을 지정합니다. --- # hideRows() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md index e6743b68..e8377ce8 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideSearch() title: hideSearch 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 hideSearch 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 시험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수도 있습니다. +description: DHTMLX Spreadsheet에서 hideSearch() 메서드로 검색 바를 숨깁니다. 예를 들어 search() 메서드로 연 검색 바를 닫을 수 있습니다. --- # hideSearch() @@ -19,7 +19,7 @@ hideSearch(): void; ### 예제 {#example} ~~~jsx {5,8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 검색 바를 열고 발견된 셀을 강조 표시합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md index eb518b0f..640b218d 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md @@ -1,7 +1,7 @@ --- sidebar_label: importModulePath title: importModulePath 설정 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 importModulePath 설정에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 시험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수도 있습니다. +description: DHTMLX Spreadsheet에서 importModulePath 속성으로 Excel 파일 가져오기에 사용되는 Excel2json 라이브러리의 worker.js 파일 경로를 설정합니다. --- # importModulePath @@ -19,7 +19,7 @@ importModulePath?: string; ### 예제 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { importModulePath: "../libs/excel2json/1.0/worker.js", // 기타 설정 매개변수 }); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md index dbf66aec..f238e6c0 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md @@ -1,7 +1,7 @@ --- sidebar_label: insertLink() title: insertLink 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 insertLink 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 시험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수도 있습니다. +description: DHTMLX Spreadsheet에서 insertLink() 메서드로 셀에 하이퍼링크를 삽입하거나, 셀의 텍스트는 유지한 채 하이퍼링크를 제거합니다. --- # insertLink() @@ -36,7 +36,7 @@ insertLink( ### 예제 {#example} ~~~jsx {5-7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // "A2" 셀에 링크 삽입 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md index cde964a7..c3c4109c 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md @@ -1,7 +1,7 @@ --- sidebar_label: isLocked() title: isLocked 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 isLocked 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 시험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수도 있습니다. +description: DHTMLX Spreadsheet에서 isLocked() 메서드로 셀 또는 범위 내의 셀 중 하나라도 잠겨 있는지 확인합니다. --- # isLocked() @@ -27,7 +27,7 @@ isLocked(cell: string): boolean; ### 예제 {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 셀이 잠겨 있는지 확인 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md index 5bf887b9..ec91747a 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md @@ -1,7 +1,7 @@ --- sidebar_label: load() title: load 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 load 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 시험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수도 있습니다. +description: DHTMLX Spreadsheet에서 load() 메서드로 외부 JSON, CSV 또는 XLSX 파일의 데이터를 로드합니다. 이 메서드는 promise를 반환합니다. --- # load() @@ -28,7 +28,7 @@ load(url: string, type?: string): promise; ### 예제 {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // JSON 형식으로 데이터 로드 (기본값) @@ -84,7 +84,7 @@ DHTMLX Spreadsheet는 WebAssembly 기반 라이브러리 [Excel2Json](https://gi - `load()` 메서드를 두 개의 매개변수와 함께 호출합니다: URL로 빈 문자열, 로드할 데이터 타입("json"): ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { menu: true, }); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md index c6620c39..a3fefb2e 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md @@ -1,7 +1,7 @@ --- sidebar_label: localization title: localization 설정 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 localization 설정에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 시험해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수도 있습니다. +description: DHTMLX Spreadsheet에서 localization 속성으로 소수점 및 천 단위 구분 기호, 통화 기호, 날짜 및 시간 형식을 설정합니다. --- # localization @@ -41,7 +41,7 @@ const defaultLocales = { ### 예제 {#example} ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { localization: { decimal: ",", thousands: " ", diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md index 2f63b7c6..44fb3f96 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md @@ -1,7 +1,7 @@ --- sidebar_label: lock() title: lock 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 lock 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet 30일 무료 평가판을 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 lock() 메서드로 셀, 셀 범위 또는 여러 셀을 잠가 사용자가 편집할 수 없도록 합니다. --- # lock() @@ -23,7 +23,7 @@ lock(cell: string): void; ### 예제 {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 셀 하나를 잠급니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md index 53780d5a..ef984a55 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md @@ -1,7 +1,7 @@ --- sidebar_label: menu title: menu 설정 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 menu 설정에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet 30일 무료 평가판을 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 menu 속성으로 메뉴를 표시하거나 숨깁니다. --- # menu @@ -25,7 +25,7 @@ menu: true ### 예제 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { menu: false, // 다른 설정 매개변수 }); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md index beb8c97b..c2218b12 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md @@ -1,7 +1,7 @@ --- sidebar_label: mergeCells() title: mergeCells 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 mergeCells 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet 30일 무료 평가판을 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 mergeCells() 메서드로 셀 범위를 하나의 셀로 병합하거나 병합된 셀을 분할합니다. --- # mergeCells() @@ -29,7 +29,7 @@ mergeCells( ### 예제 {#example} ~~~jsx {5,8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // A3, A4, A5 셀을 병합합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md index 3ed59c54..557a6df8 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md @@ -1,7 +1,7 @@ --- sidebar_label: multiSheets title: multiSheets 설정 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 multiSheets 설정에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet 30일 무료 평가판을 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 multiSheets 속성으로 여러 시트 작업 기능을 켜거나 끕니다. 이 속성은 하단의 시트 탭 바를 표시하거나 숨깁니다. --- # multiSheets @@ -25,7 +25,7 @@ multiSheets: true ### 예제 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { multiSheets: false, // 다른 설정 매개변수 }); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md index bfa81d51..eea5ef35 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md @@ -1,7 +1,7 @@ --- sidebar_label: parse() title: parse 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 parse 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet 30일 무료 평가판을 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 parse() 메서드로 로컬 데이터 소스의 데이터를 로드합니다. 셀 값, 스타일, 형식, 에디터, 링크 및 여러 시트를 포함할 수 있습니다. --- # parse() @@ -167,7 +167,7 @@ const data = [ // 추가 데이터 ]; -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); ~~~ @@ -246,7 +246,7 @@ const styledData = { ], }; -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(styledData); ~~~ diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md index d1468f7b..86fe9bd4 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md @@ -1,7 +1,7 @@ --- sidebar_label: readonly title: readonly 설정 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 readonly 설정에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet 30일 무료 평가판을 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 readonly 속성으로 읽기 전용 모드를 켭니다. 데이터 변경은 차단하지만 키보드 탐색, 선택, 복사 및 검색은 유지됩니다. --- # readonly @@ -25,13 +25,45 @@ readonly: false ### 예제 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { readonly: true, // 다른 설정 매개변수 }); ~~~ +### 상세 정보 {#details} + +읽기 전용 모드에서는 툴바, 메뉴, 수식 입력줄이 숨겨지고 컨텍스트 메뉴와 열 메뉴 아이콘을 사용할 수 없습니다. 시트 탭은 유지되지만 시트 추가 버튼, 시트 컨텍스트 메뉴, 더블 클릭으로 이름 바꾸기는 제공되지 않습니다. + +사용자는 여전히 데이터를 읽고 복사할 수 있습니다: + +- 데이터가 로드된 후 A1 셀이 활성 상태가 됩니다 +- 키보드로 셀을 탐색하고 마우스로 선택할 수 있으며, 이러한 동작 시 선택 이벤트가 발생합니다 +- `Ctrl (Cmd) + C`로 셀을 복사하고 `Ctrl (Cmd) + F`로 검색할 수 있습니다 +- 시트 탭과 키보드로 시트를 전환할 수 있습니다 +- 셀의 링크를 열 수 있지만, 링크 팝업에서 링크를 편집하고 제거하는 버튼은 비활성화됩니다 + +데이터 변경은 거부됩니다: + +- 입력, 편집 키, 잘라내기와 붙여넣기, 실행 취소와 다시 실행, 셀 서식 지정·링크 삽입·시트 추가·숨겨진 행과 열 표시 단축키는 무시되며, 스크린 리더는 "The sheet is read-only"라고 안내합니다 +- [`setValue()`](api/spreadsheet_setvalue_method.md), [`setStyle()`](api/spreadsheet_setstyle_method.md), [`deleteRow()`](api/spreadsheet_deleterow_method.md) 등 데이터를 편집하는 메서드와 [`startEdit()`](api/spreadsheet_startedit_method.md) 메서드는 무시됩니다. [`parse()`](api/spreadsheet_parse_method.md) 및 [`load()`](api/spreadsheet_load_method.md) 메서드는 계속 데이터를 로드합니다 +- 채우기 핸들이 숨겨집니다 +- 열과 행의 경계를 드래그하여 크기를 조정할 수 없으며, 열 경계를 더블 클릭해도 열 너비가 데이터에 맞춰지지 않습니다 + +키보드 탐색과 선택도 끄려면 [`selection`](api/spreadsheet_selection_config.md) 옵션을 `false`로 설정하세요. 이 경우 Spreadsheet에는 활성 셀이 없으며, 마우스, 키보드 또는 API로 셀을 선택할 수 없습니다: + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, + // other config parameters +}); +~~~ + +**변경 로그:** 읽기 전용 모드에서의 키보드 탐색, 선택, 복사 및 검색이 v6.0.4에서 추가됨 + **관련 문서:** +- [접근성: 읽기 전용 설정](accessibility.md#read-only-setup) - [구성](configuration.md#read-only-mode) - [커스터마이징](customization.md#custom-read-only-mode) diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md index 1a69d8a8..f72b2ea5 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md @@ -1,7 +1,7 @@ --- sidebar_label: redo() title: redo 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 redo 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet 30일 무료 평가판을 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 redo() 메서드로 취소된 작업을 다시 적용합니다. --- # redo() @@ -19,7 +19,7 @@ redo(): void; ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 취소된 작업을 다시 적용합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md index cc32b39d..93801724 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md @@ -1,7 +1,7 @@ --- sidebar_label: rowsCount title: rowsCount 설정 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 rowsCount 설정에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet 30일 무료 평가판을 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 rowsCount 속성으로 초기화 시 표시되는 행의 수를 설정합니다. --- # rowsCount @@ -19,7 +19,7 @@ rowsCount?: number; ### 예제 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { rowsCount: 10, // 다른 설정 매개변수 }); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md index 97a7969a..fb361ced 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md @@ -1,7 +1,7 @@ --- sidebar_label: search() title: search 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 search 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet 30일 무료 평가판을 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 search() 메서드로 값을 기준으로 셀을 검색합니다. 찾은 셀의 id를 반환하며, 일치 항목을 강조 표시한 검색 바를 열 수 있습니다. --- # search() @@ -35,7 +35,7 @@ search( ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 일치하는 셀의 ID를 반환하고, 검색 바를 열며 검색된 셀을 강조 표시합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_selection_config.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_selection_config.md new file mode 100644 index 00000000..c3475d23 --- /dev/null +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_selection_config.md @@ -0,0 +1,63 @@ +--- +sidebar_label: selection +title: selection 구성 옵션 +description: DHTMLX Spreadsheet에서 selection 속성으로 셀 선택 기능을 끌 수 있습니다. 단독으로 사용하거나 읽기 전용 모드와 함께 사용하여 활성 셀 없이 데이터를 표시할 수 있습니다. +--- + +# selection + +### 설명 {#description} + +@short: 선택 사항. 셀 선택 기능을 활성화하거나 비활성화합니다 + +### 사용법 {#usage} + +~~~jsx +selection?: boolean; +~~~ + +### 기본 구성 {#default-config} + +~~~jsx +selection: true +~~~ + +### 예제 {#example} + +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // other config parameters +}); +~~~ + +### 상세 설명 {#details} + +속성을 `false`로 설정하면 다음과 같이 동작합니다. + +- Spreadsheet에 활성 셀이 없습니다 +- 마우스, 키보드, API로 셀을 선택할 수 없습니다. [`setSelectedCell()`](api/selection_setselectedcell_method.md) 및 [`setFocusedCell()`](api/selection_setfocusedcell_method.md) 메서드는 무시되고, [`getSelectedCell()`](api/selection_getselectedcell_method.md) 및 [`getFocusedCell()`](api/selection_getfocusedcell_method.md) 메서드는 `undefined`를 반환합니다 +- 인터페이스에서 셀을 편집할 수 없습니다. 수식 입력줄이 잠기고, 채우기 핸들이 숨겨지며, [`startEdit()`](api/spreadsheet_startedit_method.md) 메서드는 무시됩니다 +- 컨텍스트 메뉴와 열 메뉴 아이콘을 사용할 수 없습니다 +- `Tab` 키는 그리드에서 한 번만 멈춘 뒤 포커스를 다음으로 이동하며, `Ctrl + F6`은 그리드를 건너뜁니다 + +열과 행은 테두리를 드래그하여 크기를 조절할 수 있으며, 데이터는 [`setValue()`](api/spreadsheet_setvalue_method.md) 메서드 같은 API로 여전히 변경할 수 있습니다. + +[`readonly`](api/spreadsheet_readonly_config.md) 속성과 함께 사용하면, 읽기 전용 모드에서 제공되는 키보드 탐색과 선택 기능까지 끌 수 있습니다. + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, + // other config parameters +}); +~~~ + +런타임에 선택 기능을 끄고 켜려면 [`selection.disable()`](api/selection_disable_method.md) 및 [`selection.enable()`](api/selection_enable_method.md) 메서드를 사용하세요. + +**변경 로그:** v6.0.4에서 추가됨 + +**관련 문서:** +- [셀 선택](configuration.md#selection-of-cells) +- [읽기 전용 모드](configuration.md#read-only-mode) +- [접근성: 읽기 전용 설정](accessibility.md#read-only-setup) diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md index a4a16ad6..5c8e39a8 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md @@ -1,7 +1,7 @@ --- sidebar_label: serialize() title: serialize 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 serialize 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet 30일 무료 평가판을 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 serialize() 메서드로 데이터를 JSON 객체로 저장합니다. 이 객체에는 시트, 셀 값, 스타일 및 숫자 형식이 포함됩니다. --- # serialize() @@ -94,7 +94,7 @@ serialize(): { ### 예제 {#example} ~~~jsx {4} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); const state = spreadsheet.serialize(); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md index 18bef9b8..ac55a447 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFilter() title: setFilter 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 setFilter 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 setFilter() 메서드로 조건 또는 제외할 값을 기준으로 열의 데이터를 필터링하거나 필터링을 초기화합니다. --- # setFilter() @@ -44,7 +44,7 @@ setFilter( ### 예제 {#example} ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // A열에 지정된 조건으로 데이터 필터링 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md index 74c7c5d8..9d4d90be 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFormat() title: setFormat 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 setFormat 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 setFormat() 메서드로 셀 또는 셀 범위의 값에 숫자 형식을 적용합니다. --- # setFormat() @@ -24,7 +24,7 @@ setFormat(cell: string, format: string | array): void; ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // A1 셀에 통화 형식 적용 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md index 9b0eb534..9cc01af2 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setStyle() title: setStyle 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 setStyle 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 setStyle() 메서드로 셀, 여러 셀 또는 셀 범위에 동일한 스타일을 적용합니다. 스타일은 객체나 배열로 전달합니다. --- # setStyle() @@ -28,7 +28,7 @@ setStyle(cell: string, styles: array | object): void; ### 예제 {#example} ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 하나의 셀에 스타일 설정 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md index 0ef3f6e6..622bc22b 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setValidation() title: setValidation 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 setValidation 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 setValidation() 메서드로 셀 범위나 배열의 값으로 셀에 드롭다운 목록을 추가하거나 데이터 유효성 검사를 제거합니다. --- # setValidation() @@ -29,7 +29,7 @@ setValidation( ### 예제 {#example} ~~~jsx {8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md index c4074eec..4ef1ac47 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setValue() title: setValue 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 setValue 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 setValue() 메서드로 셀, 여러 셀 또는 셀 범위에 값을 설정합니다. 단일 값이나 셀 전체에 반복되는 값 배열을 전달합니다. --- # setValue() @@ -28,7 +28,7 @@ setValue(cell: string, value: string | number | array): void; ### 예제 {#example} ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 하나의 셀에 값 설정 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md index f90a3092..efb639fb 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: showCols() title: showCols 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 showCols 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 showCols() 메서드로 숨겨진 열을 표시합니다. 열은 전달된 셀 또는 선택된 셀로 결정됩니다. --- # showCols() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md index 2e8ed059..5a79c70e 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: showRows() title: showRows 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 showRows 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 showRows() 메서드로 숨겨진 행을 표시합니다. 행은 전달된 셀 또는 선택된 셀로 결정됩니다. --- # showRows() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md index 12210ee7..7c6dd913 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md @@ -1,7 +1,7 @@ --- sidebar_label: sortCells() title: sortCells 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 sortCells 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 sortCells() 메서드로 열 또는 셀 범위를 기준으로 데이터를 오름차순 또는 내림차순으로 정렬합니다. --- # sortCells() @@ -26,7 +26,7 @@ sortCells(cell: string, dir: number): void; ### 예제 {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // configuration parameters }); spreadsheet.parse(data); diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md index 4f4a4f42..e262d656 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md @@ -1,7 +1,7 @@ --- sidebar_label: startEdit() title: startEdit 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 startEdit 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 startEdit() 메서드로 전달된 셀 또는 선택된 셀의 편집을 시작합니다. 초기 값을 지정할 수도 있습니다. --- # startEdit() @@ -28,11 +28,17 @@ startEdit(cell?: string, initialValue?: string): void; ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 현재 선택된 셀에서 편집 시작 spreadsheet.startEdit(); ~~~ +### 상세 정보 {#details} + +활성 셀에 입력하면 이 메서드를 통해 편집이 시작됩니다. 입력기(IME)로 조합한 텍스트는 조합이 끝날 때 `initialValue`로 전달됩니다. 따라서 [`beforeEditStart`](api/spreadsheet_beforeeditstart_event.md) 및 [`afterEditStart`](api/spreadsheet_aftereditstart_event.md) 이벤트는 입력한 텍스트 또는 조합한 텍스트를 받으며, `beforeEditStart`는 편집을 취소할 수 있습니다. + +**변경 로그:** IME로 조합한 텍스트로 편집을 시작하는 기능이 v6.0.4에서 추가됨 + **관련 문서:** [Spreadsheet 사용](working_with_cells.md#editing-a-cell) diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md index 03e28bd8..cb4f6c63 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md @@ -1,7 +1,7 @@ --- sidebar_label: toolbarBlocks title: toolbarBlocks 설정 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 toolbarBlocks 설정에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 확인하며, DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 toolbarBlocks 속성으로 툴바에 표시할 버튼 블록(undo, colors, font, align, format 등)을 선택합니다. --- # toolbarBlocks diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md index 641a5f46..d0909d92 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md @@ -1,7 +1,7 @@ --- sidebar_label: undo() title: undo 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 undo 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수도 있습니다. +description: DHTMLX Spreadsheet에서 undo() 메서드로 마지막 작업을 되돌리고 redo() 메서드로 다시 적용합니다. --- # undo() @@ -19,7 +19,7 @@ undo(): void; ### 예제 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 한 단계 뒤로 되돌립니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md index 04c0450c..a5f8dc4f 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unfreezeCols() title: unfreezeCols 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 unfreezeCols 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수도 있습니다. +description: DHTMLX Spreadsheet에서 unfreezeCols() 메서드로 고정된 열을 해제하여 나머지 그리드와 함께 스크롤되도록 합니다. --- # unfreezeCols() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md index 7f20ec5c..77a17dfb 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unfreezeRows() title: unfreezeRows 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 unfreezeRows 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수도 있습니다. +description: DHTMLX Spreadsheet에서 unfreezeRows() 메서드로 고정된 행을 해제하여 나머지 그리드와 함께 스크롤되도록 합니다. --- # unfreezeRows() diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md index d2164075..420b25a3 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unlock() title: unlock 메서드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 unlock 메서드에 대해 알아볼 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보세요. DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수도 있습니다. +description: DHTMLX Spreadsheet에서 unlock() 메서드로 잠긴 셀, 여러 셀 또는 셀 범위의 잠금을 해제하여 사용자가 다시 편집할 수 있게 합니다. --- # unlock() @@ -23,7 +23,7 @@ unlock(cell: string): void; ### 예제 {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 셀 잠금을 해제합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/awaitredraw.md b/i18n/ko/docusaurus-plugin-content-docs/current/awaitredraw.md index 9d11cbd4..c74ceff8 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/awaitredraw.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/awaitredraw.md @@ -1,7 +1,7 @@ --- sidebar_label: AwaitRedraw 헬퍼 title: AwaitRedraw 헬퍼 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 AwaitRedraw 헬퍼에 대해 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 직접 실행해 보세요. DHTMLX Spreadsheet의 30일 무료 평가판도 다운로드할 수 있습니다. +description: dhx.awaitRedraw 헬퍼로 DHTMLX Spreadsheet의 렌더링이 끝난 후 코드를 실행합니다. 컴포넌트가 페이지에 표시된 후에만 적용되는 API 메서드에 사용합니다. --- # AwaitRedraw 헬퍼 {#awaitredraw-helper} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/configuration.md b/i18n/ko/docusaurus-plugin-content-docs/current/configuration.md index ff5bb1c4..65b80ca9 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/configuration.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/configuration.md @@ -1,7 +1,7 @@ --- sidebar_label: 구성 title: 구성 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 구성에 대해 문서에서 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 직접 실행해 보세요. DHTMLX Spreadsheet의 30일 무료 평가판도 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet를 구성합니다. 툴바, 편집 바, 메뉴, 행과 열의 수, 읽기 전용 모드, 셀 선택, 숫자 형식을 설정합니다. --- # 구성 {#configuration} @@ -48,10 +48,43 @@ Spreadsheet의 메뉴는 기본적으로 숨겨져 있습니다. 해당 구성 [`readonly`](api/spreadsheet_readonly_config.md) 구성 옵션을 통해 Spreadsheet 셀 편집을 방지하는 읽기 전용 모드를 활성화할 수도 있습니다. +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, +}); +~~~ + +읽기 전용 모드에서는 툴바, 메뉴, 수식 바가 숨겨집니다. 사용자는 키보드로 셀을 탐색하고, 마우스로 선택하고, 복사하고, 검색할 수 있습니다. 편집은 거부되며 스크린 리더에 "The sheet is read-only"로 안내됩니다. 채우기 핸들은 숨겨집니다. 자세한 내용은 [`readonly`](api/spreadsheet_readonly_config.md#details) 문서를 확인하십시오. 키보드 및 스크린 리더 사용자가 읽기 전용 Spreadsheet를 사용하는 방법은 접근성 가이드의 [Read-only setup](accessibility.md#read-only-setup) 섹션을 참고하십시오. + +읽기 전용 모드에서 키보드 탐색과 선택을 끄려면 [`selection`](api/spreadsheet_selection_config.md) 옵션을 `false`로 설정합니다: + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, +}); +~~~ + [Spreadsheet의 읽기 전용 동작을 커스터마이징](customization.md#custom-read-only-mode)할 수도 있습니다. +## 셀 선택 {#selection-of-cells} + +기본적으로 사용자는 마우스와 키보드로 셀을 선택할 수 있으며, Spreadsheet에는 활성 셀이 있습니다. 선택을 끄려면 [`selection`](api/spreadsheet_selection_config.md) 구성 옵션을 `false`로 설정합니다: + +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, +}); +~~~ + +이 경우 Spreadsheet에는 활성 셀이 없으며, 인터페이스에서 셀을 선택하거나 편집할 수 없고 컨텍스트 메뉴도 사용할 수 없습니다. + +런타임에 선택을 끄고 켜려면 [`selection.disable()`](api/selection_disable_method.md) 및 [`selection.enable()`](api/selection_enable_method.md) 메서드를 사용합니다. [`selection.isDisabled()`](api/selection_isdisabled_method.md) 메서드는 선택이 꺼져 있는지 확인합니다. + +선택이 없으면 그리드는 키보드가 그냥 지나가는 하나의 탭 정지 지점이 됩니다. 접근성 가이드의 [Read-only setup](accessibility.md#read-only-setup) 섹션을 확인하십시오. + ## 셀에 대한 사용자 정의 숫자 형식 {#custom-number-formats-for-cells} 셀 값에 7가지 기본 형식을 적용할 수 있습니다: "Common", "Number", "Percent", "Currency", "Date", "Time", "Text". diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/customization.md b/i18n/ko/docusaurus-plugin-content-docs/current/customization.md index 161b055a..492197e6 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/customization.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/customization.md @@ -1,7 +1,7 @@ --- sidebar_label: 커스터마이징 title: 커스터마이징 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 커스터마이징에 대해 문서에서 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 직접 실행해 보세요. DHTMLX Spreadsheet의 30일 무료 평가판도 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet를 커스터마이징합니다. 아이콘을 변경하고, 툴바, 메뉴, 컨텍스트 메뉴의 컨트롤을 추가, 업데이트, 삭제하거나 사용자 정의 읽기 전용 모드를 구현합니다. --- # 커스터마이징 {#customization} @@ -31,6 +31,8 @@ DHTMLX Spreadsheet는 기본적으로 [Material Design](https://pictogrammers.co `button`, `menuItem`, `separator`, `spacer` 유형의 컨트롤을 추가할 수 있습니다. +[기본 툴바](#default-controls)의 다른 컨트롤과 마찬가지로 *텍스트 색상* 및 *배경색* 컨트롤과 *테두리* 팝업의 *테두리 색상* 컨트롤은 [`navItem`](https://docs.dhtmlx.com/suite/toolbar/navitem/) 유형입니다. 이 컨트롤은 [`html`](https://docs.dhtmlx.com/suite/toolbar/api/api_navitem_properties/) 속성으로 현재 색상을 표시하고, [`value`](https://docs.dhtmlx.com/suite/toolbar/api/api_navitem_properties/) 속성에서 접근 가능한 이름(예: "Text color: dark gray")을 가져오며, 색상 팝업을 엽니다. Spreadsheet는 활성 셀이 변경되면 *텍스트 색상* 및 *배경색* 컨트롤의 두 속성을 업데이트하고, 테두리 색상을 선택하면 *테두리 색상* 컨트롤의 두 속성을 업데이트합니다. + `button` 객체에는 다음 속성이 있습니다: - `type` - 버튼 유형, "button"으로 설정 @@ -379,7 +381,8 @@ spreadsheet.menu.data.remove("undo"); - **열** menuItem (id: "columns") - *열 추가* menuItem (id: "add-col") - *열 제거* menuItem (id: "remove-col") - - *데이터에 맞추기* menuItem (id: "fit-col") + - *데이터에 맞추기* menuItem (id: "fit-col"), 열 메뉴와 전체 열이 선택된 경우에 표시됨 + - *열 너비* menuItem (id: "col-width") - 구분선 - *열 고정 해제* menuItem (id: "unfreeze-cols") - *[id]열까지 고정* menuItem (id: "freeze-cols") @@ -388,6 +391,7 @@ spreadsheet.menu.data.remove("undo"); - **행** menuItem (id: "rows") - *행 추가* menuItem (id: "add-row") - *행 제거* menuItem (id: "remove-row") + - *행 높이* menuItem (id: "row-height") - 구분선 - *행 고정 해제* menuItem (id: "unfreeze-rows") - *[id]행까지 고정* menuItem (id: "freeze-rows") @@ -396,6 +400,7 @@ spreadsheet.menu.data.remove("undo"); - **정렬** menuItem (id: "sort") - *A에서 Z로 정렬* menuItem (id: "asc-sort") - *Z에서 A로 정렬* menuItem (id: "desc-sort") +- **필터 열기** menuItem (id: "open-filter"), 활성 셀에 필터 아이콘이 있을 때 표시됨 - **링크 삽입** menuItem (id: "link") ### 컨트롤 추가 {#adding-controls-3} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/data_formatting.md b/i18n/ko/docusaurus-plugin-content-docs/current/data_formatting.md index f40e0a86..3ef04d04 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/data_formatting.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/data_formatting.md @@ -1,7 +1,7 @@ --- sidebar_label: 데이터 형식 지정 title: 데이터 형식 지정 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 데이터 형식 지정에 대해 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 직접 실행해 보세요. DHTMLX Spreadsheet의 30일 무료 평가판도 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 툴바로 셀 데이터의 텍스트 및 배경 색상, 굵게와 기울임꼴, 정렬, 텍스트 줄 바꿈, 셀 테두리를 지정하고 스타일과 값을 지웁니다. --- # 데이터 형식 지정 {#data-formatting} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/data_search.md b/i18n/ko/docusaurus-plugin-content-docs/current/data_search.md index 97049f87..08192012 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/data_search.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/data_search.md @@ -1,7 +1,7 @@ --- sidebar_label: 데이터 검색 title: 데이터 검색 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 데이터 검색에 대해 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 직접 실행해 보세요. DHTMLX Spreadsheet의 30일 무료 평가판도 다운로드할 수 있습니다. +description: 검색 바로 DHTMLX Spreadsheet에서 데이터를 검색합니다. Ctrl (Cmd) + F 또는 데이터 메뉴로 열고, 일치 항목 사이를 이동하며, Esc로 닫습니다. --- # 데이터 검색 {#searching-for-data} @@ -12,3 +12,11 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 데이 - 또는 *데이터* -> *검색*으로 이동합니다 ![데이터 검색을 위한 텍스트 입력이 있는 DHTMLX Spreadsheet 검색 바](/img/search_data.png) + +검색 바에 찾을 텍스트를 입력합니다. 텍스트가 포함된 첫 번째 셀이 강조 표시되고 화면에 스크롤되며, 카운터에 일치 항목 수가 표시됩니다. 일치 항목 사이를 이동하려면 검색 바의 화살표 버튼을 클릭합니다. + +검색 결과는 셀을 편집한 후와 다른 시트를 연 후에 업데이트됩니다. 스크린 리더는 입력을 멈춘 뒤 일치 항목 수와 첫 번째 일치 항목의 주소를 안내합니다(예: "Results: 5. 1 of 5, B2" 또는 "No results"). 다른 일치 항목으로 이동하면 해당 항목의 위치와 주소를 안내합니다(예: "2 of 5, B7"). + +검색 바를 닫으려면 **Esc**를 누르거나 닫기 버튼을 클릭합니다. 포커스는 활성 셀로 돌아갑니다. + +API로 데이터를 검색하려면 [`search()`](api/spreadsheet_search_method.md) 메서드를 사용합니다. diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/excel_import_export.md b/i18n/ko/docusaurus-plugin-content-docs/current/excel_import_export.md index 154a9c52..ae8b62b2 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/excel_import_export.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/excel_import_export.md @@ -1,7 +1,7 @@ --- sidebar_label: Excel 가져오기/내보내기 title: Excel 가져오기 및 내보내기 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 Excel 가져오기 및 내보내기에 대해 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 직접 실행해 보세요. DHTMLX Spreadsheet의 30일 무료 평가판도 다운로드할 수 있습니다. +description: Excel 파일의 데이터를 DHTMLX Spreadsheet로 가져오고 툴바 또는 파일 메뉴에서 .xlsx로 내보냅니다. --- # Excel 가져오기/내보내기 {#excel-importexport} @@ -37,3 +37,9 @@ Spreadsheet에 입력한 데이터를 Excel 파일로 내보낼 수 있습니다 ![Microsoft Excel XLSX 내보내기를 위한 다음으로 다운로드 옵션이 있는 DHTMLX Spreadsheet 파일 메뉴](/img/file_export.png) 2\. 다운로드 디렉터리에서 Spreadsheet의 데이터가 포함된 Excel 파일을 확인합니다. + +스크린 리더는 가져오기와 내보내기의 시작과 끝을 안내합니다. + +:::note +Excel 파일의 가져오기와 내보내기는 WebAssembly를 사용합니다. 브라우저가 WebAssembly를 지원하지 않으면 Import 및 Export 명령이 `wasmNotSupported` [로케일](localization.md#default-locale) 키의 텍스트로 메시지를 표시합니다. `"xlsx"` 유형의 [`load()`](api/spreadsheet_load_method.md) 메서드와 [`export.xlsx()`](api/export_xlsx_method.md) 메서드는 같은 텍스트의 `Error`를 발생시키며, 코드에서 이를 잡아 처리할 수 있습니다. +::: diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/filtering_data.md b/i18n/ko/docusaurus-plugin-content-docs/current/filtering_data.md index 2653216a..2972ebbc 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/filtering_data.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/filtering_data.md @@ -1,7 +1,7 @@ --- sidebar_label: 데이터 필터링 title: 데이터 필터링 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 데이터 필터링에 대해 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 직접 실행해 보세요. DHTMLX Spreadsheet의 30일 무료 평가판도 다운로드할 수 있습니다. +description: 조건 또는 값으로 DHTMLX Spreadsheet의 데이터를 필터링하고, 키보드로 필터를 열고, 필터를 지우거나 제거합니다. --- # 데이터 필터링 {#filtering-data} @@ -36,6 +36,20 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 데이 ![필터를 지우기 위한 조건으로 없음 옵션이 있는 DHTMLX Spreadsheet 필터 대화상자](/img/clear_filter_bycondition.png) +## 키보드로 필터 열기 {#opening-a-filter-with-the-keyboard} + +마우스 없이 열의 필터를 열려면 다음과 같이 합니다: + +- 활성 셀을 **필터** 아이콘이 있는 열 헤더 셀로 이동합니다 + +- `Shift + F10` 또는 Menu 키를 눌러 컨텍스트 메뉴를 호출하고 *필터 열기*를 선택합니다 + +![필터 아이콘이 있는 헤더 셀의 DHTMLX Spreadsheet 컨텍스트 메뉴에서 필터 열기 명령에 포커스가 있는 모습](/img/open_filter_context_menu.png) + +*필터 열기* 명령은 **필터** 아이콘이 있는 셀의 컨텍스트 메뉴에만 나타납니다. 해당 셀을 마우스 오른쪽 버튼으로 클릭한 후에도 선택할 수 있습니다. [읽기 전용 모드](api/spreadsheet_readonly_config.md)에서는 컨텍스트 메뉴와 *필터 열기* 명령을 사용할 수 없습니다. + +필터 팝업이 포커스를 받으며, `Tab`으로 팝업의 컨트롤 사이를 이동합니다. `Esc`는 팝업을 닫고 포커스를 셀로 돌려줍니다. 팝업에 드롭다운 목록이나 날짜 선택기가 열려 있으면 `Esc`가 먼저 그것을 닫습니다. + ## 값으로 필터링 {#filtering-by-values} - 해당 열의 **필터** 아이콘을 클릭합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/functions.md b/i18n/ko/docusaurus-plugin-content-docs/current/functions.md index 97747d1c..844f6f04 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/functions.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/functions.md @@ -1,7 +1,7 @@ --- sidebar_label: 수식 및 함수 title: 수식 및 함수 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 수식 및 함수에 대해 문서에서 학습할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 직접 확인하며, DHTMLX Spreadsheet의 30일 무료 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 수학, 날짜, 조회, 문자열, 재무 함수 등 Excel 및 Google Sheets와 호환되는 수식을 사용하고, 사용자 지정 수식을 추가하며 셀의 수식을 가져옵니다. --- # 수식 및 함수 {#formulas-and-functions} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/guides.md b/i18n/ko/docusaurus-plugin-content-docs/current/guides.md index d3314553..8919df19 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/guides.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/guides.md @@ -1,12 +1,12 @@ --- sidebar_label: 가이드 개요 title: 개발자 및 사용자 가이드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 개발자 및 사용자 가이드를 학습할 수 있습니다. API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보고, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하십시오. +description: DHTMLX Spreadsheet의 개발자 및 사용자 가이드로, 초기화, 구성, 데이터 로드부터 셀 편집, 서식 지정, 시트 작업까지 다룹니다. --- # 가이드 {#guides} -DHTMLX Spreadsheet는 다양한 형식의 데이터 가져오기 및 내보내기, 셀 내용 및 스타일 작업의 편의성, 유연한 스프레드시트 구조, 읽기 전용 모드, 광범위한 외관 커스터마이징, 인기 프레임워크와의 통합 등 폭넓은 기능을 제공합니다. +DHTMLX Spreadsheet는 다양한 형식의 데이터 가져오기 및 내보내기, 셀 내용 및 스타일 작업의 편의성, 유연한 스프레드시트 구조, 읽기 전용 모드, 광범위한 외관 커스터마이징, 키보드 및 스크린 리더 접근성, 인기 프레임워크와의 통합 등 폭넓은 기능을 제공합니다. ## 개발자 가이드 {#developer-guides} @@ -38,6 +38,12 @@ Spreadsheet에 데이터를 로드하고, 이벤트를 처리하며, 주요 기 - [Svelte와의 통합](svelte_integration.md) - Svelte 앱에서 Spreadsheet를 사용하는 GitHub 데모 - [Vue.js와의 통합](vuejs_integration.md) - Vue 앱에서 Spreadsheet를 사용하는 GitHub 데모 +### 접근성 {#accessibility} + +- [접근성](accessibility.md) - WAI-ARIA 지원, 키보드 탐색, 스크린 리더 안내, 고대비 테마 +- [접근 가능한 Spreadsheet 설정하기](accessibility.md#configuration-recipes) - 읽기 전용 모드를 포함한 키보드 및 스크린 리더 사용자를 위한 구성 +- [준수 보고서 (VPAT)](accessibility_conformance_report.md) - WCAG 2.2 AA, Section 508, EN 301 549 준수 여부 + ### AI 지원 개발 {#ai-assisted-development} - [DHTMLX MCP 서버](mcp-server.md) - AI 코딩 어시스턴트를 실시간 Spreadsheet 문서에 연결 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/handling_events.md b/i18n/ko/docusaurus-plugin-content-docs/current/handling_events.md index c8124efd..28bff044 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/handling_events.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/handling_events.md @@ -1,7 +1,7 @@ --- sidebar_label: 이벤트 처리 title: 이벤트 처리 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 이벤트 처리에 대해 학습할 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보고, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하십시오. +description: DHTMLX Spreadsheet에서 events.on(), events.detach(), events.fire() 메서드로 이벤트 리스너를 연결 및 해제하고 이벤트를 호출합니다. --- # 이벤트 처리 {#event-handling} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/hotkeys.md b/i18n/ko/docusaurus-plugin-content-docs/current/hotkeys.md index 3b6bcd03..9b13f493 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/hotkeys.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/hotkeys.md @@ -1,13 +1,21 @@ --- sidebar_label: 단축키 목록 title: 단축키 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 단축키에 대해 학습할 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보고, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하십시오. +description: 편집, 서식 지정, 탐색, 선택, 검색, 시트·행·열 작업, 팝업과 대화 상자에 사용하는 DHTMLX Spreadsheet 단축키입니다. --- # 단축키 목록 {#hot-keys-list} 다음은 DHTMLX Spreadsheet 사용 시 활용할 수 있는 단축키 목록입니다. +:::note +셀 단축키는 포커스가 셀 또는 수식 입력줄에 있을 때 작동합니다. 서식 지정, 실행 취소, 검색, 링크, 시트 추가 단축키는 포커스가 툴바에 있을 때도 작동합니다. 포커스가 툴바, 메뉴 바 또는 시트 탭에 있을 때는 화살표 키, **Home**, **End**, **Enter**, **Space**가 해당 바 내에서 작동합니다([포커스 이동](#moving-the-focus) 참조). + +[읽기 전용 모드](api/spreadsheet_readonly_config.md)에서는 탐색, 선택, 복사, 검색 단축키가 작동합니다. **Ctrl (Cmd) + Shift + 9**, **Ctrl (Cmd) + Shift + 0**, **Shift + F11**을 포함하여 시트를 변경하는 단축키는 거부되며, 스크린 리더는 "The sheet is read-only"를 안내합니다. 컨텍스트 메뉴는 사용할 수 없으므로 **Shift + F10**과 Menu 키는 작동하지 않습니다. + +키보드 탐색이 스크린 리더와 함께 작동하는 방식은 [접근성](accessibility.md#keyboard-navigation) 가이드를 참조하십시오. +::: + ## 편집 {#editing} @@ -28,6 +36,10 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 단축 + + + +
Esc 변경 사항을 저장하지 않고 셀 편집기를 닫습니다
Alt (Option) + Enter활성 셀의 링크를 새 탭에서 엽니다
@@ -114,43 +126,43 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 단축 Shift + Enter - 선택을 한 셀 위로 이동합니다(열 방향). 셀 범위가 선택된 경우 범위 내에서 한 셀 위로 이동합니다. 열의 첫 번째 셀에 도달하면 비활성화됩니다. + 선택을 한 셀 위로 이동합니다(열 방향). 셀 범위가 선택된 경우 범위 내에서 한 셀 위로 이동합니다. Tab - 선택을 한 셀 오른쪽으로 이동합니다(행 방향). 셀 범위가 선택된 경우 범위 내에서 한 셀 오른쪽으로 이동합니다. 행의 가장 오른쪽 셀에 도달하면 비활성화됩니다. + 선택을 한 셀 오른쪽으로 이동합니다(행 방향). 가장 오른쪽 셀에서는 같은 행의 첫 번째 셀로 이동합니다. 셀 범위가 선택된 경우 범위 내에서 한 셀 오른쪽으로 이동합니다. 시트의 마지막 셀에서는 편집한 값을 저장하고 포커스를 셀 밖의 페이지 다음 부분(예: 시트 탭)으로 이동합니다. Tab + Shift - 선택을 한 셀 왼쪽으로 이동합니다(행 방향). 셀 범위가 선택된 경우 범위 내에서 한 셀 왼쪽으로 이동합니다. 행의 가장 왼쪽 셀에 도달하면 비활성화됩니다. + 선택을 한 셀 왼쪽으로 이동합니다(행 방향). 가장 왼쪽 셀에서는 같은 행의 마지막 셀로 이동합니다. 셀 범위가 선택된 경우 범위 내에서 한 셀 왼쪽으로 이동합니다. 시트의 첫 번째 셀에서는 편집한 값을 저장하고 포커스를 셀 밖의 페이지 이전 부분(예: 수식 입력줄)으로 이동합니다. 화살표 키 - 시트의 셀 간 탐색을 제공합니다 + 시트의 셀 간 탐색을 제공합니다. 첫 번째와 마지막 표시 행 및 열에서 멈춥니다. 셀 범위가 선택된 경우 시트의 가장자리에서 화살표 키를 누르면 범위가 활성 셀로 축소됩니다 Home - 선택을 행의 첫 번째 셀로 이동합니다 + 선택을 행의 첫 번째 표시 셀로 이동합니다 End - 선택을 행의 마지막 셀로 이동합니다 + 선택을 행의 마지막 표시 셀로 이동합니다 Ctrl (Cmd) + 왼쪽 화살표 키 - 선택을 행의 첫 번째 셀로 이동합니다 + 선택을 행의 첫 번째 표시 셀로 이동합니다 Ctrl (Cmd) + 오른쪽 화살표 키 - 선택을 행의 마지막 셀로 이동합니다 + 선택을 행의 마지막 표시 셀로 이동합니다 Ctrl (Cmd) + 위쪽 화살표 키 - 선택을 열의 첫 번째 셀로 이동합니다 + 선택을 열의 첫 번째 표시 셀로 이동합니다 Ctrl (Cmd) + 아래쪽 화살표 키 - 선택을 열의 마지막 셀로 이동합니다 + 선택을 열의 마지막 표시 셀로 이동합니다 Ctrl (Cmd) + Home @@ -175,6 +187,59 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 단축 +## 포커스 이동 {#moving-the-focus} + +툴바, 메뉴 바, 시트 탭은 각각 하나의 탭 정지점입니다. Tab은 포커스를 바 안으로 이동하거나 바 밖으로 이동하며, 포커스는 마지막으로 사용한 컨트롤에 놓입니다. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ctrl + F6포커스를 Spreadsheet의 다음 부분으로 이동합니다. 순서는 메뉴, 툴바, 시트(활성 셀), 시트 탭이며, 이후 다시 메뉴로 돌아갑니다. 수식 입력줄과 숨겨진 부분은 건너뜁니다. 먼저 편집 중인 셀의 값을 저장합니다
Ctrl + Shift + F6포커스를 Spreadsheet의 이전 부분으로 이동합니다
Left Arrow/Right Arrow Key포커스를 툴바, 메뉴 바 또는 시트 탭의 이전/다음 컨트롤로 이동합니다
Home/End포커스를 바의 첫 번째/마지막 컨트롤로 이동합니다
Enter/Space포커스된 컨트롤을 누릅니다. 명령을 실행하거나, 드롭다운을 열거나, 포커스된 탭의 시트로 전환합니다
Down Arrow Key포커스된 컨트롤의 드롭다운을 열고 포커스를 첫 번째 항목으로 이동합니다
Up Arrow/Down Arrow Key열린 드롭다운 또는 메뉴의 항목 간에 포커스를 이동합니다
Right Arrow Key포커스된 메뉴 항목의 하위 메뉴를 엽니다
Left Arrow Key하위 메뉴를 닫습니다. 드롭다운의 첫 번째 수준에서는 드롭다운을 닫고 포커스를 해당 컨트롤로 되돌립니다
Esc드롭다운 또는 메뉴를 닫고 포커스를 이를 연 컨트롤로 되돌립니다. 툴바 컨트롤의 툴팁을 닫습니다. Esc를 누르지 않으면 포인터가 툴팁 위에 있는 동안 툴팁이 열린 상태로 유지됩니다
Shift + F10 or Menu key활성 셀 또는 포커스된 시트 탭의 컨텍스트 메뉴를 열고 포커스를 메뉴로 이동합니다. Ctrl (Cmd) + Space를 누른 후에는 셀의 컨텍스트 메뉴에 열에 대한 명령이 표시됩니다. Esc는 컨텍스트 메뉴를 닫고 포커스를 셀로 되돌립니다
+ ## 검색 {#search} @@ -185,11 +250,15 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 단축 - + - + + + + +
Ctrl (Cmd) + G선택을 다음 검색 결과로 이동합니다다음 검색 결과를 강조 표시합니다
Ctrl (Cmd) + Shift + G선택을 이전 검색 결과로 이동합니다이전 검색 결과를 강조 표시합니다
Esc검색 상자를 닫고 포커스를 활성 셀로 되돌립니다
@@ -234,8 +303,110 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 단축 스프레드시트에 새 시트를 추가합니다 - Alt + 위쪽 화살표 / 아래쪽 화살표 - 다음/이전 시트로 전환합니다 + Alt (Option) + Arrow Up + 다음 시트로 전환합니다. 마지막 시트에서는 첫 번째 시트로 전환합니다 + + + Alt (Option) + Arrow Down + 이전 시트로 전환합니다. 첫 번째 시트에서는 마지막 시트로 전환합니다 + + + Ctrl (Cmd) + Alt (Option) + Page Down + 다음 시트로 전환합니다 + + + Ctrl (Cmd) + Alt (Option) + Page Up + 이전 시트로 전환합니다 + + + + +## 행 및 열 작업 {#work-with-rows-and-columns} + + + + + + + + + + + + +
Ctrl (Cmd) + Shift + 9선택한 범위 내의 숨겨진 행을 표시합니다
Ctrl (Cmd) + Shift + 0선택한 범위 내의 숨겨진 열을 표시합니다
+ +## 툴바 팝업 {#toolbar-popups} + +아래 키는 툴바의 *Text color*, *Background color*, *Border* 컨트롤 팝업에서 작동합니다. 팝업은 열릴 때 포커스를 받습니다. + + + + + + + + + + + + + + + + + + + + + + + + +
Arrow keys팔레트의 색상 간 또는 Border 팝업의 컨트롤 간에 포커스를 이동합니다
Home/End포커스를 팔레트의 첫 번째/마지막 색상으로 이동합니다
Enter포커스된 색상 또는 테두리를 적용합니다. 텍스트 색상 또는 배경색을 적용한 후 포커스는 활성 셀로 돌아갑니다
Esc사용자 지정 색상 모드에서 팔레트로 돌아갑니다. Border 팝업 위에 열린 색상 또는 스타일 팝업에서는 해당 팝업을 닫고 포커스를 Border 팝업의 버튼으로 되돌립니다. 그 외에는 팝업을 닫고 포커스를 해당 툴바 컨트롤로 되돌립니다
Tab/Tab + Shift팝업을 닫고 포커스를 해당 툴바 컨트롤로 되돌립니다. Border 팝업과 그 위에 열린 팝업에서는 모두 닫고 포커스를 Border 컨트롤로 되돌립니다. 사용자 지정 색상 모드에서는 색상 선택기의 컨트롤 간에 포커스를 이동합니다
+ +## 목록 편집기 {#list-editor} + +아래 키는 [값 목록](api/spreadsheet_setvalidation_method.md)이 있는 셀의 편집기에서 작동합니다. + + + + + + + + + + + + + + + + + + + + +
Up Arrow/Down Arrow Key값 목록을 따라 이동합니다
Enter값을 선택하고 편집기를 닫습니다
Esc변경 사항을 저장하지 않고 편집기를 닫습니다
Tab값을 저장하고 선택을 한 셀 오른쪽으로 이동합니다
+ +## 필터 및 대화 상자 {#filter-and-dialogs} + +아래 키는 [필터](filtering_data.md#opening-a-filter-with-the-keyboard) 팝업과 [열 너비 및 행 높이](work_with_rows_cols.md#setting-column-width-and-row-height) 대화 상자에서 작동합니다. + + + + + + + + + + + + + +
Esc필터 팝업을 닫고 포커스를 셀로 되돌립니다
Enter열 너비 및 행 높이 대화 상자에서 크기를 적용합니다
Esc변경 없이 열 너비 및 행 높이 대화 상자를 닫습니다
diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/how_to_start.md b/i18n/ko/docusaurus-plugin-content-docs/current/how_to_start.md index f4d99d4f..81e0e9dc 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/how_to_start.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/how_to_start.md @@ -1,7 +1,7 @@ --- sidebar_label: 시작하는 방법 title: DHTMLX Spreadsheet 시작하는 방법 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 시작 방법을 학습할 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보고, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하십시오. +description: 소스 파일 포함 또는 npm 패키지 설치부터 컴포넌트 구성과 데이터 로드까지 네 단계로 페이지에서 DHTMLX Spreadsheet를 실행합니다. --- # 시작하는 방법 {#how-to-start} @@ -79,7 +79,7 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 시작
@@ -94,7 +94,7 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 시작 예를 들어 `toolbarBlocks`, `rowsCount`, `colsCount` 등 여러 옵션으로 Spreadsheet의 외관을 조정할 수 있습니다. [자세한 내용 확인하기](configuration.md). ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { toolbarBlocks: ["columns", "rows", "clear"], rowsCount: 10, colsCount: 10 @@ -129,7 +129,7 @@ const data = [ ] // initializing spreadsheet -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { //config }); // loading data into spreadsheet diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/index.md b/i18n/ko/docusaurus-plugin-content-docs/current/index.md index 10bd2864..02837582 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/index.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/index.md @@ -2,7 +2,7 @@ sidebar_label: Spreadsheet 개요 title: DHTMLX Spreadsheet 개요 slug: / -description: DHTMLX 문서에서 JavaScript Spreadsheet 라이브러리의 개요를 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보고, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하십시오. +description: 스프레드시트 데이터를 편집하고 서식을 지정하는 JavaScript 컴포넌트인 DHTMLX Spreadsheet와 툴바, 편집 표시줄, 그리드, 메뉴, 컨텍스트 메뉴를 소개합니다. --- # DHTMLX Spreadsheet 개요 {#dhtmlx-spreadsheet-overview} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/initialization.md b/i18n/ko/docusaurus-plugin-content-docs/current/initialization.md index 6bcc2df3..4ed3b451 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/initialization.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/initialization.md @@ -1,7 +1,7 @@ --- sidebar_label: 초기화 title: 초기화 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 초기화에 대해 문서에서 학습할 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보고, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하십시오. +description: 소스 파일을 포함하고 컨테이너를 추가한 다음 구성 객체와 함께 dhx.Spreadsheet 생성자를 호출하여 페이지에서 DHTMLX Spreadsheet를 초기화합니다. --- # 초기화 {#initialization} @@ -39,10 +39,10 @@ Spreadsheet 패키지의 구조는 다음과 같습니다. ## 컨테이너 만들기 {#creating-container} -Spreadsheet용 컨테이너를 추가하고 예를 들어 "spreadsheet"와 같은 id를 지정하십시오. +Spreadsheet용 컨테이너를 추가하고 예를 들어 "spreadsheet_container"와 같은 id를 지정하십시오. ~~~html title="index.html" -
+
~~~ ## DHTMLX Spreadsheet 초기화하기 {#initializing-dhtmlx-spreadsheet} @@ -54,7 +54,7 @@ Spreadsheet용 컨테이너를 추가하고 예를 들어 "spreadsheet"와 같 ~~~jsx title="index.js" // creating DHTMLX Spreadsheet -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config options }); ~~~ diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/loading_data.md b/i18n/ko/docusaurus-plugin-content-docs/current/loading_data.md index e0fbf8bf..854fd5fd 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/loading_data.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/loading_data.md @@ -1,7 +1,7 @@ --- sidebar_label: 데이터 로드 및 내보내기 title: 데이터 로드하기 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 데이터 로드에 대해 학습할 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 사용해 보고, DHTMLX Spreadsheet 무료 30일 평가판을 다운로드하십시오. +description: 파일 또는 로컬 소스에서 스타일, 잠긴 셀, 링크를 포함한 JSON, CSV, Excel 데이터를 DHTMLX Spreadsheet로 로드하고, 상태를 저장 및 복원하며 데이터를 Excel 또는 JSON으로 내보냅니다. --- # 데이터 로드 및 내보내기 {#data-loading-and-export} @@ -179,7 +179,7 @@ const dataset = [ 기본적으로 Spreadsheet는 JSON 형식의 데이터를 받습니다. 외부 소스에서 데이터를 로드하려면 [](api/spreadsheet_load_method.md) 메서드를 사용하십시오. 이 메서드는 데이터 파일의 URL을 매개변수로 받습니다. ~~~jsx -var spreadsheet = new dhx.Spreadsheet("spreadsheet"); +var spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.load("../common/data.json"); ~~~ @@ -195,7 +195,7 @@ spreadsheet.load("../common/data.json"); CSV 형식의 데이터도 로드할 수 있습니다. 이를 위해 [](api/spreadsheet_load_method.md) 메서드를 호출하고 두 번째 매개변수로 형식 이름("csv")을 전달하십시오. ~~~jsx -var spreadsheet = new dhx.Spreadsheet("spreadsheet"); +var spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.load("../common/data.csv", "csv"); ~~~ @@ -262,7 +262,7 @@ spreadsheet.load("/some/data").then(function(){ 로컬 소스에서 데이터를 로드하려면 [](api/spreadsheet_parse_method.md) 메서드를 사용하십시오. 이 메서드의 매개변수로 [미리 정의된 데이터 세트](#preparing-data)를 전달하십시오. ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet"); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.parse(data); ~~~ diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/localization.md b/i18n/ko/docusaurus-plugin-content-docs/current/localization.md index 5e600ab2..75d210b5 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/localization.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/localization.md @@ -1,7 +1,7 @@ --- sidebar_label: 로컬라이제이션 title: 로컬라이제이션 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 로컬라이제이션에 대한 문서를 확인하세요. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해보며, DHTMLX Spreadsheet의 30일 무료 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet를 현지화합니다. 기본 로케일을 확인하고, 사용자 정의 로케일을 만들고, 내장 위젯과 수식 팝업을 번역하고, 로케일을 적용하는 방법을 설명합니다. --- # 로컬라이제이션 {#localization} @@ -23,6 +23,8 @@ const en = { textColor: "Text color", backgroundColor: "Background color", + fontSize: "Font size", + bold: "Bold", italic: "Italic", underline: "Underline", @@ -60,6 +62,10 @@ const en = { addRow: "Add row above", removeRow: "Remove row {row}", removeRows: "Remove rows {row}", + columnWidth: "Column width", + rowHeight: "Row height", + widthInPixels: "Width in pixels", + heightInPixels: "Height in pixels", row: "row", col: "col", freeze: "Freeze", @@ -82,8 +88,10 @@ const en = { text: "Text", date: "Date", time: "Time", + scientific: "Scientific", filter: "Filter", + openFilter: "Open filter", help: "Help", @@ -104,6 +112,9 @@ const en = { border_style: "Border style", // Tabbar + // the name of a new sheet is this prefix followed by a number: sheet1, sheet2 + defaultSheetName: "sheet", + addSheet: "Add sheet", deleteSheet: "Delete", renameSheet: "Rename", renameSheetAlert: "A sheet with the name $name already exists. Please enter another name. ", @@ -114,10 +125,14 @@ const en = { export: "Export", downloadAs: "Download as...", importAs: "Import as...", + xlsxFormat: "Microsoft Excel(.xlsx)", data: "Data", validation: "Data validation", search: "Search", + previousMatch: "Previous match", + nextMatch: "Next match", + closeSearch: "Close search", sort: "Sort", ascSort: "Sort A to Z", descSort: "Sort Z to A", @@ -177,17 +192,105 @@ const en = { spanUnmergeLockedError: "You can't unmerge locked cells!", spanOverFilteredRow: "You can't merge cells over a filtered row.", removeAlert: "You can't remove last $name!", + wasmNotSupported: "WebAssembly is not supported by your browser", + invalidValue: "Invalid value", + + // Accessible names, read by screen readers + // accessible name of a color button; {label} is the name of the control, {color} is a name from the colorpicker locale + aria_colorButton: "{label}: {color}", + // accessible names of the toolbars; the screen reader adds the word "toolbar" itself + aria_toolbarFormatting: "Formatting", + aria_toolbarBorders: "Borders", + aria_toolbarSheets: "Sheets", + aria_toolbarSearch: "Search", + aria_toolbarLink: "Link", + // accessible names of the line styles in the border style list + aria_borderStyleThin: "Thin line", + aria_borderStyleMedium: "Medium line", + aria_borderStyleThick: "Thick line", + aria_borderStyleDashed: "Dashed line", + aria_borderStyleDotted: "Dotted line", + aria_borderStyleDouble: "Double line", + // accessible names of the context menus; the screen reader adds the word "menu" itself + aria_cellMenu: "Cell", + aria_sheetMenu: "Sheet", + // accessible name of the menu bar; the screen reader adds the words "menu bar" itself + aria_menuBar: "Main", + // accessible name of the cell grid; the screen reader adds the word "grid" itself + aria_grid: "Spreadsheet", + // accessible name of the select-all corner, the first column header + aria_selectAll: "Select all", + // accessible name of the formula bar; {cell} is the address of the cell it shows, for example "B7" + aria_formulaBar: "Formula bar, {cell}", + // accessible name of the input that edits a cell; {cell} is the address of the cell, for example "B7" + aria_cellEditor: "Cell editor, {cell}", + // accessible name of the close icon of the formula help panel + aria_closeFormulaHelp: "Close formula help", + + // Cell descriptions, read with the content of the active cell + // read with the content of a cell that has a filter icon; the icon itself is hidden from assistive technology + aria_filter: "Filter", + aria_filterApplied: "Filter applied", + // read after the content of a selected cell that holds a link; Alt+Enter opens the link + aria_cellLink: "link", + // read after the content of a selected locked cell; the lock icon itself is hidden from assistive technology + aria_lockedState: "locked", + // read after the value of a cell with a formula error; the formula engine writes the error as #ERROR, #REF! or #SPILL! + aria_errorSyntax: "Syntax error. Check the formula", + aria_errorCalc: "Calculation error. Check the values and functions", + aria_errorRef: "Reference error. Check the cell references", + aria_errorSpill: "Spill error. Clear the cells the result needs", + // read after the value of a cell that breaks its list validation + aria_invalidValue: "Invalid value. Choose a value from the list", + + // Screen reader announcements + // announced when an editing key is pressed in the read-only mode + aria_readonlySheet: "The sheet is read-only", + // announced when Ctrl+Shift+9 or Ctrl+Shift+0 finds nothing to reveal + aria_noHiddenRows: "No hidden rows in the selection", + aria_noHiddenCols: "No hidden columns in the selection", + // announced when a selection of several cells changes; {range} is built from aria_rangeExtent + aria_selectedRange: "{range}, {count} cells", + aria_rangeExtent: "{start} to {end}", + // joins the ranges of a selection made with Ctrl + aria_rangeSeparator: ", ", + // announced after an action; {message} is one of the texts above + aria_cellMessage: "{cell}: {message}", + // announced when an action makes several errors appear; {first} is aria_cellMessage for the first of them + aria_newErrors: "{count} new errors. {first}", + // announced when an action puts several invalid values; {first} is aria_cellMessage for the first of them + aria_invalidValues: "{count} invalid values. {first}", + // announced once when an edit of a locked cell is refused; the second one when a range holds locked cells + aria_lockedCell: "The cell is locked", + aria_lockedCells: "Locked cells were not changed", + // announced when the search text changes; followed by aria_searchMatch for the first match + aria_searchResults: "Results: {count}.", + // announced for the current match; {cell} is its address, for example "B7" + aria_searchMatch: "{index} of {count}, {cell}", + aria_searchNoResults: "No results", + // announced when an export or an import of a file starts and ends + aria_exportStarted: "Exporting the file", + aria_exportDone: "The file is exported", + aria_importStarted: "Importing the file", + aria_importDone: "The file is imported", + // announced when the column width or the row height command is applied; {size} is the applied size + aria_columnWidthSet: "Column width set to {size} pixels", + aria_rowHeightSet: "Row height set to {size} pixels", }; ~~~ +`aria_`로 시작하는 키는 인터페이스에 표시되지 않습니다. 스크린 리더는 이 키를 컨트롤의 이름, 활성 셀의 설명, 그리고 [`announce()`](api/spreadsheet_announce_method.md) 메서드도 사용하는 라이브 영역의 메시지로 읽습니다. `{cell}`, `{count}`와 같이 중괄호로 둘러싸인 부분은 문자열을 읽을 때 값으로 대체됩니다. 번역한 문자열에도 이 부분을 그대로 유지하십시오. 번역된 접근성 문자열의 예는 [접근성](accessibility.md#translated-accessibility-strings) 가이드를 참조하십시오. + +`defaultSheetName` 키는 기본 시트 이름의 접두사를 설정합니다. Spreadsheet는 여기에 숫자를 붙이므로 기본값 `"sheet"`는 "sheet1", "sheet2" 등의 이름을 만듭니다. 예를 들어 Microsoft Excel이 독일어에서 사용하는 접두사인 `"Tabelle"`을 사용하면 시트 이름은 "Tabelle1", "Tabelle2" 등이 됩니다. + ## 사용자 정의 로케일 {#custom-locale} 다른 로케일을 적용하려면 다음을 수행해야 합니다: -- Spreadsheet의 모든 텍스트 레이블에 대한 번역을 제공합니다. 예를 들어 러시아어 로케일의 경우: +- Spreadsheet의 모든 텍스트 레이블에 대한 번역을 제공합니다. 예를 들어 독일어 로케일의 경우: ~~~jsx -const ru = { +const de = { // 언어 설정 }; ~~~ @@ -195,10 +298,48 @@ const ru = { - Spreadsheet를 초기화하기 전에 `dhx.i18n.setLocale()` 메서드를 호출하여 새 로케일을 적용합니다: ~~~jsx -dhx.i18n.setLocale("spreadsheet", ru); +dhx.i18n.setLocale("spreadsheet", de); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +## 내장 위젯 현지화 {#localizing-built-in-widgets} + +Spreadsheet는 내부적으로 DHTMLX Suite의 Calendar, Colorpicker, Grid, Timepicker, Toolbar, Window, Message 위젯을 사용합니다. 이 위젯들의 문자열은 별도의 로케일에 저장되어 있으며, `spreadsheet` 로케일과 같은 방식으로 번역할 수 있습니다: + +| 로케일 | Spreadsheet에서 사용하는 문자열 | +| ------ | --------------------------- | +| `calendar` | 날짜 편집기와 날짜 필터의 월 및 요일 이름 | +| `colorpicker` | 툴바의 색상 팝업에 있는 사용자 지정 색상 모드의 레이블, 팔레트 이름, 그리고 스크린 리더가 색상 견본과 색상 버튼에 대해 읽는 색상 이름(예: "Text color: dark gray") | +| `grid` | 로드된 행 수 안내 | +| `timepicker` | 시간 편집기의 레이블 | +| `toolbar` | 툴바의 기본 접근 가능한 이름 | +| `window` | 대화 상자의 기본 접근 가능한 이름 | +| `message` | alert 및 confirm 대화 상자와 해당 버튼의 접근 가능한 이름 | + +툴바, 메뉴, 컨텍스트 메뉴는 생성될 때 로케일을 읽으므로, Spreadsheet를 초기화하기 전에 로케일 이름과 함께 `dhx.i18n.setLocale()`을 호출하십시오: + +~~~jsx +const deColorpicker = { + cancel: "Abbrechen", + select: "Auswählen", + aria_palette: "Farbpalette", + aria_colorRed: "rot", + // other strings +}; + +const deMessage = { + aria_confirm: "Bestätigen" +}; + +dhx.i18n.setLocale("spreadsheet", de); +dhx.i18n.setLocale("colorpicker", deColorpicker); +dhx.i18n.setLocale("message", deMessage); + const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); ~~~ +로케일 키는 평면 구조입니다. 각 키를 객체의 최상위 수준에 전달하십시오. 자세한 내용은 DHTMLX Suite 문서의 [스크린 리더 문자열 현지화](https://docs.dhtmlx.com/suite/common_features/accessibility_support/#localization-of-screen-reader-strings) 문서를 참조하십시오. + ## 수식의 기본 로케일 {#default-locale-for-formulas} `dhx.i18n.formulas` 객체에는 Spreadsheet 수식 팝업의 i18n 로케일이 포함되어 있습니다. 수식의 기본 로케일은 다음과 같습니다: diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/merge_cells.md b/i18n/ko/docusaurus-plugin-content-docs/current/merge_cells.md index 92e57cb7..0bee001e 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/merge_cells.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/merge_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: 셀 병합 title: 셀 병합 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 셀 병합에 대해 알아보세요. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해보며, DHTMLX Spreadsheet의 30일 무료 평가판을 다운로드하세요. +description: 툴바 또는 서식 메뉴를 통해 DHTMLX Spreadsheet에서 셀을 병합하고 분할하는 방법과, 행과 열을 제거할 때 병합된 셀에 미치는 영향을 알아봅니다. --- # 셀 병합 {#merging-cells} @@ -45,3 +45,13 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 셀 병 2\. 메뉴에서 *Format -> Unmerge*로 이동합니다 ![병합된 셀을 분리하는 Unmerge 옵션이 있는 DHTMLX Spreadsheet Format 메뉴](/img/unmerge_cells_via_menu.png) + +## 병합된 셀의 행과 열 제거 {#removing-rows-and-columns-of-merged-cells} + +병합된 셀을 통해 행 또는 열을 제거하면 병합된 셀이 걸쳐 있는 모든 행 또는 열이 제거됩니다. 셀 또는 셀 범위를 선택한 상태에서 툴바, 메뉴, 컨텍스트 메뉴 또는 [`deleteRow()`](api/spreadsheet_deleterow_method.md) / [`deleteColumn()`](api/spreadsheet_deletecolumn_method.md) 메서드로 행 또는 열을 제거할 때 이렇게 동작합니다. 컨텍스트 메뉴는 명령 이름에 전체 범위를 표시합니다. 예: *행 2-4 제거*. + +![병합된 셀에 대해 행 2-4 제거가 표시된 행 하위 메뉴가 있는 DHTMLX Spreadsheet 컨텍스트 메뉴](/img/remove_merged_rows_context_menu.png) + +행 또는 열 전체를 선택한 경우(예: 헤더를 클릭하거나 `Shift + Space` 또는 `Ctrl (Cmd) + Space`를 사용) 선택한 행 또는 열만 제거됩니다. 해당 행 또는 열에 걸쳐 있던 병합된 셀은 더 작아지고, 셀이 하나만 남은 병합된 셀은 일반 셀이 됩니다. + +제거된 행 또는 열의 아래쪽이나 오른쪽에 있는 병합된 셀은 함께 이동합니다. diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/migration.md b/i18n/ko/docusaurus-plugin-content-docs/current/migration.md index 61822885..d47c95ce 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/migration.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/migration.md @@ -1,7 +1,7 @@ --- sidebar_label: 최신 버전으로 마이그레이션 title: 마이그레이션 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 마이그레이션에 대해 알아보세요. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해보며, DHTMLX Spreadsheet의 30일 무료 평가판을 다운로드하세요. +description: 버전별로 더 이상 사용되지 않거나 변경 또는 제거된 속성, 메서드, 이벤트와 그 대체 항목 목록을 참고하여 DHTMLX Spreadsheet의 새 버전으로 마이그레이션합니다. --- # 최신 버전으로 마이그레이션 {#migration-to-newer-versions} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/number_formatting.md b/i18n/ko/docusaurus-plugin-content-docs/current/number_formatting.md index 0c921faa..b0c911fd 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/number_formatting.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/number_formatting.md @@ -1,7 +1,7 @@ --- sidebar_label: 숫자 서식 title: 숫자 서식 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 숫자 서식에 대한 개발자 가이드를 확인하세요. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해보며, DHTMLX Spreadsheet의 30일 무료 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 셀 값에 숫자, 통화, 백분율, 날짜, 시간, 지수 형식을 적용하고 현지화하며, 사용자 지정 형식 마스크를 정의하고 셀 형식을 설정하거나 가져옵니다. --- # 숫자 서식 {#number-formatting} @@ -107,7 +107,7 @@ Spreadsheet 구성 옵션을 사용하면 시간과 날짜를 현지화하고, 예를 들어, 아래와 같이 기본 로컬라이제이션 설정을 변경할 수 있습니다: ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { localization: { decimal: ",", thousands: " ", diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/number_formatting_guide.md b/i18n/ko/docusaurus-plugin-content-docs/current/number_formatting_guide.md index 3fcafdac..81f67cf9 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/number_formatting_guide.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/number_formatting_guide.md @@ -1,7 +1,7 @@ --- sidebar_label: 숫자 서식 title: 숫자 서식 가이드 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 숫자 서식에 대한 사용자 가이드를 확인하세요. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해보며, DHTMLX Spreadsheet의 30일 무료 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 툴바로 셀 값의 숫자, 통화, 백분율, 날짜, 시간, 텍스트 등 숫자 형식을 선택합니다. --- # 숫자 서식 {#number-formatting} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/react/overview.md b/i18n/ko/docusaurus-plugin-content-docs/current/react/overview.md index 5b85ed99..0352699c 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/react/overview.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/react/overview.md @@ -96,8 +96,8 @@ Props는 컴포넌트가 변경 사항을 처리하는 방식에 따라 분류 | 카테고리 | Props | 변경 시 동작 | |----------|-------|----------------------| -| **초기화 전용** | `menu`, `editLine`, `toolbarBlocks`, `multiSheets`, `formats`, `localization`, `importModulePath`, `exportModulePath`, `spreadsheetLocale` | 위젯이 소멸되고 재생성됩니다. 스프레드시트 데이터는 보존되지만 실행 취소/다시 실행 기록과 UI 상태(선택 영역, 스크롤 위치)는 초기화됩니다. | -| **런타임** | `readonly`, `rowsCount`, `colsCount` | 데이터 손실이나 UI 상태 초기화 없이 즉시 적용됩니다. | +| **초기화 전용** | `menu`, `editLine`, `toolbarBlocks`, `multiSheets`, `formats`, `localization`, `importModulePath`, `exportModulePath`, `spreadsheetLocale`, `readonly` | 위젯이 소멸되고 재생성됩니다. 스프레드시트 데이터는 보존되지만 실행 취소/다시 실행 기록과 UI 상태(선택 영역, 스크롤 위치)는 초기화됩니다. | +| **런타임** | `selection`, `rowsCount`, `colsCount` | 데이터 손실이나 UI 상태 초기화 없이 즉시 적용됩니다. | | **데이터** | `sheets`, `activeSheet` | 증분 방식으로 적용됩니다. 변경된 셀, 범위 또는 설정만 업데이트됩니다. | | **재파싱** | `styles` | 스타일 변경 시 전체 데이터 재로드가 필요합니다. 스프레드시트 데이터는 보존되지만 실행 취소/다시 실행 기록과 UI 상태는 초기화됩니다. | | **상태** | `search`, `theme`, `loadUrl` | 전용 위젯 API를 통해 부작용 없이 적용됩니다. | @@ -198,6 +198,10 @@ function App() { `instance` 속성은 위젯이 초기화되기 전과 언마운트 후에는 `null`입니다. +:::info +`ref.current.instance.events.on()`으로 연결한 핸들러는 초기화 전용 prop 변경 후 위젯이 재생성될 때와 컴포넌트가 언마운트될 때 제거됩니다. 컴포넌트가 모든 새 위젯 인스턴스에 연결하는 [이벤트 콜백 props](react/events.md)를 사용하세요. +::: + ## API 참조 {#api-reference} | 문서 | 내용 | diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/react/props.md b/i18n/ko/docusaurus-plugin-content-docs/current/react/props.md index 38d055cc..29431d79 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/react/props.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/react/props.md @@ -25,6 +25,7 @@ description: "타입과 예시가 포함된 ReactSpreadsheet 컴포넌트의 모 | `importModulePath` | `string` | XLSX 가져오기 모듈의 경로입니다. JS API: [`importModulePath`](api/spreadsheet_importmodulepath_config.md) 참조. | | `exportModulePath` | `string` | XLSX 내보내기 모듈의 경로입니다. JS API: [`exportModulePath`](api/spreadsheet_exportmodulepath_config.md) 참조. | | `spreadsheetLocale` | [`SpreadsheetLocale`](react/types.md#spreadsheetlocale) | UI 번역 및 로컬라이즈된 수식 이름입니다. `localization`과는 별개입니다. | +| `readonly` | `boolean` | 읽기 전용 모드를 활성화합니다. 사용자는 셀을 탐색, 선택, 복사 및 검색할 수 있으며 편집은 거부됩니다. JS API: [`readonly`](api/spreadsheet_readonly_config.md) 참조. | @@ -40,7 +41,7 @@ description: "타입과 예시가 포함된 ReactSpreadsheet 컴포넌트의 모 |------|------|-------------| | `rowsCount` | `number` | 그리드의 행 수입니다. JS API: [`rowsCount`](api/spreadsheet_rowscount_config.md) 참조. | | `colsCount` | `number` | 그리드의 열 수입니다. JS API: [`colsCount`](api/spreadsheet_colscount_config.md) 참조. | -| `readonly` | `boolean` | 읽기 전용 모드를 활성화합니다. JS API: [`readonly`](api/spreadsheet_readonly_config.md) 참조. | +| `selection` | `boolean` | 셀 선택을 켜거나 끕니다. 기본값: `true`. `false`로 설정하면 스프레드시트에 활성 셀이 없으며 UI에서 셀을 선택하거나 편집할 수 없습니다. JS API: [`selection`](api/spreadsheet_selection_config.md) 참조. | ## 데이터 props {#data-props} @@ -225,10 +226,18 @@ const [theme, setTheme] = useState("light"); ### 읽기 전용 모드 {#read-only-mode} +읽기 전용 모드에서 사용자는 키보드로 셀을 탐색하고, 마우스로 선택하고, 복사 및 검색할 수 있습니다. 편집은 거부되며 스크린 리더에 알림이 전달됩니다. `readonly`는 초기화 전용 prop이므로 변경하면 위젯이 재생성됩니다. 데이터는 유지되지만 실행 취소/다시 실행 기록과 UI 상태(선택 영역, 스크롤 위치)는 초기화됩니다. + ~~~tsx ~~~ +키보드 탐색과 선택도 끄려면 `selection={false}`를 추가하세요. `selection` prop은 런타임에 적용되므로 위젯을 재생성하지 않고 전환할 수 있습니다: + +~~~tsx + +~~~ + ### URL에서 데이터 로드 {#loading-data-from-url} ~~~tsx diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/react/themes.md b/i18n/ko/docusaurus-plugin-content-docs/current/react/themes.md index ab21cae1..21ffa7a2 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/react/themes.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/react/themes.md @@ -77,6 +77,9 @@ DHTMLX Spreadsheet는 레이어드 CSS 변수 시스템을 사용합니다. 이 /* 스프레드시트 범위 색상 */ --dhx-spreadsheet-range-background-1: #bee3f8; --dhx-spreadsheet-range-color-1: #2b6cb0; + + /* 수식 입력줄과 툴바 컨트롤의 키보드 포커스 윤곽선 */ + --dhx-spreadsheet-focus-color: #2b6cb0; } ~~~ diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/react/types.md b/i18n/ko/docusaurus-plugin-content-docs/current/react/types.md index 204812a6..710fd25a 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/react/types.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/react/types.md @@ -188,6 +188,13 @@ ref.current?.instance?.selection.setSelectedCell("A1:C5"); // 실행 취소/다시 실행 ref.current?.instance?.undo(); ref.current?.instance?.redo(); + +// 선택 끄기 및 켜기 +ref.current?.instance?.selection.disable(); +ref.current?.instance?.selection.enable(); + +// 스크린 리더에 상태 메시지 전송 +ref.current?.instance?.announce("The report is saved"); ~~~ ## Actions 열거형 {#actions-enum} @@ -264,6 +271,7 @@ type SpreadsheetConfigProps = Omit< | `ISpreadsheet` | 메인 스프레드시트 위젯 인스턴스 인터페이스. | | `ISpreadsheetConfig` | 생성자 구성 인터페이스. | | `ISheet` | 시트 인스턴스 인터페이스(시트 이벤트 콜백에서 사용). | +| `ISelection` | 선택 모듈 인터페이스(`instance.selection`). [`enable()`](api/selection_enable_method.md), [`disable()`](api/selection_disable_method.md), [`isDisabled()`](api/selection_isdisabled_method.md) 메서드를 포함합니다. | | `IFormats` | 커스텀 숫자 형식 정의. | | `IFilterRules` | 필터 규칙 구성. | | `IFilter` | 필터 인스턴스 인터페이스. | diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/sorting_data.md b/i18n/ko/docusaurus-plugin-content-docs/current/sorting_data.md index 94885a03..72b4ce04 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/sorting_data.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/sorting_data.md @@ -1,7 +1,7 @@ --- sidebar_label: 데이터 정렬 title: 데이터 정렬 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 데이터 정렬에 대해 알아보세요. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해보며, DHTMLX Spreadsheet의 30일 무료 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에서 컨텍스트 메뉴의 정렬 명령으로 열 또는 선택한 셀 범위를 기준으로 데이터를 A에서 Z 또는 Z에서 A 순으로 정렬합니다. --- # 데이터 정렬 {#sorting-data} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/svelte_integration.md b/i18n/ko/docusaurus-plugin-content-docs/current/svelte_integration.md index abbee58c..6b5a1df8 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/svelte_integration.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/svelte_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: Svelte와의 통합 title: Svelte 통합 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 Svelte 통합에 대한 문서를 확인하세요. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해보며, DHTMLX Spreadsheet의 30일 무료 평가판을 다운로드하세요. +description: Svelte 애플리케이션에서 DHTMLX Spreadsheet를 사용하는 방법입니다. 프로젝트를 만들고, Spreadsheet를 Svelte 컴포넌트로 추가하고, 데이터를 로드하고, 이벤트를 처리합니다. --- # Svelte와의 통합 {#integration-with-svelte} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md b/i18n/ko/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md index 6cd152ad..0350bf66 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md @@ -1,7 +1,7 @@ --- sidebar_label: 내장 테마 구성 title: 내장 테마 구성 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 테마를 구성하는 방법을 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 직접 사용해 보거나, DHTMLX Spreadsheet 30일 무료 평가판을 다운로드하십시오. +description: CSS 변수를 재정의하여 DHTMLX Spreadsheet 기본 제공 테마의 색상을 모든 테마에 한 번에 또는 개별 테마별로 변경합니다. --- # 내장 테마 구성 {#configuring-built-in-themes} @@ -94,7 +94,7 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 테마 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/themes/custom_theme.md b/i18n/ko/docusaurus-plugin-content-docs/current/themes/custom_theme.md index 4325e769..e08059a3 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/themes/custom_theme.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/themes/custom_theme.md @@ -1,7 +1,7 @@ --- sidebar_label: 커스텀 테마 title: 커스텀 테마 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 커스텀 테마를 만드는 방법을 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 직접 사용해 보거나, DHTMLX Spreadsheet 30일 무료 평가판을 다운로드하십시오. +description: CSS 변수로 DHTMLX Spreadsheet의 사용자 지정 색상 테마를 만들고 dhx.setTheme() 메서드로 적용합니다. --- # 커스텀 테마 {#custom-theme} @@ -88,7 +88,7 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 커스 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/themes/themes.md b/i18n/ko/docusaurus-plugin-content-docs/current/themes/themes.md index 57111f0b..0aab9af5 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/themes/themes.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/themes/themes.md @@ -1,7 +1,7 @@ --- sidebar_label: 내장 테마 title: 내장 테마 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 내장 테마에 대해 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 탐색하고, 코드 예제와 라이브 데모를 직접 사용해 보거나, DHTMLX Spreadsheet 30일 무료 평가판을 다운로드하십시오. +description: DHTMLX Spreadsheet의 기본 제공 테마(라이트, 다크 및 각각의 고대비 변형)입니다. Spreadsheet 전용 CSS 변수와 테마를 설정하는 방법을 알아봅니다. --- # 내장 테마 {#built-in-themes} @@ -13,7 +13,7 @@ DHTMLX Spreadsheet 라이브러리는 4가지 사전 정의된 테마를 제공 - [라이트 고대비 테마](#light-high-contrast-theme) ("contrast-light") - [다크 고대비 테마](#dark-high-contrast-theme) ("contrast-dark") -Spreadsheet 테마는 국제 표준에 따라 개발되었습니다. 고대비 테마는 시각 장애가 있는 사용자를 돕습니다. 자세한 내용은 [접근성 지원](https://docs.dhtmlx.com/suite/common_features/accessibility_support/) 문서를 참조하십시오. +Spreadsheet 테마는 국제 표준에 따라 개발되었습니다. 고대비 테마는 시각 장애가 있는 사용자를 돕습니다. Spreadsheet에서 테마의 대비와 키보드 포커스 표시기에 대한 내용은 접근성 가이드의 [고대비 및 포커스](accessibility.md#high-contrast-and-focus) 섹션을 확인하십시오. DHTMLX Suite 위젯의 접근성에 대해서는 [접근성 지원](https://docs.dhtmlx.com/suite/common_features/accessibility_support/) 문서를 참조하십시오. 아래 예제에서 모든 테마를 직접 사용해 볼 수 있습니다. @@ -377,14 +377,15 @@ Spreadsheet 컴포넌트에 특화된 변수 목록은 다음과 같습니다. --dhx-spreadsheet-range-background-8: #ecb6ff; --dhx-spreadsheet-range-color-1: #00815a; - --dhx-spreadsheet-range-color-2: #bfc000; - --dhx-spreadsheet-range-color-3: #c55933; - --dhx-spreadsheet-range-color-4: #0cc1d6; - --dhx-spreadsheet-range-color-5: #0080a3; - --dhx-spreadsheet-range-color-6: #529a0a; + --dhx-spreadsheet-range-color-2: #8b7300; + --dhx-spreadsheet-range-color-3: #a34729; + --dhx-spreadsheet-range-color-4: #007a8c; + --dhx-spreadsheet-range-color-5: #135db1; + --dhx-spreadsheet-range-color-6: #2f6500; --dhx-spreadsheet-range-color-7: #6d767b; - --dhx-spreadsheet-range-color-8: #ba38e7; + --dhx-spreadsheet-range-color-8: #b82fe5; + --dhx-spreadsheet-focus-color: var(--dhx-color-primary); } ~~~ @@ -411,6 +412,17 @@ Spreadsheet 컴포넌트에 특화된 변수 목록은 다음과 같습니다. --dhx-spreadsheet-range-color-7: #e4e4e4; --dhx-spreadsheet-range-color-8: #ecb6ff; + --dhx-spreadsheet-focus-color: hsl(var(--dhx-h-primary), var(--dhx-s-primary), calc(var(--dhx-l-primary) + 12% - var(--dhx-l-contrast-offset))); +} +~~~ + +`--dhx-spreadsheet-range-color-*` 및 `--dhx-spreadsheet-range-background-*` 변수는 수식을 편집하는 동안 수식의 셀 참조를 표시하는 색상을 설정합니다. 라이트 테마에서 `--dhx-spreadsheet-range-color-*` 색상은 수식 입력줄 배경에 대해 최소 4.5:1의 대비를 가집니다. + +`--dhx-spreadsheet-focus-color` 변수는 수식 입력줄과 툴바, 메뉴 바, 시트 탭, 테두리 팝업, 링크 팝업, 검색 바의 컨트롤에 표시되는 키보드 포커스 윤곽선의 색상을 설정합니다. 다크 테마에서는 윤곽선이 최소 3:1의 대비를 유지하도록 기본 색상보다 밝은 색상이 사용됩니다. [사용자 지정 테마](themes/custom_theme.md)에서 이 변수를 재정의할 수 있습니다: + +~~~css +[data-dhx-theme='custom-theme-dark'] { + --dhx-spreadsheet-focus-color: #7fc8ff; } ~~~ @@ -426,7 +438,7 @@ Spreadsheet 컴포넌트에 특화된 변수 목록은 다음과 같습니다. ~~~html title="index.html" -
+
~~~ - HTML 요소(예: `documentElement`)에 `data-dhx-theme` 속성 설정: @@ -453,31 +465,31 @@ document.documentElement.setAttribute("data-dhx-theme", "dark"); - body 또는 컨테이너에 테마 설정 ~~~html -
+
Other content
~~~ - HTMLElement로 지정된 컨테이너에 테마 설정 ~~~html -
+
Other content
~~~ diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/using_typescript.md b/i18n/ko/docusaurus-plugin-content-docs/current/using_typescript.md index 7124293b..3c0e4083 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/using_typescript.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/using_typescript.md @@ -1,7 +1,7 @@ --- sidebar_label: TypeScript 지원 title: TypeScript 지원 -description: DHTMLX JavaScript Spreadsheet 라이브러리와 TypeScript 사용에 대한 문서를 확인하세요. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 사용해보며, DHTMLX Spreadsheet의 30일 무료 평가판을 다운로드하세요. +description: DHTMLX Spreadsheet에 내장된 TypeScript 정의로 IDE에서 타입 검사, 자동 완성, JSDoc 힌트를 사용합니다. --- # TypeScript 지원 {#typescript-support} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/vuejs_integration.md b/i18n/ko/docusaurus-plugin-content-docs/current/vuejs_integration.md index 72ec8868..baa9e2e7 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/vuejs_integration.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/vuejs_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: Vue 통합 title: Vue 통합 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 Vue 통합에 대한 내용을 문서에서 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수 있습니다. +description: Vue 애플리케이션에서 DHTMLX Spreadsheet를 사용하는 방법입니다. 프로젝트를 만들고, Spreadsheet를 Vue 컴포넌트로 추가하고, 데이터를 로드하고, 이벤트를 처리합니다. --- # Vue 통합 {#integration-with-vue} @@ -260,6 +260,10 @@ export default { //... ~~~ +:::info +`destructor()` 메서드는 `spreadsheet.events.on()`으로 연결한 이벤트 핸들러를 제거합니다. 새 Spreadsheet 인스턴스를 생성할 때(예: 컴포넌트가 다시 생성될 때) 새 인스턴스에 핸들러를 다시 연결하세요. +::: + 그런 다음 앱을 시작하면 페이지에 데이터가 로드된 Spreadsheet를 볼 수 있습니다. ![샘플 데이터와 함께 Vue 3 애플리케이션에서 초기화된 DHTMLX Spreadsheet](/img/integrations/trial_spreadsheet.png) diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/whats_new.md b/i18n/ko/docusaurus-plugin-content-docs/current/whats_new.md index a67ce1a2..fb8d0bbe 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/whats_new.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/whats_new.md @@ -1,13 +1,78 @@ --- sidebar_label: 새로운 기능 title: DHTMLX Spreadsheet의 새로운 기능 -description: DHTMLX JavaScript Spreadsheet 라이브러리의 새로운 기능에 대한 내용을 문서에서 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수 있습니다. +description: 버전별 새 기능, 업데이트, 수정 사항, 호환성이 깨지는 변경 사항을 담은 DHTMLX Spreadsheet 릴리스 노트입니다. --- # 새로운 기능 {#whats-new} 이전 버전에서 Spreadsheet를 업그레이드하는 경우 [최신 버전으로 마이그레이션](migration.md)에서 자세한 내용을 확인하세요. +## 버전 6.0.4 {#version-604} + +2026년 11월 2일 출시 + +### 새로운 기능 {#new-functionality-604} + +- WCAG 2.2 AA, Section 508 및 EN 301 549를 목표로 하는 접근성 지원: Spreadsheet 모든 부분의 키보드 조작, 스크린 리더 지원, 모든 테마에서 눈에 보이는 포커스. [접근성](accessibility.md) 가이드와 [접근성 적합성 보고서](accessibility_conformance_report.md)를 확인하세요 +- 셀 선택을 끄고 켜는 기능: + - 새로운 구성 속성: [`selection`](api/spreadsheet_selection_config.md) + - selection 모듈의 새로운 메서드: [`enable()`](api/selection_enable_method.md), [`disable()`](api/selection_disable_method.md), [`isDisabled()`](api/selection_isdisabled_method.md) +- [`announce()`](api/spreadsheet_announce_method.md) 메서드는 스크린 리더에 상태 메시지를 전달합니다 +- [컨텍스트 메뉴](customization.md#context-menu)의 새로운 명령: [*열 너비*, *행 높이*](work_with_rows_cols.md#setting-column-width-and-row-height) 및 [*필터 열기*](filtering_data.md#opening-a-filter-with-the-keyboard) + +### 업데이트 {#updates-604} + +- 키보드 탐색 ([단축키 목록](hotkeys.md) 확인): + - 포커스가 활성 셀에 유지되며, `Tab` 및 `Shift + Tab`은 시트의 마지막 셀과 첫 번째 셀에서 셀 영역을 벗어나고, `Ctrl + F6`은 메뉴, 툴바, 시트, 시트 탭 간에 포커스를 이동합니다 + - 툴바, 메뉴 바, 시트 탭은 방향키로 탐색하는 단일 탭 정지점입니다 + - 새로운 단축키가 추가되었습니다. 예를 들어 컨텍스트 메뉴용 `Shift + F10`, 숨겨진 행과 열을 표시하는 `Ctrl (Cmd) + Shift + 9` / `Ctrl (Cmd) + Shift + 0`이 있습니다 + - 툴바의 색상 및 테두리 팝업은 열릴 때 포커스를 받고 `Esc` 및 `Tab`으로 닫힙니다 +- 방향키는 반대편 가장자리로 이동하지 않고 첫 번째 및 마지막 표시된 행과 열에서 멈추며, 가장자리에서 방향키를 누르면 선택한 범위가 활성 셀로 줄어듭니다 +- 입력기(IME)로 작성한 텍스트가 활성 셀에 표시되고 [`startEdit()`](api/spreadsheet_startedit_method.md) 메서드를 통해 편집이 시작되므로 이 경우 `beforeEditStart` 및 `afterEditStart` 이벤트가 발생합니다 +- [`setFocusedCell()`](api/selection_setfocusedcell_method.md) 메서드는 키보드 포커스를 셀로 이동합니다 +- [셀의 링크](work_with_cells.md#inserting-a-hyperlink-into-a-cell)는 새 탭에서 열리는 실제 링크로 렌더링되며, `Alt (Option) + Enter`는 활성 셀의 링크를 엽니다 +- [읽기 전용 모드](api/spreadsheet_readonly_config.md)는 키보드 탐색, 선택, 복사, 검색을 유지하며, 스크린 리더는 거부된 편집을 안내합니다. 선택을 끄려면 `selection: false` 옵션을 사용하세요 +- [병합된 셀을 통한 행 또는 열 제거](merge_cells.md#removing-rows-and-columns-of-merged-cells)는 병합된 셀의 모든 행 또는 열을 제거합니다 +- [`spreadsheet` 로케일](localization.md#default-locale)의 새로운 인터페이스 및 스크린 리더 문자열과 [기본 제공 위젯의 번역](localization.md#localizing-built-in-widgets) +- 키보드 포커스용 [`--dhx-spreadsheet-focus-color`](/themes/#spreadsheet-specific-styles) 변수와, 라이트 테마에서 더 높은 대비를 가지는 수식 참조 색상 + +### 수정 사항 {#fixes-604} + +- 병합된 셀 앞의 행 또는 열이 삭제될 때 병합된 셀이 이동하지 않고 삭제되는 문제. 이제 셀이 하나만 남은 병합된 셀은 일반 셀이 되며 값을 유지합니다 +- 병합된 셀을 통해 행 또는 열을 삭제하면 병합의 한 줄만 제거되는 문제 +- 행과 열 제거용 컨텍스트 메뉴 레이블이 제거될 병합된 셀의 모든 행 또는 열을 표시하지 않는 문제 +- 행이 필터링된 전체 범위를 포함할 때 삭제되지 않는 문제 +- 고정된 행 또는 열이 삭제될 때 고정 영역이 줄어들지 않는 문제 +- 드래그한 셀에 일반 숫자가 없을 때 자동 채우기에서 오류가 발생하는 문제 +- 첫 번째 또는 마지막 행이나 열이 숨겨진 상태에서 `Home`, `End`, `Ctrl (Cmd) + Home`, `Ctrl (Cmd) + End` 및 `Ctrl (Cmd) + Arrow` 키를 누르면 페이지가 멈추는 문제 +- 셀을 Excel로 복사하거나 Excel 또는 Spreadsheet 내에서 붙여넣을 때 글꼴 크기가 사라지는 문제 +- 잘못된 값 툴팁이 잘못된 셀에서 떨어진 위치에 나타나거나 표시되지 않는 문제 +- 방향키를 사용한 후 목록 편집기에서 `Esc` 및 `Tab`이 작동하지 않는 문제 +- 검색이 두 번째 일치 항목을 먼저 강조 표시하고 편집이나 시트 전환 후 결과를 새로 고치지 않는 문제 +- WebAssembly가 없는 브라우저에서 가져오기 또는 내보내기 시 스크립트 오류가 발생하는 문제 +- `destructor()` 후에 document 리스너와 내부 위젯이 남아 있는 문제 +- 검색 바가 닫힌 후 키보드 포커스가 사라지는 문제 +- 닫힌 컨텍스트 메뉴가 다시 열리는 문제 +- 키보드 탐색 중 활성 셀이 뷰포트 가장자리보다 한 셀 모자라게 스크롤되는 문제 +- 잘못된 참조가 있는 수식에 단일 `#REF!` 대신 깨지거나 반복된 `#REF!` 오류가 표시되는 문제 + +### React Spreadsheet {#react-spreadsheet-604} + +React Spreadsheet에는 위에 나열된 Spreadsheet의 모든 업데이트와 수정 사항이 포함됩니다. 아래는 React 래퍼에만 해당하는 변경 사항입니다. + +#### 업데이트 {#react-updates-604} + +- 새로운 [`selection`](react/props.md#runtime-props) prop +- [`ISelection`](react/types.md#re-exported-upstream-types) 타입 재내보내기 +- [`readonly`](react/props.md#init-only-props)가 초기화 전용 prop으로 변경 + +#### 수정 사항 {#react-fixes-604} + +- init-only prop 변경으로 Spreadsheet가 다시 생성된 후 이벤트 콜백과 `onStateChange`가 발생하지 않는 문제 +- 언마운트 시 래퍼의 이벤트 핸들러가 제거되지 않는 문제 +- `loadUrl`의 데이터가 마운트 시 두 번 로드되고, Spreadsheet가 다시 생성된 후 유지된 데이터 위에 다시 로드되는 문제 + ## 버전 6.0.3 {#version-603} 2026년 8월 24일 출시 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/work_with_cells.md b/i18n/ko/docusaurus-plugin-content-docs/current/work_with_cells.md index d2d112c4..efdf8163 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/work_with_cells.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/work_with_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: 셀 편집 title: 셀 편집 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 셀 작업에 대한 내용을 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 셀을 편집합니다. 내용 입력, 하이퍼링크 삽입, 드롭다운 목록 사용, 여러 셀 채우기, Excel과 셀 복사 및 셀 잠금을 다룹니다. --- # 셀 편집 {#editing-cells} @@ -145,14 +145,27 @@ description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 셀 작 - 1, 3, 5, 7, 9, ... 시리즈를 만들려면 처음 두 셀에 1과 3을 입력하세요. - 2, 4, 6, 8, 10, ... 시리즈를 만들려면 처음 두 셀에 2와 4를 입력하세요. - 숫자 외에도 패턴에 문자를 사용할 수 있습니다. 예를 들어 1, a, 2, b, 3, a, 4, b, ... 같은 시리즈를 만들려면 처음 네 셀에 1, a, 2, b를 입력하세요. + - 텍스트 끝의 숫자를 이어가려면 처음 값을 입력하세요. 예를 들어 item1, item2, item3, ... 시리즈를 만들려면 처음 두 셀에 item1과 item2를 입력하세요. + - 날짜 시리즈를 만들려면 첫 번째 셀에 날짜를 입력하세요. 이후 각 셀은 다음 날짜로 채워집니다. +- 텍스트 반복 + +예를 들어 North, South, North, South, ... 시리즈를 만들려면 처음 두 셀에 North와 South를 입력하세요. *텍스트* 형식의 셀에 있는 숫자도 같은 방식으로 반복됩니다. 3\. **채우기 핸들**을 드래그하세요. ![셀 데이터를 복제하기 위해 채우기 핸들을 드래그하는 DHTMLX Spreadsheet 자동 채우기](/img/autofill.gif) +## Excel과 셀 복사 {#copying-cells-to-and-from-excel} + +**Ctrl (Cmd) + C**로 셀을 복사하고 **Ctrl (Cmd) + V**로 붙여넣을 수 있습니다. Spreadsheet 내에서, 그리고 Spreadsheet와 Microsoft Excel 간에 사용할 수 있습니다: + +- Spreadsheet 내에서는 셀이 값, 수식, 스타일, 숫자 형식, 링크를 유지합니다. 수식의 셀 참조는 새 위치에 맞게 이동합니다 +- Excel에서는 붙여넣은 셀이 값(수식이 아닌 수식의 결과), 스타일(글꼴 크기 포함), 병합된 셀, 링크를 가집니다. 필터로 숨겨진 행은 건너뜁니다 +- Excel에서 복사한 셀을 Spreadsheet에 붙여넣으면 값, 스타일(글꼴 크기 포함), 숫자 형식, 병합된 셀, 링크가 유지됩니다 + ## 셀 잠금 {#locking-cells} -셀을 잠가 값이 변경되지 않도록 보호할 수 있습니다. 셀을 잠그면 오른쪽 상단 모서리에 회색 "열쇠" 아이콘이 표시됩니다. 잠긴 셀은 편집 시도에 응답하지 않습니다. +셀을 잠가 값이 변경되지 않도록 보호할 수 있습니다. 셀을 잠그면 오른쪽 상단 모서리에 회색 "열쇠" 아이콘이 표시됩니다. 잠긴 셀은 편집 시도에 응답하지 않습니다. 스크린 리더는 거부된 편집을 안내합니다. 단일 셀에는 "The cell is locked", 선택한 범위에 잠긴 셀이 포함된 경우에는 "Locked cells were not changed"라고 안내합니다. ![오른쪽 상단 모서리에 회색 열쇠 아이콘으로 표시된 DHTMLX Spreadsheet 잠긴 셀](/img/lockedcells.png) diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/work_with_rows_cols.md b/i18n/ko/docusaurus-plugin-content-docs/current/work_with_rows_cols.md index 2539f976..ec0f2010 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/work_with_rows_cols.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/work_with_rows_cols.md @@ -1,7 +1,7 @@ --- sidebar_label: 행과 열 작업 title: 행과 열 작업 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 행과 열 작업에 대한 내용을 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 행과 열 작업을 수행합니다. 추가 및 제거, 열 너비 자동 맞춤, 열 너비와 행 높이 설정, 고정, 숨기기와 표시를 다룹니다. --- # 행과 열 작업 {#work-with-rows-and-columns} @@ -54,6 +54,10 @@ DHTMLX Spreadsheet를 사용하면 툴바 버튼, 메뉴 옵션, 셀 컨텍스 여러 행을 한 번에 제거하려면 행들을 선택하고, 마우스 오른쪽 버튼을 클릭하여 컨텍스트 메뉴를 열고 *행 -> 행 제거 [ids]*를 선택하세요. ::: +:::info +선택한 셀이 병합된 셀 안에 있으면 병합된 셀의 모든 행이 제거됩니다. 자세한 내용은 [셀 병합](merge_cells.md#removing-rows-and-columns-of-merged-cells) 문서를 확인하세요. +::: + ### 열 추가 {#adding-columns} 새 열을 추가하려면 다음 단계를 따르세요: @@ -98,6 +102,10 @@ DHTMLX Spreadsheet를 사용하면 툴바 버튼, 메뉴 옵션, 셀 컨텍스 여러 열을 한 번에 제거하려면 열들을 선택하고, 마우스 오른쪽 버튼을 클릭하여 컨텍스트 메뉴를 열고 *열 -> 열 제거 [ids]*를 선택하세요. ::: +:::info +선택한 셀이 병합된 셀 안에 있으면 병합된 셀의 모든 열이 제거됩니다. 자세한 내용은 [셀 병합](merge_cells.md#removing-rows-and-columns-of-merged-cells) 문서를 확인하세요. +::: + ## 열 너비 자동 맞춤 {#autofit-column-width} 열 너비를 열의 가장 긴 내용에 자동으로 맞추려면 다음 방법 중 하나를 사용할 수 있습니다: @@ -116,6 +124,50 @@ DHTMLX Spreadsheet를 사용하면 툴바 버튼, 메뉴 옵션, 셀 컨텍스 ![열 너비 자동 맞춤을 위한 데이터에 맞춤 옵션이 있는 DHTMLX Spreadsheet 열 하위 메뉴](/img/column_autofit.png) +## 열 너비와 행 높이 설정 {#setting-column-width-and-row-height} + +### 열 너비 설정 {#setting-column-width} + +열의 정확한 너비를 설정하려면 다음 단계를 따르세요: + +1\. 열 또는 해당 열의 셀을 선택하세요. 여러 열을 변경하려면 해당 열에 걸친 셀 범위를 선택하세요. + +2\. 선택 영역을 마우스 오른쪽 버튼으로 클릭하거나 `Shift + F10` 또는 Menu 키를 누른 다음 *열 -> 열 너비*를 선택하세요. 같은 명령을 열의 점 3개 아이콘 메뉴에서도 사용할 수 있습니다. + +![열 너비가 표시된 열 하위 메뉴가 있는 DHTMLX Spreadsheet 컨텍스트 메뉴](/img/column_width_context_menu.png) + +3\. *열 너비* 대화상자에서 너비를 픽셀 단위로 입력하고 **적용**을 클릭하거나 `Enter`를 누르세요. + +![픽셀 단위 너비와 취소 및 적용 버튼이 있는 DHTMLX Spreadsheet 열 너비 대화상자](/img/column_width_dialog.png) + +### 행 높이 설정 {#setting-row-height} + +행의 정확한 높이를 설정하려면 다음 단계를 따르세요: + +1\. 행 또는 해당 행의 셀을 선택하세요. 여러 행을 변경하려면 해당 행에 걸친 셀 범위를 선택하세요. + +2\. 선택 영역을 마우스 오른쪽 버튼으로 클릭하거나 `Shift + F10` 또는 Menu 키를 누른 다음 *행 -> 행 높이*를 선택하세요. + +![행 높이가 표시된 행 하위 메뉴가 있는 DHTMLX Spreadsheet 컨텍스트 메뉴](/img/row_height_context_menu.png) + +3\. *행 높이* 대화상자에서 높이를 픽셀 단위로 입력하고 **적용**을 클릭하거나 `Enter`를 누르세요. + +![픽셀 단위 높이와 취소 및 적용 버튼이 있는 DHTMLX Spreadsheet 행 높이 대화상자](/img/row_height_dialog.png) + +### 새 크기 적용 방식 {#how-the-new-size-is-applied} + +대화상자에는 선택한 범위의 첫 번째 열 또는 행의 현재 크기가 표시되며, 새 크기는 해당 범위의 모든 열 또는 행에 적용됩니다. 여러 범위를 선택한 경우 마지막으로 선택한 범위가 사용됩니다. + +크기는 정수 픽셀로 반올림됩니다. 열의 최소 너비는 20px, 행의 최소 높이는 10px이며, 이보다 작은 양수 값은 최솟값으로 대체됩니다. 필드가 비어 있거나 값이 양수가 아닌 동안에는 **적용** 버튼이 비활성화됩니다. + +**취소** 버튼 또는 `Esc`는 변경 없이 대화상자를 닫습니다. 스크린 리더는 새 크기를 안내합니다. 예: "Column width set to 120 pixels". + +### 변경 취소 {#undoing-the-change} + +새 크기는 `Ctrl (Cmd) + Z`로 취소할 수 있습니다. + +코드에서 변경을 처리하려면 `resizeCol` 및 `resizeRow` [액션](api/overview/actions_overview.md#list-of-actions)을 사용하세요. + ## 행과 열 고정/해제 {#freezingunfreezing-rows-and-columns} ### 행 고정 {#freezing-rows} @@ -212,6 +264,10 @@ DHTMLX Spreadsheet를 사용하면 툴바 버튼, 메뉴 옵션, 셀 컨텍스 ![행 숨기기 옵션이 있는 행 하위 메뉴가 표시된 DHTMLX Spreadsheet 컨텍스트 메뉴](/img/hide_row_context_menu.png) +:::info +활성 셀이 숨겨지는 행에 있으면 활성 셀은 그 아래의 첫 번째 표시된 행으로 이동하고, 선택 영역은 이 셀로 줄어듭니다. 아래에 표시된 행이 없으면 위쪽의 마지막 표시된 행으로 이동합니다. +::: + ### 행 표시 {#showing-rows} 숨겨진 행을 표시하려면 다음 단계 중 하나를 따르세요: @@ -228,6 +284,8 @@ DHTMLX Spreadsheet를 사용하면 툴바 버튼, 메뉴 옵션, 셀 컨텍스 ![행 표시 옵션이 있는 행 하위 메뉴가 표시된 DHTMLX Spreadsheet 컨텍스트 메뉴](/img/show_rows_context_menu.png) +- 또는 행이나 여러 셀을 선택하여 숨겨진 행이 선택 범위에 포함되도록 한 후 `Ctrl (Cmd) + Shift + 9`를 누르세요. 예를 들어 숨겨진 3행을 표시하려면 2-4행을 선택하세요. 선택 범위에 숨겨진 행이 없으면 스크린 리더가 "No hidden rows in the selection"이라고 안내합니다 + ### 열 숨기기 {#hiding-columns} 열을 숨기려면 다음 단계를 따르세요: @@ -244,6 +302,10 @@ DHTMLX Spreadsheet를 사용하면 툴바 버튼, 메뉴 옵션, 셀 컨텍스 ![열 숨기기 옵션이 있는 열 하위 메뉴가 표시된 DHTMLX Spreadsheet 컨텍스트 메뉴](/img/hide_columns_context_menu.png) +:::info +활성 셀이 숨겨지는 열에 있으면 활성 셀은 그 오른쪽의 첫 번째 표시된 열로 이동하고, 선택 영역은 이 셀로 줄어듭니다. 오른쪽에 표시된 열이 없으면 왼쪽의 마지막 표시된 열로 이동합니다. +::: + ### 열 표시 {#showing-columns} 숨겨진 열을 표시하려면 다음 단계 중 하나를 따르세요: @@ -259,3 +321,5 @@ DHTMLX Spreadsheet를 사용하면 툴바 버튼, 메뉴 옵션, 셀 컨텍스 (*아래 이미지에서 C열이 숨겨져 있습니다*) ![열 표시 옵션이 있는 열 하위 메뉴가 표시된 DHTMLX Spreadsheet 컨텍스트 메뉴](/img/show_columns_context_menu.png) + +- 또는 열이나 여러 셀을 선택하여 숨겨진 열이 선택 범위에 포함되도록 한 후 `Ctrl (Cmd) + Shift + 0`을 누르세요. 선택 범위에 숨겨진 열이 없으면 스크린 리더가 "No hidden columns in the selection"이라고 안내합니다 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/work_with_sheets.md b/i18n/ko/docusaurus-plugin-content-docs/current/work_with_sheets.md index 1638f507..346db91f 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/work_with_sheets.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/work_with_sheets.md @@ -1,7 +1,7 @@ --- sidebar_label: 시트 작업 title: 시트 작업 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 시트 작업에 대한 내용을 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에서 하단 툴바와 시트 탭으로 시트를 추가, 제거, 이름 변경, 전환하고 수식에서 다른 시트의 셀을 참조합니다. --- # 시트 작업 {#work-with-sheets} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/working_with_cells.md b/i18n/ko/docusaurus-plugin-content-docs/current/working_with_cells.md index 87f16dbb..4392fbe2 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/working_with_cells.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/working_with_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: 셀 작업 title: 셀 작업 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 셀 작업에 대한 내용을 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수 있습니다. +description: API로 DHTMLX Spreadsheet 셀의 값과 스타일을 설정하고 가져오며, 셀 유효성 검사, 링크 삽입, 셀 편집, 잠금, 병합, 선택을 수행합니다. --- # 셀 작업 {#work-with-cells} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/working_with_sheets.md b/i18n/ko/docusaurus-plugin-content-docs/current/working_with_sheets.md index a442b538..2f72868f 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/working_with_sheets.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/working_with_sheets.md @@ -1,7 +1,7 @@ --- sidebar_label: 시트 작업 title: 시트 작업 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 시트 작업에 대한 내용을 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수 있습니다. +description: DHTMLX Spreadsheet에 여러 시트를 로드하고 API 메서드로 시트를 추가, 제거, 가져오기, 지우기, 전환합니다. --- # 시트 작업 {#work-with-sheets} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/working_with_ssheet.md b/i18n/ko/docusaurus-plugin-content-docs/current/working_with_ssheet.md index 29d030e7..1707f27a 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/working_with_ssheet.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/working_with_ssheet.md @@ -1,7 +1,7 @@ --- sidebar_label: Spreadsheet 작업 title: Spreadsheet 작업 -description: DHTMLX JavaScript Spreadsheet 라이브러리 문서에서 스프레드시트 작업에 대한 내용을 확인할 수 있습니다. 개발자 가이드와 API 레퍼런스를 살펴보고, 코드 예제와 라이브 데모를 체험해 보세요. 또한 DHTMLX Spreadsheet의 무료 30일 평가판을 다운로드할 수 있습니다. +description: API로 DHTMLX Spreadsheet에서 작업을 실행 취소 및 다시 실행하고, 행과 열을 추가, 제거, 고정, 숨기고, 열 너비를 자동 맞춤하며, 데이터를 필터링, 검색, 정렬하고 스프레드시트를 지웁니다. --- # Spreadsheet 작업 {#work-with-spreadsheet} @@ -282,7 +282,7 @@ v4.3부터 [`sortCells()`](api/spreadsheet_sortcells_method.md) 메서드를 사 - `dir` - 정렬 방향: 1 - 오름차순, -1 - 내림차순 ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // 구성 파라미터 }); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current.json b/i18n/ru/docusaurus-plugin-content-docs/current.json index cf6ba12a..a3027ba0 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current.json +++ b/i18n/ru/docusaurus-plugin-content-docs/current.json @@ -83,6 +83,10 @@ "message": "Работа с ячейками", "description": "The generated-index page title for category 'Work with cells' in sidebar 'docs'" }, + "sidebar.docs.category.Accessibility": { + "message": "Доступность", + "description": "The label for category 'Accessibility' in sidebar 'docs'" + }, "sidebar.docs.category.Frameworks & integrations": { "message": "Фреймворки и интеграции", "description": "The label for category 'Frameworks & integrations' in sidebar 'docs'" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/.sync b/i18n/ru/docusaurus-plugin-content-docs/current/.sync index 96f6c508..0532604c 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/.sync +++ b/i18n/ru/docusaurus-plugin-content-docs/current/.sync @@ -1 +1 @@ -2b6d3c2fd433461ffce34526974de3f1ba5161a8 +9ff2cef64e00d4e77947433a670dc5d573fcc7f4 diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/accessibility.md b/i18n/ru/docusaurus-plugin-content-docs/current/accessibility.md new file mode 100644 index 00000000..1c1ed55e --- /dev/null +++ b/i18n/ru/docusaurus-plugin-content-docs/current/accessibility.md @@ -0,0 +1,449 @@ +--- +sidebar_label: Доступность +title: Доступность +description: Сделайте DHTMLX Spreadsheet доступным для пользователей клавиатуры и скринридеров. Узнайте о поддержке WAI-ARIA, навигации с клавиатуры, голосовых уведомлениях скринридеров и высококонтрастных темах, соответствующих WCAG 2.2 AA. +--- + +# Доступность в DHTMLX Spreadsheet + +Это руководство предназначено для разработчиков, которые встраивают DHTMLX Spreadsheet в приложение с требованиями к доступности. Используйте его, чтобы сверить компонент со своим чек-листом и настроить его для пользователей клавиатуры, скринридеров и высококонтрастных тем. + +Spreadsheet выводит в разметке роли и состояния WAI-ARIA. Фокус клавиатуры остается на активной ячейке, а панель инструментов, строка меню и вкладки листов представляют собой по одной точке табуляции. Изменения, у которых нет собственного элемента, например отклоненное редактирование или результат поиска, попадают в live-область, которую скринридеры зачитывают вслух. + +:::info Целевое соответствие +DHTMLX Spreadsheet разработан в соответствии с **WCAG 2.2 Level AA**, **Section 508** закона США Rehabilitation Act и **EN 301 549** (техническая основа European Accessibility Act). + +Соответствие отражено по каждому критерию для DHTMLX Spreadsheet 6.0.4. Доступен подробный **Отчет о соответствии требованиям доступности (VPAT® 2.5)**: [Accessibility Conformance Report](accessibility_conformance_report.md). +::: + +## Возможности {#capabilities} + +| Область | Поддержка | +| ---- | ------- | +| Работа с клавиатуры | У каждой команды для ячеек есть клавиша. Панель инструментов, строка меню и вкладки листов представляют собой единые точки табуляции, навигация по ним выполняется стрелками. Для ширины столбца, высоты строки и фильтра столбца есть команды контекстного меню, поэтому перетаскивание или щелчок по иконке не требуются | +| Семантика WAI-ARIA | Ячейки образуют `grid` с элементами `columnheader`, `rowheader` и `gridcell`. Роли выводятся всегда | +| Модель фокуса | Фокус клавиатуры находится на активной ячейке. Tab входит в лист на активную ячейку и покидает его с последней и первой ячейки. Ctrl + F6 перемещает фокус между меню, панелью инструментов, листом и вкладками листов | +| Модель выделения | Активная ячейка, диапазон и несколько диапазонов передаются через `aria-selected`, а размер диапазона озвучивается. Выделение можно отключить с помощью опции [`selection`](api/spreadsheet_selection_config.md) | +| Режим только для чтения | По листу можно перемещаться, выделять, копировать и искать; редактирование отклоняется и озвучивается, контекстное меню недоступно | +| Скринридеры | Протестировано с NVDA, JAWS и VoiceOver | +| Визуальная доступность | Темы `contrast-light` и `contrast-dark`, видимый индикатор фокуса в каждой теме и признаки, не зависящие от цвета | +| Масштабирование текста и страницы | Интерфейс остается работоспособным при масштабе 200% и 400% и при переопределении межстрочных и межбуквенных интервалов | +| Настройка | Публичный метод [`announce()`](api/spreadsheet_announce_method.md) для собственных сообщений и переводимые строки локали `aria_*` для каждого встроенного имени и уведомления | +| Стандарты | WCAG 2.2 AA, Section 508, EN 301 549 | + +## Охватываемые области {#covered-areas} + +Это руководство охватывает виджет Spreadsheet: + +- ячейки, заголовки столбцов и строк, объединенные ячейки и закрепленные строки и столбцы +- выделение: активная ячейка, диапазоны и несколько диапазонов +- строка формул и редакторы ячеек, включая редактор ячейки со списком значений +- панель инструментов с popup-окнами выбора цвета и границ, строка меню и контекстные меню +- вкладки листов +- сортировка, фильтрация, поиск, валидация данных, ссылки в ячейках, импорт и экспорт +- темы и индикатор фокуса + +Доступность итоговой страницы также зависит от приложения-хоста. См. [Ответственность страницы-хоста](#host-page-responsibilities). + +## Поддержка WAI-ARIA {#wai-aria-support} + +Spreadsheet автоматически добавляет в разметку роли и атрибуты WAI-ARIA, отключить их нельзя. У каждой части виджета есть своя роль и имя, а имена берутся из [локали](#localization). + +### Контейнер Spreadsheet {#spreadsheet-container} + +Части Spreadsheet представляют собой отдельные именованные элементы управления: + +| Часть | Роль / атрибут | Доступное имя | +| ---- | ---------------- | --------------- | +| Строка меню | `role="menubar"` + `aria-label` | "Main" | +| Панель инструментов | `role="toolbar"` + `aria-label` | "Formatting" | +| Строка формул | `aria-label` на поле ввода | "Formula bar, B7", с адресом активной ячейки | +| Ячейки | `role="grid"` + `aria-label` | "Spreadsheet" | +| Вкладки листов | `role="toolbar"` + `aria-label` | "Sheets" | +| Live-область | `role="status"`, `aria-live="polite"`, `aria-atomic="true"` | визуально скрыта, расположена рядом с гридом вне `role="grid"` | + +У корневого элемента Spreadsheet нет роли ориентира (landmark), поэтому вы можете поместить его в подходящий для вашей страницы ориентир. + +### Поверхность ячеек {#cell-surface} + +Следующие атрибуты описывают ячейки в целом. Их содержит элемент `.dhx_grid-content`: + +| Селектор | Роль / атрибут | Назначение | +| -------- | ---------------- | ------- | +| `.dhx_grid-content` | `role="grid"` | Интерактивный грид ячеек | +| `.dhx_grid-content` | `aria-label` | "Spreadsheet", из ключа локали `aria_grid` | +| `.dhx_grid-content` | `aria-rowcount` | Количество строк листа плюс строка заголовка | +| `.dhx_grid-content` | `aria-colcount` | Количество видимых столбцов плюс столбец с номерами строк | +| `.dhx_grid-content` | `aria-readonly` | `"true"` в [режиме только для чтения](api/spreadsheet_readonly_config.md) и пока [выделение](api/spreadsheet_selection_config.md) отключено | +| `.dhx_grid-content` | `aria-multiselectable` | `"true"`; `"false"`, пока выделение отключено | + +### Строки и ячейки {#rows-and-cells} + +В следующей таблице перечислены роли, а также атрибуты позиции и состояния строк и ячеек: + +| Селектор | Роль / атрибут | Назначение | +| -------- | ---------------- | ------- | +| Строка | `role="row"` + `aria-rowindex` | Строка листа. У строки 1 листа `aria-rowindex="2"`, так как заголовок столбцов является первой строкой | +| Ячейка | `role="gridcell"` + `aria-colindex` | Ячейка. У столбца A `aria-colindex="2"`, так как номера строк являются первым столбцом | +| Номер строки | `role="rowheader"` | Заголовок строки | +| Ячейка | `aria-selected` | `"true"` на активной ячейке и на каждой ячейке выделенных диапазонов | +| Ячейка | `aria-readonly` | `"true"` в режиме только для чтения, пока [выделение](api/spreadsheet_selection_config.md) отключено, и на [заблокированных ячейках](work_with_cells.md#locking-cells) | +| Ячейка | `tabindex` | `"0"` на активной ячейке и `"-1"` на остальных, поэтому ячейки представляют собой одну точку табуляции | +| Активная ячейка | DOM-фокус | Фокус клавиатуры находится на самой активной ячейке, а не на отдельном поле ввода. Пока ячейка редактируется, фокус находится на редакторе ячейки | +| Объединенная ячейка | `aria-colspan` / `aria-rowspan` | Количество столбцов или строк, которые занимает объединенная ячейка. Покрытые ею ячейки скрыты с помощью `aria-hidden="true"` | +| Ссылка в ячейке | `
` с `target="_blank"` и `rel="noopener noreferrer"` | Ссылка со схемой `http`, `https`, `mailto`, `ftp` или `tel` | + +Ячейка также содержит визуально скрытый текст, который скринридеры зачитывают вместе со значением: + +| Скрытый текст | Когда | +| ----------- | ---- | +| Адрес ячейки, например "B7" | На активной ячейке и на каждой ячейке выделенного диапазона. Скринридеры зачитывают адрес перед значением | +| "link" | На выделенной ячейке со ссылкой. Alt + Enter открывает ссылку | +| "locked" | На выделенной заблокированной ячейке | +| Описание ошибки формулы, например "Reference error. Check the cell references" | На ячейке с ошибкой формулы | +| "Invalid value. Choose a value from the list" | На ячейке, значения которой нет в ее [списке значений](work_with_cells.md#using-drop-down-lists-in-cells) | +| "Filter" / "Filter applied" | На ячейке с иконкой фильтра | + +### Заголовки столбцов и строк {#column-and-row-headers} + +| Селектор | Роль / атрибут | Назначение | +| -------- | ---------------- | ------- | +| Буква столбца | `role="columnheader"` + `aria-colindex` | Заголовок столбца | +| Угол выделения всего листа | `role="columnheader"` | Имя "Select all" | +| Номер строки | `role="rowheader"` | Заголовок строки | +| Иконка меню столбца, иконки скрытых строк и столбцов | `aria-hidden="true"` | Декоративные. Команды находятся в контекстном меню | + +Заголовки не являются точками табуляции. Щелчок по букве столбца, номеру строки или углу выделяет строки или столбцы и возвращает фокус на активную ячейку. + +### Строка формул и редакторы {#formula-bar-and-editors} + +| Селектор | Роль / атрибут | Назначение | +| -------- | ---------------- | ------- | +| Поле ввода строки формул | `aria-label` | "Formula bar, B7", с адресом активной ячейки. На заблокированной ячейке поле ввода имеет атрибут `readonly`, поэтому его значение по-прежнему можно прочитать. Пока выделение отключено, строка формул пуста и заблокирована | +| Поле ввода редактора ячейки | `aria-label` | "Cell editor, B7" | +| Редактор ячейки со списком значений | `role="combobox"`, `aria-controls`, `aria-expanded`, `aria-activedescendant` | Список значений представляет собой `listbox` из элементов `option`, а у выделенной опции есть `aria-selected` | +| Редактор с недопустимым значением | `aria-invalid="true"` | Сохраненного значения ячейки нет в ее списке значений. Атрибут обновляется после сохранения значения, а не во время ввода | +| Иконка закрытия справки по формуле | `role="button"` + `aria-label` | "Close formula help" | + +### Панель инструментов и меню {#toolbar-and-menus} + +| Селектор | Роль / атрибут | Назначение | +| -------- | ---------------- | ------- | +| Панель инструментов | `role="toolbar"` + `aria-label` | "Formatting"; панели инструментов popup-окна границ, строки поиска и popup-окна ссылки называются "Borders", "Search" и "Link" | +| Кнопка панели инструментов | `aria-label` | Значение кнопки. Кнопка с иконкой получает имя из подсказки, например "Bold (ctrl+b)". Иконки скрыты с помощью `aria-hidden="true"` | +| Bold, Italic, Underline, Strikethrough, Lock, Filter | `aria-pressed` | Включено ли форматирование или фильтр | +| Кнопка, открывающая выпадающий список | `aria-haspopup="menu"`, `aria-expanded` | Выпадающий список представляет собой `menu`, названное по своей кнопке | +| Выравнивание, перенос текста, числовые форматы | `role="menuitemradio"` + `aria-checked` | Один вариант из взаимоисключающего набора | +| Text color, Background color, Border color | `aria-label` | Название элемента управления и текущего цвета, например "Text color: dark gray" | +| Цветовая палитра | `role="grid"` из элементов `gridcell` | Грид называется "Color palette". Каждая цветовая ячейка названа по своему цвету, а у выбранной есть `aria-selected="true"` | +| Список стилей границ | `role="listbox"` из элементов `option` | Опции называются "Thin line", "Medium line", "Thick line", "Dashed line", "Dotted line", "Double line" | +| Строка меню | `role="menubar"` + `aria-label` | "Main". Ее пункты открывают popup-окна с `role="menu"`. В popup-окнах у пунктов форматирования `role="menuitemcheckbox"`, а у пунктов выравнивания, переноса текста и числовых форматов `role="menuitemradio"`. Оба вида сообщают свое состояние через `aria-checked` | +| Контекстные меню | `role="menu"` + `aria-label` | "Cell" для ячеек и "Sheet" для вкладок листов | + +### Вкладки листов {#sheet-tabs} + +| Селектор | Роль / атрибут | Назначение | +| -------- | ---------------- | ------- | +| Панель вкладок листов | `role="toolbar"` + `aria-label` | "Sheets" | +| Вкладка листа | `button` + `aria-pressed` | Вкладка названа по своему листу. У вкладки активного листа `aria-pressed="true"` | +| Кнопка добавления листа | `aria-label` | "Add sheet" | + +### Диалоги {#dialogs} + +| Селектор | Роль / атрибут | Назначение | +| -------- | ---------------- | ------- | +| Диалоги Column width и Row height | `role="dialog"`, `aria-modal="true"`, `aria-label` | Названы по заголовку диалога. Поле ввода имеет метку "Width in pixels" / "Height in pixels" | +| Строка поиска | `role="dialog"` + `aria-label` | Называется "Search". Поле поиска имеет метку "Search", а кнопки называются "Previous match", "Next match" и "Close search" | +| Insert link, Data validation | `role="dialog"` + `aria-label` | Названы по заголовку диалога | +| Предупреждения | `role="alertdialog"`, `aria-modal="true"`, `aria-labelledby`, `aria-describedby` | Названы по заголовку предупреждения и описаны его текстом | + +### Скрытые и декоративные элементы {#hidden-and-decorative-elements} + +Spreadsheet скрывает декоративные части от вспомогательных технологий с помощью `aria-hidden="true"`. Это иконки блокировки, фильтра и меню столбца, иконки скрытых строк и столбцов и иконка выделения всего листа. Слой, который рисует выделение, подсветку копирования и поиска и маркер заполнения, также скрыт. Скрыты и цветная копия формулы в строке формул, и ячейки, покрытые объединенной ячейкой. У оберток разметки есть `role="presentation"`. Фокусные ограничители до и после грида лишь передают фокус активной ячейке. + +## Модель выделения и редактирования {#selection-and-editing-model} + +DOM-фокус находится на самой активной ячейке, поэтому скринридер зачитывает ячейку, а не отдельное поле ввода. Когда активная ячейка перемещается, скринридер сначала зачитывает адрес новой ячейки, затем ее значение и скрытые описания. Когда пользователь выделяет диапазон с клавиатуры или мышью, скринридер озвучивает размер диапазона, после того как выделение перестает меняться. Ячейка, принадлежащая нескольким диапазонам, считается один раз, ячейки скрытых строк и столбцов учитываются. Пока ячейка редактируется, ничего не озвучивается. Когда диапазон сокращается до активной ячейки, озвучивается адрес ячейки. + +| Ситуация | Что получает скринридер | +| --------- | --------------------------- | +| Активная ячейка перемещается | Ячейка с ее адресом, значением и описаниями, например "B7, 120, locked" | +| Выделяется диапазон | "B2 to D7, 18 cells" | +| С помощью Ctrl выделяется несколько диапазонов | "B2 to B4, D2 to D4, 6 cells" | +| Редактор открывается клавишей Enter, F2 или вводом текста | Поле ввода редактора с именем "Cell editor, B7" | +| Открывается редактор ячейки со списком значений | Развернутый combobox. После ↑ или ↓ зачитывается выделенная опция списка | +| Редактирование сохраняется | Озвучиваются новые ошибки формул в отредактированных ячейках и в зависящих от них ячейках, а также недопустимые значения в отредактированных ячейках | +| Редактирование заблокированной ячейки отклонено | "The cell is locked" | +| В режиме только для чтения нажата клавиша редактирования | "The sheet is read-only" | + +Enter, F2 или ввод текста открывает редактор. Enter сохраняет значение и переходит вниз, Tab сохраняет его и переходит вправо, а Esc отменяет редактирование. + +## Навигация с клавиатуры {#keyboard-navigation} + +Клавиатура работает сразу после появления Spreadsheet на странице, настройка не требуется. В таблицах ниже кратко описана модель работы с клавиатурой. Полный набор сочетаний клавиш см. в [списке горячих клавиш](hotkeys.md). + +![Выпадающий список Horizontal align на панели инструментов, открытый клавишей Down, с фокусом на первом пункте](/img/accessibility/toolbar_dropdown_focus.png) + +### Ячейки {#cells} + +| Клавиши | Действие | +| ---- | ------ | +| Стрелки | Перемещают активную ячейку. Активная ячейка останавливается на первой и последней видимой строке и столбце | +| Shift + стрелки | Расширяют выделенный диапазон | +| Home / End | Переход к первой или последней видимой ячейке строки | +| Ctrl + стрелки, Ctrl + Home / End | Переход к краю листа | +| Tab / Shift + Tab | Переход вправо или влево внутри строки. С последней или первой ячейки листа фокус выходит из ячеек к следующей или предыдущей части страницы, например к вкладкам листов или строке формул | +| Enter, F2 | Открыть редактор | +| Esc | Закрыть редактор без сохранения | +| Ctrl + Space / Shift + Space | Выделить столбец или строку | +| Ctrl + Shift + 9 / 0 | Показать скрытые строки или столбцы внутри выделенного диапазона | +| Alt + Enter | Открыть ссылку активной ячейки | +| Shift + F10 или клавиша Menu | Открыть контекстное меню с командами для ячейки или для столбца после Ctrl + Space | +| Alt + ↑ / ↓, Ctrl + Alt + Page Down / Page Up | Переключиться на следующий или предыдущий лист | + +### Переход между частями {#moving-between-the-parts} + +| Клавиши | Действие | +| ---- | ------ | +| Ctrl + F6 / Ctrl + Shift + F6 | Переместить фокус на следующую или предыдущую часть: меню, панель инструментов, лист, вкладки листов. Строка формул и скрытые части пропускаются. Открытое редактирование предварительно сохраняется | +| Tab / Shift + Tab | Переместить фокус на следующую или предыдущую часть в порядке табуляции страницы. Каждая панель представляет собой одну точку табуляции, а фокус попадает на элемент управления, использованный последним | + +### Панель инструментов, строка меню и вкладки листов {#toolbar-menu-bar-and-sheet-tabs} + +| Клавиши | Действие | +| ---- | ------ | +| ← / →, Home / End | Переход между элементами управления панели | +| Enter / Space | Нажать элемент управления: выполнить команду, открыть выпадающий список или переключиться на лист | +| ↓ | Открыть выпадающий список и переместить фокус на его первый пункт | +| ↑ / ↓ | Переход между пунктами открытого выпадающего списка или меню | +| → / ← | Открыть или закрыть подменю | +| Esc | Закрыть выпадающий список или меню и вернуть фокус на его элемент управления | + +### Popup-окна и диалоги {#popups-and-dialogs} + +| Клавиши | Действие | +| ---- | ------ | +| Стрелки, Home / End | Переход между цветами цветовой палитры | +| Enter | Применить цвет, границу или размер в диалогах Column width и Row height | +| Esc | Закрыть popup-окно, диалог или строку поиска и вернуть фокус на элемент управления или ячейку, которые их открыли. В режиме пользовательского цвета вернуться к палитре. В popup-окне цвета или стиля, открытом из popup-окна границ, закрыть его и вернуть фокус на его кнопку в popup-окне границ | +| Tab / Shift + Tab | Переход между элементами управления диалога или режима пользовательского цвета. В popup-окне цвета или popup-окне границ закрыть его и вернуть фокус на его кнопку панели инструментов | +| ↑ / ↓, Enter | Перемещение по списку значений ячейки и выбор значения | + +:::note +У действий, рассчитанных только на указатель, есть клавиатурные альтернативы. Команды *Column width* и *Row height* контекстного меню задают точный размер без перетаскивания, а команда *Open filter* открывает фильтр без щелчка по его иконке. +::: + +## Вспомогательные технологии {#assistive-technology} + +Команда DHTMLX тестирует Spreadsheet со следующими скринридерами: + +| Скринридер | Браузер | Платформа | +| ------------- | ------- | -------- | +| NVDA | Firefox | Windows | +| JAWS | Chrome | Windows | +| VoiceOver | Safari | macOS | + +Скринридеры получают каждое состояние от элемента, к которому оно относится: + +| Состояние | Передается через | Зачитывается на | +| ----- | --------------- | ------- | +| Позиция | `aria-rowindex`, `aria-colindex` и адрес ячейки в тексте ячейки | Каждой ячейке. Адрес находится в тексте активной ячейки и ячеек выделенных диапазонов | +| Выделение | `aria-selected` | Активной ячейке и ячейках выделенных диапазонов | +| Возможность редактирования | `aria-readonly` | Гриде и ячейках в режиме только для чтения и пока выделение отключено, а также заблокированных ячейках | +| Объединенные ячейки | `aria-colspan`, `aria-rowspan` | Объединенной ячейке | +| Заголовки строк | `role="rowheader"` | Номерах строк | +| Состояние переключателя | `aria-pressed` | Кнопках Bold, Italic, Underline, Strikethrough, Lock и Filter и вкладках листов | +| Состояние отметки | `aria-checked` | Пунктах форматирования строки меню, а также пунктах выравнивания, переноса текста и числовых форматов | +| Ошибки и недопустимые значения | Скрытый текст в ячейке, `aria-invalid` | Ячейке и ее редакторе | +| Ссылки | `` и скрытый текст "link" | Ячейке со ссылкой | + +## Высокий контраст и фокус {#high-contrast-and-focus} + +### Темы {#themes} + +В Spreadsheet есть четыре встроенные темы: `light` (по умолчанию), `dark`, `contrast-light` и `contrast-dark`. Темы `contrast-light` и `contrast-dark` соответствуют требованиям WCAG AA к контрасту текста. Переключайте тему методом `dhx.setTheme()` или атрибутом `data-dhx-theme`: + +~~~jsx +dhx.setTheme("contrast-light"); // or "contrast-dark" +~~~ + +Подробности см. в статье [Встроенные темы](/themes/). + +В светлых темах цвета, которыми выделяются ссылки на ячейки в формуле, имеют контраст не менее 4.5:1. + +Тема `contrast-light` рисует темный текст и границы на белом фоне. В показанном ниже Spreadsheet с клавиатуры открыто контекстное меню ячейки с иконкой фильтра. Его команда в фокусе, [*Open filter*](filtering_data.md#opening-a-filter-with-the-keyboard), отмечена штриховой рамкой, а активная ячейка отмечена сплошной границей основного цвета темы: + +![Spreadsheet в теме contrast-light](/img/accessibility/spreadsheet_contrast_light.png) + +Тема `contrast-dark` рисует светлый текст и границы на темном фоне. Когда фокус находится на элементе управления панели инструментов, он отмечается кольцом фокуса цвета `--dhx-spreadsheet-focus-color`, который в темных темах светлее основного цвета границы активной ячейки: + +![Spreadsheet в теме contrast-dark](/img/accessibility/spreadsheet_contrast_dark.png) + +### Индикатор фокуса {#focus-indicator} + +Фокус клавиатуры отображается в каждой теме: + +- у активной ячейки сплошная граница 2px основного цвета темы +- ячейка и редактор ячейки, находящиеся в фокусе клавиатуры, получают рамку 2px основного цвета темы +- строка формул и элементы управления панели инструментов, строки меню, вкладок листов, popup-окна границ, popup-окна ссылки и строки поиска получают рамку 2px цвета переменной `--dhx-spreadsheet-focus-color` +- в цветовой палитре, списке стилей границ, выпадающих списках панели инструментов и строки меню и контекстных меню пункт в фокусе получает штриховую рамку 1px цвета `--dhx-color-focused` +- в редакторе ячейки со списком фокус остается в редакторе, а текущий пункт списка подсвечивается цветом фона + +Переменная `--dhx-spreadsheet-focus-color` в темных темах светлее основного цвета и может быть переопределена в [пользовательской теме](themes/custom_theme.md). Контраст каждого индикатора в каждой теме приведен в [Accessibility Conformance Report](accessibility_conformance_report.md). + +### Цвет и масштаб {#color-and-zoom} + +- **Цвет не является единственным сигналом.** У активной ячейки и выделения есть граница и заливка, у недопустимого значения есть маркер и скрытое описание, а кнопки форматирования сообщают свое состояние через `aria-pressed`. В доступное имя цветовых кнопок входит название цвета. +- **Масштаб и перестроение.** Spreadsheet остается работоспособным при масштабе 200% и 400%. Ячейки прокручиваются в двух направлениях, а панель инструментов, строка меню и вкладки листов умещаются в ширину 320 CSS px. +- **Интервалы текста.** При переопределении интервалов текста по WCAG подписи элементов управления не обрезаются, а панель вкладок листов прокручивается, когда вкладки разрастаются. +- **Прокрутка в область видимости.** Активная ячейка прокручивается в область видимости рядом с закрепленными строками и столбцами. + +## Уведомления о состоянии {#status-announcements} + +Spreadsheet озвучивает изменения, у которых нет собственного элемента, через вежливую (polite) live-область, поэтому скринридер сначала дочитывает текущее предложение: + +| Событие | Озвучиваемый текст | Ключ локали | +| ----- | -------------- | ---------- | +| Выделен диапазон | "B2 to D7, 18 cells" | `aria_selectedRange`, `aria_rangeExtent`, `aria_rangeSeparator` | +| Редактирование вызывает ошибку формулы или недопустимое значение | "B7: Reference error. Check the cell references" | `aria_cellMessage` | +| Редактирование вызывает несколько ошибок / недопустимых значений | "3 new errors. B7: ..." / "3 invalid values. B7: ..." | `aria_newErrors`, `aria_invalidValues` | +| Редактирование заблокированной ячейки / диапазона отклонено | "The cell is locked" / "Locked cells were not changed" | `aria_lockedCell`, `aria_lockedCells` | +| В режиме только для чтения нажата клавиша редактирования | "The sheet is read-only" | `aria_readonlySheet` | +| Введен текст поиска | "Results: 5. 1 of 5, B2" или "No results" | `aria_searchResults`, `aria_searchMatch`, `aria_searchNoResults` | +| Показано следующее или предыдущее совпадение | "2 of 5, B7" | `aria_searchMatch` | +| Выполнен экспорт Excel-файла | "Exporting the file", "The file is exported" | `aria_exportStarted`, `aria_exportDone` | +| Импортирован файл, выбранный в диалоге выбора файла | "Importing the file", "The file is imported" | `aria_importStarted`, `aria_importDone` | +| Применена команда Column width / Row height | "Column width set to 120 pixels" | `aria_columnWidthSet`, `aria_rowHeightSet` | +| Ctrl + Shift + 9 / 0 не находит, что показать | "No hidden rows in the selection" | `aria_noHiddenRows`, `aria_noHiddenCols` | + +Чтобы озвучить результат собственной команды, вызовите метод [`announce()`](api/spreadsheet_announce_method.md): + +~~~jsx +spreadsheet.announce("The report is saved"); +~~~ + +## Локализация {#localization} + +Доступные имена, описания ячеек и уведомления хранятся в локали `spreadsheet` в виде ключей с префиксом `aria_`, рядом с подписями интерфейса. Переведите их методом `dhx.i18n.setLocale()` до инициализации Spreadsheet: + +~~~jsx +dhx.i18n.setLocale("spreadsheet", { + // other keys of the locale + aria_grid: "Tabelle", + aria_cellEditor: "Zelleneditor, {cell}", + aria_readonlySheet: "Das Blatt ist schreibgeschützt", + aria_selectedRange: "{range}, {count} Zellen", + aria_rangeExtent: "{start} bis {end}" +}); + +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +Части в фигурных скобках, например `{cell}` или `{count}`, заменяются значениями и должны сохраняться в переведенных строках. Названия цветов и кнопок предупреждений берутся из локалей `colorpicker` и `message`. Полный список ключей см. в статье [Локализация](localization.md#default-locale), а остальные локали описаны в разделе [Локализация встроенных виджетов](localization.md#localizing-built-in-widgets). + +## Примеры конфигурации {#configuration-recipes} + +### Доступная настройка по умолчанию {#accessible-default-setup} + +Для работы с клавиатуры и вывода WAI-ARIA Spreadsheet не требует настройки. Чтобы соответствовать требованиям WCAG AA к контрасту текста, выберите контрастную тему. Другие способы задать тему см. в статье [Встроенные темы](/themes/): + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + // the keyboard navigation and the WAI-ARIA output need no configuration +}); +spreadsheet.parse(data); + +dhx.setTheme("contrast-light"); // or "contrast-dark" +~~~ + +### Настройка режима только для чтения {#read-only-setup} + +Используйте опцию [`readonly`](api/spreadsheet_readonly_config.md), чтобы показать данные, которые пользователи могут читать и копировать, но не изменять. Пользователи клавиатуры и скринридеров по-прежнему могут перемещаться по ячейкам: + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true +}); +spreadsheet.parse(data); +~~~ + +Чтобы показать данные без активной ячейки и без выделения, добавьте [`selection: false`](api/spreadsheet_selection_config.md). Тогда грид станет одной точкой табуляции, которую клавиатура проходит насквозь. + +### Переведенные строки доступности {#translated-accessibility-strings} + +Скринридеры читают строки доступности из четырех локалей: `spreadsheet` содержит имена, описания ячеек и уведомления, `colorpicker` содержит названия цветов, `message` содержит названия кнопок предупреждений, а `grid` содержит уведомление о количестве загруженных строк. Задайте все четыре до создания Spreadsheet. Ключи см. в разделе [Локализация встроенных виджетов](localization.md#localizing-built-in-widgets): + +~~~jsx +const deSpreadsheet = { + // other keys of the locale + aria_grid: "Tabelle", + aria_readonlySheet: "Das Blatt ist schreibgeschützt" +}; +const deColorpicker = { + aria_palette: "Farbpalette", + aria_colorRed: "rot" +}; +const deMessage = { + aria_confirm: "Bestätigen" +}; +const deGrid = { + aria_rowsLoaded: "{count} Zeilen geladen" +}; + +dhx.i18n.setLocale("spreadsheet", deSpreadsheet); +dhx.i18n.setLocale("colorpicker", deColorpicker); +dhx.i18n.setLocale("message", deMessage); +dhx.i18n.setLocale("grid", deGrid); + +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +### Озвучивание пользовательской команды {#announcing-a-custom-command} + +Когда ваша собственная команда меняет данные, сообщите пользователям скринридеров о результате с помощью метода [`announce()`](api/spreadsheet_announce_method.md). В примере в [меню](customization.md#menu) добавляется команда, очищающая активный лист: + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); + +spreadsheet.menu.data.add({ id: "clear-sheet", value: "Clear sheet" }); + +spreadsheet.menu.events.on("click", function (id) { + if (id === "clear-sheet") { + spreadsheet.sheets.clear(); + spreadsheet.announce("The sheet is cleared"); + } +}); +~~~ + +## Ответственность страницы-хоста {#host-page-responsibilities} + +Ряд требований относится к уровню страницы, а не компонента. Убедитесь, что страница-хост: + +- задает язык документа, например ``, и заголовок страницы +- помещает заголовок над Spreadsheet и размещает его внутри ориентира, например `
` +- предоставляет ссылку для пропуска навигации (skip link), если перед Spreadsheet стоит длинная навигация +- дает второй сигнал, например текст или иконку, любому состоянию, которое вы помечаете цветом ячейки, так как цвета стилей ячеек являются частью ваших данных +- проверяет контраст цветов, которые вы задаете в стилях ячеек и в пользовательской теме + +## Тестирование и методология {#testing-and-methodology} + +Команда DHTMLX проверяет доступность Spreadsheet 6.0.4 по исходному коду компонента и в браузере: + +1. **Автоматизированное тестирование** с помощью [axe-core](https://github.com/dequelabs/axe-core) в темах `light`, `dark`, `contrast-light` и `contrast-dark` с открытыми строкой поиска, редактором списка, диалогами и предупреждением. +2. **Ручной анализ** исходного кода: роли, состояния и имена каждой части, обработчики клавиатуры и области фокуса, а также токены тем с их коэффициентами контраста. +3. **Ручное тестирование**: прохождение сценариев только с клавиатуры по ячейкам, панелям, меню и диалогам, проверки скринридерами NVDA, JAWS и VoiceOver, масштаб 200% и 400%, перестроение при 320 CSS px и переопределение интервалов текста по WCAG. +4. **Отчет о соответствии**: результаты публикуются по каждому критерию в [Accessibility Conformance Report](accessibility_conformance_report.md), включая критерии, которые Spreadsheet поддерживает частично. + +## Ресурсы {#resources} + +- [Accessibility Conformance Report (VPAT 2.5)](accessibility_conformance_report.md) +- [Список горячих клавиш](hotkeys.md) +- [`readonly`](api/spreadsheet_readonly_config.md) +- [`selection`](api/spreadsheet_selection_config.md) +- [`announce()`](api/spreadsheet_announce_method.md) +- [Локализация](localization.md) +- [Встроенные темы](/themes/) +- [WCAG 2.2](https://www.w3.org/TR/WCAG22/) +- [WAI-ARIA 1.2](https://www.w3.org/TR/wai-aria-1.2/) +- [WAI-ARIA Authoring Practices: Grid pattern](https://www.w3.org/WAI/ARIA/apg/patterns/grid/) +- [WAI-ARIA Authoring Practices: Toolbar pattern](https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/accessibility_conformance_report.md b/i18n/ru/docusaurus-plugin-content-docs/current/accessibility_conformance_report.md new file mode 100644 index 00000000..c7fd7cd6 --- /dev/null +++ b/i18n/ru/docusaurus-plugin-content-docs/current/accessibility_conformance_report.md @@ -0,0 +1,220 @@ +--- +sidebar_label: Отчет о соответствии (VPAT) +title: Отчет о соответствии требованиям доступности +description: Отчет о соответствии требованиям доступности для DHTMLX Spreadsheet на основе VPAT 2.5 - соответствие WCAG 2.2 AA, Section 508 и EN 301 549. +--- + +# Отчет о соответствии требованиям доступности + +Этот отчет описывает, как DHTMLX Spreadsheet соответствует основным стандартам доступности. Он построен по структуре **VPAT® 2.5 (International Edition)**. Обзор возможностей доступности и способов их настройки приведен в руководстве [Доступность](accessibility.md). + +**Название продукта/версия:** DHTMLX Spreadsheet v6.0.4 + +**Дата отчета:** октябрь 2026 + +**Описание продукта:** DHTMLX Spreadsheet - это JavaScript-компонент электронных таблиц для веб-приложений. Его интерфейс состоит из строки меню, панели инструментов, строки формул, сетки ячеек с заголовками строк и столбцов и вкладок листов. Среди его возможностей: формулы, форматирование ячеек, объединенные ячейки, закрепленные строки и столбцы, сортировка, фильтрация, поиск, проверка данных, ссылки в ячейках, а также импорт и экспорт Excel. Компонент встраивается в хост-приложение. + +**Контактная информация:** [info@dhtmlx.com](mailto:info@dhtmlx.com) + +## Примечания {#notes} + +- В этом отчете DHTMLX Spreadsheet оценивается в **рекомендуемой конфигурации доступности**: это конфигурация по умолчанию, в которой вывод WAI-ARIA и навигация с клавиатуры всегда включены, а тема `contrast-light` или `contrast-dark` задана через `dhx.setTheme()` или атрибут `data-dhx-theme`. В примечаниях указано, где уровень соответствия зависит от этой конфигурации. Настройка описана в руководстве [Доступность](accessibility.md). +- DHTMLX Spreadsheet - это **веб-контент**, который отображается хост-приложением. Ответственность на уровне страницы (заголовок страницы, ``, механизмы пропуска блоков и навигация по сайту) лежит на хост-приложении, поэтому такие критерии отмечены как *Не применимо* с пояснением. +- В таблицах WCAG заполнен только ответ для **Web**. Строки *Electronic Docs*, *Software*, *Closed* и *Authoring Tool* отмечены как *Не применимо*: продукт не является автономным (не веб) программным обеспечением, закрытой функциональностью, инструментом разработки контента или электронной документацией. +- Цвета, которые автор применяет к ячейкам через стили ячеек, являются частью данных документа и не оцениваются как часть продукта. + +**Использованные методы оценки:** + +- Автоматизированное тестирование: axe-core в темах `light`, `dark`, `contrast-light` и `contrast-dark` с открытыми панелью поиска, редактором списка, диалоговыми окнами и предупреждением. +- Ручной анализ исходного кода компонента и таблиц стилей: роли и атрибуты ARIA каждой части виджета, обработчики клавиатуры и области фокуса, доступные имена и их ключи локали, цветовые токены тем, а также коэффициенты контрастности, рассчитанные для четырех тем. +- Тестирование со вспомогательными технологиями: ручные проверки с **NVDA + Firefox** и **JAWS + Chrome** в Windows и **VoiceOver + Safari** в macOS. +- Переопределения браузера: масштаб 200% / 400%, перестроение (reflow) при ширине 320 CSS px и переопределения межбуквенных и межстрочных интервалов по WCAG. + +## Применимые стандарты / руководства {#applicable-standards--guidelines} + +| Стандарт / руководство | Включено в отчет | +|---|---| +| Web Content Accessibility Guidelines 2.0 | Уровень A (Нет) · Уровень AA (Нет) · Уровень AAA (Нет) | +| Web Content Accessibility Guidelines 2.1 | Уровень A (Нет) · Уровень AA (Нет) · Уровень AAA (Нет) | +| Web Content Accessibility Guidelines 2.2 | Уровень A (**Да**) · Уровень AA (**Да**) · Уровень AAA (Нет) | +| Revised Section 508 standards (опубликован 18 января 2017 г.; исправлен 22 января 2018 г.) | (**Да**) | +| EN 301 549 - V3.1.1 (2019-11) и V3.2.1 (2021-03) | (**Да**) | + +*WCAG 2.0 и 2.1 отдельно не рассматриваются. На критерии, которые в WCAG помечены как "2.1 и 2.2", даны ответы, поскольку +они входят в WCAG 2.2 и упоминаются в EN 301 549.* + +## Термины {#terms} + +- **Supports (Поддерживается):** Функциональность продукта имеет как минимум один способ, который удовлетворяет критерию + без известных дефектов, либо удовлетворяет ему через эквивалентное обеспечение доступности. +- **Partially Supports (Поддерживается частично):** Часть функциональности продукта не удовлетворяет критерию. +- **Does Not Support (Не поддерживается):** Большая часть функциональности продукта не удовлетворяет критерию. +- **Not Applicable (Не применимо):** Критерий не относится к продукту. + +## Отчет по WCAG 2.x {#wcag-2x-report} + +DHTMLX Spreadsheet - это веб-контент, поэтому ниже заполнен только ответ для **Web**. Формулировка "Требуется тема, соответствующая AA" +означает зависимость от конфигурации, а не дефект. Критерий 4.1.1 Parsing удален в WCAG 2.2 и в отчете не рассматривается. + +### Таблица 1: Критерии успеха, уровень A {#table-1-success-criteria-level-a} + +| Критерий | Уровень соответствия | Примечания и пояснения | +|---|---|---| +| **1.1.1** Нетекстовое содержимое (Non-text Content) | Поддерживается | Значки являются шрифтовыми глифами. Элементы управления, содержащие только значок, получают доступное имя из локали или из своей подсказки, например "Add sheet", "Close search" и "Select all". Кнопки цвета содержат название цвета, например "Text color: dark gray". Декоративные значки (замок, фильтр, меню столбца, маркеры скрытых строк), слой выделения и ячейки, перекрытые объединенной ячейкой, скрыты с помощью `aria-hidden="true"`; состояние, которое они показывают, передается текстом в ячейке, например "locked" и "Filter applied". | +| **1.2.1** Только аудио и только видео (запись) (Audio-only and Video-only (Prerecorded)) | Не применимо | Продукт не содержит аудио- или видеоконтента. | +| **1.2.2** Субтитры (запись) (Captions (Prerecorded)) | Не применимо | Нет записанного мультимедиа. | +| **1.2.3** Аудиоописание или альтернатива мультимедиа (запись) (Audio Description or Media Alternative (Prerecorded)) | Не применимо | Нет записанного мультимедиа. | +| **1.3.1** Информация и взаимосвязи (Info and Relationships) | Поддерживается | Ячейки образуют `grid` с именем "Spreadsheet" и ролями `row`, `columnheader`, `rowheader` и `gridcell`. Позиция передается с помощью `aria-rowindex`/`aria-colindex` относительно `aria-rowcount`/`aria-colcount`; размер объединенной ячейки - с помощью `aria-colspan`/`aria-rowspan`; возможность редактирования - с помощью `aria-readonly`; выделение - с помощью `aria-selected` и `aria-multiselectable`. Панель инструментов, строка меню и вкладки листов являются элементами `toolbar` и `menubar` с именами; переключатели форматирования имеют `aria-pressed` на панели инструментов и являются `menuitemcheckbox` в строке меню, а взаимоисключающие параметры форматирования являются `menuitemradio` с `aria-checked`. | +| **1.3.2** Осмысленная последовательность (Meaningful Sequence) | Поддерживается | Порядок в DOM и порядок чтения соответствуют визуальному порядку: строка меню, панель инструментов, строка формул, ячейки и вкладки листов. Ячейки передают свою позицию на листе через `aria-rowindex`/`aria-colindex`, поэтому последовательность сохраняется, когда строки и столбцы прокручиваются за пределы DOM. | +| **1.3.3** Сенсорные характеристики (Sensory Characteristics) | Поддерживается | Ни одна инструкция или метка не опирается только на форму, размер или расположение; интерактивные элементы имеют текст или имя ARIA. | +| **1.4.1** Использование цвета (Use of Color) | Поддерживается | Каждое состояние, показанное цветом, дополнительно обозначено рамкой, заливкой, маркером или текстом: активная ячейка, выделенный диапазон, совпадения поиска, скопированный диапазон и недопустимые ячейки, вместе с `aria-selected` или текстом в ячейке. Строки, скрытые фильтром, оставляют пропуск в нумерации строк. Кнопки цвета содержат название цвета в своем доступном имени. | +| **1.4.2** Управление звуком (Audio Control) | Не применимо | Продукт не воспроизводит звук автоматически. | +| **2.1.1** Клавиатура (Keyboard) | Поддерживается | Для каждой команды на ячейках есть клавиша, они перечислены в [списке горячих клавиш](hotkeys.md); `Shift`+`F10` или клавиша Menu открывает контекстное меню. `Ctrl`+`F6` перемещает фокус между меню, панелью инструментов, листом и вкладками листов. Панели, их выпадающие списки и всплывающие окна, а также редактор списка работают с клавишами со стрелками, `Home`, `End`, `Enter` и `Esc`. Для ширины столбца, высоты строки и фильтра столбца есть команды контекстного меню. | +| **2.1.2** Отсутствие ловушки для клавиатурного фокуса (No Keyboard Trap) | Поддерживается | `Tab` на последней ячейке и `Shift`+`Tab` на первой ячейке листа выводят фокус из ячеек на следующую или предыдущую часть страницы, а `Ctrl`+`F6` перемещает его между частями Spreadsheet. В редакторе списка `Tab` завершает редактирование, а `Esc` отменяет его, в том числе после использования стрелок. `Esc` и `Tab` закрывают всплывающие окна панели инструментов и возвращают фокус на их кнопки. | +| **2.1.4** Горячие клавиши из одного символа (Character Key Shortcuts) | Поддерживается | Каждое сочетание клавиш использует клавишу-модификатор (`Ctrl`, `Alt`, `Shift`) или нечисловую (не символьную) клавишу (`F2`, `F6`, `F10`, `F11`, `Enter`, `Esc`, `Delete`, стрелки). Ввод символа в ячейке записывает его в ячейку, в чем и состоит назначение ячейки, и не запускает команду. | +| **2.2.1** Настраиваемое время (Timing Adjustable) | Не применимо | Продукт не устанавливает ограничений по времени. | +| **2.2.2** Пауза, остановка, скрытие (Pause, Stop, Hide) | Поддерживается | Нет автоматически обновляемого, движущегося, мигающего или прокручиваемого содержимого. Ни одна анимация не длится дольше 5 секунд. | +| **2.3.1** Не более трех вспышек или ниже порогового значения (Three Flashes or Below Threshold) | Поддерживается | Продукт не содержит мигающего содержимого. | +| **2.4.1** Обход блоков (Bypass Blocks) | Не применимо | Относится к уровню страницы; механизмы обхода блоков находятся в ведении хост-приложения. | +| **2.4.2** Заголовок страницы (Page Titled) | Не применимо | За заголовки страниц отвечает хост-приложение. | +| **2.4.3** Порядок фокуса (Focus Order) | Поддерживается | Ячейки образуют одну точку табуляции на активной ячейке, а панель инструментов, строка меню и вкладки листов - по одной точке табуляции каждая, в визуальном порядке. `Tab` покидает лист на последней и первой ячейке. Диалоговые окна забирают фокус, удерживают `Tab` внутри и возвращают фокус на активную ячейку при закрытии; меню, контекстные меню и всплывающие окна возвращают фокус на элемент, который их открыл, а после применения цвета текста или фона фокус возвращается на активную ячейку. Когда активная ячейка получает фокус, она прокручивается в область видимости. | +| **2.4.4** Назначение ссылки (в контексте) (Link Purpose (In Context)) | Поддерживается | Ссылка в ячейке отображается как элемент ``, текстом которого служит текст ссылки, заданный автором, или адрес. Текст ячейки дополняется словом "link", когда ячейка выделена, а `Alt`+`Enter` открывает ссылку. | +| **2.5.1** Жесты указателя (Pointer Gestures) | Поддерживается | Ни одна операция не требует жеста с несколькими точками касания или жеста по траектории; у каждой операции перетаскивания есть альтернатива без перетаскивания (см. 2.5.7). | +| **2.5.2** Отмена указателя (Pointer Cancellation) | Поддерживается | Изменение размера столбцов и строк и маркер заполнения применяются при отпускании, и одна отмена (undo) возвращает каждое из этих действий. Команды панели инструментов, меню и вкладок листов выполняются по `click`. | +| **2.5.3** Метка в имени (Label in Name) | Поддерживается | Элементы управления с видимым текстом используют этот текст в качестве доступного имени: пункты меню, команды контекстного меню, вкладки листов и кнопки диалоговых окон. Кнопки со значками получают имя из подсказки, а кнопки цвета - из подсказки с добавлением названия цвета. | +| **2.5.4** Активация движением (Motion Actuation) | Не применимо | Никакая функциональность не управляется движением устройства или движением пользователя. | +| **3.1.1** Язык страницы (Language of Page) | Не применимо | Язык документа (``) задается хост-приложением. | +| **3.2.1** При получении фокуса (On Focus) | Поддерживается | Получение фокуса никогда не меняет контекст. Щелчок по букве столбца, номеру строки или угловой ячейке выделяет линии и оставляет фокус на активной ячейке. | +| **3.2.2** При вводе (On Input) | Поддерживается | Изменение значения не меняет контекст. Редактирование ячейки, выбор значения из списка или ввод в панели поиска обновляют лист на месте, в чем и состоит документированное назначение этих элементов управления. | +| **3.2.6** Единообразная помощь (Consistent Help) (только 2.2) | Не применимо | Виджет не предоставляет механизма помощи; это вопрос уровня страницы. | +| **3.3.1** Определение ошибки (Error Identification) | Поддерживается | Ошибки формул и недопустимые значения списка описываются в содержимом ячейки, например "Reference error. Check the cell references" и "Invalid value. Choose a value from the list". Новые ошибки формул и недопустимые значения, возникшие при редактировании, озвучиваются через live-регион, а редактор с недопустимым значением имеет `aria-invalid="true"`. | +| **3.3.2** Метки или инструкции (Labels or Instructions) | Поддерживается | Редактор ячейки называется "Cell editor, B7", а строка формул - "Formula bar, B7", с адресом редактируемой ячейки. Поля диалоговых окон имеют метки, например "Width in pixels", а кнопки панели поиска называются "Previous match", "Next match" и "Close search". | +| **3.3.7** Повторный ввод (Redundant Entry) (только 2.2) | Поддерживается | Продукт не содержит многошагового процесса, запрашивающего уже введенную информацию. | +| **4.1.2** Имя, роль, значение (Name, Role, Value) | Поддерживается | Каждая часть предоставляет роль, свои состояния и имя из локали: ячейки (`grid`, `row`, `gridcell`, `columnheader`, `rowheader`, `aria-selected`, `aria-readonly`), панели инструментов и строка меню (`toolbar`, `menubar`), кнопки форматирования, Lock и Filter и вкладки листов (`aria-pressed`), пункты форматирования строки меню (`menuitemcheckbox`, `aria-checked`) и взаимоисключающие форматы (`menuitemradio`, `aria-checked`). Предупреждения имеют роль `alertdialog` с `aria-modal="true"`. Редактор списка является `combobox`, управляющим `listbox`, с `aria-expanded` и `aria-activedescendant`. | + +### Таблица 2: Критерии успеха, уровень AA {#table-2-success-criteria-level-aa} + +| Критерий | Уровень соответствия | Примечания и пояснения | +|---|---|---| +| **1.2.4** Субтитры (прямая трансляция) (Captions (Live)) | Не применимо | Нет мультимедиа в прямом эфире. | +| **1.2.5** Аудиоописание (запись) (Audio Description (Prerecorded)) | Не применимо | Нет записанного видео. | +| **1.3.4** Ориентация (Orientation) | Поддерживается | Содержимое не ограничено одной ориентацией экрана. | +| **1.3.5** Определение назначения полей ввода (Identify Input Purpose) | Не применимо | Редакторы продукта собирают данные документа, а не личную информацию самого пользователя, на которую распространяется список назначений полей ввода WCAG. | +| **1.4.3** Контрастность (минимальная) (Contrast (Minimum)) | Поддерживается | Темы `contrast-light` и `contrast-dark` соответствуют AA: ни один текст продукта не имеет контрастность ниже 4.5:1 ни в одной из тем, при открытых панели поиска, редакторе списка, диалоговом окне ширины столбца и предупреждении. Цвета ссылок на ячейки в формулах имеют контрастность от 4.59:1 до 7.04:1 в светлой теме и теме `contrast-light`, и от 7.62:1 до 12.26:1 в темных темах. В светлой теме по умолчанию вторичный текст, например метки полей диалоговых окон и текст предупреждений, имеет контрастность около 3.95:1. Для соответствия критерию необходимо выбрать одну из контрастных тем, и одного поддерживаемого способа достаточно. | +| **1.4.4** Изменение размера текста (Resize Text) | Поддерживается | Размер текста можно увеличить до 200% без потери содержимого или функциональности; панель инструментов, строка формул, вкладки листов и диалоговые окна остаются пригодными для использования. | +| **1.4.5** Изображение текста (Images of Text) | Поддерживается | Весь текст отображается как настоящий текст. Значки являются шрифтовыми глифами; продукт не использует растровых изображений. | +| **1.4.10** Перестроение (Reflow) | Поддерживается | Ячейки представляют собой двумерное содержимое, на которое требование перестроения не распространяется, и прокручиваются как по горизонтали, так и по вертикали. Панель инструментов, строка меню и вкладки листов умещаются в ширину 320 CSS px. | +| **1.4.11** Контрастность нетекстового содержимого (Non-text Contrast) | Поддерживается | Индикаторы фокуса ячеек, строки формул и элементов управления панелей имеют ширину 2 px и отрисовываются цветами темы; приведенные ниже коэффициенты даны для тем по умолчанию (светлой), `contrast-light`, темной и `contrast-dark`. Активная ячейка обозначена сплошной рамкой 2 px цвета `--dhx-color-primary`: около 3.9:1, 7.7:1, 3.4:1 и 5.3:1 относительно фона ячейки. Ячейка и редактор ячейки, находящиеся в фокусе клавиатуры, получают контур 2 px того же цвета с теми же коэффициентами, а внутри выделенного диапазона - около 3.3:1, 6.0:1, 3.1:1 и 4.2:1. Строка формул получает контур 2 px цвета `--dhx-spreadsheet-focus-color`: около 3.9:1, 7.7:1, 5.3:1 и 6.5:1 относительно ее фона. Элементы управления панели инструментов, строки меню и вкладок листов получают такой же контур: около 3.7:1, 7.2:1, 3.9:1 и 4.9:1 относительно фона панели. Все значения превышают требование 3:1. | +| **1.4.12** Межстрочные и межбуквенные интервалы (Text Spacing) | Поддерживается | При применении переопределений интервалов текста по WCAG ни одна метка элемента управления не обрезается; панель вкладок листов прокручивается, когда вкладки увеличиваются. | +| **1.4.13** Содержимое при наведении или фокусе (Content on Hover or Focus) | Поддерживается | Подсказки панели инструментов остаются открытыми при наведении и закрываются клавишей `Esc` без перемещения указателя или фокуса. Подсказка о недопустимом значении сообщает об ошибке ввода, остается, пока ячейка активна, и убирается клавишей `Esc`. | +| **2.4.5** Несколько способов (Multiple Ways) | Не применимо | Относится к поиску страниц в наборе веб-страниц; выходит за рамки одного встроенного компонента (вопрос хост-приложения). | +| **2.4.6** Заголовки и метки (Headings and Labels) | Поддерживается | Основные части получают доступные имена из локали: "Spreadsheet" (сетка), "Formatting" (панель инструментов), "Borders", "Search" и "Link" (панели инструментов всплывающего окна Border, панели поиска и всплывающего окна ссылки), "Main" (строка меню), "Cell" и "Sheet" (контекстные меню ячеек и вкладок листов), "Sheets" (панель вкладок листов), "Formula bar, B7" (строка формул) и "Cell editor, B7" (редактор ячейки). Угловая ячейка выделения всех ячеек называется "Select all", панель поиска называется "Search", а ее кнопки - "Previous match", "Next match" и "Close search", кнопка добавления листа называется "Add sheet", а остальные диалоговые окна названы по своим заголовкам. | +| **2.4.7** Видимость фокуса (Focus Visible) | Поддерживается | Расположение фокуса клавиатуры видно всегда. Активная ячейка всегда имеет сплошную рамку 2 px, а ячейка или редактор ячейки в фокусе имеет контур 2 px, оба основного цвета темы. Строка формул и элементы управления панели инструментов, строки меню, вкладок листов, всплывающего окна Border, всплывающего окна ссылки и панели поиска показывают кольцо фокуса 2 px цвета `--dhx-spreadsheet-focus-color`. В палитре цветов, списке стилей границ, выпадающих списках панели инструментов и строки меню и в контекстных меню элемент в фокусе имеет пунктирный контур 1 px. В редакторе списка элемент в фокусе выделяется цветом фона. Индикатор фокуса отображается в каждой встроенной теме. | +| **2.4.11** Фокус не скрыт (минимум) (Focus Not Obscured (Minimum)) (только 2.2) | Поддерживается | Активная ячейка прокручивается в область видимости рядом с закрепленными строками и столбцами, поэтому она никогда не оказывается за закрепленной областью. | +| **2.5.7** Перетаскивание (Dragging Movements) (только 2.2) | Поддерживается | Для выделения диапазона есть `Shift`+стрелки и `Ctrl`+`Space`/`Shift`+`Space`. Ширина столбца и высота строки задаются командами *Column width* и *Row height* контекстного меню с возможностью отмены. Скрытые строки и столбцы показываются с помощью `Ctrl`+`Shift`+`9`/`0` и команд *Show rows*/*Show columns*. Заполнение ячеек доступно через событие [`groupFill`](api/spreadsheet_groupfill_event.md), которое можно привязать к команде контекстного меню. | +| **2.5.8** Размер цели (минимум) (Target Size (Minimum)) (только 2.2) | Поддерживается частично | Маркер заполнения имеет размер 12 x 12 CSS px. У маркеров изменения размера столбцов и строк есть эквивалентные элементы управления - команды *Column width* и *Row height*. Угловая ячейка выделения всех ячеек - это угловая ячейка заголовка размером 40 x 32 CSS px, а элементы управления панели инструментов и меню больше 24 x 24 CSS px. | +| **3.1.2** Язык частей (Language of Parts) | Не применимо | Виджет не смешивает языки в своем содержимом; язык определяется хост-приложением. | +| **3.2.3** Единообразная навигация (Consistent Navigation) | Не применимо | Относится к набору веб-страниц; вопрос хост-приложения. | +| **3.2.4** Единообразное определение (Consistent Identification) | Поддерживается | Команды с одинаковой функцией имеют одинаковые имена и значки в панели инструментов, строке меню и контекстном меню, а также одинаковые клавиши. | +| **3.3.3** Рекомендации по исправлению ошибок (Error Suggestion) | Поддерживается | Описания ошибок предлагают исправление: "Check the cell references" для ошибки ссылки и "Choose a value from the list" для недопустимого значения списка. | +| **3.3.4** Предотвращение ошибок (юридические, финансовые, данные) (Error Prevention (Legal, Financial, Data)) | Поддерживается | Любое изменение данных можно отменить (`Ctrl`+`Z`) и повторить. Хост-приложение дополнительно может отменить любое действие через событие [`beforeAction`](api/spreadsheet_beforeaction_event.md). | +| **3.3.8** Доступная аутентификация (минимум) (Accessible Authentication (Minimum)) (только 2.2) | Не применимо | Продукт не выполняет аутентификацию. | +| **4.1.3** Сообщения о статусе (Status Messages) | Поддерживается | Изменения статуса озвучиваются без перемещения фокуса через визуально скрытый live-регион за пределами сетки (`role="status"`, `aria-live="polite"`, `aria-atomic="true"`). Он сообщает о выделенном диапазоне, новых ошибках формул и недопустимых значениях, отклоненных правках заблокированных ячеек или листа только для чтения, результатах поиска, начале и завершении импорта и экспорта, новой ширине столбцов и высоте строк, а также о выделении, в котором нет скрытых строк или столбцов для показа. Этот же регион доступен хост-приложению через публичный метод [`announce()`](api/spreadsheet_announce_method.md), а каждое встроенное сообщение локализуется через ключи локали `aria_*`. | + +## Отчет по Revised Section 508 {#revised-section-508-report} + +Положения, соответствующие WCAG, рассматриваются в отчете по WCAG 2.x выше, и здесь даются ссылки на него. Глава 4 (Hardware) +не применима, поскольку DHTMLX Spreadsheet является программным компонентом без аппаратных или физических элементов управления. + +### Глава 3: Критерии функциональной эффективности {#chapter-3-functional-performance-criteria} + +| Критерий | Уровень соответствия | Примечания и пояснения | +|---|---|---| +| 302.1 Без зрения (Without Vision) | Поддерживается | Работа со средством чтения с экрана возможна благодаря модели `grid` с заголовками столбцов и строк, адресу ячейки и описаниям, зачитываемым вместе с каждой ячейкой, именованным панелям инструментов и меню, live-региону и модели работы с клавиатуры. См. WCAG 1.3.1, 2.1.1, 4.1.2, 4.1.3. | +| 302.2 С ограниченным зрением (With Limited Vision) | Поддерживается | Поддерживаются масштабирование, изменение размера текста и перестроение, фокус виден в каждой теме, а контрастность AA обеспечивается темами `contrast-light` / `contrast-dark`. См. WCAG 1.4.3, 1.4.4, 1.4.10, 1.4.11, 2.4.7. | +| 302.3 Без восприятия цвета (Without Perception of Color) | Поддерживается | Никакая информация не передается только цветом: активная ячейка, выделение, совпадения поиска и недопустимые значения дополнительно к цвету обозначаются рамкой, маркером или текстом в ячейке, а кнопки цвета содержат название цвета. См. WCAG 1.4.1. | +| 302.4 Без слуха (Without Hearing) | Поддерживается | Никакая информация не передается звуком. | +| 302.5 С ограниченным слухом (With Limited Hearing) | Поддерживается | Никакая информация не передается звуком. | +| 302.6 Без речи (Without Speech) | Поддерживается | Для работы с продуктом не требуется голосовой ввод. | +| 302.7 С ограниченной подвижностью (With Limited Manipulation) | Поддерживается | Все функции работают с клавиатуры; жесты по траектории не требуются, а у каждой операции перетаскивания есть альтернатива с клавиатуры или командой. См. WCAG 2.1.1, 2.5.1, 2.5.7, 2.5.8. | +| 302.8 С ограниченной досягаемостью и силой (With Limited Reach and Strength) | Поддерживается | Управление с клавиатуры; нет требований к физической досягаемости, усилию или времени. | +| 302.9 С ограниченными языковыми, когнитивными и учебными способностями (With Limited Language, Cognitive, and Learning Abilities) | Поддерживается | Команды имеют одинаковые названия в панели инструментов, меню и контекстном меню, ошибки формул описываются с указанием способа исправления, а каждое изменение можно отменить. См. WCAG 3.2.4, 3.3.3, 3.3.4. | + +### Глава 5: Программное обеспечение {#chapter-5-software} + +| Критерий | Уровень соответствия | Примечания и пояснения | +|---|---|---| +| 501.1 Область применения - включение WCAG 2.0 AA (Scope - Incorporation of WCAG 2.0 AA) | См. раздел WCAG 2.x | См. отчет по WCAG 2.x выше. | +| 502 Совместимость со вспомогательными технологиями (Interoperability with Assistive Technology) | Не применимо | Относится к не веб (платформенному) программному обеспечению. DHTMLX Spreadsheet - это веб-контент, который предоставляет браузеру стандартные DOM и ARIA в дереве доступности; совместимость охватывается результатами WCAG (Clause 9 / 501.1). | +| 503 Приложения (Applications) | Не применимо | Относится к не веб-платформенному программному обеспечению; продукт является веб-контентом. | +| 504 Инструменты разработки контента (Authoring Tools) | Не применимо | DHTMLX Spreadsheet не является инструментом создания веб-контента: он редактирует данные электронных таблиц, а не веб-контент, значимый для доступности. | + +### Глава 6: Сопроводительная документация и услуги {#chapter-6-support-documentation-and-services} + +| Критерий | Уровень соответствия | Примечания и пояснения | +|---|---|---| +| 602.2 Функции доступности и совместимости (Accessibility and Compatibility Features) | Поддерживается | Документация описывает функции доступности продукта: руководство [Доступность](accessibility.md) охватывает модель WAI-ARIA, модель работы с клавиатуры, режим только для чтения и параметр выделения, темы и индикатор фокуса, API [`announce()`](api/spreadsheet_announce_method.md) и [локализуемые строки `aria_*`](accessibility.md#localization); [список горячих клавиш](hotkeys.md) перечисляет все сочетания клавиш. | +| 602.3 Электронная сопроводительная документация (Electronic Support Documentation) | Поддерживается (см. раздел WCAG 2.x) | Сайт документации предоставляется как веб-контент и поддерживается в соответствии с WCAG 2.2 AA. | +| 602.4 Альтернативные форматы для неэлектронной сопроводительной документации (Alternate Formats for Non-Electronic Support Documentation) | Не применимо | Документация предоставляется только в электронном виде; неэлектронных (печатных) сопроводительных документов нет. | +| 603.2 Информация о функциях доступности и совместимости (Information on Accessibility and Compatibility Features) | Поддерживается | Функции доступности продукта публично описаны в руководстве [Доступность](accessibility.md) и могут быть предоставлены службой поддержки по запросу. | +| 603.3 Учет коммуникационных потребностей (Accommodation of Communication Needs) | Поддерживается | Поддержка предоставляется по текстовому каналу электронной почты; пользователи работают со своими собственными вспомогательными технологиями. | + +## Отчет по EN 301 549 {#en-301-549-report} + +Раздел 9 (Web) напрямую соответствует отчету по WCAG 2.x выше и является основной оценкой для этого веб-продукта. +Разделы, касающиеся телефонии, видео и оборудования (разделы 6, 7, 8, 13), не применимы. + +### Раздел 4: Описание функциональной эффективности {#clause-4-functional-performance-statements} + +Эти пункты повторяют результаты главы 3 Section 508 (те же выводы). + +| Критерий | Уровень соответствия | Примечания и пояснения | +|---|---|---| +| 4.2.1 Использование без зрения (Usage without vision) | Поддерживается | См. 508 302.1 (работа со средством чтения с экрана через модель grid, описания ячеек, именованные элементы управления, live-регион и модель работы с клавиатуры). | +| 4.2.2 Использование с ограниченным зрением (Usage with limited vision) | Поддерживается | См. 508 302.2 (контрастность AA через контрастные темы, видимый фокус в каждой теме; поддерживаются масштабирование и перестроение). | +| 4.2.3 Использование без восприятия цвета (Usage without perception of colour) | Поддерживается | См. 508 302.3 (каждый цветовой признак сопровождается рамкой, маркером или текстом). | +| 4.2.4 Использование без слуха (Usage without hearing) | Поддерживается | Никакая информация не передается звуком. | +| 4.2.5 Использование с ограниченным слухом (Usage with limited hearing) | Поддерживается | Никакая информация не передается звуком. | +| 4.2.6 Использование при отсутствии или ограниченных голосовых возможностях (Usage with no or limited vocal capability) | Поддерживается | Голосовой ввод не требуется. | +| 4.2.7 Использование с ограниченной подвижностью или силой (Usage with limited manipulation or strength) | Поддерживается | См. 508 302.7 (управление с клавиатуры, без жестов, альтернативы для каждой операции перетаскивания). | +| 4.2.8 Использование с ограниченной досягаемостью (Usage with limited reach) | Поддерживается | Нет требований к физической досягаемости (программный компонент). | +| 4.2.9 Минимизация триггеров фотосенситивных приступов (Minimize photosensitive seizure triggers) | Поддерживается | Нет мигающего содержимого (см. WCAG 2.3.1). | +| 4.2.10 Использование с ограниченными когнитивными, языковыми или учебными способностями (Usage with limited cognition, language or learning) | Поддерживается | См. 508 302.9 (единообразные названия команд, описанные ошибки, обратимые изменения). | +| 4.2.11 Конфиденциальность (Privacy) | Поддерживается | Функции доступности используют тот же интерфейс, что и для всех остальных; отдельного, менее конфиденциального режима нет. | + +### Раздел 5: Общие требования {#clause-5-generic-requirements} + +**В основном не применимо.** Раздел 5 посвящен закрытой функциональности и требованиям аппаратного типа. DHTMLX +Spreadsheet - это открытое веб-программное обеспечение, которое работает с вспомогательными технологиями платформы и браузера, поэтому +подразделы о закрытой функциональности, биометрии (5.3), управляемых частях (5.5) и состоянии блокировки/переключателей +(5.6) не применимы. Если общее требование выполняется за счет обычной поддержки вспомогательных технологий, оно +охватывается разделом 9 (Web) и результатами WCAG. + +### Раздел 9: Web {#clause-9-web} + +**См. раздел WCAG 2.x.** Пункты 9.1.1.1-9.4.1.3 соответствуют результатам WCAG 2.2 уровней A/AA в таблицах 1 +и 2 выше. + +### Раздел 11: Программное обеспечение {#clause-11-software} + +**Не применимо (оценивается по разделу 9).** DHTMLX Spreadsheet - это веб-контент, оцениваемый по разделу 9 (Web); +он не является не веб программным обеспечением. Положения о программном обеспечении, соответствующие WCAG (11.1.1.1-11.4.1.3), охватываются результатами +WCAG 2.x. Пункт 11.8 (Инструменты разработки контента) не применим, поскольку продукт не является инструментом разработки контента. + +### Раздел 12: Документация и службы поддержки {#clause-12-documentation-and-support-services} + +| Критерий | Уровень соответствия | Примечания и пояснения | +|---|---|---| +| 12.1.1 Функции доступности и совместимости (Accessibility and compatibility features) | Поддерживается | Руководство [Доступность](accessibility.md) описывает функции доступности продукта: модель WAI-ARIA, модель работы с клавиатуры, режим только для чтения и параметр выделения, темы, индикатор фокуса, API [`announce()`](api/spreadsheet_announce_method.md) и [локализуемые строки `aria_*`](accessibility.md#localization). | +| 12.1.2 Доступная документация (Accessible documentation) | Поддерживается (см. раздел WCAG 2.x) | Сайт документации предоставляется как веб-контент и поддерживается в соответствии с WCAG 2.2 AA. | +| 12.2.2 Информация о функциях доступности и совместимости (Information on accessibility and compatibility features) | Поддерживается | Функции доступности публично описаны, и служба поддержки может предоставить информацию о них по запросу. | +| 12.2.3 Эффективная коммуникация (Effective communication) | Поддерживается | Поддержка предоставляется по текстовому каналу электронной почты; пользователи работают со своими собственными вспомогательными технологиями. | +| 12.2.4 Доступная документация (Accessible documentation) | Поддерживается (см. раздел WCAG 2.x) | Та же основа, что и для 12.1.2: сайт документации поддерживается в соответствии с WCAG 2.2 AA. | + +## Правовая оговорка {#legal-disclaimer} + +Этот отчет предоставляется исключительно в информационных целях и описывает доступность указанной +версии продукта на дату отчета. Он предоставляется "как есть", без каких-либо гарантий и не +является договорным обязательством или гарантией. Поддержка доступности может измениться в последующих выпусках, +а результаты относятся к оцененной конфигурации. "VPAT" и "Voluntary Product Accessibility Template" являются +зарегистрированными знаками обслуживания Information Technology Industry Council (ITI). diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/angular_integration.md b/i18n/ru/docusaurus-plugin-content-docs/current/angular_integration.md index 0844d46a..5ef8c060 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/angular_integration.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/angular_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: Интеграция с Angular title: Интеграция с Angular -description: Вы можете узнать об интеграции DHTMLX JavaScript Spreadsheet с Angular в документации. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Используйте DHTMLX Spreadsheet в приложении Angular. Создайте проект, добавьте Spreadsheet как компонент Angular, загрузите данные и обработайте события. --- # Интеграция с Angular {#integration-with-angular} @@ -234,6 +234,10 @@ ngOnDestroy() { } ~~~ +:::info +Метод `destructor()` удаляет обработчики событий, добавленные через `spreadsheet.events.on()`. При создании нового экземпляра Spreadsheet, например при повторном создании компонента, подключите обработчики к новому экземпляру. +::: + ### Шаг 3. Добавление Spreadsheet в приложение {#step-3-adding-spreadsheet-into-the-app} Чтобы добавить компонент `SpreadsheetComponent` в приложение, откройте файл *src/app/app.component.ts* и замените код по умолчанию следующим: diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/api_overview.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/api_overview.md index 02a18015..76277816 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/api_overview.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/api_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Обзор API title: Обзор API -description: Вы можете ознакомиться с обзором API библиотеки DHTMLX JavaScript Spreadsheet в документации. Изучайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: "Обзор API DHTMLX Spreadsheet: конструктор, методы, события, свойства, а также модули Sheet Manager, Selection, Event Bus и экспорта." --- # Обзор API {#api-overview} @@ -27,6 +27,7 @@ const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { | [](api/spreadsheet_addcolumn_method.md) | @getshort(api/spreadsheet_addcolumn_method.md) | | [](api/spreadsheet_addformula_method.md) | @getshort(api/spreadsheet_addformula_method.md) | | [](api/spreadsheet_addrow_method.md) | @getshort(api/spreadsheet_addrow_method.md) | +| [](api/spreadsheet_announce_method.md) | @getshort(api/spreadsheet_announce_method.md) | | [](api/spreadsheet_clear_method.md) | @getshort(api/spreadsheet_clear_method.md) | | [](api/spreadsheet_deletecolumn_method.md) | @getshort(api/spreadsheet_deletecolumn_method.md) | | [](api/spreadsheet_deleterow_method.md) | @getshort(api/spreadsheet_deleterow_method.md) | @@ -99,6 +100,7 @@ const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { | [](api/spreadsheet_multisheets_config.md) | @getshort(api/spreadsheet_multisheets_config.md) | | [](api/spreadsheet_readonly_config.md) | @getshort(api/spreadsheet_readonly_config.md) | | [](api/spreadsheet_rowscount_config.md) | @getshort(api/spreadsheet_rowscount_config.md) | +| [](api/spreadsheet_selection_config.md) | @getshort(api/spreadsheet_selection_config.md) | | [](api/spreadsheet_toolbarblocks_config.md) | @getshort(api/spreadsheet_toolbarblocks_config.md) | @@ -118,8 +120,11 @@ const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { | Название | Описание | | :--------------------------------------------- | :---------------------------------------------------- | +| [](api/selection_disable_method.md) | @getshort(api/selection_disable_method.md) | +| [](api/selection_enable_method.md) | @getshort(api/selection_enable_method.md) | | [](api/selection_getfocusedcell_method.md) | @getshort(api/selection_getfocusedcell_method.md) | | [](api/selection_getselectedcell_method.md) | @getshort(api/selection_getselectedcell_method.md) | +| [](api/selection_isdisabled_method.md) | @getshort(api/selection_isdisabled_method.md) | | [](api/selection_removeselectedcell_method.md) | @getshort(api/selection_removeselectedcell_method.md) | | [](api/selection_setfocusedcell_method.md) | @getshort(api/selection_setfocusedcell_method.md) | | [](api/selection_setselectedcell_method.md) | @getshort(api/selection_setselectedcell_method.md) | diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md index d188039b..04a43bc5 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md @@ -1,7 +1,7 @@ --- sidebar_label: detach() title: Метод detach -description: Вы можете узнать о Event Bus методе detach в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Отсоедините обработчик события, подключённый методом on(), от DHTMLX Spreadsheet с помощью метода events.detach() по имени события. --- # detach() @@ -23,7 +23,7 @@ detach(name: string): void; ### Пример {#example} ~~~jsx {10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md index 17b4a165..020fd96f 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md @@ -1,7 +1,7 @@ --- sidebar_label: fire() title: Метод fire -description: Вы можете узнать о Event Bus методе fire в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Вызовите внутреннее событие DHTMLX Spreadsheet с помощью метода events.fire(), передав имя события и массив его данных. --- # fire() @@ -32,7 +32,7 @@ fire(name: string, arguments: array): boolean; ### Пример {#example} ~~~jsx {10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md index 67495bf2..619e5be0 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md @@ -1,7 +1,7 @@ --- sidebar_label: on() title: Метод on -description: Вы можете узнать о Event Bus методе on в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Подключите обработчик к внутреннему событию DHTMLX Spreadsheet с помощью метода events.on(), например, чтобы реагировать на изменение стиля ячейки. --- # on() @@ -24,7 +24,7 @@ on(name: string, callback: function): void; ### Пример {#example} ~~~jsx {6-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/export_json_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/export_json_method.md index 2433dbc1..49b0847a 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/export_json_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/export_json_method.md @@ -1,7 +1,7 @@ --- sidebar_label: json() title: Метод экспорта json -description: Вы можете узнать о методе экспорта json в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Экспортируйте данные DHTMLX Spreadsheet в файл JSON с помощью метода export.json(). --- # json() @@ -19,7 +19,7 @@ json(): void; ### Пример {#example} ~~~jsx {7} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md index f48da645..821a8cc7 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md @@ -1,7 +1,7 @@ --- sidebar_label: xlsx() title: Метод экспорта xlsx -description: Вы можете узнать о методе экспорта xlsx в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Экспортируйте данные DHTMLX Spreadsheet в файл Excel (.xlsx) с помощью метода export.xlsx(), при необходимости задав имя файла. --- # xlsx() @@ -23,7 +23,7 @@ xlsx(name:string): void; ### Пример {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md index ecb41206..e1b6f90a 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Действия Spreadsheet title: Обзор действий -description: Вы можете ознакомиться с обзором действий библиотеки DHTMLX JavaScript Spreadsheet в документации. Изучайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Обзор действий DHTMLX Spreadsheet и полный список действий, которые можно обработать в событиях beforeAction и afterAction. --- # Обзор действий {#actions-overview} @@ -67,8 +67,8 @@ spreadsheet.events.on("beforeColumnAdd", function(cell){ | **merge** | Действие выполняется при объединении диапазона ячеек | | **removeCellStyles** | Действие выполняется при очистке стилей ячейки | | **renameSheet** | Действие выполняется при переименовании листа | -| **resizeCol** | Действие выполняется при изменении ширины столбца | -| **resizeRow** | Действие выполняется при изменении высоты строки | +| **resizeCol** | Действие выполняется при изменении ширины столбца перетаскиванием его границы или командой *Column width* | +| **resizeRow** | Действие выполняется при изменении высоты строки перетаскиванием её границы или командой *Row height* | | **setCellFormat** | Действие выполняется при изменении формата ячейки | | **setCellValue** | Действие выполняется при изменении или удалении значения ячейки | | **setValidation** | Действие выполняется при установке правил проверки данных для ячейки | @@ -78,6 +78,13 @@ spreadsheet.events.on("beforeColumnAdd", function(cell){ | **toggleFreeze** | Действие выполняется при закреплении/откреплении столбцов/строк | | **unmerge** | Действие выполняется при разъединении ячеек | +:::note +В объекте `config` событий [`beforeAction`](api/spreadsheet_beforeaction_event.md) и [`afterAction`](api/spreadsheet_afteraction_event.md) действия **resizeCol** и **resizeRow** передают: + +- `cell` - ячейка или диапазон ячеек, ширина столбцов или высота строк которых изменяется +- `val` - новая ширина или высота в пикселях. Задаётся только для команд *Column width* и *Row height*, но не при изменении размера перетаскиванием +::: + **Журнал изменений:** - Действия **toggleFreeze** и **toggleVisibility** добавлены в v5.2 diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md index ef410a2e..7636f498 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Обзор Event Bus методов title: Обзор Event Bus методов -description: Вы можете ознакомиться с обзором Event Bus методов библиотеки DHTMLX JavaScript Spreadsheet в документации. Изучайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Список методов шины событий DHTMLX Spreadsheet, которые подключают, отсоединяют и вызывают события. --- # Обзор Event Bus методов {#event-bus-methods-overview} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/events_overview.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/events_overview.md index 697b7554..8435c8e3 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/events_overview.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/events_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Обзор событий title: Обзор событий -description: Вы можете ознакомиться с обзором событий библиотеки DHTMLX JavaScript Spreadsheet в документации. Изучайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Список событий DHTMLX Spreadsheet, которые вызываются при действиях, загрузке данных, редактировании ячеек, выделении, установке фокуса и смене листа. --- # Обзор событий {#events-overview} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/export_overview.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/export_overview.md index 49f4ed2d..80efa911 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/export_overview.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/export_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Обзор методов экспорта title: Обзор методов экспорта -description: Вы можете ознакомиться с обзором методов экспорта библиотеки DHTMLX JavaScript Spreadsheet в документации. Изучайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Список методов модуля экспорта DHTMLX Spreadsheet, которые сохраняют данные в файл JSON или Excel (.xlsx). --- # Обзор методов экспорта {#export-methods-overview} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md index f5af75e0..737d8131 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Обзор методов title: Обзор методов -description: Вы можете ознакомиться с обзором методов библиотеки DHTMLX JavaScript Spreadsheet в документации. Изучите руководства разработчика и справочник по API, ознакомьтесь с примерами кода и живыми демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Список методов DHTMLX Spreadsheet для загрузки и сохранения данных, редактирования ячеек, стилизации, объединения, сортировки, фильтрации и управления листами. --- # Обзор методов {#methods-overview} @@ -11,6 +11,7 @@ description: Вы можете ознакомиться с обзором мет | [](api/spreadsheet_addcolumn_method.md) | @getshort(../spreadsheet_addcolumn_method.md) | | [](api/spreadsheet_addformula_method.md) | @getshort(../spreadsheet_addformula_method.md) | | [](api/spreadsheet_addrow_method.md) | @getshort(../spreadsheet_addrow_method.md) | +| [](api/spreadsheet_announce_method.md) | @getshort(../spreadsheet_announce_method.md) | | [](api/spreadsheet_clear_method.md) | @getshort(../spreadsheet_clear_method.md) | | [](api/spreadsheet_deletecolumn_method.md) | @getshort(../spreadsheet_deletecolumn_method.md) | | [](api/spreadsheet_deleterow_method.md) | @getshort(../spreadsheet_deleterow_method.md) | diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md index f56976eb..ae330e5a 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Обзор свойств title: Обзор свойств -description: Вы можете ознакомиться с обзором свойств библиотеки DHTMLX JavaScript Spreadsheet в документации. Изучите руководства разработчика и справочник по API, ознакомьтесь с примерами кода и живыми демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Список параметров конфигурации DHTMLX Spreadsheet, которые настраивают панель инструментов, меню, режим только для чтения, выделение, размер сетки и другое. --- # Обзор свойств {#properties-overview} @@ -18,4 +18,5 @@ description: Вы можете ознакомиться с обзором сво | [](api/spreadsheet_multisheets_config.md) | @getshort(../spreadsheet_multisheets_config.md) | | [](api/spreadsheet_readonly_config.md) | @getshort(../spreadsheet_readonly_config.md) | | [](api/spreadsheet_rowscount_config.md) | @getshort(../spreadsheet_rowscount_config.md) | +| [](api/spreadsheet_selection_config.md) | @getshort(../spreadsheet_selection_config.md) | | [](api/spreadsheet_toolbarblocks_config.md) | @getshort(../spreadsheet_toolbarblocks_config.md) | diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md index 71c85b16..7db7e87c 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md @@ -1,15 +1,18 @@ --- sidebar_label: Обзор методов Selection title: Обзор методов Selection -description: Вы можете ознакомиться с обзором методов Selection библиотеки DHTMLX JavaScript Spreadsheet в документации. Изучите руководства разработчика и справочник по API, ознакомьтесь с примерами кода и живыми демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Список методов модуля выделения DHTMLX Spreadsheet, которые выделяют ячейки, устанавливают фокус, а также отключают и включают выделение ячеек. --- # Обзор методов Selection {#selection-methods-overview} | Название | Описание | | :--------------------------------------------- | :---------------------------------------------------- | +| [](api/selection_disable_method.md) | @getshort(../selection_disable_method.md) | +| [](api/selection_enable_method.md) | @getshort(../selection_enable_method.md) | | [](api/selection_getfocusedcell_method.md) | @getshort(../selection_getfocusedcell_method.md) | | [](api/selection_getselectedcell_method.md) | @getshort(../selection_getselectedcell_method.md) | +| [](api/selection_isdisabled_method.md) | @getshort(../selection_isdisabled_method.md) | | [](api/selection_removeselectedcell_method.md) | @getshort(../selection_removeselectedcell_method.md) | | [](api/selection_setfocusedcell_method.md) | @getshort(../selection_setfocusedcell_method.md) | | [](api/selection_setselectedcell_method.md) | @getshort(../selection_setselectedcell_method.md) | diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md index 7fccf85d..bc111e9f 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Обзор API Sheet Manager title: Обзор API Sheet Manager -description: Вы можете ознакомиться с обзором API Sheet Manager библиотеки DHTMLX JavaScript Spreadsheet в документации. Изучите руководства разработчика и справочник по API, ознакомьтесь с примерами кода и живыми демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Список методов менеджера листов DHTMLX Spreadsheet, которые добавляют, удаляют, очищают, получают и переключают листы. --- # Обзор API Sheet Manager {#sheet-manager-api-overview} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_disable_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_disable_method.md new file mode 100644 index 00000000..08b59d01 --- /dev/null +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_disable_method.md @@ -0,0 +1,47 @@ +--- +sidebar_label: disable() +title: Метод disable объекта selection +description: "Отключите выделение ячеек в DHTMLX Spreadsheet во время выполнения с помощью метода selection.disable(): он убирает активную ячейку и игнорирует выделение мышью, клавиатурой и через API." +--- + +# disable() + +### Описание {#description} + +@short: Отключает выделение ячеек + +### Использование {#usage} + +~~~jsx +disable(): void; +~~~ + +### Пример {#example} + +~~~jsx {6} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + // config parameters +}); +spreadsheet.parse(data); + +spreadsheet.selection.disable(); +~~~ + +### Подробности {#details} + +Метод: + +- завершает редактирование ячейки и сохраняет введённое значение +- снимает выделение и убирает активную ячейку на каждом листе +- игнорирует выделение мышью, клавиатурой и через API, пока не будет вызван метод [`enable()`](api/selection_enable_method.md) + +Пока выделение отключено, методы [`getSelectedCell()`](api/selection_getselectedcell_method.md) и [`getFocusedCell()`](api/selection_getfocusedcell_method.md) возвращают `undefined`. Остальные эффекты такие же, как у параметра конфигурации [`selection: false`](api/spreadsheet_selection_config.md#details). + +Если выделение уже отключено, метод ничего не делает. + +**Журнал изменений:** Добавлено в v6.0.4 + +**Связанные статьи:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`enable()`](api/selection_enable_method.md) +- [Доступность: настройка режима только для чтения](accessibility.md#read-only-setup) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_enable_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_enable_method.md new file mode 100644 index 00000000..0a15de33 --- /dev/null +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_enable_method.md @@ -0,0 +1,42 @@ +--- +sidebar_label: enable() +title: Метод enable объекта selection +description: "Снова включите выделение ячеек в DHTMLX Spreadsheet с помощью метода selection.enable(): он делает активной ячейку A1 и вызывает события выделения." +--- + +# enable() + +### Описание {#description} + +@short: Включает выделение ячеек + +### Использование {#usage} + +~~~jsx +enable(): void; +~~~ + +### Пример {#example} + +~~~jsx {7} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // other config parameters +}); +spreadsheet.parse(data); + +spreadsheet.selection.enable(); +~~~ + +### Подробности {#details} + +Метод делает активной ячейку A1 активного листа. Для ячейки A1 вызываются события [`beforeSelectionSet`](api/spreadsheet_beforeselectionset_event.md), [`beforeFocusSet`](api/spreadsheet_beforefocusset_event.md), [`afterFocusSet`](api/spreadsheet_afterfocusset_event.md) и [`afterSelectionSet`](api/spreadsheet_afterselectionset_event.md). + +Если выделение уже включено, метод ничего не делает. + +**Журнал изменений:** Добавлено в v6.0.4 + +**Связанные статьи:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`disable()`](api/selection_disable_method.md) +- [Доступность: настройка режима только для чтения](accessibility.md#read-only-setup) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md index 678f2778..7aec37f2 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFocusedCell() title: Метод getFocusedCell объекта selection -description: Вы можете узнать о методе getFocusedCell объекта selection в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучите руководства разработчика и справочник по API, ознакомьтесь с примерами кода и живыми демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Получите идентификатор ячейки в фокусе (активной ячейки) в DHTMLX Spreadsheet с помощью метода selection.getFocusedCell(). --- # getFocusedCell() @@ -23,7 +23,7 @@ getFocusedCell(): string; ### Пример {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // параметры конфигурации }); spreadsheet.parse(data); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md index d929801d..ccaf2bde 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getSelectedCell() title: Метод getSelectedCell объекта selection -description: Вы можете узнать о методе getSelectedCell объекта selection в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучите руководства разработчика и справочник по API, ознакомьтесь с примерами кода и живыми демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Получите идентификаторы или диапазоны выделенных ячеек в DHTMLX Spreadsheet с помощью метода selection.getSelectedCell(). --- # getSelectedCell() @@ -23,7 +23,7 @@ getSelectedCell(): string; ### Пример {#example} ~~~jsx {8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // параметры конфигурации }); spreadsheet.parse(data); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_isdisabled_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_isdisabled_method.md new file mode 100644 index 00000000..6876584a --- /dev/null +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_isdisabled_method.md @@ -0,0 +1,41 @@ +--- +sidebar_label: isDisabled() +title: Метод isDisabled объекта selection +description: Проверьте, отключено ли выделение ячеек в DHTMLX Spreadsheet, с помощью метода selection.isDisabled(). +--- + +# isDisabled() + +### Описание {#description} + +@short: Проверяет, отключено ли выделение ячеек + +### Использование {#usage} + +~~~jsx +isDisabled(): boolean; +~~~ + +### Возвращаемое значение {#returns} + +Метод возвращает `true`, если выделение отключено, и `false` в противном случае + +### Пример {#example} + +~~~jsx {7} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // other config parameters +}); +spreadsheet.parse(data); + +const disabled = spreadsheet.selection.isDisabled(); // -> true +~~~ + +**Журнал изменений:** Добавлено в v6.0.4 + +**Связанные статьи:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`enable()`](api/selection_enable_method.md) +- [`disable()`](api/selection_disable_method.md) +- [Доступность: настройка режима только для чтения](accessibility.md#read-only-setup) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md index 203877e0..d865e7ad 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: removeSelectedCell() title: Метод removeSelectedCell объекта selection -description: Вы можете узнать о методе removeSelectedCell объекта selection в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучите руководства разработчика и справочник по API, ознакомьтесь с примерами кода и живыми демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Снимите выделение с указанных ячеек или диапазонов ячеек в DHTMLX Spreadsheet с помощью метода selection.removeSelectedCell(). --- # removeSelectedCell() @@ -23,7 +23,7 @@ removeSelectedCell(cell: string): void; ### Пример {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // параметры конфигурации }); spreadsheet.parse(data); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md index 39525013..09ec68bd 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFocusedCell() title: Метод setFocusedCell объекта selection -description: Вы можете узнать о методе setFocusedCell объекта selection в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучите руководства разработчика и справочник по API, ознакомьтесь с примерами кода и живыми демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Сделайте ячейку активной и переместите на неё фокус клавиатуры в DHTMLX Spreadsheet с помощью метода selection.setFocusedCell(). --- # setFocusedCell() @@ -13,17 +13,18 @@ description: Вы можете узнать о методе setFocusedCell об ### Использование {#usage} ~~~jsx -setFocusedCell(cell: string): void; +setFocusedCell(cell: string, scroll?: boolean): void; ~~~ ### Параметры {#parameters} - `cell` - (обязательный) идентификатор ячейки, на которую нужно установить фокус +- `scroll` - (необязательный) определяет, нужно ли прокручивать Spreadsheet к ячейке, по умолчанию `true` ### Пример {#example} ~~~jsx {6} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // параметры конфигурации }); spreadsheet.parse(data); @@ -31,4 +32,24 @@ spreadsheet.parse(data); spreadsheet.selection.setFocusedCell("D4"); ~~~ -**Полезная статья:** [Работа со Spreadsheet](working_with_ssheet.md) +### Подробности {#details} + +Метод делает указанную ячейку активной и после перерисовки перемещает на неё фокус клавиатуры. Фокус клавиатуры не перемещается, если он находится: + +- в элементе за пределами Spreadsheet +- на панели инструментов, в меню или на вкладках листов, на которые он перешёл с помощью клавиатуры +- в открытом редакторе ячейки + +Если фокус клавиатуры находится на теле страницы, например, сразу после загрузки страницы, метод перемещает его на ячейку. + +Те же правила действуют при любом другом изменении активной ячейки, например, с помощью другого метода API. + +Если обработчик события [`beforeFocusSet`](api/spreadsheet_beforefocusset_event.md) возвращает `false`, активная ячейка не меняется, а фокус клавиатуры не перемещается. + +Метод ничего не делает, пока выделение отключено с помощью параметра конфигурации [`selection: false`](api/spreadsheet_selection_config.md) или метода [`selection.disable()`](api/selection_disable_method.md). + +**Журнал изменений:** Перемещение фокуса клавиатуры на ячейку добавлено в v6.0.4 + +**Полезные статьи:** +- [Работа со Spreadsheet](working_with_ssheet.md) +- [Специальные возможности: навигация с помощью клавиатуры](accessibility.md#keyboard-navigation) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md index c0a8832f..b816591a 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setSelectedCell() title: Метод setSelectedCell объекта selection -description: Вы можете узнать о методе setSelectedCell объекта selection в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучите руководства разработчика и справочник по API, ознакомьтесь с примерами кода и живыми демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Выделите ячейку, несколько ячеек или диапазон ячеек в DHTMLX Spreadsheet с помощью метода selection.setSelectedCell(), при необходимости прокрутив к ним таблицу. --- # setSelectedCell() @@ -13,17 +13,18 @@ description: Вы можете узнать о методе setSelectedCell об ### Использование {#usage} ~~~jsx -setSelectedCell(cell: string): void; +setSelectedCell(cell: string, scroll?: boolean): void; ~~~ ### Параметры {#parameters} - `cell` - (обязательный) идентификатор(ы) или диапазон выбранной(ых) ячейки(ек) +- `scroll` - (необязательный) определяет, нужно ли прокручивать Spreadsheet к ячейке, по умолчанию `true` ### Пример {#example} ~~~jsx {7,10,13} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // параметры конфигурации }); spreadsheet.parse(data); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md index f9ba587e..7cb8ab35 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md @@ -1,7 +1,7 @@ --- sidebar_label: add() title: Метод add -description: Вы можете узнать о методе add объекта Sheet Manager в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучите руководства разработчика и справочник по API, ознакомьтесь с примерами кода и живыми демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Добавьте новый пустой лист в DHTMLX Spreadsheet с помощью метода sheets.add(), который возвращает идентификатор нового листа (требуется опция multiSheets). --- # add() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md index c62413b1..f471da8f 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md @@ -1,7 +1,7 @@ --- sidebar_label: clear() title: метод clear -description: В документации DHTMLX JavaScript Spreadsheet вы можете узнать о методе clear Sheet Manager. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Очистите значения, стили и форматирование листа в DHTMLX Spreadsheet с помощью метода sheets.clear(), не удаляя сам лист. --- # clear() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md index 75729f4b..3826a08c 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md @@ -1,7 +1,7 @@ --- sidebar_label: get() title: метод get -description: В документации DHTMLX JavaScript Spreadsheet вы можете узнать о методе get Sheet Manager. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Получите объект листа по его идентификатору в DHTMLX Spreadsheet с помощью метода sheets.get(). --- # get() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md index 77ae721e..933407e2 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getActive() title: метод getActive -description: В документации DHTMLX JavaScript Spreadsheet вы можете узнать о методе getActive Sheet Manager. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Получите активный (видимый) лист DHTMLX Spreadsheet с помощью метода sheets.getActive(), который возвращает идентификатор и имя листа. --- # getActive() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md index 3ee267de..39f76c8e 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getAll() title: метод getAll -description: В документации DHTMLX JavaScript Spreadsheet вы можете узнать о методе getAll Sheet Manager. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Получите все листы DHTMLX Spreadsheet с помощью метода sheets.getAll(), который возвращает массив объектов с идентификаторами и именами листов. --- # getAll() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md index c64cc11c..fc588d54 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md @@ -1,7 +1,7 @@ --- sidebar_label: remove() title: метод remove -description: В документации DHTMLX JavaScript Spreadsheet вы можете узнать о методе remove Sheet Manager. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Удалите лист по его идентификатору из DHTMLX Spreadsheet с помощью метода sheets.remove(), который оставляет хотя бы один лист и переключается на другой лист при удалении активного. --- # remove() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md index 93562e5d..a4298fec 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setActive() title: метод setActive -description: В документации DHTMLX JavaScript Spreadsheet вы можете узнать о методе setActive Sheet Manager. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Переключите активный (видимый) лист DHTMLX Spreadsheet на лист с указанным идентификатором с помощью метода sheets.setActive(). --- # setActive() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md index 5b541d72..b78b7e60 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addColumn() title: метод addColumn -description: В документации DHTMLX JavaScript Spreadsheet вы можете узнать о методе addColumn. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Добавьте пустой столбец в DHTMLX Spreadsheet с помощью метода addColumn(), который вставляет его на место столбца указанной ячейки и сдвигает существующие столбцы вправо. --- # addColumn() @@ -27,7 +27,7 @@ addColumn(cell: string): void; ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // добавляет пустой столбец "G" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md index 31f57582..47fee087 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addFormula() title: метод addFormula -description: В документации DHTMLX JavaScript Spreadsheet вы можете узнать о методе addFormula. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Зарегистрируйте пользовательскую функцию формулы в DHTMLX Spreadsheet с помощью метода addFormula(), чтобы использовать её в формулах ячеек по имени в верхнем регистре. --- # addFormula() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md index c09c6d34..2e4a61a9 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addRow() title: метод addRow -description: В документации DHTMLX JavaScript Spreadsheet вы можете узнать о методе addRow. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Добавьте пустую строку в DHTMLX Spreadsheet с помощью метода addRow(), который вставляет её на место строки указанной ячейки и сдвигает существующие строки вниз. --- # addRow() @@ -27,7 +27,7 @@ addRow(cell: string): void; ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // добавляет пустую вторую строку diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md index a341d3d7..0ed3cff3 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterAction title: событие afterAction -description: В документации DHTMLX JavaScript Spreadsheet вы можете узнать о событии afterAction. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Обработайте событие afterAction DHTMLX Spreadsheet, которое вызывается после выполнения действия и получает имя действия и его параметры, например, ячейку, новое и предыдущее значения. --- # afterAction @@ -13,7 +13,21 @@ description: В документации DHTMLX JavaScript Spreadsheet вы мо ### Использование {#usage} ~~~jsx -afterAction: (action: string, config: object) => void; +afterAction: ( + action: string, + config: { + action?: string, + cell?: string, + row?: number, + col?: number, + val?: any, + prev?: any, + groupAction?: string, + pageId?: string | number, + pageName?: string, + // other properties of the action + } | object[] +) => void; ~~~ ### Параметры {#parameters} @@ -21,12 +35,23 @@ afterAction: (action: string, config: object) => void; Колбэк события принимает следующие параметры: - `action` - (обязательный) имя действия. Полный список доступных действий смотрите [здесь](api/overview/actions_overview.md#list-of-actions) -- `config` - (обязательный) объект с параметрами действия +- `config` - (обязательный) объект с параметрами действия. Набор свойств зависит от действия. Объект может содержать: + - `action` - (необязательный) имя действия + - `cell` - (необязательный) идентификатор ячейки или диапазона ячеек, к которым применяется действие, например, `"A1"` или `"B2:D5"` + - `row` - (необязательный) индекс строки ячейки, начиная с нуля + - `col` - (необязательный) индекс столбца ячейки, начиная с нуля + - `val` - (необязательный) новое значение, которое применяет действие, например, значение ячейки, стиль или размер + - `prev` - (необязательный) предыдущее значение + - `groupAction` - (необязательный) имя действия, которое выполняется вместо `action`, когда `cell` является диапазоном ячеек, например, `"groupAction"`, `"groupRowAction"` или `"resizeCol"` + - `pageId` - (необязательный) идентификатор листа + - `pageName` - (необязательный) имя листа + + Когда несколько действий выполняются вместе, например, при вставке, параметр `action` равен `"groupAction"`, а `config` - массив таких объектов. ### Пример {#example} ~~~jsx {6-11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // параметры конфигурации }); spreadsheet.parse(dataset); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md index 6a71e926..3bbd0516 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterClear title: Событие afterClear -description: Вы можете узнать о событии afterClear в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Обработайте событие afterClear, которое вызывается после очистки DHTMLX Spreadsheet (устарело с версии v4.3, используйте вместо него событие afterAction). --- # afterClear @@ -33,7 +33,7 @@ afterClear: () => void; ### Пример {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // подписка на событие "afterClear" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md index 6c0acce8..cb51f820 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterDataLoaded title: Событие afterDataLoaded -description: Вы можете узнать о событии afterDataLoaded в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Выполните код после загрузки данных в DHTMLX Spreadsheet с помощью события afterDataLoaded, например, чтобы показать сообщение о завершении загрузки. --- # afterDataLoaded diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md index a20c9cb9..f1eb8755 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterEditEnd title: Событие afterEditEnd -description: Вы можете узнать о событии afterEditEnd в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Обработайте завершение редактирования ячейки в DHTMLX Spreadsheet с помощью события afterEditEnd, которое получает id ячейки и её новое значение. --- # afterEditEnd @@ -26,7 +26,7 @@ afterEditEnd: (cell: string, value: string) => void; ### Пример {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // подписка на событие "afterEditEnd" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md index 61998c24..0cdb1ffa 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterEditStart title: Событие afterEditStart -description: Вы можете узнать о событии afterEditStart в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Обработайте начало редактирования ячейки в DHTMLX Spreadsheet с помощью события afterEditStart, которое получает id ячейки и её значение. --- # afterEditStart @@ -26,7 +26,7 @@ afterEditStart: (cell: string, value: string) => void; ### Пример {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // подписка на событие "afterEditStart" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md index a3565b46..8c2c0667 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterFocusSet title: Событие afterFocusSet -description: Вы можете узнать о событии afterFocusSet в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Отслеживайте ячейку с фокусом в DHTMLX Spreadsheet с помощью события afterFocusSet, которое вызывается после установки фокуса на ячейку и получает её id. --- # afterFocusSet @@ -25,7 +25,7 @@ afterFocusSet: (cell: string) => void; ### Пример {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // подписка на событие "afterFocusSet" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md index 5cc46575..17b3b34b 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterSelectionSet title: Событие afterSelectionSet -description: Вы можете узнать о событии afterSelectionSet в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Обработайте выделение ячеек в DHTMLX Spreadsheet с помощью события afterSelectionSet, которое вызывается после выделения ячеек и получает их id. --- # afterSelectionSet @@ -25,7 +25,7 @@ afterSelectionSet: (cell: string) => void; ### Пример {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // подписка на событие "afterSelectionSet" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md index 7f6eacb9..ca8f4358 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterSheetChange title: Событие afterSheetChange -description: Вы можете узнать о событии afterSheetChange в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Отслеживайте переключение листов в DHTMLX Spreadsheet с помощью события afterSheetChange, которое получает имя и id нового активного листа. --- # afterSheetChange @@ -25,7 +25,7 @@ afterSheetChange: (sheet: object) => void; ### Пример {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // подписка на событие "afterSheetChange" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_announce_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_announce_method.md new file mode 100644 index 00000000..5ecf53b3 --- /dev/null +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_announce_method.md @@ -0,0 +1,67 @@ +--- +sidebar_label: announce() +title: Метод announce +description: Отправьте статусное сообщение пользователям программ чтения с экрана в DHTMLX Spreadsheet с помощью метода announce(), например, чтобы сообщить результат пользовательской команды панели инструментов или меню. +--- + +# announce() + +### Описание {#description} + +@short: Озвучивает сообщение для пользователей программ чтения с экрана + +### Использование {#usage} + +~~~jsx +announce(message: string): void; +~~~ + +### Параметры {#parameters} + +- `message` - (обязательный) текст для озвучивания. Пустая строка очищает сообщение + +### Пример {#example} + +В примере ниже пользовательская команда меню подсчитывает пустые ячейки в выделенном диапазоне и озвучивает результат: + +~~~jsx {18} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + menu: true, + // other config parameters +}); +spreadsheet.parse(data); + +spreadsheet.menu.data.add({ + id: "count-empty", + value: "Count empty cells" +}); + +spreadsheet.menu.events.on("click", function (id) { + if (id === "count-empty") { + let count = 0; + spreadsheet.eachCell(function (cell, value) { + if (value === "" || value === undefined || value === null) count++; + }, spreadsheet.selection.getSelectedCell()); + spreadsheet.announce(count + " empty cells in the selection"); + } +}); +~~~ + +### Подробности {#details} + +Используйте метод, чтобы сообщить пользователям программ чтения с экрана о результате действия, у которого нет собственного видимого элемента, например, пользовательской команды панели инструментов или меню. + +Сообщение попадает в визуально скрытую live-область, расположенную сразу после элемента сетки (`role="status"`, `aria-live="polite"`, `aria-atomic="true"`). Программа чтения с экрана зачитывает его после завершения текущей речи, при этом фокус клавиатуры не перемещается. + +Spreadsheet озвучивает собственные сообщения через ту же область: выделенный диапазон, новые ошибки формул и недопустимые значения, отклонённые правки, результаты поиска, начало и конец импорта и экспорта, а также новую ширину столбцов и высоту строк (см. [список статусных оповещений](accessibility.md#status-announcements)). Область хранит одно сообщение за раз, поэтому следующее сообщение, ваше или встроенное, заменяет предыдущее. + +Если передать текст, который в данный момент находится в области, программа чтения с экрана зачитает его повторно. + +Метод также работает в [режиме только для чтения](api/spreadsheet_readonly_config.md) и при отключённом [выделении](api/spreadsheet_selection_config.md). Он ничего не делает, пока Spreadsheet не добавлен на страницу, и после вызова метода `destructor()`. + +**Журнал изменений:** Добавлено в v6.0.4 + +**Связанные статьи:** +- [Статусные оповещения](accessibility.md#status-announcements) +- [Озвучивание пользовательской команды](accessibility.md#announcing-a-custom-command) +- [Настройка меню](customization.md#menu) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md index 2fa3deb8..807db224 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeAction title: Событие beforeAction -description: Вы можете узнать о событии beforeAction в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Перехватывайте действия в DHTMLX Spreadsheet с помощью события beforeAction, которое получает имя и параметры действия и отменяет его, если обработчик возвращает false. --- # beforeAction @@ -13,7 +13,21 @@ description: Вы можете узнать о событии beforeAction в д ### Использование {#usage} ~~~jsx -beforeAction: (action: string, config: object) => void | boolean; +beforeAction: ( + action: string, + config: { + action?: string, + cell?: string, + row?: number, + col?: number, + val?: any, + prev?: any, + groupAction?: string, + pageId?: string | number, + pageName?: string, + // other properties of the action + } | object[] +) => void | boolean; ~~~ ### Параметры {#parameters} @@ -21,7 +35,18 @@ beforeAction: (action: string, config: object) => void | boolean; Колбэк события принимает следующие параметры: - `action` - (обязательный) имя действия. Полный список доступных действий см. [здесь](api/overview/actions_overview.md#list-of-actions) -- `config` - (обязательный) объект с параметрами действия +- `config` - (обязательный) объект с параметрами действия. Набор свойств зависит от действия. Объект может содержать: + - `action` - (необязательный) имя действия + - `cell` - (необязательный) идентификатор ячейки или диапазона ячеек, к которым применяется действие, например, `"A1"` или `"B2:D5"` + - `row` - (необязательный) индекс строки ячейки, начиная с нуля + - `col` - (необязательный) индекс столбца ячейки, начиная с нуля + - `val` - (необязательный) новое значение, которое применяет действие, например, значение ячейки, стиль или размер + - `prev` - (необязательный) предыдущее значение + - `groupAction` - (необязательный) имя действия, которое выполняется вместо `action`, когда `cell` является диапазоном ячеек, например, `"groupAction"`, `"groupRowAction"` или `"resizeCol"` + - `pageId` - (необязательный) идентификатор листа + - `pageName` - (необязательный) имя листа + + Когда несколько действий выполняются вместе, например, при вставке, параметр `action` равен `"groupAction"`, а `config` - массив таких объектов. ### Возвращаемое значение {#returns} @@ -30,7 +55,7 @@ beforeAction: (action: string, config: object) => void | boolean; ### Пример {#example} ~~~jsx {6-11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // параметры конфигурации }); spreadsheet.parse(dataset); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md index 80d3c28b..7a571f03 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeClear title: Событие beforeClear -description: Вы можете узнать о событии beforeClear в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Запретите очистку DHTMLX Spreadsheet с помощью устаревшего события beforeClear или с помощью заменяющих его события beforeAction и действия clear. --- # beforeClear @@ -38,7 +38,7 @@ beforeClear: () => void | boolean; ### Пример {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // подписка на событие "beforeClear" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md index 95e33315..d7ef12aa 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeEditEnd title: Событие beforeEditEnd -description: Вы можете узнать о событии beforeEditEnd в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Проверьте значение ячейки перед завершением редактирования в DHTMLX Spreadsheet с помощью события beforeEditEnd и верните false, чтобы оставить редактор открытым. --- # beforeEditEnd @@ -30,7 +30,7 @@ beforeEditEnd: (cell: string, value: string) => void | boolean; ### Пример {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // подписка на событие "beforeEditEnd" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md index d08fb05a..07cf187a 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeEditStart title: Событие beforeEditStart -description: Вы можете узнать о событии beforeEditStart в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачивайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Управляйте тем, какие ячейки можно редактировать в DHTMLX Spreadsheet, с помощью события beforeEditStart и верните false, чтобы редактор не открывался. --- # beforeEditStart @@ -30,7 +30,7 @@ beforeEditStart: (cell: string, value: string) => void | boolean; ### Пример {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // подписываемся на событие "beforeEditStart" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md index ce9a6f51..c52ca54b 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeFocusSet title: Событие beforeFocusSet -description: Вы можете узнать о событии beforeFocusSet в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачивайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Управляйте фокусом в DHTMLX Spreadsheet с помощью события beforeFocusSet, которое вызывается перед установкой фокуса на ячейку и отменяет её, если обработчик возвращает false. --- # beforeFocusSet @@ -29,7 +29,7 @@ beforeFocusSet: (cell: string) => void | boolean; ### Пример {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // подписываемся на событие "beforeFocusSet" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md index 7c348779..add04723 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeSelectionSet title: Событие beforeSelectionSet -description: Вы можете узнать о событии beforeSelectionSet в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачивайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Управляйте выделением ячеек в DHTMLX Spreadsheet с помощью события beforeSelectionSet, которое вызывается перед выделением ячеек и отменяет его, если обработчик возвращает false. --- # beforeSelectionSet @@ -29,7 +29,7 @@ beforeSelectionSet: (cell: string) => void | boolean; ### Пример {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // подписываемся на событие "beforeSelectionSet" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md index d7f41e14..ea252f63 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeSheetChange title: Событие beforeSheetChange -description: Вы можете узнать о событии beforeSheetChange в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачивайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Управляйте переключением листов в DHTMLX Spreadsheet с помощью события beforeSheetChange и верните false, чтобы текущий лист остался активным. --- # beforeSheetChange @@ -29,7 +29,7 @@ beforeSheetChange: (sheet: object) => void | boolean; ### Пример {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // подписываемся на событие "beforeSheetChange" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md index 34566548..05692f4d 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md @@ -1,7 +1,7 @@ --- sidebar_label: clear() title: Метод clear -description: Вы можете узнать о методе clear в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачивайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Удалите все данные из DHTMLX Spreadsheet с помощью метода clear(). --- # clear() @@ -19,7 +19,7 @@ clear(): void; ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // очищает таблицу diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md index 1bf95dbd..2d3d41f6 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md @@ -1,7 +1,7 @@ --- sidebar_label: colsCount title: Конфигурация colsCount -description: Вы можете узнать о конфигурации colsCount в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачивайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Задайте количество столбцов, которое DHTMLX Spreadsheet показывает при инициализации, с помощью свойства colsCount. --- # colsCount @@ -19,7 +19,7 @@ colsCount?: number; ### Пример {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { colsCount: 10, // другие параметры конфигурации }); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md index 70ec3ed1..d83b9a2b 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: deleteColumn() title: Метод deleteColumn -description: Вы можете узнать о методе deleteColumn в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачивайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Удалите столбец или диапазон столбцов в DHTMLX Spreadsheet с помощью метода deleteColumn(), включая все столбцы объединённой ячейки. --- # deleteColumn() @@ -11,7 +11,9 @@ description: Вы можете узнать о методе deleteColumn в до @short: Удаляет столбец из таблицы :::info -Метод находит указанную ячейку, выделяет её, удаляет столбец, в котором она расположена, и сдвигает столбец слева на его место. +Метод удаляет столбец, в котором расположена указанная ячейка, и сдвигает столбцы справа от него влево. + +Если ячейка находится внутри объединённой ячейки, метод удаляет каждый столбец, который охватывает объединённая ячейка. ::: ### Использование {#usage} @@ -27,7 +29,7 @@ deleteColumn(cell: string): void; ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // удаляет столбец "G" @@ -35,7 +37,27 @@ spreadsheet.deleteColumn("G2"); ~~~ :::note -Можно удалить несколько столбцов, передав диапазон идентификаторов ячеек в качестве параметра метода, например: "A1:C3". +Можно удалить несколько столбцов, передав диапазон идентификаторов ячеек в качестве параметра метода, например: "A1:C3". Если диапазон затрагивает объединённую ячейку, удаляются столбцы всей объединённой ячейки. Диапазон, который охватывает столбцы целиком, например, "B1:C100" на листе со 100 строками, удаляется как есть. ::: -**Полезная статья:** [Работа с таблицей](working_with_ssheet.md#addingremoving-rows-and-columns) +### Подробности {#details} + +При удалении столбца внутри объединённой ячейки удаляется вся объединённая ячейка со всеми её столбцами: + +~~~jsx +spreadsheet.mergeCells("B2:D2"); + +// removes columns B, C and D +spreadsheet.deleteColumn("C2"); +~~~ + +При удалении столбцов целиком объединённая ячейка, которая их охватывает, уменьшается. Объединённые ячейки справа от удалённых столбцов сдвигаются влево вместе со своими столбцами. Если удалённые столбцы зафиксированы, зафиксированная область уменьшается на количество удалённых зафиксированных столбцов. + +События [`beforeAction`](api/spreadsheet_beforeaction_event.md) и [`afterAction`](api/spreadsheet_afteraction_event.md) для действия `"deleteColumn"` получают ячейку, переданную в метод, а не диапазон удалённых столбцов. + +**Журнал изменений:** Удаление всех столбцов объединённой ячейки добавлено в v6.0.4 + +**Полезные статьи:** +- [Работа со строками и столбцами](work_with_rows_cols.md#removing-columns) +- [Объединение ячеек](merge_cells.md#removing-rows-and-columns-of-merged-cells) +- [Работа с таблицей](working_with_ssheet.md#addingremoving-rows-and-columns) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md index 2f020a5c..10ad2a1c 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md @@ -1,7 +1,7 @@ --- sidebar_label: deleteRow() title: Метод deleteRow -description: Вы можете узнать о методе deleteRow в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачивайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Удалите строку или диапазон строк в DHTMLX Spreadsheet с помощью метода deleteRow(), включая все строки объединённой ячейки. --- # deleteRow() @@ -11,7 +11,9 @@ description: Вы можете узнать о методе deleteRow в док @short: Удаляет строку из таблицы :::info -Метод находит указанную ячейку, выделяет её, удаляет строку, в которой она расположена, и сдвигает строку ниже на её место. +Метод удаляет строку, в которой расположена указанная ячейка, и сдвигает строки ниже неё вверх. + +Если ячейка находится внутри объединённой ячейки, метод удаляет каждую строку, которую охватывает объединённая ячейка. ::: ### Использование {#usage} @@ -27,7 +29,7 @@ deleteRow(cell: string): void; ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // удаляет вторую строку @@ -35,7 +37,27 @@ spreadsheet.deleteRow("G2"); ~~~ :::note -Можно удалить несколько строк, передав диапазон идентификаторов ячеек в качестве параметра метода, например: "A1:C3". +Можно удалить несколько строк, передав диапазон идентификаторов ячеек в качестве параметра метода, например: "A1:C3". Если диапазон затрагивает объединённую ячейку, удаляются строки всей объединённой ячейки. Диапазон, который охватывает строки целиком, например, "A2:Z3" на листе со столбцами от A до Z, удаляется как есть. ::: -**Полезная статья:** [Работа с таблицей](working_with_ssheet.md#addingremoving-rows-and-columns) +### Подробности {#details} + +При удалении строки внутри объединённой ячейки удаляется вся объединённая ячейка со всеми её строками: + +~~~jsx +spreadsheet.mergeCells("B2:B4"); + +// removes rows 2, 3 and 4 +spreadsheet.deleteRow("B3"); +~~~ + +При удалении строк целиком объединённая ячейка, которая их охватывает, уменьшается. Объединённые ячейки ниже удалённых строк сдвигаются вверх вместе со своими строками. Если удалённые строки зафиксированы, зафиксированная область уменьшается на количество удалённых зафиксированных строк. + +События [`beforeAction`](api/spreadsheet_beforeaction_event.md) и [`afterAction`](api/spreadsheet_afteraction_event.md) для действия `"deleteRow"` получают ячейку, переданную в метод, а не диапазон удалённых строк. + +**Журнал изменений:** Удаление всех строк объединённой ячейки добавлено в v6.0.4 + +**Полезные статьи:** +- [Работа со строками и столбцами](work_with_rows_cols.md#removing-rows) +- [Объединение ячеек](merge_cells.md#removing-rows-and-columns-of-merged-cells) +- [Работа с таблицей](working_with_ssheet.md#addingremoving-rows-and-columns) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md index a775a7a5..80719e3a 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: eachCell() title: Метод eachCell -description: Вы можете узнать о методе eachcell в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачивайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Переберите диапазон ячеек или выделенные ячейки в DHTMLX Spreadsheet с помощью метода eachCell(), который вызывает функцию с именем и значением каждой ячейки. --- # eachCell() @@ -31,7 +31,7 @@ eachCell( ### Пример {#example} ~~~jsx {21-27} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // параметры конфигурации }); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md index c93ac18b..6af202e3 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md @@ -1,7 +1,7 @@ --- sidebar_label: editLine title: Конфигурация editLine -description: Вы можете узнать о конфигурации editLine в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачивайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Покажите или скройте строку редактирования DHTMLX Spreadsheet с помощью свойства editLine, которое включено по умолчанию. --- # editLine @@ -25,7 +25,7 @@ editLine: true ### Пример {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { editLine: true, // другие параметры конфигурации }); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md index 274247a4..1419147d 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md @@ -1,7 +1,7 @@ --- sidebar_label: endEdit() title: Метод endEdit -description: Вы можете узнать о методе endEdit в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Завершите редактирование выбранной ячейки в DHTMLX Spreadsheet с помощью метода endEdit(), который закрывает редактор и сохраняет введённое значение. --- # endEdit() @@ -19,7 +19,7 @@ endEdit(): void; ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // завершает редактирование в выбранной ячейке diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md index b98da78b..cbea29a8 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md @@ -1,7 +1,7 @@ --- sidebar_label: exportModulePath title: Конфигурация exportModulePath -description: Вы можете узнать о конфигурации exportModulePath в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Задайте путь к файлу worker.js модуля экспорта JSON2Excel в DHTMLX Spreadsheet с помощью свойства exportModulePath, например, для экспорта в Excel на собственном сервере. --- # exportModulePath @@ -19,7 +19,7 @@ exportModulePath?: string; ### Пример {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { exportModulePath: "../libs/json2excel/x.x/worker.js?vx", // локальный путь к файлу `worker.js` модуля экспорта // другие параметры конфигурации }); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md index fbc9bb90..86e43244 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: fitColumn() title: Метод fitColumn -description: Вы можете узнать о методе fitColumn в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Подстройте ширину столбца под его самое длинное значение в DHTMLX Spreadsheet с помощью метода fitColumn(). --- # fitColumn() @@ -24,7 +24,7 @@ fitColumn(cell: string): void; ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // подстраивает ширину столбца "G" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md index 27be3a05..fede28e1 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md @@ -1,7 +1,7 @@ --- sidebar_label: formats title: Конфигурация formats -description: Вы можете узнать о конфигурации formats в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Определите числовые форматы, доступные в DHTMLX Spreadsheet, с помощью свойства formats, массива объектов с id, маской, названием и примером каждого формата. --- # formats @@ -50,7 +50,7 @@ defaultFormats = [ ### Пример {#example} ~~~jsx {2-19} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { formats: [ { name: "U.S. Dollar", diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md index 28fedc6e..aa8d1a0f 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: freezeCols() title: Метод freezeCols -description: Вы можете узнать о методе freezeCols в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Закрепите столбцы в DHTMLX Spreadsheet с помощью метода freezeCols(), который фиксирует столбцы до указанной или выбранной ячейки на текущем или другом листе. --- # freezeCols() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md index 1055be04..defab9f3 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: freezeRows() title: Метод freezeRows -description: Вы можете узнать о методе freezeRows в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Закрепите строки в DHTMLX Spreadsheet с помощью метода freezeRows(), который фиксирует строки до указанной или выбранной ячейки на текущем или другом листе. --- # freezeRows() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md index 89d3d57a..e0b279e4 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFilter() title: Метод getFilter -description: Вы можете узнать о методе getFilter в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Получите критерии фильтрации листа в DHTMLX Spreadsheet с помощью метода getFilter(), который возвращает отфильтрованный диапазон ячеек и правила фильтрации. --- # getFilter() @@ -30,7 +30,7 @@ getFilter(id?: string): {cell, rules}; ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // получает критерии фильтрации для текущего листа diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md index ecfa74d4..e5d77ba8 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFormat() title: Метод getFormat -description: Вы можете узнать о методе getFormat в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Получите числовой формат, применённый к значению ячейки или диапазона ячеек в DHTMLX Spreadsheet, с помощью метода getFormat(). --- # getFormat() @@ -27,7 +27,7 @@ getFormat(cell: string): string | array; ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // возвращает "currency" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md index fda36243..c6d40581 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFormula() title: Метод getFormula -description: Вы можете узнать о методе getFormula в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Получите формулу ячейки в DHTMLX Spreadsheet с помощью метода getFormula(), в том числе ячейки на другом листе. --- # getFormula() @@ -27,7 +27,7 @@ getFormula(cell: string): string | array; ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // возвращает "ABS(C2)" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md index 2fc11a5d..207eaef0 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getStyle() title: Метод getStyle -description: Вы можете узнать о методе getStyle в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Получите стили, применённые к ячейке или диапазону ячеек в DHTMLX Spreadsheet, с помощью метода getStyle(). --- # getStyle() @@ -27,7 +27,7 @@ getStyle(cell: string): any; ### Пример {#example} ~~~jsx {5,9,12} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // получение стиля одной ячейки diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md index 51c913b2..07e90c56 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getValue() title: Метод getValue -description: Вы можете узнать о методе getValue в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Получите значение ячейки или значения диапазона ячеек в DHTMLX Spreadsheet с помощью метода getValue(). --- # getValue() @@ -27,7 +27,7 @@ getValue(cell: string): any | array; ### Пример {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // возвращает значение одной ячейки diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md index facd7116..7ee35bec 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md @@ -1,7 +1,7 @@ --- sidebar_label: groupFill title: Событие groupFill -description: Вы можете узнать о событии groupFill в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Обработайте автозаполнение ячеек в DHTMLX Spreadsheet с помощью события groupFill, которое передаёт в обработчик ячейку в фокусе и выделенные ячейки. --- # groupFill @@ -26,7 +26,7 @@ groupFill: (focusedCell: string, selectedCell: string) => void; ### Пример {#example} ~~~jsx {5-7} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // подписка на событие "groupFill" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md index 6db7fff4..890b9ee4 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideCols() title: Метод hideCols -description: Вы можете узнать о методе hideCols в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Скройте один или несколько столбцов в DHTMLX Spreadsheet с помощью метода hideCols() по id ячейки, диапазону ячеек или выделенной ячейке. --- # hideCols() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md index 6c45f677..dd4d7d2b 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideRows() title: Метод hideRows -description: Вы можете узнать о методе hideRows в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Скройте одну или несколько строк в DHTMLX Spreadsheet с помощью метода hideRows() по id ячейки, диапазону ячеек или выделенной ячейке. --- # hideRows() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md index 90d9f7ec..15f0fe17 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideSearch() title: Метод hideSearch -description: Вы можете узнать о методе hideSearch в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Скройте панель поиска DHTMLX Spreadsheet с помощью метода hideSearch(), например после поиска, открытого методом search(). --- # hideSearch() @@ -19,7 +19,7 @@ hideSearch(): void; ### Пример {#example} ~~~jsx {5,8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // открывает панель поиска и подсвечивает найденные ячейки diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md index 895e7fc3..154db02d 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md @@ -1,7 +1,7 @@ --- sidebar_label: importModulePath title: Конфигурация importModulePath -description: Вы можете узнать о конфигурации importModulePath в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Задайте путь к файлу worker.js библиотеки Excel2json, с помощью которой DHTMLX Spreadsheet импортирует файлы Excel, через свойство importModulePath. --- # importModulePath @@ -19,7 +19,7 @@ importModulePath?: string; ### Пример {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { importModulePath: "../libs/excel2json/1.0/worker.js", // другие параметры конфигурации }); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md index 9f84338f..2f775ff4 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md @@ -1,7 +1,7 @@ --- sidebar_label: insertLink() title: Метод insertLink -description: Вы можете узнать о методе insertLink в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Вставьте гиперссылку в ячейку DHTMLX Spreadsheet с помощью метода insertLink() или удалите гиперссылку, сохранив текст ячейки. --- # insertLink() @@ -36,7 +36,7 @@ insertLink( ### Пример {#example} ~~~jsx {5-7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // вставить ссылку в ячейку "A2" diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md index 0ca36952..6e8bcd9b 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md @@ -1,7 +1,7 @@ --- sidebar_label: isLocked() title: Метод isLocked -description: Вы можете узнать о методе isLocked в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Проверьте, заблокирована ли ячейка или хотя бы одна ячейка диапазона в DHTMLX Spreadsheet, с помощью метода isLocked(). --- # isLocked() @@ -27,7 +27,7 @@ isLocked(cell: string): boolean; ### Пример {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // проверяет, заблокирована ли ячейка diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md index 3b599db2..67781b0d 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md @@ -1,7 +1,7 @@ --- sidebar_label: load() title: Метод load -description: Вы можете узнать о методе load в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Загрузите данные в DHTMLX Spreadsheet из внешнего файла JSON, CSV или XLSX с помощью метода load(), который возвращает промис. --- # load() @@ -28,7 +28,7 @@ load(url: string, type?: string): promise; ### Пример {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // загрузка данных в формате JSON (по умолчанию) @@ -84,7 +84,7 @@ DHTMLX Spreadsheet использует библиотеку [Excel2Json](https: - Вызовите метод `load()` с двумя параметрами: пустой строкой в качестве URL и типом загружаемых данных ("json"): ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { menu: true, }); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md index 83f1d87a..c274b553 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md @@ -1,7 +1,7 @@ --- sidebar_label: localization title: Конфигурация localization -description: Вы можете узнать о конфигурации localization в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Задайте десятичный разделитель и разделитель тысяч, знак валюты, а также форматы даты и времени в DHTMLX Spreadsheet с помощью свойства localization. --- # localization @@ -41,7 +41,7 @@ const defaultLocales = { ### Пример {#example} ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { localization: { decimal: ",", thousands: " ", diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md index 21a1d3c4..638429f8 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md @@ -1,7 +1,7 @@ --- sidebar_label: lock() title: метод lock -description: Вы можете узнать о методе lock в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Заблокируйте ячейку, диапазон ячеек или несколько ячеек в DHTMLX Spreadsheet с помощью метода lock(), чтобы пользователи не могли их редактировать. --- # lock() @@ -23,7 +23,7 @@ lock(cell: string): void; ### Пример {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // блокирует ячейку diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md index e97ae55b..f77fc342 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md @@ -1,7 +1,7 @@ --- sidebar_label: menu title: конфигурация menu -description: Вы можете узнать о конфигурации menu в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Покажите или скройте меню DHTMLX Spreadsheet с помощью свойства menu. --- # menu @@ -25,7 +25,7 @@ menu: true ### Пример {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { menu: false, // other config parameters }); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md index 57573fdd..d5b2c6e8 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md @@ -1,7 +1,7 @@ --- sidebar_label: mergeCells() title: метод mergeCells -description: Вы можете узнать о методе mergeCells в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Объедините диапазон ячеек в одну ячейку или разделите объединённые ячейки в DHTMLX Spreadsheet с помощью метода mergeCells(). --- # mergeCells() @@ -29,7 +29,7 @@ mergeCells( ### Пример {#example} ~~~jsx {5,8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // объединяет ячейки A3, A4 и A5 diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md index ac791c26..9ce98587 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md @@ -1,7 +1,7 @@ --- sidebar_label: multiSheets title: конфигурация multiSheets -description: Вы можете узнать о конфигурации multiSheets в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Включите или отключите работу с несколькими листами в DHTMLX Spreadsheet с помощью свойства multiSheets, которое показывает или скрывает нижнюю панель с вкладками листов. --- # multiSheets @@ -25,7 +25,7 @@ multiSheets: true ### Пример {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { multiSheets: false, // other config parameters }); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md index 371ad927..07e443b3 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md @@ -1,7 +1,7 @@ --- sidebar_label: parse() title: метод parse -description: Вы можете узнать о методе parse в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Загрузите данные в DHTMLX Spreadsheet из локального источника с помощью метода parse(), включая значения ячеек, стили, форматы, редакторы, ссылки и несколько листов. --- # parse() @@ -167,7 +167,7 @@ const data = [ // больше данных ]; -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); ~~~ @@ -246,7 +246,7 @@ const styledData = { ], }; -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(styledData); ~~~ diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md index 38ae789f..7467620f 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md @@ -1,7 +1,7 @@ --- sidebar_label: readonly title: конфигурация readonly -description: Вы можете узнать о конфигурации readonly в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: "Включите режим только для чтения в DHTMLX Spreadsheet с помощью свойства readonly: он блокирует изменение данных, но сохраняет навигацию с помощью клавиатуры, выделение, копирование и поиск." --- # readonly @@ -25,15 +25,47 @@ readonly: false ### Пример {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { readonly: true, // other config parameters }); ~~~ +### Подробности {#details} + +В режиме только для чтения панель инструментов, меню и строка формул скрыты, а контекстное меню и значок меню столбца недоступны. Вкладки листов остаются, но без кнопки добавления листа, контекстного меню листа и переименования двойным щелчком. + +Пользователи по-прежнему могут просматривать и копировать данные: + +- ячейка A1 активна после загрузки данных +- по ячейкам можно перемещаться с помощью клавиатуры и выделять их мышью, при этом срабатывают события выделения +- ячейки можно копировать с помощью `Ctrl (Cmd) + C` и искать с помощью `Ctrl (Cmd) + F` +- листы можно переключать на вкладках листов и с помощью клавиатуры +- ссылки в ячейках можно открывать, но кнопки редактирования и удаления ссылки в окне ссылки отключены + +Изменения данных отклоняются: + +- ввод текста, клавиши редактирования, вырезание и вставка, отмена и повтор действий, а также сочетания клавиш, которые форматируют ячейки, вставляют ссылку, добавляют лист или показывают скрытые строки и столбцы, игнорируются, а программы чтения с экрана сообщают "The sheet is read-only" +- методы, которые изменяют данные, например, [`setValue()`](api/spreadsheet_setvalue_method.md), [`setStyle()`](api/spreadsheet_setstyle_method.md) и [`deleteRow()`](api/spreadsheet_deleterow_method.md), а также метод [`startEdit()`](api/spreadsheet_startedit_method.md) игнорируются. Методы [`parse()`](api/spreadsheet_parse_method.md) и [`load()`](api/spreadsheet_load_method.md) по-прежнему загружают данные +- маркер заполнения скрыт +- размер столбцов и строк нельзя изменить перетаскиванием их границ, а двойной щелчок по границе столбца не подгоняет ширину столбца под данные + +Чтобы отключить также навигацию с помощью клавиатуры и выделение, установите для параметра [`selection`](api/spreadsheet_selection_config.md) значение `false`. В этом случае в Spreadsheet нет активной ячейки, а ячейки нельзя выделить мышью, с помощью клавиатуры или API: + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, + // other config parameters +}); +~~~ + +**Журнал изменений:** Навигация с помощью клавиатуры, выделение, копирование и поиск в режиме только для чтения добавлены в v6.0.4 + **Полезные статьи:** - [Конфигурация](configuration.md#read-only-mode) - [Кастомизация](customization.md#custom-read-only-mode) +- [Специальные возможности: настройка режима только для чтения](accessibility.md#read-only-setup) **Связанный пример:** [Spreadsheet. Readonly](https://snippet.dhtmlx.com/2w959gx2) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md index 90e1874b..617b5b62 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md @@ -1,7 +1,7 @@ --- sidebar_label: redo() title: метод redo -description: Вы можете узнать о методе redo в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Повторно примените отменённое действие в DHTMLX Spreadsheet с помощью метода redo(). --- # redo() @@ -19,7 +19,7 @@ redo(): void; ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // повторно применяет отменённое действие diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md index 35c96ede..ccdcab95 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md @@ -1,7 +1,7 @@ --- sidebar_label: rowsCount title: конфигурация rowsCount -description: Вы можете узнать о конфигурации rowsCount в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Задайте количество строк, которое DHTMLX Spreadsheet показывает при инициализации, с помощью свойства rowsCount. --- # rowsCount @@ -19,7 +19,7 @@ rowsCount?: number; ### Пример {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { rowsCount: 10, // other config parameters }); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md index c4cac41b..d93746d8 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md @@ -1,7 +1,7 @@ --- sidebar_label: search() title: метод search -description: Вы можете узнать о методе search в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Найдите ячейки по значению в DHTMLX Spreadsheet с помощью метода search(), который возвращает id найденных ячеек и может открыть панель поиска с подсвеченными совпадениями. --- # search() @@ -35,7 +35,7 @@ search( ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // возвращает идентификаторы ячеек с найденными совпадениями, открывает строку поиска и выделяет найденные ячейки diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_selection_config.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_selection_config.md new file mode 100644 index 00000000..9a04c2b1 --- /dev/null +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_selection_config.md @@ -0,0 +1,63 @@ +--- +sidebar_label: selection +title: Конфигурация selection +description: Отключите выделение ячеек в DHTMLX Spreadsheet с помощью свойства selection, отдельно или вместе с режимом только для чтения, чтобы показывать данные без активной ячейки. +--- + +# selection + +### Описание {#description} + +@short: Необязательный. Включает/отключает выделение ячеек + +### Использование {#usage} + +~~~jsx +selection?: boolean; +~~~ + +### Конфигурация по умолчанию {#default-config} + +~~~jsx +selection: true +~~~ + +### Пример {#example} + +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // other config parameters +}); +~~~ + +### Подробности {#details} + +Если для свойства задано значение `false`: + +- в Spreadsheet нет активной ячейки +- ячейки нельзя выделить мышью, клавиатурой или через API: методы [`setSelectedCell()`](api/selection_setselectedcell_method.md) и [`setFocusedCell()`](api/selection_setfocusedcell_method.md) игнорируются, а методы [`getSelectedCell()`](api/selection_getselectedcell_method.md) и [`getFocusedCell()`](api/selection_getfocusedcell_method.md) возвращают `undefined` +- ячейки нельзя редактировать из интерфейса: строка формул заблокирована, маркер заполнения скрыт, а метод [`startEdit()`](api/spreadsheet_startedit_method.md) игнорируется +- контекстное меню и значок меню столбца недоступны +- `Tab` останавливается на сетке один раз и переносит фокус дальше, а `Ctrl + F6` пропускает сетку + +Размер столбцов и строк по-прежнему можно изменять перетаскиванием их границ, а данные по-прежнему можно изменять через API, например, с помощью метода [`setValue()`](api/spreadsheet_setvalue_method.md). + +В сочетании со свойством [`readonly`](api/spreadsheet_readonly_config.md) параметр отключает клавиатурную навигацию и выделение, которые доступны в режиме только для чтения: + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, + // other config parameters +}); +~~~ + +Чтобы отключать и включать выделение во время выполнения, используйте методы [`selection.disable()`](api/selection_disable_method.md) и [`selection.enable()`](api/selection_enable_method.md). + +**Журнал изменений:** Добавлено в v6.0.4 + +**Связанные статьи:** +- [Выделение ячеек](configuration.md#selection-of-cells) +- [Режим только для чтения](configuration.md#read-only-mode) +- [Доступность: настройка режима только для чтения](accessibility.md#read-only-setup) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md index ae9a937f..5583f729 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md @@ -1,7 +1,7 @@ --- sidebar_label: serialize() title: метод serialize -description: Вы можете узнать о методе serialize в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Сохраните данные DHTMLX Spreadsheet в объект JSON с помощью метода serialize(), который включает листы, значения ячеек, стили и числовые форматы. --- # serialize() @@ -94,7 +94,7 @@ serialize(): { ### Пример {#example} ~~~jsx {4} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); const state = spreadsheet.serialize(); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md index 09252627..81f7c358 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFilter() title: Метод setFilter -description: Вы можете узнать о методе setFilter в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Отфильтруйте данные столбца в DHTMLX Spreadsheet по условиям или исключаемым значениям с помощью метода setFilter() или сбросьте фильтрацию. --- # setFilter() @@ -44,7 +44,7 @@ setFilter( ### Пример {#example} ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // filter data by condition specified for column A diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md index f0c8a1a6..f4b86c52 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFormat() title: Метод setFormat -description: Вы можете узнать о методе setFormat в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Примените числовой формат к значению ячейки или диапазона ячеек в DHTMLX Spreadsheet с помощью метода setFormat(). --- # setFormat() @@ -24,7 +24,7 @@ setFormat(cell: string, format: string | array): void; ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // applies the currency format to the cell A1 diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md index c3696f63..67c25917 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setStyle() title: Метод setStyle -description: Вы можете узнать о методе setStyle в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Примените один и тот же стиль к ячейке, нескольким ячейкам или диапазону ячеек в DHTMLX Spreadsheet с помощью метода setStyle(), передав стили объектом или массивом. --- # setStyle() @@ -28,7 +28,7 @@ setStyle(cell: string, styles: array | object): void; ### Пример {#example} ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // setting style for one cell diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md index c87c3439..df894f20 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setValidation() title: Метод setValidation -description: Вы можете узнать о методе setValidation в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Добавьте в ячейки DHTMLX Spreadsheet выпадающий список значений с помощью метода setValidation(), взяв варианты из диапазона ячеек или массива, или удалите проверку данных. --- # setValidation() @@ -29,7 +29,7 @@ setValidation( ### Пример {#example} ~~~jsx {8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md index d61eb9fb..0ad3d381 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setValue() title: Метод setValue -description: Вы можете узнать о методе setValue в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Задайте значение для ячейки, нескольких ячеек или диапазона ячеек в DHTMLX Spreadsheet с помощью метода setValue(), передав одно значение или массив значений, который повторяется по ячейкам. --- # setValue() @@ -28,7 +28,7 @@ setValue(cell: string, value: string | number | array): void; ### Пример {#example} ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // setting value for one cell diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md index 2f869578..139e58a1 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: showCols() title: Метод showCols -description: Вы можете узнать о методе showCols в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Покажите скрытые столбцы в DHTMLX Spreadsheet с помощью метода showCols() по столбцу переданной или выбранной ячейки. --- # showCols() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md index 9151de22..157a9912 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: showRows() title: Метод showRows -description: Вы можете узнать о методе showRows в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Покажите скрытые строки в DHTMLX Spreadsheet с помощью метода showRows() по строке переданной или выбранной ячейки. --- # showRows() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md index 64ce063f..d6656e43 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md @@ -1,7 +1,7 @@ --- sidebar_label: sortCells() title: Метод sortCells -description: Вы можете узнать о методе sortCells в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Отсортируйте данные DHTMLX Spreadsheet по возрастанию или убыванию по столбцу или диапазону ячеек с помощью метода sortCells(). --- # sortCells() @@ -26,7 +26,7 @@ sortCells(cell: string, dir: number): void; ### Пример {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // configuration parameters }); spreadsheet.parse(data); diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md index a5ea0ce9..02392d6b 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md @@ -1,7 +1,7 @@ --- sidebar_label: startEdit() title: Метод startEdit -description: Вы можете узнать о методе startEdit в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Начните редактирование переданной или выбранной ячейки DHTMLX Spreadsheet с помощью метода startEdit(), при необходимости с начальным значением. --- # startEdit() @@ -28,11 +28,17 @@ startEdit(cell?: string, initialValue?: string): void; ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // starts editing the currently selected cell spreadsheet.startEdit(); ~~~ +### Подробности {#details} + +Ввод текста в активной ячейке запускает редактирование через этот метод. Текст, набранный с помощью редактора метода ввода (IME), передаётся как `initialValue` по завершении набора. Поэтому события [`beforeEditStart`](api/spreadsheet_beforeeditstart_event.md) и [`afterEditStart`](api/spreadsheet_aftereditstart_event.md) получают введённый или набранный текст, а `beforeEditStart` может отменить редактирование. + +**Журнал изменений:** Запуск редактирования с текстом, набранным с помощью IME, добавлен в v6.0.4 + **Полезная статья:** [Работа с таблицей](working_with_cells.md#editing-a-cell) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md index 0589ad0f..55874f6e 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md @@ -1,7 +1,7 @@ --- sidebar_label: toolbarBlocks title: Конфигурация toolbarBlocks -description: Вы можете узнать о конфигурации toolbarBlocks в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Выберите блоки кнопок, которые показывает панель инструментов DHTMLX Spreadsheet, например undo, colors, font, align и format, с помощью свойства toolbarBlocks. --- # toolbarBlocks diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md index 566d8688..f605f6be 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md @@ -1,7 +1,7 @@ --- sidebar_label: undo() title: метод undo -description: Вы можете узнать о методе undo в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Отмените последнее действие в DHTMLX Spreadsheet с помощью метода undo() и верните его методом redo(). --- # undo() @@ -19,7 +19,7 @@ undo(): void; ### Пример {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // выполняет один шаг назад diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md index aa02747a..d38221f0 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unfreezeCols() title: метод unfreezeCols -description: Вы можете узнать о методе unfreezeCols в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Открепите закреплённые столбцы в DHTMLX Spreadsheet с помощью метода unfreezeCols(), чтобы они прокручивались вместе с остальной сеткой. --- # unfreezeCols() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md index 085b7c25..a925b06c 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unfreezeRows() title: метод unfreezeRows -description: Вы можете узнать о методе unfreezeRows в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Открепите закреплённые строки в DHTMLX Spreadsheet с помощью метода unfreezeRows(), чтобы они прокручивались вместе с остальной сеткой. --- # unfreezeRows() diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md index 35eb6ffe..e1408488 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unlock() title: метод unlock -description: Вы можете узнать о методе unlock в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, пробуйте примеры кода и живые демо, загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Разблокируйте заблокированную ячейку, несколько ячеек или диапазон ячеек в DHTMLX Spreadsheet с помощью метода unlock(), чтобы пользователи снова могли их редактировать. --- # unlock() @@ -23,7 +23,7 @@ unlock(cell: string): void; ### Пример {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // снимает блокировку с ячейки diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/awaitredraw.md b/i18n/ru/docusaurus-plugin-content-docs/current/awaitredraw.md index c254e1ea..df209378 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/awaitredraw.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/awaitredraw.md @@ -1,7 +1,7 @@ --- sidebar_label: Хелпер AwaitRedraw title: Хелпер AwaitRedraw -description: Вы можете изучить хелпер AwaitRedraw в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Выполните код после того, как DHTMLX Spreadsheet завершит отрисовку, с помощью хелпера dhx.awaitRedraw, для методов API, которые срабатывают только после отображения компонента на странице. --- # Хелпер AwaitRedraw {#awaitredraw-helper} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/configuration.md b/i18n/ru/docusaurus-plugin-content-docs/current/configuration.md index ff8b52f6..228d8ac3 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/configuration.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/configuration.md @@ -1,7 +1,7 @@ --- sidebar_label: Конфигурация title: Конфигурация -description: Вы можете узнать о конфигурации библиотеки DHTMLX JavaScript Spreadsheet в документации. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Настройка DHTMLX Spreadsheet. Параметры панели инструментов, строки редактирования, меню, количества строк и столбцов, режима только для чтения, выделения ячеек и числовых форматов. --- # Конфигурация {#configuration} @@ -50,8 +50,41 @@ const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { Вы также можете [настроить поведение Spreadsheet в режиме только для чтения](customization.md#custom-read-only-mode). +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, +}); +~~~ + +В режиме только для чтения панель инструментов, меню и строка формул скрыты. Пользователи могут перемещаться по ячейкам с помощью клавиатуры, выделять их мышью, копировать и искать в них. Попытки редактирования отклоняются и озвучиваются программами чтения с экрана как "The sheet is read-only". Маркер заполнения скрыт. Подробности смотрите в статье [`readonly`](api/spreadsheet_readonly_config.md#details). О том, как с Spreadsheet в режиме только для чтения работают пользователи клавиатуры и программ чтения с экрана, читайте в разделе [Read-only setup](accessibility.md#read-only-setup) руководства по доступности. + +Чтобы отключить навигацию с клавиатуры и выделение в режиме только для чтения, установите для параметра [`selection`](api/spreadsheet_selection_config.md) значение `false`: + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, +}); +~~~ + +## Выделение ячеек {#selection-of-cells} + +По умолчанию пользователи могут выделять ячейки мышью и с клавиатуры, а в Spreadsheet есть активная ячейка. Чтобы отключить выделение, установите для параметра конфигурации [`selection`](api/spreadsheet_selection_config.md) значение `false`: + +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, +}); +~~~ + +В этом случае в Spreadsheet нет активной ячейки, ячейки нельзя выделять или редактировать из интерфейса, а контекстное меню недоступно. + +Чтобы отключать и включать выделение во время работы, используйте методы [`selection.disable()`](api/selection_disable_method.md) и [`selection.enable()`](api/selection_enable_method.md). Метод [`selection.isDisabled()`](api/selection_isdisabled_method.md) проверяет, отключено ли выделение. + +Без выделения сетка становится одной точкой табуляции, через которую проходит клавиатурный фокус. Смотрите раздел [Read-only setup](accessibility.md#read-only-setup) руководства по доступности. + ## Пользовательские числовые форматы ячеек {#custom-number-formats-for-cells} Вы можете применять 7 форматов по умолчанию к значениям ячеек: "Common", "Number", "Percent", "Currency", "Date", "Time", "Text". diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/customization.md b/i18n/ru/docusaurus-plugin-content-docs/current/customization.md index f8cd9a97..6004dc44 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/customization.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/customization.md @@ -1,7 +1,7 @@ --- sidebar_label: Кастомизация title: Кастомизация -description: Вы можете узнать о кастомизации библиотеки DHTMLX JavaScript Spreadsheet в документации. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Настройка DHTMLX Spreadsheet. Изменение иконок, добавление, обновление и удаление элементов управления панели инструментов, меню и контекстного меню, а также создание собственного режима только для чтения. --- # Кастомизация {#customization} @@ -31,6 +31,8 @@ description: Вы можете узнать о кастомизации библ Вы можете добавлять следующие типы элементов управления: `button`, `menuItem`, `separator` и `spacer`. +Как и остальные элементы управления [панели инструментов по умолчанию](#default-controls), элементы *Text color* и *Background color*, а также элемент *Border color* во всплывающем окне *Border* имеют тип [`navItem`](https://docs.dhtmlx.com/suite/toolbar/navitem/). Они отображают текущий цвет с помощью свойства [`html`](https://docs.dhtmlx.com/suite/toolbar/api/api_navitem_properties/), берут доступное имя из свойства [`value`](https://docs.dhtmlx.com/suite/toolbar/api/api_navitem_properties/), например "Text color: dark gray", и открывают всплывающее окно выбора цвета. Spreadsheet обновляет оба свойства элементов *Text color* и *Background color* при смене активной ячейки, а элемента *Border color* при выборе цвета границы. + Объект `button` имеет следующие свойства: - `type` - тип кнопки, установите значение "button" @@ -379,7 +381,8 @@ spreadsheet.menu.data.remove("undo"); - пункт меню **Columns** (id: "columns") - пункт меню *Add column* (id: "add-col") - пункт меню *Remove column* (id: "remove-col") - - пункт меню *Fit to data* (id: "fit-col") + - пункт меню *Fit to data* (id: "fit-col"), отображается в меню столбца и при выделении столбцов целиком + - пункт меню *Column width* (id: "col-width") - разделитель - пункт меню *Unfreeze columns* (id: "unfreeze-cols") - пункт меню *Freeze up to column [id]* (id: "freeze-cols") @@ -388,6 +391,7 @@ spreadsheet.menu.data.remove("undo"); - пункт меню **Rows** (id: "rows") - пункт меню *Add row* (id: "add-row") - пункт меню *Remove row* (id: "remove-row") + - пункт меню *Row height* (id: "row-height") - разделитель - пункт меню *Unfreeze rows* (id: "unfreeze-rows") - пункт меню *Freeze up to row [id]* (id: "freeze-rows") @@ -396,6 +400,7 @@ spreadsheet.menu.data.remove("undo"); - пункт меню **Sort** (id: "sort") - пункт меню *Sort A to Z* (id: "asc-sort") - пункт меню *Sort Z to A* (id: "desc-sort") +- пункт меню **Open filter** (id: "open-filter"), отображается, когда активная ячейка содержит значок фильтра - пункт меню **Insert link** (id: "link") ### Добавление элементов управления {#adding-controls-3} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/data_formatting.md b/i18n/ru/docusaurus-plugin-content-docs/current/data_formatting.md index a4327475..4e80fb71 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/data_formatting.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/data_formatting.md @@ -1,7 +1,7 @@ --- sidebar_label: Форматирование данных title: Форматирование данных -description: Вы можете узнать о форматировании данных в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Оформите данные ячеек в DHTMLX Spreadsheet с помощью панели инструментов, включая цвет текста и фона, полужирный шрифт и курсив, выравнивание, перенос текста и границы ячеек, а также очистите стили и значения. --- # Форматирование данных {#data-formatting} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/data_search.md b/i18n/ru/docusaurus-plugin-content-docs/current/data_search.md index 7de9fced..1c2f2643 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/data_search.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/data_search.md @@ -1,7 +1,7 @@ --- sidebar_label: Поиск данных title: Поиск данных -description: Вы можете узнать о поиске данных в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Поиск данных в DHTMLX Spreadsheet с помощью панели поиска. Откройте её по Ctrl (Cmd) + F или через меню Data, переходите между совпадениями и закрывайте клавишей Esc. --- # Поиск данных {#searching-for-data} @@ -12,3 +12,11 @@ description: Вы можете узнать о поиске данных в до - Или перейдите в меню: *Data* -> *Search* ![DHTMLX Spreadsheet search bar with a text input for finding data](/img/search_data.png) + +Введите в панели поиска текст, который нужно найти. Первая ячейка с этим текстом подсвечивается и прокручивается в область видимости, а счётчик показывает количество совпадений. Чтобы переходить между совпадениями, нажимайте кнопки со стрелками в панели поиска. + +Результаты поиска обновляются после редактирования ячеек и после открытия другого листа. Программы чтения с экрана озвучивают количество совпадений и адрес первого совпадения после того, как вы перестанете вводить текст, например "Results: 5. 1 of 5, B2" или "No results". При переходе к другому совпадению они озвучивают его позицию и адрес, например "2 of 5, B7". + +Чтобы закрыть панель поиска, нажмите **Esc** или кнопку закрытия. Фокус вернётся на активную ячейку. + +Для поиска данных с помощью API используйте метод [`search()`](api/spreadsheet_search_method.md). diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/excel_import_export.md b/i18n/ru/docusaurus-plugin-content-docs/current/excel_import_export.md index b6555398..a3465d22 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/excel_import_export.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/excel_import_export.md @@ -1,7 +1,7 @@ --- sidebar_label: Импорт/экспорт Excel title: Импорт и экспорт Excel -description: Вы можете узнать об импорте и экспорте Excel в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Импорт данных из файлов Excel в DHTMLX Spreadsheet и экспорт в .xlsx через панель инструментов или меню File. --- # Импорт/экспорт Excel {#excel-importexport} @@ -37,3 +37,9 @@ description: Вы можете узнать об импорте и экспор ![DHTMLX Spreadsheet File menu with the Download As option for Microsoft Excel XLSX export](/img/file_export.png) 2\. Проверьте папку загрузок: там будет файл Excel с данными из Spreadsheet. + +Программы чтения с экрана озвучивают начало и завершение импорта и экспорта. + +:::note +Импорт и экспорт файлов Excel используют WebAssembly. Если браузер не поддерживает WebAssembly, команды Import и Export показывают сообщение с текстом ключа `wasmNotSupported` [локали](localization.md#default-locale). Метод [`load()`](api/spreadsheet_load_method.md) с типом `"xlsx"` и метод [`export.xlsx()`](api/export_xlsx_method.md) выбрасывают `Error` с тем же текстом, который можно перехватить в коде. +::: diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/filtering_data.md b/i18n/ru/docusaurus-plugin-content-docs/current/filtering_data.md index 0d0e99e6..1bffca7a 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/filtering_data.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/filtering_data.md @@ -1,7 +1,7 @@ --- sidebar_label: Фильтрация данных title: Фильтрация данных -description: Вы можете узнать о фильтрации данных в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Фильтрация данных в DHTMLX Spreadsheet по условию или по значениям, открытие фильтра с клавиатуры, очистка и удаление фильтров. --- # Фильтрация данных {#filtering-data} @@ -20,6 +20,20 @@ description: Вы можете узнать о фильтрации данных После этого справа от каждого заголовка столбца в диапазоне появится значок **фильтра**. +## Открытие фильтра с клавиатуры {#opening-a-filter-with-the-keyboard} + +Чтобы открыть фильтр столбца без мыши: + +- Переместите активную ячейку на ячейку заголовка столбца со значком **фильтра** + +- Нажмите `Shift + F10` или клавишу Menu, чтобы вызвать контекстное меню, и выберите *Open filter* + +![DHTMLX Spreadsheet context menu of a header cell with the filter icon and the Open filter command focused](/img/open_filter_context_menu.png) + +Команда *Open filter* появляется в контекстном меню только для ячеек со значком **фильтра**. Её можно выбрать и после щелчка правой кнопкой мыши по такой ячейке. В [режиме только для чтения](api/spreadsheet_readonly_config.md) контекстное меню и команда *Open filter* недоступны. + +Фокус переходит на всплывающее окно фильтра, а клавиша `Tab` перемещает между его элементами управления. Клавиша `Esc` закрывает окно и возвращает фокус на ячейку. Если в окне открыт выпадающий список или выбор даты, `Esc` сначала закрывает его. + ## Фильтрация по условию {#filtering-by-condition} - Нажмите значок **фильтра** нужного столбца diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/functions.md b/i18n/ru/docusaurus-plugin-content-docs/current/functions.md index 1ec7dd0e..b78315c9 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/functions.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/functions.md @@ -1,7 +1,7 @@ --- sidebar_label: Формулы и функции title: Формулы и функции -description: В документации вы можете узнать о формулах и функциях библиотеки DHTMLX JavaScript Spreadsheet. Изучайте руководства разработчика и справочник API, просматривайте примеры кода и живые демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Используйте в DHTMLX Spreadsheet формулы, совместимые с Excel и Google Sheets, включая математические, финансовые, строковые функции, функции даты и поиска, добавляйте пользовательские формулы и получайте формулу ячейки. --- # Формулы и функции {#formulas-and-functions} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/guides.md b/i18n/ru/docusaurus-plugin-content-docs/current/guides.md index 37fb258e..99b92956 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/guides.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/guides.md @@ -1,12 +1,12 @@ --- sidebar_label: Обзор руководств title: Руководства для разработчиков и пользователей -description: Вы можете изучить руководства для разработчиков и пользователей в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: "Руководства для разработчиков и пользователей DHTMLX Spreadsheet: от инициализации, настройки и загрузки данных до редактирования ячеек, форматирования и работы с листами." --- # Руководства {#guides} -DHTMLX Spreadsheet включает широкий набор возможностей: импорт и экспорт данных в различных форматах, удобная работа с содержимым и стилями ячеек, гибкая структура таблицы, режим только для чтения, обширные возможности настройки внешнего вида и интеграция с популярными фреймворками. +DHTMLX Spreadsheet включает широкий набор возможностей: импорт и экспорт данных в различных форматах, удобная работа с содержимым и стилями ячеек, гибкая структура таблицы, режим только для чтения, обширные возможности настройки внешнего вида, доступность для пользователей клавиатуры и программ чтения с экрана и интеграция с популярными фреймворками. ## Руководства для разработчиков {#developer-guides} @@ -38,6 +38,12 @@ DHTMLX Spreadsheet включает широкий набор возможнос - [Интеграция со Svelte](svelte_integration.md) - демо на GitHub с использованием Spreadsheet в приложении Svelte - [Интеграция с Vue.js](vuejs_integration.md) - демо на GitHub с использованием Spreadsheet в приложении Vue +### Доступность {#accessibility} + +- [Доступность](accessibility.md) - поддержка WAI-ARIA, навигация с клавиатуры, озвучивание программами чтения с экрана и высококонтрастные темы +- [Настройка доступного Spreadsheet](accessibility.md#configuration-recipes) - конфигурации для пользователей клавиатуры и программ чтения с экрана, включая режим только для чтения +- [Отчёт о соответствии (VPAT)](accessibility_conformance_report.md) - соответствие WCAG 2.2 AA, Section 508 и EN 301 549 + ### Разработка с помощью ИИ {#ai-assisted-development} - [DHTMLX MCP server](mcp-server.md) - подключение ИИ-ассистентов для написания кода к актуальной документации Spreadsheet diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/handling_events.md b/i18n/ru/docusaurus-plugin-content-docs/current/handling_events.md index baba5848..7cfaf25b 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/handling_events.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/handling_events.md @@ -1,7 +1,7 @@ --- sidebar_label: Обработка событий title: Обработка событий -description: Вы можете узнать об обработке событий в библиотеке DHTMLX JavaScript Spreadsheet в документации. Просматривайте руководства для разработчиков и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Подключайте и отключайте обработчики событий и вызывайте события в DHTMLX Spreadsheet с помощью методов events.on(), events.detach() и events.fire(). --- # Обработка событий {#event-handling} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/hotkeys.md b/i18n/ru/docusaurus-plugin-content-docs/current/hotkeys.md index 299e7687..f86e4a4e 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/hotkeys.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/hotkeys.md @@ -1,13 +1,21 @@ --- sidebar_label: Список горячих клавиш title: Горячие клавиши -description: Вы можете узнать о горячих клавишах в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства для разработчиков и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Горячие клавиши DHTMLX Spreadsheet для редактирования, форматирования, навигации, выделения, поиска, работы с листами, строками и столбцами, всплывающими окнами и диалогами. --- # Список горячих клавиш {#hot-keys-list} Ниже представлен список горячих клавиш, которые можно использовать при работе с DHTMLX Spreadsheet. +:::note +Горячие клавиши для ячеек работают, пока фокус находится в ячейках или в строке формул. Горячие клавиши форматирования, отмены, поиска, вставки ссылки и добавления листа также работают, пока фокус находится на панели инструментов. Когда фокус находится на панели инструментов, строке меню или вкладках листов, клавиши со стрелками, **Home**, **End**, **Enter** и **Space** работают в пределах этой панели (см. [Перемещение фокуса](#moving-the-focus)). + +В [режиме только для чтения](api/spreadsheet_readonly_config.md) работают горячие клавиши навигации, выделения, копирования и поиска. Горячие клавиши, изменяющие лист, включая **Ctrl (Cmd) + Shift + 9**, **Ctrl (Cmd) + Shift + 0** и **Shift + F11**, отклоняются, а скринридеры озвучивают "The sheet is read-only". Контекстное меню недоступно, поэтому **Shift + F10** и клавиша Menu не работают. + +Чтобы узнать, как работает навигация с клавиатуры со скринридерами, прочитайте руководство [Accessibility](accessibility.md#keyboard-navigation). +::: + ## Редактирование {#editing} @@ -28,6 +36,10 @@ description: Вы можете узнать о горячих клавишах + + + +
Esc закрывает редактор ячейки без сохранения изменений
Alt (Option) + Enterоткрывает ссылку активной ячейки в новой вкладке
@@ -114,43 +126,43 @@ description: Вы можете узнать о горячих клавишах Shift + Enter - перемещает выделение на одну ячейку вверх (в столбце). Если выбран диапазон ячеек, перемещает выделение на одну ячейку вверх в пределах диапазона. Деактивируется при достижении первой ячейки в столбце. + перемещает выделение на одну ячейку вверх (в столбце). Если выбран диапазон ячеек, перемещает выделение на одну ячейку вверх в пределах диапазона. Tab - перемещает выделение на одну ячейку вправо (в строке). Если выбран диапазон ячеек, перемещает выделение на одну ячейку вправо в пределах диапазона. Деактивируется при достижении крайней правой ячейки в строке. + перемещает выделение на одну ячейку вправо (в строке). Из крайней правой ячейки перемещает выделение на первую ячейку той же строки. Если выбран диапазон ячеек, перемещает выделение на одну ячейку вправо в пределах диапазона. Из последней ячейки листа сохраняет изменённое значение и выводит фокус из ячеек на следующую часть страницы, например на вкладки листов. Tab + Shift - перемещает выделение на одну ячейку влево (в строке). Если выбран диапазон ячеек, перемещает выделение на одну ячейку влево в пределах диапазона. Деактивируется при достижении крайней левой ячейки в строке. + перемещает выделение на одну ячейку влево (в строке). Из крайней левой ячейки перемещает выделение на последнюю ячейку той же строки. Если выбран диапазон ячеек, перемещает выделение на одну ячейку влево в пределах диапазона. Из первой ячейки листа сохраняет изменённое значение и выводит фокус из ячеек на предыдущую часть страницы, например на строку формул. Клавиши со стрелками - обеспечивают навигацию по ячейкам листа + обеспечивают навигацию по ячейкам листа. Останавливаются на первой и последней видимой строке и столбце. Если выбран диапазон ячеек, стрелка у края листа сворачивает диапазон до активной ячейки Home - перемещает выделение к первой ячейке в строке + перемещает выделение к первой видимой ячейке в строке End - перемещает выделение к последней ячейке в строке + перемещает выделение к последней видимой ячейке в строке Ctrl (Cmd) + стрелка влево - перемещает выделение к первой ячейке в строке + перемещает выделение к первой видимой ячейке в строке Ctrl (Cmd) + стрелка вправо - перемещает выделение к последней ячейке в строке + перемещает выделение к последней видимой ячейке в строке Ctrl (Cmd) + стрелка вверх - перемещает выделение к первой ячейке в столбце + перемещает выделение к первой видимой ячейке в столбце Ctrl (Cmd) + стрелка вниз - перемещает выделение к последней ячейке в столбце + перемещает выделение к последней видимой ячейке в столбце Ctrl (Cmd) + Home @@ -175,6 +187,59 @@ description: Вы можете узнать о горячих клавишах +## Перемещение фокуса {#moving-the-focus} + +Панель инструментов, строка меню и вкладки листов являются единой точкой табуляции: Tab перемещает фокус на панель и с неё, при этом фокус попадает на элемент управления, который использовался последним. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ctrl + F6перемещает фокус на следующую часть Spreadsheet в порядке: меню, панель инструментов, лист (активная ячейка), вкладки листов, затем снова меню. Строка формул и скрытые части пропускаются. Сначала сохраняет значение редактируемой ячейки
Ctrl + Shift + F6перемещает фокус на предыдущую часть Spreadsheet
Стрелка влево/стрелка вправоперемещает фокус на предыдущий/следующий элемент управления панели инструментов, строки меню или вкладок листов
Home/Endперемещает фокус на первый/последний элемент управления панели
Enter/Spaceнажимает элемент управления в фокусе: выполняет команду, открывает выпадающий список или переключает на лист выбранной вкладки
Стрелка внизоткрывает выпадающий список элемента управления в фокусе и перемещает фокус на его первый пункт
Стрелка вверх/стрелка внизперемещает фокус между пунктами открытого выпадающего списка или меню
Стрелка вправооткрывает подменю пункта меню в фокусе
Стрелка влевозакрывает подменю. На первом уровне выпадающего списка закрывает список и возвращает фокус его элементу управления
Escзакрывает выпадающий список или меню и возвращает фокус элементу управления, который его открыл. Закрывает подсказку элемента управления панели инструментов. Без Esc подсказка остаётся открытой, пока на ней находится указатель
Shift + F10 или клавиша Menuоткрывает контекстное меню активной ячейки или вкладки листа в фокусе и перемещает фокус в него. После Ctrl (Cmd) + Space контекстное меню ячейки показывает команды для столбца. Esc закрывает контекстное меню и возвращает фокус на ячейку
+ ## Поиск {#search} @@ -185,11 +250,15 @@ description: Вы можете узнать о горячих клавишах - + - + + + + +
Ctrl (Cmd) + Gперемещает выделение к следующему найденному совпадениювыделяет следующее найденное совпадение
Ctrl (Cmd) + Shift + Gперемещает выделение к предыдущему найденному совпадениювыделяет предыдущее найденное совпадение
Escзакрывает строку поиска и возвращает фокус на активную ячейку
@@ -234,8 +303,110 @@ description: Вы можете узнать о горячих клавишах добавляет новый лист в таблицу - Alt + стрелка вверх / стрелка вниз - переключается на следующий/предыдущий лист + Alt (Option) + стрелка вверх + переключается на следующий лист. С последнего листа переключается на первый + + + Alt (Option) + стрелка вниз + переключается на предыдущий лист. С первого листа переключается на последний + + + Ctrl (Cmd) + Alt (Option) + Page Down + переключается на следующий лист + + + Ctrl (Cmd) + Alt (Option) + Page Up + переключается на предыдущий лист + + + + +## Работа со строками и столбцами {#work-with-rows-and-columns} + + + + + + + + + + + + +
Ctrl (Cmd) + Shift + 9показывает скрытые строки внутри выбранного диапазона
Ctrl (Cmd) + Shift + 0показывает скрытые столбцы внутри выбранного диапазона
+ +## Всплывающие окна панели инструментов {#toolbar-popups} + +Клавиши ниже работают во всплывающих окнах элементов *Text color*, *Background color* и *Border* панели инструментов. Всплывающее окно получает фокус при открытии. + + + + + + + + + + + + + + + + + + + + + + + + +
Клавиши со стрелкамиперемещают фокус между цветами палитры или между элементами управления всплывающего окна Border
Home/Endперемещает фокус на первый/последний цвет палитры
Enterприменяет цвет или границу в фокусе. После применения цвета текста или фона фокус возвращается на активную ячейку
Escвозвращает из режима пользовательского цвета к палитре. Во всплывающем окне цвета или стиля, открытом поверх окна Border, закрывает его и возвращает фокус на его кнопку в окне Border. В остальных случаях закрывает всплывающее окно и возвращает фокус его элементу управления на панели инструментов
Tab/Tab + Shiftзакрывает всплывающее окно и возвращает фокус его элементу управления на панели инструментов. В окне Border и окнах, открытых поверх него, закрывает их все и возвращает фокус элементу управления Border. В режиме пользовательского цвета перемещает фокус между элементами управления выбора цвета
+ +## Редактор списка {#list-editor} + +Клавиши ниже работают в редакторе ячейки со [списком значений](api/spreadsheet_setvalidation_method.md). + + + + + + + + + + + + + + + + + + + + +
Стрелка вверх/стрелка внизперемещают по списку значений
Enterвыбирает значение и закрывает редактор
Escзакрывает редактор без сохранения изменений
Tabсохраняет значение и перемещает выделение на одну ячейку вправо
+ +## Фильтр и диалоговые окна {#filter-and-dialogs} + +Клавиши ниже работают во всплывающем окне [фильтра](filtering_data.md#opening-a-filter-with-the-keyboard) и в диалоговых окнах [Column width и Row height](work_with_rows_cols.md#setting-column-width-and-row-height). + + + + + + + + + + + + + +
Escзакрывает всплывающее окно фильтра и возвращает фокус на ячейку
Enterприменяет размер в диалоговых окнах Column width и Row height
Escзакрывает диалоговые окна Column width и Row height без изменений
diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/how_to_start.md b/i18n/ru/docusaurus-plugin-content-docs/current/how_to_start.md index 98ebe797..e119da96 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/how_to_start.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/how_to_start.md @@ -1,7 +1,7 @@ --- sidebar_label: Как начать title: Как начать работу с DHTMLX Spreadsheet -description: Вы можете узнать, как начать работу с библиотекой DHTMLX JavaScript Spreadsheet в документации. Просматривайте руководства для разработчиков и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Запустите DHTMLX Spreadsheet на странице за четыре шага, от подключения исходных файлов или установки npm-пакета до настройки компонента и загрузки данных. --- # Как начать {#how-to-start} @@ -79,7 +79,7 @@ description: Вы можете узнать, как начать работу с
@@ -94,7 +94,7 @@ description: Вы можете узнать, как начать работу с Вы можете настроить внешний вид Spreadsheet с помощью нескольких параметров, например: `toolbarBlocks`, `rowsCount` и `colsCount`. [Подробности](configuration.md). ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { toolbarBlocks: ["columns", "rows", "clear"], rowsCount: 10, colsCount: 10 @@ -129,7 +129,7 @@ const data = [ ] // initializing spreadsheet -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { //config }); // loading data into spreadsheet diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/index.md b/i18n/ru/docusaurus-plugin-content-docs/current/index.md index a844187e..365859e0 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/index.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/index.md @@ -2,7 +2,7 @@ sidebar_label: Обзор Spreadsheet title: Обзор DHTMLX Spreadsheet slug: / -description: Вы можете ознакомиться с обзором библиотеки JavaScript Spreadsheet в документации DHTMLX. Просматривайте руководства для разработчиков и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Обзор DHTMLX Spreadsheet, JavaScript-компонента для редактирования и форматирования табличных данных, с его панелью инструментов, строкой редактирования, сеткой, меню и контекстным меню. --- # Обзор DHTMLX Spreadsheet {#dhtmlx-spreadsheet-overview} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/initialization.md b/i18n/ru/docusaurus-plugin-content-docs/current/initialization.md index 00ef25f1..dd023bec 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/initialization.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/initialization.md @@ -1,7 +1,7 @@ --- sidebar_label: Инициализация title: Инициализация -description: Вы можете узнать об инициализации библиотеки DHTMLX JavaScript Spreadsheet в документации. Просматривайте руководства для разработчиков и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Инициализируйте DHTMLX Spreadsheet на странице, подключив исходные файлы, добавив контейнер и вызвав конструктор dhx.Spreadsheet с объектом конфигурации. --- # Инициализация {#initialization} @@ -39,10 +39,10 @@ description: Вы можете узнать об инициализации би ## Создание контейнера {#creating-container} -Добавьте контейнер для Spreadsheet и задайте ему идентификатор, например "spreadsheet": +Добавьте контейнер для Spreadsheet и задайте ему идентификатор, например "spreadsheet_container": ~~~html title="index.html" -
+
~~~ ## Инициализация DHTMLX Spreadsheet {#initializing-dhtmlx-spreadsheet} @@ -54,7 +54,7 @@ description: Вы можете узнать об инициализации би ~~~jsx title="index.js" // creating DHTMLX Spreadsheet -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config options }); ~~~ diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/loading_data.md b/i18n/ru/docusaurus-plugin-content-docs/current/loading_data.md index 600281a8..699e56b9 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/loading_data.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/loading_data.md @@ -1,7 +1,7 @@ --- sidebar_label: Загрузка и экспорт данных title: Загрузка данных -description: Вы можете узнать о загрузке данных в библиотеке DHTMLX JavaScript Spreadsheet в документации. Просматривайте руководства для разработчиков и справочник API, пробуйте примеры кода и живые демо, а также загружайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Загрузите в DHTMLX Spreadsheet данные JSON, CSV или Excel со стилями, заблокированными ячейками и ссылками из файла или локального источника, сохраните и восстановите состояние и экспортируйте данные в Excel или JSON. --- # Загрузка и экспорт данных {#data-loading-and-export} @@ -179,7 +179,7 @@ const dataset = [ По умолчанию Spreadsheet ожидает данные в формате JSON. Чтобы загрузить данные из внешнего источника, используйте метод [](api/spreadsheet_load_method.md). Он принимает URL-адрес файла с данными в качестве параметра: ~~~jsx -var spreadsheet = new dhx.Spreadsheet("spreadsheet"); +var spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.load("../common/data.json"); ~~~ @@ -195,7 +195,7 @@ spreadsheet.load("../common/data.json"); Вы также можете загружать данные в формате CSV. Для этого нужно вызвать метод [](api/spreadsheet_load_method.md) и передать название формата ("csv") вторым параметром: ~~~jsx -var spreadsheet = new dhx.Spreadsheet("spreadsheet"); +var spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.load("../common/data.csv", "csv"); ~~~ @@ -262,7 +262,7 @@ spreadsheet.load("/some/data").then(function(){ Чтобы загрузить данные из локального источника, используйте метод [](api/spreadsheet_parse_method.md). Передайте [подготовленный набор данных](#preparing-data) в качестве параметра этого метода: ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet"); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.parse(data); ~~~ diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/localization.md b/i18n/ru/docusaurus-plugin-content-docs/current/localization.md index 35c10690..8d668193 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/localization.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/localization.md @@ -1,7 +1,7 @@ --- sidebar_label: Локализация title: Локализация -description: Вы можете узнать о локализации библиотеки DHTMLX JavaScript Spreadsheet в документации. Изучите руководства разработчика и справочник API, ознакомьтесь с примерами кода и живыми демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Локализация DHTMLX Spreadsheet. Изучите локаль по умолчанию, создайте собственную, переведите встроенные виджеты и всплывающее окно формул и примените локаль. --- # Локализация {#localization} @@ -23,6 +23,8 @@ const en = { textColor: "Text color", backgroundColor: "Background color", + fontSize: "Font size", + bold: "Bold", italic: "Italic", underline: "Underline", @@ -60,6 +62,10 @@ const en = { addRow: "Add row above", removeRow: "Remove row {row}", removeRows: "Remove rows {row}", + columnWidth: "Column width", + rowHeight: "Row height", + widthInPixels: "Width in pixels", + heightInPixels: "Height in pixels", row: "row", col: "col", freeze: "Freeze", @@ -82,8 +88,10 @@ const en = { text: "Text", date: "Date", time: "Time", + scientific: "Scientific", filter: "Filter", + openFilter: "Open filter", help: "Help", @@ -104,6 +112,9 @@ const en = { border_style: "Border style", // Tabbar + // the name of a new sheet is this prefix followed by a number: sheet1, sheet2 + defaultSheetName: "sheet", + addSheet: "Add sheet", deleteSheet: "Delete", renameSheet: "Rename", renameSheetAlert: "A sheet with the name $name already exists. Please enter another name. ", @@ -114,10 +125,14 @@ const en = { export: "Export", downloadAs: "Download as...", importAs: "Import as...", + xlsxFormat: "Microsoft Excel(.xlsx)", data: "Data", validation: "Data validation", search: "Search", + previousMatch: "Previous match", + nextMatch: "Next match", + closeSearch: "Close search", sort: "Sort", ascSort: "Sort A to Z", descSort: "Sort Z to A", @@ -177,17 +192,105 @@ const en = { spanUnmergeLockedError: "You can't unmerge locked cells!", spanOverFilteredRow: "You can't merge cells over a filtered row.", removeAlert: "You can't remove last $name!", + wasmNotSupported: "WebAssembly is not supported by your browser", + invalidValue: "Invalid value", + + // Accessible names, read by screen readers + // accessible name of a color button; {label} is the name of the control, {color} is a name from the colorpicker locale + aria_colorButton: "{label}: {color}", + // accessible names of the toolbars; the screen reader adds the word "toolbar" itself + aria_toolbarFormatting: "Formatting", + aria_toolbarBorders: "Borders", + aria_toolbarSheets: "Sheets", + aria_toolbarSearch: "Search", + aria_toolbarLink: "Link", + // accessible names of the line styles in the border style list + aria_borderStyleThin: "Thin line", + aria_borderStyleMedium: "Medium line", + aria_borderStyleThick: "Thick line", + aria_borderStyleDashed: "Dashed line", + aria_borderStyleDotted: "Dotted line", + aria_borderStyleDouble: "Double line", + // accessible names of the context menus; the screen reader adds the word "menu" itself + aria_cellMenu: "Cell", + aria_sheetMenu: "Sheet", + // accessible name of the menu bar; the screen reader adds the words "menu bar" itself + aria_menuBar: "Main", + // accessible name of the cell grid; the screen reader adds the word "grid" itself + aria_grid: "Spreadsheet", + // accessible name of the select-all corner, the first column header + aria_selectAll: "Select all", + // accessible name of the formula bar; {cell} is the address of the cell it shows, for example "B7" + aria_formulaBar: "Formula bar, {cell}", + // accessible name of the input that edits a cell; {cell} is the address of the cell, for example "B7" + aria_cellEditor: "Cell editor, {cell}", + // accessible name of the close icon of the formula help panel + aria_closeFormulaHelp: "Close formula help", + + // Cell descriptions, read with the content of the active cell + // read with the content of a cell that has a filter icon; the icon itself is hidden from assistive technology + aria_filter: "Filter", + aria_filterApplied: "Filter applied", + // read after the content of a selected cell that holds a link; Alt+Enter opens the link + aria_cellLink: "link", + // read after the content of a selected locked cell; the lock icon itself is hidden from assistive technology + aria_lockedState: "locked", + // read after the value of a cell with a formula error; the formula engine writes the error as #ERROR, #REF! or #SPILL! + aria_errorSyntax: "Syntax error. Check the formula", + aria_errorCalc: "Calculation error. Check the values and functions", + aria_errorRef: "Reference error. Check the cell references", + aria_errorSpill: "Spill error. Clear the cells the result needs", + // read after the value of a cell that breaks its list validation + aria_invalidValue: "Invalid value. Choose a value from the list", + + // Screen reader announcements + // announced when an editing key is pressed in the read-only mode + aria_readonlySheet: "The sheet is read-only", + // announced when Ctrl+Shift+9 or Ctrl+Shift+0 finds nothing to reveal + aria_noHiddenRows: "No hidden rows in the selection", + aria_noHiddenCols: "No hidden columns in the selection", + // announced when a selection of several cells changes; {range} is built from aria_rangeExtent + aria_selectedRange: "{range}, {count} cells", + aria_rangeExtent: "{start} to {end}", + // joins the ranges of a selection made with Ctrl + aria_rangeSeparator: ", ", + // announced after an action; {message} is one of the texts above + aria_cellMessage: "{cell}: {message}", + // announced when an action makes several errors appear; {first} is aria_cellMessage for the first of them + aria_newErrors: "{count} new errors. {first}", + // announced when an action puts several invalid values; {first} is aria_cellMessage for the first of them + aria_invalidValues: "{count} invalid values. {first}", + // announced once when an edit of a locked cell is refused; the second one when a range holds locked cells + aria_lockedCell: "The cell is locked", + aria_lockedCells: "Locked cells were not changed", + // announced when the search text changes; followed by aria_searchMatch for the first match + aria_searchResults: "Results: {count}.", + // announced for the current match; {cell} is its address, for example "B7" + aria_searchMatch: "{index} of {count}, {cell}", + aria_searchNoResults: "No results", + // announced when an export or an import of a file starts and ends + aria_exportStarted: "Exporting the file", + aria_exportDone: "The file is exported", + aria_importStarted: "Importing the file", + aria_importDone: "The file is imported", + // announced when the column width or the row height command is applied; {size} is the applied size + aria_columnWidthSet: "Column width set to {size} pixels", + aria_rowHeightSet: "Row height set to {size} pixels", }; ~~~ +Ключи, которые начинаются с `aria_`, не отображаются в интерфейсе. Скринридеры озвучивают их как названия элементов управления, как описания активной ячейки и как сообщения live-региона, который также использует метод [`announce()`](api/spreadsheet_announce_method.md). Части в фигурных скобках, например `{cell}` или `{count}`, заменяются значениями при озвучивании строки. Сохраняйте их в переведённых строках. Пример переведённых строк доступности смотрите в руководстве [Accessibility](accessibility.md#translated-accessibility-strings). + +Ключ `defaultSheetName` задаёт префикс имён листов по умолчанию. Spreadsheet добавляет к нему номер, поэтому значение по умолчанию `"sheet"` даёт имена "sheet1", "sheet2" и так далее. Например, со значением `"Tabelle"` (префикс, который использует Microsoft Excel в немецком языке) листы будут называться "Tabelle1", "Tabelle2" и так далее. + ## Пользовательская локаль {#custom-locale} Чтобы применить другую локаль, необходимо: -- предоставить переводы для всех текстовых меток в Spreadsheet, например для русской локали: +- предоставить переводы для всех текстовых меток в Spreadsheet, например для немецкой локали: ~~~jsx -const ru = { +const de = { // language settings }; ~~~ @@ -195,10 +298,48 @@ const ru = { - применить новую локаль, вызвав метод `dhx.i18n.setLocale()` перед инициализацией Spreadsheet: ~~~jsx -dhx.i18n.setLocale("spreadsheet", ru); +dhx.i18n.setLocale("spreadsheet", de); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +## Локализация встроенных виджетов {#localizing-built-in-widgets} + +Внутри Spreadsheet используются виджеты Calendar, Colorpicker, Grid, Timepicker, Toolbar, Window и Message из DHTMLX Suite. Их строки хранятся в отдельных локалях, которые можно переводить так же, как локаль `spreadsheet`: + +| Локаль | Строки, используемые в Spreadsheet | +| ------ | --------------------------- | +| `calendar` | названия месяцев и дней в редакторе дат и в фильтре по датам | +| `colorpicker` | метки режима пользовательского цвета во всплывающих окнах выбора цвета на панели инструментов, название палитры и названия цветов, которые скринридеры озвучивают для образцов и кнопок цвета, например "Text color: dark gray" | +| `grid` | сообщение о количестве загруженных строк | +| `timepicker` | метки редактора времени | +| `toolbar` | название панели инструментов по умолчанию для скринридеров | +| `window` | название диалогового окна по умолчанию для скринридеров | +| `message` | названия для скринридеров диалогов alert и confirm и их кнопок | + +Вызывайте `dhx.i18n.setLocale()` с названием локали перед инициализацией Spreadsheet, так как панели инструментов, меню и контекстные меню читают локаль при создании: + +~~~jsx +const deColorpicker = { + cancel: "Abbrechen", + select: "Auswählen", + aria_palette: "Farbpalette", + aria_colorRed: "rot", + // other strings +}; + +const deMessage = { + aria_confirm: "Bestätigen" +}; + +dhx.i18n.setLocale("spreadsheet", de); +dhx.i18n.setLocale("colorpicker", deColorpicker); +dhx.i18n.setLocale("message", deMessage); + const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); ~~~ +Ключи локали плоские: передавайте каждый ключ на верхнем уровне объекта. Подробности смотрите в статье [Localization of screen-reader strings](https://docs.dhtmlx.com/suite/common_features/accessibility_support/#localization-of-screen-reader-strings) документации DHTMLX Suite. + ## Локаль формул по умолчанию {#default-locale-for-formulas} Объект `dhx.i18n.formulas` содержит локаль i18n для всплывающего окна формул Spreadsheet. Локаль формул по умолчанию выглядит следующим образом: diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/merge_cells.md b/i18n/ru/docusaurus-plugin-content-docs/current/merge_cells.md index dffe6394..ba346b1a 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/merge_cells.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/merge_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: Объединение ячеек title: Объединение ячеек -description: Вы можете узнать об объединении ячеек в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучите руководства разработчика и справочник API, ознакомьтесь с примерами кода и живыми демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Объединение и разделение ячеек в DHTMLX Spreadsheet через панель инструментов или меню Format, а также как удаление строк и столбцов влияет на объединённые ячейки. --- # Объединение ячеек {#merging-cells} @@ -45,3 +45,13 @@ description: Вы можете узнать об объединении ячее 2\. Перейдите в меню: *Format -> Unmerge* ![Меню Format в DHTMLX Spreadsheet с пунктом Unmerge для разделения объединённых ячеек](/img/unmerge_cells_via_menu.png) + +## Удаление строк и столбцов с объединёнными ячейками {#removing-rows-and-columns-of-merged-cells} + +Если удалить строку или столбец через объединённую ячейку, будут удалены все строки или столбцы, которые охватывает эта ячейка. Это работает так, когда выбрана ячейка или диапазон ячеек, а строка или столбец удаляется через панель инструментов, меню, контекстное меню или методы [`deleteRow()`](api/spreadsheet_deleterow_method.md) / [`deleteColumn()`](api/spreadsheet_deletecolumn_method.md). В контекстном меню название команды показывает весь диапазон, например, *Удалить строки 2-4*. + +![Контекстное меню DHTMLX Spreadsheet с подменю «Строки» и командой «Удалить строки 2-4» для объединённой ячейки](/img/remove_merged_rows_context_menu.png) + +Если выделены целые строки или столбцы, например, щелчком по их заголовкам или с помощью `Shift + Space` или `Ctrl (Cmd) + Space`, удаляются только выделенные строки или столбцы. Объединённая ячейка, которая их охватывает, становится меньше, а объединённая ячейка, в которой осталась одна ячейка, становится обычной ячейкой. + +Объединённые ячейки, расположенные ниже или правее удаляемых строк или столбцов, смещаются вместе с ними. diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/migration.md b/i18n/ru/docusaurus-plugin-content-docs/current/migration.md index c080a07b..0508a8db 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/migration.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/migration.md @@ -1,7 +1,7 @@ --- sidebar_label: Миграция на новые версии title: Миграция -description: Вы можете узнать о миграции в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучите руководства разработчика и справочник API, ознакомьтесь с примерами кода и живыми демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Перейдите на новую версию DHTMLX Spreadsheet, сверившись со списком устаревших, изменённых и удалённых свойств, методов и событий каждой версии и их замен. --- # Миграция на новые версии {#migration-to-newer-versions} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/number_formatting.md b/i18n/ru/docusaurus-plugin-content-docs/current/number_formatting.md index 683a3bf5..37341bce 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/number_formatting.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/number_formatting.md @@ -1,7 +1,7 @@ --- sidebar_label: Форматирование чисел title: Форматирование чисел -description: Вы можете изучить руководство разработчика по форматированию чисел в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучите руководства разработчика и справочник API, ознакомьтесь с примерами кода и живыми демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Применяйте к значениям ячеек в DHTMLX Spreadsheet числовой, денежный, процентный, экспоненциальный форматы, форматы даты и времени, локализуйте их, создавайте пользовательские маски формата и задавайте или получайте формат ячейки. --- # Форматирование чисел {#number-formatting} @@ -107,7 +107,7 @@ spreadsheet.parse({ Например, настройки локализации по умолчанию можно изменить следующим образом: ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { localization: { decimal: ",", thousands: " ", diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/number_formatting_guide.md b/i18n/ru/docusaurus-plugin-content-docs/current/number_formatting_guide.md index f81917aa..4eede895 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/number_formatting_guide.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/number_formatting_guide.md @@ -1,7 +1,7 @@ --- sidebar_label: Форматирование чисел title: Руководство по форматированию чисел -description: Вы можете изучить руководство пользователя по форматированию чисел в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучите руководства разработчика и справочник API, ознакомьтесь с примерами кода и живыми демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Выберите формат чисел для значений ячеек в DHTMLX Spreadsheet на панели инструментов, например числовой, денежный, процентный, формат даты, времени или текста. --- # Форматирование чисел {#number-formatting} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/react/overview.md b/i18n/ru/docusaurus-plugin-content-docs/current/react/overview.md index 57f138eb..196e0bb0 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/react/overview.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/react/overview.md @@ -96,8 +96,8 @@ import "@dhx/react-spreadsheet/spreadsheet.react.css"; | Категория | Пропсы | Что происходит при изменении | |----------|-------|----------------------| -| **Только для инициализации** | `menu`, `editLine`, `toolbarBlocks`, `multiSheets`, `formats`, `localization`, `importModulePath`, `exportModulePath`, `spreadsheetLocale` | Виджет уничтожается и пересоздаётся. Данные таблицы сохраняются, но история отмены/повтора и состояние интерфейса (выделение, позиция прокрутки) сбрасываются. | -| **Во время выполнения** | `readonly`, `rowsCount`, `colsCount` | Применяются немедленно без потери данных или сброса состояния интерфейса. | +| **Только для инициализации** | `menu`, `editLine`, `toolbarBlocks`, `multiSheets`, `formats`, `localization`, `importModulePath`, `exportModulePath`, `spreadsheetLocale`, `readonly` | Виджет уничтожается и пересоздаётся. Данные таблицы сохраняются, но история отмены/повтора и состояние интерфейса (выделение, позиция прокрутки) сбрасываются. | +| **Во время выполнения** | `selection`, `rowsCount`, `colsCount` | Применяются немедленно без потери данных или сброса состояния интерфейса. | | **Данные** | `sheets`, `activeSheet` | Применяются инкрементально; обновляются только изменённые ячейки, диапазоны или настройки. | | **Повторная обработка** | `styles` | Изменения стилей требуют полной перезагрузки данных. Данные таблицы сохраняются, но история отмены/повтора и состояние интерфейса сбрасываются. | | **Состояние** | `search`, `theme`, `loadUrl` | Применяются через специализированные API виджета без побочных эффектов. | @@ -198,6 +198,10 @@ function App() { Свойство `instance` равно `null` до инициализации виджета и после его размонтирования. +:::info +Обработчики, добавленные через `ref.current.instance.events.on()`, удаляются при пересоздании виджета после изменения пропса, доступного только для инициализации, и при размонтировании компонента. Используйте [пропсы колбэков событий](react/events.md): компонент подключает их к каждому новому экземпляру виджета. +::: + ## Справочник API {#api-reference} | Документ | Содержание | diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/react/props.md b/i18n/ru/docusaurus-plugin-content-docs/current/react/props.md index 41bd20a5..876e7a1a 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/react/props.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/react/props.md @@ -25,6 +25,7 @@ description: "Полный справочник всех пропсов комп | `importModulePath` | `string` | Путь к модулю импорта XLSX. JS API: [`importModulePath`](api/spreadsheet_importmodulepath_config.md). | | `exportModulePath` | `string` | Путь к модулю экспорта XLSX. JS API: [`exportModulePath`](api/spreadsheet_exportmodulepath_config.md). | | `spreadsheetLocale` | [`SpreadsheetLocale`](react/types.md#spreadsheetlocale) | Переводы интерфейса и локализованные имена формул. Отдельно от `localization`. | +| `readonly` | `boolean` | Включить режим только для чтения. Пользователи могут перемещаться по ячейкам, выделять, копировать их и выполнять поиск, а редактирование отклоняется. JS API: [`readonly`](api/spreadsheet_readonly_config.md). | @@ -40,7 +41,7 @@ description: "Полный справочник всех пропсов комп |------|------|-------------| | `rowsCount` | `number` | Количество строк в сетке. JS API: [`rowsCount`](api/spreadsheet_rowscount_config.md). | | `colsCount` | `number` | Количество столбцов в сетке. JS API: [`colsCount`](api/spreadsheet_colscount_config.md). | -| `readonly` | `boolean` | Включить режим только для чтения. JS API: [`readonly`](api/spreadsheet_readonly_config.md). | +| `selection` | `boolean` | Включить и отключить выделение ячеек. По умолчанию: `true`. При значении `false` в таблице нет активной ячейки, а ячейки нельзя выделять и редактировать из интерфейса. JS API: [`selection`](api/spreadsheet_selection_config.md). | ## Пропсы данных {#data-props} @@ -225,10 +226,18 @@ const [theme, setTheme] = useState("light"); ### Режим только для чтения {#read-only-mode} +В режиме только для чтения пользователи могут перемещаться по ячейкам с клавиатуры, выделять их мышью, копировать и выполнять поиск. Редактирование отклоняется, о чём сообщается программам экранного доступа. Поскольку `readonly` относится к пропсам только для инициализации, его изменение пересоздаёт виджет. Данные сохраняются, а история отмены/повтора и состояние интерфейса (выделение, позиция прокрутки) сбрасываются. + ~~~tsx ~~~ +Чтобы отключить также навигацию с клавиатуры и выделение, добавьте `selection={false}`. Пропс `selection` применяется во время выполнения, поэтому его можно переключать без пересоздания виджета: + +~~~tsx + +~~~ + ### Загрузка данных по URL {#loading-data-from-url} ~~~tsx diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/react/themes.md b/i18n/ru/docusaurus-plugin-content-docs/current/react/themes.md index 1e840152..d87b0192 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/react/themes.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/react/themes.md @@ -77,6 +77,9 @@ DHTMLX Spreadsheet использует многоуровневую систе /* цвета диапазонов таблицы */ --dhx-spreadsheet-range-background-1: #bee3f8; --dhx-spreadsheet-range-color-1: #2b6cb0; + + /* keyboard focus outline of the formula bar and the toolbar controls */ + --dhx-spreadsheet-focus-color: #2b6cb0; } ~~~ diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/react/types.md b/i18n/ru/docusaurus-plugin-content-docs/current/react/types.md index 6dcd711b..3f35cd45 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/react/types.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/react/types.md @@ -188,6 +188,13 @@ ref.current?.instance?.selection.setSelectedCell("A1:C5"); // Отмена/возврат ref.current?.instance?.undo(); ref.current?.instance?.redo(); + +// Turn the selection off and on +ref.current?.instance?.selection.disable(); +ref.current?.instance?.selection.enable(); + +// Send a status message to screen readers +ref.current?.instance?.announce("The report is saved"); ~~~ ## Перечисление Actions {#actions-enum} @@ -270,6 +277,7 @@ type SpreadsheetConfigProps = Omit< | `IStylesList` | Карта определений стилей. | | `IDataWithStyles` | Структура данных со встроенными стилями (используется `serialize()`/`parse()`). | | `ICellInfo` | Информация о ячейке, возвращаемая методами виджета. | +| `ISelection` | Интерфейс модуля выделения (`instance.selection`), включая методы [`enable()`](api/selection_enable_method.md), [`disable()`](api/selection_disable_method.md) и [`isDisabled()`](api/selection_isdisabled_method.md). | | `FileFormat` | Формат файла для загрузки данных (например, `"json"` или `"xlsx"`). | | `ToolbarBlocks` | Идентификаторы блоков панели инструментов (например, `"default"`, `"undo"` или `"font"`). | | `FilterConditions` | Перечисление доступных типов условий фильтрации. | diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/sorting_data.md b/i18n/ru/docusaurus-plugin-content-docs/current/sorting_data.md index 48df426e..88736fdb 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/sorting_data.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/sorting_data.md @@ -1,7 +1,7 @@ --- sidebar_label: Сортировка данных title: Сортировка данных -description: Вы можете узнать о сортировке данных в документации библиотеки DHTMLX JavaScript Spreadsheet. Изучите руководства разработчика и справочник API, ознакомьтесь с примерами кода и живыми демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Сортируйте данные в DHTMLX Spreadsheet от A до Z или от Z до A по столбцу или по выделенному диапазону ячеек с помощью команды сортировки контекстного меню. --- # Сортировка данных {#sorting-data} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/svelte_integration.md b/i18n/ru/docusaurus-plugin-content-docs/current/svelte_integration.md index 87747ef8..a05763b1 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/svelte_integration.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/svelte_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: Интеграция со Svelte title: Интеграция со Svelte -description: Вы можете узнать об интеграции DHTMLX JavaScript Spreadsheet со Svelte в документации. Изучите руководства разработчика и справочник API, ознакомьтесь с примерами кода и живыми демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Используйте DHTMLX Spreadsheet в приложении Svelte. Создайте проект, добавьте Spreadsheet как компонент Svelte, загрузите данные и обработайте события. --- # Интеграция со Svelte {#integration-with-svelte} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md b/i18n/ru/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md index 2c683fe7..eb8352d1 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md @@ -1,7 +1,7 @@ --- sidebar_label: Настройка встроенных тем title: Настройка встроенных тем -description: Вы можете изучить настройку тем в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Измените цвета встроенных тем DHTMLX Spreadsheet, переопределив их CSS-переменные, для всех тем сразу или для отдельной темы. --- # Настройка встроенных тем {#configuring-built-in-themes} @@ -94,7 +94,7 @@ CSS-переменные темы [по умолчанию](/themes/#light-theme diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/themes/custom_theme.md b/i18n/ru/docusaurus-plugin-content-docs/current/themes/custom_theme.md index 0196273c..7e6fceba 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/themes/custom_theme.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/themes/custom_theme.md @@ -1,7 +1,7 @@ --- sidebar_label: Пользовательская тема title: Пользовательская тема -description: Вы можете узнать, как создать пользовательскую тему, в документации библиотеки DHTMLX JavaScript Spreadsheet. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Создайте собственную цветовую тему для DHTMLX Spreadsheet с помощью CSS-переменных и примените её методом dhx.setTheme(). --- # Пользовательская тема {#custom-theme} @@ -88,7 +88,7 @@ description: Вы можете узнать, как создать пользо diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/themes/themes.md b/i18n/ru/docusaurus-plugin-content-docs/current/themes/themes.md index f18841b9..1c956ff4 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/themes/themes.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/themes/themes.md @@ -1,7 +1,7 @@ --- sidebar_label: Встроенные темы title: Встроенные темы -description: Вы можете узнать о встроенных темах библиотеки DHTMLX JavaScript Spreadsheet в документации. Просматривайте руководства разработчика и справочник API, изучайте примеры кода и живые демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: "Встроенные темы DHTMLX Spreadsheet: светлая и тёмная, а также их высококонтрастные варианты. Узнайте о CSS-переменных, специфичных для Spreadsheet, и о том, как установить тему." --- # Встроенные темы {#built-in-themes} @@ -13,7 +13,7 @@ description: Вы можете узнать о встроенных темах - [светлая высококонтрастная тема](#light-high-contrast-theme) ("contrast-light") - [тёмная высококонтрастная тема](#dark-high-contrast-theme) ("contrast-dark") -Темы Spreadsheet разработаны в соответствии с международными стандартами. Высококонтрастные темы помогают пользователям с нарушениями зрения. Подробнее читайте в статье [Поддержка доступности](https://docs.dhtmlx.com/suite/common_features/accessibility_support/). +Темы Spreadsheet разработаны в соответствии с международными стандартами. Высококонтрастные темы помогают пользователям с нарушениями зрения. О контрастности тем и индикаторе фокуса клавиатуры в Spreadsheet см. раздел [Высокий контраст и фокус](accessibility.md#high-contrast-and-focus) руководства по доступности. О доступности виджетов DHTMLX Suite читайте в статье [Поддержка доступности](https://docs.dhtmlx.com/suite/common_features/accessibility_support/). Все темы можно попробовать в примере ниже: @@ -377,14 +377,15 @@ description: Вы можете узнать о встроенных темах --dhx-spreadsheet-range-background-8: #ecb6ff; --dhx-spreadsheet-range-color-1: #00815a; - --dhx-spreadsheet-range-color-2: #bfc000; - --dhx-spreadsheet-range-color-3: #c55933; - --dhx-spreadsheet-range-color-4: #0cc1d6; - --dhx-spreadsheet-range-color-5: #0080a3; - --dhx-spreadsheet-range-color-6: #529a0a; + --dhx-spreadsheet-range-color-2: #8b7300; + --dhx-spreadsheet-range-color-3: #a34729; + --dhx-spreadsheet-range-color-4: #007a8c; + --dhx-spreadsheet-range-color-5: #135db1; + --dhx-spreadsheet-range-color-6: #2f6500; --dhx-spreadsheet-range-color-7: #6d767b; - --dhx-spreadsheet-range-color-8: #ba38e7; + --dhx-spreadsheet-range-color-8: #b82fe5; + --dhx-spreadsheet-focus-color: var(--dhx-color-primary); } ~~~ @@ -411,6 +412,17 @@ description: Вы можете узнать о встроенных темах --dhx-spreadsheet-range-color-7: #e4e4e4; --dhx-spreadsheet-range-color-8: #ecb6ff; + --dhx-spreadsheet-focus-color: hsl(var(--dhx-h-primary), var(--dhx-s-primary), calc(var(--dhx-l-primary) + 12% - var(--dhx-l-contrast-offset))); +} +~~~ + +Переменные `--dhx-spreadsheet-range-color-*` и `--dhx-spreadsheet-range-background-*` задают цвета, которыми отмечаются ссылки на ячейки в формуле во время её редактирования. В светлых темах цвета `--dhx-spreadsheet-range-color-*` имеют контрастность не менее 4.5:1 относительно фона строки формул. + +Переменная `--dhx-spreadsheet-focus-color` задаёт цвет контура фокуса клавиатуры строки формул и элементов панели инструментов, строки меню, вкладок листов, всплывающего окна Border, всплывающего окна ссылки и строки поиска. В тёмных темах этот цвет светлее основного, чтобы контур сохранял контрастность не менее 3:1. Переменную можно переопределить в [пользовательской теме](themes/custom_theme.md): + +~~~css +[data-dhx-theme='custom-theme-dark'] { + --dhx-spreadsheet-focus-color: #7fc8ff; } ~~~ @@ -426,7 +438,7 @@ description: Вы можете узнать о встроенных темах ~~~html title="index.html" -
+
~~~ - установить атрибут `data-dhx-theme` для HTML-элемента, например для `documentElement`: @@ -453,31 +465,31 @@ document.documentElement.setAttribute("data-dhx-theme", "dark"); - установка темы для body или контейнера ~~~html -
+
Other content
~~~ - установка темы для контейнера, указанного через HTMLElement ~~~html -
+
Other content
~~~ diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/using_typescript.md b/i18n/ru/docusaurus-plugin-content-docs/current/using_typescript.md index 10620877..1850af32 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/using_typescript.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/using_typescript.md @@ -1,7 +1,7 @@ --- sidebar_label: Поддержка TypeScript title: Поддержка TypeScript -description: Вы можете узнать об использовании TypeScript с библиотекой DHTMLX JavaScript Spreadsheet в документации. Изучите руководства разработчика и справочник API, ознакомьтесь с примерами кода и живыми демо, а также скачайте бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Используйте встроенные определения TypeScript в DHTMLX Spreadsheet для проверки типов, автодополнения и подсказок JSDoc в IDE. --- # Поддержка TypeScript {#typescript-support} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/vuejs_integration.md b/i18n/ru/docusaurus-plugin-content-docs/current/vuejs_integration.md index df41a633..4639cfe5 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/vuejs_integration.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/vuejs_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: Интеграция с Vue title: Интеграция с Vue -description: В документации вы можете узнать об интеграции библиотеки DHTMLX JavaScript Spreadsheet с Vue. Изучите руководства для разработчиков и справочник API, попробуйте примеры кода и живые демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Используйте DHTMLX Spreadsheet в приложении Vue. Создайте проект, добавьте Spreadsheet как компонент Vue, загрузите данные и обработайте события. --- # Интеграция с Vue {#integration-with-vue} @@ -260,6 +260,10 @@ export default { //... ~~~ +:::info +Метод `destructor()` удаляет обработчики событий, добавленные через `spreadsheet.events.on()`. При создании нового экземпляра Spreadsheet, например при повторном создании компонента, подключите обработчики к новому экземпляру. +::: + После этого можно запустить приложение и увидеть Spreadsheet с данными на странице. ![DHTMLX Spreadsheet, инициализированный с примером данных в приложении Vue 3](/img/integrations/trial_spreadsheet.png) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/whats_new.md b/i18n/ru/docusaurus-plugin-content-docs/current/whats_new.md index b3fba1a0..2ff28cae 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/whats_new.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/whats_new.md @@ -1,13 +1,78 @@ --- sidebar_label: Что нового title: Что нового в DHTMLX Spreadsheet -description: В документации вы можете узнать, что нового в библиотеке DHTMLX JavaScript Spreadsheet. Изучите руководства для разработчиков и справочник API, попробуйте примеры кода и живые демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Список изменений DHTMLX Spreadsheet с новыми возможностями, обновлениями, исправлениями и критическими изменениями каждой версии. --- # Что нового {#whats-new} Если вы обновляете Spreadsheet с более ранней версии, ознакомьтесь с [Миграцией на новую версию](migration.md). +## Версия 6.0.4 {#version-604} + +Выпущена 2 ноября 2026 года + +### Новый функционал {#new-functionality-604} + +- Поддержка доступности, ориентированная на WCAG 2.2 AA, Section 508 и EN 301 549: управление всеми частями Spreadsheet с клавиатуры, поддержка программ чтения с экрана и видимый фокус во всех темах. См. руководство [Доступность](accessibility.md) и [Отчёт о соответствии требованиям доступности](accessibility_conformance_report.md) +- Возможность отключать и включать выделение ячеек: + - новое свойство конфигурации: [`selection`](api/spreadsheet_selection_config.md) + - новые методы модуля selection: [`enable()`](api/selection_enable_method.md), [`disable()`](api/selection_disable_method.md), [`isDisabled()`](api/selection_isdisabled_method.md) +- Метод [`announce()`](api/spreadsheet_announce_method.md) отправляет статусное сообщение программам чтения с экрана +- Новые команды [контекстного меню](customization.md#context-menu): [*Ширина столбца*, *Высота строки*](work_with_rows_cols.md#setting-column-width-and-row-height) и [*Открыть фильтр*](filtering_data.md#opening-a-filter-with-the-keyboard) + +### Обновления {#updates-604} + +- Навигация с клавиатуры (см. [Список горячих клавиш](hotkeys.md)): + - фокус остаётся на активной ячейке, `Tab` и `Shift + Tab` выводят фокус из последней и первой ячейки листа, а `Ctrl + F6` перемещает фокус между меню, панелью инструментов, листом и вкладками листов + - панель инструментов, строка меню и вкладки листов являются единой точкой табуляции, а навигация по ним выполняется стрелками + - добавлены новые сочетания клавиш, например, `Shift + F10` для контекстного меню и `Ctrl (Cmd) + Shift + 9` / `Ctrl (Cmd) + Shift + 0` для отображения скрытых строк и столбцов + - всплывающие окна выбора цвета и границ на панели инструментов получают фокус при открытии и закрываются по `Esc` и `Tab` +- Стрелки останавливаются на первой и последней видимой строке и столбце, а не переходят к противоположному краю, а нажатие стрелки на краю сокращает выделенный диапазон до активной ячейки +- Текст, введённый через редактор метода ввода (IME), отображается в активной ячейке и запускает редактирование через метод [`startEdit()`](api/spreadsheet_startedit_method.md), поэтому для него срабатывают события `beforeEditStart` и `afterEditStart` +- Метод [`setFocusedCell()`](api/selection_setfocusedcell_method.md) перемещает фокус клавиатуры на ячейку +- [Ссылка в ячейке](work_with_cells.md#inserting-a-hyperlink-into-a-cell) отображается как настоящая ссылка, которая открывается в новой вкладке, а `Alt (Option) + Enter` открывает ссылку активной ячейки +- [Режим только для чтения](api/spreadsheet_readonly_config.md) сохраняет навигацию с клавиатуры, выделение, копирование и поиск, а программы чтения с экрана озвучивают отклонённые изменения. Чтобы отключить выделение, используйте опцию `selection: false` +- [Удаление строки или столбца через объединённую ячейку](merge_cells.md#removing-rows-and-columns-of-merged-cells) удаляет все строки или столбцы объединённой ячейки +- Новые строки интерфейса и программ чтения с экрана в [локали `spreadsheet`](localization.md#default-locale), а также [перевод встроенных виджетов](localization.md#localizing-built-in-widgets) +- Переменная [`--dhx-spreadsheet-focus-color`](/themes/#spreadsheet-specific-styles) для фокуса клавиатуры и цвета ссылок на ячейки в формулах с более высокой контрастностью в светлых темах + +### Исправления {#fixes-604} + +- Объединённая ячейка удалялась вместо смещения, когда удалялась строка или столбец перед ней. Теперь объединённая ячейка, в которой осталась одна ячейка, становится обычной ячейкой и сохраняет своё значение +- Удаление строки или столбца через объединённую ячейку удаляло только одну линию объединения +- Подписи контекстного меню для удаления строк и столбцов не показывали все строки или столбцы объединённой ячейки, которые будут удалены +- Строки не удалялись, если они охватывали весь отфильтрованный диапазон +- Закреплённая область не уменьшалась при удалении закреплённых строк или столбцов +- Автозаполнение выбрасывало ошибку, если в перетаскиваемых ячейках не было простого числа +- Страница зависала при нажатии `Home`, `End`, `Ctrl (Cmd) + Home`, `Ctrl (Cmd) + End` и `Ctrl (Cmd) + Стрелка`, когда первая или последняя строка или столбец были скрыты +- Размер шрифта терялся при копировании ячеек в Excel, вставке из Excel или внутри Spreadsheet +- Всплывающая подсказка о недопустимом значении появлялась вдали от недопустимой ячейки или не показывалась +- `Esc` и `Tab` не работали в редакторе списка после использования стрелок +- Поиск сначала подсвечивал второе совпадение и не обновлял результаты после редактирования или переключения листа +- Ошибка скрипта при импорте или экспорте в браузере без WebAssembly +- Слушатели документа и внутренние виджеты оставались после вызова `destructor()` +- Фокус клавиатуры терялся после закрытия строки поиска +- Закрытое контекстное меню открывалось снова +- Активная ячейка прокручивалась на одну ячейку короче до края области просмотра при навигации с клавиатуры +- Формула с недопустимой ссылкой показывала искажённую или повторяющуюся ошибку `#REF!` вместо одной `#REF!` + +### React Spreadsheet {#react-spreadsheet-604} + +React Spreadsheet включает все обновления и исправления Spreadsheet, перечисленные выше. Ниже приведены изменения, относящиеся только к обёртке React. + +#### Обновления {#react-updates-604} + +- Новое свойство [`selection`](react/props.md#runtime-props) +- Тип [`ISelection`](react/types.md#re-exported-upstream-types) реэкспортируется +- [`readonly`](react/props.md#init-only-props) стало свойством, задаваемым только при инициализации + +#### Исправления {#react-fixes-604} + +- Обратные вызовы событий и `onStateChange` не срабатывали после пересоздания Spreadsheet из-за изменения свойства, задаваемого только при инициализации +- Обработчики событий обёртки не удалялись при размонтировании +- Данные из `loadUrl` загружались дважды при монтировании и повторно поверх сохранённых данных после пересоздания Spreadsheet + ## Версия 6.0.3 {#version-603} Выпущена 24 августа 2026 года diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/work_with_cells.md b/i18n/ru/docusaurus-plugin-content-docs/current/work_with_cells.md index 9699a8b7..89ff1473 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/work_with_cells.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/work_with_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: Редактирование ячеек title: Редактирование ячеек -description: В документации вы можете узнать о работе с ячейками в библиотеке DHTMLX JavaScript Spreadsheet. Изучите руководства для разработчиков и справочник API, попробуйте примеры кода и живые демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Редактирование ячеек в DHTMLX Spreadsheet. Ввод содержимого, вставка гиперссылок, использование выпадающих списков, заполнение нескольких ячеек, копирование ячеек в Excel и из Excel, блокировка ячеек. --- # Редактирование ячеек {#editing-cells} @@ -138,21 +138,34 @@ description: В документации вы можете узнать о ра - копирование значения -​Например, чтобы создать ряд 4,4,4,4..., введите 4 только в первой ячейке. +Например, чтобы создать ряд 4,4,4,4..., введите 4 только в первой ячейке. - следование шаблону - чтобы создать ряд 1, 2, 3, 4, 5, ..., введите 1 и 2 в первые две ячейки. - чтобы создать ряд 1, 3, 5, 7, 9, ..., введите 1 и 3 в первые две ячейки. - чтобы создать ряд 2, 4, 6, 8, 10, ..., введите 2 и 4 в первые две ячейки. - помимо чисел, в шаблоне можно использовать буквы, например, чтобы создать ряд 1, a, 2, b, 3, a, 4, b, ..., введите 1, a, 2, b в первые четыре ячейки. + - чтобы продолжить число в конце текста, введите первые значения, например, чтобы создать ряд item1, item2, item3, ..., введите item1 и item2 в первые две ячейки. + - чтобы создать ряд дат, введите дату в первую ячейку: каждая следующая ячейка получит следующий день. +- повторение текста + +Например, чтобы создать ряд North, South, North, South, ..., введите North и South в первые две ячейки. Числа в ячейках с форматом *Text* повторяются так же. 3\. Перетащите **маркер заполнения** ![Автозаполнение в DHTMLX Spreadsheet, перетаскивание маркера заполнения для копирования данных ячейки](/img/autofill.gif) +## Копирование ячеек в Excel и из Excel {#copying-cells-to-and-from-excel} + +Вы можете копировать ячейки с помощью **Ctrl (Cmd) + C** и вставлять их с помощью **Ctrl (Cmd) + V** внутри Spreadsheet, а также между Spreadsheet и Microsoft Excel: + +- внутри Spreadsheet ячейки сохраняют значения, формулы, стили, числовые форматы и ссылки. Ссылки на ячейки в формулах смещаются на новую позицию +- в Excel вставленные ячейки получают значения (результаты формул, а не сами формулы), стили (включая размер шрифта), объединённые ячейки и ссылки. Строки, скрытые фильтром, пропускаются +- ячейки, скопированные из Excel, при вставке в Spreadsheet сохраняют значения, стили (включая размер шрифта), числовые форматы, объединённые ячейки и ссылки + ## Блокировка ячеек {#locking-cells} -Вы можете блокировать ячейки, чтобы защитить их значения от изменений. При блокировке ячейки в её правом верхнем углу появляется серый значок «замка». Заблокированные ячейки не реагируют на попытки их редактирования. +Вы можете блокировать ячейки, чтобы защитить их значения от изменений. При блокировке ячейки в её правом верхнем углу появляется серый значок «замка». Заблокированные ячейки не реагируют на попытки их редактирования. Программы чтения с экрана озвучивают отклонённое редактирование: «The cell is locked» для одной ячейки или «Locked cells were not changed», если в выделенном диапазоне есть заблокированные ячейки. ![Заблокированные ячейки в DHTMLX Spreadsheet, помеченные серым значком замка в правом верхнем углу](/img/lockedcells.png) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/work_with_rows_cols.md b/i18n/ru/docusaurus-plugin-content-docs/current/work_with_rows_cols.md index f5b28291..e3312e96 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/work_with_rows_cols.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/work_with_rows_cols.md @@ -1,7 +1,7 @@ --- sidebar_label: Работа со строками и столбцами title: Работа со строками и столбцами -description: В документации вы можете узнать о работе со строками и столбцами в библиотеке DHTMLX JavaScript Spreadsheet. Изучите руководства для разработчиков и справочник API, попробуйте примеры кода и живые демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Работа со строками и столбцами в DHTMLX Spreadsheet. Добавление и удаление, автоподбор и установка ширины столбцов и высоты строк, закрепление, скрытие и отображение. --- # Работа со строками и столбцами {#work-with-rows-and-columns} @@ -54,6 +54,10 @@ DHTMLX Spreadsheet позволяет добавлять и удалять ст Чтобы удалить несколько строк одновременно: выделите строки, нажмите правой кнопкой мыши для вызова контекстного меню и выберите *Строки -> Удалить строки [ids]*. ::: +:::info +Если выбранная ячейка находится внутри объединённой ячейки, удаляются все строки этой объединённой ячейки. Подробности см. в статье [Объединение ячеек](merge_cells.md#removing-rows-and-columns-of-merged-cells). +::: + ### Добавление столбцов {#adding-columns} Чтобы добавить новый столбец, выполните следующие шаги: @@ -98,6 +102,10 @@ DHTMLX Spreadsheet позволяет добавлять и удалять ст Чтобы удалить несколько столбцов одновременно: выделите столбцы, нажмите правой кнопкой мыши для вызова контекстного меню и выберите *Столбцы -> Удалить столбцы [ids]*. ::: +:::info +Если выбранная ячейка находится внутри объединённой ячейки, удаляются все столбцы этой объединённой ячейки. Подробности см. в статье [Объединение ячеек](merge_cells.md#removing-rows-and-columns-of-merged-cells). +::: + ## Автоподбор ширины столбца {#autofit-column-width} Чтобы изменить ширину столбца так, чтобы она автоматически соответствовала самому длинному содержимому в столбце, вы можете: @@ -116,6 +124,50 @@ DHTMLX Spreadsheet позволяет добавлять и удалять ст ![Подменю «Столбцы» DHTMLX Spreadsheet с опцией «Подогнать под данные» для автоподбора ширины](/img/column_autofit.png) +## Установка ширины столбцов и высоты строк {#setting-column-width-and-row-height} + +### Установка ширины столбцов {#setting-column-width} + +Чтобы задать точную ширину столбцов, выполните следующие шаги: + +1\. Выделите столбец или ячейку в столбце. Чтобы изменить несколько столбцов, выделите диапазон ячеек, охватывающий их. + +2\. Нажмите правой кнопкой мыши на выделение либо нажмите `Shift + F10` или клавишу Menu и выберите *Столбцы -> Ширина столбца*. Та же команда доступна в меню значка с 3 точками столбца. + +![Контекстное меню DHTMLX Spreadsheet с подменю «Столбцы» и пунктом «Ширина столбца»](/img/column_width_context_menu.png) + +3\. В диалоге *Ширина столбца* введите ширину в пикселях и нажмите **Применить** или клавишу `Enter`. + +![Диалог «Ширина столбца» DHTMLX Spreadsheet с шириной в пикселях и кнопками «Отмена» и «Применить»](/img/column_width_dialog.png) + +### Установка высоты строк {#setting-row-height} + +Чтобы задать точную высоту строк, выполните следующие шаги: + +1\. Выделите строку или ячейку в строке. Чтобы изменить несколько строк, выделите диапазон ячеек, охватывающий их. + +2\. Нажмите правой кнопкой мыши на выделение либо нажмите `Shift + F10` или клавишу Menu и выберите *Строки -> Высота строки*. + +![Контекстное меню DHTMLX Spreadsheet с подменю «Строки» и пунктом «Высота строки»](/img/row_height_context_menu.png) + +3\. В диалоге *Высота строки* введите высоту в пикселях и нажмите **Применить** или клавишу `Enter`. + +![Диалог «Высота строки» DHTMLX Spreadsheet с высотой в пикселях и кнопками «Отмена» и «Применить»](/img/row_height_dialog.png) + +### Как применяется новый размер {#how-the-new-size-is-applied} + +Диалог показывает текущий размер первого столбца или строки выделенного диапазона и применяет новый размер ко всем столбцам или строкам этого диапазона. Если выделено несколько диапазонов, используется последний выделенный диапазон. + +Размер округляется до целых пикселей. Минимальная ширина столбца составляет 20 px, а минимальная высота строки - 10 px: меньшее положительное значение заменяется минимальным. Пока поле пусто или значение не является положительным числом, кнопка **Применить** неактивна. + +Кнопка **Отмена** или клавиша `Esc` закрывает диалог без изменений. Программы чтения с экрана озвучивают новый размер, например, «Column width set to 120 pixels». + +### Отмена изменения {#undoing-the-change} + +Новый размер можно отменить с помощью `Ctrl (Cmd) + Z`. + +Чтобы обработать изменение в коде, используйте [действия](api/overview/actions_overview.md#list-of-actions) `resizeCol` и `resizeRow`. + ## Закрепление/открепление строк и столбцов {#freezingunfreezing-rows-and-columns} ### Закрепление строк {#freezing-rows} @@ -212,6 +264,10 @@ DHTMLX Spreadsheet позволяет добавлять и удалять ст ![Контекстное меню DHTMLX Spreadsheet с подменю «Строки» и пунктом «Скрыть строки»](/img/hide_row_context_menu.png) +:::info +Если активная ячейка находится в строке, которая становится скрытой, активная ячейка перемещается в первую видимую строку ниже, а выделение сокращается до этой ячейки. Если ниже нет видимых строк, она перемещается в последнюю видимую строку выше. +::: + ### Отображение строк {#showing-rows} Чтобы показать скрытые строки, выполните одно из следующих действий: @@ -223,6 +279,7 @@ DHTMLX Spreadsheet позволяет добавлять и удалять ст ![Заголовок строк DHTMLX Spreadsheet со значком стрелки, указывающим на скрытые строки](/img/show_rows.png) - или выделите строки или несколько ячеек так, чтобы скрытые строки попали в выделение, нажмите правой кнопкой мыши для вызова контекстного меню и выберите *Строки -> Показать строки* +- или выделите строки или несколько ячеек так, чтобы скрытые строки попали в выделение, и нажмите `Ctrl (Cmd) + Shift + 9`. Например, выделите строки 2-4, чтобы показать скрытую строку 3. Если в выделении нет скрытых строк, программы чтения с экрана озвучивают «No hidden rows in the selection» (*На изображении ниже строка 8 скрыта*) @@ -244,6 +301,10 @@ DHTMLX Spreadsheet позволяет добавлять и удалять ст ![Контекстное меню DHTMLX Spreadsheet с подменю «Столбцы» и пунктом «Скрыть столбцы»](/img/hide_columns_context_menu.png) +:::info +Если активная ячейка находится в столбце, который становится скрытым, активная ячейка перемещается в первый видимый столбец правее, а выделение сокращается до этой ячейки. Если правее нет видимых столбцов, она перемещается в последний видимый столбец левее. +::: + ### Отображение столбцов {#showing-columns} Чтобы показать скрытые столбцы, выполните одно из следующих действий: @@ -259,3 +320,4 @@ DHTMLX Spreadsheet позволяет добавлять и удалять ст (*На изображении ниже столбец C скрыт*) ![Контекстное меню DHTMLX Spreadsheet с подменю «Столбцы» и пунктом «Показать столбцы»](/img/show_columns_context_menu.png) +- или выделите столбцы или несколько ячеек так, чтобы скрытые столбцы попали в выделение, и нажмите `Ctrl (Cmd) + Shift + 0`. Если в выделении нет скрытых столбцов, программы чтения с экрана озвучивают «No hidden columns in the selection» diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/work_with_sheets.md b/i18n/ru/docusaurus-plugin-content-docs/current/work_with_sheets.md index 185efe8b..c29c966a 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/work_with_sheets.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/work_with_sheets.md @@ -1,7 +1,7 @@ --- sidebar_label: Работа с листами title: Работа с листами -description: В документации вы можете узнать о работе с листами в библиотеке DHTMLX JavaScript Spreadsheet. Изучите руководства для разработчиков и справочник API, попробуйте примеры кода и живые демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Добавляйте, удаляйте, переименовывайте и переключайте листы в DHTMLX Spreadsheet с помощью нижней панели инструментов и вкладок листов, а также ссылайтесь в формулах на ячейки других листов. --- # Работа с листами {#work-with-sheets} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/working_with_cells.md b/i18n/ru/docusaurus-plugin-content-docs/current/working_with_cells.md index 9db67c52..4b5981ca 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/working_with_cells.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/working_with_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: Работа с ячейками title: Работа с ячейками -description: В документации вы можете узнать о работе с ячейками в библиотеке DHTMLX JavaScript Spreadsheet. Изучите руководства для разработчиков и справочник API, попробуйте примеры кода и живые демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Задавайте и получайте значения и стили ячеек, добавляйте проверку данных и ссылки, редактируйте, блокируйте, объединяйте и выделяйте ячейки в DHTMLX Spreadsheet через API. --- # Работа с ячейками {#work-with-cells} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/working_with_sheets.md b/i18n/ru/docusaurus-plugin-content-docs/current/working_with_sheets.md index 2d0c93a8..59df2b74 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/working_with_sheets.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/working_with_sheets.md @@ -1,7 +1,7 @@ --- sidebar_label: Работа с листами title: Работа с листами -description: В документации вы можете узнать о работе с листами в библиотеке DHTMLX JavaScript Spreadsheet. Изучите руководства для разработчиков и справочник API, попробуйте примеры кода и живые демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Загружайте несколько листов в DHTMLX Spreadsheet, добавляйте, удаляйте, получайте, очищайте и переключайте листы с помощью методов API. --- # Работа с листами {#work-with-sheets} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/working_with_ssheet.md b/i18n/ru/docusaurus-plugin-content-docs/current/working_with_ssheet.md index 4e26147f..d70e4f80 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/working_with_ssheet.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/working_with_ssheet.md @@ -1,7 +1,7 @@ --- sidebar_label: Работа с таблицей title: Работа с таблицей -description: В документации вы можете узнать о работе с таблицей в библиотеке DHTMLX JavaScript Spreadsheet. Изучите руководства для разработчиков и справочник API, попробуйте примеры кода и живые демо, а также загрузите бесплатную 30-дневную ознакомительную версию DHTMLX Spreadsheet. +description: Отменяйте и повторяйте действия, добавляйте, удаляйте, закрепляйте и скрывайте строки и столбцы, подгоняйте ширину столбцов, фильтруйте, ищите и сортируйте данные и очищайте DHTMLX Spreadsheet через API. --- # Работа с таблицей {#work-with-spreadsheet} @@ -282,7 +282,7 @@ spreadsheet.hideSearch(); - `dir` - направление сортировки: 1 - по возрастанию, -1 - по убыванию ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // параметры конфигурации }); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current.json b/i18n/zh/docusaurus-plugin-content-docs/current.json index 9635a464..eefd588e 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current.json +++ b/i18n/zh/docusaurus-plugin-content-docs/current.json @@ -83,6 +83,10 @@ "message": "使用单元格", "description": "The generated-index page title for category 'Work with cells' in sidebar 'docs'" }, + "sidebar.docs.category.Accessibility": { + "message": "无障碍", + "description": "The label for category 'Accessibility' in sidebar 'docs'" + }, "sidebar.docs.category.Frameworks & integrations": { "message": "框架与集成", "description": "The label for category 'Frameworks & integrations' in sidebar 'docs'" diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/.sync b/i18n/zh/docusaurus-plugin-content-docs/current/.sync index 96f6c508..0532604c 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/.sync +++ b/i18n/zh/docusaurus-plugin-content-docs/current/.sync @@ -1 +1 @@ -2b6d3c2fd433461ffce34526974de3f1ba5161a8 +9ff2cef64e00d4e77947433a670dc5d573fcc7f4 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/accessibility.md b/i18n/zh/docusaurus-plugin-content-docs/current/accessibility.md new file mode 100644 index 00000000..cfba9b56 --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/accessibility.md @@ -0,0 +1,449 @@ +--- +sidebar_label: 无障碍 +title: 无障碍 +description: 让键盘用户和屏幕阅读器用户都能使用 DHTMLX Spreadsheet。了解以 WCAG 2.2 AA 为目标的 WAI-ARIA 支持、键盘导航、屏幕阅读器播报和高对比度主题。 +--- + +# DHTMLX Spreadsheet 的无障碍支持 + +本指南面向在需要满足无障碍要求的应用中嵌入 DHTMLX Spreadsheet 的开发者。您可以据此对照自己的检查清单评估该组件,并为键盘、屏幕阅读器和高对比度用户进行配置。 + +Spreadsheet 会在其标记中渲染 WAI-ARIA 角色和状态。键盘焦点始终停留在活动单元格上,工具栏、菜单栏和工作表标签各自只占一个 Tab 停靠点。对于没有独立元素的变化,例如被拒绝的编辑或搜索结果,会发送到实时区域,由屏幕阅读器朗读。 + +:::info 目标合规标准 +DHTMLX Spreadsheet 旨在满足 **WCAG 2.2 AA 级**、美国《康复法》**第 508 条**以及 **EN 301 549**(欧洲无障碍法案的技术基准)。 + +合规情况按准则逐条针对 DHTMLX Spreadsheet 6.0.4 进行说明。详细的**无障碍合规报告(VPAT® 2.5)**见:[无障碍合规报告](accessibility_conformance_report.md)。 +::: + +## 功能 {#capabilities} + +| 领域 | 支持情况 | +| ---- | ------- | +| 键盘操作 | 单元格上的每个命令都有对应按键。工具栏、菜单栏和工作表标签是单一的 Tab 停靠点,使用方向键在其中导航。列宽、行高和列筛选都有上下文菜单命令,因此无需拖动或点击图标 | +| WAI-ARIA 语义 | 单元格是包含 `columnheader`、`rowheader` 和 `gridcell` 元素的 `grid`。这些角色始终会被渲染 | +| 焦点模型 | 键盘焦点位于活动单元格上。Tab 进入工作表时停在活动单元格上,并从最后一个或第一个单元格离开。Ctrl + F6 在菜单、工具栏、工作表和工作表标签之间移动焦点 | +| 选择模型 | 活动单元格、单个范围和多个范围通过 `aria-selected` 暴露,并会播报范围的大小。可以使用 [`selection`](api/spreadsheet_selection_config.md) 选项关闭选择功能 | +| 只读模式 | 可以浏览、选择、复制和搜索工作表;编辑会被拒绝并播报,且上下文菜单不可用 | +| 屏幕阅读器 | 已使用 NVDA、JAWS 和 VoiceOver 测试 | +| 视觉无障碍 | 提供 `contrast-light` 和 `contrast-dark` 主题,在每个主题中都有可见的焦点指示器,并且提示不依赖颜色 | +| 文本缩放和页面缩放 | 在 200% 和 400% 缩放以及覆盖文本间距的情况下,布局仍可正常操作 | +| 自定义 | 提供用于发送自定义消息的公共 [`announce()`](api/spreadsheet_announce_method.md) 方法,以及适用于每个内置名称和播报内容的可翻译 `aria_*` 语言环境字符串 | +| 标准 | WCAG 2.2 AA、Section 508、EN 301 549 | + +## 涵盖范围 {#covered-areas} + +本指南涵盖 Spreadsheet 组件: + +- 单元格、列头和行头、合并单元格以及冻结的行和列 +- 选择:活动单元格、范围和多个范围 +- 公式栏和单元格编辑器,包括带值列表的单元格的编辑器 +- 带有颜色和边框弹出框的工具栏、菜单栏和上下文菜单 +- 工作表标签 +- 排序、筛选、搜索、数据验证、单元格中的链接、导入和导出 +- 主题和焦点指示器 + +最终页面的无障碍程度还取决于宿主应用。请参阅[宿主页面的职责](#host-page-responsibilities)。 + +## WAI-ARIA 支持 {#wai-aria-support} + +Spreadsheet 会自动为其标记添加 WAI-ARIA 角色和属性,且无法关闭。组件的每个部分都有各自的角色和名称,名称来自[语言环境](#localization)。 + +### Spreadsheet 容器 {#spreadsheet-container} + +Spreadsheet 的各个部分都是独立的具名控件: + +| 部分 | 角色 / 属性 | 无障碍名称 | +| ---- | ---------------- | --------------- | +| 菜单栏 | `role="menubar"` + `aria-label` | "Main" | +| 工具栏 | `role="toolbar"` + `aria-label` | "Formatting" | +| 公式栏 | 输入框上的 `aria-label` | "Formula bar, B7",其中包含活动单元格的地址 | +| 单元格 | `role="grid"` + `aria-label` | "Spreadsheet" | +| 工作表标签 | `role="toolbar"` + `aria-label` | "Sheets" | +| 实时区域 | `role="status"`、`aria-live="polite"`、`aria-atomic="true"` | 视觉上隐藏,位于网格旁边,在 `role="grid"` 之外 | + +Spreadsheet 的根元素没有地标角色,因此您可以将其放在适合您页面的地标内。 + +### 单元格表面 {#cell-surface} + +以下属性描述单元格的整体情况,由 `.dhx_grid-content` 元素承载: + +| 选择器 | 角色 / 属性 | 用途 | +| -------- | ---------------- | ------- | +| `.dhx_grid-content` | `role="grid"` | 可交互的单元格网格 | +| `.dhx_grid-content` | `aria-label` | "Spreadsheet",来自 `aria_grid` 语言环境键 | +| `.dhx_grid-content` | `aria-rowcount` | 工作表的行数加上标题行 | +| `.dhx_grid-content` | `aria-colcount` | 可见列数加上行号列 | +| `.dhx_grid-content` | `aria-readonly` | 在[只读模式](api/spreadsheet_readonly_config.md)下以及[选择](api/spreadsheet_selection_config.md)功能关闭时为 `"true"` | +| `.dhx_grid-content` | `aria-multiselectable` | `"true"`;选择功能关闭时为 `"false"` | + +### 行和单元格 {#rows-and-cells} + +下表列出了行和单元格的角色,以及位置和状态属性: + +| 选择器 | 角色 / 属性 | 用途 | +| -------- | ---------------- | ------- | +| 行 | `role="row"` + `aria-rowindex` | 工作表的一行。由于列头是第一行,工作表的第 1 行具有 `aria-rowindex="2"` | +| 单元格 | `role="gridcell"` + `aria-colindex` | 一个单元格。由于行号是第一列,A 列具有 `aria-colindex="2"` | +| 行号 | `role="rowheader"` | 行的标题 | +| 单元格 | `aria-selected` | 在活动单元格和所选范围的每个单元格上为 `"true"` | +| 单元格 | `aria-readonly` | 在只读模式下、[选择](api/spreadsheet_selection_config.md)功能关闭时以及[锁定的单元格](work_with_cells.md#locking-cells)上为 `"true"` | +| 单元格 | `tabindex` | 活动单元格上为 `"0"`,其他单元格上为 `"-1"`,因此这些单元格只占一个 Tab 停靠点 | +| 活动单元格 | DOM 焦点 | 键盘焦点位于活动单元格本身,而不是单独的输入框上。编辑单元格时,焦点位于单元格编辑器上 | +| 合并单元格 | `aria-colspan` / `aria-rowspan` | 合并单元格跨越的列数或行数。被其覆盖的单元格使用 `aria-hidden="true"` 隐藏 | +| 单元格中的链接 | 带有 `target="_blank"` 和 `rel="noopener noreferrer"` 的 `
` | 使用 `http`、`https`、`mailto`、`ftp` 或 `tel` 协议的链接 | + +单元格还包含视觉上隐藏的文本,屏幕阅读器会将其与值一起朗读: + +| 隐藏文本 | 出现时机 | +| ----------- | ---- | +| 单元格地址,例如 "B7" | 在活动单元格和所选范围的每个单元格上。屏幕阅读器会在值之前朗读地址 | +| "link" | 在带链接的已选单元格上。Alt + Enter 打开链接 | +| "locked" | 在已锁定的已选单元格上 | +| 公式错误的描述,例如 "Reference error. Check the cell references" | 在带公式错误的单元格上 | +| "Invalid value. Choose a value from the list" | 在其值不在[值列表](work_with_cells.md#using-drop-down-lists-in-cells)中的单元格上 | +| "Filter" / "Filter applied" | 在带筛选图标的单元格上 | + +### 列头和行头 {#column-and-row-headers} + +| 选择器 | 角色 / 属性 | 用途 | +| -------- | ---------------- | ------- | +| 列字母 | `role="columnheader"` + `aria-colindex` | 列的标题 | +| 全选角落 | `role="columnheader"` | 名称为 "Select all" | +| 行号 | `role="rowheader"` | 行的标题 | +| 列菜单图标、隐藏行和隐藏列的图标 | `aria-hidden="true"` | 装饰性元素。相关命令位于上下文菜单中 | + +标题不是 Tab 停靠点。点击列字母、行号或角落会选中相应的行或列,并将焦点返回到活动单元格。 + +### 公式栏和编辑器 {#formula-bar-and-editors} + +| 选择器 | 角色 / 属性 | 用途 | +| -------- | ---------------- | ------- | +| 公式栏输入框 | `aria-label` | "Formula bar, B7",其中包含活动单元格的地址。在已锁定的单元格上,输入框为 `readonly`,因此仍可读取其值。选择功能关闭时,公式栏为空且被锁定 | +| 单元格编辑器输入框 | `aria-label` | "Cell editor, B7" | +| 带值列表的单元格的编辑器 | `role="combobox"`、`aria-controls`、`aria-expanded`、`aria-activedescendant` | 值列表是由 `option` 元素组成的 `listbox`,高亮的选项带有 `aria-selected` | +| 值无效的编辑器 | `aria-invalid="true"` | 单元格已保存的值不在其值列表中。该属性在值保存后更新,而不是在用户输入时更新 | +| 公式帮助的关闭图标 | `role="button"` + `aria-label` | "Close formula help" | + +### 工具栏和菜单 {#toolbar-and-menus} + +| 选择器 | 角色 / 属性 | 用途 | +| -------- | ---------------- | ------- | +| 工具栏 | `role="toolbar"` + `aria-label` | "Formatting";边框弹出框、搜索栏和链接弹出框的工具栏分别命名为 "Borders"、"Search" 和 "Link" | +| 工具栏按钮 | `aria-label` | 按钮的值。图标按钮以其工具提示命名,例如 "Bold (ctrl+b)"。图标使用 `aria-hidden="true"` 隐藏 | +| 加粗、斜体、下划线、删除线、锁定、筛选 | `aria-pressed` | 格式或筛选是否开启 | +| 打开下拉菜单的按钮 | `aria-haspopup="menu"`、`aria-expanded` | 下拉菜单是以其按钮命名的 `menu` | +| 对齐、文本换行、数字格式 | `role="menuitemradio"` + `aria-checked` | 互斥选项组中的一个选项 | +| 文本颜色、背景颜色、边框颜色 | `aria-label` | 控件名称及当前颜色,例如 "Text color: dark gray" | +| 调色板 | 由 `gridcell` 元素组成的 `role="grid"` | 该网格名称为 "Color palette"。每个颜色单元格以其颜色命名,已选中的颜色带有 `aria-selected="true"` | +| 边框样式列表 | 由 `option` 元素组成的 `role="listbox"` | 选项名称为 "Thin line"、"Medium line"、"Thick line"、"Dashed line"、"Dotted line"、"Double line" | +| 菜单栏 | `role="menubar"` + `aria-label` | "Main"。其菜单项会打开带有 `role="menu"` 的弹出框。在弹出框中,格式菜单项具有 `role="menuitemcheckbox"`,对齐、文本换行和数字格式菜单项具有 `role="menuitemradio"`。两者都通过 `aria-checked` 报告其状态 | +| 上下文菜单 | `role="menu"` + `aria-label` | 单元格的菜单为 "Cell",工作表标签的菜单为 "Sheet" | + +### 工作表标签 {#sheet-tabs} + +| 选择器 | 角色 / 属性 | 用途 | +| -------- | ---------------- | ------- | +| 工作表标签栏 | `role="toolbar"` + `aria-label` | "Sheets" | +| 工作表标签 | `button` + `aria-pressed` | 标签以其工作表命名。活动工作表的标签具有 `aria-pressed="true"` | +| 添加工作表按钮 | `aria-label` | "Add sheet" | + +### 对话框 {#dialogs} + +| 选择器 | 角色 / 属性 | 用途 | +| -------- | ---------------- | ------- | +| 列宽和行高对话框 | `role="dialog"`、`aria-modal="true"`、`aria-label` | 以对话框标题命名。输入框的标签为 "Width in pixels" / "Height in pixels" | +| 搜索栏 | `role="dialog"` + `aria-label` | 名称为 "Search"。搜索输入框的标签为 "Search",按钮名称为 "Previous match"、"Next match" 和 "Close search" | +| 插入链接、数据验证 | `role="dialog"` + `aria-label` | 以对话框标题命名 | +| 警告框 | `role="alertdialog"`、`aria-modal="true"`、`aria-labelledby`、`aria-describedby` | 以警告框标题命名,并由其文本描述 | + +### 隐藏元素和装饰性元素 {#hidden-and-decorative-elements} + +Spreadsheet 使用 `aria-hidden="true"` 对辅助技术隐藏装饰性部分,包括锁定图标、筛选图标和列菜单图标、隐藏行和隐藏列的图标,以及全选图标。绘制选择区域、复制和搜索高亮以及填充柄的图层也会被隐藏。公式栏中公式的彩色副本,以及被合并单元格覆盖的单元格同样如此。布局包装元素具有 `role="presentation"`。网格前后的焦点哨兵元素仅用于将焦点传递给活动单元格。 + +## 选择和编辑模型 {#selection-and-editing-model} + +DOM 焦点位于活动单元格本身,因此屏幕阅读器朗读的是单元格,而不是单独的输入框。活动单元格移动时,屏幕阅读器首先朗读新单元格的地址,然后是其值和隐藏描述。当用户使用键盘或鼠标选择范围时,屏幕阅读器会在选择不再变化后播报该范围的大小。被多个范围共有的单元格只计一次,隐藏行和隐藏列中的单元格也会被计入。编辑单元格时不会有任何播报。当范围缩减为活动单元格时,会播报该单元格的地址。 + +| 情形 | 屏幕阅读器获得的内容 | +| --------- | --------------------------- | +| 活动单元格移动 | 带有地址、值和描述的单元格,例如 "B7, 120, locked" | +| 选择一个范围 | "B2 to D7, 18 cells" | +| 使用 Ctrl 选择多个范围 | "B2 to B4, D2 to D4, 6 cells" | +| 通过 Enter、F2 或输入打开编辑器 | 名称为 "Cell editor, B7" 的编辑器输入框 | +| 打开带值列表的单元格的编辑器 | 已展开的组合框。按下 ↑ 或 ↓ 后,会朗读列表中高亮的选项 | +| 编辑已保存 | 会播报已编辑单元格及依赖它们的单元格中新出现的公式错误,以及已编辑单元格中的无效值 | +| 对锁定单元格的编辑被拒绝 | "The cell is locked" | +| 在只读模式下按下编辑键 | "The sheet is read-only" | + +Enter、F2 或输入会打开编辑器。Enter 保存值并向下移动,Tab 保存值并向右移动,Esc 取消编辑。 + +## 键盘导航 {#keyboard-navigation} + +Spreadsheet 在页面上出现后键盘即可使用,无需任何配置。下表概述了键盘模型。完整的快捷键集合请参阅[快捷键列表](hotkeys.md)。 + +![通过向下箭头键打开的工具栏水平对齐下拉菜单,焦点位于其第一项](/img/accessibility/toolbar_dropdown_focus.png) + +### 单元格 {#cells} + +| 按键 | 操作 | +| ---- | ------ | +| 方向键 | 移动活动单元格。活动单元格会停在第一个和最后一个可见的行和列 | +| Shift + 方向键 | 扩展所选范围 | +| Home / End | 移至该行的第一个或最后一个可见单元格 | +| Ctrl + 方向键、Ctrl + Home / End | 移至工作表的边缘 | +| Tab / Shift + Tab | 在行内向右或向左移动。从工作表的最后一个或第一个单元格出发,将焦点移出单元格,移至页面的下一个或上一个部分,例如工作表标签或公式栏 | +| Enter、F2 | 打开编辑器 | +| Esc | 关闭编辑器且不保存 | +| Ctrl + Space / Shift + Space | 选择列或行 | +| Ctrl + Shift + 9 / 0 | 显示所选范围内的隐藏行或列 | +| Alt + Enter | 打开活动单元格的链接 | +| Shift + F10 或 Menu 键 | 打开上下文菜单,其中包含针对单元格的命令;在 Ctrl + Space 之后则为针对列的命令 | +| Alt + ↑ / ↓、Ctrl + Alt + Page Down / Page Up | 切换到下一个或上一个工作表 | + +### 在各部分之间移动 {#moving-between-the-parts} + +| 按键 | 操作 | +| ---- | ------ | +| Ctrl + F6 / Ctrl + Shift + F6 | 将焦点移至下一个或上一个部分:菜单、工具栏、工作表、工作表标签。公式栏和隐藏的部分会被跳过。进行中的编辑会先被保存 | +| Tab / Shift + Tab | 按页面的 Tab 顺序将焦点移至下一个或上一个部分。每个栏只占一个 Tab 停靠点,焦点会落在最近使用的控件上 | + +### 工具栏、菜单栏和工作表标签 {#toolbar-menu-bar-and-sheet-tabs} + +| 按键 | 操作 | +| ---- | ------ | +| ← / →、Home / End | 在栏的控件之间移动 | +| Enter / Space | 按下控件:执行命令、打开下拉菜单或切换到工作表 | +| ↓ | 打开下拉菜单并将焦点移至其第一项 | +| ↑ / ↓ | 在已打开的下拉菜单或菜单的各项之间移动 | +| → / ← | 打开或关闭子菜单 | +| Esc | 关闭下拉菜单或菜单,并将焦点返回到其控件 | + +### 弹出框和对话框 {#popups-and-dialogs} + +| 按键 | 操作 | +| ---- | ------ | +| 方向键、Home / End | 在调色板的颜色之间移动 | +| Enter | 应用颜色、边框,或列宽和行高对话框中的尺寸 | +| Esc | 关闭弹出框、对话框或搜索栏,并将焦点返回到打开它的控件或单元格。在自定义颜色模式下,返回调色板。在从边框弹出框打开的颜色或样式弹出框中,关闭该弹出框并将焦点返回到边框弹出框中的对应按钮 | +| Tab / Shift + Tab | 在对话框或自定义颜色模式的控件之间移动。在颜色弹出框或边框弹出框中,关闭该弹出框并将焦点返回到其工具栏按钮 | +| ↑ / ↓、Enter | 在单元格的值列表中移动并选择一个值 | + +:::note +仅限指针的操作都有键盘替代方式。上下文菜单中的 *Column width* 和 *Row height* 命令无需拖动即可设置精确的尺寸,*Open filter* 命令无需点击图标即可打开筛选器。 +::: + +## 辅助技术 {#assistive-technology} + +DHTMLX 团队使用以下屏幕阅读器测试 Spreadsheet: + +| 屏幕阅读器 | 浏览器 | 平台 | +| ------------- | ------- | -------- | +| NVDA | Firefox | Windows | +| JAWS | Chrome | Windows | +| VoiceOver | Safari | macOS | + +屏幕阅读器从各状态所属的元素获取该状态: + +| 状态 | 暴露方式 | 朗读位置 | +| ----- | --------------- | ------- | +| 位置 | `aria-rowindex`、`aria-colindex`,以及单元格文本中的单元格地址 | 每个单元格。地址包含在活动单元格和所选范围内单元格的文本中 | +| 选择 | `aria-selected` | 活动单元格和所选范围内的单元格 | +| 可编辑性 | `aria-readonly` | 只读模式下以及选择功能关闭时的网格和单元格,以及锁定的单元格 | +| 合并单元格 | `aria-colspan`、`aria-rowspan` | 合并单元格 | +| 行头 | `role="rowheader"` | 行号 | +| 切换状态 | `aria-pressed` | 加粗、斜体、下划线、删除线、锁定和筛选按钮,以及工作表标签 | +| 选中状态 | `aria-checked` | 菜单栏的格式菜单项,以及对齐、文本换行和数字格式菜单项 | +| 错误和无效值 | 单元格中的隐藏文本、`aria-invalid` | 单元格及其编辑器 | +| 链接 | `` 和隐藏文本 "link" | 带链接的单元格 | + +## 高对比度和焦点 {#high-contrast-and-focus} + +### 主题 {#themes} + +Spreadsheet 有四个内置主题:`light`(默认)、`dark`、`contrast-light` 和 `contrast-dark`。`contrast-light` 和 `contrast-dark` 主题满足 WCAG AA 对文本的对比度要求。可以使用 `dhx.setTheme()` 方法或 `data-dhx-theme` 属性切换主题: + +~~~jsx +dhx.setTheme("contrast-light"); // or "contrast-dark" +~~~ + +详情请参阅[内置主题](/themes/)一文。 + +在浅色主题中,标记公式单元格引用的颜色的对比度至少为 4.5:1。 + +`contrast-light` 主题在白色背景上绘制深色文本和边框。在下面的 Spreadsheet 中,带有筛选图标的单元格的上下文菜单通过键盘打开。获得焦点的命令 [*Open filter*](filtering_data.md#opening-a-filter-with-the-keyboard) 以虚线轮廓标记,活动单元格以主题主色的实线边框标记: + +![contrast-light 主题中的 Spreadsheet](/img/accessibility/spreadsheet_contrast_light.png) + +`contrast-dark` 主题在深色背景上绘制浅色文本和边框。当焦点位于工具栏控件上时,该控件以 `--dhx-spreadsheet-focus-color` 颜色的焦点环标记,在深色主题中,该颜色比活动单元格边框的主色更浅: + +![contrast-dark 主题中的 Spreadsheet](/img/accessibility/spreadsheet_contrast_dark.png) + +### 焦点指示器 {#focus-indicator} + +键盘焦点在每个主题中都可见: + +- 活动单元格具有主题主色的 2px 实线边框 +- 获得键盘焦点的单元格和单元格编辑器具有主题主色的 2px 轮廓 +- 公式栏,以及工具栏、菜单栏、工作表标签、边框弹出框、链接弹出框和搜索栏的控件,具有 `--dhx-spreadsheet-focus-color` 变量颜色的 2px 轮廓 +- 在调色板、边框样式列表、工具栏和菜单栏的下拉菜单以及上下文菜单中,获得焦点的项具有 `--dhx-color-focused` 颜色的 1px 虚线轮廓 +- 在单元格的列表编辑器中,焦点保留在编辑器内,列表的当前项以背景色高亮显示 + +在深色主题中,`--dhx-spreadsheet-focus-color` 变量比主色更浅,并且可以在[自定义主题](themes/custom_theme.md)中重新定义。每个指示器在每个主题中的对比度见[无障碍合规报告](accessibility_conformance_report.md)。 + +### 颜色和缩放 {#color-and-zoom} + +- **颜色不是唯一的提示。** 活动单元格和选区同时具有边框和填充,无效值具有标记和隐藏描述,格式按钮通过 `aria-pressed` 报告其状态。颜色按钮的无障碍名称中包含颜色名称。 +- **缩放和重排。** Spreadsheet 在 200% 和 400% 缩放下仍可操作。单元格可向两个方向滚动,工具栏、菜单栏和工作表标签适配 320 CSS px 的宽度。 +- **文本间距。** 在应用 WCAG 文本间距覆盖时,不会有控件标签被截断,并且当标签增多时,工作表标签栏可以滚动。 +- **滚动到可见区域。** 活动单元格会滚动到可见区域,并位于冻结的行和列旁边。 + +## 状态播报 {#status-announcements} + +Spreadsheet 通过礼貌(polite)实时区域播报没有独立元素的变化,因此屏幕阅读器会先读完当前这句话: + +| 事件 | 播报文本 | 语言环境键 | +| ----- | -------------- | ---------- | +| 选择一个范围 | "B2 to D7, 18 cells" | `aria_selectedRange`、`aria_rangeExtent`、`aria_rangeSeparator` | +| 编辑导致公式错误或无效值 | "B7: Reference error. Check the cell references" | `aria_cellMessage` | +| 编辑导致多个错误 / 无效值 | "3 new errors. B7: ..." / "3 invalid values. B7: ..." | `aria_newErrors`、`aria_invalidValues` | +| 对锁定的单元格 / 范围的编辑被拒绝 | "The cell is locked" / "Locked cells were not changed" | `aria_lockedCell`、`aria_lockedCells` | +| 在只读模式下按下编辑键 | "The sheet is read-only" | `aria_readonlySheet` | +| 输入搜索文本 | "Results: 5. 1 of 5, B2" 或 "No results" | `aria_searchResults`、`aria_searchMatch`、`aria_searchNoResults` | +| 显示下一个或上一个匹配项 | "2 of 5, B7" | `aria_searchMatch` | +| 导出 Excel 文件 | "Exporting the file"、"The file is exported" | `aria_exportStarted`、`aria_exportDone` | +| 导入在文件对话框中选择的文件 | "Importing the file"、"The file is imported" | `aria_importStarted`、`aria_importDone` | +| 应用列宽 / 行高命令 | "Column width set to 120 pixels" | `aria_columnWidthSet`、`aria_rowHeightSet` | +| Ctrl + Shift + 9 / 0 没有找到可显示的内容 | "No hidden rows in the selection" | `aria_noHiddenRows`、`aria_noHiddenCols` | + +若要播报您自己命令的结果,请调用 [`announce()`](api/spreadsheet_announce_method.md) 方法: + +~~~jsx +spreadsheet.announce("The report is saved"); +~~~ + +## 本地化 {#localization} + +无障碍名称、单元格描述和播报内容以带有 `aria_` 前缀的键存储在 `spreadsheet` 语言环境中,与界面标签放在一起。请在初始化 Spreadsheet 之前使用 `dhx.i18n.setLocale()` 方法翻译它们: + +~~~jsx +dhx.i18n.setLocale("spreadsheet", { + // other keys of the locale + aria_grid: "Tabelle", + aria_cellEditor: "Zelleneditor, {cell}", + aria_readonlySheet: "Das Blatt ist schreibgeschützt", + aria_selectedRange: "{range}, {count} Zellen", + aria_rangeExtent: "{start} bis {end}" +}); + +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +花括号中的部分,例如 `{cell}` 或 `{count}`,会被替换为相应的值,必须保留在翻译后的字符串中。颜色名称和警告框按钮的名称来自 `colorpicker` 和 `message` 语言环境。完整的键列表请参阅[本地化](localization.md#default-locale),其他语言环境请参阅[本地化内置组件](localization.md#localizing-built-in-widgets)。 + +## 配置示例 {#configuration-recipes} + +### 无障碍默认设置 {#accessible-default-setup} + +Spreadsheet 的键盘和 WAI-ARIA 输出无需任何配置。若要满足 WCAG AA 对文本的对比度要求,请选择对比度主题。设置主题的其他方式请参阅[内置主题](/themes/): + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + // the keyboard navigation and the WAI-ARIA output need no configuration +}); +spreadsheet.parse(data); + +dhx.setTheme("contrast-light"); // or "contrast-dark" +~~~ + +### 只读设置 {#read-only-setup} + +使用 [`readonly`](api/spreadsheet_readonly_config.md) 选项显示用户可以阅读和复制但不能修改的数据。键盘和屏幕阅读器用户仍然可以在单元格间移动: + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true +}); +spreadsheet.parse(data); +~~~ + +若要在没有活动单元格和选择的情况下显示数据,请添加 [`selection: false`](api/spreadsheet_selection_config.md)。此时网格会成为一个键盘可直接通过的 Tab 停靠点。 + +### 翻译无障碍字符串 {#translated-accessibility-strings} + +屏幕阅读器从四个语言环境中读取无障碍字符串:`spreadsheet` 包含名称、单元格描述和播报内容,`colorpicker` 包含颜色名称,`message` 包含警告框按钮的名称,`grid` 包含已加载行数的播报内容。请在创建 Spreadsheet 之前设置这四个语言环境。键的说明请参阅[本地化内置组件](localization.md#localizing-built-in-widgets): + +~~~jsx +const deSpreadsheet = { + // other keys of the locale + aria_grid: "Tabelle", + aria_readonlySheet: "Das Blatt ist schreibgeschützt" +}; +const deColorpicker = { + aria_palette: "Farbpalette", + aria_colorRed: "rot" +}; +const deMessage = { + aria_confirm: "Bestätigen" +}; +const deGrid = { + aria_rowsLoaded: "{count} Zeilen geladen" +}; + +dhx.i18n.setLocale("spreadsheet", deSpreadsheet); +dhx.i18n.setLocale("colorpicker", deColorpicker); +dhx.i18n.setLocale("message", deMessage); +dhx.i18n.setLocale("grid", deGrid); + +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +### 播报自定义命令 {#announcing-a-custom-command} + +当您自己的命令更改数据时,请使用 [`announce()`](api/spreadsheet_announce_method.md) 方法告知屏幕阅读器用户结果。下面的示例添加了一个清空活动工作表的[菜单](customization.md#menu)命令: + +~~~jsx +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); + +spreadsheet.menu.data.add({ id: "clear-sheet", value: "Clear sheet" }); + +spreadsheet.menu.events.on("click", function (id) { + if (id === "clear-sheet") { + spreadsheet.sheets.clear(); + spreadsheet.announce("The sheet is cleared"); + } +}); +~~~ + +## 宿主页面的职责 {#host-page-responsibilities} + +有一些要求属于页面层面,而不在组件内部。请确保宿主页面: + +- 设置文档语言,例如 ``,并设置页面标题 +- 在 Spreadsheet 上方放置标题,并将其置于地标内,例如 `
` +- 如果 Spreadsheet 之前有很长的导航,则提供跳转链接 +- 为任何用单元格颜色标记的状态提供第二种提示,例如文本或图标,因为单元格样式的颜色属于您的数据 +- 检查您在单元格样式和自定义主题中设置的颜色的对比度 + +## 测试和方法 {#testing-and-methodology} + +DHTMLX 团队基于组件源代码并在浏览器中验证 Spreadsheet 6.0.4 的无障碍性: + +1. **自动化测试**:在 `light`、`dark`、`contrast-light` 和 `contrast-dark` 主题中使用 [axe-core](https://github.com/dequelabs/axe-core),并在搜索栏、列表编辑器、对话框和警告框处于打开状态时进行测试。 +2. **人工源代码审查**:检查各部分的角色、状态和名称,键盘处理程序和焦点区域,以及主题令牌及其对比度。 +3. **人工测试**:对单元格、各栏、菜单和对话框进行仅键盘操作的走查,使用 NVDA、JAWS 和 VoiceOver 进行屏幕阅读器测试,200% 和 400% 缩放,320 CSS px 下的重排,以及 WCAG 文本间距覆盖。 +4. **合规报告**:结果按准则逐条发布在[无障碍合规报告](accessibility_conformance_report.md)中,包括 Spreadsheet 部分支持的准则。 + +## 相关资源 {#resources} + +- [无障碍合规报告(VPAT 2.5)](accessibility_conformance_report.md) +- [快捷键列表](hotkeys.md) +- [`readonly`](api/spreadsheet_readonly_config.md) +- [`selection`](api/spreadsheet_selection_config.md) +- [`announce()`](api/spreadsheet_announce_method.md) +- [本地化](localization.md) +- [内置主题](/themes/) +- [WCAG 2.2](https://www.w3.org/TR/WCAG22/) +- [WAI-ARIA 1.2](https://www.w3.org/TR/wai-aria-1.2/) +- [WAI-ARIA Authoring Practices: Grid pattern](https://www.w3.org/WAI/ARIA/apg/patterns/grid/) +- [WAI-ARIA Authoring Practices: Toolbar pattern](https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/accessibility_conformance_report.md b/i18n/zh/docusaurus-plugin-content-docs/current/accessibility_conformance_report.md new file mode 100644 index 00000000..23062783 --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/accessibility_conformance_report.md @@ -0,0 +1,204 @@ +--- +sidebar_label: 合规性报告 (VPAT) +title: 无障碍合规性报告 +description: 基于 VPAT 2.5 的 DHTMLX Spreadsheet 无障碍合规性报告,涵盖对 WCAG 2.2 AA、Section 508 和 EN 301 549 的符合情况。 +--- + +# 无障碍合规性报告 + +本报告说明 DHTMLX Spreadsheet 对主要无障碍标准的符合情况,采用 **VPAT® 2.5(国际版)** 的结构。如需了解无障碍功能的任务导向概述及其配置方法,请参阅[无障碍](accessibility.md)指南。 + +**产品名称/版本:** DHTMLX Spreadsheet v6.0.4 + +**报告日期:** 2026 年 10 月 + +**产品描述:** DHTMLX Spreadsheet 是用于 Web 应用程序的 JavaScript 电子表格组件。其界面由菜单栏、工具栏、公式栏、带行列标题的单元格网格以及工作表标签组成。其功能包括公式、单元格格式设置、合并单元格、冻结行和列、排序、筛选、搜索、数据验证、单元格链接以及 Excel 导入和导出。该组件嵌入在宿主 Web 应用程序中。 + +**联系方式:** [info@dhtmlx.com](mailto:info@dhtmlx.com) + +## 说明 {#notes} + +- 本报告评估的是 DHTMLX Spreadsheet 的**推荐无障碍配置**:即默认配置(WAI-ARIA 输出和键盘导航始终开启),并通过 `dhx.setTheme()` 或 `data-dhx-theme` 属性设置 `contrast-light` 或 `contrast-dark` 主题。备注中会指出哪些符合级别取决于此配置。设置方法请参阅[无障碍](accessibility.md)指南。 +- DHTMLX Spreadsheet 是由宿主应用程序渲染的 **Web 内容**。页面级的职责(页面标题、``、跳过/绕过机制以及站点级导航)属于宿主应用程序,在报告中标记为*不适用*并附有说明。 +- 在 WCAG 表格中,仅填写 **Web** 一项的响应。*电子文档*、*软件*、*封闭式*和*创作工具*各行均为*不适用*:本产品不是独立(非 Web)软件、封闭式功能、创作工具或电子文档。 +- 作者通过单元格样式应用于单元格的颜色属于文档数据,不作为产品的一部分进行评估。 + +**所用评估方法:** + +- 自动化测试:在 `light`、`dark`、`contrast-light` 和 `contrast-dark` 主题下使用 axe-core,并分别打开搜索栏、列表编辑器、对话框和警告框。 +- 对组件源代码和样式表进行人工代码审查:包括小部件各部分的角色和 ARIA 属性、键盘处理程序和焦点区域、无障碍名称及其本地化键,以及主题颜色令牌,并计算了四种主题的对比度。 +- 辅助技术测试:在 Windows 上使用 **NVDA + Firefox** 和 **JAWS + Chrome**,在 macOS 上使用 **VoiceOver + Safari** 进行人工测试。 +- 浏览器覆盖设置:200% / 400% 缩放、320 CSS px 宽度下的重排,以及 WCAG 文本间距覆盖。 + +## 适用标准/指南 {#applicable-standards--guidelines} + +| 标准/指南 | 是否包含在报告中 | +|---|---| +| Web Content Accessibility Guidelines 2.0 | A 级(否)· AA 级(否)· AAA 级(否) | +| Web Content Accessibility Guidelines 2.1 | A 级(否)· AA 级(否)· AAA 级(否) | +| Web Content Accessibility Guidelines 2.2 | A 级(**是**)· AA 级(**是**)· AAA 级(否) | +| Revised Section 508 standards(2017 年 1 月 18 日发布;2018 年 1 月 22 日更正) | (**是**) | +| EN 301 549 - V3.1.1 (2019-11) 和 V3.2.1 (2021-03) | (**是**) | + +*WCAG 2.0 和 2.1 不单独报告。WCAG 标注为"2.1 and 2.2"的成功标准之所以作答,是因为它们属于 WCAG 2.2,并被 EN 301 549 引用。* + +## 术语 {#terms} + +- **支持(Supports):** 产品的功能至少有一种方式在没有已知缺陷的情况下满足该标准,或通过等效便利措施满足该标准。 +- **部分支持(Partially Supports):** 产品的部分功能不满足该标准。 +- **不支持(Does Not Support):** 产品的大部分功能不满足该标准。 +- **不适用(Not Applicable):** 该标准与产品无关。 + +## WCAG 2.x 报告 {#wcag-2x-report} + +DHTMLX Spreadsheet 是 Web 内容,因此下表仅填写 **Web** 一项的响应。"需要符合 AA 级的主题"属于配置依赖,而非缺陷。成功标准 4.1.1 解析(Parsing)已在 WCAG 2.2 中移除,因此不予报告。 + +### 表 1:成功标准,A 级 {#table-1-success-criteria-level-a} + +| 标准 | 符合级别 | 备注和说明 | +|---|---|---| +| **1.1.1** 非文本内容 | 支持 | 图标为字体字形。仅含图标的控件从本地化文本或工具提示中获取无障碍名称,例如 "Add sheet"、"Close search" 和 "Select all"。颜色按钮带有颜色名称,例如 "Text color: dark gray"。装饰性图标(锁定、筛选、列菜单、隐藏行标记)、选区图层以及被合并单元格覆盖的单元格均通过 `aria-hidden="true"` 隐藏;它们所表示的状态由单元格中的文本传达,例如 "locked" 和 "Filter applied"。 | +| **1.2.1** 纯音频和纯视频(预录制) | 不适用 | 产品不包含音频或视频内容。 | +| **1.2.2** 字幕(预录制) | 不适用 | 没有预录制的多媒体。 | +| **1.2.3** 音频描述或媒体替代(预录制) | 不适用 | 没有预录制的多媒体。 | +| **1.3.1** 信息和关系 | 支持 | 单元格是名为 "Spreadsheet" 的 `grid`,具有 `row`、`columnheader`、`rowheader` 和 `gridcell` 角色。位置通过 `aria-rowindex`/`aria-colindex` 以及 `aria-rowcount`/`aria-colcount` 提供;合并单元格的范围通过 `aria-colspan`/`aria-rowspan` 提供;可编辑性通过 `aria-readonly` 提供;选择状态通过 `aria-selected` 和 `aria-multiselectable` 提供。工具栏、菜单栏和工作表标签分别是带名称的 `toolbar` 和 `menubar` 元素;格式切换按钮在工具栏中具有 `aria-pressed`,在菜单栏中是 `menuitemcheckbox`,互斥的格式选项是带 `aria-checked` 的 `menuitemradio`。 | +| **1.3.2** 有意义的序列 | 支持 | DOM 顺序和阅读顺序与视觉顺序一致:菜单栏、工具栏、公式栏、单元格和工作表标签。单元格通过 `aria-rowindex`/`aria-colindex` 携带其在工作表中的位置,因此当行和列滚动出 DOM 时,序列仍然保持不变。 | +| **1.3.3** 感官特征 | 支持 | 没有任何说明或标签仅依赖形状、大小或空间位置;交互元素带有文本或 ARIA 名称。 | +| **1.4.1** 颜色的使用 | 支持 | 每个以颜色显示的状态同时具有边框、填充、标记或文本:活动单元格、选定范围、搜索匹配项、已复制范围和无效单元格,并配合 `aria-selected` 或单元格中的文本。被筛选隐藏的行会在行号中留下间隔。颜色按钮的无障碍名称中包含颜色名称。 | +| **1.4.2** 音频控制 | 不适用 | 产品不产生自动播放的音频。 | +| **2.1.1** 键盘 | 支持 | 单元格上的每个命令都有对应按键,列于[快捷键列表](hotkeys.md);`Shift`+`F10` 或 Menu 键可打开上下文菜单。`Ctrl`+`F6` 在菜单、工具栏、工作表和工作表标签之间移动焦点。各栏、其下拉菜单和弹出窗口以及列表编辑器可使用方向键、`Home`、`End`、`Enter` 和 `Esc` 操作。列宽、行高和列筛选均有上下文菜单命令。 | +| **2.1.2** 无键盘陷阱 | 支持 | 在工作表最后一个单元格上按 `Tab`、在第一个单元格上按 `Shift`+`Tab`,焦点会移出单元格,进入页面的下一部分或上一部分;`Ctrl`+`F6` 在 Spreadsheet 的各部分之间移动焦点。在列表编辑器中,`Tab` 结束编辑,`Esc` 取消编辑,使用方向键之后也是如此。`Esc` 和 `Tab` 会关闭工具栏弹出窗口,并将焦点返回到其按钮。 | +| **2.1.4** 字符键快捷键 | 支持 | 每个快捷键都使用修饰键(`Ctrl`、`Alt`、`Shift`)或非字符键(`F2`、`F6`、`F10`、`F11`、`Enter`、`Esc`、`Delete`、方向键)。在单元格上输入字符会将其录入单元格,这正是单元格的用途,不会执行命令。 | +| **2.2.1** 时间可调 | 不适用 | 产品不设置时间限制。 | +| **2.2.2** 暂停、停止、隐藏 | 支持 | 没有自动更新、移动、闪烁或滚动的内容。没有任何动画持续超过 5 秒。 | +| **2.3.1** 三次闪光或低于阈值 | 支持 | 产品不包含闪烁内容。 | +| **2.4.1** 绕过块 | 不适用 | 适用于页面级;绕过机制属于宿主应用程序。 | +| **2.4.2** 页面标题 | 不适用 | 页面标题由宿主应用程序负责。 | +| **2.4.3** 焦点顺序 | 支持 | 单元格在活动单元格上构成一个 Tab 停靠点,工具栏、菜单栏和工作表标签各为一个 Tab 停靠点,并按视觉顺序排列。`Tab` 在最后一个和第一个单元格处离开工作表。对话框会获取焦点,将 `Tab` 保持在对话框内,并在关闭时将焦点返回到活动单元格;菜单、上下文菜单和弹出窗口会将焦点返回到打开它们的控件;应用文本颜色或背景颜色后,焦点返回到活动单元格。活动单元格获得焦点时会滚动到可见区域。 | +| **2.4.4** 链接目的(在上下文中) | 支持 | 单元格中的链接渲染为 `` 元素,其文本为作者设置的链接文本或地址。选中单元格时,单元格文本会附加 "link",`Alt`+`Enter` 可打开该链接。 | +| **2.5.1** 指针手势 | 支持 | 没有任何操作需要多点触控或基于路径的手势;每个拖动操作都有非拖动的替代方式(参见 2.5.7)。 | +| **2.5.2** 指针取消 | 支持 | 调整列和行大小以及填充柄操作在释放时生效,且一次撤销即可还原其中每一项操作。工具栏、菜单和工作表标签的命令在 `click` 时执行。 | +| **2.5.3** 标签中的名称 | 支持 | 带有可见文本的控件以该文本作为其无障碍名称:菜单项、上下文菜单命令、工作表标签和对话框按钮。图标按钮以其工具提示命名,颜色按钮以其工具提示加颜色名称命名。 | +| **2.5.4** 动作激活 | 不适用 | 没有任何功能通过设备动作或用户动作来操作。 | +| **3.1.1** 页面语言 | 不适用 | 文档语言(``)由宿主应用程序设置。 | +| **3.2.1** 获得焦点时 | 支持 | 获得焦点从不改变上下文。点击列字母、行号或左上角单元格会选中相应的行列,并将焦点保持在活动单元格上。 | +| **3.2.2** 输入时 | 支持 | 更改值不会改变上下文。编辑单元格、从列表中选择值或在搜索栏中输入内容,都会就地更新工作表,这正是这些控件的既定用途。 | +| **3.2.6** 一致的帮助(仅 2.2) | 不适用 | 小部件不提供帮助机制;这属于页面级问题。 | +| **3.3.1** 错误识别 | 支持 | 公式错误和无效的列表值会在单元格内容中说明,例如 "Reference error. Check the cell references" 和 "Invalid value. Choose a value from the list"。编辑导致的新公式错误和无效值会通过实时区域播报,无效值的编辑器具有 `aria-invalid="true"`。 | +| **3.3.2** 标签或说明 | 支持 | 单元格编辑器名为 "Cell editor, B7",公式栏名为 "Formula bar, B7",其中包含被编辑单元格的地址。对话框字段带有标签,例如 "Width in pixels",搜索栏按钮分别命名为 "Previous match"、"Next match" 和 "Close search"。 | +| **3.3.7** 冗余输入(仅 2.2) | 支持 | 产品不包含要求重复输入已填写信息的多步骤流程。 | +| **4.1.2** 名称、角色、值 | 支持 | 每个部分都提供角色、状态以及来自本地化文本的名称:单元格(`grid`、`row`、`gridcell`、`columnheader`、`rowheader`、`aria-selected`、`aria-readonly`)、工具栏和菜单栏(`toolbar`、`menubar`)、格式、锁定和筛选按钮以及工作表标签(`aria-pressed`)、菜单栏的格式项(`menuitemcheckbox`、`aria-checked`)以及互斥格式(`menuitemradio`、`aria-checked`)。警告框是带有 `aria-modal="true"` 的 `alertdialog`。列表编辑器是控制 `listbox` 的 `combobox`,带有 `aria-expanded` 和 `aria-activedescendant`。 | + +### 表 2:成功标准,AA 级 {#table-2-success-criteria-level-aa} + +| 标准 | 符合级别 | 备注和说明 | +|---|---|---| +| **1.2.4** 字幕(直播) | 不适用 | 没有直播多媒体。 | +| **1.2.5** 音频描述(预录制) | 不适用 | 没有预录制的视频。 | +| **1.3.4** 方向 | 支持 | 内容不限于单一显示方向。 | +| **1.3.5** 识别输入目的 | 不适用 | 产品的编辑器收集的是文档数据,而非 WCAG 输入目的列表所涵盖的用户个人信息。 | +| **1.4.3** 对比度(最小值) | 支持 | `contrast-light` 和 `contrast-dark` 主题满足 AA 级:在打开搜索栏、列表编辑器、列宽对话框和警告框的情况下,两种主题中均没有产品文本的对比度低于 4.5:1。公式引用颜色在 light 和 `contrast-light` 主题中为 4.59:1 至 7.04:1,在深色主题中为 7.62:1 至 12.26:1。在默认的 light 主题中,对话框字段标签和警告文本等次要文本约为 3.95:1。要满足该标准,需要选择其中一个对比度主题,且只要采用一种受支持的方法即可满足。 | +| **1.4.4** 调整文本大小 | 支持 | 文本可放大到 200% 而不丢失内容或功能;工具栏、公式栏、工作表标签和对话框仍可正常使用。 | +| **1.4.5** 文本图像 | 支持 | 所有文本均渲染为真实文本。图标为字体字形;产品不使用位图图像。 | +| **1.4.10** 重排 | 支持 | 单元格是二维内容,该标准对其免除重排要求,可在水平和垂直方向滚动。工具栏、菜单栏和工作表标签可适应 320 CSS px 的宽度。 | +| **1.4.11** 非文本对比度 | 支持 | 单元格、公式栏和各栏控件的焦点指示器宽 2px,并使用主题颜色绘制;以下对比度数值依次对应默认 light、`contrast-light`、dark 和 `contrast-dark` 主题。活动单元格以 `--dhx-color-primary` 颜色的 2px 实线边框标记:与单元格背景的对比度约为 3.9:1、7.7:1、3.4:1 和 5.3:1。具有键盘焦点的单元格和单元格编辑器会获得同色的 2px 轮廓,对比度相同;在选定范围内约为 3.3:1、6.0:1、3.1:1 和 4.2:1。公式栏会获得 `--dhx-spreadsheet-focus-color` 颜色的 2px 轮廓:与其背景的对比度约为 3.9:1、7.7:1、5.3:1 和 6.5:1。工具栏、菜单栏和工作表标签的控件获得相同的轮廓:与栏背景的对比度约为 3.7:1、7.2:1、3.9:1 和 4.9:1。所有数值均高于 3:1 的要求。 | +| **1.4.12** 文本间距 | 支持 | 应用 WCAG 文本间距覆盖后,没有控件标签被截断;当标签增多时,工作表标签栏可滚动。 | +| **1.4.13** 悬停或焦点触发的内容 | 支持 | 工具栏工具提示在悬停时保持显示,并可通过 `Esc` 关闭,且无需移动指针或焦点。无效值工具提示用于报告输入错误,在单元格处于活动状态时保持显示,并可通过 `Esc` 移除。 | +| **2.4.5** 多种方式 | 不适用 | 适用于在一组网页中定位页面;对于单个嵌入式组件不在范围内(属于宿主应用程序的问题)。 | +| **2.4.6** 标题和标签 | 支持 | 主要部分的无障碍名称来自本地化文本:"Spreadsheet"(网格)、"Formatting"(工具栏)、"Borders"、"Search" 和 "Link"(分别为边框弹出窗口、搜索栏和链接弹出窗口的工具栏)、"Main"(菜单栏)、"Cell" 和 "Sheet"(分别为单元格和工作表标签的上下文菜单)、"Sheets"(工作表标签栏)、"Formula bar, B7"(公式栏)和 "Cell editor, B7"(单元格编辑器)。全选角落单元格命名为 "Select all",搜索栏命名为 "Search",其按钮分别命名为 "Previous match"、"Next match" 和 "Close search",添加工作表的按钮命名为 "Add sheet",其他对话框以其标题命名。 | +| **2.4.7** 焦点可见 | 支持 | 键盘焦点位置始终可见。活动单元格始终带有 2px 实线边框,获得焦点的单元格或单元格编辑器带有 2px 轮廓,二者均使用主题的主色。公式栏以及工具栏、菜单栏、工作表标签、边框弹出窗口、链接弹出窗口和搜索栏的控件会显示 `--dhx-spreadsheet-focus-color` 颜色的 2px 焦点环。在调色板、边框样式列表、工具栏和菜单栏的下拉菜单以及上下文菜单中,获得焦点的项带有 1px 虚线轮廓。在列表编辑器中,获得焦点的项以背景色高亮显示。焦点指示器在每个内置主题中均会显示。 | +| **2.4.11** 焦点不被遮挡(最小)(仅 2.2) | 支持 | 活动单元格会滚动到冻结行和列旁边的可见区域,因此不会被遗留在冻结区域之后。 | +| **2.5.7** 拖动动作(仅 2.2) | 支持 | 范围选择可使用 `Shift`+方向键和 `Ctrl`+`Space`/`Shift`+`Space`。列宽和行高通过上下文菜单中的*列宽*和*行高*命令设置,并支持撤销。隐藏的行和列可通过 `Ctrl`+`Shift`+`9`/`0` 以及*显示行*/*显示列*命令显示。填充单元格可通过 [`groupFill`](api/spreadsheet_groupfill_event.md) 事件实现,该事件可绑定到上下文菜单命令。 | +| **2.5.8** 目标尺寸(最小)(仅 2.2) | 部分支持 | 填充柄为 12 x 12 CSS px。列和行的调整手柄有等效的控件,即*列宽*和*行高*命令。全选角落单元格是 40 x 32 CSS px 的角落标题单元格,工具栏和菜单控件大于 24 x 24 CSS px。 | +| **3.1.2** 部分内容的语言 | 不适用 | 小部件在其内容中不混用语言;语言由宿主负责。 | +| **3.2.3** 一致的导航 | 不适用 | 适用于一组网页;属于宿主应用程序的问题。 | +| **3.2.4** 一致的标识 | 支持 | 功能相同的命令在工具栏、菜单栏和上下文菜单中具有相同的名称和图标,以及相同的按键。 | +| **3.3.3** 错误建议 | 支持 | 错误描述会给出修复建议:引用错误提示 "Check the cell references",无效的列表值提示 "Choose a value from the list"。 | +| **3.3.4** 错误预防(法律、财务、数据) | 支持 | 对数据的每项更改都可通过撤销(`Ctrl`+`Z`)还原,并可通过重做重复执行。宿主应用程序还可以通过 [`beforeAction`](api/spreadsheet_beforeaction_event.md) 事件取消任何操作。 | +| **3.3.8** 无障碍身份验证(最小)(仅 2.2) | 不适用 | 产品不执行身份验证。 | +| **4.1.3** 状态消息 | 支持 | 状态变化通过位于网格之外的视觉隐藏实时区域(`role="status"`、`aria-live="polite"`、`aria-atomic="true"`)播报,且不移动焦点。它会报告选定范围、新的公式错误和无效值、对锁定单元格或只读工作表的被拒绝编辑、搜索结果、导入和导出的开始与结束、新的列宽和行高,以及没有可显示的隐藏行或列的选择。宿主应用程序可通过公共的 [`announce()`](api/spreadsheet_announce_method.md) 方法使用同一区域,并且每条内置消息都可通过 `aria_*` 本地化键进行本地化。 | + +## Revised Section 508 报告 {#revised-section-508-report} + +与 WCAG 对应的条款已在上文的 WCAG 2.x 报告中作答,此处予以引用。第 4 章(硬件)为不适用,因为 DHTMLX Spreadsheet 是软件组件,没有硬件或物理控件。 + +### 第 3 章:功能性能标准 {#chapter-3-functional-performance-criteria} + +| 标准 | 符合级别 | 备注和说明 | +|---|---|---| +| 302.1 无视觉 | 支持 | 可通过屏幕阅读器操作,依托带有列标题和行标题的 `grid` 模型、随每个单元格朗读的单元格地址和描述、具名的工具栏和菜单、实时区域以及键盘模型。参见 WCAG 1.3.1、2.1.1、4.1.2、4.1.3。 | +| 302.2 有限视觉 | 支持 | 支持缩放、文本调整大小和重排,焦点在每个主题中均可见,`contrast-light` / `contrast-dark` 主题满足 AA 级对比度。参见 WCAG 1.4.3、1.4.4、1.4.10、1.4.11、2.4.7。 | +| 302.3 无颜色感知 | 支持 | 没有任何信息仅通过颜色传达:活动单元格、选区、搜索匹配项和无效值除颜色外,各自在单元格中带有边框、标记或文本,且颜色按钮会给出颜色名称。参见 WCAG 1.4.1。 | +| 302.4 无听觉 | 支持 | 没有任何信息通过声音传达。 | +| 302.5 有限听觉 | 支持 | 没有任何信息通过声音传达。 | +| 302.6 无语音 | 支持 | 操作产品不需要语音输入。 | +| 302.7 有限操作能力 | 支持 | 每项功能均可通过键盘使用;不需要基于路径的手势,每个拖动操作都有键盘或命令替代方式。参见 WCAG 2.1.1、2.5.1、2.5.7、2.5.8。 | +| 302.8 有限触及和力量 | 支持 | 可通过键盘操作;没有身体触及、力度或时间方面的要求。 | +| 302.9 有限语言、认知和学习能力 | 支持 | 命令在工具栏、菜单和上下文菜单中具有相同的名称,公式错误的描述附带更正方法,并且每项更改都可通过撤销还原。参见 WCAG 3.2.4、3.3.3、3.3.4。 | + +### 第 5 章:软件 {#chapter-5-software} + +| 标准 | 符合级别 | 备注和说明 | +|---|---|---| +| 501.1 范围 - 纳入 WCAG 2.0 AA | 参见 WCAG 2.x 部分 | 参见上文的 WCAG 2.x 报告。 | +| 502 与辅助技术的互操作性 | 不适用 | 适用于非 Web(平台)软件。DHTMLX Spreadsheet 是 Web 内容,向浏览器无障碍树公开标准的 DOM 和 ARIA;互操作性由 WCAG 结果涵盖(第 9 条 / 501.1)。 | +| 503 应用程序 | 不适用 | 适用于非 Web 的平台软件;本产品是 Web 内容。 | +| 504 创作工具 | 不适用 | DHTMLX Spreadsheet 不是 Web 内容的创作工具:它编辑的是电子表格数据,而非与无障碍相关的 Web 内容。 | + +### 第 6 章:支持文档和服务 {#chapter-6-support-documentation-and-services} + +| 标准 | 符合级别 | 备注和说明 | +|---|---|---| +| 602.2 无障碍和兼容性功能 | 支持 | 文档描述了产品的无障碍功能:[无障碍](accessibility.md)指南涵盖 WAI-ARIA 模型、键盘模型、只读模式和选择选项、主题和焦点指示器、[`announce()`](api/spreadsheet_announce_method.md) API 以及[可本地化的 `aria_*` 字符串](accessibility.md#localization);[快捷键列表](hotkeys.md)列出了每个快捷键。 | +| 602.3 电子支持文档 | 支持(参见 WCAG 2.x 部分) | 文档站点以 Web 内容形式提供,并持续维护以满足 WCAG 2.2 AA。 | +| 602.4 非电子支持文档的替代格式 | 不适用 | 文档仅以电子形式提供;没有非电子(印刷)形式的支持文档。 | +| 603.2 无障碍和兼容性功能的信息 | 支持 | 产品的无障碍功能已在[无障碍](accessibility.md)指南中公开记录,也可应要求通过支持渠道提供。 | +| 603.3 满足沟通需求 | 支持 | 通过基于文本的电子邮件渠道提供支持;用户使用自己的辅助技术进行交互。 | + +## EN 301 549 报告 {#en-301-549-report} + +第 9 条(Web)直接对应上文的 WCAG 2.x 报告,是针对这一 Web 产品的实质性评估。电话、视频和硬件相关条款(第 6、7、8、13 条)为不适用。 + +### 第 4 条:功能性能陈述 {#clause-4-functional-performance-statements} + +这些内容与 Section 508 第 3 章的结果一致(结论相同)。 + +| 标准 | 符合级别 | 备注和说明 | +|---|---|---| +| 4.2.1 无视觉使用 | 支持 | 参见 508 302.1(可通过屏幕阅读器操作,依托网格模型、单元格描述、具名控件、实时区域和键盘模型)。 | +| 4.2.2 有限视觉使用 | 支持 | 参见 508 302.2(通过对比度主题满足 AA 级对比度,每个主题中焦点均可见;支持缩放和重排)。 | +| 4.2.3 无颜色感知使用 | 支持 | 参见 508 302.3(每个颜色提示都附带边框、标记或文本)。 | +| 4.2.4 无听觉使用 | 支持 | 没有任何信息通过声音传达。 | +| 4.2.5 有限听觉使用 | 支持 | 没有任何信息通过声音传达。 | +| 4.2.6 无或有限发声能力使用 | 支持 | 不需要语音输入。 | +| 4.2.7 有限操作或力量使用 | 支持 | 参见 508 302.7(可通过键盘操作,无需手势,每个拖动操作都有替代方式)。 | +| 4.2.8 有限触及使用 | 支持 | 没有身体触及方面的要求(软件组件)。 | +| 4.2.9 最大限度减少光敏性癫痫触发因素 | 支持 | 没有闪烁内容(参见 WCAG 2.3.1)。 | +| 4.2.10 有限认知、语言或学习能力使用 | 支持 | 参见 508 302.9(命令名称一致、错误有描述、更改可还原)。 | +| 4.2.11 隐私 | 支持 | 无障碍功能与其他所有人使用同一界面;不存在单独的、隐私性较低的模式。 | + +### 第 5 条:通用要求 {#clause-5-generic-requirements} + +**大部分不适用。** 第 5 条涉及封闭式功能和硬件类要求。DHTMLX Spreadsheet 是开放的 Web 软件,可与平台和浏览器的辅助技术协同工作,因此封闭式功能子条款、生物识别(5.3)、可操作部件(5.5)以及锁定/切换控件状态(5.6)均为不适用。如果某项通用要求通过常规的辅助技术支持得以满足,则由第 9 条(Web)和 WCAG 结果涵盖。 + +### 第 9 条:Web {#clause-9-web} + +**参见 WCAG 2.x 部分。** 第 9.1.1.1-9.4.1.3 条对应上文表 1 和表 2 中的 WCAG 2.2 A 级/AA 级结果。 + +### 第 11 条:软件 {#clause-11-software} + +**不适用(按第 9 条评估)。** DHTMLX Spreadsheet 是 Web 内容,按第 9 条(Web)评估;它不是非 Web 软件。与 WCAG 对应的软件条款(11.1.1.1-11.4.1.3)由 WCAG 2.x 结果涵盖。11.8(创作工具)为不适用,因为本产品不是创作工具。 + +### 第 12 条:文档和支持服务 {#clause-12-documentation-and-support-services} + +| 标准 | 符合级别 | 备注和说明 | +|---|---|---| +| 12.1.1 无障碍和兼容性功能 | 支持 | [无障碍](accessibility.md)指南记录了产品的无障碍功能:WAI-ARIA 模型、键盘模型、只读模式和选择选项、主题、焦点指示器、[`announce()`](api/spreadsheet_announce_method.md) API 以及[可本地化的 `aria_*` 字符串](accessibility.md#localization)。 | +| 12.1.2 无障碍文档 | 支持(参见 WCAG 2.x 部分) | 文档站点以 Web 内容形式提供,并持续维护以满足 WCAG 2.2 AA。 | +| 12.2.2 无障碍和兼容性功能的信息 | 支持 | 无障碍功能已公开记录,也可应要求由支持团队提供。 | +| 12.2.3 有效沟通 | 支持 | 通过基于文本的电子邮件渠道提供支持;用户使用自己的辅助技术进行交互。 | +| 12.2.4 无障碍文档 | 支持(参见 WCAG 2.x 部分) | 依据与 12.1.2 相同:文档站点持续维护以满足 WCAG 2.2 AA。 | + +## 法律声明 {#legal-disclaimer} + +本报告仅供参考,描述的是所列产品版本在报告日期时的无障碍情况。本报告按"原样"提供,不附带任何形式的保证,也不构成合同承诺或担保。无障碍支持可能在后续版本中发生变化,且结果仅适用于所评估的配置。"VPAT" 和 "Voluntary Product Accessibility Template" 是 Information Technology Industry Council (ITI) 的注册服务商标。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/angular_integration.md b/i18n/zh/docusaurus-plugin-content-docs/current/angular_integration.md index 1ca0ce21..74e40c84 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/angular_integration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/angular_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: 与 Angular 集成 title: Angular 集成 -description: 您可以在文档中了解 DHTMLX JavaScript Spreadsheet 库的 Angular 集成方式。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: "在 Angular 应用中使用 DHTMLX Spreadsheet。创建项目,将 Spreadsheet 添加为 Angular 组件,加载数据并处理事件。" --- # 与 Angular 集成 {#integration-with-angular} @@ -234,6 +234,10 @@ ngOnDestroy() { } ~~~ +:::info +`destructor()` 方法会移除通过 `spreadsheet.events.on()` 附加的事件处理器。创建新的 Spreadsheet 实例时(例如再次创建组件时),请将处理器附加到新实例上。 +::: + ### 第三步:将 Spreadsheet 添加到应用 {#step-3-adding-spreadsheet-into-the-app} 要将 `SpreadsheetComponent` 组件添加到应用中,打开 *src/app/app.component.ts* 文件,并将默认代码替换为以下内容: diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/api_overview.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/api_overview.md index 4ed58314..d177bf37 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/api_overview.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/api_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: API 概览 title: API 概览 -description: 您可以在文档中查看 DHTMLX JavaScript Spreadsheet 库的 API 概览。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载免费 30 天试用版的 DHTMLX Spreadsheet。 +description: DHTMLX Spreadsheet API 概览,涵盖构造函数、方法、事件、属性,以及 Sheet Manager、Selection、Event Bus 和导出模块。 --- # API 概览 {#api-overview} @@ -27,6 +27,9 @@ const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { | [](api/spreadsheet_addcolumn_method.md) | @getshort(api/spreadsheet_addcolumn_method.md) | | [](api/spreadsheet_addformula_method.md) | @getshort(api/spreadsheet_addformula_method.md) | | [](api/spreadsheet_addrow_method.md) | @getshort(api/spreadsheet_addrow_method.md) | +| [](api/spreadsheet_announce_method.md) | @getshort(api/spreadsheet_announce_method.md) | +| [](api/spreadsheet_announce_method.md) | @getshort(api/spreadsheet_announce_method.md) | +| [](api/spreadsheet_announce_method.md) | @getshort(api/spreadsheet_announce_method.md) | | [](api/spreadsheet_clear_method.md) | @getshort(api/spreadsheet_clear_method.md) | | [](api/spreadsheet_deletecolumn_method.md) | @getshort(api/spreadsheet_deletecolumn_method.md) | | [](api/spreadsheet_deleterow_method.md) | @getshort(api/spreadsheet_deleterow_method.md) | @@ -99,6 +102,9 @@ const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { | [](api/spreadsheet_multisheets_config.md) | @getshort(api/spreadsheet_multisheets_config.md) | | [](api/spreadsheet_readonly_config.md) | @getshort(api/spreadsheet_readonly_config.md) | | [](api/spreadsheet_rowscount_config.md) | @getshort(api/spreadsheet_rowscount_config.md) | +| [](api/spreadsheet_selection_config.md) | @getshort(api/spreadsheet_selection_config.md) | +| [](api/spreadsheet_selection_config.md) | @getshort(api/spreadsheet_selection_config.md) | +| [](api/spreadsheet_selection_config.md) | @getshort(api/spreadsheet_selection_config.md) | | [](api/spreadsheet_toolbarblocks_config.md) | @getshort(api/spreadsheet_toolbarblocks_config.md) | @@ -118,8 +124,17 @@ const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { | 名称 | 描述 | | :--------------------------------------------- | :---------------------------------------------------- | +| [](api/selection_enable_method.md) | @getshort(api/selection_enable_method.md) | +| [](api/selection_disable_method.md) | @getshort(api/selection_disable_method.md) | +| [](api/selection_enable_method.md) | @getshort(api/selection_enable_method.md) | +| [](api/selection_disable_method.md) | @getshort(api/selection_disable_method.md) | +| [](api/selection_enable_method.md) | @getshort(api/selection_enable_method.md) | +| [](api/selection_disable_method.md) | @getshort(api/selection_disable_method.md) | | [](api/selection_getfocusedcell_method.md) | @getshort(api/selection_getfocusedcell_method.md) | | [](api/selection_getselectedcell_method.md) | @getshort(api/selection_getselectedcell_method.md) | +| [](api/selection_isdisabled_method.md) | @getshort(api/selection_isdisabled_method.md) | +| [](api/selection_isdisabled_method.md) | @getshort(api/selection_isdisabled_method.md) | +| [](api/selection_isdisabled_method.md) | @getshort(api/selection_isdisabled_method.md) | | [](api/selection_removeselectedcell_method.md) | @getshort(api/selection_removeselectedcell_method.md) | | [](api/selection_setfocusedcell_method.md) | @getshort(api/selection_setfocusedcell_method.md) | | [](api/selection_setselectedcell_method.md) | @getshort(api/selection_setselectedcell_method.md) | diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md index 1d54c5bb..b42ad3cc 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/eventsbus_detach_method.md @@ -1,7 +1,7 @@ --- sidebar_label: detach() title: detach events bus 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 detach events bus 方法。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载免费 30 天试用版的 DHTMLX Spreadsheet。 +description: 使用 events.detach() 方法按事件名称从 DHTMLX Spreadsheet 中解除通过 on() 方法绑定的事件处理函数。 --- # detach() @@ -23,7 +23,7 @@ detach(name: string): void; ### 示例 {#example} ~~~jsx {10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md index 3623e214..fed2cac8 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/eventsbus_fire_method.md @@ -1,7 +1,7 @@ --- sidebar_label: fire() title: fire events bus 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 fire events bus 方法。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载免费 30 天试用版的 DHTMLX Spreadsheet。 +description: 使用 events.fire() 方法触发 DHTMLX Spreadsheet 的内部事件,并传入事件名称和事件数据数组。 --- # fire() @@ -32,7 +32,7 @@ fire(name: string, arguments: array): boolean; ### 示例 {#example} ~~~jsx {10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md index 7def4054..b075f9cb 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/eventsbus_on_method.md @@ -1,7 +1,7 @@ --- sidebar_label: on() title: on events bus 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 on events bus 方法。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载免费 30 天试用版的 DHTMLX Spreadsheet。 +description: 使用 events.on() 方法为 DHTMLX Spreadsheet 的内部事件绑定处理函数,例如在单元格样式更改时作出响应。 --- # on() @@ -24,7 +24,7 @@ on(name: string, callback: function): void; ### 示例 {#example} ~~~jsx {6-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/export_json_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/export_json_method.md index 91b46ad7..75f849e5 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/export_json_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/export_json_method.md @@ -1,7 +1,7 @@ --- sidebar_label: json() title: json 导出方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 json 导出方法。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载免费 30 天试用版的 DHTMLX Spreadsheet。 +description: 使用 export.json() 方法将 DHTMLX Spreadsheet 的数据导出为 JSON 文件。 --- # json() @@ -19,7 +19,7 @@ json(): void; ### 示例 {#example} ~~~jsx {7} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md index d99ff760..bd2cf0d4 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/export_xlsx_method.md @@ -1,7 +1,7 @@ --- sidebar_label: xlsx() title: xlsx 导出方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 xlsx 导出方法。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载免费 30 天试用版的 DHTMLX Spreadsheet。 +description: 使用 export.xlsx() 方法将 DHTMLX Spreadsheet 的数据导出为 Excel (.xlsx) 文件,并可选择指定文件名。 --- # xlsx() @@ -23,7 +23,7 @@ xlsx(name:string): void; ### 示例 {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); spreadsheet.parse(data); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md index fd4417e8..e0e96ec7 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/actions_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Spreadsheet 操作 title: 操作概览 -description: 您可以在文档中查看 DHTMLX JavaScript Spreadsheet 库的操作概览。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载免费 30 天试用版的 DHTMLX Spreadsheet。 +description: DHTMLX Spreadsheet 操作(action)概述,以及可在 beforeAction 和 afterAction 事件中处理的完整操作列表。 --- # 操作概览 {#actions-overview} @@ -67,8 +67,8 @@ spreadsheet.events.on("beforeColumnAdd", function(cell){ | **merge** | 合并一组单元格时执行该操作 | | **removeCellStyles** | 清除单元格样式时执行该操作 | | **renameSheet** | 重命名工作表时执行该操作 | -| **resizeCol** | 调整列宽时执行该操作 | -| **resizeRow** | 调整行高时执行该操作 | +| **resizeCol** | 通过拖动列边框或使用*列宽*命令调整列宽时执行该操作 | +| **resizeRow** | 通过拖动行边框或使用*行高*命令调整行高时执行该操作 | | **setCellFormat** | 更改单元格格式时执行该操作 | | **setCellValue** | 更改或删除单元格值时执行该操作 | | **setValidation** | 为单元格设置数据验证时执行该操作 | @@ -78,6 +78,13 @@ spreadsheet.events.on("beforeColumnAdd", function(cell){ | **toggleFreeze** | 冻结/取消冻结列/行时执行该操作 | | **unmerge** | 拆分单元格时执行该操作 | +:::note +在 [`beforeAction`](api/spreadsheet_beforeaction_event.md) 和 [`afterAction`](api/spreadsheet_afteraction_event.md) 事件的 `config` 对象中,**resizeCol** 和 **resizeRow** 操作会传递: + +- `cell` - 被调整列宽或行高的单元格或单元格范围 +- `val` - 新的宽度或高度(单位为像素)。仅在使用*列宽*和*行高*命令时设置,拖动调整时不设置 +::: + **更新日志:** - **toggleFreeze** 和 **toggleVisibility** 操作在 v5.2 中新增 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md index d5127e7b..ed43b815 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/eventbus_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Event Bus 方法概览 title: Event Bus 方法概览 -description: 您可以在文档中查看 DHTMLX JavaScript Spreadsheet 库的 Event Bus 方法概览。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载免费 30 天试用版的 DHTMLX Spreadsheet。 +description: DHTMLX Spreadsheet 事件总线方法列表,用于绑定、解除和触发事件。 --- # Event Bus 方法概览 {#event-bus-methods-overview} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/events_overview.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/events_overview.md index f832aaa4..b98991ae 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/events_overview.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/events_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: 事件概览 title: 事件概览 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中查看事件概览。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载免费 30 天试用版的 DHTMLX Spreadsheet。 +description: DHTMLX Spreadsheet 事件列表,这些事件在执行操作、加载数据、编辑单元格、选择、设置焦点和切换工作表时触发。 --- # 事件概览 {#events-overview} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/export_overview.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/export_overview.md index 49289747..c2f165fc 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/export_overview.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/export_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: 导出方法概览 title: 导出方法概览 -description: 您可以在文档中查看 DHTMLX JavaScript Spreadsheet 库的导出方法概览。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载免费 30 天试用版的 DHTMLX Spreadsheet。 +description: DHTMLX Spreadsheet Export 模块方法列表,用于将数据保存为 JSON 或 Excel (.xlsx) 文件。 --- # 导出方法概览 {#export-methods-overview} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md index 3852c1a3..c828f2d7 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/methods_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: 方法概览 title: 方法概览 -description: 您可以在文档中查看 DHTMLX JavaScript Spreadsheet 库的方法概览。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: DHTMLX Spreadsheet 方法列表,涵盖数据加载与保存、单元格编辑、样式设置、合并、排序、筛选以及工作表管理。 --- # 方法概览 {#methods-overview} @@ -11,6 +11,9 @@ description: 您可以在文档中查看 DHTMLX JavaScript Spreadsheet 库的方 | [](api/spreadsheet_addcolumn_method.md) | @getshort(../spreadsheet_addcolumn_method.md) | | [](api/spreadsheet_addformula_method.md) | @getshort(../spreadsheet_addformula_method.md) | | [](api/spreadsheet_addrow_method.md) | @getshort(../spreadsheet_addrow_method.md) | +| [](api/spreadsheet_announce_method.md) | @getshort(../spreadsheet_announce_method.md) | +| [](api/spreadsheet_announce_method.md) | @getshort(../spreadsheet_announce_method.md) | +| [](api/spreadsheet_announce_method.md) | @getshort(../spreadsheet_announce_method.md) | | [](api/spreadsheet_clear_method.md) | @getshort(../spreadsheet_clear_method.md) | | [](api/spreadsheet_deletecolumn_method.md) | @getshort(../spreadsheet_deletecolumn_method.md) | | [](api/spreadsheet_deleterow_method.md) | @getshort(../spreadsheet_deleterow_method.md) | diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md index 67519b6f..6dc7aa6b 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/properties_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: 属性概览 title: 属性概览 -description: 您可以在文档中查看 DHTMLX JavaScript Spreadsheet 库的属性概览。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: DHTMLX Spreadsheet 配置属性列表,用于设置工具栏、菜单、只读模式、选择、网格大小等。 --- # 属性概览 {#properties-overview} @@ -18,4 +18,7 @@ description: 您可以在文档中查看 DHTMLX JavaScript Spreadsheet 库的属 | [](api/spreadsheet_multisheets_config.md) | @getshort(../spreadsheet_multisheets_config.md) | | [](api/spreadsheet_readonly_config.md) | @getshort(../spreadsheet_readonly_config.md) | | [](api/spreadsheet_rowscount_config.md) | @getshort(../spreadsheet_rowscount_config.md) | +| [](api/spreadsheet_selection_config.md) | @getshort(../spreadsheet_selection_config.md) | +| [](api/spreadsheet_selection_config.md) | @getshort(../spreadsheet_selection_config.md) | +| [](api/spreadsheet_selection_config.md) | @getshort(../spreadsheet_selection_config.md) | | [](api/spreadsheet_toolbarblocks_config.md) | @getshort(../spreadsheet_toolbarblocks_config.md) | diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md index ee7839b9..696302cd 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/selection_overview.md @@ -1,15 +1,24 @@ --- sidebar_label: Selection 方法概览 title: Selection 方法概览 -description: 您可以在文档中查看 DHTMLX JavaScript Spreadsheet 库的 Selection 方法概览。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: DHTMLX Spreadsheet Selection 模块方法列表,用于选择单元格、设置焦点,以及关闭和开启单元格选择。 --- # Selection 方法概览 {#selection-methods-overview} | 名称 | 描述 | | :--------------------------------------------- | :---------------------------------------------------- | +| [](api/selection_enable_method.md) | @getshort(../selection_enable_method.md) | +| [](api/selection_disable_method.md) | @getshort(../selection_disable_method.md) | +| [](api/selection_enable_method.md) | @getshort(../selection_enable_method.md) | +| [](api/selection_disable_method.md) | @getshort(../selection_disable_method.md) | +| [](api/selection_enable_method.md) | @getshort(../selection_enable_method.md) | +| [](api/selection_disable_method.md) | @getshort(../selection_disable_method.md) | | [](api/selection_getfocusedcell_method.md) | @getshort(../selection_getfocusedcell_method.md) | | [](api/selection_getselectedcell_method.md) | @getshort(../selection_getselectedcell_method.md) | +| [](api/selection_isdisabled_method.md) | @getshort(../selection_isdisabled_method.md) | +| [](api/selection_isdisabled_method.md) | @getshort(../selection_isdisabled_method.md) | +| [](api/selection_isdisabled_method.md) | @getshort(../selection_isdisabled_method.md) | | [](api/selection_removeselectedcell_method.md) | @getshort(../selection_removeselectedcell_method.md) | | [](api/selection_setfocusedcell_method.md) | @getshort(../selection_setfocusedcell_method.md) | | [](api/selection_setselectedcell_method.md) | @getshort(../selection_setselectedcell_method.md) | diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md index ff15d4db..c171427e 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/overview/sheetmanager_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Sheet Manager API 概览 title: Sheet Manager API 概览 -description: 您可以在文档中查看 DHTMLX JavaScript Spreadsheet 库的 Sheet Manager API 概览。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: DHTMLX Spreadsheet 工作表管理器方法列表,用于添加、删除、清空、获取和切换工作表。 --- # Sheet Manager API 概览 {#sheet-manager-api-overview} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_disable_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_disable_method.md new file mode 100644 index 00000000..43f1a995 --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_disable_method.md @@ -0,0 +1,47 @@ +--- +sidebar_label: disable() +title: disable selection 方法 +description: 通过 selection.disable() 方法在运行时关闭 DHTMLX Spreadsheet 中的单元格选择功能,该方法会移除活动单元格,并忽略通过鼠标、键盘和 API 进行的选择操作。 +--- + +# disable() + +### 描述 {#description} + +@short: 关闭单元格选择功能 + +### 用法 {#usage} + +~~~jsx +disable(): void; +~~~ + +### 示例 {#example} + +~~~jsx {6} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + // 配置参数 +}); +spreadsheet.parse(data); + +spreadsheet.selection.disable(); +~~~ + +### 详情 {#details} + +该方法会: + +- 结束单元格的编辑并保存已输入的值 +- 移除每个工作表中的选中单元格和活动单元格 +- 在调用 [`enable()`](api/selection_enable_method.md) 方法之前,忽略通过鼠标、键盘和 API 进行的选择操作 + +关闭选择功能后,[`getSelectedCell()`](api/selection_getselectedcell_method.md) 和 [`getFocusedCell()`](api/selection_getfocusedcell_method.md) 方法将返回 `undefined`。其他效果与 [`selection: false`](api/spreadsheet_selection_config.md#details) 配置选项相同。 + +如果选择功能已处于关闭状态,则该方法不执行任何操作。 + +**更新日志:** 在 v6.0.4 中新增 + +**相关文章:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`enable()`](api/selection_enable_method.md) +- [无障碍:只读设置](accessibility.md#read-only-setup) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_enable_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_enable_method.md new file mode 100644 index 00000000..41adb28d --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_enable_method.md @@ -0,0 +1,42 @@ +--- +sidebar_label: enable() +title: enable selection 方法 +description: 通过 selection.enable() 方法重新开启 DHTMLX Spreadsheet 中的单元格选择功能,该方法会将 A1 单元格设为活动单元格并触发选择相关事件。 +--- + +# enable() + +### 描述 {#description} + +@short: 开启单元格选择功能 + +### 用法 {#usage} + +~~~jsx +enable(): void; +~~~ + +### 示例 {#example} + +~~~jsx {7} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // 其他配置参数 +}); +spreadsheet.parse(data); + +spreadsheet.selection.enable(); +~~~ + +### 详情 {#details} + +该方法会将当前工作表的 A1 单元格设为活动单元格。针对 A1 单元格会触发 [`beforeSelectionSet`](api/spreadsheet_beforeselectionset_event.md)、[`beforeFocusSet`](api/spreadsheet_beforefocusset_event.md)、[`afterFocusSet`](api/spreadsheet_afterfocusset_event.md) 和 [`afterSelectionSet`](api/spreadsheet_afterselectionset_event.md) 事件。 + +如果选择功能已处于开启状态,则该方法不执行任何操作。 + +**更新日志:** 在 v6.0.4 中新增 + +**相关文章:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`disable()`](api/selection_disable_method.md) +- [无障碍:只读设置](accessibility.md#read-only-setup) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md index 57d280fc..9d3f5fdb 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_getfocusedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFocusedCell() title: getFocusedCell selection 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 getFocusedCell selection 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 selection.getFocusedCell() 方法获取 DHTMLX Spreadsheet 中焦点(活动)单元格的 id。 --- # getFocusedCell() @@ -23,7 +23,7 @@ getFocusedCell(): string; ### 示例 {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // 配置参数 }); spreadsheet.parse(data); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md index f7fb4217..5aadddd2 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_getselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getSelectedCell() title: getSelectedCell selection 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 getSelectedCell selection 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 selection.getSelectedCell() 方法获取 DHTMLX Spreadsheet 中选中单元格的 id 或区域。 --- # getSelectedCell() @@ -23,7 +23,7 @@ getSelectedCell(): string; ### 示例 {#example} ~~~jsx {8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // 配置参数 }); spreadsheet.parse(data); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_isdisabled_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_isdisabled_method.md new file mode 100644 index 00000000..a9efab2e --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_isdisabled_method.md @@ -0,0 +1,41 @@ +--- +sidebar_label: isDisabled() +title: isDisabled selection 方法 +description: 通过 selection.isDisabled() 方法检查 DHTMLX Spreadsheet 中的单元格选择功能是否已关闭。 +--- + +# isDisabled() + +### 描述 {#description} + +@short: 检查单元格选择功能是否已关闭 + +### 用法 {#usage} + +~~~jsx +isDisabled(): boolean; +~~~ + +### 返回值 {#returns} + +如果选择功能已关闭,该方法返回 `true`;否则返回 `false` + +### 示例 {#example} + +~~~jsx {7} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // 其他配置参数 +}); +spreadsheet.parse(data); + +const disabled = spreadsheet.selection.isDisabled(); // -> true +~~~ + +**更新日志:** 在 v6.0.4 中新增 + +**相关文章:** +- [`selection`](api/spreadsheet_selection_config.md) +- [`enable()`](api/selection_enable_method.md) +- [`disable()`](api/selection_disable_method.md) +- [无障碍:只读设置](accessibility.md#read-only-setup) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md index 11883a6f..fc5ac1b4 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_removeselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: removeSelectedCell() title: removeSelectedCell selection 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 Selection 的 removeSelectedCell 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 selection.removeSelectedCell() 方法取消 DHTMLX Spreadsheet 中指定单元格或单元格区域的选择。 --- # removeSelectedCell() @@ -23,7 +23,7 @@ removeSelectedCell(cell: string): void; ### 示例 {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // 配置参数 }); spreadsheet.parse(data); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md index 914cab5f..a8da51da 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_setfocusedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFocusedCell() title: setFocusedCell selection 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 setFocusedCell selection 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 selection.setFocusedCell() 方法在 DHTMLX Spreadsheet 中激活单元格并将键盘焦点移到该单元格。 --- # setFocusedCell() @@ -13,17 +13,18 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 se ### 用法 {#usage} ~~~jsx -setFocusedCell(cell: string): void; +setFocusedCell(cell: string, scroll?: boolean): void; ~~~ ### 参数 {#parameters} - `cell` - (必填)要设置焦点的单元格 id +- `scroll` - (可选)是否将 Spreadsheet 滚动到该单元格,默认为 `true` ### 示例 {#example} ~~~jsx {6} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // 配置参数 }); spreadsheet.parse(data); @@ -31,4 +32,24 @@ spreadsheet.parse(data); spreadsheet.selection.setFocusedCell("D4"); ~~~ -**相关文章:** [使用 Spreadsheet](working_with_ssheet.md) +### 详情 {#details} + +该方法会激活指定的单元格,并在重绘后将键盘焦点移到该单元格。在以下情况下,键盘焦点不会被移动: + +- 焦点位于 Spreadsheet 之外的元素中 +- 焦点通过键盘位于工具栏、菜单或工作表标签上 +- 焦点位于已打开的单元格编辑器中 + +如果键盘焦点位于页面 body 上(例如页面刚加载完成时),该方法会将焦点移到该单元格。 + +通过其他方式更改活动单元格(例如通过其他 API 方法)时,同样适用上述规则。 + +如果 [`beforeFocusSet`](api/spreadsheet_beforefocusset_event.md) 事件的处理函数返回 `false`,则活动单元格不会改变,键盘焦点也不会移动。 + +当通过 [`selection: false`](api/spreadsheet_selection_config.md) 配置项或 [`selection.disable()`](api/selection_disable_method.md) 方法关闭 selection 时,该方法不执行任何操作。 + +**更新日志:** 将键盘焦点移到单元格的功能在 v6.0.4 中新增 + +**相关文章:** +- [使用 Spreadsheet](working_with_ssheet.md) +- [无障碍访问:键盘导航](accessibility.md#keyboard-navigation) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md index 7bd1af66..3cd07057 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/selection_setselectedcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setSelectedCell() title: setSelectedCell selection 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 setSelectedCell selection 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 selection.setSelectedCell() 方法在 DHTMLX Spreadsheet 中选择一个单元格、多个单元格或单元格区域,并可选择滚动到该位置。 --- # setSelectedCell() @@ -13,17 +13,18 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 se ### 用法 {#usage} ~~~jsx -setSelectedCell(cell: string): void; +setSelectedCell(cell: string, scroll?: boolean): void; ~~~ ### 参数 {#parameters} - `cell` - (必填)选中单元格的 id 或单元格区域 +- `scroll` - (可选)是否将 Spreadsheet 滚动到该单元格,默认为 `true` ### 示例 {#example} ~~~jsx {7,10,13} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // 配置参数 }); spreadsheet.parse(data); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md index f0a7243c..7fb794b5 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_add_method.md @@ -1,7 +1,7 @@ --- sidebar_label: add() title: add 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 Sheet Manager 的 add 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 sheets.add() 方法向 DHTMLX Spreadsheet 添加一个新的空工作表,该方法返回新工作表的 id(需要启用 multiSheets 选项)。 --- # add() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md index 00eca4c4..8989b49f 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_clear_method.md @@ -1,7 +1,7 @@ --- sidebar_label: clear() title: clear 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 Sheet Manager 的 clear 方法。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费评估版本。 +description: 使用 sheets.clear() 方法清除 DHTMLX Spreadsheet 中工作表的值、样式和格式,而不删除工作表本身。 --- # clear() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md index 3a8bea37..5d342ef6 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_get_method.md @@ -1,7 +1,7 @@ --- sidebar_label: get() title: get 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 Sheet Manager 的 get 方法。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费评估版本。 +description: 使用 sheets.get() 方法按 id 获取 DHTMLX Spreadsheet 中的工作表对象。 --- # get() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md index 8885b6e3..fe790ee7 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_getactive_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getActive() title: getActive 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 Sheet Manager 的 getActive 方法。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费评估版本。 +description: 使用 sheets.getActive() 方法获取 DHTMLX Spreadsheet 的活动(可见)工作表,该方法返回工作表的 id 和名称。 --- # getActive() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md index 2d1aec0c..f306584e 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_getall_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getAll() title: getAll 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 Sheet Manager 的 getAll 方法。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费评估版本。 +description: 使用 sheets.getAll() 方法获取 DHTMLX Spreadsheet 的所有工作表,该方法返回包含工作表 id 和名称的对象数组。 --- # getAll() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md index 85301adb..d7f38758 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_remove_method.md @@ -1,7 +1,7 @@ --- sidebar_label: remove() title: remove 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 Sheet Manager 的 remove 方法。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费评估版本。 +description: 使用 sheets.remove() 方法按 id 从 DHTMLX Spreadsheet 中删除工作表,至少会保留一个工作表;删除活动工作表时会切换到另一个工作表。 --- # remove() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md index de3f4b6e..131ea9d8 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/sheetmanager_setactive_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setActive() title: setActive 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 Sheet Manager 的 setActive 方法。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费评估版本。 +description: 使用 sheets.setActive() 方法将 DHTMLX Spreadsheet 的活动(可见)工作表切换为指定 id 的工作表。 --- # setActive() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md index ae9b6ea5..346931a4 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_addcolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addColumn() title: addColumn 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 addColumn 方法。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费评估版本。 +description: 使用 addColumn() 方法向 DHTMLX Spreadsheet 添加一个空列,该列插入到指定单元格所在列的位置,现有列向右移动。 --- # addColumn() @@ -27,7 +27,7 @@ addColumn(cell: string): void; ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 添加空的 "G" 列 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md index 230b8c65..dc1cd8e8 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_addformula_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addFormula() title: addFormula 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 addFormula 方法。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费评估版本。 +description: 使用 addFormula() 方法在 DHTMLX Spreadsheet 中注册自定义公式函数,以便在单元格公式中通过其大写名称使用。 --- # addFormula() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md index 0949bd9d..9da54fea 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_addrow_method.md @@ -1,7 +1,7 @@ --- sidebar_label: addRow() title: addRow 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 addRow 方法。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费评估版本。 +description: 使用 addRow() 方法向 DHTMLX Spreadsheet 添加一个空行,该行插入到指定单元格所在行的位置,现有行向下移动。 --- # addRow() @@ -27,7 +27,7 @@ addRow(cell: string): void; ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 添加空的第二行 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md index f6bfa8c2..3bc0659b 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afteraction_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterAction title: afterAction 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 afterAction 事件。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费评估版本。 +description: 处理 DHTMLX Spreadsheet 的 afterAction 事件,该事件在操作执行后触发,并接收操作名称及其参数,例如单元格、新值和旧值。 --- # afterAction @@ -13,7 +13,21 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 af ### 用法 {#usage} ~~~jsx -afterAction: (action: string, config: object) => void; +afterAction: ( + action: string, + config: { + action?: string, + cell?: string, + row?: number, + col?: number, + val?: any, + prev?: any, + groupAction?: string, + pageId?: string | number, + pageName?: string, + // other properties of the action + } | object[] +) => void; ~~~ ### 参数 {#parameters} @@ -21,12 +35,23 @@ afterAction: (action: string, config: object) => void; 事件的 callback 接收以下参数: - `action` - (必填)操作名称。查看可用操作的完整列表,请参阅[此处](api/overview/actions_overview.md#list-of-actions) -- `config` - (必填)包含操作参数的对象 +- `config` - (必填)包含操作参数的对象。属性集合取决于具体操作。该对象可包含: + - `action` - (可选)操作名称 + - `cell` - (可选)操作所应用的单元格或单元格区域的 id,例如 `"A1"` 或 `"B2:D5"` + - `row` - (可选)该单元格所在行的从零开始的索引 + - `col` - (可选)该单元格所在列的从零开始的索引 + - `val` - (可选)操作应用的新值,例如单元格的值、样式或尺寸 + - `prev` - (可选)先前的值 + - `groupAction` - (可选)当 `cell` 为单元格区域时,代替 `action` 执行的操作名称,例如 `"groupAction"`、`"groupRowAction"` 或 `"resizeCol"` + - `pageId` - (可选)工作表的 id + - `pageName` - (可选)工作表的名称 + + 当多个操作一起执行时(例如粘贴时),`action` 参数为 `"groupAction"`,`config` 是由此类对象组成的数组。 ### 示例 {#example} ~~~jsx {6-11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // 配置参数 }); spreadsheet.parse(dataset); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md index 21a2c9d8..de617da2 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterclear_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterClear title: afterClear 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 afterClear 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 处理在 DHTMLX Spreadsheet 被清空后触发的 afterClear 事件(自 v4.3 起已弃用,请改用 afterAction 事件)。 --- # afterClear @@ -33,7 +33,7 @@ afterClear: () => void; ### 示例 {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 订阅 "afterClear" 事件 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md index ce287889..f1c151c5 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterdataloaded_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterDataLoaded title: afterDataLoaded 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 afterDataLoaded 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 afterDataLoaded 事件在数据加载到 DHTMLX Spreadsheet 之后执行代码,例如在加载完成时显示一条消息。 --- # afterDataLoaded diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md index 8b86bafa..0ffbc0f9 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditend_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterEditEnd title: afterEditEnd 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 afterEditEnd 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 afterEditEnd 事件处理 DHTMLX Spreadsheet 中单元格编辑的结束,该事件接收单元格的 id 及其新值。 --- # afterEditEnd @@ -26,7 +26,7 @@ afterEditEnd: (cell: string, value: string) => void; ### 示例 {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 订阅 "afterEditEnd" 事件 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md index e649bd09..bb13cc3d 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_aftereditstart_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterEditStart title: afterEditStart 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 afterEditStart 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 afterEditStart 事件处理 DHTMLX Spreadsheet 中单元格编辑的开始,该事件接收单元格的 id 及其值。 --- # afterEditStart @@ -26,7 +26,7 @@ afterEditStart: (cell: string, value: string) => void; ### 示例 {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 订阅 "afterEditStart" 事件 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md index 831a3925..73da1bd6 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterfocusset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterFocusSet title: afterFocusSet 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 afterFocusSet 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 afterFocusSet 事件跟踪 DHTMLX Spreadsheet 中获得焦点的单元格,该事件在单元格获得焦点后触发,并接收单元格的 id。 --- # afterFocusSet @@ -25,7 +25,7 @@ afterFocusSet: (cell: string) => void; ### 示例 {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 订阅 "afterFocusSet" 事件 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md index dfe4d3df..3a0c725f 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_afterselectionset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterSelectionSet title: afterSelectionSet 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 afterSelectionSet 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 afterSelectionSet 事件响应 DHTMLX Spreadsheet 中单元格的选择,该事件在单元格被选中后触发,并接收它们的 id。 --- # afterSelectionSet @@ -25,7 +25,7 @@ afterSelectionSet: (cell: string) => void; ### 示例 {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 订阅 "afterSelectionSet" 事件 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md index 8d041b46..eb70812a 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_aftersheetchange_event.md @@ -1,7 +1,7 @@ --- sidebar_label: afterSheetChange title: afterSheetChange 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 afterSheetChange 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 afterSheetChange 事件跟踪 DHTMLX Spreadsheet 中工作表的切换,该事件接收新活动工作表的名称和 id。 --- # afterSheetChange @@ -25,7 +25,7 @@ afterSheetChange: (sheet: object) => void; ### 示例 {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 订阅 "afterSheetChange" 事件 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_announce_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_announce_method.md new file mode 100644 index 00000000..7c0bb8f3 --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_announce_method.md @@ -0,0 +1,67 @@ +--- +sidebar_label: announce() +title: announce 方法 +description: 通过 announce() 方法向 DHTMLX Spreadsheet 的屏幕阅读器用户发送状态消息,例如报告自定义工具栏或菜单命令的执行结果。 +--- + +# announce() + +### 描述 {#description} + +@short: 向屏幕阅读器用户播报一条消息 + +### 用法 {#usage} + +~~~jsx +announce(message: string): void; +~~~ + +### 参数 {#parameters} + +- `message` - (必填)要播报的文本。传入空字符串将清除消息 + +### 示例 {#example} + +在下面的示例中,自定义菜单命令会统计所选范围内的空单元格数量,并播报统计结果: + +~~~jsx {18} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + menu: true, + // other config parameters +}); +spreadsheet.parse(data); + +spreadsheet.menu.data.add({ + id: "count-empty", + value: "Count empty cells" +}); + +spreadsheet.menu.events.on("click", function (id) { + if (id === "count-empty") { + let count = 0; + spreadsheet.eachCell(function (cell, value) { + if (value === "" || value === undefined || value === null) count++; + }, spreadsheet.selection.getSelectedCell()); + spreadsheet.announce(count + " empty cells in the selection"); + } +}); +~~~ + +### 详情 {#details} + +使用该方法可以向屏幕阅读器用户告知某个没有自身可见元素的操作的结果,例如自定义工具栏或菜单命令。 + +消息会发送到紧随网格元素之后的一个视觉隐藏的实时区域(`role="status"`、`aria-live="polite"`、`aria-atomic="true"`)。屏幕阅读器会在读完当前语音后朗读该消息,且键盘焦点不会移动。 + +Spreadsheet 自身的消息也通过同一区域播报:所选范围、新的公式错误和无效值、被拒绝的编辑、搜索结果、导入和导出的开始与结束,以及新的列宽和行高(参见[状态播报列表](accessibility.md#status-announcements))。该区域一次只保存一条消息,因此后到的消息(无论是您自己的还是内置的)会替换前一条。 + +如果传入的文本与该区域当前的文本相同,屏幕阅读器会再次朗读它。 + +该方法在[只读模式](api/spreadsheet_readonly_config.md)下以及[选择](api/spreadsheet_selection_config.md)功能关闭时同样有效。在 Spreadsheet 附加到页面之前以及调用 `destructor()` 方法之后,该方法不执行任何操作。 + +**更新日志:** 在 v6.0.4 中新增 + +**相关文章:** +- [状态播报](accessibility.md#status-announcements) +- [播报自定义命令](accessibility.md#announcing-a-custom-command) +- [自定义菜单](customization.md#menu) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md index 46cb7834..f52e09f7 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeaction_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeAction title: beforeAction 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 beforeAction 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 beforeAction 事件拦截 DHTMLX Spreadsheet 中的操作,该事件接收操作的名称和参数,当处理函数返回 false 时取消该操作。 --- # beforeAction @@ -13,7 +13,21 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 be ### 用法 {#usage} ~~~jsx -beforeAction: (action: string, config: object) => void | boolean; +beforeAction: ( + action: string, + config: { + action?: string, + cell?: string, + row?: number, + col?: number, + val?: any, + prev?: any, + groupAction?: string, + pageId?: string | number, + pageName?: string, + // other properties of the action + } | object[] +) => void | boolean; ~~~ ### 参数 {#parameters} @@ -21,7 +35,18 @@ beforeAction: (action: string, config: object) => void | boolean; 事件的回调函数接受以下参数: - `action` - (必填)操作的名称。完整的可用操作列表请查看[此处](api/overview/actions_overview.md#list-of-actions) -- `config` - (必填)包含操作参数的对象 +- `config` - (必填)包含操作参数的对象。属性集合取决于具体操作。该对象可包含: + - `action` - (可选)操作名称 + - `cell` - (可选)操作所应用的单元格或单元格区域的 id,例如 `"A1"` 或 `"B2:D5"` + - `row` - (可选)该单元格所在行的从零开始的索引 + - `col` - (可选)该单元格所在列的从零开始的索引 + - `val` - (可选)操作应用的新值,例如单元格的值、样式或尺寸 + - `prev` - (可选)先前的值 + - `groupAction` - (可选)当 `cell` 为单元格区域时,代替 `action` 执行的操作名称,例如 `"groupAction"`、`"groupRowAction"` 或 `"resizeCol"` + - `pageId` - (可选)工作表的 id + - `pageName` - (可选)工作表的名称 + + 当多个操作一起执行时(例如粘贴时),`action` 参数为 `"groupAction"`,`config` 是由此类对象组成的数组。 ### 返回值 {#returns} @@ -30,7 +55,7 @@ beforeAction: (action: string, config: object) => void | boolean; ### 示例 {#example} ~~~jsx {6-11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // 配置参数 }); spreadsheet.parse(dataset); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md index 86150fe9..63225db9 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeclear_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeClear title: beforeClear 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 beforeClear 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用已弃用的 beforeClear 事件,或使用替代它的 beforeAction 事件和 clear 操作,阻止清空 DHTMLX Spreadsheet。 --- # beforeClear @@ -38,7 +38,7 @@ beforeClear: () => void | boolean; ### 示例 {#example} ~~~jsx {5-8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 订阅 "beforeClear" 事件 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md index cc0496ee..880b67c0 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditend_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeEditEnd title: beforeEditEnd 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 beforeEditEnd 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 beforeEditEnd 事件在 DHTMLX Spreadsheet 中结束编辑之前检查单元格的值,返回 false 可使编辑器保持打开。 --- # beforeEditEnd @@ -30,7 +30,7 @@ beforeEditEnd: (cell: string, value: string) => void | boolean; ### 示例 {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 订阅 "beforeEditEnd" 事件 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md index 658b0114..d51ab89d 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeeditstart_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeEditStart title: beforeEditStart 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 beforeEditStart 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费试用版本。 +description: 使用 beforeEditStart 事件控制 DHTMLX Spreadsheet 中哪些单元格可以编辑,返回 false 可阻止编辑器打开。 --- # beforeEditStart @@ -30,7 +30,7 @@ beforeEditStart: (cell: string, value: string) => void | boolean; ### 示例 {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 订阅 "beforeEditStart" 事件 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md index 9899f0f5..31a5c37b 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforefocusset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeFocusSet title: beforeFocusSet 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 beforeFocusSet 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费试用版本。 +description: 使用 beforeFocusSet 事件控制 DHTMLX Spreadsheet 中的焦点,该事件在单元格获得焦点之前触发,当处理函数返回 false 时阻止设置焦点。 --- # beforeFocusSet @@ -29,7 +29,7 @@ beforeFocusSet: (cell: string) => void | boolean; ### 示例 {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 订阅 "beforeFocusSet" 事件 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md index ed8f27ac..18deae6c 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforeselectionset_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeSelectionSet title: beforeSelectionSet 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 beforeSelectionSet 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费试用版本。 +description: 使用 beforeSelectionSet 事件控制 DHTMLX Spreadsheet 中单元格的选择,该事件在选中单元格之前触发,当处理函数返回 false 时阻止选择。 --- # beforeSelectionSet @@ -29,7 +29,7 @@ beforeSelectionSet: (cell: string) => void | boolean; ### 示例 {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 订阅 "beforeSelectionSet" 事件 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md index 16893775..6803f291 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_beforesheetchange_event.md @@ -1,7 +1,7 @@ --- sidebar_label: beforeSheetChange title: beforeSheetChange 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 beforeSheetChange 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费试用版本。 +description: 使用 beforeSheetChange 事件控制 DHTMLX Spreadsheet 中工作表的切换,返回 false 可使当前工作表保持活动状态。 --- # beforeSheetChange @@ -29,7 +29,7 @@ beforeSheetChange: (sheet: object) => void | boolean; ### 示例 {#example} ~~~jsx {5-9} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 订阅 "beforeSheetChange" 事件 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md index 9f23a8e1..e93714d7 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_clear_method.md @@ -1,7 +1,7 @@ --- sidebar_label: clear() title: clear 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 clear 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费试用版本。 +description: 使用 clear() 方法从 DHTMLX Spreadsheet 中删除所有数据。 --- # clear() @@ -19,7 +19,7 @@ clear(): void; ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 清空电子表格 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md index 9fb573aa..82b10f7a 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_colscount_config.md @@ -1,7 +1,7 @@ --- sidebar_label: colsCount title: colsCount 配置项 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 colsCount 配置项。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费试用版本。 +description: 使用 colsCount 属性设置 DHTMLX Spreadsheet 在初始化时显示的列数。 --- # colsCount @@ -19,7 +19,7 @@ colsCount?: number; ### 示例 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { colsCount: 10, // 其他配置参数 }); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md index 1deb43a7..303dcab8 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_deletecolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: deleteColumn() title: deleteColumn 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 deleteColumn 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费试用版本。 +description: 使用 deleteColumn() 方法从 DHTMLX Spreadsheet 中删除一列或一个列区域,包括合并单元格所跨的所有列。 --- # deleteColumn() @@ -11,7 +11,9 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 de @short: 从电子表格中删除一列 :::info -该方法会查找指定单元格,选中它,删除该单元格所在的列,并将左侧的列移至该位置。 +该方法会删除指定单元格所在的列,并将其右侧的列向左移动。 + +如果该单元格位于合并单元格内,该方法会删除合并单元格所跨的每一列。 ::: ### 用法 {#usage} @@ -27,7 +29,7 @@ deleteColumn(cell: string): void; ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 删除 "G" 列 @@ -35,7 +37,27 @@ spreadsheet.deleteColumn("G2"); ~~~ :::note -您可以通过提供单元格 id 范围作为方法参数来删除多列,例如:"A1:C3"。 +您可以通过提供单元格 id 范围作为方法参数来删除多列,例如:"A1:C3"。如果该区域涉及合并单元格,则会删除整个合并单元格所跨的列。覆盖整列的区域(例如在有 100 行的工作表中的 "B1:C100")将按原样删除。 ::: -**相关文章:** [使用电子表格](working_with_ssheet.md#addingremoving-rows-and-columns) +### 详情 {#details} + +删除合并单元格内的某一列时,整个合并单元格及其所有列都会被删除: + +~~~jsx +spreadsheet.mergeCells("B2:D2"); + +// removes columns B, C and D +spreadsheet.deleteColumn("C2"); +~~~ + +删除整列时,跨越这些列的合并单元格会变小。位于被删除列右侧的合并单元格会连同其列一起向左移动。如果被删除的列是固定列,则固定区域会减少被删除的固定列数。 + +`"deleteColumn"` 操作的 [`beforeAction`](api/spreadsheet_beforeaction_event.md) 和 [`afterAction`](api/spreadsheet_afteraction_event.md) 事件接收的是传给该方法的单元格,而不是被删除列的区域。 + +**更新日志:** 删除合并单元格的所有列的功能在 v6.0.4 中新增 + +**相关文章:** +- [使用行和列](work_with_rows_cols.md#removing-columns) +- [合并单元格](merge_cells.md#removing-rows-and-columns-of-merged-cells) +- [使用电子表格](working_with_ssheet.md#addingremoving-rows-and-columns) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md index a9492ccf..2f9c1525 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_deleterow_method.md @@ -1,7 +1,7 @@ --- sidebar_label: deleteRow() title: deleteRow 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 deleteRow 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费试用版本。 +description: 使用 deleteRow() 方法从 DHTMLX Spreadsheet 中删除一行或一个行区域,包括合并单元格所跨的所有行。 --- # deleteRow() @@ -11,7 +11,9 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 de @short: 从电子表格中删除一行 :::info -该方法会查找指定单元格,选中它,删除该单元格所在的行,并将下方的行移至该位置。 +该方法会删除指定单元格所在的行,并将其下方的行向上移动。 + +如果该单元格位于合并单元格内,该方法会删除合并单元格所跨的每一行。 ::: ### 用法 {#usage} @@ -27,7 +29,7 @@ deleteRow(cell: string): void; ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 删除第二行 @@ -35,7 +37,27 @@ spreadsheet.deleteRow("G2"); ~~~ :::note -您可以通过提供单元格 id 范围作为方法参数来删除多行,例如:"A1:C3"。 +您可以通过提供单元格 id 范围作为方法参数来删除多行,例如:"A1:C3"。如果该区域涉及合并单元格,则会删除整个合并单元格所跨的行。覆盖整行的区域(例如在 A 到 Z 列的工作表中的 "A2:Z3")将按原样删除。 ::: -**相关文章:** [使用电子表格](working_with_ssheet.md#addingremoving-rows-and-columns) +### 详情 {#details} + +删除合并单元格内的某一行时,整个合并单元格及其所有行都会被删除: + +~~~jsx +spreadsheet.mergeCells("B2:B4"); + +// removes rows 2, 3 and 4 +spreadsheet.deleteRow("B3"); +~~~ + +删除整行时,跨越这些行的合并单元格会变小。位于被删除行下方的合并单元格会连同其行一起向上移动。如果被删除的行是固定行,则固定区域会减少被删除的固定行数。 + +`"deleteRow"` 操作的 [`beforeAction`](api/spreadsheet_beforeaction_event.md) 和 [`afterAction`](api/spreadsheet_afteraction_event.md) 事件接收的是传给该方法的单元格,而不是被删除行的区域。 + +**更新日志:** 删除合并单元格的所有行的功能在 v6.0.4 中新增 + +**相关文章:** +- [使用行和列](work_with_rows_cols.md#removing-rows) +- [合并单元格](merge_cells.md#removing-rows-and-columns-of-merged-cells) +- [使用电子表格](working_with_ssheet.md#addingremoving-rows-and-columns) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md index 4fe9f504..f7eaacb5 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_eachcell_method.md @@ -1,7 +1,7 @@ --- sidebar_label: eachCell() title: eachCell 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 eachCell 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费试用版本。 +description: 使用 eachCell() 方法遍历 DHTMLX Spreadsheet 中的单元格区域或选中的单元格,该方法会以每个单元格的名称和值调用一个函数。 --- # eachCell() @@ -31,7 +31,7 @@ eachCell( ### 示例 {#example} ~~~jsx {21-27} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // 配置参数 }); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md index e7453781..600f346d 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_editline_config.md @@ -1,7 +1,7 @@ --- sidebar_label: editLine title: editLine 配置项 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 editLine 配置项。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费试用版本。 +description: 使用 editLine 属性显示或隐藏 DHTMLX Spreadsheet 的编辑栏,该属性默认开启。 --- # editLine @@ -25,7 +25,7 @@ editLine: true ### 示例 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { editLine: true, // 其他配置参数 }); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md index 8a82801b..7e2323a3 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_endedit_method.md @@ -1,7 +1,7 @@ --- sidebar_label: endEdit() title: endEdit 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 endEdit 方法。浏览开发者指南和 API 参考,试用代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 endEdit() 方法结束 DHTMLX Spreadsheet 中选定单元格的编辑,该方法会关闭编辑器并保存输入的值。 --- # endEdit() @@ -19,7 +19,7 @@ endEdit(): void; ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 结束对选定单元格的编辑 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md index 142c24a6..ebb6c4bb 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_exportmodulepath_config.md @@ -1,7 +1,7 @@ --- sidebar_label: exportModulePath title: exportModulePath 配置 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 exportModulePath 配置。浏览开发者指南和 API 参考,试用代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 exportModulePath 属性设置 DHTMLX Spreadsheet 中 JSON2Excel 导出模块的 worker.js 文件路径,例如在您自己的服务器上导出到 Excel。 --- # exportModulePath @@ -19,7 +19,7 @@ exportModulePath?: string; ### 示例 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { exportModulePath: "../libs/json2excel/x.x/worker.js?vx", // 导出模块 `worker.js` 文件的本地路径 // 其他配置参数 }); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md index 9461662d..1e4893da 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_fitcolumn_method.md @@ -1,7 +1,7 @@ --- sidebar_label: fitColumn() title: fitColumn 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 fitColumn 方法。浏览开发者指南和 API 参考,试用代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 fitColumn() 方法将 DHTMLX Spreadsheet 中列的宽度调整为与其最长值匹配。 --- # fitColumn() @@ -24,7 +24,7 @@ fitColumn(cell: string): void; ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 调整 "G" 列的宽度 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md index 904f349f..5cedeb7f 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_formats_config.md @@ -1,7 +1,7 @@ --- sidebar_label: formats title: formats 配置 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 formats 配置。浏览开发者指南和 API 参考,试用代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 formats 属性定义 DHTMLX Spreadsheet 中可用的数字格式,该属性是一个对象数组,包含每种格式的 id、掩码、名称和示例。 --- # formats @@ -50,7 +50,7 @@ defaultFormats = [ ### 示例 {#example} ~~~jsx {2-19} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { formats: [ { name: "U.S. Dollar", diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md index 20042b93..918c59b9 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_freezecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: freezeCols() title: freezeCols 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 freezeCols 方法。浏览开发者指南和 API 参考,试用代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 freezeCols() 方法冻结 DHTMLX Spreadsheet 中的列,该方法会在当前或其他工作表中固定指定单元格或选中单元格之前的列。 --- # freezeCols() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md index 567bc144..44e26fc9 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_freezerows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: freezeRows() title: freezeRows 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 freezeRows 方法。浏览开发者指南和 API 参考,试用代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 freezeRows() 方法冻结 DHTMLX Spreadsheet 中的行,该方法会在当前或其他工作表中固定指定单元格或选中单元格之前的行。 --- # freezeRows() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md index a2e40cb2..0044ea1c 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getfilter_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFilter() title: getFilter 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 getFilter 方法。浏览开发者指南和 API 参考,试用代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 getFilter() 方法获取 DHTMLX Spreadsheet 中工作表的筛选条件,该方法返回已筛选的单元格区域和筛选规则。 --- # getFilter() @@ -30,7 +30,7 @@ getFilter(id?: string): {cell, rules}; ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 获取当前工作表的筛选条件 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md index b5f0f7fa..ada92520 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getformat_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFormat() title: getFormat 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 getFormat 方法。浏览开发者指南和 API 参考,试用代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 getFormat() 方法获取 DHTMLX Spreadsheet 中单元格或单元格区域的值所应用的数字格式。 --- # getFormat() @@ -27,7 +27,7 @@ getFormat(cell: string): string | array; ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 返回 "currency" diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md index e71cc8b0..cae9a565 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getformula_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getFormula() title: getFormula 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 getFormula 方法。浏览开发者指南和 API 参考,试用代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 getFormula() 方法获取 DHTMLX Spreadsheet 中单元格的公式,包括其他工作表中的单元格。 --- # getFormula() @@ -27,7 +27,7 @@ getFormula(cell: string): string | array; ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 返回 "ABS(C2)" diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md index 6f7bb9eb..9044774a 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getstyle_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getStyle() title: getStyle 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 getStyle 方法。浏览开发者指南和 API 参考,试用代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 getStyle() 方法获取 DHTMLX Spreadsheet 中单元格或单元格区域所应用的样式。 --- # getStyle() @@ -27,7 +27,7 @@ getStyle(cell: string): any; ### 示例 {#example} ~~~jsx {5,9,12} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 获取单个单元格的样式 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md index eaed5549..d9886cf8 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_getvalue_method.md @@ -1,7 +1,7 @@ --- sidebar_label: getValue() title: getValue 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 getValue 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 getValue() 方法获取 DHTMLX Spreadsheet 中单元格的值或单元格区域的值。 --- # getValue() @@ -27,7 +27,7 @@ getValue(cell: string): any | array; ### 示例 {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 返回单个单元格的值 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md index 0de8577e..18b2b834 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_groupfill_event.md @@ -1,7 +1,7 @@ --- sidebar_label: groupFill title: groupFill 事件 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 groupFill 事件。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 groupFill 事件处理 DHTMLX Spreadsheet 中的单元格自动填充,该事件会将获得焦点的单元格和选中的单元格传递给回调函数。 --- # groupFill @@ -26,7 +26,7 @@ groupFill: (focusedCell: string, selectedCell: string) => void; ### 示例 {#example} ~~~jsx {5-7} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 订阅 "groupFill" 事件 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md index 92ddb2fc..c376b3ba 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_hidecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideCols() title: hideCols 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 hideCols 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 hideCols() 方法隐藏 DHTMLX Spreadsheet 中的一列或多列,可通过单元格 id、单元格区域或选中的单元格指定列。 --- # hideCols() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md index 2814209f..71c90c48 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_hiderows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideRows() title: hideRows 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 hideRows 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 hideRows() 方法隐藏 DHTMLX Spreadsheet 中的一行或多行,可通过单元格 id、单元格区域或选中的单元格指定行。 --- # hideRows() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md index aac3184f..d78d99bf 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_hidesearch_method.md @@ -1,7 +1,7 @@ --- sidebar_label: hideSearch() title: hideSearch 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 hideSearch 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 hideSearch() 方法隐藏 DHTMLX Spreadsheet 的搜索栏,例如在通过 search() 方法打开搜索后将其关闭。 --- # hideSearch() @@ -19,7 +19,7 @@ hideSearch(): void; ### 示例 {#example} ~~~jsx {5,8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 打开搜索栏并高亮显示找到的单元格 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md index b6961db7..3d012896 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_importmodulepath_config.md @@ -1,7 +1,7 @@ --- sidebar_label: importModulePath title: importModulePath 配置项 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 importModulePath 配置项。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 importModulePath 属性设置 Excel2json 库的 worker.js 文件路径,DHTMLX Spreadsheet 使用该库导入 Excel 文件。 --- # importModulePath @@ -19,7 +19,7 @@ importModulePath?: string; ### 示例 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { importModulePath: "../libs/excel2json/1.0/worker.js", // 其他配置参数 }); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md index df3eca25..c46e074d 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_insertlink_method.md @@ -1,7 +1,7 @@ --- sidebar_label: insertLink() title: insertLink 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 insertLink 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 insertLink() 方法在 DHTMLX Spreadsheet 的单元格中插入超链接,或移除超链接并保留单元格文本。 --- # insertLink() @@ -36,7 +36,7 @@ insertLink( ### 示例 {#example} ~~~jsx {5-7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 在 "A2" 单元格中插入链接 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md index ac43397a..8c447a12 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_islocked_method.md @@ -1,7 +1,7 @@ --- sidebar_label: isLocked() title: isLocked 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 isLocked 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 isLocked() 方法检查 DHTMLX Spreadsheet 中的单元格或区域中的任一单元格是否已锁定。 --- # isLocked() @@ -27,7 +27,7 @@ isLocked(cell: string): boolean; ### 示例 {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 检查单个单元格是否被锁定 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md index 8be65033..42d0a848 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_load_method.md @@ -1,7 +1,7 @@ --- sidebar_label: load() title: load 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 load 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 load() 方法将外部 JSON、CSV 或 XLSX 文件中的数据加载到 DHTMLX Spreadsheet,该方法返回一个 promise。 --- # load() @@ -28,7 +28,7 @@ load(url: string, type?: string): promise; ### 示例 {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 以 JSON 格式加载数据(默认) @@ -84,7 +84,7 @@ DHTMLX Spreadsheet 使用基于 WebAssembly 的库 [Excel2Json](https://github.c - 以两个参数调用 `load()` 方法:空字符串作为 URL,以及要加载的数据类型("json"): ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { menu: true, }); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md index 58b4f2ca..9462ebab 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_localization_config.md @@ -1,7 +1,7 @@ --- sidebar_label: localization title: localization 配置项 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 localization 配置项。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 localization 属性设置 DHTMLX Spreadsheet 的小数分隔符和千位分隔符、货币符号以及日期和时间格式。 --- # localization @@ -41,7 +41,7 @@ const defaultLocales = { ### 示例 {#example} ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { localization: { decimal: ",", thousands: " ", diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md index 19c413b0..e7d0923a 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_lock_method.md @@ -1,7 +1,7 @@ --- sidebar_label: lock() title: lock 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 lock 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 lock() 方法锁定 DHTMLX Spreadsheet 中的单元格、单元格区域或多个单元格,使用户无法编辑它们。 --- # lock() @@ -23,7 +23,7 @@ lock(cell: string): void; ### 示例 {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 锁定单个单元格 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md index b61ed08f..d69e857c 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_menu_config.md @@ -1,7 +1,7 @@ --- sidebar_label: menu title: menu 配置项 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 menu 配置项。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 menu 属性显示或隐藏 DHTMLX Spreadsheet 的菜单。 --- # menu @@ -25,7 +25,7 @@ menu: true ### 示例 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { menu: false, // 其他配置参数 }); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md index e630419f..3aced61a 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_mergecells_method.md @@ -1,7 +1,7 @@ --- sidebar_label: mergeCells() title: mergeCells 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 mergeCells 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 mergeCells() 方法将 DHTMLX Spreadsheet 中的单元格区域合并为一个单元格,或拆分已合并的单元格。 --- # mergeCells() @@ -29,7 +29,7 @@ mergeCells( ### 示例 {#example} ~~~jsx {5,8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 合并单元格 A3、A4 和 A5 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md index c82ea468..2ac3acaa 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_multisheets_config.md @@ -1,7 +1,7 @@ --- sidebar_label: multiSheets title: multiSheets 配置项 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 multiSheets 配置项。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 multiSheets 属性开启或关闭 DHTMLX Spreadsheet 中的多工作表功能,该属性会显示或隐藏底部的工作表标签栏。 --- # multiSheets @@ -25,7 +25,7 @@ multiSheets: true ### 示例 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { multiSheets: false, // 其他配置参数 }); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md index d026fb38..1bc47c2e 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_parse_method.md @@ -1,7 +1,7 @@ --- sidebar_label: parse() title: parse 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 parse 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 parse() 方法将本地数据源中的数据加载到 DHTMLX Spreadsheet,包括单元格值、样式、格式、编辑器、链接以及多个工作表。 --- # parse() @@ -167,7 +167,7 @@ const data = [ // 更多数据 ]; -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); ~~~ @@ -246,7 +246,7 @@ const styledData = { ], }; -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(styledData); ~~~ diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md index 3be12162..71c7d118 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_readonly_config.md @@ -1,7 +1,7 @@ --- sidebar_label: readonly title: readonly 配置项 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 readonly 配置项。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 readonly 属性开启 DHTMLX Spreadsheet 的只读模式,该模式会阻止数据更改,但保留键盘导航、选择、复制和搜索功能。 --- # readonly @@ -25,15 +25,47 @@ readonly: false ### 示例 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { readonly: true, // 其他配置参数 }); ~~~ +### 详情 {#details} + +在只读模式下,工具栏、菜单和公式栏会被隐藏,上下文菜单和列菜单图标不可用。工作表标签保留,但没有添加工作表的按钮、工作表上下文菜单,也不能通过双击重命名。 + +用户仍然可以阅读和复制数据: + +- 数据加载后,A1 单元格处于激活状态 +- 可以使用键盘在单元格间导航并用鼠标选择单元格,这些操作会触发 selection 事件 +- 可以使用 `Ctrl (Cmd) + C` 复制单元格,使用 `Ctrl (Cmd) + F` 搜索 +- 可以在工作表标签中以及通过键盘切换工作表 +- 可以打开单元格中的链接,但链接弹窗中用于编辑和删除链接的按钮被禁用 + +数据更改会被拒绝: + +- 输入、编辑键、剪切和粘贴、撤销和重做,以及用于设置单元格格式、插入链接、添加工作表或显示隐藏行和列的快捷键都会被忽略,屏幕阅读器会播报“The sheet is read-only” +- 编辑数据的方法(例如 [`setValue()`](api/spreadsheet_setvalue_method.md)、[`setStyle()`](api/spreadsheet_setstyle_method.md) 和 [`deleteRow()`](api/spreadsheet_deleterow_method.md))以及 [`startEdit()`](api/spreadsheet_startedit_method.md) 方法会被忽略。[`parse()`](api/spreadsheet_parse_method.md) 和 [`load()`](api/spreadsheet_load_method.md) 方法仍可加载数据 +- 填充柄被隐藏 +- 不能通过拖动边框来调整列和行的大小,双击列边框也不会使列宽适应数据 + +若要同时关闭键盘导航和选择功能,请将 [`selection`](api/spreadsheet_selection_config.md) 选项设置为 `false`。此时 Spreadsheet 没有活动单元格,也无法通过鼠标、键盘或 API 选择单元格: + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, + // other config parameters +}); +~~~ + +**更新日志:** 只读模式下的键盘导航、选择、复制和搜索功能在 v6.0.4 中新增 + **相关文章:** - [配置](configuration.md#read-only-mode) - [自定义](customization.md#custom-read-only-mode) +- [无障碍访问:只读设置](accessibility.md#read-only-setup) **相关示例:** [Spreadsheet. 只读模式](https://snippet.dhtmlx.com/2w959gx2) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md index 8043d2f7..4024698d 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_redo_method.md @@ -1,7 +1,7 @@ --- sidebar_label: redo() title: redo 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 redo 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 redo() 方法在 DHTMLX Spreadsheet 中重新执行已撤销的操作。 --- # redo() @@ -19,7 +19,7 @@ redo(): void; ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 重新执行已撤销的操作 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md index c81c2d19..41b58d07 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_rowscount_config.md @@ -1,7 +1,7 @@ --- sidebar_label: rowsCount title: rowsCount 配置项 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 rowsCount 配置项。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 rowsCount 属性设置 DHTMLX Spreadsheet 初始化时显示的行数。 --- # rowsCount @@ -19,7 +19,7 @@ rowsCount?: number; ### 示例 {#example} ~~~jsx {2} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { rowsCount: 10, // 其他配置参数 }); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md index 77617dd0..d349d71f 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_search_method.md @@ -1,7 +1,7 @@ --- sidebar_label: search() title: search 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 search 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 search() 方法按值搜索 DHTMLX Spreadsheet 中的单元格,该方法返回找到的单元格 id,并可打开搜索栏并高亮显示匹配结果。 --- # search() @@ -35,7 +35,7 @@ search( ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 返回匹配结果的单元格 ID,打开搜索栏并高亮显示找到的单元格 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_selection_config.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_selection_config.md new file mode 100644 index 00000000..feba0f17 --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_selection_config.md @@ -0,0 +1,63 @@ +--- +sidebar_label: selection +title: selection 配置 +description: 通过 selection 属性关闭 DHTMLX Spreadsheet 中的单元格选择功能(可单独使用,也可与只读模式结合使用),以在没有活动单元格的情况下展示数据。 +--- + +# selection + +### 描述 {#description} + +@short: 可选。启用/禁用单元格选择功能 + +### 用法 {#usage} + +~~~jsx +selection?: boolean; +~~~ + +### 默认配置 {#default-config} + +~~~jsx +selection: true +~~~ + +### 示例 {#example} + +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, + // other config parameters +}); +~~~ + +### 详情 {#details} + +当该属性设置为 `false` 时: + +- Spreadsheet 没有活动单元格 +- 无法通过鼠标、键盘或 API 选择单元格:[`setSelectedCell()`](api/selection_setselectedcell_method.md) 和 [`setFocusedCell()`](api/selection_setfocusedcell_method.md) 方法会被忽略,[`getSelectedCell()`](api/selection_getselectedcell_method.md) 和 [`getFocusedCell()`](api/selection_getfocusedcell_method.md) 方法返回 `undefined` +- 无法通过界面编辑单元格:公式栏被锁定,填充柄被隐藏,[`startEdit()`](api/spreadsheet_startedit_method.md) 方法会被忽略 +- 上下文菜单和列菜单图标不可用 +- `Tab` 键在网格上仅停留一次,然后将焦点移到后面的元素,`Ctrl + F6` 会跳过网格 + +仍可通过拖动边框调整列和行的大小,也仍可通过 API 更改数据,例如使用 [`setValue()`](api/spreadsheet_setvalue_method.md) 方法。 + +与 [`readonly`](api/spreadsheet_readonly_config.md) 属性结合使用时,该选项会关闭只读模式下可用的键盘导航和选择功能: + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, + // other config parameters +}); +~~~ + +若要在运行时关闭和开启选择功能,请使用 [`selection.disable()`](api/selection_disable_method.md) 和 [`selection.enable()`](api/selection_enable_method.md) 方法。 + +**更新日志:** 在 v6.0.4 中新增 + +**相关文章:** +- [单元格选择](configuration.md#selection-of-cells) +- [只读模式](configuration.md#read-only-mode) +- [无障碍:只读设置](accessibility.md#read-only-setup) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md index f1fd1ded..89f9d707 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_serialize_method.md @@ -1,7 +1,7 @@ --- sidebar_label: serialize() title: serialize 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 serialize 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 serialize() 方法将 DHTMLX Spreadsheet 的数据保存为 JSON 对象,其中包括工作表、单元格值、样式和数字格式。 --- # serialize() @@ -94,7 +94,7 @@ serialize(): { ### 示例 {#example} ~~~jsx {4} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); const state = spreadsheet.serialize(); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md index e2789f0e..354bd23e 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setfilter_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFilter() title: setFilter 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 setFilter 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 setFilter() 方法按条件或排除值筛选 DHTMLX Spreadsheet 中某列的数据,或重置筛选。 --- # setFilter() @@ -44,7 +44,7 @@ setFilter( ### 示例 {#example} ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 按为列 A 指定的条件筛选数据 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md index 4134b5f4..274eb39f 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setformat_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setFormat() title: setFormat 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 setFormat 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 setFormat() 方法将数字格式应用于 DHTMLX Spreadsheet 中单元格或单元格区域的值。 --- # setFormat() @@ -24,7 +24,7 @@ setFormat(cell: string, format: string | array): void; ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 将货币格式应用于单元格 A1 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md index a8c95e06..a30c6394 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setstyle_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setStyle() title: setStyle 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 setStyle 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 setStyle() 方法为 DHTMLX Spreadsheet 中的一个单元格、多个单元格或单元格区域应用相同的样式,样式以对象或数组形式传入。 --- # setStyle() @@ -28,7 +28,7 @@ setStyle(cell: string, styles: array | object): void; ### 示例 {#example} ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 为单个单元格设置样式 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md index 9c018f6b..f2b14c0d 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalidation_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setValidation() title: setValidation 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 setValidation 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 setValidation() 方法为 DHTMLX Spreadsheet 单元格添加下拉列表,选项来自单元格区域或数组,也可以移除数据验证。 --- # setValidation() @@ -29,7 +29,7 @@ setValidation( ### 示例 {#example} ~~~jsx {8} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // 配置参数 }); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md index 1b8afc51..4989ef01 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_setvalue_method.md @@ -1,7 +1,7 @@ --- sidebar_label: setValue() title: setValue 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 setValue 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 setValue() 方法为 DHTMLX Spreadsheet 中的一个单元格、多个单元格或单元格区域设置值,可传入单个值或在单元格间重复的值数组。 --- # setValue() @@ -28,7 +28,7 @@ setValue(cell: string, value: string | number | array): void; ### 示例 {#example} ~~~jsx {5,8,11,14} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 为单个单元格设置值 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md index b7d8c8d6..6fa5afb9 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_showcols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: showCols() title: showCols 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 showCols 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 showCols() 方法显示 DHTMLX Spreadsheet 中隐藏的列,列由传入的单元格或当前选中的单元格确定。 --- # showCols() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md index f34830fa..c088397c 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_showrows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: showRows() title: showRows 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 showRows 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 showRows() 方法显示 DHTMLX Spreadsheet 中隐藏的行,行由传入的单元格或当前选中的单元格确定。 --- # showRows() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md index a04521cd..28e3ee11 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_sortcells_method.md @@ -1,7 +1,7 @@ --- sidebar_label: sortCells() title: sortCells 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 sortCells 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 sortCells() 方法按列或单元格区域对 DHTMLX Spreadsheet 中的数据进行升序或降序排序。 --- # sortCells() @@ -26,7 +26,7 @@ sortCells(cell: string, dir: number): void; ### 示例 {#example} ~~~jsx {7,10} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // 配置参数 }); spreadsheet.parse(data); diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md index f59ed30f..45b199a1 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_startedit_method.md @@ -1,7 +1,7 @@ --- sidebar_label: startEdit() title: startEdit 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 startEdit 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 startEdit() 方法开始编辑 DHTMLX Spreadsheet 中传入的或选中的单元格,可选择指定初始值。 --- # startEdit() @@ -28,11 +28,17 @@ startEdit(cell?: string, initialValue?: string): void; ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 开始编辑当前选中的单元格 spreadsheet.startEdit(); ~~~ +### 详情 {#details} + +在活动单元格中输入内容时,会通过该方法开始编辑。使用输入法编辑器 (IME) 组合的文本会在组合结束时作为 `initialValue` 传入。因此 [`beforeEditStart`](api/spreadsheet_beforeeditstart_event.md) 和 [`afterEditStart`](api/spreadsheet_aftereditstart_event.md) 事件会接收到输入或组合的文本,并且 `beforeEditStart` 可以取消编辑。 + +**更新日志:** 使用 IME 组合的文本开始编辑的功能在 v6.0.4 中新增 + **相关文章:** [使用电子表格](working_with_cells.md#editing-a-cell) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md index 34698626..1bd7fa8e 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_toolbarblocks_config.md @@ -1,7 +1,7 @@ --- sidebar_label: toolbarBlocks title: toolbarBlocks 配置项 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 toolbarBlocks 配置项。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 toolbarBlocks 属性选择 DHTMLX Spreadsheet 工具栏中显示的按钮块,例如 undo、colors、font、align 和 format。 --- # toolbarBlocks diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md index 5e3962a0..92444512 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_undo_method.md @@ -1,7 +1,7 @@ --- sidebar_label: undo() title: undo 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 undo 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 undo() 方法撤销 DHTMLX Spreadsheet 中的最近一次操作,并使用 redo() 方法重新应用。 --- # undo() @@ -19,7 +19,7 @@ undo(): void; ### 示例 {#example} ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 执行一步撤销操作 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md index 768fb63d..f8a37167 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezecols_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unfreezeCols() title: unfreezeCols 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 unfreezeCols 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 unfreezeCols() 方法解冻 DHTMLX Spreadsheet 中冻结的列,使其随表格其余部分一起滚动。 --- # unfreezeCols() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md index 2953441f..e8a30c68 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_unfreezerows_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unfreezeRows() title: unfreezeRows 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 unfreezeRows 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 unfreezeRows() 方法解冻 DHTMLX Spreadsheet 中冻结的行,使其随表格其余部分一起滚动。 --- # unfreezeRows() diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md index 0f9da68c..229803b3 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/api/spreadsheet_unlock_method.md @@ -1,7 +1,7 @@ --- sidebar_label: unlock() title: unlock 方法 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 unlock 方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 unlock() 方法解锁 DHTMLX Spreadsheet 中被锁定的一个单元格、多个单元格或单元格区域,使用户可以再次编辑它们。 --- # unlock() @@ -23,7 +23,7 @@ unlock(cell: string): void; ### 示例 {#example} ~~~jsx {5,8,11} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", {}); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {}); spreadsheet.parse(data); // 解锁单个单元格 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/awaitredraw.md b/i18n/zh/docusaurus-plugin-content-docs/current/awaitredraw.md index 0456521f..4f43ddb2 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/awaitredraw.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/awaitredraw.md @@ -1,7 +1,7 @@ --- sidebar_label: AwaitRedraw 辅助函数 title: AwaitRedraw 辅助函数 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 AwaitRedraw 辅助函数。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 dhx.awaitRedraw 辅助函数在 DHTMLX Spreadsheet 完成渲染后运行代码,适用于仅在组件显示在页面上后才生效的 API 方法。 --- # AwaitRedraw 辅助函数 {#awaitredraw-helper} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/configuration.md b/i18n/zh/docusaurus-plugin-content-docs/current/configuration.md index 40916c7d..3662b65e 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/configuration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/configuration.md @@ -1,7 +1,7 @@ --- sidebar_label: 配置 title: 配置 -description: 您可以在文档中了解 DHTMLX JavaScript Spreadsheet 库的配置方式。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 配置 DHTMLX Spreadsheet。设置工具栏、编辑栏、菜单、行数和列数、只读模式、单元格选择以及数字格式。 --- # 配置 {#configuration} @@ -48,10 +48,43 @@ Spreadsheet 的菜单默认隐藏。您可以通过相应的配置选项 [`menu` 您还可以通过 [`readonly`](api/spreadsheet_readonly_config.md) 配置选项启用只读模式,以防止对 Spreadsheet 单元格进行编辑。 +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, +}); +~~~ + +在只读模式下,工具栏、菜单和公式栏会被隐藏。用户可以使用键盘在单元格间导航,使用鼠标选择单元格,以及复制和搜索单元格。编辑操作会被拒绝,并向屏幕阅读器播报"The sheet is read-only"。填充柄会被隐藏。详细信息请参阅 [`readonly`](api/spreadsheet_readonly_config.md#details) 文章。要了解键盘和屏幕阅读器用户如何使用只读 Spreadsheet,请参阅无障碍指南的[只读设置](accessibility.md#read-only-setup)部分。 + +要在只读模式下关闭键盘导航和选择,请将 [`selection`](api/spreadsheet_selection_config.md) 选项设置为 `false`: + +~~~jsx {3} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + readonly: true, + selection: false, +}); +~~~ + 您也可以[自定义 Spreadsheet 的只读行为](customization.md#custom-read-only-mode)。 +## 单元格选择 {#selection-of-cells} + +默认情况下,用户可以使用鼠标和键盘选择单元格,并且 Spreadsheet 具有活动单元格。要关闭选择,请将 [`selection`](api/spreadsheet_selection_config.md) 配置选项设置为 `false`: + +~~~jsx {2} +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { + selection: false, +}); +~~~ + +此时,Spreadsheet 没有活动单元格,无法通过界面选择或编辑单元格,上下文菜单也不可用。 + +要在运行时关闭和开启选择,请使用 [`selection.disable()`](api/selection_disable_method.md) 和 [`selection.enable()`](api/selection_enable_method.md) 方法。[`selection.isDisabled()`](api/selection_isdisabled_method.md) 方法用于检查选择是否已关闭。 + +没有选择时,网格会成为键盘可直接跳过的单个 Tab 停靠点。请参阅无障碍指南的[只读设置](accessibility.md#read-only-setup)部分。 + ## 单元格自定义数字格式 {#custom-number-formats-for-cells} 您可以对单元格值应用 7 种默认格式:"Common"(通用)、"Number"(数字)、"Percent"(百分比)、"Currency"(货币)、"Date"(日期)、"Time"(时间)、"Text"(文本)。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/customization.md b/i18n/zh/docusaurus-plugin-content-docs/current/customization.md index 1c8fa13f..70e3ddc5 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/customization.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/customization.md @@ -1,7 +1,7 @@ --- sidebar_label: 自定义 title: 自定义 -description: 您可以在文档中了解 DHTMLX JavaScript Spreadsheet 库的自定义方式。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 自定义 DHTMLX Spreadsheet。更改图标,添加、更新和删除工具栏、菜单和上下文菜单的控件,或构建自定义只读模式。 --- # 自定义 {#customization} @@ -31,6 +31,8 @@ DHTMLX Spreadsheet 默认使用基于 [Material Design](https://pictogrammers.co 您可以添加以下类型的控件:`button`、`menuItem`、`separator` 和 `spacer`。 +与[默认工具栏](#default-controls)的其他控件一样,*文字颜色*和*背景颜色*控件,以及*边框*弹出窗口中的*边框颜色*控件,均为 [`navItem`](https://docs.dhtmlx.com/suite/toolbar/navitem/) 类型。它们通过 [`html`](https://docs.dhtmlx.com/suite/toolbar/api/api_navitem_properties/) 属性绘制当前颜色,通过 [`value`](https://docs.dhtmlx.com/suite/toolbar/api/api_navitem_properties/) 属性获取无障碍名称(例如"Text color: dark gray"),并打开颜色弹出窗口。当活动单元格更改时,Spreadsheet 会更新*文字颜色*和*背景颜色*控件的这两个属性;选择边框颜色时,会更新*边框颜色*控件的这两个属性。 + `button` 对象具有以下属性: - `type` - 按钮类型,设置为 "button" @@ -379,7 +381,8 @@ spreadsheet.menu.data.remove("undo"); - **列(Columns)** menuItem(id: "columns") - *添加列(Add column)* menuItem(id: "add-col") - *删除列(Remove column)* menuItem(id: "remove-col") - - *适应数据宽度(Fit to data)* menuItem(id: "fit-col") + - *适应数据宽度(Fit to data)* menuItem(id: "fit-col"),显示在列菜单中以及选中整列时 + - *列宽(Column width)* menuItem(id: "col-width") - 分隔符 - *取消冻结列(Unfreeze columns)* menuItem(id: "unfreeze-cols") - *冻结到第 [id] 列(Freeze up to column [id])* menuItem(id: "freeze-cols") @@ -388,6 +391,7 @@ spreadsheet.menu.data.remove("undo"); - **行(Rows)** menuItem(id: "rows") - *添加行(Add row)* menuItem(id: "add-row") - *删除行(Remove row)* menuItem(id: "remove-row") + - *行高(Row height)* menuItem(id: "row-height") - 分隔符 - *取消冻结行(Unfreeze rows)* menuItem(id: "unfreeze-rows") - *冻结到第 [id] 行(Freeze up to row [id])* menuItem(id: "freeze-rows") @@ -396,6 +400,7 @@ spreadsheet.menu.data.remove("undo"); - **排序(Sort)** menuItem(id: "sort") - *升序排序(Sort A to Z)* menuItem(id: "asc-sort") - *降序排序(Sort Z to A)* menuItem(id: "desc-sort") +- **打开筛选(Open filter)** menuItem(id: "open-filter"),当活动单元格带有筛选图标时显示 - **插入链接(Insert link)** menuItem(id: "link") ### 添加控件 {#adding-controls-3} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/data_formatting.md b/i18n/zh/docusaurus-plugin-content-docs/current/data_formatting.md index f52f8592..dcb025f3 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/data_formatting.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/data_formatting.md @@ -1,7 +1,7 @@ --- sidebar_label: 数据格式化 title: 数据格式化 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解数据格式化的相关内容。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 通过 DHTMLX Spreadsheet 工具栏设置单元格数据的样式,包括文本和背景颜色、粗体和斜体、对齐方式、文本换行和单元格边框,并清除样式和值。 --- # 数据格式化 {#data-formatting} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/data_search.md b/i18n/zh/docusaurus-plugin-content-docs/current/data_search.md index efe458d8..a781e454 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/data_search.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/data_search.md @@ -1,7 +1,7 @@ --- sidebar_label: 搜索数据 title: 搜索数据 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解数据搜索的相关内容。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用搜索栏在 DHTMLX Spreadsheet 中搜索数据。通过 Ctrl(Cmd)+ F 或"数据"菜单打开搜索栏,在匹配项之间移动,并使用 Esc 关闭。 --- # 搜索数据 {#searching-for-data} @@ -12,3 +12,11 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解数 - 或通过菜单操作:*数据* -> *搜索* ![DHTMLX Spreadsheet 搜索栏,带有用于查找数据的文本输入框](/img/search_data.png) + +在搜索栏中输入要查找的文本。包含该文本的第一个单元格会被高亮并滚动到可见区域,计数器显示匹配项的数量。要在匹配项之间移动,请单击搜索栏中的箭头按钮。 + +编辑单元格以及切换到另一个工作表后,搜索结果会更新。停止输入后,屏幕阅读器会播报匹配项数量和第一个匹配项的地址,例如 "Results: 5. 1 of 5, B2" 或 "No results"。移动到另一个匹配项时,会播报其位置和地址,例如 "2 of 5, B7"。 + +要关闭搜索栏,请按 **Esc** 或单击关闭按钮。焦点会返回到活动单元格。 + +要通过 API 搜索数据,请使用 [`search()`](api/spreadsheet_search_method.md) 方法。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/excel_import_export.md b/i18n/zh/docusaurus-plugin-content-docs/current/excel_import_export.md index a3ab0d99..a76acd88 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/excel_import_export.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/excel_import_export.md @@ -1,7 +1,7 @@ --- sidebar_label: Excel 导入/导出 title: Excel 导入与导出 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 Excel 导入与导出的相关内容。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 通过工具栏或"文件"菜单,将 Excel 文件中的数据导入 DHTMLX Spreadsheet,并导出为 .xlsx 文件。 --- # Excel 导入/导出 {#excel-importexport} @@ -37,3 +37,9 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解 Ex ![DHTMLX Spreadsheet 文件菜单中用于导出 Microsoft Excel XLSX 文件的"下载为"选项](/img/file_export.png) 2\. 在您的下载目录中查找包含 Spreadsheet 数据的 Excel 文件。 + +屏幕阅读器会播报导入和导出的开始与结束。 + +:::note +Excel 文件的导入和导出使用 WebAssembly。如果浏览器不支持 WebAssembly,"导入"和"导出"命令会显示一条消息,内容为 `wasmNotSupported` [本地化](localization.md#default-locale)键的文本。使用 `"xlsx"` 类型的 [`load()`](api/spreadsheet_load_method.md) 方法和 [`export.xlsx()`](api/export_xlsx_method.md) 方法会抛出带有相同文本的 `Error`,您可以在代码中捕获它。 +::: diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/filtering_data.md b/i18n/zh/docusaurus-plugin-content-docs/current/filtering_data.md index 332a8c85..285753f6 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/filtering_data.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/filtering_data.md @@ -1,7 +1,7 @@ --- sidebar_label: 筛选数据 title: 筛选数据 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解数据筛选的相关内容。浏览开发指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 按条件或按值筛选 DHTMLX Spreadsheet 中的数据,使用键盘打开筛选器,并清除或移除筛选。 --- # 筛选数据 {#filtering-data} @@ -20,6 +20,20 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解数 之后,**筛选**图标将出现在选定范围内每个列标题的右侧。 +## 使用键盘打开筛选器 {#opening-a-filter-with-the-keyboard} + +不使用鼠标打开某一列的筛选器: + +- 将活动单元格移动到带有**筛选**图标的列标题单元格 + +- 按 `Shift + F10` 或 Menu 键调出上下文菜单,然后选择*打开筛选* + +![DHTMLX Spreadsheet 带有筛选图标的标题单元格的上下文菜单,其中"打开筛选"命令处于焦点状态](/img/open_filter_context_menu.png) + +*打开筛选*命令仅在带有**筛选**图标的单元格的上下文菜单中显示。右键单击此类单元格后,您也可以选择该命令。在[只读模式](api/spreadsheet_readonly_config.md)下,上下文菜单和*打开筛选*命令不可用。 + +筛选弹出窗口会获得焦点,`Tab` 键在其控件之间移动。`Esc` 键关闭弹出窗口并使焦点返回到单元格。如果弹出窗口中打开了下拉列表或日期选择器,`Esc` 会先关闭它。 + ## 按条件筛选 {#filtering-by-condition} - 单击目标列的**筛选**图标 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/functions.md b/i18n/zh/docusaurus-plugin-content-docs/current/functions.md index 536ab206..8c5e28d3 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/functions.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/functions.md @@ -1,7 +1,7 @@ --- sidebar_label: 公式与函数 title: 公式与函数 -description: 您可以在本文档中了解 DHTMLX JavaScript Spreadsheet 库的公式与函数。浏览开发者指南和 API 参考,尝试代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 在 DHTMLX Spreadsheet 中使用与 Excel 和 Google Sheets 兼容的公式,包括数学、日期、查找、字符串和财务函数,添加自定义公式并获取单元格的公式。 --- # 公式与函数 {#formulas-and-functions} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/guides.md b/i18n/zh/docusaurus-plugin-content-docs/current/guides.md index b3f8e60f..3a4da196 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/guides.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/guides.md @@ -1,12 +1,12 @@ --- sidebar_label: 指南概览 title: 开发者与用户指南 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中查阅开发者与用户指南。浏览 API 参考、尝试代码示例和在线演示,并下载免费 30 天试用版 DHTMLX Spreadsheet。 +description: DHTMLX Spreadsheet 的开发者指南和用户指南,涵盖初始化、配置、数据加载,以及单元格编辑、格式设置和工作表操作。 --- # 指南 {#guides} -DHTMLX Spreadsheet 提供了丰富的功能:支持多种格式的数据导入与导出、便捷的单元格内容与样式操作、灵活的表格结构、只读模式、广泛的外观自定义,以及与主流框架的集成。 +DHTMLX Spreadsheet 提供了丰富的功能:支持多种格式的数据导入与导出、便捷的单元格内容与样式操作、灵活的表格结构、只读模式、广泛的外观自定义、键盘和屏幕阅读器无障碍支持,以及与主流框架的集成。 ## 开发者指南 {#developer-guides} @@ -38,6 +38,12 @@ DHTMLX Spreadsheet 提供了丰富的功能:支持多种格式的数据导入 - [与 Svelte 集成](svelte_integration.md) - 在 Svelte 应用中使用 Spreadsheet 的 GitHub 示例 - [与 Vue.js 集成](vuejs_integration.md) - 在 Vue 应用中使用 Spreadsheet 的 GitHub 示例 +### 无障碍 {#accessibility} + +- [无障碍](accessibility.md) - WAI-ARIA 支持、键盘导航、屏幕阅读器播报和高对比度主题 +- [设置无障碍的 Spreadsheet](accessibility.md#configuration-recipes) - 面向键盘和屏幕阅读器用户的配置,包括只读模式 +- [符合性报告(VPAT)](accessibility_conformance_report.md) - 对 WCAG 2.2 AA、Section 508 和 EN 301 549 的符合情况 + ### AI 辅助开发 {#ai-assisted-development} - [DHTMLX MCP 服务器](mcp-server.md) - 将 AI 编程助手连接到实时 Spreadsheet 文档 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/handling_events.md b/i18n/zh/docusaurus-plugin-content-docs/current/handling_events.md index 8650a386..4e02b900 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/handling_events.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/handling_events.md @@ -1,7 +1,7 @@ --- sidebar_label: 事件处理 title: 事件处理 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解事件处理的相关内容。浏览开发者指南和 API 参考、尝试代码示例和在线演示,并下载免费 30 天试用版 DHTMLX Spreadsheet。 +description: 使用 events.on()、events.detach() 和 events.fire() 方法在 DHTMLX Spreadsheet 中添加和移除事件监听器并调用事件。 --- # 事件处理 {#event-handling} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/hotkeys.md b/i18n/zh/docusaurus-plugin-content-docs/current/hotkeys.md index 3e10c1f6..2df2c5cc 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/hotkeys.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/hotkeys.md @@ -1,13 +1,21 @@ --- sidebar_label: 快捷键列表 title: 快捷键 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解快捷键的相关内容。浏览开发者指南和 API 参考、尝试代码示例和在线演示,并下载免费 30 天试用版 DHTMLX Spreadsheet。 +description: DHTMLX Spreadsheet 的键盘快捷键:编辑、格式化、导航、选择、搜索、使用工作表、行和列、弹窗及对话框。 --- # 快捷键列表 {#hot-keys-list} 以下是在使用 DHTMLX Spreadsheet 时可以使用的快捷键列表。 +:::note +单元格快捷键在焦点位于单元格或公式栏时有效。格式化、撤销、搜索、链接和添加工作表的快捷键在焦点位于工具栏时也有效。当焦点位于工具栏、菜单栏或工作表标签页时,方向键、**Home**、**End**、**Enter** 和 **Space** 在该栏内起作用(请参见[移动焦点](#moving-the-focus))。 + +在[只读模式](api/spreadsheet_readonly_config.md)下,导航、选择、复制和搜索的快捷键有效。会修改工作表的快捷键(包括 **Ctrl (Cmd) + Shift + 9**、**Ctrl (Cmd) + Shift + 0** 和 **Shift + F11**)会被拒绝,屏幕阅读器会播报 "The sheet is read-only"。上下文菜单不可用,因此 **Shift + F10** 和 Menu 键不起作用。 + +要了解键盘导航如何配合屏幕阅读器使用,请查看[无障碍](accessibility.md#keyboard-navigation)指南。 +::: + ## 编辑 {#editing} @@ -28,6 +36,10 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解快 + + + +
Esc 关闭单元格中的编辑器,不保存更改
Alt (Option) + Enter在新标签页中打开活动单元格的链接
@@ -114,43 +126,43 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解快 Shift + Enter - 将选中项向上移动一个单元格(在列中)。如果选中了单元格区域,则在区域范围内向上移动一个单元格。到达列的第一个单元格时停止。 + 将选中项向上移动一个单元格(在列中)。如果选中了单元格区域,则在区域范围内向上移动一个单元格。 Tab - 将选中项向右移动一个单元格(在行中)。如果选中了单元格区域,则在区域范围内向右移动一个单元格。到达行的最右侧单元格时停止。 + 将选中项向右移动一个单元格(在行中)。从最右侧单元格开始,将选中项移至同一行的第一个单元格。如果选中了单元格区域,则在区域范围内向右移动一个单元格。从工作表的最后一个单元格开始,保存已编辑的值,并将焦点从单元格移至页面的下一部分,例如工作表标签页。 Tab + Shift - 将选中项向左移动一个单元格(在行中)。如果选中了单元格区域,则在区域范围内向左移动一个单元格。到达行的最左侧单元格时停止。 + 将选中项向左移动一个单元格(在行中)。从最左侧单元格开始,将选中项移至同一行的最后一个单元格。如果选中了单元格区域,则在区域范围内向左移动一个单元格。从工作表的第一个单元格开始,保存已编辑的值,并将焦点从单元格移至页面的上一部分,例如公式栏。 方向键 - 在工作表的单元格之间导航 + 在工作表的单元格之间导航。在第一个和最后一个可见的行和列处停止。如果选中了单元格区域,在工作表边缘按方向键会将区域折叠为活动单元格 Home - 将选中项移至行中的第一个单元格 + 将选中项移至行中的第一个可见单元格 End - 将选中项移至行中的最后一个单元格 + 将选中项移至行中的最后一个可见单元格 Ctrl (Cmd) + 左方向键 - 将选中项移至行中的第一个单元格 + 将选中项移至行中的第一个可见单元格 Ctrl (Cmd) + 右方向键 - 将选中项移至行中的最后一个单元格 + 将选中项移至行中的最后一个可见单元格 Ctrl (Cmd) + 上方向键 - 将选中项移至列中的第一个单元格 + 将选中项移至列中的第一个可见单元格 Ctrl (Cmd) + 下方向键 - 将选中项移至列中的最后一个单元格 + 将选中项移至列中的最后一个可见单元格 Ctrl (Cmd) + Home @@ -175,6 +187,59 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解快 +## 移动焦点 {#moving-the-focus} + +工具栏、菜单栏和工作表标签页各自是单个 Tab 停靠点:Tab 将焦点移入和移出某个栏,焦点会落在最后使用过的控件上。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ctrl + F6按以下顺序将焦点移至 Spreadsheet 的下一部分:菜单、工具栏、工作表(活动单元格)、工作表标签页,然后返回菜单。公式栏和隐藏的部分会被跳过。会先保存已编辑单元格的值
Ctrl + Shift + F6将焦点移至 Spreadsheet 的上一部分
Left Arrow/Right Arrow Key将焦点移至工具栏、菜单栏或工作表标签页的上一个/下一个控件
Home/End将焦点移至栏中的第一个/最后一个控件
Enter/Space按下获得焦点的控件:执行命令、打开下拉列表,或切换到获得焦点的标签页所对应的工作表
Down Arrow Key打开获得焦点的控件的下拉列表,并将焦点移至其第一项
Up Arrow/Down Arrow Key在已打开的下拉列表或菜单的各项之间移动焦点
Right Arrow Key打开获得焦点的菜单项的子菜单
Left Arrow Key关闭子菜单。在下拉列表的第一级中,关闭下拉列表并将焦点返回到其控件
Esc关闭下拉列表或菜单,并将焦点返回到打开它的控件。关闭工具栏控件的提示。如果不按 Esc,只要指针停留在提示上,提示就会保持打开
Shift + F10 or Menu key打开活动单元格或获得焦点的工作表标签页的上下文菜单,并将焦点移入其中。在按下 Ctrl (Cmd) + Space 之后,单元格的上下文菜单会显示针对列的命令。Esc 关闭上下文菜单并将焦点返回到单元格
+ ## 搜索 {#search} @@ -185,11 +250,15 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解快 - + - + + + + +
Ctrl (Cmd) + G将选中项移至下一个匹配结果高亮显示下一个匹配结果
Ctrl (Cmd) + Shift + G将选中项移至上一个匹配结果高亮显示上一个匹配结果
Esc关闭搜索框,并将焦点返回到活动单元格
@@ -234,8 +303,110 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解快 在电子表格中添加新工作表 - Alt + 上方向键/下方向键 - 切换到下一个/上一个工作表 + Alt (Option) + Arrow Up + 切换到下一个工作表。从最后一个工作表切换到第一个 + + + Alt (Option) + Arrow Down + 切换到上一个工作表。从第一个工作表切换到最后一个 + + + Ctrl (Cmd) + Alt (Option) + Page Down + 切换到下一个工作表 + + + Ctrl (Cmd) + Alt (Option) + Page Up + 切换到上一个工作表 + + + + +## 使用行和列 {#work-with-rows-and-columns} + + + + + + + + + + + + +
Ctrl (Cmd) + Shift + 9显示所选区域内的隐藏行
Ctrl (Cmd) + Shift + 0显示所选区域内的隐藏列
+ +## 工具栏弹窗 {#toolbar-popups} + +以下按键在工具栏的 *Text color*、*Background color* 和 *Border* 控件的弹窗中有效。弹窗打开时会获得焦点。 + + + + + + + + + + + + + + + + + + + + + + + + +
Arrow keys在调色板的颜色之间或 Border 弹窗的控件之间移动焦点
Home/End将焦点移至调色板的第一个/最后一个颜色
Enter应用获得焦点的颜色或边框。应用文本颜色或背景颜色后,焦点返回到活动单元格
Esc从自定义颜色模式返回调色板。在 Border 弹窗之上打开的颜色或样式弹窗中,关闭该弹窗并将焦点返回到 Border 弹窗中的对应按钮。其他情况下,关闭弹窗并将焦点返回到其工具栏控件
Tab/Tab + Shift关闭弹窗并将焦点返回到其工具栏控件。在 Border 弹窗及其上打开的弹窗中,关闭所有弹窗并将焦点返回到 Border 控件。在自定义颜色模式中,在取色器的控件之间移动焦点
+ +## 列表编辑器 {#list-editor} + +以下按键在带有[值列表](api/spreadsheet_setvalidation_method.md)的单元格编辑器中有效。 + + + + + + + + + + + + + + + + + + + + +
Up Arrow/Down Arrow Key在值列表中移动
Enter选择该值并关闭编辑器
Esc关闭编辑器,不保存更改
Tab保存该值并将选中项向右移动一个单元格
+ +## 筛选器和对话框 {#filter-and-dialogs} + +以下按键在[筛选器](filtering_data.md#opening-a-filter-with-the-keyboard)的弹窗以及[列宽和行高](work_with_rows_cols.md#setting-column-width-and-row-height)对话框中有效。 + + + + + + + + + + + + + +
Esc关闭筛选器弹窗,并将焦点返回到单元格
Enter在列宽和行高对话框中应用尺寸
Esc关闭列宽和行高对话框,不应用更改
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/how_to_start.md b/i18n/zh/docusaurus-plugin-content-docs/current/how_to_start.md index 614c6f7c..216652e6 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/how_to_start.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/how_to_start.md @@ -1,7 +1,7 @@ --- sidebar_label: 快速入门 title: DHTMLX Spreadsheet 快速入门 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解如何快速入门。浏览开发者指南和 API 参考、尝试代码示例和在线演示,并下载免费 30 天试用版 DHTMLX Spreadsheet。 +description: 通过四个步骤在页面上运行 DHTMLX Spreadsheet,从引入源文件或安装 npm 包,到配置组件和加载数据。 --- # 快速入门 {#how-to-start} @@ -79,7 +79,7 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解如
@@ -94,7 +94,7 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解如 您可以使用多个选项来调整 Spreadsheet 的外观与行为,例如:`toolbarBlocks`、`rowsCount` 和 `colsCount`。[查看详情](configuration.md)。 ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { toolbarBlocks: ["columns", "rows", "clear"], rowsCount: 10, colsCount: 10 @@ -129,7 +129,7 @@ const data = [ ] // initializing spreadsheet -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { //config }); // loading data into spreadsheet diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/index.md b/i18n/zh/docusaurus-plugin-content-docs/current/index.md index 08d70068..09ce750f 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/index.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/index.md @@ -2,7 +2,7 @@ sidebar_label: Spreadsheet 概览 title: DHTMLX Spreadsheet 概览 slug: / -description: 您可以在 DHTMLX 文档中查阅 JavaScript Spreadsheet 库的概览。浏览开发者指南和 API 参考、尝试代码示例和在线演示,并下载免费 30 天试用版 DHTMLX Spreadsheet。 +description: DHTMLX Spreadsheet 概览。这是一个用于编辑和格式化电子表格数据的 JavaScript 组件,包括工具栏、编辑栏、表格、菜单和上下文菜单。 --- # DHTMLX Spreadsheet 概览 {#dhtmlx-spreadsheet-overview} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/initialization.md b/i18n/zh/docusaurus-plugin-content-docs/current/initialization.md index dcde3c93..ea1da016 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/initialization.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/initialization.md @@ -1,7 +1,7 @@ --- sidebar_label: 初始化 title: 初始化 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解初始化的相关内容。浏览开发者指南和 API 参考、尝试代码示例和在线演示,并下载免费 30 天试用版 DHTMLX Spreadsheet。 +description: 通过引入源文件、添加容器并使用配置对象调用 dhx.Spreadsheet 构造函数,在页面上初始化 DHTMLX Spreadsheet。 --- # 初始化 {#initialization} @@ -39,10 +39,10 @@ Spreadsheet 安装包的结构如下: ## 创建容器 {#creating-container} -为 Spreadsheet 添加一个容器并为其设置 id,例如 "spreadsheet": +为 Spreadsheet 添加一个容器并为其设置 id,例如 "spreadsheet_container": ~~~html title="index.html" -
+
~~~ ## 初始化 DHTMLX Spreadsheet {#initializing-dhtmlx-spreadsheet} @@ -54,7 +54,7 @@ Spreadsheet 安装包的结构如下: ~~~jsx title="index.js" // creating DHTMLX Spreadsheet -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config options }); ~~~ diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/loading_data.md b/i18n/zh/docusaurus-plugin-content-docs/current/loading_data.md index 8ac62ceb..b754f1e5 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/loading_data.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/loading_data.md @@ -1,7 +1,7 @@ --- sidebar_label: 数据加载与导出 title: 加载数据 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解数据加载的相关内容。浏览开发者指南和 API 参考、尝试代码示例和在线演示,并下载免费 30 天试用版 DHTMLX Spreadsheet。 +description: 从文件或本地数据源将带有样式、锁定单元格和链接的 JSON、CSV 或 Excel 数据加载到 DHTMLX Spreadsheet,保存和恢复状态,并将数据导出为 Excel 或 JSON。 --- # 数据加载与导出 {#data-loading-and-export} @@ -179,7 +179,7 @@ const dataset = [ 默认情况下,Spreadsheet 接受 JSON 格式的数据。要从外部数据源加载数据,请使用 [](api/spreadsheet_load_method.md) 方法。该方法接受数据文件的 URL 作为参数: ~~~jsx -var spreadsheet = new dhx.Spreadsheet("spreadsheet"); +var spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.load("../common/data.json"); ~~~ @@ -195,7 +195,7 @@ spreadsheet.load("../common/data.json"); 您也可以加载 CSV 格式的数据。为此,需要调用 [](api/spreadsheet_load_method.md) 方法,并将格式名称("csv")作为第二个参数传入: ~~~jsx -var spreadsheet = new dhx.Spreadsheet("spreadsheet"); +var spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.load("../common/data.csv", "csv"); ~~~ @@ -262,7 +262,7 @@ spreadsheet.load("/some/data").then(function(){ 要从本地数据源加载数据,请使用 [](api/spreadsheet_parse_method.md) 方法。将[预先定义的数据集](#preparing-data)作为该方法的参数传入: ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet"); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); spreadsheet.parse(data); ~~~ diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/localization.md b/i18n/zh/docusaurus-plugin-content-docs/current/localization.md index 851cf43e..38e51d9f 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/localization.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/localization.md @@ -1,7 +1,7 @@ --- sidebar_label: 本地化 title: 本地化 -description: 您可以在文档中了解 DHTMLX JavaScript Spreadsheet 库的本地化功能。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 本地化 DHTMLX Spreadsheet。了解默认语言区域、创建自定义语言区域、翻译内置组件和公式弹窗,以及应用语言区域。 --- # 本地化 {#localization} @@ -23,6 +23,8 @@ const en = { textColor: "Text color", backgroundColor: "Background color", + fontSize: "Font size", + bold: "Bold", italic: "Italic", underline: "Underline", @@ -60,6 +62,10 @@ const en = { addRow: "Add row above", removeRow: "Remove row {row}", removeRows: "Remove rows {row}", + columnWidth: "Column width", + rowHeight: "Row height", + widthInPixels: "Width in pixels", + heightInPixels: "Height in pixels", row: "row", col: "col", freeze: "Freeze", @@ -82,8 +88,10 @@ const en = { text: "Text", date: "Date", time: "Time", + scientific: "Scientific", filter: "Filter", + openFilter: "Open filter", help: "Help", @@ -104,6 +112,9 @@ const en = { border_style: "Border style", // Tabbar + // the name of a new sheet is this prefix followed by a number: sheet1, sheet2 + defaultSheetName: "sheet", + addSheet: "Add sheet", deleteSheet: "Delete", renameSheet: "Rename", renameSheetAlert: "A sheet with the name $name already exists. Please enter another name. ", @@ -114,10 +125,14 @@ const en = { export: "Export", downloadAs: "Download as...", importAs: "Import as...", + xlsxFormat: "Microsoft Excel(.xlsx)", data: "Data", validation: "Data validation", search: "Search", + previousMatch: "Previous match", + nextMatch: "Next match", + closeSearch: "Close search", sort: "Sort", ascSort: "Sort A to Z", descSort: "Sort Z to A", @@ -177,17 +192,105 @@ const en = { spanUnmergeLockedError: "You can't unmerge locked cells!", spanOverFilteredRow: "You can't merge cells over a filtered row.", removeAlert: "You can't remove last $name!", + wasmNotSupported: "WebAssembly is not supported by your browser", + invalidValue: "Invalid value", + + // Accessible names, read by screen readers + // accessible name of a color button; {label} is the name of the control, {color} is a name from the colorpicker locale + aria_colorButton: "{label}: {color}", + // accessible names of the toolbars; the screen reader adds the word "toolbar" itself + aria_toolbarFormatting: "Formatting", + aria_toolbarBorders: "Borders", + aria_toolbarSheets: "Sheets", + aria_toolbarSearch: "Search", + aria_toolbarLink: "Link", + // accessible names of the line styles in the border style list + aria_borderStyleThin: "Thin line", + aria_borderStyleMedium: "Medium line", + aria_borderStyleThick: "Thick line", + aria_borderStyleDashed: "Dashed line", + aria_borderStyleDotted: "Dotted line", + aria_borderStyleDouble: "Double line", + // accessible names of the context menus; the screen reader adds the word "menu" itself + aria_cellMenu: "Cell", + aria_sheetMenu: "Sheet", + // accessible name of the menu bar; the screen reader adds the words "menu bar" itself + aria_menuBar: "Main", + // accessible name of the cell grid; the screen reader adds the word "grid" itself + aria_grid: "Spreadsheet", + // accessible name of the select-all corner, the first column header + aria_selectAll: "Select all", + // accessible name of the formula bar; {cell} is the address of the cell it shows, for example "B7" + aria_formulaBar: "Formula bar, {cell}", + // accessible name of the input that edits a cell; {cell} is the address of the cell, for example "B7" + aria_cellEditor: "Cell editor, {cell}", + // accessible name of the close icon of the formula help panel + aria_closeFormulaHelp: "Close formula help", + + // Cell descriptions, read with the content of the active cell + // read with the content of a cell that has a filter icon; the icon itself is hidden from assistive technology + aria_filter: "Filter", + aria_filterApplied: "Filter applied", + // read after the content of a selected cell that holds a link; Alt+Enter opens the link + aria_cellLink: "link", + // read after the content of a selected locked cell; the lock icon itself is hidden from assistive technology + aria_lockedState: "locked", + // read after the value of a cell with a formula error; the formula engine writes the error as #ERROR, #REF! or #SPILL! + aria_errorSyntax: "Syntax error. Check the formula", + aria_errorCalc: "Calculation error. Check the values and functions", + aria_errorRef: "Reference error. Check the cell references", + aria_errorSpill: "Spill error. Clear the cells the result needs", + // read after the value of a cell that breaks its list validation + aria_invalidValue: "Invalid value. Choose a value from the list", + + // Screen reader announcements + // announced when an editing key is pressed in the read-only mode + aria_readonlySheet: "The sheet is read-only", + // announced when Ctrl+Shift+9 or Ctrl+Shift+0 finds nothing to reveal + aria_noHiddenRows: "No hidden rows in the selection", + aria_noHiddenCols: "No hidden columns in the selection", + // announced when a selection of several cells changes; {range} is built from aria_rangeExtent + aria_selectedRange: "{range}, {count} cells", + aria_rangeExtent: "{start} to {end}", + // joins the ranges of a selection made with Ctrl + aria_rangeSeparator: ", ", + // announced after an action; {message} is one of the texts above + aria_cellMessage: "{cell}: {message}", + // announced when an action makes several errors appear; {first} is aria_cellMessage for the first of them + aria_newErrors: "{count} new errors. {first}", + // announced when an action puts several invalid values; {first} is aria_cellMessage for the first of them + aria_invalidValues: "{count} invalid values. {first}", + // announced once when an edit of a locked cell is refused; the second one when a range holds locked cells + aria_lockedCell: "The cell is locked", + aria_lockedCells: "Locked cells were not changed", + // announced when the search text changes; followed by aria_searchMatch for the first match + aria_searchResults: "Results: {count}.", + // announced for the current match; {cell} is its address, for example "B7" + aria_searchMatch: "{index} of {count}, {cell}", + aria_searchNoResults: "No results", + // announced when an export or an import of a file starts and ends + aria_exportStarted: "Exporting the file", + aria_exportDone: "The file is exported", + aria_importStarted: "Importing the file", + aria_importDone: "The file is imported", + // announced when the column width or the row height command is applied; {size} is the applied size + aria_columnWidthSet: "Column width set to {size} pixels", + aria_rowHeightSet: "Row height set to {size} pixels", }; ~~~ +以 `aria_` 开头的键不会显示在界面中。屏幕阅读器会将它们作为控件的名称、活动单元格的描述,以及实时区域的消息来朗读,[`announce()`](api/spreadsheet_announce_method.md) 方法也使用该实时区域。花括号中的部分(例如 `{cell}` 或 `{count}`)会在朗读字符串时被替换为相应的值。请在翻译后的字符串中保留它们。有关已翻译的无障碍字符串示例,请查看[无障碍](accessibility.md#translated-accessibility-strings)指南。 + +`defaultSheetName` 键用于设置默认工作表名称的前缀。Spreadsheet 会在其后添加一个数字,因此默认值 `"sheet"` 会生成名称 "sheet1"、"sheet2" 等。例如,使用 `"Tabelle"`(Microsoft Excel 在德语中使用的前缀),工作表将被命名为 "Tabelle1"、"Tabelle2" 等。 + ## 自定义语言区域 {#custom-locale} 要应用不同的语言区域,您需要: -- 为 Spreadsheet 中的所有文本标签提供翻译,例如,俄语区域: +- 为 Spreadsheet 中的所有文本标签提供翻译,例如,德语区域: ~~~jsx -const ru = { +const de = { // 语言设置 }; ~~~ @@ -195,10 +298,48 @@ const ru = { - 在初始化 Spreadsheet 之前,通过调用 `dhx.i18n.setLocale()` 方法应用新的语言区域: ~~~jsx -dhx.i18n.setLocale("spreadsheet", ru); +dhx.i18n.setLocale("spreadsheet", de); +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); +~~~ + +## 本地化内置组件 {#localizing-built-in-widgets} + +Spreadsheet 在内部使用 DHTMLX Suite 的 Calendar、Colorpicker、Grid、Timepicker、Toolbar、Window 和 Message 组件。它们的字符串存储在单独的语言区域中,您可以用与 `spreadsheet` 语言区域相同的方式翻译它们: + +| 语言区域 | Spreadsheet 中使用的字符串 | +| ------ | --------------------------- | +| `calendar` | 日期编辑器和日期筛选器中的月份和星期名称 | +| `colorpicker` | 工具栏颜色弹窗中自定义颜色模式的标签、调色板的名称,以及屏幕阅读器为色块和颜色按钮朗读的颜色名称,例如 "Text color: dark gray" | +| `grid` | 已加载行数的播报 | +| `timepicker` | 时间编辑器的标签 | +| `toolbar` | 工具栏的默认无障碍名称 | +| `window` | 对话框的默认无障碍名称 | +| `message` | alert 和 confirm 对话框及其按钮的无障碍名称 | + +请在初始化 Spreadsheet 之前使用语言区域的名称调用 `dhx.i18n.setLocale()`,因为工具栏、菜单和上下文菜单会在创建时读取语言区域: + +~~~jsx +const deColorpicker = { + cancel: "Abbrechen", + select: "Auswählen", + aria_palette: "Farbpalette", + aria_colorRed: "rot", + // other strings +}; + +const deMessage = { + aria_confirm: "Bestätigen" +}; + +dhx.i18n.setLocale("spreadsheet", de); +dhx.i18n.setLocale("colorpicker", deColorpicker); +dhx.i18n.setLocale("message", deMessage); + const spreadsheet = new dhx.Spreadsheet("spreadsheet_container"); ~~~ +语言区域的键是扁平的:请在对象的顶层传入每个键。详情请查看 DHTMLX Suite 文档中的 [Localization of screen-reader strings](https://docs.dhtmlx.com/suite/common_features/accessibility_support/#localization-of-screen-reader-strings) 文章。 + ## 公式的默认语言区域 {#default-locale-for-formulas} `dhx.i18n.formulas` 对象包含 Spreadsheet 公式弹窗的 i18n 语言区域。公式的默认语言区域如下: diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/merge_cells.md b/i18n/zh/docusaurus-plugin-content-docs/current/merge_cells.md index 273fbbc1..aaf3a623 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/merge_cells.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/merge_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: 合并单元格 title: 合并单元格 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解有关合并单元格的内容。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 通过工具栏或格式菜单在 DHTMLX Spreadsheet 中合并和拆分单元格,并了解删除行和列如何影响合并单元格。 --- # 合并单元格 {#merging-cells} @@ -45,3 +45,13 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解有 2\. 在菜单中选择:*格式 -> 取消合并* ![DHTMLX Spreadsheet Format menu with the Unmerge option for splitting merged cells](/img/unmerge_cells_via_menu.png) + +## 删除合并单元格所在的行和列 {#removing-rows-and-columns-of-merged-cells} + +通过合并单元格删除行或列时,该合并单元格跨越的所有行或列都会被删除。选中单个单元格或单元格区域,并通过工具栏、菜单、上下文菜单或 [`deleteRow()`](api/spreadsheet_deleterow_method.md) / [`deleteColumn()`](api/spreadsheet_deletecolumn_method.md) 方法删除行或列时,都是这样处理的。上下文菜单会在命令名称中显示完整范围,例如 *删除第 2-4 行*。 + +![DHTMLX Spreadsheet context menu with the Rows submenu showing Remove rows 2-4 for a merged cell](/img/remove_merged_rows_context_menu.png) + +选中整行或整列时(例如单击其表头,或使用 `Shift + Space` 或 `Ctrl (Cmd) + Space`),只会删除选中的行或列。跨越这些行或列的合并单元格会相应缩小,只剩一个单元格的合并单元格会变成普通单元格。 + +位于被删除行下方或被删除列右侧的合并单元格会随之移动。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/migration.md b/i18n/zh/docusaurus-plugin-content-docs/current/migration.md index aacdf815..20d016b9 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/migration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/migration.md @@ -1,7 +1,7 @@ --- sidebar_label: 迁移到新版本 title: 迁移 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解有关迁移的内容。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 参照各版本中已弃用、已更改和已移除的属性、方法和事件及其替代项列表,迁移到新版本的 DHTMLX Spreadsheet。 --- # 迁移到新版本 {#migration-to-newer-versions} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/number_formatting.md b/i18n/zh/docusaurus-plugin-content-docs/current/number_formatting.md index 86402be3..73465a20 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/number_formatting.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/number_formatting.md @@ -1,7 +1,7 @@ --- sidebar_label: 数字格式化 title: 数字格式化 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中学习有关数字格式化的开发者指南。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 在 DHTMLX Spreadsheet 中为单元格值应用数字、货币、百分比、日期、时间和科学计数格式,对其进行本地化,定义自定义格式掩码,并设置或获取单元格的格式。 --- # 数字格式化 {#number-formatting} @@ -107,7 +107,7 @@ spreadsheet.parse({ 例如,您可以按如下方式更改默认本地化设置: ~~~jsx -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { localization: { decimal: ",", thousands: " ", diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/number_formatting_guide.md b/i18n/zh/docusaurus-plugin-content-docs/current/number_formatting_guide.md index 0d5cc623..d01bb0f4 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/number_formatting_guide.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/number_formatting_guide.md @@ -1,7 +1,7 @@ --- sidebar_label: 数字格式化 title: 数字格式化指南 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中学习有关数字格式化的用户指南。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 通过 DHTMLX Spreadsheet 工具栏为单元格值选择数字格式,例如数字、货币、百分比、日期、时间或文本。 --- # 数字格式化 {#number-formatting} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/react/overview.md b/i18n/zh/docusaurus-plugin-content-docs/current/react/overview.md index ce34b43d..c14306ad 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/react/overview.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/react/overview.md @@ -96,8 +96,8 @@ Props 按组件处理变更的方式分为以下几类: | 类别 | Props | 变更时的行为 | |----------|-------|----------------------| -| **仅初始化** | `menu`、`editLine`、`toolbarBlocks`、`multiSheets`、`formats`、`localization`、`importModulePath`、`exportModulePath`、`spreadsheetLocale` | widget 被销毁并重新创建。电子表格数据会被保留,但撤销/重做历史记录及 UI 状态(选区、滚动位置)将被重置。 | -| **运行时** | `readonly`、`rowsCount`、`colsCount` | 立即生效,不会造成数据丢失或 UI 状态重置。 | +| **仅初始化** | `menu`、`editLine`、`toolbarBlocks`、`multiSheets`、`formats`、`localization`、`importModulePath`、`exportModulePath`、`spreadsheetLocale`、`readonly` | widget 被销毁并重新创建。电子表格数据会被保留,但撤销/重做历史记录及 UI 状态(选区、滚动位置)将被重置。 | +| **运行时** | `selection`、`rowsCount`、`colsCount` | 立即生效,不会造成数据丢失或 UI 状态重置。 | | **数据** | `sheets`、`activeSheet` | 增量应用;仅更新已变更的单元格、区域或设置。 | | **重新解析** | `styles` | 样式变更需要完整的数据重新加载。电子表格数据会被保留,但撤销/重做历史记录及 UI 状态将被重置。 | | **状态** | `search`、`theme`、`loadUrl` | 通过专用 widget API 应用,无副作用。 | @@ -198,6 +198,10 @@ function App() { `instance` 属性在 widget 初始化之前及卸载之后均为 `null`。 +:::info +通过 `ref.current.instance.events.on()` 附加的处理器,会在修改仅初始化 prop 后 widget 被重新创建时,以及组件卸载时被移除。请使用[事件回调 props](react/events.md),组件会将其附加到每个新的 widget 实例上。 +::: + ## API 参考 {#api-reference} | 文档 | 内容 | diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/react/props.md b/i18n/zh/docusaurus-plugin-content-docs/current/react/props.md index 5be5b263..499f4cd0 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/react/props.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/react/props.md @@ -25,6 +25,7 @@ description: "ReactSpreadsheet 组件所有 props 的完整参考,包含类型 | `importModulePath` | `string` | XLSX 导入模块的路径。JS API 参见:[`importModulePath`](api/spreadsheet_importmodulepath_config.md)。 | | `exportModulePath` | `string` | XLSX 导出模块的路径。JS API 参见:[`exportModulePath`](api/spreadsheet_exportmodulepath_config.md)。 | | `spreadsheetLocale` | [`SpreadsheetLocale`](react/types.md#spreadsheetlocale) | UI 翻译及本地化公式名称。与 `localization` 独立。 | +| `readonly` | `boolean` | 启用只读模式。用户可以导航、选择、复制和搜索单元格,编辑操作会被拒绝。JS API 参见:[`readonly`](api/spreadsheet_readonly_config.md)。 | @@ -40,7 +41,7 @@ description: "ReactSpreadsheet 组件所有 props 的完整参考,包含类型 |------|------|-------------| | `rowsCount` | `number` | 表格的行数。JS API 参见:[`rowsCount`](api/spreadsheet_rowscount_config.md)。 | | `colsCount` | `number` | 表格的列数。JS API 参见:[`colsCount`](api/spreadsheet_colscount_config.md)。 | -| `readonly` | `boolean` | 启用只读模式。JS API 参见:[`readonly`](api/spreadsheet_readonly_config.md)。 | +| `selection` | `boolean` | 开启或关闭单元格选择。默认值:`true`。设为 `false` 时,电子表格没有活动单元格,也无法通过 UI 选择或编辑单元格。JS API 参见:[`selection`](api/spreadsheet_selection_config.md)。 | ## 数据 props {#data-props} @@ -225,10 +226,18 @@ const [theme, setTheme] = useState("light"); ### 只读模式 {#read-only-mode} +在只读模式下,用户可以使用键盘在单元格间导航,用鼠标选择单元格,以及复制和搜索单元格。编辑操作会被拒绝,并向屏幕阅读器播报。由于 `readonly` 是仅初始化 prop,修改它会重新创建 widget。数据会被保留,而撤销/重做历史记录及 UI 状态(选区、滚动位置)将被重置。 + ~~~tsx ~~~ +若要同时关闭键盘导航和选择,请添加 `selection={false}`。`selection` prop 在运行时生效,因此无需重新创建 widget 即可切换: + +~~~tsx + +~~~ + ### 从 URL 加载数据 {#loading-data-from-url} ~~~tsx diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/react/themes.md b/i18n/zh/docusaurus-plugin-content-docs/current/react/themes.md index 4d659e95..b0f9b56d 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/react/themes.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/react/themes.md @@ -77,6 +77,9 @@ DHTMLX Spreadsheet 使用分层 CSS 变量系统。您可以覆盖这些变量 /* 电子表格区域颜色 */ --dhx-spreadsheet-range-background-1: #bee3f8; --dhx-spreadsheet-range-color-1: #2b6cb0; + + /* 公式栏和工具栏控件的键盘焦点轮廓 */ + --dhx-spreadsheet-focus-color: #2b6cb0; } ~~~ diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/react/types.md b/i18n/zh/docusaurus-plugin-content-docs/current/react/types.md index 785aef28..77964652 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/react/types.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/react/types.md @@ -188,6 +188,13 @@ ref.current?.instance?.selection.setSelectedCell("A1:C5"); // 撤销/重做 ref.current?.instance?.undo(); ref.current?.instance?.redo(); + +// 关闭和开启选区 +ref.current?.instance?.selection.disable(); +ref.current?.instance?.selection.enable(); + +// 向屏幕阅读器发送状态消息 +ref.current?.instance?.announce("The report is saved"); ~~~ ## Actions 枚举 {#actions-enum} @@ -270,6 +277,7 @@ type SpreadsheetConfigProps = Omit< | `IStylesList` | 样式定义映射。 | | `IDataWithStyles` | 含内嵌样式的数据结构(由 `serialize()`/`parse()` 使用)。 | | `ICellInfo` | widget 方法返回的单元格信息。 | +| `ISelection` | 选区模块接口(`instance.selection`),包括 [`enable()`](api/selection_enable_method.md)、[`disable()`](api/selection_disable_method.md) 和 [`isDisabled()`](api/selection_isdisabled_method.md) 方法。 | | `FileFormat` | 数据加载的文件格式(例如 `"json"` 或 `"xlsx"`)。 | | `ToolbarBlocks` | 工具栏块标识符(例如 `"default"`、`"undo"` 或 `"font"`)。 | | `FilterConditions` | 可用筛选条件类型的枚举。 | diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/sorting_data.md b/i18n/zh/docusaurus-plugin-content-docs/current/sorting_data.md index b0f119f7..37db8c87 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/sorting_data.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/sorting_data.md @@ -1,7 +1,7 @@ --- sidebar_label: 数据排序 title: 数据排序 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解有关数据排序的内容。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 通过上下文菜单中的排序命令,按列或所选单元格区域对 DHTMLX Spreadsheet 中的数据进行 A 到 Z 或 Z 到 A 排序。 --- # 数据排序 {#sorting-data} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/svelte_integration.md b/i18n/zh/docusaurus-plugin-content-docs/current/svelte_integration.md index 7c53898c..77db6c0d 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/svelte_integration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/svelte_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: 与 Svelte 集成 title: Svelte 集成 -description: 您可以在文档中了解 DHTMLX JavaScript Spreadsheet 库的 Svelte 集成。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 在 Svelte 应用中使用 DHTMLX Spreadsheet。创建项目,将 Spreadsheet 添加为 Svelte 组件,加载数据并处理事件。 --- # 与 Svelte 集成 {#integration-with-svelte} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md b/i18n/zh/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md index 984d8005..db473fe2 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/themes/base_themes_configuration.md @@ -1,7 +1,7 @@ --- sidebar_label: 配置内置主题 title: 配置内置主题 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解如何配置主题。浏览开发者指南和 API 参考,试用代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费评估版本。 +description: 通过覆盖 CSS 变量更改 DHTMLX Spreadsheet 内置主题的颜色,可一次应用于所有主题或单独应用于某个主题。 --- # 配置内置主题 {#configuring-built-in-themes} @@ -94,7 +94,7 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解如 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/themes/custom_theme.md b/i18n/zh/docusaurus-plugin-content-docs/current/themes/custom_theme.md index 4555ff78..32a05ace 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/themes/custom_theme.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/themes/custom_theme.md @@ -1,7 +1,7 @@ --- sidebar_label: 自定义主题 title: 自定义主题 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解如何创建自定义主题。浏览开发者指南和 API 参考,试用代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费评估版本。 +description: 使用 CSS 变量为 DHTMLX Spreadsheet 创建自定义颜色主题,并通过 dhx.setTheme() 方法应用。 --- # 自定义主题 {#custom-theme} @@ -88,7 +88,7 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解如 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/themes/themes.md b/i18n/zh/docusaurus-plugin-content-docs/current/themes/themes.md index c429842d..94b4b4a6 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/themes/themes.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/themes/themes.md @@ -1,7 +1,7 @@ --- sidebar_label: 内置主题 title: 内置主题 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解内置主题。浏览开发者指南和 API 参考,试用代码示例和在线演示,并下载 DHTMLX Spreadsheet 的 30 天免费评估版本。 +description: DHTMLX Spreadsheet 的内置主题,包括浅色和深色及其高对比度变体。了解 Spreadsheet 专属的 CSS 变量以及如何设置主题。 --- # 内置主题 {#built-in-themes} @@ -13,7 +13,7 @@ DHTMLX Spreadsheet 库提供 4 个预定义主题: - [浅色高对比度主题](#light-high-contrast-theme)("contrast-light") - [深色高对比度主题](#dark-high-contrast-theme)("contrast-dark") -Spreadsheet 主题根据国际标准开发。高对比度主题有助于视力障碍用户使用。更多详情,请阅读[无障碍支持](https://docs.dhtmlx.com/suite/common_features/accessibility_support/)文章。 +Spreadsheet 主题根据国际标准开发。高对比度主题有助于视力障碍用户使用。有关 Spreadsheet 中主题的对比度和键盘焦点指示器,请查阅无障碍指南的[高对比度与焦点](accessibility.md#high-contrast-and-focus)部分。有关 DHTMLX Suite 组件的无障碍性,请阅读[无障碍支持](https://docs.dhtmlx.com/suite/common_features/accessibility_support/)文章。 您可以在下面的示例中试用所有主题: @@ -377,14 +377,15 @@ Spreadsheet 组件专用变量列表如下: --dhx-spreadsheet-range-background-8: #ecb6ff; --dhx-spreadsheet-range-color-1: #00815a; - --dhx-spreadsheet-range-color-2: #bfc000; - --dhx-spreadsheet-range-color-3: #c55933; - --dhx-spreadsheet-range-color-4: #0cc1d6; - --dhx-spreadsheet-range-color-5: #0080a3; - --dhx-spreadsheet-range-color-6: #529a0a; + --dhx-spreadsheet-range-color-2: #8b7300; + --dhx-spreadsheet-range-color-3: #a34729; + --dhx-spreadsheet-range-color-4: #007a8c; + --dhx-spreadsheet-range-color-5: #135db1; + --dhx-spreadsheet-range-color-6: #2f6500; --dhx-spreadsheet-range-color-7: #6d767b; - --dhx-spreadsheet-range-color-8: #ba38e7; + --dhx-spreadsheet-range-color-8: #b82fe5; + --dhx-spreadsheet-focus-color: var(--dhx-color-primary); } ~~~ @@ -411,6 +412,17 @@ Spreadsheet 组件专用变量列表如下: --dhx-spreadsheet-range-color-7: #e4e4e4; --dhx-spreadsheet-range-color-8: #ecb6ff; + --dhx-spreadsheet-focus-color: hsl(var(--dhx-h-primary), var(--dhx-s-primary), calc(var(--dhx-l-primary) + 12% - var(--dhx-l-contrast-offset))); +} +~~~ + +`--dhx-spreadsheet-range-color-*` 和 `--dhx-spreadsheet-range-background-*` 变量用于设置编辑公式时标记单元格引用的颜色。在浅色主题中,`--dhx-spreadsheet-range-color-*` 颜色与公式栏背景的对比度至少为 4.5:1。 + +`--dhx-spreadsheet-focus-color` 变量用于设置公式栏,以及工具栏、菜单栏、工作表标签、Border 弹出窗口、链接弹出窗口和搜索栏中各控件的键盘焦点轮廓颜色。在深色主题中,该颜色比主色更浅,从而使轮廓保持至少 3:1 的对比度。您可以在[自定义主题](themes/custom_theme.md)中重新定义该变量: + +~~~css +[data-dhx-theme='custom-theme-dark'] { + --dhx-spreadsheet-focus-color: #7fc8ff; } ~~~ @@ -426,7 +438,7 @@ Spreadsheet 组件专用变量列表如下: ~~~html title="index.html" -
+
~~~ - 为某个 HTML 元素设置 `data-dhx-theme` 属性,例如为 `documentElement` 设置: @@ -453,31 +465,31 @@ document.documentElement.setAttribute("data-dhx-theme", "dark"); - 为 body 或容器设置主题 ~~~html -
+
Other content
~~~ - 通过 HTMLElement 为指定容器设置主题 ~~~html -
+
Other content
~~~ diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/using_typescript.md b/i18n/zh/docusaurus-plugin-content-docs/current/using_typescript.md index d5d0460a..8f7c3b43 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/using_typescript.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/using_typescript.md @@ -1,7 +1,7 @@ --- sidebar_label: TypeScript 支持 title: TypeScript 支持 -description: 您可以在文档中了解如何在 DHTMLX JavaScript Spreadsheet 库中使用 TypeScript。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载 DHTMLX Spreadsheet 的免费 30 天评估版本。 +description: 使用 DHTMLX Spreadsheet 内置的 TypeScript 定义,在 IDE 中获得类型检查、自动补全和 JSDoc 提示。 --- # TypeScript 支持 {#typescript-support} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/vuejs_integration.md b/i18n/zh/docusaurus-plugin-content-docs/current/vuejs_integration.md index 9d91a388..00d8a094 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/vuejs_integration.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/vuejs_integration.md @@ -1,7 +1,7 @@ --- sidebar_label: 与 Vue 集成 title: Vue 集成 -description: 您可以在文档中了解 DHTMLX JavaScript Spreadsheet 库的 Vue 集成。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载免费的 30 天评估版 DHTMLX Spreadsheet。 +description: "在 Vue 应用中使用 DHTMLX Spreadsheet。创建项目,将 Spreadsheet 添加为 Vue 组件,加载数据并处理事件。" --- # 与 Vue 集成 {#integration-with-vue} @@ -260,6 +260,10 @@ export default { //... ~~~ +:::info +`destructor()` 方法会移除通过 `spreadsheet.events.on()` 附加的事件处理器。创建新的 Spreadsheet 实例时(例如再次创建组件时),请将处理器附加到新实例上。 +::: + 完成后,您可以启动应用,查看加载了数据的 Spreadsheet 页面。 ![DHTMLX Spreadsheet initialized with sample data in a Vue 3 application](/img/integrations/trial_spreadsheet.png) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/whats_new.md b/i18n/zh/docusaurus-plugin-content-docs/current/whats_new.md index 9cf644bc..3d23f78d 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/whats_new.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/whats_new.md @@ -1,13 +1,78 @@ --- sidebar_label: 更新日志 title: DHTMLX Spreadsheet 更新日志 -description: 您可以在文档中了解 DHTMLX JavaScript Spreadsheet 库的最新动态。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载免费的 30 天评估版 DHTMLX Spreadsheet。 +description: DHTMLX Spreadsheet 发布说明,介绍各版本的新功能、更新、修复和破坏性变更。 --- # 更新日志 {#whats-new} 如果您正在从旧版本升级 Spreadsheet,请查阅[迁移到新版本](migration.md)了解详细信息。 +## 版本 6.0.4 {#version-604} + +发布于 2026 年 11 月 2 日 + +### 新功能 {#new-functionality-604} + +- 无障碍支持,目标为 WCAG 2.2 AA、Section 508 和 EN 301 549:Spreadsheet 的每个部分均可通过键盘操作,支持屏幕阅读器,并且在每个主题中都有可见的焦点。请查阅[无障碍](accessibility.md)指南和[无障碍合规报告](accessibility_conformance_report.md) +- 可关闭和开启单元格选择: + - 新增配置属性:[`selection`](api/spreadsheet_selection_config.md) + - selection 模块的新方法:[`enable()`](api/selection_enable_method.md)、[`disable()`](api/selection_disable_method.md)、[`isDisabled()`](api/selection_isdisabled_method.md) +- [`announce()`](api/spreadsheet_announce_method.md) 方法用于向屏幕阅读器发送状态消息 +- [上下文菜单](customization.md#context-menu)的新命令:[*列宽*、*行高*](work_with_rows_cols.md#setting-column-width-and-row-height)和*打开筛选器*(见[使用键盘打开筛选器](filtering_data.md#opening-a-filter-with-the-keyboard)) + +### 更新 {#updates-604} + +- 键盘导航(请查阅[快捷键列表](hotkeys.md)): + - 焦点保持在活动单元格上,`Tab` 和 `Shift + Tab` 可分别从工作表的最后一个和第一个单元格移出,`Ctrl + F6` 在菜单、工具栏、工作表和工作表标签之间移动焦点 + - 工具栏、菜单栏和工作表标签均为单一 Tab 停靠点,可使用方向键在其中导航 + - 新增快捷键,例如用于上下文菜单的 `Shift + F10`,以及用于显示隐藏行和列的 `Ctrl (Cmd) + Shift + 9` / `Ctrl (Cmd) + Shift + 0` + - 工具栏的颜色和边框弹出窗口在打开时获得焦点,并可通过 `Esc` 和 `Tab` 关闭 +- 方向键在第一个和最后一个可见行和列处停止,而不是跳到对侧边缘;在边缘处按方向键会将选中的区域缩小为活动单元格 +- 使用输入法编辑器(IME)输入的文本会显示在活动单元格中,并通过 [`startEdit()`](api/spreadsheet_startedit_method.md) 方法开始编辑,因此会触发 `beforeEditStart` 和 `afterEditStart` 事件 +- [`setFocusedCell()`](api/selection_setfocusedcell_method.md) 方法将键盘焦点移动到单元格 +- [单元格中的链接](work_with_cells.md#inserting-a-hyperlink-into-a-cell)呈现为在新标签页中打开的真实链接,`Alt (Option) + Enter` 可打开活动单元格的链接 +- [只读模式](api/spreadsheet_readonly_config.md)保留键盘导航、选择、复制和搜索,屏幕阅读器会播报被拒绝的编辑。要关闭选择,请使用 `selection: false` 选项 +- [通过合并单元格删除行或列](merge_cells.md#removing-rows-and-columns-of-merged-cells)时,会删除该合并单元格的所有行或列 +- [`spreadsheet` 语言包](localization.md#default-locale)中新增界面和屏幕阅读器字符串,并支持[内置组件的翻译](localization.md#localizing-built-in-widgets) +- 用于键盘焦点的 [`--dhx-spreadsheet-focus-color`](/themes/#spreadsheet-specific-styles) 变量,以及浅色主题中对比度更高的公式引用颜色 + +### 修复 {#fixes-604} + +- 删除合并单元格之前的行或列时,合并单元格被丢弃而不是被移动的问题。现在只剩一个单元格的合并单元格会变成普通单元格并保留其值 +- 通过合并单元格删除行或列时只删除合并区域中的一行(列)的问题 +- 删除行和列的上下文菜单标签未显示将被删除的合并单元格的所有行或列的问题 +- 行覆盖整个筛选范围时未被删除的问题 +- 删除冻结的行或列时冻结区域没有缩小的问题 +- 拖动的单元格不包含普通数字时自动填充抛出错误的问题 +- 当第一行或最后一行(列)被隐藏时,按 `Home`、`End`、`Ctrl (Cmd) + Home`、`Ctrl (Cmd) + End` 和 `Ctrl (Cmd) + 方向键` 页面卡死的问题 +- 将单元格复制到 Excel、从 Excel 粘贴或在 Spreadsheet 内部粘贴时字体大小丢失的问题 +- 无效值提示框出现在远离无效单元格的位置或未显示的问题 +- 使用方向键后,列表编辑器中 `Esc` 和 `Tab` 不起作用的问题 +- 搜索先高亮第二个匹配项,且在编辑或切换工作表后未刷新结果的问题 +- 在不支持 WebAssembly 的浏览器中导入或导出时出现脚本错误的问题 +- `destructor()` 之后遗留文档监听器和内部组件的问题 +- 搜索栏关闭后键盘焦点丢失的问题 +- 已关闭的上下文菜单再次打开的问题 +- 键盘导航时活动单元格滚动到距视口边缘差一个单元格的问题 +- 含无效引用的公式显示残缺或重复的 `#REF!` 错误,而不是单个 `#REF!` 的问题 + +### React Spreadsheet {#react-spreadsheet-604} + +React Spreadsheet 包含上述所有 Spreadsheet 更新和修复。以下是仅针对 React 封装的变更。 + +#### 更新 {#react-updates-604} + +- 新增 [`selection`](react/props.md#runtime-props) 属性 +- 重新导出 [`ISelection`](react/types.md#re-exported-upstream-types) 类型 +- [`readonly`](react/props.md#init-only-props) 改为仅初始化属性 + +#### 修复 {#react-fixes-604} + +- 因仅初始化属性变化而重新创建 Spreadsheet 后,事件回调和 `onStateChange` 不触发的问题 +- 卸载时未移除封装组件的事件处理程序的问题 +- 挂载时 `loadUrl` 的数据被加载两次,以及 Spreadsheet 重新创建后再次覆盖保留数据的问题 + ## 版本 6.0.3 {#version-603} 发布于 2026 年 8 月 24 日 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/work_with_cells.md b/i18n/zh/docusaurus-plugin-content-docs/current/work_with_cells.md index 5afec447..49e84f96 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/work_with_cells.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/work_with_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: 编辑单元格 title: 编辑单元格 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解单元格操作相关内容。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载免费的 30 天评估版 DHTMLX Spreadsheet。 +description: 在 DHTMLX Spreadsheet 中编辑单元格。输入内容、插入超链接、使用下拉列表、填充多个单元格、在单元格与 Excel 之间复制,以及锁定单元格。 --- # 编辑单元格 {#editing-cells} @@ -145,14 +145,27 @@ description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解单 - 要生成序列 1, 3, 5, 7, 9, ...,在前两个单元格中分别输入 1 和 3。 - 要生成序列 2, 4, 6, 8, 10, ...,在前两个单元格中分别输入 2 和 4。 - 除数字外,您还可以在规律中使用字母,例如,要生成序列 1, a, 2, b, 3, a, 4, b, ...,在前四个单元格中分别输入 1, a, 2, b。 + - 要在文本末尾接续数字,请输入前几个值,例如,要生成序列 item1, item2, item3, ...,在前两个单元格中分别输入 item1 和 item2。 + - 要生成日期序列,请在第一个单元格中输入一个日期:之后每个单元格依次得到下一天的日期。 +- 重复文本 + +例如,要生成序列 North, South, North, South, ...,在前两个单元格中分别输入 North 和 South。*文本*格式单元格中的数字也以同样方式重复。 3\. 拖动**填充手柄** ![DHTMLX Spreadsheet autofill dragging the fill handle to replicate cell data](/img/autofill.gif) +## 单元格与 Excel 之间复制 {#copying-cells-to-and-from-excel} + +您可以使用 **Ctrl (Cmd) + C** 复制单元格,并使用 **Ctrl (Cmd) + V** 粘贴,既可在 Spreadsheet 内部进行,也可在 Spreadsheet 与 Microsoft Excel 之间进行: + +- 在 Spreadsheet 内部,单元格保留其值、公式、样式、数字格式和链接。公式中的单元格引用会随新位置而偏移 +- 粘贴到 Excel 时,单元格得到的是值(公式的计算结果,而不是公式本身)、样式(包括字体大小)、合并单元格和链接。被筛选器隐藏的行会被跳过 +- 从 Excel 复制的单元格粘贴到 Spreadsheet 时,会保留其值、样式(包括字体大小)、数字格式、合并单元格和链接 + ## 锁定单元格 {#locking-cells} -您可以锁定单元格以防止其值被更改。锁定单元格后,右上角会显示灰色"钥匙"图标。锁定的单元格不响应任何编辑尝试。 +您可以锁定单元格以防止其值被更改。锁定单元格后,右上角会显示灰色"钥匙"图标。锁定的单元格不响应任何编辑尝试。屏幕阅读器会播报被拒绝的编辑:对单个单元格播报"The cell is locked",当选中的区域包含锁定单元格时播报"Locked cells were not changed"。 ![DHTMLX Spreadsheet locked cells marked with a gray key icon in the top right corner](/img/lockedcells.png) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/work_with_rows_cols.md b/i18n/zh/docusaurus-plugin-content-docs/current/work_with_rows_cols.md index 014b310a..19b0d755 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/work_with_rows_cols.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/work_with_rows_cols.md @@ -1,7 +1,7 @@ --- sidebar_label: 行与列操作 title: 行与列操作 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解行与列的操作方法。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载免费的 30 天评估版 DHTMLX Spreadsheet。 +description: 在 DHTMLX Spreadsheet 中操作行和列。添加和删除行列,自动适应并设置列宽和行高,以及冻结、隐藏和显示行列。 --- # 行与列操作 {#work-with-rows-and-columns} @@ -54,6 +54,10 @@ DHTMLX Spreadsheet 支持通过工具栏按钮、菜单选项和单元格上下 要一次删除多行:选择这些行,右键单击调出上下文菜单,然后选择 *行 -> 删除行 [ids]*。 ::: +:::info +如果选中的单元格位于合并单元格内,则会删除该合并单元格的所有行。详细信息请查阅[合并单元格](merge_cells.md#removing-rows-and-columns-of-merged-cells)一文。 +::: + ### 添加列 {#adding-columns} 要添加新列,请按以下步骤操作: @@ -98,6 +102,10 @@ DHTMLX Spreadsheet 支持通过工具栏按钮、菜单选项和单元格上下 要一次删除多列:选择这些列,右键单击调出上下文菜单,然后选择 *列 -> 删除列 [ids]*。 ::: +:::info +如果选中的单元格位于合并单元格内,则会删除该合并单元格的所有列。详细信息请查阅[合并单元格](merge_cells.md#removing-rows-and-columns-of-merged-cells)一文。 +::: + ## 列宽自动适应 {#autofit-column-width} 要更改列宽,使其自动适应列中最长的内容,您可以: @@ -116,6 +124,50 @@ DHTMLX Spreadsheet 支持通过工具栏按钮、菜单选项和单元格上下 ![DHTMLX Spreadsheet Columns submenu with the Fit to data option for autofit column width](/img/column_autofit.png) +## 设置列宽和行高 {#setting-column-width-and-row-height} + +### 设置列宽 {#setting-column-width} + +要设置列的精确宽度,请按以下步骤操作: + +1\. 选择一列或该列中的某个单元格。若要更改多列,请选择跨越这些列的单元格区域。 + +2\. 右键单击选区,或按 `Shift + F10` 或 Menu 键,然后选择 *列 -> 列宽*。该命令也可在列的三点图标菜单中找到。 + +![DHTMLX Spreadsheet context menu with the Columns submenu showing Column width](/img/column_width_context_menu.png) + +3\. 在*列宽*对话框中输入以像素为单位的宽度,然后单击**应用**或按 `Enter`。 + +![DHTMLX Spreadsheet Column width dialog with the width in pixels and the Cancel and Apply buttons](/img/column_width_dialog.png) + +### 设置行高 {#setting-row-height} + +要设置行的精确高度,请按以下步骤操作: + +1\. 选择一行或该行中的某个单元格。若要更改多行,请选择跨越这些行的单元格区域。 + +2\. 右键单击选区,或按 `Shift + F10` 或 Menu 键,然后选择 *行 -> 行高*。 + +![DHTMLX Spreadsheet context menu with the Rows submenu showing Row height](/img/row_height_context_menu.png) + +3\. 在*行高*对话框中输入以像素为单位的高度,然后单击**应用**或按 `Enter`。 + +![DHTMLX Spreadsheet Row height dialog with the height in pixels and the Cancel and Apply buttons](/img/row_height_dialog.png) + +### 新尺寸的应用方式 {#how-the-new-size-is-applied} + +对话框显示所选区域中第一列或第一行的当前尺寸,并将新尺寸应用于该区域内的每一列或每一行。如果选择了多个区域,则使用最后选择的区域。 + +尺寸会四舍五入为整数像素。列的最小宽度为 20 px,行的最小高度为 10 px:小于最小值的正数会被替换为最小值。当输入框为空或输入的值不是正数时,**应用**按钮不可用。 + +**取消**按钮或 `Esc` 会关闭对话框且不做任何更改。屏幕阅读器会播报新的尺寸,例如"Column width set to 120 pixels"。 + +### 撤销更改 {#undoing-the-change} + +可以使用 `Ctrl (Cmd) + Z` 撤销新的尺寸。 + +要在代码中处理该更改,请使用 `resizeCol` 和 `resizeRow` [actions](api/overview/actions_overview.md#list-of-actions)。 + ## 冻结/解冻行和列 {#freezingunfreezing-rows-and-columns} ### 冻结行 {#freezing-rows} @@ -212,6 +264,10 @@ DHTMLX Spreadsheet 支持通过工具栏按钮、菜单选项和单元格上下 ![DHTMLX Spreadsheet context menu with the Rows submenu showing Hide rows](/img/hide_row_context_menu.png) +:::info +如果活动单元格所在的行被隐藏,活动单元格会移动到其下方第一个可见行,选区缩小为该单元格。如果下方没有可见行,则移动到上方最后一个可见行。 +::: + ### 显示行 {#showing-rows} 要显示已隐藏的行,请选择以下任一操作: @@ -228,6 +284,8 @@ DHTMLX Spreadsheet 支持通过工具栏按钮、菜单选项和单元格上下 ![DHTMLX Spreadsheet context menu with the Rows submenu showing Show rows](/img/show_rows_context_menu.png) +- 或选择行或多个单元格,使隐藏的行包含在选区中,然后按 `Ctrl (Cmd) + Shift + 9`。例如,选择第 2-4 行即可显示隐藏的第 3 行。如果选区中没有隐藏的行,屏幕阅读器会播报"No hidden rows in the selection" + ### 隐藏列 {#hiding-columns} 要隐藏列,请按以下步骤操作: @@ -244,6 +302,10 @@ DHTMLX Spreadsheet 支持通过工具栏按钮、菜单选项和单元格上下 ![DHTMLX Spreadsheet context menu with the Columns submenu showing Hide columns](/img/hide_columns_context_menu.png) +:::info +如果活动单元格所在的列被隐藏,活动单元格会移动到其右侧第一个可见列,选区缩小为该单元格。如果右侧没有可见列,则移动到左侧最后一个可见列。 +::: + ### 显示列 {#showing-columns} 要显示已隐藏的列,请选择以下任一操作: @@ -259,3 +321,5 @@ DHTMLX Spreadsheet 支持通过工具栏按钮、菜单选项和单元格上下 (*下图中 C 列已隐藏*) ![DHTMLX Spreadsheet context menu with the Columns submenu showing Show columns](/img/show_columns_context_menu.png) + +- 或选择列或多个单元格,使隐藏的列包含在选区中,然后按 `Ctrl (Cmd) + Shift + 0`。如果选区中没有隐藏的列,屏幕阅读器会播报"No hidden columns in the selection" diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/work_with_sheets.md b/i18n/zh/docusaurus-plugin-content-docs/current/work_with_sheets.md index 6ce426de..c6108f98 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/work_with_sheets.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/work_with_sheets.md @@ -1,7 +1,7 @@ --- sidebar_label: 工作表操作 title: 工作表操作 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解工作表操作相关内容。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载免费的 30 天评估版 DHTMLX Spreadsheet。 +description: 通过 DHTMLX Spreadsheet 底部工具栏和工作表标签添加、删除、重命名和切换工作表,并在公式中引用其他工作表的单元格。 --- # 工作表操作 {#work-with-sheets} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/working_with_cells.md b/i18n/zh/docusaurus-plugin-content-docs/current/working_with_cells.md index a9a91940..acfbbcb8 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/working_with_cells.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/working_with_cells.md @@ -1,7 +1,7 @@ --- sidebar_label: 单元格操作 title: 单元格操作 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解单元格操作相关内容。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载免费的 30 天评估版 DHTMLX Spreadsheet。 +description: 通过 API 设置和获取 DHTMLX Spreadsheet 单元格的值和样式,验证单元格、插入链接,以及编辑、锁定、合并和选择单元格。 --- # 单元格操作 {#work-with-cells} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/working_with_sheets.md b/i18n/zh/docusaurus-plugin-content-docs/current/working_with_sheets.md index d6d14cd3..61a263a9 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/working_with_sheets.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/working_with_sheets.md @@ -1,7 +1,7 @@ --- sidebar_label: 工作表操作 title: 工作表操作 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解工作表操作相关内容。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载免费的 30 天评估版 DHTMLX Spreadsheet。 +description: 将多个工作表加载到 DHTMLX Spreadsheet,并使用 API 方法添加、删除、获取、清除和切换工作表。 --- # 工作表操作 {#work-with-sheets} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/working_with_ssheet.md b/i18n/zh/docusaurus-plugin-content-docs/current/working_with_ssheet.md index 002c9033..fcd7f007 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/working_with_ssheet.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/working_with_ssheet.md @@ -1,7 +1,7 @@ --- sidebar_label: 电子表格操作 title: 电子表格操作 -description: 您可以在 DHTMLX JavaScript Spreadsheet 库的文档中了解电子表格操作相关内容。浏览开发者指南和 API 参考,查看代码示例和在线演示,并下载免费的 30 天评估版 DHTMLX Spreadsheet。 +description: 通过 API 在 DHTMLX Spreadsheet 中撤销和重做操作,添加、删除、冻结和隐藏行与列,自动调整列宽,筛选、搜索和排序数据,以及清空表格。 --- # 电子表格操作 {#work-with-spreadsheet} @@ -282,7 +282,7 @@ spreadsheet.hideSearch(); - `dir` - 排序方向:1 - 升序,-1 - 降序 ~~~jsx {5} -const spreadsheet = new dhx.Spreadsheet("spreadsheet", { +const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", { // config parameters }); diff --git a/sidebars.js b/sidebars.js index a6c0752e..4d586df4 100644 --- a/sidebars.js +++ b/sidebars.js @@ -50,6 +50,7 @@ module.exports = { "api/spreadsheet_addcolumn_method", "api/spreadsheet_addformula_method", "api/spreadsheet_addrow_method", + "api/spreadsheet_announce_method", "api/spreadsheet_clear_method", "api/spreadsheet_deletecolumn_method", "api/spreadsheet_deleterow_method", @@ -142,6 +143,7 @@ module.exports = { "api/spreadsheet_multisheets_config", "api/spreadsheet_readonly_config", "api/spreadsheet_rowscount_config", + "api/spreadsheet_selection_config", "api/spreadsheet_toolbarblocks_config" ] }, @@ -174,8 +176,11 @@ module.exports = { id: "api/overview/selection_overview" }, items: [ + "api/selection_disable_method", + "api/selection_enable_method", "api/selection_getfocusedcell_method", "api/selection_getselectedcell_method", + "api/selection_isdisabled_method", "api/selection_removeselectedcell_method", "api/selection_setfocusedcell_method", "api/selection_setselectedcell_method" @@ -321,6 +326,19 @@ module.exports = { } ] }, + { + type: "category", + label: "Accessibility", + collapsible: true, + collapsed: true, + link: { + type: 'doc', + id: "accessibility" + }, + items: [ + "accessibility_conformance_report" + ] + }, { type: "category", label: "Frameworks & integrations", diff --git a/static/img/accessibility/spreadsheet_contrast_dark.png b/static/img/accessibility/spreadsheet_contrast_dark.png new file mode 100644 index 00000000..4b7ccfa2 Binary files /dev/null and b/static/img/accessibility/spreadsheet_contrast_dark.png differ diff --git a/static/img/accessibility/spreadsheet_contrast_light.png b/static/img/accessibility/spreadsheet_contrast_light.png new file mode 100644 index 00000000..d29a9fb4 Binary files /dev/null and b/static/img/accessibility/spreadsheet_contrast_light.png differ diff --git a/static/img/accessibility/toolbar_dropdown_focus.png b/static/img/accessibility/toolbar_dropdown_focus.png new file mode 100644 index 00000000..dac3678c Binary files /dev/null and b/static/img/accessibility/toolbar_dropdown_focus.png differ diff --git a/static/img/add_column_context_menu.png b/static/img/add_column_context_menu.png index 0c683ddc..47c80998 100644 Binary files a/static/img/add_column_context_menu.png and b/static/img/add_column_context_menu.png differ diff --git a/static/img/add_row_context_menu.png b/static/img/add_row_context_menu.png index fe8298ea..079f7834 100644 Binary files a/static/img/add_row_context_menu.png and b/static/img/add_row_context_menu.png differ diff --git a/static/img/column_autofit.png b/static/img/column_autofit.png index e7c5a520..e2275e6a 100644 Binary files a/static/img/column_autofit.png and b/static/img/column_autofit.png differ diff --git a/static/img/column_context_menu.png b/static/img/column_context_menu.png index 0cd92396..aea0566f 100644 Binary files a/static/img/column_context_menu.png and b/static/img/column_context_menu.png differ diff --git a/static/img/column_width_context_menu.png b/static/img/column_width_context_menu.png new file mode 100644 index 00000000..71cf698a Binary files /dev/null and b/static/img/column_width_context_menu.png differ diff --git a/static/img/column_width_dialog.png b/static/img/column_width_dialog.png new file mode 100644 index 00000000..68efc3a7 Binary files /dev/null and b/static/img/column_width_dialog.png differ diff --git a/static/img/freeze_columns_context_menu.png b/static/img/freeze_columns_context_menu.png index 26eb8328..7344c8c3 100644 Binary files a/static/img/freeze_columns_context_menu.png and b/static/img/freeze_columns_context_menu.png differ diff --git a/static/img/freeze_rows_context_menu.png b/static/img/freeze_rows_context_menu.png index 9f715280..be5b3199 100644 Binary files a/static/img/freeze_rows_context_menu.png and b/static/img/freeze_rows_context_menu.png differ diff --git a/static/img/hide_columns_context_menu.png b/static/img/hide_columns_context_menu.png index 74c5a12a..6064bf4c 100644 Binary files a/static/img/hide_columns_context_menu.png and b/static/img/hide_columns_context_menu.png differ diff --git a/static/img/hide_row_context_menu.png b/static/img/hide_row_context_menu.png index 041c1ae6..b36f9cc4 100644 Binary files a/static/img/hide_row_context_menu.png and b/static/img/hide_row_context_menu.png differ diff --git a/static/img/open_filter_context_menu.png b/static/img/open_filter_context_menu.png new file mode 100644 index 00000000..e2bdf6a7 Binary files /dev/null and b/static/img/open_filter_context_menu.png differ diff --git a/static/img/remove_column_context_menu.png b/static/img/remove_column_context_menu.png index 754701e5..63ee33fc 100644 Binary files a/static/img/remove_column_context_menu.png and b/static/img/remove_column_context_menu.png differ diff --git a/static/img/remove_merged_rows_context_menu.png b/static/img/remove_merged_rows_context_menu.png new file mode 100644 index 00000000..677c18b7 Binary files /dev/null and b/static/img/remove_merged_rows_context_menu.png differ diff --git a/static/img/remove_row_context_menu.png b/static/img/remove_row_context_menu.png index e9a61dc6..a177e8f7 100644 Binary files a/static/img/remove_row_context_menu.png and b/static/img/remove_row_context_menu.png differ diff --git a/static/img/row_height_context_menu.png b/static/img/row_height_context_menu.png new file mode 100644 index 00000000..2bffb3a7 Binary files /dev/null and b/static/img/row_height_context_menu.png differ diff --git a/static/img/row_height_dialog.png b/static/img/row_height_dialog.png new file mode 100644 index 00000000..34f58f5d Binary files /dev/null and b/static/img/row_height_dialog.png differ diff --git a/static/img/show_columns_context_menu.png b/static/img/show_columns_context_menu.png index 19084b59..4ccde606 100644 Binary files a/static/img/show_columns_context_menu.png and b/static/img/show_columns_context_menu.png differ diff --git a/static/img/show_rows_context_menu.png b/static/img/show_rows_context_menu.png index 76fdb28e..e701b075 100644 Binary files a/static/img/show_rows_context_menu.png and b/static/img/show_rows_context_menu.png differ diff --git a/static/img/unfreeze_columns_context_menu.png b/static/img/unfreeze_columns_context_menu.png index 91715ac1..2b67d083 100644 Binary files a/static/img/unfreeze_columns_context_menu.png and b/static/img/unfreeze_columns_context_menu.png differ diff --git a/static/img/unfreeze_rows_context_menu.png b/static/img/unfreeze_rows_context_menu.png index 5334c41c..855bd467 100644 Binary files a/static/img/unfreeze_rows_context_menu.png and b/static/img/unfreeze_rows_context_menu.png differ