JSFiddle - React, Tailwind, and code Playground

by jwstott

HTML

<script src="http://75.126.106.245:8764/scripts/ces.js"></script>

JavaScript

console.log('setup event code'); 
var ans = new ces.Answer();
ans.id = '123';
ans.assessmentid = '1';
ans.key = 'A';
ans.text = 'new object test';
/*
    ans.event.bind('fred',function(sender,eventArgs) {
      console.log('got the event');  
    };
*/
console.log('about to raise event');                    
//ans.event.fire('fred',this,{id:'fred event'});
                  


// Extend Assessment
ces.Assessment.prototype.findAnswerByKey = function (key) {
        var length = this.answers.length;
        for (var idx = 0; idx < length; idx++) {
            if (this.answers[idx].key === key)
                return this.answers[idx];
        }
        return; // default
    }
ces.Assessment.prototype.setAnswerSelectedByKey = function (key) {
        var length = this.answers.length;
        for (var idx = 0; idx < length; idx++) {
            if (this.answers[idx].key === key)
                this.answers[idx].selected = true;
            else
                this.answers[idx].selected = false;
        }
    }
// Extend ces.Answer
ces.Answer.prototype.selected = false;
ces.Answer.prototype.event = new eventMager();

var eventManager = function() {
    var self = this;
    var evnt = function(name,fn) {
      this.name = name;
      this.target = fn; 
    };
    
    var events = [];
    this.bind(eventName, fn) {
        events.push(new evnt(eventName,fn));
    };
    
    this.fire(eventName, sender, eventArgs) {
       var len = self.events.length;
        for (var i=0;i<len;i++) {
            if (  self.events[i].name === eventName) {
                if (self.events[i].target != null)
                    self.events[i].target(sender, eventArgs);
            } 
        }
    } 
};

/* Simple JavaScript Inheritance
 * By John Resig http://ejohn.org/
 * MIT Licensed.
 */
// Inspired by base2 and Prototype
(function(){
  var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/;
  // The base Class implementation (does nothing)
 ...