MS DG; checkboxes are togglable, with tested css magick
This commit is contained in:
parent
fe7de0544d
commit
f7d320b622
3 changed files with 30 additions and 5 deletions
|
|
@ -379,9 +379,9 @@ div[data-template=flow] {
|
||||||
.service-selector {
|
.service-selector {
|
||||||
float: left;
|
float: left;
|
||||||
margin-left: 100px;
|
margin-left: 100px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.dropdown-menu {
|
.dropdown-menu {
|
||||||
bottom : 0;
|
bottom : 0;
|
||||||
top: auto;
|
top: auto;
|
||||||
|
|
@ -406,3 +406,18 @@ div[data-template=flow] {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// this is about the service toggle icons, there is a jasmine test that tests this in service_selector spec
|
||||||
|
// if you change this, check toggling the new publisher service broadcasts is still sensible
|
||||||
|
// the checkbox should be hidden, and in the off state the service icons should be lighter
|
||||||
|
// when the service icons are clicked they should be lighter, and toggle the hidden checkbox.
|
||||||
|
.services {
|
||||||
|
label { display : inline;}
|
||||||
|
|
||||||
|
input:not(:checked) + label {
|
||||||
|
@include opacity(0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
display : none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
<span class="service-selector-title">Broadcast:</span>
|
<span class="service-selector-title">Broadcast:</span>
|
||||||
<div class="services">
|
<div class="services">
|
||||||
|
<!--*CSS MAGIC* CHECKBOX IS HIDDEN AND IS CHECKED BY CLICKING THE LABEL, CHANGE THIS AT YOUR OWN PERIL, RUN JASMINE AFTER-->
|
||||||
{{#each current_user.services}}
|
{{#each current_user.services}}
|
||||||
<img class="legacy-provider-image" src="/assets/social_media_logos/{{provider}}-16x16.png" />
|
<input id="service_toggle_{{provider}}" type="checkbox" name="services" class="service" value="{{provider}}" />
|
||||||
<input type="checkbox" name="services" class="service" value="{{provider}}" />
|
<label for="service_toggle_{{provider}}"><img class="legacy-provider-image" src="/assets/social_media_logos/{{provider}}-16x16.png" data-provider="{{provider}}" /></label>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ describe("app.views.ServicesSelector", function(){
|
||||||
beforeEach(function(){
|
beforeEach(function(){
|
||||||
loginAs({
|
loginAs({
|
||||||
services : [
|
services : [
|
||||||
{ provider : "fakeBook" }
|
{ provider : "facebook" }
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -11,12 +11,21 @@ describe("app.views.ServicesSelector", function(){
|
||||||
|
|
||||||
describe("rendering", function(){
|
describe("rendering", function(){
|
||||||
beforeEach(function(){
|
beforeEach(function(){
|
||||||
|
this.view.setElement("#jasmine_content")
|
||||||
this.view.render();
|
this.view.render();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("displays all services", function(){
|
it("displays all services", function(){
|
||||||
var checkboxes = $(this.view.el).find('input[type="checkbox"]');
|
var checkboxes = $(this.view.el).find('input[type="checkbox"]');
|
||||||
expect(checkboxes.val()).toBe("fakeBook");
|
expect(checkboxes.val()).toBe("facebook");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// this tests the crazy css we have in a bassackwards way
|
||||||
|
// check out toggling the services on the new publisher and make sure it works if you change stuff.
|
||||||
|
it("selects the checkbox when the image is clicked", function(){
|
||||||
|
expect($("label[for=service_toggle_facebook]").css("opacity")).toBeLessThan(0.8) //floating point weirdness, be safe.
|
||||||
|
this.view.$("input[value='facebook']").select()
|
||||||
|
expect($("label[for=service_toggle_facebook]").css("opacity")).toBe('1')
|
||||||
|
})
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
Loading…
Reference in a new issue