Enterprise: λ“œλ‘­λ‹€μš΄/닀쀑 선택: Select μš”μ†Œκ°€ μ•„λ‹Œ 데이터 μ†ŒμŠ€ 개체λ₯Ό μ‚¬μš©ν•˜λ„λ‘ λ¦¬νŒ©ν„°λ§

에 λ§Œλ“  2018λ…„ 10μ›” 05일  Β·  4μ½”λ©˜νŠΈ  Β·  좜처: infor-design/enterprise

μ°Έκ³ : 이 λ¬Έμ œλŠ” #843(및 기타)μ—μ„œ μ‹λ³„λœ 일뢀 μ„±λŠ₯ 문제λ₯Ό 잠재적으둜 ν•΄κ²°ν•©λ‹ˆλ‹€.

κΈ°λŠ₯ μš”μ²­μ΄ λ¬Έμ œμ™€ κ΄€λ ¨λ˜μ–΄ μžˆμŠ΅λ‹ˆκΉŒ?
IDS와 ν•¨κ»˜ μ œκ³΅λ˜λŠ” ν˜„μž¬ λ“œλ‘­λ‹€μš΄/닀쀑 선택은 ν‘œμ€€ HTML <select> μš”μ†Œ μœ„μ— μƒν˜Έ μž‘μš© λ ˆμ΄μ–΄λ‘œ μƒμ„±λ˜μ–΄ 단일/닀쀑 μ„€μ •μ—μ„œ μ˜΅μ…˜ 선택을 μ²˜λ¦¬ν•©λ‹ˆλ‹€.

이 ꡬ성 μš”μ†Œμ˜ μ‚¬μš© μ‚¬λ‘€λŠ” μ‚¬μš© κ°€λŠ₯ν•œ μ˜΅μ…˜μ˜ 필터링을 ν¬ν•¨ν•˜λ„λ‘ μ‹œκ°„μ΄ 지남에 따라 μ¦κ°€ν•˜μ—¬ νŒ€μ΄ 맀우 큰 데이터 μ„ΈνŠΈ(κ²½μš°μ— 따라 ν•œ λ²ˆμ— 2000개 μ΄μƒμ˜ ν•­λͺ©μ„ 초과)에 λŒ€ν•΄ λ“œλ‘­λ‹€μš΄/닀쀑 선택을 μ‚¬μš©ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 우리 νŒ€μ€ μ΄λ ‡κ²Œ 큰 데이터 μ„ΈνŠΈμ— λŒ€ν•΄ 이 ꡬ성 μš”μ†Œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ΄λŸ¬ν•œ μˆ˜μ€€μ—μ„œ μ„±λŠ₯을 ν•΄κ²°ν•΄μ•Ό ν•œλ‹€λŠ” λ¬Έμ œκ°€ 계속 λ°œμƒν•©λ‹ˆλ‹€. μˆ˜μ •ν•œ 이전 λ¬Έμ œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

μ΄λŸ¬ν•œ 문제 쀑 λ§Žμ€ 뢀뢄이 "아직 μ’‹μ§€λŠ” μ•Šμ§€λ§Œ 더 μ’‹μŠ΅λ‹ˆλ‹€"λΌλŠ” κ²½κ³ λ₯Ό λ‚¨κΉλ‹ˆλ‹€. κ·Έ μ΄μœ λŠ” 핡심에 μžˆλŠ” Dropdown/Multiselect의 λ””μžμΈμ΄ μ΄λ ‡κ²Œ 큰 데이터 μ„ΈνŠΈμ— μ ν•©ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. μ„±λŠ₯ 문제λ₯Ό ν•΄κ²°ν•˜λ €λ©΄ μ„€κ³„μ˜ κΈ°λ³Έ 사항을 ν•΄κ²°ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ›ν•˜λŠ” μ†”λ£¨μ…˜ μ„€λͺ…
Dropdown/Multiselect의 μ„±λŠ₯을 μˆ˜μ •ν•˜κΈ° μœ„ν•œ κ°€λŠ₯ν•œ μ†”λ£¨μ…˜ 경둜:

  • [ ] <select> λ₯Ό κΈ°λ³Έ 데이터 μ†ŒμŠ€λ‘œ μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” κΉŒλ‹€λ‘œμš΄ μš”κ΅¬ μ‚¬ν•­μž…λ‹ˆλ‹€. #267의 졜근 κ°œμ„  사항은 AJAX 호좜이 ν΄λΌμ΄μ–ΈνŠΈμ— μ €μž₯ν•  수 μžˆλŠ” λ“œλ‘­λ‹€μš΄μ— λŒ€ν•œ 데이터 개체λ₯Ό μƒμ„±ν•˜λŠ” 방법을 λ§€ν•‘ν•˜κΈ° μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€. DOM μš”μ†Œμ—μ„œ 이 정보λ₯Ό κ°€μ Έμ˜€λŠ” λŒ€μ‹  ꡬ성 μš”μ†Œ λ™μž‘μ˜ κΈ°λ³Έ λ“œλΌμ΄λ²„λ‘œ λͺ‡ 가지 κ°„λ‹¨ν•œ μƒνƒœ(λΉ„ν™œμ„±ν™”/선택됨/λ“±)λ₯Ό 가진 개체λ₯Ό μ‚¬μš©ν•˜λŠ” λ°©ν–₯으둜 λ‚˜μ•„κ°€μ•Ό ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. <select> νƒœκ·Έ 및 ν•΄λ‹Ή <option> 의 λ Œλ”λ§μ€ 양식 제좜과 같은 μž‘μ—…μ— μ—¬μ „νžˆ ν•„μš”ν•˜μ§€λ§Œ 데이터 개체λ₯Ό "μ§„μ‹€μ˜ μ†ŒμŠ€"둜 μ •μ˜ν•˜κ³  선택 νƒœκ·Έλ₯Ό κ·Έλ €μ•Ό ν•©λ‹ˆλ‹€. 객체λ₯Ό 기반으둜 ν•©λ‹ˆλ‹€(λ°˜λŒ€ μ•„λ‹˜).
  • [ ] λ˜ν•œ <select> νƒœκ·Έμ— μ–΄λ–€ μ˜λ―Έλ‘œλ“  λ Œλ”λ§/쒅속성이 μ—†λŠ”μ§€ μ‚΄νŽ΄λ³΄μ‹­μ‹œμ˜€. κ°œλ°œμžκ°€ 이 λ§Žμ€ ν•­λͺ©κ³Ό ν•¨κ»˜ λ“œλ‘­λ‹€μš΄/닀쀑 선택을 ν™œμš©ν•˜μ—¬ 양식 제좜 μš”μ²­μ„ λ‹¨μˆœνžˆ κ°€λ‘œμ±„κ³  일반 양식 제좜 ν”„λ‘œμ„ΈμŠ€μ— μ˜μ‘΄ν•˜λŠ” λŒ€μ‹  데이터 μ†ŒμŠ€ 개체의 μƒνƒœλ₯Ό λ³΄λ‚΄λŠ” 것이 합리적인 μ‚¬μš© 사둀일 수 μžˆμŠ΅λ‹ˆλ‹€. ν˜„μž¬ μ΄λŸ¬ν•œ μœ ν˜•μ˜ μ‚¬μš©μ€ λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.
  • [ ] DOM μš”μ†Œμ— 더 이상 μ˜μ‘΄ν•˜μ§€ μ•ŠμœΌλ©΄ 주어진 μ‹œκ°„μ— DOM에 μžˆλŠ” λͺ©λ‘ ν•­λͺ©μ˜ ν•˜μœ„ μ§‘ν•©λ§Œ ν‘œμ‹œν•˜λŠ” 탐색을 μ‹œμž‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μƒνƒœκ°€ 데이터 μ†ŒμŠ€ 객체에 μ˜ν•΄ μœ μ§€λ˜κΈ° λ•Œλ¬Έμ— DOM은 λ°˜λ“œμ‹œ μ€‘μš”ν•˜μ§€ μ•ŠμœΌλ©° μ‚¬μš©μžκ°€ λͺ©λ‘μ„ μŠ€ν¬λ‘€ν•  λ•Œ μ†ŒλŸ‰μ˜ λͺ©λ‘ ν•­λͺ©μ„ λ‘œλ“œ/μ–Έλ‘œλ“œν•˜λŠ” 것이 훨씬 더 간단해야 ν•©λ‹ˆλ‹€. μ“°λŸ¬μ§€ λ‹€).
  • [ ] λŒ€μš©λŸ‰ 데이터 μ„ΈνŠΈμ˜ μ„œλ²„ μΈ‘ μ²˜λ¦¬μ— λŒ€ν•œ 더 λ‚˜μ€ ꢌμž₯ 사항을 λ§Œλ“­λ‹ˆλ‹€. λ§Žμ€ λ ˆμ½”λ“œκ°€ μžˆλŠ” ν΄λΌμ΄μ–ΈνŠΈ μΈ‘ κ°œμ²΄μ—μ„œ μƒνƒœλ₯Ό μœ μ§€ν•˜λŠ” 것쑰차 κ²°κ΅­μ—λŠ” 맀우 느렀질 수 μžˆμŠ΅λ‹ˆλ‹€. IDS κ΅¬ν˜„μ΄ μ„œλ²„μ—μ„œ λ“œλ‘­λ‹€μš΄/닀쀑 선택 λ ˆμ½”λ“œλ₯Ό μ²˜λ¦¬ν•˜λŠ” 방법에 λŒ€ν•œ ꢌμž₯ 사항 및/λ˜λŠ” 일뢀 데λͺ¨κ°€ ν•„μš”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κ³ λ €ν•œ λŒ€μ•ˆμ„ κΈ°μˆ ν•˜μ‹­μ‹œμ˜€
μš°λ¦¬κ°€ 과거에 λ– μ˜€λ₯Έ λͺ‡ 가지 λ‹€λ₯Έ 아이디어:

  • μƒν˜Έ μž‘μš©μ„ μœ„ν•œ μ˜μ‚¬ λ§ˆν¬μ—…μ„ μƒμ„±ν•˜λŠ” λŒ€μ‹  <select> νƒœκ·Έλ₯Ό μ˜€λ²„λ ˆμ΄ν•˜κ³  μŠ€νƒ€μΌμ„ μ§€μ •ν•˜λŠ” 더 κ°„λ‹¨ν•œ ꡬ성 μš”μ†Œμž…λ‹ˆλ‹€. 이것은 μ€‘λ³΅λ˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 더 큰 λͺ©λ‘μ„ 더 잘 μ²˜λ¦¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이 경우 μ—¬μ „νžˆ 2000ish μš”μ†Œλ₯Ό ν•œ λ²ˆμ— μ²˜λ¦¬ν•΄μ•Ό ν•©λ‹ˆλ‹€.
[∞] dropdown type type

λͺ¨λ“  4 λŒ“κΈ€

λ˜ν•œ 일반적인 가상 슀크둀 κΈ°λŠ₯을 κ΅¬ν˜„ν•˜κ³  μ—¬λŸ¬ ꡬ성 μš”μ†Œμ— μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. https://github.com/infor-design/enterprise/issues/460

@tmcconechy <select> νƒœκ·Έμ— λŒ€ν•œ 쒅속성을 μ œκ±°ν•˜λ©΄ 훨씬 더 μ‰½κ²Œ λ°œμƒν•˜λŠ” 것을 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.

그듀이 μ‹ κ²½ μ“°λŠ” 것은 μ„ νƒλœ μš”μ†ŒλΏμž…λ‹ˆλ‹€. κ·Έλž˜μ„œ dom은 μ„ νƒλœ μš”μ†Œλ§Œ ν¬ν•¨ν•˜λŠ” 선택을 ν¬ν•¨ν•˜κ³  두 경우 λͺ¨λ‘λ₯Ό λ§Œμ‘±μ‹œν‚¬ 수 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

https://github.com/infor-design/enterprise/issues/1463 을 μœ„ν•΄ 이것을 λ‹«μŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰