AnonSec Shell
Server IP : 162.214.74.102  /  Your IP : 216.73.217.80
Web Server : Apache
System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64
User : lrsys ( 1015)
PHP Version : 5.6.40
Disable Function : exec,passthru,shell_exec,system
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/lrsys/public_html/lrsys_projetos/sopizzas/assets/js/front-end/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/lrsys/public_html/lrsys_projetos/sopizzas/assets/js/front-end/dom.selectizing.js
;(function( $, window, undefined ){

	$.fn.selectizing = function( options ){

		// default options
        var settings = $.extend({
            color: "#7d7d7d",
            background: "#777",
            title: '',
            valueHidden: '',
			change: function(){}, // event change
        }, options );

		return this.each(function() {

			var selectParent = this,
				$selectParent = $(this);
				$selectParent.hide();

			var listItems = [],
				initialWidth,
				firstTitle = settings.title;

			// preparing array with select options
			if( $selectParent.children('option').length == 0 )  return;
			$selectParent.children('option').each(function(){
				var listItem = $(this),
					title = listItem.text(),
					selected = listItem.is(':selected') ? 1 : 0;
					if(selected && firstTitle == '') firstTitle = title;

				listItems.push({
					value: listItem.attr('value'),
					text: title,
					selected: selected,
				})

			});

			// create a DOM Selectizing element
			var domSelectizing = document.createElement('ul');
				domSelectizing.classList.add('dom-selectizing');

			var domSelectizingClone = document.createElement('ul');
				domSelectizingClone.classList.add('dom-selectizing-clone');

			var liFirst = document.createElement('li');

			var spanArrow = document.createElement('span');
				spanArrow.classList.add('arrow');
				spanArrow.classList.add('ion-chevron-right');
				spanArrow.style.backgroundColor = settings.background;
				spanArrow.style.color = settings.color;

			var spanTitle = document.createElement('span');
				spanTitle.classList.add('title');
				spanTitle.style.backgroundColor = settings.background;
				spanTitle.style.color = settings.color;
				spanTitle.innerHTML = firstTitle.replace("Today :", '<span class="thisday">Today :</span>');

			var spanSearch = document.createElement('span');
				spanSearch.classList.add('search');
				spanSearch.style.backgroundColor = settings.background;
				spanSearch.style.color = settings.color;

			var inputSearch = document.createElement('input');
				inputSearch.type = 'text';
				inputSearch.classList.add('input-search');
				inputSearch.style.color = settings.color;

			var ulChild = document.createElement('ul');

			var numVisibleOptions = 0;

			// create each option elements
			for (var listItem in listItems) {
			    var item = listItems[listItem];

		    	var liOption = document.createElement('li');
		    		liOption.value = item.value;
		    		if(item.selected) liOption.classList.add('selected');
		    		if(item.value == settings.valueHidden) liOption.classList.add('hidden');
					else {numVisibleOptions += 1; $(liOption).attr('data-element', numVisibleOptions);}
		    		liOption.innerHTML = (item.text).replace("Today :", '<span class="thisday">Today :</span>');
		    		//alert(item.html);

		    	// adding liOption elements to ulChild element
		    	ulChild.appendChild(liOption);
			}

			// adding data-elements attribute to ulChild
			$(ulChild).attr('data-elements', numVisibleOptions);

			// adding elements into their parent elements
			spanSearch.appendChild(inputSearch);

			
			liFirst.appendChild(spanTitle);
			liFirst.appendChild(spanArrow);

			// creating clone domSelectizing for responsive purpose
			var clonedLiFirst = liFirst.cloneNode(true);
			domSelectizingClone.appendChild(clonedLiFirst);

			liFirst.appendChild(spanSearch);
			liFirst.appendChild(ulChild);
			domSelectizing.appendChild(liFirst);

    		// add DOM Selectizing to DOM fust after his own select
    		$selectParent.before(domSelectizingClone);
    		$selectParent.after(domSelectizing);

    		// adding some css to DOM Selectizing box
    		initialWidth = domSelectizing.clientWidth + 'px';
			// spanTitle.style.width = initialWidth;
			// spanSearch.style.width = initialWidth;
			// $(domSelectizingClone).find('.title').css('width', initialWidth);

			// preparing some variables
			var $DomSelectizing = $(domSelectizing),
				$DomSelectizingClone = $(domSelectizingClone),
				$spanTitle = $DomSelectizing.find('.title'),
		  		$inputFind = $DomSelectizing.find('.input-search'),
		  		$listOptions = $DomSelectizing.find('li > ul > li'),
		  		$firstSelected = $DomSelectizing.find('li > ul > li.selected');

		  	$DomSelectizingClone.click(function(e) {
		  		$(this).next().next().click();
		  	});

			// handle active select
			$DomSelectizing.click(function(e) {
			  	e.stopPropagation();

			  	var isOpened = $(this).hasClass('open') ? true : false;

			  	$(this).removeClass('search-active');
			  	$inputFind.val('');
			  	$firstSelected = $(this).find('.selected');

			  	// closing other DOM Selectizing elements openeds
			  	var allDomSelectizing = document.querySelectorAll('.dom-selectizing');
			  	for(var selectizing in allDomSelectizing) {
			  		var ul = allDomSelectizing[selectizing];
			  		if(ul.tagName == 'UL') ul.classList.remove('open');
			  	}

			  	if( isOpened ) {
			  		$(this).removeClass('open');
			  	} else {
			  		$(this).addClass('open');
			  		$inputFind.focus();
			  	}

			  	$listOptions.show();
			}) // end click function

			// handle choose option
			$listOptions.click(function(e){
				var value = $(this).val(),
					title = $(this).text();

				if( $(this).hasClass('selected') ){
					//
				} else {
					$listOptions.removeClass('selected');
					$(this).addClass('selected');
				}

				$DomSelectizing.prev().prev().find('.title').text(title);
				$spanTitle.html(title.replace("Today :", '<span class="thisday">Today :</span>'));
				$selectParent.val(value);
				settings.change.call(selectParent); // call event change
			}) // end click function

			// handle search
			$inputFind.keyup(function(e) {
				var value = $(this).val(),
					keyPressed = e.keyCode,
					$ulOptionsList = $(this).parent().next(),
					$optionSelected = $ulOptionsList.find('.selected'),
					$nextOption = $optionSelected.nextAll(':visible:first'),
					$prevOption = $optionSelected.prevAll(':visible:first');

				if(keyPressed == 40) { // 40 -> arrow down
					$nextOption = $nextOption.is('li') ? $nextOption : $ulOptionsList.find(':visible:first');

					$ulOptionsList.children().removeClass('selected');
					$nextOption.addClass('selected');
				}

				if(keyPressed == 38) { // 38 -> arrow up
					$prevOption = $prevOption.is('li') ? $prevOption : $ulOptionsList.find(':visible:last');

					$ulOptionsList.children().removeClass('selected');
					$prevOption.addClass('selected');
				}

				if(keyPressed == 27) { //  8 -> escape
					$DomSelectizing.removeClass('open search-active');
					$ulOptionsList.children().removeClass('selected');
					$firstSelected.addClass('selected');
					$(this).val('');
				}

				if(keyPressed == 13) { //  13 -> enter
					var optionSelected = $(this).parent().next().find('li.selected');
					optionSelected.click();
					return true;
				}

				if(keyPressed == 8) { //  8 -> backspace
					$ulOptionsList.children().removeClass('selected');
					$ulOptionsList.find(':visible:first').addClass('selected');
				}

				var usedKeyCodes = new Set([13, 27, 38, 40]);
				if( !usedKeyCodes.has(keyPressed) ) { // not enter, not arrow down, not arrow up
				    if(value) {
						$DomSelectizing.addClass('search-active');
						$listOptions.each(function() {
							if( $(this).text().search(new RegExp(value, "i")) < 0 ) { // not is in list
								$(this).fadeOut(0, function(){
									if($(this).hasClass('selected')) {
										$(this).removeClass('selected');
										$ulOptionsList.find(':visible:first').addClass('selected');
									}
							    });
							} else { // is in list
								$(this).fadeIn();
							}
						});
					} else {
						$DomSelectizing.removeClass('search-active');
						$listOptions.fadeIn();
						$ulOptionsList.children().removeClass('selected');
						$ulOptionsList.find(':visible:first').addClass('selected');
					}
				}
			}) // end keyup function

		});

	}

})(jQuery, window)

Anon7 - 2022
AnonSec Team