code: func (d SelectAllBtnDef) findAll() (map[string]bool, error) {
  	query := d.getQuery()
  	if query == nil {
  		return nil, nil
  	}
  	authToken := d.Props().authToken
  	am, err := auth.TokenOrNone(authToken)
  	if err != nil {
  		return nil, fmt.Errorf("Error setting up auth: %v", err)
  	}
  	cl, err := client.New(client.OptionAuthMode(am))
  	if err != nil {
  		return nil, err
  	}
  	res, err := cl.Query(context.TODO(), query)
  	if err != nil {
  		return nil, err
  	}
  	blobs := make(map[string]bool, len(res.Blobs))
  	for _, v := range res.Blobs {
  		blobs[v.Blob.String()] = true
  	}
  	return blobs, nil
  }
docs: // findAll returns all the permanodes matching the current web UI search
  // session. The javascript UI code uses a javascript object with blobRefs as
  // properties to represent a user's selection of permanodes. Since gopherjs
  // converts a Go map to a javascript object, findAll returns such a map so it
  // matches directly what the UI code wants as a selection object.