Merge branch 'master' of https://github.com/Rulingcom/orbit
* 'master' of https://github.com/Rulingcom/orbit: (102 commits) fixed fileview in english mode all sections and sections megerd Remove test Change the design for the whole site form designs index fixed fileview in english mode all sections and sections megerd Redirect to designs after buying template Randomise buy counts fixed empty db bug make factory girl file clean stupid fix section fixed and some other fixes try to fix problem fixed bug scroll fixed... fixed bug about co-author-relation fixed bug about co-author-relation fixed edit and new page of co-author view update current version Add images to store ...
3
Gemfile
|
@ -79,7 +79,6 @@ group :test, :development do
|
||||||
gem 'faker'
|
gem 'faker'
|
||||||
|
|
||||||
gem "sunspot-rails-tester"
|
gem "sunspot-rails-tester"
|
||||||
gem 'spork'
|
|
||||||
gem 'database_cleaner' #Strategies for cleaning databases. Can be used to ensure a clean state for testing.
|
gem 'database_cleaner' #Strategies for cleaning databases. Can be used to ensure a clean state for testing.
|
||||||
gem "rspec", "~> 2.0"
|
gem "rspec", "~> 2.0"
|
||||||
gem "rspec-rails", "~> 2.0"
|
gem "rspec-rails", "~> 2.0"
|
||||||
|
@ -89,7 +88,7 @@ group :test, :development do
|
||||||
gem "delorean"
|
gem "delorean"
|
||||||
gem "watchr"
|
gem "watchr"
|
||||||
gem "spork"
|
gem "spork"
|
||||||
# gem "capybara"
|
gem "capybara"
|
||||||
# gem 'yard'
|
# gem 'yard'
|
||||||
# gem "bluecloth"
|
# gem "bluecloth"
|
||||||
end
|
end
|
||||||
|
|
After Width: | Height: | Size: 209 B |
After Width: | Height: | Size: 548 B |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 275 B |
Before Width: | Height: | Size: 267 B |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 182 KiB |
Before Width: | Height: | Size: 113 KiB |
Before Width: | Height: | Size: 124 KiB |
Before Width: | Height: | Size: 137 KiB |
Before Width: | Height: | Size: 127 KiB |
Before Width: | Height: | Size: 140 KiB |
After Width: | Height: | Size: 257 B |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 182 KiB |
Before Width: | Height: | Size: 113 KiB |
Before Width: | Height: | Size: 124 KiB |
Before Width: | Height: | Size: 137 KiB |
Before Width: | Height: | Size: 127 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 507 B |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 229 B |
|
@ -63,6 +63,10 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
|
||||||
})
|
})
|
||||||
$(".bt-cancel").click(function(){
|
$(".bt-cancel").click(function(){
|
||||||
$("div[container=true]").html(prev_data);
|
$("div[container=true]").html(prev_data);
|
||||||
|
o.tinyscrollbar_ext({
|
||||||
|
main: '.tinycanvas',
|
||||||
|
fill: '.list_t'
|
||||||
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -116,7 +120,7 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
|
||||||
li;
|
li;
|
||||||
$.each(journalData,function(i,journal){
|
$.each(journalData,function(i,journal){
|
||||||
$.each(journal.papers,function(j,paper){
|
$.each(journal.papers,function(j,paper){
|
||||||
li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+journal.title+'</div><div class="list_t_des">'+paper.title+'</div><a class="journal_paper_edit" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete" href="'+paper.url_delete+'">Delete</a></li>');
|
li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+journal.title+'</div><div class="list_t_des">'+paper.title+'</div><div class="list_item_function"><a class="journal_paper_edit admbg2 admtxt" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete admbg2 admtxt" href="'+paper.url_delete+'">Delete</a></div></li>');
|
||||||
column.find("ul").append(li);
|
column.find("ul").append(li);
|
||||||
if(counter%5==0){
|
if(counter%5==0){
|
||||||
$("#journal_p div#paper_list div.overview").append(column);
|
$("#journal_p div#paper_list div.overview").append(column);
|
||||||
|
@ -136,18 +140,23 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
|
||||||
$.each(journalData,function(i,journal){
|
$.each(journalData,function(i,journal){
|
||||||
$.each(journal.papers,function(j,paper){
|
$.each(journal.papers,function(j,paper){
|
||||||
li = null;
|
li = null;
|
||||||
li = $('<li class="list_t_item"></li>');
|
li = $('<li class="list_t_item file_view"></li>');
|
||||||
li.append('<div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+journal.title+'</div>');
|
li.append('<div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+journal.title+'</div><div class="list_t_des"></div>');
|
||||||
|
var file_list = li.find('.list_t_des');
|
||||||
$.each(paper.files,function(k,file){
|
$.each(paper.files,function(k,file){
|
||||||
var thistitle = file.title;
|
var thistitle = file.title;
|
||||||
if(!file.title)
|
if(!thistitle)
|
||||||
thistitle = "Untitled File";
|
thistitle = "";
|
||||||
var img = $('<div class="list_t_des"><a href="'+file.url+'" target="_blank" ><img src="'+file.icon+'" />'+thistitle+'</a></div>');
|
thistitle = ( thistitle.length > 8 )? thistitle.substring(0,8)+'...' : thistitle;
|
||||||
li.append(img);
|
if(!file.title){
|
||||||
|
thistitle = "Untitled File";
|
||||||
|
}
|
||||||
|
var img = $('<a class="file" href="'+file.url+'" target="_blank" ><img src="'+file.icon+'" /><span class="filetitle">'+thistitle+'</span></a>');
|
||||||
|
file_list.append(img);
|
||||||
})
|
})
|
||||||
li.append('<a class="journal_paper_edit" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete" href="'+paper.url_delete+'">Delete</a>');
|
li.append('<div class="list_item_function"><a class="journal_paper_edit admbg2 admtxt" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete admbg2 admtxt" href="'+paper.url_delete+'">Delete</a></div>');
|
||||||
column.find("ul").append(li);
|
column.find("ul").append(li);
|
||||||
if(counter%5==0){
|
if(counter%3==0){
|
||||||
$("#journal_p div#paper_list div.overview").append(column);
|
$("#journal_p div#paper_list div.overview").append(column);
|
||||||
column = $('<div class="g_col list_t"><ul></ul></div>');
|
column = $('<div class="g_col list_t"><ul></ul></div>');
|
||||||
}
|
}
|
||||||
|
@ -164,7 +173,7 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
|
||||||
li;
|
li;
|
||||||
$.each(journalData,function(i,journal){
|
$.each(journalData,function(i,journal){
|
||||||
$.each(journal.papers,function(j,paper){
|
$.each(journal.papers,function(j,paper){
|
||||||
li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div><div class="list_t_des">'+paper.keywords+'</div><a class="journal_paper_edit" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete" href="'+paper.url_delete+'">Delete</a></li>');
|
li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div><div class="list_t_des">'+paper.keywords+'</div><div class="list_item_function"><a class="journal_paper_edit admbg2 admtxt" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete admbg2 admtxt" href="'+paper.url_delete+'">Delete</a></div></li>');
|
||||||
column.find("ul").append(li);
|
column.find("ul").append(li);
|
||||||
if(counter%5==0){
|
if(counter%5==0){
|
||||||
$("#journal_p div#paper_list div.overview").append(column);
|
$("#journal_p div#paper_list div.overview").append(column);
|
||||||
|
@ -184,7 +193,7 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
|
||||||
li;
|
li;
|
||||||
$.each(journalData,function(i,journal){
|
$.each(journalData,function(i,journal){
|
||||||
$.each(journal.papers,function(j,paper){
|
$.each(journal.papers,function(j,paper){
|
||||||
li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div><a class="journal_paper_edit" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete" href="'+paper.url_delete+'">Delete</a></li>');
|
li = $('<li class="list_t_item"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div><div class="list_item_function"><a class="journal_paper_edit admbg2 admtxt" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete admbg2 admtxt" href="'+paper.url_delete+'">Delete</a></div></li>');
|
||||||
column.find("ul").append(li);
|
column.find("ul").append(li);
|
||||||
if(counter%5==0){
|
if(counter%5==0){
|
||||||
$("#journal_p div#paper_list div.overview").append(column);
|
$("#journal_p div#paper_list div.overview").append(column);
|
||||||
|
@ -203,7 +212,7 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
|
||||||
li;
|
li;
|
||||||
$.each(journalData,function(i,journal){
|
$.each(journalData,function(i,journal){
|
||||||
$.each(journal.papers,function(j,paper){
|
$.each(journal.papers,function(j,paper){
|
||||||
li = $('<li class="list_t_item" style="height:auto;"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div><div class="list_t_des">'+paper.abstract+'</div><a class="journal_paper_edit" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete" href="'+paper.url_delete+'">Delete</a></li>');
|
li = $('<li class="list_t_item" style="height:auto;"><div class="list_item_action"><a href="" class="icon-check-empty"></a><a href="" class="icon-star-empty"></a></div><div class="list_t_title">'+paper.title+'</div><div class="list_t_des">'+paper.abstract+'</div><div class="list_item_function"><a class="journal_paper_edit admbg2 admtxt" href="'+paper.url_edit+'">Edit</a> <a class="journal_paper_delete admbg2 admtxt" href="'+paper.url_delete+'">Delete</a></div></li>');
|
||||||
column.find("ul").append(li);
|
column.find("ul").append(li);
|
||||||
$("#journal_p div#paper_list div.overview").append(column);
|
$("#journal_p div#paper_list div.overview").append(column);
|
||||||
column = $('<div class="g_col list_t"><ul></ul></div>');
|
column = $('<div class="g_col list_t"><ul></ul></div>');
|
||||||
|
@ -238,10 +247,9 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
|
||||||
this.initializeJournalPapers.journal = function(){ // to open add pages in journal papers page
|
this.initializeJournalPapers.journal = function(){ // to open add pages in journal papers page
|
||||||
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();
|
||||||
|
|
||||||
o.tinyscrollbar_ext({
|
o.tinyscrollbar_ext({
|
||||||
main: '.tinycanvas',
|
main: '.tinycanvas',
|
||||||
fill: '.s_grid_con'
|
fill: '.g_col'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
bindHandlers();
|
bindHandlers();
|
||||||
|
@ -261,9 +269,9 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
|
||||||
|
|
||||||
o.tinyscrollbar_ext({
|
o.tinyscrollbar_ext({
|
||||||
main: '.tinycanvas',
|
main: '.tinycanvas',
|
||||||
fill: '.s_grid_con'
|
fill: '.g_col'
|
||||||
})
|
})
|
||||||
$("a.bt-edit").click(function(){
|
$("div[container=true]").unbind(".editcoauthor").on("click.editcoauthor", "a.bt-edit", function(){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url : $(this).attr("href"),
|
url : $(this).attr("href"),
|
||||||
type : "get",
|
type : "get",
|
||||||
|
@ -276,12 +284,34 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
|
||||||
})
|
})
|
||||||
$(".bt-cancel").click(function(){
|
$(".bt-cancel").click(function(){
|
||||||
$("div[container=true]").html(prev_data);
|
$("div[container=true]").html(prev_data);
|
||||||
|
o.tinyscrollbar_ext({
|
||||||
|
main: '.tinycanvas',
|
||||||
|
fill: '.g_col'
|
||||||
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return false;
|
return false;
|
||||||
})
|
})
|
||||||
|
$("div[container=true]").unbind(".editype").on("click.edittype", "a.bt-edit-type", function(){
|
||||||
|
var parent = $(this).parent().parent();
|
||||||
|
parent.find('.list_item_function').hide();
|
||||||
|
$.ajax({
|
||||||
|
url : $(this).attr("href"),
|
||||||
|
type : "get",
|
||||||
|
success : function(data){
|
||||||
|
var prev_data = parent.find(".form_space").html();
|
||||||
|
parent.find(".form_space").html(data);
|
||||||
|
$(".bt-cancel-type").click(function(){
|
||||||
|
parent.find(".form_space").html(prev_data);
|
||||||
|
parent.find('.list_item_function').show();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return false;
|
||||||
|
})
|
||||||
$("div[container=true]").unbind(".delete").on("click.delete","a.bt-delete",function(){
|
$("div[container=true]").unbind(".delete").on("click.delete","a.bt-delete",function(){
|
||||||
|
|
||||||
var delurl = $(this).attr("href");
|
var delurl = $(this).attr("href");
|
||||||
var parent = $(this).parent().parent();
|
var parent = $(this).parent().parent();
|
||||||
o.confirm({
|
o.confirm({
|
||||||
|
@ -316,7 +346,8 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
|
||||||
fill: '.s_grid_con'
|
fill: '.s_grid_con'
|
||||||
})
|
})
|
||||||
$(".bt-cancel").click(function(){
|
$(".bt-cancel").click(function(){
|
||||||
$("div[container=true]").html(prev_data);
|
o.sub_menu_item($("div[content-type=menu] a[custom-load=coauthor]"));
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -335,6 +366,10 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
|
||||||
})
|
})
|
||||||
$(".bt-cancel").click(function(){
|
$(".bt-cancel").click(function(){
|
||||||
$("div[container=true]").html(prev_data);
|
$("div[container=true]").html(prev_data);
|
||||||
|
o.tinyscrollbar_ext({
|
||||||
|
main: '.tinycanvas',
|
||||||
|
fill: '.g_col'
|
||||||
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -346,7 +381,15 @@ orbitDesktop.prototype.initializeJournalPapers = function(target,url,cache){ //
|
||||||
this.initializeJournalPapers.coauthorRelationForm = function(data){
|
this.initializeJournalPapers.coauthorRelationForm = function(data){
|
||||||
if(data.success){
|
if(data.success){
|
||||||
o.notify(data.msg,"success");
|
o.notify(data.msg,"success");
|
||||||
$("#co_author_relation_table tbody").prepend(data.newvalue);
|
$("#co_author_relation_table").html(data.newvalue);
|
||||||
|
}else{
|
||||||
|
o.notify(data.msg,"alert");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.initializeJournalPapers.coauthorRelationEditForm = function(data){
|
||||||
|
if(data.success){
|
||||||
|
o.notify(data.msg,"success");
|
||||||
|
$("#co_author_relation_table").html(data.newvalue);
|
||||||
}else{
|
}else{
|
||||||
o.notify(data.msg,"alert");
|
o.notify(data.msg,"alert");
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
$('#feature .holder ul').cycle({
|
||||||
|
fx: 'scrollDown',
|
||||||
|
pager: '#feature-nav ul',
|
||||||
|
pause: 1,
|
||||||
|
pagerAnchorBuilder: function(idx, slide) {
|
||||||
|
// return selector string for existing anchor
|
||||||
|
return '#feature-nav ul li:eq(' + idx + ') a';
|
||||||
|
}
|
||||||
|
});
|
|
@ -233,6 +233,21 @@ var orbitDesktop = function(dom){
|
||||||
if(o.data_method != "")
|
if(o.data_method != "")
|
||||||
window.o[o.data_method](target,url,cache);
|
window.o[o.data_method](target,url,cache);
|
||||||
}
|
}
|
||||||
|
try{
|
||||||
|
if(!customload)
|
||||||
|
o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]"));
|
||||||
|
else{
|
||||||
|
if(submenuitem)
|
||||||
|
o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[custom-load="+submenuitem+"]"));
|
||||||
|
else
|
||||||
|
o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]"));
|
||||||
|
}
|
||||||
|
}catch(EX){}
|
||||||
|
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
$(o.contentHolder).html(o.desktopData[o.currentface]);
|
||||||
|
try{
|
||||||
if(!customload)
|
if(!customload)
|
||||||
o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]"));
|
o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]"));
|
||||||
else{
|
else{
|
||||||
|
@ -241,18 +256,7 @@ var orbitDesktop = function(dom){
|
||||||
else
|
else
|
||||||
o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]"));
|
o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]"));
|
||||||
}
|
}
|
||||||
|
}catch(EX){}
|
||||||
})
|
|
||||||
}else{
|
|
||||||
$(o.contentHolder).html(o.desktopData[o.currentface]);
|
|
||||||
if(!customload)
|
|
||||||
o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]"));
|
|
||||||
else{
|
|
||||||
if(submenuitem)
|
|
||||||
o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[custom-load="+submenuitem+"]"));
|
|
||||||
else
|
|
||||||
o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]"));
|
|
||||||
}
|
|
||||||
cache = true;
|
cache = true;
|
||||||
if(typeof o.data_method != "undefined"){
|
if(typeof o.data_method != "undefined"){
|
||||||
if(o.data_method != "")
|
if(o.data_method != "")
|
||||||
|
@ -565,7 +569,6 @@ var orbitDesktop = function(dom){
|
||||||
loadApps();
|
loadApps();
|
||||||
};
|
};
|
||||||
this.initializeSectionsManager = function(target,url,cache){ // this is init function for section manager
|
this.initializeSectionsManager = function(target,url,cache){ // this is init function for section manager
|
||||||
|
|
||||||
var elementParent,element,slabel;
|
var elementParent,element,slabel;
|
||||||
var bindHandlers = function(){ // this is bind handler for section manager page
|
var bindHandlers = function(){ // this is bind handler for section manager page
|
||||||
var groupWrapperWidth = 0;
|
var groupWrapperWidth = 0;
|
||||||
|
@ -634,6 +637,7 @@ var orbitDesktop = function(dom){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
z++;
|
z++;
|
||||||
|
|
||||||
$("div#group_wrapper").append($group);
|
$("div#group_wrapper").append($group);
|
||||||
}
|
}
|
||||||
var yy=1,y=0;
|
var yy=1,y=0;
|
||||||
|
@ -641,6 +645,7 @@ var orbitDesktop = function(dom){
|
||||||
|
|
||||||
$.each(apps,function(i,app){
|
$.each(apps,function(i,app){
|
||||||
$li = $('<li class="element to_drop w1 hh2 hp vp" data-category="'+app.data_category+'" data-content="'+app.data_content+'" id="'+app._id+'"><div class="appicon"><img src="'+o.iconPath+app.data_content+'.png" class="" width="30" /></div><h1 class="appname thmtxth">'+app.title+'</h1></li>');
|
$li = $('<li class="element to_drop w1 hh2 hp vp" data-category="'+app.data_category+'" data-content="'+app.data_content+'" id="'+app._id+'"><div class="appicon"><img src="'+o.iconPath+app.data_content+'.png" class="" width="30" /></div><h1 class="appname thmtxth">'+app.title+'</h1></li>');
|
||||||
|
|
||||||
$("ul#section"+yy).append($li);
|
$("ul#section"+yy).append($li);
|
||||||
})
|
})
|
||||||
if(y==1){
|
if(y==1){
|
||||||
|
|
|
@ -26,7 +26,7 @@ var orbitDesktopAPI = function(){
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
$notify.find("img#note_img").attr("src",o.notifyImgPath+img);
|
$notify.find("img#note_img").attr("src",o.notifyImgPath+img);
|
||||||
$notify.find(".note_message").text(msg);
|
$notify.find(".note_message").html(msg);
|
||||||
n_height = $notify.outerHeight();
|
n_height = $notify.outerHeight();
|
||||||
if(!time)time=5000; else time=time*1000;
|
if(!time)time=5000; else time=time*1000;
|
||||||
$notify
|
$notify
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
$(document).ready(function(){
|
||||||
|
$('#screen-shot .holder')
|
||||||
|
.before('<div id="scr-nav"/>')
|
||||||
|
.cycle({
|
||||||
|
pager: '#scr-nav',
|
||||||
|
fx: 'scrollLeft',
|
||||||
|
pause: 1
|
||||||
|
});
|
||||||
|
});
|
|
@ -26,7 +26,7 @@ time, mark, audio, video {
|
||||||
#container input, #container textarea, #container select, #container input:focus, #container textarea:focus {
|
#container input, #container textarea, #container select, #container input:focus, #container textarea:focus {
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
font: inherit;
|
font-family: inherit;
|
||||||
}
|
}
|
||||||
/* HTML5 display-role reset for older browsers */
|
/* HTML5 display-role reset for older browsers */
|
||||||
article, aside, details, figcaption, figure,
|
article, aside, details, figcaption, figure,
|
||||||
|
@ -126,10 +126,13 @@ a:focus { outline: none; }
|
||||||
.ini_input {
|
.ini_input {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: none;
|
border: 0;
|
||||||
}
|
}
|
||||||
.ini_input:focus { outline: none; }
|
.ini_input:focus { outline: none; }
|
||||||
#search_app { position: relative; background-color: #fff; }
|
#search_app {
|
||||||
|
position: relative;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
#search_app .form {
|
#search_app .form {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
@ -139,6 +142,7 @@ a:focus { outline: none; }
|
||||||
height: 28px;
|
height: 28px;
|
||||||
line-height: 28px;
|
line-height: 28px;
|
||||||
background: none;
|
background: none;
|
||||||
|
border: 0;
|
||||||
}
|
}
|
||||||
#search_app .submit {
|
#search_app .submit {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -289,7 +293,7 @@ a:focus { outline: none; }
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
}
|
}
|
||||||
.toolbar .sdm, .toolbar .fn_g { display: inline-block; }
|
.toolbar .sdm, .toolbar .fn_g { display: inline-block; vertical-align: top; }
|
||||||
.toolbar .sdm_o { top: 36px; background-color: #f0f0f0; }
|
.toolbar .sdm_o { top: 36px; background-color: #f0f0f0; }
|
||||||
.toolbar button {
|
.toolbar button {
|
||||||
border: none;
|
border: none;
|
||||||
|
@ -300,7 +304,10 @@ a:focus { outline: none; }
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
.toolbar .fn_btn {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
/* Setting Page */
|
/* Setting Page */
|
||||||
.theme_list {}
|
.theme_list {}
|
||||||
|
@ -344,6 +351,7 @@ a:focus { outline: none; }
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
line-height: 36px;
|
line-height: 36px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
border: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* theme color opacity */
|
/* theme color opacity */
|
||||||
|
@ -452,7 +460,7 @@ a:focus { outline: none; }
|
||||||
height: 100%;
|
height: 100%;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 9;
|
z-index: 10;
|
||||||
}
|
}
|
||||||
#orbitdiag .tile { background-color: #000; }
|
#orbitdiag .tile { background-color: #000; }
|
||||||
.diag_holder { background-color: #000; }
|
.diag_holder { background-color: #000; }
|
||||||
|
@ -535,7 +543,7 @@ a:focus { outline: none; }
|
||||||
.s_form input[type=text], .s_form input[type=password], .s_form textarea{
|
.s_form input[type=text], .s_form input[type=password], .s_form textarea{
|
||||||
outline: solid 3px #f6f6f6;
|
outline: solid 3px #f6f6f6;
|
||||||
border: solid 1px #eee;
|
border: solid 1px #eee;
|
||||||
font-size: 18px;
|
font-size: 15px;
|
||||||
font-family: Arial !important;
|
font-family: Arial !important;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 6px;
|
padding: 6px;
|
||||||
|
@ -578,14 +586,14 @@ a:focus { outline: none; }
|
||||||
height: 30px;
|
height: 30px;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
right: 5px;
|
right: 5px;
|
||||||
top: 4px;
|
top: 5px;
|
||||||
display: block;
|
display: block;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
.s_form.s_grid_con { width: 416px; }
|
.s_form.s_grid_con { width: 416px; }
|
||||||
.s_form .s_grid_row { width: 410px; }
|
.s_form .s_grid_row { width: 410px; }
|
||||||
.s_form .s_grid_row .s_grid:first-child { margin-left: 0; }
|
.s_form .s_grid_row .s_grid:first-child { margin-left: 0; }
|
||||||
.s_form input[type=text].s_grid, .s_form input[type=passowrd].s_grid, .s_form textarea.s_grid, .s_form label.s_grid { float: none; display: inline-block; margin-left: 10px; }
|
.s_form input[type=text].s_grid, .s_form input[type=passowrd].s_grid, .s_form textarea.s_grid, .s_form label.s_grid, .s_form select.s_grid { /*float: none; display: inline-block;*/ margin-left: 10px; }
|
||||||
.s_form input[type=text].s_grid_1, .s_form input[type=passowrd].s_grid_1, .s_form textarea.s_grid_1 { width: 46px; }
|
.s_form input[type=text].s_grid_1, .s_form input[type=passowrd].s_grid_1, .s_form textarea.s_grid_1 { width: 46px; }
|
||||||
.s_form input[type=text].s_grid_2, .s_form input[type=passowrd].s_grid_2, .s_form textarea.s_grid_2 { width: 116px; }
|
.s_form input[type=text].s_grid_2, .s_form input[type=passowrd].s_grid_2, .s_form textarea.s_grid_2 { width: 116px; }
|
||||||
.s_form input[type=text].s_grid_3, .s_form input[type=passowrd].s_grid_3, .s_form textarea.s_grid_3 { width: 186px; }
|
.s_form input[type=text].s_grid_3, .s_form input[type=passowrd].s_grid_3, .s_form textarea.s_grid_3 { width: 186px; }
|
||||||
|
@ -598,7 +606,30 @@ a:focus { outline: none; }
|
||||||
.s_form select.s_grid_4 { width: 270px; }
|
.s_form select.s_grid_4 { width: 270px; }
|
||||||
.s_form select.s_grid_5 { width: 340px; }
|
.s_form select.s_grid_5 { width: 340px; }
|
||||||
.s_form select.s_grid_6 { width: 410px; }
|
.s_form select.s_grid_6 { width: 410px; }
|
||||||
|
.s_form label.s_grid { line-height: 34px; }
|
||||||
|
.s_form select.s_grid {
|
||||||
|
height: 26px;
|
||||||
|
margin-top: 4px;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
}
|
||||||
|
.s_form textarea.full_height {
|
||||||
|
height: 436px;
|
||||||
|
}
|
||||||
|
.s_form .s_table {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.s_form .s_table th, .s_form .s_table td {
|
||||||
|
padding: 6px 0;
|
||||||
|
}
|
||||||
|
.s_form .s_table th {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.s_form .s_table td {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.s_form .s_table thead th {
|
||||||
|
border-bottom: solid 1px #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#group_wrapper {}
|
#group_wrapper {}
|
||||||
|
@ -616,7 +647,7 @@ a:focus { outline: none; }
|
||||||
.list_t_title {
|
.list_t_title {
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
font-family: Arial;
|
font-family: Arial;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 6px;
|
||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
.list_t_des {
|
.list_t_des {
|
||||||
|
@ -624,7 +655,7 @@ a:focus { outline: none; }
|
||||||
line-height: 1.5em;
|
line-height: 1.5em;
|
||||||
color: #999;
|
color: #999;
|
||||||
font-family: Arial, sans-serif;
|
font-family: Arial, sans-serif;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Connection Page */
|
/* Connection Page */
|
||||||
|
@ -684,6 +715,13 @@ a:focus { outline: none; }
|
||||||
float: left;
|
float: left;
|
||||||
margin-left: -30px;
|
margin-left: -30px;
|
||||||
}
|
}
|
||||||
|
#paper_list .list_item_function a {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 4px;
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
font-size: 11px;
|
||||||
|
-webkit-text-size-adjust: none;
|
||||||
|
}
|
||||||
.list_item_action a {
|
.list_item_action a {
|
||||||
display: block;
|
display: block;
|
||||||
width: 20px;
|
width: 20px;
|
||||||
|
@ -696,6 +734,29 @@ a:focus { outline: none; }
|
||||||
.list_item_action .icon-check-empty { color: #999; font-size: 20px; }
|
.list_item_action .icon-check-empty { color: #999; font-size: 20px; }
|
||||||
.list_item_action .icon-check { color: #333; font-size: 20px; }
|
.list_item_action .icon-check { color: #333; font-size: 20px; }
|
||||||
|
|
||||||
|
#paper_list .list_t_item.file_view {
|
||||||
|
height: 148px;
|
||||||
|
}
|
||||||
|
#paper_list .file_view .file {
|
||||||
|
display: inline-block;
|
||||||
|
width: 62px;
|
||||||
|
height: 50px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#paper_list .file_view .file:hover {
|
||||||
|
background-color: #ddd;
|
||||||
|
}
|
||||||
|
#paper_list .file_view .file img {
|
||||||
|
width: 24px;
|
||||||
|
display: block;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: 4px;
|
||||||
|
}
|
||||||
|
#paper_list .file_view .filetitle {
|
||||||
|
font-size: 11px;
|
||||||
|
-webkit-text-size-adjust: none;
|
||||||
|
}
|
||||||
|
|
||||||
/* Journal Paper Add */
|
/* Journal Paper Add */
|
||||||
#paper_add .s_grid_con {
|
#paper_add .s_grid_con {
|
||||||
float: left;
|
float: left;
|
||||||
|
@ -708,6 +769,122 @@ a:focus { outline: none; }
|
||||||
#paper_add .f_w { width: 336px; }
|
#paper_add .f_w { width: 336px; }
|
||||||
#paper_add label { margin-right: 0; }
|
#paper_add label { margin-right: 0; }
|
||||||
|
|
||||||
|
/* Journal Journal list */
|
||||||
|
#journal_list .g_col {
|
||||||
|
width: 416px;
|
||||||
|
}
|
||||||
|
#journal_list .g_col {
|
||||||
|
float: left;
|
||||||
|
height: 456px;
|
||||||
|
margin-left: 12px;
|
||||||
|
padding-left: 12px;
|
||||||
|
border-left: solid 1px #EEE;
|
||||||
|
}
|
||||||
|
#journal_list .g_col:first-child {
|
||||||
|
margin-left: 0;
|
||||||
|
padding-left: 0;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
#journal_list .g_col .list_t_item {
|
||||||
|
padding-left: 30px;
|
||||||
|
height: 86px;
|
||||||
|
}
|
||||||
|
#journal_list .list_item_action {
|
||||||
|
font-size: 12px;
|
||||||
|
float: left;
|
||||||
|
margin-left: -30px;
|
||||||
|
}
|
||||||
|
#journal_list .list_item_action i {
|
||||||
|
color: #999;
|
||||||
|
font-size: 20px;
|
||||||
|
display: block;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
line-height: 20px;
|
||||||
|
margin: 1px 1px 6px 1px;
|
||||||
|
}
|
||||||
|
#journal_list .list_t_desc {
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Journal Co-Author */
|
||||||
|
#co_author {}
|
||||||
|
#co_author .list_t_item {
|
||||||
|
height: 110px;
|
||||||
|
}
|
||||||
|
#co_author .list_item_function {}
|
||||||
|
#co_author .list_item_function a {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 4px;
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
font-size: 11px;
|
||||||
|
-webkit-text-size-adjust: none;
|
||||||
|
}
|
||||||
|
#co_author .g_col:first-child {
|
||||||
|
margin-left: 0;
|
||||||
|
padding-left: 10px;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
#co_author .g_col {
|
||||||
|
width: 300px;
|
||||||
|
height: 456px;
|
||||||
|
margin-left: 12px;
|
||||||
|
padding-left: 12px;
|
||||||
|
border-left: solid 1px #EEE;
|
||||||
|
}
|
||||||
|
#co_author .info {
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
}
|
||||||
|
#co_author .info li {
|
||||||
|
margin-bottom: 8px;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
#co_author .info .name {
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 24px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
/* Journal Co-Author Relationship*/
|
||||||
|
#co_author_relation_table .s_grid_con {
|
||||||
|
float: left;
|
||||||
|
width: 370px;
|
||||||
|
height: 456px;
|
||||||
|
margin-left: 12px;
|
||||||
|
padding-left: 12px;
|
||||||
|
border-left: solid 1px #EEE;
|
||||||
|
}
|
||||||
|
#co_author_relation_table .s_grid_con:first-child {
|
||||||
|
margin-left: 0;
|
||||||
|
padding-left: 0;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
#co_author_relation_table .s_grid_row {
|
||||||
|
width: auto;
|
||||||
|
height: 64px;
|
||||||
|
}
|
||||||
|
#co_author_relation_table .edit_co_author_relation {
|
||||||
|
/*margin-left: -10px;*/
|
||||||
|
}
|
||||||
|
#co_author_relation_table .list_item_function a {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 4px;
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
font-size: 11px;
|
||||||
|
-webkit-text-size-adjust: none;
|
||||||
|
}
|
||||||
|
#co_author_relation_table .form_space {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
font-size: 18px;
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
}
|
||||||
|
/* Journal New Co-Author */
|
||||||
|
#new_co_author label {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* App */
|
/* App */
|
||||||
.app_frame {
|
.app_frame {
|
||||||
margin: 48px 96px 48px 156px;
|
margin: 48px 96px 48px 156px;
|
||||||
|
|
|
@ -0,0 +1,111 @@
|
||||||
|
/* list page */
|
||||||
|
header {
|
||||||
|
background-image: url(<%= asset_path "mheader_bg.jpg"%>);
|
||||||
|
}
|
||||||
|
#toolbar {
|
||||||
|
background-image: url(<%= asset_path "mfilter_bg.jpg"%>);
|
||||||
|
border: solid 1px #8b8b8b;
|
||||||
|
box-shadow: inset 0 -1px 0 #9a9a9a;
|
||||||
|
}
|
||||||
|
#feature {
|
||||||
|
border: solid 1px #ccc;
|
||||||
|
padding: 3px;
|
||||||
|
background-color: #fff;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
#feature ul {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none;
|
||||||
|
height: 220px;
|
||||||
|
}
|
||||||
|
#feature .holder {
|
||||||
|
width: 740px;
|
||||||
|
height: 220px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
#feature-nav {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
#feature-nav li {
|
||||||
|
margin-top: 9px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
#feature-nav li:first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
#feature-nav li a {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
#feature-nav li a:hover:after, #feature-nav li.activeSlide a:after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
border-top: 30px solid transparent;
|
||||||
|
border-bottom: 30px solid transparent;
|
||||||
|
border-right: 30px solid #fff;
|
||||||
|
position: absolute;
|
||||||
|
left: -30px;
|
||||||
|
top: 4px;
|
||||||
|
}
|
||||||
|
#feature-nav li a:hover, #feature-nav li.activeSlide {
|
||||||
|
outline: solid 9px #fff;
|
||||||
|
position: relative;
|
||||||
|
z-index: 99;
|
||||||
|
box-shadow: 0 10px 3px rgba(0,0,0,0.2);
|
||||||
|
}
|
||||||
|
#item-list ul {
|
||||||
|
margin: 0 -11px;
|
||||||
|
}
|
||||||
|
#item-list li {
|
||||||
|
width: 312px;
|
||||||
|
margin: 0 11px 35px 11px;
|
||||||
|
}
|
||||||
|
#item-list li a {
|
||||||
|
border: solid 1px #ccc;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
#item-list .item-thumb {
|
||||||
|
width: 144px;
|
||||||
|
height: 144px;
|
||||||
|
border: solid 3px #fff;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
#item-list .item-info {
|
||||||
|
width: 154px;
|
||||||
|
height: 144px;
|
||||||
|
padding: 3px;
|
||||||
|
float: right;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
#item-list .item-name {
|
||||||
|
color: #000;
|
||||||
|
padding: 8px;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
#item-list .item-price {
|
||||||
|
right: 10px;
|
||||||
|
bottom: 10px;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
.fn .label {
|
||||||
|
color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* content page */
|
||||||
|
#content {
|
||||||
|
background: #fff url(<%= asset_path "mside_bg.png"%>) 0 0 repeat-y;
|
||||||
|
padding: 20px 0;
|
||||||
|
}
|
||||||
|
.user-list {
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
.user-list li:first-child {
|
||||||
|
border-top: 0;
|
||||||
|
}
|
||||||
|
.user-list li {
|
||||||
|
color: #333;
|
||||||
|
border-top: solid 1px #f1f1f1;
|
||||||
|
padding: 8px;
|
||||||
|
padding-left: 20px;
|
||||||
|
background: url(<%= asset_path "ar1.png"%>) 10px 14px no-repeat;
|
||||||
|
}
|
|
@ -0,0 +1,375 @@
|
||||||
|
/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
HTML5 display definitions
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects `block` display not defined in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
article,
|
||||||
|
aside,
|
||||||
|
details,
|
||||||
|
figcaption,
|
||||||
|
figure,
|
||||||
|
footer,
|
||||||
|
header,
|
||||||
|
hgroup,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
summary {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects `inline-block` display not defined in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
audio,
|
||||||
|
canvas,
|
||||||
|
video {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Prevents modern browsers from displaying `audio` without controls.
|
||||||
|
* Remove excess height in iOS 5 devices.
|
||||||
|
*/
|
||||||
|
|
||||||
|
audio:not([controls]) {
|
||||||
|
display: none;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling for `hidden` attribute not present in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[hidden] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Base
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Sets default font family to sans-serif.
|
||||||
|
* 2. Prevents iOS text size adjust after orientation change, without disabling
|
||||||
|
* user zoom.
|
||||||
|
*/
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-family: sans-serif; /* 1 */
|
||||||
|
-webkit-text-size-adjust: 100%; /* 2 */
|
||||||
|
-ms-text-size-adjust: 100%; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes default margin.
|
||||||
|
*/
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Links
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses `outline` inconsistency between Chrome and other browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
a:focus {
|
||||||
|
outline: thin dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Improves readability when focused and also mouse hovered in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
a:active,
|
||||||
|
a:hover {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Typography
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
|
||||||
|
* Safari 5, and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in IE 8/9, Safari 5, and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
abbr[title] {
|
||||||
|
border-bottom: 1px dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
b,
|
||||||
|
strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in Safari 5 and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
dfn {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
mark {
|
||||||
|
background: #ff0;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects font family set oddly in Safari 5 and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
code,
|
||||||
|
kbd,
|
||||||
|
pre,
|
||||||
|
samp {
|
||||||
|
font-family: monospace, serif;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Improves readability of pre-formatted text in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
pre {
|
||||||
|
white-space: pre;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Sets consistent quote types.
|
||||||
|
*/
|
||||||
|
|
||||||
|
q {
|
||||||
|
quotes: "\201C" "\201D" "\2018" "\2019";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses inconsistent and variable font size in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
small {
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Prevents `sub` and `sup` affecting `line-height` in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
sub,
|
||||||
|
sup {
|
||||||
|
font-size: 75%;
|
||||||
|
line-height: 0;
|
||||||
|
position: relative;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
sup {
|
||||||
|
top: -0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub {
|
||||||
|
bottom: -0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Embedded content
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes border when inside `a` element in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
img {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects overflow displayed oddly in IE 9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
svg:not(:root) {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Figures
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses margin not present in IE 8/9 and Safari 5.
|
||||||
|
*/
|
||||||
|
|
||||||
|
figure {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Forms
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Define consistent border, margin, and padding.
|
||||||
|
*/
|
||||||
|
|
||||||
|
fieldset {
|
||||||
|
border: 1px solid #c0c0c0;
|
||||||
|
margin: 0 2px;
|
||||||
|
padding: 0.35em 0.625em 0.75em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Corrects color not being inherited in IE 8/9.
|
||||||
|
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
|
||||||
|
*/
|
||||||
|
|
||||||
|
legend {
|
||||||
|
border: 0; /* 1 */
|
||||||
|
padding: 0; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Corrects font family not being inherited in all browsers.
|
||||||
|
* 2. Corrects font size not being inherited in all browsers.
|
||||||
|
* 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
select,
|
||||||
|
textarea {
|
||||||
|
font-family: inherit; /* 1 */
|
||||||
|
font-size: 100%; /* 2 */
|
||||||
|
margin: 0; /* 3 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
|
||||||
|
* the UA stylesheet.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input {
|
||||||
|
line-height: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
||||||
|
* and `video` controls.
|
||||||
|
* 2. Corrects inability to style clickable `input` types in iOS.
|
||||||
|
* 3. Improves usability and consistency of cursor style between image-type
|
||||||
|
* `input` and others.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
html input[type="button"], /* 1 */
|
||||||
|
input[type="reset"],
|
||||||
|
input[type="submit"] {
|
||||||
|
-webkit-appearance: button; /* 2 */
|
||||||
|
cursor: pointer; /* 3 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Re-set default cursor for disabled elements.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button[disabled],
|
||||||
|
input[disabled] {
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Addresses box sizing set to `content-box` in IE 8/9.
|
||||||
|
* 2. Removes excess padding in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="checkbox"],
|
||||||
|
input[type="radio"] {
|
||||||
|
box-sizing: border-box; /* 1 */
|
||||||
|
padding: 0; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
|
||||||
|
* 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
|
||||||
|
* (include `-moz` to future-proof).
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="search"] {
|
||||||
|
-webkit-appearance: textfield; /* 1 */
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
-webkit-box-sizing: content-box; /* 2 */
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes inner padding and search cancel button in Safari 5 and Chrome
|
||||||
|
* on OS X.
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="search"]::-webkit-search-cancel-button,
|
||||||
|
input[type="search"]::-webkit-search-decoration {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes inner padding and border in Firefox 4+.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button::-moz-focus-inner,
|
||||||
|
input::-moz-focus-inner {
|
||||||
|
border: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Removes default vertical scrollbar in IE 8/9.
|
||||||
|
* 2. Improves readability and alignment in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
overflow: auto; /* 1 */
|
||||||
|
vertical-align: top; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Tables
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Remove most spacing between table cells.
|
||||||
|
*/
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
|
@ -143,6 +143,7 @@
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
line-height: 22px;
|
line-height: 22px;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
#orbit-bar .nav img.member-img {
|
#orbit-bar .nav img.member-img {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
|
|
@ -0,0 +1,386 @@
|
||||||
|
@import url(http://fonts.googleapis.com/css?family=Lato:300,400,700);
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: Lato, 微軟正黑體, 新細明體, sans-serif;
|
||||||
|
font-size: 80%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
}
|
||||||
|
.wrapper {
|
||||||
|
width: 980px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
#main-menu ul, #item-list ul, .item-extra-info, .user-list, .option-list {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
header {
|
||||||
|
/*background-color: #e0e0e0;
|
||||||
|
background-position: center 60px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
height: 200px;*/
|
||||||
|
}
|
||||||
|
#orbit-logo {
|
||||||
|
margin: 0;
|
||||||
|
height: 62px;
|
||||||
|
}
|
||||||
|
#orbit-logo a {
|
||||||
|
display: inline-block;
|
||||||
|
width: 150px;
|
||||||
|
height: 32px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-indent: -9999px;
|
||||||
|
background: url(<%= asset_path "logo.png"%>) 0 0 no-repeat;
|
||||||
|
margin-top: 14px;
|
||||||
|
}
|
||||||
|
#orbit-logo span {
|
||||||
|
font-size: 10px;
|
||||||
|
color: #cdcdcd;
|
||||||
|
font-weight: normal;
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin: -4px 0 0 16px;
|
||||||
|
-webkit-text-size-adjust: none;
|
||||||
|
}
|
||||||
|
#main-menu {
|
||||||
|
background: url(<%= asset_path "topnav_bg.png"%>) 0 0 repeat-x;
|
||||||
|
}
|
||||||
|
#main-menu ul {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
#main-menu li {
|
||||||
|
float: left;
|
||||||
|
margin-left: 24px;
|
||||||
|
line-height: 62px;
|
||||||
|
}
|
||||||
|
#main-menu li a {
|
||||||
|
display: inline-block;
|
||||||
|
line-height: normal;
|
||||||
|
color: #b2b2b2;
|
||||||
|
font-size: 14px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
#main-menu li a:hover, #main-menu li a.active {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
#main-menu .demo a {
|
||||||
|
background-color: #c51c09;
|
||||||
|
color: #fff;
|
||||||
|
border: solid 2px #ea311d;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 4px 8px;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
#page-title {
|
||||||
|
margin: 0;
|
||||||
|
padding: 36px 0 0 16px;
|
||||||
|
font-size: 3em;
|
||||||
|
text-shadow: 0 2px 0 #fff;
|
||||||
|
}
|
||||||
|
#page-title .sub {
|
||||||
|
font-weight: 300;
|
||||||
|
color: #b2b2b2;
|
||||||
|
}
|
||||||
|
#search-form {
|
||||||
|
float: right;
|
||||||
|
margin: 50px 16px 0 0;
|
||||||
|
}
|
||||||
|
#search-form input {
|
||||||
|
display: block;
|
||||||
|
margin: 0;
|
||||||
|
padding: 7px 12px;
|
||||||
|
outline: 0;
|
||||||
|
border: 0;
|
||||||
|
width: 230px;
|
||||||
|
height: 16px;
|
||||||
|
line-height: 16px;
|
||||||
|
color: #333;
|
||||||
|
font-family: inherit;
|
||||||
|
box-shadow: inset 0 1px 0 #999, inset 0 -1px 0 #eee;
|
||||||
|
border-radius: 15px;
|
||||||
|
background-color: #cecece;
|
||||||
|
}
|
||||||
|
#toolbar {
|
||||||
|
margin: 35px 0;
|
||||||
|
height: 50px;
|
||||||
|
background-color: #fff;
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
border: solid 1px #e0e0e0;
|
||||||
|
border-radius: 3px;
|
||||||
|
box-shadow: inset 0 -1px 0 #c9c9c9;
|
||||||
|
position: relative;
|
||||||
|
z-index: 9;
|
||||||
|
}
|
||||||
|
.ui {
|
||||||
|
background: #F2F2F2 url(<%= asset_path "ui_bg.png" %>) left center repeat-x;
|
||||||
|
height: 28px;
|
||||||
|
line-height: 28px;
|
||||||
|
border: solid 1px #e0e0e0;
|
||||||
|
border-radius: 3px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.controller, .btn {
|
||||||
|
padding: 0 8px;
|
||||||
|
text-decoration: none;
|
||||||
|
display: block;
|
||||||
|
height: 28px;
|
||||||
|
line-height: 28px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
.controller:hover, .btn:hover {
|
||||||
|
background: none;
|
||||||
|
background-color: #fff;
|
||||||
|
position: relative;
|
||||||
|
z-index: 99;
|
||||||
|
}
|
||||||
|
.fn {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: top;
|
||||||
|
font-size: 14px;
|
||||||
|
margin: 10px 0 10px 16px;
|
||||||
|
}
|
||||||
|
.fn .label {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: top;
|
||||||
|
line-height: 28px;
|
||||||
|
color: #999;
|
||||||
|
margin-right: 8px;
|
||||||
|
font-size: 1em;
|
||||||
|
font-weight: normal;
|
||||||
|
text-shadow: none;
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
.option-default {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.option-list {
|
||||||
|
/*display: none;*/
|
||||||
|
position: absolute;
|
||||||
|
top: 28px;
|
||||||
|
left: -1px;
|
||||||
|
background-color: #fff;
|
||||||
|
border: solid 1px #e0e0e0;
|
||||||
|
width: 180px;
|
||||||
|
}
|
||||||
|
.option-list li {
|
||||||
|
border-top: solid 1px #eee;
|
||||||
|
}
|
||||||
|
.option-list li:first-child {
|
||||||
|
border-top: 0;
|
||||||
|
}
|
||||||
|
.option-list a {
|
||||||
|
color: #666;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.option-list a:hover {
|
||||||
|
color: #333;
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
}
|
||||||
|
.drop-menu {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.drop-menu:after {
|
||||||
|
display: table;
|
||||||
|
width: 100%;
|
||||||
|
content: '';
|
||||||
|
}
|
||||||
|
.drop-menu .arrow {
|
||||||
|
display: inline-block;
|
||||||
|
background: url(<%= asset_path "dropdown_ad.png"%>) 0 0 no-repeat;
|
||||||
|
width: 16px;
|
||||||
|
height: 18px;
|
||||||
|
vertical-align: top;
|
||||||
|
margin: 5px 0 0 8px;
|
||||||
|
}
|
||||||
|
.drop-menu:hover {
|
||||||
|
border-radius: 3px 3px 0 0;
|
||||||
|
}
|
||||||
|
.drop-menu:hover .controller {
|
||||||
|
border-bottom: solid 1px #fff;
|
||||||
|
background-color: #fff;
|
||||||
|
position: relative;
|
||||||
|
z-index: 99;
|
||||||
|
}
|
||||||
|
.drop-menu:hover .option-list {
|
||||||
|
display: block;
|
||||||
|
border-radius: 0 4px 4px 4px;
|
||||||
|
}
|
||||||
|
.drop-menu .option-list {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.drop-menu .option-list li a {
|
||||||
|
display: block;
|
||||||
|
line-height: normal;
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
.drop-menu .option-default {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.select {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.select .option-list {
|
||||||
|
position: static;
|
||||||
|
display: inline-block;
|
||||||
|
border: 0;
|
||||||
|
width: auto;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.select .option-list li {
|
||||||
|
display: inline-block;
|
||||||
|
border-top: 0;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
.select .option-list li a {
|
||||||
|
display: block;
|
||||||
|
text-decoration: none;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
#item-list ul {}
|
||||||
|
#item-list li {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
#item-list li a {
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
#item-list li a:hover {}
|
||||||
|
.item-thumb {
|
||||||
|
display: block;
|
||||||
|
background: #ccc url(<%= asset_path "thumb_default.png"%>) center center no-repeat;
|
||||||
|
}
|
||||||
|
#item-list .item-info {
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
#item-list .item-name {
|
||||||
|
font-size: 1.25em;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
#item-list .item-price {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background-color: #c51c09;
|
||||||
|
height: 24px;
|
||||||
|
line-height: 24px;
|
||||||
|
color: #fff;
|
||||||
|
padding: 0 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* content page */
|
||||||
|
#content h3 {
|
||||||
|
font-size: 1.5em;
|
||||||
|
text-transform: capitalize;
|
||||||
|
}
|
||||||
|
#content .side, #content .main {
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
#content .side {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
#content .main {
|
||||||
|
float: right;
|
||||||
|
width: 676px;
|
||||||
|
}
|
||||||
|
#item-info .item-thumb {
|
||||||
|
width: 210px;
|
||||||
|
height: 210px;
|
||||||
|
border: solid 5px #fff;
|
||||||
|
}
|
||||||
|
#item-info .item-name {
|
||||||
|
font-size: 2.16em;
|
||||||
|
text-shadow: 0 2px 0 #fff;
|
||||||
|
}
|
||||||
|
#item-info .item-extra-info {
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
||||||
|
#item-info .item-extra-info li {
|
||||||
|
border-top: solid 1px #E0E0E0;
|
||||||
|
padding-top: 12px;
|
||||||
|
margin-top: 12px;
|
||||||
|
}
|
||||||
|
#item-info .item-extra-info li:first-child {
|
||||||
|
border-top: 0;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
#item-info .item-extra-info .title {
|
||||||
|
color: #666;
|
||||||
|
display: inline-block;
|
||||||
|
/*width: 70px;*/
|
||||||
|
margin-right: 12px;
|
||||||
|
}
|
||||||
|
#item-info .item-extra-info .count {
|
||||||
|
font-size: 1.5em;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
#screen-shot {
|
||||||
|
padding: 5px;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
#screen-shot .holder {
|
||||||
|
overflow: hidden;
|
||||||
|
height: 450px;
|
||||||
|
}
|
||||||
|
#screen-shot .preview {
|
||||||
|
width: 670px;
|
||||||
|
height: 450px;
|
||||||
|
}
|
||||||
|
#scr-nav {
|
||||||
|
text-align: center;
|
||||||
|
height: 30px;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
#scr-nav a {
|
||||||
|
display: inline-block;
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
margin: 0 6px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-indent: -999px;
|
||||||
|
background-color: #aaa;
|
||||||
|
border-radius: 6px;
|
||||||
|
box-shadow: inset 0 1px 0 rgba(0,0,0,0.4);
|
||||||
|
}
|
||||||
|
#scr-nav a.activeSlide, #scr-nav a:hover {
|
||||||
|
background-color: #e7230d;
|
||||||
|
}
|
||||||
|
#download {
|
||||||
|
display: block;
|
||||||
|
text-align: center;
|
||||||
|
text-decoration: none;
|
||||||
|
text-transform: capitalize;
|
||||||
|
font-size: 1.5em;
|
||||||
|
color: #fff;
|
||||||
|
line-height: 2.2em;
|
||||||
|
text-shadow: 0 -1px 0 rgba(0,0,0,0.3);
|
||||||
|
border-radius: 5px;
|
||||||
|
box-shadow: inset 0 -2px 0 rgba(0,0,0,0.2);
|
||||||
|
background: #dd200b;
|
||||||
|
background: -moz-linear-gradient(top, #dd200b 0%, #c51c09 100%);
|
||||||
|
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#dd200b), color-stop(100%,#c51c09));
|
||||||
|
background: -webkit-linear-gradient(top, #dd200b 0%,#c51c09 100%);
|
||||||
|
background: -o-linear-gradient(top, #dd200b 0%,#c51c09 100%);
|
||||||
|
background: -ms-linear-gradient(top, #dd200b 0%,#c51c09 100%);
|
||||||
|
background: linear-gradient(to bottom, #dd200b 0%,#c51c09 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dd200b', endColorstr='#c51c09',GradientType=0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
background-color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #999;
|
||||||
|
padding: 16px 0;
|
||||||
|
margin-top: 35px;
|
||||||
|
}
|
||||||
|
footer p {
|
||||||
|
margin: 0;
|
||||||
|
}
|
|
@ -0,0 +1,110 @@
|
||||||
|
/* list page */
|
||||||
|
header {
|
||||||
|
background-image: url(<%= asset_path "theader_bg.jpg"%>);
|
||||||
|
}
|
||||||
|
#toolbar {
|
||||||
|
background-image: url(<%= asset_path "tfilter_bg.jpg"%>);
|
||||||
|
}
|
||||||
|
#item-list li {
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
#item-list li a {
|
||||||
|
width: 220px;
|
||||||
|
height: 220px;
|
||||||
|
background: url(<%= asset_path "tlist_tap.png"%>) center top no-repeat;
|
||||||
|
padding-top: 16px;
|
||||||
|
margin: 0 auto 35px auto;
|
||||||
|
background-color: #fff;
|
||||||
|
box-shadow: 0 4px 6px rgba(0,0,0,0.2);
|
||||||
|
}
|
||||||
|
#item-list li a:hover .item-info {
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
#item-list .item-thumb {
|
||||||
|
width: 210px;
|
||||||
|
height: 210px;
|
||||||
|
border: solid 5px #fff;
|
||||||
|
}
|
||||||
|
#item-list .item-info {
|
||||||
|
visibility: hidden;
|
||||||
|
opacity: 0;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 5px;
|
||||||
|
left: 5px;
|
||||||
|
width: 190px;
|
||||||
|
height: 60px;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: #000;
|
||||||
|
background-color: rgba(0,0,0,0.7);
|
||||||
|
|
||||||
|
-webkit-transition: opacity 0.3s ease;
|
||||||
|
-moz-transition: opacity 0.3s ease;
|
||||||
|
transition: opacity 0.3s ease;
|
||||||
|
}
|
||||||
|
#item-list .item-name {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
#item-list .item-price {
|
||||||
|
right: 10px;
|
||||||
|
bottom: 0;
|
||||||
|
border-radius: 3px 3px 0 0;
|
||||||
|
}
|
||||||
|
.color-tag {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
border-radius: 2px;
|
||||||
|
box-shadow: inset 0 1px 1px rgba(0,0,0,0.6);
|
||||||
|
}
|
||||||
|
.btn .color-tag {
|
||||||
|
margin: 2px -6px;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
.red {
|
||||||
|
background-color: #ef202a;
|
||||||
|
}
|
||||||
|
.yellow {
|
||||||
|
background-color: #feba29;
|
||||||
|
}
|
||||||
|
.green {
|
||||||
|
background-color: #2ca53b;
|
||||||
|
}
|
||||||
|
.blue {
|
||||||
|
background-color: #019cef;
|
||||||
|
}
|
||||||
|
.purple{
|
||||||
|
background-color: #d402e7;
|
||||||
|
}
|
||||||
|
.white {
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
.gray {
|
||||||
|
background-color: #969696;
|
||||||
|
}
|
||||||
|
.black {
|
||||||
|
background-color: #222;
|
||||||
|
}
|
||||||
|
#color-filter .btn:hover {
|
||||||
|
background-color: #aaa;
|
||||||
|
border-color: #9a9a9a;
|
||||||
|
background-image: linear-gradient(bottom, rgb(204,204,204) 0%, rgb(172,172,172) 100%);
|
||||||
|
background-image: -o-linear-gradient(bottom, rgb(204,204,204) 0%, rgb(172,172,172) 100%);
|
||||||
|
background-image: -moz-linear-gradient(bottom, rgb(204,204,204) 0%, rgb(172,172,172) 100%);
|
||||||
|
background-image: -webkit-linear-gradient(bottom, rgb(204,204,204) 0%, rgb(172,172,172) 100%);
|
||||||
|
background-image: -ms-linear-gradient(bottom, rgb(204,204,204) 0%, rgb(172,172,172) 100%);
|
||||||
|
}
|
||||||
|
#color-filter .btn:hover .color-tag {
|
||||||
|
box-shadow: inset 0 1px 1px rgba(0,0,0,0.6), inset 0 -1px 0 rgba(255,255,255,0.6);
|
||||||
|
}
|
||||||
|
#color-filter .option-default:hover {
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
background-image: none;
|
||||||
|
border-color: #e0e0e0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* content page */
|
||||||
|
#item-info .item-thumb, #screen-shot {
|
||||||
|
box-shadow: 0 2px 6px rgba(0,0,0,0.2);
|
||||||
|
}
|
|
@ -8,6 +8,9 @@ class Admin::InfosController < ApplicationController
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@attributes = Info.all.entries
|
@attributes = Info.all.entries
|
||||||
|
|
||||||
|
@roles = Role.excludes('disabled' => true)
|
||||||
|
|
||||||
render :template => 'admin/attributes/index'
|
render :template => 'admin/attributes/index'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -22,7 +25,7 @@ class Admin::InfosController < ApplicationController
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
@attribute = Info.find(params[:id])
|
@attribute = Info.find(params[:id])
|
||||||
@attribute_fields_upper_object = [@attribute]
|
# @attribute_fields_upper_object = [@attribute]
|
||||||
render :template => 'admin/attributes/edit'
|
render :template => 'admin/attributes/edit'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -49,10 +52,20 @@ class Admin::InfosController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def add_attribute_field
|
def add_attribute_field
|
||||||
|
|
||||||
attribute = Info.find(params[:info_id]) rescue nil
|
attribute = Info.find(params[:info_id]) rescue nil
|
||||||
@attribute_field_counter = attribute.attribute_fields.count
|
@attribute_field_counter = attribute.attribute_fields.count
|
||||||
@attribute_field = attribute.attribute_fields.build
|
@attribute_field = attribute.attribute_fields.build
|
||||||
@attribute_field.save
|
@attribute_field.save
|
||||||
|
|
||||||
|
@attribute_field[:af_count] = @attribute_field_counter
|
||||||
|
|
||||||
|
@attribute = Info.find(params[:info_id])
|
||||||
|
|
||||||
|
respond_to do |format|
|
||||||
|
format.js { render 'admin/attributes/add_attribute_field' }
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
|
@ -9,6 +9,18 @@ class Admin::PurchasesController < ApplicationController
|
||||||
@purchases = Purchase.all.entries
|
@purchases = Purchase.all.entries
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def buy_template
|
||||||
|
original_file, zip_name = download_template(params[:id])
|
||||||
|
temp_file = Tempfile.new("temp_file_zip")
|
||||||
|
temp_file.binmode
|
||||||
|
temp_file.write original_file
|
||||||
|
temp_file.rewind
|
||||||
|
unzip_design(temp_file, zip_name)
|
||||||
|
temp_file.close
|
||||||
|
temp_file.unlink
|
||||||
|
redirect_to admin_designs_url
|
||||||
|
end
|
||||||
|
|
||||||
def download
|
def download
|
||||||
@purchase = Purchase.first(:conditions => {:id => params[:id]})
|
@purchase = Purchase.first(:conditions => {:id => params[:id]})
|
||||||
download_purchase(@purchase, request.env['REQUEST_URI'].split('admin')[0].chop)
|
download_purchase(@purchase, request.env['REQUEST_URI'].split('admin')[0].chop)
|
||||||
|
@ -183,4 +195,66 @@ class Admin::PurchasesController < ApplicationController
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def download_template(id)
|
||||||
|
uri = URI.parse("http://#{APP_CONFIG['store_ip']}/download/design/#{id}")
|
||||||
|
http = Net::HTTP.new(uri.host, uri.port)
|
||||||
|
request = Net::HTTP::Get.new(uri.request_uri)
|
||||||
|
response = http.request(request)
|
||||||
|
[response.body, (response['content-disposition'].split('filename=')[1].gsub(/[\\\"]|.zip/, '') rescue '')]
|
||||||
|
end
|
||||||
|
|
||||||
|
def unzip_design(input_file, zip_name)
|
||||||
|
temp_file = Tempfile.new("temp_file")
|
||||||
|
temp_file.write(input_file.read.force_encoding('UTF-8'))
|
||||||
|
temp_file.rewind
|
||||||
|
Zip::ZipFile.open(temp_file) { |zip_file|
|
||||||
|
design = Design.new.from_json(zip_file.read("#{zip_name}/info.json"))
|
||||||
|
Dir.mktmpdir('f_path') { |dir|
|
||||||
|
themes_entries = []
|
||||||
|
javascripts_entries = []
|
||||||
|
images_entries = []
|
||||||
|
screenshots_entries = []
|
||||||
|
|
||||||
|
zip_file.entries.each do |entry|
|
||||||
|
case (path = entry.to_s)
|
||||||
|
when /\A(#{zip_name})\/(default\.css)\z/ #for default css
|
||||||
|
design.build_css_default(:file => get_temp_file(zip_file, dir, entry))
|
||||||
|
when /\A(#{zip_name})\/(reset\.css)\z/ #for reset css
|
||||||
|
design.build_css_reset(:file => get_temp_file(zip_file, dir, entry))
|
||||||
|
when /\A(#{zip_name})\/(layout\.html)\z/ #for layout html
|
||||||
|
design.build_layout(:file => get_temp_file(zip_file, dir, entry))
|
||||||
|
when /\A(#{zip_name})\/(thumb((\.jpg)|(\.png)|(\.gif)))\z/ #for thumb
|
||||||
|
design.build_thumb(:file => get_temp_file(zip_file, dir, entry))
|
||||||
|
when /\A(#{zip_name})\/(themes)\/.*(\.css)\z/ #for themes css
|
||||||
|
themes_entries << entry
|
||||||
|
when /\A(#{zip_name})\/(javascripts)\/.*(\.js)\z/ #for js
|
||||||
|
javascripts_entries << entry
|
||||||
|
when /\A(#{zip_name})\/(images)\/.*((\.jpg)|(\.png)|(\.gif))\z/ #for img
|
||||||
|
images_entries << entry
|
||||||
|
when /\A(#{zip_name})\/(screenshots)\/.*((\.jpg)|(\.png)|(\.gif))\z/ #for img
|
||||||
|
screenshots_entries << entry
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
['themes', 'javascripts', 'images', 'screenshots'].each do |type|
|
||||||
|
eval("#{type}_entries").each do |entry|
|
||||||
|
eval("design.#{type}").build(:file => get_temp_file(zip_file, dir, entry))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
}
|
||||||
|
design.zip_file = input_file
|
||||||
|
design.save
|
||||||
|
}
|
||||||
|
temp_file.close
|
||||||
|
temp_file.unlink
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_temp_file(zip_file, dir, entry)
|
||||||
|
filename = File.basename(entry.to_s)
|
||||||
|
temp_file = File.new(dir + '/' + filename, 'w+')
|
||||||
|
temp_file.write (zip_file.read entry ).force_encoding('UTF-8')
|
||||||
|
temp_file
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
|
@ -57,6 +57,24 @@ class Admin::SitesController < ApplicationController
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def change_design
|
||||||
|
design = Design.find(params[:site_id]) rescue nil
|
||||||
|
update_design(design) if design
|
||||||
|
render :nothing => true
|
||||||
|
end
|
||||||
|
|
||||||
|
protected
|
||||||
|
|
||||||
|
def update_design(design)
|
||||||
|
@site.design = design
|
||||||
|
if @site.save
|
||||||
|
theme_id = design.themes.first.id
|
||||||
|
Page.all.each do |page|
|
||||||
|
page.update_attributes({design_id: design.id, theme_id: (theme_id unless page.root?)})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def get_site
|
def get_site
|
||||||
|
|
|
@ -3,9 +3,29 @@ class Admin::TemplateStoreController < ApplicationController
|
||||||
layout "new_admin"
|
layout "new_admin"
|
||||||
|
|
||||||
def index
|
def index
|
||||||
|
@templates = JSON.parse(get_templates)
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
|
@template = JSON.parse(get_template(params[:id])) rescue nil
|
||||||
|
end
|
||||||
|
|
||||||
|
protected
|
||||||
|
|
||||||
|
def get_template(id)
|
||||||
|
uri = URI.parse("http://#{APP_CONFIG['store_ip']}/store/design/#{id}")
|
||||||
|
http = Net::HTTP.new(uri.host, uri.port)
|
||||||
|
request = Net::HTTP::Get.new(uri.request_uri)
|
||||||
|
response = http.request(request)
|
||||||
|
response.body
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_templates
|
||||||
|
uri = URI.parse("http://#{APP_CONFIG['store_ip']}/store/designs")
|
||||||
|
http = Net::HTTP.new(uri.host, uri.port)
|
||||||
|
request = Net::HTTP::Get.new(uri.request_uri)
|
||||||
|
response = http.request(request)
|
||||||
|
response.body
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
|
@ -8,18 +8,38 @@ class Desktop::CoAuthorRelationsController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def edit
|
||||||
|
@co_author_relation = CoAuthorRelation.find(params[:id])
|
||||||
|
respond_to do |format|
|
||||||
|
format.html { render :layout => false}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def new
|
def new
|
||||||
@new_relation = CoAuthorRelation.new
|
@co_author_relation = CoAuthorRelation.new
|
||||||
end
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@new_relation = CoAuthorRelation.new(params[:co_author_relation])
|
@co_author_relation = CoAuthorRelation.new(params[:co_author_relation])
|
||||||
|
@co_author_relations = CoAuthorRelation.all
|
||||||
|
|
||||||
if @new_relation.save
|
if @co_author_relation.save
|
||||||
newv = render_to_string :partial=>"show_form", :object=>@new_relation
|
newv = render_to_string partial: "show_form", object: @co_author_relations
|
||||||
render json: {success:true, msg: "New Relation successfully saved!","newvalue"=>newv}.to_json
|
render json: {success: true, msg: "New Relation successfully saved!", newvalue: newv}.to_json
|
||||||
else
|
else
|
||||||
error_msg = @new_relation.errors.full_messages.join("<br />")
|
error_msg = @co_author_relation.errors.full_messages.join("<br />")
|
||||||
|
render json: {success: false, msg: error_msg}.to_json
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def update
|
||||||
|
@co_author_relation = CoAuthorRelation.find(params[:id])
|
||||||
|
if @co_author_relation.update_attributes(params[:co_author_relation])
|
||||||
|
@co_author_relations = CoAuthorRelation.all
|
||||||
|
newv = render_to_string partial: "show_form", object: @co_author_relations
|
||||||
|
render json: {success: true, msg: "New Relation successfully updated!", newvalue: newv}.to_json
|
||||||
|
else
|
||||||
|
error_msg = @co_author.errors.full_messages.join("<br />")
|
||||||
render json: {success: false, msg: error_msg}.to_json
|
render json: {success: false, msg: error_msg}.to_json
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -27,7 +47,17 @@ class Desktop::CoAuthorRelationsController < ApplicationController
|
||||||
def destroy
|
def destroy
|
||||||
@co_author_relation = CoAuthorRelation.find(params[:id])
|
@co_author_relation = CoAuthorRelation.find(params[:id])
|
||||||
@co_author_relation.destroy
|
@co_author_relation.destroy
|
||||||
|
reset_co_author_relation
|
||||||
|
|
||||||
render :json => {success: true, msg: "deleted successfully!"}
|
render :json => {success: true, msg: "deleted successfully!"}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def reset_co_author_relation
|
||||||
|
co_author = CoAuthor.where(co_author_relations_id: @co_author_relation.id)
|
||||||
|
co_author.map do |c|
|
||||||
|
c.update_attributes(co_author_relations_id: nil)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
class Desktop::CoAuthorsController < ApplicationController
|
class Desktop::CoAuthorsController < ApplicationController
|
||||||
def index
|
def index
|
||||||
@co_authors = CoAuthor.where(name_id: current_user.id)
|
nils, not_nils = CoAuthor.where(name_id: current_user.id)\
|
||||||
|
.asc(:co_author).partition{|p| p.email.nil?}
|
||||||
|
@co_authors = not_nils + nils
|
||||||
@co_author_relations = CoAuthorRelation.all
|
@co_author_relations = CoAuthorRelation.all
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
|
@ -8,15 +10,6 @@ class Desktop::CoAuthorsController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
|
||||||
@co_author = CoAuthor.find(params[:id])
|
|
||||||
|
|
||||||
respond_to do |format|
|
|
||||||
format.html { redirect_to desktop_co_authors_url, :layout => false }
|
|
||||||
format.json { render json: @co_author }
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def new
|
def new
|
||||||
@co_author = CoAuthor.new
|
@co_author = CoAuthor.new
|
||||||
@co_author_relations = CoAuthorRelation.all
|
@co_author_relations = CoAuthorRelation.all
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
class Desktop::JournalListsController < ApplicationController
|
class Desktop::JournalListsController < ApplicationController
|
||||||
|
|
||||||
def index
|
def index
|
||||||
level_types = JournalLevelType.all
|
level_types = JournalLevelType.all
|
||||||
all_journal_lists = WritingJournal.where(create_user_id: current_user.id)
|
all_journal_lists = WritingJournal.where(create_user_id: current_user.id)
|
||||||
|
@ -7,8 +6,7 @@ class Desktop::JournalListsController < ApplicationController
|
||||||
[ j.journal_title,
|
[ j.journal_title,
|
||||||
j.journal_level_type_ids.map do |type|
|
j.journal_level_type_ids.map do |type|
|
||||||
level_types.find(type).title
|
level_types.find(type).title
|
||||||
end.join(",")
|
end]
|
||||||
].join(" -- ")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
@journal_lists = all_journal_lists.uniq
|
@journal_lists = all_journal_lists.uniq
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
class Desktop::JournalPagesController < ApplicationController
|
class Desktop::JournalPagesController < ApplicationController
|
||||||
#before_filter :check_for_cancel, :only => [:create, :update]
|
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@writing_journal = WritingJournal.where(create_user_id: current_user.id)
|
@writing_journal = WritingJournal.where(create_user_id: current_user.id)
|
||||||
@level_types = JournalLevelType.all
|
@level_types = JournalLevelType.all
|
||||||
|
@ -10,9 +8,6 @@ class Desktop::JournalPagesController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
|
||||||
end
|
|
||||||
|
|
||||||
def new
|
def new
|
||||||
@writing_journal = WritingJournal.new
|
@writing_journal = WritingJournal.new
|
||||||
@level_types = JournalLevelType.all
|
@level_types = JournalLevelType.all
|
||||||
|
@ -109,10 +104,4 @@ class Desktop::JournalPagesController < ApplicationController
|
||||||
render json: JSON.pretty_generate(data)
|
render json: JSON.pretty_generate(data)
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
def check_for_cancel
|
|
||||||
if params[:commit] == "Cancel"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -19,7 +19,7 @@ class DesktopController< ApplicationController
|
||||||
render :layout => false
|
render :layout => false
|
||||||
end
|
end
|
||||||
|
|
||||||
def sections
|
def allsections
|
||||||
render :layout => false
|
render :layout => false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -8,63 +8,28 @@ class Design
|
||||||
field :title, :type => String
|
field :title, :type => String
|
||||||
field :version, :type => String
|
field :version, :type => String
|
||||||
|
|
||||||
|
mount_uploader :zip_file, AssetUploader
|
||||||
|
|
||||||
|
has_one :site
|
||||||
has_one :css_default, as: :css, :autosave => true, :dependent => :destroy
|
has_one :css_default, as: :css, :autosave => true, :dependent => :destroy
|
||||||
has_one :layout, :autosave => true, :dependent => :destroy
|
has_one :layout, :autosave => true, :dependent => :destroy
|
||||||
has_one :css_reset, :autosave => true, :dependent => :destroy
|
has_one :css_reset, :autosave => true, :dependent => :destroy
|
||||||
|
has_one :thumb, :autosave => true, :dependent => :destroy
|
||||||
has_many :images, as: :imgs, :autosave => true, :dependent => :destroy
|
has_many :images, as: :imgs, :autosave => true, :dependent => :destroy
|
||||||
has_many :javascripts, as: :js, :autosave => true, :dependent => :destroy
|
has_many :javascripts, as: :js, :autosave => true, :dependent => :destroy
|
||||||
has_many :pages
|
has_many :pages
|
||||||
|
has_many :screenshots, :autosave => true, :dependent => :destroy
|
||||||
has_many :themes, :autosave => true, :dependent => :destroy
|
has_many :themes, :autosave => true, :dependent => :destroy
|
||||||
|
|
||||||
accepts_nested_attributes_for :images, :allow_destroy => true
|
accepts_nested_attributes_for :images, :allow_destroy => true
|
||||||
accepts_nested_attributes_for :javascripts, :allow_destroy => true
|
accepts_nested_attributes_for :javascripts, :allow_destroy => true
|
||||||
|
accepts_nested_attributes_for :screenshots, :allow_destroy => true
|
||||||
accepts_nested_attributes_for :themes, :allow_destroy => true
|
accepts_nested_attributes_for :themes, :allow_destroy => true
|
||||||
|
|
||||||
validates_presence_of :author, :title
|
validates_presence_of :author, :title
|
||||||
|
|
||||||
after_save :parse_css_for_images
|
after_save :parse_css_for_images
|
||||||
|
|
||||||
|
|
||||||
def new_files=(*attrs)
|
|
||||||
attrs[0].map do |key,items_ary| #Loop by JSs,Themes,Imgs
|
|
||||||
self.files=([items_ary, key])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# def javascripts=(*attrs)
|
|
||||||
# self.files = (attrs << 'javascripts')
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# def themes=(*attrs)
|
|
||||||
# self.files = (attrs << 'themes')
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# def images=(*attrs)
|
|
||||||
# self.files = (attrs << 'images')
|
|
||||||
# end
|
|
||||||
|
|
||||||
# Update or create the attribute records
|
|
||||||
def files=(attrs)
|
|
||||||
case attrs.last
|
|
||||||
when 'layout'
|
|
||||||
files = self.layout.build
|
|
||||||
else
|
|
||||||
files = eval(attrs.last)
|
|
||||||
end
|
|
||||||
attrs[0].each do |a|
|
|
||||||
|
|
||||||
if a[:id].blank? && !a[:file].blank?
|
|
||||||
files.build(:file => a[:file], :to_save => true)
|
|
||||||
else
|
|
||||||
files.each do |file|
|
|
||||||
if file.id.to_s == a[:id]
|
|
||||||
file.to_destroy = a[:to_destroy]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
def parse_css_for_images
|
def parse_css_for_images
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
class Screenshot < Image
|
||||||
|
belongs_to :design
|
||||||
|
end
|
|
@ -0,0 +1,3 @@
|
||||||
|
class Thumb < Image
|
||||||
|
belongs_to :design
|
||||||
|
end
|
|
@ -11,7 +11,6 @@ class Section
|
||||||
|
|
||||||
def initialize_group
|
def initialize_group
|
||||||
self.groups.build
|
self.groups.build
|
||||||
self.groups.build
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
|
@ -26,6 +26,7 @@ class Site
|
||||||
field :footer, localize: true
|
field :footer, localize: true
|
||||||
field :sub_menu, localize: true
|
field :sub_menu, localize: true
|
||||||
|
|
||||||
|
belongs_to :design
|
||||||
has_many :site_metas, :autosave => true, :dependent => :destroy
|
has_many :site_metas, :autosave => true, :dependent => :destroy
|
||||||
|
|
||||||
def generate_keys
|
def generate_keys
|
||||||
|
|
|
@ -4,6 +4,7 @@ class AttributeField
|
||||||
include ::AttributeFieldsHelper
|
include ::AttributeFieldsHelper
|
||||||
|
|
||||||
field :key
|
field :key
|
||||||
|
field :af_count
|
||||||
field :markup ,:default=>"text_field"
|
field :markup ,:default=>"text_field"
|
||||||
field :option_list ,:type => Hash,:default => {}
|
field :option_list ,:type => Hash,:default => {}
|
||||||
field :markup_options,:type => Hash
|
field :markup_options,:type => Hash
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
class ImageUploader < CarrierWave::Uploader::Base
|
class ImageUploader < CarrierWave::Uploader::Base
|
||||||
|
|
||||||
require 'mime/types'
|
require 'mime/types'
|
||||||
|
require 'carrierwave/processing/mini_magick'
|
||||||
include Sprockets::Helpers::RailsHelper
|
include Sprockets::Helpers::RailsHelper
|
||||||
|
|
||||||
process :set_content_type
|
process :set_content_type
|
||||||
|
@ -62,14 +63,20 @@ class ImageUploader < CarrierWave::Uploader::Base
|
||||||
# "something.jpg" if original_filename
|
# "something.jpg" if original_filename
|
||||||
# end
|
# end
|
||||||
|
|
||||||
|
def cache_dir
|
||||||
|
"#{Rails.root}/tmp/uploads"
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
def manipulate!
|
def manipulate!
|
||||||
cache_stored_file! if !cached?
|
cache_stored_file! if !cached?
|
||||||
|
#raise File.extname(current_path.to_s).to_s
|
||||||
image = ::MiniMagick::Image.open(current_path)
|
image = ::MiniMagick::Image.open(current_path)
|
||||||
image = yield(image)
|
# image = yield(image)
|
||||||
image.write(current_path)
|
# image.write(current_path)
|
||||||
::MiniMagick::Image.open(current_path)
|
# ::MiniMagick::Image.open(current_path)
|
||||||
rescue
|
# rescue
|
||||||
nil
|
# nil
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
$('<%= j render :partial => 'shared/attribute_field/attribute_field', :collection => [@attribute_field] %>').appendTo('#attribute_field_list').hide().fadeIn();
|
|
@ -19,12 +19,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% @attribute_fields_upper_object.each do |attribute|%>
|
<div class="map-block back attributes">
|
||||||
<div class="map-block back attributes">
|
<h4><span><%= @attribute.title+ t(:attributes)%></span></h4>
|
||||||
<h4><span><%= attribute.title+ t(:attributes)%></span></h4>
|
<div id="attribute_field_list">
|
||||||
<%= render :partial=>"shared/attribute_field/attribute_field",:collection=>attribute.attribute_fields%>
|
<%= render :partial=>"shared/attribute_field/attribute_field",:collection=>@attribute.attribute_fields%>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="form-actions form-fixed pagination-right">
|
<div class="form-actions form-fixed pagination-right">
|
||||||
<%= link_to content_tag(:i,t(:add_attribute_field),:class=>"icon-plus icon-white"),admin_info_add_attribute_field_path(@attribute),:class=>"btn btn-primary",:remote => true%>
|
<%= link_to content_tag(:i,t(:add_attribute_field),:class=>"icon-plus icon-white"),admin_info_add_attribute_field_path(@attribute),:class=>"btn btn-primary",:remote => true%>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<tr class="with_action">
|
<tr class="with_action">
|
||||||
<td><%= check_box_tag 'to_delete[]', design.id, false, :class => "checkbox_in_list" %></td>
|
<td class="span1"><%= check_box_tag 'to_delete[]', design.id, false, :class => "checkbox_in_list" %></td>
|
||||||
<td>
|
<td class="span2">
|
||||||
<%= design.title %>
|
<%= design.title %>
|
||||||
<div class="quick-edit">
|
<div class="quick-edit">
|
||||||
<ul class="nav nav-pills hide">
|
<ul class="nav nav-pills hide">
|
||||||
|
@ -9,6 +9,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td><%= design.author %></td>
|
<td class="span1"><%= radio_button_tag 'design_default', design.id, (@site.design.id.to_s.eql?(design.id.to_s) ? true : false), :class => 'design_default', :rel => admin_sites_path %></td>
|
||||||
<td><%= design.intro %></td>
|
<td class="span7"><%= design.intro %></td>
|
||||||
|
<td class="span2"><%= design.author %></td>
|
||||||
</tr>
|
</tr>
|
|
@ -1,8 +1,9 @@
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="span1 strong"></th>
|
<th class="span1 strong"></th>
|
||||||
<th class="span7"></th>
|
|
||||||
<th class="span2"></th>
|
<th class="span2"></th>
|
||||||
|
<th class="span1"></th>
|
||||||
|
<th class="span7"></th>
|
||||||
<th class="span2"></th>
|
<th class="span2"></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
@ -10,3 +11,14 @@
|
||||||
<tbody id="tbody_designs" class="sort-holder">
|
<tbody id="tbody_designs" class="sort-holder">
|
||||||
<%= render :partial => 'design', :collection => @designs %>
|
<%= render :partial => 'design', :collection => @designs %>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
||||||
|
<% content_for :page_specific_javascript do %>
|
||||||
|
<script>
|
||||||
|
$(document).ready(function(){
|
||||||
|
$(document).on('change', '.design_default', function(){
|
||||||
|
$(this).attr('value');
|
||||||
|
$.getScript($(this).attr('rel') + '/' + $(this).val() + '/change_design');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<% end %>
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<%= render_sort_bar(true, delete_admin_designs_path(:direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options]),
|
<%= render_sort_bar(true, delete_admin_designs_path(:direction => params[:direction], :sort => params[:sort], :sort_options => params[:sort_options]),
|
||||||
['title', 'title','span7', :title],
|
['title', 'title','span2', :title],
|
||||||
['author', 'author', 'span2', :author],
|
['', '', 'span1', :default],
|
||||||
['intro', 'intro', 'span2', :intro]).html_safe %>
|
['intro', 'intro', 'span7', :intro],
|
||||||
|
['author', 'author', 'span2', :author]).html_safe %>
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="dropdown">
|
<li class="dropdown">
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><%= t(javascripts) %> <b class="caret"></b></a>
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><%= t(:javascripts) %> <b class="caret"></b></a>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
<% @design.javascripts.each do |js| %>
|
<% @design.javascripts.each do |js| %>
|
||||||
<li><a href="#<%= dom_id js %>" data-toggle="tab"><%= js.name %></a></li>
|
<li><a href="#<%= dom_id js %>" data-toggle="tab"><%= js.name %></a></li>
|
||||||
|
|
|
@ -3,56 +3,85 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% content_for :page_specific_css do %>
|
<% content_for :page_specific_css do %>
|
||||||
<%= stylesheet_link_tag 'modulestore' %>
|
<%= stylesheet_link_tag 'normalize' %>
|
||||||
|
<%= stylesheet_link_tag 'bootstrap-responsive' %>
|
||||||
|
<%= stylesheet_link_tag 'rulingorbit' %>
|
||||||
|
<%= stylesheet_link_tag 'module-store' %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% content_for :page_specific_javascript do %>
|
<% content_for :page_specific_javascript do %>
|
||||||
<%= javascript_include_tag 'lib/jquery.cycle.all.latest.js' %>
|
<%= javascript_include_tag "jquery.cycle" %>
|
||||||
<script type="text/javascript">
|
<%= javascript_include_tag "modules" %>
|
||||||
// Banner slideshow
|
|
||||||
$(function() {
|
|
||||||
$('.slide').cycle({
|
|
||||||
fx: 'scrollRight',
|
|
||||||
speed: 600,
|
|
||||||
timeout: 4000,
|
|
||||||
slideExpr: 'img',
|
|
||||||
next: '.next',
|
|
||||||
prev: '.prev'
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div class="md-bg">
|
<div class="wrapper">
|
||||||
<div class="modulestore md-store">
|
<div id="toolbar">
|
||||||
<div class="header">
|
<div class="filter fn">
|
||||||
<h1 class="home"><a href="modulestore">Orbit Module Store</a></h1>
|
<span class="label">Price</span>
|
||||||
<div class="slide-wrap">
|
<div class="drop-menu ui">
|
||||||
<div class="slide-feature"></div>
|
<a href="" class="controller">
|
||||||
<div class="slide">
|
<span class="option-default">All</span>
|
||||||
<div class="slide-nav">
|
<span class="arrow down"></span>
|
||||||
<a class="prev" href="#">‹</a>
|
</a>
|
||||||
<a class="next" href="#">›</a>
|
<ul class="option-list">
|
||||||
</div>
|
<li><a class="option-item" href="">All</a></li>
|
||||||
<a href="#"><img src="<%= asset_path 'modulestore/slide01.jpg' %>"></a>
|
<li><a class="option-item" href="">3000</a></li>
|
||||||
<a href="#"><img src="<%= asset_path 'modulestore/slide01.jpg' %>"></a>
|
<li><a class="option-item" href="">4000</a></li>
|
||||||
<a href="#"><img src="<%= asset_path 'modulestore/slide01.jpg' %>"></a>
|
<li><a class="option-item" href="">5000</a></li>
|
||||||
</div>
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="filter fn">
|
||||||
|
<span class="label">Category</span>
|
||||||
|
<div class="drop-menu ui">
|
||||||
|
<a href="" class="controller">
|
||||||
|
<span class="option-default">All</span>
|
||||||
|
<span class="arrow down"></span>
|
||||||
|
</a>
|
||||||
|
<ul class="option-list">
|
||||||
|
<li><a class="option-item" href="">All</a></li>
|
||||||
|
<li><a class="option-item" href="">National Taiwan University</a></li>
|
||||||
|
<li><a class="option-item" href="">Category 1</a></li>
|
||||||
|
<li><a class="option-item" href="">Category 2</a></li>
|
||||||
|
<li><a class="option-item" href="">Category 3</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="filter fn">
|
||||||
|
<span class="label">Sort by</span>
|
||||||
|
<div class="drop-menu ui">
|
||||||
|
<a href="" class="controller">
|
||||||
|
<span class="option-default">Date</span>
|
||||||
|
<span class="arrow down"></span>
|
||||||
|
</a>
|
||||||
|
<ul class="option-list">
|
||||||
|
<li><a class="option-item" href="">Date</a></li>
|
||||||
|
<li><a class="option-item" href="">Popular</a></li>
|
||||||
|
<li><a class="option-item" href="">Recent Upload</a></li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="main">
|
|
||||||
<div class="app-list row">
|
|
||||||
<% 9.times do %>
|
|
||||||
<div class="app span3">
|
|
||||||
<a href="module_store/show">
|
|
||||||
<img src="<%= asset_path 'modulestore/app.jpg' %>" alt="App" />
|
|
||||||
<div class="detail">
|
|
||||||
<strong class="apptitle">Orange theme</strong>
|
|
||||||
<em class="price">Free download</em>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="feature" class="clearfix">
|
||||||
|
<div id="feature-nav">
|
||||||
|
<ul>
|
||||||
|
<li><a href=""><img class="item-thumb" src="<%= asset_path "f1.jpg"%>" alt="Thumbnail 1" width="228" height="67"></a></li>
|
||||||
|
<li><a href=""><img class="item-thumb" src="<%= asset_path "f2.jpg"%>" alt="Thumbnail 2" width="228" height="67"></a></li>
|
||||||
|
<li><a href=""><img class="item-thumb" src="<%= asset_path "f3.jpg"%>" alt="Thumbnail 3" width="228" height="67"></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="holder">
|
||||||
|
<ul>
|
||||||
|
<li><a href=""><img class="item-thumb" src="<%= asset_path "f1.jpg"%>" alt="Thumbnail 1" width="740" height="220"></a></li>
|
||||||
|
<li><a href=""><img class="item-thumb" src="<%= asset_path "f2.jpg"%>" alt="Thumbnail 2" width="740" height="220"></a></li>
|
||||||
|
<li><a href=""><img class="item-thumb" src="<%= asset_path "f3.jpg"%>" alt="Thumbnail 3" width="740" height="220"></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="item-list">
|
||||||
|
<ul class="clearfix">
|
||||||
|
<% 12.times do |i| %>
|
||||||
|
<li><a href="module_store/show?m=<%= i + 1 %>"><img src="/assets/module/thumb/mt<%= i + 1 %>.jpg" alt="" class="item-thumb"><span class="item-info"><b class="item-name">Module <%= i + 1 %></b><span class="item-price">Free</span></span></a></li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -3,95 +3,53 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% content_for :page_specific_css do %>
|
<% content_for :page_specific_css do %>
|
||||||
<%= stylesheet_link_tag 'modulestore' %>
|
<%= stylesheet_link_tag 'normalize' %>
|
||||||
|
<%= stylesheet_link_tag 'bootstrap-responsive' %>
|
||||||
|
<%= stylesheet_link_tag 'rulingorbit' %>
|
||||||
|
<%= stylesheet_link_tag 'module-store' %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% content_for :page_specific_javascript do %>
|
<% content_for :page_specific_javascript do %>
|
||||||
<%= javascript_include_tag 'lib/jquery.cycle.all.latest.js' %>
|
<%= javascript_include_tag "jquery.cycle" %>
|
||||||
<script type="text/javascript">
|
<%= javascript_include_tag "rulingorbit" %>
|
||||||
$(function() {
|
|
||||||
$('.slide').cycle({
|
|
||||||
fx: 'scrollRight',
|
|
||||||
speed: 'fast',
|
|
||||||
timeout: 4000,
|
|
||||||
pager: '.detail-slide-nav',
|
|
||||||
pagerEvent: 'mouseover',
|
|
||||||
slideExpr: 'img'
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="modulestore-detail md-store">
|
|
||||||
<div class="header">
|
|
||||||
<h1 class="home"><a href="modulestore.html">Orbit Module Store</a></h1>
|
|
||||||
</div>
|
|
||||||
<div class="main row-fluid clearfix">
|
|
||||||
<div class="left-col span3">
|
|
||||||
<%= image_tag 'modulestore/app-icon.jpg', :class => "app-icon" %>
|
|
||||||
<a href="#" class="price btn btn-primary">Free download</a>
|
|
||||||
<ul class="download-meta">
|
|
||||||
<li><strong class="downloads">Download:<span> 257985 times</span></strong></li>
|
|
||||||
<li>
|
|
||||||
<h3 class="who-are-using-this-apps">Who are using this apps?</h3>
|
|
||||||
<ul>
|
|
||||||
<li>NTU College of Liberal Arts</li>
|
|
||||||
<li>NTU Department of Mathematics</li>
|
|
||||||
<li>NCKU Graduate Institute of Communication Engineering</li>
|
|
||||||
<li>NCCU Graduate Institute of Biomedical Electronics and Bioinformatics</li>
|
|
||||||
<li>NTHU Nano-Electro-Mechanical System Research Center</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<h3 class="recommends">Who are using this also like</h3>
|
|
||||||
<ul class="recommend-thumbs">
|
|
||||||
<li>
|
|
||||||
<a href=""><%= image_tag 'modulestore/dropbox.jpg' %></a>
|
|
||||||
<a href=""><%= image_tag 'modulestore/screen-capture.jpg' %></a>
|
|
||||||
<a href=""><%= image_tag 'modulestore/deault-app-icon.jpg' %></a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
<div class="wrapper">
|
||||||
|
<div id="toolbar">
|
||||||
|
<div class="fn"><a class="ui btn" href="/admin/module_store">Back to Store</a></div>
|
||||||
|
</div>
|
||||||
|
<div id="content" class="clearfix">
|
||||||
|
<div class="side">
|
||||||
|
<div id="item-info">
|
||||||
|
<img src="/assets/module/thumb/mt<%= params[:m] %>.jpg" alt="" class="item-thumb">
|
||||||
|
<h2 class="item-name">Module Name</h2>
|
||||||
|
<a id="download" href="">free download</a>
|
||||||
|
<ul class="item-extra-info">
|
||||||
|
<li><span class="title">downloads</span><span class="count"><%= Random.new.rand(10..100) %></span></li>
|
||||||
|
</ul>
|
||||||
|
<h3>who use it?</h3>
|
||||||
|
<ul class="user-list">
|
||||||
|
<li>Unversity 1</li>
|
||||||
|
<li>Unversity 2</li>
|
||||||
|
<li>Unversity 3</li>
|
||||||
|
<li>Unversity 4</li>
|
||||||
|
<li>Unversity 5</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="main clearfix">
|
||||||
<div class="right-col span6">
|
<h3>description</h3>
|
||||||
<ul class="breadcrumb">
|
<div id="desc-holder" class="paragraph">Pixel Union’s Jitensha defines storefront minimalism. Japanese for “bicycle,” Jitensha offers clean typography and easy usability, including full color, font, logo, and footer customization. With its painless social media and blog integration, Jitensha gorgeously accomodates every aspect of your business. Any questions before you launch? Don’t hesitate to email us: Support@PixelUnion.net.</div>
|
||||||
<li><a href="Orbit_module_home.html">Home</a> <span class="divider">/</span></li>
|
<h3>screen shot</h3>
|
||||||
<li class="active">Orbit</li>
|
<div id="screen-shot">
|
||||||
</ul>
|
<div class="holder">
|
||||||
<h2>Orbit app name here</h2>
|
<img src="" alt="Thumbnail 1" class="preview item-thumb">
|
||||||
<h3>Description</h3>
|
<img src="" alt="Thumbnail 2" class="preview item-thumb">
|
||||||
<p class="app-description">
|
<img src="" alt="Thumbnail 3" class="preview item-thumb">
|
||||||
Orbit Blog makes it easy to post text, photos and video onto your blog.
|
<img src="" alt="Thumbnail 4" class="preview item-thumb">
|
||||||
|
<img src="" alt="Thumbnail 5" class="preview item-thumb">
|
||||||
We created Orbit blog to give you an easy way to share your thoughts about current events, what's going on in your life, or anything else you'd care to discuss with the world. We've developed a host of features to make blogging as simple and effective as possible:
|
|
||||||
|
|
||||||
* Free hosting for your images, video, and blog content
|
|
||||||
* Powerful Template Designer for customizing your blog's look and feel
|
|
||||||
* Drag and drop widget arrangements
|
|
||||||
* Hundreds of background images and of flexible default templates
|
|
||||||
* Built-in blog stats for realtime traffic data
|
|
||||||
* Easy, built-in monetization with AdSense
|
|
||||||
* Mobile support for blogging-on-the-go
|
|
||||||
* Use your custom URL for free
|
|
||||||
* Support for individual, team, and private blogs
|
|
||||||
* Post and comment notifications
|
|
||||||
* Gadget directory with hundreds of free widgets and add-ons
|
|
||||||
* Available in 4 languages
|
|
||||||
</p>
|
|
||||||
<div class="screenshots">
|
|
||||||
<h3>Screenshots</h3>
|
|
||||||
<div class="slide">
|
|
||||||
<div class="detail-slide-nav">
|
|
||||||
</div>
|
|
||||||
<a href="#"><%= image_tag 'modulestore/screenshot1.jpg' %></a>
|
|
||||||
<a href="#"><%= image_tag 'modulestore/screenshot2.jpg' %></a>
|
|
||||||
<a href="#"><%= image_tag 'modulestore/screenshot3.jpg' %></a>
|
|
||||||
<a href="#"><%= image_tag 'modulestore/screenshot4.jpg' %></a>
|
|
||||||
<a href="#"><%= image_tag 'modulestore/screenshot5.jpg' %></a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -1,12 +1,12 @@
|
||||||
<div class="main2">
|
<div class="main2">
|
||||||
<h1><%= t('list.purchase') %></h1>
|
<h1 class="list_title"><%= t('list.purchase') %></h1>
|
||||||
<table>
|
<table class="table main-list">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<td><%= t(:title) %></td>
|
<th><%= t(:title) %></th>
|
||||||
<td><%= t(:intro) %></td>
|
<th><%= t(:intro) %></th>
|
||||||
<td><%= t(:author) %></td>
|
<th><%= t(:author) %></th>
|
||||||
<td><%= t(:action) %></td>
|
<th><%= t(:action) %></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<%# @purchases.each do |purchase| %>
|
<%# @purchases.each do |purchase| %>
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
<td><%= purchase.title %></td>
|
<td><%= purchase.title %></td>
|
||||||
<td><%= purchase.intro %></td>
|
<td><%= purchase.intro %></td>
|
||||||
<td><%= purchase.author %></td>
|
<td><%= purchase.author %></td>
|
||||||
<td class="action">
|
<td>
|
||||||
<% if purchase.downloaded %>
|
<% if purchase.downloaded %>
|
||||||
<%= t(:downloaded) %>
|
<%= t(:downloaded) %>
|
||||||
<% else %>
|
<% else %>
|
||||||
|
@ -26,3 +26,12 @@
|
||||||
<%# end %>
|
<%# end %>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
<style type="text/css">
|
||||||
|
.list_title {
|
||||||
|
background: #eee;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 0;
|
||||||
|
padding: 20px 6px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
</style>
|