Skip to content

Commit

Permalink
Ste #46 - Show success image on config screen on save click
Browse files Browse the repository at this point in the history
  • Loading branch information
cowley05 committed Jan 21, 2015
1 parent 7291d33 commit a410514
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 10 deletions.
5 changes: 3 additions & 2 deletions resources/public/config.html
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,11 @@ <h2 class="visuallyhidden">Success</h2>
<button id="save-success-text" type="submit">Save</button>
</form>
<form class="success-image-form">
<label for="success-image">Success image url</label>
<input id="success-image" type="text" name="success-image">
<label for="success-image-url">Success image url</label>
<input id="success-image-url" type="text" name="success-image">
<button id="save-success-image" type="submit">Save</button>
</form>
<img id="success-image" class="hidden config-success-image"/>
</section><!-- /#timing -->
</div><!-- /#main -->

Expand Down
19 changes: 15 additions & 4 deletions src/js/config/adminView.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ module.exports = function (controller) {
$('#include-all').click(view.projView().includeAll)
$('#exclude-all').click(view.projView().excludeAll)
$('#save-success-text').click(function(e) { e.preventDefault(); saveSuccessText(controller) })
$('#save-success-image').click(function(e) { e.preventDefault(); saveSuccessImageUrl(controller) })
$('#save-success-image').click(function(e) { e.preventDefault(); saveAndShowSuccessImage(controller) })

$("#cctray-url").keypress(function(e) {
if(e.which == 13) {
Expand Down Expand Up @@ -71,7 +71,7 @@ function load(postLoadCallback) {
var settings = config.load()
$('#cctray-url').val(settings.cctray)
$('#success-text').val(settings.successText)
$('#success-image').val(settings.successImageUrl)
$('#success-image-url').val(settings.successImageUrl)
if (config.hasCctray()) {
postLoadCallback()
}
Expand All @@ -87,11 +87,22 @@ function saveSuccessText(controller) {
controller.saveSuccessText(text)
}

function saveSuccessImageUrl(controller) {
var imageUrl = $('#success-image').val().trim()
function saveAndShowSuccessImage(controller) {
var imageUrl = $('#success-image-url').val().trim()
saveSuccessImageUrl(controller, imageUrl)
showSuccessImage(imageUrl)
}

function saveSuccessImageUrl(controller, imageUrl) {
controller.saveSuccessImageUrl(imageUrl)
}

function showSuccessImage(imageUrl) {
var successImage = $('#success-image');
successImage.attr('src', imageUrl)
successImage.removeClass('hidden')
}

function monitorPage(controller) {
saveSuccessText(controller)
}
Expand Down
9 changes: 9 additions & 0 deletions src/scss/_config.scss
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,15 @@
margin-top: 0.5em;
}

.config-success-image {
width: 10em;
margin-top: 1em;
}

.success-image-form {
margin-top: 1em;
}

.config-button {
font-size: 1em;
border-radius: 10px;
Expand Down
22 changes: 18 additions & 4 deletions test/js/config/adminViewTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,15 +123,16 @@ describe('view logic', function () {
describe('success image', function () {
beforeEach(function () {
$('body').append('<form>' +
'<input id="success-image" type=text name=success-image/>' +
'<input id="success-image-url" type=text name=success-image/>' +
'<input id="save-success-image" class=button type=button>' +
'</form>')
'</form> ' +
'<img id="success-image" src="" class="hidden"/>')
})

it('saves', function () {
spyOn(window.location, 'replace')
view.init()
$('#success-image').val('expected-image-url')
$('#success-image-url').val('expected-image-url')
spyOn(adminController, 'saveSuccessImageUrl')

$('#save-success-image').click()
Expand All @@ -141,12 +142,25 @@ describe('view logic', function () {

it('loads', function () {
localStorage.setItem('successImageUrl', 'any old value')
var successImageUrl = $('#success-image')
var successImageUrl = $('#success-image-url')

view.init()

expect(successImageUrl.val()).toBe('any old value')
})

it('shows image on the page', function () {
spyOn(window.location, 'replace')
view.init()
$('#success-image-url').val('expected-image-url')
spyOn(adminController, 'saveSuccessImageUrl')

$('#save-success-image').click()

var imageSrc = $('#success-image').attr('src');
expect(imageSrc).toBe('expected-image-url')
expect($('#success-image')).not.toHaveClass('hidden')
})
})
})

Expand Down

0 comments on commit a410514

Please sign in to comment.