We could use metadata on the annotation to specify allowed groups.
Specifically, supposed we create a JSON annotation metadata called allowed_groups that is an array or strings ["group1", "group2", "group4"]. If this is invalid, or has zero specified groups, we basically would ignore the setting. When we select that annotation to edit it, if draw panel is not on one of the allowed groups, it would switch to the "next" allowed group, and the picker would only offer the allowed groups. Similarly, the context menu would only allow picking from the allowed groups.
We need to decide what to do if the group does not exist (e.g., there is no group4 on record). If there are no groups defined, we will need to create a default group with the first named allowed_group (copy the default group's settings except for the name). Otherwise, the group can be created in the add group dialog (and, if it is one of the allowed groups then becomes selectable, and, if not, has no immediate benefit).
We could use metadata on the annotation to specify allowed groups.
Specifically, supposed we create a JSON annotation metadata called
allowed_groupsthat is an array or strings ["group1", "group2", "group4"]. If this is invalid, or has zero specified groups, we basically would ignore the setting. When we select that annotation to edit it, if draw panel is not on one of the allowed groups, it would switch to the "next" allowed group, and the picker would only offer the allowed groups. Similarly, the context menu would only allow picking from the allowed groups.We need to decide what to do if the group does not exist (e.g., there is no
group4on record). If there are no groups defined, we will need to create a default group with the first named allowed_group (copy the default group's settings except for the name). Otherwise, the group can be created in the add group dialog (and, if it is one of the allowed groups then becomes selectable, and, if not, has no immediate benefit).