дзеркало
https://github.com/l0ng-ai/openidea.git
синхронізовано 2026-11-09 19:25:54 +02:00
feat(plugins): clickable column headers with sort events for plugin tables (#1785)
A plugin opts a table into click-to-sort by sending it as view body other(kind "table") with its sort; a header click comes back as view-event other(kind "sort", {column, descending}), so no released WIT type changes. The SDK builds and decodes both (Body::sortable_table, ViewEvent::sort). Headers are keyboard-operable, carry aria-sort and show the reported order with an arrow.
Co-authored-by: Inf1mum <[email protected]>
Цей коміт міститься в:
1 джерело
75773dd889
коміт
309bb48f2c
56 files changed
+913
-32
No files matched your search
@@ -603,6 +603,12 @@ collapse of items, form fields, table cells, inserted and deleted rows, and
|
||||
`html` messages. A tree is a flat list whose items name their `parent`; an
|
||||
`expandable` item gets its children when it is expanded. A table gets only
|
||||
the rows it shows (`viewport`): report `total_rows` and return those.
|
||||
For a table the user can sort by clicking a header, build it with
|
||||
`Body::sortable_table(&table, sort)`: it travels as a `table` through `other`
|
||||
(so IDEs and plugins of any API version keep working), the IDE makes the
|
||||
column headers clickable and asks for a column and direction with
|
||||
`ViewEvent::sort()` — sort your rows and render again; the sort you report
|
||||
shows as an arrow in the header.
|
||||
Bodies, field types and view events added by later APIs travel as `Other {
|
||||
kind, data }`: an IDE that doesn't know a body says it needs updating, and
|
||||
leaves out a field type it doesn't know.
|
||||
|
||||
Бінарний файл не відображається.
@@ -1 +1 @@
|
||||
103165fc45ab6a995cdddd10848ae81f3f137438c1981375e6741185813ccdb3
|
||||
43d43f7a317c6fb8d5cca1b2a07f0e8dae05be6f5fcfc002527a409c519deb4f
|
||||
Бінарний файл не відображається.
@@ -1 +1 @@
|
||||
e0845829cfaa2d8f471ccfd8a41726757443df6591e1e06be9e499d6781c02fe
|
||||
881d4ad1ac25784507c836c220fc09bdcdf45193f13538e928b8b3619b548552
|
||||
Бінарний файл не відображається.
@@ -1 +1 @@
|
||||
6490dcca17d4d87336c70bbf8fbfac90f711ed0079f43d16534703b179211069
|
||||
b029de3ddd2add1812b3071d407c59a97463a701b63c22232450b19a9f1d6557
|
||||
Бінарний файл не відображається.
@@ -1 +1 @@
|
||||
aa807e1f712896e0ffe1f16115bd8ab991b59df5fcae73e97b6a40d6c94aaf8f
|
||||
4952cbef6094c109c3ca9637c8df7d47836b85632c450164f8f70b6b5f22d4e5
|
||||
Бінарний файл не відображається.
@@ -1 +1 @@
|
||||
225ca906d21299fa45059c11d12468e6c3fc577aebb59441c51774a760e54a26
|
||||
34c03e490bea652f4e28fe2fb785dd9a2b0421f46c0015273793c14e074867f1
|
||||
Бінарний файл не відображається.
@@ -1 +1 @@
|
||||
189e378fc52adfb058243feef4e100835600a1d4751adc23a262d13e703ef5e9
|
||||
d18f6687bc32a7a06c32ee81dd6e0c88e3acefd29934c9fa7271179d94fed194
|
||||
Бінарний файл не відображається.
@@ -1 +1 @@
|
||||
2b2e162de966b670918b1bbe937c34cf9bef014834fb38be820ec25f20b09159
|
||||
444dc979be1b8194631303c3ad6399b876ee9229d1a8554681406fd39164f604
|
||||
Бінарний файл не відображається.
@@ -1 +1 @@
|
||||
6d13cd671dfed3c9c73be0e40b81cc5f757e4f8ebf6a9eecba0001fa8c314d47
|
||||
6f9412fce5e1a3d7453b0a1089d50544d49a3b1e8f022a5a1221ea597d2fd7dd
|
||||
Бінарний файл не відображається.
@@ -1 +1 @@
|
||||
a941b31f326427d41cf3e62373bc421d086789a0ac1cb8c3647eafafe29c5834
|
||||
a861d2b792c06dbac0476fa0b99321296da52f792ff340b1fd25de3b0e6422de
|
||||
Бінарний файл не відображається.
@@ -1 +1 @@
|
||||
86428f64ea11d4863794595f12a9c100423725981d66d6f2a862191a0951fecf
|
||||
ccd7eab004cd2f767f6be21ce272f647e20695ceff8694293beff8ce8a06c646
|
||||
Бінарний файл не відображається.
@@ -1 +1 @@
|
||||
fc3b11c7b09f9a57c319af579efdd6f00d9ed51dccc6e86404c5164c6460d007
|
||||
8ae2a72ec23163926bac3914f4b27a429598982cd12f42f985df10e920942fdb
|
||||
Reference in new issue
Заблокувати користувача