code: def menuTriggered(self, action):
      name, source = action.data()
      if name is None:
          cmap = None
      elif source == "preset-gradient":
          cmap = preset_gradient_to_colormap(name)
      else:
          # colormap module maintains a cache keyed by name only.
          # thus if a colormap has the same name in two different sources,
          # we will end up getting whatever was already cached.
          cmap = colormap.get(name, source=source)
      self.setColorMap(cmap)
  
imports: import importlib.util
  import re
  import numpy
  from ..None import colormap
  from ..None import functions
  from ..graphicsItems.GradientPresets import Gradients
  from ..Qt import QtCore, QtGui, QtWidgets
label_desc: Use image node_id 8 for calling the ColorMapDisplayMixin obj's underlying member method code with example usage: obj.menuTriggered(action) without return types