badge handling correctly set to statusChanged

pull/1861/head
Joseph Izang 3 years ago
parent 27422c50d8
commit 43ecad665e
  1. 1
      libs/remix-ui/vertical-icons-panel/src/lib/components/Debugger.tsx
  2. 8
      libs/remix-ui/vertical-icons-panel/src/lib/components/Icon.tsx
  3. 7
      libs/remix-ui/vertical-icons-panel/src/lib/components/OtherIcons.tsx
  4. 1
      libs/remix-ui/vertical-icons-panel/src/lib/components/Solidity.tsx
  5. 1
      libs/remix-ui/vertical-icons-panel/src/lib/components/SolidityStaticAnalysis.tsx
  6. 1
      libs/remix-ui/vertical-icons-panel/src/lib/components/Udapp.tsx
  7. 4
      libs/remix-ui/vertical-icons-panel/src/lib/reducers/iconBadgeReducer.ts

@ -24,6 +24,7 @@ function Debugger ({ verticalIconsPlugin, itemContextAction, addActive, removeAc
useEffect(() => {
verticalIconsPlugin.on('debugger', 'statusChanged', (iconStatus: IconStatus) => {
iconStatus.pluginName = 'debugger'
const action: IconBadgeReducerAction = { type: 'debugger', payload: { status: iconStatus, verticalIconPlugin: verticalIconsPlugin } }
dispatchStatusUpdate(action)
})

@ -20,6 +20,7 @@ export interface IconStatus {
key: string
title: string
type: string
pluginName?: string
}
export interface BadgeStatus extends IconStatus {
@ -111,9 +112,10 @@ function Icon ({
ref={iconRef}
>
<img className="remixui_image" src={icon} alt={name} />
<Badge
badgeStatus={badgeStatus!}
/>
{ badgeStatus && badgeStatus.pluginName === name ? (
<Badge
badgeStatus={badgeStatus!}
/>) : null }
</div>
{showContext ? (
<VerticalIconsContextMenu

@ -23,7 +23,8 @@ const initialState = {
text: '',
key: '',
title: '',
type: ''
type: '',
pluginName: ''
}
function OtherIcons ({ verticalIconsPlugin, itemContextAction, addActive, removeActive }: OtherIconsProps) {
@ -33,12 +34,12 @@ function OtherIcons ({ verticalIconsPlugin, itemContextAction, addActive, remove
Object.keys(verticalIconsPlugin.targetProfileForChange)
.filter(customFilter)
.forEach(p =>
verticalIconsPlugin.on(verticalIconsPlugin.targetProfileForChange[p].name, 'statusChanged', (evt: Event, iconStatus: IconStatus) => {
verticalIconsPlugin.on(verticalIconsPlugin.targetProfileForChange[p].name, 'statusChanged', (iconStatus: IconStatus) => {
iconStatus.pluginName = verticalIconsPlugin.targetProfileForChange[p].name
const action: IconBadgeReducerAction = {
type: verticalIconsPlugin.targetProfileForChange[p].name,
payload: { status: iconStatus, verticalIconPlugin: verticalIconsPlugin }
}
console.log('check the event payload', { evt })
dispatchStatusUpdate(action)
}))
}, [verticalIconsPlugin.targetProfileForChange, Object.keys(verticalIconsPlugin.targetProfileForChange).length])

@ -23,6 +23,7 @@ function Solidity ({ verticalIconsPlugin, itemContextAction, addActive, removeAc
useEffect(() => {
verticalIconsPlugin.on('solidity', 'statusChanged', (iconStatus: IconStatus) => {
iconStatus.pluginName = 'solidity'
const action: IconBadgeReducerAction = { type: 'solidity', payload: { status: iconStatus, verticalIconPlugin: verticalIconsPlugin } }
dispatchStatusUpdate(action)
})

@ -23,6 +23,7 @@ function SolidityStaticAnalysis ({ verticalIconsPlugin, itemContextAction, addAc
const [badgeStatus, dispatchStatusUpdate] = useReducer(iconBadgeReducer, initialState)
useEffect(() => {
verticalIconsPlugin.on('solidityStaticAnalysis', 'statusChanged', (iconStatus: IconStatus) => {
iconStatus.pluginName = 'solidityStaticAnalysis'
const action: IconBadgeReducerAction = { type: 'solidityStaticAnalysis', payload: { status: iconStatus, verticalIconPlugin: verticalIconsPlugin } }
dispatchStatusUpdate(action)
})

@ -23,6 +23,7 @@ function Udapp ({ verticalIconsPlugin, itemContextAction, addActive, removeActiv
useEffect(() => {
verticalIconsPlugin.on('udapp', 'statusChanged', (iconStatus: IconStatus) => {
iconStatus.pluginName = 'udapp'
const action: IconBadgeReducerAction = { type: 'udapp', payload: { status: iconStatus, verticalIconPlugin: verticalIconsPlugin } }
dispatchStatusUpdate(action)
})

@ -31,12 +31,12 @@ function setIconStatus (name: string, status: IconStatus) {
thisType = 'danger' // to use with bootstrap
} else thisType = helper.checkSpecialChars(status.type) ? '' : status.type!
const title = helper.checkSpecialChars(status.title) ? '' : status.title
return { title, type: thisType, key, text }
const pluginName = status.pluginName
return { title, type: thisType, key, text, pluginName }
}
export function iconBadgeReducer (state: BadgeStatus, action: IconBadgeReducerAction) {
const { status, ref, verticalIconPlugin } = action.payload
console.log('badge contains ', { status })
if (Object.keys(verticalIconPlugin.targetProfileForChange).includes(action.type)) {
const setStatus = setIconStatus(action.type, status)
return setStatus

Loading…
Cancel
Save