Merge branch 'demo_site' of github.com:Rulingcom/orbit into visitor_dsahbroad
Conflicts: config/mongoid.yml
|
@ -66,7 +66,6 @@
|
||||||
{
|
{
|
||||||
oSelf.update();
|
oSelf.update();
|
||||||
setEvents();
|
setEvents();
|
||||||
|
|
||||||
return oSelf;
|
return oSelf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ var orbitDesktop = function(dom){
|
||||||
this.transitionTime = 500;
|
this.transitionTime = 500;
|
||||||
this.currenthtml = "desktop.html";
|
this.currenthtml = "desktop.html";
|
||||||
this.currentface = "home";
|
this.currentface = "home";
|
||||||
this.desktopData = {"home":"","settings":"","work":"","favorite":"","apps_manager":"","sections":"","journal_p":"","appstore":"","orbit":"","books":"","seminar_p":""};
|
this.desktopData = {"home":"","settings":"","work":"","favorite":"","apps_manager":"","sections":"","journal_p":"","appstore":"","orbit":"","books":"","seminar_p":"","research_d":"","research_p":""};
|
||||||
this.tp = "";
|
this.tp = "";
|
||||||
this.sectionList;
|
this.sectionList;
|
||||||
this.initialize = function(){
|
this.initialize = function(){
|
||||||
|
@ -146,6 +146,24 @@ var orbitDesktop = function(dom){
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
$("a#d_research_d").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.initializeResearchDomain(target);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("a#d_research_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.initializeResearchProject(target);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
$(window).resize(function(){
|
$(window).resize(function(){
|
||||||
var ww = $(window).width();
|
var ww = $(window).width();
|
||||||
$("img#thmbackground").attr({"width":ww});
|
$("img#thmbackground").attr({"width":ww});
|
||||||
|
@ -249,13 +267,11 @@ var orbitDesktop = function(dom){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$('div#desktop .tinycanvas')
|
|
||||||
.tinyscrollbar({ axis: 'x' })
|
|
||||||
.find('.scrollbar')
|
|
||||||
.delay(1500)
|
|
||||||
.addClass('op00', 500);
|
|
||||||
|
|
||||||
|
o.tinyscrollbar_ext({
|
||||||
|
main: '.tinycanvas'
|
||||||
|
})
|
||||||
|
|
||||||
o.simple_drop_down();
|
o.simple_drop_down();
|
||||||
$("div#group_wrapper ul li[data-category=app]").click(function(){
|
$("div#group_wrapper ul li[data-category=app]").click(function(){
|
||||||
o.appWindow({
|
o.appWindow({
|
||||||
|
@ -432,11 +448,9 @@ var orbitDesktop = function(dom){
|
||||||
})
|
})
|
||||||
return false;
|
return false;
|
||||||
})
|
})
|
||||||
$('.tinycanvas')
|
o.tinyscrollbar_ext({
|
||||||
.tinyscrollbar({ axis: 'x'})
|
main: '.tinycanvas'
|
||||||
.find('.scrollbar')
|
})
|
||||||
.delay(1500)
|
|
||||||
.addClass('op00', 500);
|
|
||||||
}
|
}
|
||||||
var loadApps = function(){ //this load apps for sorting and searching
|
var loadApps = function(){ //this load apps for sorting and searching
|
||||||
$.getJSON("/desktop/getapplist",{desktopid:o.desktopId},function(appss){
|
$.getJSON("/desktop/getapplist",{desktopid:o.desktopId},function(appss){
|
||||||
|
@ -517,11 +531,9 @@ var orbitDesktop = function(dom){
|
||||||
},
|
},
|
||||||
accept: '.to_drop'
|
accept: '.to_drop'
|
||||||
});
|
});
|
||||||
$('.tinycanvas')
|
o.tinyscrollbar_ext({
|
||||||
.tinyscrollbar({ axis: 'x'})
|
main: '.tinycanvas'
|
||||||
.find('.scrollbar')
|
})
|
||||||
.delay(1500)
|
|
||||||
.addClass('op00', 500);
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -608,12 +620,12 @@ var orbitDesktop = function(dom){
|
||||||
$('.tinycanvas').each(function(){
|
$('.tinycanvas').each(function(){
|
||||||
var h = $(this).parent().height(),
|
var h = $(this).parent().height(),
|
||||||
sh = $(this).siblings('.s_tab').height();
|
sh = $(this).siblings('.s_tab').height();
|
||||||
$(this)
|
o.tinyscrollbar_ext({
|
||||||
.css({'height': h-sh-24})
|
main : $(this),
|
||||||
.tinyscrollbar({ axis: 'y'})
|
height : h-sh-24,
|
||||||
.find('.scrollbar')
|
},{
|
||||||
.delay(1500)
|
axis : "y"
|
||||||
.addClass('op00', 500);
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
$("a#name_save_btn").click(function(){
|
$("a#name_save_btn").click(function(){
|
||||||
|
@ -662,12 +674,13 @@ var orbitDesktop = function(dom){
|
||||||
$('.tinycanvas').each(function(){
|
$('.tinycanvas').each(function(){
|
||||||
var h = $(this).parent().height(),
|
var h = $(this).parent().height(),
|
||||||
sh = $(this).siblings('.s_tab').height();
|
sh = $(this).siblings('.s_tab').height();
|
||||||
$(this)
|
|
||||||
.css({'height': h-sh-24})
|
o.tinyscrollbar_ext({
|
||||||
.tinyscrollbar({ axis: 'y'})
|
main: $(this),
|
||||||
.find('.scrollbar')
|
height: h-sh-24
|
||||||
.delay(1500)
|
},{
|
||||||
.addClass('op00', 500);
|
axis: 'y'
|
||||||
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
o.single_select();
|
o.single_select();
|
||||||
|
@ -813,11 +826,9 @@ var orbitDesktop = function(dom){
|
||||||
|
|
||||||
$('#connection_setting').width(conlist_w);
|
$('#connection_setting').width(conlist_w);
|
||||||
|
|
||||||
$('.tinycanvas')
|
o.tinyscrollbar_ext({
|
||||||
.tinyscrollbar({ axis: 'x'})
|
main: '.tinycanvas'
|
||||||
.find('.scrollbar')
|
})
|
||||||
.delay(1500)
|
|
||||||
.addClass('op00', 500);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
var saveaccount = function(usernm,pwd,type,what){
|
var saveaccount = function(usernm,pwd,type,what){
|
||||||
|
@ -910,18 +921,10 @@ var orbitDesktop = function(dom){
|
||||||
var bindHandlers = function(){ // to bind handlers for list page
|
var bindHandlers = function(){ // to bind handlers for list page
|
||||||
o.simple_drop_down();
|
o.simple_drop_down();
|
||||||
|
|
||||||
// fill width for tiny scroll bar
|
o.tinyscrollbar_ext({
|
||||||
var e = $('.list_t'),
|
main: '.tinycanvas',
|
||||||
count = e.length,
|
fill: '.list_t'
|
||||||
baseWidth = e.eq(1).outerWidth(true);
|
})
|
||||||
|
|
||||||
e.parents('.overview').width( baseWidth * count );
|
|
||||||
|
|
||||||
$('.tinycanvas')
|
|
||||||
.tinyscrollbar({ axis: 'x'})
|
|
||||||
.find('.scrollbar')
|
|
||||||
.delay(1500)
|
|
||||||
.addClass('op00', 500);
|
|
||||||
|
|
||||||
|
|
||||||
$("#journal_selection_options a").click(function(){
|
$("#journal_selection_options a").click(function(){
|
||||||
|
@ -1058,20 +1061,10 @@ var orbitDesktop = function(dom){
|
||||||
var bindHandlers = function(){ // to bind handlers for add page
|
var bindHandlers = function(){ // to bind handlers for add page
|
||||||
o.simple_drop_down();
|
o.simple_drop_down();
|
||||||
|
|
||||||
// fill width for tiny scroll bar
|
o.tinyscrollbar_ext({
|
||||||
var e = $('.s_grid_con'),
|
main: '.tinycanvas',
|
||||||
count = e.length,
|
fill: '.s_grid_con'
|
||||||
baseWidth = e.eq(1).outerWidth(true);
|
})
|
||||||
|
|
||||||
e.parents('.overview').width( baseWidth * count );
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$('.tinycanvas')
|
|
||||||
.tinyscrollbar({ axis: 'x'})
|
|
||||||
.find('.scrollbar')
|
|
||||||
.delay(1500)
|
|
||||||
.addClass('op00', 500);
|
|
||||||
}
|
}
|
||||||
$("div#journal_p div#panel_r").load("/desktop/journal_p_add",function(){
|
$("div#journal_p div#panel_r").load("/desktop/journal_p_add",function(){
|
||||||
bindHandlers();
|
bindHandlers();
|
||||||
|
@ -1181,18 +1174,11 @@ var orbitDesktop = function(dom){
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
// fill width for tiny scroll bar
|
|
||||||
var e = $('.list_t'),
|
o.tinyscrollbar_ext({
|
||||||
count = e.length,
|
main: '.tinycanvas',
|
||||||
baseWidth = e.eq(1).outerWidth(true);
|
fill: '.list_t'
|
||||||
|
})
|
||||||
e.parents('.overview').width( baseWidth * count );
|
|
||||||
|
|
||||||
$('.tinycanvas')
|
|
||||||
.tinyscrollbar({ axis: 'x'})
|
|
||||||
.find('.scrollbar')
|
|
||||||
.delay(1500)
|
|
||||||
.addClass('op00', 500);
|
|
||||||
}
|
}
|
||||||
$("div#apps_store div#panel_r").load("/desktop_appstore/widgets",function(){
|
$("div#apps_store div#panel_r").load("/desktop_appstore/widgets",function(){
|
||||||
|
|
||||||
|
@ -1303,18 +1289,10 @@ var orbitDesktop = function(dom){
|
||||||
var bindHandlers = function(){
|
var bindHandlers = function(){
|
||||||
o.simple_drop_down();
|
o.simple_drop_down();
|
||||||
|
|
||||||
// fill width for tiny scroll bar
|
o.tinyscrollbar_ext({
|
||||||
var e = $('.list_t'),
|
main: '.tinycanvas',
|
||||||
count = e.length,
|
fill: '.list_t'
|
||||||
baseWidth = e.eq(1).outerWidth(true);
|
})
|
||||||
|
|
||||||
e.parents('.overview').width( baseWidth * count );
|
|
||||||
|
|
||||||
$('.tinycanvas')
|
|
||||||
.tinyscrollbar({ axis: 'x'})
|
|
||||||
.find('.scrollbar')
|
|
||||||
.delay(1500)
|
|
||||||
.addClass('op00', 500);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$("div#books div#panel_r").load("/desktop/books_list",function(){
|
$("div#books div#panel_r").load("/desktop/books_list",function(){
|
||||||
|
@ -1326,18 +1304,10 @@ var orbitDesktop = function(dom){
|
||||||
var bindHandlers = function(){
|
var bindHandlers = function(){
|
||||||
o.simple_drop_down();
|
o.simple_drop_down();
|
||||||
|
|
||||||
// fill width for tiny scroll bar
|
o.tinyscrollbar_ext({
|
||||||
var e = $('.s_grid_con'),
|
main: '.tinycanvas',
|
||||||
count = e.length,
|
fill: '.s_grid_con'
|
||||||
baseWidth = e.eq(1).outerWidth(true);
|
})
|
||||||
|
|
||||||
e.parents('.overview').width( baseWidth * count );
|
|
||||||
|
|
||||||
$('.tinycanvas')
|
|
||||||
.tinyscrollbar({ axis: 'x'})
|
|
||||||
.find('.scrollbar')
|
|
||||||
.delay(1500)
|
|
||||||
.addClass('op00', 500);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1390,18 +1360,10 @@ var orbitDesktop = function(dom){
|
||||||
|
|
||||||
var list = function(){
|
var list = function(){
|
||||||
var bindHandlers = function(){
|
var bindHandlers = function(){
|
||||||
// fill width for tiny scroll bar
|
o.tinyscrollbar_ext({
|
||||||
var e = $('.list_t'),
|
main : ".tinycanvas",
|
||||||
count = e.length,
|
fill : ".list_t"
|
||||||
baseWidth = e.eq(1).outerWidth(true);
|
})
|
||||||
|
|
||||||
e.parents('.overview').width( baseWidth * count );
|
|
||||||
|
|
||||||
$('.tinycanvas')
|
|
||||||
.tinyscrollbar({ axis: 'x'})
|
|
||||||
.find('.scrollbar')
|
|
||||||
.delay(1500)
|
|
||||||
.addClass('op00', 500);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$("div#seminar_p div#panel_r").load("/desktop/seminar_p_list",function(){
|
$("div#seminar_p div#panel_r").load("/desktop/seminar_p_list",function(){
|
||||||
|
@ -1413,18 +1375,10 @@ var orbitDesktop = function(dom){
|
||||||
var bindHandlers = function(){
|
var bindHandlers = function(){
|
||||||
o.simple_drop_down();
|
o.simple_drop_down();
|
||||||
|
|
||||||
// fill width for tiny scroll bar
|
o.tinyscrollbar_ext({
|
||||||
var e = $('.s_grid_con'),
|
main: '.tinycanvas',
|
||||||
count = e.length,
|
fill: '.s_grid_con'
|
||||||
baseWidth = e.eq(1).outerWidth(true);
|
})
|
||||||
|
|
||||||
e.parents('.overview').width( baseWidth * count );
|
|
||||||
|
|
||||||
$('.tinycanvas')
|
|
||||||
.tinyscrollbar({ axis: 'x'})
|
|
||||||
.find('.scrollbar')
|
|
||||||
.delay(1500)
|
|
||||||
.addClass('op00', 500);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$("div#seminar_p div#panel_r").load("/desktop/seminar_p_add",function(){
|
$("div#seminar_p div#panel_r").load("/desktop/seminar_p_add",function(){
|
||||||
|
@ -1442,6 +1396,142 @@ var orbitDesktop = function(dom){
|
||||||
bindHandlers();
|
bindHandlers();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
this.initializeResearchDomain = function(target){
|
||||||
|
o.currenthtml = target;
|
||||||
|
o.currentface = "research_d";
|
||||||
|
var bindHandlers = function(){
|
||||||
|
$('.s_menu a').on({
|
||||||
|
click: function(){
|
||||||
|
if(!$(this).hasClass('active')){
|
||||||
|
var tfunc = $(this).attr('href');
|
||||||
|
switch(tfunc){
|
||||||
|
case 'list':
|
||||||
|
list();
|
||||||
|
break;
|
||||||
|
case 'add':
|
||||||
|
add_this();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$('.s_menu a').removeClass('thmc1 thmtxt active');
|
||||||
|
$(this).addClass('thmc1 thmtxt active');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mouseenter: function(){
|
||||||
|
if(!$(this).hasClass('active')){
|
||||||
|
$(this).switchClass('admtxt','thmc1 thmtxt',0);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mouseleave: function(){
|
||||||
|
var t = $(this).hasClass('active') ? '' : 'thmc1 thmtxt';
|
||||||
|
$(this).switchClass(t,'admtxt',0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
var list = function(){
|
||||||
|
var bindHandlers = function(){
|
||||||
|
o.tinyscrollbar_ext({
|
||||||
|
main : ".tinycanvas",
|
||||||
|
fill : ".list_t"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$("div#research_d div#panel_r").load("/desktop/research_d_list",function(){
|
||||||
|
bindHandlers();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
var add_this = function(){
|
||||||
|
var bindHandlers = function(){
|
||||||
|
o.simple_drop_down();
|
||||||
|
|
||||||
|
o.tinyscrollbar_ext({
|
||||||
|
main: '.tinycanvas',
|
||||||
|
fill: '.s_grid_con'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$("div#research_d div#panel_r").load("/desktop/research_d_add",function(){
|
||||||
|
bindHandlers();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if(!o.desktopData[o.currentface]){
|
||||||
|
$(o.contentHolder).empty().load("/desktop/"+target,function(){
|
||||||
|
list();
|
||||||
|
bindHandlers();
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
$(o.contentHolder).html(o.desktopData[o.currentface]);
|
||||||
|
list();
|
||||||
|
bindHandlers();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.initializeResearchProject = function(target){
|
||||||
|
o.currenthtml = target;
|
||||||
|
o.currentface = "research_p";
|
||||||
|
var bindHandlers = function(){
|
||||||
|
$('.s_menu a').on({
|
||||||
|
click: function(){
|
||||||
|
if(!$(this).hasClass('active')){
|
||||||
|
var tfunc = $(this).attr('href');
|
||||||
|
switch(tfunc){
|
||||||
|
case 'list':
|
||||||
|
list();
|
||||||
|
break;
|
||||||
|
case 'add':
|
||||||
|
add_this();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$('.s_menu a').removeClass('thmc1 thmtxt active');
|
||||||
|
$(this).addClass('thmc1 thmtxt active');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mouseenter: function(){
|
||||||
|
if(!$(this).hasClass('active')){
|
||||||
|
$(this).switchClass('admtxt','thmc1 thmtxt',0);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mouseleave: function(){
|
||||||
|
var t = $(this).hasClass('active') ? '' : 'thmc1 thmtxt';
|
||||||
|
$(this).switchClass(t,'admtxt',0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
var list = function(){
|
||||||
|
var bindHandlers = function(){
|
||||||
|
o.tinyscrollbar_ext({
|
||||||
|
main : ".tinycanvas",
|
||||||
|
fill : ".list_t"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$("div#research_p div#panel_r").load("/desktop/research_p_list",function(){
|
||||||
|
bindHandlers();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
var add_this = function(){
|
||||||
|
var bindHandlers = function(){
|
||||||
|
o.simple_drop_down();
|
||||||
|
|
||||||
|
o.tinyscrollbar_ext({
|
||||||
|
main: '.tinycanvas',
|
||||||
|
fill: '.s_grid_con'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$("div#research_p div#panel_r").load("/desktop/research_p_add",function(){
|
||||||
|
bindHandlers();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if(!o.desktopData[o.currentface]){
|
||||||
|
$(o.contentHolder).empty().load("/desktop/"+target,function(){
|
||||||
|
list();
|
||||||
|
bindHandlers();
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
$(o.contentHolder).html(o.desktopData[o.currentface]);
|
||||||
|
list();
|
||||||
|
bindHandlers();
|
||||||
|
}
|
||||||
|
}
|
||||||
this.loadWallpaper = function(wallpaper){ // this is to load new wallpaper
|
this.loadWallpaper = function(wallpaper){ // this is to load new wallpaper
|
||||||
if(!wallpaper)wallpapernm = o.themesettings.background;else wallpapernm = wallpaper
|
if(!wallpaper)wallpapernm = o.themesettings.background;else wallpapernm = wallpaper
|
||||||
var ww = $(window).width();
|
var ww = $(window).width();
|
||||||
|
@ -1483,34 +1573,43 @@ var orbitDesktop = function(dom){
|
||||||
o.notify("Wallpaper saving failed!!","imp",2);
|
o.notify("Wallpaper saving failed!!","imp",2);
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
this.tinyscrollbar_ext = function(target,fill,tinysettings){
|
this.tinyscrollbar_ext = function(target,tinysettings){
|
||||||
tinysettings = ( typeof tinysettings == 'undefined' ) ? {} : tinysettings ;
|
//main : dom on which tinyscrollbar has to be applied
|
||||||
tinysettings.theight = ( typeof tinysettings.theight == 'undefined' ) ? '' : tinysettings.theight ;
|
//fill : number or object for width
|
||||||
|
//height : height for the target element
|
||||||
|
//tinysettings : tinyscrollbar settings
|
||||||
|
|
||||||
|
if(typeof target.main == "undefined"){
|
||||||
|
o.notify('tinyscrollbar: target undefined','imp',2);
|
||||||
|
return;
|
||||||
|
}else{
|
||||||
|
target.main = $(target.main);
|
||||||
|
}
|
||||||
|
//var target.fill = $
|
||||||
|
var tinysettings = ( typeof tinysettings == 'undefined' ) ? {"axis":"x"} : tinysettings ;
|
||||||
|
|
||||||
var count,baseWidth;
|
var count,baseWidth,fillArray,pxs;
|
||||||
|
|
||||||
if( typeof fill == 'object' ){
|
if( typeof target.fill == 'string' ){
|
||||||
count = fill.length;
|
fillArray = target.main.find(target.fill);
|
||||||
baseWidth = fill.eq(1).outerWidth(true);
|
count = fillArray.length;
|
||||||
fill.parents('.overview').width( baseWidth * count );
|
baseWidth = $(target.fill).eq(1).outerWidth(true);
|
||||||
} else if( typeof fill == 'number' ){
|
target.main.find('.overview').width( baseWidth * count);
|
||||||
fill.parents('.overview').width( fill );
|
} else if( typeof target.fill == 'number' ){
|
||||||
} else if( typeof fill == 'undefined' ){
|
target.main.find('.overview').width( target.fill );
|
||||||
fill = fill;
|
} else if( typeof target.fill == 'undefined' ){
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
o.notify('tinyscrollbar: setting width failed','imp',2);
|
o.notify('tinyscrollbar: setting width failed','imp',2);
|
||||||
}
|
}
|
||||||
|
if(target.height)
|
||||||
|
target.main.height(target.height);
|
||||||
|
|
||||||
|
target.main
|
||||||
if( typeof $(target) !== 'undefined' ){
|
|
||||||
$(target)
|
|
||||||
.tinyscrollbar( tinysettings )
|
.tinyscrollbar( tinysettings )
|
||||||
.find('.scrollbar')
|
.find('.scrollbar')
|
||||||
.delay(1500)
|
.delay(1500)
|
||||||
.addClass('op00', 500);
|
.addClass('op00', 500);
|
||||||
} else {
|
|
||||||
o.notify('tinyscrollbar: target undefined','imp',2);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
this.simple_drop_down = function(){
|
this.simple_drop_down = function(){
|
||||||
// simple dropdown menu
|
// simple dropdown menu
|
||||||
|
|
|
@ -346,6 +346,9 @@ getUrlVars : function(){
|
||||||
vars.push(hash[0]);
|
vars.push(hash[0]);
|
||||||
vars[hash[0]] = hash[1];
|
vars[hash[0]] = hash[1];
|
||||||
}
|
}
|
||||||
|
if(vars[0] == window.location.href){
|
||||||
|
vars =[];
|
||||||
|
}
|
||||||
return vars;
|
return vars;
|
||||||
},
|
},
|
||||||
/*function to open a modalwindow on a page.. self reliant no images, no css needed.
|
/*function to open a modalwindow on a page.. self reliant no images, no css needed.
|
||||||
|
@ -379,19 +382,19 @@ modalWindow : function(settings,callbackFn){
|
||||||
var maxwidth = (rgmaskWidth*85)/100;
|
var maxwidth = (rgmaskWidth*85)/100;
|
||||||
|
|
||||||
if(typeof tempheight!="undefined"){
|
if(typeof tempheight!="undefined"){
|
||||||
|
tempheight = tempheight.toString();
|
||||||
if(tempheight.charAt(tempheight.length-1)=='%')
|
if(tempheight.charAt(tempheight.length-1)=='%')
|
||||||
tempheight=(rgmaskHeight*parseInt(tempheight.substr(0,tempheight.length)))/100;
|
tempheight=(rgmaskHeight*parseInt(tempheight.substr(0,tempheight.length)))/100;
|
||||||
if(tempheight>maxheight)
|
if(tempheight>maxheight)
|
||||||
tempheight=maxheight;
|
tempheight=maxheight;
|
||||||
}else{tempheight="auto";}
|
}else{tempheight="auto";}
|
||||||
|
|
||||||
if(typeof tempwidth!="undefined"){
|
if(typeof tempwidth!="undefined"){
|
||||||
|
tempwidth = tempwidth.toString();
|
||||||
if(tempwidth.charAt(tempwidth.length-1)=='%')
|
if(tempwidth.charAt(tempwidth.length-1)=='%')
|
||||||
tempwidth=(rgmaskWidth*parseInt(tempwidth.substr(0,tempwidth.length)))/100;
|
tempwidth=(rgmaskWidth*parseInt(tempwidth.substr(0,tempwidth.length)))/100;
|
||||||
if(tempwidth>maxwidth)
|
if(tempwidth>maxwidth)
|
||||||
tempwidth=maxwidth;
|
tempwidth=maxwidth;
|
||||||
}else{tempwidth="auto";}
|
}else{tempwidth="auto";}
|
||||||
|
|
||||||
$rss("body").append('<div class="rgmask" id="rgsheath" style="height:'+rgmaskHeight+'px"></div>');
|
$rss("body").append('<div class="rgmask" id="rgsheath" style="height:'+rgmaskHeight+'px"></div>');
|
||||||
$rss("#rgsheath").css({background: "#000", width: "100%", position: "fixed", top: 0, left: 0,opacity:0.5,'z-index':199});
|
$rss("#rgsheath").css({background: "#000", width: "100%", position: "fixed", top: 0, left: 0,opacity:0.5,'z-index':199});
|
||||||
$rss("body").append('<div id="rgWindow"></div>');
|
$rss("body").append('<div id="rgWindow"></div>');
|
||||||
|
@ -400,7 +403,7 @@ modalWindow : function(settings,callbackFn){
|
||||||
var rgWLeft = (rgmaskWidth-20)/2;
|
var rgWLeft = (rgmaskWidth-20)/2;
|
||||||
$rss("#rgWindow").css({top:rgWTop+"px", left:rgWLeft+"px"});
|
$rss("#rgWindow").css({top:rgWTop+"px", left:rgWLeft+"px"});
|
||||||
if(typeof settings.loadDiv!="undefined"){
|
if(typeof settings.loadDiv!="undefined"){
|
||||||
dhtml = $rss("#"+settings.loadDiv).html();
|
dhtml = $rss(settings.loadDiv).html();
|
||||||
$rss("#rgWindow").html(dhtml).hide();
|
$rss("#rgWindow").html(dhtml).hide();
|
||||||
prepareWindow();
|
prepareWindow();
|
||||||
}
|
}
|
||||||
|
@ -416,7 +419,7 @@ modalWindow : function(settings,callbackFn){
|
||||||
if(tempheight!="auto")
|
if(tempheight!="auto")
|
||||||
rgWTop = (rgmaskHeight-tempheight)/2;
|
rgWTop = (rgmaskHeight-tempheight)/2;
|
||||||
else{
|
else{
|
||||||
tempheight=$rss("#rgWindow").height();
|
tempheight=$rss("#rgWindow").height()+30;
|
||||||
if(tempheight>maxheight)
|
if(tempheight>maxheight)
|
||||||
tempheight=maxheight;
|
tempheight=maxheight;
|
||||||
rgWTop=(rgmaskHeight-tempheight)/2;
|
rgWTop=(rgmaskHeight-tempheight)/2;
|
||||||
|
@ -436,22 +439,20 @@ modalWindow : function(settings,callbackFn){
|
||||||
closebtn='<a href="" style="display:block; width:20px; height:20px; line-height:19px; text-align:center; position:absolute; right:-10px; top: -10px; font-family:Tahoma; font-weight:bold; border:solid 1px #000; border-radius: 10px;text-shadow:0px 1px 0 #DDD; background-color:#CCC; font-size:10px; text-decoration:none; color:#666; padding-left:1px; box-shadow: 0 0 5px #000000;" id="close_modal">X</a>';
|
closebtn='<a href="" style="display:block; width:20px; height:20px; line-height:19px; text-align:center; position:absolute; right:-10px; top: -10px; font-family:Tahoma; font-weight:bold; border:solid 1px #000; border-radius: 10px;text-shadow:0px 1px 0 #DDD; background-color:#CCC; font-size:10px; text-decoration:none; color:#666; padding-left:1px; box-shadow: 0 0 5px #000000;" id="close_modal">X</a>';
|
||||||
$rss("#rgWindow").animate({"width":tempwidth+"px","height":tempheight+"px",top:rgWTop+"px", left:rgWLeft+"px"},500,function(){$rss("#rgWindow").html(closebtn+"<div id='rgContent' style='padding:5px; overflow:auto; overflow-x:none; height:"+tempheight+"px;'>"+dhtml+"</div>");
|
$rss("#rgWindow").animate({"width":tempwidth+"px","height":tempheight+"px",top:rgWTop+"px", left:rgWLeft+"px"},500,function(){$rss("#rgWindow").html(closebtn+"<div id='rgContent' style='padding:5px; overflow:auto; overflow-x:none; height:"+tempheight+"px;'>"+dhtml+"</div>");
|
||||||
$rss("#close_modal").mouseover(function(){$rss(this).css("color","#999");}).mouseout(function(){$rss(this).css("color","#666");})
|
$rss("#close_modal").mouseover(function(){$rss(this).css("color","#999");}).mouseout(function(){$rss(this).css("color","#666");})
|
||||||
$rss("#close_modal").click(function(){
|
$rss("#close_modal").click(function(){rcom.modalWindowClose(); return false;})
|
||||||
$rss("#rgWindow").empty();
|
|
||||||
var x = (rgmaskHeight-20)/2;
|
|
||||||
var y = (rgmaskWidth-20)/2;
|
|
||||||
$rss("#rgWindow").animate({top:x+"px", left:y+"px","width":"50px","height":"50px"},300,function(){$rss(this).fadeOut(100).remove();$rss("#rgsheath").fadeOut(500).remove();});
|
|
||||||
return false;
|
|
||||||
})
|
|
||||||
if(envClose)
|
if(envClose)
|
||||||
$rss("#rgsheath").click(function(){
|
$rss("#rgsheath").click(function(){
|
||||||
$rss("#rgWindow").empty();
|
rcom.modalWindowClose();
|
||||||
var x = (rgmaskHeight-20)/2;
|
})
|
||||||
var y = (rgmaskWidth-20)/2;
|
$rss(document).one("keydown",function(e){
|
||||||
$rss("#rgWindow").animate({top:x+"px", left:y+"px","width":"50px","height":"50px"},300,function(){$rss(this).fadeOut(100).remove();$rss("#rgsheath").fadeOut(500).remove();});})
|
if (e.keyCode == 27){
|
||||||
|
rcom.modalWindowClose();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
if(typeof callbackFn=="function")
|
if(typeof callbackFn=="function")
|
||||||
callbackFn.call(this,dhtml);
|
callbackFn.call(this,$rss("#rgWindow"));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -464,13 +465,14 @@ modalWindowUpdate : function(settings,callbackFn){
|
||||||
var maxheight = (rgmaskHeight*85)/100;
|
var maxheight = (rgmaskHeight*85)/100;
|
||||||
var maxwidth = (rgmaskWidth*85)/100;
|
var maxwidth = (rgmaskWidth*85)/100;
|
||||||
if(typeof tempheight!="undefined"){
|
if(typeof tempheight!="undefined"){
|
||||||
|
tempheight = tempheight.toString();
|
||||||
if(tempheight.charAt(tempheight.length-1)=='%')
|
if(tempheight.charAt(tempheight.length-1)=='%')
|
||||||
tempheight=(rgmaskHeight*parseInt(tempheight.substr(0,tempheight.length)))/100;
|
tempheight=(rgmaskHeight*parseInt(tempheight.substr(0,tempheight.length)))/100;
|
||||||
if(tempheight>maxheight)
|
if(tempheight>maxheight)
|
||||||
tempheight=maxheight;
|
tempheight=maxheight;
|
||||||
}else{tempheight="auto";}
|
}else{tempheight="auto";}
|
||||||
|
|
||||||
if(typeof tempwidth!="undefined"){
|
if(typeof tempwidth!="undefined"){
|
||||||
|
tempwidth = tempwidth.toString();
|
||||||
if(tempwidth.charAt(tempwidth.length-1)=='%')
|
if(tempwidth.charAt(tempwidth.length-1)=='%')
|
||||||
tempwidth=(rgmaskWidth*parseInt(tempwidth.substr(0,tempwidth.length)))/100;
|
tempwidth=(rgmaskWidth*parseInt(tempwidth.substr(0,tempwidth.length)))/100;
|
||||||
if(tempwidth>maxwidth)
|
if(tempwidth>maxwidth)
|
||||||
|
@ -495,7 +497,7 @@ modalWindowUpdate : function(settings,callbackFn){
|
||||||
if(tempheight!="auto")
|
if(tempheight!="auto")
|
||||||
rgWTop = (rgmaskHeight-tempheight)/2;
|
rgWTop = (rgmaskHeight-tempheight)/2;
|
||||||
else{
|
else{
|
||||||
tempheight=$rss("#rgwindow_temp_div").height();
|
tempheight=$rss("#rgwindow_temp_div").height()+30;
|
||||||
if(tempheight>maxheight)
|
if(tempheight>maxheight)
|
||||||
tempheight=maxheight;
|
tempheight=maxheight;
|
||||||
rgWTop=(rgmaskHeight-tempheight)/2;
|
rgWTop=(rgmaskHeight-tempheight)/2;
|
||||||
|
|
|
@ -47,7 +47,7 @@ function myFileBrowser(field_name, url, type, win) {
|
||||||
var cmsURL = window.location.toString();
|
var cmsURL = window.location.toString();
|
||||||
cmsURL = cmsURL.split("/");
|
cmsURL = cmsURL.split("/");
|
||||||
cmsURL = "<%= Rails.application.routes.url_helpers.file_upload_admin_assets_path %>";
|
cmsURL = "<%= Rails.application.routes.url_helpers.file_upload_admin_assets_path %>";
|
||||||
console.log(cmsURL);
|
|
||||||
// script URL - use an absolute path!
|
// script URL - use an absolute path!
|
||||||
if (cmsURL.indexOf("?") < 0) {
|
if (cmsURL.indexOf("?") < 0) {
|
||||||
//add the type as the only query parameter
|
//add the type as the only query parameter
|
||||||
|
|
|
@ -35,7 +35,7 @@ class Admin::AssetsController < OrbitBackendController
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js {
|
format.js {
|
||||||
if params[:uploader]
|
if params[:uploader]
|
||||||
render 'create'
|
render "create"
|
||||||
else
|
else
|
||||||
render 'js/remove_pop_up_and_reload_content', :locals => {:function => 'replaceWith', :id => "asset_#{@asset.id}", :value => @asset, :values => nil, :partial => 'admin/assets/asset', :locals => nil}
|
render 'js/remove_pop_up_and_reload_content', :locals => {:function => 'replaceWith', :id => "asset_#{@asset.id}", :value => @asset, :values => nil, :partial => 'admin/assets/asset', :locals => nil}
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
class DesktopController< ApplicationController
|
class DesktopController< ApplicationController
|
||||||
layout 'desktop'
|
layout 'desktop'
|
||||||
before_filter :authenticate_user!
|
before_filter :authenticate_user!
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
class DesktopResearchController< ApplicationController
|
||||||
|
|
||||||
|
def research_d
|
||||||
|
render "desktop/research_d", :layout=>false
|
||||||
|
end
|
||||||
|
def research_d_list
|
||||||
|
render "desktop/research_domain/list", :layout=>false
|
||||||
|
end
|
||||||
|
|
||||||
|
def research_d_add
|
||||||
|
render "desktop/research_domain/add", :layout=>false
|
||||||
|
end
|
||||||
|
|
||||||
|
def research_p
|
||||||
|
render "desktop/research_p", :layout=>false
|
||||||
|
end
|
||||||
|
def research_p_list
|
||||||
|
render "desktop/research_project/list", :layout=>false
|
||||||
|
end
|
||||||
|
|
||||||
|
def research_p_add
|
||||||
|
render "desktop/research_project/add", :layout=>false
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
end
|
|
@ -3,7 +3,7 @@ require 'mongo'
|
||||||
class GridfsController < ActionController::Metal
|
class GridfsController < ActionController::Metal
|
||||||
|
|
||||||
def serve
|
def serve
|
||||||
gridfs_path = env["PATH_INFO"].gsub("/gridfs/", "").force_encoding("UTF-8")
|
gridfs_path = (params[:path]+'.'+params[:format]).gsub("/gridfs/", "").force_encoding("UTF-8")
|
||||||
begin
|
begin
|
||||||
gridfs_file = Mongo::GridFileSystem.new(Mongoid.database).open(gridfs_path, 'r')
|
gridfs_file = Mongo::GridFileSystem.new(Mongoid.database).open(gridfs_path, 'r')
|
||||||
self.response_body = gridfs_file.read
|
self.response_body = gridfs_file.read
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
# encoding: utf-8
|
||||||
|
|
||||||
|
class GalleryUploader < CarrierWave::Uploader::Base
|
||||||
|
|
||||||
|
# Include RMagick or ImageScience support:
|
||||||
|
# include CarrierWave::RMagick
|
||||||
|
# include CarrierWave::ImageScience
|
||||||
|
include CarrierWave::MiniMagick
|
||||||
|
|
||||||
|
# Choose what kind of storage to use for this uploader:
|
||||||
|
# storage :file
|
||||||
|
# storage :s3
|
||||||
|
|
||||||
|
# Override the directory where uploaded files will be stored.
|
||||||
|
# This is a sensible default for uploaders that are meant to be mounted:
|
||||||
|
def store_dir
|
||||||
|
"gallery/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
|
||||||
|
end
|
||||||
|
|
||||||
|
# Provide a default URL as a default if there hasn't been a file uploaded:
|
||||||
|
# def default_url
|
||||||
|
# "/images/fallback/" + [version_name, "default.png"].compact.join('_')
|
||||||
|
# end
|
||||||
|
|
||||||
|
# Process files as they are uploaded:
|
||||||
|
# process :scale => [200, 300]
|
||||||
|
#
|
||||||
|
# def scale(width, height)
|
||||||
|
# # do something
|
||||||
|
# end
|
||||||
|
|
||||||
|
# Create different versions of your uploaded files:
|
||||||
|
# version :thumb do
|
||||||
|
# process :scale => [50, 50]
|
||||||
|
# end
|
||||||
|
|
||||||
|
version :thumb do
|
||||||
|
process :resize_to_fill => [120, 90]
|
||||||
|
end
|
||||||
|
|
||||||
|
# Add a white list of extensions which are allowed to be uploaded.
|
||||||
|
# For images you might use something like this:
|
||||||
|
# def extension_white_list
|
||||||
|
# %w(jpg jpeg gif png)
|
||||||
|
# end
|
||||||
|
|
||||||
|
# Override the filename of the uploaded files:
|
||||||
|
# def filename
|
||||||
|
# "something.jpg" if original_filename
|
||||||
|
# end
|
||||||
|
|
||||||
|
# def manipulate!
|
||||||
|
# raise current_path.inspect
|
||||||
|
# image = ::MiniMagick::Image.open(current_path)
|
||||||
|
# image = yield(image)
|
||||||
|
# image.write(current_path)
|
||||||
|
# ::MiniMagick::Image.open(current_path)
|
||||||
|
# rescue ::MiniMagick::Error, ::MiniMagick::Invalid => e
|
||||||
|
# raise CarrierWave::ProcessingError.new("Failed to manipulate with MiniMagick, maybe it is not an image? Original Error: #{e}")
|
||||||
|
# end
|
||||||
|
|
||||||
|
end
|
|
@ -0,0 +1,107 @@
|
||||||
|
<div class="toolbar hh2">
|
||||||
|
<div class="fn_g hp">
|
||||||
|
<button class="fn_btn hh2 thmc2 thmtxt">Save</button>
|
||||||
|
<button class="fn_btn hh2 admbg2">Cancel</button>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Year</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2012</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2011</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2010</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2009</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2008</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2007</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2006</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2005</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2004</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2003</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2002</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2001</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Language</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">English</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Chinese</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2"><span class="icon-question-sign"></span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="paper_add" class="tinycanvas vp">
|
||||||
|
<div class="scrollbar sb_h vp"><div class="track"><div class="thumb thmc2"><div class="end"></div></div></div></div>
|
||||||
|
<div class="viewport">
|
||||||
|
<div class="overview">
|
||||||
|
<div class="s_grid_con s_form">
|
||||||
|
<ul>
|
||||||
|
<li class="s_grid_row"><textarea class="s_grid_6 s_grid" name="" id="">Seminar Title</textarea></li>
|
||||||
|
<li class="s_grid_row">
|
||||||
|
<label>Paper type</label><input type="radio" name="" value="Books" />Oral<input type="radio" name="" value="Chapter" />Poster</li>
|
||||||
|
<li class="s_grid_row"><label>Seminar time</label></li>
|
||||||
|
|
||||||
|
<li class="s_grid_row"><select name="" id="" class="s_grid s_grid_1">
|
||||||
|
<option value=""></option>
|
||||||
|
</select>
|
||||||
|
<label class="s_grid s_grid_1">Year</label>
|
||||||
|
<select name="" id="" class="s_grid s_grid_1">
|
||||||
|
<option value=""></option>
|
||||||
|
</select>
|
||||||
|
<label class="s_grid s_grid_1">Month</label>
|
||||||
|
<select name="" id="" class="s_grid s_grid_1">
|
||||||
|
<option value=""></option>
|
||||||
|
</select>
|
||||||
|
<label class="s_grid s_grid_1">Day</label>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="s_grid_row"><input class="s_grid s_grid_2" type="text" value="Location"><input class="s_grid s_grid_2" type="text" value="Sponsor"></li>
|
||||||
|
<li class="s_grid_row"><label class="s_grid_2 s_grid" for="">Reference URL</label><input class="s_grid_4 s_grid" type="text" value="www.sample.com"></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="s_grid_con s_form">
|
||||||
|
<ul>
|
||||||
|
<li class="s_grid_row"><textarea class="s_grid s_grid_6" name="" id="">Author</textarea><span class="icon-plus input_append"></span></li>
|
||||||
|
<li class="s_grid_row">
|
||||||
|
<select name="" id="" class="s_grid s_grid_4">
|
||||||
|
<option value="">Author Type</option>
|
||||||
|
<option value="">First Author</option>
|
||||||
|
<option value="">Corresponding Author</option>
|
||||||
|
<option value="">Second Author</option>
|
||||||
|
<option value="">Third Author</option>
|
||||||
|
<option value="">Fourth Author</option>
|
||||||
|
</select>
|
||||||
|
<select name="" id="" class="s_grid s_grid_2">
|
||||||
|
<option value="">Status</option>
|
||||||
|
<option value="">Published</option>
|
||||||
|
<option value="">Pending</option>
|
||||||
|
<option value="">Writing</option>
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="s_grid_row"><label class="s_grid s_grid_2" for="">Date of Publication</label><input class="s_grid s_grid_4" type="text" value="2012 / 05 / 01"></li>
|
||||||
|
|
||||||
|
<li class="s_grid_row"><input class="s_grid s_grid_6" type="text" value="Tags"><span class="icon-plus input_append"></li>
|
||||||
|
<li class="s_grid_row"><input class="s_grid s_grid_6" type="text" value="Keywords"><span class="icon-plus input_append"></li>
|
||||||
|
<li class="s_grid_row"><input class="s_grid s_grid_6" type="text" value="Associated Project"><span class="icon-plus input_append"></span></li>
|
||||||
|
<li class="s_grid_row"><label class="s_grid s_grid_2" for="">Abstract</label><input type="file"></li>
|
||||||
|
<li class="s_grid_row"><label class="s_grid s_grid_2" for="">Full Text</label><input type="file"></li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="s_grid_con s_form">
|
||||||
|
<ul>
|
||||||
|
<li class="s_grid_row"><textarea name="" id="" rows="20" class="s_grid s_grid_6">Abstract</textarea></li>
|
||||||
|
<li class="s_grid_row"><textarea name="" id="" rows="6" class="s_grid s_grid_6">Note</textarea></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,75 @@
|
||||||
|
<div class="toolbar hh2">
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2"><span class="icon-check"></span></div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul id="journal_selection_options">
|
||||||
|
<li><a class="hp hh2 admtxt" href="all">All</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="none">None</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">More</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Delete</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Tag</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Tag</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">All</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Starred</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">MIT</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Status</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">All</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Published</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Pending</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">View</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul id="journal_view_selection">
|
||||||
|
<li><a class="hp hh2 admtxt" href="journal">Journal</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="title">Title</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="file">File</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="keywords">Keywords</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="abstract">Abstract</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Share</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Full</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Abstract</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Friends</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Private</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Group</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2"><span class="icon-question-sign"></span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="paper_list" class="tinycanvas vp">
|
||||||
|
<div class="scrollbar sb_h vp"><div class="track"><div class="thumb thmc2"><div class="end"></div></div></div></div>
|
||||||
|
<div class="viewport">
|
||||||
|
<div class="overview">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,33 @@
|
||||||
|
<div id="research_d">
|
||||||
|
<div id="content">
|
||||||
|
<div id="header" class="hh3">
|
||||||
|
<div class="dtitle w2 hh3 hp">
|
||||||
|
<span class="thmtxth">Research Domain</span>
|
||||||
|
</div>
|
||||||
|
<div id="search_app" class="hfn w2 hh2 hp thmc3">
|
||||||
|
<input type="text" class="ini_input form" value="Search" id="searchbox" />
|
||||||
|
<input type="submit" class="ini_input submit thmc1" value="Submit"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="holder">
|
||||||
|
<div id="panel_l" class="ph">
|
||||||
|
<div class="s_menu sm_v">
|
||||||
|
<ul id='setting_left_nav'>
|
||||||
|
<li><a href="list" class="hh2 w2 hp active thmc1 thmtxt" onclick='return false;'>List</a></li>
|
||||||
|
<li><a href="add" class="admtxt hh2 w2 hp" onclick='return false;'>Add/Edit</a></li>
|
||||||
|
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Domains</a></li>
|
||||||
|
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Co-Authors</a></li>
|
||||||
|
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Tags & Keywords</a></li>
|
||||||
|
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Analysis</a></li>
|
||||||
|
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Import</a></li>
|
||||||
|
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Export</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="panel_r" class="ph pw admbg hp">
|
||||||
|
</div>
|
||||||
|
<div class="clear"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,107 @@
|
||||||
|
<div class="toolbar hh2">
|
||||||
|
<div class="fn_g hp">
|
||||||
|
<button class="fn_btn hh2 thmc2 thmtxt">Save</button>
|
||||||
|
<button class="fn_btn hh2 admbg2">Cancel</button>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Year</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2012</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2011</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2010</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2009</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2008</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2007</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2006</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2005</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2004</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2003</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2002</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2001</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Language</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">English</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Chinese</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2"><span class="icon-question-sign"></span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="paper_add" class="tinycanvas vp">
|
||||||
|
<div class="scrollbar sb_h vp"><div class="track"><div class="thumb thmc2"><div class="end"></div></div></div></div>
|
||||||
|
<div class="viewport">
|
||||||
|
<div class="overview">
|
||||||
|
<div class="s_grid_con s_form">
|
||||||
|
<ul>
|
||||||
|
<li class="s_grid_row"><textarea class="s_grid_6 s_grid" name="" id="">Seminar Title</textarea></li>
|
||||||
|
<li class="s_grid_row">
|
||||||
|
<label>Paper type</label><input type="radio" name="" value="Books" />Oral<input type="radio" name="" value="Chapter" />Poster</li>
|
||||||
|
<li class="s_grid_row"><label>Seminar time</label></li>
|
||||||
|
|
||||||
|
<li class="s_grid_row"><select name="" id="" class="s_grid s_grid_1">
|
||||||
|
<option value=""></option>
|
||||||
|
</select>
|
||||||
|
<label class="s_grid s_grid_1">Year</label>
|
||||||
|
<select name="" id="" class="s_grid s_grid_1">
|
||||||
|
<option value=""></option>
|
||||||
|
</select>
|
||||||
|
<label class="s_grid s_grid_1">Month</label>
|
||||||
|
<select name="" id="" class="s_grid s_grid_1">
|
||||||
|
<option value=""></option>
|
||||||
|
</select>
|
||||||
|
<label class="s_grid s_grid_1">Day</label>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="s_grid_row"><input class="s_grid s_grid_2" type="text" value="Location"><input class="s_grid s_grid_2" type="text" value="Sponsor"></li>
|
||||||
|
<li class="s_grid_row"><label class="s_grid_2 s_grid" for="">Reference URL</label><input class="s_grid_4 s_grid" type="text" value="www.sample.com"></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="s_grid_con s_form">
|
||||||
|
<ul>
|
||||||
|
<li class="s_grid_row"><textarea class="s_grid s_grid_6" name="" id="">Author</textarea><span class="icon-plus input_append"></span></li>
|
||||||
|
<li class="s_grid_row">
|
||||||
|
<select name="" id="" class="s_grid s_grid_4">
|
||||||
|
<option value="">Author Type</option>
|
||||||
|
<option value="">First Author</option>
|
||||||
|
<option value="">Corresponding Author</option>
|
||||||
|
<option value="">Second Author</option>
|
||||||
|
<option value="">Third Author</option>
|
||||||
|
<option value="">Fourth Author</option>
|
||||||
|
</select>
|
||||||
|
<select name="" id="" class="s_grid s_grid_2">
|
||||||
|
<option value="">Status</option>
|
||||||
|
<option value="">Published</option>
|
||||||
|
<option value="">Pending</option>
|
||||||
|
<option value="">Writing</option>
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="s_grid_row"><label class="s_grid s_grid_2" for="">Date of Publication</label><input class="s_grid s_grid_4" type="text" value="2012 / 05 / 01"></li>
|
||||||
|
|
||||||
|
<li class="s_grid_row"><input class="s_grid s_grid_6" type="text" value="Tags"><span class="icon-plus input_append"></li>
|
||||||
|
<li class="s_grid_row"><input class="s_grid s_grid_6" type="text" value="Keywords"><span class="icon-plus input_append"></li>
|
||||||
|
<li class="s_grid_row"><input class="s_grid s_grid_6" type="text" value="Associated Project"><span class="icon-plus input_append"></span></li>
|
||||||
|
<li class="s_grid_row"><label class="s_grid s_grid_2" for="">Abstract</label><input type="file"></li>
|
||||||
|
<li class="s_grid_row"><label class="s_grid s_grid_2" for="">Full Text</label><input type="file"></li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="s_grid_con s_form">
|
||||||
|
<ul>
|
||||||
|
<li class="s_grid_row"><textarea name="" id="" rows="20" class="s_grid s_grid_6">Abstract</textarea></li>
|
||||||
|
<li class="s_grid_row"><textarea name="" id="" rows="6" class="s_grid s_grid_6">Note</textarea></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,75 @@
|
||||||
|
<div class="toolbar hh2">
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2"><span class="icon-check"></span></div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul id="journal_selection_options">
|
||||||
|
<li><a class="hp hh2 admtxt" href="all">All</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="none">None</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">More</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Delete</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Tag</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Tag</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">All</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Starred</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">MIT</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Status</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">All</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Published</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Pending</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">View</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul id="journal_view_selection">
|
||||||
|
<li><a class="hp hh2 admtxt" href="journal">Journal</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="title">Title</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="file">File</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="keywords">Keywords</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="abstract">Abstract</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Share</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Full</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Abstract</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Friends</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Private</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Group</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2"><span class="icon-question-sign"></span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="paper_list" class="tinycanvas vp">
|
||||||
|
<div class="scrollbar sb_h vp"><div class="track"><div class="thumb thmc2"><div class="end"></div></div></div></div>
|
||||||
|
<div class="viewport">
|
||||||
|
<div class="overview">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,33 @@
|
||||||
|
<div id="research_p">
|
||||||
|
<div id="content">
|
||||||
|
<div id="header" class="hh3">
|
||||||
|
<div class="dtitle w2 hh3 hp">
|
||||||
|
<span class="thmtxth">Research Projects</span>
|
||||||
|
</div>
|
||||||
|
<div id="search_app" class="hfn w2 hh2 hp thmc3">
|
||||||
|
<input type="text" class="ini_input form" value="Search" id="searchbox" />
|
||||||
|
<input type="submit" class="ini_input submit thmc1" value="Submit"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="holder">
|
||||||
|
<div id="panel_l" class="ph">
|
||||||
|
<div class="s_menu sm_v">
|
||||||
|
<ul id='setting_left_nav'>
|
||||||
|
<li><a href="list" class="hh2 w2 hp active thmc1 thmtxt" onclick='return false;'>List</a></li>
|
||||||
|
<li><a href="add" class="admtxt hh2 w2 hp" onclick='return false;'>Add/Edit</a></li>
|
||||||
|
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Projects</a></li>
|
||||||
|
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Co-Authors</a></li>
|
||||||
|
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Tags & Keywords</a></li>
|
||||||
|
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Analysis</a></li>
|
||||||
|
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Import</a></li>
|
||||||
|
<li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Export</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="panel_r" class="ph pw admbg hp">
|
||||||
|
</div>
|
||||||
|
<div class="clear"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,107 @@
|
||||||
|
<div class="toolbar hh2">
|
||||||
|
<div class="fn_g hp">
|
||||||
|
<button class="fn_btn hh2 thmc2 thmtxt">Save</button>
|
||||||
|
<button class="fn_btn hh2 admbg2">Cancel</button>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Year</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2012</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2011</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2010</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2009</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2008</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2007</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2006</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2005</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2004</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2003</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2002</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">2001</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Language</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">English</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Chinese</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2"><span class="icon-question-sign"></span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="paper_add" class="tinycanvas vp">
|
||||||
|
<div class="scrollbar sb_h vp"><div class="track"><div class="thumb thmc2"><div class="end"></div></div></div></div>
|
||||||
|
<div class="viewport">
|
||||||
|
<div class="overview">
|
||||||
|
<div class="s_grid_con s_form">
|
||||||
|
<ul>
|
||||||
|
<li class="s_grid_row"><textarea class="s_grid_6 s_grid" name="" id="">Seminar Title</textarea></li>
|
||||||
|
<li class="s_grid_row">
|
||||||
|
<label>Paper type</label><input type="radio" name="" value="Books" />Oral<input type="radio" name="" value="Chapter" />Poster</li>
|
||||||
|
<li class="s_grid_row"><label>Seminar time</label></li>
|
||||||
|
|
||||||
|
<li class="s_grid_row"><select name="" id="" class="s_grid s_grid_1">
|
||||||
|
<option value=""></option>
|
||||||
|
</select>
|
||||||
|
<label class="s_grid s_grid_1">Year</label>
|
||||||
|
<select name="" id="" class="s_grid s_grid_1">
|
||||||
|
<option value=""></option>
|
||||||
|
</select>
|
||||||
|
<label class="s_grid s_grid_1">Month</label>
|
||||||
|
<select name="" id="" class="s_grid s_grid_1">
|
||||||
|
<option value=""></option>
|
||||||
|
</select>
|
||||||
|
<label class="s_grid s_grid_1">Day</label>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="s_grid_row"><input class="s_grid s_grid_2" type="text" value="Location"><input class="s_grid s_grid_2" type="text" value="Sponsor"></li>
|
||||||
|
<li class="s_grid_row"><label class="s_grid_2 s_grid" for="">Reference URL</label><input class="s_grid_4 s_grid" type="text" value="www.sample.com"></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="s_grid_con s_form">
|
||||||
|
<ul>
|
||||||
|
<li class="s_grid_row"><textarea class="s_grid s_grid_6" name="" id="">Author</textarea><span class="icon-plus input_append"></span></li>
|
||||||
|
<li class="s_grid_row">
|
||||||
|
<select name="" id="" class="s_grid s_grid_4">
|
||||||
|
<option value="">Author Type</option>
|
||||||
|
<option value="">First Author</option>
|
||||||
|
<option value="">Corresponding Author</option>
|
||||||
|
<option value="">Second Author</option>
|
||||||
|
<option value="">Third Author</option>
|
||||||
|
<option value="">Fourth Author</option>
|
||||||
|
</select>
|
||||||
|
<select name="" id="" class="s_grid s_grid_2">
|
||||||
|
<option value="">Status</option>
|
||||||
|
<option value="">Published</option>
|
||||||
|
<option value="">Pending</option>
|
||||||
|
<option value="">Writing</option>
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="s_grid_row"><label class="s_grid s_grid_2" for="">Date of Publication</label><input class="s_grid s_grid_4" type="text" value="2012 / 05 / 01"></li>
|
||||||
|
|
||||||
|
<li class="s_grid_row"><input class="s_grid s_grid_6" type="text" value="Tags"><span class="icon-plus input_append"></li>
|
||||||
|
<li class="s_grid_row"><input class="s_grid s_grid_6" type="text" value="Keywords"><span class="icon-plus input_append"></li>
|
||||||
|
<li class="s_grid_row"><input class="s_grid s_grid_6" type="text" value="Associated Project"><span class="icon-plus input_append"></span></li>
|
||||||
|
<li class="s_grid_row"><label class="s_grid s_grid_2" for="">Abstract</label><input type="file"></li>
|
||||||
|
<li class="s_grid_row"><label class="s_grid s_grid_2" for="">Full Text</label><input type="file"></li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="s_grid_con s_form">
|
||||||
|
<ul>
|
||||||
|
<li class="s_grid_row"><textarea name="" id="" rows="20" class="s_grid s_grid_6">Abstract</textarea></li>
|
||||||
|
<li class="s_grid_row"><textarea name="" id="" rows="6" class="s_grid s_grid_6">Note</textarea></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,75 @@
|
||||||
|
<div class="toolbar hh2">
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2"><span class="icon-check"></span></div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul id="journal_selection_options">
|
||||||
|
<li><a class="hp hh2 admtxt" href="all">All</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="none">None</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">More</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Delete</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Tag</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Tag</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">All</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Starred</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">MIT</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Status</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">All</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Published</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Pending</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">View</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul id="journal_view_selection">
|
||||||
|
<li><a class="hp hh2 admtxt" href="journal">Journal</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="title">Title</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="file">File</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="keywords">Keywords</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="abstract">Abstract</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2">Share</div>
|
||||||
|
<div class="admbg sdm_o">
|
||||||
|
<ul>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Full</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Abstract</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Friends</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Private</a></li>
|
||||||
|
<li><a class="hp hh2 admtxt" href="">Group</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hh2 hp sdm">
|
||||||
|
<div class="sdm_t hh2"><span class="icon-question-sign"></span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="paper_list" class="tinycanvas vp">
|
||||||
|
<div class="scrollbar sb_h vp"><div class="track"><div class="thumb thmc2"><div class="end"></div></div></div></div>
|
||||||
|
<div class="viewport">
|
||||||
|
<div class="overview">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -67,6 +67,17 @@
|
||||||
<% end -%>
|
<% end -%>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|
||||||
|
<%= content_tag :li, :class => active_for_controllers('orbit_galleries','/panel/gallery/back_end/tags') || active_for_app_auth("orbit_gallery") do -%>
|
||||||
|
<%= link_to content_tag(:i, nil, :class => 'icons-picture') + t('admin.orbit_gallery'), panel_gallery_back_end_orbit_gallery_path %>
|
||||||
|
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('orbit_galleries') ) do -%>
|
||||||
|
<%#= content_tag :li, link_to(t('admin.ad.all_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %>
|
||||||
|
<%#= content_tag :li, link_to(t('admin.ad.new_banner'), new_admin_ad_banner_path), :class => active_for_action('ad_banners', 'new') %>
|
||||||
|
<%#= content_tag :li, link_to(t('admin.ad.new_image'), new_ad_image_admin_ad_banners_path), :class => active_for_action('ad_images', 'new') %>
|
||||||
|
<%= content_tag :li, link_to(t('gallery.categories'), panel_gallery_back_end_categorylist_path), :class => active_for_action('/panel/gallery/back_end/categorylist','categorylist') %>
|
||||||
|
<%= content_tag :li, link_to(t('gallery.tags'), panel_gallery_back_end_tags_path), :class => active_for_action('/panel/gallery/back_end/tags', 'index') %>
|
||||||
|
<%= content_tag :li, link_to(t('admin.module.authorization'),admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: "orbit_gallery"}))), :class => active_for_app_auth('orbit_gallery') if (is_admin? rescue nil) %>
|
||||||
|
<% end -%>
|
||||||
|
<% end %>
|
||||||
<%#= content_tag :li, :class => active_for_controllers('assets', '/admin/asset_tags', 'asset_categories') do -%>
|
<%#= content_tag :li, :class => active_for_controllers('assets', '/admin/asset_tags', 'asset_categories') do -%>
|
||||||
<%#= link_to content_tag(:i, nil, :class => 'icons-link') + t('admin.asset'), admin_assets_path %>
|
<%#= link_to content_tag(:i, nil, :class => 'icons-link') + t('admin.asset'), admin_assets_path %>
|
||||||
<%#= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('assets', '/admin/asset_tags', 'asset_categories')) do -%>
|
<%#= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('assets', '/admin/asset_tags', 'asset_categories')) do -%>
|
||||||
|
@ -75,3 +86,4 @@
|
||||||
<%#= content_tag :li, link_to(t('admin.tags'), admin_asset_tags_path), :class => active_for_action('/admin/asset_tags', 'index') %>
|
<%#= content_tag :li, link_to(t('admin.tags'), admin_asset_tags_path), :class => active_for_action('/admin/asset_tags', 'index') %>
|
||||||
<%# end -%>
|
<%# end -%>
|
||||||
<%# end -%>
|
<%# end -%>
|
||||||
|
|
||||||
|
|
|
@ -86,6 +86,7 @@ en:
|
||||||
object: "Access Denied for you don't have permission for this object"
|
object: "Access Denied for you don't have permission for this object"
|
||||||
action: Action
|
action: Action
|
||||||
ad_banner: AD Banner
|
ad_banner: AD Banner
|
||||||
|
orbit_gallery: Gallery
|
||||||
ad:
|
ad:
|
||||||
sec_place_holder: Enter 3 if 3 sec
|
sec_place_holder: Enter 3 if 3 sec
|
||||||
ab_fx: FX
|
ab_fx: FX
|
||||||
|
|
|
@ -80,6 +80,7 @@ zh_tw:
|
||||||
object: 拒絕存取因你不是網站管理者
|
object: 拒絕存取因你不是網站管理者
|
||||||
action: 操作
|
action: 操作
|
||||||
ad_banner: 廣告輪播
|
ad_banner: 廣告輪播
|
||||||
|
orbit_gallery: 活動花絮
|
||||||
ad:
|
ad:
|
||||||
sec_place_holder: 3秒請輸入3
|
sec_place_holder: 3秒請輸入3
|
||||||
ab_fx: 轉場特效
|
ab_fx: 轉場特效
|
||||||
|
|
|
@ -8,8 +8,7 @@ defaults: &defaults
|
||||||
|
|
||||||
development:
|
development:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
# database: prototype_r4_development
|
database: prototype_r4_development
|
||||||
database: desktop
|
|
||||||
test:
|
test:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
database: prototype_r4_test
|
database: prototype_r4_test
|
||||||
|
|
|
@ -193,6 +193,14 @@ Orbit::Application.routes.draw do
|
||||||
match '/desktop/seminar_p_list/'=>'desktop_publications#seminar_p_list'
|
match '/desktop/seminar_p_list/'=>'desktop_publications#seminar_p_list'
|
||||||
match '/desktop/seminar_p_add/'=>'desktop_publications#seminar_p_add'
|
match '/desktop/seminar_p_add/'=>'desktop_publications#seminar_p_add'
|
||||||
|
|
||||||
|
match '/desktop/research_d' => 'desktop_research#research_d'
|
||||||
|
match '/desktop/research_d_list/' => 'desktop_research#research_d_list'
|
||||||
|
match '/desktop/research_d_add' => 'desktop_research#research_d_add'
|
||||||
|
|
||||||
|
match '/desktop/research_p' => 'desktop_research#research_p'
|
||||||
|
match '/desktop/research_p_list/' => 'desktop_research#research_p_list'
|
||||||
|
match '/desktop/research_p_add' => 'desktop_research#research_p_add'
|
||||||
|
|
||||||
|
|
||||||
match '/desktop/twitter/'=>'otheraccounts#twitter'
|
match '/desktop/twitter/'=>'otheraccounts#twitter'
|
||||||
match '/desktop/forgmail/'=>'otheraccounts#gmail'
|
match '/desktop/forgmail/'=>'otheraccounts#gmail'
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
.bundle/
|
||||||
|
log/*.log
|
||||||
|
pkg/
|
||||||
|
test/dummy/db/*.sqlite3
|
||||||
|
test/dummy/log/*.log
|
||||||
|
test/dummy/tmp/
|
|
@ -0,0 +1,17 @@
|
||||||
|
source "http://rubygems.org"
|
||||||
|
|
||||||
|
# Declare your gem's dependencies in gallery.gemspec.
|
||||||
|
# Bundler will treat runtime dependencies like base dependencies, and
|
||||||
|
# development dependencies will be added by default to the :development group.
|
||||||
|
gemspec
|
||||||
|
|
||||||
|
# jquery-rails is used by the dummy application
|
||||||
|
gem "jquery-rails"
|
||||||
|
|
||||||
|
# Declare any dependencies that are still in development here instead of in
|
||||||
|
# your gemspec. These might include edge Rails or gems from your path or
|
||||||
|
# Git. Remember to move these dependencies to your gemspec before releasing
|
||||||
|
# your gem to rubygems.org.
|
||||||
|
|
||||||
|
# To use debugger
|
||||||
|
# gem 'ruby-debug19', :require => 'ruby-debug'
|
|
@ -0,0 +1,20 @@
|
||||||
|
Copyright 2012 YOURNAME
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@ -0,0 +1,3 @@
|
||||||
|
= Gallery
|
||||||
|
|
||||||
|
This project rocks and uses MIT-LICENSE.
|
|
@ -0,0 +1,39 @@
|
||||||
|
#!/usr/bin/env rake
|
||||||
|
begin
|
||||||
|
require 'bundler/setup'
|
||||||
|
rescue LoadError
|
||||||
|
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
||||||
|
end
|
||||||
|
begin
|
||||||
|
require 'rdoc/task'
|
||||||
|
rescue LoadError
|
||||||
|
require 'rdoc/rdoc'
|
||||||
|
require 'rake/rdoctask'
|
||||||
|
RDoc::Task = Rake::RDocTask
|
||||||
|
end
|
||||||
|
|
||||||
|
RDoc::Task.new(:rdoc) do |rdoc|
|
||||||
|
rdoc.rdoc_dir = 'rdoc'
|
||||||
|
rdoc.title = 'Gallery'
|
||||||
|
rdoc.options << '--line-numbers'
|
||||||
|
rdoc.rdoc_files.include('README.rdoc')
|
||||||
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
||||||
|
end
|
||||||
|
|
||||||
|
APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
|
||||||
|
load 'rails/tasks/engine.rake'
|
||||||
|
|
||||||
|
|
||||||
|
Bundler::GemHelper.install_tasks
|
||||||
|
|
||||||
|
require 'rake/testtask'
|
||||||
|
|
||||||
|
Rake::TestTask.new(:test) do |t|
|
||||||
|
t.libs << 'lib'
|
||||||
|
t.libs << 'test'
|
||||||
|
t.pattern = 'test/**/*_test.rb'
|
||||||
|
t.verbose = false
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
task :default => :test
|
BIN
vendor/built_in_modules/gallery/app/assets/images/gallery/albumframe.png
vendored
Executable file
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 3.8 KiB |
BIN
vendor/built_in_modules/gallery/app/assets/images/gallery/icon_100 copy.png
vendored
Executable file
After Width: | Height: | Size: 9.0 KiB |
After Width: | Height: | Size: 9.0 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 146 KiB |
BIN
vendor/built_in_modules/gallery/app/assets/images/gallery/slidelistbg.png
vendored
Executable file
After Width: | Height: | Size: 194 B |
After Width: | Height: | Size: 514 B |
BIN
vendor/built_in_modules/gallery/app/assets/images/gallery/slidetitlebg.png
vendored
Executable file
After Width: | Height: | Size: 219 B |
After Width: | Height: | Size: 372 B |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 658 B |
After Width: | Height: | Size: 231 B |
|
@ -0,0 +1 @@
|
||||||
|
//= require galleryAPI
|
|
@ -0,0 +1,605 @@
|
||||||
|
<%# encoding: utf-8 %>
|
||||||
|
$.extend($.expr[':'], {
|
||||||
|
'containsi': function (elem, i, match, array) {
|
||||||
|
return (elem.textContent || elem.innerText || '').toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var galleryAPI = function(){
|
||||||
|
g = this;
|
||||||
|
this.urlVars = rcom.getUrlVars();
|
||||||
|
this.albumArea = $("#orbit_gallery");
|
||||||
|
this.loadArea = null;
|
||||||
|
this.tagList = $("ul#gallery_tag_list");
|
||||||
|
// this.authenticated = false;
|
||||||
|
this.initialize = function(callbackFn){
|
||||||
|
$(document).ready(function(){
|
||||||
|
bindHandlers();
|
||||||
|
var passid = null;
|
||||||
|
if(typeof g.urlVars['cat']!= "undefined"){
|
||||||
|
g.loadArea = "albums";
|
||||||
|
passid = g.urlVars['cat'];
|
||||||
|
g.loadAlbums(g.urlVars['cat']);
|
||||||
|
}else if(typeof g.urlVars['album']!= "undefined"){
|
||||||
|
g.loadArea = "images";
|
||||||
|
passid = g.urlVars['album'];
|
||||||
|
g.loadImages(g.urlVars['album']);
|
||||||
|
}else if(typeof g.urlVars['theater']!= "undefined"){
|
||||||
|
g.loadArea = "theater";
|
||||||
|
passid = g.urlVars['theater'];
|
||||||
|
g.loadTheater(g.urlVars['theater']);
|
||||||
|
}else if(typeof g.urlVars['edit']!= "undefined"){
|
||||||
|
g.loadArea = "edit";
|
||||||
|
passid = g.urlVars['edit'];
|
||||||
|
g.editAlbum(g.urlVars['edit']);
|
||||||
|
}else if(typeof g.urlVars['tag']!= "undefined"){
|
||||||
|
g.loadArea = "albums";
|
||||||
|
passid = g.urlVars['tag'];
|
||||||
|
g.loadAlbums(g.urlVars['tag']);
|
||||||
|
}else if(g.urlVars.length == 0){
|
||||||
|
g.loadArea = "albums";
|
||||||
|
g.loadAlbums("all");
|
||||||
|
}
|
||||||
|
if(typeof callbackFn == "function"){
|
||||||
|
callbackFn.call(this,g.loadArea,passid);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
var bindHandlers = function(){
|
||||||
|
$("#filter .filter_btns a").click(function(){
|
||||||
|
if(!$(this).hasClass("active")){
|
||||||
|
$(this).addClass("active");
|
||||||
|
if(g.urlVars.length == 0)
|
||||||
|
window.location = "orbit_gallery?" + $(this).attr("href");
|
||||||
|
else
|
||||||
|
window.location = window.location.href +"&"+ $(this).attr("href");
|
||||||
|
}else{
|
||||||
|
$(this).removeClass("active");
|
||||||
|
var loc = window.location.href;
|
||||||
|
var url = loc.replace($(this).attr("href")+"&","");
|
||||||
|
if(url == loc)
|
||||||
|
url = loc.replace($(this).attr("href"),"");
|
||||||
|
|
||||||
|
if(url.charAt(url.length-1)=="&" || url.charAt(url.length-1)=="?")
|
||||||
|
url = url.substr(0,url.length-1);
|
||||||
|
window.location = url;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
$("#filter .filter-clear a").click(function(){
|
||||||
|
var loc = window.location.href;
|
||||||
|
var url = null;
|
||||||
|
var forwhat = $(this).attr("for");
|
||||||
|
$("#filter ."+forwhat+" a.active").each(function(){
|
||||||
|
$(this).removeClass("active");
|
||||||
|
url = loc.replace($(this).attr("href")+"&","");
|
||||||
|
if(url == loc)
|
||||||
|
url = loc.replace($(this).attr("href"),"");
|
||||||
|
|
||||||
|
if(url.charAt(url.length-1)=="&" || url.charAt(url.length-1)=="?")
|
||||||
|
url = url.substr(0,url.length-1);
|
||||||
|
loc = url;
|
||||||
|
})
|
||||||
|
window.location = url;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.makeNewAlbum = function(){
|
||||||
|
$.get("add_album",function(html){
|
||||||
|
rcom.modalWindow({loadHtml:html,width:400,"closeBtn":false},function(dom){
|
||||||
|
dom.find("#album_name_save_btn").click(function(){
|
||||||
|
var options ={
|
||||||
|
cid : dom.find("select#category_list").val(),
|
||||||
|
albumname : {
|
||||||
|
"en" : dom.find("#name_en").val(),
|
||||||
|
"zh_tw" : dom.find("#name_zh_tw").val()
|
||||||
|
},
|
||||||
|
albumdesc : {
|
||||||
|
"en" : dom.find("#desc_en").val(),
|
||||||
|
"zh_tw" : dom.find("#desc_zh_tw").val()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(options.cid){
|
||||||
|
$.post("create_album",options,function(response){
|
||||||
|
if(g.loadArea == "albums")
|
||||||
|
g.loadAlbums("all");
|
||||||
|
rcom.modalWindowClose();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
dom.find("#album_name_close_btn").click(function(){
|
||||||
|
rcom.modalWindowClose();
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.deleteAlbum = function(id){
|
||||||
|
if(confirm("<%= I18n.t('gallery.del_album?') %>")){
|
||||||
|
$.post("delete_album",{aid:id},function(){
|
||||||
|
window.location = "orbit_gallery";
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.loadAlbums = function(id){
|
||||||
|
g.loadFooterPanel(g.loadArea,id,function(headbtn){
|
||||||
|
headbtn = $(headbtn);
|
||||||
|
headbtn.click(function(){g.makeNewAlbum();})
|
||||||
|
g.albumArea.find(".rghead .rgfn").html(headbtn);
|
||||||
|
})
|
||||||
|
|
||||||
|
g.albumArea.find("#imgholder").empty();
|
||||||
|
// var $addsign = $('<div class="rgalbum"><a id="global_add" class="rgui bt-addnew" href="add" onclick="return false;">Add Album</a></div>');
|
||||||
|
// $addsign.find("a").click(function(){g.makeNewAlbum();})
|
||||||
|
|
||||||
|
if(id!="all"){
|
||||||
|
var cids = [];
|
||||||
|
var tids = [];
|
||||||
|
var href = null;
|
||||||
|
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
|
||||||
|
for(var i = 0; i < hashes.length; i++){
|
||||||
|
hash = hashes[i].split('=');
|
||||||
|
if(hash[0]=="cat"){
|
||||||
|
cids.push(hash[1]);
|
||||||
|
href = "cat="+hash[1];
|
||||||
|
}else if(hash[0]=="tag"){
|
||||||
|
tids.push(hash[1]);
|
||||||
|
href = "tag="+hash[1];
|
||||||
|
}
|
||||||
|
$("#filter .filter_btns a[href='"+href+"']").addClass("active");
|
||||||
|
}
|
||||||
|
if(cids.length == 0)
|
||||||
|
cids = "all";
|
||||||
|
}else{
|
||||||
|
var cids = "all";
|
||||||
|
}
|
||||||
|
$.getJSON("get_albums",{cid:cids,tid:tids},function(categories){
|
||||||
|
$.each(categories,function(x,category){
|
||||||
|
$.each(category,function(i,album){
|
||||||
|
if(album.cover == "default")
|
||||||
|
var $img = $("<div class='rgalbum'><a title='"+album.description+"' href='?album="+album._id+"'><img src='../../../assets/gallery/default.jpg' width='120px' height='90px'/></a><span class='albumname'>"+album.name+"</span><br /><span class='tagnames'></span></div>");
|
||||||
|
else
|
||||||
|
var $img = $("<div class='rgalbum'><a title='"+album.description+"' href='?album="+album._id+"'><img src='"+album.cover_path+"' width='120px' height='90px'/></a><span class='albumname'>"+album.name+"</span><br /><span class='tagnames'></span></div>");
|
||||||
|
var tag_string = "";
|
||||||
|
for(tag in album.tag_names){
|
||||||
|
tag_string+=album.tag_names[tag] + " ";
|
||||||
|
}
|
||||||
|
$img.find("span.tagnames").text(tag_string);
|
||||||
|
g.albumArea.find("#imgholder").append($img);
|
||||||
|
})
|
||||||
|
})
|
||||||
|
// g.albumArea.find("#imgholder").append($addsign);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.loadImages = function(id){
|
||||||
|
var panelopen = false;
|
||||||
|
g.loadFooterPanel(g.loadArea,id,function(headerPanel){
|
||||||
|
headarea = $(headerPanel);
|
||||||
|
g.albumArea.find(".rghead .rgfn").html(headarea);
|
||||||
|
$('.bt-tag').click(function(){
|
||||||
|
$(this).toggleClass("active");
|
||||||
|
var $tag_panel = $('#tag_panel'),
|
||||||
|
tag_panel_position = 0;
|
||||||
|
|
||||||
|
if( $tag_panel.css('right') == '0px' ){
|
||||||
|
tag_panel_position = -200;
|
||||||
|
}
|
||||||
|
$tag_panel.animate({'right':tag_panel_position}, 300);
|
||||||
|
|
||||||
|
g.albumArea
|
||||||
|
.delay(200)
|
||||||
|
.animate({'margin-right':tag_panel_position+200},300);
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
g.albumArea.find("#tag_search_box").keyup(function(e){
|
||||||
|
sval = $(this).val();
|
||||||
|
if(sval == "<%= I18n.t('gallery.search_tags') %>")
|
||||||
|
sval = "";
|
||||||
|
sval = sval.replace(/(^\s*)|(\s*$)/g,'');
|
||||||
|
if(sval){
|
||||||
|
var re1 = new RegExp("^[\u4E00-\uFA29]*$"); //Chinese character range
|
||||||
|
var re2 = new RegExp("^[\uE7C7-\uE7F3]*$");
|
||||||
|
if ((re1.test(sval) && (re2.test(sval)))){
|
||||||
|
$("ul#gallery_tag_list li span:not(:contains("+sval+"))").parent().slideUp();
|
||||||
|
}else{
|
||||||
|
$("ul#gallery_tag_list li span:not(:containsi("+sval+"))").parent().slideUp();
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$("ul#gallery_tag_list li").slideDown();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
g.albumArea.find("#tag_panel button.bt-save").click(function(){
|
||||||
|
g.saveTags(id,g.loadArea);
|
||||||
|
})
|
||||||
|
g.albumArea.find(".rghead .rgfn a.bt-add").click(function(){
|
||||||
|
showUploadPanel();
|
||||||
|
})
|
||||||
|
g.albumArea.find(".rghead .rgfn a.bt-del").click(function(){
|
||||||
|
g.deleteAlbum(id);
|
||||||
|
})
|
||||||
|
})
|
||||||
|
var uploadpanel = $('<div id="upload_panel_holder"><div class="rgfn"><a class="bt-cls btn btn-primary pull-right" title="Close" href="" onclick="return false;"><i class="icon-remove icon-white"></i>Close Panel</a></div></div>');
|
||||||
|
var frame = $('<iframe id="upload_panel" width="100%" scrolling="no" height="200" frameborder="0" src="upload_panel"></iframe>');
|
||||||
|
uploadpanel.find("a.bt-cls").click(function(){
|
||||||
|
uploadpanel.hide("slide");
|
||||||
|
frame.remove();
|
||||||
|
g.loadImages(id);
|
||||||
|
panelopen = false;
|
||||||
|
})
|
||||||
|
var showUploadPanel = function(){
|
||||||
|
if(!panelopen){
|
||||||
|
uploadpanel.prepend(frame);
|
||||||
|
uploadpanel.show("slide");
|
||||||
|
panelopen = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
g.albumArea.find(".rghead .rgfn").append(uploadpanel);
|
||||||
|
g.albumArea.find("#imgholder").empty();
|
||||||
|
$("#filter").remove();
|
||||||
|
g.albumArea.css("margin-top","");
|
||||||
|
// var $addsign = $('<div class="rgalbum"><a id="global_add" class="rgui bt-addnew" href="add" onclick="return false;">Add Album</a></div>');
|
||||||
|
// $addsign.find("a").click(function(){showUploadPanel();})
|
||||||
|
$.getJSON("get_images",{aid:id},function(album){
|
||||||
|
$.each(album.images,function(i,image){
|
||||||
|
var thumb = image.file.thumb.url;
|
||||||
|
var $img = $("<div class='rgalbum'><a title='"+image.description+"' href='?theater="+image._id+"'><img src='"+thumb+"'/></a></div>");
|
||||||
|
g.albumArea.find("#imgholder").append($img);
|
||||||
|
})
|
||||||
|
g.tagList.find("input").attr("checked",false);
|
||||||
|
$.each(album.tags,function(i,tag){
|
||||||
|
|
||||||
|
g.tagList.find("li[data-content="+tag+"] input").attr("checked",true);
|
||||||
|
})
|
||||||
|
// g.albumArea.find("#imgholder").append($addsign);
|
||||||
|
})
|
||||||
|
// g.albumArea.find("#imgholder").append($addsign);
|
||||||
|
// tag
|
||||||
|
|
||||||
|
}
|
||||||
|
this.loadTheater = function(id){
|
||||||
|
var imageArray;
|
||||||
|
var imagecount = 0;
|
||||||
|
var picHeight = 0;
|
||||||
|
var bindHandlers = function(){
|
||||||
|
var $slidelist = $('.slidelist'),
|
||||||
|
$rslide = $('.rslide'),
|
||||||
|
$rslidenav = $('.rslidenav'),
|
||||||
|
$img = $("#main_pic img"),
|
||||||
|
wHeight = $(window).height();
|
||||||
|
|
||||||
|
$("#main_pic").height(picHeight);
|
||||||
|
$img.height("100%");
|
||||||
|
|
||||||
|
$('.bt-tag').click(function(){
|
||||||
|
if(!$(this).hasClass("active"))
|
||||||
|
updatePhotoTag();
|
||||||
|
$(this).toggleClass("active");
|
||||||
|
var $tag_panel = $('#tag_panel'),
|
||||||
|
tag_panel_position = 0;
|
||||||
|
|
||||||
|
if( $tag_panel.css('right') == '0px' ){
|
||||||
|
tag_panel_position = -200;
|
||||||
|
}
|
||||||
|
$tag_panel.animate({'right':tag_panel_position}, 300);
|
||||||
|
|
||||||
|
g.albumArea
|
||||||
|
.delay(200)
|
||||||
|
.animate({'margin-right':tag_panel_position+200},300);
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
var updatePhotoTag = function(){
|
||||||
|
var tags = imageArray[imagecount].tag_ids;
|
||||||
|
g.tagList.find("input").attr("checked",false);
|
||||||
|
for(tag in tags){
|
||||||
|
g.tagList.find("li[data-content="+tags[tag]+"] input").attr("checked",true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
g.albumArea.find("#tag_search_box").keyup(function(e){
|
||||||
|
sval = $(this).val();
|
||||||
|
if(sval == "<%= I18n.t('gallery.search_tags') %>")
|
||||||
|
sval = "";
|
||||||
|
sval = sval.replace(/(^\s*)|(\s*$)/g,'');
|
||||||
|
if(sval){
|
||||||
|
var re1 = new RegExp("^[\u4E00-\uFA29]*$"); //Chinese character range
|
||||||
|
var re2 = new RegExp("^[\uE7C7-\uE7F3]*$");
|
||||||
|
if ((re1.test(sval) && (re2.test(sval)))){
|
||||||
|
$("ul#gallery_tag_list li span:not(:contains("+sval+"))").parent().slideUp();
|
||||||
|
}else{
|
||||||
|
$("ul#gallery_tag_list li span:not(:containsi("+sval+"))").parent().slideUp();
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
$("ul#gallery_tag_list li").slideDown();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
g.albumArea.find("#tag_panel button.bt-save").click(function(){
|
||||||
|
g.saveTags(imageArray[imagecount]._id,g.loadArea);
|
||||||
|
})
|
||||||
|
$(".slidectrl a.togglelist").click(function(){
|
||||||
|
var rslide_h = $rslide.outerHeight();
|
||||||
|
if ( $slidelist.height() < 1 ){
|
||||||
|
$slidelist.stop().animate({'height':rslide_h - 30}, 300);
|
||||||
|
$slidelist.find("ul").show();
|
||||||
|
} else {
|
||||||
|
$slidelist.stop().animate({'height':'0px'}, 300);
|
||||||
|
$slidelist.find("ul").hide();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
$(".slidectrl a.togglescreen").click(function(){
|
||||||
|
toggleFullscreen();
|
||||||
|
})
|
||||||
|
$(".slidectrl a.browserfullscreen").click(function(){
|
||||||
|
browserFullScreen();
|
||||||
|
})
|
||||||
|
$slidelist.find("a.list_element").click(function(){
|
||||||
|
imagecount = parseInt($(this).parent().attr("for"));
|
||||||
|
changeImage($(this));
|
||||||
|
})
|
||||||
|
$rslidenav.find("a.navN").click(function(){
|
||||||
|
nextpic($(this));
|
||||||
|
})
|
||||||
|
$rslidenav.find("a.navP").click(function(){
|
||||||
|
prevpic($(this));
|
||||||
|
})
|
||||||
|
$("a#nextpic").click(function(){
|
||||||
|
nextpic($(this));
|
||||||
|
})
|
||||||
|
|
||||||
|
$(document).keydown(function(e){
|
||||||
|
if (e.keyCode == 37){
|
||||||
|
prevpic($rslidenav.find("a.navP"));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(e.keyCode == 39){
|
||||||
|
nextpic($rslidenav.find("a.navN"));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(e.keyCode == 27){
|
||||||
|
toggleFullscreen();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(e.keyCode == 70 || e.keyCode == 102){
|
||||||
|
if($rslide.hasClass("fullscreen"))
|
||||||
|
browserFullScreen();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var browserFullScreen = function(){
|
||||||
|
var el = document.documentElement,
|
||||||
|
rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen;
|
||||||
|
rfs.call(el);
|
||||||
|
}
|
||||||
|
var nextpic = function(dom){
|
||||||
|
if(imagecount == imageArray.length - 1)
|
||||||
|
imagecount = 0;
|
||||||
|
else
|
||||||
|
imagecount++;
|
||||||
|
changeImage(dom);
|
||||||
|
}
|
||||||
|
var prevpic = function(dom){
|
||||||
|
if(imagecount == 0)
|
||||||
|
imagecount = imageArray.length - 1
|
||||||
|
else
|
||||||
|
imagecount--;
|
||||||
|
changeImage(dom);
|
||||||
|
}
|
||||||
|
var toggleFullscreen = function(){
|
||||||
|
if($rslide.hasClass("fullscreen")){
|
||||||
|
$rslide.css("position","relative");
|
||||||
|
$rslide.removeClass("fullscreen");
|
||||||
|
$(".slidectrl a.browserfullscreen").hide();
|
||||||
|
$img.css({"padding":""})
|
||||||
|
$("#main_pic").height(picHeight );
|
||||||
|
}else{
|
||||||
|
$("#main_pic").height(wHeight);
|
||||||
|
// $img.height("100%");
|
||||||
|
$rslide.css("position","");
|
||||||
|
$rslide.addClass("fullscreen");
|
||||||
|
$img.css({"padding":($rslide.height()-$img.height())/2})
|
||||||
|
$(".slidectrl a.browserfullscreen").show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var changeImage = function(dom){
|
||||||
|
var pageurl = dom.attr('href');
|
||||||
|
$img.fadeOut(200,function(){
|
||||||
|
$img.attr({"src":dom.attr("data-content"),"height":picHeight+"px"});
|
||||||
|
$img.fadeIn(200);
|
||||||
|
if($rslide.hasClass("fullscreen")){
|
||||||
|
$img.css({"padding":($rslide.height()-$img.height())/2})
|
||||||
|
}
|
||||||
|
$slidelist.stop().animate({'height':'0px'}, 300);
|
||||||
|
$slidelist.find("ul").hide();
|
||||||
|
if(pageurl!=window.location){
|
||||||
|
window.history.pushState({path:pageurl},'',pageurl);
|
||||||
|
}
|
||||||
|
// $(".slideinfo b.info").text(imageArray[imagecount].title);
|
||||||
|
if($('.bt-tag').hasClass("active"))
|
||||||
|
updatePhotoTag();
|
||||||
|
$(".slideinfo span.info").text(imageArray[imagecount].description);
|
||||||
|
if(imageArray.length > 1)
|
||||||
|
updateNavigation();
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
var updateNavigation = function(){
|
||||||
|
var next, prev;
|
||||||
|
if(imagecount == 0){
|
||||||
|
next = 1;
|
||||||
|
prev = imageArray.length - 1;
|
||||||
|
}else if(imagecount == imageArray.length - 1){
|
||||||
|
next = 0
|
||||||
|
prev = imageArray.length - 2;
|
||||||
|
}else{
|
||||||
|
next = imagecount + 1;
|
||||||
|
prev = imagecount - 1;
|
||||||
|
}
|
||||||
|
$("a.navN").attr({"href":"orbit_gallery?theater="+imageArray[next]._id,"data-content":imageArray[next].file.url});
|
||||||
|
$("a.navP").attr({"href":"orbit_gallery?theater="+imageArray[prev]._id,"data-content":imageArray[prev].file.url});
|
||||||
|
};
|
||||||
|
if(imageArray.length > 1)
|
||||||
|
updateNavigation();
|
||||||
|
}
|
||||||
|
|
||||||
|
var preparestage = function(albumid){
|
||||||
|
$.getJSON("get_images",{aid:albumid},function(album){
|
||||||
|
imageArray = eval(album.images);
|
||||||
|
$.each(album.images,function(i,image){
|
||||||
|
if(image._id == id)
|
||||||
|
imagecount = i;
|
||||||
|
})
|
||||||
|
bindHandlers();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
g.albumArea.find("#imgholder").load("theater?pic="+id,function(theater,response,xhr){
|
||||||
|
if(xhr.status == 404){
|
||||||
|
$(this).text("<%= I18n.t('gallery.pic_not_found') %>.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$("#filter").remove();
|
||||||
|
g.albumArea.css("margin-top","");
|
||||||
|
var albumid = $(theater).find("#main_pic").attr("data-content");
|
||||||
|
g.loadFooterPanel(g.loadArea,id,function(head){
|
||||||
|
head = $(head);
|
||||||
|
g.albumArea.find(".rghead .rgfn").html(head);
|
||||||
|
g.albumArea.find("a.bt-back").attr("href","orbit_gallery?album="+albumid);
|
||||||
|
g.albumArea.find("a.bt-edit").attr("href","orbit_gallery?edit="+albumid);
|
||||||
|
})
|
||||||
|
g.albumArea.css("margin-bottom","0");
|
||||||
|
picHeight = $(window).height() - ($("#orbit-bar").outerHeight() + $("#orbit_gallery .form-actions").outerHeight());
|
||||||
|
preparestage(albumid);
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
this.editAlbum = function(id){
|
||||||
|
var bindHandlers = function(){
|
||||||
|
$(".nav .nav-tabs a").click(function(){
|
||||||
|
$(".tab_content .tab-pane").hide();
|
||||||
|
|
||||||
|
})
|
||||||
|
$(".description_loader .edit_fn .bt-cover").click(function(){
|
||||||
|
$(".bt-cover").removeClass("setcover");
|
||||||
|
$(this).addClass("setcover");
|
||||||
|
$.post("set_cover",{"imageid":$(this).attr("href"),"aid":id},function(){})
|
||||||
|
})
|
||||||
|
$(".description_loader .edit_fn .bt-dels").click(function(){
|
||||||
|
$(this).toggleClass("setdelete");
|
||||||
|
if($(".description_loader .edit_fn .setdelete").length > 0){
|
||||||
|
g.albumArea.find(".rghead .rgfn .bt-delete").show();
|
||||||
|
}else{
|
||||||
|
g.albumArea.find(".rghead .rgfn .bt-delete").hide();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
g.albumArea.find(".rghead .rgfn .bt-save").click(function(){
|
||||||
|
// var dataArray = Array();
|
||||||
|
// $(".description_loader .txtchange").each(function(){
|
||||||
|
// dataArray.push({"id":$(this).attr("for"),"text": $(this).val()});
|
||||||
|
// })
|
||||||
|
// var albumnm = Array();
|
||||||
|
// $(".albumname_edit .txtchange").each(function(){
|
||||||
|
// albumnm.push($(this).val())
|
||||||
|
// })
|
||||||
|
var dataArray = $("form#edit_album").serialize();
|
||||||
|
$.post("update_album",{"aid":id,"data":dataArray},function(){
|
||||||
|
|
||||||
|
})
|
||||||
|
})
|
||||||
|
$('.bt-tag').click(function(){
|
||||||
|
|
||||||
|
$(this).toggleClass("active");
|
||||||
|
var $tag_panel = $('#tag_panel'),
|
||||||
|
tag_panel_position = 0;
|
||||||
|
|
||||||
|
if( $tag_panel.css('right') == '0px' ){
|
||||||
|
tag_panel_position = -200;
|
||||||
|
}
|
||||||
|
$tag_panel.animate({'right':tag_panel_position}, 300);
|
||||||
|
|
||||||
|
g.albumArea
|
||||||
|
.delay(200)
|
||||||
|
.animate({'margin-right':tag_panel_position+200},300);
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
g.albumArea.find("#tag_search_box").keyup(function(e){
|
||||||
|
sval = $(this).val();
|
||||||
|
if(sval == "<%= I18n.t('gallery.search_tags') %>")
|
||||||
|
sval = "";
|
||||||
|
sval = sval.replace(/(^\s*)|(\s*$)/g,'');
|
||||||
|
if(sval){
|
||||||
|
var re1 = new RegExp("^[\u4E00-\uFA29]*$"); //Chinese character range
|
||||||
|
var re2 = new RegExp("^[\uE7C7-\uE7F3]*$");
|
||||||
|
if ((re1.test(sval) && (re2.test(sval)))){
|
||||||
|
$("ul#gallery_tag_list li span:not(:contains("+sval+"))").parent().slideUp();
|
||||||
|
}else{
|
||||||
|
$("ul#gallery_tag_list li span:not(:containsi("+sval+"))").parent().slideUp();
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
$("ul#gallery_tag_list li").slideDown();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
g.albumArea.find("#tag_panel button.bt-save").click(function(){
|
||||||
|
g.saveTags(imageArray[imagecount]._id,g.loadArea);
|
||||||
|
})
|
||||||
|
var tempval;
|
||||||
|
$(".txtchange").focus(function(){
|
||||||
|
tempval = $(this).val();
|
||||||
|
}).keyup(function(){
|
||||||
|
if($(this).val() != tempval)
|
||||||
|
g.albumArea.find(".rghead .rgfn .bt-save").show();
|
||||||
|
})
|
||||||
|
g.albumArea.find(".rghead .rgfn .bt-delete").click(function(){
|
||||||
|
var images_to_delete = new Array();
|
||||||
|
var delete_cover = false;
|
||||||
|
var doms_to_delete = new Array();
|
||||||
|
var thiscover = $(".description_loader .edit_fn .setcover").attr("href");
|
||||||
|
$(".description_loader .edit_fn .bt-dels").each(function(){
|
||||||
|
if($(this).hasClass("setdelete")){
|
||||||
|
images_to_delete.push($(this).attr("href"));
|
||||||
|
doms_to_delete.push($(this).parent().parent());
|
||||||
|
if(thiscover == $(this).attr("href"))
|
||||||
|
delete_cover = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if(confirm("Deleting "+images_to_delete.length+" image(s)?")){
|
||||||
|
$.post("delete_images",{"images":images_to_delete,"delete_cover":delete_cover,"aid":id},function(response){
|
||||||
|
if(response.success){
|
||||||
|
for(dom in doms_to_delete){
|
||||||
|
doms_to_delete[dom].hide("slide",function(){$(this).remove();})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
g.albumArea.find(".rghead .rgfn .bt-delete").hide();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
$("#filter").remove();
|
||||||
|
g.albumArea.css("margin-top","");
|
||||||
|
var head ='<a href="orbit_gallery?album='+id+'" class="bt-back btn pull-left" title="<%= I18n.t("gallery.back_to_photos") %>"><i class="icon-arrow-left icon-black"></i><%= I18n.t("gallery.back_to_photos") %></a></div>';
|
||||||
|
head+='<a class="bt-del bt-delete btn btn-primary pull-right" onclick="return false;" style="display:none;" title="<%= I18n.t("gallery.delete_selected") %>" href=""><i class="icon-trash icon-white"></i><%= I18n.t("gallery.delete_selected") %></a>';
|
||||||
|
head+='<a class="bt-save btn btn-primary pull-right" onclick="return false;" style="display:none;" title="Save" href=""><i class="icon-ok icon-white"></i>Save</a>';
|
||||||
|
g.albumArea.find(".rghead .rgfn").html(head);
|
||||||
|
g.albumArea.find("#imgholder").load("edit_album?aid="+id,function(data,response,xhr){
|
||||||
|
if(xhr.status == 404){
|
||||||
|
$(this).text("<%= I18n.t('gallery.album_not_found') %>");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
bindHandlers();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.saveTags = function(id,tagsfor){
|
||||||
|
var tagids = new Array();
|
||||||
|
g.tagList.find("li input:checked").each(function(){
|
||||||
|
tagids.push($(this).parent().attr("data-content"));
|
||||||
|
})
|
||||||
|
var tag = null;
|
||||||
|
if(g.loadArea == "images")
|
||||||
|
tag = "album";
|
||||||
|
else if(g.loadArea == "theater")
|
||||||
|
tag = "pic";
|
||||||
|
|
||||||
|
$.post("save_tags",{"id":id,"tag":tag,"tids":tagids},function(){
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
galleryAPI.prototype.locale = "en";
|
|
@ -0,0 +1,414 @@
|
||||||
|
/*!
|
||||||
|
* jQuery UI 1.8.16
|
||||||
|
*
|
||||||
|
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://docs.jquery.com/UI
|
||||||
|
*/
|
||||||
|
(function(a,d){function c(h,g){var i=h.nodeName.toLowerCase();if("area"===i){g=h.parentNode;i=g.name;if(!h.href||!i||g.nodeName.toLowerCase()!=="map")return false;h=a("img[usemap=#"+i+"]")[0];return!!h&&e(h)}return(/input|select|textarea|button|object/.test(i)?!h.disabled:"a"==i?h.href||g:g)&&e(h)}function e(h){return!a(h).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(!a.ui.version){a.extend(a.ui,{version:"1.8.16",
|
||||||
|
keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(h,g){return typeof h==="number"?this.each(function(){var i=
|
||||||
|
this;setTimeout(function(){a(i).focus();g&&g.call(i)},h)}):this._focus.apply(this,arguments)},scrollParent:function(){var h;h=a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,
|
||||||
|
"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!h.length?a(document):h},zIndex:function(h){if(h!==d)return this.css("zIndex",h);if(this.length){h=a(this[0]);for(var g;h.length&&h[0]!==document;){g=h.css("position");if(g==="absolute"||g==="relative"||g==="fixed"){g=parseInt(h.css("zIndex"),10);if(!isNaN(g)&&g!==0)return g}h=h.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":
|
||||||
|
"mousedown")+".ui-disableSelection",function(h){h.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(h,g){function i(l,o,n,k){a.each(b,function(){o-=parseFloat(a.curCSS(l,"padding"+this,true))||0;if(n)o-=parseFloat(a.curCSS(l,"border"+this+"Width",true))||0;if(k)o-=parseFloat(a.curCSS(l,"margin"+this,true))||0});return o}var b=g==="Width"?["Left","Right"]:["Top","Bottom"],f=g.toLowerCase(),j={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,
|
||||||
|
outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+g]=function(l){if(l===d)return j["inner"+g].call(this);return this.each(function(){a(this).css(f,i(this,l)+"px")})};a.fn["outer"+g]=function(l,o){if(typeof l!=="number")return j["outer"+g].call(this,l);return this.each(function(){a(this).css(f,i(this,l,true,o)+"px")})}});a.extend(a.expr[":"],{data:function(h,g,i){return!!a.data(h,i[3])},focusable:function(h){return c(h,!isNaN(a.attr(h,"tabindex")))},tabbable:function(h){var g=a.attr(h,
|
||||||
|
"tabindex"),i=isNaN(g);return(i||g>=0)&&c(h,!i)}});a(function(){var h=document.body,g=h.appendChild(g=document.createElement("div"));a.extend(g.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=g.offsetHeight===100;a.support.selectstart="onselectstart"in g;h.removeChild(g).style.display="none"});a.extend(a.ui,{plugin:{add:function(h,g,i){h=a.ui[h].prototype;for(var b in i){h.plugins[b]=h.plugins[b]||[];h.plugins[b].push([g,i[b]])}},call:function(h,g,i){if((g=h.plugins[g])&&
|
||||||
|
h.element[0].parentNode)for(var b=0;b<g.length;b++)h.options[g[b][0]]&&g[b][1].apply(h.element,i)}},contains:function(h,g){return document.compareDocumentPosition?h.compareDocumentPosition(g)&16:h!==g&&h.contains(g)},hasScroll:function(h,g){if(a(h).css("overflow")==="hidden")return false;g=g&&g==="left"?"scrollLeft":"scrollTop";var i=false;if(h[g]>0)return true;h[g]=1;i=h[g]>0;h[g]=0;return i},isOverAxis:function(h,g,i){return h>g&&h<g+i},isOver:function(h,g,i,b,f,j){return a.ui.isOverAxis(h,i,f)&&
|
||||||
|
a.ui.isOverAxis(g,b,j)}})}})(jQuery);
|
||||||
|
(function(a,d){if(a.cleanData){var c=a.cleanData;a.cleanData=function(h){for(var g=0,i;(i=h[g])!=null;g++)try{a(i).triggerHandler("remove")}catch(b){}c(h)}}else{var e=a.fn.remove;a.fn.remove=function(h,g){return this.each(function(){if(!g)if(!h||a.filter(h,[this]).length)a("*",this).add([this]).each(function(){try{a(this).triggerHandler("remove")}catch(i){}});return e.call(a(this),h,g)})}}a.widget=function(h,g,i){var b=h.split(".")[0],f;h=h.split(".")[1];f=b+"-"+h;if(!i){i=g;g=a.Widget}a.expr[":"][f]=
|
||||||
|
function(j){return!!a.data(j,h)};a[b]=a[b]||{};a[b][h]=function(j,l){arguments.length&&this._createWidget(j,l)};g=new g;g.options=a.extend(true,{},g.options);a[b][h].prototype=a.extend(true,g,{namespace:b,widgetName:h,widgetEventPrefix:a[b][h].prototype.widgetEventPrefix||h,widgetBaseClass:f},i);a.widget.bridge(h,a[b][h])};a.widget.bridge=function(h,g){a.fn[h]=function(i){var b=typeof i==="string",f=Array.prototype.slice.call(arguments,1),j=this;i=!b&&f.length?a.extend.apply(null,[true,i].concat(f)):
|
||||||
|
i;if(b&&i.charAt(0)==="_")return j;b?this.each(function(){var l=a.data(this,h),o=l&&a.isFunction(l[i])?l[i].apply(l,f):l;if(o!==l&&o!==d){j=o;return false}}):this.each(function(){var l=a.data(this,h);l?l.option(i||{})._init():a.data(this,h,new g(i,this))});return j}};a.Widget=function(h,g){arguments.length&&this._createWidget(h,g)};a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(h,g){a.data(g,this.widgetName,this);this.element=a(g);this.options=
|
||||||
|
a.extend(true,{},this.options,this._getCreateOptions(),h);var i=this;this.element.bind("remove."+this.widgetName,function(){i.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return a.metadata&&a.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+
|
||||||
|
"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(h,g){var i=h;if(arguments.length===0)return a.extend({},this.options);if(typeof h==="string"){if(g===d)return this.options[h];i={};i[h]=g}this._setOptions(i);return this},_setOptions:function(h){var g=this;a.each(h,function(i,b){g._setOption(i,b)});return this},_setOption:function(h,g){this.options[h]=g;if(h==="disabled")this.widget()[g?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",
|
||||||
|
g);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(h,g,i){var b=this.options[h];g=a.Event(g);g.type=(h===this.widgetEventPrefix?h:this.widgetEventPrefix+h).toLowerCase();i=i||{};if(g.originalEvent){h=a.event.props.length;for(var f;h;){f=a.event.props[--h];g[f]=g.originalEvent[f]}}this.element.trigger(g,i);return!(a.isFunction(b)&&b.call(this.element[0],g,i)===false||g.isDefaultPrevented())}}})(jQuery);
|
||||||
|
(function(a){var d=false;a(document).mouseup(function(){d=false});a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var c=this;this.element.bind("mousedown."+this.widgetName,function(e){return c._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===a.data(e.target,c.widgetName+".preventClickEvent")){a.removeData(e.target,c.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+
|
||||||
|
this.widgetName)},_mouseDown:function(c){if(!d){this._mouseStarted&&this._mouseUp(c);this._mouseDownEvent=c;var e=this,h=c.which==1,g=typeof this.options.cancel=="string"&&c.target.nodeName?a(c.target).closest(this.options.cancel).length:false;if(!h||g||!this._mouseCapture(c))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(c)&&this._mouseDelayMet(c)){this._mouseStarted=
|
||||||
|
this._mouseStart(c)!==false;if(!this._mouseStarted){c.preventDefault();return true}}true===a.data(c.target,this.widgetName+".preventClickEvent")&&a.removeData(c.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(i){return e._mouseMove(i)};this._mouseUpDelegate=function(i){return e._mouseUp(i)};a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);c.preventDefault();return d=true}},_mouseMove:function(c){if(a.browser.msie&&
|
||||||
|
!(document.documentMode>=9)&&!c.button)return this._mouseUp(c);if(this._mouseStarted){this._mouseDrag(c);return c.preventDefault()}if(this._mouseDistanceMet(c)&&this._mouseDelayMet(c))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,c)!==false)?this._mouseDrag(c):this._mouseUp(c);return!this._mouseStarted},_mouseUp:function(c){a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=
|
||||||
|
false;c.target==this._mouseDownEvent.target&&a.data(c.target,this.widgetName+".preventClickEvent",true);this._mouseStop(c)}return false},_mouseDistanceMet:function(c){return Math.max(Math.abs(this._mouseDownEvent.pageX-c.pageX),Math.abs(this._mouseDownEvent.pageY-c.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
|
||||||
|
(function(a){a.widget("ui.draggable",a.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper==
|
||||||
|
"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(d){var c=
|
||||||
|
this.options;if(this.helper||c.disabled||a(d.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(d);if(!this.handle)return false;if(c.iframeFix)a(c.iframeFix===true?"iframe":c.iframeFix).each(function(){a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(a(this).offset()).appendTo("body")});return true},_mouseStart:function(d){var c=this.options;
|
||||||
|
this.helper=this._createHelper(d);this._cacheHelperProportions();if(a.ui.ddmanager)a.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};a.extend(this.offset,{click:{left:d.pageX-this.offset.left,top:d.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});
|
||||||
|
this.originalPosition=this.position=this._generatePosition(d);this.originalPageX=d.pageX;this.originalPageY=d.pageY;c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt);c.containment&&this._setContainment();if(this._trigger("start",d)===false){this._clear();return false}this._cacheHelperProportions();a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,d);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(d,true);a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,d);return true},
|
||||||
|
_mouseDrag:function(d,c){this.position=this._generatePosition(d);this.positionAbs=this._convertPositionTo("absolute");if(!c){c=this._uiHash();if(this._trigger("drag",d,c)===false){this._mouseUp({});return false}this.position=c.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";a.ui.ddmanager&&a.ui.ddmanager.drag(this,d);return false},_mouseStop:function(d){var c=
|
||||||
|
false;if(a.ui.ddmanager&&!this.options.dropBehaviour)c=a.ui.ddmanager.drop(this,d);if(this.dropped){c=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!c||this.options.revert=="valid"&&c||this.options.revert===true||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,c)){var e=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,
|
||||||
|
10),function(){e._trigger("stop",d)!==false&&e._clear()})}else this._trigger("stop",d)!==false&&this._clear();return false},_mouseUp:function(d){this.options.iframeFix===true&&a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,d);return a.ui.mouse.prototype._mouseUp.call(this,d)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(d){var c=!this.options.handle||
|
||||||
|
!a(this.options.handle,this.element).length?true:false;a(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==d.target)c=true});return c},_createHelper:function(d){var c=this.options;d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[d])):c.helper=="clone"?this.element.clone().removeAttr("id"):this.element;d.parents("body").length||d.appendTo(c.appendTo=="parent"?this.element[0].parentNode:c.appendTo);d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&
|
||||||
|
d.css("position","absolute");return d},_adjustOffsetFromHelper:function(d){if(typeof d=="string")d=d.split(" ");if(a.isArray(d))d={left:+d[0],top:+d[1]||0};if("left"in d)this.offset.click.left=d.left+this.margins.left;if("right"in d)this.offset.click.left=this.helperProportions.width-d.right+this.margins.left;if("top"in d)this.offset.click.top=d.top+this.margins.top;if("bottom"in d)this.offset.click.top=this.helperProportions.height-d.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=
|
||||||
|
this.helper.offsetParent();var d=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){d.left+=this.scrollParent.scrollLeft();d.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)d={top:0,left:0};return{top:d.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:d.left+(parseInt(this.offsetParent.css("borderLeftWidth"),
|
||||||
|
10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var d=this.element.position();return{top:d.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:d.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),
|
||||||
|
10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var d=this.options;if(d.containment=="parent")d.containment=this.helper[0].parentNode;if(d.containment=="document"||d.containment=="window")this.containment=[d.containment=="document"?0:a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,d.containment=="document"?0:a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,
|
||||||
|
(d.containment=="document"?0:a(window).scrollLeft())+a(d.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d.containment=="document"?0:a(window).scrollTop())+(a(d.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(d.containment)&&d.containment.constructor!=Array){d=a(d.containment);var c=d[0];if(c){d.offset();var e=a(c).css("overflow")!=
|
||||||
|
"hidden";this.containment=[(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0),(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0),(e?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),
|
||||||
|
10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=d}}else if(d.containment.constructor==Array)this.containment=d.containment},_convertPositionTo:function(d,c){if(!c)c=this.position;d=d=="absolute"?1:-1;var e=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,h=/(html|body)/i.test(e[0].tagName);return{top:c.top+
|
||||||
|
this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():h?0:e.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():h?0:e.scrollLeft())*d)}},_generatePosition:function(d){var c=this.options,e=this.cssPosition=="absolute"&&
|
||||||
|
!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,h=/(html|body)/i.test(e[0].tagName),g=d.pageX,i=d.pageY;if(this.originalPosition){var b;if(this.containment){if(this.relative_container){b=this.relative_container.offset();b=[this.containment[0]+b.left,this.containment[1]+b.top,this.containment[2]+b.left,this.containment[3]+b.top]}else b=this.containment;if(d.pageX-this.offset.click.left<b[0])g=b[0]+this.offset.click.left;
|
||||||
|
if(d.pageY-this.offset.click.top<b[1])i=b[1]+this.offset.click.top;if(d.pageX-this.offset.click.left>b[2])g=b[2]+this.offset.click.left;if(d.pageY-this.offset.click.top>b[3])i=b[3]+this.offset.click.top}if(c.grid){i=c.grid[1]?this.originalPageY+Math.round((i-this.originalPageY)/c.grid[1])*c.grid[1]:this.originalPageY;i=b?!(i-this.offset.click.top<b[1]||i-this.offset.click.top>b[3])?i:!(i-this.offset.click.top<b[1])?i-c.grid[1]:i+c.grid[1]:i;g=c.grid[0]?this.originalPageX+Math.round((g-this.originalPageX)/
|
||||||
|
c.grid[0])*c.grid[0]:this.originalPageX;g=b?!(g-this.offset.click.left<b[0]||g-this.offset.click.left>b[2])?g:!(g-this.offset.click.left<b[0])?g-c.grid[0]:g+c.grid[0]:g}}return{top:i-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():h?0:e.scrollTop()),left:g-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&a.browser.version<
|
||||||
|
526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():h?0:e.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(d,c,e){e=e||this._uiHash();a.ui.plugin.call(this,d,[c,e]);if(d=="drag")this.positionAbs=this._convertPositionTo("absolute");return a.Widget.prototype._trigger.call(this,d,c,
|
||||||
|
e)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});a.extend(a.ui.draggable,{version:"1.8.16"});a.ui.plugin.add("draggable","connectToSortable",{start:function(d,c){var e=a(this).data("draggable"),h=e.options,g=a.extend({},c,{item:e.element});e.sortables=[];a(h.connectToSortable).each(function(){var i=a.data(this,"sortable");if(i&&!i.options.disabled){e.sortables.push({instance:i,shouldRevert:i.options.revert});
|
||||||
|
i.refreshPositions();i._trigger("activate",d,g)}})},stop:function(d,c){var e=a(this).data("draggable"),h=a.extend({},c,{item:e.element});a.each(e.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;e.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(d);this.instance.options.helper=this.instance.options._helper;e.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=
|
||||||
|
false;this.instance._trigger("deactivate",d,h)}})},drag:function(d,c){var e=a(this).data("draggable"),h=this;a.each(e.sortables,function(){this.instance.positionAbs=e.positionAbs;this.instance.helperProportions=e.helperProportions;this.instance.offset.click=e.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=a(h).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",true);
|
||||||
|
this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return c.helper[0]};d.target=this.instance.currentItem[0];this.instance._mouseCapture(d,true);this.instance._mouseStart(d,true,true);this.instance.offset.click.top=e.offset.click.top;this.instance.offset.click.left=e.offset.click.left;this.instance.offset.parent.left-=e.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=e.offset.parent.top-this.instance.offset.parent.top;
|
||||||
|
e._trigger("toSortable",d);e.dropped=this.instance.element;e.currentItem=e.element;this.instance.fromOutside=e}this.instance.currentItem&&this.instance._mouseDrag(d)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",d,this.instance._uiHash(this.instance));this.instance._mouseStop(d,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&
|
||||||
|
this.instance.placeholder.remove();e._trigger("fromSortable",d);e.dropped=false}})}});a.ui.plugin.add("draggable","cursor",{start:function(){var d=a("body"),c=a(this).data("draggable").options;if(d.css("cursor"))c._cursor=d.css("cursor");d.css("cursor",c.cursor)},stop:function(){var d=a(this).data("draggable").options;d._cursor&&a("body").css("cursor",d._cursor)}});a.ui.plugin.add("draggable","opacity",{start:function(d,c){d=a(c.helper);c=a(this).data("draggable").options;if(d.css("opacity"))c._opacity=
|
||||||
|
d.css("opacity");d.css("opacity",c.opacity)},stop:function(d,c){d=a(this).data("draggable").options;d._opacity&&a(c.helper).css("opacity",d._opacity)}});a.ui.plugin.add("draggable","scroll",{start:function(){var d=a(this).data("draggable");if(d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML")d.overflowOffset=d.scrollParent.offset()},drag:function(d){var c=a(this).data("draggable"),e=c.options,h=false;if(c.scrollParent[0]!=document&&c.scrollParent[0].tagName!="HTML"){if(!e.axis||e.axis!=
|
||||||
|
"x")if(c.overflowOffset.top+c.scrollParent[0].offsetHeight-d.pageY<e.scrollSensitivity)c.scrollParent[0].scrollTop=h=c.scrollParent[0].scrollTop+e.scrollSpeed;else if(d.pageY-c.overflowOffset.top<e.scrollSensitivity)c.scrollParent[0].scrollTop=h=c.scrollParent[0].scrollTop-e.scrollSpeed;if(!e.axis||e.axis!="y")if(c.overflowOffset.left+c.scrollParent[0].offsetWidth-d.pageX<e.scrollSensitivity)c.scrollParent[0].scrollLeft=h=c.scrollParent[0].scrollLeft+e.scrollSpeed;else if(d.pageX-c.overflowOffset.left<
|
||||||
|
e.scrollSensitivity)c.scrollParent[0].scrollLeft=h=c.scrollParent[0].scrollLeft-e.scrollSpeed}else{if(!e.axis||e.axis!="x")if(d.pageY-a(document).scrollTop()<e.scrollSensitivity)h=a(document).scrollTop(a(document).scrollTop()-e.scrollSpeed);else if(a(window).height()-(d.pageY-a(document).scrollTop())<e.scrollSensitivity)h=a(document).scrollTop(a(document).scrollTop()+e.scrollSpeed);if(!e.axis||e.axis!="y")if(d.pageX-a(document).scrollLeft()<e.scrollSensitivity)h=a(document).scrollLeft(a(document).scrollLeft()-
|
||||||
|
e.scrollSpeed);else if(a(window).width()-(d.pageX-a(document).scrollLeft())<e.scrollSensitivity)h=a(document).scrollLeft(a(document).scrollLeft()+e.scrollSpeed)}h!==false&&a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(c,d)}});a.ui.plugin.add("draggable","snap",{start:function(){var d=a(this).data("draggable"),c=d.options;d.snapElements=[];a(c.snap.constructor!=String?c.snap.items||":data(draggable)":c.snap).each(function(){var e=a(this),h=e.offset();this!=d.element[0]&&d.snapElements.push({item:this,
|
||||||
|
width:e.outerWidth(),height:e.outerHeight(),top:h.top,left:h.left})})},drag:function(d,c){for(var e=a(this).data("draggable"),h=e.options,g=h.snapTolerance,i=c.offset.left,b=i+e.helperProportions.width,f=c.offset.top,j=f+e.helperProportions.height,l=e.snapElements.length-1;l>=0;l--){var o=e.snapElements[l].left,n=o+e.snapElements[l].width,k=e.snapElements[l].top,m=k+e.snapElements[l].height;if(o-g<i&&i<n+g&&k-g<f&&f<m+g||o-g<i&&i<n+g&&k-g<j&&j<m+g||o-g<b&&b<n+g&&k-g<f&&f<m+g||o-g<b&&b<n+g&&k-g<j&&
|
||||||
|
j<m+g){if(h.snapMode!="inner"){var p=Math.abs(k-j)<=g,q=Math.abs(m-f)<=g,s=Math.abs(o-b)<=g,r=Math.abs(n-i)<=g;if(p)c.position.top=e._convertPositionTo("relative",{top:k-e.helperProportions.height,left:0}).top-e.margins.top;if(q)c.position.top=e._convertPositionTo("relative",{top:m,left:0}).top-e.margins.top;if(s)c.position.left=e._convertPositionTo("relative",{top:0,left:o-e.helperProportions.width}).left-e.margins.left;if(r)c.position.left=e._convertPositionTo("relative",{top:0,left:n}).left-e.margins.left}var u=
|
||||||
|
p||q||s||r;if(h.snapMode!="outer"){p=Math.abs(k-f)<=g;q=Math.abs(m-j)<=g;s=Math.abs(o-i)<=g;r=Math.abs(n-b)<=g;if(p)c.position.top=e._convertPositionTo("relative",{top:k,left:0}).top-e.margins.top;if(q)c.position.top=e._convertPositionTo("relative",{top:m-e.helperProportions.height,left:0}).top-e.margins.top;if(s)c.position.left=e._convertPositionTo("relative",{top:0,left:o}).left-e.margins.left;if(r)c.position.left=e._convertPositionTo("relative",{top:0,left:n-e.helperProportions.width}).left-e.margins.left}if(!e.snapElements[l].snapping&&
|
||||||
|
(p||q||s||r||u))e.options.snap.snap&&e.options.snap.snap.call(e.element,d,a.extend(e._uiHash(),{snapItem:e.snapElements[l].item}));e.snapElements[l].snapping=p||q||s||r||u}else{e.snapElements[l].snapping&&e.options.snap.release&&e.options.snap.release.call(e.element,d,a.extend(e._uiHash(),{snapItem:e.snapElements[l].item}));e.snapElements[l].snapping=false}}}});a.ui.plugin.add("draggable","stack",{start:function(){var d=a(this).data("draggable").options;d=a.makeArray(a(d.stack)).sort(function(e,h){return(parseInt(a(e).css("zIndex"),
|
||||||
|
10)||0)-(parseInt(a(h).css("zIndex"),10)||0)});if(d.length){var c=parseInt(d[0].style.zIndex)||0;a(d).each(function(e){this.style.zIndex=c+e});this[0].style.zIndex=c+d.length}}});a.ui.plugin.add("draggable","zIndex",{start:function(d,c){d=a(c.helper);c=a(this).data("draggable").options;if(d.css("zIndex"))c._zIndex=d.css("zIndex");d.css("zIndex",c.zIndex)},stop:function(d,c){d=a(this).data("draggable").options;d._zIndex&&a(c.helper).css("zIndex",d._zIndex)}})})(jQuery);
|
||||||
|
(function(a){a.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"},_create:function(){var d=this.options,c=d.accept;this.isover=0;this.isout=1;this.accept=a.isFunction(c)?c:function(e){return e.is(c)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};a.ui.ddmanager.droppables[d.scope]=a.ui.ddmanager.droppables[d.scope]||[];a.ui.ddmanager.droppables[d.scope].push(this);
|
||||||
|
d.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var d=a.ui.ddmanager.droppables[this.options.scope],c=0;c<d.length;c++)d[c]==this&&d.splice(c,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(d,c){if(d=="accept")this.accept=a.isFunction(c)?c:function(e){return e.is(c)};a.Widget.prototype._setOption.apply(this,arguments)},_activate:function(d){var c=a.ui.ddmanager.current;this.options.activeClass&&
|
||||||
|
this.element.addClass(this.options.activeClass);c&&this._trigger("activate",d,this.ui(c))},_deactivate:function(d){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);c&&this._trigger("deactivate",d,this.ui(c))},_over:function(d){var c=a.ui.ddmanager.current;if(!(!c||(c.currentItem||c.element)[0]==this.element[0]))if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass);
|
||||||
|
this._trigger("over",d,this.ui(c))}},_out:function(d){var c=a.ui.ddmanager.current;if(!(!c||(c.currentItem||c.element)[0]==this.element[0]))if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",d,this.ui(c))}},_drop:function(d,c){var e=c||a.ui.ddmanager.current;if(!e||(e.currentItem||e.element)[0]==this.element[0])return false;var h=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var g=
|
||||||
|
a.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==e.options.scope&&g.accept.call(g.element[0],e.currentItem||e.element)&&a.ui.intersect(e,a.extend(g,{offset:g.element.offset()}),g.options.tolerance)){h=true;return false}});if(h)return false;if(this.accept.call(this.element[0],e.currentItem||e.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop",
|
||||||
|
d,this.ui(e));return this.element}return false},ui:function(d){return{draggable:d.currentItem||d.element,helper:d.helper,position:d.position,offset:d.positionAbs}}});a.extend(a.ui.droppable,{version:"1.8.16"});a.ui.intersect=function(d,c,e){if(!c.offset)return false;var h=(d.positionAbs||d.position.absolute).left,g=h+d.helperProportions.width,i=(d.positionAbs||d.position.absolute).top,b=i+d.helperProportions.height,f=c.offset.left,j=f+c.proportions.width,l=c.offset.top,o=l+c.proportions.height;
|
||||||
|
switch(e){case "fit":return f<=h&&g<=j&&l<=i&&b<=o;case "intersect":return f<h+d.helperProportions.width/2&&g-d.helperProportions.width/2<j&&l<i+d.helperProportions.height/2&&b-d.helperProportions.height/2<o;case "pointer":return a.ui.isOver((d.positionAbs||d.position.absolute).top+(d.clickOffset||d.offset.click).top,(d.positionAbs||d.position.absolute).left+(d.clickOffset||d.offset.click).left,l,f,c.proportions.height,c.proportions.width);case "touch":return(i>=l&&i<=o||b>=l&&b<=o||i<l&&b>o)&&(h>=
|
||||||
|
f&&h<=j||g>=f&&g<=j||h<f&&g>j);default:return false}};a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(d,c){var e=a.ui.ddmanager.droppables[d.options.scope]||[],h=c?c.type:null,g=(d.currentItem||d.element).find(":data(droppable)").andSelf(),i=0;a:for(;i<e.length;i++)if(!(e[i].options.disabled||d&&!e[i].accept.call(e[i].element[0],d.currentItem||d.element))){for(var b=0;b<g.length;b++)if(g[b]==e[i].element[0]){e[i].proportions.height=0;continue a}e[i].visible=e[i].element.css("display")!=
|
||||||
|
"none";if(e[i].visible){h=="mousedown"&&e[i]._activate.call(e[i],c);e[i].offset=e[i].element.offset();e[i].proportions={width:e[i].element[0].offsetWidth,height:e[i].element[0].offsetHeight}}}},drop:function(d,c){var e=false;a.each(a.ui.ddmanager.droppables[d.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&a.ui.intersect(d,this,this.options.tolerance))e=e||this._drop.call(this,c);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],d.currentItem||
|
||||||
|
d.element)){this.isout=1;this.isover=0;this._deactivate.call(this,c)}}});return e},dragStart:function(d,c){d.element.parents(":not(body,html)").bind("scroll.droppable",function(){d.options.refreshPositions||a.ui.ddmanager.prepareOffsets(d,c)})},drag:function(d,c){d.options.refreshPositions&&a.ui.ddmanager.prepareOffsets(d,c);a.each(a.ui.ddmanager.droppables[d.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var e=a.ui.intersect(d,this,this.options.tolerance);
|
||||||
|
if(e=!e&&this.isover==1?"isout":e&&this.isover==0?"isover":null){var h;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");if(g.length){h=a.data(g[0],"droppable");h.greedyChild=e=="isover"?1:0}}if(h&&e=="isover"){h.isover=0;h.isout=1;h._out.call(h,c)}this[e]=1;this[e=="isout"?"isover":"isout"]=0;this[e=="isover"?"_over":"_out"].call(this,c);if(h&&e=="isout"){h.isout=0;h.isover=1;h._over.call(h,c)}}}})},dragStop:function(d,c){d.element.parents(":not(body,html)").unbind("scroll.droppable");
|
||||||
|
d.options.refreshPositions||a.ui.ddmanager.prepareOffsets(d,c)}}})(jQuery);
|
||||||
|
(function(a){a.widget("ui.resizable",a.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var e=this,h=this.options;this.element.addClass("ui-resizable");a.extend(this,{_aspectRatio:!!h.aspectRatio,aspectRatio:h.aspectRatio,originalElement:this.element,
|
||||||
|
_proportionallyResizeElements:[],_helper:h.helper||h.ghost||h.animate?h.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&a.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(a('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),
|
||||||
|
top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=
|
||||||
|
this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=h.handles||(!a(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",
|
||||||
|
nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var g=this.handles.split(",");this.handles={};for(var i=0;i<g.length;i++){var b=a.trim(g[i]),f=a('<div class="ui-resizable-handle '+("ui-resizable-"+b)+'"></div>');/sw|se|ne|nw/.test(b)&&f.css({zIndex:++h.zIndex});"se"==b&&f.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[b]=".ui-resizable-"+b;this.element.append(f)}}this._renderAxis=function(j){j=j||this.element;for(var l in this.handles){if(this.handles[l].constructor==
|
||||||
|
String)this.handles[l]=a(this.handles[l],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=a(this.handles[l],this.element),n=0;n=/sw|ne|nw|se|n|s/.test(l)?o.outerHeight():o.outerWidth();o=["padding",/ne|nw|n/.test(l)?"Top":/se|sw|s/.test(l)?"Bottom":/^e$/.test(l)?"Right":"Left"].join("");j.css(o,n);this._proportionallyResize()}a(this.handles[l])}};this._renderAxis(this.element);this._handles=a(".ui-resizable-handle",this.element).disableSelection();
|
||||||
|
this._handles.mouseover(function(){if(!e.resizing){if(this.className)var j=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);e.axis=j&&j[1]?j[1]:"se"}});if(h.autoHide){this._handles.hide();a(this.element).addClass("ui-resizable-autohide").hover(function(){if(!h.disabled){a(this).removeClass("ui-resizable-autohide");e._handles.show()}},function(){if(!h.disabled)if(!e.resizing){a(this).addClass("ui-resizable-autohide");e._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();
|
||||||
|
var e=function(g){a(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var h=this.element;h.after(this.originalElement.css({position:h.css("position"),width:h.outerWidth(),height:h.outerHeight(),top:h.css("top"),left:h.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(e){var h=
|
||||||
|
false;for(var g in this.handles)if(a(this.handles[g])[0]==e.target)h=true;return!this.options.disabled&&h},_mouseStart:function(e){var h=this.options,g=this.element.position(),i=this.element;this.resizing=true;this.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()};if(i.is(".ui-draggable")||/absolute/.test(i.css("position")))i.css({position:"absolute",top:g.top,left:g.left});a.browser.opera&&/relative/.test(i.css("position"))&&i.css({position:"relative",top:"auto",left:"auto"});
|
||||||
|
this._renderProxy();g=d(this.helper.css("left"));var b=d(this.helper.css("top"));if(h.containment){g+=a(h.containment).scrollLeft()||0;b+=a(h.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:g,top:b};this.size=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()};this.originalSize=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()};this.originalPosition={left:g,top:b};this.sizeDiff=
|
||||||
|
{width:i.outerWidth()-i.width(),height:i.outerHeight()-i.height()};this.originalMousePosition={left:e.pageX,top:e.pageY};this.aspectRatio=typeof h.aspectRatio=="number"?h.aspectRatio:this.originalSize.width/this.originalSize.height||1;h=a(".ui-resizable-"+this.axis).css("cursor");a("body").css("cursor",h=="auto"?this.axis+"-resize":h);i.addClass("ui-resizable-resizing");this._propagate("start",e);return true},_mouseDrag:function(e){var h=this.helper,g=this.originalMousePosition,i=this._change[this.axis];
|
||||||
|
if(!i)return false;g=i.apply(this,[e,e.pageX-g.left||0,e.pageY-g.top||0]);this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey)g=this._updateRatio(g,e);g=this._respectSize(g,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(g);this._trigger("resize",e,this.ui());return false},
|
||||||
|
_mouseStop:function(e){this.resizing=false;var h=this.options,g=this;if(this._helper){var i=this._proportionallyResizeElements,b=i.length&&/textarea/i.test(i[0].nodeName);i=b&&a.ui.hasScroll(i[0],"left")?0:g.sizeDiff.height;b=b?0:g.sizeDiff.width;b={width:g.helper.width()-b,height:g.helper.height()-i};i=parseInt(g.element.css("left"),10)+(g.position.left-g.originalPosition.left)||null;var f=parseInt(g.element.css("top"),10)+(g.position.top-g.originalPosition.top)||null;h.animate||this.element.css(a.extend(b,
|
||||||
|
{top:f,left:i}));g.helper.height(g.size.height);g.helper.width(g.size.width);this._helper&&!h.animate&&this._proportionallyResize()}a("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",e);this._helper&&this.helper.remove();return false},_updateVirtualBoundaries:function(e){var h=this.options,g,i,b;h={minWidth:c(h.minWidth)?h.minWidth:0,maxWidth:c(h.maxWidth)?h.maxWidth:Infinity,minHeight:c(h.minHeight)?h.minHeight:0,maxHeight:c(h.maxHeight)?h.maxHeight:
|
||||||
|
Infinity};if(this._aspectRatio||e){e=h.minHeight*this.aspectRatio;i=h.minWidth/this.aspectRatio;g=h.maxHeight*this.aspectRatio;b=h.maxWidth/this.aspectRatio;if(e>h.minWidth)h.minWidth=e;if(i>h.minHeight)h.minHeight=i;if(g<h.maxWidth)h.maxWidth=g;if(b<h.maxHeight)h.maxHeight=b}this._vBoundaries=h},_updateCache:function(e){this.offset=this.helper.offset();if(c(e.left))this.position.left=e.left;if(c(e.top))this.position.top=e.top;if(c(e.height))this.size.height=e.height;if(c(e.width))this.size.width=
|
||||||
|
e.width},_updateRatio:function(e){var h=this.position,g=this.size,i=this.axis;if(c(e.height))e.width=e.height*this.aspectRatio;else if(c(e.width))e.height=e.width/this.aspectRatio;if(i=="sw"){e.left=h.left+(g.width-e.width);e.top=null}if(i=="nw"){e.top=h.top+(g.height-e.height);e.left=h.left+(g.width-e.width)}return e},_respectSize:function(e){var h=this._vBoundaries,g=this.axis,i=c(e.width)&&h.maxWidth&&h.maxWidth<e.width,b=c(e.height)&&h.maxHeight&&h.maxHeight<e.height,f=c(e.width)&&h.minWidth&&
|
||||||
|
h.minWidth>e.width,j=c(e.height)&&h.minHeight&&h.minHeight>e.height;if(f)e.width=h.minWidth;if(j)e.height=h.minHeight;if(i)e.width=h.maxWidth;if(b)e.height=h.maxHeight;var l=this.originalPosition.left+this.originalSize.width,o=this.position.top+this.size.height,n=/sw|nw|w/.test(g);g=/nw|ne|n/.test(g);if(f&&n)e.left=l-h.minWidth;if(i&&n)e.left=l-h.maxWidth;if(j&&g)e.top=o-h.minHeight;if(b&&g)e.top=o-h.maxHeight;if((h=!e.width&&!e.height)&&!e.left&&e.top)e.top=null;else if(h&&!e.top&&e.left)e.left=
|
||||||
|
null;return e},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var e=this.helper||this.element,h=0;h<this._proportionallyResizeElements.length;h++){var g=this._proportionallyResizeElements[h];if(!this.borderDif){var i=[g.css("borderTopWidth"),g.css("borderRightWidth"),g.css("borderBottomWidth"),g.css("borderLeftWidth")],b=[g.css("paddingTop"),g.css("paddingRight"),g.css("paddingBottom"),g.css("paddingLeft")];this.borderDif=a.map(i,function(f,j){f=parseInt(f,10)||
|
||||||
|
0;j=parseInt(b[j],10)||0;return f+j})}a.browser.msie&&(a(e).is(":hidden")||a(e).parents(":hidden").length)||g.css({height:e.height()-this.borderDif[0]-this.borderDif[2]||0,width:e.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var e=this.options;this.elementOffset=this.element.offset();if(this._helper){this.helper=this.helper||a('<div style="overflow:hidden;"></div>');var h=a.browser.msie&&a.browser.version<7,g=h?1:0;h=h?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+
|
||||||
|
h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++e.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(e,h){return{width:this.originalSize.width+h}},w:function(e,h){return{left:this.originalPosition.left+h,width:this.originalSize.width-h}},n:function(e,h,g){return{top:this.originalPosition.top+g,height:this.originalSize.height-g}},s:function(e,h,g){return{height:this.originalSize.height+
|
||||||
|
g}},se:function(e,h,g){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,h,g]))},sw:function(e,h,g){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,h,g]))},ne:function(e,h,g){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,h,g]))},nw:function(e,h,g){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,h,g]))}},_propagate:function(e,h){a.ui.plugin.call(this,e,[h,this.ui()]);
|
||||||
|
e!="resize"&&this._trigger(e,h,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});a.extend(a.ui.resizable,{version:"1.8.16"});a.ui.plugin.add("resizable","alsoResize",{start:function(){var e=a(this).data("resizable").options,h=function(g){a(g).each(function(){var i=a(this);i.data("resizable-alsoresize",{width:parseInt(i.width(),
|
||||||
|
10),height:parseInt(i.height(),10),left:parseInt(i.css("left"),10),top:parseInt(i.css("top"),10),position:i.css("position")})})};if(typeof e.alsoResize=="object"&&!e.alsoResize.parentNode)if(e.alsoResize.length){e.alsoResize=e.alsoResize[0];h(e.alsoResize)}else a.each(e.alsoResize,function(g){h(g)});else h(e.alsoResize)},resize:function(e,h){var g=a(this).data("resizable");e=g.options;var i=g.originalSize,b=g.originalPosition,f={height:g.size.height-i.height||0,width:g.size.width-i.width||0,top:g.position.top-
|
||||||
|
b.top||0,left:g.position.left-b.left||0},j=function(l,o){a(l).each(function(){var n=a(this),k=a(this).data("resizable-alsoresize"),m={},p=o&&o.length?o:n.parents(h.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(p,function(q,s){if((q=(k[s]||0)+(f[s]||0))&&q>=0)m[s]=q||null});if(a.browser.opera&&/relative/.test(n.css("position"))){g._revertToRelativePosition=true;n.css({position:"absolute",top:"auto",left:"auto"})}n.css(m)})};typeof e.alsoResize=="object"&&!e.alsoResize.nodeType?
|
||||||
|
a.each(e.alsoResize,function(l,o){j(l,o)}):j(e.alsoResize)},stop:function(){var e=a(this).data("resizable"),h=e.options,g=function(i){a(i).each(function(){var b=a(this);b.css({position:b.data("resizable-alsoresize").position})})};if(e._revertToRelativePosition){e._revertToRelativePosition=false;typeof h.alsoResize=="object"&&!h.alsoResize.nodeType?a.each(h.alsoResize,function(i){g(i)}):g(h.alsoResize)}a(this).removeData("resizable-alsoresize")}});a.ui.plugin.add("resizable","animate",{stop:function(e){var h=
|
||||||
|
a(this).data("resizable"),g=h.options,i=h._proportionallyResizeElements,b=i.length&&/textarea/i.test(i[0].nodeName),f=b&&a.ui.hasScroll(i[0],"left")?0:h.sizeDiff.height;b={width:h.size.width-(b?0:h.sizeDiff.width),height:h.size.height-f};f=parseInt(h.element.css("left"),10)+(h.position.left-h.originalPosition.left)||null;var j=parseInt(h.element.css("top"),10)+(h.position.top-h.originalPosition.top)||null;h.element.animate(a.extend(b,j&&f?{top:j,left:f}:{}),{duration:g.animateDuration,easing:g.animateEasing,
|
||||||
|
step:function(){var l={width:parseInt(h.element.css("width"),10),height:parseInt(h.element.css("height"),10),top:parseInt(h.element.css("top"),10),left:parseInt(h.element.css("left"),10)};i&&i.length&&a(i[0]).css({width:l.width,height:l.height});h._updateCache(l);h._propagate("resize",e)}})}});a.ui.plugin.add("resizable","containment",{start:function(){var e=a(this).data("resizable"),h=e.element,g=e.options.containment;if(h=g instanceof a?g.get(0):/parent/.test(g)?h.parent().get(0):g){e.containerElement=
|
||||||
|
a(h);if(/document/.test(g)||g==document){e.containerOffset={left:0,top:0};e.containerPosition={left:0,top:0};e.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight}}else{var i=a(h),b=[];a(["Top","Right","Left","Bottom"]).each(function(l,o){b[l]=d(i.css("padding"+o))});e.containerOffset=i.offset();e.containerPosition=i.position();e.containerSize={height:i.innerHeight()-b[3],width:i.innerWidth()-b[1]};g=e.containerOffset;
|
||||||
|
var f=e.containerSize.height,j=e.containerSize.width;j=a.ui.hasScroll(h,"left")?h.scrollWidth:j;f=a.ui.hasScroll(h)?h.scrollHeight:f;e.parentData={element:h,left:g.left,top:g.top,width:j,height:f}}}},resize:function(e){var h=a(this).data("resizable"),g=h.options,i=h.containerOffset,b=h.position;e=h._aspectRatio||e.shiftKey;var f={top:0,left:0},j=h.containerElement;if(j[0]!=document&&/static/.test(j.css("position")))f=i;if(b.left<(h._helper?i.left:0)){h.size.width+=h._helper?h.position.left-i.left:
|
||||||
|
h.position.left-f.left;if(e)h.size.height=h.size.width/g.aspectRatio;h.position.left=g.helper?i.left:0}if(b.top<(h._helper?i.top:0)){h.size.height+=h._helper?h.position.top-i.top:h.position.top;if(e)h.size.width=h.size.height*g.aspectRatio;h.position.top=h._helper?i.top:0}h.offset.left=h.parentData.left+h.position.left;h.offset.top=h.parentData.top+h.position.top;g=Math.abs((h._helper?h.offset.left-f.left:h.offset.left-f.left)+h.sizeDiff.width);i=Math.abs((h._helper?h.offset.top-f.top:h.offset.top-
|
||||||
|
i.top)+h.sizeDiff.height);b=h.containerElement.get(0)==h.element.parent().get(0);f=/relative|absolute/.test(h.containerElement.css("position"));if(b&&f)g-=h.parentData.left;if(g+h.size.width>=h.parentData.width){h.size.width=h.parentData.width-g;if(e)h.size.height=h.size.width/h.aspectRatio}if(i+h.size.height>=h.parentData.height){h.size.height=h.parentData.height-i;if(e)h.size.width=h.size.height*h.aspectRatio}},stop:function(){var e=a(this).data("resizable"),h=e.options,g=e.containerOffset,i=e.containerPosition,
|
||||||
|
b=e.containerElement,f=a(e.helper),j=f.offset(),l=f.outerWidth()-e.sizeDiff.width;f=f.outerHeight()-e.sizeDiff.height;e._helper&&!h.animate&&/relative/.test(b.css("position"))&&a(this).css({left:j.left-i.left-g.left,width:l,height:f});e._helper&&!h.animate&&/static/.test(b.css("position"))&&a(this).css({left:j.left-i.left-g.left,width:l,height:f})}});a.ui.plugin.add("resizable","ghost",{start:function(){var e=a(this).data("resizable"),h=e.options,g=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,
|
||||||
|
display:"block",position:"relative",height:g.height,width:g.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof h.ghost=="string"?h.ghost:"");e.ghost.appendTo(e.helper)},resize:function(){var e=a(this).data("resizable");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=a(this).data("resizable");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}});a.ui.plugin.add("resizable","grid",{resize:function(){var e=
|
||||||
|
a(this).data("resizable"),h=e.options,g=e.size,i=e.originalSize,b=e.originalPosition,f=e.axis;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var j=Math.round((g.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1);h=Math.round((g.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(f)){e.size.width=i.width+j;e.size.height=i.height+h}else if(/^(ne)$/.test(f)){e.size.width=i.width+j;e.size.height=i.height+h;e.position.top=b.top-h}else{if(/^(sw)$/.test(f)){e.size.width=i.width+j;e.size.height=
|
||||||
|
i.height+h}else{e.size.width=i.width+j;e.size.height=i.height+h;e.position.top=b.top-h}e.position.left=b.left-j}}});var d=function(e){return parseInt(e,10)||0},c=function(e){return!isNaN(parseInt(e,10))}})(jQuery);
|
||||||
|
(function(a){a.widget("ui.selectable",a.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var d=this;this.element.addClass("ui-selectable");this.dragged=false;var c;this.refresh=function(){c=a(d.options.filter,d.element[0]);c.each(function(){var e=a(this),h=e.offset();a.data(this,"selectable-item",{element:this,$element:e,left:h.left,top:h.top,right:h.left+e.outerWidth(),bottom:h.top+e.outerHeight(),startselected:false,selected:e.hasClass("ui-selected"),
|
||||||
|
selecting:e.hasClass("ui-selecting"),unselecting:e.hasClass("ui-unselecting")})})};this.refresh();this.selectees=c.addClass("ui-selectee");this._mouseInit();this.helper=a("<div class='ui-selectable-helper'></div>")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(d){var c=this;this.opos=[d.pageX,
|
||||||
|
d.pageY];if(!this.options.disabled){var e=this.options;this.selectees=a(e.filter,this.element[0]);this._trigger("start",d);a(e.appendTo).append(this.helper);this.helper.css({left:d.clientX,top:d.clientY,width:0,height:0});e.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var h=a.data(this,"selectable-item");h.startselected=true;if(!d.metaKey){h.$element.removeClass("ui-selected");h.selected=false;h.$element.addClass("ui-unselecting");h.unselecting=true;c._trigger("unselecting",
|
||||||
|
d,{unselecting:h.element})}});a(d.target).parents().andSelf().each(function(){var h=a.data(this,"selectable-item");if(h){var g=!d.metaKey||!h.$element.hasClass("ui-selected");h.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");h.unselecting=!g;h.selecting=g;(h.selected=g)?c._trigger("selecting",d,{selecting:h.element}):c._trigger("unselecting",d,{unselecting:h.element});return false}})}},_mouseDrag:function(d){var c=this;this.dragged=true;if(!this.options.disabled){var e=
|
||||||
|
this.options,h=this.opos[0],g=this.opos[1],i=d.pageX,b=d.pageY;if(h>i){var f=i;i=h;h=f}if(g>b){f=b;b=g;g=f}this.helper.css({left:h,top:g,width:i-h,height:b-g});this.selectees.each(function(){var j=a.data(this,"selectable-item");if(!(!j||j.element==c.element[0])){var l=false;if(e.tolerance=="touch")l=!(j.left>i||j.right<h||j.top>b||j.bottom<g);else if(e.tolerance=="fit")l=j.left>h&&j.right<i&&j.top>g&&j.bottom<b;if(l){if(j.selected){j.$element.removeClass("ui-selected");j.selected=false}if(j.unselecting){j.$element.removeClass("ui-unselecting");
|
||||||
|
j.unselecting=false}if(!j.selecting){j.$element.addClass("ui-selecting");j.selecting=true;c._trigger("selecting",d,{selecting:j.element})}}else{if(j.selecting)if(d.metaKey&&j.startselected){j.$element.removeClass("ui-selecting");j.selecting=false;j.$element.addClass("ui-selected");j.selected=true}else{j.$element.removeClass("ui-selecting");j.selecting=false;if(j.startselected){j.$element.addClass("ui-unselecting");j.unselecting=true}c._trigger("unselecting",d,{unselecting:j.element})}if(j.selected)if(!d.metaKey&&
|
||||||
|
!j.startselected){j.$element.removeClass("ui-selected");j.selected=false;j.$element.addClass("ui-unselecting");j.unselecting=true;c._trigger("unselecting",d,{unselecting:j.element})}}}});return false}},_mouseStop:function(d){var c=this;this.dragged=false;a(".ui-unselecting",this.element[0]).each(function(){var e=a.data(this,"selectable-item");e.$element.removeClass("ui-unselecting");e.unselecting=false;e.startselected=false;c._trigger("unselected",d,{unselected:e.element})});a(".ui-selecting",this.element[0]).each(function(){var e=
|
||||||
|
a.data(this,"selectable-item");e.$element.removeClass("ui-selecting").addClass("ui-selected");e.selecting=false;e.selected=true;e.startselected=true;c._trigger("selected",d,{selected:e.element})});this._trigger("stop",d);this.helper.remove();return false}});a.extend(a.ui.selectable,{version:"1.8.16"})})(jQuery);
|
||||||
|
(function(a){a.widget("ui.sortable",a.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var d=this.options;this.containerCache={};this.element.addClass("ui-sortable");
|
||||||
|
this.refresh();this.floating=this.items.length?d.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var d=this.items.length-1;d>=0;d--)this.items[d].item.removeData("sortable-item");return this},_setOption:function(d,c){if(d===
|
||||||
|
"disabled"){this.options[d]=c;this.widget()[c?"addClass":"removeClass"]("ui-sortable-disabled")}else a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(d,c){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(d);var e=null,h=this;a(d.target).parents().each(function(){if(a.data(this,"sortable-item")==h){e=a(this);return false}});if(a.data(d.target,"sortable-item")==h)e=a(d.target);if(!e)return false;if(this.options.handle&&
|
||||||
|
!c){var g=false;a(this.options.handle,e).find("*").andSelf().each(function(){if(this==d.target)g=true});if(!g)return false}this.currentItem=e;this._removeCurrentsFromItems();return true},_mouseStart:function(d,c,e){c=this.options;var h=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(d);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,
|
||||||
|
left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");a.extend(this.offset,{click:{left:d.pageX-this.offset.left,top:d.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(d);this.originalPageX=d.pageX;this.originalPageY=d.pageY;c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};
|
||||||
|
this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();c.containment&&this._setContainment();if(c.cursor){if(a("body").css("cursor"))this._storedCursor=a("body").css("cursor");a("body").css("cursor",c.cursor)}if(c.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",c.opacity)}if(c.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",c.zIndex)}if(this.scrollParent[0]!=
|
||||||
|
document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",d,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!e)for(e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("activate",d,h._uiHash(this));if(a.ui.ddmanager)a.ui.ddmanager.current=this;a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,d);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(d);
|
||||||
|
return true},_mouseDrag:function(d){this.position=this._generatePosition(d);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var c=this.options,e=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-d.pageY<c.scrollSensitivity)this.scrollParent[0].scrollTop=e=this.scrollParent[0].scrollTop+c.scrollSpeed;else if(d.pageY-this.overflowOffset.top<
|
||||||
|
c.scrollSensitivity)this.scrollParent[0].scrollTop=e=this.scrollParent[0].scrollTop-c.scrollSpeed;if(this.overflowOffset.left+this.scrollParent[0].offsetWidth-d.pageX<c.scrollSensitivity)this.scrollParent[0].scrollLeft=e=this.scrollParent[0].scrollLeft+c.scrollSpeed;else if(d.pageX-this.overflowOffset.left<c.scrollSensitivity)this.scrollParent[0].scrollLeft=e=this.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(d.pageY-a(document).scrollTop()<c.scrollSensitivity)e=a(document).scrollTop(a(document).scrollTop()-
|
||||||
|
c.scrollSpeed);else if(a(window).height()-(d.pageY-a(document).scrollTop())<c.scrollSensitivity)e=a(document).scrollTop(a(document).scrollTop()+c.scrollSpeed);if(d.pageX-a(document).scrollLeft()<c.scrollSensitivity)e=a(document).scrollLeft(a(document).scrollLeft()-c.scrollSpeed);else if(a(window).width()-(d.pageX-a(document).scrollLeft())<c.scrollSensitivity)e=a(document).scrollLeft(a(document).scrollLeft()+c.scrollSpeed)}e!==false&&a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,
|
||||||
|
d)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(c=this.items.length-1;c>=0;c--){e=this.items[c];var h=e.item[0],g=this._intersectsWithPointer(e);if(g)if(h!=this.currentItem[0]&&this.placeholder[g==1?"next":"prev"]()[0]!=h&&!a.ui.contains(this.placeholder[0],h)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],
|
||||||
|
h):true)){this.direction=g==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(e))this._rearrange(d,e);else break;this._trigger("change",d,this._uiHash());break}}this._contactContainers(d);a.ui.ddmanager&&a.ui.ddmanager.drag(this,d);this._trigger("sort",d,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(d,c){if(d){a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,d);if(this.options.revert){var e=this;c=e.placeholder.offset();
|
||||||
|
e.reverting=true;a(this.helper).animate({left:c.left-this.offset.parent.left-e.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:c.top-this.offset.parent.top-e.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){e._clear(d)})}else this._clear(d,c);return false}},cancel:function(){var d=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):
|
||||||
|
this.currentItem.show();for(var c=this.containers.length-1;c>=0;c--){this.containers[c]._trigger("deactivate",null,d._uiHash(this));if(this.containers[c].containerCache.over){this.containers[c]._trigger("out",null,d._uiHash(this));this.containers[c].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();a.extend(this,{helper:null,
|
||||||
|
dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(d){var c=this._getItemsAsjQuery(d&&d.connected),e=[];d=d||{};a(c).each(function(){var h=(a(d.item||this).attr(d.attribute||"id")||"").match(d.expression||/(.+)[-=_](.+)/);if(h)e.push((d.key||h[1]+"[]")+"="+(d.key&&d.expression?h[1]:h[2]))});!e.length&&d.key&&e.push(d.key+"=");return e.join("&")},
|
||||||
|
toArray:function(d){var c=this._getItemsAsjQuery(d&&d.connected),e=[];d=d||{};c.each(function(){e.push(a(d.item||this).attr(d.attribute||"id")||"")});return e},_intersectsWith:function(d){var c=this.positionAbs.left,e=c+this.helperProportions.width,h=this.positionAbs.top,g=h+this.helperProportions.height,i=d.left,b=i+d.width,f=d.top,j=f+d.height,l=this.offset.click.top,o=this.offset.click.left;l=h+l>f&&h+l<j&&c+o>i&&c+o<b;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||
|
||||||
|
this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>d[this.floating?"width":"height"]?l:i<c+this.helperProportions.width/2&&e-this.helperProportions.width/2<b&&f<h+this.helperProportions.height/2&&g-this.helperProportions.height/2<j},_intersectsWithPointer:function(d){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,d.top,d.height);d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,d.left,d.width);c=c&&d;d=this._getDragVerticalDirection();
|
||||||
|
var e=this._getDragHorizontalDirection();if(!c)return false;return this.floating?e&&e=="right"||d=="down"?2:1:d&&(d=="down"?2:1)},_intersectsWithSides:function(d){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,d.top+d.height/2,d.height);d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,d.left+d.width/2,d.width);var e=this._getDragVerticalDirection(),h=this._getDragHorizontalDirection();return this.floating&&h?h=="right"&&d||h=="left"&&!d:e&&(e=="down"&&c||e=="up"&&!c)},
|
||||||
|
_getDragVerticalDirection:function(){var d=this.positionAbs.top-this.lastPositionAbs.top;return d!=0&&(d>0?"down":"up")},_getDragHorizontalDirection:function(){var d=this.positionAbs.left-this.lastPositionAbs.left;return d!=0&&(d>0?"right":"left")},refresh:function(d){this._refreshItems(d);this.refreshPositions();return this},_connectWith:function(){var d=this.options;return d.connectWith.constructor==String?[d.connectWith]:d.connectWith},_getItemsAsjQuery:function(d){var c=[],e=[],h=this._connectWith();
|
||||||
|
if(h&&d)for(d=h.length-1;d>=0;d--)for(var g=a(h[d]),i=g.length-1;i>=0;i--){var b=a.data(g[i],"sortable");if(b&&b!=this&&!b.options.disabled)e.push([a.isFunction(b.options.items)?b.options.items.call(b.element):a(b.options.items,b.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),b])}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
|
||||||
|
this]);for(d=e.length-1;d>=0;d--)e[d][0].each(function(){c.push(this)});return a(c)},_removeCurrentsFromItems:function(){for(var d=this.currentItem.find(":data(sortable-item)"),c=0;c<this.items.length;c++)for(var e=0;e<d.length;e++)d[e]==this.items[c].item[0]&&this.items.splice(c,1)},_refreshItems:function(d){this.items=[];this.containers=[this];var c=this.items,e=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],d,{item:this.currentItem}):a(this.options.items,this.element),
|
||||||
|
this]],h=this._connectWith();if(h)for(var g=h.length-1;g>=0;g--)for(var i=a(h[g]),b=i.length-1;b>=0;b--){var f=a.data(i[b],"sortable");if(f&&f!=this&&!f.options.disabled){e.push([a.isFunction(f.options.items)?f.options.items.call(f.element[0],d,{item:this.currentItem}):a(f.options.items,f.element),f]);this.containers.push(f)}}for(g=e.length-1;g>=0;g--){d=e[g][1];h=e[g][0];b=0;for(i=h.length;b<i;b++){f=a(h[b]);f.data("sortable-item",d);c.push({item:f,instance:d,width:0,height:0,left:0,top:0})}}},refreshPositions:function(d){if(this.offsetParent&&
|
||||||
|
this.helper)this.offset.parent=this._getParentOffset();for(var c=this.items.length-1;c>=0;c--){var e=this.items[c];if(!(e.instance!=this.currentContainer&&this.currentContainer&&e.item[0]!=this.currentItem[0])){var h=this.options.toleranceElement?a(this.options.toleranceElement,e.item):e.item;if(!d){e.width=h.outerWidth();e.height=h.outerHeight()}h=h.offset();e.left=h.left;e.top=h.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(c=
|
||||||
|
this.containers.length-1;c>=0;c--){h=this.containers[c].element.offset();this.containers[c].containerCache.left=h.left;this.containers[c].containerCache.top=h.top;this.containers[c].containerCache.width=this.containers[c].element.outerWidth();this.containers[c].containerCache.height=this.containers[c].element.outerHeight()}return this},_createPlaceholder:function(d){var c=d||this,e=c.options;if(!e.placeholder||e.placeholder.constructor==String){var h=e.placeholder;e.placeholder={element:function(){var g=
|
||||||
|
a(document.createElement(c.currentItem[0].nodeName)).addClass(h||c.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!h)g.style.visibility="hidden";return g},update:function(g,i){if(!(h&&!e.forcePlaceholderSize)){i.height()||i.height(c.currentItem.innerHeight()-parseInt(c.currentItem.css("paddingTop")||0,10)-parseInt(c.currentItem.css("paddingBottom")||0,10));i.width()||i.width(c.currentItem.innerWidth()-parseInt(c.currentItem.css("paddingLeft")||0,10)-parseInt(c.currentItem.css("paddingRight")||
|
||||||
|
0,10))}}}}c.placeholder=a(e.placeholder.element.call(c.element,c.currentItem));c.currentItem.after(c.placeholder);e.placeholder.update(c,c.placeholder)},_contactContainers:function(d){for(var c=null,e=null,h=this.containers.length-1;h>=0;h--)if(!a.ui.contains(this.currentItem[0],this.containers[h].element[0]))if(this._intersectsWith(this.containers[h].containerCache)){if(!(c&&a.ui.contains(this.containers[h].element[0],c.element[0]))){c=this.containers[h];e=h}}else if(this.containers[h].containerCache.over){this.containers[h]._trigger("out",
|
||||||
|
d,this._uiHash(this));this.containers[h].containerCache.over=0}if(c)if(this.containers.length===1){this.containers[e]._trigger("over",d,this._uiHash(this));this.containers[e].containerCache.over=1}else if(this.currentContainer!=this.containers[e]){c=1E4;h=null;for(var g=this.positionAbs[this.containers[e].floating?"left":"top"],i=this.items.length-1;i>=0;i--)if(a.ui.contains(this.containers[e].element[0],this.items[i].item[0])){var b=this.items[i][this.containers[e].floating?"left":"top"];if(Math.abs(b-
|
||||||
|
g)<c){c=Math.abs(b-g);h=this.items[i]}}if(h||this.options.dropOnEmpty){this.currentContainer=this.containers[e];h?this._rearrange(d,h,null,true):this._rearrange(d,null,this.containers[e].element,true);this._trigger("change",d,this._uiHash());this.containers[e]._trigger("change",d,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[e]._trigger("over",d,this._uiHash(this));this.containers[e].containerCache.over=1}}},_createHelper:function(d){var c=
|
||||||
|
this.options;d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[d,this.currentItem])):c.helper=="clone"?this.currentItem.clone():this.currentItem;d.parents("body").length||a(c.appendTo!="parent"?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]);if(d[0]==this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(d[0].style.width==
|
||||||
|
""||c.forceHelperSize)d.width(this.currentItem.width());if(d[0].style.height==""||c.forceHelperSize)d.height(this.currentItem.height());return d},_adjustOffsetFromHelper:function(d){if(typeof d=="string")d=d.split(" ");if(a.isArray(d))d={left:+d[0],top:+d[1]||0};if("left"in d)this.offset.click.left=d.left+this.margins.left;if("right"in d)this.offset.click.left=this.helperProportions.width-d.right+this.margins.left;if("top"in d)this.offset.click.top=d.top+this.margins.top;if("bottom"in d)this.offset.click.top=
|
||||||
|
this.helperProportions.height-d.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var d=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){d.left+=this.scrollParent.scrollLeft();d.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)d=
|
||||||
|
{top:0,left:0};return{top:d.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:d.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var d=this.currentItem.position();return{top:d.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:d.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),
|
||||||
|
10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var d=this.options;if(d.containment=="parent")d.containment=this.helper[0].parentNode;if(d.containment=="document"||d.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(d.containment=="document"?
|
||||||
|
document:window).width()-this.helperProportions.width-this.margins.left,(a(d.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(d.containment)){var c=a(d.containment)[0];d=a(d.containment).offset();var e=a(c).css("overflow")!="hidden";this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),
|
||||||
|
10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(e?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(e?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(d,c){if(!c)c=
|
||||||
|
this.position;d=d=="absolute"?1:-1;var e=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,h=/(html|body)/i.test(e[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():h?0:e.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&
|
||||||
|
this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():h?0:e.scrollLeft())*d)}},_generatePosition:function(d){var c=this.options,e=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,h=/(html|body)/i.test(e[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();
|
||||||
|
var g=d.pageX,i=d.pageY;if(this.originalPosition){if(this.containment){if(d.pageX-this.offset.click.left<this.containment[0])g=this.containment[0]+this.offset.click.left;if(d.pageY-this.offset.click.top<this.containment[1])i=this.containment[1]+this.offset.click.top;if(d.pageX-this.offset.click.left>this.containment[2])g=this.containment[2]+this.offset.click.left;if(d.pageY-this.offset.click.top>this.containment[3])i=this.containment[3]+this.offset.click.top}if(c.grid){i=this.originalPageY+Math.round((i-
|
||||||
|
this.originalPageY)/c.grid[1])*c.grid[1];i=this.containment?!(i-this.offset.click.top<this.containment[1]||i-this.offset.click.top>this.containment[3])?i:!(i-this.offset.click.top<this.containment[1])?i-c.grid[1]:i+c.grid[1]:i;g=this.originalPageX+Math.round((g-this.originalPageX)/c.grid[0])*c.grid[0];g=this.containment?!(g-this.offset.click.left<this.containment[0]||g-this.offset.click.left>this.containment[2])?g:!(g-this.offset.click.left<this.containment[0])?g-c.grid[0]:g+c.grid[0]:g}}return{top:i-
|
||||||
|
this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():h?0:e.scrollTop()),left:g-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():h?0:e.scrollLeft())}},_rearrange:function(d,c,e,h){e?e[0].appendChild(this.placeholder[0]):c.item[0].parentNode.insertBefore(this.placeholder[0],
|
||||||
|
this.direction=="down"?c.item[0]:c.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var g=this,i=this.counter;window.setTimeout(function(){i==g.counter&&g.refreshPositions(!h)},0)},_clear:function(d,c){this.reverting=false;var e=[];!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var h in this._storedCSS)if(this._storedCSS[h]=="auto"||this._storedCSS[h]=="static")this._storedCSS[h]=
|
||||||
|
"";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!c&&e.push(function(g){this._trigger("receive",g,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!c)e.push(function(g){this._trigger("update",g,this._uiHash())});if(!a.ui.contains(this.element[0],this.currentItem[0])){c||e.push(function(g){this._trigger("remove",
|
||||||
|
g,this._uiHash())});for(h=this.containers.length-1;h>=0;h--)if(a.ui.contains(this.containers[h].element[0],this.currentItem[0])&&!c){e.push(function(g){return function(i){g._trigger("receive",i,this._uiHash(this))}}.call(this,this.containers[h]));e.push(function(g){return function(i){g._trigger("update",i,this._uiHash(this))}}.call(this,this.containers[h]))}}for(h=this.containers.length-1;h>=0;h--){c||e.push(function(g){return function(i){g._trigger("deactivate",i,this._uiHash(this))}}.call(this,
|
||||||
|
this.containers[h]));if(this.containers[h].containerCache.over){e.push(function(g){return function(i){g._trigger("out",i,this._uiHash(this))}}.call(this,this.containers[h]));this.containers[h].containerCache.over=0}}this._storedCursor&&a("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!c){this._trigger("beforeStop",
|
||||||
|
d,this._uiHash());for(h=0;h<e.length;h++)e[h].call(this,d);this._trigger("stop",d,this._uiHash())}return false}c||this._trigger("beforeStop",d,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!c){for(h=0;h<e.length;h++)e[h].call(this,d);this._trigger("stop",d,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},
|
||||||
|
_uiHash:function(d){var c=d||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:d?d.element:null}}});a.extend(a.ui.sortable,{version:"1.8.16"})})(jQuery);
|
||||||
|
jQuery.effects||function(a,d){function c(n){var k;if(n&&n.constructor==Array&&n.length==3)return n;if(k=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(n))return[parseInt(k[1],10),parseInt(k[2],10),parseInt(k[3],10)];if(k=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(n))return[parseFloat(k[1])*2.55,parseFloat(k[2])*2.55,parseFloat(k[3])*2.55];if(k=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(n))return[parseInt(k[1],
|
||||||
|
16),parseInt(k[2],16),parseInt(k[3],16)];if(k=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(n))return[parseInt(k[1]+k[1],16),parseInt(k[2]+k[2],16),parseInt(k[3]+k[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(n))return j.transparent;return j[a.trim(n).toLowerCase()]}function e(n,k){var m;do{m=a.curCSS(n,k);if(m!=""&&m!="transparent"||a.nodeName(n,"body"))break;k="backgroundColor"}while(n=n.parentNode);return c(m)}function h(){var n=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,
|
||||||
|
k={},m,p;if(n&&n.length&&n[0]&&n[n[0]])for(var q=n.length;q--;){m=n[q];if(typeof n[m]=="string"){p=m.replace(/\-(\w)/g,function(s,r){return r.toUpperCase()});k[p]=n[m]}}else for(m in n)if(typeof n[m]==="string")k[m]=n[m];return k}function g(n){var k,m;for(k in n){m=n[k];if(m==null||a.isFunction(m)||k in o||/scrollbar/.test(k)||!/color/i.test(k)&&isNaN(parseFloat(m)))delete n[k]}return n}function i(n,k){var m={_:0},p;for(p in k)if(n[p]!=k[p])m[p]=k[p];return m}function b(n,k,m,p){if(typeof n=="object"){p=
|
||||||
|
k;m=null;k=n;n=k.effect}if(a.isFunction(k)){p=k;m=null;k={}}if(typeof k=="number"||a.fx.speeds[k]){p=m;m=k;k={}}if(a.isFunction(m)){p=m;m=null}k=k||{};m=m||k.duration;m=a.fx.off?0:typeof m=="number"?m:m in a.fx.speeds?a.fx.speeds[m]:a.fx.speeds._default;p=p||k.complete;return[n,k,m,p]}function f(n){if(!n||typeof n==="number"||a.fx.speeds[n])return true;if(typeof n==="string"&&!a.effects[n])return true;return false}a.effects={};a.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor",
|
||||||
|
"borderTopColor","borderColor","color","outlineColor"],function(n,k){a.fx.step[k]=function(m){if(!m.colorInit){m.start=e(m.elem,k);m.end=c(m.end);m.colorInit=true}m.elem.style[k]="rgb("+Math.max(Math.min(parseInt(m.pos*(m.end[0]-m.start[0])+m.start[0],10),255),0)+","+Math.max(Math.min(parseInt(m.pos*(m.end[1]-m.start[1])+m.start[1],10),255),0)+","+Math.max(Math.min(parseInt(m.pos*(m.end[2]-m.start[2])+m.start[2],10),255),0)+")"}});var j={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,
|
||||||
|
0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,
|
||||||
|
211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},l=["add","remove","toggle"],o={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.effects.animateClass=function(n,k,m,
|
||||||
|
p){if(a.isFunction(m)){p=m;m=null}return this.queue(function(){var q=a(this),s=q.attr("style")||" ",r=g(h.call(this)),u,v=q.attr("class");a.each(l,function(w,x){n[x]&&q[x+"Class"](n[x])});u=g(h.call(this));q.attr("class",v);q.animate(i(r,u),{queue:false,duration:k,easing:m,complete:function(){a.each(l,function(w,x){n[x]&&q[x+"Class"](n[x])});if(typeof q.attr("style")=="object"){q.attr("style").cssText="";q.attr("style").cssText=s}else q.attr("style",s);p&&p.apply(this,arguments);a.dequeue(this)}})})};
|
||||||
|
a.fn.extend({_addClass:a.fn.addClass,addClass:function(n,k,m,p){return k?a.effects.animateClass.apply(this,[{add:n},k,m,p]):this._addClass(n)},_removeClass:a.fn.removeClass,removeClass:function(n,k,m,p){return k?a.effects.animateClass.apply(this,[{remove:n},k,m,p]):this._removeClass(n)},_toggleClass:a.fn.toggleClass,toggleClass:function(n,k,m,p,q){return typeof k=="boolean"||k===d?m?a.effects.animateClass.apply(this,[k?{add:n}:{remove:n},m,p,q]):this._toggleClass(n,k):a.effects.animateClass.apply(this,
|
||||||
|
[{toggle:n},k,m,p])},switchClass:function(n,k,m,p,q){return a.effects.animateClass.apply(this,[{add:k,remove:n},m,p,q])}});a.extend(a.effects,{version:"1.8.16",save:function(n,k){for(var m=0;m<k.length;m++)k[m]!==null&&n.data("ec.storage."+k[m],n[0].style[k[m]])},restore:function(n,k){for(var m=0;m<k.length;m++)k[m]!==null&&n.css(k[m],n.data("ec.storage."+k[m]))},setMode:function(n,k){if(k=="toggle")k=n.is(":hidden")?"show":"hide";return k},getBaseline:function(n,k){var m;switch(n[0]){case "top":m=
|
||||||
|
0;break;case "middle":m=0.5;break;case "bottom":m=1;break;default:m=n[0]/k.height}switch(n[1]){case "left":n=0;break;case "center":n=0.5;break;case "right":n=1;break;default:n=n[1]/k.width}return{x:n,y:m}},createWrapper:function(n){if(n.parent().is(".ui-effects-wrapper"))return n.parent();var k={width:n.outerWidth(true),height:n.outerHeight(true),"float":n.css("float")},m=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),
|
||||||
|
p=document.activeElement;n.wrap(m);if(n[0]===p||a.contains(n[0],p))a(p).focus();m=n.parent();if(n.css("position")=="static"){m.css({position:"relative"});n.css({position:"relative"})}else{a.extend(k,{position:n.css("position"),zIndex:n.css("z-index")});a.each(["top","left","bottom","right"],function(q,s){k[s]=n.css(s);if(isNaN(parseInt(k[s],10)))k[s]="auto"});n.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return m.css(k).show()},removeWrapper:function(n){var k,m=document.activeElement;
|
||||||
|
if(n.parent().is(".ui-effects-wrapper")){k=n.parent().replaceWith(n);if(n[0]===m||a.contains(n[0],m))a(m).focus();return k}return n},setTransition:function(n,k,m,p){p=p||{};a.each(k,function(q,s){unit=n.cssUnit(s);if(unit[0]>0)p[s]=unit[0]*m+unit[1]});return p}});a.fn.extend({effect:function(n){var k=b.apply(this,arguments),m={options:k[1],duration:k[2],callback:k[3]};k=m.options.mode;var p=a.effects[n];if(a.fx.off||!p)return k?this[k](m.duration,m.callback):this.each(function(){m.callback&&m.callback.call(this)});
|
||||||
|
return p.call(this,m)},_show:a.fn.show,show:function(n){if(f(n))return this._show.apply(this,arguments);else{var k=b.apply(this,arguments);k[1].mode="show";return this.effect.apply(this,k)}},_hide:a.fn.hide,hide:function(n){if(f(n))return this._hide.apply(this,arguments);else{var k=b.apply(this,arguments);k[1].mode="hide";return this.effect.apply(this,k)}},__toggle:a.fn.toggle,toggle:function(n){if(f(n)||typeof n==="boolean"||a.isFunction(n))return this.__toggle.apply(this,arguments);else{var k=b.apply(this,
|
||||||
|
arguments);k[1].mode="toggle";return this.effect.apply(this,k)}},cssUnit:function(n){var k=this.css(n),m=[];a.each(["em","px","%","pt"],function(p,q){if(k.indexOf(q)>0)m=[parseFloat(k),q]});return m}});a.easing.jswing=a.easing.swing;a.extend(a.easing,{def:"easeOutQuad",swing:function(n,k,m,p,q){return a.easing[a.easing.def](n,k,m,p,q)},easeInQuad:function(n,k,m,p,q){return p*(k/=q)*k+m},easeOutQuad:function(n,k,m,p,q){return-p*(k/=q)*(k-2)+m},easeInOutQuad:function(n,k,m,p,q){if((k/=q/2)<1)return p/
|
||||||
|
2*k*k+m;return-p/2*(--k*(k-2)-1)+m},easeInCubic:function(n,k,m,p,q){return p*(k/=q)*k*k+m},easeOutCubic:function(n,k,m,p,q){return p*((k=k/q-1)*k*k+1)+m},easeInOutCubic:function(n,k,m,p,q){if((k/=q/2)<1)return p/2*k*k*k+m;return p/2*((k-=2)*k*k+2)+m},easeInQuart:function(n,k,m,p,q){return p*(k/=q)*k*k*k+m},easeOutQuart:function(n,k,m,p,q){return-p*((k=k/q-1)*k*k*k-1)+m},easeInOutQuart:function(n,k,m,p,q){if((k/=q/2)<1)return p/2*k*k*k*k+m;return-p/2*((k-=2)*k*k*k-2)+m},easeInQuint:function(n,k,m,
|
||||||
|
p,q){return p*(k/=q)*k*k*k*k+m},easeOutQuint:function(n,k,m,p,q){return p*((k=k/q-1)*k*k*k*k+1)+m},easeInOutQuint:function(n,k,m,p,q){if((k/=q/2)<1)return p/2*k*k*k*k*k+m;return p/2*((k-=2)*k*k*k*k+2)+m},easeInSine:function(n,k,m,p,q){return-p*Math.cos(k/q*(Math.PI/2))+p+m},easeOutSine:function(n,k,m,p,q){return p*Math.sin(k/q*(Math.PI/2))+m},easeInOutSine:function(n,k,m,p,q){return-p/2*(Math.cos(Math.PI*k/q)-1)+m},easeInExpo:function(n,k,m,p,q){return k==0?m:p*Math.pow(2,10*(k/q-1))+m},easeOutExpo:function(n,
|
||||||
|
k,m,p,q){return k==q?m+p:p*(-Math.pow(2,-10*k/q)+1)+m},easeInOutExpo:function(n,k,m,p,q){if(k==0)return m;if(k==q)return m+p;if((k/=q/2)<1)return p/2*Math.pow(2,10*(k-1))+m;return p/2*(-Math.pow(2,-10*--k)+2)+m},easeInCirc:function(n,k,m,p,q){return-p*(Math.sqrt(1-(k/=q)*k)-1)+m},easeOutCirc:function(n,k,m,p,q){return p*Math.sqrt(1-(k=k/q-1)*k)+m},easeInOutCirc:function(n,k,m,p,q){if((k/=q/2)<1)return-p/2*(Math.sqrt(1-k*k)-1)+m;return p/2*(Math.sqrt(1-(k-=2)*k)+1)+m},easeInElastic:function(n,k,m,
|
||||||
|
p,q){n=1.70158;var s=0,r=p;if(k==0)return m;if((k/=q)==1)return m+p;s||(s=q*0.3);if(r<Math.abs(p)){r=p;n=s/4}else n=s/(2*Math.PI)*Math.asin(p/r);return-(r*Math.pow(2,10*(k-=1))*Math.sin((k*q-n)*2*Math.PI/s))+m},easeOutElastic:function(n,k,m,p,q){n=1.70158;var s=0,r=p;if(k==0)return m;if((k/=q)==1)return m+p;s||(s=q*0.3);if(r<Math.abs(p)){r=p;n=s/4}else n=s/(2*Math.PI)*Math.asin(p/r);return r*Math.pow(2,-10*k)*Math.sin((k*q-n)*2*Math.PI/s)+p+m},easeInOutElastic:function(n,k,m,p,q){n=1.70158;var s=
|
||||||
|
0,r=p;if(k==0)return m;if((k/=q/2)==2)return m+p;s||(s=q*0.3*1.5);if(r<Math.abs(p)){r=p;n=s/4}else n=s/(2*Math.PI)*Math.asin(p/r);if(k<1)return-0.5*r*Math.pow(2,10*(k-=1))*Math.sin((k*q-n)*2*Math.PI/s)+m;return r*Math.pow(2,-10*(k-=1))*Math.sin((k*q-n)*2*Math.PI/s)*0.5+p+m},easeInBack:function(n,k,m,p,q,s){if(s==d)s=1.70158;return p*(k/=q)*k*((s+1)*k-s)+m},easeOutBack:function(n,k,m,p,q,s){if(s==d)s=1.70158;return p*((k=k/q-1)*k*((s+1)*k+s)+1)+m},easeInOutBack:function(n,k,m,p,q,s){if(s==d)s=1.70158;
|
||||||
|
if((k/=q/2)<1)return p/2*k*k*(((s*=1.525)+1)*k-s)+m;return p/2*((k-=2)*k*(((s*=1.525)+1)*k+s)+2)+m},easeInBounce:function(n,k,m,p,q){return p-a.easing.easeOutBounce(n,q-k,0,p,q)+m},easeOutBounce:function(n,k,m,p,q){return(k/=q)<1/2.75?p*7.5625*k*k+m:k<2/2.75?p*(7.5625*(k-=1.5/2.75)*k+0.75)+m:k<2.5/2.75?p*(7.5625*(k-=2.25/2.75)*k+0.9375)+m:p*(7.5625*(k-=2.625/2.75)*k+0.984375)+m},easeInOutBounce:function(n,k,m,p,q){if(k<q/2)return a.easing.easeInBounce(n,k*2,0,p,q)*0.5+m;return a.easing.easeOutBounce(n,
|
||||||
|
k*2-q,0,p,q)*0.5+p*0.5+m}})}(jQuery);
|
||||||
|
(function(a){a.effects.blind=function(d){return this.queue(function(){var c=a(this),e=["position","top","bottom","left","right"],h=a.effects.setMode(c,d.options.mode||"hide"),g=d.options.direction||"vertical";a.effects.save(c,e);c.show();var i=a.effects.createWrapper(c).css({overflow:"hidden"}),b=g=="vertical"?"height":"width";g=g=="vertical"?i.height():i.width();h=="show"&&i.css(b,0);var f={};f[b]=h=="show"?g:0;i.animate(f,d.duration,d.options.easing,function(){h=="hide"&&c.hide();a.effects.restore(c,
|
||||||
|
e);a.effects.removeWrapper(c);d.callback&&d.callback.apply(c[0],arguments);c.dequeue()})})}})(jQuery);
|
||||||
|
(function(a){a.effects.bounce=function(d){return this.queue(function(){var c=a(this),e=["position","top","bottom","left","right"],h=a.effects.setMode(c,d.options.mode||"effect"),g=d.options.direction||"up",i=d.options.distance||20,b=d.options.times||5,f=d.duration||250;/show|hide/.test(h)&&e.push("opacity");a.effects.save(c,e);c.show();a.effects.createWrapper(c);var j=g=="up"||g=="down"?"top":"left";g=g=="up"||g=="left"?"pos":"neg";i=d.options.distance||(j=="top"?c.outerHeight({margin:true})/3:c.outerWidth({margin:true})/
|
||||||
|
3);if(h=="show")c.css("opacity",0).css(j,g=="pos"?-i:i);if(h=="hide")i/=b*2;h!="hide"&&b--;if(h=="show"){var l={opacity:1};l[j]=(g=="pos"?"+=":"-=")+i;c.animate(l,f/2,d.options.easing);i/=2;b--}for(l=0;l<b;l++){var o={},n={};o[j]=(g=="pos"?"-=":"+=")+i;n[j]=(g=="pos"?"+=":"-=")+i;c.animate(o,f/2,d.options.easing).animate(n,f/2,d.options.easing);i=h=="hide"?i*2:i/2}if(h=="hide"){l={opacity:0};l[j]=(g=="pos"?"-=":"+=")+i;c.animate(l,f/2,d.options.easing,function(){c.hide();a.effects.restore(c,e);a.effects.removeWrapper(c);
|
||||||
|
d.callback&&d.callback.apply(this,arguments)})}else{o={};n={};o[j]=(g=="pos"?"-=":"+=")+i;n[j]=(g=="pos"?"+=":"-=")+i;c.animate(o,f/2,d.options.easing).animate(n,f/2,d.options.easing,function(){a.effects.restore(c,e);a.effects.removeWrapper(c);d.callback&&d.callback.apply(this,arguments)})}c.queue("fx",function(){c.dequeue()});c.dequeue()})}})(jQuery);
|
||||||
|
(function(a){a.effects.clip=function(d){return this.queue(function(){var c=a(this),e=["position","top","bottom","left","right","height","width"],h=a.effects.setMode(c,d.options.mode||"hide"),g=d.options.direction||"vertical";a.effects.save(c,e);c.show();var i=a.effects.createWrapper(c).css({overflow:"hidden"});i=c[0].tagName=="IMG"?i:c;var b={size:g=="vertical"?"height":"width",position:g=="vertical"?"top":"left"};g=g=="vertical"?i.height():i.width();if(h=="show"){i.css(b.size,0);i.css(b.position,
|
||||||
|
g/2)}var f={};f[b.size]=h=="show"?g:0;f[b.position]=h=="show"?0:g/2;i.animate(f,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){h=="hide"&&c.hide();a.effects.restore(c,e);a.effects.removeWrapper(c);d.callback&&d.callback.apply(c[0],arguments);c.dequeue()}})})}})(jQuery);
|
||||||
|
(function(a){a.effects.drop=function(d){return this.queue(function(){var c=a(this),e=["position","top","bottom","left","right","opacity"],h=a.effects.setMode(c,d.options.mode||"hide"),g=d.options.direction||"left";a.effects.save(c,e);c.show();a.effects.createWrapper(c);var i=g=="up"||g=="down"?"top":"left";g=g=="up"||g=="left"?"pos":"neg";var b=d.options.distance||(i=="top"?c.outerHeight({margin:true})/2:c.outerWidth({margin:true})/2);if(h=="show")c.css("opacity",0).css(i,g=="pos"?-b:b);var f={opacity:h==
|
||||||
|
"show"?1:0};f[i]=(h=="show"?g=="pos"?"+=":"-=":g=="pos"?"-=":"+=")+b;c.animate(f,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){h=="hide"&&c.hide();a.effects.restore(c,e);a.effects.removeWrapper(c);d.callback&&d.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery);
|
||||||
|
(function(a){a.effects.explode=function(d){return this.queue(function(){var c=d.options.pieces?Math.round(Math.sqrt(d.options.pieces)):3,e=d.options.pieces?Math.round(Math.sqrt(d.options.pieces)):3;d.options.mode=d.options.mode=="toggle"?a(this).is(":visible")?"hide":"show":d.options.mode;var h=a(this).show().css("visibility","hidden"),g=h.offset();g.top-=parseInt(h.css("marginTop"),10)||0;g.left-=parseInt(h.css("marginLeft"),10)||0;for(var i=h.outerWidth(true),b=h.outerHeight(true),f=0;f<c;f++)for(var j=
|
||||||
|
0;j<e;j++)h.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-j*(i/e),top:-f*(b/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:i/e,height:b/c,left:g.left+j*(i/e)+(d.options.mode=="show"?(j-Math.floor(e/2))*(i/e):0),top:g.top+f*(b/c)+(d.options.mode=="show"?(f-Math.floor(c/2))*(b/c):0),opacity:d.options.mode=="show"?0:1}).animate({left:g.left+j*(i/e)+(d.options.mode=="show"?0:(j-Math.floor(e/2))*(i/e)),top:g.top+
|
||||||
|
f*(b/c)+(d.options.mode=="show"?0:(f-Math.floor(c/2))*(b/c)),opacity:d.options.mode=="show"?1:0},d.duration||500);setTimeout(function(){d.options.mode=="show"?h.css({visibility:"visible"}):h.css({visibility:"visible"}).hide();d.callback&&d.callback.apply(h[0]);h.dequeue();a("div.ui-effects-explode").remove()},d.duration||500)})}})(jQuery);
|
||||||
|
(function(a){a.effects.fade=function(d){return this.queue(function(){var c=a(this),e=a.effects.setMode(c,d.options.mode||"hide");c.animate({opacity:e},{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){d.callback&&d.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery);
|
||||||
|
(function(a){a.effects.fold=function(d){return this.queue(function(){var c=a(this),e=["position","top","bottom","left","right"],h=a.effects.setMode(c,d.options.mode||"hide"),g=d.options.size||15,i=!!d.options.horizFirst,b=d.duration?d.duration/2:a.fx.speeds._default/2;a.effects.save(c,e);c.show();var f=a.effects.createWrapper(c).css({overflow:"hidden"}),j=h=="show"!=i,l=j?["width","height"]:["height","width"];j=j?[f.width(),f.height()]:[f.height(),f.width()];var o=/([0-9]+)%/.exec(g);if(o)g=parseInt(o[1],
|
||||||
|
10)/100*j[h=="hide"?0:1];if(h=="show")f.css(i?{height:0,width:g}:{height:g,width:0});i={};o={};i[l[0]]=h=="show"?j[0]:g;o[l[1]]=h=="show"?j[1]:0;f.animate(i,b,d.options.easing).animate(o,b,d.options.easing,function(){h=="hide"&&c.hide();a.effects.restore(c,e);a.effects.removeWrapper(c);d.callback&&d.callback.apply(c[0],arguments);c.dequeue()})})}})(jQuery);
|
||||||
|
(function(a){a.effects.highlight=function(d){return this.queue(function(){var c=a(this),e=["backgroundImage","backgroundColor","opacity"],h=a.effects.setMode(c,d.options.mode||"show"),g={backgroundColor:c.css("backgroundColor")};if(h=="hide")g.opacity=0;a.effects.save(c,e);c.show().css({backgroundImage:"none",backgroundColor:d.options.color||"#ffff99"}).animate(g,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){h=="hide"&&c.hide();a.effects.restore(c,e);h=="show"&&!a.support.opacity&&
|
||||||
|
this.style.removeAttribute("filter");d.callback&&d.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery);
|
||||||
|
(function(a){a.effects.pulsate=function(d){return this.queue(function(){var c=a(this),e=a.effects.setMode(c,d.options.mode||"show");times=(d.options.times||5)*2-1;duration=d.duration?d.duration/2:a.fx.speeds._default/2;isVisible=c.is(":visible");animateTo=0;if(!isVisible){c.css("opacity",0).show();animateTo=1}if(e=="hide"&&isVisible||e=="show"&&!isVisible)times--;for(e=0;e<times;e++){c.animate({opacity:animateTo},duration,d.options.easing);animateTo=(animateTo+1)%2}c.animate({opacity:animateTo},duration,
|
||||||
|
d.options.easing,function(){animateTo==0&&c.hide();d.callback&&d.callback.apply(this,arguments)});c.queue("fx",function(){c.dequeue()}).dequeue()})}})(jQuery);
|
||||||
|
(function(a){a.effects.puff=function(d){return this.queue(function(){var c=a(this),e=a.effects.setMode(c,d.options.mode||"hide"),h=parseInt(d.options.percent,10)||150,g=h/100,i={height:c.height(),width:c.width()};a.extend(d.options,{fade:true,mode:e,percent:e=="hide"?h:100,from:e=="hide"?i:{height:i.height*g,width:i.width*g}});c.effect("scale",d.options,d.duration,d.callback);c.dequeue()})};a.effects.scale=function(d){return this.queue(function(){var c=a(this),e=a.extend(true,{},d.options),h=a.effects.setMode(c,
|
||||||
|
d.options.mode||"effect"),g=parseInt(d.options.percent,10)||(parseInt(d.options.percent,10)==0?0:h=="hide"?0:100),i=d.options.direction||"both",b=d.options.origin;if(h!="effect"){e.origin=b||["middle","center"];e.restore=true}b={height:c.height(),width:c.width()};c.from=d.options.from||(h=="show"?{height:0,width:0}:b);g={y:i!="horizontal"?g/100:1,x:i!="vertical"?g/100:1};c.to={height:b.height*g.y,width:b.width*g.x};if(d.options.fade){if(h=="show"){c.from.opacity=0;c.to.opacity=1}if(h=="hide"){c.from.opacity=
|
||||||
|
1;c.to.opacity=0}}e.from=c.from;e.to=c.to;e.mode=h;c.effect("size",e,d.duration,d.callback);c.dequeue()})};a.effects.size=function(d){return this.queue(function(){var c=a(this),e=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],g=["width","height","overflow"],i=["fontSize"],b=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],f=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],
|
||||||
|
j=a.effects.setMode(c,d.options.mode||"effect"),l=d.options.restore||false,o=d.options.scale||"both",n=d.options.origin,k={height:c.height(),width:c.width()};c.from=d.options.from||k;c.to=d.options.to||k;if(n){n=a.effects.getBaseline(n,k);c.from.top=(k.height-c.from.height)*n.y;c.from.left=(k.width-c.from.width)*n.x;c.to.top=(k.height-c.to.height)*n.y;c.to.left=(k.width-c.to.width)*n.x}var m={from:{y:c.from.height/k.height,x:c.from.width/k.width},to:{y:c.to.height/k.height,x:c.to.width/k.width}};
|
||||||
|
if(o=="box"||o=="both"){if(m.from.y!=m.to.y){e=e.concat(b);c.from=a.effects.setTransition(c,b,m.from.y,c.from);c.to=a.effects.setTransition(c,b,m.to.y,c.to)}if(m.from.x!=m.to.x){e=e.concat(f);c.from=a.effects.setTransition(c,f,m.from.x,c.from);c.to=a.effects.setTransition(c,f,m.to.x,c.to)}}if(o=="content"||o=="both")if(m.from.y!=m.to.y){e=e.concat(i);c.from=a.effects.setTransition(c,i,m.from.y,c.from);c.to=a.effects.setTransition(c,i,m.to.y,c.to)}a.effects.save(c,l?e:h);c.show();a.effects.createWrapper(c);
|
||||||
|
c.css("overflow","hidden").css(c.from);if(o=="content"||o=="both"){b=b.concat(["marginTop","marginBottom"]).concat(i);f=f.concat(["marginLeft","marginRight"]);g=e.concat(b).concat(f);c.find("*[width]").each(function(){child=a(this);l&&a.effects.save(child,g);var p={height:child.height(),width:child.width()};child.from={height:p.height*m.from.y,width:p.width*m.from.x};child.to={height:p.height*m.to.y,width:p.width*m.to.x};if(m.from.y!=m.to.y){child.from=a.effects.setTransition(child,b,m.from.y,child.from);
|
||||||
|
child.to=a.effects.setTransition(child,b,m.to.y,child.to)}if(m.from.x!=m.to.x){child.from=a.effects.setTransition(child,f,m.from.x,child.from);child.to=a.effects.setTransition(child,f,m.to.x,child.to)}child.css(child.from);child.animate(child.to,d.duration,d.options.easing,function(){l&&a.effects.restore(child,g)})})}c.animate(c.to,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){c.to.opacity===0&&c.css("opacity",c.from.opacity);j=="hide"&&c.hide();a.effects.restore(c,
|
||||||
|
l?e:h);a.effects.removeWrapper(c);d.callback&&d.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery);
|
||||||
|
(function(a){a.effects.shake=function(d){return this.queue(function(){var c=a(this),e=["position","top","bottom","left","right"];a.effects.setMode(c,d.options.mode||"effect");var h=d.options.direction||"left",g=d.options.distance||20,i=d.options.times||3,b=d.duration||d.options.duration||140;a.effects.save(c,e);c.show();a.effects.createWrapper(c);var f=h=="up"||h=="down"?"top":"left",j=h=="up"||h=="left"?"pos":"neg";h={};var l={},o={};h[f]=(j=="pos"?"-=":"+=")+g;l[f]=(j=="pos"?"+=":"-=")+g*2;o[f]=
|
||||||
|
(j=="pos"?"-=":"+=")+g*2;c.animate(h,b,d.options.easing);for(g=1;g<i;g++)c.animate(l,b,d.options.easing).animate(o,b,d.options.easing);c.animate(l,b,d.options.easing).animate(h,b/2,d.options.easing,function(){a.effects.restore(c,e);a.effects.removeWrapper(c);d.callback&&d.callback.apply(this,arguments)});c.queue("fx",function(){c.dequeue()});c.dequeue()})}})(jQuery);
|
||||||
|
(function(a){a.effects.slide=function(d){return this.queue(function(){var c=a(this),e=["position","top","bottom","left","right"],h=a.effects.setMode(c,d.options.mode||"show"),g=d.options.direction||"left";a.effects.save(c,e);c.show();a.effects.createWrapper(c).css({overflow:"hidden"});var i=g=="up"||g=="down"?"top":"left";g=g=="up"||g=="left"?"pos":"neg";var b=d.options.distance||(i=="top"?c.outerHeight({margin:true}):c.outerWidth({margin:true}));if(h=="show")c.css(i,g=="pos"?isNaN(b)?"-"+b:-b:b);
|
||||||
|
var f={};f[i]=(h=="show"?g=="pos"?"+=":"-=":g=="pos"?"-=":"+=")+b;c.animate(f,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){h=="hide"&&c.hide();a.effects.restore(c,e);a.effects.removeWrapper(c);d.callback&&d.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery);
|
||||||
|
(function(a){a.effects.transfer=function(d){return this.queue(function(){var c=a(this),e=a(d.options.to),h=e.offset();e={top:h.top,left:h.left,height:e.innerHeight(),width:e.innerWidth()};h=c.offset();var g=a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(d.options.className).css({top:h.top,left:h.left,height:c.innerHeight(),width:c.innerWidth(),position:"absolute"}).animate(e,d.duration,d.options.easing,function(){g.remove();d.callback&&d.callback.apply(c[0],arguments);
|
||||||
|
c.dequeue()})})}})(jQuery);
|
||||||
|
(function(a){a.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var d=this,c=d.options;d.running=0;d.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix");d.headers=
|
||||||
|
d.element.find(c.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){c.disabled||a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){c.disabled||a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){c.disabled||a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){c.disabled||a(this).removeClass("ui-state-focus")});d.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
|
||||||
|
if(c.navigation){var e=d.element.find("a").filter(c.navigationFilter).eq(0);if(e.length){var h=e.closest(".ui-accordion-header");d.active=h.length?h:e.closest(".ui-accordion-content").prev()}}d.active=d._findActive(d.active||c.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");d.active.next().addClass("ui-accordion-content-active");d._createIcons();d.resize();d.element.attr("role","tablist");d.headers.attr("role","tab").bind("keydown.accordion",
|
||||||
|
function(g){return d._keydown(g)}).next().attr("role","tabpanel");d.headers.not(d.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();d.active.length?d.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):d.headers.eq(0).attr("tabIndex",0);a.browser.safari||d.headers.find("a").attr("tabIndex",-1);c.event&&d.headers.bind(c.event.split(" ").join(".accordion ")+".accordion",function(g){d._clickHandler.call(d,g,this);g.preventDefault()})},_createIcons:function(){var d=
|
||||||
|
this.options;if(d.icons){a("<span></span>").addClass("ui-icon "+d.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(d.icons.header).toggleClass(d.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var d=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex");
|
||||||
|
this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var c=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(d.autoHeight||d.fillHeight)c.css("height","");return a.Widget.prototype.destroy.call(this)},_setOption:function(d,c){a.Widget.prototype._setOption.apply(this,arguments);d=="active"&&this.activate(c);if(d=="icons"){this._destroyIcons();
|
||||||
|
c&&this._createIcons()}if(d=="disabled")this.headers.add(this.headers.next())[c?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(d){if(!(this.options.disabled||d.altKey||d.ctrlKey)){var c=a.ui.keyCode,e=this.headers.length,h=this.headers.index(d.target),g=false;switch(d.keyCode){case c.RIGHT:case c.DOWN:g=this.headers[(h+1)%e];break;case c.LEFT:case c.UP:g=this.headers[(h-1+e)%e];break;case c.SPACE:case c.ENTER:this._clickHandler({target:d.target},d.target);
|
||||||
|
d.preventDefault()}if(g){a(d.target).attr("tabIndex",-1);a(g).attr("tabIndex",0);g.focus();return false}return true}},resize:function(){var d=this.options,c;if(d.fillSpace){if(a.browser.msie){var e=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}c=this.element.parent().height();a.browser.msie&&this.element.parent().css("overflow",e);this.headers.each(function(){c-=a(this).outerHeight(true)});this.headers.next().each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+
|
||||||
|
a(this).height()))}).css("overflow","auto")}else if(d.autoHeight){c=0;this.headers.next().each(function(){c=Math.max(c,a(this).height("").height())}).height(c)}return this},activate:function(d){this.options.active=d;d=this._findActive(d)[0];this._clickHandler({target:d},d);return this},_findActive:function(d){return d?typeof d==="number"?this.headers.filter(":eq("+d+")"):this.headers.not(this.headers.not(d)):d===false?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(d,c){var e=this.options;
|
||||||
|
if(!e.disabled)if(d.target){d=a(d.currentTarget||c);c=d[0]===this.active[0];e.active=e.collapsible&&c?false:this.headers.index(d);if(!(this.running||!e.collapsible&&c)){var h=this.active;f=d.next();i=this.active.next();b={options:e,newHeader:c&&e.collapsible?a([]):d,oldHeader:this.active,newContent:c&&e.collapsible?a([]):f,oldContent:i};var g=this.headers.index(this.active[0])>this.headers.index(d[0]);this.active=c?a([]):d;this._toggle(f,i,b,c,g);h.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(e.icons.headerSelected).addClass(e.icons.header);
|
||||||
|
if(!c){d.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(e.icons.header).addClass(e.icons.headerSelected);d.next().addClass("ui-accordion-content-active")}}}else if(e.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(e.icons.headerSelected).addClass(e.icons.header);this.active.next().addClass("ui-accordion-content-active");var i=this.active.next(),
|
||||||
|
b={options:e,newHeader:a([]),oldHeader:e.active,newContent:a([]),oldContent:i},f=this.active=a([]);this._toggle(f,i,b)}},_toggle:function(d,c,e,h,g){var i=this,b=i.options;i.toShow=d;i.toHide=c;i.data=e;var f=function(){if(i)return i._completed.apply(i,arguments)};i._trigger("changestart",null,i.data);i.running=c.size()===0?d.size():c.size();if(b.animated){e={};e=b.collapsible&&h?{toShow:a([]),toHide:c,complete:f,down:g,autoHeight:b.autoHeight||b.fillSpace}:{toShow:d,toHide:c,complete:f,down:g,autoHeight:b.autoHeight||
|
||||||
|
b.fillSpace};if(!b.proxied)b.proxied=b.animated;if(!b.proxiedDuration)b.proxiedDuration=b.duration;b.animated=a.isFunction(b.proxied)?b.proxied(e):b.proxied;b.duration=a.isFunction(b.proxiedDuration)?b.proxiedDuration(e):b.proxiedDuration;h=a.ui.accordion.animations;var j=b.duration,l=b.animated;if(l&&!h[l]&&!a.easing[l])l="slide";h[l]||(h[l]=function(o){this.slide(o,{easing:l,duration:j||700})});h[l](e)}else{if(b.collapsible&&h)d.toggle();else{c.hide();d.show()}f(true)}c.prev().attr({"aria-expanded":"false",
|
||||||
|
"aria-selected":"false",tabIndex:-1}).blur();d.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(d){this.running=d?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});a.extend(a.ui.accordion,{version:"1.8.16",
|
||||||
|
animations:{slide:function(d,c){d=a.extend({easing:"swing",duration:300},d,c);if(d.toHide.size())if(d.toShow.size()){var e=d.toShow.css("overflow"),h=0,g={},i={},b;c=d.toShow;b=c[0].style.width;c.width(parseInt(c.parent().width(),10)-parseInt(c.css("paddingLeft"),10)-parseInt(c.css("paddingRight"),10)-(parseInt(c.css("borderLeftWidth"),10)||0)-(parseInt(c.css("borderRightWidth"),10)||0));a.each(["height","paddingTop","paddingBottom"],function(f,j){i[j]="hide";f=(""+a.css(d.toShow[0],j)).match(/^([\d+-.]+)(.*)$/);
|
||||||
|
g[j]={value:f[1],unit:f[2]||"px"}});d.toShow.css({height:0,overflow:"hidden"}).show();d.toHide.filter(":hidden").each(d.complete).end().filter(":visible").animate(i,{step:function(f,j){if(j.prop=="height")h=j.end-j.start===0?0:(j.now-j.start)/(j.end-j.start);d.toShow[0].style[j.prop]=h*g[j.prop].value+g[j.prop].unit},duration:d.duration,easing:d.easing,complete:function(){d.autoHeight||d.toShow.css("height","");d.toShow.css({width:b,overflow:e});d.complete()}})}else d.toHide.animate({height:"hide",
|
||||||
|
paddingTop:"hide",paddingBottom:"hide"},d);else d.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},d)},bounceslide:function(d){this.slide(d,{easing:d.down?"easeOutBounce":"swing",duration:d.down?1E3:200})}}})})(jQuery);
|
||||||
|
(function(a){var d=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var c=this,e=this.element[0].ownerDocument,h;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(g){if(!(c.options.disabled||c.element.propAttr("readOnly"))){h=
|
||||||
|
false;var i=a.ui.keyCode;switch(g.keyCode){case i.PAGE_UP:c._move("previousPage",g);break;case i.PAGE_DOWN:c._move("nextPage",g);break;case i.UP:c._move("previous",g);g.preventDefault();break;case i.DOWN:c._move("next",g);g.preventDefault();break;case i.ENTER:case i.NUMPAD_ENTER:if(c.menu.active){h=true;g.preventDefault()}case i.TAB:if(!c.menu.active)return;c.menu.select(g);break;case i.ESCAPE:c.element.val(c.term);c.close(g);break;default:clearTimeout(c.searching);c.searching=setTimeout(function(){if(c.term!=
|
||||||
|
c.element.val()){c.selectedItem=null;c.search(null,g)}},c.options.delay);break}}}).bind("keypress.autocomplete",function(g){if(h){h=false;g.preventDefault()}}).bind("focus.autocomplete",function(){if(!c.options.disabled){c.selectedItem=null;c.previous=c.element.val()}}).bind("blur.autocomplete",function(g){if(!c.options.disabled){clearTimeout(c.searching);c.closing=setTimeout(function(){c.close(g);c._change(g)},150)}});this._initSource();this.response=function(){return c._response.apply(c,arguments)};
|
||||||
|
this.menu=a("<ul></ul>").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",e)[0]).mousedown(function(g){var i=c.menu.element[0];a(g.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(b){b.target!==c.element[0]&&b.target!==i&&!a.ui.contains(i,b.target)&&c.close()})},1);setTimeout(function(){clearTimeout(c.closing)},13)}).menu({focus:function(g,i){i=i.item.data("item.autocomplete");false!==c._trigger("focus",g,{item:i})&&/^key/.test(g.originalEvent.type)&&
|
||||||
|
c.element.val(i.value)},selected:function(g,i){var b=i.item.data("item.autocomplete"),f=c.previous;if(c.element[0]!==e.activeElement){c.element.focus();c.previous=f;setTimeout(function(){c.previous=f;c.selectedItem=b},1)}false!==c._trigger("select",g,{item:b})&&c.element.val(b.value);c.term=c.element.val();c.close(g);c.selectedItem=b},blur:function(){c.menu.element.is(":visible")&&c.element.val()!==c.term&&c.element.val(c.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");
|
||||||
|
a.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();a.Widget.prototype.destroy.call(this)},_setOption:function(c,e){a.Widget.prototype._setOption.apply(this,arguments);c==="source"&&this._initSource();if(c==="appendTo")this.menu.element.appendTo(a(e||"body",this.element[0].ownerDocument)[0]);c==="disabled"&&
|
||||||
|
e&&this.xhr&&this.xhr.abort()},_initSource:function(){var c=this,e,h;if(a.isArray(this.options.source)){e=this.options.source;this.source=function(g,i){i(a.ui.autocomplete.filter(e,g.term))}}else if(typeof this.options.source==="string"){h=this.options.source;this.source=function(g,i){c.xhr&&c.xhr.abort();c.xhr=a.ajax({url:h,data:g,dataType:"json",autocompleteRequest:++d,success:function(b){this.autocompleteRequest===d&&i(b)},error:function(){this.autocompleteRequest===d&&i([])}})}}else this.source=
|
||||||
|
this.options.source},search:function(c,e){c=c!=null?c:this.element.val();this.term=this.element.val();if(c.length<this.options.minLength)return this.close(e);clearTimeout(this.closing);if(this._trigger("search",e)!==false)return this._search(c)},_search:function(c){this.pending++;this.element.addClass("ui-autocomplete-loading");this.source({term:c},this.response)},_response:function(c){if(!this.options.disabled&&c&&c.length){c=this._normalize(c);this._suggest(c);this._trigger("open")}else this.close();
|
||||||
|
this.pending--;this.pending||this.element.removeClass("ui-autocomplete-loading")},close:function(c){clearTimeout(this.closing);if(this.menu.element.is(":visible")){this.menu.element.hide();this.menu.deactivate();this._trigger("close",c)}},_change:function(c){this.previous!==this.element.val()&&this._trigger("change",c,{item:this.selectedItem})},_normalize:function(c){if(c.length&&c[0].label&&c[0].value)return c;return a.map(c,function(e){if(typeof e==="string")return{label:e,value:e};return a.extend({label:e.label||
|
||||||
|
e.value,value:e.value||e.label},e)})},_suggest:function(c){var e=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(e,c);this.menu.deactivate();this.menu.refresh();e.show();this._resizeMenu();e.position(a.extend({of:this.element},this.options.position));this.options.autoFocus&&this.menu.next(new a.Event("mouseover"))},_resizeMenu:function(){var c=this.menu.element;c.outerWidth(Math.max(c.width("").outerWidth(),this.element.outerWidth()))},_renderMenu:function(c,e){var h=this;
|
||||||
|
a.each(e,function(g,i){h._renderItem(c,i)})},_renderItem:function(c,e){return a("<li></li>").data("item.autocomplete",e).append(a("<a></a>").text(e.label)).appendTo(c)},_move:function(c,e){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(c)||this.menu.last()&&/^next/.test(c)){this.element.val(this.term);this.menu.deactivate()}else this.menu[c](e);else this.search(null,e)},widget:function(){return this.menu.element}});a.extend(a.ui.autocomplete,{escapeRegex:function(c){return c.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,
|
||||||
|
"\\$&")},filter:function(c,e){var h=new RegExp(a.ui.autocomplete.escapeRegex(e),"i");return a.grep(c,function(g){return h.test(g.label||g.value||g)})}})})(jQuery);
|
||||||
|
(function(a){a.widget("ui.menu",{_create:function(){var d=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(a(c.target).closest(".ui-menu-item a").length){c.preventDefault();d.select(c)}});this.refresh()},refresh:function(){var d=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",
|
||||||
|
-1).mouseenter(function(c){d.activate(c,a(this).parent())}).mouseleave(function(){d.deactivate()})},activate:function(d,c){this.deactivate();if(this.hasScroll()){var e=c.offset().top-this.element.offset().top,h=this.element.scrollTop(),g=this.element.height();if(e<0)this.element.scrollTop(h+e);else e>=g&&this.element.scrollTop(h+e-g+c.height())}this.active=c.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",d,{item:c})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");
|
||||||
|
this._trigger("blur");this.active=null}},next:function(d){this.move("next",".ui-menu-item:first",d)},previous:function(d){this.move("prev",".ui-menu-item:last",d)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(d,c,e){if(this.active){d=this.active[d+"All"](".ui-menu-item").eq(0);d.length?this.activate(e,d):this.activate(e,this.element.children(c))}else this.activate(e,
|
||||||
|
this.element.children(c))},nextPage:function(d){if(this.hasScroll())if(!this.active||this.last())this.activate(d,this.element.children(".ui-menu-item:first"));else{var c=this.active.offset().top,e=this.element.height(),h=this.element.children(".ui-menu-item").filter(function(){var g=a(this).offset().top-c-e+a(this).height();return g<10&&g>-10});h.length||(h=this.element.children(".ui-menu-item:last"));this.activate(d,h)}else this.activate(d,this.element.children(".ui-menu-item").filter(!this.active||
|
||||||
|
this.last()?":first":":last"))},previousPage:function(d){if(this.hasScroll())if(!this.active||this.first())this.activate(d,this.element.children(".ui-menu-item:last"));else{var c=this.active.offset().top,e=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var h=a(this).offset().top-c+e-a(this).height();return h<10&&h>-10});result.length||(result=this.element.children(".ui-menu-item:first"));this.activate(d,result)}else this.activate(d,this.element.children(".ui-menu-item").filter(!this.active||
|
||||||
|
this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[a.fn.prop?"prop":"attr"]("scrollHeight")},select:function(d){this._trigger("selected",d,{item:this.active})}})})(jQuery);
|
||||||
|
(function(a){var d,c,e,h,g=function(){var b=a(this).find(":ui-button");setTimeout(function(){b.button("refresh")},1)},i=function(b){var f=b.name,j=b.form,l=a([]);if(f)l=j?a(j).find("[name='"+f+"']"):a("[name='"+f+"']",b.ownerDocument).filter(function(){return!this.form});return l};a.widget("ui.button",{options:{disabled:null,text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",g);if(typeof this.options.disabled!==
|
||||||
|
"boolean")this.options.disabled=this.element.propAttr("disabled");this._determineButtonType();this.hasTitle=!!this.buttonElement.attr("title");var b=this,f=this.options,j=this.type==="checkbox"||this.type==="radio",l="ui-state-hover"+(!j?" ui-state-active":"");if(f.label===null)f.label=this.buttonElement.html();if(this.element.is(":disabled"))f.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button",function(){if(!f.disabled){a(this).addClass("ui-state-hover");
|
||||||
|
this===d&&a(this).addClass("ui-state-active")}}).bind("mouseleave.button",function(){f.disabled||a(this).removeClass(l)}).bind("click.button",function(o){if(f.disabled){o.preventDefault();o.stopImmediatePropagation()}});this.element.bind("focus.button",function(){b.buttonElement.addClass("ui-state-focus")}).bind("blur.button",function(){b.buttonElement.removeClass("ui-state-focus")});if(j){this.element.bind("change.button",function(){h||b.refresh()});this.buttonElement.bind("mousedown.button",function(o){if(!f.disabled){h=
|
||||||
|
false;c=o.pageX;e=o.pageY}}).bind("mouseup.button",function(o){if(!f.disabled)if(c!==o.pageX||e!==o.pageY)h=true})}if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){if(f.disabled||h)return false;a(this).toggleClass("ui-state-active");b.buttonElement.attr("aria-pressed",b.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",function(){if(f.disabled||h)return false;a(this).addClass("ui-state-active");b.buttonElement.attr("aria-pressed","true");
|
||||||
|
var o=b.element[0];i(o).not(o).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")});else{this.buttonElement.bind("mousedown.button",function(){if(f.disabled)return false;a(this).addClass("ui-state-active");d=this;a(document).one("mouseup",function(){d=null})}).bind("mouseup.button",function(){if(f.disabled)return false;a(this).removeClass("ui-state-active")}).bind("keydown.button",function(o){if(f.disabled)return false;if(o.keyCode==a.ui.keyCode.SPACE||
|
||||||
|
o.keyCode==a.ui.keyCode.ENTER)a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(o){o.keyCode===a.ui.keyCode.SPACE&&a(this).click()})}this._setOption("disabled",f.disabled);this._resetButton()},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?"input":"button";if(this.type==="checkbox"||this.type===
|
||||||
|
"radio"){var b=this.element.parents().filter(":last"),f="label[for='"+this.element.attr("id")+"']";this.buttonElement=b.find(f);if(!this.buttonElement.length){b=b.length?b.siblings():this.element.siblings();this.buttonElement=b.filter(f);if(!this.buttonElement.length)this.buttonElement=b.find(f)}this.element.addClass("ui-helper-hidden-accessible");(b=this.element.is(":checked"))&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",b)}else this.buttonElement=this.element},
|
||||||
|
widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());this.hasTitle||this.buttonElement.removeAttr("title");
|
||||||
|
a.Widget.prototype.destroy.call(this)},_setOption:function(b,f){a.Widget.prototype._setOption.apply(this,arguments);if(b==="disabled")f?this.element.propAttr("disabled",true):this.element.propAttr("disabled",false);else this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b);if(this.type==="radio")i(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
|
||||||
|
"true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")});else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false")},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var b=this.buttonElement.removeClass("ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only"),
|
||||||
|
f=a("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),j=this.options.icons,l=j.primary&&j.secondary,o=[];if(j.primary||j.secondary){if(this.options.text)o.push("ui-button-text-icon"+(l?"s":j.primary?"-primary":"-secondary"));j.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+j.primary+"'></span>");j.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+j.secondary+"'></span>");if(!this.options.text){o.push(l?"ui-button-icons-only":
|
||||||
|
"ui-button-icon-only");this.hasTitle||b.attr("title",f)}}else o.push("ui-button-text-only");b.addClass(o.join(" "))}}});a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,f){b==="disabled"&&this.buttons.button("option",b,f);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var b=this.element.css("direction")===
|
||||||
|
"ltr";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-left":"ui-corner-right").end().filter(":last").addClass(b?"ui-corner-right":"ui-corner-left").end().end()},destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");
|
||||||
|
a.Widget.prototype.destroy.call(this)}})})(jQuery);
|
||||||
|
(function(a,d){function c(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=
|
||||||
|
"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",
|
||||||
|
"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",
|
||||||
|
minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false,disabled:false};a.extend(this._defaults,this.regional[""]);this.dpDiv=e(a('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function e(b){return b.bind("mouseout",
|
||||||
|
function(f){f=a(f.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");f.length&&f.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(f){f=a(f.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(a.datepicker._isDisabledDatepicker(i.inline?b.parent()[0]:i.input[0])||!f.length)){f.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
|
||||||
|
f.addClass("ui-state-hover");f.hasClass("ui-datepicker-prev")&&f.addClass("ui-datepicker-prev-hover");f.hasClass("ui-datepicker-next")&&f.addClass("ui-datepicker-next-hover")}})}function h(b,f){a.extend(b,f);for(var j in f)if(f[j]==null||f[j]==d)b[j]=f[j];return b}a.extend(a.ui,{datepicker:{version:"1.8.16"}});var g=(new Date).getTime(),i;a.extend(c.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},
|
||||||
|
setDefaults:function(b){h(this._defaults,b||{});return this},_attachDatepicker:function(b,f){var j=null;for(var l in this._defaults){var o=b.getAttribute("date:"+l);if(o){j=j||{};try{j[l]=eval(o)}catch(n){j[l]=o}}}l=b.nodeName.toLowerCase();o=l=="div"||l=="span";if(!b.id){this.uuid+=1;b.id="dp"+this.uuid}var k=this._newInst(a(b),o);k.settings=a.extend({},f||{},j||{});if(l=="input")this._connectDatepicker(b,k);else o&&this._inlineDatepicker(b,k)},_newInst:function(b,f){return{id:b[0].id.replace(/([^A-Za-z0-9_-])/g,
|
||||||
|
"\\\\$1"),input:b,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:f,dpDiv:!f?this.dpDiv:e(a('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}},_connectDatepicker:function(b,f){var j=a(b);f.append=a([]);f.trigger=a([]);if(!j.hasClass(this.markerClassName)){this._attachments(j,f);j.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",
|
||||||
|
function(l,o,n){f.settings[o]=n}).bind("getData.datepicker",function(l,o){return this._get(f,o)});this._autoSize(f);a.data(b,"datepicker",f);f.settings.disabled&&this._disableDatepicker(b)}},_attachments:function(b,f){var j=this._get(f,"appendText"),l=this._get(f,"isRTL");f.append&&f.append.remove();if(j){f.append=a('<span class="'+this._appendClass+'">'+j+"</span>");b[l?"before":"after"](f.append)}b.unbind("focus",this._showDatepicker);f.trigger&&f.trigger.remove();j=this._get(f,"showOn");if(j==
|
||||||
|
"focus"||j=="both")b.focus(this._showDatepicker);if(j=="button"||j=="both"){j=this._get(f,"buttonText");var o=this._get(f,"buttonImage");f.trigger=a(this._get(f,"buttonImageOnly")?a("<img/>").addClass(this._triggerClass).attr({src:o,alt:j,title:j}):a('<button type="button"></button>').addClass(this._triggerClass).html(o==""?j:a("<img/>").attr({src:o,alt:j,title:j})));b[l?"before":"after"](f.trigger);f.trigger.click(function(){a.datepicker._datepickerShowing&&a.datepicker._lastInput==b[0]?a.datepicker._hideDatepicker():
|
||||||
|
a.datepicker._showDatepicker(b[0]);return false})}},_autoSize:function(b){if(this._get(b,"autoSize")&&!b.inline){var f=new Date(2009,11,20),j=this._get(b,"dateFormat");if(j.match(/[DM]/)){var l=function(o){for(var n=0,k=0,m=0;m<o.length;m++)if(o[m].length>n){n=o[m].length;k=m}return k};f.setMonth(l(this._get(b,j.match(/MM/)?"monthNames":"monthNamesShort")));f.setDate(l(this._get(b,j.match(/DD/)?"dayNames":"dayNamesShort"))+20-f.getDay())}b.input.attr("size",this._formatDate(b,f).length)}},_inlineDatepicker:function(b,
|
||||||
|
f){var j=a(b);if(!j.hasClass(this.markerClassName)){j.addClass(this.markerClassName).append(f.dpDiv).bind("setData.datepicker",function(l,o,n){f.settings[o]=n}).bind("getData.datepicker",function(l,o){return this._get(f,o)});a.data(b,"datepicker",f);this._setDate(f,this._getDefaultDate(f),true);this._updateDatepicker(f);this._updateAlternate(f);f.settings.disabled&&this._disableDatepicker(b);f.dpDiv.css("display","block")}},_dialogDatepicker:function(b,f,j,l,o){b=this._dialogInst;if(!b){this.uuid+=
|
||||||
|
1;this._dialogInput=a('<input type="text" id="'+("dp"+this.uuid)+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');this._dialogInput.keydown(this._doKeyDown);a("body").append(this._dialogInput);b=this._dialogInst=this._newInst(this._dialogInput,false);b.settings={};a.data(this._dialogInput[0],"datepicker",b)}h(b.settings,l||{});f=f&&f.constructor==Date?this._formatDate(b,f):f;this._dialogInput.val(f);this._pos=o?o.length?o:[o.pageX,o.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/
|
||||||
|
2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");b.settings.onSelect=j;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);a.blockUI&&a.blockUI(this.dpDiv);a.data(this._dialogInput[0],"datepicker",b);return this},_destroyDatepicker:function(b){var f=
|
||||||
|
a(b),j=a.data(b,"datepicker");if(f.hasClass(this.markerClassName)){var l=b.nodeName.toLowerCase();a.removeData(b,"datepicker");if(l=="input"){j.append.remove();j.trigger.remove();f.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(l=="div"||l=="span")f.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(b){var f=a(b),j=a.data(b,"datepicker");if(f.hasClass(this.markerClassName)){var l=
|
||||||
|
b.nodeName.toLowerCase();if(l=="input"){b.disabled=false;j.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(l=="div"||l=="span"){f=f.children("."+this._inlineClass);f.children().removeClass("ui-state-disabled");f.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=a.map(this._disabledInputs,function(o){return o==b?null:o})}},_disableDatepicker:function(b){var f=a(b),j=a.data(b,
|
||||||
|
"datepicker");if(f.hasClass(this.markerClassName)){var l=b.nodeName.toLowerCase();if(l=="input"){b.disabled=true;j.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(l=="div"||l=="span"){f=f.children("."+this._inlineClass);f.children().addClass("ui-state-disabled");f.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=a.map(this._disabledInputs,function(o){return o==
|
||||||
|
b?null:o});this._disabledInputs[this._disabledInputs.length]=b}},_isDisabledDatepicker:function(b){if(!b)return false;for(var f=0;f<this._disabledInputs.length;f++)if(this._disabledInputs[f]==b)return true;return false},_getInst:function(b){try{return a.data(b,"datepicker")}catch(f){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(b,f,j){var l=this._getInst(b);if(arguments.length==2&&typeof f=="string")return f=="defaults"?a.extend({},a.datepicker._defaults):l?f=="all"?
|
||||||
|
a.extend({},l.settings):this._get(l,f):null;var o=f||{};if(typeof f=="string"){o={};o[f]=j}if(l){this._curInst==l&&this._hideDatepicker();var n=this._getDateDatepicker(b,true),k=this._getMinMaxDate(l,"min"),m=this._getMinMaxDate(l,"max");h(l.settings,o);if(k!==null&&o.dateFormat!==d&&o.minDate===d)l.settings.minDate=this._formatDate(l,k);if(m!==null&&o.dateFormat!==d&&o.maxDate===d)l.settings.maxDate=this._formatDate(l,m);this._attachments(a(b),l);this._autoSize(l);this._setDate(l,n);this._updateAlternate(l);
|
||||||
|
this._updateDatepicker(l)}},_changeDatepicker:function(b,f,j){this._optionDatepicker(b,f,j)},_refreshDatepicker:function(b){(b=this._getInst(b))&&this._updateDatepicker(b)},_setDateDatepicker:function(b,f){if(b=this._getInst(b)){this._setDate(b,f);this._updateDatepicker(b);this._updateAlternate(b)}},_getDateDatepicker:function(b,f){(b=this._getInst(b))&&!b.inline&&this._setDateFromField(b,f);return b?this._getDate(b):null},_doKeyDown:function(b){var f=a.datepicker._getInst(b.target),j=true,l=f.dpDiv.is(".ui-datepicker-rtl");
|
||||||
|
f._keyEvent=true;if(a.datepicker._datepickerShowing)switch(b.keyCode){case 9:a.datepicker._hideDatepicker();j=false;break;case 13:j=a("td."+a.datepicker._dayOverClass+":not(."+a.datepicker._currentClass+")",f.dpDiv);j[0]&&a.datepicker._selectDay(b.target,f.selectedMonth,f.selectedYear,j[0]);if(b=a.datepicker._get(f,"onSelect")){j=a.datepicker._formatDate(f);b.apply(f.input?f.input[0]:null,[j,f])}else a.datepicker._hideDatepicker();return false;case 27:a.datepicker._hideDatepicker();break;case 33:a.datepicker._adjustDate(b.target,
|
||||||
|
b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 34:a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 35:if(b.ctrlKey||b.metaKey)a.datepicker._clearDate(b.target);j=b.ctrlKey||b.metaKey;break;case 36:if(b.ctrlKey||b.metaKey)a.datepicker._gotoToday(b.target);j=b.ctrlKey||b.metaKey;break;case 37:if(b.ctrlKey||b.metaKey)a.datepicker._adjustDate(b.target,l?+1:-1,"D");j=
|
||||||
|
b.ctrlKey||b.metaKey;if(b.originalEvent.altKey)a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 38:if(b.ctrlKey||b.metaKey)a.datepicker._adjustDate(b.target,-7,"D");j=b.ctrlKey||b.metaKey;break;case 39:if(b.ctrlKey||b.metaKey)a.datepicker._adjustDate(b.target,l?-1:+1,"D");j=b.ctrlKey||b.metaKey;if(b.originalEvent.altKey)a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,
|
||||||
|
"stepMonths"),"M");break;case 40:if(b.ctrlKey||b.metaKey)a.datepicker._adjustDate(b.target,+7,"D");j=b.ctrlKey||b.metaKey;break;default:j=false}else if(b.keyCode==36&&b.ctrlKey)a.datepicker._showDatepicker(this);else j=false;if(j){b.preventDefault();b.stopPropagation()}},_doKeyPress:function(b){var f=a.datepicker._getInst(b.target);if(a.datepicker._get(f,"constrainInput")){f=a.datepicker._possibleChars(a.datepicker._get(f,"dateFormat"));var j=String.fromCharCode(b.charCode==d?b.keyCode:b.charCode);
|
||||||
|
return b.ctrlKey||b.metaKey||j<" "||!f||f.indexOf(j)>-1}},_doKeyUp:function(b){b=a.datepicker._getInst(b.target);if(b.input.val()!=b.lastVal)try{if(a.datepicker.parseDate(a.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,a.datepicker._getFormatConfig(b))){a.datepicker._setDateFromField(b);a.datepicker._updateAlternate(b);a.datepicker._updateDatepicker(b)}}catch(f){a.datepicker.log(f)}return true},_showDatepicker:function(b){b=b.target||b;if(b.nodeName.toLowerCase()!="input")b=a("input",
|
||||||
|
b.parentNode)[0];if(!(a.datepicker._isDisabledDatepicker(b)||a.datepicker._lastInput==b)){var f=a.datepicker._getInst(b);if(a.datepicker._curInst&&a.datepicker._curInst!=f){a.datepicker._datepickerShowing&&a.datepicker._triggerOnClose(a.datepicker._curInst);a.datepicker._curInst.dpDiv.stop(true,true)}var j=a.datepicker._get(f,"beforeShow");j=j?j.apply(b,[b,f]):{};if(j!==false){h(f.settings,j);f.lastVal=null;a.datepicker._lastInput=b;a.datepicker._setDateFromField(f);if(a.datepicker._inDialog)b.value=
|
||||||
|
"";if(!a.datepicker._pos){a.datepicker._pos=a.datepicker._findPos(b);a.datepicker._pos[1]+=b.offsetHeight}var l=false;a(b).parents().each(function(){l|=a(this).css("position")=="fixed";return!l});if(l&&a.browser.opera){a.datepicker._pos[0]-=document.documentElement.scrollLeft;a.datepicker._pos[1]-=document.documentElement.scrollTop}j={left:a.datepicker._pos[0],top:a.datepicker._pos[1]};a.datepicker._pos=null;f.dpDiv.empty();f.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});a.datepicker._updateDatepicker(f);
|
||||||
|
j=a.datepicker._checkOffset(f,j,l);f.dpDiv.css({position:a.datepicker._inDialog&&a.blockUI?"static":l?"fixed":"absolute",display:"none",left:j.left+"px",top:j.top+"px"});if(!f.inline){j=a.datepicker._get(f,"showAnim");var o=a.datepicker._get(f,"duration"),n=function(){var k=f.dpDiv.find("iframe.ui-datepicker-cover");if(k.length){var m=a.datepicker._getBorders(f.dpDiv);k.css({left:-m[0],top:-m[1],width:f.dpDiv.outerWidth(),height:f.dpDiv.outerHeight()})}};f.dpDiv.zIndex(a(b).zIndex()+1);a.datepicker._datepickerShowing=
|
||||||
|
true;a.effects&&a.effects[j]?f.dpDiv.show(j,a.datepicker._get(f,"showOptions"),o,n):f.dpDiv[j||"show"](j?o:null,n);if(!j||!o)n();f.input.is(":visible")&&!f.input.is(":disabled")&&f.input.focus();a.datepicker._curInst=f}}}},_updateDatepicker:function(b){this.maxRows=4;var f=a.datepicker._getBorders(b.dpDiv);i=b;b.dpDiv.empty().append(this._generateHTML(b));var j=b.dpDiv.find("iframe.ui-datepicker-cover");j.length&&j.css({left:-f[0],top:-f[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()});
|
||||||
|
b.dpDiv.find("."+this._dayOverClass+" a").mouseover();f=this._getNumberOfMonths(b);j=f[1];b.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");j>1&&b.dpDiv.addClass("ui-datepicker-multi-"+j).css("width",17*j+"em");b.dpDiv[(f[0]!=1||f[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");b.dpDiv[(this._get(b,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");b==a.datepicker._curInst&&a.datepicker._datepickerShowing&&b.input&&b.input.is(":visible")&&
|
||||||
|
!b.input.is(":disabled")&&b.input[0]!=document.activeElement&&b.input.focus();if(b.yearshtml){var l=b.yearshtml;setTimeout(function(){l===b.yearshtml&&b.yearshtml&&b.dpDiv.find("select.ui-datepicker-year:first").replaceWith(b.yearshtml);l=b.yearshtml=null},0)}},_getBorders:function(b){var f=function(j){return{thin:1,medium:2,thick:3}[j]||j};return[parseFloat(f(b.css("border-left-width"))),parseFloat(f(b.css("border-top-width")))]},_checkOffset:function(b,f,j){var l=b.dpDiv.outerWidth(),o=b.dpDiv.outerHeight(),
|
||||||
|
n=b.input?b.input.outerWidth():0,k=b.input?b.input.outerHeight():0,m=document.documentElement.clientWidth+a(document).scrollLeft(),p=document.documentElement.clientHeight+a(document).scrollTop();f.left-=this._get(b,"isRTL")?l-n:0;f.left-=j&&f.left==b.input.offset().left?a(document).scrollLeft():0;f.top-=j&&f.top==b.input.offset().top+k?a(document).scrollTop():0;f.left-=Math.min(f.left,f.left+l>m&&m>l?Math.abs(f.left+l-m):0);f.top-=Math.min(f.top,f.top+o>p&&p>o?Math.abs(o+k):0);return f},_findPos:function(b){for(var f=
|
||||||
|
this._get(this._getInst(b),"isRTL");b&&(b.type=="hidden"||b.nodeType!=1||a.expr.filters.hidden(b));)b=b[f?"previousSibling":"nextSibling"];b=a(b).offset();return[b.left,b.top]},_triggerOnClose:function(b){var f=this._get(b,"onClose");if(f)f.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b])},_hideDatepicker:function(b){var f=this._curInst;if(!(!f||b&&f!=a.data(b,"datepicker")))if(this._datepickerShowing){b=this._get(f,"showAnim");var j=this._get(f,"duration"),l=function(){a.datepicker._tidyDialog(f);
|
||||||
|
this._curInst=null};a.effects&&a.effects[b]?f.dpDiv.hide(b,a.datepicker._get(f,"showOptions"),j,l):f.dpDiv[b=="slideDown"?"slideUp":b=="fadeIn"?"fadeOut":"hide"](b?j:null,l);b||l();a.datepicker._triggerOnClose(f);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(a.blockUI){a.unblockUI();a("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(b){b.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},
|
||||||
|
_checkExternalClick:function(b){if(a.datepicker._curInst){b=a(b.target);b[0].id!=a.datepicker._mainDivId&&b.parents("#"+a.datepicker._mainDivId).length==0&&!b.hasClass(a.datepicker.markerClassName)&&!b.hasClass(a.datepicker._triggerClass)&&a.datepicker._datepickerShowing&&!(a.datepicker._inDialog&&a.blockUI)&&a.datepicker._hideDatepicker()}},_adjustDate:function(b,f,j){b=a(b);var l=this._getInst(b[0]);if(!this._isDisabledDatepicker(b[0])){this._adjustInstDate(l,f+(j=="M"?this._get(l,"showCurrentAtPos"):
|
||||||
|
0),j);this._updateDatepicker(l)}},_gotoToday:function(b){b=a(b);var f=this._getInst(b[0]);if(this._get(f,"gotoCurrent")&&f.currentDay){f.selectedDay=f.currentDay;f.drawMonth=f.selectedMonth=f.currentMonth;f.drawYear=f.selectedYear=f.currentYear}else{var j=new Date;f.selectedDay=j.getDate();f.drawMonth=f.selectedMonth=j.getMonth();f.drawYear=f.selectedYear=j.getFullYear()}this._notifyChange(f);this._adjustDate(b)},_selectMonthYear:function(b,f,j){b=a(b);var l=this._getInst(b[0]);l["selected"+(j=="M"?
|
||||||
|
"Month":"Year")]=l["draw"+(j=="M"?"Month":"Year")]=parseInt(f.options[f.selectedIndex].value,10);this._notifyChange(l);this._adjustDate(b)},_selectDay:function(b,f,j,l){var o=a(b);if(!(a(l).hasClass(this._unselectableClass)||this._isDisabledDatepicker(o[0]))){o=this._getInst(o[0]);o.selectedDay=o.currentDay=a("a",l).html();o.selectedMonth=o.currentMonth=f;o.selectedYear=o.currentYear=j;this._selectDate(b,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear))}},_clearDate:function(b){b=a(b);
|
||||||
|
this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(b,f){b=this._getInst(a(b)[0]);f=f!=null?f:this._formatDate(b);b.input&&b.input.val(f);this._updateAlternate(b);var j=this._get(b,"onSelect");if(j)j.apply(b.input?b.input[0]:null,[f,b]);else b.input&&b.input.trigger("change");if(b.inline)this._updateDatepicker(b);else{this._hideDatepicker();this._lastInput=b.input[0];typeof b.input[0]!="object"&&b.input.focus();this._lastInput=null}},_updateAlternate:function(b){var f=this._get(b,"altField");
|
||||||
|
if(f){var j=this._get(b,"altFormat")||this._get(b,"dateFormat"),l=this._getDate(b),o=this.formatDate(j,l,this._getFormatConfig(b));a(f).each(function(){a(this).val(o)})}},noWeekends:function(b){b=b.getDay();return[b>0&&b<6,""]},iso8601Week:function(b){b=new Date(b.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var f=b.getTime();b.setMonth(0);b.setDate(1);return Math.floor(Math.round((f-b)/864E5)/7)+1},parseDate:function(b,f,j){if(b==null||f==null)throw"Invalid arguments";f=typeof f=="object"?
|
||||||
|
f.toString():f+"";if(f=="")return null;var l=(j?j.shortYearCutoff:null)||this._defaults.shortYearCutoff;l=typeof l!="string"?l:(new Date).getFullYear()%100+parseInt(l,10);for(var o=(j?j.dayNamesShort:null)||this._defaults.dayNamesShort,n=(j?j.dayNames:null)||this._defaults.dayNames,k=(j?j.monthNamesShort:null)||this._defaults.monthNamesShort,m=(j?j.monthNames:null)||this._defaults.monthNames,p=j=-1,q=-1,s=-1,r=false,u=function(z){(z=H+1<b.length&&b.charAt(H+1)==z)&&H++;return z},v=function(z){var I=
|
||||||
|
u(z);z=new RegExp("^\\d{1,"+(z=="@"?14:z=="!"?20:z=="y"&&I?4:z=="o"?3:2)+"}");z=f.substring(y).match(z);if(!z)throw"Missing number at position "+y;y+=z[0].length;return parseInt(z[0],10)},w=function(z,I,N){z=a.map(u(z)?N:I,function(D,E){return[[E,D]]}).sort(function(D,E){return-(D[1].length-E[1].length)});var J=-1;a.each(z,function(D,E){D=E[1];if(f.substr(y,D.length).toLowerCase()==D.toLowerCase()){J=E[0];y+=D.length;return false}});if(J!=-1)return J+1;else throw"Unknown name at position "+y;},x=
|
||||||
|
function(){if(f.charAt(y)!=b.charAt(H))throw"Unexpected literal at position "+y;y++},y=0,H=0;H<b.length;H++)if(r)if(b.charAt(H)=="'"&&!u("'"))r=false;else x();else switch(b.charAt(H)){case "d":q=v("d");break;case "D":w("D",o,n);break;case "o":s=v("o");break;case "m":p=v("m");break;case "M":p=w("M",k,m);break;case "y":j=v("y");break;case "@":var C=new Date(v("@"));j=C.getFullYear();p=C.getMonth()+1;q=C.getDate();break;case "!":C=new Date((v("!")-this._ticksTo1970)/1E4);j=C.getFullYear();p=C.getMonth()+
|
||||||
|
1;q=C.getDate();break;case "'":if(u("'"))x();else r=true;break;default:x()}if(y<f.length)throw"Extra/unparsed characters found in date: "+f.substring(y);if(j==-1)j=(new Date).getFullYear();else if(j<100)j+=(new Date).getFullYear()-(new Date).getFullYear()%100+(j<=l?0:-100);if(s>-1){p=1;q=s;do{l=this._getDaysInMonth(j,p-1);if(q<=l)break;p++;q-=l}while(1)}C=this._daylightSavingAdjust(new Date(j,p-1,q));if(C.getFullYear()!=j||C.getMonth()+1!=p||C.getDate()!=q)throw"Invalid date";return C},ATOM:"yy-mm-dd",
|
||||||
|
COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(b,f,j){if(!f)return"";var l=(j?j.dayNamesShort:null)||this._defaults.dayNamesShort,o=(j?j.dayNames:null)||this._defaults.dayNames,n=(j?j.monthNamesShort:null)||this._defaults.monthNamesShort;j=(j?j.monthNames:
|
||||||
|
null)||this._defaults.monthNames;var k=function(u){(u=r+1<b.length&&b.charAt(r+1)==u)&&r++;return u},m=function(u,v,w){v=""+v;if(k(u))for(;v.length<w;)v="0"+v;return v},p=function(u,v,w,x){return k(u)?x[v]:w[v]},q="",s=false;if(f)for(var r=0;r<b.length;r++)if(s)if(b.charAt(r)=="'"&&!k("'"))s=false;else q+=b.charAt(r);else switch(b.charAt(r)){case "d":q+=m("d",f.getDate(),2);break;case "D":q+=p("D",f.getDay(),l,o);break;case "o":q+=m("o",Math.round(((new Date(f.getFullYear(),f.getMonth(),f.getDate())).getTime()-
|
||||||
|
(new Date(f.getFullYear(),0,0)).getTime())/864E5),3);break;case "m":q+=m("m",f.getMonth()+1,2);break;case "M":q+=p("M",f.getMonth(),n,j);break;case "y":q+=k("y")?f.getFullYear():(f.getYear()%100<10?"0":"")+f.getYear()%100;break;case "@":q+=f.getTime();break;case "!":q+=f.getTime()*1E4+this._ticksTo1970;break;case "'":if(k("'"))q+="'";else s=true;break;default:q+=b.charAt(r)}return q},_possibleChars:function(b){for(var f="",j=false,l=function(n){(n=o+1<b.length&&b.charAt(o+1)==n)&&o++;return n},o=
|
||||||
|
0;o<b.length;o++)if(j)if(b.charAt(o)=="'"&&!l("'"))j=false;else f+=b.charAt(o);else switch(b.charAt(o)){case "d":case "m":case "y":case "@":f+="0123456789";break;case "D":case "M":return null;case "'":if(l("'"))f+="'";else j=true;break;default:f+=b.charAt(o)}return f},_get:function(b,f){return b.settings[f]!==d?b.settings[f]:this._defaults[f]},_setDateFromField:function(b,f){if(b.input.val()!=b.lastVal){var j=this._get(b,"dateFormat"),l=b.lastVal=b.input?b.input.val():null,o,n;o=n=this._getDefaultDate(b);
|
||||||
|
var k=this._getFormatConfig(b);try{o=this.parseDate(j,l,k)||n}catch(m){this.log(m);l=f?"":l}b.selectedDay=o.getDate();b.drawMonth=b.selectedMonth=o.getMonth();b.drawYear=b.selectedYear=o.getFullYear();b.currentDay=l?o.getDate():0;b.currentMonth=l?o.getMonth():0;b.currentYear=l?o.getFullYear():0;this._adjustInstDate(b)}},_getDefaultDate:function(b){return this._restrictMinMax(b,this._determineDate(b,this._get(b,"defaultDate"),new Date))},_determineDate:function(b,f,j){var l=function(n){var k=new Date;
|
||||||
|
k.setDate(k.getDate()+n);return k},o=function(n){try{return a.datepicker.parseDate(a.datepicker._get(b,"dateFormat"),n,a.datepicker._getFormatConfig(b))}catch(k){}var m=(n.toLowerCase().match(/^c/)?a.datepicker._getDate(b):null)||new Date,p=m.getFullYear(),q=m.getMonth();m=m.getDate();for(var s=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,r=s.exec(n);r;){switch(r[2]||"d"){case "d":case "D":m+=parseInt(r[1],10);break;case "w":case "W":m+=parseInt(r[1],10)*7;break;case "m":case "M":q+=parseInt(r[1],10);m=
|
||||||
|
Math.min(m,a.datepicker._getDaysInMonth(p,q));break;case "y":case "Y":p+=parseInt(r[1],10);m=Math.min(m,a.datepicker._getDaysInMonth(p,q));break}r=s.exec(n)}return new Date(p,q,m)};if(f=(f=f==null||f===""?j:typeof f=="string"?o(f):typeof f=="number"?isNaN(f)?j:l(f):new Date(f.getTime()))&&f.toString()=="Invalid Date"?j:f){f.setHours(0);f.setMinutes(0);f.setSeconds(0);f.setMilliseconds(0)}return this._daylightSavingAdjust(f)},_daylightSavingAdjust:function(b){if(!b)return null;b.setHours(b.getHours()>
|
||||||
|
12?b.getHours()+2:0);return b},_setDate:function(b,f,j){var l=!f,o=b.selectedMonth,n=b.selectedYear;f=this._restrictMinMax(b,this._determineDate(b,f,new Date));b.selectedDay=b.currentDay=f.getDate();b.drawMonth=b.selectedMonth=b.currentMonth=f.getMonth();b.drawYear=b.selectedYear=b.currentYear=f.getFullYear();if((o!=b.selectedMonth||n!=b.selectedYear)&&!j)this._notifyChange(b);this._adjustInstDate(b);if(b.input)b.input.val(l?"":this._formatDate(b))},_getDate:function(b){return!b.currentYear||b.input&&
|
||||||
|
b.input.val()==""?null:this._daylightSavingAdjust(new Date(b.currentYear,b.currentMonth,b.currentDay))},_generateHTML:function(b){var f=new Date;f=this._daylightSavingAdjust(new Date(f.getFullYear(),f.getMonth(),f.getDate()));var j=this._get(b,"isRTL"),l=this._get(b,"showButtonPanel"),o=this._get(b,"hideIfNoPrevNext"),n=this._get(b,"navigationAsDateFormat"),k=this._getNumberOfMonths(b),m=this._get(b,"showCurrentAtPos"),p=this._get(b,"stepMonths"),q=k[0]!=1||k[1]!=1,s=this._daylightSavingAdjust(!b.currentDay?
|
||||||
|
new Date(9999,9,9):new Date(b.currentYear,b.currentMonth,b.currentDay)),r=this._getMinMaxDate(b,"min"),u=this._getMinMaxDate(b,"max");m=b.drawMonth-m;var v=b.drawYear;if(m<0){m+=12;v--}if(u){var w=this._daylightSavingAdjust(new Date(u.getFullYear(),u.getMonth()-k[0]*k[1]+1,u.getDate()));for(w=r&&w<r?r:w;this._daylightSavingAdjust(new Date(v,m,1))>w;){m--;if(m<0){m=11;v--}}}b.drawMonth=m;b.drawYear=v;w=this._get(b,"prevText");w=!n?w:this.formatDate(w,this._daylightSavingAdjust(new Date(v,m-p,1)),this._getFormatConfig(b));
|
||||||
|
w=this._canAdjustMonth(b,-1,v,m)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+g+".datepicker._adjustDate('#"+b.id+"', -"+p+", 'M');\" title=\""+w+'"><span class="ui-icon ui-icon-circle-triangle-'+(j?"e":"w")+'">'+w+"</span></a>":o?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+w+'"><span class="ui-icon ui-icon-circle-triangle-'+(j?"e":"w")+'">'+w+"</span></a>";var x=this._get(b,"nextText");x=!n?x:this.formatDate(x,this._daylightSavingAdjust(new Date(v,
|
||||||
|
m+p,1)),this._getFormatConfig(b));o=this._canAdjustMonth(b,+1,v,m)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+g+".datepicker._adjustDate('#"+b.id+"', +"+p+", 'M');\" title=\""+x+'"><span class="ui-icon ui-icon-circle-triangle-'+(j?"w":"e")+'">'+x+"</span></a>":o?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+x+'"><span class="ui-icon ui-icon-circle-triangle-'+(j?"w":"e")+'">'+x+"</span></a>";p=this._get(b,"currentText");x=this._get(b,"gotoCurrent")&&
|
||||||
|
b.currentDay?s:f;p=!n?p:this.formatDate(p,x,this._getFormatConfig(b));n=!b.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+g+'.datepicker._hideDatepicker();">'+this._get(b,"closeText")+"</button>":"";l=l?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(j?n:"")+(this._isInRange(b,x)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+
|
||||||
|
g+".datepicker._gotoToday('#"+b.id+"');\">"+p+"</button>":"")+(j?"":n)+"</div>":"";n=parseInt(this._get(b,"firstDay"),10);n=isNaN(n)?0:n;p=this._get(b,"showWeek");x=this._get(b,"dayNames");this._get(b,"dayNamesShort");var y=this._get(b,"dayNamesMin"),H=this._get(b,"monthNames"),C=this._get(b,"monthNamesShort"),z=this._get(b,"beforeShowDay"),I=this._get(b,"showOtherMonths"),N=this._get(b,"selectOtherMonths");this._get(b,"calculateWeek");for(var J=this._getDefaultDate(b),D="",E=0;E<k[0];E++){var P=
|
||||||
|
"";this.maxRows=4;for(var L=0;L<k[1];L++){var Q=this._daylightSavingAdjust(new Date(v,m,b.selectedDay)),B=" ui-corner-all",F="";if(q){F+='<div class="ui-datepicker-group';if(k[1]>1)switch(L){case 0:F+=" ui-datepicker-group-first";B=" ui-corner-"+(j?"right":"left");break;case k[1]-1:F+=" ui-datepicker-group-last";B=" ui-corner-"+(j?"left":"right");break;default:F+=" ui-datepicker-group-middle";B="";break}F+='">'}F+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+B+'">'+(/all|left/.test(B)&&
|
||||||
|
E==0?j?o:w:"")+(/all|right/.test(B)&&E==0?j?w:o:"")+this._generateMonthYearHeader(b,m,v,r,u,E>0||L>0,H,C)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var G=p?'<th class="ui-datepicker-week-col">'+this._get(b,"weekHeader")+"</th>":"";for(B=0;B<7;B++){var A=(B+n)%7;G+="<th"+((B+n+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+x[A]+'">'+y[A]+"</span></th>"}F+=G+"</tr></thead><tbody>";G=this._getDaysInMonth(v,m);if(v==b.selectedYear&&m==b.selectedMonth)b.selectedDay=Math.min(b.selectedDay,
|
||||||
|
G);B=(this._getFirstDayOfMonth(v,m)-n+7)%7;G=Math.ceil((B+G)/7);this.maxRows=G=q?this.maxRows>G?this.maxRows:G:G;A=this._daylightSavingAdjust(new Date(v,m,1-B));for(var R=0;R<G;R++){F+="<tr>";var S=!p?"":'<td class="ui-datepicker-week-col">'+this._get(b,"calculateWeek")(A)+"</td>";for(B=0;B<7;B++){var M=z?z.apply(b.input?b.input[0]:null,[A]):[true,""],K=A.getMonth()!=m,O=K&&!N||!M[0]||r&&A<r||u&&A>u;S+='<td class="'+((B+n+6)%7>=5?" ui-datepicker-week-end":"")+(K?" ui-datepicker-other-month":"")+(A.getTime()==
|
||||||
|
Q.getTime()&&m==b.selectedMonth&&b._keyEvent||J.getTime()==A.getTime()&&J.getTime()==Q.getTime()?" "+this._dayOverClass:"")+(O?" "+this._unselectableClass+" ui-state-disabled":"")+(K&&!I?"":" "+M[1]+(A.getTime()==s.getTime()?" "+this._currentClass:"")+(A.getTime()==f.getTime()?" ui-datepicker-today":""))+'"'+((!K||I)&&M[2]?' title="'+M[2]+'"':"")+(O?"":' onclick="DP_jQuery_'+g+".datepicker._selectDay('#"+b.id+"',"+A.getMonth()+","+A.getFullYear()+', this);return false;"')+">"+(K&&!I?" ":O?'<span class="ui-state-default">'+
|
||||||
|
A.getDate()+"</span>":'<a class="ui-state-default'+(A.getTime()==f.getTime()?" ui-state-highlight":"")+(A.getTime()==s.getTime()?" ui-state-active":"")+(K?" ui-priority-secondary":"")+'" href="#">'+A.getDate()+"</a>")+"</td>";A.setDate(A.getDate()+1);A=this._daylightSavingAdjust(A)}F+=S+"</tr>"}m++;if(m>11){m=0;v++}F+="</tbody></table>"+(q?"</div>"+(k[0]>0&&L==k[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");P+=F}D+=P}D+=l+(a.browser.msie&&parseInt(a.browser.version,10)<7&&!b.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':
|
||||||
|
"");b._keyEvent=false;return D},_generateMonthYearHeader:function(b,f,j,l,o,n,k,m){var p=this._get(b,"changeMonth"),q=this._get(b,"changeYear"),s=this._get(b,"showMonthAfterYear"),r='<div class="ui-datepicker-title">',u="";if(n||!p)u+='<span class="ui-datepicker-month">'+k[f]+"</span>";else{k=l&&l.getFullYear()==j;var v=o&&o.getFullYear()==j;u+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+g+".datepicker._selectMonthYear('#"+b.id+"', this, 'M');\" >";for(var w=0;w<12;w++)if((!k||w>=l.getMonth())&&
|
||||||
|
(!v||w<=o.getMonth()))u+='<option value="'+w+'"'+(w==f?' selected="selected"':"")+">"+m[w]+"</option>";u+="</select>"}s||(r+=u+(n||!(p&&q)?" ":""));if(!b.yearshtml){b.yearshtml="";if(n||!q)r+='<span class="ui-datepicker-year">'+j+"</span>";else{m=this._get(b,"yearRange").split(":");var x=(new Date).getFullYear();k=function(y){y=y.match(/c[+-].*/)?j+parseInt(y.substring(1),10):y.match(/[+-].*/)?x+parseInt(y,10):parseInt(y,10);return isNaN(y)?x:y};f=k(m[0]);m=Math.max(f,k(m[1]||""));f=l?Math.max(f,
|
||||||
|
l.getFullYear()):f;m=o?Math.min(m,o.getFullYear()):m;for(b.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+g+".datepicker._selectMonthYear('#"+b.id+"', this, 'Y');\" >";f<=m;f++)b.yearshtml+='<option value="'+f+'"'+(f==j?' selected="selected"':"")+">"+f+"</option>";b.yearshtml+="</select>";r+=b.yearshtml;b.yearshtml=null}}r+=this._get(b,"yearSuffix");if(s)r+=(n||!(p&&q)?" ":"")+u;r+="</div>";return r},_adjustInstDate:function(b,f,j){var l=b.drawYear+(j=="Y"?f:0),o=b.drawMonth+
|
||||||
|
(j=="M"?f:0);f=Math.min(b.selectedDay,this._getDaysInMonth(l,o))+(j=="D"?f:0);l=this._restrictMinMax(b,this._daylightSavingAdjust(new Date(l,o,f)));b.selectedDay=l.getDate();b.drawMonth=b.selectedMonth=l.getMonth();b.drawYear=b.selectedYear=l.getFullYear();if(j=="M"||j=="Y")this._notifyChange(b)},_restrictMinMax:function(b,f){var j=this._getMinMaxDate(b,"min");b=this._getMinMaxDate(b,"max");f=j&&f<j?j:f;return f=b&&f>b?b:f},_notifyChange:function(b){var f=this._get(b,"onChangeMonthYear");if(f)f.apply(b.input?
|
||||||
|
b.input[0]:null,[b.selectedYear,b.selectedMonth+1,b])},_getNumberOfMonths:function(b){b=this._get(b,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_getMinMaxDate:function(b,f){return this._determineDate(b,this._get(b,f+"Date"),null)},_getDaysInMonth:function(b,f){return 32-this._daylightSavingAdjust(new Date(b,f,32)).getDate()},_getFirstDayOfMonth:function(b,f){return(new Date(b,f,1)).getDay()},_canAdjustMonth:function(b,f,j,l){var o=this._getNumberOfMonths(b);j=this._daylightSavingAdjust(new Date(j,
|
||||||
|
l+(f<0?f:o[0]*o[1]),1));f<0&&j.setDate(this._getDaysInMonth(j.getFullYear(),j.getMonth()));return this._isInRange(b,j)},_isInRange:function(b,f){var j=this._getMinMaxDate(b,"min");b=this._getMinMaxDate(b,"max");return(!j||f.getTime()>=j.getTime())&&(!b||f.getTime()<=b.getTime())},_getFormatConfig:function(b){var f=this._get(b,"shortYearCutoff");f=typeof f!="string"?f:(new Date).getFullYear()%100+parseInt(f,10);return{shortYearCutoff:f,dayNamesShort:this._get(b,"dayNamesShort"),dayNames:this._get(b,
|
||||||
|
"dayNames"),monthNamesShort:this._get(b,"monthNamesShort"),monthNames:this._get(b,"monthNames")}},_formatDate:function(b,f,j,l){if(!f){b.currentDay=b.selectedDay;b.currentMonth=b.selectedMonth;b.currentYear=b.selectedYear}f=f?typeof f=="object"?f:this._daylightSavingAdjust(new Date(l,j,f)):this._daylightSavingAdjust(new Date(b.currentYear,b.currentMonth,b.currentDay));return this.formatDate(this._get(b,"dateFormat"),f,this._getFormatConfig(b))}});a.fn.datepicker=function(b){if(!this.length)return this;
|
||||||
|
if(!a.datepicker.initialized){a(document).mousedown(a.datepicker._checkExternalClick).find("body").append(a.datepicker.dpDiv);a.datepicker.initialized=true}var f=Array.prototype.slice.call(arguments,1);if(typeof b=="string"&&(b=="isDisabled"||b=="getDate"||b=="widget"))return a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(f));if(b=="option"&&arguments.length==2&&typeof arguments[1]=="string")return a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(f));return this.each(function(){typeof b==
|
||||||
|
"string"?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this].concat(f)):a.datepicker._attachDatepicker(this,b)})};a.datepicker=new c;a.datepicker.initialized=false;a.datepicker.uuid=(new Date).getTime();a.datepicker.version="1.8.16";window["DP_jQuery_"+g]=a})(jQuery);
|
||||||
|
(function(a,d){var c={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},e={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},h=a.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};a.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,
|
||||||
|
position:{my:"center",at:"center",collision:"fit",using:function(g){var i=a(this).css(g).offset().top;i<0&&a(this).css("top",g.top-i)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var g=this,i=g.options,b=i.title||" ",f=a.ui.dialog.getTitleId(g.element),j=(g.uiDialog=a("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+
|
||||||
|
i.dialogClass).css({zIndex:i.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(n){if(i.closeOnEscape&&!n.isDefaultPrevented()&&n.keyCode&&n.keyCode===a.ui.keyCode.ESCAPE){g.close(n);n.preventDefault()}}).attr({role:"dialog","aria-labelledby":f}).mousedown(function(n){g.moveToTop(false,n)});g.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(j);var l=(g.uiDialogTitlebar=a("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(j),
|
||||||
|
o=a('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){o.addClass("ui-state-hover")},function(){o.removeClass("ui-state-hover")}).focus(function(){o.addClass("ui-state-focus")}).blur(function(){o.removeClass("ui-state-focus")}).click(function(n){g.close(n);return false}).appendTo(l);(g.uiDialogTitlebarCloseText=a("<span></span>")).addClass("ui-icon ui-icon-closethick").text(i.closeText).appendTo(o);a("<span></span>").addClass("ui-dialog-title").attr("id",
|
||||||
|
f).html(b).prependTo(l);if(a.isFunction(i.beforeclose)&&!a.isFunction(i.beforeClose))i.beforeClose=i.beforeclose;l.find("*").add(l).disableSelection();i.draggable&&a.fn.draggable&&g._makeDraggable();i.resizable&&a.fn.resizable&&g._makeResizable();g._createButtons(i.buttons);g._isOpen=false;a.fn.bgiframe&&j.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var g=this;g.overlay&&g.overlay.destroy();g.uiDialog.hide();g.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");
|
||||||
|
g.uiDialog.remove();g.originalTitle&&g.element.attr("title",g.originalTitle);return g},widget:function(){return this.uiDialog},close:function(g){var i=this,b,f;if(false!==i._trigger("beforeClose",g)){i.overlay&&i.overlay.destroy();i.uiDialog.unbind("keypress.ui-dialog");i._isOpen=false;if(i.options.hide)i.uiDialog.hide(i.options.hide,function(){i._trigger("close",g)});else{i.uiDialog.hide();i._trigger("close",g)}a.ui.dialog.overlay.resize();if(i.options.modal){b=0;a(".ui-dialog").each(function(){if(this!==
|
||||||
|
i.uiDialog[0]){f=a(this).css("z-index");isNaN(f)||(b=Math.max(b,f))}});a.ui.dialog.maxZ=b}return i}},isOpen:function(){return this._isOpen},moveToTop:function(g,i){var b=this,f=b.options;if(f.modal&&!g||!f.stack&&!f.modal)return b._trigger("focus",i);if(f.zIndex>a.ui.dialog.maxZ)a.ui.dialog.maxZ=f.zIndex;if(b.overlay){a.ui.dialog.maxZ+=1;b.overlay.$el.css("z-index",a.ui.dialog.overlay.maxZ=a.ui.dialog.maxZ)}g={scrollTop:b.element.scrollTop(),scrollLeft:b.element.scrollLeft()};a.ui.dialog.maxZ+=1;
|
||||||
|
b.uiDialog.css("z-index",a.ui.dialog.maxZ);b.element.attr(g);b._trigger("focus",i);return b},open:function(){if(!this._isOpen){var g=this,i=g.options,b=g.uiDialog;g.overlay=i.modal?new a.ui.dialog.overlay(g):null;g._size();g._position(i.position);b.show(i.show);g.moveToTop(true);i.modal&&b.bind("keypress.ui-dialog",function(f){if(f.keyCode===a.ui.keyCode.TAB){var j=a(":tabbable",this),l=j.filter(":first");j=j.filter(":last");if(f.target===j[0]&&!f.shiftKey){l.focus(1);return false}else if(f.target===
|
||||||
|
l[0]&&f.shiftKey){j.focus(1);return false}}});a(g.element.find(":tabbable").get().concat(b.find(".ui-dialog-buttonpane :tabbable").get().concat(b.get()))).eq(0).focus();g._isOpen=true;g._trigger("open");return g}},_createButtons:function(g){var i=this,b=false,f=a("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),j=a("<div></div>").addClass("ui-dialog-buttonset").appendTo(f);i.uiDialog.find(".ui-dialog-buttonpane").remove();typeof g==="object"&&g!==null&&a.each(g,
|
||||||
|
function(){return!(b=true)});if(b){a.each(g,function(l,o){o=a.isFunction(o)?{click:o,text:l}:o;var n=a('<button type="button"></button>').click(function(){o.click.apply(i.element[0],arguments)}).appendTo(j);a.each(o,function(k,m){if(k!=="click")k in h?n[k](m):n.attr(k,m)});a.fn.button&&n.button()});f.appendTo(i.uiDialog)}},_makeDraggable:function(){function g(l){return{position:l.position,offset:l.offset}}var i=this,b=i.options,f=a(document),j;i.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",
|
||||||
|
handle:".ui-dialog-titlebar",containment:"document",start:function(l,o){j=b.height==="auto"?"auto":a(this).height();a(this).height(a(this).height()).addClass("ui-dialog-dragging");i._trigger("dragStart",l,g(o))},drag:function(l,o){i._trigger("drag",l,g(o))},stop:function(l,o){b.position=[o.position.left-f.scrollLeft(),o.position.top-f.scrollTop()];a(this).removeClass("ui-dialog-dragging").height(j);i._trigger("dragStop",l,g(o));a.ui.dialog.overlay.resize()}})},_makeResizable:function(g){function i(l){return{originalPosition:l.originalPosition,
|
||||||
|
originalSize:l.originalSize,position:l.position,size:l.size}}g=g===d?this.options.resizable:g;var b=this,f=b.options,j=b.uiDialog.css("position");g=typeof g==="string"?g:"n,e,s,w,se,sw,ne,nw";b.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:b.element,maxWidth:f.maxWidth,maxHeight:f.maxHeight,minWidth:f.minWidth,minHeight:b._minHeight(),handles:g,start:function(l,o){a(this).addClass("ui-dialog-resizing");b._trigger("resizeStart",l,i(o))},resize:function(l,o){b._trigger("resize",
|
||||||
|
l,i(o))},stop:function(l,o){a(this).removeClass("ui-dialog-resizing");f.height=a(this).height();f.width=a(this).width();b._trigger("resizeStop",l,i(o));a.ui.dialog.overlay.resize()}}).css("position",j).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var g=this.options;return g.height==="auto"?g.minHeight:Math.min(g.minHeight,g.height)},_position:function(g){var i=[],b=[0,0],f;if(g){if(typeof g==="string"||typeof g==="object"&&"0"in g){i=g.split?g.split(" "):
|
||||||
|
[g[0],g[1]];if(i.length===1)i[1]=i[0];a.each(["left","top"],function(j,l){if(+i[j]===i[j]){b[j]=i[j];i[j]=l}});g={my:i.join(" "),at:i.join(" "),offset:b.join(" ")}}g=a.extend({},a.ui.dialog.prototype.options.position,g)}else g=a.ui.dialog.prototype.options.position;(f=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(a.extend({of:window},g));f||this.uiDialog.hide()},_setOptions:function(g){var i=this,b={},f=false;a.each(g,function(j,l){i._setOption(j,l);
|
||||||
|
if(j in c)f=true;if(j in e)b[j]=l});f&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",b)},_setOption:function(g,i){var b=this,f=b.uiDialog;switch(g){case "beforeclose":g="beforeClose";break;case "buttons":b._createButtons(i);break;case "closeText":b.uiDialogTitlebarCloseText.text(""+i);break;case "dialogClass":f.removeClass(b.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+i);break;case "disabled":i?f.addClass("ui-dialog-disabled"):
|
||||||
|
f.removeClass("ui-dialog-disabled");break;case "draggable":var j=f.is(":data(draggable)");j&&!i&&f.draggable("destroy");!j&&i&&b._makeDraggable();break;case "position":b._position(i);break;case "resizable":(j=f.is(":data(resizable)"))&&!i&&f.resizable("destroy");j&&typeof i==="string"&&f.resizable("option","handles",i);!j&&i!==false&&b._makeResizable(i);break;case "title":a(".ui-dialog-title",b.uiDialogTitlebar).html(""+(i||" "));break}a.Widget.prototype._setOption.apply(b,arguments)},_size:function(){var g=
|
||||||
|
this.options,i,b,f=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(g.minWidth>g.width)g.width=g.minWidth;i=this.uiDialog.css({height:"auto",width:g.width}).height();b=Math.max(0,g.minHeight-i);if(g.height==="auto")if(a.support.minHeight)this.element.css({minHeight:b,height:"auto"});else{this.uiDialog.show();g=this.element.css("height","auto").height();f||this.uiDialog.hide();this.element.height(Math.max(g,b))}else this.element.height(Math.max(g.height-
|
||||||
|
i,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});a.extend(a.ui.dialog,{version:"1.8.16",uuid:0,maxZ:0,getTitleId:function(g){g=g.attr("id");if(!g){this.uuid+=1;g=this.uuid}return"ui-dialog-title-"+g},overlay:function(g){this.$el=a.ui.dialog.overlay.create(g)}});a.extend(a.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(g){return g+".dialog-overlay"}).join(" "),
|
||||||
|
create:function(g){if(this.instances.length===0){setTimeout(function(){a.ui.dialog.overlay.instances.length&&a(document).bind(a.ui.dialog.overlay.events,function(b){if(a(b.target).zIndex()<a.ui.dialog.overlay.maxZ)return false})},1);a(document).bind("keydown.dialog-overlay",function(b){if(g.options.closeOnEscape&&!b.isDefaultPrevented()&&b.keyCode&&b.keyCode===a.ui.keyCode.ESCAPE){g.close(b);b.preventDefault()}});a(window).bind("resize.dialog-overlay",a.ui.dialog.overlay.resize)}var i=(this.oldInstances.pop()||
|
||||||
|
a("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});a.fn.bgiframe&&i.bgiframe();this.instances.push(i);return i},destroy:function(g){var i=a.inArray(g,this.instances);i!=-1&&this.oldInstances.push(this.instances.splice(i,1)[0]);this.instances.length===0&&a([document,window]).unbind(".dialog-overlay");g.remove();var b=0;a.each(this.instances,function(){b=Math.max(b,this.css("z-index"))});this.maxZ=b},height:function(){var g,i;if(a.browser.msie&&
|
||||||
|
a.browser.version<7){g=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);i=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return g<i?a(window).height()+"px":g+"px"}else return a(document).height()+"px"},width:function(){var g,i;if(a.browser.msie){g=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);i=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return g<i?a(window).width()+"px":g+"px"}else return a(document).width()+
|
||||||
|
"px"},resize:function(){var g=a([]);a.each(a.ui.dialog.overlay.instances,function(){g=g.add(this)});g.css({width:0,height:0}).css({width:a.ui.dialog.overlay.width(),height:a.ui.dialog.overlay.height()})}});a.extend(a.ui.dialog.overlay.prototype,{destroy:function(){a.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);
|
||||||
|
(function(a){a.ui=a.ui||{};var d=/left|center|right/,c=/top|center|bottom/,e=a.fn.position,h=a.fn.offset;a.fn.position=function(g){if(!g||!g.of)return e.apply(this,arguments);g=a.extend({},g);var i=a(g.of),b=i[0],f=(g.collision||"flip").split(" "),j=g.offset?g.offset.split(" "):[0,0],l,o,n;if(b.nodeType===9){l=i.width();o=i.height();n={top:0,left:0}}else if(b.setTimeout){l=i.width();o=i.height();n={top:i.scrollTop(),left:i.scrollLeft()}}else if(b.preventDefault){g.at="left top";l=o=0;n={top:g.of.pageY,
|
||||||
|
left:g.of.pageX}}else{l=i.outerWidth();o=i.outerHeight();n=i.offset()}a.each(["my","at"],function(){var k=(g[this]||"").split(" ");if(k.length===1)k=d.test(k[0])?k.concat(["center"]):c.test(k[0])?["center"].concat(k):["center","center"];k[0]=d.test(k[0])?k[0]:"center";k[1]=c.test(k[1])?k[1]:"center";g[this]=k});if(f.length===1)f[1]=f[0];j[0]=parseInt(j[0],10)||0;if(j.length===1)j[1]=j[0];j[1]=parseInt(j[1],10)||0;if(g.at[0]==="right")n.left+=l;else if(g.at[0]==="center")n.left+=l/2;if(g.at[1]==="bottom")n.top+=
|
||||||
|
o;else if(g.at[1]==="center")n.top+=o/2;n.left+=j[0];n.top+=j[1];return this.each(function(){var k=a(this),m=k.outerWidth(),p=k.outerHeight(),q=parseInt(a.curCSS(this,"marginLeft",true))||0,s=parseInt(a.curCSS(this,"marginTop",true))||0,r=m+q+(parseInt(a.curCSS(this,"marginRight",true))||0),u=p+s+(parseInt(a.curCSS(this,"marginBottom",true))||0),v=a.extend({},n),w;if(g.my[0]==="right")v.left-=m;else if(g.my[0]==="center")v.left-=m/2;if(g.my[1]==="bottom")v.top-=p;else if(g.my[1]==="center")v.top-=
|
||||||
|
p/2;v.left=Math.round(v.left);v.top=Math.round(v.top);w={left:v.left-q,top:v.top-s};a.each(["left","top"],function(x,y){a.ui.position[f[x]]&&a.ui.position[f[x]][y](v,{targetWidth:l,targetHeight:o,elemWidth:m,elemHeight:p,collisionPosition:w,collisionWidth:r,collisionHeight:u,offset:j,my:g.my,at:g.at})});a.fn.bgiframe&&k.bgiframe();k.offset(a.extend(v,{using:g.using}))})};a.ui.position={fit:{left:function(g,i){var b=a(window);b=i.collisionPosition.left+i.collisionWidth-b.width()-b.scrollLeft();g.left=
|
||||||
|
b>0?g.left-b:Math.max(g.left-i.collisionPosition.left,g.left)},top:function(g,i){var b=a(window);b=i.collisionPosition.top+i.collisionHeight-b.height()-b.scrollTop();g.top=b>0?g.top-b:Math.max(g.top-i.collisionPosition.top,g.top)}},flip:{left:function(g,i){if(i.at[0]!=="center"){var b=a(window);b=i.collisionPosition.left+i.collisionWidth-b.width()-b.scrollLeft();var f=i.my[0]==="left"?-i.elemWidth:i.my[0]==="right"?i.elemWidth:0,j=i.at[0]==="left"?i.targetWidth:-i.targetWidth,l=-2*i.offset[0];g.left+=
|
||||||
|
i.collisionPosition.left<0?f+j+l:b>0?f+j+l:0}},top:function(g,i){if(i.at[1]!=="center"){var b=a(window);b=i.collisionPosition.top+i.collisionHeight-b.height()-b.scrollTop();var f=i.my[1]==="top"?-i.elemHeight:i.my[1]==="bottom"?i.elemHeight:0,j=i.at[1]==="top"?i.targetHeight:-i.targetHeight,l=-2*i.offset[1];g.top+=i.collisionPosition.top<0?f+j+l:b>0?f+j+l:0}}}};if(!a.offset.setOffset){a.offset.setOffset=function(g,i){if(/static/.test(a.curCSS(g,"position")))g.style.position="relative";var b=a(g),
|
||||||
|
f=b.offset(),j=parseInt(a.curCSS(g,"top",true),10)||0,l=parseInt(a.curCSS(g,"left",true),10)||0;f={top:i.top-f.top+j,left:i.left-f.left+l};"using"in i?i.using.call(g,f):b.css(f)};a.fn.offset=function(g){var i=this[0];if(!i||!i.ownerDocument)return null;if(g)return this.each(function(){a.offset.setOffset(this,g)});return h.call(this)}}})(jQuery);
|
||||||
|
(function(a,d){a.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=a("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
|
||||||
|
this.valueDiv.remove();a.Widget.prototype.destroy.apply(this,arguments)},value:function(c){if(c===d)return this._value();this._setOption("value",c);return this},_setOption:function(c,e){if(c==="value"){this.options.value=e;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}a.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var c=this.options.value;if(typeof c!=="number")c=0;return Math.min(this.options.max,Math.max(this.min,c))},_percentage:function(){return 100*
|
||||||
|
this._value()/this.options.max},_refreshValue:function(){var c=this.value(),e=this._percentage();if(this.oldValue!==c){this.oldValue=c;this._trigger("change")}this.valueDiv.toggle(c>this.min).toggleClass("ui-corner-right",c===this.options.max).width(e.toFixed(0)+"%");this.element.attr("aria-valuenow",c)}});a.extend(a.ui.progressbar,{version:"1.8.16"})})(jQuery);
|
||||||
|
(function(a){a.widget("ui.slider",a.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var d=this,c=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),h=c.values&&c.values.length||1,g=[];this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+
|
||||||
|
this.orientation+" ui-widget ui-widget-content ui-corner-all"+(c.disabled?" ui-slider-disabled ui-disabled":""));this.range=a([]);if(c.range){if(c.range===true){if(!c.values)c.values=[this._valueMin(),this._valueMin()];if(c.values.length&&c.values.length!==2)c.values=[c.values[0],c.values[0]]}this.range=a("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(c.range==="min"||c.range==="max"?" ui-slider-range-"+c.range:""))}for(var i=e.length;i<h;i+=1)g.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>");
|
||||||
|
this.handles=e.add(a(g.join("")).appendTo(d.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(b){b.preventDefault()}).hover(function(){c.disabled||a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")}).focus(function(){if(c.disabled)a(this).blur();else{a(".ui-slider .ui-state-focus").removeClass("ui-state-focus");a(this).addClass("ui-state-focus")}}).blur(function(){a(this).removeClass("ui-state-focus")});this.handles.each(function(b){a(this).data("index.ui-slider-handle",
|
||||||
|
b)});this.handles.keydown(function(b){var f=true,j=a(this).data("index.ui-slider-handle"),l,o,n;if(!d.options.disabled){switch(b.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:f=false;if(!d._keySliding){d._keySliding=true;a(this).addClass("ui-state-active");l=d._start(b,j);if(l===false)return}break}n=d.options.step;l=d.options.values&&d.options.values.length?
|
||||||
|
(o=d.values(j)):(o=d.value());switch(b.keyCode){case a.ui.keyCode.HOME:o=d._valueMin();break;case a.ui.keyCode.END:o=d._valueMax();break;case a.ui.keyCode.PAGE_UP:o=d._trimAlignValue(l+(d._valueMax()-d._valueMin())/5);break;case a.ui.keyCode.PAGE_DOWN:o=d._trimAlignValue(l-(d._valueMax()-d._valueMin())/5);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(l===d._valueMax())return;o=d._trimAlignValue(l+n);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(l===d._valueMin())return;o=d._trimAlignValue(l-
|
||||||
|
n);break}d._slide(b,j,o);return f}}).keyup(function(b){var f=a(this).data("index.ui-slider-handle");if(d._keySliding){d._keySliding=false;d._stop(b,f);d._change(b,f);a(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy();
|
||||||
|
return this},_mouseCapture:function(d){var c=this.options,e,h,g,i,b;if(c.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();e=this._normValueFromMouse({x:d.pageX,y:d.pageY});h=this._valueMax()-this._valueMin()+1;i=this;this.handles.each(function(f){var j=Math.abs(e-i.values(f));if(h>j){h=j;g=a(this);b=f}});if(c.range===true&&this.values(1)===c.min){b+=1;g=a(this.handles[b])}if(this._start(d,b)===false)return false;
|
||||||
|
this._mouseSliding=true;i._handleIndex=b;g.addClass("ui-state-active").focus();c=g.offset();this._clickOffset=!a(d.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:d.pageX-c.left-g.width()/2,top:d.pageY-c.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(d,b,e);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(d){var c=
|
||||||
|
this._normValueFromMouse({x:d.pageX,y:d.pageY});this._slide(d,this._handleIndex,c);return false},_mouseStop:function(d){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(d,this._handleIndex);this._change(d,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(d){var c;if(this.orientation==="horizontal"){c=
|
||||||
|
this.elementSize.width;d=d.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{c=this.elementSize.height;d=d.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}c=d/c;if(c>1)c=1;if(c<0)c=0;if(this.orientation==="vertical")c=1-c;d=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+c*d)},_start:function(d,c){var e={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){e.value=this.values(c);
|
||||||
|
e.values=this.values()}return this._trigger("start",d,e)},_slide:function(d,c,e){var h;if(this.options.values&&this.options.values.length){h=this.values(c?0:1);if(this.options.values.length===2&&this.options.range===true&&(c===0&&e>h||c===1&&e<h))e=h;if(e!==this.values(c)){h=this.values();h[c]=e;d=this._trigger("slide",d,{handle:this.handles[c],value:e,values:h});this.values(c?0:1);d!==false&&this.values(c,e,true)}}else if(e!==this.value()){d=this._trigger("slide",d,{handle:this.handles[c],value:e});
|
||||||
|
d!==false&&this.value(e)}},_stop:function(d,c){var e={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){e.value=this.values(c);e.values=this.values()}this._trigger("stop",d,e)},_change:function(d,c){if(!this._keySliding&&!this._mouseSliding){var e={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){e.value=this.values(c);e.values=this.values()}this._trigger("change",d,e)}},value:function(d){if(arguments.length){this.options.value=
|
||||||
|
this._trimAlignValue(d);this._refreshValue();this._change(null,0)}else return this._value()},values:function(d,c){var e,h,g;if(arguments.length>1){this.options.values[d]=this._trimAlignValue(c);this._refreshValue();this._change(null,d)}else if(arguments.length)if(a.isArray(arguments[0])){e=this.options.values;h=arguments[0];for(g=0;g<e.length;g+=1){e[g]=this._trimAlignValue(h[g]);this._change(null,g)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(d):
|
||||||
|
this.value();else return this._values()},_setOption:function(d,c){var e,h=0;if(a.isArray(this.options.values))h=this.options.values.length;a.Widget.prototype._setOption.apply(this,arguments);switch(d){case "disabled":if(c){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.propAttr("disabled",true);this.element.addClass("ui-disabled")}else{this.handles.propAttr("disabled",false);this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();
|
||||||
|
this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(e=0;e<h;e+=1)this._change(null,e);this._animateOff=false;break}},_value:function(){var d=this.options.value;return d=this._trimAlignValue(d)},_values:function(d){var c,e;if(arguments.length){c=this.options.values[d];
|
||||||
|
return c=this._trimAlignValue(c)}else{c=this.options.values.slice();for(e=0;e<c.length;e+=1)c[e]=this._trimAlignValue(c[e]);return c}},_trimAlignValue:function(d){if(d<=this._valueMin())return this._valueMin();if(d>=this._valueMax())return this._valueMax();var c=this.options.step>0?this.options.step:1,e=(d-this._valueMin())%c;d=d-e;if(Math.abs(e)*2>=c)d+=e>0?c:-c;return parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var d=
|
||||||
|
this.options.range,c=this.options,e=this,h=!this._animateOff?c.animate:false,g,i={},b,f,j,l;if(this.options.values&&this.options.values.length)this.handles.each(function(o){g=(e.values(o)-e._valueMin())/(e._valueMax()-e._valueMin())*100;i[e.orientation==="horizontal"?"left":"bottom"]=g+"%";a(this).stop(1,1)[h?"animate":"css"](i,c.animate);if(e.options.range===true)if(e.orientation==="horizontal"){if(o===0)e.range.stop(1,1)[h?"animate":"css"]({left:g+"%"},c.animate);if(o===1)e.range[h?"animate":"css"]({width:g-
|
||||||
|
b+"%"},{queue:false,duration:c.animate})}else{if(o===0)e.range.stop(1,1)[h?"animate":"css"]({bottom:g+"%"},c.animate);if(o===1)e.range[h?"animate":"css"]({height:g-b+"%"},{queue:false,duration:c.animate})}b=g});else{f=this.value();j=this._valueMin();l=this._valueMax();g=l!==j?(f-j)/(l-j)*100:0;i[e.orientation==="horizontal"?"left":"bottom"]=g+"%";this.handle.stop(1,1)[h?"animate":"css"](i,c.animate);if(d==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[h?"animate":"css"]({width:g+"%"},
|
||||||
|
c.animate);if(d==="max"&&this.orientation==="horizontal")this.range[h?"animate":"css"]({width:100-g+"%"},{queue:false,duration:c.animate});if(d==="min"&&this.orientation==="vertical")this.range.stop(1,1)[h?"animate":"css"]({height:g+"%"},c.animate);if(d==="max"&&this.orientation==="vertical")this.range[h?"animate":"css"]({height:100-g+"%"},{queue:false,duration:c.animate})}}});a.extend(a.ui.slider,{version:"1.8.16"})})(jQuery);
|
||||||
|
(function(a,d){function c(){return++h}function e(){return++g}var h=0,g=0;a.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading…</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(true)},_setOption:function(i,b){if(i=="selected")this.options.collapsible&&
|
||||||
|
b==this.options.selected||this.select(b);else{this.options[i]=b;this._tabify()}},_tabId:function(i){return i.title&&i.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+c()},_sanitizeSelector:function(i){return i.replace(/:/g,"\\:")},_cookie:function(){var i=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+e());return a.cookie.apply(null,[i].concat(a.makeArray(arguments)))},_ui:function(i,b){return{tab:i,panel:b,index:this.anchors.index(i)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var i=
|
||||||
|
a(this);i.html(i.data("label.tabs")).removeData("label.tabs")})},_tabify:function(i){function b(r,u){r.css("display","");!a.support.opacity&&u.opacity&&r[0].style.removeAttribute("filter")}var f=this,j=this.options,l=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=a(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return a("a",this)[0]});this.panels=a([]);this.anchors.each(function(r,u){var v=a(u).attr("href"),w=v.split("#")[0],x;if(w&&(w===location.toString().split("#")[0]||
|
||||||
|
(x=a("base")[0])&&w===x.href)){v=u.hash;u.href=v}if(l.test(v))f.panels=f.panels.add(f.element.find(f._sanitizeSelector(v)));else if(v&&v!=="#"){a.data(u,"href.tabs",v);a.data(u,"load.tabs",v.replace(/#.*$/,""));v=f._tabId(u);u.href="#"+v;u=f.element.find("#"+v);if(!u.length){u=a(j.panelTemplate).attr("id",v).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(f.panels[r-1]||f.list);u.data("destroy.tabs",true)}f.panels=f.panels.add(u)}else j.disabled.push(r)});if(i){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
|
||||||
|
this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(j.selected===d){location.hash&&this.anchors.each(function(r,u){if(u.hash==location.hash){j.selected=r;return false}});if(typeof j.selected!=="number"&&j.cookie)j.selected=parseInt(f._cookie(),10);if(typeof j.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)j.selected=
|
||||||
|
this.lis.index(this.lis.filter(".ui-tabs-selected"));j.selected=j.selected||(this.lis.length?0:-1)}else if(j.selected===null)j.selected=-1;j.selected=j.selected>=0&&this.anchors[j.selected]||j.selected<0?j.selected:0;j.disabled=a.unique(j.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(r){return f.lis.index(r)}))).sort();a.inArray(j.selected,j.disabled)!=-1&&j.disabled.splice(a.inArray(j.selected,j.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
|
||||||
|
if(j.selected>=0&&this.anchors.length){f.element.find(f._sanitizeSelector(f.anchors[j.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(j.selected).addClass("ui-tabs-selected ui-state-active");f.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[j.selected],f.element.find(f._sanitizeSelector(f.anchors[j.selected].hash))[0]))});this.load(j.selected)}a(window).bind("unload",function(){f.lis.add(f.anchors).unbind(".tabs");f.lis=f.anchors=f.panels=null})}else j.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));
|
||||||
|
this.element[j.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");j.cookie&&this._cookie(j.selected,j.cookie);i=0;for(var o;o=this.lis[i];i++)a(o)[a.inArray(i,j.disabled)!=-1&&!a(o).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");j.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(j.event!=="mouseover"){var n=function(r,u){u.is(":not(.ui-state-disabled)")&&u.addClass("ui-state-"+r)},k=function(r,u){u.removeClass("ui-state-"+
|
||||||
|
r)};this.lis.bind("mouseover.tabs",function(){n("hover",a(this))});this.lis.bind("mouseout.tabs",function(){k("hover",a(this))});this.anchors.bind("focus.tabs",function(){n("focus",a(this).closest("li"))});this.anchors.bind("blur.tabs",function(){k("focus",a(this).closest("li"))})}var m,p;if(j.fx)if(a.isArray(j.fx)){m=j.fx[0];p=j.fx[1]}else m=p=j.fx;var q=p?function(r,u){a(r).closest("li").addClass("ui-tabs-selected ui-state-active");u.hide().removeClass("ui-tabs-hide").animate(p,p.duration||"normal",
|
||||||
|
function(){b(u,p);f._trigger("show",null,f._ui(r,u[0]))})}:function(r,u){a(r).closest("li").addClass("ui-tabs-selected ui-state-active");u.removeClass("ui-tabs-hide");f._trigger("show",null,f._ui(r,u[0]))},s=m?function(r,u){u.animate(m,m.duration||"normal",function(){f.lis.removeClass("ui-tabs-selected ui-state-active");u.addClass("ui-tabs-hide");b(u,m);f.element.dequeue("tabs")})}:function(r,u){f.lis.removeClass("ui-tabs-selected ui-state-active");u.addClass("ui-tabs-hide");f.element.dequeue("tabs")};
|
||||||
|
this.anchors.bind(j.event+".tabs",function(){var r=this,u=a(r).closest("li"),v=f.panels.filter(":not(.ui-tabs-hide)"),w=f.element.find(f._sanitizeSelector(r.hash));if(u.hasClass("ui-tabs-selected")&&!j.collapsible||u.hasClass("ui-state-disabled")||u.hasClass("ui-state-processing")||f.panels.filter(":animated").length||f._trigger("select",null,f._ui(this,w[0]))===false){this.blur();return false}j.selected=f.anchors.index(this);f.abort();if(j.collapsible)if(u.hasClass("ui-tabs-selected")){j.selected=
|
||||||
|
-1;j.cookie&&f._cookie(j.selected,j.cookie);f.element.queue("tabs",function(){s(r,v)}).dequeue("tabs");this.blur();return false}else if(!v.length){j.cookie&&f._cookie(j.selected,j.cookie);f.element.queue("tabs",function(){q(r,w)});f.load(f.anchors.index(this));this.blur();return false}j.cookie&&f._cookie(j.selected,j.cookie);if(w.length){v.length&&f.element.queue("tabs",function(){s(r,v)});f.element.queue("tabs",function(){q(r,w)});f.load(f.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";
|
||||||
|
a.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(i){if(typeof i=="string")i=this.anchors.index(this.anchors.filter("[href$="+i+"]"));return i},destroy:function(){var i=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var b=
|
||||||
|
a.data(this,"href.tabs");if(b)this.href=b;var f=a(this).unbind(".tabs");a.each(["href","load","cache"],function(j,l){f.removeData(l+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});i.cookie&&this._cookie(null,i.cookie);return this},add:function(i,
|
||||||
|
b,f){if(f===d)f=this.anchors.length;var j=this,l=this.options;b=a(l.tabTemplate.replace(/#\{href\}/g,i).replace(/#\{label\}/g,b));i=!i.indexOf("#")?i.replace("#",""):this._tabId(a("a",b)[0]);b.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var o=j.element.find("#"+i);o.length||(o=a(l.panelTemplate).attr("id",i).data("destroy.tabs",true));o.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(f>=this.lis.length){b.appendTo(this.list);o.appendTo(this.list[0].parentNode)}else{b.insertBefore(this.lis[f]);
|
||||||
|
o.insertBefore(this.panels[f])}l.disabled=a.map(l.disabled,function(n){return n>=f?++n:n});this._tabify();if(this.anchors.length==1){l.selected=0;b.addClass("ui-tabs-selected ui-state-active");o.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){j._trigger("show",null,j._ui(j.anchors[0],j.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[f],this.panels[f]));return this},remove:function(i){i=this._getIndex(i);var b=this.options,f=this.lis.eq(i).remove(),j=this.panels.eq(i).remove();
|
||||||
|
if(f.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(i+(i+1<this.anchors.length?1:-1));b.disabled=a.map(a.grep(b.disabled,function(l){return l!=i}),function(l){return l>=i?--l:l});this._tabify();this._trigger("remove",null,this._ui(f.find("a")[0],j[0]));return this},enable:function(i){i=this._getIndex(i);var b=this.options;if(a.inArray(i,b.disabled)!=-1){this.lis.eq(i).removeClass("ui-state-disabled");b.disabled=a.grep(b.disabled,function(f){return f!=i});this._trigger("enable",null,
|
||||||
|
this._ui(this.anchors[i],this.panels[i]));return this}},disable:function(i){i=this._getIndex(i);var b=this.options;if(i!=b.selected){this.lis.eq(i).addClass("ui-state-disabled");b.disabled.push(i);b.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[i],this.panels[i]))}return this},select:function(i){i=this._getIndex(i);if(i==-1)if(this.options.collapsible&&this.options.selected!=-1)i=this.options.selected;else return this;this.anchors.eq(i).trigger(this.options.event+".tabs");return this},
|
||||||
|
load:function(i){i=this._getIndex(i);var b=this,f=this.options,j=this.anchors.eq(i)[0],l=a.data(j,"load.tabs");this.abort();if(!l||this.element.queue("tabs").length!==0&&a.data(j,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(i).addClass("ui-state-processing");if(f.spinner){var o=a("span",j);o.data("label.tabs",o.html()).html(f.spinner)}this.xhr=a.ajax(a.extend({},f.ajaxOptions,{url:l,success:function(n,k){b.element.find(b._sanitizeSelector(j.hash)).html(n);b._cleanup();f.cache&&a.data(j,
|
||||||
|
"cache.tabs",true);b._trigger("load",null,b._ui(b.anchors[i],b.panels[i]));try{f.ajaxOptions.success(n,k)}catch(m){}},error:function(n,k){b._cleanup();b._trigger("load",null,b._ui(b.anchors[i],b.panels[i]));try{f.ajaxOptions.error(n,k,i,j)}catch(m){}}}));b.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},
|
||||||
|
url:function(i,b){this.anchors.eq(i).removeData("cache.tabs").data("load.tabs",b);return this},length:function(){return this.anchors.length}});a.extend(a.ui.tabs,{version:"1.8.16"});a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(i,b){var f=this,j=this.options,l=f._rotate||(f._rotate=function(o){clearTimeout(f.rotation);f.rotation=setTimeout(function(){var n=j.selected;f.select(++n<f.anchors.length?n:0)},i);o&&o.stopPropagation()});b=f._unrotate||(f._unrotate=!b?function(o){o.clientX&&
|
||||||
|
f.rotate(null)}:function(){t=j.selected;l()});if(i){this.element.bind("tabsshow",l);this.anchors.bind(j.event+".tabs",b);l()}else{clearTimeout(f.rotation);this.element.unbind("tabsshow",l);this.anchors.unbind(j.event+".tabs",b);delete this._rotate;delete this._unrotate}return this}})})(jQuery);
|
651
vendor/built_in_modules/gallery/app/assets/javascripts/jquery.fileupload-ui.js
vendored
Executable file
|
@ -0,0 +1,651 @@
|
||||||
|
/*
|
||||||
|
* jQuery File Upload User Interface Plugin 5.0.20
|
||||||
|
* https://github.com/blueimp/jQuery-File-Upload
|
||||||
|
*
|
||||||
|
* Copyright 2010, Sebastian Tschan
|
||||||
|
* https://blueimp.net
|
||||||
|
*
|
||||||
|
* Licensed under the MIT license:
|
||||||
|
* http://creativecommons.org/licenses/MIT/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*jslint white: true, nomen: true, unparam: true, regexp: true */
|
||||||
|
/*global window, document, URL, webkitURL, FileReader, jQuery */
|
||||||
|
|
||||||
|
(function ($) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
// The UI version extends the basic fileupload widget and adds
|
||||||
|
// a complete user interface based on the given upload/download
|
||||||
|
// templates.
|
||||||
|
$.widget('blueimpUI.fileupload', $.blueimp.fileupload, {
|
||||||
|
|
||||||
|
options: {
|
||||||
|
// By default, files added to the widget are uploaded as soon
|
||||||
|
// as the user clicks on the start buttons. To enable automatic
|
||||||
|
// uploads, set the following option to true:
|
||||||
|
autoUpload: false,
|
||||||
|
// The following option limits the number of files that are
|
||||||
|
// allowed to be uploaded using this widget:
|
||||||
|
maxNumberOfFiles: undefined,
|
||||||
|
// The maximum allowed file size:
|
||||||
|
maxFileSize: undefined,
|
||||||
|
// The minimum allowed file size:
|
||||||
|
minFileSize: 1,
|
||||||
|
// The regular expression for allowed file types, matches
|
||||||
|
// against either file type or file name:
|
||||||
|
acceptFileTypes: /.+$/i,
|
||||||
|
// The regular expression to define for which files a preview
|
||||||
|
// image is shown, matched against the file type:
|
||||||
|
previewFileTypes: /^image\/(gif|jpeg|png)$/,
|
||||||
|
// The maximum width of the preview images:
|
||||||
|
previewMaxWidth: 80,
|
||||||
|
// The maximum height of the preview images:
|
||||||
|
previewMaxHeight: 80,
|
||||||
|
// By default, preview images are displayed as canvas elements
|
||||||
|
// if supported by the browser. Set the following option to false
|
||||||
|
// to always display preview images as img elements:
|
||||||
|
previewAsCanvas: true,
|
||||||
|
// The file upload template that is given as first argument to the
|
||||||
|
// jQuery.tmpl method to render the file uploads:
|
||||||
|
uploadTemplate: $('#template-upload'),
|
||||||
|
// The file download template, that is given as first argument to the
|
||||||
|
// jQuery.tmpl method to render the file downloads:
|
||||||
|
downloadTemplate: $('#template-download'),
|
||||||
|
// The expected data type of the upload response, sets the dataType
|
||||||
|
// option of the $.ajax upload requests:
|
||||||
|
dataType: 'json',
|
||||||
|
|
||||||
|
// The add callback is invoked as soon as files are added to the fileupload
|
||||||
|
// widget (via file input selection, drag & drop or add API call).
|
||||||
|
// See the basic file upload widget for more information:
|
||||||
|
add: function (e, data) {
|
||||||
|
var that = $(this).data('fileupload');
|
||||||
|
that._adjustMaxNumberOfFiles(-data.files.length);
|
||||||
|
data.isAdjusted = true;
|
||||||
|
data.isValidated = that._validate(data.files);
|
||||||
|
data.context = that._renderUpload(data.files)
|
||||||
|
.appendTo($(this).find('.files')).fadeIn(function () {
|
||||||
|
// Fix for IE7 and lower:
|
||||||
|
$(this).show();
|
||||||
|
}).data('data', data);
|
||||||
|
if ((that.options.autoUpload || data.autoUpload) &&
|
||||||
|
data.isValidated) {
|
||||||
|
data.jqXHR = data.submit();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// Callback for the start of each file upload request:
|
||||||
|
send: function (e, data) {
|
||||||
|
if (!data.isValidated) {
|
||||||
|
var that = $(this).data('fileupload');
|
||||||
|
if (!data.isAdjusted) {
|
||||||
|
that._adjustMaxNumberOfFiles(-data.files.length);
|
||||||
|
}
|
||||||
|
if (!that._validate(data.files)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (data.context && data.dataType &&
|
||||||
|
data.dataType.substr(0, 6) === 'iframe') {
|
||||||
|
// Iframe Transport does not support progress events.
|
||||||
|
// In lack of an indeterminate progress bar, we set
|
||||||
|
// the progress to 100%, showing the full animated bar:
|
||||||
|
data.context.find('.ui-progressbar').progressbar(
|
||||||
|
'value',
|
||||||
|
parseInt(100, 10)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// Callback for successful uploads:
|
||||||
|
done: function (e, data) {
|
||||||
|
var that = $(this).data('fileupload');
|
||||||
|
if (data.context) {
|
||||||
|
data.context.each(function (index) {
|
||||||
|
var file = ($.isArray(data.result) &&
|
||||||
|
data.result[index]) || {error: 'emptyResult'};
|
||||||
|
if (file.error) {
|
||||||
|
that._adjustMaxNumberOfFiles(1);
|
||||||
|
}
|
||||||
|
$(this).fadeOut(function () {
|
||||||
|
that._renderDownload([file])
|
||||||
|
.css('display', 'none')
|
||||||
|
.replaceAll(this)
|
||||||
|
.fadeIn(function () {
|
||||||
|
// Fix for IE7 and lower:
|
||||||
|
$(this).show();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
that._renderDownload(data.result)
|
||||||
|
.css('display', 'none')
|
||||||
|
.appendTo($(this).find('.files'))
|
||||||
|
.fadeIn(function () {
|
||||||
|
// Fix for IE7 and lower:
|
||||||
|
$(this).show();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// Callback for failed (abort or error) uploads:
|
||||||
|
fail: function (e, data) {
|
||||||
|
var that = $(this).data('fileupload');
|
||||||
|
that._adjustMaxNumberOfFiles(data.files.length);
|
||||||
|
if (data.context) {
|
||||||
|
data.context.each(function (index) {
|
||||||
|
$(this).fadeOut(function () {
|
||||||
|
if (data.errorThrown !== 'abort') {
|
||||||
|
var file = data.files[index];
|
||||||
|
file.error = file.error || data.errorThrown ||
|
||||||
|
true;
|
||||||
|
that._renderDownload([file])
|
||||||
|
.css('display', 'none')
|
||||||
|
.replaceAll(this)
|
||||||
|
.fadeIn(function () {
|
||||||
|
// Fix for IE7 and lower:
|
||||||
|
$(this).show();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
data.context.remove();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else if (data.errorThrown !== 'abort') {
|
||||||
|
that._adjustMaxNumberOfFiles(-data.files.length);
|
||||||
|
data.context = that._renderUpload(data.files)
|
||||||
|
.css('display', 'none')
|
||||||
|
.appendTo($(this).find('.files'))
|
||||||
|
.fadeIn(function () {
|
||||||
|
// Fix for IE7 and lower:
|
||||||
|
$(this).show();
|
||||||
|
}).data('data', data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// Callback for upload progress events:
|
||||||
|
progress: function (e, data) {
|
||||||
|
if (data.context) {
|
||||||
|
data.context.find('.ui-progressbar').progressbar(
|
||||||
|
'value',
|
||||||
|
parseInt(data.loaded / data.total * 100, 10)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// Callback for global upload progress events:
|
||||||
|
progressall: function (e, data) {
|
||||||
|
$(this).find('.fileupload-progressbar').progressbar(
|
||||||
|
'value',
|
||||||
|
parseInt(data.loaded / data.total * 100, 10)
|
||||||
|
);
|
||||||
|
},
|
||||||
|
// Callback for uploads start, equivalent to the global ajaxStart event:
|
||||||
|
start: function () {
|
||||||
|
$(this).find('.fileupload-progressbar')
|
||||||
|
.progressbar('value', 0).fadeIn();
|
||||||
|
},
|
||||||
|
// Callback for uploads stop, equivalent to the global ajaxStop event:
|
||||||
|
stop: function () {
|
||||||
|
$(this).find('.fileupload-progressbar').fadeOut();
|
||||||
|
},
|
||||||
|
// Callback for file deletion:
|
||||||
|
destroy: function (e, data) {
|
||||||
|
var that = $(this).data('fileupload');
|
||||||
|
if (data.url) {
|
||||||
|
$.ajax(data)
|
||||||
|
.success(function () {
|
||||||
|
that._adjustMaxNumberOfFiles(1);
|
||||||
|
$(this).fadeOut(function () {
|
||||||
|
$(this).remove();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
that._adjustMaxNumberOfFiles(1);
|
||||||
|
data.context.fadeOut(function () {
|
||||||
|
$(this).remove();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Scales the given image (img HTML element)
|
||||||
|
// using the given options.
|
||||||
|
// Returns a canvas object if the canvas option is true
|
||||||
|
// and the browser supports canvas, else the scaled image:
|
||||||
|
_scaleImage: function (img, options) {
|
||||||
|
options = options || {};
|
||||||
|
var canvas = document.createElement('canvas'),
|
||||||
|
scale = Math.min(
|
||||||
|
(options.maxWidth || img.width) / img.width,
|
||||||
|
(options.maxHeight || img.height) / img.height
|
||||||
|
);
|
||||||
|
if (scale >= 1) {
|
||||||
|
scale = Math.max(
|
||||||
|
(options.minWidth || img.width) / img.width,
|
||||||
|
(options.minHeight || img.height) / img.height
|
||||||
|
);
|
||||||
|
}
|
||||||
|
img.width = parseInt(img.width * scale, 10);
|
||||||
|
img.height = parseInt(img.height * scale, 10);
|
||||||
|
if (!options.canvas || !canvas.getContext) {
|
||||||
|
return img;
|
||||||
|
}
|
||||||
|
canvas.width = img.width;
|
||||||
|
canvas.height = img.height;
|
||||||
|
canvas.getContext('2d')
|
||||||
|
.drawImage(img, 0, 0, img.width, img.height);
|
||||||
|
return canvas;
|
||||||
|
},
|
||||||
|
|
||||||
|
_createObjectURL: function (file) {
|
||||||
|
var undef = 'undefined',
|
||||||
|
urlAPI = (typeof window.createObjectURL !== undef && window) ||
|
||||||
|
(typeof URL !== undef && URL) ||
|
||||||
|
(typeof webkitURL !== undef && webkitURL);
|
||||||
|
return urlAPI ? urlAPI.createObjectURL(file) : false;
|
||||||
|
},
|
||||||
|
|
||||||
|
_revokeObjectURL: function (url) {
|
||||||
|
var undef = 'undefined',
|
||||||
|
urlAPI = (typeof window.revokeObjectURL !== undef && window) ||
|
||||||
|
(typeof URL !== undef && URL) ||
|
||||||
|
(typeof webkitURL !== undef && webkitURL);
|
||||||
|
return urlAPI ? urlAPI.revokeObjectURL(url) : false;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Loads a given File object via FileReader interface,
|
||||||
|
// invokes the callback with a data url:
|
||||||
|
_loadFile: function (file, callback) {
|
||||||
|
if (typeof FileReader !== 'undefined' &&
|
||||||
|
FileReader.prototype.readAsDataURL) {
|
||||||
|
var fileReader = new FileReader();
|
||||||
|
fileReader.onload = function (e) {
|
||||||
|
callback(e.target.result);
|
||||||
|
};
|
||||||
|
fileReader.readAsDataURL(file);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Loads an image for a given File object.
|
||||||
|
// Invokes the callback with an img or optional canvas
|
||||||
|
// element (if supported by the browser) as parameter:
|
||||||
|
_loadImage: function (file, callback, options) {
|
||||||
|
var that = this,
|
||||||
|
url,
|
||||||
|
img;
|
||||||
|
if (!options || !options.fileTypes ||
|
||||||
|
options.fileTypes.test(file.type)) {
|
||||||
|
url = this._createObjectURL(file);
|
||||||
|
img = $('<img>').bind('load', function () {
|
||||||
|
$(this).unbind('load');
|
||||||
|
that._revokeObjectURL(url);
|
||||||
|
callback(that._scaleImage(img[0], options));
|
||||||
|
});
|
||||||
|
if (url) {
|
||||||
|
img.prop('src', url);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return this._loadFile(file, function (url) {
|
||||||
|
img.prop('src', url);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Link handler, that allows to download files
|
||||||
|
// by drag & drop of the links to the desktop:
|
||||||
|
_enableDragToDesktop: function () {
|
||||||
|
var link = $(this),
|
||||||
|
url = link.prop('href'),
|
||||||
|
name = decodeURIComponent(url.split('/').pop())
|
||||||
|
.replace(/:/g, '-'),
|
||||||
|
type = 'application/octet-stream';
|
||||||
|
link.bind('dragstart', function (e) {
|
||||||
|
try {
|
||||||
|
e.originalEvent.dataTransfer.setData(
|
||||||
|
'DownloadURL',
|
||||||
|
[type, name, url].join(':')
|
||||||
|
);
|
||||||
|
} catch (err) {}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
_adjustMaxNumberOfFiles: function (operand) {
|
||||||
|
if (typeof this.options.maxNumberOfFiles === 'number') {
|
||||||
|
this.options.maxNumberOfFiles += operand;
|
||||||
|
if (this.options.maxNumberOfFiles < 1) {
|
||||||
|
this._disableFileInputButton();
|
||||||
|
} else {
|
||||||
|
this._enableFileInputButton();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_formatFileSize: function (file) {
|
||||||
|
if (typeof file.size !== 'number') {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
if (file.size >= 1000000000) {
|
||||||
|
return (file.size / 1000000000).toFixed(2) + ' GB';
|
||||||
|
}
|
||||||
|
if (file.size >= 1000000) {
|
||||||
|
return (file.size / 1000000).toFixed(2) + ' MB';
|
||||||
|
}
|
||||||
|
return (file.size / 1000).toFixed(2) + ' KB';
|
||||||
|
},
|
||||||
|
|
||||||
|
_hasError: function (file) {
|
||||||
|
if (file.error) {
|
||||||
|
return file.error;
|
||||||
|
}
|
||||||
|
// The number of added files is subtracted from
|
||||||
|
// maxNumberOfFiles before validation, so we check if
|
||||||
|
// maxNumberOfFiles is below 0 (instead of below 1):
|
||||||
|
if (this.options.maxNumberOfFiles < 0) {
|
||||||
|
return 'maxNumberOfFiles';
|
||||||
|
}
|
||||||
|
// Files are accepted if either the file type or the file name
|
||||||
|
// matches against the acceptFileTypes regular expression, as
|
||||||
|
// only browsers with support for the File API report the type:
|
||||||
|
if (!(this.options.acceptFileTypes.test(file.type) ||
|
||||||
|
this.options.acceptFileTypes.test(file.name))) {
|
||||||
|
return 'acceptFileTypes';
|
||||||
|
}
|
||||||
|
if (this.options.maxFileSize &&
|
||||||
|
file.size > this.options.maxFileSize) {
|
||||||
|
return 'maxFileSize';
|
||||||
|
}
|
||||||
|
if (typeof file.size === 'number' &&
|
||||||
|
file.size < this.options.minFileSize) {
|
||||||
|
return 'minFileSize';
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
},
|
||||||
|
|
||||||
|
_validate: function (files) {
|
||||||
|
var that = this,
|
||||||
|
valid = !!files.length;
|
||||||
|
$.each(files, function (index, file) {
|
||||||
|
file.error = that._hasError(file);
|
||||||
|
if (file.error) {
|
||||||
|
valid = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return valid;
|
||||||
|
},
|
||||||
|
|
||||||
|
_uploadTemplateHelper: function (file) {
|
||||||
|
file.sizef = this._formatFileSize(file);
|
||||||
|
return file;
|
||||||
|
},
|
||||||
|
|
||||||
|
_renderUploadTemplate: function (files) {
|
||||||
|
var that = this;
|
||||||
|
return $.tmpl(
|
||||||
|
this.options.uploadTemplate,
|
||||||
|
$.map(files, function (file) {
|
||||||
|
return that._uploadTemplateHelper(file);
|
||||||
|
})
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
_renderUpload: function (files) {
|
||||||
|
var that = this,
|
||||||
|
options = this.options,
|
||||||
|
tmpl = this._renderUploadTemplate(files),
|
||||||
|
isValidated = this._validate(files);
|
||||||
|
if (!(tmpl instanceof $)) {
|
||||||
|
return $();
|
||||||
|
}
|
||||||
|
tmpl.css('display', 'none');
|
||||||
|
// .slice(1).remove().end().first() removes all but the first
|
||||||
|
// element and selects only the first for the jQuery collection:
|
||||||
|
tmpl.find('.progress div').slice(
|
||||||
|
isValidated ? 1 : 0
|
||||||
|
).remove().end().first()
|
||||||
|
.progressbar();
|
||||||
|
tmpl.find('.start button').slice(
|
||||||
|
this.options.autoUpload || !isValidated ? 0 : 1
|
||||||
|
).remove().end().first()
|
||||||
|
.button({
|
||||||
|
text: false,
|
||||||
|
icons: {primary: 'ui-icon-circle-arrow-e'}
|
||||||
|
});
|
||||||
|
tmpl.find('.cancel button').slice(1).remove().end().first()
|
||||||
|
.button({
|
||||||
|
text: false,
|
||||||
|
icons: {primary: 'ui-icon-cancel'}
|
||||||
|
});
|
||||||
|
tmpl.find('.preview').each(function (index, node) {
|
||||||
|
that._loadImage(
|
||||||
|
files[index],
|
||||||
|
function (img) {
|
||||||
|
$(img).hide().appendTo(node).fadeIn();
|
||||||
|
},
|
||||||
|
{
|
||||||
|
maxWidth: options.previewMaxWidth,
|
||||||
|
maxHeight: options.previewMaxHeight,
|
||||||
|
fileTypes: options.previewFileTypes,
|
||||||
|
canvas: options.previewAsCanvas
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
return tmpl;
|
||||||
|
},
|
||||||
|
|
||||||
|
_downloadTemplateHelper: function (file) {
|
||||||
|
file.sizef = this._formatFileSize(file);
|
||||||
|
return file;
|
||||||
|
},
|
||||||
|
|
||||||
|
_renderDownloadTemplate: function (files) {
|
||||||
|
var that = this;
|
||||||
|
return $.tmpl(
|
||||||
|
this.options.downloadTemplate,
|
||||||
|
$.map(files, function (file) {
|
||||||
|
return that._downloadTemplateHelper(file);
|
||||||
|
})
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
_renderDownload: function (files) {
|
||||||
|
var tmpl = this._renderDownloadTemplate(files);
|
||||||
|
if (!(tmpl instanceof $)) {
|
||||||
|
return $();
|
||||||
|
}
|
||||||
|
tmpl.css('display', 'none');
|
||||||
|
tmpl.find('.delete button').button({
|
||||||
|
text: false,
|
||||||
|
icons: {primary: 'ui-icon-trash'}
|
||||||
|
});
|
||||||
|
tmpl.find('a').each(this._enableDragToDesktop);
|
||||||
|
return tmpl;
|
||||||
|
},
|
||||||
|
|
||||||
|
_startHandler: function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var tmpl = $(this).closest('.template-upload'),
|
||||||
|
data = tmpl.data('data');
|
||||||
|
if (data && data.submit && !data.jqXHR) {
|
||||||
|
data.jqXHR = data.submit();
|
||||||
|
if (data.jqXHR) {
|
||||||
|
$(this).fadeOut();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_cancelHandler: function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var tmpl = $(this).closest('.template-upload'),
|
||||||
|
data = tmpl.data('data') || {};
|
||||||
|
if (!data.jqXHR) {
|
||||||
|
data.errorThrown = 'abort';
|
||||||
|
e.data.fileupload._trigger('fail', e, data);
|
||||||
|
} else {
|
||||||
|
data.jqXHR.abort();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_deleteHandler: function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var button = $(this);
|
||||||
|
e.data.fileupload._trigger('destroy', e, {
|
||||||
|
context: button.closest('.template-download'),
|
||||||
|
url: button.attr('data-url'),
|
||||||
|
type: button.attr('data-type'),
|
||||||
|
dataType: e.data.fileupload.options.dataType
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
_initEventHandlers: function () {
|
||||||
|
$.blueimp.fileupload.prototype._initEventHandlers.call(this);
|
||||||
|
var eventData = {fileupload: this};
|
||||||
|
this.element.find('.files')
|
||||||
|
.delegate(
|
||||||
|
'.start button',
|
||||||
|
'click.' + this.options.namespace,
|
||||||
|
eventData,
|
||||||
|
this._startHandler
|
||||||
|
)
|
||||||
|
.delegate(
|
||||||
|
'.cancel button',
|
||||||
|
'click.' + this.options.namespace,
|
||||||
|
eventData,
|
||||||
|
this._cancelHandler
|
||||||
|
)
|
||||||
|
.delegate(
|
||||||
|
'.delete button',
|
||||||
|
'click.' + this.options.namespace,
|
||||||
|
eventData,
|
||||||
|
this._deleteHandler
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
_destroyEventHandlers: function () {
|
||||||
|
this.element.find('.files')
|
||||||
|
.undelegate('.start button', 'click.' + this.options.namespace)
|
||||||
|
.undelegate('.cancel button', 'click.' + this.options.namespace)
|
||||||
|
.undelegate('.delete button', 'click.' + this.options.namespace);
|
||||||
|
$.blueimp.fileupload.prototype._destroyEventHandlers.call(this);
|
||||||
|
},
|
||||||
|
|
||||||
|
_initFileUploadButtonBar: function () {
|
||||||
|
var fileUploadButtonBar = this.element.find('.fileupload-buttonbar'),
|
||||||
|
filesList = this.element.find('.files'),
|
||||||
|
ns = this.options.namespace;
|
||||||
|
fileUploadButtonBar
|
||||||
|
.addClass('ui-widget-header ui-corner-top');
|
||||||
|
this.element.find('.fileinput-button').each(function () {
|
||||||
|
var fileInput = $(this).find('input:file').detach();
|
||||||
|
$(this).button({icons: {primary: 'ui-icon-plusthick'}})
|
||||||
|
.append(fileInput);
|
||||||
|
});
|
||||||
|
fileUploadButtonBar.find('.start')
|
||||||
|
.button({icons: {primary: 'ui-icon-circle-arrow-e'}})
|
||||||
|
.bind('click.' + ns, function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
filesList.find('.start button').click();
|
||||||
|
});
|
||||||
|
fileUploadButtonBar.find('.cancel')
|
||||||
|
.button({icons: {primary: 'ui-icon-cancel'}})
|
||||||
|
.bind('click.' + ns, function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
filesList.find('.cancel button').click();
|
||||||
|
});
|
||||||
|
fileUploadButtonBar.find('.delete')
|
||||||
|
.button({icons: {primary: 'ui-icon-trash'}})
|
||||||
|
.bind('click.' + ns, function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
filesList.find('.delete button').click();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
_destroyFileUploadButtonBar: function () {
|
||||||
|
this.element.find('.fileupload-buttonbar')
|
||||||
|
.removeClass('ui-widget-header ui-corner-top');
|
||||||
|
this.element.find('.fileinput-button').each(function () {
|
||||||
|
var fileInput = $(this).find('input:file').detach();
|
||||||
|
$(this).button('destroy')
|
||||||
|
.append(fileInput);
|
||||||
|
});
|
||||||
|
this.element.find('.fileupload-buttonbar button')
|
||||||
|
.unbind('click.' + this.options.namespace)
|
||||||
|
.button('destroy');
|
||||||
|
},
|
||||||
|
|
||||||
|
_enableFileInputButton: function () {
|
||||||
|
this.element.find('.fileinput-button input:file:disabled')
|
||||||
|
.each(function () {
|
||||||
|
var fileInput = $(this),
|
||||||
|
button = fileInput.parent();
|
||||||
|
fileInput.detach().prop('disabled', false);
|
||||||
|
button.button('enable').append(fileInput);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
_disableFileInputButton: function () {
|
||||||
|
this.element.find('.fileinput-button input:file:enabled')
|
||||||
|
.each(function () {
|
||||||
|
var fileInput = $(this),
|
||||||
|
button = fileInput.parent();
|
||||||
|
fileInput.detach().prop('disabled', true);
|
||||||
|
button.button('disable').append(fileInput);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
_initTemplates: function () {
|
||||||
|
// Handle cases where the templates are defined
|
||||||
|
// after the widget library has been included:
|
||||||
|
if (this.options.uploadTemplate instanceof $ &&
|
||||||
|
!this.options.uploadTemplate.length) {
|
||||||
|
this.options.uploadTemplate = $(
|
||||||
|
this.options.uploadTemplate.selector
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (this.options.downloadTemplate instanceof $ &&
|
||||||
|
!this.options.downloadTemplate.length) {
|
||||||
|
this.options.downloadTemplate = $(
|
||||||
|
this.options.downloadTemplate.selector
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_create: function () {
|
||||||
|
$.blueimp.fileupload.prototype._create.call(this);
|
||||||
|
this._initTemplates();
|
||||||
|
this.element
|
||||||
|
.addClass('ui-widget');
|
||||||
|
this._initFileUploadButtonBar();
|
||||||
|
this.element.find('.fileupload-content')
|
||||||
|
.addClass('ui-widget-content ui-corner-bottom');
|
||||||
|
this.element.find('.fileupload-progressbar')
|
||||||
|
.hide().progressbar();
|
||||||
|
},
|
||||||
|
|
||||||
|
destroy: function () {
|
||||||
|
this.element.find('.fileupload-progressbar')
|
||||||
|
.progressbar('destroy');
|
||||||
|
this.element.find('.fileupload-content')
|
||||||
|
.removeClass('ui-widget-content ui-corner-bottom');
|
||||||
|
this._destroyFileUploadButtonBar();
|
||||||
|
this.element.removeClass('ui-widget');
|
||||||
|
$.blueimp.fileupload.prototype.destroy.call(this);
|
||||||
|
},
|
||||||
|
|
||||||
|
enable: function () {
|
||||||
|
$.blueimp.fileupload.prototype.enable.call(this);
|
||||||
|
this.element.find(':ui-button').not('.fileinput-button')
|
||||||
|
.button('enable');
|
||||||
|
this._enableFileInputButton();
|
||||||
|
},
|
||||||
|
|
||||||
|
disable: function () {
|
||||||
|
this.element.find(':ui-button').not('.fileinput-button')
|
||||||
|
.button('disable');
|
||||||
|
this._disableFileInputButton();
|
||||||
|
$.blueimp.fileupload.prototype.disable.call(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}(jQuery));
|
782
vendor/built_in_modules/gallery/app/assets/javascripts/jquery.fileupload.js
vendored
Executable file
|
@ -0,0 +1,782 @@
|
||||||
|
/*
|
||||||
|
* jQuery File Upload Plugin 5.4.4
|
||||||
|
* https://github.com/blueimp/jQuery-File-Upload
|
||||||
|
*
|
||||||
|
* Copyright 2010, Sebastian Tschan
|
||||||
|
* https://blueimp.net
|
||||||
|
*
|
||||||
|
* Licensed under the MIT license:
|
||||||
|
* http://creativecommons.org/licenses/MIT/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*jslint white: true, nomen: true, unparam: true, regexp: true */
|
||||||
|
/*global document, XMLHttpRequestUpload, Blob, File, FormData, location, jQuery */
|
||||||
|
|
||||||
|
(function ($) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
// The fileupload widget listens for change events on file input fields defined
|
||||||
|
// via fileInput setting and paste or drop events of the given dropZone.
|
||||||
|
// In addition to the default jQuery Widget methods, the fileupload widget
|
||||||
|
// exposes the "add" and "send" methods, to add or directly send files using
|
||||||
|
// the fileupload API.
|
||||||
|
// By default, files added via file input selection, paste, drag & drop or
|
||||||
|
// "add" method are uploaded immediately, but it is possible to override
|
||||||
|
// the "add" callback option to queue file uploads.
|
||||||
|
$.widget('blueimp.fileupload', {
|
||||||
|
|
||||||
|
options: {
|
||||||
|
// The namespace used for event handler binding on the dropZone and
|
||||||
|
// fileInput collections.
|
||||||
|
// If not set, the name of the widget ("fileupload") is used.
|
||||||
|
namespace: undefined,
|
||||||
|
// The drop target collection, by the default the complete document.
|
||||||
|
// Set to null or an empty collection to disable drag & drop support:
|
||||||
|
dropZone: $(document),
|
||||||
|
// The file input field collection, that is listened for change events.
|
||||||
|
// If undefined, it is set to the file input fields inside
|
||||||
|
// of the widget element on plugin initialization.
|
||||||
|
// Set to null or an empty collection to disable the change listener.
|
||||||
|
fileInput: undefined,
|
||||||
|
// By default, the file input field is replaced with a clone after
|
||||||
|
// each input field change event. This is required for iframe transport
|
||||||
|
// queues and allows change events to be fired for the same file
|
||||||
|
// selection, but can be disabled by setting the following option to false:
|
||||||
|
replaceFileInput: true,
|
||||||
|
// The parameter name for the file form data (the request argument name).
|
||||||
|
// If undefined or empty, the name property of the file input field is
|
||||||
|
// used, or "files[]" if the file input name property is also empty:
|
||||||
|
paramName: undefined,
|
||||||
|
// By default, each file of a selection is uploaded using an individual
|
||||||
|
// request for XHR type uploads. Set to false to upload file
|
||||||
|
// selections in one request each:
|
||||||
|
singleFileUploads: true,
|
||||||
|
// To limit the number of files uploaded with one XHR request,
|
||||||
|
// set the following option to an integer greater than 0:
|
||||||
|
limitMultiFileUploads: undefined,
|
||||||
|
// Set the following option to true to issue all file upload requests
|
||||||
|
// in a sequential order:
|
||||||
|
sequentialUploads: false,
|
||||||
|
// To limit the number of concurrent uploads,
|
||||||
|
// set the following option to an integer greater than 0:
|
||||||
|
limitConcurrentUploads: undefined,
|
||||||
|
// Set the following option to true to force iframe transport uploads:
|
||||||
|
forceIframeTransport: false,
|
||||||
|
// By default, XHR file uploads are sent as multipart/form-data.
|
||||||
|
// The iframe transport is always using multipart/form-data.
|
||||||
|
// Set to false to enable non-multipart XHR uploads:
|
||||||
|
multipart: true,
|
||||||
|
// To upload large files in smaller chunks, set the following option
|
||||||
|
// to a preferred maximum chunk size. If set to 0, null or undefined,
|
||||||
|
// or the browser does not support the required Blob API, files will
|
||||||
|
// be uploaded as a whole.
|
||||||
|
maxChunkSize: undefined,
|
||||||
|
// When a non-multipart upload or a chunked multipart upload has been
|
||||||
|
// aborted, this option can be used to resume the upload by setting
|
||||||
|
// it to the size of the already uploaded bytes. This option is most
|
||||||
|
// useful when modifying the options object inside of the "add" or
|
||||||
|
// "send" callbacks, as the options are cloned for each file upload.
|
||||||
|
uploadedBytes: undefined,
|
||||||
|
// By default, failed (abort or error) file uploads are removed from the
|
||||||
|
// global progress calculation. Set the following option to false to
|
||||||
|
// prevent recalculating the global progress data:
|
||||||
|
recalculateProgress: true,
|
||||||
|
|
||||||
|
// Additional form data to be sent along with the file uploads can be set
|
||||||
|
// using this option, which accepts an array of objects with name and
|
||||||
|
// value properties, a function returning such an array, a FormData
|
||||||
|
// object (for XHR file uploads), or a simple object.
|
||||||
|
// The form of the first fileInput is given as parameter to the function:
|
||||||
|
formData: function (form) {
|
||||||
|
return form.serializeArray();
|
||||||
|
},
|
||||||
|
|
||||||
|
// The add callback is invoked as soon as files are added to the fileupload
|
||||||
|
// widget (via file input selection, drag & drop, paste or add API call).
|
||||||
|
// If the singleFileUploads option is enabled, this callback will be
|
||||||
|
// called once for each file in the selection for XHR file uplaods, else
|
||||||
|
// once for each file selection.
|
||||||
|
// The upload starts when the submit method is invoked on the data parameter.
|
||||||
|
// The data object contains a files property holding the added files
|
||||||
|
// and allows to override plugin options as well as define ajax settings.
|
||||||
|
// Listeners for this callback can also be bound the following way:
|
||||||
|
// .bind('fileuploadadd', func);
|
||||||
|
// data.submit() returns a Promise object and allows to attach additional
|
||||||
|
// handlers using jQuery's Deferred callbacks:
|
||||||
|
// data.submit().done(func).fail(func).always(func);
|
||||||
|
add: function (e, data) {
|
||||||
|
data.submit();
|
||||||
|
},
|
||||||
|
|
||||||
|
// Other callbacks:
|
||||||
|
// Callback for the submit event of each file upload:
|
||||||
|
// submit: function (e, data) {}, // .bind('fileuploadsubmit', func);
|
||||||
|
// Callback for the start of each file upload request:
|
||||||
|
// send: function (e, data) {}, // .bind('fileuploadsend', func);
|
||||||
|
// Callback for successful uploads:
|
||||||
|
// done: function (e, data) {}, // .bind('fileuploaddone', func);
|
||||||
|
// Callback for failed (abort or error) uploads:
|
||||||
|
// fail: function (e, data) {}, // .bind('fileuploadfail', func);
|
||||||
|
// Callback for completed (success, abort or error) requests:
|
||||||
|
// always: function (e, data) {}, // .bind('fileuploadalways', func);
|
||||||
|
// Callback for upload progress events:
|
||||||
|
// progress: function (e, data) {}, // .bind('fileuploadprogress', func);
|
||||||
|
// Callback for global upload progress events:
|
||||||
|
// progressall: function (e, data) {}, // .bind('fileuploadprogressall', func);
|
||||||
|
// Callback for uploads start, equivalent to the global ajaxStart event:
|
||||||
|
// start: function (e) {}, // .bind('fileuploadstart', func);
|
||||||
|
// Callback for uploads stop, equivalent to the global ajaxStop event:
|
||||||
|
// stop: function (e) {}, // .bind('fileuploadstop', func);
|
||||||
|
// Callback for change events of the fileInput collection:
|
||||||
|
// change: function (e, data) {}, // .bind('fileuploadchange', func);
|
||||||
|
// Callback for paste events to the dropZone collection:
|
||||||
|
// paste: function (e, data) {}, // .bind('fileuploadpaste', func);
|
||||||
|
// Callback for drop events of the dropZone collection:
|
||||||
|
// drop: function (e, data) {}, // .bind('fileuploaddrop', func);
|
||||||
|
// Callback for dragover events of the dropZone collection:
|
||||||
|
// dragover: function (e) {}, // .bind('fileuploaddragover', func);
|
||||||
|
|
||||||
|
// The plugin options are used as settings object for the ajax calls.
|
||||||
|
// The following are jQuery ajax settings required for the file uploads:
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false
|
||||||
|
},
|
||||||
|
|
||||||
|
// A list of options that require a refresh after assigning a new value:
|
||||||
|
_refreshOptionsList: ['namespace', 'dropZone', 'fileInput'],
|
||||||
|
|
||||||
|
_isXHRUpload: function (options) {
|
||||||
|
var undef = 'undefined';
|
||||||
|
return !options.forceIframeTransport &&
|
||||||
|
typeof XMLHttpRequestUpload !== undef && typeof File !== undef &&
|
||||||
|
(!options.multipart || typeof FormData !== undef);
|
||||||
|
},
|
||||||
|
|
||||||
|
_getFormData: function (options) {
|
||||||
|
var formData;
|
||||||
|
if (typeof options.formData === 'function') {
|
||||||
|
return options.formData(options.form);
|
||||||
|
} else if ($.isArray(options.formData)) {
|
||||||
|
return options.formData;
|
||||||
|
} else if (options.formData) {
|
||||||
|
formData = [];
|
||||||
|
$.each(options.formData, function (name, value) {
|
||||||
|
formData.push({name: name, value: value});
|
||||||
|
});
|
||||||
|
return formData;
|
||||||
|
}
|
||||||
|
return [];
|
||||||
|
},
|
||||||
|
|
||||||
|
_getTotal: function (files) {
|
||||||
|
var total = 0;
|
||||||
|
$.each(files, function (index, file) {
|
||||||
|
total += file.size || 1;
|
||||||
|
});
|
||||||
|
return total;
|
||||||
|
},
|
||||||
|
|
||||||
|
_onProgress: function (e, data) {
|
||||||
|
if (e.lengthComputable) {
|
||||||
|
var total = data.total || this._getTotal(data.files),
|
||||||
|
loaded = parseInt(
|
||||||
|
e.loaded / e.total * (data.chunkSize || total),
|
||||||
|
10
|
||||||
|
) + (data.uploadedBytes || 0);
|
||||||
|
this._loaded += loaded - (data.loaded || data.uploadedBytes || 0);
|
||||||
|
data.lengthComputable = true;
|
||||||
|
data.loaded = loaded;
|
||||||
|
data.total = total;
|
||||||
|
// Trigger a custom progress event with a total data property set
|
||||||
|
// to the file size(s) of the current upload and a loaded data
|
||||||
|
// property calculated accordingly:
|
||||||
|
this._trigger('progress', e, data);
|
||||||
|
// Trigger a global progress event for all current file uploads,
|
||||||
|
// including ajax calls queued for sequential file uploads:
|
||||||
|
this._trigger('progressall', e, {
|
||||||
|
lengthComputable: true,
|
||||||
|
loaded: this._loaded,
|
||||||
|
total: this._total
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_initProgressListener: function (options) {
|
||||||
|
var that = this,
|
||||||
|
xhr = options.xhr ? options.xhr() : $.ajaxSettings.xhr();
|
||||||
|
// Accesss to the native XHR object is required to add event listeners
|
||||||
|
// for the upload progress event:
|
||||||
|
if (xhr.upload && xhr.upload.addEventListener) {
|
||||||
|
xhr.upload.addEventListener('progress', function (e) {
|
||||||
|
that._onProgress(e, options);
|
||||||
|
}, false);
|
||||||
|
options.xhr = function () {
|
||||||
|
return xhr;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_initXHRData: function (options) {
|
||||||
|
var formData,
|
||||||
|
file = options.files[0];
|
||||||
|
if (!options.multipart || options.blob) {
|
||||||
|
// For non-multipart uploads and chunked uploads,
|
||||||
|
// file meta data is not part of the request body,
|
||||||
|
// so we transmit this data as part of the HTTP headers.
|
||||||
|
// For cross domain requests, these headers must be allowed
|
||||||
|
// via Access-Control-Allow-Headers or removed using
|
||||||
|
// the beforeSend callback:
|
||||||
|
options.headers = $.extend(options.headers, {
|
||||||
|
'X-File-Name': file.name,
|
||||||
|
'X-File-Type': file.type,
|
||||||
|
'X-File-Size': file.size
|
||||||
|
});
|
||||||
|
if (!options.blob) {
|
||||||
|
// Non-chunked non-multipart upload:
|
||||||
|
options.contentType = file.type;
|
||||||
|
options.data = file;
|
||||||
|
} else if (!options.multipart) {
|
||||||
|
// Chunked non-multipart upload:
|
||||||
|
options.contentType = 'application/octet-stream';
|
||||||
|
options.data = options.blob;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (options.multipart && typeof FormData !== 'undefined') {
|
||||||
|
if (options.formData instanceof FormData) {
|
||||||
|
formData = options.formData;
|
||||||
|
} else {
|
||||||
|
formData = new FormData();
|
||||||
|
$.each(this._getFormData(options), function (index, field) {
|
||||||
|
formData.append(field.name, field.value);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (options.blob) {
|
||||||
|
formData.append(options.paramName, options.blob);
|
||||||
|
} else {
|
||||||
|
$.each(options.files, function (index, file) {
|
||||||
|
// File objects are also Blob instances.
|
||||||
|
// This check allows the tests to run with
|
||||||
|
// dummy objects:
|
||||||
|
if (file instanceof Blob) {
|
||||||
|
formData.append(options.paramName, file);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
options.data = formData;
|
||||||
|
}
|
||||||
|
// Blob reference is not needed anymore, free memory:
|
||||||
|
options.blob = null;
|
||||||
|
},
|
||||||
|
|
||||||
|
_initIframeSettings: function (options) {
|
||||||
|
// Setting the dataType to iframe enables the iframe transport:
|
||||||
|
options.dataType = 'iframe ' + (options.dataType || '');
|
||||||
|
// The iframe transport accepts a serialized array as form data:
|
||||||
|
options.formData = this._getFormData(options);
|
||||||
|
},
|
||||||
|
|
||||||
|
_initDataSettings: function (options) {
|
||||||
|
if (this._isXHRUpload(options)) {
|
||||||
|
if (!this._chunkedUpload(options, true)) {
|
||||||
|
if (!options.data) {
|
||||||
|
this._initXHRData(options);
|
||||||
|
}
|
||||||
|
this._initProgressListener(options);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this._initIframeSettings(options);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_initFormSettings: function (options) {
|
||||||
|
// Retrieve missing options from the input field and the
|
||||||
|
// associated form, if available:
|
||||||
|
if (!options.form || !options.form.length) {
|
||||||
|
options.form = $(options.fileInput.prop('form'));
|
||||||
|
}
|
||||||
|
if (!options.paramName) {
|
||||||
|
options.paramName = options.fileInput.prop('name') ||
|
||||||
|
'files[]';
|
||||||
|
}
|
||||||
|
if (!options.url) {
|
||||||
|
options.url = options.form.prop('action') || location.href;
|
||||||
|
}
|
||||||
|
// The HTTP request method must be "POST" or "PUT":
|
||||||
|
options.type = (options.type || options.form.prop('method') || '')
|
||||||
|
.toUpperCase();
|
||||||
|
if (options.type !== 'POST' && options.type !== 'PUT') {
|
||||||
|
options.type = 'POST';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_getAJAXSettings: function (data) {
|
||||||
|
var options = $.extend({}, this.options, data);
|
||||||
|
this._initFormSettings(options);
|
||||||
|
this._initDataSettings(options);
|
||||||
|
return options;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Maps jqXHR callbacks to the equivalent
|
||||||
|
// methods of the given Promise object:
|
||||||
|
_enhancePromise: function (promise) {
|
||||||
|
promise.success = promise.done;
|
||||||
|
promise.error = promise.fail;
|
||||||
|
promise.complete = promise.always;
|
||||||
|
return promise;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Creates and returns a Promise object enhanced with
|
||||||
|
// the jqXHR methods abort, success, error and complete:
|
||||||
|
_getXHRPromise: function (resolveOrReject, context, args) {
|
||||||
|
var dfd = $.Deferred(),
|
||||||
|
promise = dfd.promise();
|
||||||
|
context = context || this.options.context || promise;
|
||||||
|
if (resolveOrReject === true) {
|
||||||
|
dfd.resolveWith(context, args);
|
||||||
|
} else if (resolveOrReject === false) {
|
||||||
|
dfd.rejectWith(context, args);
|
||||||
|
}
|
||||||
|
promise.abort = dfd.promise;
|
||||||
|
return this._enhancePromise(promise);
|
||||||
|
},
|
||||||
|
|
||||||
|
// Uploads a file in multiple, sequential requests
|
||||||
|
// by splitting the file up in multiple blob chunks.
|
||||||
|
// If the second parameter is true, only tests if the file
|
||||||
|
// should be uploaded in chunks, but does not invoke any
|
||||||
|
// upload requests:
|
||||||
|
_chunkedUpload: function (options, testOnly) {
|
||||||
|
var that = this,
|
||||||
|
file = options.files[0],
|
||||||
|
fs = file.size,
|
||||||
|
ub = options.uploadedBytes = options.uploadedBytes || 0,
|
||||||
|
mcs = options.maxChunkSize || fs,
|
||||||
|
// Use the Blob methods with the slice implementation
|
||||||
|
// according to the W3C Blob API specification:
|
||||||
|
slice = file.webkitSlice || file.mozSlice || file.slice,
|
||||||
|
upload,
|
||||||
|
n,
|
||||||
|
jqXHR,
|
||||||
|
pipe;
|
||||||
|
if (!(this._isXHRUpload(options) && slice && (ub || mcs < fs)) ||
|
||||||
|
options.data) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (testOnly) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (ub >= fs) {
|
||||||
|
file.error = 'uploadedBytes';
|
||||||
|
return this._getXHRPromise(false);
|
||||||
|
}
|
||||||
|
// n is the number of blobs to upload,
|
||||||
|
// calculated via filesize, uploaded bytes and max chunk size:
|
||||||
|
n = Math.ceil((fs - ub) / mcs);
|
||||||
|
// The chunk upload method accepting the chunk number as parameter:
|
||||||
|
upload = function (i) {
|
||||||
|
if (!i) {
|
||||||
|
return that._getXHRPromise(true);
|
||||||
|
}
|
||||||
|
// Upload the blobs in sequential order:
|
||||||
|
return upload(i -= 1).pipe(function () {
|
||||||
|
// Clone the options object for each chunk upload:
|
||||||
|
var o = $.extend({}, options);
|
||||||
|
o.blob = slice.call(
|
||||||
|
file,
|
||||||
|
ub + i * mcs,
|
||||||
|
ub + (i + 1) * mcs
|
||||||
|
);
|
||||||
|
// Store the current chunk size, as the blob itself
|
||||||
|
// will be dereferenced after data processing:
|
||||||
|
o.chunkSize = o.blob.size;
|
||||||
|
// Process the upload data (the blob and potential form data):
|
||||||
|
that._initXHRData(o);
|
||||||
|
// Add progress listeners for this chunk upload:
|
||||||
|
that._initProgressListener(o);
|
||||||
|
jqXHR = ($.ajax(o) || that._getXHRPromise(false, o.context))
|
||||||
|
.done(function () {
|
||||||
|
// Create a progress event if upload is done and
|
||||||
|
// no progress event has been invoked for this chunk:
|
||||||
|
if (!o.loaded) {
|
||||||
|
that._onProgress($.Event('progress', {
|
||||||
|
lengthComputable: true,
|
||||||
|
loaded: o.chunkSize,
|
||||||
|
total: o.chunkSize
|
||||||
|
}), o);
|
||||||
|
}
|
||||||
|
options.uploadedBytes = o.uploadedBytes +=
|
||||||
|
o.chunkSize;
|
||||||
|
});
|
||||||
|
return jqXHR;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
// Return the piped Promise object, enhanced with an abort method,
|
||||||
|
// which is delegated to the jqXHR object of the current upload,
|
||||||
|
// and jqXHR callbacks mapped to the equivalent Promise methods:
|
||||||
|
pipe = upload(n);
|
||||||
|
pipe.abort = function () {
|
||||||
|
return jqXHR.abort();
|
||||||
|
};
|
||||||
|
return this._enhancePromise(pipe);
|
||||||
|
},
|
||||||
|
|
||||||
|
_beforeSend: function (e, data) {
|
||||||
|
if (this._active === 0) {
|
||||||
|
// the start callback is triggered when an upload starts
|
||||||
|
// and no other uploads are currently running,
|
||||||
|
// equivalent to the global ajaxStart event:
|
||||||
|
this._trigger('start');
|
||||||
|
}
|
||||||
|
this._active += 1;
|
||||||
|
// Initialize the global progress values:
|
||||||
|
this._loaded += data.uploadedBytes || 0;
|
||||||
|
this._total += this._getTotal(data.files);
|
||||||
|
},
|
||||||
|
|
||||||
|
_onDone: function (result, textStatus, jqXHR, options) {
|
||||||
|
if (!this._isXHRUpload(options)) {
|
||||||
|
// Create a progress event for each iframe load:
|
||||||
|
this._onProgress($.Event('progress', {
|
||||||
|
lengthComputable: true,
|
||||||
|
loaded: 1,
|
||||||
|
total: 1
|
||||||
|
}), options);
|
||||||
|
}
|
||||||
|
options.result = result;
|
||||||
|
options.textStatus = textStatus;
|
||||||
|
options.jqXHR = jqXHR;
|
||||||
|
this._trigger('done', null, options);
|
||||||
|
},
|
||||||
|
|
||||||
|
_onFail: function (jqXHR, textStatus, errorThrown, options) {
|
||||||
|
options.jqXHR = jqXHR;
|
||||||
|
options.textStatus = textStatus;
|
||||||
|
options.errorThrown = errorThrown;
|
||||||
|
this._trigger('fail', null, options);
|
||||||
|
if (options.recalculateProgress) {
|
||||||
|
// Remove the failed (error or abort) file upload from
|
||||||
|
// the global progress calculation:
|
||||||
|
this._loaded -= options.loaded || options.uploadedBytes || 0;
|
||||||
|
this._total -= options.total || this._getTotal(options.files);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_onAlways: function (jqXHR, textStatus, options) {
|
||||||
|
this._active -= 1;
|
||||||
|
options.jqXHR = jqXHR;
|
||||||
|
options.textStatus = textStatus;
|
||||||
|
this._trigger('always', null, options);
|
||||||
|
if (this._active === 0) {
|
||||||
|
// The stop callback is triggered when all uploads have
|
||||||
|
// been completed, equivalent to the global ajaxStop event:
|
||||||
|
this._trigger('stop');
|
||||||
|
// Reset the global progress values:
|
||||||
|
this._loaded = this._total = 0;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_onSend: function (e, data) {
|
||||||
|
var that = this,
|
||||||
|
jqXHR,
|
||||||
|
slot,
|
||||||
|
pipe,
|
||||||
|
options = that._getAJAXSettings(data),
|
||||||
|
send = function (resolve, args) {
|
||||||
|
that._sending += 1;
|
||||||
|
jqXHR = jqXHR || (
|
||||||
|
(resolve !== false &&
|
||||||
|
that._trigger('send', e, options) !== false &&
|
||||||
|
(that._chunkedUpload(options) || $.ajax(options))) ||
|
||||||
|
that._getXHRPromise(false, options.context, args)
|
||||||
|
).done(function (result, textStatus, jqXHR) {
|
||||||
|
that._onDone(result, textStatus, jqXHR, options);
|
||||||
|
}).fail(function (jqXHR, textStatus, errorThrown) {
|
||||||
|
that._onFail(jqXHR, textStatus, errorThrown, options);
|
||||||
|
}).complete(function (jqXHR, textStatus) {
|
||||||
|
// jqXHR.complete() will be deprecated in jQuery 1.8,
|
||||||
|
// but is preferable over jqXHR.always() due to this bug:
|
||||||
|
// http://bugs.jquery.com/ticket/10723 (jQuery 1.7)
|
||||||
|
that._sending -= 1;
|
||||||
|
that._onAlways(jqXHR, textStatus, options);
|
||||||
|
if (options.limitConcurrentUploads &&
|
||||||
|
options.limitConcurrentUploads > that._sending) {
|
||||||
|
// Start the next queued upload,
|
||||||
|
// that has not been aborted:
|
||||||
|
var nextSlot = that._slots.shift();
|
||||||
|
while (nextSlot) {
|
||||||
|
if (!nextSlot.isRejected()) {
|
||||||
|
nextSlot.resolve();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
nextSlot = that._slots.shift();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return jqXHR;
|
||||||
|
};
|
||||||
|
this._beforeSend(e, options);
|
||||||
|
if (this.options.sequentialUploads ||
|
||||||
|
(this.options.limitConcurrentUploads &&
|
||||||
|
this.options.limitConcurrentUploads <= this._sending)) {
|
||||||
|
if (this.options.limitConcurrentUploads > 1) {
|
||||||
|
slot = $.Deferred();
|
||||||
|
this._slots.push(slot);
|
||||||
|
pipe = slot.pipe(send);
|
||||||
|
} else {
|
||||||
|
pipe = (this._sequence = this._sequence.pipe(send, send));
|
||||||
|
}
|
||||||
|
// Return the piped Promise object, enhanced with an abort method,
|
||||||
|
// which is delegated to the jqXHR object of the current upload,
|
||||||
|
// and jqXHR callbacks mapped to the equivalent Promise methods:
|
||||||
|
pipe.abort = function () {
|
||||||
|
var args = [undefined, 'abort', 'abort'];
|
||||||
|
if (!jqXHR) {
|
||||||
|
if (slot) {
|
||||||
|
slot.rejectWith(args);
|
||||||
|
}
|
||||||
|
return send(false, args);
|
||||||
|
}
|
||||||
|
return jqXHR.abort();
|
||||||
|
};
|
||||||
|
return this._enhancePromise(pipe);
|
||||||
|
}
|
||||||
|
return send();
|
||||||
|
},
|
||||||
|
|
||||||
|
_onAdd: function (e, data) {
|
||||||
|
var that = this,
|
||||||
|
result = true,
|
||||||
|
options = $.extend({}, this.options, data),
|
||||||
|
limit = options.limitMultiFileUploads,
|
||||||
|
fileSet,
|
||||||
|
i;
|
||||||
|
if (!(options.singleFileUploads || limit) ||
|
||||||
|
!this._isXHRUpload(options)) {
|
||||||
|
fileSet = [data.files];
|
||||||
|
} else if (!options.singleFileUploads && limit) {
|
||||||
|
fileSet = [];
|
||||||
|
for (i = 0; i < data.files.length; i += limit) {
|
||||||
|
fileSet.push(data.files.slice(i, i + limit));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
data.originalFiles = data.files;
|
||||||
|
$.each(fileSet || data.files, function (index, element) {
|
||||||
|
var files = fileSet ? element : [element],
|
||||||
|
newData = $.extend({}, data, {files: files});
|
||||||
|
newData.submit = function () {
|
||||||
|
return (that._trigger('submit', e, newData) !== false) &&
|
||||||
|
that._onSend(e, newData);
|
||||||
|
};
|
||||||
|
return (result = that._trigger('add', e, newData));
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
},
|
||||||
|
|
||||||
|
// File Normalization for Gecko 1.9.1 (Firefox 3.5) support:
|
||||||
|
_normalizeFile: function (index, file) {
|
||||||
|
if (file.name === undefined && file.size === undefined) {
|
||||||
|
file.name = file.fileName;
|
||||||
|
file.size = file.fileSize;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_replaceFileInput: function (input) {
|
||||||
|
var inputClone = input.clone(true);
|
||||||
|
$('<form></form>').append(inputClone)[0].reset();
|
||||||
|
// Detaching allows to insert the fileInput on another form
|
||||||
|
// without loosing the file input value:
|
||||||
|
input.after(inputClone).detach();
|
||||||
|
// Avoid memory leaks with the detached file input:
|
||||||
|
$.cleanData(input.unbind('remove'));
|
||||||
|
// Replace the original file input element in the fileInput
|
||||||
|
// collection with the clone, which has been copied including
|
||||||
|
// event handlers:
|
||||||
|
this.options.fileInput = this.options.fileInput.map(function (i, el) {
|
||||||
|
if (el === input[0]) {
|
||||||
|
return inputClone[0];
|
||||||
|
}
|
||||||
|
return el;
|
||||||
|
});
|
||||||
|
// If the widget has been initialized on the file input itself,
|
||||||
|
// override this.element with the file input clone:
|
||||||
|
if (input[0] === this.element[0]) {
|
||||||
|
this.element = inputClone;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_onChange: function (e) {
|
||||||
|
var that = e.data.fileupload,
|
||||||
|
data = {
|
||||||
|
files: $.each($.makeArray(e.target.files), that._normalizeFile),
|
||||||
|
fileInput: $(e.target),
|
||||||
|
form: $(e.target.form)
|
||||||
|
};
|
||||||
|
if (!data.files.length) {
|
||||||
|
// If the files property is not available, the browser does not
|
||||||
|
// support the File API and we add a pseudo File object with
|
||||||
|
// the input value as name with path information removed:
|
||||||
|
data.files = [{name: e.target.value.replace(/^.*\\/, '')}];
|
||||||
|
}
|
||||||
|
if (that.options.replaceFileInput) {
|
||||||
|
that._replaceFileInput(data.fileInput);
|
||||||
|
}
|
||||||
|
if (that._trigger('change', e, data) === false ||
|
||||||
|
that._onAdd(e, data) === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_onPaste: function (e) {
|
||||||
|
var that = e.data.fileupload,
|
||||||
|
cbd = e.originalEvent.clipboardData,
|
||||||
|
items = (cbd && cbd.items) || [],
|
||||||
|
data = {files: []};
|
||||||
|
$.each(items, function (index, item) {
|
||||||
|
var file = item.getAsFile && item.getAsFile();
|
||||||
|
if (file) {
|
||||||
|
data.files.push(file);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (that._trigger('paste', e, data) === false ||
|
||||||
|
that._onAdd(e, data) === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_onDrop: function (e) {
|
||||||
|
var that = e.data.fileupload,
|
||||||
|
dataTransfer = e.dataTransfer = e.originalEvent.dataTransfer,
|
||||||
|
data = {
|
||||||
|
files: $.each(
|
||||||
|
$.makeArray(dataTransfer && dataTransfer.files),
|
||||||
|
that._normalizeFile
|
||||||
|
)
|
||||||
|
};
|
||||||
|
if (that._trigger('drop', e, data) === false ||
|
||||||
|
that._onAdd(e, data) === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
e.preventDefault();
|
||||||
|
},
|
||||||
|
|
||||||
|
_onDragOver: function (e) {
|
||||||
|
var that = e.data.fileupload,
|
||||||
|
dataTransfer = e.dataTransfer = e.originalEvent.dataTransfer;
|
||||||
|
if (that._trigger('dragover', e) === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (dataTransfer) {
|
||||||
|
dataTransfer.dropEffect = dataTransfer.effectAllowed = 'copy';
|
||||||
|
}
|
||||||
|
e.preventDefault();
|
||||||
|
},
|
||||||
|
|
||||||
|
_initEventHandlers: function () {
|
||||||
|
var ns = this.options.namespace || this.widgetName;
|
||||||
|
this.options.dropZone
|
||||||
|
.bind('dragover.' + ns, {fileupload: this}, this._onDragOver)
|
||||||
|
.bind('drop.' + ns, {fileupload: this}, this._onDrop)
|
||||||
|
.bind('paste.' + ns, {fileupload: this}, this._onPaste);
|
||||||
|
this.options.fileInput
|
||||||
|
.bind('change.' + ns, {fileupload: this}, this._onChange);
|
||||||
|
},
|
||||||
|
|
||||||
|
_destroyEventHandlers: function () {
|
||||||
|
var ns = this.options.namespace || this.widgetName;
|
||||||
|
this.options.dropZone
|
||||||
|
.unbind('dragover.' + ns, this._onDragOver)
|
||||||
|
.unbind('drop.' + ns, this._onDrop)
|
||||||
|
.unbind('paste.' + ns, this._onPaste);
|
||||||
|
this.options.fileInput
|
||||||
|
.unbind('change.' + ns, this._onChange);
|
||||||
|
},
|
||||||
|
|
||||||
|
_beforeSetOption: function (key, value) {
|
||||||
|
this._destroyEventHandlers();
|
||||||
|
},
|
||||||
|
|
||||||
|
_afterSetOption: function (key, value) {
|
||||||
|
var options = this.options;
|
||||||
|
if (!options.fileInput) {
|
||||||
|
options.fileInput = $();
|
||||||
|
}
|
||||||
|
if (!options.dropZone) {
|
||||||
|
options.dropZone = $();
|
||||||
|
}
|
||||||
|
this._initEventHandlers();
|
||||||
|
},
|
||||||
|
|
||||||
|
_setOption: function (key, value) {
|
||||||
|
var refresh = $.inArray(key, this._refreshOptionsList) !== -1;
|
||||||
|
if (refresh) {
|
||||||
|
this._beforeSetOption(key, value);
|
||||||
|
}
|
||||||
|
$.Widget.prototype._setOption.call(this, key, value);
|
||||||
|
if (refresh) {
|
||||||
|
this._afterSetOption(key, value);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_create: function () {
|
||||||
|
var options = this.options;
|
||||||
|
if (options.fileInput === undefined) {
|
||||||
|
options.fileInput = this.element.is('input:file') ?
|
||||||
|
this.element : this.element.find('input:file');
|
||||||
|
} else if (!options.fileInput) {
|
||||||
|
options.fileInput = $();
|
||||||
|
}
|
||||||
|
if (!options.dropZone) {
|
||||||
|
options.dropZone = $();
|
||||||
|
}
|
||||||
|
this._slots = [];
|
||||||
|
this._sequence = this._getXHRPromise(true);
|
||||||
|
this._sending = this._active = this._loaded = this._total = 0;
|
||||||
|
this._initEventHandlers();
|
||||||
|
},
|
||||||
|
|
||||||
|
destroy: function () {
|
||||||
|
this._destroyEventHandlers();
|
||||||
|
$.Widget.prototype.destroy.call(this);
|
||||||
|
},
|
||||||
|
|
||||||
|
enable: function () {
|
||||||
|
$.Widget.prototype.enable.call(this);
|
||||||
|
this._initEventHandlers();
|
||||||
|
},
|
||||||
|
|
||||||
|
disable: function () {
|
||||||
|
this._destroyEventHandlers();
|
||||||
|
$.Widget.prototype.disable.call(this);
|
||||||
|
},
|
||||||
|
|
||||||
|
// This method is exposed to the widget API and allows adding files
|
||||||
|
// using the fileupload API. The data parameter accepts an object which
|
||||||
|
// must have a files property and can contain additional options:
|
||||||
|
// .fileupload('add', {files: filesList});
|
||||||
|
add: function (data) {
|
||||||
|
if (!data || this.options.disabled) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
data.files = $.each($.makeArray(data.files), this._normalizeFile);
|
||||||
|
this._onAdd(null, data);
|
||||||
|
},
|
||||||
|
|
||||||
|
// This method is exposed to the widget API and allows sending files
|
||||||
|
// using the fileupload API. The data parameter accepts an object which
|
||||||
|
// must have a files property and can contain additional options:
|
||||||
|
// .fileupload('send', {files: filesList});
|
||||||
|
// The method returns a Promise object for the file upload call.
|
||||||
|
send: function (data) {
|
||||||
|
if (data && !this.options.disabled) {
|
||||||
|
data.files = $.each($.makeArray(data.files), this._normalizeFile);
|
||||||
|
if (data.files.length) {
|
||||||
|
return this._onSend(null, data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this._getXHRPromise(false, data && data.context);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}(jQuery));
|
156
vendor/built_in_modules/gallery/app/assets/javascripts/jquery.iframe-transport.js
vendored
Executable file
|
@ -0,0 +1,156 @@
|
||||||
|
/*
|
||||||
|
* jQuery Iframe Transport Plugin 1.2.3
|
||||||
|
* https://github.com/blueimp/jQuery-File-Upload
|
||||||
|
*
|
||||||
|
* Copyright 2011, Sebastian Tschan
|
||||||
|
* https://blueimp.net
|
||||||
|
*
|
||||||
|
* Licensed under the MIT license:
|
||||||
|
* http://creativecommons.org/licenses/MIT/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*jslint unparam: true */
|
||||||
|
/*global jQuery */
|
||||||
|
|
||||||
|
(function ($) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
// Helper variable to create unique names for the transport iframes:
|
||||||
|
var counter = 0;
|
||||||
|
|
||||||
|
// The iframe transport accepts three additional options:
|
||||||
|
// options.fileInput: a jQuery collection of file input fields
|
||||||
|
// options.paramName: the parameter name for the file form data,
|
||||||
|
// overrides the name property of the file input field(s)
|
||||||
|
// options.formData: an array of objects with name and value properties,
|
||||||
|
// equivalent to the return data of .serializeArray(), e.g.:
|
||||||
|
// [{name: a, value: 1}, {name: b, value: 2}]
|
||||||
|
$.ajaxTransport('iframe', function (options, originalOptions, jqXHR) {
|
||||||
|
if (options.type === 'POST' || options.type === 'GET') {
|
||||||
|
var form,
|
||||||
|
iframe;
|
||||||
|
return {
|
||||||
|
send: function (headers, completeCallback) {
|
||||||
|
form = $('<form style="display:none;"></form>');
|
||||||
|
// javascript:false as initial iframe src
|
||||||
|
// prevents warning popups on HTTPS in IE6.
|
||||||
|
// IE versions below IE8 cannot set the name property of
|
||||||
|
// elements that have already been added to the DOM,
|
||||||
|
// so we set the name along with the iframe HTML markup:
|
||||||
|
iframe = $(
|
||||||
|
'<iframe src="javascript:false;" name="iframe-transport-' +
|
||||||
|
(counter += 1) + '"></iframe>'
|
||||||
|
).bind('load', function () {
|
||||||
|
var fileInputClones;
|
||||||
|
iframe
|
||||||
|
.unbind('load')
|
||||||
|
.bind('load', function () {
|
||||||
|
var response;
|
||||||
|
// Wrap in a try/catch block to catch exceptions thrown
|
||||||
|
// when trying to access cross-domain iframe contents:
|
||||||
|
try {
|
||||||
|
response = iframe.contents();
|
||||||
|
// Google Chrome and Firefox do not throw an
|
||||||
|
// exception when calling iframe.contents() on
|
||||||
|
// cross-domain requests, so we unify the response:
|
||||||
|
if (!response.length || !response[0].firstChild) {
|
||||||
|
throw new Error();
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
response = undefined;
|
||||||
|
}
|
||||||
|
// The complete callback returns the
|
||||||
|
// iframe content document as response object:
|
||||||
|
completeCallback(
|
||||||
|
200,
|
||||||
|
'success',
|
||||||
|
{'iframe': response}
|
||||||
|
);
|
||||||
|
// Fix for IE endless progress bar activity bug
|
||||||
|
// (happens on form submits to iframe targets):
|
||||||
|
$('<iframe src="javascript:false;"></iframe>')
|
||||||
|
.appendTo(form);
|
||||||
|
form.remove();
|
||||||
|
});
|
||||||
|
form
|
||||||
|
.prop('target', iframe.prop('name'))
|
||||||
|
.prop('action', options.url)
|
||||||
|
.prop('method', options.type);
|
||||||
|
if (options.formData) {
|
||||||
|
$.each(options.formData, function (index, field) {
|
||||||
|
$('<input type="hidden"/>')
|
||||||
|
.prop('name', field.name)
|
||||||
|
.val(field.value)
|
||||||
|
.appendTo(form);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (options.fileInput && options.fileInput.length &&
|
||||||
|
options.type === 'POST') {
|
||||||
|
fileInputClones = options.fileInput.clone();
|
||||||
|
// Insert a clone for each file input field:
|
||||||
|
options.fileInput.after(function (index) {
|
||||||
|
return fileInputClones[index];
|
||||||
|
});
|
||||||
|
if (options.paramName) {
|
||||||
|
options.fileInput.each(function () {
|
||||||
|
$(this).prop('name', options.paramName);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Appending the file input fields to the hidden form
|
||||||
|
// removes them from their original location:
|
||||||
|
form
|
||||||
|
.append(options.fileInput)
|
||||||
|
.prop('enctype', 'multipart/form-data')
|
||||||
|
// enctype must be set as encoding for IE:
|
||||||
|
.prop('encoding', 'multipart/form-data');
|
||||||
|
}
|
||||||
|
form.submit();
|
||||||
|
// Insert the file input fields at their original location
|
||||||
|
// by replacing the clones with the originals:
|
||||||
|
if (fileInputClones && fileInputClones.length) {
|
||||||
|
options.fileInput.each(function (index, input) {
|
||||||
|
var clone = $(fileInputClones[index]);
|
||||||
|
$(input).prop('name', clone.prop('name'));
|
||||||
|
clone.replaceWith(input);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
form.append(iframe).appendTo('body');
|
||||||
|
},
|
||||||
|
abort: function () {
|
||||||
|
if (iframe) {
|
||||||
|
// javascript:false as iframe src aborts the request
|
||||||
|
// and prevents warning popups on HTTPS in IE6.
|
||||||
|
// concat is used to avoid the "Script URL" JSLint error:
|
||||||
|
iframe
|
||||||
|
.unbind('load')
|
||||||
|
.prop('src', 'javascript'.concat(':false;'));
|
||||||
|
}
|
||||||
|
if (form) {
|
||||||
|
form.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// The iframe transport returns the iframe content document as response.
|
||||||
|
// The following adds converters from iframe to text, json, html, and script:
|
||||||
|
$.ajaxSetup({
|
||||||
|
converters: {
|
||||||
|
'iframe text': function (iframe) {
|
||||||
|
return iframe.find('body').text();
|
||||||
|
},
|
||||||
|
'iframe json': function (iframe) {
|
||||||
|
return $.parseJSON(iframe.find('body').text());
|
||||||
|
},
|
||||||
|
'iframe html': function (iframe) {
|
||||||
|
return iframe.find('body').html();
|
||||||
|
},
|
||||||
|
'iframe script': function (iframe) {
|
||||||
|
return $.globalEval(iframe.find('body').text());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}(jQuery));
|
|
@ -0,0 +1,39 @@
|
||||||
|
//https://github.com/blueimp/jQuery-File-Upload
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
// Initialize the jQuery File Upload widget:
|
||||||
|
$('#fileupload').fileupload({"aid" : parent.g.urlVars['album']},{
|
||||||
|
acceptFileTypes:/(\.|\/)(jpe?g|png)$/i,
|
||||||
|
headers:{
|
||||||
|
'X-CSRF-Token': $('meta[name="csrf-token"]').attr("content")
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('#fileupload').bind("fileuploadadd",function(e,data){$(".fileupload-content").css("background-image","none");})
|
||||||
|
// Load existing files:
|
||||||
|
/* $.getJSON($('#fileupload form').prop('action'),{albumid:pagevars['id']}, function (files) {
|
||||||
|
var fu = $('#fileupload').data('fileupload');
|
||||||
|
fu._adjustMaxNumberOfFiles(-files.length);
|
||||||
|
fu._renderDownload(files)
|
||||||
|
.appendTo($('#fileupload .files'))
|
||||||
|
.fadeIn(function () {
|
||||||
|
// Fix for IE7 and lower:
|
||||||
|
$(this).show();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
// Open download dialogs via iframes,
|
||||||
|
// to prevent aborting current uploads:
|
||||||
|
$('#fileupload .files').delegate(
|
||||||
|
'a:not([target^=_blank])',
|
||||||
|
'click',
|
||||||
|
function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
$('<iframe style="display:none;"></iframe>')
|
||||||
|
.prop('src', this.href)
|
||||||
|
.appendTo('body');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
});
|
|
@ -0,0 +1,563 @@
|
||||||
|
/*html { background: #eee; }
|
||||||
|
body {
|
||||||
|
background: #fff;
|
||||||
|
width: 600px;
|
||||||
|
margin: 0 auto 20px auto;
|
||||||
|
padding: 20px 20px 0 20px;
|
||||||
|
border: solid 4px #ddd;
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
body.fullscreen, .fullscreen #container, .fullscreen #container2, .fullscreen #main1, .fullscreen #main2, .fullscreen #main, .fullscreen #content, .fullscreen #content2 { position: static; }
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
.rg, .rgp {
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
-webkit-transition: all 0.3s ease;
|
||||||
|
-moz-transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
.rg input, .rgp input, .rg textarea, .rgp textarea {
|
||||||
|
resize: none;
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
background: transparent;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
display: block;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
.rgp textarea { overflow: auto; }
|
||||||
|
.rg a, .rgp a {
|
||||||
|
text-decoration: none;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
.rg a:hover { }
|
||||||
|
|
||||||
|
.rg img { display: block; border: none; width: 120px; height: 90px; }
|
||||||
|
|
||||||
|
.rgmask { background: #000; width: 100%; position: fixed; top: 0; left: 0; }
|
||||||
|
|
||||||
|
.rgui {
|
||||||
|
background: transparent 0 0 url(../../../assets/gallery/rgui.png) no-repeat;
|
||||||
|
display: inline-block;
|
||||||
|
overflow: hidden;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.rghead, .rgbody { overflow: hidden; }
|
||||||
|
.rghead {
|
||||||
|
border-bottom: solid 1px #ccc;
|
||||||
|
padding: 10px 0;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
.rgtitle {
|
||||||
|
color: #333;
|
||||||
|
text-shadow: 0 1px 0 #ddd;
|
||||||
|
font-size: 2em;
|
||||||
|
padding: 0 8px;
|
||||||
|
}
|
||||||
|
.rgbody {
|
||||||
|
|
||||||
|
}
|
||||||
|
.rgfn { overflow: hidden; padding: 4px 10px; }
|
||||||
|
.rgalbum, .rgphoto { float: left; margin: 0 0 24px 0; }
|
||||||
|
.rgalbum {
|
||||||
|
width: 150px;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
.rgalbum img {
|
||||||
|
transition: all, 0.5s ease;
|
||||||
|
-webkit-transition: all, 0.5s ease;
|
||||||
|
-moz-transition: all 0.5s ease;
|
||||||
|
-ms-transition: all, 0.5s ease;
|
||||||
|
}
|
||||||
|
.rgphoto { width: 128px; }
|
||||||
|
.rgphoto img, .rgphoto_edit img {
|
||||||
|
display: block;
|
||||||
|
padding: 3px;
|
||||||
|
border: solid 1px #BFBFBF;
|
||||||
|
background: #fff;
|
||||||
|
|
||||||
|
border-radius: 3px;
|
||||||
|
-webkit-border-radius: 3px;
|
||||||
|
-moz-border-radius: 3px;
|
||||||
|
-ms-border-radius: 3px;
|
||||||
|
|
||||||
|
box-shadow: 0 1px 0 rgba(0,0,0,0.1);
|
||||||
|
-webkit-box-shadow: 0 1px 0 rgba(0,0,0,0.1);
|
||||||
|
-moz-box-shadow: 0 1px 0 rgba(0,0,0,0.1);
|
||||||
|
-ms-box-shadow: 0 1px 0 rgba(0,0,0,0.1);
|
||||||
|
|
||||||
|
transition: all, 0.3s ease;
|
||||||
|
-webkit-transition: all, 0.3s ease;
|
||||||
|
-moz-transition: all, 0.3s ease;
|
||||||
|
-ms-transition: all, 0.3s ease;
|
||||||
|
}
|
||||||
|
.rgphoto a:hover img {
|
||||||
|
border-color: #666;
|
||||||
|
}
|
||||||
|
.rgalbum .albumname {
|
||||||
|
|
||||||
|
transition: background 0.3s ease;
|
||||||
|
-webkit-transition: background 0.3s ease;
|
||||||
|
-moz-transition: background 0.3s ease;
|
||||||
|
-ms-transition: background 0.3s ease;
|
||||||
|
}
|
||||||
|
.rgalbum a:hover img {
|
||||||
|
opacity: 0.85;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rgp .rgtitle { margin: 0 0 10px 0; }
|
||||||
|
|
||||||
|
/* Photo Edit */
|
||||||
|
.albumname_edit label, .albumname_edit .rginput, .rgphoto_edit img, .rgphoto_edit .rginput { float: left; }
|
||||||
|
.rgphoto_edit, .albumname_edit { clear: both; overflow: hidden; }
|
||||||
|
.albumname_edit label { width: 128px; margin: 0 10px 0 0; text-align: right; padding: 0; line-height: 24px; }
|
||||||
|
.albumname_edit .rginput { }
|
||||||
|
.rgphoto_edit img { margin-right: 10px; }
|
||||||
|
.rgphoto_edit .rginput { margin-right: 10px; }
|
||||||
|
.rgphoto_edit .edit_fn { }
|
||||||
|
.rgphoto_edit .edit_fn .bt-dels { margin-right: 4px; }
|
||||||
|
|
||||||
|
/* Delete List */
|
||||||
|
.rglist { overflow: hidden; padding: 10px 0; }
|
||||||
|
.list { table-layout:fixed; width: 100%; margin: 0 0 12px 0; }
|
||||||
|
.list thead th { padding: 8px 4px; font-size: 30px; font-weight: bold; }
|
||||||
|
.list th img { width: 60px; height: 45px; }
|
||||||
|
.list .photoname { padding-left: 6px; }
|
||||||
|
.list .photofn { padding-right: 4px; }
|
||||||
|
.list .photofn a { float: right; margin-left: 4px; display: block; }
|
||||||
|
.list th { padding: 4px 0 4px 4px; }
|
||||||
|
.list tbody th, .list tbody td { border-bottom: solid 1px #ccc; }
|
||||||
|
.list .odd th, .list .odd td { background: #f6f6f6; }
|
||||||
|
.list .c1 { width: 64px; }
|
||||||
|
.list .c3 { width: 40px; }
|
||||||
|
|
||||||
|
/* Ruling Slide */
|
||||||
|
.rslide {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
background: #333;
|
||||||
|
clear: both;
|
||||||
|
/*z-index: 99;*/
|
||||||
|
min-height: 250px;
|
||||||
|
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
-webkit-transition: all 0.3s ease;
|
||||||
|
-moz-transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
.rslide.fullscreen { position: fixed; z-index: 99; }
|
||||||
|
.rslideinside {
|
||||||
|
/*
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
.comp {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
-webkit-transition: all 0.3s ease;
|
||||||
|
-moz-transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
.comp img{ display: block; width: auto; height: auto; margin: 0 auto; cursor: pointer; min-height: 250px; }
|
||||||
|
.comp .full{ width: auto; height: auto; max-width: 100%; max-height: 100%; }
|
||||||
|
.rslidenav {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
margin-top: -35px;
|
||||||
|
}
|
||||||
|
.rslidenav a {
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
width: 30px;
|
||||||
|
height: 40px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-indent: -999px;
|
||||||
|
background: #000 0 center url(../../../assets/gallery/slidenav.png) no-repeat;
|
||||||
|
background: rgba(0,0,0,0.9) 0 0 url(../../../assets/gallery/slidenav.png) no-repeat;
|
||||||
|
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
-webkit-transition: all 0.3s ease;
|
||||||
|
-moz-transition: all 0.3s ease;
|
||||||
|
-ms-transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
.rslidenav a:hover {
|
||||||
|
background-color: #fff;
|
||||||
|
background-color: rgba(255,255,255,0.9);
|
||||||
|
}
|
||||||
|
.rslidenav .navP { left: 0; border-radius: 0 4px 4px 0; background-position: 0 -40px; }
|
||||||
|
.rslidenav .navN { right: 0; border-radius: 4px 0 0 4px; background-position: -30px 0; }
|
||||||
|
.rslidenav a.navP:hover { background-position: -30px -40px; }
|
||||||
|
.rslidenav a.navN:hover { background-position: 0 0; }
|
||||||
|
.slidectrl {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 30px;
|
||||||
|
background: #000 left top url(../../../assets/gallery/slidetitlebg.png) repeat-x;
|
||||||
|
background: rgba(0,0,0,0.9) left top url(../../../assets/gallery/slidetitlebg.png) repeat-x;
|
||||||
|
/*z-index: 999;*/
|
||||||
|
}
|
||||||
|
.slidectrl a {
|
||||||
|
display: block;
|
||||||
|
float: right;
|
||||||
|
text-indent: -9999px;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
background: transparent 0 0 url(../../../assets/gallery/slideui.gif) no-repeat;
|
||||||
|
border-left: solid 1px #222;
|
||||||
|
}
|
||||||
|
.slidectrl a.togglelist { background-position: 0 -30px; }
|
||||||
|
.slidectrl a.toinline { background-position: -30px 0; }
|
||||||
|
.slidectrl a.sharebt { background-position: -30px -30px; }
|
||||||
|
.slidectrl a.browserfullscreen {background-position: -30px -30px; display:none;}
|
||||||
|
.slidectrl a.slidestop { background-position: 0 -60px; }
|
||||||
|
.slideinfo {
|
||||||
|
height: 30px;
|
||||||
|
line-height: 30px;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 13px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.slideinfo .info { padding: 0 0 0 6px; text-transform: uppercase; }
|
||||||
|
.slideinfo span.info { color: #ccc; text-transform: none; }
|
||||||
|
|
||||||
|
.slidelist {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 30px;
|
||||||
|
z-index: 99;
|
||||||
|
width: 100%;
|
||||||
|
height: 0;
|
||||||
|
overflow: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
|
background: transparent 0 0 url(../../../assets/gallery/slidelistbg.png);
|
||||||
|
}
|
||||||
|
.slidelist ul {
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 10px 0 10px 10px;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.slidelist li {
|
||||||
|
display: inline-block;
|
||||||
|
margin: 0 10px 10px 0;
|
||||||
|
}
|
||||||
|
.slidelist a {
|
||||||
|
border: solid 2px #fff;
|
||||||
|
display: block;
|
||||||
|
width: 120px;
|
||||||
|
height: 90px;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
box-shadow: 0 0 6px rgba(0,0,0,0.7);
|
||||||
|
-webkit-box-shadow: 0 0 6px rgba(0,0,0,0.7);
|
||||||
|
-moz-box-shadow: 0 0 6px rgba(0,0,0,0.7);
|
||||||
|
-ms-box-shadow: 0 0 6px rgba(0,0,0,0.7);
|
||||||
|
}
|
||||||
|
.slidelist a.playall {
|
||||||
|
border: none;
|
||||||
|
width: 80px;
|
||||||
|
height: 32px;
|
||||||
|
margin: 31px 0 0 22px;
|
||||||
|
background: transparent 0 0 url(../../../assets/gallery/playall.png) no-repeat;
|
||||||
|
|
||||||
|
box-shadow: none;
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
-moz-box-shadow: none;
|
||||||
|
-ms-box-shadow: none;
|
||||||
|
}
|
||||||
|
.slidelist a.playall:hover { background-position: 0 -32px; }
|
||||||
|
#li_play_all { width: 124px; height: 94px; }
|
||||||
|
.slidelist img {
|
||||||
|
margin: 0;
|
||||||
|
background: #fff;
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
transition: all 0.2s ease;
|
||||||
|
-webkit-transition: all 0.2s ease;
|
||||||
|
-moz-transition: all 0.2s ease;
|
||||||
|
-ms-transition: all 0.2s ease;
|
||||||
|
}
|
||||||
|
.slidelist a:hover img {
|
||||||
|
padding: 4px;
|
||||||
|
margin: -4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dm {
|
||||||
|
background: #fff;
|
||||||
|
border: solid 1px #a4a4a4;
|
||||||
|
border-right-color: #666;
|
||||||
|
position: absolute;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 2px 0;
|
||||||
|
display: none;
|
||||||
|
|
||||||
|
border-radius: 4px;
|
||||||
|
-webkit-border-radius: 4px;
|
||||||
|
-moz-border-radius: 4px;
|
||||||
|
-ms-border-radius: 4px;
|
||||||
|
}
|
||||||
|
.dm ul { margin: 0; padding: 0; list-style: none !important; }
|
||||||
|
.dm li {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border-bottom: solid 1px #ccc;
|
||||||
|
list-style: none !important;
|
||||||
|
}
|
||||||
|
.dm li a {
|
||||||
|
display: block;
|
||||||
|
padding: 6px 10px;
|
||||||
|
font-size: 13px;
|
||||||
|
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
-webkit-transition: all 0.3s ease;
|
||||||
|
-moz-transition: all 0.3s ease;
|
||||||
|
-ms-transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
.dm li a:hover { background: #eee; }
|
||||||
|
|
||||||
|
/* Ruling Gallery UI */
|
||||||
|
.rgbt {
|
||||||
|
padding: 0 0 0 32px;
|
||||||
|
vertical-align: top;
|
||||||
|
|
||||||
|
text-shadow: 0 1px 0 #fff;
|
||||||
|
-webkit-text-shadow: 0 1px 0 #fff;
|
||||||
|
-moz-text-shadow: 0 1px 0 #fff;
|
||||||
|
-ms-text-shadow: 0 1px 0 #fff;
|
||||||
|
}
|
||||||
|
.rgbt span {
|
||||||
|
padding: 0 12px 0 8px;
|
||||||
|
background: transparent right -106px url(../../../assets/gallery/rgui.png) no-repeat;
|
||||||
|
display: inline-block;
|
||||||
|
line-height: 30px;
|
||||||
|
height: 32px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.rgbt:hover span { background-position: right -296px; }
|
||||||
|
.rgbt:active span { background-position: right -486px; line-height: 31px; }
|
||||||
|
|
||||||
|
.rgbtsg {
|
||||||
|
padding: 0;
|
||||||
|
width: 30px;
|
||||||
|
height: 32px;
|
||||||
|
text-indent: -999px;
|
||||||
|
background-position: -358px 0;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
.bt-add { background-position: 0 -106px; }
|
||||||
|
.bt-add:hover { background-position: 0 -296px; }
|
||||||
|
.bt-add:active { background-position: 0 -486px; }
|
||||||
|
.bt-del { background-position: 0 -144px; }
|
||||||
|
.bt-del:hover { background-position: 0 -334px; }
|
||||||
|
.bt-del:active { background-position: 0 -524px; }
|
||||||
|
.bt-edit { background-position: 0 -182px; }
|
||||||
|
.bt-edit:hover { background-position: 0 -372px; }
|
||||||
|
.bt-edit:active { background-position: 0 -562px; }
|
||||||
|
.bt-back { background-position: 0 -676px; }
|
||||||
|
.bt-back:hover { background-position: 0 -714px; }
|
||||||
|
.bt-back:active { background-position: 0 -752px; }
|
||||||
|
.bt-save, .bt-finish { background-position: 0 -220px; }
|
||||||
|
.bt-save:hover, .bt-finish:hover { background-position: 0 -410px; }
|
||||||
|
.bt-save:active, .bt-finish:active { background-position: 0 -600px; }
|
||||||
|
*/
|
||||||
|
.bt-finish { display: block; float: right; clear: both; }
|
||||||
|
.bt-addnew {
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 98px;
|
||||||
|
height: 100px;
|
||||||
|
text-indent: -9999px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.bt-addnew:hover { background-position: -106px 0; }
|
||||||
|
.bt-addnew:active { background-position: -212px 0; }
|
||||||
|
.bt-next{
|
||||||
|
background-position: 0 -258px;
|
||||||
|
display: block;
|
||||||
|
float: right;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
.bt-next:hover { background-position: 0 -448px; }
|
||||||
|
.bt-next:active { background-position: 0 -638px; }
|
||||||
|
.bt-close {
|
||||||
|
position: absolute;
|
||||||
|
right: 6px;
|
||||||
|
top: 6px;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
.bt-close:hover { background-position: -436px 0; }
|
||||||
|
.bt-close:active { background-position: -514px 0; }
|
||||||
|
.bt-cls { background-position: 0 -790px; }
|
||||||
|
.bt-cls:hover { background-position: 0 -828px; }
|
||||||
|
.bt-cls:active { background-position: 0 -866px; }
|
||||||
|
.bt-dels { background-position: -318px 0; width: 32px; }
|
||||||
|
.bt-dels:hover { background-position: -396px 0; }
|
||||||
|
.bt-dels:active { background-position: -474px 0; }
|
||||||
|
.bt-dels.setdelete { background-position: -474px -38px; width: 32px; }
|
||||||
|
.bt-cover { background-position: -318px -38px; width: 32px; }
|
||||||
|
.bt-cover:hover { background-position: -358px -38px; }
|
||||||
|
.bt-cover:active { background-position: -398px -38px; }
|
||||||
|
.bt-cover.setcover { background-position: -438px -38px; }
|
||||||
|
.bt-chk { background-position: -318px -76px; width: 16px; height: 16px; margin-right: 4px; }
|
||||||
|
.bt-chk:hover { background-position: -342px -76px; }
|
||||||
|
.bt-chk.check { background-position: -366px -76px; }
|
||||||
|
.bt-languages { background-position: -398px -72px; width: 32px; position: relative; }
|
||||||
|
.bt-languages:hover { background-position: -438px -72px; }
|
||||||
|
.bt-languages:active { background-position: -477px -72px; }
|
||||||
|
*/
|
||||||
|
|
||||||
|
.inputui {
|
||||||
|
background: transparent 0 0 url(../../../assets/gallery/inputui.png) no-repeat;
|
||||||
|
padding: 0 0 0 4px;
|
||||||
|
margin: 0 0 8px 0;
|
||||||
|
}
|
||||||
|
.inputui span {
|
||||||
|
background: transparent 0 0 url(../../../assets/gallery/inputui.png) no-repeat;
|
||||||
|
padding: 0 4px 0 0;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.rginput { max-width: 400px; }
|
||||||
|
.rginput input, .rginput textarea { color: #999; }
|
||||||
|
.rginput.focus input, .rginput.focus textarea { color: #333; }
|
||||||
|
|
||||||
|
.rgih26 { width: 208px; background-position: 0 0; }
|
||||||
|
.rgih26 span { background-position: right 0; height: 26px; }
|
||||||
|
.rgih26 input { width: 100%; line-height: 26px; height: 26px; }
|
||||||
|
.rgih26.focus { background-position: 0 -34px; }
|
||||||
|
.rgih26.focus span { background-position: right -34px; }
|
||||||
|
.rgih68 { width: 396px; background-position: 0 -68px; }
|
||||||
|
.rgih68 span { background-position: right -68px; padding: 3px 4px 3px 0; }
|
||||||
|
.rgih68 textarea { width: 392px; height: 62px; }
|
||||||
|
.rgih68.focus { background-position: 0 -144px; }
|
||||||
|
.rgih68.focus span { background-position: right -144px; }
|
||||||
|
.rgih98 { width: 396px; background-position: 0 -220px; }
|
||||||
|
.rgih98 span { background-position: right -220px; padding: 3px 4px 3px 0; }
|
||||||
|
.rgih98 textarea { width: 376px; height: 92px; }
|
||||||
|
.rgih98.focus { background-position: 0 -326px; }
|
||||||
|
.rgih98.focus span { background-position: right -326px; }
|
||||||
|
|
||||||
|
.w380 { width: 380px; }
|
||||||
|
|
||||||
|
#imgholder { overflow: hidden; }
|
||||||
|
|
||||||
|
/* upload panel */
|
||||||
|
#upload_panel_holder {
|
||||||
|
display: none;
|
||||||
|
margin: 16px 0 0 0;
|
||||||
|
clear: both;
|
||||||
|
float: right;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
#upload_panel {
|
||||||
|
background-color: #ddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* tag panel */
|
||||||
|
#tag_panel {
|
||||||
|
position: fixed;
|
||||||
|
right: -200px;
|
||||||
|
top: 31px;
|
||||||
|
width: 200px;
|
||||||
|
min-height: 100px;
|
||||||
|
border-left: solid 1px #ccc;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
#tag_panel .scrollbar {
|
||||||
|
right: 0px;
|
||||||
|
top: 0px;
|
||||||
|
width: 9px;
|
||||||
|
}
|
||||||
|
#tag_panel .viewport {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tag_list {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.tag_list li {
|
||||||
|
padding: 4px 6px;
|
||||||
|
border-top: solid 1px #f6f6f6;
|
||||||
|
}
|
||||||
|
.tag_list li:first-child {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
.tag_list li:hover {
|
||||||
|
background-color: #08c;
|
||||||
|
}
|
||||||
|
.tag_list li:hover label {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.tag_list input[type=checkbox], .tag_list label {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
text-transform: capitalize;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.tag_list label {
|
||||||
|
padding: 0 6px;
|
||||||
|
}
|
||||||
|
.tag_search {
|
||||||
|
position: absolute;
|
||||||
|
left: -1px;
|
||||||
|
bottom: -32px;
|
||||||
|
width: 200px;
|
||||||
|
height: 32px;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
border-left: solid 1px #ccc;
|
||||||
|
border-top: solid 1px #ddd;
|
||||||
|
}
|
||||||
|
.tag_search input[type=text] {
|
||||||
|
box-shadow: none;
|
||||||
|
width: 170px;
|
||||||
|
height: 25px;
|
||||||
|
line-height: 25px;
|
||||||
|
padding: 3px 6px 3px 24px;
|
||||||
|
border-top: solid 1px #fff;
|
||||||
|
}
|
||||||
|
.tag_search input[type=text]:focus {
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
.tag_search .icon-search {
|
||||||
|
position: absolute;
|
||||||
|
left: 6px;
|
||||||
|
top: 50%;
|
||||||
|
margin-top: -7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* orbit style implementation */
|
||||||
|
#orbit_gallery {
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
#orbit_gallery .nav-tabs, #orbit_gallery .tab-pane {
|
||||||
|
margin-left: 8px;
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
.tab_content .tab-pane{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.tab_content .active{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
#orbit_gallery .btn { margin: 0; }
|
||||||
|
#orbit_gallery .rgfn .btn {
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
#orbit_gallery .rgfn i { margin-right: 4px; }
|
||||||
|
#orbit_gallery .form-actions { background-color: whiteSmoke; }
|
|
@ -0,0 +1,566 @@
|
||||||
|
/*
|
||||||
|
* jQuery UI CSS Framework 1.8.16
|
||||||
|
*
|
||||||
|
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://docs.jquery.com/UI/Theming/API
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Layout helpers
|
||||||
|
----------------------------------*/
|
||||||
|
.ui-helper-hidden { display: none; }
|
||||||
|
.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
|
||||||
|
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
||||||
|
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
||||||
|
.ui-helper-clearfix { display: inline-block; }
|
||||||
|
/* required comment for clearfix to work in Opera \*/
|
||||||
|
* html .ui-helper-clearfix { height:1%; }
|
||||||
|
.ui-helper-clearfix { display:block; }
|
||||||
|
/* end clearfix */
|
||||||
|
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
||||||
|
|
||||||
|
|
||||||
|
/* Interaction Cues
|
||||||
|
----------------------------------*/
|
||||||
|
.ui-state-disabled { cursor: default !important; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Icons
|
||||||
|
----------------------------------*/
|
||||||
|
|
||||||
|
/* states and images */
|
||||||
|
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Misc visuals
|
||||||
|
----------------------------------*/
|
||||||
|
|
||||||
|
/* Overlays */
|
||||||
|
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
||||||
|
/*
|
||||||
|
* jQuery UI Accordion 1.8.16
|
||||||
|
*
|
||||||
|
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://docs.jquery.com/UI/Accordion#theming
|
||||||
|
*/
|
||||||
|
/* IE/Win - Fix animation bug - #4615 */
|
||||||
|
.ui-accordion { width: 100%; }
|
||||||
|
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
|
||||||
|
.ui-accordion .ui-accordion-li-fix { display: inline; }
|
||||||
|
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
|
||||||
|
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
|
||||||
|
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
|
||||||
|
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
|
||||||
|
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
|
||||||
|
.ui-accordion .ui-accordion-content-active { display: block; }
|
||||||
|
/*
|
||||||
|
* jQuery UI Autocomplete 1.8.16
|
||||||
|
*
|
||||||
|
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://docs.jquery.com/UI/Autocomplete#theming
|
||||||
|
*/
|
||||||
|
.ui-autocomplete { position: absolute; cursor: default; }
|
||||||
|
|
||||||
|
/* workarounds */
|
||||||
|
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* jQuery UI Menu 1.8.16
|
||||||
|
*
|
||||||
|
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://docs.jquery.com/UI/Menu#theming
|
||||||
|
*/
|
||||||
|
.ui-menu {
|
||||||
|
list-style:none;
|
||||||
|
padding: 2px;
|
||||||
|
margin: 0;
|
||||||
|
display:block;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.ui-menu .ui-menu {
|
||||||
|
margin-top: -3px;
|
||||||
|
}
|
||||||
|
.ui-menu .ui-menu-item {
|
||||||
|
margin:0;
|
||||||
|
padding: 0;
|
||||||
|
zoom: 1;
|
||||||
|
float: left;
|
||||||
|
clear: left;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.ui-menu .ui-menu-item a {
|
||||||
|
text-decoration:none;
|
||||||
|
display:block;
|
||||||
|
padding:.2em .4em;
|
||||||
|
line-height:1.5;
|
||||||
|
zoom:1;
|
||||||
|
}
|
||||||
|
.ui-menu .ui-menu-item a.ui-state-hover,
|
||||||
|
.ui-menu .ui-menu-item a.ui-state-active {
|
||||||
|
font-weight: normal;
|
||||||
|
margin: -1px;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* jQuery UI Button 1.8.16
|
||||||
|
*
|
||||||
|
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://docs.jquery.com/UI/Button#theming
|
||||||
|
*/
|
||||||
|
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
|
||||||
|
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
|
||||||
|
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
|
||||||
|
.ui-button-icons-only { width: 3.4em; }
|
||||||
|
button.ui-button-icons-only { width: 3.7em; }
|
||||||
|
|
||||||
|
/*button text element */
|
||||||
|
.ui-button .ui-button-text { display: block; line-height: 1.4; }
|
||||||
|
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
|
||||||
|
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
|
||||||
|
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
|
||||||
|
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
|
||||||
|
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
|
||||||
|
/* no icon support for input elements, provide padding by default */
|
||||||
|
input.ui-button { padding: .4em 1em; }
|
||||||
|
|
||||||
|
/*button icon element(s) */
|
||||||
|
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
|
||||||
|
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
|
||||||
|
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
|
||||||
|
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
||||||
|
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
||||||
|
|
||||||
|
/*button sets*/
|
||||||
|
.ui-buttonset { margin-right: 7px; }
|
||||||
|
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
|
||||||
|
|
||||||
|
/* workarounds */
|
||||||
|
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
|
||||||
|
/*
|
||||||
|
* jQuery UI Datepicker 1.8.16
|
||||||
|
*
|
||||||
|
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://docs.jquery.com/UI/Datepicker#theming
|
||||||
|
*/
|
||||||
|
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
|
||||||
|
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
|
||||||
|
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
|
||||||
|
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
|
||||||
|
.ui-datepicker .ui-datepicker-prev { left:2px; }
|
||||||
|
.ui-datepicker .ui-datepicker-next { right:2px; }
|
||||||
|
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
|
||||||
|
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
|
||||||
|
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
|
||||||
|
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
|
||||||
|
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
|
||||||
|
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
|
||||||
|
.ui-datepicker select.ui-datepicker-month,
|
||||||
|
.ui-datepicker select.ui-datepicker-year { width: 49%;}
|
||||||
|
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
|
||||||
|
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
|
||||||
|
.ui-datepicker td { border: 0; padding: 1px; }
|
||||||
|
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
|
||||||
|
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
|
||||||
|
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
|
||||||
|
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
|
||||||
|
|
||||||
|
/* with multiple calendars */
|
||||||
|
.ui-datepicker.ui-datepicker-multi { width:auto; }
|
||||||
|
.ui-datepicker-multi .ui-datepicker-group { float:left; }
|
||||||
|
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
|
||||||
|
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
|
||||||
|
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
|
||||||
|
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
|
||||||
|
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
|
||||||
|
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
|
||||||
|
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
|
||||||
|
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
|
||||||
|
|
||||||
|
/* RTL support */
|
||||||
|
.ui-datepicker-rtl { direction: rtl; }
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||||
|
|
||||||
|
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
|
||||||
|
.ui-datepicker-cover {
|
||||||
|
display: none; /*sorry for IE5*/
|
||||||
|
display/**/: block; /*sorry for IE5*/
|
||||||
|
position: absolute; /*must have*/
|
||||||
|
z-index: -1; /*must have*/
|
||||||
|
filter: mask(); /*must have*/
|
||||||
|
top: -4px; /*must have*/
|
||||||
|
left: -4px; /*must have*/
|
||||||
|
width: 200px; /*must have*/
|
||||||
|
height: 200px; /*must have*/
|
||||||
|
}/*
|
||||||
|
* jQuery UI Dialog 1.8.16
|
||||||
|
*
|
||||||
|
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://docs.jquery.com/UI/Dialog#theming
|
||||||
|
*/
|
||||||
|
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
|
||||||
|
.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
|
||||||
|
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
|
||||||
|
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
|
||||||
|
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
|
||||||
|
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
|
||||||
|
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
|
||||||
|
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
|
||||||
|
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
|
||||||
|
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
|
||||||
|
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
|
||||||
|
.ui-draggable .ui-dialog-titlebar { cursor: move; }
|
||||||
|
/*
|
||||||
|
* jQuery UI Progressbar 1.8.16
|
||||||
|
*
|
||||||
|
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://docs.jquery.com/UI/Progressbar#theming
|
||||||
|
*/
|
||||||
|
.ui-progressbar { height:2em; text-align: left; }
|
||||||
|
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/*
|
||||||
|
* jQuery UI Resizable 1.8.16
|
||||||
|
*
|
||||||
|
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://docs.jquery.com/UI/Resizable#theming
|
||||||
|
*/
|
||||||
|
.ui-resizable { position: relative;}
|
||||||
|
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
|
||||||
|
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
||||||
|
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
|
||||||
|
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
|
||||||
|
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
|
||||||
|
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
|
||||||
|
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
|
||||||
|
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
|
||||||
|
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
|
||||||
|
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
|
||||||
|
* jQuery UI Selectable 1.8.16
|
||||||
|
*
|
||||||
|
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://docs.jquery.com/UI/Selectable#theming
|
||||||
|
*/
|
||||||
|
.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
|
||||||
|
/*
|
||||||
|
* jQuery UI Slider 1.8.16
|
||||||
|
*
|
||||||
|
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://docs.jquery.com/UI/Slider#theming
|
||||||
|
*/
|
||||||
|
.ui-slider { position: relative; text-align: left; }
|
||||||
|
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
|
||||||
|
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
|
||||||
|
|
||||||
|
.ui-slider-horizontal { height: .8em; }
|
||||||
|
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
|
||||||
|
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
|
||||||
|
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
|
||||||
|
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
|
||||||
|
|
||||||
|
.ui-slider-vertical { width: .8em; height: 100px; }
|
||||||
|
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
|
||||||
|
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
|
||||||
|
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
|
||||||
|
.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
|
||||||
|
* jQuery UI Tabs 1.8.16
|
||||||
|
*
|
||||||
|
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://docs.jquery.com/UI/Tabs#theming
|
||||||
|
*/
|
||||||
|
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
||||||
|
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
|
||||||
|
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
|
||||||
|
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
|
||||||
|
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
|
||||||
|
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
|
||||||
|
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
||||||
|
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
|
||||||
|
.ui-tabs .ui-tabs-hide { display: none !important; }
|
||||||
|
/*
|
||||||
|
* jQuery UI CSS Framework 1.8.16
|
||||||
|
*
|
||||||
|
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://docs.jquery.com/UI/Theming/API
|
||||||
|
*
|
||||||
|
* To view and modify this theme, visit http://jqueryui.com/themeroller/
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* Component containers
|
||||||
|
----------------------------------*/
|
||||||
|
.ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; }
|
||||||
|
.ui-widget .ui-widget { font-size: 1em; }
|
||||||
|
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; }
|
||||||
|
.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; }
|
||||||
|
.ui-widget-content a { color: #222222/*{fcContent}*/; }
|
||||||
|
.ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; }
|
||||||
|
.ui-widget-header a { color: #222222/*{fcHeader}*/; }
|
||||||
|
|
||||||
|
/* Interaction states
|
||||||
|
----------------------------------*/
|
||||||
|
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; }
|
||||||
|
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; }
|
||||||
|
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; }
|
||||||
|
.ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; }
|
||||||
|
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; }
|
||||||
|
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; }
|
||||||
|
.ui-widget :active { outline: none; }
|
||||||
|
|
||||||
|
/* Interaction Cues
|
||||||
|
----------------------------------*/
|
||||||
|
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; }
|
||||||
|
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; }
|
||||||
|
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; }
|
||||||
|
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; }
|
||||||
|
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; }
|
||||||
|
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
|
||||||
|
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
|
||||||
|
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
||||||
|
|
||||||
|
/* Icons
|
||||||
|
----------------------------------*/
|
||||||
|
|
||||||
|
/* states and images */
|
||||||
|
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; }
|
||||||
|
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; }
|
||||||
|
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsHeader}*/; }
|
||||||
|
.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png)/*{iconsDefault}*/; }
|
||||||
|
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsHover}*/; }
|
||||||
|
.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsActive}*/; }
|
||||||
|
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/; }
|
||||||
|
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/; }
|
||||||
|
|
||||||
|
/* positioning */
|
||||||
|
.ui-icon-carat-1-n { background-position: 0 0; }
|
||||||
|
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
||||||
|
.ui-icon-carat-1-e { background-position: -32px 0; }
|
||||||
|
.ui-icon-carat-1-se { background-position: -48px 0; }
|
||||||
|
.ui-icon-carat-1-s { background-position: -64px 0; }
|
||||||
|
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
||||||
|
.ui-icon-carat-1-w { background-position: -96px 0; }
|
||||||
|
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
||||||
|
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
||||||
|
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
||||||
|
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
||||||
|
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
||||||
|
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
||||||
|
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
||||||
|
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
||||||
|
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
||||||
|
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
||||||
|
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
||||||
|
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
||||||
|
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
||||||
|
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
||||||
|
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
||||||
|
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
||||||
|
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
||||||
|
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
||||||
|
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
||||||
|
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
||||||
|
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
||||||
|
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
||||||
|
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
||||||
|
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
||||||
|
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
||||||
|
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
||||||
|
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
||||||
|
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
||||||
|
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
||||||
|
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
||||||
|
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
||||||
|
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
||||||
|
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
||||||
|
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
||||||
|
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
||||||
|
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
||||||
|
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
||||||
|
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
||||||
|
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
||||||
|
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
||||||
|
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
||||||
|
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
||||||
|
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
||||||
|
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
||||||
|
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
||||||
|
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
||||||
|
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
||||||
|
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
||||||
|
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
||||||
|
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
||||||
|
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
||||||
|
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
||||||
|
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
||||||
|
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
||||||
|
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
||||||
|
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
||||||
|
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
||||||
|
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
||||||
|
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
||||||
|
.ui-icon-extlink { background-position: -32px -80px; }
|
||||||
|
.ui-icon-newwin { background-position: -48px -80px; }
|
||||||
|
.ui-icon-refresh { background-position: -64px -80px; }
|
||||||
|
.ui-icon-shuffle { background-position: -80px -80px; }
|
||||||
|
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
||||||
|
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
||||||
|
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
||||||
|
.ui-icon-folder-open { background-position: -16px -96px; }
|
||||||
|
.ui-icon-document { background-position: -32px -96px; }
|
||||||
|
.ui-icon-document-b { background-position: -48px -96px; }
|
||||||
|
.ui-icon-note { background-position: -64px -96px; }
|
||||||
|
.ui-icon-mail-closed { background-position: -80px -96px; }
|
||||||
|
.ui-icon-mail-open { background-position: -96px -96px; }
|
||||||
|
.ui-icon-suitcase { background-position: -112px -96px; }
|
||||||
|
.ui-icon-comment { background-position: -128px -96px; }
|
||||||
|
.ui-icon-person { background-position: -144px -96px; }
|
||||||
|
.ui-icon-print { background-position: -160px -96px; }
|
||||||
|
.ui-icon-trash { background-position: -176px -96px; }
|
||||||
|
.ui-icon-locked { background-position: -192px -96px; }
|
||||||
|
.ui-icon-unlocked { background-position: -208px -96px; }
|
||||||
|
.ui-icon-bookmark { background-position: -224px -96px; }
|
||||||
|
.ui-icon-tag { background-position: -240px -96px; }
|
||||||
|
.ui-icon-home { background-position: 0 -112px; }
|
||||||
|
.ui-icon-flag { background-position: -16px -112px; }
|
||||||
|
.ui-icon-calendar { background-position: -32px -112px; }
|
||||||
|
.ui-icon-cart { background-position: -48px -112px; }
|
||||||
|
.ui-icon-pencil { background-position: -64px -112px; }
|
||||||
|
.ui-icon-clock { background-position: -80px -112px; }
|
||||||
|
.ui-icon-disk { background-position: -96px -112px; }
|
||||||
|
.ui-icon-calculator { background-position: -112px -112px; }
|
||||||
|
.ui-icon-zoomin { background-position: -128px -112px; }
|
||||||
|
.ui-icon-zoomout { background-position: -144px -112px; }
|
||||||
|
.ui-icon-search { background-position: -160px -112px; }
|
||||||
|
.ui-icon-wrench { background-position: -176px -112px; }
|
||||||
|
.ui-icon-gear { background-position: -192px -112px; }
|
||||||
|
.ui-icon-heart { background-position: -208px -112px; }
|
||||||
|
.ui-icon-star { background-position: -224px -112px; }
|
||||||
|
.ui-icon-link { background-position: -240px -112px; }
|
||||||
|
.ui-icon-cancel { background-position: 0 -128px; }
|
||||||
|
.ui-icon-plus { background-position: -16px -128px; }
|
||||||
|
.ui-icon-plusthick { background-position: -32px -128px; }
|
||||||
|
.ui-icon-minus { background-position: -48px -128px; }
|
||||||
|
.ui-icon-minusthick { background-position: -64px -128px; }
|
||||||
|
.ui-icon-close { background-position: -80px -128px; }
|
||||||
|
.ui-icon-closethick { background-position: -96px -128px; }
|
||||||
|
.ui-icon-key { background-position: -112px -128px; }
|
||||||
|
.ui-icon-lightbulb { background-position: -128px -128px; }
|
||||||
|
.ui-icon-scissors { background-position: -144px -128px; }
|
||||||
|
.ui-icon-clipboard { background-position: -160px -128px; }
|
||||||
|
.ui-icon-copy { background-position: -176px -128px; }
|
||||||
|
.ui-icon-contact { background-position: -192px -128px; }
|
||||||
|
.ui-icon-image { background-position: -208px -128px; }
|
||||||
|
.ui-icon-video { background-position: -224px -128px; }
|
||||||
|
.ui-icon-script { background-position: -240px -128px; }
|
||||||
|
.ui-icon-alert { background-position: 0 -144px; }
|
||||||
|
.ui-icon-info { background-position: -16px -144px; }
|
||||||
|
.ui-icon-notice { background-position: -32px -144px; }
|
||||||
|
.ui-icon-help { background-position: -48px -144px; }
|
||||||
|
.ui-icon-check { background-position: -64px -144px; }
|
||||||
|
.ui-icon-bullet { background-position: -80px -144px; }
|
||||||
|
.ui-icon-radio-off { background-position: -96px -144px; }
|
||||||
|
.ui-icon-radio-on { background-position: -112px -144px; }
|
||||||
|
.ui-icon-pin-w { background-position: -128px -144px; }
|
||||||
|
.ui-icon-pin-s { background-position: -144px -144px; }
|
||||||
|
.ui-icon-play { background-position: 0 -160px; }
|
||||||
|
.ui-icon-pause { background-position: -16px -160px; }
|
||||||
|
.ui-icon-seek-next { background-position: -32px -160px; }
|
||||||
|
.ui-icon-seek-prev { background-position: -48px -160px; }
|
||||||
|
.ui-icon-seek-end { background-position: -64px -160px; }
|
||||||
|
.ui-icon-seek-start { background-position: -80px -160px; }
|
||||||
|
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
||||||
|
.ui-icon-seek-first { background-position: -80px -160px; }
|
||||||
|
.ui-icon-stop { background-position: -96px -160px; }
|
||||||
|
.ui-icon-eject { background-position: -112px -160px; }
|
||||||
|
.ui-icon-volume-off { background-position: -128px -160px; }
|
||||||
|
.ui-icon-volume-on { background-position: -144px -160px; }
|
||||||
|
.ui-icon-power { background-position: 0 -176px; }
|
||||||
|
.ui-icon-signal-diag { background-position: -16px -176px; }
|
||||||
|
.ui-icon-signal { background-position: -32px -176px; }
|
||||||
|
.ui-icon-battery-0 { background-position: -48px -176px; }
|
||||||
|
.ui-icon-battery-1 { background-position: -64px -176px; }
|
||||||
|
.ui-icon-battery-2 { background-position: -80px -176px; }
|
||||||
|
.ui-icon-battery-3 { background-position: -96px -176px; }
|
||||||
|
.ui-icon-circle-plus { background-position: 0 -192px; }
|
||||||
|
.ui-icon-circle-minus { background-position: -16px -192px; }
|
||||||
|
.ui-icon-circle-close { background-position: -32px -192px; }
|
||||||
|
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
||||||
|
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
||||||
|
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
||||||
|
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
||||||
|
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
||||||
|
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
||||||
|
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
||||||
|
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
||||||
|
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
||||||
|
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
||||||
|
.ui-icon-circle-check { background-position: -208px -192px; }
|
||||||
|
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
||||||
|
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
||||||
|
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
||||||
|
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
||||||
|
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
||||||
|
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
||||||
|
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
||||||
|
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
||||||
|
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
||||||
|
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
||||||
|
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
||||||
|
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Misc visuals
|
||||||
|
----------------------------------*/
|
||||||
|
|
||||||
|
/* Corner radius */
|
||||||
|
.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; -khtml-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; }
|
||||||
|
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; -khtml-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; }
|
||||||
|
.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; }
|
||||||
|
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; }
|
||||||
|
|
||||||
|
/* Overlays */
|
||||||
|
.ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; }
|
||||||
|
.ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -khtml-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; }
|
168
vendor/built_in_modules/gallery/app/assets/stylesheets/jquery.fileupload-ui.css
vendored
Executable file
|
@ -0,0 +1,168 @@
|
||||||
|
@charset 'UTF-8';
|
||||||
|
/*
|
||||||
|
* jQuery File Upload UI Plugin CSS 5.0.6
|
||||||
|
* https://github.com/blueimp/jQuery-File-Upload
|
||||||
|
*
|
||||||
|
* Copyright 2010, Sebastian Tschan
|
||||||
|
* https://blueimp.net
|
||||||
|
*
|
||||||
|
* Licensed under the MIT license:
|
||||||
|
* http://creativecommons.org/licenses/MIT/
|
||||||
|
*/
|
||||||
|
body { margin: 0; }
|
||||||
|
#fileupload { position: relative; }
|
||||||
|
#fileupload form { margin: 0; }
|
||||||
|
.fileupload-buttonbar .ui-button input {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
margin: 0;
|
||||||
|
border: solid transparent;
|
||||||
|
border-width: 0 0 100px 200px;
|
||||||
|
opacity: 0;
|
||||||
|
filter: alpha(opacity=0);
|
||||||
|
-o-transform: translate(250px, -50px) scale(1);
|
||||||
|
-moz-transform: translate(-300px, 0) scale(4);
|
||||||
|
direction: ltr;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fileinput-button {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fix for IE 6: */
|
||||||
|
*html .fileinput-button {
|
||||||
|
padding: 2px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fix for IE 7: */
|
||||||
|
*+html .fileinput-button {
|
||||||
|
padding: 2px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fileupload-buttonbar {
|
||||||
|
height: 44px;
|
||||||
|
border-bottom: none;
|
||||||
|
background: transparent 0 0 url(../../../assets/gallery/uppt.png) repeat-x;
|
||||||
|
position: relative;
|
||||||
|
z-index: 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fileupload-buttonbar .ui-button {
|
||||||
|
vertical-align: middle;
|
||||||
|
font-size: 13px;
|
||||||
|
font-family: mako;
|
||||||
|
border: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
.fileupload-buttonbar .ui-button .ui-button-text {
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
padding: 0 14px 0 26px;
|
||||||
|
background: transparent right center url(../../../assets/gallery/upsep.png) no-repeat;
|
||||||
|
text-shadow: 1px 1px 0 #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fileupload-content {
|
||||||
|
border-top-width: 0;
|
||||||
|
height: 250px;
|
||||||
|
overflow: auto;
|
||||||
|
overflow-x:hidden;
|
||||||
|
background: #FAFAFA center center url(../../../assets/gallery/uploadbg.gif) no-repeat;
|
||||||
|
position: relative;
|
||||||
|
margin-top: -2px;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fileupload-content .ui-progressbar {
|
||||||
|
width: auto;
|
||||||
|
height: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fileupload-content .ui-progressbar-value {
|
||||||
|
background: url(../../../assets/gallery/pbar-ani.gif);
|
||||||
|
height: 16px;
|
||||||
|
margin: 0;
|
||||||
|
border-left: none;
|
||||||
|
border-right: none;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
.files .ui-progressbar-value { border: none; height: 18px; border-radius: 2px; }
|
||||||
|
.fileupload-content .fileupload-progressbar {
|
||||||
|
width: 400px;
|
||||||
|
margin: -20px 0 0 -202px;
|
||||||
|
padding: 2px;
|
||||||
|
background: rgba(0,0,0,0.8);
|
||||||
|
position: fixed;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
border: 0;
|
||||||
|
border-radius: 4px;
|
||||||
|
box-shadow: 0 2px 3px rgba(0,0,0,0.4);
|
||||||
|
-webkit-box-shadow: 0 2px 3px rgba(0,0,0,0.4);
|
||||||
|
-moz-box-shadow: 0 2px 3px rgba(0,0,0,0.4);
|
||||||
|
-ms-box-shadow: 0 2px 3px rgba(0,0,0,0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.files {
|
||||||
|
margin: 0;
|
||||||
|
border-collapse: collapse;
|
||||||
|
width: 100%;
|
||||||
|
table-layout:fixed;
|
||||||
|
font-family: mako;
|
||||||
|
}
|
||||||
|
|
||||||
|
.files td {
|
||||||
|
padding: 5px 4px;
|
||||||
|
border-spacing: 0;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.files img { border: none; width: 80px; }
|
||||||
|
|
||||||
|
.files .name { }
|
||||||
|
|
||||||
|
.files .size {
|
||||||
|
text-align: right;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
.files .preview { width: 88px; }
|
||||||
|
.files .progress { width: ; }
|
||||||
|
.files .start { width: 40px; }
|
||||||
|
.files .cancel { width: 40px; }
|
||||||
|
|
||||||
|
.ui-state-disabled .ui-state-disabled {
|
||||||
|
opacity: 1;
|
||||||
|
filter: alpha(opacity=100);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-state-disabled input {
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
.fileupload-buttonbar .ui-icon {
|
||||||
|
background: transparent center 0 url(../../../assets/gallery/upicon.png) no-repeat;
|
||||||
|
height: 16px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 12px 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
.ui-icon.ui-icon-plusthick {}
|
||||||
|
.ui-button:hover .ui-icon.ui-icon-plusthick { background-position: center -40px; }
|
||||||
|
.ui-icon.ui-icon-circle-arrow-e { background-position: center -80px; }
|
||||||
|
.ui-button:hover .ui-icon.ui-icon-circle-arrow-e { background-position: center -120px; }
|
||||||
|
.ui-icon.ui-icon-cancel { background-position: center -160px; }
|
||||||
|
.ui-button:hover .ui-icon.ui-icon-cancel { background-position: center -200px; }
|
||||||
|
.ui-icon.ui-icon-trash { background-position: center -240px; }
|
||||||
|
.ui-button:hover .ui-icon.ui-icon-trash { background-position: center -280px; }
|
||||||
|
|
||||||
|
.files .ui-icon { background: transparent center 0 url(../../../assets/gallery/upicon.png) no-repeat; }
|
||||||
|
.files .ui-icon.ui-icon-circle-arrow-e { background-position: center -91px; }
|
||||||
|
.files .ui-button:hover .ui-icon.ui-icon-circle-arrow-e { background-position: center -131px; }
|
||||||
|
.files .ui-icon.ui-icon-cancel { background-position: center -171px; }
|
||||||
|
.files .ui-button:hover .ui-icon.ui-icon-cancel { background-position: center -211px; }
|
||||||
|
.files .ui-icon.ui-icon-trash { background-position: center -251px; }
|
||||||
|
.files .ui-button:hover .ui-icon.ui-icon-trash { background-position: center -291px; }
|
216
vendor/built_in_modules/gallery/app/controllers/panel/gallery/back_end/orbit_galleries_controller.rb
vendored
Normal file
|
@ -0,0 +1,216 @@
|
||||||
|
class Panel::Gallery::BackEnd::OrbitGalleriesController < OrbitBackendController
|
||||||
|
include AdminHelper
|
||||||
|
def index
|
||||||
|
if is_manager? || is_admin? || is_sub_manager?
|
||||||
|
@authenticated = true #turn this value to false for view only
|
||||||
|
else
|
||||||
|
@authenticated = false
|
||||||
|
end
|
||||||
|
@categorylist = GalleryCategory.all
|
||||||
|
@cid = params['cat']
|
||||||
|
@tags = GalleryTag.all
|
||||||
|
end
|
||||||
|
|
||||||
|
def new_category
|
||||||
|
names = params['category']
|
||||||
|
category = GalleryCategory.new
|
||||||
|
I18n.locale = :en
|
||||||
|
category.name = names['en']
|
||||||
|
I18n.locale = :zh_tw
|
||||||
|
category.name = names['zh_tw']
|
||||||
|
category.save!
|
||||||
|
render :json=>{"success"=>true,"id"=>category.id}.to_json
|
||||||
|
end
|
||||||
|
|
||||||
|
def categorylist
|
||||||
|
@categorylist = GalleryCategory.all
|
||||||
|
#render :layout => false
|
||||||
|
end
|
||||||
|
|
||||||
|
def gallery_category_delete
|
||||||
|
@category = GalleryCategory.find(params['id'])
|
||||||
|
@category.delete
|
||||||
|
render :json=>{"success"=>"true"}.to_json
|
||||||
|
end
|
||||||
|
|
||||||
|
def add_album
|
||||||
|
if is_manager? || is_admin?
|
||||||
|
@categorylist = GalleryCategory.all
|
||||||
|
elsif is_sub_manager?
|
||||||
|
@categorylist = GalleryCategory.authed_for_user(current_user,"new_album")
|
||||||
|
end
|
||||||
|
render :layout => false
|
||||||
|
end
|
||||||
|
|
||||||
|
def create_album
|
||||||
|
category = GalleryCategory.find(params['cid'])
|
||||||
|
albumnames = params["albumname"]
|
||||||
|
albumdescs = params["albumdesc"]
|
||||||
|
album = category.gallery_albums.new
|
||||||
|
I18n.locale = :en
|
||||||
|
album.name = albumnames["en"]
|
||||||
|
album.description = albumdescs["en"]
|
||||||
|
I18n.locale = :zh_tw
|
||||||
|
album.name = albumnames["zh_tw"]
|
||||||
|
album.description = albumdescs["zh_tw"]
|
||||||
|
album.save!
|
||||||
|
#x = category.gallery_albums.create({name: params['albumname'],description: params['albumdesc']})
|
||||||
|
render :json=>{"success"=>true,"id"=>album.id}.to_json
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_albums
|
||||||
|
@categoryids = params["cid"]
|
||||||
|
@tags = params["tid"]
|
||||||
|
@albums = Array.new
|
||||||
|
if @categoryids == "all"
|
||||||
|
if @tags
|
||||||
|
if @tags.kind_of?(Array)
|
||||||
|
@tags.each do |tag|
|
||||||
|
@albums << GalleryAlbum.where(tag_ids: tag)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
@albums << GalleryAlbum.where(tag_ids: @tags)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
@albums << GalleryAlbum.all
|
||||||
|
end
|
||||||
|
else
|
||||||
|
@categoryids.each do |id|
|
||||||
|
category = GalleryCategory.find(id)
|
||||||
|
if @tags
|
||||||
|
if @tags.kind_of?(Array)
|
||||||
|
@tags.each do |tag|
|
||||||
|
@albums << category.gallery_albums.where(tag_ids: tag)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
@albums << category.gallery_albums.where(tag_ids: @tags)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
@albums << category.gallery_albums.all
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
i = 0
|
||||||
|
@albums.each do |album|
|
||||||
|
album.each do |values|
|
||||||
|
# if values.tag_ids.kind_of?(Array)
|
||||||
|
tags = Array.new
|
||||||
|
values.tag_ids.each do |tag|
|
||||||
|
tags << GalleryTag.find(tag)[I18n.locale]
|
||||||
|
end
|
||||||
|
# end
|
||||||
|
values.tag_names = tags
|
||||||
|
values.save
|
||||||
|
end
|
||||||
|
i = i + 1
|
||||||
|
end
|
||||||
|
# @albums = GalleryAlbum.find("5017a7babd98eb049900000a")
|
||||||
|
# @albums.update_attributes({:tag_ids =>["501ba786bd98eb0232000126"]})
|
||||||
|
|
||||||
|
render :json=>@albums.to_json
|
||||||
|
end
|
||||||
|
|
||||||
|
def upload_image
|
||||||
|
albumid = params['aid'];
|
||||||
|
@album = GalleryAlbum.find(albumid)
|
||||||
|
@files = params['files']
|
||||||
|
a = Array.new
|
||||||
|
@files.each do |file|
|
||||||
|
@image = @album.gallery_images.new
|
||||||
|
@image.file = file
|
||||||
|
@image.save!
|
||||||
|
a << {"thumbnail_url"=>@image.file.thumb.url}
|
||||||
|
end
|
||||||
|
render :json=>a.to_json
|
||||||
|
end
|
||||||
|
|
||||||
|
def upload_panel
|
||||||
|
render :layout => false
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_images
|
||||||
|
@album = GalleryAlbum.find(params["aid"])
|
||||||
|
render :json=>{"images" => @album.gallery_images.all, "tags" => @album.tag_ids}.to_json
|
||||||
|
end
|
||||||
|
|
||||||
|
def theater
|
||||||
|
picid = params["pic"]
|
||||||
|
@image = GalleryImage.find(picid)
|
||||||
|
@albumid = @image.gallery_album_id
|
||||||
|
album = GalleryAlbum.find(@albumid)
|
||||||
|
@images = album.gallery_images.all
|
||||||
|
render :layout=>false
|
||||||
|
end
|
||||||
|
|
||||||
|
def delete_album
|
||||||
|
aid = params['aid']
|
||||||
|
album = GalleryAlbum.find(aid)
|
||||||
|
album.delete
|
||||||
|
render :json =>{"success"=>true}.to_json
|
||||||
|
end
|
||||||
|
|
||||||
|
def edit_album
|
||||||
|
if is_manager? || is_admin? || is_sub_manager?
|
||||||
|
aid = params['aid']
|
||||||
|
album = GalleryAlbum.find(aid)
|
||||||
|
@images = album.gallery_images.all
|
||||||
|
@album_name = album.name_translations
|
||||||
|
@cover = album.cover
|
||||||
|
render :layout => false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def set_cover
|
||||||
|
aid = params['aid']
|
||||||
|
album = GalleryAlbum.find(aid)
|
||||||
|
image = GalleryImage.find(params[:imageid])
|
||||||
|
album.update_attributes({:cover_path => image.file.thumb.url, :cover=>params[:imageid]})
|
||||||
|
render :json =>{"success"=>true}.to_json
|
||||||
|
end
|
||||||
|
|
||||||
|
def delete_images
|
||||||
|
images = params['images']
|
||||||
|
images.each do |image|
|
||||||
|
img = GalleryImage.find(image)
|
||||||
|
img.delete
|
||||||
|
end
|
||||||
|
if params['delete_cover'] == "true"
|
||||||
|
album = GalleryAlbum.find(params['aid'])
|
||||||
|
album.update_attributes(:cover=>"default")
|
||||||
|
end
|
||||||
|
render :json =>{"success"=>true}.to_json
|
||||||
|
end
|
||||||
|
|
||||||
|
def update_album
|
||||||
|
# data = params['data']
|
||||||
|
# album_name = params['name']
|
||||||
|
# aid = params['aid']
|
||||||
|
# data.each do |d|
|
||||||
|
# image = GalleryImage.find(d[1][:id])
|
||||||
|
# image.update_attributes(:description=>d[1][:text])
|
||||||
|
# end
|
||||||
|
# album = GalleryAlbum.find(aid)
|
||||||
|
# album.update_attributes(:name => album_name)
|
||||||
|
data = params['data']
|
||||||
|
debugger
|
||||||
|
|
||||||
|
render :json =>{"success"=>true}.to_json
|
||||||
|
end
|
||||||
|
|
||||||
|
def save_tags
|
||||||
|
case params[:tag]
|
||||||
|
when "album"
|
||||||
|
@object = GalleryAlbum.find(params[:id])
|
||||||
|
when "pic"
|
||||||
|
@object = GalleryImage.find(params[:id])
|
||||||
|
end
|
||||||
|
@object.update_attributes({:tag_ids => params[:tids]})
|
||||||
|
render :json => {"success"=> "true"}.to_json
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
8
vendor/built_in_modules/gallery/app/controllers/panel/gallery/back_end/tags_controller.rb
vendored
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
class Panel::Gallery::BackEnd::TagsController < Admin::TagsController
|
||||||
|
|
||||||
|
def initialize
|
||||||
|
super
|
||||||
|
@app_title = 'gallery'
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
16
vendor/built_in_modules/gallery/app/helpers/panel/gallery/back_end/gallery_categories_helper.rb
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
module Panel::Gallery::BackEnd::GalleryCategoriesHelper
|
||||||
|
include ActionView::Helpers::UrlHelper
|
||||||
|
|
||||||
|
|
||||||
|
def show_gallery_category_permission_link(gallery_category)
|
||||||
|
type = 'new_album'
|
||||||
|
oa = gallery_category.get_object_auth_by_title(type)
|
||||||
|
if oa.nil?
|
||||||
|
gallery_category.object_auths.new(title: type ).save
|
||||||
|
oa = gallery_category.get_object_auth_by_title(type)
|
||||||
|
end
|
||||||
|
# link_to t('announcement.bulletin.cate_auth'), edit_admin_object_auth_path(oa)
|
||||||
|
link_to t('gallery.cate_auth'),admin_object_auth_ob_auth_path(oa)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
|
@ -0,0 +1,15 @@
|
||||||
|
class GalleryAlbum
|
||||||
|
include Mongoid::Document
|
||||||
|
include Mongoid::Timestamps
|
||||||
|
|
||||||
|
field :name, localize: true
|
||||||
|
field :description, localize: true
|
||||||
|
field :cover, default: "default"
|
||||||
|
field :cover_path
|
||||||
|
field :tag_names
|
||||||
|
|
||||||
|
belongs_to :gallery_category
|
||||||
|
has_and_belongs_to_many :tags, :class_name => "GalleryTag"
|
||||||
|
has_many :gallery_images, :autosave => true, :dependent => :destroy
|
||||||
|
|
||||||
|
end
|
|
@ -0,0 +1,17 @@
|
||||||
|
class GalleryCategory
|
||||||
|
include Mongoid::Document
|
||||||
|
include Mongoid::Timestamps
|
||||||
|
|
||||||
|
include OrbitCoreLib::ObjectAuthable
|
||||||
|
|
||||||
|
ObjectAuthTitlesOptions = %W{new_album}
|
||||||
|
APP_NAME = "album"
|
||||||
|
|
||||||
|
field :name, localize: true
|
||||||
|
|
||||||
|
has_many :gallery_albums, :autosave => true, :dependent => :destroy
|
||||||
|
|
||||||
|
def pp_object
|
||||||
|
name
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,14 @@
|
||||||
|
class GalleryImage
|
||||||
|
include Mongoid::Document
|
||||||
|
include Mongoid::Timestamps
|
||||||
|
|
||||||
|
mount_uploader :file, GalleryUploader
|
||||||
|
|
||||||
|
field :title
|
||||||
|
field :description, localize: true
|
||||||
|
|
||||||
|
has_and_belongs_to_many :tags, :class_name => "GalleryTag"
|
||||||
|
|
||||||
|
belongs_to :gallery_album
|
||||||
|
|
||||||
|
end
|
|
@ -0,0 +1,6 @@
|
||||||
|
class GalleryTag < Tag
|
||||||
|
|
||||||
|
has_and_belongs_to_many :gallery_albums
|
||||||
|
has_and_belongs_to_many :gallery_images
|
||||||
|
|
||||||
|
end
|
|
@ -0,0 +1,23 @@
|
||||||
|
<div class="modal-window" id="categories">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h3><%= t("gallery.album_name") %></h3>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<p>Category:
|
||||||
|
<select id="category_list">
|
||||||
|
<option value=""><%= t("gallery.select_category") %></option>
|
||||||
|
<% @categorylist.each do |category| %>
|
||||||
|
<option value='<%= category.id %>' ><%= category.name %></option>
|
||||||
|
<% end %>
|
||||||
|
</select>
|
||||||
|
</p>
|
||||||
|
<p><%= t("gallery.album_name") %>[<%=t("gallery.english")%>]: <input type="text" id="name_en" /></p>
|
||||||
|
<p><%= t("gallery.album_name") %>[<%=t("gallery.chinese")%>]: <input type="text" id="name_zh_tw" /></p>
|
||||||
|
<p><%= t("gallery.album_desc") %>[<%=t("gallery.english")%>]: <input type="text" id="desc_en" /></p>
|
||||||
|
<p><%= t("gallery.album_desc") %>[<%=t("gallery.chinese")%>]: <input type="text" id="desc_zh_tw" /></p>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<a href="#" class="btn" data-dismiss="modal" id="album_name_close_btn" onclick="return false;"><%= t("gallery.close") %></a>
|
||||||
|
<a href="#" class="btn btn-primary" id="album_name_save_btn" onclick="return false;"><%= t("gallery.save_changes") %></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,89 @@
|
||||||
|
<div id="tags" class="clear">
|
||||||
|
<% @categorylist.each do |category| %>
|
||||||
|
<div class="tag clear">
|
||||||
|
<div class="tagitem">
|
||||||
|
<i class="icon-folder-close"></i>
|
||||||
|
<% @site_valid_locales.each do |locale| %>
|
||||||
|
<span class="value" for="<%= locale %>"><%= category.name_translations[locale] %> </span>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<div class="action">
|
||||||
|
<a href="<%= category.id %>" class='delete' onclick='return false;'><%= t("gallery.delete") %></a>
|
||||||
|
<a href="<%= category.id %>" class='edit' onclick='return false;'><%= t("gallery.edit") %></a>
|
||||||
|
<%= show_gallery_category_permission_link(category) %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<div class="form-actions form-fixed pagination-right">
|
||||||
|
<div style="margin:0;padding:0;display:inline">
|
||||||
|
<%= t("gallery.new_category")+"["+ t("gallery.english")+"]" %> : <input type="text" id="category_name_en" />
|
||||||
|
<%= t("gallery.new_category") +"["+ t("gallery.chinese")+"]" %> : <input type="text" id="category_name_zh_tw" />
|
||||||
|
<a href="#" class="btn btn-primary" id="category_save_btn" onclick="return false;"><%= t("gallery.save") %></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var deleteCategory = function(a){
|
||||||
|
var cid = a.attr("href");
|
||||||
|
var parent = a.parent().parent();
|
||||||
|
$.post("gallery_category_delete",{id:cid},function(response){
|
||||||
|
if(response.success)
|
||||||
|
parent.hide("slide",function(){parent.remove();})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
var editCategory = function(a){
|
||||||
|
var cid = a.attr("href");
|
||||||
|
var parent = a.parent().parent();
|
||||||
|
var parenthtml = parent.html();
|
||||||
|
var tempdom = $("<div class='tagitem'></div>");
|
||||||
|
parent.find("span.value").each(function(){
|
||||||
|
var locale = $(this).attr("for");
|
||||||
|
var lang = {
|
||||||
|
"en" : "English",
|
||||||
|
"zh_tw" : "Chinese"
|
||||||
|
}
|
||||||
|
tempdom.append("<label>"+lang[locale] + " :</label><input type='text' id='temp_name_"+locale+"' value='"+$(this).text()+"' />");
|
||||||
|
})
|
||||||
|
tempdom.append('<br /><a href="#" class="btn btn-primary" id="temp_save_btn" onclick="return false;"><%= I18n.t("gallery.save") %></a> <a href="#" class="btn btn-primary" id="temp_cancel_btn" onclick="return false;"><%= I18n.t("gallery.cancel") %></a>');
|
||||||
|
tempdom.find("a#temp_cancel_btn").click(function(){
|
||||||
|
parent.html(parenthtml);
|
||||||
|
parent.find("div.action a.delete").click(function(){
|
||||||
|
deleteCategory($(this));
|
||||||
|
})
|
||||||
|
parent.find(" div.action a.edit").click(function(){
|
||||||
|
editCategory($(this));
|
||||||
|
})
|
||||||
|
})
|
||||||
|
parent.html(tempdom);
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
$("#tags div.action a.delete").click(function(){
|
||||||
|
deleteCategory($(this));
|
||||||
|
})
|
||||||
|
$("#tags div.action a.edit").click(function(){
|
||||||
|
editCategory($(this));
|
||||||
|
})
|
||||||
|
$("#category_save_btn").click(function(){
|
||||||
|
var lang = {
|
||||||
|
"en" : $("#category_name_en").val(),
|
||||||
|
"zh_tw" : $("#category_name_zh_tw").val()
|
||||||
|
};
|
||||||
|
|
||||||
|
$.post("gallery_category_save",{"category":lang},function(response){
|
||||||
|
if(response.success){
|
||||||
|
var $dom = $('<div class="tag clear hide"><div class="tagitem"><i class="icons-star"></i>'+lang.en+' '+lang.zh_tw+'</div> <div class="action"><a href="'+response.id+'" class="delete" onclick="return false;"><%= I18n.t("gallery.delete") %></a></div></div>');
|
||||||
|
$("div#tags").append($dom);
|
||||||
|
$dom.show('slide');
|
||||||
|
$dom.find("a.delete").click(function(){
|
||||||
|
deleteCategory($(this));
|
||||||
|
})
|
||||||
|
$("input[type=text]").val("");
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
</script>
|
|
@ -0,0 +1,81 @@
|
||||||
|
<%=
|
||||||
|
# for tab effect, please check
|
||||||
|
# /Users/ally/orbit/vendor/built_in_modules/announcement/app/views/panel/announcement/back_end/bulletins/_form.html.erb
|
||||||
|
# from line 129
|
||||||
|
%>
|
||||||
|
<ul class="nav nav-tabs">
|
||||||
|
<% i = 0 %>
|
||||||
|
<% @site_valid_locales.each do |locale| %>
|
||||||
|
<% if i == 0 %>
|
||||||
|
<li class="active"><a data-toggle="tab" href=".<%= locale %>"><%= locale %></a></li>
|
||||||
|
<% else %>
|
||||||
|
<li><a data-toggle="tab" href=".<%= locale %>"><%= locale %></a></li>
|
||||||
|
<% end %>
|
||||||
|
<% i = 1 %>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
<form id="edit_album">
|
||||||
|
<div class="tab_content">
|
||||||
|
<% i = 0 %>
|
||||||
|
<% @site_valid_locales.each do |locale| %>
|
||||||
|
<% if i == 0 %>
|
||||||
|
<div class="<%= locale %> fade tab-pane in active">
|
||||||
|
<% else %>
|
||||||
|
<div class="<%= locale %> fade tab-pane" >
|
||||||
|
<% end %>
|
||||||
|
<% i = 1 %>
|
||||||
|
<div class="albumname_edit">
|
||||||
|
<label for="">Album Name:</label>
|
||||||
|
<div class="inputui rginput rgih26 w380"><span><input type="text" name="edit_album[name][<%= locale %>]" value="<%= @album_name[locale] %>" class="txtchange" /></span></div>
|
||||||
|
</div>
|
||||||
|
<div class='description_loader'>
|
||||||
|
<% @images.each do |image| %>
|
||||||
|
<div class="rgphoto_edit">
|
||||||
|
<a href="orbit_gallery?theater=<%= image.id %>"><img src="<%= image.file.thumb.url %>"></a>
|
||||||
|
<div class="inputui rginput rgih98 w380">
|
||||||
|
<span>
|
||||||
|
<textarea name="edit[description][<%= locale %>]" class="txtchange" for="<%= image.id%>"><%= image.description_translations[locale] %></textarea>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="edit_fn">
|
||||||
|
<a class="rgui rgbt rgbtsg bt-dels" onclick="return false;" title="Delete" href="<%= image.id %>">Delete</a>
|
||||||
|
<a class="rgui rgbt rgbtsg bt-tag" onclick="return false;" title="Tag" href="<%= image.id %>">Tag</a>
|
||||||
|
<% if image.id.to_s == @cover %>
|
||||||
|
<a class="rgui rgbt rgbtsg bt-cover setcover" onclick="return false;" title="Set Cover" href="<%= image.id %>">Set Cover</a>
|
||||||
|
<% else %>
|
||||||
|
<a class="rgui rgbt rgbtsg bt-cover" onclick="return false;" title="Set Cover" href="<%= image.id %>">Set Cover</a>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<% end %>
|
||||||
|
<!-- <div class="tab-pane in active">
|
||||||
|
<div class="albumname_edit">
|
||||||
|
<label for="">Album Name:</label>
|
||||||
|
<div class="inputui rginput rgih26 w380"><span><input type="text" id='album_name_text' value="<%= @album_name %>" class="txtchange" /></span></div>
|
||||||
|
</div>
|
||||||
|
<div id='description_loader'>
|
||||||
|
<% @images.each do |image| %>
|
||||||
|
<div class="rgphoto_edit">
|
||||||
|
<a href="orbit_gallery?theater=<%= image.id %>"><img src="<%= image.file.thumb.url %>"></a>
|
||||||
|
<div class="inputui rginput rgih98 w380">
|
||||||
|
<span>
|
||||||
|
<textarea name="description_box" class="txtchange" for="<%= image.id%>"><%= image.description %></textarea>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="edit_fn">
|
||||||
|
<a class="rgui rgbt rgbtsg bt-dels" onclick="return false;" title="Delete" href="<%= image.id %>">Delete</a>
|
||||||
|
<% if image.id.to_s == @cover %>
|
||||||
|
<a class="rgui rgbt rgbtsg bt-cover setcover" onclick="return false;" title="Set Cover" href="<%= image.id %>">Set Cover</a>
|
||||||
|
<% else %>
|
||||||
|
<a class="rgui rgbt rgbtsg bt-cover" onclick="return false;" title="Set Cover" href="<%= image.id %>">Set Cover</a>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
161
vendor/built_in_modules/gallery/app/views/panel/gallery/back_end/orbit_galleries/index.html.erb
vendored
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
|
||||||
|
<%= stylesheet_link_tag "gallery" %>
|
||||||
|
|
||||||
|
<div id="filter" class="subnav">
|
||||||
|
<ul class="nav nav-pills filter">
|
||||||
|
<li class="accordion-group">
|
||||||
|
<div class="accordion-heading">
|
||||||
|
<a href="#collapse-categories" data-toggle="collapse" data-parent=".filters" class="accordion-toggle"><%= t("gallery.category") %> <b class="web-symbol"></b></a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="accordion-group">
|
||||||
|
<div class="accordion-heading">
|
||||||
|
<a href="#collapse-tags" data-toggle="collapse" data-parent=".filters" class="accordion-toggle"><%= t("gallery.tag") %> <b class="web-symbol"></b></a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div class="filters">
|
||||||
|
<div class="accordion-body collapse" id="collapse-categories">
|
||||||
|
<div class="accordion-inner filter_btns cats" data-toggle="buttons-checkbox">
|
||||||
|
<% @categorylist.each do |category| %>
|
||||||
|
<a href="cat=<%= category.id %>" class="btn" onclick="return false;"><%= category.name %></a>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<div class="filter-clear">
|
||||||
|
<a href="" class="btn" onclick="return false;" for="cats"><i class="icons-brush-large"></i>清除</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="accordion-body collapse" id="collapse-tags">
|
||||||
|
<div class="accordion-inner filter_btns tags" data-toggle="buttons-checkbox">
|
||||||
|
<% @tags.each do |tag| %>
|
||||||
|
<a href="tag=<%= tag.id %>" class="btn" onclick="return false;"><%= tag[I18n.locale] %></a>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<div class="filter-clear">
|
||||||
|
<a href="" class="btn" onclick="return false;" for="tags"><i class="icons-brush-large" ></i>清除</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <table id="gallery_list" class="table main-list">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="span1"></th>
|
||||||
|
<th class="span2"></th>
|
||||||
|
<th class="span2"></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="tbody_gallery" class="sort-holder">
|
||||||
|
<tr>
|
||||||
|
<td class="span1"></td>
|
||||||
|
<td class="span2"></td>
|
||||||
|
<td class="span2"></td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table> -->
|
||||||
|
<div id="orbit_gallery" class="rg">
|
||||||
|
<!-- <div class="rghead">
|
||||||
|
<div class="rgfn">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<div class="rgbody">
|
||||||
|
<div id="imgholder">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- tag part -->
|
||||||
|
<% if @authenticated %>
|
||||||
|
<div id="tag_panel" class="my_scroll">
|
||||||
|
<div class="scrollbar">
|
||||||
|
<div class="track">
|
||||||
|
<div class="thumb">
|
||||||
|
<div class="end"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<%
|
||||||
|
@locales = Array.new
|
||||||
|
@site_valid_locales.each do |locale|
|
||||||
|
@locales << locale
|
||||||
|
end
|
||||||
|
%>
|
||||||
|
<div class="viewport">
|
||||||
|
<div class="overview">
|
||||||
|
<ul class="tag_list" id="gallery_tag_list">
|
||||||
|
<% @tags.each do |tag| %>
|
||||||
|
<li data-content="<%= tag.id %>"><input id="tag_<%= tag.id %>" type="checkbox"><label for="tag_<%= tag.id %>"><%= tag[I18n.locale] %></label><span style="display:none;"><%= tag[@locales[1]] %> <%= tag[@locales[0]] %></span></li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button class='bt-save' style="position:absolute; bottom: 0;">Save</button>
|
||||||
|
<div class="tag_search"><div class="icon-search"></div><input type="text" value="<%= t('gallery.search_tags') %>" onblur="if(this.value=='')this.value='<%= t('gallery.search_tags') %>';" onfocus="if(this.value=='<%= t("gallery.search_tags") %>')this.value='';" id="tag_search_box"></div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var $tag_panel = $('#tag_panel');
|
||||||
|
orbit_bar_height = $('#orbit-bar').outerHeight();
|
||||||
|
action_panel_height = $('.form-actions').outerHeight();
|
||||||
|
window_height = $(window).height();
|
||||||
|
|
||||||
|
|
||||||
|
$tag_panel.height( window_height - orbit_bar_height - 90 );
|
||||||
|
$tag_panel.tinyscrollbar();
|
||||||
|
|
||||||
|
$(window).resize(function(){
|
||||||
|
$tag_panel.tinyscrollbar_update('relative');
|
||||||
|
$tag_panel.height( $(window).height() - orbit_bar_height - 90 );
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<!-- tag end -->
|
||||||
|
<div class="form-actions form-fixed pagination-right rghead">
|
||||||
|
<div class="rgfn">
|
||||||
|
<!-- <a href="" class="btn btn-primary pull-right"><i class="icon-plus icon-white"></i>新增</a> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
galleryAPI.prototype.loadFooterPanel = function(area,id,callbackFn){
|
||||||
|
var headarea = null;
|
||||||
|
if(area == "images"){
|
||||||
|
headarea = '<a class="bt-back btn btn-primary pull-left" title="<%= I18n.t("gallery.back_to_albums") %>" href="orbit_gallery"><i class="icon-arrow-left icon-white"></i><%= I18n.t("gallery.back_to_albums") %></a> ';
|
||||||
|
<% if @authenticated %>
|
||||||
|
headarea+='<a class="bt-add btn btn-primary pull-right" title="<%= I18n.t("gallery.add_images") %>" href="images" onclick="return false;"><i class="icon-plus icon-white"></i><%= I18n.t("gallery.add_images") %></a> ';
|
||||||
|
headarea+='<a class="bt-del btn btn-primary pull-right" title="<%= I18n.t("gallery.del_album") %>" href="delete" onclick="return false;"><i class="icon-trash icon-white"></i><%= I18n.t("gallery.del_album") %></a> ';
|
||||||
|
headarea+='<a class="bt-edit btn btn-primary pull-right" title="<%= I18n.t("gallery.edit") %>" href="orbit_gallery?edit='+id+'" ><i class="icon-pencil icon-white"></i><%= I18n.t("gallery.edit") %></a>';
|
||||||
|
headarea+='<a class="bt-tag btn btn-primary pull-right" title="<%= I18n.t("gallery.album_tag") %>" href="" ><i class="icon-tag icon-white"></i><%= I18n.t("gallery.album_tag") %></a>';
|
||||||
|
<% end %>
|
||||||
|
}else if(area == "albums"){
|
||||||
|
<% if @authenticated %>
|
||||||
|
headarea = '<a class="btn btn-primary pull-right" title="<%= I18n.t("gallery.add_album") %>" href="albums" onclick="return false;"><i class="icon-plus icon-white"></i><%= I18n.t("gallery.add_album") %></a>';
|
||||||
|
<% end %>
|
||||||
|
}else if (area == "theater"){
|
||||||
|
headarea = '<a href="" class="bt-back btn pull-left" title="<%= I18n.t("gallery.back_to_photos") %>"><i class="icon-arrow-left icon-black"></i><%= I18n.t("gallery.back_to_photos") %></a></div>';
|
||||||
|
headarea+= '<a class="bt-edit btn btn-primary pull-right" title="<%= I18n.t("gallery.edit") %>" href="" ><i class="icon-pencil icon-white"></i><%= I18n.t("gallery.edit") %></a>';
|
||||||
|
headarea+= '<a class="bt-tag btn btn-primary pull-right" title="<%= I18n.t("gallery.photo_tag") %>" href="" ><i class="icon-tag icon-white"></i><%= I18n.t("gallery.photo_tag") %></a>';
|
||||||
|
}
|
||||||
|
if(typeof callbackFn == "function"){
|
||||||
|
callbackFn.call(this,headarea);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<% content_for :page_specific_javascript do %>
|
||||||
|
<%= javascript_include_tag "galleryAPI" %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
galleryAPI.prototype.locale = "<%= I18n.locale %>";
|
||||||
|
var gallery = new galleryAPI();
|
||||||
|
gallery.initialize();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
34
vendor/built_in_modules/gallery/app/views/panel/gallery/back_end/orbit_galleries/theater.html.erb
vendored
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
<!-- <div class="rghead">
|
||||||
|
<div class="rgfn">
|
||||||
|
<a href="" class="rgui bt-back rgbt" title="Back" id='bakbtngallery'><span id='album_name_span'>Back to photos</span></a>
|
||||||
|
</div>
|
||||||
|
<div class="rgtitle">Gallery</div>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<div class="rslide" style="position:relative; width:100%;">
|
||||||
|
<div class="rslideinside"><div id="loading" style="display:none;"></div>
|
||||||
|
<div class="comp" id='main_pic' data-content='<%= @image.gallery_album_id %>'><a href="" id="nextpic" class="navN" title="下一張" onclick="return false;" ><img src="<%= @image.file.url %>" alt="" /></a></div>
|
||||||
|
<div class="rslidenav">
|
||||||
|
<a href="" class="navP" title="上一張" onclick="return false;">Prev</a>
|
||||||
|
<a href="" class="navN" title="下一張" onclick="return false;">Next</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="slidelist">
|
||||||
|
<ul id='galleryimagelist' style="display:none;">
|
||||||
|
<% i=0 %>
|
||||||
|
<% @images.each do |image| %>
|
||||||
|
<li for="<%= i %>"><a href="orbit_gallery?theater=<%= image.id %>" class="list_element" data-content="<%= image.file.url %>" onclick="return false;"><img src="<%= image.file.thumb.url %>" alt="" /></a></li>
|
||||||
|
<% i=i+1 %>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="slidectrl">
|
||||||
|
<a href="" class="togglescreen" title="切換全螢幕" onclick="return false;">Screen</a>
|
||||||
|
<a href="" class="togglelist" title="顯示照片清單" onclick="return false;">List</a>
|
||||||
|
<a href="" class="browserfullscreen" title="顯示照片清單" onclick="return false;">F</a>
|
||||||
|
<div class="slideinfo">
|
||||||
|
<!-- <b class="info"><%= @image.title %></b> -->
|
||||||
|
<span class="info"><%= @image.description %></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
108
vendor/built_in_modules/gallery/app/views/panel/gallery/back_end/orbit_galleries/upload_panel.html.erb
vendored
Executable file
|
@ -0,0 +1,108 @@
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<%= csrf_meta_tag %>
|
||||||
|
<%= javascript_include_tag "jquery-latest" %>
|
||||||
|
<!--<%= stylesheet_link_tag "jquery-ui" %> -->
|
||||||
|
<%= stylesheet_link_tag "jquery.fileupload-ui" %>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id='scroller_for_panel'>
|
||||||
|
<div id="fileupload">
|
||||||
|
<form action="upload_image" method="POST" enctype="multipart/form-data">
|
||||||
|
<div class="fileupload-buttonbar">
|
||||||
|
<label class="fileinput-button">
|
||||||
|
<span>Add files...</span>
|
||||||
|
<input type="file" name="files[]" multiple>
|
||||||
|
</label>
|
||||||
|
<input type="hidden" value="" name="aid" id="fileupload_aid" />
|
||||||
|
<button type="submit" class="start">Start upload</button>
|
||||||
|
<button type="reset" class="cancel">Cancel upload</button>
|
||||||
|
<!-- <button type="button" class="delete">Delete files</button>-->
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<div class="fileupload-content">
|
||||||
|
<table class="files"></table>
|
||||||
|
<div class="fileupload-progressbar"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script id="template-upload" type="text/x-jquery-tmpl">
|
||||||
|
<tr class="template-upload{{if error}} ui-state-error{{/if}}">
|
||||||
|
<td class="preview"></td>
|
||||||
|
<td class="name">{{if name}}${name}{{else}}Untitled{{/if}}</td>
|
||||||
|
<td class="size">${sizef}</td>
|
||||||
|
{{if error}}
|
||||||
|
<td class="error" colspan="2">Error:
|
||||||
|
{{if error === 'maxFileSize'}}File is too big
|
||||||
|
{{else error === 'minFileSize'}}File is too small
|
||||||
|
{{else error === 'acceptFileTypes'}}Filetype not allowed
|
||||||
|
{{else error === 'maxNumberOfFiles'}}Max number of files exceeded
|
||||||
|
{{else}}${error}
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
{{else}}
|
||||||
|
<td class="progress"><div></div></td>
|
||||||
|
<td class="start"><button>Start</button></td>
|
||||||
|
{{/if}}
|
||||||
|
<td class="cancel"><button>Cancel</button></td>
|
||||||
|
</tr>
|
||||||
|
</script>
|
||||||
|
<script id="template-download" type="text/x-jquery-tmpl">
|
||||||
|
<tr class="template-download{{if error}} ui-state-error{{/if}}">
|
||||||
|
{{if error}}
|
||||||
|
<td></td>
|
||||||
|
<td class="name">${name}</td>
|
||||||
|
<td class="size">${sizef}</td>
|
||||||
|
<td class="error" colspan="2">Error:
|
||||||
|
{{if error === 1}}File exceeds upload_max_filesize (php.ini directive)
|
||||||
|
{{else error === 2}}File exceeds MAX_FILE_SIZE (HTML form directive)
|
||||||
|
{{else error === 3}}File was only partially uploaded
|
||||||
|
{{else error === 4}}No File was uploaded
|
||||||
|
{{else error === 5}}Missing a temporary folder
|
||||||
|
{{else error === 6}}Failed to write file to disk
|
||||||
|
{{else error === 7}}File upload stopped by extension
|
||||||
|
{{else error === 'maxFileSize'}}File is too big
|
||||||
|
{{else error === 'minFileSize'}}File is too small
|
||||||
|
{{else error === 'acceptFileTypes'}}Filetype not allowed
|
||||||
|
{{else error === 'maxNumberOfFiles'}}Max number of files exceeded
|
||||||
|
{{else error === 'uploadedBytes'}}Uploaded bytes exceed file size
|
||||||
|
{{else error === 'emptyResult'}}Empty file upload result
|
||||||
|
{{else}}${error}
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
{{else}}
|
||||||
|
<td class="preview">
|
||||||
|
{{if thumbnail_url}}
|
||||||
|
<a href="${url}" target="_blank"><img src="${thumbnail_url}"></a>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
<td class="name">
|
||||||
|
<a href="${url}"{{if thumbnail_url}} target="_blank"{{/if}}>${name}</a>
|
||||||
|
</td>
|
||||||
|
<td class="size">${sizef}</td>
|
||||||
|
<td colspan="2"></td>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$("input#fileupload_aid").val(parent.g.urlVars['album']);
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<%= javascript_include_tag "jquery-ui.min" %>
|
||||||
|
<%= javascript_include_tag "jquery.tmpl.min" %>
|
||||||
|
<%= javascript_include_tag "jquery.iframe-transport" %>
|
||||||
|
<%= javascript_include_tag "jquery.fileupload" %>
|
||||||
|
<%= javascript_include_tag "jquery.fileupload-ui" %>
|
||||||
|
<%= javascript_include_tag "upload" %>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
<!-- <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
|
||||||
|
<script src="//ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>
|
||||||
|
<script src="../../js/gallery/jquery.iframe-transport.js"></script>
|
||||||
|
<script src="../../js/gallery/jquery.fileupload.js"></script>
|
||||||
|
<script src="../../js/gallery/jquery.fileupload-ui.js"></script>
|
||||||
|
<script src="../../js/gallery/upload.js"></script> -->
|
|
@ -0,0 +1,31 @@
|
||||||
|
en:
|
||||||
|
gallery:
|
||||||
|
album_name: Album Name
|
||||||
|
album_tag: Album Tag
|
||||||
|
photo_tag: Photo Tag
|
||||||
|
all: All
|
||||||
|
select_category: "--Select a category--"
|
||||||
|
manage_categories: Manage Categories
|
||||||
|
categories: Categories
|
||||||
|
new_category: New Category
|
||||||
|
save_changes: Save Changes
|
||||||
|
close: Close
|
||||||
|
delete: Delete
|
||||||
|
english: English
|
||||||
|
chinese: Chinese
|
||||||
|
album_desc: Album Desc
|
||||||
|
add_album: Add Album
|
||||||
|
back_to_photos: Back to Photos
|
||||||
|
back_to_albums: Back to Albums
|
||||||
|
add_images: Add Images
|
||||||
|
del_album: Delete Album
|
||||||
|
edit: Edit
|
||||||
|
delete_selected: Delete Selected
|
||||||
|
del_album?: "Delete this album?"
|
||||||
|
album_not_found: "Album not found"
|
||||||
|
pic_not_found: "Picture not found"
|
||||||
|
save: Save
|
||||||
|
cate_auth: Category Authorization
|
||||||
|
cancel: Cancel
|
||||||
|
search_tags: Search Tags
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
zh_tw:
|
||||||
|
gallery:
|
||||||
|
album_name: 相簿名稱
|
||||||
|
album_tag: 相簿標籤
|
||||||
|
photo_tag: 照片標籤
|
||||||
|
all: 全部
|
||||||
|
select_category: 選擇類別
|
||||||
|
manage_categories: 類別管理
|
||||||
|
categories: 類別
|
||||||
|
new_category: 新類別
|
||||||
|
save_changes: 儲存變更
|
||||||
|
close: 關閉
|
||||||
|
delete: 刪除
|
||||||
|
english: 英文
|
||||||
|
chinese: 中文
|
||||||
|
album_desc: 相簿描述
|
||||||
|
add_album: 新增相簿
|
||||||
|
back_to_photos: 回到照片列表
|
||||||
|
back_to_albums: 回到相簿列表
|
||||||
|
add_images: 新增照片
|
||||||
|
del_album: 刪除相簿
|
||||||
|
edit: 編輯
|
||||||
|
delete_selected: 刪除已選擇項目
|
||||||
|
del_album?: "刪除這本相簿嗎?"
|
||||||
|
album_not_found: "相簿不存在"
|
||||||
|
pic_not_found: "照片不存在"
|
||||||
|
search_tags: 搜索標籤
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
Rails.application.routes.draw do
|
||||||
|
namespace :panel do
|
||||||
|
namespace :gallery do
|
||||||
|
namespace :back_end do
|
||||||
|
match "orbit_gallery" => "orbit_galleries#index"
|
||||||
|
match "gallery_category_save" => "orbit_galleries#new_category"
|
||||||
|
match "categorylist" => "orbit_galleries#categorylist"
|
||||||
|
match "gallery_category_delete" => "orbit_galleries#gallery_category_delete"
|
||||||
|
match "add_album" => "orbit_galleries#add_album"
|
||||||
|
match "create_album" => "orbit_galleries#create_album"
|
||||||
|
match "get_albums" => "orbit_galleries#get_albums"
|
||||||
|
match "upload_image" => "orbit_galleries#upload_image"
|
||||||
|
match "upload_panel" => "orbit_galleries#upload_panel"
|
||||||
|
match "get_images" => "orbit_galleries#get_images"
|
||||||
|
match "theater" => "orbit_galleries#theater"
|
||||||
|
match "delete_album" => "orbit_galleries#delete_album"
|
||||||
|
match "edit_album" => "orbit_galleries#edit_album"
|
||||||
|
match "set_cover" => "orbit_galleries#set_cover"
|
||||||
|
match "delete_images" => "orbit_galleries#delete_images"
|
||||||
|
match "update_album" => "orbit_galleries#update_album"
|
||||||
|
match "save_tags" => "orbit_galleries#save_tags"
|
||||||
|
resources :tags
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,23 @@
|
||||||
|
$:.push File.expand_path("../lib", __FILE__)
|
||||||
|
|
||||||
|
# Maintain your gem's version:
|
||||||
|
require "gallery/version"
|
||||||
|
|
||||||
|
# Describe your gem and declare its dependencies:
|
||||||
|
Gem::Specification.new do |s|
|
||||||
|
s.name = "gallery"
|
||||||
|
s.version = Gallery::VERSION
|
||||||
|
s.authors = ["TODO: Your name"]
|
||||||
|
s.email = ["TODO: Your email"]
|
||||||
|
s.homepage = "TODO"
|
||||||
|
s.summary = "TODO: Summary of Gallery."
|
||||||
|
s.description = "TODO: Description of Gallery."
|
||||||
|
|
||||||
|
s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.rdoc"]
|
||||||
|
s.test_files = Dir["test/**/*"]
|
||||||
|
|
||||||
|
s.add_dependency "rails", "~> 3.1.4"
|
||||||
|
# s.add_dependency "jquery-rails"
|
||||||
|
|
||||||
|
s.add_development_dependency "sqlite3"
|
||||||
|
end
|
|
@ -0,0 +1,4 @@
|
||||||
|
require "gallery/engine"
|
||||||
|
|
||||||
|
module Gallery
|
||||||
|
end
|
|
@ -0,0 +1,4 @@
|
||||||
|
module Gallery
|
||||||
|
class Engine < Rails::Engine
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,3 @@
|
||||||
|
module Gallery
|
||||||
|
VERSION = "0.0.1"
|
||||||
|
end
|
|
@ -0,0 +1,4 @@
|
||||||
|
# desc "Explaining what the task does"
|
||||||
|
# task :gallery do
|
||||||
|
# # Task goes here
|
||||||
|
# end
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/usr/bin/env ruby
|
||||||
|
#!/usr/bin/env ruby
|
||||||
|
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
||||||
|
|
||||||
|
ENGINE_PATH = File.expand_path('../..', __FILE__)
|
||||||
|
load File.expand_path('../../test/dummy/script/rails', __FILE__)
|
|
@ -0,0 +1,7 @@
|
||||||
|
#!/usr/bin/env rake
|
||||||
|
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
||||||
|
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
||||||
|
|
||||||
|
require File.expand_path('../config/application', __FILE__)
|
||||||
|
|
||||||
|
Dummy::Application.load_tasks
|
9
vendor/built_in_modules/gallery/test/dummy/app/assets/javascripts/application.js
vendored
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
// This is a manifest file that'll be compiled into including all the files listed below.
|
||||||
|
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
|
||||||
|
// be included in the compiled file accessible from http://example.com/assets/application.js
|
||||||
|
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
||||||
|
// the compiled file.
|
||||||
|
//
|
||||||
|
//= require jquery
|
||||||
|
//= require jquery_ujs
|
||||||
|
//= require_tree .
|
7
vendor/built_in_modules/gallery/test/dummy/app/assets/stylesheets/application.css
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
/*
|
||||||
|
* This is a manifest file that'll automatically include all the stylesheets available in this directory
|
||||||
|
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
|
||||||
|
* the top of the compiled file, but it's generally better to create a new file per style scope.
|
||||||
|
*= require_self
|
||||||
|
*= require_tree .
|
||||||
|
*/
|
3
vendor/built_in_modules/gallery/test/dummy/app/controllers/application_controller.rb
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
class ApplicationController < ActionController::Base
|
||||||
|
protect_from_forgery
|
||||||
|
end
|
|
@ -0,0 +1,2 @@
|
||||||
|
module ApplicationHelper
|
||||||
|
end
|
14
vendor/built_in_modules/gallery/test/dummy/app/views/layouts/application.html.erb
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Dummy</title>
|
||||||
|
<%= stylesheet_link_tag "application" %>
|
||||||
|
<%= javascript_include_tag "application" %>
|
||||||
|
<%= csrf_meta_tags %>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<%= yield %>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,4 @@
|
||||||
|
# This file is used by Rack-based servers to start the application.
|
||||||
|
|
||||||
|
require ::File.expand_path('../config/environment', __FILE__)
|
||||||
|
run Dummy::Application
|