[B2] Extendable TableChunker?
I'm trying to create my own TreeView, so that I can add my own classes to the markup (for example, I need to get tree-depth-specific classes onto the rows). I've put a collectData method into my TreeView to put the node's depth onto the record, and all I need to do is get that into the template for the view.
From what I can tell by debugging it, I need my own chunker that I can pass in the config to MyTreeView -> TreeView -> TableView, so that I can define my own metaRowTpl, so that the upstream TableView can construct the template for my items.
Problem is, the only chunker implementation is Ext.view.TableChunker, and it's a singleton. I can't seem to extend the class, as it's a singleton. That would seem to be by design, and it's not a bad one.
(Edit: Seems from other posts, I can extend by using Ext.getClass() on the singleton. Ok, that would seem to work, but isn't that a little bit hacky? (in order to extend a class, I need to drill into its definition to find out if it's declared as a singleton, and then extend or override that way?) Also, I would have to use Ext.extend (Ext.getClass(...)...) instead of Ext.define ({ extend...}), which is less nice.)
In that case, to make my own chunker, I need to copy the whole TableChunker implementation and define my own with the metaRowTpl I need. I clearly prefer not to do that just to get my own metaRowTpl definition inserted into the chain.
I'd like to suggest one of the following as regards Ext.view.TableChunker:
- Refactor into an AbstractChunker which the TableChunker singleton extends (and therefore so can I)
- Take the singleton property off the TableChunker class (what is the benefit of that here?)
- Tell me how I'm doing this wrong ;)
stevil