Comments (8)
Looks good. Please create a PR to the dev
branch and I'll review and merge when I get a chance.
Before you PR, could you run through the Test App scenarios just to double check that it doesn't cause any issues?
Thanks!
from between-kit.
Will do. I'll have to follow up on this over the next several days but I will run the tests.
from between-kit.
Made significant progress on this tonight. More to do than I thought but should have it solid for all Test app scenarios soon.
from between-kit.
See issues with #18
from between-kit.
Hi Steve and Craig, I'm currently using this library in one of my apps and looking forward to having this functionality. Is there anything I could assist with to help implement this?
from between-kit.
Hi @prbsparx, check out Craig's PR. If you want to move this issue along, it would be very helpful if you could review and try to resolve the issues that I've highlighted in the comments. I'd me happy to merge it into the next release if we can make it more stable. :)
from between-kit.
Proposing the following algorithm for coordination on drag stop, which should resolve this and #34:
- If data source says delete at this drop origin
- Delete
- Else if stop drag on collection && if drag stopped on same collection as origin && valid item at drop origin && data source says rearrangeable
- Rearrange
- Else if drag stopped on different collection
- If the data source says we can exchange the items at the given points in these collections && there is a valid item in the target collection
- Exchange
- Note that the coordinator assumes that if the data source says βyesβ but there is no valid item in the target collection, that the data source is wrong. Advantage here is that weβre safeguarding the user against violating integrity constraints
- Else if the data source says that we can append the item onto the target collection
- Append
- Note that here we don't check whether there isn't a valid item at the drop origin. This is because a user may want to configure drops across the whole of a collection to be appendations not exchanges. Appending items only if the drop origin allows and there is no item at that point in the collection is too opinionated.
- Else
- Reset
- If the data source says we can exchange the items at the given points in these collections && there is a valid item in the target collection
- Else
- Reset
from between-kit.
We need to change the render delegate protocol as well to offer methods for rendering both appendation and exchanging.
from between-kit.
Related Issues (20)
- CGPoint delegate options where possible
- Abstract away geometric conversion from the coordinator
- Scroll UICollectionView when dragging in progress HOT 2
- Fix link in README
- Mailing list
- Submit PRs to notable iOS community repos
- iOS 8.3, 8.4, 9.0 testing
- Dragging from collections in collectionview cells HOT 2
- Custom UICollectionViewFlowLayouts
- More detail in StackOverflow answers
- Use OCMock -invokeBlock and invokeBlockWithArguments
- Update copyright notices with correct dates
- Improve CocoaPods quality estimate HOT 1
- tvOS, watchOS integration?
- Functional tests
- Consider removing numbering scheme from Use Cases
- How to scroll UITableView while dragging UITableViewCell? HOT 3
- Get drag events while dragging. HOT 4
- Typo in Docs/Usage.md
- How to deactivate/activate dragging functionality?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from between-kit.