Barista: フィルタフィヌルド2-芁件の収集

䜜成日 2020幎05月06日  Â·  21コメント  Â·  ゜ヌス: dynatrace-oss/barista

フィルタフィヌルドコンポヌネントの珟圚の実装には、過去に芁求されたいく぀かの機胜が欠けおいたすが、珟圚の状態にパッチを適甚するのは非垞に難しいため、フィルタフィヌルドの2番目のバヌゞョンを䜜成するずいうアむデアを怜蚎しおいたす。 フィルタフィヌルドの最初の実装を開始したずき、最初の実装が完了した埌に倚くの芁件が远加されたため、すべおを満たすのは非垞に困難でした。
このバヌゞョンでは、ラむブラリの消費者の期埅に応えるために、芁件リストを早期に䜜成したいず考えおいたす。
同様のシナリオを再び防ぐために特に培底したいので、参加しおこの議論に远加しおください。


情報源

フィルタフィヌルドのデヌタ゜ヌスに䜿甚可胜なフィルタを远加/蚭定する可胜性

䜿甚可胜なフィルタヌを定矩し、フィルタヌタむプ、その子、およびバリデヌタヌを簡単に定矩できる必芁がありたす。 v1の実装では、これは構成オブゞェクトずデヌタ゜ヌスを介しお行われたす。

利甚可胜なフィルタヌをデヌタ゜ヌスに非同期的に远加する可胜性

これは、ナヌザヌの入力に基づいおより倚くのデヌタをロヌドするための重芁な機胜です。 これは、オヌトコンプリヌトの状況でフィルタリングされる特別な単語から、特別なフィルタヌぞのパスたでさたざたです。 珟圚利甚可胜なフィルタヌを拡匵し、次のフィルタヌステップをロヌドするこずが可胜であるはずです。 868を参照

遞択したフィルタヌタグ

遞択されたフィルタヌは、キヌ、倀、およびタグの状態を反映する可胜性のあるいく぀かのメタデヌタで構成されたす。

タグのキヌず倀の衚瀺はカスタマむズ可胜である必芁がありたす

1113で抂説されおいるように、衚瀺されるkeyず、個々のタグ内に衚瀺される可胜性のあるvalueプロパティをカスタマむズするための芁件が​​ありたす。

遞択したフィルタヌは、プログラムで簡単に蚭定できる必芁がありたす

v1の実装では、フィルタヌはデヌタ゜ヌスの䞊䜍に枡された芁玠を参照するこずによっおのみ蚭定できたすが、これは非垞に面倒なようです。 473参照

https://github.com/dynatrace-oss/barista/blob/fa98ac150b6d324f5c3eaed990c6d6c5f155f318/libs/examples/src/filter-field/filter-field-programmatic-filters-example/filter-field-programmatic-filters-example.ts# L67 -L77

プログラムでタグの状態を簡単に倉曎できるはずです

珟圚蚭定されおいるフィルタヌの状態をeditable / disabled / read-onlyのいずれかに簡単に倉曎できるはずです。 珟圚の実装では、珟圚蚭定されおいるフィルタヌを取埗し、操䜜するむンスタンスを芋぀けおそこに倉曎を远加する必芁がありたす848を参照。

タグは線集可胜です

ナヌザヌがすでに蚭定されおいるフィルタヌに戻っおその倀を線集できるようにする必芁がありたす。

タグ間の論理コネクタ

定期的なリク゚ストは、論理コネクタ、぀たりNOT 、 AND 、およびORをタグのリストに远加するこずです。
これに぀いお蚀及しおくれおありがずう@subarroca 。

論理的なグルヌプ化

タグ間の論理コネクタの拡匵ずしお、 @ petrabrunnerは、論理的に接続されたタグは括匧内でグルヌプ化できる必芁があるこずにも蚀及したした。

独自性

フィルタヌがナヌザヌによっお䞀床遞択されおいる堎合は、䜿甚可胜なフィルタヌリストから䞀郚のフィルタヌを削陀する必芁がありたす。

フィルタタむプず拡匵機胜

フィルタのネスト

フィルタは、実際のキヌず倀のペアにフィルタをかけるための簡単なパスをナヌザヌに提䟛するために、ネスト可胜である必芁がありたす。 これは、v1の動䜜にかなりよく反映されおいたす。

セットから遞択オヌトコンプリヌト

これにより、ナヌザヌは提䟛されたフィルタヌから単䞀の倀を遞択できたす。 これは、最埌のフィルタヌが遞択されるたでネストできたす。぀たり、郜垂を遞択するず、ナヌザヌに次のフィルタヌオプションが衚瀺されたす。囜>州>地域>郜垂
これらのセットには個別のオプションを蚭定できたす。぀たり、個別のセットの1぀を遞択した堎合、同じセットから別のセットを遞択するこずはできたせん。 したがっお、セットはオプションずしお衚瀺されなくなりたす。

提案付きのフリヌテキスト

䞀郚のフィルタヌは、ナヌザヌが定矩したフリヌテキストを保持できる必芁がありたす。 珟圚の実装では、テキストを提䟛するオプションが提䟛されおいたす。 テキストがどのようにフィルタリングされるかはわかりたせん。 このタむプのフィルタヌにいく぀かのモヌド、぀たりstartWith 、 contains 、 exactMatchを远加するこずをお勧めしたす。 これにより、消費者はフィルタリングをもう少し制埡できるようになりたす。

範囲

v1実装では、範囲により、ナヌザヌは1぀たたは2぀の倀ず、次の挔算子の1぀を遞択できたす greater than 、 less than 、 equals 、たたはrange フィルタヌ凊理枈み倀は、最初に提䟛された倀ず2番目に提䟛された倀の間にある必芁がありたす。
範囲に入力されおいる各フィヌルドにデフォルト倀を指定できる必芁がありたす。
範囲を拡匵しお、より倧きい挔算子ずより小さい挔算子も蚱可するように芁求されおいたす。 さらに、範囲挔算子モヌドでは、各倀にgreater/lessたたはgreater/less thanを遞択する必芁がありたす。
範囲は拡匵ず芋なすこずもできたす。

耇数遞択

消費者が耇数遞択_タグからの遞択_セクションず同様を远加できるはずですが、単䞀遞択ではなく、耇数遞択蚭定がありたす。 @danielkaneiderが述べたように、これはフィルタヌフィヌルドの最初のモックにあり、オヌバヌレむのチェックボックスリストのように芋えたす。 参照問題1206
私の意芋では、これは拡匵機胜ず芋なすこずもできるものです。

カスタムセマンティック意味を持぀範囲

これも拡匵機胜ずしお構築されおいるず高く評䟡されおいたす。 䞀郚のナヌスケヌスは、数倀範囲ロゞックに埓わない範囲遞択をカバヌしおいたす぀たり、@ bmrozinskiによっお78で䞊げられたバヌゞョン番号範囲

フィルタの拡匵

消費者が独自のバヌゞョンのフィルタヌを簡単に提䟛し、ニヌズに合わせおオヌバヌレむをカスタマむズできるようにする必芁がありたす。 考慮すべきこずは、フィルタヌフィヌルドず拡匵機胜の間にむンタヌフェむスを䜜成するこずです。これにより、拡匵機胜ずフィルタヌフィヌルドの間に確実な通信が可胜になりたす。
これにより、消費者はフィルタヌフィヌルドを匷化し、ニヌズに合わせお調敎するための倚くの可胜性を開くこずができたす。

珟圚、拡匵機胜ファヌストパヌティたたはサヌドパヌティを介しお行われるず芋なされおいたす

  • 範囲
  • 意味的な意味を持぀範囲
  • 耇数遞択
  • デむトピッカヌ

怜蚌

送信された各フィルタヌは、枡されたバリデヌタヌ関数に察しお怜蚌できる必芁がありたす。 v1の実装では、これはfree-textタむプでのみ可胜でした。

入力フィルタリング

ナヌザヌがフィルタヌに入力たたは遞択しおいるずきに、䜿甚可胜なフィルタヌを衚瀺し、ナヌザヌの入力に基づいおフィルタヌ凊理する必芁がありたす。 v1実装はすでにこの動䜜を保持しおおり、これを維持したいず思いたす。

AngularForms統合のサポヌト

https://github.com/dynatrace-oss/barista/issues/951#issuecomment -631519841に基づいお、Angular Formsずの統合が実行可胜かどうかを調査する必芁がありたすフィルタヌフィヌルド倀は非垞に耇雑になる可胜性がありたす。 しかし、これは間違いなく調査すべきものです。

filter-field needs discussion

最も参考になるコメント

こんにちは

改善できる別の偎面、぀たりフィルタヌが䞭/長のテキスト入力をどのように凊理するかに぀いお、いく぀かのフィヌドバックを受け取りたした。

珟圚、りィゞェットは玄24〜25文字の入力「りィンドり」を衚瀺しおいるため、入力たたはコピヌしお貌り付けたテキストを確認するのは少し困難です。
たずえば、りィゞェットは、特に倧画面で、右偎の空き領域を拡匵しお利甚できたす。

Screenshot 2020-10-23 at 09 29 30

青いボックスは入力ボックスのサむズを匷調しおいたす。テキストの䟋は次のずおりです。_これは適床に長いテキストです_

党おのコメント21件

玠晎らしい人に芋えたす。 パむプラむンにはすでにいく぀かの芁件があり、それらに぀いお連絡したいず思いたす。 すでにここでカバヌされおいるようです

AND、OR、NOTを含めるように求められたした。
たた、あなたがすでに怜蚎しおいる障害者の状態

初期のモックでは、耇数の遞択肢が芖芚化されおいたした。 提案のリストを取埗しお遞択する代わりに、チェックボックスが前に付いおいるものを取埗したす。 したがっお、それらの倍数を遞択できたす。 これは、ANDフィルタヌのより単玔なバヌゞョンであり、同じフィルタヌ囜などを耇数回入力するよりも優れおいたす

AND、OR、NOTを含めるように求められたした。

これを提瀺しおくれた@subarrocaに感謝したす。これを、元の芁件リストに远加したした。

初期のモックでは、耇数の遞択肢が芖芚化されおいたした。 提案のリストを取埗しお遞択する代わりに、チェックボックスが前に付いおいるものを取埗したす。

これを提起しおくれた@danielkaneiderに感謝したす。 これを元の芁件リストに远加したした。

䞀郚のフィルタヌでは、タグなど、倧量の提案が存圚する堎合がありたす。 それらをN個の提案に制限し、ナヌザヌが入力しおいるずきに非同期にフェッチされる「入力を開始しお詳现を衚瀺する」を衚瀺するず䟿利です。これは䞀皮のサヌバヌ偎怜玢です。

たぶん、芁件に78を远加する䟡倀があるでしょう。

Filterfield v2での78の実装も期埅しおいたす。 範囲フィルタヌは、バヌゞョン番号1.194.0などのフィルタリングに関するナヌスケヌスに最適です。

Filterfield v2での78の実装も期埅しおいたす。

絶察。 リストに远加したした。 これらの倚くは実際には拡匵機胜ずしお構築されおいるず思いたすがバリスタラむブラリ自䜓によっお提䟛されおいないこずを意味したす、フィルタヌ間のむンタヌフェむスを定矩するために、拡匵機胜のこれらすべおのナヌスケヌスも存圚するのは良いこずです-フィヌルドv2ずカスタム拡匵機胜の方が優れおいたす。

@Argeathが説明したナヌスケヌスがあり、新しい問題ビュヌでフィルタリングするためのタグがたくさんありたす。 ナヌザヌがフィルタヌフィヌルドに入力したク゚リに䞀臎する、サヌバヌからのタグのサブセットのみを返したす。 たた、䞀臎する結果が倚すぎる可胜性があるため、これらの䞀臎する結果を制限する必芁がある堎合もありたす。 したがっお、「切り捚おられた」結果を瀺す方法も䟿利です。

こんにちは、あなたがフィルタヌフィヌルドにむメヌゞチェンゞを䞎えるこずを蚈画しおいるのを芋るのは玠晎らしいです;

私たちのナヌスケヌスは少し耇雑で、䞊蚘の提案がすでに完党にカバヌしおいるかどうかはわかりたせん。 filtertermを論理コネクタAND、OR、...でチェヌンできるようにしたいず思いたす。

fe
creator = userx ANDseverity = highORcreator = usery ANDseverity = lowのすべおを衚瀺

私たちは垞にそれを「jiraが問題をフィルタリングできる方法」ず呌んでいたす。
「1぀のフィルタヌタむプの耇数遞択」ずAND / ORステヌトメントはすでに芋たしたが、フィルタヌ甚語を角かっこたたはその他の方法で定矩し、それらを論理挔算子ず組み合わせるこずができたすか

@petrabrunner残念ながら、これはク゚リ蚀語パタヌンにたすたす䌌おいるため、特にフィルタヌフィヌルドのナヌスケヌスではないず思いたす。 ク゚リの皮類にもナヌスケヌスがありたすが、ク゚リ蚀語の機胜ずフィルタフィヌルドを混圚させないようにしたす。
あなたが瀺した䟋は、フ​​ィルタヌフィヌルドのコンテキストで機胜しおいるように芋えるかもしれたせんが、_ jiraで問題をフィルタヌ凊理する方法_を参照するず、これは非垞に速く耇雑になる可胜性がありたす。
TBH、フィルタヌフィヌルドの論理挔算子でさえ、おそらくこれたでの範囲です。 珟圚、私は人々がフィルタヌフィヌルドに䜕を期埅するかを理解しようずしおいたす。ここですべおが構築されるか、あるいは実珟可胜であるかどうかは、おそらく埌で議論するこずになるでしょう。

䞊蚘のリストに論理グルヌプを远加したすが、これは優先順䜍のリストのはるか䞋にある可胜性があるこずに泚意しおください。

@tomheller thx for thereply-tbh。 ロゞックが非垞に広範囲に及ぶため、私はすでにこれを期埅しおいたしたが、私たちのナヌスケヌスに぀いお話さなければ、あなたはそれに぀いお知らないのではないかず思いたした;

たた、オヌトコンプリヌトのデヌタをパヌシャルずしおロヌドする機胜も必芁になりたす。 たずえば、最初の100個のオプションをロヌドし、オプションを怜玢するずきに、フィルタリングされたオプションをサヌバヌからロヌドしたす。

珟圚の実装のPRはここで芋るこずができたす https //github.com/dynatrace-oss/barista/pull/1021

みなさん、こんにちは。優先床の高いものから䜎いものぞず䞊べ替えられた、いく぀かの請願もありたす。

  • 範囲フィルタヌタむプのデフォルトの最小倀ず最倧倀を蚭定する機胜。
  • 新しいフィルタヌタむプ日付ピッカヌ。

ありがずう

フィルタフィヌルドで角床のあるフォヌムをサポヌトするのは本圓にクヌルです;ので、消費者の芳点から管理する方が簡単です。 たぶんそれのためにFilterFormControlを公開するこずは助けになるでしょう

  interface FilterFormControl {
    field: string;
    value: FilterValue // any basically
    operator?: 'AND' | 'OR' | 'NOT'
    ...
  }  

`` `html
formControlName = "filter"
label = "Filter by"
aria-label = "フォヌムコントロヌルでフィルタリング"
clearAllLabel = "すべおクリア"

```ts
// comes from a saved config
initFilters = [{
  field: 'foo',
  value: 'bar'
}];
form: FormGroup({
  filter: new FormControl(initFilters)
});

こんにちは、
この機胜もあるず䟿利です。

デフォルトのカテゎリナヌザヌがチップを開始するず、このキヌが遞択されたす。 そうするこずで、ナヌザヌはキヌを遞択する必芁があるステップをスキップできたす。 次の画像では、その䟋を芋るこずができたす。「名前」は、フィルタリングするデフォルトのカテゎリです。

  1. フィルタがフォヌカスされおいたせん
    image
  2. フィルタに焊点を合わせたナヌザヌがそれをクリックした
    image
  3. ナヌザヌぞのチップ
    image
  4. ナヌザヌがチップを終える
    image
  5. ナヌザヌがEnterキヌを抌したす。
    image

こんにちはチヌム 私にも別の請願曞がありたす、これは定矩です

getTagsForFilterKeykeystring| DtFilterFieldTag [] | DtFilterFieldTagのキヌにkeyパラメヌタヌが含たれおいるすべおの䞀臎を含むDtFilterFieldTagの配列を返したす
-| -| -

TL; DR珟圚のgetTagForFilter関数の新しいバヌゞョンで、ニヌズをより適切に満たしたす。

Markus Heimbachず話し合ったように、圌は、最初に入力し、すべおのオプションが陀倖された堎合でも、このテキストをフリヌテキスト入力ずしお送信できる可胜性を远加するこずを提案したした。
぀たり、ルヌトレベルのオヌトコンプリヌトに加えおフリヌテキストです。

Markus Heimbachず話し合ったように、圌は、最初に入力し、すべおのオプションが陀倖された堎合でも、このテキストをフリヌテキスト入力ずしお送信できる可胜性を远加するこずを提案したした。
぀たり、ルヌトレベルのオヌトコンプリヌトに加えおフリヌテキストです。

しかし、基本的には、 @ SaraDavilaMendezがhttps://github.com/dynatrace-oss/barista/issues/951#issuecomment-686365435ですでに蚀及しおいるこずだず思いたす

Markus Heimbachず話し合ったように、圌は、最初に入力し、すべおのオプションが陀倖された堎合でも、このテキストをフリヌテキスト入力ずしお送信できる可胜性を远加するこずを提案したした。
぀たり、ルヌトレベルのオヌトコンプリヌトに加えおフリヌテキストです。

しかし、それは基本的に、 @ SaraDavilaMendezが951コメントですでに述べたこずだず思いたす

ありがずう。 このコメントを芋逃したした。

こんにちは

改善できる別の偎面、぀たりフィルタヌが䞭/長のテキスト入力をどのように凊理するかに぀いお、いく぀かのフィヌドバックを受け取りたした。

珟圚、りィゞェットは玄24〜25文字の入力「りィンドり」を衚瀺しおいるため、入力たたはコピヌしお貌り付けたテキストを確認するのは少し困難です。
たずえば、りィゞェットは、特に倧画面で、右偎の空き領域を拡匵しお利甚できたす。

Screenshot 2020-10-23 at 09 29 30

青いボックスは入力ボックスのサむズを匷調しおいたす。テキストの䟋は次のずおりです。_これは適床に長いテキストです_

APM-266067に移動

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡