I've created a Javascript expression to evaluate the widths of columns based on some desired folding characteristics I want my grid system to have, but my LESS code gives me a "syntax error". Here is my code:
.setColumnWidths(@maxcolumns, @num_cols, @min_resolution){
@media screen and(min-width: @min_resolution) {
.row {
.onecol {
width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*1/{@maxcolumns})))`;
}
.twocol {
~ ` Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*2/{@maxcolumns}))) `;
}
.threecol {
width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*3/{@maxcolumns})))`;
}
.fourcol {
width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*3/{@maxcolumns})))`;
}
.fivecol {
width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*5/{@maxcolumns})))`;
}
.sixcol {
width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*6/{@maxcolumns})))`;
}
.sevencol {
width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*7/{@maxcolumns})))`;
}
.eightcol {
width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*8/{@maxcolumns})))`;
}
.ninecol {
width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*9/{@maxcolumns})))`;
}
.tencol {
width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*10/{@maxcolumns})))`;
}
.elevencol {
width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*11/{@maxcolumns})))`;
}
.twelvecol {
width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*12/{@maxcolumns})))`;
}
}
}
}
The above code will allow "folding", upon calling the mixin:
.setColumnWidths(12, 4, 420px);
Here, we are declaring that the number of columns should be 4, the maximum number of columns is 12, and that this should occur when the screen width is 420px.
Why is this failing, and how can I evaluate these values using javascript otherwise?