parent
1e2dbea7cc
commit
851e0dd59d
@ -1,12 +1,4 @@ |
|||||||
{ |
{ |
||||||
"presets": [ |
"presets": ["@nrwl/react/babel"], |
||||||
[ |
|
||||||
"@nrwl/react/babel", |
|
||||||
{ |
|
||||||
"runtime": "automatic", |
|
||||||
"useBuiltIns": "usage" |
|
||||||
} |
|
||||||
] |
|
||||||
], |
|
||||||
"plugins": [] |
"plugins": [] |
||||||
} |
} |
@ -1,18 +1,19 @@ |
|||||||
{ |
{ |
||||||
"extends": ["plugin:@nrwl/nx/react", "../../../.eslintrc.json"], |
"env": { |
||||||
"ignorePatterns": ["!**/*"], |
"browser": true, |
||||||
"overrides": [ |
"es6": true |
||||||
{ |
}, |
||||||
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"], |
"extends": ["../../../.eslintrc"], |
||||||
"rules": {} |
"globals": { |
||||||
}, |
"Atomics": "readonly", |
||||||
{ |
"SharedArrayBuffer": "readonly" |
||||||
"files": ["*.ts", "*.tsx"], |
}, |
||||||
"rules": {} |
"parserOptions": { |
||||||
}, |
"ecmaVersion": 11, |
||||||
{ |
"sourceType": "module" |
||||||
"files": ["*.js", "*.jsx"], |
}, |
||||||
"rules": {} |
"rules": { |
||||||
} |
"no-unused-vars": "off", |
||||||
] |
"@typescript-eslint/no-unused-vars": "error" |
||||||
} |
} |
||||||
|
} |
@ -0,0 +1,5 @@ |
|||||||
|
{ |
||||||
|
"tabWidth": 2, |
||||||
|
"singleQuote": true, |
||||||
|
"semi": false |
||||||
|
} |
@ -0,0 +1,14 @@ |
|||||||
|
/* eslint-disable no-use-before-define */ |
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
import React from 'react' |
||||||
|
|
||||||
|
function BasicLogo () { |
||||||
|
return (<svg id="Ebene_2" data-name="Ebene 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 105 100"> |
||||||
|
<path d="M91.84,35a.09.09,0,0,1-.1-.07,41,41,0,0,0-79.48,0,.09.09,0,0,1-.1.07C9.45,35,1,35.35,1,42.53c0,8.56,1,16,6,20.32,2.16,1.85,5.81,2.3,9.27,2.22a44.4,44.4,0,0,0,6.45-.68.09.09,0,0,0,.06-.15A34.81,34.81,0,0,1,17,45c0-.1,0-.21,0-.31a35,35,0,0,1,70,0c0,.1,0,.21,0,.31a34.81,34.81,0,0,1-5.78,19.24.09.09,0,0,0,.06.15,44.4,44.4,0,0,0,6.45.68c3.46.08,7.11-.37,9.27-2.22,5-4.27,6-11.76,6-20.32C103,35.35,94.55,35,91.84,35Z"/> |
||||||
|
<path d="M52,74,25.4,65.13a.1.1,0,0,0-.1.17L51.93,91.93a.1.1,0,0,0,.14,0L78.7,65.3a.1.1,0,0,0-.1-.17L52,74A.06.06,0,0,1,52,74Z"/> |
||||||
|
<path d="M75.68,46.9,82,45a.09.09,0,0,0,.08-.09,29.91,29.91,0,0,0-.87-6.94.11.11,0,0,0-.09-.08l-6.43-.58a.1.1,0,0,1-.06-.18l4.78-4.18a.13.13,0,0,0,0-.12,30.19,30.19,0,0,0-3.65-6.07.09.09,0,0,0-.11,0l-5.91,2a.1.1,0,0,1-.12-.14L72.19,23a.11.11,0,0,0,0-.12,29.86,29.86,0,0,0-5.84-4.13.09.09,0,0,0-.11,0l-4.47,4.13a.1.1,0,0,1-.17-.07l.09-6a.1.1,0,0,0-.07-.1,30.54,30.54,0,0,0-7-1.47.1.1,0,0,0-.1.07l-2.38,5.54a.1.1,0,0,1-.18,0l-2.37-5.54a.11.11,0,0,0-.11-.06,30,30,0,0,0-7,1.48.12.12,0,0,0-.07.1l.08,6.05a.09.09,0,0,1-.16.07L37.8,18.76a.11.11,0,0,0-.12,0,29.75,29.75,0,0,0-5.83,4.13.11.11,0,0,0,0,.12l2.59,5.6a.11.11,0,0,1-.13.14l-5.9-2a.11.11,0,0,0-.12,0,30.23,30.23,0,0,0-3.62,6.08.11.11,0,0,0,0,.12l4.79,4.19a.1.1,0,0,1-.06.17L23,37.91a.1.1,0,0,0-.09.07A29.9,29.9,0,0,0,22,44.92a.1.1,0,0,0,.07.1L28.4,47a.1.1,0,0,1,0,.18l-5.84,3.26a.16.16,0,0,0,0,.11,30.17,30.17,0,0,0,2.1,6.76c.32.71.67,1.4,1,2.08a.1.1,0,0,0,.06,0L52,68.16H52l26.34-8.78a.1.1,0,0,0,.06-.05,30.48,30.48,0,0,0,3.11-8.88.1.1,0,0,0-.05-.11l-5.83-3.26A.1.1,0,0,1,75.68,46.9Z"/> |
||||||
|
</svg> |
||||||
|
) |
||||||
|
} |
||||||
|
|
||||||
|
export default BasicLogo |
@ -0,0 +1,26 @@ |
|||||||
|
/* eslint-disable no-use-before-define */ |
||||||
|
/* eslint-disable @typescript-eslint/no-unused-vars */ |
||||||
|
import { VerticalIcons } from 'libs/remix-ui/vertical-icons-panel/types/vertical-icons-panel' |
||||||
|
import React, { ReactNode } from 'react' |
||||||
|
import BasicLogo from './BasicLogo' |
||||||
|
interface HomeProps { |
||||||
|
verticalIconPlugin: VerticalIcons |
||||||
|
} |
||||||
|
|
||||||
|
function Home ({ verticalIconPlugin }: HomeProps) { |
||||||
|
return ( |
||||||
|
<div |
||||||
|
className="m-1 mt-2 remixui_homeIcon" |
||||||
|
onClick={async () => verticalIconPlugin.activateHome()} |
||||||
|
// @ts-ignore
|
||||||
|
plugin="home" |
||||||
|
title="Home" |
||||||
|
data-id="verticalIconsHomeIcon" |
||||||
|
id="verticalIconsHomeIcon" |
||||||
|
> |
||||||
|
<BasicLogo /> |
||||||
|
</div> |
||||||
|
) |
||||||
|
} |
||||||
|
|
||||||
|
export default Home |
@ -0,0 +1,114 @@ |
|||||||
|
/* eslint-disable @typescript-eslint/ban-ts-comment */ |
||||||
|
/* eslint-disable no-use-before-define */ |
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
import VerticalIconsContextMenu from '../vertical-icons-context-menu' |
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
import React, { Fragment, SyntheticEvent, useRef, useState } from 'react' |
||||||
|
import { VerticalIcons } from 'libs/remix-ui/vertical-icons-panel/types/vertical-icons-panel' |
||||||
|
// import helper from 'apps/remix-ide/src/lib/helper'
|
||||||
|
|
||||||
|
interface IconProps { |
||||||
|
verticalIconPlugin: VerticalIcons |
||||||
|
kind: string |
||||||
|
name: string |
||||||
|
icon: string |
||||||
|
displayName: string |
||||||
|
tooltip: string |
||||||
|
documentation: string |
||||||
|
contextMenuAction: (evt: any, profileName: string, documentation: string) => void |
||||||
|
addActive: (profileName: string) => void |
||||||
|
removeActive: () => void |
||||||
|
} |
||||||
|
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
function Icon ({ |
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
kind, |
||||||
|
name, |
||||||
|
icon, |
||||||
|
displayName, |
||||||
|
tooltip, |
||||||
|
documentation, |
||||||
|
verticalIconPlugin, |
||||||
|
contextMenuAction, |
||||||
|
addActive, |
||||||
|
removeActive |
||||||
|
}: IconProps) { |
||||||
|
const [title] = useState(() => { |
||||||
|
const temp = tooltip || displayName || name |
||||||
|
return temp.replace(/^\w/, word => word.toUpperCase()) |
||||||
|
}) |
||||||
|
const [links, setLinks] = useState<{ Documentation: string, CanDeactivate: boolean }>( |
||||||
|
{} as { Documentation: string, CanDeactivate: boolean } |
||||||
|
) |
||||||
|
// @ts-ignore
|
||||||
|
const [pageX, setPageX] = useState<number>(null) |
||||||
|
// @ts-ignore
|
||||||
|
const [pageY, setPageY] = useState<number>(null) |
||||||
|
const [showContext, setShowContext] = useState(false) |
||||||
|
const [canDeactivate] = useState(false) |
||||||
|
const iconRef = useRef(null) |
||||||
|
|
||||||
|
const handleContextMenu = (e: SyntheticEvent & PointerEvent) => { |
||||||
|
const deactivationState = verticalIconPlugin.appManager |
||||||
|
.canDeactivatePlugin(verticalIconPlugin.defaultProfile, { name }) |
||||||
|
if (documentation && documentation.length > 0 && deactivationState) { |
||||||
|
setLinks({ Documentation: documentation, CanDeactivate: deactivationState }) |
||||||
|
} else { |
||||||
|
setLinks({ Documentation: documentation, CanDeactivate: deactivationState }) |
||||||
|
} |
||||||
|
setShowContext(false) |
||||||
|
setPageX(e.pageX) |
||||||
|
setPageY(e.pageY) |
||||||
|
setShowContext(true) |
||||||
|
} |
||||||
|
function closeContextMenu () { |
||||||
|
setShowContext(false) |
||||||
|
} |
||||||
|
|
||||||
|
return ( |
||||||
|
<Fragment> |
||||||
|
<div |
||||||
|
className="remixui_icon m-2" |
||||||
|
onLoad={() => { |
||||||
|
if (name === 'filePanel') { |
||||||
|
addActive(name) |
||||||
|
} |
||||||
|
}} |
||||||
|
onClick={() => { |
||||||
|
removeActive() |
||||||
|
addActive(name) |
||||||
|
verticalIconPlugin.toggle(name) |
||||||
|
}} |
||||||
|
// @ts-ignore
|
||||||
|
plugin={name} |
||||||
|
title={title} |
||||||
|
onContextMenu={(e: any) => { |
||||||
|
e.preventDefault() |
||||||
|
e.stopPropagation() |
||||||
|
handleContextMenu(e) |
||||||
|
}} |
||||||
|
onBlur={closeContextMenu} |
||||||
|
data-id={`verticalIconsKind${name}`} |
||||||
|
id={`verticalIconsKind${name}`} |
||||||
|
ref={iconRef} |
||||||
|
> |
||||||
|
<img className="remixui_image" src={icon} alt={name} /> |
||||||
|
</div> |
||||||
|
{showContext ? ( |
||||||
|
<VerticalIconsContextMenu |
||||||
|
pageX={pageX} |
||||||
|
pageY={pageY} |
||||||
|
links={links} |
||||||
|
profileName={name} |
||||||
|
hideContextMenu={closeContextMenu} |
||||||
|
canBeDeactivated={canDeactivate} |
||||||
|
verticalIconPlugin={verticalIconPlugin} |
||||||
|
contextMenuAction={contextMenuAction} |
||||||
|
/> |
||||||
|
) : null} |
||||||
|
</Fragment> |
||||||
|
) |
||||||
|
} |
||||||
|
|
||||||
|
export default Icon |
@ -0,0 +1,15 @@ |
|||||||
|
/* eslint-disable no-use-before-define */ |
||||||
|
/* eslint-disable @typescript-eslint/no-unused-vars */ |
||||||
|
import React, { ReactNode } from 'react' |
||||||
|
|
||||||
|
interface OtherIconsProps { |
||||||
|
children: ReactNode |
||||||
|
} |
||||||
|
|
||||||
|
function OtherIcons ({ children }: OtherIconsProps) { |
||||||
|
return ( |
||||||
|
<div id="otherIcons">{ children }</div> |
||||||
|
) |
||||||
|
} |
||||||
|
|
||||||
|
export default OtherIcons |
@ -0,0 +1,15 @@ |
|||||||
|
/* eslint-disable no-use-before-define */ |
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
import React, { ReactNode } from 'react' |
||||||
|
|
||||||
|
interface SettingsProps { |
||||||
|
children: ReactNode |
||||||
|
} |
||||||
|
|
||||||
|
function Settings ({ children }: SettingsProps) { |
||||||
|
return ( |
||||||
|
<div id="settingsIcons" data-id="vertialIconsSettingsIcons">{ children }</div> |
||||||
|
) |
||||||
|
} |
||||||
|
|
||||||
|
export default Settings |
@ -0,0 +1,109 @@ |
|||||||
|
.remixui_homeIcon { |
||||||
|
display: block; |
||||||
|
width: 42px; |
||||||
|
height: 42px; |
||||||
|
margin-bottom: 20px; |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
.remixui_homeIcon svg path { |
||||||
|
fill: var(--primary); |
||||||
|
} |
||||||
|
.remixui_homeIcon svg polygon { |
||||||
|
fill: var(--primary); |
||||||
|
} |
||||||
|
.remixui_icons { |
||||||
|
} |
||||||
|
.remixui_icon { |
||||||
|
cursor: pointer; |
||||||
|
margin-bottom: 3px; |
||||||
|
position: 12px; |
||||||
|
width: 36px; |
||||||
|
height: 36px; |
||||||
|
padding: relative; |
||||||
|
border-radius: 8px; |
||||||
|
} |
||||||
|
.remixui_icon img { |
||||||
|
width: 28px; |
||||||
|
height: 28px; |
||||||
|
padding: 4px; |
||||||
|
filter: invert(0.5); |
||||||
|
} |
||||||
|
.remixui_image { |
||||||
|
} |
||||||
|
.remixui_icon svg { |
||||||
|
width: 28px; |
||||||
|
height: 28px; |
||||||
|
padding: 4px; |
||||||
|
} |
||||||
|
.remixui_icon[title='Settings'] { |
||||||
|
position: absolute; |
||||||
|
bottom: 0; |
||||||
|
} |
||||||
|
.remixui_status { |
||||||
|
position: absolute; |
||||||
|
bottom: 0; |
||||||
|
right: 0; |
||||||
|
} |
||||||
|
.remixui_statusCheck { |
||||||
|
font-size: 1.2em; |
||||||
|
} |
||||||
|
.remixui_statusWithBG { |
||||||
|
border-radius: 8px; |
||||||
|
background-color: var(--danger); |
||||||
|
color: var(--light); |
||||||
|
font-size: 12px; |
||||||
|
height: 15px; |
||||||
|
text-align: center; |
||||||
|
font-weight: bold; |
||||||
|
padding-left: 5px; |
||||||
|
padding-right: 5px; |
||||||
|
} |
||||||
|
|
||||||
|
.remixui_verticalIconContextcontainer { |
||||||
|
display: block; |
||||||
|
position: fixed; |
||||||
|
border-radius: 2px; |
||||||
|
z-index: 1000; |
||||||
|
box-shadow: 0 0 4px var(--dark); |
||||||
|
} |
||||||
|
.remixui_liitem { |
||||||
|
padding: 2px; |
||||||
|
padding-left: 6px; |
||||||
|
cursor: pointer; |
||||||
|
color: var(--text-dark); |
||||||
|
background-color: var(--light); |
||||||
|
} |
||||||
|
.remixui_liitem:hover { |
||||||
|
background-color: var(--secondary); |
||||||
|
} |
||||||
|
|
||||||
|
.remixui_scrollbar { |
||||||
|
overflow-y: scroll; |
||||||
|
scrollbar-width: none; /* Firefox hide scrollbar */ |
||||||
|
-ms-overflow-style: none; |
||||||
|
} |
||||||
|
.remixui_scrollable-container { |
||||||
|
max-height: 500px; |
||||||
|
} |
||||||
|
.remixui_scrollbar::-webkit-scrollbar { /* Chrome, Safari and other Webkit browsers*/ |
||||||
|
display: none; |
||||||
|
} |
||||||
|
.remixui_hide-scroll { |
||||||
|
overflow-x: 'hidden'; |
||||||
|
} |
||||||
|
.remixui_default-icons-container { |
||||||
|
border-bottom: 1px solid #3f4455; |
||||||
|
} |
||||||
|
.remixui_icon-chevron { |
||||||
|
z-index: 1000; |
||||||
|
} |
||||||
|
.remixui_icon-chevron { |
||||||
|
z-index: 1000; |
||||||
|
} |
||||||
|
.remixui_icon-chevron { |
||||||
|
z-index: 1000; |
||||||
|
} |
||||||
|
#menuitems { |
||||||
|
list-style: none; |
||||||
|
margin: 0px; |
||||||
|
} |
@ -0,0 +1,113 @@ |
|||||||
|
/* eslint-disable @typescript-eslint/ban-ts-comment */ |
||||||
|
/* eslint-disable @typescript-eslint/no-unused-vars */ |
||||||
|
/* eslint-disable no-use-before-define */ |
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
import React, { Fragment, useEffect, useRef } from 'react' |
||||||
|
import { VerticalIcons } from '../../types/vertical-icons-panel' |
||||||
|
|
||||||
|
export interface VerticalIconsContextMenuProps extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> { |
||||||
|
// actions: action[]
|
||||||
|
pageX: number |
||||||
|
pageY: number |
||||||
|
profileName: string |
||||||
|
links: { Documentation: string, CanDeactivate: boolean } |
||||||
|
canBeDeactivated: boolean |
||||||
|
verticalIconPlugin: VerticalIcons |
||||||
|
hideContextMenu: () => void |
||||||
|
contextMenuAction: (evt: any, profileName: string, documentation: string) => void |
||||||
|
} |
||||||
|
|
||||||
|
interface MenuLinksProps { |
||||||
|
listItems: { Documentation: string, CanDeactivate: boolean } |
||||||
|
hide: () => void |
||||||
|
profileName: string |
||||||
|
canBeDeactivated: boolean |
||||||
|
verticalIconPlugin: VerticalIcons |
||||||
|
ref?: React.MutableRefObject<any> |
||||||
|
toggle: (name: string) => void |
||||||
|
contextMenuAction: (evt: any, profileName: string, documentation: string) => void |
||||||
|
} |
||||||
|
|
||||||
|
interface MenuProps { |
||||||
|
verticalIconsPlugin: VerticalIcons |
||||||
|
profileName: string |
||||||
|
listItems: { Documentation: string, CanDeactivate: boolean } |
||||||
|
hide: () => void |
||||||
|
} |
||||||
|
|
||||||
|
function VerticalIconsContextMenu (props: VerticalIconsContextMenuProps) { |
||||||
|
const menuRef = useRef(null) |
||||||
|
useEffect(() => { |
||||||
|
document.addEventListener('click', props.hideContextMenu) |
||||||
|
return () => document.removeEventListener('click', props.hideContextMenu) |
||||||
|
}, []) |
||||||
|
useEffect(() => { |
||||||
|
// @ts-ignore
|
||||||
|
menuRef.current.focus() |
||||||
|
}, []) |
||||||
|
return ( |
||||||
|
<div |
||||||
|
id="menuItemsContainer" |
||||||
|
className="p-1 remixui_verticalIconContextcontainer bg-light shadow border" |
||||||
|
onBlur={props.hideContextMenu} |
||||||
|
style={{ |
||||||
|
left: props.pageX, |
||||||
|
top: props.pageY, |
||||||
|
display: 'block' |
||||||
|
|
||||||
|
}} |
||||||
|
ref={menuRef} |
||||||
|
> |
||||||
|
<ul id="menuitems"> |
||||||
|
<MenuForLinks |
||||||
|
hide={props.hideContextMenu} |
||||||
|
listItems={props.links} |
||||||
|
profileName={props.profileName} |
||||||
|
canBeDeactivated={props.canBeDeactivated} |
||||||
|
verticalIconPlugin={props.verticalIconPlugin} |
||||||
|
toggle={props.verticalIconPlugin.toggle} |
||||||
|
contextMenuAction={props.contextMenuAction} |
||||||
|
/> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
) |
||||||
|
} |
||||||
|
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
function MenuForLinks ({ |
||||||
|
listItems, |
||||||
|
hide, |
||||||
|
profileName, |
||||||
|
contextMenuAction |
||||||
|
}: MenuLinksProps) { |
||||||
|
return ( |
||||||
|
<Fragment> |
||||||
|
{listItems.CanDeactivate && |
||||||
|
<li |
||||||
|
id="menuitemdeactivate" |
||||||
|
onClick={(evt) => { |
||||||
|
contextMenuAction(evt, profileName, listItems.Documentation) |
||||||
|
hide() |
||||||
|
}} |
||||||
|
className="remixui_liitem" |
||||||
|
> |
||||||
|
Deactivate |
||||||
|
</li>} |
||||||
|
{(listItems.Documentation && listItems.Documentation.length > 0) && |
||||||
|
<li |
||||||
|
id="menuitemdocumentation" |
||||||
|
className="remixui_liitem" |
||||||
|
> |
||||||
|
<a |
||||||
|
onClick={hide} |
||||||
|
href={listItems.Documentation} |
||||||
|
target="_blank" |
||||||
|
> |
||||||
|
Documentation |
||||||
|
</a> |
||||||
|
</li>} |
||||||
|
</Fragment> |
||||||
|
) |
||||||
|
} |
||||||
|
|
||||||
|
export default VerticalIconsContextMenu |
@ -0,0 +1,112 @@ |
|||||||
|
/* eslint-disable @typescript-eslint/ban-types */ |
||||||
|
/* eslint-disable no-use-before-define */ |
||||||
|
import { Plugin } from '@remixproject/engine/lib/abstract' |
||||||
|
import * as packageJson from '../../../../package.json' |
||||||
|
import * as registry from 'apps/remix-ide/src/global/registry' |
||||||
|
import { RemixAppManager } from '@remix-ui/plugin-manager' |
||||||
|
|
||||||
|
export type Kind = |
||||||
|
| 'fileexplorer' |
||||||
|
| 'compiler' |
||||||
|
| 'udapp' |
||||||
|
| 'testing' |
||||||
|
| 'analysis' |
||||||
|
| 'debugging' |
||||||
|
| 'settings' |
||||||
|
| 'none' |
||||||
|
|
||||||
|
type IconKindType = { |
||||||
|
kind: {} |
||||||
|
} |
||||||
|
|
||||||
|
interface defaultModuleProfile { |
||||||
|
name: string |
||||||
|
displayName: string |
||||||
|
description: string |
||||||
|
version: packageJson.version |
||||||
|
methods: string[] |
||||||
|
} |
||||||
|
|
||||||
|
interface PassedProfile { |
||||||
|
name: string |
||||||
|
displayName: string |
||||||
|
description: string |
||||||
|
version: packageJson.version |
||||||
|
methods: string[] |
||||||
|
icon?: string |
||||||
|
tooltip?: string |
||||||
|
kind?: string |
||||||
|
documentation?: string |
||||||
|
} |
||||||
|
|
||||||
|
interface targetProfileIcons { |
||||||
|
profile: PassedProfile |
||||||
|
} |
||||||
|
export class VerticalIcons extends Plugin<any, any> { |
||||||
|
// constructor(appManager: RemixAppManager)
|
||||||
|
events: EventEmitter |
||||||
|
appManager: RemixAppManager |
||||||
|
htmlElement: HTMLDivElement |
||||||
|
icons: { |
||||||
|
name: any |
||||||
|
} |
||||||
|
|
||||||
|
iconKind: {} |
||||||
|
iconStatus: {} |
||||||
|
defaultProfile: defaultModuleProfile |
||||||
|
targetProfileForChange: any |
||||||
|
targetProfileForRemoval: any |
||||||
|
registry: registry |
||||||
|
renderComponent(): void |
||||||
|
linkContent(profile: any): void |
||||||
|
unlinkContent(profile: any): void |
||||||
|
listenOnStatus(profile: any): void |
||||||
|
activateHome(): void |
||||||
|
/** |
||||||
|
* Add an icon to the map |
||||||
|
* @param {ModuleProfile} profile The profile of the module |
||||||
|
*/ |
||||||
|
addIcon({ kind, name, icon, displayName, tooltip, documentation }: any): void |
||||||
|
/** |
||||||
|
* resolve a classes list for @arg key |
||||||
|
* @param {Object} key |
||||||
|
* @param {Object} type |
||||||
|
*/ |
||||||
|
resolveClasses(key: any, type: any): any |
||||||
|
/** |
||||||
|
* Set a new status for the @arg name |
||||||
|
* @param {String} name |
||||||
|
* @param {Object} status |
||||||
|
*/ |
||||||
|
setIconStatus(name: string, status: any): void |
||||||
|
/** |
||||||
|
* Remove an icon from the map |
||||||
|
* @param {ModuleProfile} profile The profile of the module |
||||||
|
*/ |
||||||
|
removeIcon({ kind, name }: any): void |
||||||
|
/** |
||||||
|
* Remove active for the current activated icons |
||||||
|
*/ |
||||||
|
removeActive(): void |
||||||
|
/** |
||||||
|
* Add active for the new activated icon |
||||||
|
* @param {string} name Name of profile of the module to activate |
||||||
|
*/ |
||||||
|
addActive(name: string): void |
||||||
|
/** |
||||||
|
* Set an icon as active |
||||||
|
* @param {string} name Name of profile of the module to activate |
||||||
|
*/ |
||||||
|
select(name: string): void |
||||||
|
/** |
||||||
|
* Toggles the side panel for plugin |
||||||
|
* @param {string} name Name of profile of the module to activate |
||||||
|
*/ |
||||||
|
toggle(name: string): void |
||||||
|
updateActivations(name: any): void |
||||||
|
onThemeChanged(themeType: any): void |
||||||
|
itemContextMenu(e: any, name: any, documentation: any): Promise<void> |
||||||
|
render(): any |
||||||
|
view: any |
||||||
|
} |
||||||
|
import EventEmitter = require('events') |
Loading…
Reference in new issue