chore: more cleanup in the specs
This commit is contained in:
@@ -8,6 +8,25 @@
|
||||
|
||||
use "./layout.allium" as layout
|
||||
|
||||
surface TabControlSurface {
|
||||
facing _: TabOperator
|
||||
|
||||
provides:
|
||||
OpenTabRequested(type, id, intent)
|
||||
OpenTabInBackgroundRequested(type, id, intent)
|
||||
CloseTabRequested(tab)
|
||||
PinTabRequested(tab)
|
||||
ClearTabsRequested()
|
||||
}
|
||||
|
||||
surface TabRuntimeSurface {
|
||||
facing _: TabRuntime
|
||||
|
||||
provides:
|
||||
TabOpening(tab_type, intent)
|
||||
ActiveTabChanged(active_tab)
|
||||
}
|
||||
|
||||
-- ─── Tab types ────────────────────────────────────────────────
|
||||
|
||||
-- 17 distinct tab types, each routing to a matching editor view.
|
||||
@@ -29,6 +48,15 @@ value Tab {
|
||||
is_transient: Boolean -- true = preview tab (italic title, replaceable)
|
||||
}
|
||||
|
||||
surface TabSurface {
|
||||
context tab: Tab
|
||||
|
||||
exposes:
|
||||
tab.type
|
||||
tab.id
|
||||
tab.is_transient
|
||||
}
|
||||
|
||||
-- ─── Tab categories ───────────────────────────────────────────
|
||||
|
||||
-- 1. Singleton tool tabs: always one instance, never transient, id = type name.
|
||||
@@ -161,6 +189,16 @@ value TabBarItem {
|
||||
is_dirty: Boolean -- dot indicator, only for post tabs
|
||||
}
|
||||
|
||||
surface TabBarItemSurface {
|
||||
context item: TabBarItem
|
||||
|
||||
exposes:
|
||||
item.title
|
||||
item.is_active
|
||||
item.is_transient
|
||||
item.is_dirty
|
||||
}
|
||||
|
||||
-- Tab title resolution:
|
||||
-- post: post.title from DB (listens post-updated events); no JS truncation
|
||||
-- media: media.originalName; no JS truncation
|
||||
|
||||
Reference in New Issue
Block a user