Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* remove all obsolete classes * upgrade dependencies * feature: DataBinder::bindValue() * tweak: update exception messages * tweak: remove unused imports * refactor: share functionality for setting bind property * refactor: simplify functionality * refactor: rename to DocumentBinder * tweak: rename test function names * refactor: simplify nested foreach * docs: update features * tweak: import fqn * refactor: remove ott checks for invalid properties * feature: bindData * feature: DocumentBinder::bindData() toggles DOMTokenList values * feature: DocumentBinder::bindData() toggles boolean values * feature: DocumentBinder::bindData() toggles boolean values with inverse logic from ! char * feature: binding tabular data to a table element * wip: table data normalisation * feature: normalise table data * feature: implement "double header" table data * test: exception if indexed array passed to bindData * test: bindData with stdClass object * test: bindKeyValue with incorrect table data * test: bindKeyValue with non-iterable double header table data * tweak: change data type to int in example * test: bindKeyValue throw error when tableData is assoc without iterable cols * test: bindKeyValue throw error when binding tableData with no table in html * wip: add todos to get bindTable to 100% * test: various table tests to ensure table data is normalised correctly * test: bindTable with header keys in the HTML * tweak: remove unused code * refactor: extract table binding into separate class * test: bindKeyValue with table data * tidy: remove unused imports * tidy: more accurate test names * refactor: extract element-specific binding to ElementBinder * feature: ListBinder basic list bound to document * feature: ListBinder binds text from values * feature: ListBinder binds templates by name * test: better working with empty lists * feature: binding an empty list will clear the innerHTML of the template's parent * test: binding a table to the document, rather than a specific element * feature: bind list of key-value-pair arrays * feature: bind list of key-value-pair objects * feature: bind list of key-value-pair instance objects * feature: Bind attribute used to mark methods/properties as dom-bindable * feature: get a template element by its document position * feature: throw exception if matching template is not found * feature: get template element by template name * feature: throw exceptions when names are not set correctly * feature: bind text placeholder * test: bind text placeholder's context does not leak * feature: remove filtering feature from HTML * feature: placeholders within attributes * tweak: more appropriate naming * improvement: binding nested elements resolve their template parents properly * feature: nested lists with implicit keys * refactor: update bind model - extract placeholder binding to separate classes * feature: complete refactor of PlaceholderBinder * test: DocumentBinder::bindList() * test: HTMLAttributeBinder::bind() with Document context * tweak: rename context to element when not performing a child search * test: ListBinder::isKVP() * chore: remove unused function * chore: remove obsolete conditional * test: ensure template names can't start with a forward slash * chore: work through PHPStan's issues * test: add a real-world test for todo items * test: ensure template's siblings are not also templates * feature: parse ini data within comments * tweak: document type of array * feature: expand custom elements * feature: expand custom elements recursively * feature: expand partials * test: harden test cases * wip: recursive partial expansion * feature: recursive partial expansion * feature: recursive partials import deepest title * chore: update deps * chore: update deps * phpstan: fix generics issue * remove unused test (from v1) * build: upgrade deps
- Loading branch information