AngularJS noob here with a design question.

I have 2 lists... one is a list of items for a specific group. Let's call 
the group "My Items". The 2nd list is a master list of all the items 
available - "Available Items". 

This 2nd list can be changed out for other lists. So you might have 
"Available Items of Type 1" and "Available Items of Type 2" etc...

I show the "Available Items" on the left and the "My Items" on the right.

If you visualize a shopping cart system where the available items are on 
left and you are moving them into your "cart", that's a good way to 
visualize this.

$scope.myItems = [] 
and
$scope.availableItems = []

So I start off with 2 ajax calls... 1 for 'my items' and the 2nd call gets 
the currently selected 'available items' lists.

The available items on the left may include items that are in 'my list' but 
they should not be shown. I have a relatively in-efficient loop I run 
through to see if the item is in "my items" and if it isn't, I push it to 
the scope - $scope.availableItems

There is the issue that the 'myItems' list has to be completed before i 
call for the availableItems in case myItems isn't complete... as the 
comparison will not be right.

I then have tools to move selected items in and out of the myItems.

Is there a better way though the use of a directive that will watch for 
changes to myItems and remove/add them to the availableItems?

I've been dropped into AngularJS with a relatively complicated task. These 
lists involve thousands of items and we chose angular because i can throw 
15,000 items into a scope and as long as I have paging setup... i can 
filter and sort the whole thing easily, that's working amazingly well.

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to angular+unsubscr...@googlegroups.com.
To post to this group, send email to angular@googlegroups.com.
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to