HWS UI

AppContextMenu

Single control

One useContextMenu call spread on the card. Share builds its submenu when it opens; Archive is disabled with a reason; Delete sits last in the danger section.

Quarterly report.pdf (right-click me)

Last action: nothing yet

Delegated list

200 rows and ONE build on the list, which reads data-row-id from the target. Rows marked mine add Edit and Delete. Opening the menu re-renders no row.

  • Message 1mine
  • Message 2
  • Message 3
  • Message 4mine
  • Message 5
  • Message 6
  • Message 7mine
  • Message 8
  • Message 9
  • Message 10mine
  • Message 11
  • Message 12
  • Message 13mine
  • Message 14
  • Message 15
  • Message 16mine
  • Message 17
  • Message 18
  • Message 19mine
  • Message 20
  • Message 21
  • Message 22mine
  • Message 23
  • Message 24
  • Message 25mine
  • Message 26
  • Message 27
  • Message 28mine
  • Message 29
  • Message 30
  • Message 31mine
  • Message 32
  • Message 33
  • Message 34mine
  • Message 35
  • Message 36
  • Message 37mine
  • Message 38
  • Message 39
  • Message 40mine
  • Message 41
  • Message 42
  • Message 43mine
  • Message 44
  • Message 45
  • Message 46mine
  • Message 47
  • Message 48
  • Message 49mine
  • Message 50
  • Message 51
  • Message 52mine
  • Message 53
  • Message 54
  • Message 55mine
  • Message 56
  • Message 57
  • Message 58mine
  • Message 59
  • Message 60
  • Message 61mine
  • Message 62
  • Message 63
  • Message 64mine
  • Message 65
  • Message 66
  • Message 67mine
  • Message 68
  • Message 69
  • Message 70mine
  • Message 71
  • Message 72
  • Message 73mine
  • Message 74
  • Message 75
  • Message 76mine
  • Message 77
  • Message 78
  • Message 79mine
  • Message 80
  • Message 81
  • Message 82mine
  • Message 83
  • Message 84
  • Message 85mine
  • Message 86
  • Message 87
  • Message 88mine
  • Message 89
  • Message 90
  • Message 91mine
  • Message 92
  • Message 93
  • Message 94mine
  • Message 95
  • Message 96
  • Message 97mine
  • Message 98
  • Message 99
  • Message 100mine
  • Message 101
  • Message 102
  • Message 103mine
  • Message 104
  • Message 105
  • Message 106mine
  • Message 107
  • Message 108
  • Message 109mine
  • Message 110
  • Message 111
  • Message 112mine
  • Message 113
  • Message 114
  • Message 115mine
  • Message 116
  • Message 117
  • Message 118mine
  • Message 119
  • Message 120
  • Message 121mine
  • Message 122
  • Message 123
  • Message 124mine
  • Message 125
  • Message 126
  • Message 127mine
  • Message 128
  • Message 129
  • Message 130mine
  • Message 131
  • Message 132
  • Message 133mine
  • Message 134
  • Message 135
  • Message 136mine
  • Message 137
  • Message 138
  • Message 139mine
  • Message 140
  • Message 141
  • Message 142mine
  • Message 143
  • Message 144
  • Message 145mine
  • Message 146
  • Message 147
  • Message 148mine
  • Message 149
  • Message 150
  • Message 151mine
  • Message 152
  • Message 153
  • Message 154mine
  • Message 155
  • Message 156
  • Message 157mine
  • Message 158
  • Message 159
  • Message 160mine
  • Message 161
  • Message 162
  • Message 163mine
  • Message 164
  • Message 165
  • Message 166mine
  • Message 167
  • Message 168
  • Message 169mine
  • Message 170
  • Message 171
  • Message 172mine
  • Message 173
  • Message 174
  • Message 175mine
  • Message 176
  • Message 177
  • Message 178mine
  • Message 179
  • Message 180
  • Message 181mine
  • Message 182
  • Message 183
  • Message 184mine
  • Message 185
  • Message 186
  • Message 187mine
  • Message 188
  • Message 189
  • Message 190mine
  • Message 191
  • Message 192
  • Message 193mine
  • Message 194
  • Message 195
  • Message 196mine
  • Message 197
  • Message 198
  • Message 199mine
  • Message 200

Last action: nothing yet

Nested composition

Image inside message inside channel: right-click the image to get all three areas' sections, innermost first. The pinned note stops the walk.

#general (channel area)
Ana: here is the floor plan (message area)
floor-plan.png (image area)
Pinned note (stop: true, hides the channel entries)

Last action: nothing yet

Browser menu kept

Text inputs keep the browser menu, for spelling suggestions and paste, as does Shift+right-click anywhere.

Last action: nothing yet

Outside any area

Selected text gets Copy, a link its link actions, an image its image actions; anywhere else keeps the browser menu.

Select across these lines and right-click the selection.

A second paragraph.

  • first item
  • second item
example.comDemo swatch

Last action: nothing yet

No menu at all

A suppressing area and a static opt-out: right-click shows nothing.

Stage area answering "suppress"
Static data-ctx-suppress box

Last action: nothing yet

Error states

Nothing fails silently. A submenu whose entries throw shows a disabled Failed to load row; one that returns nothing shows No actions; an empty list disables its trigger. An area whose build throws adds a disabled Couldn't load some actions row after the inner sections and stops the walk, so the outer area adds nothing. Each failure is logged to the console.

Submenus that fail, return nothing, or are empty (right-click me)
Outer area (never asked)
Area whose build throws (right-click here: just the error row)
Inner area (right-click here: Inner action, then the error row)

Last action: nothing yet

Local menus

A kit ContextMenu region keeps its own menu.

Kit ContextMenu region

Last action: nothing yet