%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home1/lightco1/www/components/com_jmap/js/
Upload File :
Create Path :
Current File : //home1/lightco1/www/components/com_jmap/js/jquery.treeview.js

(function(e) {
	e.extend(e.fn, {
		swapClass : function(e, t) {
			var n = this.filter("." + e);
			this.filter("." + t).removeClass(t).addClass(e);
			n.removeClass(e).addClass(t);
			return this
		},
		replaceClass : function(e, t) {
			return this.filter("." + e).removeClass(e).addClass(t).end()
		},
		hoverClass : function(t) {
			t = t || "hover";
			return this.hover(function() {
				e(this).addClass(t)
			}, function() {
				e(this).removeClass(t)
			})
		},
		heightToggle : function(e, speed, t) {
			e ? this.animate({
				height : "toggle"
			}, speed, t) : this.each(function() {
				jQuery(this)[jQuery(this).is(":hidden") ? "show" : "hide"]();
				if (t)
					t.apply(this, arguments)
			})
		},
		heightHide : function(e, t) {
			if (e) {
				this.animate({
					height : "hide"
				}, e, t)
			} else {
				this.hide();
				if (t)
					this.each(t)
			}
		},
		prepareBranches : function(e, parentWrappedSet) {
			if (!e.prerendered) {
				this.filter(":last-child:not(ul)").addClass(t.last);

				if(e.collapsed) {
					var branchSelector = '';
					var negativeBranchSelector = new Array();
					jQuery.each(e.contentCollapsed, function(sourceHash, sourceCollapsed){
						if(sourceCollapsed == 2) {
							if(sourceHash.indexOf('com_content') != -1) {
								branchSelector += ":not(ul[data-hash*='" + sourceHash + "'])";
							} else {
								branchSelector += ":not(ul[data-hash='" + sourceHash + "'])";
								negativeBranchSelector.push("ul[data-hash='" + sourceHash + "']");
							}
						}
					});
					if(branchSelector) {
						var filteredUL = parentWrappedSet.filter(branchSelector);
						if(negativeBranchSelector.length) {
							filteredUL.each(function(index, filteredULElement){
								if(!jQuery(filteredULElement).parents(negativeBranchSelector.join()).length) {
									jQuery(filteredULElement).find(">li>ul").hide();			
								}
							});
						} else {
							filteredUL.find(">li>ul").hide();
						}
					} else {
						this.filter(":not(." + t.open + ")").find(">ul").hide();
					}
				}
				
				if(!e.collapsed) {
					var branchSelector = new Array();
					jQuery.each(e.contentCollapsed, function(sourceHash, sourceCollapsed){
						if(sourceCollapsed == 1) {
							if(sourceHash.indexOf('com_content') != -1) {
								branchSelector.push("ul[data-hash*='" + sourceHash + "']");
							} else {
								branchSelector.push("ul[data-hash='" + sourceHash + "']");
							}
						}
					});
					if(branchSelector.length) {
						var filteredUL = parentWrappedSet.filter(branchSelector.join());
						filteredUL.find("li ul").hide();
					}
				}
			}
			return this.filter(":has(>ul)")
		},
		applyClasses : function(n, r) {
			this.filter(":not(.noexpandable):has(>ul):not(:has(>a))").find(">span").off("click.treeview").on("click.treeview", function(t) {
				if (this == t.target)
					r.apply(e(this).next())
			}).add(e("a", this)).hoverClass();
			if (!n.prerendered) {
				this.filter(":not(.noexpandable):has(>ul:hidden)").addClass(t.expandable).replaceClass(t.last, t.lastExpandable);
				this.filter(":not(.noexpandable)").not(":has(>ul:hidden)").addClass(t.collapsable).replaceClass(t.last, t.lastCollapsable);
				var i = this.not(".noexpandable").find("div." + t.hitarea);
				if (!i.length)
					i = this.not(".noexpandable").prepend('<div class="' + t.hitarea + '"/>').find("div." + t.hitarea);
				i.removeClass().addClass(t.hitarea).each(function() {
					var t = "";
					e.each(e(this).parent().attr("class").split(" "), function() {
						t += this + "-hitarea "
					});
					e(this).addClass(t)
				})
			}
			this.find("div." + t.hitarea).off("click.treeview").on("click.treeview", r);
		},
		treeview : function(n) {
			var parentWrappedSet = this;
			function r(n, r) {
				function s(r) {
					return function() {
						i.apply(e("div." + t.hitarea, n).filter(function() {
							return r ? e(this).parent("." + r).length : true
						}));
						return false
					}
				}
				e("a:eq(0)", r).click(s(t.collapsable));
				e("a:eq(1)", r).click(s(t.expandable));
				e("a:eq(2)", r).click(s())
			}
			function i() {
				e(this).parent().find(">.hitarea").swapClass(t.collapsableHitarea, t.expandableHitarea).swapClass(t.lastCollapsableHitarea, t.lastExpandableHitarea).end()
						.swapClass(t.collapsable, t.expandable).swapClass(t.lastCollapsable, t.lastExpandable).find(">ul").heightToggle(n.animated, n.animateSpeed, n.toggle);
				if (n.unique) {
					e(this).parent().siblings().find(">.hitarea").replaceClass(t.collapsableHitarea, t.expandableHitarea).replaceClass(t.lastCollapsableHitarea, t.lastExpandableHitarea).end()
							.replaceClass(t.collapsable, t.expandable).replaceClass(t.lastCollapsable, t.lastExpandable).find(">ul").heightHide(n.animated, n.toggle)
				}
			}
			function s() {
				function t(e) {
					return e ? 1 : 0
				}
				var r = [];
				a.each(function(t, n) {
					r[t] = e(n).is(":has(>ul:visible)") ? 1 : 0
				});
				e.cookie(n.cookieId, r.join(""), n.cookieOptions)
			}
			function o() {
				var t = e.cookie(n.cookieId);
				if (t) {
					var r = t.split("");
					a.each(function(t, n) {
						e(n).find(">ul")[parseInt(r[t]) ? "show" : "hide"]()
					})
				}
			}
			n = e.extend({
				cookieId : "treeview"
			}, n);
			if (n.toggle) {
				var u = n.toggle;
				n.toggle = function() {
					return u.apply(e(this).parent()[0], arguments)
				}
			}
			this.data("toggler", i);
			this.addClass("treeview");
			var a = this.find("li").prepareBranches(n, parentWrappedSet);
			switch (n.persist) {
			case "cookie":
				var f = n.toggle;
				n.toggle = function() {
					s();
					if (f) {
						f.apply(this, arguments)
					}
				};
				o();
				break;
			case "location":
				var l = this.find("a").filter(function() {
					return this.href.toLowerCase() == location.href.toLowerCase()
				});
				if (l.length) {
					var c = l.addClass("selected").parents("ul, li").add(l.next()).show();
					if (n.prerendered) {
						c.filter("li").swapClass(t.collapsable, t.expandable).swapClass(t.lastCollapsable, t.lastExpandable).find(">.hitarea").swapClass(t.collapsableHitarea, t.expandableHitarea)
									  .swapClass(t.lastCollapsableHitarea, t.lastExpandableHitarea)
					}
				}
				break;
			case "none":
				break
			}
			a.applyClasses(n, i);
			if (n.control) {
				r(this, n.control);
				e(n.control).show()
			}
			var h = e("li>span.folder");
			e.each(h, function(t, n) {
				var r = e(n).text();
				var i = r.replace(/^\s+|\s+$/g, "");
				if (i.length == 0) {
					e(n).parent("li").css("list-style-type", "none");
					if (e(n).css("background-image") === "none") {
						e(n).hide()
					}
				}
			});
			return this
		}
	});
	e.treeview = {};
	var t = e.treeview.classes = {
		open : "open",
		closed : "closed",
		expandable : "expandable",
		expandableHitarea : "expandable-hitarea",
		lastExpandableHitarea : "lastExpandable-hitarea",
		collapsable : "collapsable",
		collapsableHitarea : "collapsable-hitarea",
		lastCollapsableHitarea : "lastCollapsable-hitarea",
		lastCollapsable : "lastCollapsable",
		lastExpandable : "lastExpandable",
		last : "last",
		hitarea : "hitarea"
	}
})(jQuery);

jQuery(function($) {
	if(typeof(jmapExpandContentTree) === 'undefined') { jmapExpandContentTree = '{}'; }
	var defaultOptions = {
			persist : jmapExpandLocation,
			collapsed : !jmapExpandAllTree,
			contentCollapsed : JSON.parse(jmapExpandContentTree),
			unique : false,
			animated: jmapAnimated,
			animateSpeed: jmapAnimateSpeed
		};
	$("ul.jmap_filetree").treeview(defaultOptions);
	
	$(function(){
		var recursiveBackground = function(parentElement) {
			var parentBgColor = $(parentElement).css('background-color');
			if((parentBgColor == 'rgba(0, 0, 0, 0)' || parentBgColor == 'transparent') && parentElement.length) {
				recursiveBackground(parentElement.parent());
			} else {
				$('#jmap_sitemap div.jmapcolumn>ul>li>div.lastCollapsable-hitarea').css('background-color', parentBgColor);
				$('#jmap_sitemap div.jmapcolumn>ul>li>div.lastExpandable-hitarea').css('background-color', parentBgColor);
				$('#jmap_sitemap div.jmapcolumn>ul.treeview>li>ul:last-child>li:last-child li.last').addClass('jmap_last_before');
				$('#jmap_sitemap div.jmapcolumn>ul.treeview>li>ul:last-child>li:last-child.last').addClass('jmap_last_before');
				$('#jmap_sitemap div.jmapcolumn>ul.treeview>li>ul:last-child>li.expandable:last-child').addClass('jmap_last_before');
				$('#jmap_sitemap div.jmapcolumn>ul.treeview>li>ul>li.expandable:last-child li.expandable').addClass('jmap_last_before');

				$("<style type='text/css'>li.jmap_last_before.expandable:before,li.jmap_last_before.last:before{ background-color:" + parentBgColor +";</style>").appendTo("head");
			}
		}
		if($('#jmap_sitemap').data('template') == 'mindmap') {
			recursiveBackground($('#jmap_sitemap').parent());
			
			if(jmapDraggableSitemap) {
				var tmp_handler = function(){};
				$('div.jmapcolumn>ul').draggable({
					opacity: .8,
					addClasses: false,
					zIndex: 100,
					distance: 10,
					start : function(event,ui){
						try{
							tmp_handler = $._data( $('span', event.target)[0], "events" ).click[0].handler;
						} catch(e){}
						$('span', this).off('.treeview');
					},
					stop : function(event,ui){
						setTimeout(function(){
							$('span', event.target).on("click.treeview", tmp_handler)
						}, 300);
						
						try {
							if(document.elementFromPoint) {
								var elementOnCoordinates = document.elementFromPoint(ui.offset.left - 1, ui.offset.top - 1);
								var parentBgColor = 'rgba(0, 0, 0, 0)';
								var recursiveElementOnCoordinatesBackground = function(parentElement) {
									parentBgColor = parentElement.css('background-color');
									if((parentBgColor == 'rgba(0, 0, 0, 0)' || parentBgColor == 'transparent') && parentElement.length) {
										recursiveElementOnCoordinatesBackground(parentElement.parent());
									}
									return parentBgColor;
								}
								
								var elementOnCoordinatesBgColor = recursiveElementOnCoordinatesBackground($(elementOnCoordinates));
								var uniqueID = 'repositioned' + Math.floor((Math.random() * 100) + 1);
								$(event.target).attr('id', uniqueID);
								$('#' + uniqueID + '>li:first-child>div.lastCollapsable-hitarea').css('background-color', elementOnCoordinatesBgColor);
								$('#' + uniqueID + '>li:first-child>div.lastExpandable-hitarea').css('background-color', elementOnCoordinatesBgColor);
								$("<style type='text/css'>#" + uniqueID + " li.jmap_last_before.expandable:before,#" + uniqueID + " li.jmap_last_before.last:before{ background-color:" + elementOnCoordinatesBgColor +";</style>").appendTo("head");
							}
						} catch(e){}
					}
				});
			}
		}
	});
	
	if(jmapExpandFirstLevel) {
		$('div.jmapcolumn>ul>li.expandable.lastExpandable>div.hitarea').trigger('click');
	}
	
	if(!$.isEmptyObject(jmapLinkableCatsSources)) {
		$.each(jmapLinkableCatsSources, function(linkableList, linkableMode){
			var dataSourcePromise = $.Deferred(function(defer) {
				setTimeout(function(){
					var ulCategoryList = $('ul[data-hash=' + linkableList + ']').get(0);
					if(!ulCategoryList) return;
					var ulCategoryListLinks = $('a', $(ulCategoryList));
					if(!ulCategoryListLinks.length) return;
					defer.resolve(ulCategoryList, ulCategoryListLinks, linkableList, linkableMode);
				}, 0);
			}).promise();
			
			dataSourcePromise.then(function(ulCategoryList, ulCategoryListLinks, linkableList, linkableMode) {
				if(linkableMode == 'yeshide') {
					$('ul[data-hash=' + linkableList + ']').hide();
				}
				var struct = {};
				$.each(ulCategoryListLinks, function(index, link){
					var href = $(link).attr('href');
					var pkey = $(link).text();
					struct[pkey] = href;
				});
				var target = $(ulCategoryListLinks.get(0)).attr('target');
				var targetString = target ? 'target="' + target + '"' : 'target="_self"';
				var ulLinkableLists = $('ul[data-hash="' + linkableList + '\.items"]');
				$.each(ulLinkableLists, function(index, singleLinkableList){
					var spansToReplace = $('ul.jmap_filetree span.folder', singleLinkableList);
					$.each(spansToReplace, function(k, spanElem){
						var spanElemPKey = $(spanElem).text();
						if(struct[spanElemPKey]) {
							$(spanElem).text('');
							$(spanElem).append('<a ' + targetString + ' href="' + struct[spanElemPKey] + '">' + spanElemPKey + '</a>');
						}
					});
				});
			});
		});
	}
	
	if(!$.isEmptyObject(jmapMergeMenuTree)) {
		$.each(jmapMergeMenuTree, function(mergebleListIdentifier, linkableMode) {
			var dataSourcePromise = $.Deferred(function(defer) {
				if(mergebleListIdentifier == 'com_content') {return;}
				setTimeout(function(){
					var ulCategoryList = $('ul[data-hash="' + mergebleListIdentifier + '"]');
					if(!ulCategoryList.length) return;
					if(linkableMode == 'yeshide') {
						$('ul[data-hash="' + mergebleListIdentifier + '"]').hide();
					}
					
					var ulCategoryListUl = $('ul[data-hash^="' + mergebleListIdentifier + '"]', $(ulCategoryList));
					if(!ulCategoryListUl.length) return;
					
					defer.resolve(ulCategoryListUl, mergebleListIdentifier, linkableMode);
				}, 0);
			}).promise();
			
			dataSourcePromise.then(function(ulCategoryListUl, mergebleListIdentifier, linkableMode) {
				var struct = {};
				$.each(ulCategoryListUl, function(index, listUl){
					var dataHash = $(listUl).data('hash');
					var pkey = $('a', listUl).text();
					struct[pkey] = dataHash;
				});
				
				var ulItemsAnchors = $('ul[data-hash="' + mergebleListIdentifier + '\.items"] span.folder');
				$.each(ulItemsAnchors, function(index, ulItemsAnchor){
					var anchorElemPKey = $(ulItemsAnchor).text();
					if(struct[anchorElemPKey]) {
						var targetUlToAppend = $(ulItemsAnchor).parents('ul.jmap_filetree').get(0);
						var clonedDomElement = $(targetUlToAppend).clone(true, true).css('display', 'block');
						$('ul.jmap_filetree li[data-hash="' + struct[anchorElemPKey] + '"]').append(clonedDomElement);
					}
				});
				
				if(linkableMode == 'yeshide') {
					$('ul[data-hash="' + mergebleListIdentifier + '\.items"]').hide();
				}
			});
			
			var dataSourceContentPromise = $.Deferred(function(defer) {
				if(mergebleListIdentifier != 'com_content') {return;}
				setTimeout(function(){
					var ulCategoryContentList = $('ul.jmap_filetree[data-hash^="' + mergebleListIdentifier + '"]');
					if(!ulCategoryContentList.length) return;
					if(linkableMode == 'yeshide') {
						$('ul.jmap_filetree[data-hash^="' + mergebleListIdentifier + '"]').hide();
					}
					
					defer.resolve(ulCategoryContentList, mergebleListIdentifier, linkableMode);
				}, 0);
			}).promise();
			
			dataSourceContentPromise.then(function(ulCategoryContentList, mergebleListIdentifier, linkableMode) {
				$.each(ulCategoryContentList, function(index, ulCategoryContent) {
					var sourceHash = $(ulCategoryContent).data('hash');
					var clonedDomElement = $(ulCategoryContent).clone(true, true).css('display', 'block');
					$('ul.jmap_filetree li[data-hash="' + sourceHash + '"]').append(clonedDomElement);
				});
			});
		});
	}
	
	if(jmapMergeAliasMenu) {
		var dataSourceMenuAliasPromise = $.Deferred(function(defer) {
			setTimeout(function(){
				var ulMenuMergeAliasList = $('ul.jmap_filetree_menu li[data-merge]');
				if(!ulMenuMergeAliasList.length) return;
				defer.resolve(ulMenuMergeAliasList);
			}, 0);
		}).promise();
		
		dataSourceMenuAliasPromise.then(function(ulMenuMergeAliasList) {
			var allMenuLinksToEvaluate = $('ul.jmap_filetree_menu li:not([data-merge]) a').filter(function(){
				return $(this).parents('li[data-merge]').length ? false : true;
			});
			$.each(allMenuLinksToEvaluate, function(index, menuLinkToEvaluate) {
				var hrefLink = $(menuLinkToEvaluate).attr('href');
				$.each(ulMenuMergeAliasList, function(k, originalMergeSource){
					var $originalMergeSource = $(originalMergeSource);
					var currentDataMerge = $(originalMergeSource).data('merge');
					var currentElementMerge = $('ul', $originalMergeSource).get(0);
					if(currentElementMerge && currentDataMerge == hrefLink) {
						var clonedDomElement = $(currentElementMerge).clone(true, true).css('display', 'block');
						var parentsUL = $originalMergeSource.parents('ul:not(.jmap_filetree_menu )');
						var directLIParent = $($originalMergeSource.parents('li.collapsable').get(0));
						$originalMergeSource.remove()
						if(!$('li', parentsUL).length) {
							parentsUL.parents('ul.jmap_filetree_menu').remove();
						}
						if(!$('li', directLIParent).length) {
							directLIParent.removeClass('collapsable lastCollapsable');
						}
						$(menuLinkToEvaluate).after(clonedDomElement);
						$(menuLinkToEvaluate).before('<div class="hitarea collapsable-hitarea"></div>');
						$($(menuLinkToEvaluate).parents('ul').get(0)).treeview(defaultOptions);
					}
				});
			});
		});
	}
});

Zerion Mini Shell 1.0