External JS lib : Fullcalendar

Just starting out? Need help? Post your questions and find answers here.
User avatar
Arbrakaan
Posts: 91
Joined: Mon Feb 24, 2014 10:54 pm
Location: Geneva
Contact:

External JS lib : Fullcalendar

Post by Arbrakaan »

There is a way to use external JS libs with SpiderBasic ?

I want to use Fullcalendar : http://fullcalendar.io/ but i can't find how to implement it in my project.


After some search in the forum i found this, but it doesn't work with my code...

Code: Select all

; ******************************
; Plugins
; ******************************

Macro InitPlugins(IsInitialized=#True) ; internal functions
  CompilerIf IsInitialized
    !"undefined"==typeof window.SpiderPlugins&&(window.SpiderPlugins={extensions:{},paths:{},names:[]})
  CompilerElse
    !window.SpiderPlugins={extensions:{},paths:{},names:[]};
  CompilerEndIf   
EndMacro

Procedure DeclarePluginResource(Resource.s)
  InitPlugins()
  !,window.SpiderPlugins.names.push(v_resource)
EndProcedure

Procedure DeclarePlugin(Plugin.s, Path.s, IsUsed=#True)
  InitPlugins()
  !,window.SpiderPlugins.paths[v_plugin]=v_path
  !,v_isused && window.SpiderPlugins.names.push(v_plugin);
EndProcedure

Procedure UsePlugins(*FunctionUsingPlugins, EnforceDefine=#False) 
  !var cfg=$.extend({ enforceDefine: v_enforcedefine, paths: window.SpiderPlugins.paths }, window.SpiderPlugins.extensions);
  !requirejs.config(cfg);
  !require(window.SpiderPlugins.names, p_functionusingplugins); 
  InitPlugins(#False)
EndProcedure


;Plugs
 Procedure init_fullcalendar(momentJS, FullCalendar)
    !momentJS = v_momentjs
    !FullCalendar = v_fullcalendar
  EndProcedure
  
  
 Procedure Fullcalendar()
  init_fullcalendar(momentJS, FullCalendar)
   
  !$(document).ready(function() {
  !    $('#calendar').fullCalendar({
  !        // put your options And callbacks here
  !    })
  !});
  !var calendar = document.createElement("div");
  !div.setAttribute('id', 'calendar'); 
  !document.body.appendChild(div);
EndProcedure


    DeclarePlugin("momentJS","https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.2/moment.min.js")
    DeclarePlugin("FullCalendar","http://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.3.1/fullcalendar.min.js")
    ;DeclarePluginResource("http://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.3.1/fullcalendar.min.css")
    ;DeclarePluginResource("http://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.3.1/fullcalendar.print.css")
    
    
UsePlugins(@Fullcalendar()) 
I tried this way, but nothing.

Code: Select all

EnableJS

$.getScript("https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.2/moment.min.js", function(){});
   
$.getScript("http://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.3.1/fullcalendar.min.js", function(){});

$(document).ready(function() {
  $('#calendar').fullCalendar({})
});
DisableJS
Thanks for the help.