loadSchema()

in src/components/QueryEditor.tsx [161:178]


  loadSchema(selectedStream: string) {
    from(this.props.datasource.getStreamSchema(selectedStream))
      .pipe(filter(Boolean), delay(500))
      .subscribe(schema => {
        const usedFields = getUsedFields(this.props.query.filters || [], this.props.query.selects || []);
        const fieldsByType = getAllListFields(schema?.types);
        const invalidFieldsMap: any = {};
        for (const usedField of usedFields) {
          invalidFieldsMap[usedField] = !fieldsByType.some((field) => field.value === usedField);
        }

        this.setState({
          ...this.state,
          schema,
          invalidFieldsMap
        });
      })
  }