Programming and Exciting Things

Jquery plugin за "странициране"

Published on 17.06.2012

За един от проектите ми беше нужен плъгин който да прави странициране на ниво javascript ( знам че е супер грешен подход за решаване на проблема но това ми беше задачатa :) )
Та за 15тина минутки разписах следния код

(function($) {
    $.VirtualPaging = function(element, options) {
        var defaults = {
            perPage: 10,
            'tablePagingPrefix':'stranicirane'
        };
        var plugin = this;
        plugin.settings = {}
        var $element = $(element),element = element;
        plugin.init = function() {
            plugin.settings = $.extend({}, defaults, options);
            foo_private_method();
        };
        plugin.setPage = function(page){
			$element.find('.'+plugin.settings.tablePagingPrefix).hide();
			$element.find('.'+plugin.settings.tablePagingPrefix+'_'+page).show();
			$element.find('.pager a').removeClass('paging-active');
			$element.find('tfoot a[show_page='+page+']').addClass('paging-active');
		};
        var foo_private_method = function() {
           tr_elemts = $element.find('tbody tr');
           if(tr_elemts.length >= plugin.settings.perPage) {
                broy_stranici = Math.round(tr_elemts.length / plugin.settings.perPage);
                if(broy_stranici < (tr_elemts.length / plugin.settings.perPage)) { broy_stranici = parseInt(broy_stranici+1); }
                ci = 0;
                page_number = 1;
				$.each(tr_elemts,function(i,v){
					ci = parseInt(ci+1);
					if(ci == plugin.settings.perPage) { ci = 0;page_number = parseInt(page_number+1); }
					$(this).addClass(plugin.settings.tablePagingPrefix).addClass(plugin.settings.tablePagingPrefix+'_'+page_number).hide();	
				});
				if($element.find('tfoot').length == 0) {
					$element.append('<tfoot></tfoot>');
				};
				html = '<div style="float:right" class="pager">';
				for(i=1;i<=page_number;i++){
					html += '<a show_page="'+i+'" onclick="$(this).parents(\'table\').first().data(\'VirtualPaging\').setPage('+i+');return false;" href="#">'+i+'</a>';
				}
				html += '</div>';
				$element.find('tfoot').append('<tr> <td style="text-align:right" colspan="'+$element.find('tr').first().find('td').length+'" >'+html+'</td> </tr>');
				plugin.setPage(1);
           };
        };
        plugin.init();
    };
    $.fn.VirtualPaging = function(options) {
        return this.each(function() {
            if (undefined == $(this).data('VirtualPaging')) {
                var plugin = new $.VirtualPaging(this, options);
                $(this).data('VirtualPaging', plugin);
            }
        });
    };
})(jQuery);


Може да се иползва така:
$('#quick_stat_here table').first().VirtualPaging({perPage:30});	
като за момента работи само с таблици.

пс: гледам че syntaxHightler-а не се справя много добре с кода :D та
Download/preview от https://gist.github.com/2943927

Кирилица в Notepad++ под Windows 8

Published on 12.06.2012

От началото на седмицата тествам поредния beta релийз (родна реч омайна сладка...) на Windows та има един досаден проблем с Notepad++ с кирилицата, просто вместо правилните буквички се показват йероглифи. Предполагам че ще бъде фикснат но временно може да се реши чрез следния начин:
1. Отива се до мястото където е инсталирана примерно "C:\Program Files (x86)\Notepad++\"
2. Десен бутон на notepad.exe -> properties и от там в Compability mode
3. Избира се Windows 7 и натискаме ОК
4. Продължаваме да си работим щастливо с notepad++ :D

[php] br2nl

Published on 30.05.2012

Функция която замества br таговете с \n такива

function br2nl($text) {    
		return  preg_replace('/\/is', "\n", $text);
	}

Език свещен....

Published on 24.05.2012

Няколко пъти пиша търкам поста си по повод празника на славянската писменност и култура. Бих искал да кажа доста неща но ще бъде доста негативно от моя страна, така че ще пропусна и нека да благодаря на всичките си учители от началния етап на образованието си дооо така нареченото висше образование и нека след 10-20-30 години текста на "За буквите" от Черноризец Храбър да е валиден
" Ако запиташ гръцките книжовници, като речеш: "Кой ви е създал буквите и превел книгите, или в кое време?", то рядко измежду тях знаят. Обаче ако запиташ славянските азбукарчета, като речеш: "Кой ви е създал азбуката или превел книгите?", всички знаят и в отговор ще рекат: "Св. Константин Философ, наречен Кирил, той ни създаде азбуката и преведе книгите и брат му Методий." И ако попиташ в кое време, то всички знаят и ще рекат, че през времето на гръцкия цар Михаил и на Бориса българския княз...."
за българските зрелостници.

Честит празник!

Developer productivity report

Published on 18.05.2012

Споделям един pdf документ, който ми се струва интересен
http://files.zeroturnaround.com/developer-productivity-report/zeroturnaround-developer-productivity-report-2012.pdf има включени няколко интервюта като основно е наблегнато на Java но предполагам че и с другите езици положението е почти същото.