{ "info": { "author": "Christian Klinger", "author_email": "cklinger@novareto.de", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "======================\nmegrok.z3cform.tabular\n======================\n\nWith the help of this package you can create tables inside forms.\nThink on a folder listing where you have a checkbox on the first\ncolumn and you can check the rows you want to modify. \nSuch modifcations are for example:\n\n - edit \n - delete \n - change workflow state\n\nmegrok.z3cform.tabular is based on these existing megrok packages:\n\n - megrok.layout\n - megrok.z3ctable\n - megrok.z3cform.base\n - megrok.z3cform.ui\n\n\nExample\n-------\n\nFirst we have to setup a container with some objects.\n\n >>> from zope.app.testing.functional import getRootFolder\n >>> root = getRootFolder()\n\n >>> from zope.app.container import btree\n >>> class Container(btree.BTreeContainer):\n ... \"\"\"Sample container.\"\"\"\n ... __name__ = u'container'\n >>> container = Container()\n\n\n >>> root['container'] = container\n\n\n >>> class Content(object):\n ... \"\"\"Sample content.\"\"\"\n ... def __init__(self, title, number):\n ... self.title = title\n ... self.number = number\n \n\n >>> container[u'first'] = Content('First', 1)\n >>> container[u'second'] = Content('Second', 2)\n >>> container[u'third'] = Content('Third', 3)\n\n >>> len(container)\n 3\n\nOk now we have a container with three objects in it. Now we\ncan create a tabular view for this container:\n\n >>> from megrok.z3cform.tabular import FormTable\n >>> import grokcore.component as grok\n >>> from megrok.z3cform.base import button, extends\n\n >>> class FormTableView(FormTable):\n ... grok.context(Container)\n ... extends(FormTable)\n ...\n ... @button.buttonAndHandler(u'ChangeWorkflowState')\n ... def handleChangeWorkflowState(self, action):\n ... print 'success'\n ...\n ... def render(self):\n ... return self.renderFormTable()\n\n\n >>> grok.testing.grok_component('formtableview', FormTableView)\n True\n\n >>> from megrok.z3ctable import table, CheckBoxColumn, NameColumn\n >>> class CheckBox(CheckBoxColumn):\n ... grok.name('checkBox')\n ... grok.context(Container)\n ... table(FormTableView)\n\n >>> grok.testing.grok_component('checkbox', CheckBox)\n True\n\n >>> class Name(NameColumn):\n ... grok.name('name')\n ... grok.context(Container)\n ... table(FormTableView)\n\n >>> grok.testing.grok_component('name', Name)\n True\n\nOk now we can call the FormTableView on the container. We\nshould see a table with three rows and two columns.\nThere is a default Cancel button and our custom\nChangeWorkflowState button.\n\n >>> from zope.publisher.browser import TestRequest\n >>> request = TestRequest()\n\n >>> from zope.component import getMultiAdapter\n >>> formtableview = getMultiAdapter((container, request), name=\"formtableview\")\n >>> formtableview\n \n\n >>> formtableview.update()\n >>> print formtableview() \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameX
first
second
third
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n\nThis package works nicely with megrok.layout. There are some additional\nBaseClasses available. Please take a look on the tests.\n\nEnjoy...\n\nChangelog\n=========\n\n0.2 (2009-10-26)\n----------------\n\n- Change the description of the project. \n\n\n0.1 (2009-10-26)\n----------------\n\n* Initial release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": "grok z3c.form megrok.z3cform.wizard", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "megrok.z3cform.tabular", "package_url": "https://pypi.org/project/megrok.z3cform.tabular/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/megrok.z3cform.tabular/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/megrok.z3cform.tabular/0.2/", "requires_dist": null, "requires_python": null, "summary": "Grok addon for createing tabular forms", "version": "0.2" }, "last_serial": 794663, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "b4d5f7666b9bee39e655a0e0676ddc43", "sha256": "6da77de2d35ddca05e5a8474d2d4359ce47868a04dd8c3888cbce6a88ef79f88" }, "downloads": -1, "filename": "megrok.z3cform.tabular-0.1.tar.gz", "has_sig": false, "md5_digest": "b4d5f7666b9bee39e655a0e0676ddc43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8421, "upload_time": "2009-10-26T16:08:34", "url": "https://files.pythonhosted.org/packages/02/b8/a0f73702f0d6340f43841d74b6309133937f8e04201e83e494eb5fbee316/megrok.z3cform.tabular-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "6121c55a8035a1b17b14a01810724078", "sha256": "b5396b7eda4ea5407bf3172c5244839de8eb8752b7153e032cf3a31961676c28" }, "downloads": -1, "filename": "megrok.z3cform.tabular-0.2.tar.gz", "has_sig": false, "md5_digest": "6121c55a8035a1b17b14a01810724078", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8364, "upload_time": "2009-10-26T16:10:40", "url": "https://files.pythonhosted.org/packages/8e/a2/35d355e557821e7951f98616b2999e143d8f6fd15a810e06ee5b83ef1789/megrok.z3cform.tabular-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6121c55a8035a1b17b14a01810724078", "sha256": "b5396b7eda4ea5407bf3172c5244839de8eb8752b7153e032cf3a31961676c28" }, "downloads": -1, "filename": "megrok.z3cform.tabular-0.2.tar.gz", "has_sig": false, "md5_digest": "6121c55a8035a1b17b14a01810724078", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8364, "upload_time": "2009-10-26T16:10:40", "url": "https://files.pythonhosted.org/packages/8e/a2/35d355e557821e7951f98616b2999e143d8f6fd15a810e06ee5b83ef1789/megrok.z3cform.tabular-0.2.tar.gz" } ] }