vitess.io/vitess@v0.16.2/web/vtadmin/src/components/routes/keyspace/KeyspaceVSchema.tsx (about)

     1  /**
     2   * Copyright 2022 The Vitess Authors.
     3   *
     4   * Licensed under the Apache License, Version 2.0 (the "License");
     5   * you may not use this file except in compliance with the License.
     6   * You may obtain a copy of the License at
     7   *
     8   *     http://www.apache.org/licenses/LICENSE-2.0
     9   *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   * See the License for the specific language governing permissions and
    14   * limitations under the License.
    15   */
    16  
    17  import { useVSchema } from '../../../hooks/api';
    18  import { Code } from '../../Code';
    19  import { QueryErrorPlaceholder } from '../../placeholders/QueryErrorPlaceholder';
    20  import { QueryLoadingPlaceholder } from '../../placeholders/QueryLoadingPlaceholder';
    21  
    22  interface Props {
    23      clusterID: string;
    24      name: string;
    25  }
    26  
    27  export const KeyspaceVSchema = ({ clusterID, name }: Props) => {
    28      const query = useVSchema({ clusterID, keyspace: name });
    29      return (
    30          <div>
    31              <QueryLoadingPlaceholder query={query} />
    32              <QueryErrorPlaceholder query={query} title="Couldn't load VSchema" />
    33              {query.isSuccess && <Code code={JSON.stringify(query.data, null, 2)} />}
    34          </div>
    35      );
    36  };