[ACA-2064] support custom icons for extensions (#864)

* icon component, custom svg

* split components, fix modules

* simplify code

* universal icon component

* support custom icon registration

* update docs

* test fixes
This commit is contained in:
Denys Vuika
2018-12-07 19:09:45 +00:00
committed by GitHub
parent ec3eeb7a63
commit 99a8192b36
30 changed files with 505 additions and 229 deletions

View File

@@ -24,6 +24,7 @@ You can create plugins that change, toggle, or extend the following areas:
- buttons
- "More actions" buttons
- Content metadata presets (used on `Properties` tab)
- Custom icons
Extensions can also:

42
docs/extending/icons.md Normal file
View File

@@ -0,0 +1,42 @@
# Custom Icons
You can register and use custom `.svg` icons with toolbars, context menus, etc.
The icons are declared in the `features.icons` section, for example:
```json
{
"features": {
"icons": [
{
"id": "adf:join_library",
"value": "./assets/images/join-library.svg"
},
{
"id": "adf:move_file",
"value": "./assets/images/adf-move-file-24px.svg"
}
]
}
}
```
The `id` value must conform to the format `[namespace]:[name]`,
similar to that of the [Material Icon](https://material.angular.io/components/icon/api) component.
The icon file path should be relative to the deployed application root (or `index.html` file);
After that, you can use the icon id with other elements, for example:
```json
{
"id": "app.toolbar.move",
"order": 500,
"title": "APP.ACTIONS.MOVE",
"icon": "adf:move_file",
"actions": {
"click": "MOVE_NODES"
}
}
```
It is also possible to override the icon value or disable the entry from within external extensions.