PR that adds the select instance step of the annotation wizard.
In this step the user will be able to set the instance to be annotated, based upon the previous selected annotation target (JSON path). This can be a new or existing instance. Existing instances will be show and can be selected. New instances are a bit more complicated in the sense that it needs to be checked if all parent classes are present before one can actually be added. For example: a Taxon Identification class, which lives as a child of the Identification class, cannot be added if there is not identification present. Thus an identification should be added first before an actual taxon identification can be added upon it. As a solution, the target will be set to identification which should generate a form including the child classes like taxon identification so the user can still simultaneously add them. Another case is that there are multiple identifications present and the user needs to define on which identification the taxon identification is going to be made. This is done using a dropdown that displays all available identifications. Choosing one will set the correct JSON path target for the child taxon identification class.
The parent check process is complicated and does a lot of checks, but should be done a valid manner to prevent broken chains in the digital object.
Selected instances, new or existing, will be visually different from others so the users knows what he has selected.
PR that adds the select instance step of the annotation wizard.
In this step the user will be able to set the instance to be annotated, based upon the previous selected annotation target (JSON path). This can be a new or existing instance. Existing instances will be show and can be selected. New instances are a bit more complicated in the sense that it needs to be checked if all parent classes are present before one can actually be added. For example: a Taxon Identification class, which lives as a child of the Identification class, cannot be added if there is not identification present. Thus an identification should be added first before an actual taxon identification can be added upon it. As a solution, the target will be set to identification which should generate a form including the child classes like taxon identification so the user can still simultaneously add them. Another case is that there are multiple identifications present and the user needs to define on which identification the taxon identification is going to be made. This is done using a dropdown that displays all available identifications. Choosing one will set the correct JSON path target for the child taxon identification class.
The parent check process is complicated and does a lot of checks, but should be done a valid manner to prevent broken chains in the digital object.
Selected instances, new or existing, will be visually different from others so the users knows what he has selected.