Skip to content

Instantly share code, notes, and snippets.

@aadennis
Created May 6, 2018 15:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aadennis/e0c2cd3a899a06941fc675a7eec0d58a to your computer and use it in GitHub Desktop.
Save aadennis/e0c2cd3a899a06941fc675a7eec0d58a to your computer and use it in GitHub Desktop.
angular 2016 06
'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