code: def update(self):
          
          if not self._queue:
              return
  
          dim, widget_type, attr, old, new = self._queue[-1]
          self._queue = []
          dim_label = dim.pprint_label
  
          label, widget = self.widgets[dim_label]
          if widget_type == 'label':
              if isinstance(label, AutocompleteInput):
                  value = [new]
                  widget.value = value
              else:
                  widget.value = float(new)
          elif label:
              lookups = self.lookups.get(dim_label)
              if not self.editable:
                  if lookups:
                      new = lookups[widget.value][1]
                  label.text = '<b>%s</b>' % dim.pprint_value_string(new)
              elif isinstance(label, AutocompleteInput):
                  text = lookups[new][1]
                  label.value = text
              else:
                  label.value = dim.pprint_value(new)
  
          key = []
          for dim, (label, widget) in self.widgets.items():
              lookups = self.lookups.get(dim)
              if label and lookups:
                  val = lookups[widget.value][0]
              else:
                  val = widget.value
              key.append(val)
          key = wrap_tuple_streams(tuple(key), self.plot.dimensions,
                                   self.plot.streams)
          self.plot.update(key)
          self._active = False
docs: Handle update events on bokeh server.