run(){
        if(this.required == false){

            let component = document.createElement('div'); 
            component.classList.add('component');

            let checkbox = document.createElement('input');
            checkbox.setAttribute('type', 'checkbox');
            checkbox.id = this.id;
            component.appendChild(checkbox);  

            let label = document.createElement('label');
            label.setAttribute('for', this.id);
            label.innerHTML = this.name;
            component.appendChild(label);  

            let link = document.createElement('a');
            link.classList.add('sLink');
            link.target = '_blank';
            link.title = "source";
            let linkText = document.createTextNode("source");
            link.appendChild(linkText);
            link.href = this.dir + this.path;
            component.appendChild(link); 

            let description = document.createElement('div');
            description.classList.add('componentDescription');
            description.innerHTML = this.description;
            component.appendChild(description); 

            document.getElementById(this.parentId).appendChild(component);
        }
    }
/**
     * handles generating HTML gui output for the component 
     */
handles generating HTML gui output for the component
handles generating HTML gui output for the component
run(){
        if(this.required == false){
            let component = document.createElement('div'); 
            component.classList.add('component');
            let checkbox = document.createElement('input');
            checkbox.setAttribute('type', 'checkbox');
            checkbox.id = this.id;
            component.appendChild(checkbox);  
            let label = document.createElement('label');
            label.setAttribute('for', this.id);
            label.innerHTML = this.name;
            component.appendChild(label);  
            let link = document.createElement('a');
            link.classList.add('sLink');
            link.target = '_blank';
            link.title = "source";
            let linkText = document.createTextNode("source");
            link.appendChild(linkText);
            link.href = this.dir + this.path;
            component.appendChild(link); 
            let description = document.createElement('div');
            description.classList.add('componentDescription');
            description.innerHTML = this.description;
            component.appendChild(description); 
            document.getElementById(this.parentId).appendChild(component);
        }
    }
run ( ) { if ( this . required == false ) { let component = document . createElement ( 'div' ) ; component . classList . add ( 'component' ) ; let checkbox = document . createElement ( 'input' ) ; checkbox . setAttribute ( 'type' , 'checkbox' ) ; checkbox . id = this . id ; component . appendChild ( checkbox ) ; let label = document . createElement ( 'label' ) ; label . setAttribute ( 'for' , this . id ) ; label . innerHTML = this . name ; component . appendChild ( label ) ; let link = document . createElement ( 'a' ) ; link . classList . add ( 'sLink' ) ; link . target = '_blank' ; link . title = "source" ; let linkText = document . createTextNode ( "source" ) ; link . appendChild ( linkText ) ; link . href = this . dir + this . path ; component . appendChild ( link ) ; let description = document . createElement ( 'div' ) ; description . classList . add ( 'componentDescription' ) ; description . innerHTML = this . description ; component . appendChild ( description ) ; document . getElementById ( this . parentId ) . appendChild ( component ) ; } }
handles generating HTML gui output for the component
handles generating HTML gui output for the component