Skip to content

[update] grammar and style in Grid guides - #153

Open
serhiipylypchuk1991 wants to merge 16 commits into
nextfrom
sp-next-grid-article-grammar
Open

serhiipylypchuk1991 wants to merge 16 commits into
nextfrom
sp-next-grid-article-grammar

Conversation

@serhiipylypchuk1991

Copy link
Copy Markdown
Contributor
  • the intro was passive twice: "DHTMLX Grid is built to be operated entirely from the keyboard and to expose its structure"; now "You can operate DHTMLX Grid entirely from the keyboard, and the Grid exposes its structure"
  • "e.g." twice in Host-page responsibilities -> "for example" and "such as", per the abbreviations rule
  • "Make sure the host document:" was an intro the list items had to finish grammatically (sets, provides, gives). Now "In the host page:" with imperative items and periods instead of semicolons
  • "are on by default — there is no flag to turn them off" stated for the third time what line 9 and the sample comment already say; the fact now lives in one place, which also removes the "by default" phrasing
  • "is on by default (keyNavigation: true)" -> "is enabled by the default keyNavigation: true"
  • "the row's depth" -> "the row depth", per the possessives rule
  • the value in "range" mode was bold; values take backticks
  • dropped the trailing period on the last "Covered areas" item, the other four have none

Left as is: no, footer and zones stay bold. They are ordinary words rather than API names, which the skill allows. Headings are untouched; the page links to #host-page-responsibilities itself.

- the intro was passive twice: "DHTMLX Grid is built to be operated
  entirely from the keyboard and to expose its structure"; now "You can
  operate DHTMLX Grid entirely from the keyboard, and the Grid exposes
  its structure"
- "e.g." twice in Host-page responsibilities -> "for example" and "such
  as", per the abbreviations rule
- "Make sure the host document:" was an intro the list items had to
  finish grammatically (sets, provides, gives). Now "In the host page:"
  with imperative items and periods instead of semicolons
- "are on by default — there is no flag to turn them off" stated for the
  third time what line 9 and the sample comment already say; the fact
  now lives in one place, which also removes the "by default" phrasing
- "is on by default (keyNavigation: true)" -> "is enabled by the default
  keyNavigation: true"
- "the row's depth" -> "the row depth", per the possessives rule
- the value in **"range"** mode was bold; values take backticks
- dropped the trailing period on the last "Covered areas" item, the
  other four have none

Left as is: **no**, **footer** and **zones** stay bold. They are
ordinary words rather than API names, which the skill allows.
Headings are untouched; the page links to #host-page-responsibilities
itself.
@serhiipylypchuk1991 serhiipylypchuk1991 self-assigned this Sep 16, 2026
Factual errors:

- the note under "patternMask" documented an `inputMask` property that
  does not exist in Grid: it was the only occurrence in all of
  docs/grid/, the section describes `patternMask`, and `charFormat` is
  a property of `patternMask`. The same non-existent property was
  already corrected in form/work_with_form.md
- the numberMask section linked `getValue()` to
  form/api/form_getvalue_method.md from a Grid page. Grid has no
  getValue method at all; form/work_with_form.md:170 carries the same
  sentence with `inputType:"text"` and the correct Input link, so the
  text was copied over from the Form docs. Reworded to describe the
  value stored in the data item instead of citing a missing API

Broken code samples:

- the header/footer height sample had `footerRowHeight:50` with no
  comma before `headerRowHeight`, making the object literal invalid
- the header/footer tooltipTemplate sample never closed the
  `new dhx.Grid(...)` call: `});` was missing before the closing fence

Grammar and style, ~160 replacements:

- i.e., e.g. and etc. removed; `***bold italic***` on property names
  replaced with backticks
- "There is a possibility to", "you should", "you need to" and
  "In the above example" rewritten
- "DHTMLX Grid possesses flexible configuration that let you get
  desired look and feel" - subject-verb disagreement in the opening line
- customFilter was called an attribute in three places; it is a property
- ComboBox and Combo Box normalized to Combobox
- typos: "with your you own logic", "its row/colmn", "events handlers"
- the DragPanel option list was indented four spaces with no parent
  list item, so it rendered as a nested list; dedented

No heading was touched, so all 73 inbound anchors to this page stay
valid. Frontmatter untouched. Trailing whitespace is net zero: 23 lines
removed, 23 added, 24 characters each way. Docusaurus build passes.

Left alone as site-wide conventions: "Roman alphabet" (also in the
already-rewritten form/work_with_form.md), "obligatory" (15 uses), and
backticks inside raw <td> (71 uses).
Critical:

- the "Styling cells" sample called
  grid.addCellCss(rowId, "country", "my_сustom_сlass") with two
  Cyrillic с (U+0441) inside a Latin identifier, and that class is
  defined nowhere: the <style> block of the same sample declares
  .myCustomClass. The sample could not work as written. The sibling
  sample above it pairs .myCustomClass with "myCustomClass" correctly,
  so the intended value is unambiguous. Only the legitimate ² in "Km²"
  remains non-ASCII in the file

Rendering:

- the closing note used the old {{note ...}} macro, which Docusaurus
  printed literally, braces and all; converted to :::note. Roughly 20
  other files still carry {{note}} and are left untouched
- <br> aligned with <br/> as used in the two other tables

API name formatting, 9 occurrences:

- **text**, **rowCss**, **addRowCss()**, **addCellCss()**, **mark**,
  **template** and **tooltipTemplate** moved from bold to backticks,
  plus the plain-text [css] and [tooltipTemplate] link labels

Grammar and style:

- "via" replaced three times, and "via using the ... property" once
- "an object which takes two optional parameters" - restrictive clause,
  so "that"
- weak openers rewritten: "There is a possibility to make changes in",
  "It is possible to change", "It is easy to style", "It is also
  possible to highlight"
- "You can easily set some styling ... by applying some inline style"
  carried a filler adverb, two indefinite pronouns and a by-ing link
- of-chains: "the header of a column" -> "the column header",
  "the content of cells of Grid" -> "the content of Grid cells",
  "the tooltip of a column" -> "a column tooltip"
- "add a new CSS class(es)" - article against a plural marker
- "As a value of property" -> "As the value of the property"
- missing comma after the introductory "For this"
- a list item that introduces a code sample ended with a period while
  its sibling ended with a colon

No heading was touched, so all 8 inbound anchors to this page stay
valid. Frontmatter untouched. Trailing whitespace is net zero.
Rendering:

- the PRO notice used the old {{pronote ...}} macro, which Docusaurus
  printed literally, braces and all. Converted to :::tip Pro version
  only - the capitalized form leads 15 to 6 in docs/grid/, and
  usage_blockselection.md, usage_history.md and usage_rangeselection.md
  carry the identical body sentence, so the text is unchanged. Seven
  other files still carry {{pronote}} and are left untouched

API name formatting:

- **load()** and **serialize()** moved from bold to backticks, plus the
  plain-text [data] link label

Tenses - future or passive where present simple belongs, 5 places:

- "The component will make an AJAX call and expect" -> makes / expects
- "In this case they will be generated automatically" -> "in this case,
  Grid generates them automatically"
- "In case you haven't specified ids of rows, they will be
  auto-generated" -> "If you don't specify row ids, Grid generates them
  automatically"
- "Thus the data from the first data line will be used as keys of items"
  -> "The first data line then provides the item keys"
- "will not work until all data are loaded" -> "does not work until all
  data is loaded"

Punctuation:

- two list introductions were completed by their own items ("you need
  to:"); both now read "do the following:"

Grammar and style:

- "in the JSON format" -> "in JSON format"; a standalone format name
  takes no article
- "contains configuration of a grid row" -> "the configuration"
- "where key is the id of a column and value is" -> "where the key is
  ... and the value is"
- of-chains: "ids of rows", "the file with data", "keys of items",
  "the data of a grid"
- "make use of" -> "use"; "via the load() method" -> "with"
- "Please note that" dropped - the sentence already sits in an :::info
  block; "should be" -> "must be", since it is a requirement
- "they are reapplied to the newly loaded data" -> "Grid reapplies
  them"; the passive hid the actor
- "The structure of a row is rather flexible." removed as an empty
  generalization, and the sentence merged with its neighbour
- weak openers reworked: "There are several ways of loading data",
  "Here is an example", "Then you can parse"

Left alone: **unique** on line 25 is bold on an ordinary prose word,
not an API name, which the rules allow explicitly.

No heading was touched, so the three inbound anchors and the four
in-page ones stay valid. Frontmatter untouched. Trailing whitespace is
net zero.
Rendering:

- the case-insensitivity note used the old {{note ...}} macro, which
  Docusaurus printed literally, braces and all; converted to :::note.
  93 files still carry {{note}} and are left untouched

API name formatting, 3 occurrences:

- **grid.events.on()**, **grid.events.detach()** and
  **grid.events.fire()** moved from bold to backticks

Grammar and style:

- "The names of events are case-insensitive" -> "Event names are
  case-insensitive"
- "The full list of events is available in the related [API section]"
  -> "For the full list of events, see the related [API section]"
- the first section opened with "You can attach event listeners with
  the ... method:" while the other two used "To <verb> events, use ...".
  All three now read "To <verb> ..., use the `...` method:", which also
  matches the closest sibling page, chart/events.md

Left alone: the gerund section headings ("Attaching event listeners",
"Calling events") violate the gerunds-in-titles rule, but a heading is
an anchor and the review rules forbid changing one in a fix. This page
happens to have no inbound anchors, so it would have been safe, but no
heading has been touched anywhere in this pass.

Frontmatter untouched. Trailing whitespace is net zero.
Grammar errors:

- "Learn how to to automatically add an empty row" carried a doubled
  "to"
- "make the size of columns to automatically adjust to their content"
  used the ungrammatical "make X to do" pattern

Abbreviations:

- "for working with data of Grid, i.e. edit, add, remove, sort data,
  etc." packed i.e. and etc. into one sentence; rewritten as "to work
  with Grid data: edit, add, remove, and sort it"

Consistency - the dominant defect on this page:

- 26 section introductions used seven different phrasings for the same
  job: "you will get to know how to" x12, "you will find the ways of"
  x5, "you can learn how to" x3, "you will learn" x4, "you can find
  out" x2, plus "This section will tell you" and "This section
  explains". All now read "In this section you will learn...".
  "you will get to know how to" appears in exactly one file site-wide
  (this one), while "In this section you will learn" appears in 20, so
  this returns the page to the house pattern rather than inventing one
- "Read how" (2) aligned with "Learn how" (120)
- "use API of the X module" -> "use the API of the X module" in three
  rows, and the Selection row now matches the API reference table
- "the interface of dhtmlxGrid" -> "of Grid"; the legacy spelling still
  sits in three other Grid files
- "the TreeGrid  mode of the Grid widget" -> "the TreeGrid mode of the
  Grid component", also dropping a stray double space

Articles, 9 places:

- "from external file", "from external DataCollection", "use DHTMLX
  Optimus framework ... creating DHTMLX-based app", "define initial
  structure", "set specific size", "into data of Grid cells", "an
  object with configuration of", "to exact position", "corresponding
  references"

Word choice:

- restrictive "which" -> "that" in three rows; "maximal width" ->
  "maximum width", matching "minimum" in the next row
- "perform the code" -> "run the code", and the possessive "the
  component's rendering" -> "the component renders"
- the page intro said "go into deep dive on its functionality", a
  broken idiom; now "dive deep into its functionality". The same
  sentence sits in all 20 features.md pages and is left untouched there

Left alone: **Grid API** and **DataCollection API** stay bold. They are
prose names of API surfaces, not code identifiers, and the rules allow
bold on ordinary prose words.

No heading was touched and this page has no inbound anchors. Frontmatter
untouched. Trailing whitespace is net zero. Every table row still has
the same three-cell shape.
Opening paragraph:

- "JavaScript component which allows creating tables" - restrictive
  clause, so "that", and "allows creating" becomes "allows you to
  create", the form the gerund rule prescribes
- "DHTMLX Grid provides great possibilities for customizing its look and
  feel." -> "You can customize its look and feel." The verb is on the
  overused list and "great possibilities" is marketing; the rewrite also
  drops the second "DHTMLX Grid" in two consecutive sentences
- "Complete JavaScript API is provided to help users save time on
  configuring." -> "A complete JavaScript API helps you save time on
  configuration." The passive hid the actor and the article was missing

Guides intro:

- "Says how to build a standard grid on a page ... attach events, etc."
  had no subject at all, left "configure with specific settings" without
  an object, and closed a colon list with etc. Now reads "These guides
  explain how to build ... configure it with specific settings,
  customize the appearance, and attach events." This wording appears in
  no other index.md, so it was a local defect rather than a template

Related resources:

- three introductory phrases were missing their comma (lines 28, 30, 31)
- "data of Grid" -> "Grid data" in two rows

Left alone, with reasons:

- dhtmlxGrid on line 27 sits inside a link target
  (products/dhtmlxGrid/download.shtml). Link targets are out of scope
  and a fix may never change one, so the legacy spelling stays
- the empty [](...) link labels are the site convention
- trailing whitespace on lines 3, 11 and 42 is preserved byte-for-byte
- "There are also [online samples...]" is shared by 21 index pages

Still carrying the same defects elsewhere: "To work with data of X
check [...]" in 9 other index pages, and the comma-less "To get the
whole JavaScript library of UI components" in 2 more.

No heading was touched and this page has no inbound anchors. Frontmatter
untouched. No link target changed. Trailing whitespace is net zero.
API name formatting:

- the four file-name bullets were italicised: *grid.js*, *grid.css*,
  *suite.js*, *suite.css*. File names take backticks, and the rule
  forbids italic outright. The italic form still sits in 19 other pages

Passive voice:

- "The Grid component can be used standalone" -> "You can use the Grid
  component standalone"
- "If this argument is not passed to the constructor, the settings will
  be default." -> "If you don't pass this argument, Grid applies the
  default settings." - also drops the future tense
- "Detailed information on loading data into Grid is given in the
  article" -> "For detailed information on loading data into Grid, see"

Weak verbs:

- "The constructor has two parameters" -> "takes two parameters"
- "There is a set of properties you can specify" -> "You can specify a
  set of properties"

Possessives and articles:

- "a folder of your project" -> "your project folder"
- "place full paths to JS and CSS files of DHTMLX Grid into the header
  of the created file" -> "place the full paths to the DHTMLX Grid JS
  and CSS files into its header"
- "include JS/CSS files of the DHTMLX Suite library" -> "include the JS
  and CSS files of the DHTMLX Suite library"
- "you need to include" reduced to the imperative in two places

Punctuation and parsing:

- the two constructor parameters ended differently, one with a comma and
  one with a period, and the second opened with a stray "optional,".
  Now "- the HTML container for Grid" and "- an object with
  configuration properties (optional)."
- the API-overview sentence carried two competing "in the" phrases;
  the object is now fronted

Left alone, with reasons:

- "you need to take the following simple steps" is verbatim in 19 files.
  It is wordy but not wrong, so changing it here would only split this
  page from 18 siblings
- dhtmlxGrid on line 12 sits inside a link target, which is out of scope
- trailing whitespace on lines 27 and 34 is inside the code fence, and
  line 3 is frontmatter; all preserved

Worth a maintainer's eye, not touched: the first sample is a complete
index.html using `data: dataset`, but dataset is never defined on the
page and the second sample omits the data key entirely. `dataset` is the
repo-wide placeholder, so this is a convention question, and code
samples are out of scope for this pass.

No heading was touched, so the inbound #initialize-grid anchor stays
valid. Frontmatter untouched. No link target changed. None of the 14
changed lines falls inside a code fence, and the fence count is
unchanged. Trailing whitespace is net zero.
Typo:

- "To use a different locale, your need to:" - "your" for "you". The
  same typo sits in three other localization pages: form, combobox and
  colorpicker. The introduction was also completed by its own list
  items, so it now reads "do the following:"

Legacy naming, in prose this time:

- "the interface of dhtmlxGrid" -> "the Grid interface". Unlike the
  occurrences in index.md and initialization.md, this one is not inside
  a link target, so it was in scope. The same sentence already says
  "Grid labels" two clauses later

Grammar and style:

- "You just need to translate" - "just" is a filler and "you need to"
  pads an imperative
- "apply a ready locale" -> "apply the resulting locale", continuing the
  wording already introduced in grid/configuration.md. Four other pages
  still say "a ready locale", including grid/usage.md
- "e.g." -> "for example"
- "apply the language settings calling the dhx.i18n.setLocale() method"
  was missing its preposition; "with" avoids the by-ing link that "by
  calling" would introduce

Left alone, with reasons:

- "The described functionality requires PRO version ..." keeps its
  missing article. That sentence appears 109 times across 98 files and
  the corrected form appears nowhere, so it is the site's fixed
  licensing wording. Four earlier commits on this branch preserved it
  verbatim, including the {{pronote}} conversion in data_loading.md
- setLocale("grid") is the correct key for this component, so this page
  does not repeat the setLocale("combo_container") bug fixed earlier in
  combobox/localization.md. That survey did show combo_container and
  colorpicker_container still live elsewhere

No heading was touched and this page has no inbound anchors. Frontmatter
untouched. No link target changed, and none of the 4 changed lines falls
inside a code fence. Trailing whitespace is net zero.
Punctuation:

- a comma splice joined two independent clauses: "use the dragItem
  property, to enable drag-n-drop between Grids in the TreeGrid mode,
  use the dragMode property". Now two sentences

Sync with grid/data_loading.md:

- nine sentences here were the pre-fix versions of ones already
  corrected in 464bb29: "expects loaded data in the JSON format",
  "Here is an example of an appropriate data set", "The structure of a
  row is rather flexible", "In case you haven't specified ids of rows",
  "The component will make an AJAX call and expect", "you need to wrap
  any after-loading code into a promise" and others. They now use the
  identical wording, so the two pages in this folder agree again. The
  old form still sits in 10-12 files elsewhere

Wordiness:

- "make use of" -> "use" in three places. 59 occurrences remain across
  37 files

Weak openers and passives:

- "There is also a set of properties you can provide" -> "You can also
  specify a set of properties"
- "the root parent takes the id of the Grid container by default" ->
  "the default root parent is the id of the Grid container", which also
  drops the passive "When Grid is initialized"
- "There are several simple ways of loading data" -> "You can load data
  ... in several ways"
- "provides the possibility to reorder items" -> "allows you to reorder"
- "There are three modes of behaviour" -> "A dragged item supports three
  modes of behaviour"
- "It is also possible to expand/collapse ... using" -> "You can also
  expand or collapse ... with"

Tenses - future where present simple belongs, in five places: lines 76,
92, 124, 192 and 251.

Word choice and consistency:

- "which allow setting ... getting ..." -> "that allow you to set ...
  get ..."; "specific for" -> "specific to"
- the opening sentence was missing its article, and "allows showing" ->
  "allows you to show"
- "the ID of the parent row" -> "the id", matching "the id of a row" in
  the same table
- the link label "[API Events of DHTMLX Grid]" -> "[API events ...]",
  matching "API methods" above it. The link target is unchanged

Left alone, with reasons:

- **PRO** and **unique** are bold on ordinary prose words, which the
  rules allow
- "behaviour" stays in all six places even though the site prefers
  "behavior" 83 to 22. The heading "Drop behaviour" is targeted by two
  inbound anchors, and headings are anchor-locked; changing only the
  prose would leave the page contradicting its own heading.
  dropBehaviour is an API identifier and untouchable
- the single italic *false* stays. This is a real api-formatting
  violation on a site that is genuinely split - backticks lead 614/297
  against italic 339/143 - and grid/configuration.md still carries 17
  italic booleans from an earlier commit in this branch. Converting one
  here would only make the folder less consistent; the split needs one
  decision across all 143 files

No heading was touched, so all seven inbound anchors stay valid.
Frontmatter untouched. No link target changed. None of the 25 changed
lines falls inside a code fence. Trailing whitespace is net zero.
59 replacements over 33 lines.

Abbreviations, 18 occurrences:

- e.g. x17 -> "for example", i.e. x1 -> "that is". This single page held
  roughly a fifth of all e.g. usage on the site (81 hits across 50
  files); about 49 files still carry it

Passive voice, ~14 occurrences - the actor is Grid throughout:

- "values are validated after applying" -> "Grid validates values after
  applying" (x2)
- "the *formatted* value is copied to the clipboard" -> "Grid copies
  the *formatted* value to the clipboard" (x2)
- "the paste operation is ignored" -> "Grid ignores the paste
  operation" (x2)
- "After the Grid component is created, the module is accessible" ->
  "After you create the Grid component, you can access the module"

This also finished a half-done edit of my own: the first pass turned
the second half of the date and number paragraphs active ("Grid
converts it...") while leaving their openers passive.

Tenses - future where present simple belongs, ~8 places:

- "will not work", "will be blocked", "will repeat", and "the copied
  value will be" in four spots

Other categories:

- **dhx.Grid** -> `dhx.Grid`; it is a constructor identifier, so
  api-formatting applies even though the site is split 5/5 on it
- "via the API of" -> "with the API of"
- "allows integrating" -> "allows you to integrate"; "Allows
  overriding" and "Allows transforming" likewise
- "formatters help adapting data" -> "help adapt data"
- "for the end user" -> "for the user"
- weak openers: "Below you'll find the details" -> "The sections below
  describe"; "These functions provide flexible control" -> "give you
  flexible control"; "This is done to maintain" -> "This maintains"
- line 20 ended on a link with no full stop
- "When Clipboard module is enabled" was missing its article

Left alone, each checked rather than assumed:

- italic type names (*object*, *string*) are the real house form here,
  68 against 2 and 82 against 2, roughly 20:1. Note this is the
  opposite of italic booleans on the previous page, where backticks led
  2:1 - same-looking markup, different verdicts
- *formatted*, [*grouping*], **Compatibility**, **Customization** and
  the other bold list labels are emphasis on ordinary prose words
- **Clipboard API** and **RangeSelection API** stay bold, matching the
  **Grid API** dismissal made in features.md
- five singular possessives (column's dateFormat, cell's current value)
  are idiomatic references to a specific instance, not the of-chains or
  plural-noun adjectives the possessives rule targets

No heading was touched, so the inbound #using-formatter-functions
anchor stays valid. Frontmatter untouched. No link target changed. None
of the 33 changed lines falls inside a code fence. Trailing whitespace
is net zero.
Incorrect statement:

- the intro said the module activates when row Drag-and-Drop is enabled
  "and conflicting configurations, such as the BlockSelection or
  Clipboard modules, are used". Those modules do not conflict with
  Drag-and-Drop - they are exactly what triggers DragPanel alongside it.
  The word "conflicting" appears nowhere else in the whole docs tree,
  configuration.md:2791 states the identical rule without it, and lines
  23-26 of this same page list the two modules as ordinary activation
  conditions. As written, a reader could conclude these modules should
  not be combined with row Drag-and-Drop, the opposite of the
  documented behaviour. Reworded to match configuration.md, which also
  removes two passives and fixes "modules are" after "or"

API name formatting:

- **dhx.Grid** -> `dhx.Grid` in two places; it is a constructor
  identifier. After the usage_clipboard.md commit the bold form stood at
  4 hits in 3 files; the last two are usage_blockselection.md and
  usage_history.md, both still ahead in this folder

Grammar and style:

- "provides auxiliary functionality" -> "adds auxiliary functionality"
- "via the configuration options" -> "with the configuration options"
- "The module is also automatically activated if:" -> "Grid also
  activates the module automatically if:"
- "e.g. via" -> "for example, with"
- "provide additional configuration options" -> "specify additional
  configuration options"
- "Learn about configuration possibilities of the drag panel" -> "Learn
  how to configure the drag panel"
- "To make the process of working with the drag panel more flexible" ->
  "To work with the drag panel more flexibly", matching the wording
  committed for usage_clipboard.md in 29b669b

Left alone, with reasons:

- italic *object* on line 47 is the house form for type names, verified
  at roughly 20 to 1 (68 italic against 2 backticked), and the same
  construction was deliberately kept in usage_clipboard.md:40
- "requires PRO version" keeps its missing article; it is the site's
  fixed licensing sentence across 98 files

No heading was touched and this page has no inbound anchors. Frontmatter
untouched. No link target changed. None of the 9 changed lines falls
inside a code fence. Trailing whitespace is net zero.
Left UNFIXED on purpose, needs a maintainer decision:

- lines 70 and 463 link disable() to
  grid/api/rangeselection/disable_method.md, the RangeSelection
  module's method, on a page about the History module. enable() and
  isDisabled() on the same page correctly target grid/api/history/, and
  docs/grid/api/history/disable_method.md does exist. Every other
  reference to that rangeselection path in the tree is legitimately
  about the range object, so this page sends readers to the wrong
  module twice. The review rules forbid changing a link target in a
  fix, so both links are untouched and reported instead

Typo:

- line 463 read "change", undo", "redo" - the opening quote on undo was
  missing

Punctuation:

- "It returns `true`, if the module is disabled and `false`, if it is
  enabled." - two commas before a restrictive if
- "is disabled, using the" -> "is disabled with the"

API name formatting:

- **dhx.Grid** -> `dhx.Grid`. This was the second to last bold
  occurrence site-wide; one remains, in usage_blockselection.md

Consistency:

- "re-applied" -> "reapplied"; the file used both, and the site runs 13
  to 3 in favour of the closed form
- "cells editing" -> "cell editing" and "cells clearing" -> "cell
  clearing"; a noun used as an adjective takes the singular, and "cell
  clearing" had zero occurrences anywhere, so no form was established
- "the history module" -> "the `History` module", matching the rest of
  the page

Other categories:

- e.g. x4 -> "for example", two of them inside raw tables that the scan
  treats as prose
- via x4 -> "with"; "allows tracking" and "allows applying" -> "allows
  you to track" and "allows you to apply"
- "To make the process of ... more flexible" x2, as in the two previous
  commits
- "Each action in the returned array presents an object described
  below" -> "is an object with the following properties"; presents is
  simply the wrong verb
- getHistory(): the purpose clause dangled, reading as though the
  caller prevents modification. It now says the method returns a copy
- the trailing "(for a disabled module)" on line 193 was rebuilt into
  the sentence
- "will trigger an error" -> "triggers an error"

Left alone, each checked against the site:

- italic *object* is the house form for type names, roughly 20 to 1,
  and was kept in usage_clipboard.md and usage_dragpanel.md
- "module's state" is the file's only possessive and is a singular
  reference to a specific instance, the same class dismissed five times
  in 29b669b
- "requires PRO version" keeps its missing article, as across 98 files

No heading was touched, so all four inbound anchors stay valid.
Frontmatter untouched. No link target changed. None of the 23 changed
lines falls inside a code fence. Trailing whitespace is net zero.
Terminology slip:

- line 60 called `range` a module: "shows disabling of the `range`
  module". On this page `range` is the object, ten times over, and
  RangeSelection is the module. Now reads "shows how to disable the
  module"

Repeated construction, 7 occurrences, one fix:

- "shows disabling of", "shows checking of", "shows setting of",
  "demonstrates merging of", "shows resetting of" and "shows retrieving
  of" twice, all now "shows how to <verb>"

Return values - broken parallelism in two descriptions:

- "returns `true` - on success or `false` - on error, event
  cancellation, or if the module is disabled" mixed dashes with a list
  that switched from noun phrases to a clause
- "returns `true` - on success, `false`, if the module is disabled, or
  if reset is canceled by an event" had the same problem plus a stray
  comma and a passive

Punctuation:

- "is disabled, using the" -> "is disabled with the"
- "It returns `true`, if ... and `false`, if ..." - both commas sat
  before a restrictive if
- line 303 had the comma before the first if but not the second, in one
  sentence

Naming consistency:

- "the range selection module" (lowercase) and "the RangeSelection
  module" (no backticks, three times) -> "the `RangeSelection` module"
- "an ID" -> "an id", against ten uses of "column id" and "row id"

Other categories:

- via x4 -> "with"; "It provides methods for setting ... getting ...
  checking" -> "It lets you set ... get ... check"
- "Once the Grid is created, the module is accessible" reworded as in
  usage_history.md (3a6df47), so the sibling pages match
- "the missing ones are automatically filled" -> "Grid fills the missing
  ones automatically"
- "It is also possible to ... by using" -> "You can also ... with"
- e.g. -> "for example"; "provide additional configuration options" ->
  "specify"; "Learn about configuration possibilities" -> "Learn how to
  configure"; "To make the process of ... more flexible" x2

Worth noting for the maintainer: all eight module links on this page
correctly target grid/api/rangeselection/. That confirms the defect
reported for usage_history.md, where disable() points at this module's
method while enable() and isDisabled() point at history/. Nothing was
changed there, since a fix may not alter a link target.

Left alone: italic *object* is the house form for type names, roughly
20 to 1, kept in the three preceding files; "module's state" is the
file's only possessive and the same class dismissed in 29b669b and
3a6df47; "requires PRO version" keeps its missing article.

No heading was touched and this page has no inbound anchors. Frontmatter
untouched. No link target changed. None of the 20 changed lines falls
inside a code fence. Trailing whitespace is net zero.
Invalid property value:

- the note on line 114 told readers to "Use the selection:"rows"
  property to be able to operate rows". There is no "rows" value: the
  config signature is selection?: boolean | "cell" | "row" | "complex".
  Site-wide, selection:"rows" occurred exactly once, here, against
  selection:"row" eight times in five files, and this page itself uses
  selection:"cell" four times. Anyone following the note would set a
  value the component does not accept. Now reads selection:"row", and
  the padded "to be able to operate" is gone

Grammar:

- "You can manipulate with Grid cells" - manipulate takes a direct
  object. The same sentence carried the weak opener "It is possible
  to", a tangled "both to a single row or cell and to multiple rows or
  cells", and "allows removing" instead of "allows you to remove"

Method label consistency:

- enable, disable and removeCell had no parentheses while setCell(),
  isSelectedCell(), getCell() and getCells() did. The four bare labels
  that remain are events, which correctly take none

Other categories:

- "make use of" -> "use"; "via the" -> "with the"
- "manipulate the ctrlUp and shiftUp parameters accordingly" -> "set the
  ctrlUp and shiftUp parameters"; both the verb and the adverb were
  vague
- "remove selection from a selected cell/row or from highlighted
  cells/rows" said the same thing twice -> "from one or more selected
  cells or rows"
- "To make the process of ... more flexible" x2, as in the four
  preceding commits

A note on anchors: the first inbound-anchor sweep appeared to show four
broken links (#selecting-an-item, #unselecting-an-item and two more).
That was an artefact of matching usage_selection.md# across every
component - DataView, List and Tree each have a file of that name with
exactly those headings. This page's own four anchors all resolve, so
nothing was broken and nothing needed changing.

The work list is empty after the rewrite, with no dismissals required.
No heading was touched, so all four inbound anchors stay valid.
Frontmatter untouched. No link target changed. None of the 8 changed
lines falls inside a code fence. Trailing whitespace is net zero.
Samples that do not run as written:

- line 739: `groupable: true` had no comma before `data: dataset`, so
  the object literal is invalid
- line 758: the same defect in the second grouping sample
- line 302: the filter sample returns `val === "New"` while the callback
  parameter is named `value`, so it throws a ReferenceError

The first two are the same class as the missing comma after
footerRowHeight fixed in configuration.md; the third matches the
Cyrillic CSS class fixed in customization.md.

Typo:

- "For information on working with with Grid in the TreeGrid mode" -
  doubled "with"

Abbreviations, 8 occurrences:

- e.g. and e.g., -> "for example" on lines 276, 602, 852, 854 and 1205

Punctuation and grammar:

- a comma before a restrictive "if" in three places: "returns *true*, if
  a column is hidden", the same for a row, and "a span configuration, if
  any span includes"
- a missing comma before "while" on line 87 and after the introductory
  phrase on line 358
- "allows aggregating ... adjusting ... rendering" -> "allows you to
  aggregate ... adjust ... render"
- the editEnd() parameter description read as a contradiction: "define
  whether the edited data will be saved ... (if *true*, the made changes
  won't be saved)". Now states the condition once, plainly

Weak openers, via, and wordiness:

- "It is possible to" x3, "There is a possibility to", "There is the
  ... method that", via x4, "with the help of" x5, "make use of" x2,
  "In order to", "you need to"/"you should" x3, "You can easily" x2, and
  "Thus, to have the possibility of exporting files"

Consistency with earlier commits in this branch:

- "applying a ready locale for the component" -> "the resulting locale".
  This is the exact occurrence flagged as outstanding when
  grid/localization.md was rewritten; the corrected form still exists
  only in the two files fixed then
- [hidden] -> [`hidden`], as [css] and [data] were handled in index.md
  and data_loading.md
- the two uninformative [here] link labels now name their destination

Trailing whitespace is -1 character rather than the usual zero. That is
line 739 alone: '    groupable: true ' became '    groupable: true,',
where the comma that fixes the literal displaced the trailing space
inside a code fence. Intended, not an accidental trim.

35 work-list entries remain, all dismissals: empty [](...) link labels,
bold on prose and product names (DataCollection, Json2Excel, worker.js,
checkbox), and italic booleans, values and type names, which are the
house forms preserved across this folder.

No heading was touched, so all 30 inbound anchors stay valid.
Frontmatter untouched. No link target changed. The only fenced lines
touched are 302, 739 and 758, the three intentional code fixes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant