feat(drag-drop): cdkConnectedTo finds all drop lists with the same ID, instead of only one
- Ngôn ngữ chính
- TypeScript
- Star
- 25k
- Fork
- 6.8k
- Merge trung bình
- 1 ngày 8 giờ
- Pull request đã merge (30 ngày)
- 91
Mô tả
#### Feature Description
`CdkDropList` has `id` and `cdkConnectedTo` input properties to allow specifying an id or array of ids for which the drop lists should be connected.
The `id` input property "needs" to be unique, or better put is "assumed" to be unique - meaning when searching through drop lists to connect to by id, only the first match is returned.
Can the "need" for unique ids be removed and change the connected drop list logic to return **all** drop lists with a matching id?
From the user's perspective:
- If I want a drop list to inherently be standalone, provide a unique id.
- If I want a drop list to inherently be connected to others, provide a shared id.
#### Use Case
Connecting drop lists created dynamically, possibly defined in separate template files and with arbitrary DOM relation, **without** the overhead of having to maintain a separate list of all drop lists that should be connected, and making sure this list is properly updated and propagated to each drop list via change detection.
Instead a statically defined (or could be dynamic) id for the `id` and `cdkConnectedTo` inputs will automatically connect all the drop lists without any further coordination from the user.
Similar to what @sroettering mentioned [here](https://github.com/angular/components/pull/13754#issuecomment-436694651), but I don't think a new input property is necessary.
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách xác định phần triển khai CdkDropList và các bài kiểm thử của nó, sau đó theo dõi cách id và cdkConnectedTo phân giải các danh sách thả được kết nối. Cập nhật hành vi để một id dùng chung phân giải tất cả các danh sách khớp, đồng thời xác minh rằng các id duy nhất vẫn độc lập trong khi các id dùng chung kết nối mọi danh sách khớp.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- angular, typescript
- Lĩnh vực
- frontend
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100