2017-08-14 2 views
0

私は、グループごとに名前とIDで構成される「グループ」のセットを取得するためのRESTエンドポイントを持っています。私はそれを管理者の上でのリソースとして成功裏に実装しました。Admin-on-rest:異なるデータに基づくフィルタ

ユーザーを取得するためのもう1つのRESTエンドポイントがありますが、全ユーザーではなく特定のグループのユーザーしか取得できません。 RESTエンドポイントでは、URLの一部としてグループIDを指定する必要があります。しかし、ユーザーオブジェクトにはgroupIdがありません。なぜなら、参照は逆にグループ - >ユーザーだからです。

私が望むのは、ユーザーのリストビューのフィルタードロップダウンにグループの「名前」を表示し、グループの「ID」を使用して残りのクライアントに渡して、それぞれのユーザーを読み込む方法です。

は、私はすでに次のように私のrestclientに呼び出しを実装している:今

const UsersFilter = ({ ...props }) => (
    <Filter {...props}> 
     <ReferenceInput source="id" reference="groups"> 
      <SelectInput optionText="name" /> 
     </ReferenceInput> 
    </Filter> 
); 

case 'users': { 
     switch(type) { 
      case 'GET_LIST': { 
       return getUsers(token, params.filter.id) 
        .then(response => ({ data: response.data, total: response.data.length })); 
      } 
     } 
     break; 
    } 
をそして、私のユーザーのリストビューでコンポーネントをリソース、私はこのようなフィルタを実装していますこれは機能しません。フィルタでは、私は 'Id'という1つのエントリしかなく、 "id == undefined"のtargetusergroupが見つからないというエラーメッセージが表示されます。

どうすればよいですか?

答えて

0

申し訳ありませんが、

それは実際に仕事をしましたが、私は、ユーザーインターフェイスを使用するにはあまりにも愚かでした。フィルターを使用する前にまずフィルターを選択する必要があることはわかりませんでした。また、グループフィルタにラベルを付けるのを忘れてしまったので、フィルタメニューの「id」だけが表示されます。

これで機能します。

関連する問題