User Management(ryuichi-e, akira-s, kaori-t)
タスク 作成
-
フィルタリングに必要なコントロールを表示できる (GW-1173 external_link)
- checkboxでAdminUserContainerを講読して変更して通知する。
- All以外をcheckした時、Allをuncheck。
- ステータス一つだけがcheckされていた場合、もう一度同じところをクリックするとuncheckされない。
- allをcheckしたら他をuncheck
- 1~4のタスクを終えた後、マネジメント後に通知するように変更
- Checkしたステータス情報を配列として
"/search-user-status/"
に送る
- Checkしたステータス情報を配列として
-
ステータス用コントロールの変更でフィルタリングができる (GW-1078 external_link)
- routeのパスを適切な名前に変えて、mongooseで送るuser情報の追加
- →
"/search-user-status/"
に変えました!
- →
- AdminUsersContainer.jsにて
- client側で送られたステータスがAllとそれ以外だった場合のvalidationを行う
- routeのパスを適切な名前に変えて、mongooseで送るuser情報の追加
-
インクリメンタルサーチができる(GW-1079 external_link)
- インクリメンタルサーチ用のInputの作成と文字一文字でも入力された場合、取り消しボタンを表示させる。
- 取り消しボタンをクリックしたら、Inputの値を空にする。
- Inputの値を
"/search-user-status/"
に送る - mongoDBを使って部分一致でUser情報のリストを返す機能を追加
-
フィードでソートできる(GW-1080 external_link)
- テーブルのコラムの横にソートの矢印を入れる
- 文字数が小さい順 (昇順)
- 文字数が大きい順 (降順)
- 最後にクリックしたソートicon(矢印)の値を[ 順, コラム名 ]としてserver側に送らなければない
- つまり、送る値最後にクリックしたは一つだけ。
- sortColumn
- [順番, コラム名]
- 全パターン
- [sortOrder: asc, sort: status]
- [sortOrder: asc, sort: username]
- [sortOrder: asc, sort: name]
- [sortOrder: asc, sort: email]
- [sortOrder: asc, sort: createdAt]
- [sortOrder: desc, sort: status]
- [sortOrder: desc, sort: username]
- [sortOrder: desc, sort: name]
- [sortOrder: desc, sort: email]
- [sortOrder: desc, sort: createdAt]
- 全パターン
- [順番, コラム名]
- ソートの情報を
"/search-user-status/"
に送る - mongoDBを使ってソートの値を受け取り、ユーザー情報の順番かえる機能を追加
- テーブルのコラムの横にソートの矢印を入れる
-
リセットボタンですべての条件を破棄し、すべてのデータを表示する(GW-1087 external_link)
- 必要なし?
- Allのcheck box をtrueにしたら、他ステータスのcheck boxがfalseになるため。
- Inputに一文字でも入力された場合、取り消しボタンを押せばInputが空欄になるため。
- 必要なし?
User Managemnetに関してのUML
@startuml skinparam monochrome reverse
title UserManagement のシーケンス図
participant "色んなコントロール達 component(jsx)" as A note left: サービスインスタンス participant "Client AdminUserContainer (js)" as B participant "route apiv3/users.js/search-user-status" as C
A -> B:
B -> B: コントロールの状態を見てクエリObjectを変える
B -> C: /search
C -> C: mongoose package
C --> B: UserのList
B -> B: See State (...)
@enduml
@startuml skinparam monochrome reverse
title UserManagement のユースケース図
usecase UC1 as " ..前提(現在の実装を使う).. Deleted ステータス以外のUserの1ページ目が表示されている
1. ユーザーがコントロール値を変えたとき 2. server/apiv3/users.js/search-user-status
2.1. Database上の該当Statusのデータ(UserのList)をget 2.2. テーブルに表示すべきデータをjsonとして返す
3.テーブルに当てはめる "
@enduml
豆知識
インクリメンタルサーチ (Incremental Search)
- インクリメンタルサーチは検索したい単語をすべて入力した上で検索するのではなく、入力のたびごとに即座に候補を表示させる。
- 挙動
- インクリメンタルサーチの挙動を以下に例示する。
- 検索文字列:検索に失敗した
- 検索対象:検索の動作検証のため検査員が点検を行ったところ、検索に失敗した。
- 一文字目:検
- 検索結果:検索の動作検証のため検査員が点検を行ったところ、検索に失敗した
- 二文字目:検索
- 検索結果:検索の動作検証のため検査員が点検を行ったところ、検索に失敗した。
- 三文字目:検索に
- 検索結果:検索の動作検証のため検査員が点検を行ったところ、検索に失敗した。
- インクリメンタルサーチの挙動を以下に例示する。
ソート (Sort)
- ソートは小さい順、大きい順、アルファベット順など、特定のルールに従って、データを並べること
- 何らかの規則に従ってデータを並べるのが「ソート(sort)」