835 lines
30 KiB
JavaScript
Executable File
835 lines
30 KiB
JavaScript
Executable File
// JavaScript Document
|
|
//harry
|
|
//Inititialize function will initialize desktop
|
|
|
|
|
|
|
|
$.extend($.expr[':'], {
|
|
'containsi': function (elem, i, match, array) {
|
|
return (elem.textContent || elem.innerText || '').toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
|
|
}
|
|
});
|
|
$.fn.sort = function(c) {
|
|
return this.pushStack([].sort.apply(this, arguments), []);
|
|
};
|
|
var sortAscending = function(a, b) {
|
|
return $(a).find("h1").text() > $(b).find("h1").text() ? 1 : -1;
|
|
};
|
|
var sortDescending = function(a, b) {
|
|
return $(a).find("h1").text() < $(b).find("h1").text() ? 1 : -1;
|
|
};
|
|
|
|
var orbitDesktop = function(dom){
|
|
orbitDesktopAPI.apply(this);
|
|
o = this;
|
|
this.contentHolder = dom;
|
|
this.themesettings = "";
|
|
this.theme = "4f8d3f493b67fcd05f086359";
|
|
// this.themefolder = "themes";
|
|
this.transitionTime = 500;
|
|
this.currenthtml = "desktop.html";
|
|
this.currentface = "home";
|
|
this.desktopData = {"home":"","settings":"","work":"","favorite":"","apps_manager":"","sections":"","journal_p":""};
|
|
this.tp = "";
|
|
this.sectionList;
|
|
this.initialize = function(){
|
|
var theme = o.theme;
|
|
var custom = false;
|
|
$.getJSON("/desktop/get_desktop_settings",{"get":"desktop","desktopid":o.desktopId},function(desktopSettings){
|
|
if(desktopSettings){
|
|
if(desktopSettings.theme!="custom"){
|
|
theme = desktopSettings.theme;
|
|
}else{
|
|
theme = "4f8d3f493b67fcd05f086359";
|
|
custom = true;
|
|
}
|
|
o.theme = theme;
|
|
loadTheme(desktopSettings.customtheme,desktopSettings.wallpaper);
|
|
}else{loadTheme();}
|
|
})
|
|
var loadTheme = function(customtheme,customwallpaper){ //This function will load the theme from database
|
|
$.getJSON("/"+o.themefolder+"/"+theme+"/settings/"+theme+".json",function(ts){
|
|
o.themesettings = eval(ts);
|
|
$('head').append( $('<link rel="stylesheet" id="dyn_css" type="text/css" />').attr('href', "/"+o.themefolder+"/"+theme+"/css/"+ts.css));
|
|
if(custom){
|
|
$("head").find("#dyn_css").remove();
|
|
$("head").append(customtheme);
|
|
}
|
|
$(document).ready(function(){o.loadWallpaper(customwallpaper);o.bindDesktopEvents();o.loadIconCache();o.initializeDesktop();});
|
|
})
|
|
}
|
|
};
|
|
this.changeTheme = function(theme){ // this function is used for changing theme
|
|
o.theme = theme;
|
|
$.getJSON("/"+o.themefolder+"/"+theme+"/settings/"+theme+".json",function(ts){
|
|
o.themesettings = eval(ts);
|
|
$('head').find("#dyn_css").remove();
|
|
$('head').append( $('<link rel="stylesheet" id="dyn_css" type="text/css" />').attr('href', "/"+o.themefolder+"/"+theme+"/css/"+ts.css));
|
|
o.loadWallpaper();
|
|
o.loadIconCache();
|
|
})
|
|
};
|
|
this.bindDesktopEvents = function(){ //this function will bind the global handlers to thd desktop, for example doc
|
|
$("a#d_app_manager").click(function(){
|
|
var target = $(this).attr("href");
|
|
if(o.currenthtml!=target){
|
|
o.desktopData[o.currentface] = $(o.contentHolder).html();
|
|
$("#content").hide("drop",o.transitionTime,function(){
|
|
o.initializeAppSearch(target);
|
|
});
|
|
}
|
|
});
|
|
$("a#d_desktop").click(function(){
|
|
var target = $(this).attr("href");
|
|
if(o.currenthtml!=target){
|
|
o.desktopData[o.currentface] = $(o.contentHolder).html();
|
|
$("#content").hide("drop",o.transitionTime,function(){
|
|
o.initializeDesktop(target);
|
|
});
|
|
}
|
|
});
|
|
$("a#d_sections").click(function(){
|
|
var target = $(this).attr("href");
|
|
if(o.currenthtml!=target){
|
|
o.desktopData[o.currentface] = $(o.contentHolder).html();
|
|
$("#content").hide("drop",o.transitionTime,function(){
|
|
o.initializeSectionsManager(target);
|
|
});
|
|
}
|
|
});
|
|
$("#d_journal_p").click(function(){
|
|
var target = $(this).attr("href");
|
|
if(o.currenthtml!=target){
|
|
o.desktopData[o.currentface] = $(o.contentHolder).html();
|
|
$("#content").hide("drop",o.transitionTime,function(){
|
|
o.initializeJournalPapers(target);
|
|
});
|
|
}
|
|
});
|
|
$("a#d_settings").click(function(){
|
|
var target = $(this).attr("href");
|
|
if(o.currenthtml!=target){
|
|
o.desktopData[o.currentface] = $(o.contentHolder).html();
|
|
$("#content").hide("drop",o.transitionTime,function(){
|
|
o.initializeSettings(target);
|
|
});
|
|
}
|
|
});
|
|
$(window).resize(function(){
|
|
var ww = $(window).width();
|
|
$("img#thmbackground").attr({"width":ww});
|
|
});
|
|
var $widget_fn = $('.widget_fn'),$fn_des = $('.fn_des');
|
|
$widget_fn.hover(function(){
|
|
var fn_name = $(this).find('img').attr('alt'),nth = $(this).parents('.d_cate').index(),des_left = $('.dock_child').eq(nth).width();
|
|
$(this).addClass('thmc1');
|
|
$fn_des.text(fn_name).css({'top':nth * 60,'left': des_left + 60}).stop(true, true).fadeIn();
|
|
},function(){
|
|
$(this).removeClass('thmc1');
|
|
$fn_des.stop(true, true).fadeOut();
|
|
});
|
|
};
|
|
|
|
this.initializeDesktop = function(target){ //this is for initializing main desktops that are sections and tiles
|
|
if(!target)target = "desktop";
|
|
o.currenthtml = target;
|
|
o.currentface = "home";
|
|
|
|
var extraspace = 300;
|
|
var currentElement, elementParent, targetParent, tempElement, widthcheck;
|
|
widthcheck = false;
|
|
var bindHandlers = function(){ // this function will bind all the handlers in the desktop
|
|
var groupWrapperWidth = 0;
|
|
var groupWrapperHeight = 0;
|
|
$('div#desktop div.group').width(800);
|
|
$("div#desktop .element").mousedown(function(){
|
|
currentElement = $(this);
|
|
elementParent = $(this).parent();
|
|
})
|
|
$("div#desktop .group").mouseenter(function(){
|
|
targetParent = $(this);
|
|
})
|
|
$("div#desktop .group").each(function(){groupWrapperWidth+=$(this).width();})
|
|
groupWrapperWidth+=200;
|
|
groupWrapperHeight = $(".group").height() + 20;
|
|
// groupWrapperHeight = (groupWrapperHeight > ($(window).height()-extraspace))? $(window).height()-extraspace:groupWrapperHeight;
|
|
$("div#desktop #group_wrapper").css("width",groupWrapperWidth);
|
|
var first = true;
|
|
$("div#desktop .grp").sortable({
|
|
connectWith: ".grp",
|
|
tolerance: 'pointer' ,
|
|
revert:true,
|
|
stop:function(){
|
|
o.tp = targetParent.height();
|
|
var currentElementWidth = currentElement.width();
|
|
var targetElementWidth = targetParent.width();
|
|
if(targetParent.height()>540){
|
|
//targetParent.width(currentElement.width());
|
|
var newWidth = targetElementWidth+currentElementWidth;
|
|
targetParent.css("max-width",newWidth);
|
|
var newParentWidth = $("div#desktop #group_wrapper").width()+currentElementWidth;
|
|
$("div#desktop #group_wrapper").css("width",newParentWidth);
|
|
}else if(targetParent.height()<540){
|
|
var newWidth = targetElementWidth - (540-targetElementWidth);
|
|
targetParent.css("max-width",newWidth);
|
|
var newParentWidth = $("div#desktop #group_wrapper").width()+currentElementWidth;
|
|
$("div#desktop #group_wrapper").css("width",newParentWidth);
|
|
}
|
|
first = true;
|
|
},
|
|
update:function(){
|
|
if(first){
|
|
first = false;
|
|
var newpostitions = new Array;
|
|
var groupids = new Array;
|
|
$.each($("div#desktop .group"),function(i,grp){
|
|
var groupone = new Array;
|
|
groupids.push($(grp).attr("id"));
|
|
$ul = $(grp).find("ul.grp li");
|
|
$.each($ul,function(){
|
|
groupone.push($(this).attr("id"));
|
|
})
|
|
newpostitions.push(groupone);
|
|
});
|
|
$.post("/desktop/newpositions",{"sectionid":o.sectionId,"newpos":newpostitions,"groupids":groupids})
|
|
}
|
|
}
|
|
});
|
|
$('div#desktop .tinycanvas')
|
|
.tinyscrollbar({ axis: 'x' })
|
|
.find('.scrollbar')
|
|
.delay(1500)
|
|
.addClass('op00', 500);
|
|
|
|
// simple dropdown menu
|
|
var $sdm = $('.sdm');
|
|
|
|
if( !$sdm.children('.sdm_o') ){
|
|
return;
|
|
} else {
|
|
$sdm.hover(function(){
|
|
$(this).addClass('thmc2');
|
|
}, function(){
|
|
$(this).removeClass('thmc2');
|
|
});
|
|
}
|
|
|
|
}
|
|
var loadTiles = function(id){ //This will load tiles for a specific desktop .. id of section has to be passed here to load tiles
|
|
$("div#desktop div#group_wrapper").empty();
|
|
$.getJSON("/desktop/getgroups",{sectionid:id},function(groups){
|
|
var tilecolors = o.themesettings.tilecolor;
|
|
var opacity = ["op05","op06","op07","op08","op09"];
|
|
$.each(groups,function(i,group){
|
|
group.sort(o.sortJSON("position",true,parseInt));
|
|
var $group = $('<div class="group"><ul class="grp ui-sortable"></ul></div>');
|
|
$.each(group,function(j,tile){
|
|
var tilecolor = tilecolors[Math.floor(Math.random()*tilecolors.length)];
|
|
var op = opacity[Math.floor(Math.random()*opacity.length)];
|
|
if(j==0)$group.attr("id",tile.group_id);
|
|
|
|
if(tile.data_category == "app")
|
|
$li = $('<li id="'+tile._id+'" class="element '+tile.shape+' hp vp" data-category="'+tile.data_category+'" data-content="'+tile.data_content+'"><span class="tile '+tilecolor+' '+op+'"></span><a href="'+tile._id+'" class="appicon" onclick="return false;"><img src="'+o.iconPath+tile.data_content+'.png" alt="" ></a><h1 class="appname thmtxt">'+tile.title+'</h1></li>');
|
|
else
|
|
$li = $('<li id="'+tile._id+'" class="element '+tile.shape+' hp vp" data-category="'+tile.data_category+'" data-content="'+tile.data_content+'"><span class="tile '+tilecolor+' '+op+'"></span><h1 class="appname thmtxt">'+tile.title+'</h1><div class="appholder">Loading...</div></li>');
|
|
$group.find("ul").append($li);
|
|
})
|
|
$("div#desktop div#group_wrapper").append($group);
|
|
})
|
|
bindHandlers();
|
|
o.initializeWidgets();
|
|
})
|
|
}
|
|
var loadSectionList = function(){ //This will load the section list from the db
|
|
$.getJSON("/desktop/getsectionlist",{desktopid:o.desktopId},function(sectionlist){
|
|
o.sectionList = eval(sectionlist);
|
|
$.each(sectionlist,function(i,section){
|
|
var tempstyle="";
|
|
if(i==0){
|
|
tempstyle = "style='display:none;'";
|
|
$("div#desktop span#section_heading").text(section.name);
|
|
}
|
|
$("div#desktop ul#section_list").append($('<li class="section_name" '+tempstyle+'><a class="admtxt hp w2 hh2" onclick="return false;" href="'+section._id+'" >'+section.name+'</a></li>'));
|
|
})
|
|
bindSecondaryHandlers();
|
|
})
|
|
}
|
|
var bindSecondaryHandlers = function(){ //This is the secondary bind handler function which is used to bind events which are repeatative
|
|
$("div#desktop ul#section_list li.section_name").click(function(){
|
|
$("div#desktop li.section_name").show();
|
|
$(this).hide();
|
|
$("div#desktop span#section_heading").text($(this).text());
|
|
o.sectionId = $(this).find("a").attr("href");
|
|
loadTiles(o.sectionId);
|
|
})
|
|
}
|
|
|
|
if(!o.desktopData[o.currentface]){
|
|
$(o.contentHolder).empty().load("/desktop/"+target,function(){
|
|
loadTiles(o.sectionId);
|
|
loadSectionList();
|
|
});
|
|
}else{
|
|
$(o.contentHolder).html(o.desktopData[o.currentface]);
|
|
bindHandlers();
|
|
o.initializeWidgets();
|
|
bindSecondaryHandlers();
|
|
$("div#desktop ul#section_list").empty();
|
|
$.each(o.sectionList,function(i,section){
|
|
var tempstyle="";
|
|
if(section._id==o.sectionId){
|
|
tempstyle = "style='display:none;'";
|
|
$("div#desktop span#section_heading").text(section.name);
|
|
}
|
|
$("div#desktop ul#section_list").append($('<li class="section_name" '+tempstyle+'><a class="admtxt hp w2 hh2" onclick="return false;" href="'+section._id+'" >'+section.name+'</a></li>'));
|
|
})
|
|
bindSecondaryHandlers();
|
|
}
|
|
};
|
|
|
|
this.tempFunc = function(th){
|
|
o.confirm("What","","",function(reply){
|
|
alert(reply);
|
|
})
|
|
};
|
|
|
|
this.initializeAppSearch = function(target){ //this is application search ie is app manager initialization
|
|
o.currenthtml = target;
|
|
o.currentface = "apps_manager";
|
|
var searchArray,allApps;
|
|
var bindHandlers = function(){ // bind handler for app manager page
|
|
$("div#app_manager #group_wrapper").css("min-width",$(window).width()-100);
|
|
$("div#app_manager .group_search").css("width",$(window).width()-200);
|
|
//for textbox search
|
|
$("div#app_manager #searchbox").focus(function(){$(this).val("");}).keyup(function(e){
|
|
if($(this).val()){
|
|
$("div#app_manager .search_result").empty();
|
|
$("div#app_manager #seperator").hide();
|
|
searchArray = $("div#app_manager .element:containsi("+$(this).val()+")");
|
|
if(searchArray.length>0){
|
|
$("div#app_manager #seperator").show();
|
|
searchArray.each(function(){
|
|
var $newelement = $('<div class="search element w1 h1 hp vp thmc2" data-category="desktop">'+$(this).html()+'</div>');
|
|
$("div#app_manager .search_result").prepend($newelement);
|
|
})
|
|
}
|
|
}else{$("div#app_manager #seperator").hide();$("div#app_manager .search_result").empty();}
|
|
}).blur(function(){$(this).val("Search");});
|
|
|
|
//for Alphabet sorting
|
|
$("div#app_manager a#alphabet_sort_btn").click(function(){
|
|
switch ($(this).attr("href")){
|
|
case "ascending":
|
|
$(this).attr("href","descending").find(".thmtxt").text("Alphabet [Z-A]");
|
|
allApps = $("div#app_manager .group_search .element").sort(sortAscending);
|
|
break;
|
|
case "descending":
|
|
$(this).attr("href","ascending").find(".thmtxt").text("Alphabet [A-Z]");
|
|
allApps = $("div#app_manager .group_search .element").sort(sortDescending);
|
|
break;
|
|
}
|
|
|
|
$("div#app_manager .group_search").html(allApps);
|
|
return false;
|
|
})
|
|
$('.tinycanvas')
|
|
.tinyscrollbar({ axis: 'x'})
|
|
.find('.scrollbar')
|
|
.delay(1500)
|
|
.addClass('op00', 500);
|
|
}
|
|
var loadApps = function(){ //this load apps for sorting and searching
|
|
$.getJSON("/desktop/getapplist",{desktopid:o.desktopId},function(appss){
|
|
$.each(appss,function(i,apps){
|
|
$.each(apps,function(i,app){
|
|
var $div;
|
|
$div = $('<div class="element w1 h1 hp vp thmc2" data-category="'+app.data_category+'" data-content="'+app.data_content+'"><span class="tile thmc2"></span><a href="'+app._id+'" class="appicon"><img src="'+o.iconPath+app.data_content+'.png" alt="" onclick="return false;"></a><h1 class="appname thmtxt">'+app.title+'</h1></div>');
|
|
$("#app_list").append($div);
|
|
})
|
|
})
|
|
|
|
bindHandlers();
|
|
})
|
|
}
|
|
if(!o.desktopData[o.currentface]){
|
|
$(o.contentHolder).empty().load("/desktop/"+target,function(){
|
|
loadApps();
|
|
});
|
|
}else{
|
|
$(o.contentHolder).html(o.desktopData[o.currentface]);
|
|
bindHandlers();
|
|
}
|
|
};
|
|
this.initializeSectionsManager = function(target){ // this is init function for section manager
|
|
o.currenthtml = target;
|
|
o.currentface = "sections";
|
|
var elementParent,element,slabel;
|
|
var bindHandlers = function(){ // this is bind handler for section manager page
|
|
var groupWrapperWidth = 0;
|
|
$("div#sections .group").width(400);
|
|
$("div#sections .group").each(function(){groupWrapperWidth+=$(this).width();})
|
|
groupWrapperWidth+=200;
|
|
groupWrapperHeight = $(".group").height() + 20;
|
|
$("#group_wrapper").width(groupWrapperWidth);
|
|
$("div#sections #group_wrapper .grp").sortable({
|
|
start:function(){
|
|
slabel = $(this).siblings('.section_label');
|
|
slabel.find('li:hidden').stop(1,1).fadeIn(500);
|
|
},
|
|
stop:function(){
|
|
slabel.find('li:not(:nth-child(1))').stop(1,1).fadeOut(500);
|
|
}
|
|
});
|
|
$("div#sections .section_label li:not(:nth-child(1))").droppable({
|
|
drop:function(event, ui){
|
|
elementParent = ui.draggable.parents('.group');
|
|
var $item = $( this ),
|
|
$list = $( '#'+$item.data("category") );
|
|
|
|
if($list.children('.element').length>=24){
|
|
o.notify("Section is full.","alert");
|
|
}
|
|
else{
|
|
ui.draggable.hide('fast',function(){
|
|
$(this).appendTo($list).fadeIn();
|
|
});
|
|
$.post("/desktop/save_desktop_settings",{"save":"appnewsection","appid":ui.draggable.attr("id"),"newsectionid":$(this).data("content"),"desktopid":o.desktopId});
|
|
if(o.sectionId == $(this).data("content") || o.sectionId == elementParent.attr("id")){
|
|
o.desktopData["home"]="";
|
|
}
|
|
}
|
|
$(this).find('span.tile').addClass('op06',400);
|
|
},
|
|
over:function(){
|
|
$(this).find('span.tile').removeClass('op06');
|
|
},
|
|
out:function(){
|
|
$(this).find('span.tile').addClass('op06');
|
|
},
|
|
accept: '.to_drop'
|
|
});
|
|
$('.tinycanvas')
|
|
.tinyscrollbar({ axis: 'x'})
|
|
.find('.scrollbar')
|
|
.delay(1500)
|
|
.addClass('op00', 500);
|
|
var $sdm = $('.sdm');
|
|
|
|
if( !$sdm.children('.sdm_o') ){
|
|
return;
|
|
} else {
|
|
$sdm.hover(function(){$(this).addClass('thmc2');}, function(){$(this).removeClass('thmc2');});
|
|
}
|
|
};
|
|
var loadApps = function(){ // this loads apps from db to in each sections
|
|
$.getJSON("/desktop/getapplist",{desktopid:o.desktopId},function(appss){
|
|
var $group,$lii,$li;
|
|
var z=0;
|
|
for(section in o.sectionList){
|
|
$group = $('<div class="group" id="'+o.sectionList[section]._id+'"><div class="section_label"><ul class="section_grp"></ul></div><ul class="grp" id="section'+(z+1)+'"></ul></div>');
|
|
for(x=0;x<4;x++){
|
|
if(x==0){
|
|
$li = $('<li class="element w1 h1 hp vp thmtxt" data-content="'+o.sectionList[z]._id+'"><span class="tile thmc1"></span><span class="thmtxt">'+o.sectionList[z].name+'</span></li>');
|
|
$group.find("ul.section_grp").append($li);
|
|
}
|
|
if(z!=x){
|
|
$lii = $('<li class="element w1 h1 hp vp thmtxt" style="display: none;" data-category="section'+(x+1)+'" data-content="'+o.sectionList[x]._id+'"><span class="tile thmc2 op06"></span><span class="thmtxt">'+o.sectionList[x].name+'</span></li>');
|
|
$group.find("ul.section_grp").append($lii);
|
|
}
|
|
}
|
|
z++;
|
|
$("div#group_wrapper").append($group);
|
|
}
|
|
var yy=1,y=0;
|
|
$.each(appss,function(i,apps){
|
|
|
|
$.each(apps,function(i,app){
|
|
$li = $('<li class="element to_drop w1 hh2 hp vp" data-category="'+app.data_category+'" data-content="'+app.data_content+'" id="'+app._id+'"><div class="appicon"><img src="'+o.iconPath+app.data_content+'.png" class="" width="30" /></div><h1 class="appname thmtxth">'+app.title+'</h1></li>');
|
|
$("ul#section"+yy).append($li);
|
|
})
|
|
if(y==1){
|
|
y=-1;
|
|
yy++;
|
|
}
|
|
y++;
|
|
})
|
|
bindHandlers();
|
|
})
|
|
}
|
|
if(!o.desktopData[o.currentface]){
|
|
$(o.contentHolder).empty().load("/desktop/"+target,function(){
|
|
loadApps();
|
|
});
|
|
}else{
|
|
$(o.contentHolder).html(o.desktopData[o.currentface]);
|
|
bindHandlers();
|
|
}
|
|
|
|
};
|
|
this.initializeSettings = function(target){ //this is to initialize setting page
|
|
o.currenthtml = target;
|
|
o.currentface = "settings";
|
|
var bindHandlers = function(){ // this is the bind handler function for setting page
|
|
$("div#settings ul#setting_left_nav li a").on({
|
|
click: function(){
|
|
if(!$(this).data("clicked")){
|
|
var tfunc = $(this).attr("href");
|
|
switch(tfunc){
|
|
case "themes":
|
|
themes();
|
|
break;
|
|
case "sections":
|
|
sections();
|
|
break;
|
|
case "connection":
|
|
connection();
|
|
break;
|
|
}
|
|
$("div#settings ul#setting_left_nav li a").removeClass('thmc1 thmtxt').data('clicked',null);
|
|
$(this).addClass('thmc1 thmtxt').data('clicked',true);
|
|
}
|
|
},
|
|
mouseenter: function(){
|
|
$(this).removeClass('admtxt').addClass('thmc1 thmtxt');
|
|
},
|
|
mouseleave: function(){
|
|
var t = $(this).data('clicked') ? '' : 'thmc1 thmtxt';
|
|
$(this).removeClass(t).addClass('admtxt');
|
|
}
|
|
});
|
|
|
|
}
|
|
var sections = function(){ // this load section page in setting page
|
|
var bindHandlers = function(){ // binding handlers in section page
|
|
$('.tinycanvas').each(function(){
|
|
var h = $(this).parent().height(),
|
|
sh = $(this).siblings('.s_tab').height();
|
|
$(this)
|
|
.css({'height': h-sh-24})
|
|
.tinyscrollbar({ axis: 'y'})
|
|
.find('.scrollbar')
|
|
.delay(1500)
|
|
.addClass('op00', 500);
|
|
});
|
|
|
|
$("a#name_save_btn").click(function(){
|
|
var desktopnm = new Array;
|
|
$("#desktop_names input").each(function(){
|
|
desktopnm.push($(this).val());
|
|
})
|
|
$.post("/desktop/save_desktop_settings",{"save":"desktopnames","desktopid":o.desktopId,"desktopnms":desktopnm},function(result,status){
|
|
if(result[0].success=="true"){
|
|
o.notify("Names Saved!!","success",2);
|
|
}else
|
|
o.notify("Name saving failed!!","imp",2);
|
|
})
|
|
$.each(o.sectionList,function(i,sec){
|
|
sec.name = desktopnm[i];
|
|
})
|
|
})
|
|
}
|
|
$("div#settings div#panel_r").load("/desktop/settingsections",function(){
|
|
$.getJSON("/desktop/get_desktop_settings",{"get":"sectionnames","desktopid":o.desktopId},function(sectionnames){
|
|
$("#desktop_names input").each(function(i){
|
|
$(this).val(sectionnames[i]);
|
|
})
|
|
bindHandlers();
|
|
})
|
|
})
|
|
|
|
}
|
|
var themes = function(){ // this opens themes page in setting page
|
|
var bindHandlers = function(){ // binding handlers in themes page
|
|
// live change theme
|
|
$(".theme_list > .ssl_item").click(function(){
|
|
o.changeTheme($(this).attr("id"));
|
|
// $(".theme_list > li").removeClass('thmc1').data('clicked',null).find('.theme_name').removeClass('thmtxt');
|
|
// $(this).addClass('thmc1').data('clicked',true).find('.theme_name').addClass('thmtxt');
|
|
$.post("/desktop/save_desktop_settings",{"save":"theme","desktopid":o.desktopId,"theme":$(this).attr("id")},function(result,status){
|
|
if(result[0].success=="true"){
|
|
o.notify("Theme Saved!!","success",2);
|
|
loadthmc();
|
|
} else {
|
|
o.notify("Theme saving failed!!","imp",2);
|
|
}
|
|
});
|
|
});
|
|
// single select
|
|
$('.ssl .ssl_item').each(function(){
|
|
$(this).on({
|
|
click: function(){
|
|
$(this).switchClass('','thmc1 active',300);
|
|
$(this).siblings('.thmc1').switchClass('thmc1 active','',100);
|
|
|
|
if( $(this).find('.ssl_des') ){
|
|
$(this).parents('.ssl').find('.ssl_des').removeClass('thmtxt');
|
|
$(this).find('.ssl_des').addClass('thmtxt');
|
|
}
|
|
},
|
|
mouseenter: function(){
|
|
if( !$(this).hasClass('active') ){
|
|
$(this).addClass('thmc1');
|
|
|
|
if( $(this).find('.ssl_des') ){
|
|
$(this).find('.ssl_des').addClass('thmtxt');
|
|
}
|
|
}
|
|
},
|
|
mouseleave: function(){
|
|
if( !$(this).hasClass('active') ){
|
|
$(this).removeClass('thmc1');
|
|
|
|
if( $(this).find('.ssl_des') ){
|
|
$(this).find('.ssl_des').removeClass('thmtxt');
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
$('.tinycanvas').each(function(){
|
|
var h = $(this).parent().height(),
|
|
sh = $(this).siblings('.s_tab').height();
|
|
$(this)
|
|
.css({'height': h-sh-24})
|
|
.tinyscrollbar({ axis: 'y'})
|
|
.find('.scrollbar')
|
|
.delay(1500)
|
|
.addClass('op00', 500);
|
|
});
|
|
|
|
// tab
|
|
var $anchor = $('.s_tab a[href*=#]'),
|
|
$tabcontent = $('.st_c');
|
|
|
|
$anchor.each(function(){
|
|
$(this).click(function(){
|
|
var target = $(this).attr('href');
|
|
$anchor.removeClass('thmc2 thmtxt admtxt admbg').addClass('admtxt admbg');
|
|
$(this).toggleClass('thmc2 thmtxt admtxt admbg');
|
|
$tabcontent.hide();
|
|
$(target).show();
|
|
$('.tinycanvas').tinyscrollbar_update();
|
|
return false;
|
|
});
|
|
});
|
|
|
|
$('.color-picker').miniColors({
|
|
change:function(hex){
|
|
var changewhat = $(this).attr("for");
|
|
var previewarea = $("#theme_preview_area");
|
|
switch(changewhat){
|
|
case "thmtxt":
|
|
case "thmtxth":
|
|
previewarea.find("."+changewhat).css({"color":hex});
|
|
break;
|
|
case "g_sep":
|
|
previewarea.find("."+changewhat).css({"border-color":hex});
|
|
break;
|
|
case "background":
|
|
previewarea.css({"background-color":hex});
|
|
break;
|
|
default:
|
|
previewarea.find("."+changewhat).css({"background-color":hex});
|
|
break;
|
|
}
|
|
}
|
|
});
|
|
|
|
$("a#theme_submit").click(function(){
|
|
o.confirm({
|
|
message : "Are you sure that you want to save custom theme?",
|
|
highlighted : 1,
|
|
buttons : ["Yes","No"]
|
|
},function(reply){
|
|
if(reply){
|
|
var colors = new Array;
|
|
$("#color_input input").each(function(){
|
|
colors[$(this).attr("for")] = $(this).val();
|
|
})
|
|
var dhtml ="<style> .thmc1 { background: "+colors['thmc1']+"; }.thmc2 { background: "+colors['thmc2']+"; }.thmc3 { background: #FFFFFF; }.thmc4 { background: "+colors['thmc4']+"; }.thmtxt { color: "+colors['thmtxt']+"; }.thmtxth { color: "+colors['thmtxth']+"; }.g_sep { border-color: "+colors['g_sep']+";} body{background-color: "+colors['background']+"} </style>";
|
|
$("head").find("#dyn_css").remove();
|
|
$("head").append(dhtml);
|
|
$.post("/desktop/save_desktop_settings",{"save":"customtheme","desktopid":o.desktopId,"theme":dhtml},function(result,status){
|
|
if(result[0].success=="true")
|
|
o.notify("Custom theme saved!!","success",2);
|
|
else
|
|
o.notify("Custom theme saving failed!!","imp",2);
|
|
})
|
|
}
|
|
})
|
|
});
|
|
|
|
$(".stock_wallpaper .ssl_item").click(function(){
|
|
var wallpapername = $(this).find("img").attr("alt");
|
|
o.changeWallpaper(wallpapername);
|
|
})
|
|
}
|
|
var loadthmc = function(){ // a general function to load the themecolor in color selector
|
|
$('.color-picker').each(function(){
|
|
var cc = $(this).attr('for'), hex, color;
|
|
switch(cc){
|
|
case 'thmtxt':
|
|
case 'thmtxth':
|
|
hex = 'color';
|
|
break;
|
|
case 'g_sep':
|
|
hex = 'border-left-color';
|
|
break;
|
|
default:
|
|
hex = 'background-color';
|
|
break;
|
|
}
|
|
if(cc=="background")
|
|
color = $("#theme_preview_area").css("background-color");
|
|
else
|
|
color = $('#theme_preview_area .'+cc).css(hex);
|
|
$(this).miniColors("value", o.rgb2hex(color));
|
|
});
|
|
}
|
|
|
|
$("div#settings div#panel_r").load("/desktop/settingthemes",function(){
|
|
$.getJSON("/desktop/get_desktop_settings",{"get":"theme","desktopid":o.desktopId},function(theme){
|
|
$('#st1 .theme_list [id='+theme+']')
|
|
.addClass("thmc1 active", 300)
|
|
.find("span")
|
|
.addClass("thmtxt");
|
|
|
|
bindHandlers();
|
|
loadthmc();
|
|
})
|
|
})
|
|
}
|
|
|
|
var connection = function(){
|
|
var bindHandlers = function(){
|
|
|
|
}
|
|
$("div#settings div#panel_r").load("/desktop/settingconnection",function(){
|
|
bindHandlers();
|
|
})
|
|
|
|
}
|
|
|
|
$(o.contentHolder).empty().load("/desktop/"+target,function(){
|
|
bindHandlers();
|
|
themes();
|
|
});
|
|
};
|
|
|
|
this.initializeJournalPapers = function(target){ // this init journal papers
|
|
o.currenthtml = target;
|
|
o.currentface = "journal_p";
|
|
var bindHandlers = function(){ // bind handler for journal paper
|
|
$("div#settings ul#setting_left_nav li a").on({
|
|
click: function(){
|
|
if(!$(this).data("clicked")){
|
|
var tfunc = $(this).attr("href");
|
|
switch(tfunc){
|
|
case "list":
|
|
list();
|
|
break;
|
|
case "addpaper":
|
|
addpaper();
|
|
break;
|
|
}
|
|
$("div#settings ul#setting_left_nav li a").removeClass('thmc1 thmtxt').data('clicked',null);
|
|
$(this).addClass('thmc1 thmtxt').data('clicked',true);
|
|
}
|
|
},
|
|
mouseenter: function(){
|
|
$(this).removeClass('admtxt').addClass('thmc1 thmtxt');
|
|
},
|
|
mouseleave: function(){
|
|
var t = $(this).data('clicked') ? '' : 'thmc1 thmtxt';
|
|
$(this).removeClass(t).addClass('admtxt');
|
|
}
|
|
});
|
|
}
|
|
|
|
var list = function(){ // to open list part in journal papers page
|
|
var bindHandlers = function(){ // to bind handlers for list page
|
|
|
|
}
|
|
|
|
$("div#settings div#panel_r").load("/desktop/journal_p_list",function(){
|
|
bindHandlers();
|
|
})
|
|
}
|
|
|
|
var addpaper = function(){ // to open add pages in journal papers page
|
|
var bindHandlers = function(){ // to bind handlers for add page
|
|
|
|
}
|
|
$("div#settings div#panel_r").load("/desktop/journal_p_add",function(){
|
|
bindHandlers();
|
|
})
|
|
}
|
|
|
|
if(!o.desktopData[o.currentface]){
|
|
$(o.contentHolder).empty().load("/desktop/"+target,function(){
|
|
bindHandlers();
|
|
list();
|
|
});
|
|
}else{
|
|
$(o.contentHolder).html(o.desktopData[o.currentface]);
|
|
bindHandlers();
|
|
}
|
|
};
|
|
this.loadWallpaper = function(wallpaper){ // this is to load new wallpaper
|
|
if(!wallpaper)wallpapernm = o.themesettings.background;else wallpapernm = wallpaper
|
|
var ww = $(window).width();
|
|
var wh = $(window).height();
|
|
if(!wallpaper)
|
|
$("img#thmbackground").attr({"src":"/"+o.themefolder+"/"+o.theme+"/images/"+wallpapernm,"width":ww}).css({"position":"fixed","top":"0px","left":"0px","z-index":"-1","height":"auto"});
|
|
else
|
|
$("img#thmbackground").attr({"src":o.wallpaperPath+wallpaper,"width":ww}).css({"position":"fixed","top":"0px","left":"0px","z-index":"-1","height":"auto"});
|
|
|
|
$("div#bgover").css({"position":"fixed","top":"0px","left":"0px","z-index":"-1","width":ww,"height":wh});
|
|
};
|
|
|
|
this.loadIconCache = function(){ // this function load or refresh icon cache for the theme
|
|
var imgs = $("ul.docklist img");
|
|
$.each(imgs,function(){
|
|
var setting_name = $(this).attr("id").replace("_icon","");
|
|
$(this).attr("src","/"+o.themefolder+"/"+o.theme+"/images/"+o.themesettings.icons[setting_name])
|
|
})
|
|
};
|
|
this.initializeWidgets = function(){ // this function will initialize all the widgets in the desktop
|
|
var elements = $("#group_wrapper li.element");
|
|
$.each(elements,function(){
|
|
var widget = $(this);
|
|
if(widget.attr("data-category")=="widget"){
|
|
var widgename = widget.attr("data-content");
|
|
$.getScript("/desktop_widgets/"+widgename+"/"+widgename+".js",function(){
|
|
widget.find("div.appholder").load("/desktop_widgets/"+widgename+"/index.html.erb");
|
|
});
|
|
// $(this).find("div.appholder").append( $('<link rel="stylesheet" id="dyn_css" type="text/css" />').attr('href', "/desktop_widgets/"+widgename+"/css/"+widgename+".css"));
|
|
}
|
|
|
|
})
|
|
};
|
|
this.saveWallpaper = function(wallpaper){ // this function saves wallpaper in db
|
|
$.post("desktop/save_desktop_settings",{"save":"wallpaper","wallpapernm":wallpaper,"desktopid":o.desktopId},function(result,status){
|
|
if(result[0].success=="true")
|
|
o.notify("Wallpaper saved!!","success",2);
|
|
else
|
|
o.notify("Wallpaper saving failed!!","imp",2);
|
|
})
|
|
};
|
|
o.initialize();
|
|
}
|
|
|
|
orbitDesktop.prototype.themefolder = "themes";
|
|
orbitDesktop.prototype.widgetfolder = "desktop_widgets";
|
|
orbitDesktop.prototype.desktopId = "1";
|
|
orbitDesktop.prototype.notifyImgPath = "temp";
|
|
orbitDesktop.prototype.wallpaperPath = "/assets/stockBackground/";
|
|
orbitDesktop.prototype.iconPath = "/assets/icons/";
|
|
orbitDesktop.prototype.currentLanguage = "en";
|
|
orbitDesktop.prototype.currentUsername = "Harry";
|
|
var uselessfunction = function(){
|
|
$.post("/desktop/temp_func",{sectionid:"4f83e7bbbd98eb041600001d"});
|
|
}
|
|
|