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(() => { useEffect(() => {
verticalIconsPlugin.on('debugger', 'statusChanged', (iconStatus: IconStatus) => { verticalIconsPlugin.on('debugger', 'statusChanged', (iconStatus: IconStatus) => {
iconStatus.pluginName = 'debugger'
const action: IconBadgeReducerAction = { type: 'debugger', payload: { status: iconStatus, verticalIconPlugin: verticalIconsPlugin } } const action: IconBadgeReducerAction = { type: 'debugger', payload: { status: iconStatus, verticalIconPlugin: verticalIconsPlugin } }
dispatchStatusUpdate(action) dispatchStatusUpdate(action)
}) })

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

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

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

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

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

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

Loading…
Cancel
Save