Skip to content
This repository was archived by the owner on Oct 11, 2018. It is now read-only.

Commit e3d2e04

Browse files
committed
wip widget size classes
1 parent fe9bc22 commit e3d2e04

File tree

8 files changed

+74
-63
lines changed

8 files changed

+74
-63
lines changed

ui/dashboard/widgets/widget-wrapper.reel/_widget-wrapper.css

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,28 @@
1818
opacity: .75;
1919
}
2020

21-
@media (min-width: 65em) {
22-
width: calc(50% - 1em);
23-
max-width: 100%;
24-
}
21+
&.Widget--small {
22+
@media (min-width: 65em) {
23+
width: calc(50% - 1em);
24+
max-width: 100%;
25+
}
2526

26-
@media (min-width: 90em) {
27-
width: calc(33% - .825em);
28-
max-width: calc(50% - 1em);
27+
@media (min-width: 90em) {
28+
width: calc(33.333% - 1em);
29+
max-width: calc(50% - 1em);
30+
}
2931
}
3032

31-
&.Widget-size-2 { width: 50%; }
32-
&.Widget-size-3 { width: 100%; max-width: 100%;}
33+
&.Widget--medium {
34+
@media (min-width: 65em) {
35+
width: calc(100% - 1em);
36+
}
37+
38+
@media (min-width: 90em) {
39+
width: calc(66.666% - 1em);
40+
max-width: calc(100% - 1em);
41+
}
42+
}
3343
}
3444

3545
.WidgetWrapper-removeButton {
@@ -56,3 +66,12 @@
5666
transform: scale(1);
5767
}
5868
}
69+
70+
/* Widget Size Selector */
71+
72+
.Widget-sizeSelector {
73+
position: absolute;
74+
top: .5rem;
75+
right: 2rem;
76+
font-size: .75em;
77+
}

ui/dashboard/widgets/widget-wrapper.reel/widget-wrapper.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ui/dashboard/widgets/widget-wrapper.reel/widget-wrapper.html

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@
66
{
77
"owner": {
88
"properties": {
9-
"element": {"#": "owner"}
9+
"element": {"#": "owner"},
10+
"sizeOptions": [
11+
{"value": "small", "label": "small"},
12+
{"value": "medium", "label": "medium"},
13+
{"value": "large", "label": "large"}
14+
]
1015
}
1116
},
1217

@@ -20,12 +25,21 @@
2025
"object": {"<-": "@owner.object"}
2126
}
2227
},
23-
2428
"removeWidgetButton": {
2529
"prototype": "montage/ui/button.reel",
2630
"properties": {
2731
"element": {"#": "removeButton"}
2832
}
33+
},
34+
"sizeSelector": {
35+
"prototype": "blue-shark/ui/tabs.reel",
36+
"properties": {
37+
"element": {"#": "sizeSelector"}
38+
},
39+
"bindings": {
40+
"options": {"<-": "@owner.sizeOptions"},
41+
"selection": {"<->": "@owner.size"}
42+
}
2943
}
3044
}
3145
</script>
@@ -36,6 +50,7 @@
3650
<button data-montage-id="removeButton" class="WidgetWrapper-removeButton">
3751
<svg><use xlink:href="#i-trashCan"/></svg>
3852
</button>
53+
<div data-montage-id="sizeSelector" class="Widget-sizeSelector"></div>
3954
</div>
4055
</body>
4156
</html>

ui/dashboard/widgets/widget-wrapper.reel/widget-wrapper.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,31 @@ exports.WidgetWrapper = AbstractDraggableComponent.specialize(/** @lends WidgetW
1111

1212
_placeHolderStrategy: {
1313
value: "remove"
14+
},
15+
16+
_size: {
17+
value: null
18+
},
19+
20+
size: {
21+
get: function () {
22+
return this._size;
23+
},
24+
set: function (option) {
25+
if(this._size !== option) {
26+
this.classList.remove("Widget--" + this._size);
27+
this.classList.add("Widget--" + option);
28+
this._size = option;
29+
}
30+
}
31+
},
32+
33+
enterDocument: {
34+
value: function (isFirstTime) {
35+
if(isFirstTime) {
36+
this.size = "small";
37+
}
38+
}
1439
}
1540

1641
});

ui/dashboard/widgets/widget.reel/_widget.css

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,6 @@
1919
@nest .drawer-is-open &:hover {
2020
box-shadow: 0px 0px 2px 2px rgba(43,156,216,1);
2121
}
22-
23-
&.small {
24-
background: green;
25-
}
26-
27-
&.medium {
28-
background: orange;
29-
}
30-
31-
&.large {
32-
background: purple;
33-
}
3422
}
3523

3624
.Widget-header {
@@ -163,5 +151,3 @@
163151
opacity: 1;
164152
}
165153
}
166-
167-

ui/dashboard/widgets/widget.reel/widget.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ui/dashboard/widgets/widget.reel/widget.html

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,11 @@
66
{
77
"owner": {
88
"properties": {
9-
"element": {"#": "owner"},
10-
"sizeOptions": [
11-
{"value": "small"},
12-
{"value": "medium"},
13-
{"value": "large"}
14-
]
9+
"element": {"#": "owner"}
1510
},
1611
"bindings": {
1712
"classList.has('flip')": {"<-": "this.isFlipped"},
18-
"classList.has('has-settings')": {"<-": "@owner.hasSettings"},
19-
"size": {"<-": "@sizeSelector.selectedValue"}
13+
"classList.has('has-settings')": {"<-": "@owner.hasSettings"}
2014
}
2115
},
2216

@@ -52,17 +46,6 @@
5246
"bindings": {
5347
"value": {"<-": "'WidgetName-Settings'"}
5448
}
55-
},
56-
57-
"sizeSelector": {
58-
"prototype": "blue-shark/ui/select.reel",
59-
"properties": {
60-
"element": {"#": "sizeSelector"},
61-
"selectedValue": "medium"
62-
},
63-
"bindings": {
64-
"options": {"<-": "@owner.sizeOptions.map{value}"}
65-
}
6649
}
6750
}
6851
</script>
@@ -76,7 +59,6 @@
7659
<div data-param="widget-content" class="Widget-content-front"></div>
7760
</div>
7861
<div data-montage-id="infoWidgetButton" class="Widget-info Button--primary"></div>
79-
<div data-montage-id="sizeSelector" class="Widget-sizeSelector"></div>
8062
</div>
8163
<div class="Widget-back">
8264
<div data-montage-id="settingsTitle" class="Widget-header"></div>

ui/dashboard/widgets/widget.reel/widget.js

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,6 @@ var Component = require("montage/ui/component").Component;
55
* @extends Component
66
*/
77
exports.Widget = Component.specialize({
8-
_size: {
9-
value: null
10-
},
11-
12-
size: {
13-
get: function () {
14-
return this._size;
15-
},
16-
set: function (option) {
17-
if(this._size !== option) {
18-
this.classList.remove("is-" + this._size);
19-
this.classList.add("is-" + option);
20-
this._size = option;
21-
}
22-
}
23-
},
248

259
isFlipped: {
2610
value: false

0 commit comments

Comments
 (0)