Fun fact: increasing the font size of Sublime Text 2 has greatly helped my ability to focus. Apparently trying to work w/font size of 11 isn’t possible anymore with my eyes. Changed to 18 point and it is wonderful.

Laravel; having a conditional choose your @extends template

I am firmly entrenched in the Laravel camp now. One thing I love about Laravel is their blade templating language. However, there is some quirkiness that isn’t immediately obvious.

Let’s say you have a template that is extending another template. You want a conditional to determine which template you want to extend. (The use case here for me is a messaging system. Logic + layout is the same on back-end and front-end, but they extend different templates).

I was trying to get this to work:

@if($var)
@extends('account.base')
@else
@extends('base.base')
@endif

@section('content')

<h1>Here are things!</h1>

@stop

All it was doing was outputting the one @extends(‘base.base’) line. After much hunting, I found this great answer on StackOverflow. So, @extends() must be on the first line of a blade template, which is a little weird, but whatever. Used ternary operator like this and it works!

@extends($var ? 'account.base' : 'base.base')

Time for Reflection

My family just got back from our first vacation in over three years. After us getting married and having two wonderful children it was definitely overdue.

I have had a lot of small revelations about things that I am still processing. As I iron out the details I will be sharing them. Expect posts aplenty!

Just finished the todo list for the next four days, after which we launch a new project that is running on Station, the new CMS package for Laravel we developed. It’s going to be intense, and worth it!

Crazy amounts of new knowledge

A couple days ago I passed my 5 month mark at my new job as a Senior Developer at the Canary Collective. It’s been really great working with some super talented people like Ben, Blake and Todd. But also, holy crap the new stuff I’ve been learning!

There are more I just can’t think of them at the moment. Point is, getting to learn a lot which is awesome. Also, dealing with a lot more front-end work that I was used to. It is pushing me out of my comfort-bubble which is a good thing.

Moving options between select boxes

Just a quick post. I needed to be able to display a multi-select box showing all the options available to a user, and allow the user to select one or several, and ‘move’ them to their list of chosen options. Then, when the form is submitted, make sure only the items in the chosen list of options is submitted.

Fairly easy right? It was, but took long enough that I wanted to share and tag appropriately, in case people come looking for it. :)

Image of what I wanted:
Multiselect image

Link to my working JSFiddle.

HTML:

<form action="javascript:void(0);"> 
   <select multiple="multiple" name="all_options" class="all_options">
        <option value="1">One</option>
        <option value="2">Two</option>
        <option value="3">Three</option>
        <option value="4">Four</option>
        <option value="5">Five</option>
    </select>
    <button class="go_in">in</button>
    <button class="go_out">out</button>
    <select multiple="multiple" name="chosen_options" class="chosen_options">
        <option value="7">Seven</option>
    </select>
    <br/><input type="submit" value="submit">
</form>

Javascript:

$('.go_in').click(function() {
    return !$('.all_options option:selected').remove().appendTo('.chosen_options');
});
$('.go_out').click(function() {
   return !$('.chosen_options option:selected').remove().appendTo('.all_options'); 
});
 
$('form').submit(function() {
    $('.all_options option').prop('selected','');
    $('.chosen_options option').prop('selected','selected');
    alert($(this).serialize());
});