Created
May 6, 2018 15:26
-
-
Save aadennis/e0c2cd3a899a06941fc675a7eec0d58a to your computer and use it in GitHub Desktop.
angular 2016 06
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
// entry point... | |
(function () { | |
var link; | |
var content; | |
var composers = []; | |
importComposers(); | |
//var composerSet = content.getElementById("ComposerSet1").innerHTML; | |
var composerSetCount = content.getElementsByClassName("ComposerSet").length; | |
for (var index = 0; index < composerSetCount; index++) { | |
var composerSet = content.getElementsByClassName("ComposerSet")[index].innerHTML; | |
var composerAsElements = htmlToElements(composerSet); | |
for (let composerAsElements of composerAsElements) { | |
convertComposerTextToObject(composerAsElements, composers); | |
}; | |
} | |
composers.sort(function (a, b) { | |
return (a.lastName > b.lastName) ? 1 : | |
((b.lastName > a.lastName) ? -1 : 0); | |
}); | |
for (let comp of composers) { | |
document.writeln("<h1>" + comp.lastName + "</h1>"); | |
document.writeln("<h4>" + comp.firstNames + " " + comp.lastName + " " + | |
comp.dateOfBirth + " " + comp.dateOfDeath + "</h4>"); | |
} | |
// functions... | |
function htmlToElements(html) { | |
var template = document.createElement('template'); | |
template.innerHTML = html; | |
return template.content.childNodes; | |
} | |
function convertComposerTextToObject(composer, composersx) { | |
var composerText = composer.innerText; | |
if (composerText === undefined) { | |
return; | |
} | |
// Treat the characters , and ( and - and ) as delimiters for splitting the string into tokens. | |
// An example of a string to be split: | |
// THOMPSON, Randall (4/21/1899-7/9/1984) | |
var separators = [',', '(', '\\-', ')'] | |
console.log(composerText); | |
var composerParts = composerText.split(new RegExp('[' + separators.join('') + ']', 'g')); | |
var theComposer = {}; | |
theComposer.lastName = composerParts[0]; | |
theComposer.firstNames = composerParts[1]; | |
theComposer.dateOfBirth = composerParts[2]; | |
theComposer.dateOfDeath = composerParts[3]; | |
composersx.push(theComposer); | |
console.log(theComposer); | |
} | |
function importComposers() { | |
link = document.querySelector('link[rel="import"]'); | |
content = link.import; | |
} | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment