Ticket #387 (closed Enhancement: fixed)
Webclient: differentiated topic revelation behavior
Reported by: | jri | Owned by: | jri |
---|---|---|---|
Priority: | Major | Milestone: | Release 4.1 |
Component: | DeepaMehta Standard Distribution | Version: | 4.0.12 |
Keywords: | Cc: | dgf, Malte, tsc, joern | |
Complexity: | 3 | Area: | GUI / Usability |
Module: | deepamehta-webclient |
Description
The user should be able to control how topics are revealed on the canvas when clicked in the detail panel. Two different gestures could cause different behavior:
1) Reveal
2) Reveal + Focus
The 2 gestures could be:
1) Clicking the topic's icon -> Reveal
2) Clicking the topic's label -> Reveal + Focus
BTW: this would be the "classic" Kiezatlas navigation then.
Malte pointed out earlier that DM Webclient would benefit from it.
This would easify revelation of a certain topic set e.g. from a search result.
The search result would keep focus (when gesture 1 is applied) and thus not change the order of the result items each time the search result is refocused.
I think this is a good idea and we should do this.
Change History
comment:2 Changed 12 years ago by Jörg Richter
Webclient: reveal topic w/o selecting it (#387).
A styleguide is thoroughly applied to the webclient. It deals with how topics are revealed on the topicmap when clicked in the page panel:
- when the *icon* is clicked the topic is revealed
- when the *label* is clicked the topic is revealed AND selected
This provides for revealing a whole bunch of topics without loosing focus.
Webclient API:
- dm4c.do_reveal_related_topic() has an optional 2nd parameter: "action". Its meaning is just the same as with dm4c.show_topic(): the action to perform on the revealed topic. 3 possible values:
"none" - do not select the topic (page panel doesn't change) -- the default.
"show" - select the topic and show its info in the page panel.
"edit" - select the topic and show its form in the page panel.
If not specified (that is any falsish value) "none" is assumed.
INCOMPATIBILITY
When your plugin calls dm4c.do_reveal_related_topic() it must be adapted.
Just pass "show" as the 2nd parameter as "none" is the default now.
dm4c.do_reveal_related_topic(topic_id, "show")
Furthermore if you pass a custom click handler to dm4c.render.topic_list() you should care about fulfilling the styleguide mentioned above. For that purpose a 2nd parameter is passed to your click handler: "spot". That is the spot where the topic has been clicked: "icon" or "label" (a string).
Example:
dm4c.render.topic_list(topics, function(topic, spot) { var action = spot == "label" && "show" dm4c.show_topic(topic, action) })
See ticket 387.
comment:3 Changed 12 years ago by Jörg Richter
Webclient: reveal topic w/o selecting it (#387).
A styleguide is thoroughly applied to the webclient. It deals with how topics are revealed on the topicmap when clicked in the page panel:
- when the *icon* is clicked the topic is revealed
- when the *label* is clicked the topic is revealed AND selected
This provides for revealing a whole bunch of topics without loosing focus.
Webclient API:
- dm4c.do_reveal_related_topic() has an optional 2nd parameter: "action". Its meaning is just the same as with dm4c.show_topic(): the action to perform on the revealed topic. 3 possible values:
"none" - do not select the topic (page panel doesn't change) -- the default.
"show" - select the topic and show its info in the page panel.
"edit" - select the topic and show its form in the page panel.
If not specified (that is any falsish value) "none" is assumed.
INCOMPATIBILITY
When your plugin calls dm4c.do_reveal_related_topic() it must be adapted.
Just pass "show" as the 2nd parameter as "none" is the default now.
dm4c.do_reveal_related_topic(topic_id, "show")
Furthermore if you pass a custom click handler to dm4c.render.topic_list() you should care about fulfilling the styleguide mentioned above. For that purpose a 2nd parameter is passed to your click handler: "spot". That is the spot where the topic has been clicked: "icon" or "label" (a string).
Example:
dm4c.render.topic_list(topics, function(topic, spot) { var action = spot == "label" && "show" dm4c.show_topic(topic, action) })
See ticket 387.
comment:4 Changed 12 years ago by Jörg Richter
Webclient: more helpful topic list tooltips (#387)
The difference between "reveal" and "reveal and focus" is explained.
Webclient API: 3 methods have additional optional "title" parameter, the tooltip text:
- dm4c.render.topic_link(topic, handler, title)
- dm4c.render.icon_link(topic, handler, title)
- dm4c.render.type_icon(type_uri, title)
See ticket 387.
comment:5 Changed 12 years ago by Jörg Richter
More informative topic lists (#308, #329, #387).
Topic lists displayed in the page panel, e.g. search results, are more informative: topics which are already visible on the canvas are displayed with an disabled icon. This provides for better orientation when revealing a whole bunch of topics and is particularily useful in conjunction with #387.
See ticket 308.
See ticket 329.
See ticket 387.
comment:6 Changed 12 years ago by Jörg Richter
Webclient: more helpful topic list tooltips (#387)
The difference between "reveal" and "reveal and focus" is explained.
Webclient API: 3 methods have additional optional "title" parameter, the tooltip text:
- dm4c.render.topic_link(topic, handler, title)
- dm4c.render.icon_link(topic, handler, title)
- dm4c.render.type_icon(type_uri, title)
See ticket 387.
comment:7 Changed 12 years ago by Jörg Richter
More informative topic lists (#308, #329, #387).
Topic lists displayed in the page panel, e.g. search results, are more informative: topics which are already visible on the canvas are displayed with an disabled icon. This provides for better orientation when revealing a whole bunch of topics and is particularily useful in conjunction with #387.
See ticket 308.
See ticket 329.
See ticket 387.