Skip to content

Commit c4820e6

Browse files
committed
Add proper sizing of tiles via JS
1 parent 4eded09 commit c4820e6

File tree

5 files changed

+95
-4
lines changed

5 files changed

+95
-4
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
function if_gs_set_classes(tiles, pattern)
2+
{
3+
var spans = pattern.split(" ", tiles.length);
4+
var i = 0;
5+
tiles.each(function() {
6+
if (i >= spans.length)
7+
return;
8+
var cur_spans = spans[i].split(",", 2);
9+
for (var j = 0; j < cur_spans.length; j++)
10+
$(this).addClass("if-gs-tile-span" + cur_spans[j]);
11+
i++;
12+
});
13+
}
14+
15+
function if_gs_arrange_tiles()
16+
{
17+
var widget = $(".if-gs-widget");
18+
widget.hide();
19+
var tiles = widget.children(".if-gs-tile");
20+
var pattern = "";
21+
switch (tiles.length) {
22+
case 0:
23+
return;
24+
case 1:
25+
pattern = "4h,3v";
26+
break;
27+
case 2:
28+
pattern = "2h,3v 2h,3v";
29+
break;
30+
case 3:
31+
pattern = "2h,2v 2h,2v 4h";
32+
break;
33+
case 4:
34+
pattern = "2h,2v 2h,2v 2h 2h";
35+
break;
36+
case 5:
37+
pattern = "2h,2v 2h 2h 2h 2h";
38+
break;
39+
case 6:
40+
pattern = "2h,2v 2h 2h 2h";
41+
break;
42+
case 7:
43+
pattern = "2h,2v 2h 2h";
44+
break;
45+
case 8:
46+
pattern = "2h,2v 2h";
47+
break;
48+
case 9:
49+
pattern = "2h,2v";
50+
break;
51+
case 10:
52+
pattern = "2h 2h";
53+
break;
54+
case 11:
55+
pattern = "2h";
56+
break;
57+
default:
58+
widget.show();
59+
return;
60+
}
61+
if_gs_set_classes(tiles, pattern);
62+
widget.show();
63+
}

_output/templates/_metadata.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
"public/if_gs_gridshow_widget.html": {
1313
"version_id": 1000070,
1414
"version_string": "1.0.0",
15-
"hash": "c757afa20b67b01f4927d1623e278dd3"
15+
"hash": "5866c9748c31dfefa8e7ac135e366b45"
1616
},
1717
"public/if_gs_gridshow_widget.less": {
1818
"version_id": 1000070,
1919
"version_string": "1.0.0",
20-
"hash": "6f125302049e418c34eff69c687cb897"
20+
"hash": "c03ad39c486c7890e8c0a1c648705b23"
2121
}
2222
}

_output/templates/public/if_gs_gridshow_widget.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<xf:css src="if_gs_gridshow_widget.less" />
2+
<xf:js addon="Inforge/GridShow" src="inforge/gridshow/widget.js" min="1" />
23

34
<div class="if-gs-widget">
45
<xf:foreach loop="$tiles" value="$tile">
@@ -11,4 +12,7 @@
1112
</div>
1213
</div>
1314
</xf:foreach>
14-
</div>
15+
</div>
16+
<xf:js>
17+
if_gs_arrange_tiles();
18+
</xf:js>

_output/templates/public/if_gs_gridshow_widget.less

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
border-radius: 2px;
2727
color: #FFF;
2828
padding: 4px 10px;
29-
background: #183B59;
29+
background: #173854;
3030
}
3131

3232
.if-gs-tile-title {
@@ -35,4 +35,20 @@
3535
padding: 6px 10px;
3636
font-size: 1.4em;
3737
color: #FFF;
38+
}
39+
40+
.if-gs-tile-span2h {
41+
grid-column: auto / span 2;
42+
}
43+
44+
.if-gs-tile-span4h {
45+
grid-column: auto / span 4;
46+
}
47+
48+
.if-gs-tile-span2v {
49+
grid-row: auto / span 2;
50+
}
51+
52+
.if-gs-tile-span3v {
53+
grid-row: auto / span 2;
3854
}

build.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"additional_files": [
3+
"js/inforge/gridshow"
4+
],
5+
"minify": [
6+
"js/inforge/gridshow/widget.js"
7+
]
8+
}

0 commit comments

Comments
 (0)