Barista: Filterfield 2 - ์š”๊ตฌ ์‚ฌํ•ญ ์ˆ˜์ง‘

์— ๋งŒ๋“  2020๋…„ 05์›” 06์ผ  ยท  21์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: dynatrace-oss/barista

ํ•„ํ„ฐ ํ•„๋“œ ๊ตฌ์„ฑ ์š”์†Œ์˜ ํ˜„์žฌ ๊ตฌํ˜„์—๋Š” ๊ณผ๊ฑฐ์— ์š”์ฒญ๋œ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์ด ์—†์ง€๋งŒ ํ˜„์žฌ ์ƒํƒœ๋กœ ํŒจ์น˜ํ•˜๊ธฐ๊ฐ€ ์ •๋ง ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— ํ•„ํ„ฐ ํ•„๋“œ์˜ ๋‘ ๋ฒˆ์งธ ๋ฒ„์ „์„ ๋งŒ๋“œ๋Š” ์•„์ด๋””์–ด๋ฅผ ๊ฐ€์ง€๊ณ  ๋†€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„ํ„ฐ ํ•„๋“œ์˜ ์ฒซ ๋ฒˆ์งธ ๊ตฌํ˜„์„ ์‹œ์ž‘ํ•  ๋•Œ ์ดˆ๊ธฐ ๊ตฌํ˜„์ด ์™„๋ฃŒ๋œ ํ›„ ๋งŽ์€ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์ถ”๊ฐ€๋˜์–ด ๋ชจ๋“  ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค.
์ด ๋ฒ„์ „์—์„œ ์šฐ๋ฆฌ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๋น„์ž์˜ ๊ธฐ๋Œ€๋ฅผ ๋” ์ž˜ ์ถฉ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์š”๊ตฌ ์‚ฌํ•ญ ๋ชฉ๋ก์„ ์กฐ๊ธฐ์— ์ƒ์„ฑํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.
์œ ์‚ฌํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ๋‹ค์‹œ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ํŠนํžˆ ์ฒ ์ €ํ•˜๊ฒŒ ํ•˜๊ณ ์ž ํ•˜๋ฏ€๋กœ ์ฐธ์—ฌํ•˜์—ฌ ์ด ํ† ๋ก ์— ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.


๋ฐ์ดํ„ฐ ์†Œ์Šค

ํ•„ํ„ฐ ํ•„๋“œ์˜ ๋ฐ์ดํ„ฐ ์†Œ์Šค์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ•„ํ„ฐ๋ฅผ ์ถ”๊ฐ€/์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ•„ํ„ฐ๋ฅผ ์ •์˜ํ•˜๊ณ  ํ•„ํ„ฐ ์œ ํ˜•, ํ•˜์œ„ ํ•ญ๋ชฉ ๋ฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ธฐ๋ฅผ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ์ด ์‰ฌ์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค. 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 ๋™์ž‘์— ์ƒ๋‹นํžˆ ์ž˜ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

์„ธํŠธ์—์„œ ์„ ํƒ(์ž๋™ ์™„์„ฑ)

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์ œ๊ณต๋œ ํ•„ํ„ฐ์—์„œ ๋‹จ์ผ ๊ฐ’์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋งˆ์ง€๋ง‰ ํ•„ํ„ฐ๊ฐ€ ์„ ํƒ๋  ๋•Œ๊นŒ์ง€ ์ค‘์ฒฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋„์‹œ๋ฅผ ์„ ํƒํ•˜๋ฉด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ค์Œ ํ•„ํ„ฐ ์˜ต์…˜์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๊ตญ๊ฐ€ > ์ฃผ > ์ง€์—ญ > ๋„์‹œ
์ด๋Ÿฌํ•œ ์ง‘ํ•ฉ์—๋Š” ๊ณ ์œ ํ•œ ์˜ต์…˜์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๊ณ ์œ ํ•œ ์ง‘ํ•ฉ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์„ ํƒ๋˜๋ฉด ๋™์ผํ•œ ์ง‘ํ•ฉ์—์„œ ๋‹ค๋ฅธ ์ง‘ํ•ฉ์„ ์„ ํƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์„ธํŠธ๊ฐ€ ๋” ์ด์ƒ ์˜ต์…˜์œผ๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ œ์•ˆ์ด ํฌํ•จ๋œ ๋ฌด๋ฃŒ ํ…์ŠคํŠธ

์ผ๋ถ€ ํ•„ํ„ฐ๋Š” _๊ทธ๋ƒฅ_ ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ์ž์œ  ํ…์ŠคํŠธ๋ฅผ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ตฌํ˜„์€ ํ…์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ…์ŠคํŠธ๊ฐ€ ํ•„ํ„ฐ๋ง๋˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ํ‘œ์‹œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ํ•„ํ„ฐ์— ๋ช‡ ๊ฐ€์ง€ ๋ชจ๋“œ(์˜ˆ: startWith , contains , exactMatch )๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์†Œ๋น„์ž๊ฐ€ ํ•„ํ„ฐ๋ง์„ ์ข€ ๋” ์ž˜ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒ”์œ„

v1 ๊ตฌํ˜„์—์„œ ๋ฒ”์œ„๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ•˜๋‚˜ ๋˜๋Š” ๋‘ ๊ฐœ์˜ ๊ฐ’๊ณผ greater than , less than , equals ๋˜๋Š” range ์—ฐ์‚ฐ์ž ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ’์€ ์ฒซ ๋ฒˆ์งธ์™€ ๋‘ ๋ฒˆ์งธ ์ œ๊ณต๋œ ๊ฐ’ ์‚ฌ์ด์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋ฒ”์œ„์— ์ฑ„์›Œ์ง„ ๊ฐ ํ•„๋“œ์— ๋Œ€ํ•ด ๊ธฐ๋ณธ๊ฐ’์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๊ฐ™์Œ ๋ฐ ์ž‘์Œ ์—ฐ์‚ฐ์ž๋„ ํ—ˆ์šฉํ•˜๋„๋ก ๋ฒ”์œ„๋ฅผ ํ™•์žฅํ•˜๋ผ๋Š” ์š”์ฒญ์ด ์ด๋ฏธ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฒ”์œ„ ์—ฐ์‚ฐ์ž ๋ชจ๋“œ์—์„œ๋Š” ๊ฐ ๊ฐ’์ด greater/less ๋˜๋Š” greater/less than ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋„๋ก ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋ฒ”์œ„๋„ ํ™•์žฅ์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์ค‘ ์„ ํƒ

์†Œ๋น„์ž๊ฐ€ ๋‹ค์ค‘ ์„ ํƒ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(_select from a tag_ ์„น์…˜๊ณผ ์œ ์‚ฌ). ๊ทธ๋Ÿฌ๋‚˜ ๋‹จ์ผ ์„ ํƒ์ด ์•„๋‹ˆ๋ผ ๋‹ค์ค‘ ์„ ํƒ ์„ค์ •์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. @danielkaneider ๊ฐ€ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์ด๊ฒƒ์€ ํ•„ํ„ฐ ํ•„๋“œ์˜ ์ดˆ๊ธฐ ๋ชจํ˜•์— ์žˆ์—ˆ๊ณ  ์˜ค๋ฒ„๋ ˆ์ด์˜ ํ™•์ธ๋ž€ ๋ชฉ๋ก์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. (์ฐธ๊ณ ํ˜ธ #1206)
์ œ ์ƒ๊ฐ์—๋Š” ์ด๊ฒƒ์€ ๋˜ํ•œ ํ™•์žฅ์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ •์˜ ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ๋ฒ”์œ„

์ด ์—ญ์‹œ ํ™•์žฅํŒฉ์œผ๋กœ ๊ตฌ์ถ•๋œ ๊ฒƒ์œผ๋กœ ํ‰๊ฐ€๋œ๋‹ค. ์ผ๋ถ€ ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ์ˆซ์ž ๋ฒ”์œ„ ๋…ผ๋ฆฌ๋ฅผ ๋”ฐ๋ฅด์ง€ ์•Š๋Š” ๋ฒ”์œ„ ์„ ํƒ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: @bmrozinski๊ฐ€ #78์—์„œ ์ œ๊ธฐํ•œ ๋ฒ„์ „ ๋ฒˆํ˜ธ ๋ฒ”์œ„ ).

ํ•„ํ„ฐ ํ™•์žฅ

์†Œ๋น„์ž๊ฐ€ ์ž์‹ ์˜ ํ•„ํ„ฐ ๋ฒ„์ „์„ ์‰ฝ๊ฒŒ ์ œ๊ณตํ•˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ์˜ค๋ฒ„๋ ˆ์ด๋ฅผ ์‚ฌ์šฉ์ž ์ •์˜ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ์€ ํ•„ํ„ฐ ํ•„๋“œ์™€ ํ™•์žฅ ์‚ฌ์ด์— ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํ™•์žฅ๊ณผ ํ•„ํ„ฐ ํ•„๋“œ ๊ฐ„์˜ ๊ฒฌ๊ณ ํ•œ ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์งˆ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ ์†Œ๋น„์ž์—๊ฒŒ ํ•„ํ„ฐ ํ•„๋“œ๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ํ•„์š”์— ๋งž๊ฒŒ ๋‹ค๋“ฌ์„ ์ˆ˜ ์žˆ๋Š” ๋งŽ์€ ๊ฐ€๋Šฅ์„ฑ์„ ์—ด์–ด์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ ํ™•์žฅ(์ž์‚ฌ ๋˜๋Š” ์ œ3์ž)์„ ํ†ตํ•ด ์ˆ˜ํ–‰๋˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋จ:

  • ๋ฒ”์œ„
  • ์˜๋ฏธ๋ก ์  ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ๋ฒ”์œ„
  • ๋‹ค์ค‘ ์„ ํƒ
  • ๋‚ ์งœ ์„ ํƒ๊ธฐ

ํ™•์ธ

์ œ์ถœ๋œ ๊ฐ ํ•„ํ„ฐ๋Š” ์ „๋‹ฌ๋œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ธฐ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ๋‹ค์‹œ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. v1 ๊ตฌํ˜„์—์„œ๋Š” free-text ์œ ํ˜•์—๋งŒ ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค.

์ž…๋ ฅ ํ•„ํ„ฐ๋ง

์‚ฌ์šฉ์ž๊ฐ€ ํ•„ํ„ฐ๋ฅผ ์ฑ„์šฐ๊ฑฐ๋‚˜ ์„ ํƒํ•˜๋Š” ๊ณผ์ •์— ์žˆ์„ ๋•Œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ•„ํ„ฐ๊ฐ€ ํ‘œ์‹œ๋˜๊ณ  ์‚ฌ์šฉ์ž ์ž…๋ ฅ์— ๋”ฐ๋ผ ํ•„ํ„ฐ๋ง๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. v1 ๊ตฌํ˜„์€ ์ด๋ฏธ ์ด ๋™์ž‘์„ ์œ ์ง€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ์œ ์ง€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

Angular Forms ํ†ตํ•ฉ ์ง€์›

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 ๊ฐ€ ์„ค๋ช…ํ•œ ๊ฒƒ๊ณผ ์ •ํ™•ํžˆ ๊ฐ™์€ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํ•„ํ„ฐ ํ•„๋“œ์— ์ž…๋ ฅํ•œ ์ฟผ๋ฆฌ์™€ ์ผ์น˜ํ•˜๋Š” ํƒœ๊ทธ์˜ ํ•˜์œ„ ์ง‘ํ•ฉ๋งŒ ์„œ๋ฒ„์—์„œ ๋ฐ˜ํ™˜ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ผ์น˜ํ•˜๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ•ด๋‹น ๊ฒฐ๊ณผ๋ฅผ ์ œํ•œํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ "์ž˜๋ฆฐ" ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•๋„ ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, ํ•„ํ„ฐํ•„๋“œ๋ฅผ ๊ฐœ์กฐํ•  ๊ณ„ํš์„ ํ•˜๊ณ  ๊ณ„์‹œ๋‹ค๋‹ˆ ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค ;)

์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ์•ฝ๊ฐ„ ๋ณต์žกํ•˜๋ฉฐ ์œ„์˜ ์ œ์•ˆ ์‚ฌํ•ญ์ด ์ด๋ฏธ ์™„์ „ํžˆ ๋‹ค๋ฃจ๊ณ  ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋…ผ๋ฆฌ์  ์ปค๋„ฅํ„ฐ(AND, OR,...)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•„ํ„ฐ ์šฉ์–ด๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

ํŽ˜:
(creator=userx AND ์‹ฌ๊ฐ๋„=๋†’์Œ) ๋˜๋Š” (creator=userx AND ์‹ฌ๊ฐ๋„=๋‚ฎ์Œ)์— ๋Œ€ํ•ด ๋ชจ๋‘ ํ‘œ์‹œ

์šฐ๋ฆฌ๋Š” ํ•ญ์ƒ ์ด๊ฒƒ์„ "jira๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•"์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.
๋‚˜๋Š” ์ด๋ฏธ "ํ•˜๋‚˜์˜ ํ•„ํ„ฐ ์œ ํ˜•์— ๋Œ€ํ•œ ๋‹ค์ค‘ ์„ ํƒ" ๋ฐ AND/OR ๋ฌธ์„ ๋ณด์•˜์ง€๋งŒ ๋Œ€๊ด„ํ˜ธ(๋˜๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•)๋กœ ํ•„ํ„ฐ ์šฉ์–ด๋ฅผ ์ •์˜ํ•˜๊ณ  ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž์™€ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@petrabrunner ๋ถˆํ–‰ํžˆ๋„ ์ด๊ฒƒ์ด ํŠนํžˆ ํ•„ํ„ฐ ํ•„๋“œ์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ ์  ๋” ์ฟผ๋ฆฌ ์–ธ์–ด ํŒจํ„ด๊ณผ ์œ ์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ์ฟผ๋ฆฌ ์œ ํ˜•์—๋„ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์žˆ์ง€๋งŒ ์ฟผ๋ฆฌ ์–ธ์–ด ๊ธฐ๋Šฅ์„ ํ•„ํ„ฐ ํ•„๋“œ์™€ ํ˜ผํ•ฉํ•˜์ง€ ์•Š์œผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
๊ท€ํ•˜๊ฐ€ ์ œ๊ณตํ•œ ์˜ˆ์ œ๋Š” ํ•„ํ„ฐ ํ•„๋“œ ์ปจํ…์ŠคํŠธ์—์„œ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ์ง€๋งŒ _jira๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐฉ์‹_์„ ์ฐธ์กฐํ•˜๋ฉด ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
TBH, ํ•„ํ„ฐ ํ•„๋“œ์˜ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž์กฐ์ฐจ๋„ ์•„๋งˆ๋„ ์ด๊ฒƒ์— ๋Œ€ํ•œ ํ™•์žฅ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์ €๋Š” ์‚ฌ๋žŒ๋“ค์ด ํ•„ํ„ฐ ํ•„๋“œ์—์„œ ๋ฌด์—‡์„ ๊ธฐ๋Œ€ํ•˜๋Š”์ง€ ์•Œ์•„๋‚ด๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๊ตฌ์ถ•๋˜๊ฑฐ๋‚˜ ์‹คํ˜„ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ๋‚˜์ค‘์— ๋…ผ์˜ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์œ„์˜ ๋ชฉ๋ก์— ๋…ผ๋ฆฌ์  ๊ทธ๋ฃนํ™”๋ฅผ ์ถ”๊ฐ€ํ•  ๊ฒƒ์ด์ง€๋งŒ ์ด๊ฒƒ์ด ์šฐ์„  ์ˆœ์œ„ ๋ชฉ๋ก์—์„œ ํ›จ์”ฌ ์•„๋ž˜์— ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค.

@tomheller thx ํšŒ์‹  - 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="ํ•„ํ„ฐ"
label="ํ•„ํ„ฐ๋ง ๊ธฐ์ค€"
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(ํ‚ค: ๋ฌธ์ž์—ด) | DtFilterFieldTag[] | DtFilterFieldTag ์˜ ํ‚ค์— key ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํฌํ•จ๋œ ๋ชจ๋“  ์ผ์น˜ ํ•ญ๋ชฉ๊ณผ ํ•จ๊ป˜ DtFilterFieldTag์˜ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
-- | -- | --

์š”์•ฝ: ํ˜„์žฌ 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 ๋“ฑ๊ธ‰