Tuesday, June 13, 2017

Yii CListView ajax load more

Below solution is works fine.
 
InfiniteScroll Extension Path : 

https://github.com/erikuus/Yii-Extensions/tree/master/widgets
 
Implementation:

<?php
        $this->widget('zii.widgets.CListView', array(
                    'dataProvider'=>$dataProvider,
                    'itemView'=>'/jobs/viewJobList',
                    'summaryText'=>false,
                    'emptyText'=>"<p> No Jobs!!!</p>",
                    'id'=>'ajaxJobListView',
                   'template' => '{items} {pager}',
                   'ajaxUpdate'=>true,
                    'pager' => array(
                        'class' => 'ext.infiniteScroll.IasPager',
                        'rowSelector'=>'.row',
                        'listViewId' => 'ajaxJobListView',
                        'header' => '',
                        'loaderText'=>Yii::t('app','Loading'),
                        'options' => array('history' => false, 'triggerPageTreshold' => 1,

 'trigger'=>Yii::t('app','Load More')),
                    ),
                'afterAjaxUpdate'=>"function(id, data) {
                    $.ias({
                        'history': false,
                        'triggerPageTreshold': 1,
                        'trigger': Yii::t('app','Load More'),
                        'container': '#ajaxJobListView',
                        'item': '.row',
                        'pagination': '#ajaxJobListView .pager',
                        'next': '#ajaxJobListView .next:not(.disabled):not(.hidden) a',
                        'loader': Yii::t('app','Loading')
                    });
                }",
            ));?>

Wednesday, April 05, 2017

jQuery - How to convert a Title to a URL slug

Title : <input type="text" name="title" id="title"><br>
Slug  : <input type="text" name="slug-title" id="slug-title">


var slug = function(str) {
    var slug1 = '';
    var trimmed = $.trim(str);
    slug1 = trimmed.replace(/[^a-z0-9-]/gi, '-').
    replace(/-+/g, '-').
    replace(/^-|-$/g, '');
    return slug1.toLowerCase();
}
       
$("#title").keyup(function(){       
    var Text = $(this).val();
    $('#slug-title').val(slug(Text));             
});

$("#slug-title").keyup(function(){       
    var Text = $(this).val();
    $('#slug-title').val(slug(Text));             
});

Output:
Title: 123@345#456&421*322
Slug : 123-345-456-421-322

Demo : https://jsfiddle.net/vasashiner/Ltg06sax/