diff --git a/README.txt b/README.txt index 10ca98b..f85d921 100755 --- a/README.txt +++ b/README.txt @@ -330,14 +330,10 @@ Let's add some more nodes and reorder them: >>> m11.keys() ['m111', 'm112', 'm113', 'm114'] - >>> m11.moveSubNodesByDelta(['m113'], -1) - >>> m11.keys() - ['m111', 'm113', 'm112', 'm114'] - A special management view provides methods for moving objects down, up, to the bottom, and to the top - >>> from loops.browser.node import OrderedContainerView + >>> from cybertools.container.ordered import OrderedContainerView >>> view = OrderedContainerView(m11, TestRequest()) >>> view.moveToBottom(('m113',)) >>> m11.keys() diff --git a/browser/configure.zcml b/browser/configure.zcml index 5110c4b..0e5e472 100644 --- a/browser/configure.zcml +++ b/browser/configure.zcml @@ -333,25 +333,10 @@ name="node.html" /> - - - - - - - - - - diff --git a/browser/contents.pt b/browser/contents.pt deleted file mode 100644 index 505f090..0000000 --- a/browser/contents.pt +++ /dev/null @@ -1,216 +0,0 @@ - - -
-
- - - - -
- - - - -
- Error message -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 NameTitleSizeCreatedModified
- - - - foo   - -      -      - -    
- -
- - - - - - - -
-
- - - -
-
- -
- - - - - -
- -
- -
- - -
- -
-
-
- - - - -
- -
- - diff --git a/browser/node.py b/browser/node.py index 83b70a3..c7c5656 100644 --- a/browser/node.py +++ b/browser/node.py @@ -132,49 +132,3 @@ class ConfigureView(object): self.delegate.checkCreateTarget() return super(ConfigureView, self).update() - -class OrderedContainerView(JustContents): - """ A view providing the necessary methods for moving sub-objects - within an ordered container. - """ - - @Lazy - def url(self): - return zapi.absoluteURL(self.context, self.request) - - @Lazy - def orderable(self): - return len(self.context) > 1 - - def checkMoveAction(self): - request = self.request - for var in request: - if var.startswith('move_'): - params = [] - if 'delta' in request: - params.append('delta=' + request['delta']) - if 'ids' in request: - for id in request['ids']: - params.append('ids:list=' + id) - request.response.redirect('%s/%s?%s' - % (self.url, var, '&'.join(params))) - return True - return False - - def moveDown(self, ids=[], delta=1): - self.context.moveSubNodesByDelta(ids, int(delta)) - self.request.response.redirect(self.url + '/contents.html') - - def moveUp(self, ids=[], delta=1): - self.context.moveSubNodesByDelta(ids, -int(delta)) - self.request.response.redirect(self.url + '/contents.html') - - def moveToBottom(self, ids=[]): - self.context.moveSubNodesByDelta(ids, len(self.context)) - self.request.response.redirect(self.url + '/contents.html') - - def moveToTop(self, ids=[]): - self.context.moveSubNodesByDelta(ids, -len(self.context)) - self.request.response.redirect(self.url + '/contents.html') - - diff --git a/interfaces.py b/interfaces.py index 5b4e84d..90d62f1 100644 --- a/interfaces.py +++ b/interfaces.py @@ -264,12 +264,6 @@ class INode(IView, IBaseNode): a menu). """ - def moveSubNodesByDelta(names, delta): - """ Move the sub-nodes specified by the list of names up - (negative delta) or down (positive delta) by the number of places - specified by delta. - """ - class IViewManager(ILoopsObject, IBaseNode): """ A manager/container for views. diff --git a/util.py b/util.py index 2421daa..8ea2d27 100644 --- a/util.py +++ b/util.py @@ -22,22 +22,6 @@ Utility functions. $Id$ """ -def moveByDelta(objs, toMove, delta): - """ Return the list given by objs resorted in a way that the elements - of toMove (which must be in the objs list) have been moved by delta. - """ - result = [obj for obj in objs if obj not in toMove] - if delta < 0: - objs = list(reversed(objs)) - result.reverse() - toMove = sorted(toMove, lambda x,y: cmp(objs.index(x), objs.index(y))) - for element in toMove: - newPos = min(len(result), objs.index(element) + abs(delta)) - result.insert(newPos, element) - if delta < 0: - result.reverse() - return result - def nl2br(text): if not text: return text if '\n' in text: # Unix or DOS line endings diff --git a/view.py b/view.py index bf84501..3192ec8 100644 --- a/view.py +++ b/view.py @@ -39,7 +39,6 @@ from cybertools.relation.registry import IRelationsRegistry, getRelations from interfaces import IView, INode, INodeConfigSchema from interfaces import IViewManager, INodeContained from interfaces import ILoopsContained -from util import moveByDelta class View(object): @@ -134,9 +133,6 @@ class Node(View, OrderedContainer): def getTextItems(self): return self.getChildNodes(['text']) - def moveSubNodesByDelta(self, names, delta): - self.updateOrder(moveByDelta(self.keys(), names, delta)) - class ViewManager(OrderedContainer):