メインコンテンツまでスキップ

IMSearch Provider

プラットフォーム

  • ios
  • android

概要

ネストされたコンポーネント間で共通の検索モーダルを利用できるようにします。

依存関係

備考

Smartlimeは全てのProviderを包括しているため、Smartlimeが配置されている場合にはこの項目の内容は無視することができます。

IMSearchはIMOathに依存しています。
IMSearchを利用する場合は、常にIMOathと合わせて配置してください。

import { IMTenant, IMOAuth, IMSearch } from "@intra-mart/smartlime";
import { DefaultAuthScreen } from "@intra-mart/smartlime-ui";

const App = () => {
return (
<IMTenant
baseUrl={'https://example.org/imart'}
tenantId={'default'}
>
<IMOAuth
requestConfig={
clientId: 'exampleId',
clientSecret: 'exampleSecret',
scopes: ['exampleScope'],
redirectUri: 'exp://example.org:19000',
}
>
<DefaultAuthScreen>
<IMSearch>
</IMSearch>
</DefaultAuthScreen>
</IMOAuth>;
</IMTenant>
)
}
注意

IMSearch内部で利用されるアクセストークンはIMOAuthあるいはSmartlimeから取得されるため、これらのProviderが上位層に存在しない場合、IMSearchは常にエラーを返します。

Provider

このProviderはネストされたコンポーネントで検索の機能を利用できるようにします。

import { IMSearch } from "@intra-mart/smartlime";

const App = () => {
return (
<IMSearch>
{/* content */}
</IMSearch>;
)
}

Props

NameTypeRequired
SearchComponentConmponentyes
searchContextContextno

SearchComponent

検索モーダルが表示される際に呼び出されるコンポーネントを指定できます。
検索コンポーネントにはいくつかのpropsが渡されます。

Props

NameTypeRequired
searchTargetstringyes
searchTypestringyes
paramStringstring(json)yes
successfunctionyes
cancelfunctionyes
errorfunctionyes
searchTarget

検索の種別を表す文字列です。

ユーザ検索 > jp.co.intra_mart.master.search.user
組織検索 > jp.co.intra_mart.master.search.department
パブリックグループ検索 > jp.co.intra_mart.master.search.public_group
etc...
searchType

検索のタイプを表す文字列です。

  • 単一検索の場合
    • single
  • 複数検索の場合
    • multiple
paramString

検索についてのパラメータを含むjson文字列です。

success

検索が完了した場合に使用するFcuntionです。
successが実行されると検索モーダルが非表示になり、呼び出し元に検索が正常に完了した事が通知されます。

cancel

検索がキャンセルされた場合に使用するFcuntionです。
cancelが実行されると検索モーダルが非表示になり、呼び出し元に検索がキャンセルされた事が通知されます。

error

検索中にエラーが発生した場合に使用するFcuntionです。
errorが実行されると検索モーダルが非表示になり、呼び出し元に検索が異常終了した事が通知されます。

searchContext

context instanceを設定します。
このPropを設定した場合、ネストされたコンポーネント全てで同じcontextを利用しなければならない事に注意してください。
あなたがcontextについて詳しく知らない場合このオプションは利用するべきではありません。