Development warnings
Every warning OGE UI prints while you develop starts with a stable code — [OGE3101] … — and ends with a link to its entry below: what caused it and what to change. Production builds print none.
OGE codes dev mode only both render layers
How warnings work
- Angular apps warn while
ngDevModeis on (ng serve, tests) and stay silent in optimized builds. React and other toolchains warn whenNODE_ENVisdevelopmentortest; with neither signal the suite assumes production. - A warning that depends on a value (an attribute name, a message key) prints once per value, not on every render.
OGE3001is aconsole.error: the inputs contradict each other and one of them is ignored. Everything else is aconsole.warn.- License notices (
[OGE UI] …) are not development warnings: the commercial families show them in production on purpose.
All codes
| Code | Warning | Printed by |
|---|---|---|
| OGE1001 | A close guard threw or rejected | @oge-ui/overlay, @oge-ui/navigation, @oge-ui/core |
| OGE1002 | A deprecated message key is in use | every family |
| OGE1003 | A cycle in hierarchical data | @oge-ui/core, tree view, tree list, tree select |
| OGE2001 | An attribute was not applied | @oge-ui/overlay, @oge-ui/buttons, @oge-ui/navigation, @oge-ui/layout |
| OGE2002 | An open popup never rendered | @oge-ui/overlay, every popup editor |
| OGE2003 | PDF text the built-in fonts cannot draw | grid, tree list, pivot, gantt, scheduler PDF export |
| OGE3001 | holdToConfirm and autoRepeat together | @oge-ui/buttons, @oge-ui/react-buttons |
| OGE3002 | Selectable buttons without a value | @oge-ui/buttons, @oge-ui/react-buttons |
| OGE3101 | virtualScroll ignores groupBy | select box, tag box, autocomplete (both layers) |
| OGE3102 | virtualScroll ignores wrapItemText | select box, autocomplete (both layers) |
| OGE3201 | Item rules ignored on a bound form | @oge-ui/forms |
| OGE3301 | expandAll() needs multiple expansion | accordion, panel bar (both layers) |
| OGE3302 | An unreadable splitter pane size | @oge-ui/layout, @oge-ui/react-layout |
| OGE3401 | A stepper button without a stepper | @oge-ui/navigation |
Core
OGE1001 — A close guard threw or rejected
- Cause
- A
closeGuard(modal, drawer, window, popover…) threw or returned a rejected promise. - Fix
- The close is treated as vetoed. Return
false(or resolve tofalse) to keep the surface open on purpose, and catch errors inside the guard. - Printed by
- @oge-ui/overlay, @oge-ui/navigation, @oge-ui/core
OGE1002 — A deprecated message key is in use
- Cause
- A messages catalog or locale override supplies a key that is deprecated; it is still honoured for one minor release.
- Fix
- Supply the replacement key named in the warning (usually an ICU plural branch) and drop the old one.
- Printed by
- every family
OGE1003 — A cycle in hierarchical data
- Cause
- A row is its own ancestor through the parent / children fields (
parentIdExpr,itemsExpr). - Fix
- The cyclic subtree is skipped. Fix the data so every parent chain ends at the root value.
- Printed by
- @oge-ui/core, tree view, tree list, tree select
Overlays, security and export
OGE2001 — An attribute was not applied
- Cause
- An attribute bag (
panelAttributes,dropdownAttributes,htmlAttributes…) had an event handler,srcdoc,style,class, an unsafe URL, an invalid name or an attribute the component sets itself. - Fix
- Use the class and style inputs of the part for classes and styles, the component inputs for ARIA it owns, and never pass handlers as attributes.
- Printed by
- @oge-ui/overlay, @oge-ui/buttons, @oge-ui/navigation, @oge-ui/layout
OGE2002 — An open popup never rendered
- Cause
- An anchored panel was opened but its anchor or panel element never appeared in the DOM.
- Fix
- Render the popup while the panel model is open (
@if (panel.isOpen())/{panel.isOpen && …}) and hand the element to the panel. - Printed by
- @oge-ui/overlay, every popup editor
OGE2003 — PDF text the built-in fonts cannot draw
- Cause
- The exported text contains characters outside WinAnsi (for example Turkish ğ ş ı İ), which the built-in PDF fonts cannot draw.
- Fix
- Pass a Unicode TrueType font through the
fontoption orsetOgePdfDefaultFont(). - Printed by
- grid, tree list, pivot, gantt, scheduler PDF export
Component configuration
OGE3001 — `holdToConfirm` and `autoRepeat` together
- Cause
- A button sets both press behaviours; they are mutually exclusive.
- Fix
holdToConfirmwins. Remove one of the two inputs.- Printed by
- @oge-ui/buttons, @oge-ui/react-buttons
OGE3002 — Selectable buttons without a value
- Cause
- A button group has a
selectionModebut some buttons carry novalue. - Fix
- Give every button a
value; buttons without one cannot be selected. - Printed by
- @oge-ui/buttons, @oge-ui/react-buttons
OGE3101 — `virtualScroll` ignores `groupBy`
- Cause
- Group headers are not rendered in virtual mode.
- Fix
- Drop
groupBy, or turn virtual scrolling off for grouped lists. - Printed by
- select box, tag box, autocomplete (both layers)
OGE3102 — `virtualScroll` ignores `wrapItemText`
- Cause
- Virtual mode needs fixed-height rows, so long items cannot wrap.
- Fix
- Drop
wrapItemText, or turn virtual scrolling off. - Printed by
- select box, autocomplete (both layers)
OGE3201 — Item rules ignored on a bound form
- Cause
validationRules,isRequired,disabledorreadOnlysit on an item of a form bound with[fieldTree]or[formGroup], which owns that state.- Fix
- Express the rule in the schema (
required(),disabled(),readonly()) or on the control. - Printed by
- @oge-ui/forms
OGE3301 — `expandAll()` needs multiple expansion
- Cause
expandAll()was called while only one item may be expanded at a time.- Fix
- Set
multiple(accordion) orexpandMode="multiple"(panel bar), or expand items one by one. - Printed by
- accordion, panel bar (both layers)
OGE3302 — An unreadable splitter pane size
- Cause
- A pane
sizeis neither a share number, a"<n>%"nor a"<n>px"value. - Fix
- The size is ignored. Use a number, a percentage or a pixel value.
- Printed by
- @oge-ui/layout, @oge-ui/react-layout
OGE3401 — A stepper button without a stepper
- Cause
- An
ogeStepperNext/ogeStepperPreviousbutton is neither inside an<oge-stepper>nor bound to one. - Fix
- Place the button inside the stepper or bind it with
[ogeStepperTarget]. - Printed by
- @oge-ui/navigation