1. Fabrik 3.7 is now available. This version contains critical security updates, please update as soon as possible. Please remember to backup your site before updating, we also recommend testing your updates on development sites if possible.
  2. We had to restore the site around midday (CST) on Wed 7/26 from a backup approximately 8 hours old. So a few posts in the forums were lost. You may want to check to see if you need to re-post anything.
  3. The release of Fabrik for J! 3.8 is not yet ready. Do not update your sites to J! 3.8 until this notice is removed.

Javascript table plugin

Jun 26, 2013
Javascript table plugin
  • This is for Fabrik 2.x ONLY. For Fabrik 3.0 onwards, use Javascript for Fabrik lists
    [​IMG]

    • Access - Which user group should the js be run for?
    • Javascript code - A snippet of js code which is added to the document head. Will always be added regardless of whether a JS File is defined or not
    • JS File - A JS file, which contains a class of the same name. Files are located in components/com_fabrik/plugins/table/tablejs/scripts. The class has a series of methods which are triggered from various table actions
    • Can select rows - If set to yes will enure that a check box is created for each row, presuming no other plug-in prevents this. Useful if your table access levels mean that the checkbox would not normally be displayed, but your JS requires the checkbox to be usable.
    Example js script

    Code (Javascript):

     
    //class name needs to be the same as the file name
    var example = new Class({
     
    initialize: function(table)
    {
    this.table = table; //the table js object
    },
     
    //run once the table has run its ondomready event (gives access to this.table.form etc)
    onDomready:function(e){
     
    },
     
    // run when a filter is submitted
    onFilterSubmit:function(e)
    {
    alert('onFilterSubmit');
    var ok = $('tableform_'+this.table.id).getElements('input.fabrik_filter').every(function(f) {
    return f.getValue().length >= 0;
    });
    return ok;
    },
     
    //run when submit button is pressed
    onSubmitTable: function(evnt, task)
    {
    alert('onSubmit: ' + task);
    //return false if you want the form to stop submission
    },
     
    //run when page navigation occurs
    onNavigate: function() {
    alert('onNavigate');
    },
     
    // run when the table is reordered
    onOrder: function() {
    alert('onOrder');
    },
     
    //run when the limit list is changed
    onLimit: function() {
    alert('onLimit');
    }
     
    });