JSFiddle - React, Tailwind, and code Playground

by Bhavin Surela

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<div class="col-md-12">
    <div class="col-md-4">
        <div id="get-posts"class="btn btn-default">Get Posts</div>
        <div id="get-post" class="btn btn-default">Get Posts/1</div>
        <div id="update-post" class="btn btn-default">Update Posts/1</div>
        <div id="insert-post" class="btn btn-default">Create new</div>
    </div>
    <div class = "col-md-8">
        <div id="title" class="title"></div>
        <pre id="result" class="col-md-12 result pre"></pre>
    </div>
</div>

CSS

#result{
    border:1px solid #333;
   
}

JavaScript

var app = (function(app){
	var _app={
			api:{}
	};	
	return _app;
}(app || {}));

var app =(function(app){
	  var _apiCaller = function(rootUrl){

	   this.root = rootUrl;
	   this.returnedObj=null;  

	   this.setRoot = function(rootUrl){
	  	this.root = rootUrl;
	   };

	   this.getBaseUrl=function(){

	  	 	var pre = this.root;
		   	var _url = this.url;
		   	return pre+"/"+_url;
	   };
	   
	   this.getReturnedObj=function(){
	   	return this.returnedObj;
	   };
	   
	   this.setReturnedObj = function(obj){
	   	this.returnedObj = obj;
	   };
	   
	   // url can be passed if we want to override the base url
	   this.save=function(options){
	   
	  	 var _url = this.prepareCallUrl(options.url);
	     options.url =_url;
	     options.method="PUT"
	     return this.ajaxCall(options);
	   };
          
       this.saveById = function(options){
		   
	  	 var _url = "";
	     if(options.id !== null || options.id !== undefined || options.id !==""){
	    	 _url = this.getBaseUrl()+"/"+options.id;
	     }
	     _url = this.prepareCallUrl(_url);
	     options.url = _url;
	     options.method="PUT";
	     return this.ajaxCall(options);
	     
	
	   };
	   
	   this.insert=function(options){
	   
	  	 var _url = this.prepareCallUrl(options.url);
	     options.url =_url;
	     options.method="POST"
	     return this.ajaxCall(options);
	   };
          
       this.insertById = function(options){
		   
	  	 var _url = "";
	     if(options.id !== null || options.id !== undefined || options.id !==""){
	    	 _url = this.getBaseUrl()+"/"+options.id;
	     }
	     _url = this.prepareCallUrl(_url);
	     options.url = _url;
	     options.method="POST";
	     return this.ajaxCall(options);
	     
	
	   };
	   
	   this.delete=function(url){
	  	 var _url = this.prepareCallUrl(options.url);
	     options.url =_url;
	     options.method="DELETE"
	     return this.ajaxCall(options);
	   };
	   
	   this.deleteById = function(options){
		   
	  	 var _url = "";
	    ...