# Annotation Interface Templates

**URL:** <https://support.prodi.gy/t/annotation-interface-templates/1609>\
**Category:** Uncategorized\
**Tags:** usage, custom, front-end\
**Created:** [June 3, 2019, 10:30am UTC](https://support.prodi.gy/t/annotation-interface-templates/1609 "2019-06-03T10:30:47Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![danielrothmann](https://avatars.discourse-cdn.com/v4/letter/d/f9ae1b/32.png) [@danielrothmann](https://support.prodi.gy/u/danielrothmann)\
**Post date:** [June 3, 2019, 10:30am UTC](https://support.prodi.gy/t/annotation-interface-templates/1609/1 "2019-06-03T10:30:47Z")

</div>

Hi there!

We’ve recently started using Prodigy to set up our in-house data labeling server. I am currently working on some custom recipes for us and wondered:

**Is the built-in annotation interface templates available anywhere?** In particular, I am interested to see the source for the image-manual interface - This one would be useful for us if we can make some modifications 😁

Great experience with the product so far, kudos!

Daniel (ML Engineer at Kanda)

---

<div class="post-metadata">

**Author:** ![ines](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ines/32/3_2.png) [@ines](https://support.prodi.gy/u/ines)\
**Post date:** [June 4, 2019, 10:18am UTC](https://support.prodi.gy/t/annotation-interface-templates/1609/2 "2019-06-04T10:18:17Z")

</div>

Hi and thanks! The built-in annotation interfaces are components that are compiled into the app, so there’s no easy way to just edit them as templates. However, all built-in interfaces now support custom JavaScript passed in as the `"javascript"` config setting in the recipe, so you can tweak the interactions or perform additional updates by writing pretty straightforward vanilla JS and without having to worry much about the bigger pictur.

What exactly do you want to modify?

---

<div class="post-metadata">

**Author:** ![danielrothmann](https://avatars.discourse-cdn.com/v4/letter/d/f9ae1b/32.png) [@danielrothmann](https://support.prodi.gy/u/danielrothmann)\
**Post date:** [June 4, 2019, 10:48am UTC](https://support.prodi.gy/t/annotation-interface-templates/1609/3 "2019-06-04T10:48:54Z")

</div>

That’s cool!

For now, I really only need to change the list of labels to a dropdown (we have 30+ labels for the project) and remove the polygon button so only bboxes are supported.

It’d be easy if I could just modify a image.manual(like) template.

---

<div class="post-metadata">

**Author:** ![ines](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ines/32/3_2.png) [@ines](https://support.prodi.gy/u/ines)\
**Post date:** [June 4, 2019, 11:40am UTC](https://support.prodi.gy/t/annotation-interface-templates/1609/4 "2019-06-04T11:40:36Z")

</div>

Oh, that feature is actually built-in already – the naming is just a bit unfortunate, because I called it `"ner_manual_label_style"`(it was added before the manual image interface existed). So try setting `"ner_manual_label_style": "dropdown"` in your `prodigy.json` or in the `"config"` returned by your recipe.

> [@danielrothmann](#):
>
> and remove the polygon button so only bboxes are supported.

You should be able to do this via the `"global_css"` config – you'd only have to find the auto-generated class name of that button and then set it to `display: none`. I'm happy to add a human-readable class name to it for the next release so the buttons are easier to target.

Alternatively, here's the hacky version: `button[title="polygon (P, T)"] { display: none }`. (Disclaimer: This is a bad practice and I normally wouldn't advocate for it – but it works 😅)

---

<div class="post-metadata">

**Author:** ![danielrothmann](https://avatars.discourse-cdn.com/v4/letter/d/f9ae1b/32.png) [@danielrothmann](https://support.prodi.gy/u/danielrothmann)\
**Post date:** [June 5, 2019, 7:14am UTC](https://support.prodi.gy/t/annotation-interface-templates/1609/5 "2019-06-05T07:14:07Z")

</div>

Great, thanks - That’s the info I needed!

It would still be nice to able to remove it from the layout altogether though, so the hotkeys can’t activate it.
