croogo/croogo — pull request #528 by rchavik (2014-08-12 15:46:48+00:00)
Title: Attempt to remove hardcoded CSS classes in views and make it somewhat configurable

Contains two major changes:

### Config hierarchy + inputDefaults

c1e3ba8 reverses the hierarchy of settings in `theme.json`. Instead of

```json
{
"helpers": {
"prefixes": {
"admin": { "Html": {"className": "foo"} }
}
}
}
````

The reason is that in the future, we could add more setting types for each route prefix, for example `blocks` settings:

```json
{
"prefixes": {
"admin": {
"helpers": {
"Form": {
"className": "BoostCake.BoostCakeForm",
"inputDefaults": {
"div": "form-group",
"wrapInput": false,
"class": "form-control"
}
},
},
"blocks": [ "right" ]
}
}
}
````

### CSS settings

```json
{
"settings": {
"css": {
"container": "container",
"row": "row",
"columnFull": "col-sm-12",
"columnLeft": "col-sm-8",
"columnRight": "col-sm-4"
}
}
}
```

41c2859fd7 reads in these values from `theme.json`. These values are then sent to views under `$themeSettings` variable.

A new `LayoutHelper::cssClass()` method was added to retrieve configured values.

The rest of the changes mostly deals with replacing hardcoded css classes with these values.