Embperl

 view release on metacpan or  search on metacpan

eg/forms/js/EmbperlForm.js  view on Meta::CPAN

           event: 'mouseenter',
           solo: true, // Only show one tooltip at a time
           delay: 1000
        },
        hide: {
           event: 'mouseleave click',
           fixed: true,
           delay: 300
        },   
        style: {
           classes: 'ui-tooltip-blue ui-tooltip-shadow',
           xwidget: true
        }
    });

    }



// -----------------------------------------------------------------------------


// -----------------------------------------------------------------------------

function eplGrid (tableelement, rowelement, maxelement, addelement, delelement,
                  upelement, downelement, onchange)
    {
    var self = this ;

    
    $.extend(self, {   
    initialize: function (tableelement, rowelement, maxelement, addelement,
                          delelement, upelement, downelement,
                          onchange)
        {
        this.rowelement   = rowelement ;
        this.maxelement   = maxelement ;
        this.tableelement = tableelement ;
        this.onchangehandler = onchange ;
        
        tableelement.click (function(e) {self.onClick (e)});
        tableelement.focus (function(e) {self.onClick (e)});
        tableelement.keyup (function(e) {self.onClick (e)});
        if (addelement)
            addelement.click (function(e) {self.addRow ()});
        if (delelement)
            delelement.click (function(e) {self.delRow ()});
        if (upelement)
            upelement.click (function(e) {self.upRow ()});
        if (downelement)
            downelement.click (function(e) {self.downRow ()});
    
        //rows = this.tableelement.getElementsByTagName('tr');
        var rows = tableelement.find('tr') ;
        var lastrow = rows.last() ;
        var newid    = this.tableelement[0].id ;    
        newid    = newid + '-row-' ;
        var lastid   = lastrow[0].id ;
        var idlength = newid.length ;
        this.lastnum  = parseInt (lastid.substr(idlength)) ;
        if (isNaN(this.lastnum))
            this.lastnum = -1 ;
        },
    
    
    addRow: function ()
        {
        var rows = this.tableelement.find('tr'); 
        var lastrow = rows.last() ;
    
        this.lastnum  = this.lastnum + 1 ;
        var inserttext = this.rowelement.html() ;
        var newtext  = inserttext.replace (/%row%/gi, this.lastnum) ;
        newtext  = newtext.replace (/<tbody>/gi, '') ;
        newtext  = newtext.replace (/<\/tbody>/gi, '') ;
        newtext  = newtext.replace (/<x-script/gi, '<script') ;
        newtext  = newtext.replace (/<\/x-script/gi, '</script') ;
        lastrow.after (newtext) ;
        this.maxelement[0].value = this.lastnum + 1 ;
        if (this.onchangehandler)
            this.onchangehandler (this.tableelement) ;
        },

    focusRow: function ()
        {
        var next = this.currRow ;
        if (next && next.className == 'cGridRow')
            {
            next.className='cGridRowSelected' ;
            while (next && (next.tagName != 'INPUT' || next.tagName != 'SELECT'))
                {
                next = next.firstChild ;
                }
            if (next)
                next.focus() ;
            }
        },

    delRow: function (row)
        {
        if (row != undefined)
            this.currRow = row ;
        if (this.currRow)
            {
            var next = $(this.currRow).next('tr') ;
            var p = this.currRow.parentNode ;
            p.removeChild(this.currRow) ;
            this.currRow = next[0] ;
            this.focusRow () ;
            if (this.onchangehandler)
                this.onchangehandler (this.tableelement) ;
            }
        },

    
    upRow: function (row) //TODO
        {
        if (row != undefined)
            this.currRow = row ;
        if (this.currRow)
            {



( run in 0.824 second using v1.01-cache-2.11-cpan-39bf76dae61 )