Ticket #1055 (closed Enhancement: fixed)
Introduce combined Search/Create widget
Reported by: | jri | Owned by: | |
---|---|---|---|
Priority: | Major | Milestone: | |
Component: | DeepaMehta Standard Distribution | Version: | 4.8.4 |
Keywords: | Cc: | dgf, Malte, JuergeN, irau | |
Complexity: | 8 | Area: | GUI / Usability |
Module: | deepamehta-webclient |
Description
When doing content (or even type def) authoring with DM you probably know this practice: before creating a thing you often search that thing in order to avoid creating the same thing twice. This suggests DM's general Search and Create functions should be designed in a more integrated way.
This ticket proposes the introduction of a combined Search/Create? widget. It has the potential to completely remove the current separate Search and Create widgets from the Webclient's toolbar, and allows for performing combined search/create operations directly on the topicmap.
It would work like this:
- The user (left) clicks an empty spot on the canvas. On the spot an overlay appears containing one single input field.
- Typing in the input field immediately triggers DB searches. The resulting topics are displayed as a menu in the overlay.
2.1 Case 1: the user want reveal a result topic. She clicks that topic (in the result list). The topic will be revealed on the topicmap.
2.2 Case 2: there is no result and the user likes to create the searched thing. She selects the proper type from a menu displayed in the overlay (similar to the current Create menu). The topic will be created, with the user input already filled in.
2.3 Case 3: the user want make the current search permanent. She presses a "make search permanent" button (as displayed in the overlay). A Search topic will be created. It acts just like the current Search topic.
In each of the 3 cases the overlay disappears afterwards. Effectively it kind of morphs into either a revealed topic, a created topic, or a Search topic; right at the topicmap, where the initial clicked occurred (step 1.)
Another outcome would be aborting the operation, but in contrast to the other 3 cases this is not an explicit user action. Clicking outside the overlay makes it disappear immediately. Think of the overlay as a menu, opened by the user, but she changed her mind, and want make the menu go away.
The most recent indication for such a widget came up in the course of redesigning the (composite) type builder (see #1045).
The combined search/create widget is inspired by Gerben van den Broeke's work at http://webmemex.org
This is basically done in DM5 (under development, see #1080).
The search/create widget is available as a composable Vue.js component, distributed via npm:
https://www.npmjs.com/package/dm5-search-widget