Skip to content

Instantly share code, notes, and snippets.

@rssilva
Last active December 16, 2015 05:39
Show Gist options
  • Save rssilva/5385986 to your computer and use it in GitHub Desktop.
Save rssilva/5385986 to your computer and use it in GitHub Desktop.
//Aqui temos o json que poderíamos receber do back-end
//uma lista de empresas que tem uma lista de funcionários
//que tem nome e email
var employeesListByCompany = [
{
name: 'Death Star',
employees: [
{
name: 'Darth Vader',
email: '[email protected]'
},
{
name: 'Emperor',
email: '[email protected]'
},
]
},
{
name: 'Alliance',
employees: [
{
name: 'leia',
email: '[email protected]'
},
{
name: 'luke',
email: '[email protected]'
},
]
},
{
name: '"Should not exist" cast',
employees: [
{
name: 'Jar Jar Binks',
email: '[email protected]'
},
{
name: 'Great Pilot Anakin',
email: '[email protected]'
},
]
}
];
//criamos uma variável 'elements' onde vamos construir a string
//que adicionaremos ao DOM
var elements = '<ul>',
company = null,
employee = null;
//iteramos a lista de empresas...
for(var i = 0, len = employeesListByCompany.length; i < len; i++) {
//a variável company guarda os valores do array
company = employeesListByCompany[i];
//elements concatena um elemento 'li' com o nome da empresa
elements += '<li>' + company.name + '</li>' +
//depois concatena com um elemento 'li' que contém uma 'ul'
'<li class="employees">' +
'<ul >';
//iteramos os funcionários da empresa...
for(var j = 0, len2 = company.employees.length; j < len2; j++) {
employee = company.employees[j];
//concatenamos um elemento 'li' com o nome do funcionário
elements += '<li>' + employee.name + '</li>' +
//depois concatenamos novamente com um elemento 'li'
'<li class="employee-data">' +
//e posteriormente com uma 'ul' contendo elementos 'li'
//com o email do funcionário
'<ul >' +
'<li>' + employee.email + '</li>' +
'</ul>' +
'</li>';
}
//fechamos a tag 'ul' que abrimos para listar os funcionários
elements += '</ul>' +
//fechamos a 'li' que contém a 'ul' dos funcionários
'</li>';
}
//fechamos a lista de empresas
elements += '</ul>';
$(document).ready(function () {
//quando a página for carregada colocamos elements no HTML de '#content'
//e assim temos tudo renderizado bonitinho
$("#content").html(elements);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment