Introduction:
SpinalGraph is a data schema for grouping together a set of informations and modeling the links between these informations. This data schema works on the "context" layer of the pyramid of informations.
To get more information about SpinalGraph data architecture, please read SpinalGraph 0.2 Model description.
c'est un service qui permet d'enrengistrer sous forme d'applications des boutons en fonction de mot clé.
Avec les mots clés, les interfaces retrouvent/récupère les boutons associés aux applications.
See https://material.io/tools/icons/?style=baseline for material icons
Name | Type | Default | Description |
---|---|---|---|
label | string | "notset" | short name to be shown in the application |
description | string | description of what the Application button do | |
buttonCfg | Object | Object configuration of the Application button | |
buttonCfg.icon | string | "tab" | can be a font-awsome or material icon string |
buttonCfg.icon_type | string | "in" | Where to place the icon in the `md-icon`. Should be one of theses `class`, `in`, `src` |
buttonCfg.backgroundColor | string | "0000FF" | backgroud color of the button |
buttonCfg.fontColor | string | "FFFFFF" | font color of the button |
badgeCfg | Object | Object configuration of the Application button badge | |
badgeCfg.label | string | string shown in a badge; if empty it's not shown | |
badgeCfg.backgroundColor | string | "FF0000" | backgroud color of the badge |
badgeCfg.fontColor | string | "FFFFFF" | font color of the badge |
Usage:
To use the Spinal Context Menu Service, you must :
Install :
Code Block | ||||
---|---|---|---|---|
| ||||
npm install --save https://github.com/spinalcom/spinal-env-viewer-context-menu-service.git |
Import and instantiate
Code Block | ||
---|---|---|
| ||
const { spinalContextMenuService, SpinalContextApp } = require("spinal-env-viewer-context-menu-service"); // 1 Extends the class `SpinalContextApp` and define custom `isShown` and `action` methods. class SpinalContextAppTest extends SpinalContextApp { constructor() { // 2 testLabel : tooltip of the button // test description : description of the button. it will be an evolution of the tooltip. super("testlabel", "test description", { //3 button config icon: "add", icon_type: "in", backgroundColor: "000000", fontColor: "FFFFFF" }); } //4 fonction to open panel. isShown(option) { if (option.testsFail === true) return Promise.resolve(-1); return Promise.resolve(true); } //5 fonction executed after click action(option) { console.log("action clicked"); } } |
Register the app to a App HookName. For example, there is 3 HookName example, "circularMenu", "sideBar", "globalBar"
CircularMenu
Hook : circularMenu
Pour ajouter une fonction dans le circular menu il faut réaliser l'ensemble de cette procedure.
SideBar Graph Manager
Hook : sideBar
GlobalBar Graph Manager
Hook : globalBar
ViewerBar
Hook : viewerBar