parent
							
								
									e80caf87b2
								
							
						
					
					
						commit
						7d70e63f8d
					
				| @ -1,30 +1,30 @@ | ||||
| <% if ma.class == UserFeedbackMessage %> | ||||
|     <% if ma.journals_for_message_type == "JournalsForMessage" %> | ||||
|         <ul class="homepageNewsList fl"> | ||||
|           <li class="homepageNewsPortrait fl"> | ||||
|             <a href="javascript:void(0);"><%=link_to image_tag(url_to_avatar(ma.journals_for_message.user), :width => "30", :height => "30"), user_path(ma.journals_for_message.user) %></a> | ||||
|           </li> | ||||
|           <li class="homepageNewsPubType fl"> | ||||
|             <%=link_to ma.journals_for_message.user, user_path(ma.journals_for_message.user), :class => "newsBlue homepageNewsPublisher" %> | ||||
|             <span class="<%= ma.viewed == 0 ? "homepageNewsTypeNotRead fl":"homepageNewsType fl" %>"><%= ma.journals_for_message.reply_id == 0 ? "给你留言了:" : "回复了你的留言:" %></span> | ||||
|           </li> | ||||
|           <li class="homepageNewsContent fl"><a href="javascript:void(0);" class="newsGrey"> | ||||
|             <%= link_to ma.journals_for_message.notes.gsub("<p>","").gsub("</p>","").gsub("<br />","").html_safe, feedback_path(ma.journals_for_message.jour_id),  :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", | ||||
|                         :onmouseover =>"message_titile_show($(this),event)", | ||||
|                         :onmouseout => "message_titile_hide($(this))" %></a> | ||||
|           </li> | ||||
|           <div  style="display: none" class="message_title_red system_message_style" > | ||||
|             <% if ma.journals_for_message.reply_id == 0 %> | ||||
|                 <%= ma.journals_for_message.notes.html_safe %> | ||||
|             <% else %> | ||||
|                 <div class="fl"><strong>您的留言:</strong></div> | ||||
|                 <div class="ml60"><%= JournalsForMessage.find(ma.journals_for_message.m_reply_id).notes.html_safe %></div> | ||||
|                 <div class="fl"><strong>回复内容:</strong></div> | ||||
|                 <div class="ml60"><%= ma.journals_for_message.notes.html_safe %></div> | ||||
|             <% end %> | ||||
|           </div> | ||||
|           <li class="homepageNewsTime fl"><%= time_tag(ma.journals_for_message.created_on).html_safe %> </li> | ||||
| 
 | ||||
|         </ul> | ||||
|     <% end %> | ||||
| <% if ma.class == UserFeedbackMessage %> | ||||
|     <% if ma.journals_for_message_type == "JournalsForMessage" %> | ||||
|         <ul class="homepageNewsList fl"> | ||||
|           <li class="homepageNewsPortrait fl"> | ||||
|             <a href="javascript:void(0);"><%=link_to image_tag(url_to_avatar(ma.journals_for_message.user), :width => "30", :height => "30"), user_path(ma.journals_for_message.user) %></a> | ||||
|           </li> | ||||
|           <li class="homepageNewsPubType fl"> | ||||
|             <%=link_to ma.journals_for_message.user, user_path(ma.journals_for_message.user), :class => "newsBlue homepageNewsPublisher" %> | ||||
|             <span class="<%= ma.viewed == 0 ? "homepageNewsTypeNotRead fl":"homepageNewsType fl" %>"><%= ma.journals_for_message.reply_id == 0 ? "给你留言了:" : "回复了你的留言:" %></span> | ||||
|           </li> | ||||
|           <li class="homepageNewsContent fl"> | ||||
|             <%= link_to ma.journals_for_message.notes.gsub("<p>","").gsub("</p>","").gsub("<br />","").html_safe, feedback_path(ma.journals_for_message.jour_id),  :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", | ||||
|                         :onmouseover =>"message_titile_show($(this),event)", | ||||
|                         :onmouseout => "message_titile_hide($(this))" %> | ||||
|           </li> | ||||
|           <div  style="display: none" class="message_title_red system_message_style" > | ||||
|             <% if ma.journals_for_message.reply_id == 0 %> | ||||
|                 <%= ma.journals_for_message.notes.html_safe %> | ||||
|             <% else %> | ||||
|                 <div class="fl"><strong>您的留言:</strong></div> | ||||
|                 <div class="ml60"><%= JournalsForMessage.find(ma.journals_for_message.m_reply_id).notes.html_safe %></div> | ||||
|                 <div class="fl"><strong>回复内容:</strong></div> | ||||
|                 <div class="ml60"><%= ma.journals_for_message.notes.html_safe %></div> | ||||
|             <% end %> | ||||
|           </div> | ||||
|           <li class="homepageNewsTime fl"><%= time_tag(ma.journals_for_message.created_on).html_safe %> </li> | ||||
| 
 | ||||
|         </ul> | ||||
|     <% end %> | ||||
| <% end %> | ||||
| @ -1,354 +1,354 @@ | ||||
| /* | ||||
| # Code Review plugin for Redmine | ||||
| # Copyright (C) 2009-2013  Haruyuki Iida | ||||
| # | ||||
| # This program is free software; you can redistribute it and/or | ||||
| # modify it under the terms of the GNU General Public License | ||||
| # as published by the Free Software Foundation; either version 2 | ||||
| # of the License, or (at your option) any later version. | ||||
| # | ||||
| # This program is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU General Public License | ||||
| # along with this program; if not, write to the Free Software | ||||
| # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. | ||||
|  */ | ||||
| 
 | ||||
| var topZindex = 1000; | ||||
| var action_type = ''; | ||||
| var rev = ''; | ||||
| var rev_to = ''; | ||||
| var path = ''; | ||||
| var urlprefix = ''; | ||||
| var review_form_dialog = null; | ||||
| var add_form_title = null; | ||||
| var review_dialog_title = null; | ||||
| var repository_id = null; | ||||
| var filenames = []; | ||||
| 
 | ||||
| var ReviewCount = function(total, open, progress){ | ||||
|     this.total = total; | ||||
|     this.open = open; | ||||
|     this.closed = total - open; | ||||
|     this.progress = progress | ||||
| }; | ||||
| 
 | ||||
| var CodeReview = function(id) { | ||||
|     this.id = id; | ||||
|     this.path = ''; | ||||
|     this.line = 0; | ||||
|     this.url = ''; | ||||
|     this.is_closed = false; | ||||
| }; | ||||
| 
 | ||||
| var review_counts = new Array(); | ||||
| var code_reviews_map = new Array(); | ||||
| var code_reviews_dialog_map = new Array(); | ||||
| 
 | ||||
| function UpdateRepositoryView(title) { | ||||
|     var header = $("table.changesets thead tr:first"); | ||||
|     var th = $('<th></th>'); | ||||
|     th.html(title); | ||||
|     header.append(th); | ||||
|     $('tr.changeset td.id a').each(function(i){ | ||||
|         var revision = this.getAttribute("href"); | ||||
|         revision = revision.substr(revision.lastIndexOf("/") + 1);         | ||||
|         var review = review_counts['revision_' + revision]; | ||||
|         var td = $('<td/>',{ | ||||
|             'class':'progress' | ||||
|         }); | ||||
|         td.html(review.progress); | ||||
|         $(this.parentNode.parentNode).append(td); | ||||
|     }); | ||||
|     } | ||||
| //add function $.down
 | ||||
| if(! $.fn.down) | ||||
| (function($) { | ||||
|     $.fn.down = function() { | ||||
|         var el = this[0] && this[0].firstChild; | ||||
|         while (el && el.nodeType != 1) | ||||
|             el = el.nextSibling; | ||||
|         return $(el); | ||||
|     }; | ||||
| })(jQuery); | ||||
| 
 | ||||
| function UpdateRevisionView() { | ||||
|     $('li.change').each(function(){ | ||||
|         var li = $(this); | ||||
|         if (li.hasClass('folder')) return; | ||||
| 
 | ||||
|         var a = li.down('a'); | ||||
|         if (a.size() == 0) return; | ||||
|         var path = a.attr('href').replace(urlprefix, '').replace(/\?.*$/, ''); | ||||
| 
 | ||||
|         var reviewlist = code_reviews_map[path]; | ||||
|         if (reviewlist == null) return; | ||||
| 
 | ||||
|         var ul = $('<ul></ul>'); | ||||
|         for (var j = 0; j < reviewlist.length; j++) { | ||||
|             var review = reviewlist[j]; | ||||
|             var icon = review.is_closed? 'icon-closed-review': 'icon-review'; | ||||
|             var item = $('<li></li>', { | ||||
|                 'class': 'icon ' + icon + ' code_review_summary' | ||||
|                 }); | ||||
|             item.html(review.url); | ||||
|             ul.append(item); | ||||
|         } | ||||
|         li.append(ul); | ||||
|     }); | ||||
| } | ||||
| 
 | ||||
| function setAddReviewButton(url, change_id, image_tag, is_readonly, is_diff, attachment_id){ | ||||
|     var filetables = []; | ||||
|     var j = 0; | ||||
|     $('table').each(function(){ | ||||
|         if($(this).hasClass('filecontent')){ | ||||
|             filetables[j++] = this; | ||||
|         } | ||||
|     }); | ||||
|     j = 0; | ||||
|     $('table.filecontent th.filename').each(function(){ | ||||
|         filenames[j] = $.trim($(this).text()); | ||||
|         j++; | ||||
|     }); | ||||
|     addReviewUrl = url + '?change_id=' + change_id + '&action_type=' + action_type + | ||||
|         '&rev=' + rev + '&rev_to=' + rev_to + | ||||
|         '&attachment_id=' + attachment_id + '&repository_id=' + encodeURIComponent(repository_id); | ||||
|     if (path != null && path.length > 0) { | ||||
|         addReviewUrl = addReviewUrl + '&path=' + encodeURIComponent(path); | ||||
|     } | ||||
|     var num = 0; | ||||
|     if (is_diff) { | ||||
|         num = 1; | ||||
|     } | ||||
|     var i, l, tl; | ||||
|     for (i = 0, tl = filetables.length; i < tl; i++) { | ||||
|         var table = filetables[i]; | ||||
|         var trs = table.getElementsByTagName('tr'); | ||||
| 
 | ||||
|         for (j = 0,l = trs.length; j < l; j++) { | ||||
|             var tr = trs[j]; | ||||
|             var ths = tr.getElementsByTagName('th'); | ||||
| 
 | ||||
|             var th = ths[num]; | ||||
|             if (th == null) { | ||||
|                 continue; | ||||
|             } | ||||
| 
 | ||||
|             var th_html = th.innerHTML; | ||||
| 
 | ||||
|             var line = th_html.match(/[0-9]+/); | ||||
|             if (line == null) { | ||||
|                 continue; | ||||
|             } | ||||
| 
 | ||||
|             var span_html = '<span white-space="nowrap" id="review_span_' + line + '_' + i + '">'; | ||||
| 
 | ||||
|             if (!is_readonly) { | ||||
|                 span_html += image_tag; | ||||
|             } | ||||
|             span_html += '</span>'; | ||||
|             th.innerHTML = th_html + span_html; | ||||
| 
 | ||||
|             var img = th.getElementsByTagName('img')[0]; | ||||
|             if (img != null ) { | ||||
|                 img.id = 'add_revew_img_' + line + '_' + i; | ||||
|                 $(img).click(clickPencil); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| function clickPencil(e) | ||||
| { | ||||
| //    alert('$(e.target).attr("id") = ' + $(e.target).attr("id"));
 | ||||
|     var result = $(e.target).attr("id").match(/([0-9]+)_([0-9]+)/); | ||||
|     var line = result[1]; | ||||
|     var file_count = eval(result[2]); | ||||
|     var url = addReviewUrl + '&line=' + line + '&file_count=' + file_count; | ||||
| 
 | ||||
|     if (path == null || path.length == 0) { | ||||
|         url = url + '&path=' + encodeURIComponent(filenames[file_count]) + '&diff_all=true'; | ||||
|     } | ||||
|     addReview(url); | ||||
|     formPopup(e.pageX, e.pageY); | ||||
|     e.preventDefault(); | ||||
| } | ||||
| var addReviewUrl = null; | ||||
| var showReviewUrl = null; | ||||
| var showReviewImageTag = null; | ||||
| var showClosedReviewImageTag = null; | ||||
| 
 | ||||
| function setShowReviewButton(line, review_id, is_closed, file_count) { | ||||
|     //alert('file_count = ' + file_count);
 | ||||
|     var span = $('#review_span_' + line + '_' + file_count); | ||||
|     if (span.size() == 0) { | ||||
|         return; | ||||
|     } | ||||
|     var innerSpan = $('<span></span>',{id: 'review_' + review_id}); | ||||
|     span.append(innerSpan); | ||||
|     innerSpan.html(is_closed? showClosedReviewImageTag : showReviewImageTag); | ||||
|     var div = $('<div></div>', { | ||||
|         'class':'draggable', | ||||
|         id: 'show_review_' + review_id | ||||
|     }); | ||||
|     $('#code_review').append(div); | ||||
|     innerSpan.down('img').click(function(e) { | ||||
|         var review_id = $(e.target).parent().attr('id').match(/[0-9]+/)[0]; | ||||
|         var span   = $('#review_' + review_id); // span element of view review button
 | ||||
|     var pos = span.offset(); | ||||
|         showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top + 25); | ||||
|     }); | ||||
| } | ||||
| 
 | ||||
| function popupReview(review_id) { | ||||
|     var span   = $('#review_' + review_id); // span element of view review button
 | ||||
|     var pos = span.offset(); | ||||
|     $('html,body').animate({ scrollTop: pos.top }, | ||||
|         {duration: 'fast', | ||||
|         complete: function(){showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top)}}); | ||||
|     // position and show popup dialog
 | ||||
|     // create popup dialog
 | ||||
|     //var win = showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top);
 | ||||
| //    win.toFront();
 | ||||
| } | ||||
| 
 | ||||
| function showReview(url, review_id, x, y) { | ||||
|     if (code_reviews_dialog_map[review_id] != null) { | ||||
|         var cur_win = code_reviews_dialog_map[review_id]; | ||||
|         cur_win.hide(); | ||||
|         code_reviews_dialog_map[review_id] = null; | ||||
|     } | ||||
|     $('#show_review_' + review_id).load(url, {review_id: review_id}); | ||||
|     var review = getReviewObjById(review_id); | ||||
| 
 | ||||
|     var win = $('#show_review_' + review_id).dialog({ | ||||
|         show: {effect:'scale'},// ? 'top-left'
 | ||||
|         //position: [x, y + 5],
 | ||||
|         width:640, | ||||
|         zIndex: topZindex, | ||||
|         title: review_dialog_title | ||||
|     }); | ||||
| //    win.getContent().style.color = "#484848";
 | ||||
| //    win.getContent().style.background = "#ffffff";
 | ||||
|     topZindex++; | ||||
|     code_reviews_dialog_map[review_id] = win; | ||||
|     return win | ||||
| } | ||||
| 
 | ||||
| function getReviewObjById(review_id) { | ||||
|     for (var reviewlist in code_reviews_map) { | ||||
|         for (var i = 0; i < reviewlist.length; i++) { | ||||
|             var review = reviewlist[i]; | ||||
|             if (review.id == review_id) { | ||||
|                 return review; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     return null; | ||||
| } | ||||
| 
 | ||||
| function formPopup(x, y){ | ||||
|     //@see http://docs.jquery.com/UI/Effects/Scale
 | ||||
|     var win = $('#review-form-frame').dialog({ | ||||
|         show: {effect:'scale', direction: 'both'},// ? 'top-left'
 | ||||
| //        position: [x, y + 5],
 | ||||
|         width:640, | ||||
|         zIndex: topZindex, | ||||
|         title: add_form_title | ||||
|     }); | ||||
| //    win.getContent().style.background = "#ffffff";
 | ||||
|     if (review_form_dialog != null) { | ||||
|         review_form_dialog.destroy(); | ||||
|         review_form_dialog = null; | ||||
|     } | ||||
|     review_form_dialog = win; | ||||
|     topZindex += 10; | ||||
|     return false; | ||||
| } | ||||
| 
 | ||||
| function hideForm() { | ||||
|     if (review_form_dialog == null) { | ||||
|         return; | ||||
|     } | ||||
|     review_form_dialog.dialog('close'); | ||||
|     review_form_dialog = null; | ||||
|     $('#review-form').html(''); | ||||
| } | ||||
| function addReview(url) { | ||||
|     $('#review-form').load(url); | ||||
| } | ||||
| 
 | ||||
| function deleteReview(review_id) { | ||||
|     $('show_review_' + review_id).remove(); | ||||
|     $('review_' + review_id).remove(); | ||||
|      | ||||
| } | ||||
| 
 | ||||
| function changeImage(review_id, is_closed) { | ||||
|     var span = $('review_' + review_id); | ||||
|     var new_image = null; | ||||
|     var dummy = new Element('span'); | ||||
|     if (is_closed) { | ||||
|         dummy.insert(showClosedReviewImageTag); | ||||
|     } | ||||
|     else { | ||||
|         dummy.insert(showReviewImageTag); | ||||
|     } | ||||
|     new_image = dummy.down().getAttribute('src'); | ||||
|     //alert(new_image);
 | ||||
|     span.down('img').setAttribute('src', new_image); | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| function make_addreview_link(project, link) { | ||||
|     var alist = $('#content p a'); | ||||
|     if (alist == null) { | ||||
|         return; | ||||
|     } | ||||
|     var a = alist[0]; | ||||
|     var p = a.parentNode; | ||||
|     p.innerHTML = p.innerHTML + " | " + link; | ||||
| } | ||||
| 
 | ||||
| function call_update_revisions(url) { | ||||
|     var changeset_ids = ''; | ||||
|     var links = $$('table.changesets tbody tr.changeset td.id a'); | ||||
|     for (var i = 0; i < links.length; i++) { | ||||
|         var link = links[i]; | ||||
|         var href = link.getAttribute('href'); | ||||
|         var id = href.replace(/^.*\/revisions\//, ''); | ||||
|         if (i > 0) { | ||||
|             changeset_ids += ','; | ||||
|         } | ||||
|         changeset_ids += id; | ||||
|     } | ||||
|     new Ajax.Updater('code_review_revisions', url, | ||||
|     { | ||||
|         evalScripts:true, | ||||
|         method:'get', | ||||
|         parameters: 'changeset_ids=' + encodeURI(changeset_ids) | ||||
|     }); | ||||
| } | ||||
| 
 | ||||
| $.fn.serialize2json = function() | ||||
| { | ||||
|    var o = {}; | ||||
|    var a = this.serializeArray(); | ||||
|    $.each(a, function() { | ||||
|        if (o[this.name]) { | ||||
|            if (!o[this.name].push) { | ||||
|                o[this.name] = [o[this.name]]; | ||||
|            } | ||||
|            o[this.name].push(this.value || ''); | ||||
|        } else { | ||||
|            o[this.name] = this.value || ''; | ||||
|        } | ||||
|    }); | ||||
|    return o; | ||||
| /* | ||||
| # Code Review plugin for Redmine | ||||
| # Copyright (C) 2009-2013  Haruyuki Iida | ||||
| # | ||||
| # This program is free software; you can redistribute it and/or | ||||
| # modify it under the terms of the GNU General Public License | ||||
| # as published by the Free Software Foundation; either version 2 | ||||
| # of the License, or (at your option) any later version. | ||||
| # | ||||
| # This program is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU General Public License | ||||
| # along with this program; if not, write to the Free Software | ||||
| # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. | ||||
|  */ | ||||
| 
 | ||||
| var topZindex = 1000; | ||||
| var action_type = ''; | ||||
| var rev = ''; | ||||
| var rev_to = ''; | ||||
| var path = ''; | ||||
| var urlprefix = ''; | ||||
| var review_form_dialog = null; | ||||
| var add_form_title = null; | ||||
| var review_dialog_title = null; | ||||
| var repository_id = null; | ||||
| var filenames = []; | ||||
| 
 | ||||
| var ReviewCount = function(total, open, progress){ | ||||
|     this.total = total; | ||||
|     this.open = open; | ||||
|     this.closed = total - open; | ||||
|     this.progress = progress | ||||
| }; | ||||
| 
 | ||||
| var CodeReview = function(id) { | ||||
|     this.id = id; | ||||
|     this.path = ''; | ||||
|     this.line = 0; | ||||
|     this.url = ''; | ||||
|     this.is_closed = false; | ||||
| }; | ||||
| 
 | ||||
| var review_counts = new Array(); | ||||
| var code_reviews_map = new Array(); | ||||
| var code_reviews_dialog_map = new Array(); | ||||
| 
 | ||||
| function UpdateRepositoryView(title) { | ||||
|     var header = $("table.changesets thead tr:first"); | ||||
|     var th = $('<th></th>'); | ||||
|     th.html(title); | ||||
|     header.append(th); | ||||
|     $('tr.changeset td.id a').each(function(i){ | ||||
|         var revision = this.getAttribute("href"); | ||||
|         revision = revision.substr(revision.lastIndexOf("/") + 1);         | ||||
|         var review = review_counts['revision_' + revision]; | ||||
|         var td = $('<td/>',{ | ||||
|             'class':'progress' | ||||
|         }); | ||||
|         td.html(review.progress); | ||||
|         $(this.parentNode.parentNode).append(td); | ||||
|     }); | ||||
|     } | ||||
| //add function $.down
 | ||||
| if(! $.fn.down) | ||||
| (function($) { | ||||
|     $.fn.down = function() { | ||||
|         var el = this[0] && this[0].firstChild; | ||||
|         while (el && el.nodeType != 1) | ||||
|             el = el.nextSibling; | ||||
|         return $(el); | ||||
|     }; | ||||
| })(jQuery); | ||||
| 
 | ||||
| function UpdateRevisionView() { | ||||
|     $('li.change').each(function(){ | ||||
|         var li = $(this); | ||||
|         if (li.hasClass('folder')) return; | ||||
| 
 | ||||
|         var a = li.down('a'); | ||||
|         if (a.size() == 0) return; | ||||
|         var path = a.attr('href').replace(urlprefix, '').replace(/\?.*$/, ''); | ||||
| 
 | ||||
|         var reviewlist = code_reviews_map[path]; | ||||
|         if (reviewlist == null) return; | ||||
| 
 | ||||
|         var ul = $('<ul></ul>'); | ||||
|         for (var j = 0; j < reviewlist.length; j++) { | ||||
|             var review = reviewlist[j]; | ||||
|             var icon = review.is_closed? 'icon-closed-review': 'icon-review'; | ||||
|             var item = $('<li></li>', { | ||||
|                 'class': 'icon ' + icon + ' code_review_summary' | ||||
|                 }); | ||||
|             item.html(review.url); | ||||
|             ul.append(item); | ||||
|         } | ||||
|         li.append(ul); | ||||
|     }); | ||||
| } | ||||
| 
 | ||||
| function setAddReviewButton(url, change_id, image_tag, is_readonly, is_diff, attachment_id){ | ||||
|     var filetables = []; | ||||
|     var j = 0; | ||||
|     $('table').each(function(){ | ||||
|         if($(this).hasClass('filecontent')){ | ||||
|             filetables[j++] = this; | ||||
|         } | ||||
|     }); | ||||
|     j = 0; | ||||
|     $('table.filecontent th.filename').each(function(){ | ||||
|         filenames[j] = $.trim($(this).text()); | ||||
|         j++; | ||||
|     }); | ||||
|     addReviewUrl = url + '?change_id=' + change_id + '&action_type=' + action_type + | ||||
|         '&rev=' + rev + '&rev_to=' + rev_to + | ||||
|         '&attachment_id=' + attachment_id + '&repository_id=' + encodeURIComponent(repository_id); | ||||
|     if (path != null && path.length > 0) { | ||||
|         addReviewUrl = addReviewUrl + '&path=' + encodeURIComponent(path); | ||||
|     } | ||||
|     var num = 0; | ||||
|     if (is_diff) { | ||||
|         num = 1; | ||||
|     } | ||||
|     var i, l, tl; | ||||
|     for (i = 0, tl = filetables.length; i < tl; i++) { | ||||
|         var table = filetables[i]; | ||||
|         var trs = table.getElementsByTagName('tr'); | ||||
| 
 | ||||
|         for (j = 0,l = trs.length; j < l; j++) { | ||||
|             var tr = trs[j]; | ||||
|             var ths = tr.getElementsByTagName('th'); | ||||
| 
 | ||||
|             var th = ths[num]; | ||||
|             if (th == null) { | ||||
|                 continue; | ||||
|             } | ||||
| 
 | ||||
|             var th_html = th.innerHTML; | ||||
| 
 | ||||
|             var line = th_html.match(/[0-9]+/); | ||||
|             if (line == null) { | ||||
|                 continue; | ||||
|             } | ||||
| 
 | ||||
|             var span_html = '<span white-space="nowrap" id="review_span_' + line + '_' + i + '">'; | ||||
| 
 | ||||
|             if (!is_readonly) { | ||||
|                 span_html += image_tag; | ||||
|             } | ||||
|             span_html += '</span>'; | ||||
|             th.innerHTML = th_html + span_html; | ||||
| 
 | ||||
|             var img = th.getElementsByTagName('img')[0]; | ||||
|             if (img != null ) { | ||||
|                 img.id = 'add_revew_img_' + line + '_' + i; | ||||
|                 $(img).click(clickPencil); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| function clickPencil(e) | ||||
| { | ||||
| //    alert('$(e.target).attr("id") = ' + $(e.target).attr("id"));
 | ||||
|     var result = $(e.target).attr("id").match(/([0-9]+)_([0-9]+)/); | ||||
|     var line = result[1]; | ||||
|     var file_count = eval(result[2]); | ||||
|     var url = addReviewUrl + '&line=' + line + '&file_count=' + file_count; | ||||
| 
 | ||||
|     if (path == null || path.length == 0) { | ||||
|         url = url + '&path=' + encodeURIComponent(filenames[file_count]) + '&diff_all=true'; | ||||
|     } | ||||
|     addReview(url); | ||||
|     formPopup(e.pageX, e.pageY); | ||||
|     e.preventDefault(); | ||||
| } | ||||
| var addReviewUrl = null; | ||||
| var showReviewUrl = null; | ||||
| var showReviewImageTag = null; | ||||
| var showClosedReviewImageTag = null; | ||||
| 
 | ||||
| function setShowReviewButton(line, review_id, is_closed, file_count) { | ||||
|     //alert('file_count = ' + file_count);
 | ||||
|     var span = $('#review_span_' + line + '_' + file_count); | ||||
|     if (span.size() == 0) { | ||||
|         return; | ||||
|     } | ||||
|     var innerSpan = $('<span></span>',{id: 'review_' + review_id}); | ||||
|     span.append(innerSpan); | ||||
|     innerSpan.html(is_closed? showClosedReviewImageTag : showReviewImageTag); | ||||
|     var div = $('<div></div>', { | ||||
|         'class':'draggable', | ||||
|         id: 'show_review_' + review_id | ||||
|     }); | ||||
|     $('#code_review').append(div); | ||||
|     innerSpan.down('img').click(function(e) { | ||||
|         var review_id = $(e.target).parent().attr('id').match(/[0-9]+/)[0]; | ||||
|         var span   = $('#review_' + review_id); // span element of view review button
 | ||||
|     var pos = span.offset(); | ||||
|         showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top + 25); | ||||
|     }); | ||||
| } | ||||
| 
 | ||||
| function popupReview(review_id) { | ||||
|     var span   = $('#review_' + review_id); // span element of view review button
 | ||||
|     var pos = span.offset(); | ||||
|     $('html,body').animate({ scrollTop: pos.top }, | ||||
|         {duration: 'fast', | ||||
|         complete: function(){showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top)}}); | ||||
|     // position and show popup dialog
 | ||||
|     // create popup dialog
 | ||||
|     //var win = showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top);
 | ||||
| //    win.toFront();
 | ||||
| } | ||||
| 
 | ||||
| function showReview(url, review_id, x, y) { | ||||
|     if (code_reviews_dialog_map[review_id] != null) { | ||||
|         var cur_win = code_reviews_dialog_map[review_id]; | ||||
|         cur_win.hide(); | ||||
|         code_reviews_dialog_map[review_id] = null; | ||||
|     } | ||||
|     $('#show_review_' + review_id).load(url, {review_id: review_id}); | ||||
|     var review = getReviewObjById(review_id); | ||||
| 
 | ||||
|     var win = $('#show_review_' + review_id).dialog({ | ||||
|         show: {effect:'scale'},// ? 'top-left'
 | ||||
|         //position: [x, y + 5],
 | ||||
|         width:640, | ||||
|         zIndex: topZindex, | ||||
|         title: review_dialog_title | ||||
|     }); | ||||
| //    win.getContent().style.color = "#484848";
 | ||||
| //    win.getContent().style.background = "#ffffff";
 | ||||
|     topZindex++; | ||||
|     code_reviews_dialog_map[review_id] = win; | ||||
|     return win | ||||
| } | ||||
| 
 | ||||
| function getReviewObjById(review_id) { | ||||
|     for (var reviewlist in code_reviews_map) { | ||||
|         for (var i = 0; i < reviewlist.length; i++) { | ||||
|             var review = reviewlist[i]; | ||||
|             if (review.id == review_id) { | ||||
|                 return review; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     return null; | ||||
| } | ||||
| 
 | ||||
| function formPopup(x, y){ | ||||
|     //@see http://docs.jquery.com/UI/Effects/Scale
 | ||||
|     var win = $('#review-form-frame').dialog({ | ||||
|         show: {effect:'scale', direction: 'both'},// ? 'top-left'
 | ||||
| //        position: [x, y + 5],
 | ||||
|         width:640, | ||||
|         zIndex: topZindex, | ||||
|         title: add_form_title | ||||
|     }); | ||||
| //    win.getContent().style.background = "#ffffff";
 | ||||
|     if (review_form_dialog != null) { | ||||
|         review_form_dialog.destroy(); | ||||
|         review_form_dialog = null; | ||||
|     } | ||||
|     review_form_dialog = win; | ||||
|     topZindex += 10; | ||||
|     return false; | ||||
| } | ||||
| 
 | ||||
| function hideForm() { | ||||
|     if (review_form_dialog == null) { | ||||
|         return; | ||||
|     } | ||||
|     review_form_dialog.dialog('close'); | ||||
|     review_form_dialog = null; | ||||
|     $('#review-form').html(''); | ||||
| } | ||||
| function addReview(url) { | ||||
|     $('#review-form').load(url); | ||||
| } | ||||
| 
 | ||||
| function deleteReview(review_id) { | ||||
|     $('show_review_' + review_id).remove(); | ||||
|     $('review_' + review_id).remove(); | ||||
|      | ||||
| } | ||||
| 
 | ||||
| function changeImage(review_id, is_closed) { | ||||
|     var span = $('review_' + review_id); | ||||
|     var new_image = null; | ||||
|     var dummy = new Element('span'); | ||||
|     if (is_closed) { | ||||
|         dummy.insert(showClosedReviewImageTag); | ||||
|     } | ||||
|     else { | ||||
|         dummy.insert(showReviewImageTag); | ||||
|     } | ||||
|     new_image = dummy.down().getAttribute('src'); | ||||
|     //alert(new_image);
 | ||||
|     span.down('img').setAttribute('src', new_image); | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| function make_addreview_link(project, link) { | ||||
|     var alist = $('#content p a'); | ||||
|     if (alist == null) { | ||||
|         return; | ||||
|     } | ||||
|     var a = alist[0]; | ||||
|     var p = a.parentNode; | ||||
|     p.innerHTML = p.innerHTML + " | " + link; | ||||
| } | ||||
| 
 | ||||
| function call_update_revisions(url) { | ||||
|     var changeset_ids = ''; | ||||
|     var links = $$('table.changesets tbody tr.changeset td.id a'); | ||||
|     for (var i = 0; i < links.length; i++) { | ||||
|         var link = links[i]; | ||||
|         var href = link.getAttribute('href'); | ||||
|         var id = href.replace(/^.*\/revisions\//, ''); | ||||
|         if (i > 0) { | ||||
|             changeset_ids += ','; | ||||
|         } | ||||
|         changeset_ids += id; | ||||
|     } | ||||
|     new Ajax.Updater('code_review_revisions', url, | ||||
|     { | ||||
|         evalScripts:true, | ||||
|         method:'get', | ||||
|         parameters: 'changeset_ids=' + encodeURI(changeset_ids) | ||||
|     }); | ||||
| } | ||||
| 
 | ||||
| $.fn.serialize2json = function() | ||||
| { | ||||
|    var o = {}; | ||||
|    var a = this.serializeArray(); | ||||
|    $.each(a, function() { | ||||
|        if (o[this.name]) { | ||||
|            if (!o[this.name].push) { | ||||
|                o[this.name] = [o[this.name]]; | ||||
|            } | ||||
|            o[this.name].push(this.value || ''); | ||||
|        } else { | ||||
|            o[this.name] = this.value || ''; | ||||
|        } | ||||
|    }); | ||||
|    return o; | ||||
| }; | ||||
| @ -1,4 +1,4 @@ | ||||
| 
 | ||||
| dt.code_review { | ||||
|     background-image: url(../images/review.png); | ||||
| 
 | ||||
| dt.code_review { | ||||
|     background-image: url(../images/review.png); | ||||
| } | ||||
| @ -1,97 +1,97 @@ | ||||
| /* | ||||
| # Code Review plugin for Redmine | ||||
| # Copyright (C) 2009  Haruyuki Iida | ||||
| # | ||||
| # This program is free software; you can redistribute it and/or | ||||
| # modify it under the terms of the GNU General Public License | ||||
| # as published by the Free Software Foundation; either version 2 | ||||
| # of the License, or (at your option) any later version. | ||||
| # | ||||
| # This program is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU General Public License | ||||
| # along with this program; if not, write to the Free Software | ||||
| # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. | ||||
| */ | ||||
| #review-form-frame { | ||||
| height: 100%; | ||||
| } | ||||
| 
 | ||||
| .autoscroll table.filecontent th.line-num { | ||||
|     white-space: nowrap; | ||||
|     vertical-align: bottom; | ||||
|     padding-top: 0; | ||||
|     padding-bottom: 0; | ||||
|     text-align:left; | ||||
| } | ||||
| 
 | ||||
| table.filecontent th.line-num img{ | ||||
|     padding: 0; | ||||
|     margin: 0; | ||||
|     cursor: pointer; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| .code-review-form-title { | ||||
|     background-color: #002059; | ||||
|     color: white; | ||||
|     padding-left: 2px; | ||||
|     padding-right: 2px; | ||||
|     cursor: default; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| .code_review_viewer { | ||||
| 
 | ||||
|     min-width: 300px; | ||||
|     /* | ||||
|     max-width: 60%; | ||||
|     */ | ||||
|     /* max-height: 400px; */ | ||||
| } | ||||
| 
 | ||||
| .code_review_viewer .issue{ | ||||
|      | ||||
| } | ||||
| 
 | ||||
| .code_review_body { | ||||
|     background-color: white; | ||||
|      | ||||
|     padding:2px; | ||||
|      | ||||
| } | ||||
| 
 | ||||
| #code_review_list table.list td { | ||||
|     text-align: center; | ||||
| } | ||||
| 
 | ||||
| #code_review_list table.list td.path { | ||||
|     text-align: left; | ||||
| } | ||||
| 
 | ||||
| #code_review_list table.list td.subject { | ||||
|     text-align: left; | ||||
| } | ||||
| 
 | ||||
| .icon-review { | ||||
|     background-image: url(../images/review.png); | ||||
|     background-repeat: no-repeat; | ||||
| } | ||||
| 
 | ||||
| .icon-closed-review { | ||||
|     background-image: url(../images/closed_review.png); | ||||
|     background-repeat: no-repeat; | ||||
| } | ||||
| 
 | ||||
| .icon-settings { | ||||
|     background-image: url(../../../images/changeset.png); | ||||
|     background-repeat: no-repeat; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| li.code_review_summary { | ||||
|     list-style-type: none; | ||||
| /* | ||||
| # Code Review plugin for Redmine | ||||
| # Copyright (C) 2009  Haruyuki Iida | ||||
| # | ||||
| # This program is free software; you can redistribute it and/or | ||||
| # modify it under the terms of the GNU General Public License | ||||
| # as published by the Free Software Foundation; either version 2 | ||||
| # of the License, or (at your option) any later version. | ||||
| # | ||||
| # This program is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU General Public License | ||||
| # along with this program; if not, write to the Free Software | ||||
| # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. | ||||
| */ | ||||
| #review-form-frame { | ||||
| height: 100%; | ||||
| } | ||||
| 
 | ||||
| .autoscroll table.filecontent th.line-num { | ||||
|     white-space: nowrap; | ||||
|     vertical-align: bottom; | ||||
|     padding-top: 0; | ||||
|     padding-bottom: 0; | ||||
|     text-align:left; | ||||
| } | ||||
| 
 | ||||
| table.filecontent th.line-num img{ | ||||
|     padding: 0; | ||||
|     margin: 0; | ||||
|     cursor: pointer; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| .code-review-form-title { | ||||
|     background-color: #002059; | ||||
|     color: white; | ||||
|     padding-left: 2px; | ||||
|     padding-right: 2px; | ||||
|     cursor: default; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| .code_review_viewer { | ||||
| 
 | ||||
|     min-width: 300px; | ||||
|     /* | ||||
|     max-width: 60%; | ||||
|     */ | ||||
|     /* max-height: 400px; */ | ||||
| } | ||||
| 
 | ||||
| .code_review_viewer .issue{ | ||||
|      | ||||
| } | ||||
| 
 | ||||
| .code_review_body { | ||||
|     background-color: white; | ||||
|      | ||||
|     padding:2px; | ||||
|      | ||||
| } | ||||
| 
 | ||||
| #code_review_list table.list td { | ||||
|     text-align: center; | ||||
| } | ||||
| 
 | ||||
| #code_review_list table.list td.path { | ||||
|     text-align: left; | ||||
| } | ||||
| 
 | ||||
| #code_review_list table.list td.subject { | ||||
|     text-align: left; | ||||
| } | ||||
| 
 | ||||
| .icon-review { | ||||
|     background-image: url(../images/review.png); | ||||
|     background-repeat: no-repeat; | ||||
| } | ||||
| 
 | ||||
| .icon-closed-review { | ||||
|     background-image: url(../images/closed_review.png); | ||||
|     background-repeat: no-repeat; | ||||
| } | ||||
| 
 | ||||
| .icon-settings { | ||||
|     background-image: url(../../../images/changeset.png); | ||||
|     background-repeat: no-repeat; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| li.code_review_summary { | ||||
|     list-style-type: none; | ||||
| } | ||||
| @ -1,19 +1,19 @@ | ||||
| Copyright (c) 2006 Sébastien Gruhier (http://xilinus.com, http://itseb.com) | ||||
| 
 | ||||
| Permission is hereby granted, free of charge, to any person obtaining | ||||
| a copy of this software and associated documentation files (the | ||||
| "Software"), to deal in the Software without restriction, including | ||||
| without limitation the rights to use, copy, modify, merge, publish, | ||||
| distribute, sublicense, and/or sell copies of the Software, and to | ||||
| permit persons to whom the Software is furnished to do so, subject to | ||||
| the following conditions: | ||||
| 
 | ||||
| The above copyright notice and this permission notice shall be | ||||
| included in all copies or substantial portions of the Software. | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||||
| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||||
| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | ||||
| LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||||
| OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||||
| WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| Copyright (c) 2006 Sébastien Gruhier (http://xilinus.com, http://itseb.com) | ||||
| 
 | ||||
| Permission is hereby granted, free of charge, to any person obtaining | ||||
| a copy of this software and associated documentation files (the | ||||
| "Software"), to deal in the Software without restriction, including | ||||
| without limitation the rights to use, copy, modify, merge, publish, | ||||
| distribute, sublicense, and/or sell copies of the Software, and to | ||||
| permit persons to whom the Software is furnished to do so, subject to | ||||
| the following conditions: | ||||
| 
 | ||||
| The above copyright notice and this permission notice shall be | ||||
| included in all copies or substantial portions of the Software. | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||||
| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||||
| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | ||||
| LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||||
| OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||||
| WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
|  | ||||
| @ -1,119 +1,119 @@ | ||||
| .overlay_alert { | ||||
| 	background-color: #85BBEF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .alert_nw { | ||||
| 	width: 5px; | ||||
| 	height: 5px; | ||||
| 	background: transparent url(alert/top_left.gif) no-repeat bottom left;			 | ||||
| } | ||||
| 
 | ||||
| .alert_n { | ||||
| 	height: 5px; | ||||
| 	background: transparent url(alert/top.gif) repeat-x bottom left;			 | ||||
| } | ||||
| 
 | ||||
| .alert_ne { | ||||
| 	width: 5px; | ||||
| 	height: 5px; | ||||
| 	background: transparent url(alert/top_right.gif) no-repeat bottom left			 | ||||
| } | ||||
| 
 | ||||
| .alert_e { | ||||
| 	width: 5px; | ||||
| 	background: transparent url(alert/right.gif) repeat-y 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .alert_w { | ||||
| 	width: 5px; | ||||
| 	background: transparent url(alert/left.gif) repeat-y 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .alert_sw { | ||||
| 	width: 5px; | ||||
| 	height: 5px; | ||||
| 	background: transparent url(alert/bottom_left.gif) no-repeat 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .alert_s { | ||||
| 	height: 5px; | ||||
| 	background: transparent url(alert/bottom.gif) repeat-x 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .alert_se, .alert_sizer { | ||||
| 	width: 5px; | ||||
| 	height: 5px; | ||||
| 	background: transparent url(alert/bottom_right.gif) no-repeat 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .alert_close { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_minimize { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_maximize { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_title { | ||||
| 	float:left; | ||||
| 	height:1px; | ||||
| 	width:100%; | ||||
| } | ||||
| 
 | ||||
| .alert_content { | ||||
| 	overflow:visible; | ||||
| 	color: #000; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
|   font: 12px arial; | ||||
| 	background: #FFF; | ||||
| } | ||||
| 
 | ||||
| /* For alert/confirm dialog */ | ||||
| .alert_window { | ||||
| 	background: #FFF; | ||||
| 	padding:20px; | ||||
| 	margin-left:auto; | ||||
| 	margin-right:auto; | ||||
| 	width:400px; | ||||
| } | ||||
| 
 | ||||
| .alert_message { | ||||
|   font: 12px arial; | ||||
| 	width:100%; | ||||
| 	color:#F00; | ||||
| 	padding-bottom:10px; | ||||
| } | ||||
| 
 | ||||
| .alert_buttons { | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| } | ||||
| 
 | ||||
| .alert_buttons input { | ||||
| 	width:20%; | ||||
| 	margin:10px; | ||||
| } | ||||
| 
 | ||||
| .alert_progress { | ||||
| 	float:left; | ||||
| 	margin:auto; | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| 	height:16px; | ||||
| 	background: #FFF url('alert/progress.gif') no-repeat center center | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| .overlay_alert { | ||||
| 	background-color: #85BBEF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .alert_nw { | ||||
| 	width: 5px; | ||||
| 	height: 5px; | ||||
| 	background: transparent url(alert/top_left.gif) no-repeat bottom left;			 | ||||
| } | ||||
| 
 | ||||
| .alert_n { | ||||
| 	height: 5px; | ||||
| 	background: transparent url(alert/top.gif) repeat-x bottom left;			 | ||||
| } | ||||
| 
 | ||||
| .alert_ne { | ||||
| 	width: 5px; | ||||
| 	height: 5px; | ||||
| 	background: transparent url(alert/top_right.gif) no-repeat bottom left			 | ||||
| } | ||||
| 
 | ||||
| .alert_e { | ||||
| 	width: 5px; | ||||
| 	background: transparent url(alert/right.gif) repeat-y 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .alert_w { | ||||
| 	width: 5px; | ||||
| 	background: transparent url(alert/left.gif) repeat-y 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .alert_sw { | ||||
| 	width: 5px; | ||||
| 	height: 5px; | ||||
| 	background: transparent url(alert/bottom_left.gif) no-repeat 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .alert_s { | ||||
| 	height: 5px; | ||||
| 	background: transparent url(alert/bottom.gif) repeat-x 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .alert_se, .alert_sizer { | ||||
| 	width: 5px; | ||||
| 	height: 5px; | ||||
| 	background: transparent url(alert/bottom_right.gif) no-repeat 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .alert_close { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_minimize { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_maximize { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_title { | ||||
| 	float:left; | ||||
| 	height:1px; | ||||
| 	width:100%; | ||||
| } | ||||
| 
 | ||||
| .alert_content { | ||||
| 	overflow:visible; | ||||
| 	color: #000; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
|   font: 12px arial; | ||||
| 	background: #FFF; | ||||
| } | ||||
| 
 | ||||
| /* For alert/confirm dialog */ | ||||
| .alert_window { | ||||
| 	background: #FFF; | ||||
| 	padding:20px; | ||||
| 	margin-left:auto; | ||||
| 	margin-right:auto; | ||||
| 	width:400px; | ||||
| } | ||||
| 
 | ||||
| .alert_message { | ||||
|   font: 12px arial; | ||||
| 	width:100%; | ||||
| 	color:#F00; | ||||
| 	padding-bottom:10px; | ||||
| } | ||||
| 
 | ||||
| .alert_buttons { | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| } | ||||
| 
 | ||||
| .alert_buttons input { | ||||
| 	width:20%; | ||||
| 	margin:10px; | ||||
| } | ||||
| 
 | ||||
| .alert_progress { | ||||
| 	float:left; | ||||
| 	margin:auto; | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| 	height:16px; | ||||
| 	background: #FFF url('alert/progress.gif') no-repeat center center | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -1,88 +1,88 @@ | ||||
| .overlay_alert_lite { | ||||
| 	background-color: #85BBEF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_sizer { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_close { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_minimize { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_maximize { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_title { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_content { | ||||
| 	overflow:auto; | ||||
| 	color: #000; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size: 10px; | ||||
| 	background: #FFF; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /* For alert/confirm dialog */ | ||||
| .alert_lite_window { | ||||
| 	border:1px solid #F00;	 | ||||
| 	background: #FFF; | ||||
| 	padding:20px; | ||||
| 	margin-left:auto; | ||||
| 	margin-right:auto; | ||||
| 	width:400px; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_message { | ||||
| 	font-size:16px; | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| 	color:#F00; | ||||
| 	padding-bottom:10px; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_buttons { | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_buttons input { | ||||
| 	width:20%; | ||||
| 	margin:10px; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_progress { | ||||
| 	float:left; | ||||
| 	margin:auto; | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| 	height:16px; | ||||
| 	background: #FFF url('alert/progress.gif') no-repeat center center | ||||
| } | ||||
| 
 | ||||
| table.alert_lite_header  { | ||||
|   border:1px solid #F00; | ||||
|   background:#FFF | ||||
| } | ||||
| 
 | ||||
| .overlay_alert_lite { | ||||
| 	background-color: #85BBEF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_sizer { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_close { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_minimize { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_maximize { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_title { | ||||
| 	width:0px; | ||||
| 	height:0px; | ||||
| 	display:none; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_content { | ||||
| 	overflow:auto; | ||||
| 	color: #000; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size: 10px; | ||||
| 	background: #FFF; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /* For alert/confirm dialog */ | ||||
| .alert_lite_window { | ||||
| 	border:1px solid #F00;	 | ||||
| 	background: #FFF; | ||||
| 	padding:20px; | ||||
| 	margin-left:auto; | ||||
| 	margin-right:auto; | ||||
| 	width:400px; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_message { | ||||
| 	font-size:16px; | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| 	color:#F00; | ||||
| 	padding-bottom:10px; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_buttons { | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_buttons input { | ||||
| 	width:20%; | ||||
| 	margin:10px; | ||||
| } | ||||
| 
 | ||||
| .alert_lite_progress { | ||||
| 	float:left; | ||||
| 	margin:auto; | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| 	height:16px; | ||||
| 	background: #FFF url('alert/progress.gif') no-repeat center center | ||||
| } | ||||
| 
 | ||||
| table.alert_lite_header  { | ||||
|   border:1px solid #F00; | ||||
|   background:#FFF | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -1,150 +1,150 @@ | ||||
| .overlay_alphacube { | ||||
| 	background-color: #85BBEF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .alphacube_nw { | ||||
| 	background: transparent url(alphacube/left-top.gif) no-repeat 0 0;			 | ||||
|   width:10px; | ||||
|   height:25px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_n { | ||||
|   background: transparent url(alphacube/top-middle.gif) repeat-x 0 0;			 | ||||
|   height:25px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_ne { | ||||
|   background: transparent url(alphacube/right-top.gif) no-repeat 0 0;			 | ||||
|   width:10px;	   | ||||
|   height:25px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_w { | ||||
|   background: transparent url(alphacube/frame-left.gif) repeat-y top left;			 | ||||
|   width:7px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_e { | ||||
|   background: transparent url(alphacube/frame-right.gif) repeat-y top right;			 | ||||
|   width:7px;	   | ||||
| } | ||||
| 
 | ||||
| .alphacube_sw { | ||||
|   background: transparent url(alphacube/bottom-left-c.gif) no-repeat 0 0;			 | ||||
|   width:7px; | ||||
|   height:7px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_s { | ||||
|   background: transparent url(alphacube/bottom-middle.gif) repeat-x 0 0;			 | ||||
|   height:7px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_se, .alphacube_sizer  { | ||||
|   background: transparent url(alphacube/bottom-right-c.gif) no-repeat 0 0;			 | ||||
|   width:7px; | ||||
|   height:7px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_sizer { | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| .alphacube_close { | ||||
| 	width: 23px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(alphacube/button-close-focus.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:11px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .alphacube_minimize { | ||||
| 	width: 23px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(alphacube/button-min-focus.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:55px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .alphacube_maximize { | ||||
| 	width: 23px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(alphacube/button-max-focus.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:33px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .alphacube_title { | ||||
| 	float:left; | ||||
| 	height:14px; | ||||
| 	font-size:14px; | ||||
| 	text-align:center; | ||||
| 	margin-top:2px; | ||||
| 	width:100%; | ||||
| 	color:#123456; | ||||
| } | ||||
| 
 | ||||
| .alphacube_content { | ||||
| 	overflow:auto; | ||||
| 	color: #000; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
|   font: 12px arial; | ||||
| 	background:#FDFDFD; | ||||
| } | ||||
| 
 | ||||
| /* For alert/confirm dialog */ | ||||
| .alphacube_window { | ||||
| 	border:1px solid #F00;	 | ||||
| 	background: #FFF; | ||||
| 	padding:20px; | ||||
| 	margin-left:auto; | ||||
| 	margin-right:auto; | ||||
| 	width:400px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_message { | ||||
|   font: 12px arial; | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| 	padding-bottom:10px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_buttons { | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| } | ||||
| 
 | ||||
| .alphacube_buttons input { | ||||
| 	width:20%; | ||||
| 	margin:10px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_progress { | ||||
| 	float:left; | ||||
| 	margin:auto; | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| 	height:16px; | ||||
| 	background: #FFF url('alert/progress.gif') no-repeat center center | ||||
| } | ||||
| 
 | ||||
| .alphacube_wired_frame { | ||||
| 	background: #FFF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6;	 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| .overlay_alphacube { | ||||
| 	background-color: #85BBEF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .alphacube_nw { | ||||
| 	background: transparent url(alphacube/left-top.gif) no-repeat 0 0;			 | ||||
|   width:10px; | ||||
|   height:25px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_n { | ||||
|   background: transparent url(alphacube/top-middle.gif) repeat-x 0 0;			 | ||||
|   height:25px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_ne { | ||||
|   background: transparent url(alphacube/right-top.gif) no-repeat 0 0;			 | ||||
|   width:10px;	   | ||||
|   height:25px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_w { | ||||
|   background: transparent url(alphacube/frame-left.gif) repeat-y top left;			 | ||||
|   width:7px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_e { | ||||
|   background: transparent url(alphacube/frame-right.gif) repeat-y top right;			 | ||||
|   width:7px;	   | ||||
| } | ||||
| 
 | ||||
| .alphacube_sw { | ||||
|   background: transparent url(alphacube/bottom-left-c.gif) no-repeat 0 0;			 | ||||
|   width:7px; | ||||
|   height:7px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_s { | ||||
|   background: transparent url(alphacube/bottom-middle.gif) repeat-x 0 0;			 | ||||
|   height:7px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_se, .alphacube_sizer  { | ||||
|   background: transparent url(alphacube/bottom-right-c.gif) no-repeat 0 0;			 | ||||
|   width:7px; | ||||
|   height:7px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_sizer { | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| .alphacube_close { | ||||
| 	width: 23px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(alphacube/button-close-focus.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:11px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .alphacube_minimize { | ||||
| 	width: 23px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(alphacube/button-min-focus.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:55px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .alphacube_maximize { | ||||
| 	width: 23px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(alphacube/button-max-focus.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:33px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .alphacube_title { | ||||
| 	float:left; | ||||
| 	height:14px; | ||||
| 	font-size:14px; | ||||
| 	text-align:center; | ||||
| 	margin-top:2px; | ||||
| 	width:100%; | ||||
| 	color:#123456; | ||||
| } | ||||
| 
 | ||||
| .alphacube_content { | ||||
| 	overflow:auto; | ||||
| 	color: #000; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
|   font: 12px arial; | ||||
| 	background:#FDFDFD; | ||||
| } | ||||
| 
 | ||||
| /* For alert/confirm dialog */ | ||||
| .alphacube_window { | ||||
| 	border:1px solid #F00;	 | ||||
| 	background: #FFF; | ||||
| 	padding:20px; | ||||
| 	margin-left:auto; | ||||
| 	margin-right:auto; | ||||
| 	width:400px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_message { | ||||
|   font: 12px arial; | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| 	padding-bottom:10px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_buttons { | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| } | ||||
| 
 | ||||
| .alphacube_buttons input { | ||||
| 	width:20%; | ||||
| 	margin:10px; | ||||
| } | ||||
| 
 | ||||
| .alphacube_progress { | ||||
| 	float:left; | ||||
| 	margin:auto; | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| 	height:16px; | ||||
| 	background: #FFF url('alert/progress.gif') no-repeat center center | ||||
| } | ||||
| 
 | ||||
| .alphacube_wired_frame { | ||||
| 	background: #FFF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6;	 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -1,51 +1,51 @@ | ||||
| <public:component> | ||||
| <public:attach event="onpropertychange" onevent="propertyChanged()" /> | ||||
| <script> | ||||
| 
 | ||||
| var supported = /MSIE (5\.5)|[6789]/.test(navigator.userAgent) && navigator.platform == "Win32"; | ||||
| var realSrc; | ||||
| var blankSrc = "blank.gif"; | ||||
| 
 | ||||
| if (supported) fixImage(); | ||||
| 
 | ||||
| function propertyChanged() { | ||||
|    if (!supported) return; | ||||
| 
 | ||||
|    var pName = event.propertyName; | ||||
|    if (pName != "src") return; | ||||
|    // if not set to blank | ||||
|    if ( ! new RegExp(blankSrc).test(src)) | ||||
|       fixImage(); | ||||
| }; | ||||
| 
 | ||||
| function fixImage() { | ||||
|    // get src | ||||
|    var src = element.src; | ||||
| 
 | ||||
|    // check for real change | ||||
|    if (src == realSrc) { | ||||
|       element.src = blankSrc; | ||||
|       return; | ||||
|    } | ||||
| 
 | ||||
|    if ( ! new RegExp(blankSrc).test(src)) { | ||||
|       // backup old src | ||||
|       realSrc = src; | ||||
|    } | ||||
| 
 | ||||
|    // test for png | ||||
|    if ( /\.png$/.test( realSrc.toLowerCase() ) ) { | ||||
|       // set blank image | ||||
|       element.src = blankSrc; | ||||
|       // set filter | ||||
|       element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + | ||||
|                                      src + "',sizingMethod='scale')"; | ||||
|    } | ||||
|    else { | ||||
|       // remove filter | ||||
|       element.runtimeStyle.filter = ""; | ||||
|    } | ||||
| } | ||||
| 
 | ||||
| </script> | ||||
| <public:component> | ||||
| <public:attach event="onpropertychange" onevent="propertyChanged()" /> | ||||
| <script> | ||||
| 
 | ||||
| var supported = /MSIE (5\.5)|[6789]/.test(navigator.userAgent) && navigator.platform == "Win32"; | ||||
| var realSrc; | ||||
| var blankSrc = "blank.gif"; | ||||
| 
 | ||||
| if (supported) fixImage(); | ||||
| 
 | ||||
| function propertyChanged() { | ||||
|    if (!supported) return; | ||||
| 
 | ||||
|    var pName = event.propertyName; | ||||
|    if (pName != "src") return; | ||||
|    // if not set to blank | ||||
|    if ( ! new RegExp(blankSrc).test(src)) | ||||
|       fixImage(); | ||||
| }; | ||||
| 
 | ||||
| function fixImage() { | ||||
|    // get src | ||||
|    var src = element.src; | ||||
| 
 | ||||
|    // check for real change | ||||
|    if (src == realSrc) { | ||||
|       element.src = blankSrc; | ||||
|       return; | ||||
|    } | ||||
| 
 | ||||
|    if ( ! new RegExp(blankSrc).test(src)) { | ||||
|       // backup old src | ||||
|       realSrc = src; | ||||
|    } | ||||
| 
 | ||||
|    // test for png | ||||
|    if ( /\.png$/.test( realSrc.toLowerCase() ) ) { | ||||
|       // set blank image | ||||
|       element.src = blankSrc; | ||||
|       // set filter | ||||
|       element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + | ||||
|                                      src + "',sizingMethod='scale')"; | ||||
|    } | ||||
|    else { | ||||
|       // remove filter | ||||
|       element.runtimeStyle.filter = ""; | ||||
|    } | ||||
| } | ||||
| 
 | ||||
| </script> | ||||
| </public:component> | ||||
| @ -1,121 +1,121 @@ | ||||
| .overlay_darkX { | ||||
| 	background-color: #85BBEF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .darkX_nw { | ||||
| 	background: transparent url(darkX/titlebar-left-focused.png) no-repeat 0 0;			 | ||||
|   width:6px; | ||||
|   height:21px; | ||||
| } | ||||
| .darkX_n { | ||||
|   background: transparent url(darkX/titlebar-mid-focused.png) repeat-x 0 0;			 | ||||
|   height:21px; | ||||
| } | ||||
| .darkX_ne { | ||||
|   background: transparent url(darkX/titlebar-right-focused.png) no-repeat 0 0;			 | ||||
|   width:6px;	   | ||||
|   height:21px; | ||||
| } | ||||
| .darkX_w { | ||||
|   background: transparent url(darkX/frame-left-focused.png) repeat-y top left;			 | ||||
|   width:3px; | ||||
| } | ||||
| 
 | ||||
| .darkX_e { | ||||
|   background: transparent url(darkX/frame-right-focused.png) repeat-y top right;			 | ||||
|   width:3px;	   | ||||
| } | ||||
| 
 | ||||
| .darkX_sw { | ||||
|   background: transparent url(darkX/frame-bottom-left-focused.png) no-repeat 0 0;			 | ||||
|   width:5px; | ||||
|   height:3px; | ||||
| } | ||||
| .darkX_s { | ||||
|   background: transparent url(darkX/frame-bottom-mid-focused.png) repeat-x 0 0;			 | ||||
|   height:3px; | ||||
| } | ||||
| .darkX_se, .darkX_sizer { | ||||
|   background: transparent url(darkX/frame-bottom-right-focused.png) no-repeat 0 0;			 | ||||
|   width:5px; | ||||
|   height:3px; | ||||
| } | ||||
| 
 | ||||
| .darkX_sizer { | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| .darkX_close { | ||||
| 	width: 21px; | ||||
| 	height: 21px; | ||||
| 	background: transparent url(darkX/button-close-focused.png) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:5px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .darkX_minimize { | ||||
| 	width: 21px; | ||||
| 	height: 21px; | ||||
| 	background: transparent url(darkX/button-minimize-focused.png) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:26px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .darkX_maximize { | ||||
| 	width: 21px; | ||||
| 	height: 21px; | ||||
| 	background: transparent url(darkX/button-maximize-focused.png) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:47px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| .darkX_title { | ||||
| 	float:left; | ||||
| 	height:14px; | ||||
| 	font-size:12px; | ||||
| 	text-align:center; | ||||
| 	margin-top:2px; | ||||
| 	width:100%; | ||||
| 	color:#FFF; | ||||
| } | ||||
| 
 | ||||
| .darkX_content { | ||||
| 	overflow:auto; | ||||
| 	color: #E6DF2A; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size: 14px; | ||||
| 	background:#5E5148; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /* FOR IE */ | ||||
| * html .darkX_minimize { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-minimize-focused.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .darkX_maximize { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-maximize-focused.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .darkX_close { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-close-focused.png", sizingMethod="crop"); | ||||
| } | ||||
| .overlay_darkX { | ||||
| 	background-color: #85BBEF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .darkX_nw { | ||||
| 	background: transparent url(darkX/titlebar-left-focused.png) no-repeat 0 0;			 | ||||
|   width:6px; | ||||
|   height:21px; | ||||
| } | ||||
| .darkX_n { | ||||
|   background: transparent url(darkX/titlebar-mid-focused.png) repeat-x 0 0;			 | ||||
|   height:21px; | ||||
| } | ||||
| .darkX_ne { | ||||
|   background: transparent url(darkX/titlebar-right-focused.png) no-repeat 0 0;			 | ||||
|   width:6px;	   | ||||
|   height:21px; | ||||
| } | ||||
| .darkX_w { | ||||
|   background: transparent url(darkX/frame-left-focused.png) repeat-y top left;			 | ||||
|   width:3px; | ||||
| } | ||||
| 
 | ||||
| .darkX_e { | ||||
|   background: transparent url(darkX/frame-right-focused.png) repeat-y top right;			 | ||||
|   width:3px;	   | ||||
| } | ||||
| 
 | ||||
| .darkX_sw { | ||||
|   background: transparent url(darkX/frame-bottom-left-focused.png) no-repeat 0 0;			 | ||||
|   width:5px; | ||||
|   height:3px; | ||||
| } | ||||
| .darkX_s { | ||||
|   background: transparent url(darkX/frame-bottom-mid-focused.png) repeat-x 0 0;			 | ||||
|   height:3px; | ||||
| } | ||||
| .darkX_se, .darkX_sizer { | ||||
|   background: transparent url(darkX/frame-bottom-right-focused.png) no-repeat 0 0;			 | ||||
|   width:5px; | ||||
|   height:3px; | ||||
| } | ||||
| 
 | ||||
| .darkX_sizer { | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| .darkX_close { | ||||
| 	width: 21px; | ||||
| 	height: 21px; | ||||
| 	background: transparent url(darkX/button-close-focused.png) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:5px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .darkX_minimize { | ||||
| 	width: 21px; | ||||
| 	height: 21px; | ||||
| 	background: transparent url(darkX/button-minimize-focused.png) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:26px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .darkX_maximize { | ||||
| 	width: 21px; | ||||
| 	height: 21px; | ||||
| 	background: transparent url(darkX/button-maximize-focused.png) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:47px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| .darkX_title { | ||||
| 	float:left; | ||||
| 	height:14px; | ||||
| 	font-size:12px; | ||||
| 	text-align:center; | ||||
| 	margin-top:2px; | ||||
| 	width:100%; | ||||
| 	color:#FFF; | ||||
| } | ||||
| 
 | ||||
| .darkX_content { | ||||
| 	overflow:auto; | ||||
| 	color: #E6DF2A; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size: 14px; | ||||
| 	background:#5E5148; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /* FOR IE */ | ||||
| * html .darkX_minimize { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-minimize-focused.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .darkX_maximize { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-maximize-focused.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .darkX_close { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-close-focused.png", sizingMethod="crop"); | ||||
| } | ||||
|  | ||||
| @ -1,25 +1,25 @@ | ||||
| div.inspector div.inspectable { | ||||
|  padding: 0.25em 0 0.25em 1em; | ||||
|  background-color: Gray; | ||||
|  color: white; | ||||
|  border: outset 2px white; | ||||
|  cursor: pointer; | ||||
| } | ||||
|   | ||||
| div.inspector div.child { | ||||
|  margin: 0 0 0 1em; | ||||
| } | ||||
|   | ||||
| #debug_window_content { /*  DIV container for debug sizing*/ | ||||
|  width:250px; | ||||
|  height:100px; | ||||
|  background-color:#000; | ||||
| } | ||||
|   | ||||
| #debug {         /*  DIV container for debug contents*/ | ||||
|  padding:3px; | ||||
|  color:#0f0; | ||||
|  font-family:monaco, Tahoma, Verdana, Arial, Helvetica, sans-serif; | ||||
|  font-size:10px; | ||||
| } | ||||
|   | ||||
| div.inspector div.inspectable { | ||||
|  padding: 0.25em 0 0.25em 1em; | ||||
|  background-color: Gray; | ||||
|  color: white; | ||||
|  border: outset 2px white; | ||||
|  cursor: pointer; | ||||
| } | ||||
|   | ||||
| div.inspector div.child { | ||||
|  margin: 0 0 0 1em; | ||||
| } | ||||
|   | ||||
| #debug_window_content { /*  DIV container for debug sizing*/ | ||||
|  width:250px; | ||||
|  height:100px; | ||||
|  background-color:#000; | ||||
| } | ||||
|   | ||||
| #debug {         /*  DIV container for debug contents*/ | ||||
|  padding:3px; | ||||
|  color:#0f0; | ||||
|  font-family:monaco, Tahoma, Verdana, Arial, Helvetica, sans-serif; | ||||
|  font-size:10px; | ||||
| } | ||||
|   | ||||
|  | ||||
| @ -1,155 +1,155 @@ | ||||
| .overlay_dialog { | ||||
| 	background-color: #666666; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .overlay___invisible__ { | ||||
|   background-color: #666666; | ||||
| 	filter:alpha(opacity=0); | ||||
| 	-moz-opacity: 0; | ||||
| 	opacity: 0; | ||||
| } | ||||
| 
 | ||||
| .dialog_nw { | ||||
| 	width: 9px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(default/top_left.gif) no-repeat 0 0;		 | ||||
| } | ||||
| 
 | ||||
| .dialog_n { | ||||
| 	background: transparent url(default/top_mid.gif) repeat-x 0 0;	 | ||||
| 	height: 23px; | ||||
| } | ||||
| 
 | ||||
| .dialog_ne { | ||||
| 	width: 9px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(default/top_right.gif) no-repeat 0 0;		 | ||||
| } | ||||
| 
 | ||||
| .dialog_e { | ||||
| 	width: 2px; | ||||
| 	background: transparent url(default/center_right.gif) repeat-y 0 0;	 | ||||
| } | ||||
| 
 | ||||
| .dialog_w { | ||||
| 	width: 2px; | ||||
| 	background: transparent url(default/center_left.gif) repeat-y 0 0;		 | ||||
| } | ||||
| 
 | ||||
| .dialog_sw { | ||||
| 	width: 9px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(default/bottom_left.gif) no-repeat 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .dialog_s { | ||||
| 	background: transparent url(default/bottom_mid.gif) repeat-x 0 0;		 | ||||
| 	height: 19px; | ||||
| } | ||||
| 
 | ||||
| .dialog_se { | ||||
| 	width: 9px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(default/bottom_right.gif) no-repeat 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .dialog_sizer { | ||||
| 	width: 9px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(default/sizer.gif) no-repeat 0 0;	 | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| .dialog_close { | ||||
| 	width: 14px; | ||||
| 	height: 14px; | ||||
| 	background: transparent url(default/close.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:5px; | ||||
| 	left:8px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:2000; | ||||
| } | ||||
| 
 | ||||
| .dialog_minimize { | ||||
| 	width: 14px; | ||||
| 	height: 15px; | ||||
| 	background: transparent url(default/minimize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:5px; | ||||
| 	left:28px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:2000; | ||||
| } | ||||
| 
 | ||||
| .dialog_maximize { | ||||
| 	width: 14px; | ||||
| 	height: 15px; | ||||
| 	background: transparent url(default/maximize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:5px; | ||||
| 	left:49px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:2000; | ||||
| } | ||||
| 
 | ||||
| .dialog_title { | ||||
| 	float:left; | ||||
| 	height:14px; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size:12px; | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| 	color:#000; | ||||
| } | ||||
| 
 | ||||
| .dialog_content { | ||||
| 	overflow:auto; | ||||
| 	color: #DDD; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size: 10px; | ||||
| 	background-color:#123; | ||||
| } | ||||
| 
 | ||||
| .top_draggable, .bottom_draggable { | ||||
|   cursor:move; | ||||
| } | ||||
| 
 | ||||
| .status_bar { | ||||
|   font-size:12px; | ||||
| } | ||||
| .status_bar input{ | ||||
|   font-size:12px; | ||||
| } | ||||
| 
 | ||||
| .wired_frame { | ||||
| 	display: block; | ||||
|   position: absolute; | ||||
|   border: 1px #000 dashed; | ||||
| } | ||||
| 
 | ||||
| /* DO NOT CHANGE THESE VALUES*/ | ||||
| .dialog { | ||||
| 	display: block; | ||||
| 	position: absolute; | ||||
| } | ||||
| 
 | ||||
| .dialog table.table_window  {  | ||||
|   border-collapse: collapse;  | ||||
|   border-spacing: 0;  | ||||
|   width: 100%; | ||||
| 	margin: 0px; | ||||
| 	padding:0px; | ||||
| } | ||||
| 
 | ||||
| .dialog table.table_window td , .dialog table.table_window th {  | ||||
|   padding: 0;  | ||||
| } | ||||
| 
 | ||||
| .dialog .title_window { | ||||
|   -moz-user-select:none; | ||||
| }                                                     | ||||
| 
 | ||||
| .overlay_dialog { | ||||
| 	background-color: #666666; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .overlay___invisible__ { | ||||
|   background-color: #666666; | ||||
| 	filter:alpha(opacity=0); | ||||
| 	-moz-opacity: 0; | ||||
| 	opacity: 0; | ||||
| } | ||||
| 
 | ||||
| .dialog_nw { | ||||
| 	width: 9px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(default/top_left.gif) no-repeat 0 0;		 | ||||
| } | ||||
| 
 | ||||
| .dialog_n { | ||||
| 	background: transparent url(default/top_mid.gif) repeat-x 0 0;	 | ||||
| 	height: 23px; | ||||
| } | ||||
| 
 | ||||
| .dialog_ne { | ||||
| 	width: 9px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(default/top_right.gif) no-repeat 0 0;		 | ||||
| } | ||||
| 
 | ||||
| .dialog_e { | ||||
| 	width: 2px; | ||||
| 	background: transparent url(default/center_right.gif) repeat-y 0 0;	 | ||||
| } | ||||
| 
 | ||||
| .dialog_w { | ||||
| 	width: 2px; | ||||
| 	background: transparent url(default/center_left.gif) repeat-y 0 0;		 | ||||
| } | ||||
| 
 | ||||
| .dialog_sw { | ||||
| 	width: 9px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(default/bottom_left.gif) no-repeat 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .dialog_s { | ||||
| 	background: transparent url(default/bottom_mid.gif) repeat-x 0 0;		 | ||||
| 	height: 19px; | ||||
| } | ||||
| 
 | ||||
| .dialog_se { | ||||
| 	width: 9px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(default/bottom_right.gif) no-repeat 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .dialog_sizer { | ||||
| 	width: 9px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(default/sizer.gif) no-repeat 0 0;	 | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| .dialog_close { | ||||
| 	width: 14px; | ||||
| 	height: 14px; | ||||
| 	background: transparent url(default/close.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:5px; | ||||
| 	left:8px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:2000; | ||||
| } | ||||
| 
 | ||||
| .dialog_minimize { | ||||
| 	width: 14px; | ||||
| 	height: 15px; | ||||
| 	background: transparent url(default/minimize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:5px; | ||||
| 	left:28px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:2000; | ||||
| } | ||||
| 
 | ||||
| .dialog_maximize { | ||||
| 	width: 14px; | ||||
| 	height: 15px; | ||||
| 	background: transparent url(default/maximize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:5px; | ||||
| 	left:49px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:2000; | ||||
| } | ||||
| 
 | ||||
| .dialog_title { | ||||
| 	float:left; | ||||
| 	height:14px; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size:12px; | ||||
| 	text-align:center; | ||||
| 	width:100%; | ||||
| 	color:#000; | ||||
| } | ||||
| 
 | ||||
| .dialog_content { | ||||
| 	overflow:auto; | ||||
| 	color: #DDD; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size: 10px; | ||||
| 	background-color:#123; | ||||
| } | ||||
| 
 | ||||
| .top_draggable, .bottom_draggable { | ||||
|   cursor:move; | ||||
| } | ||||
| 
 | ||||
| .status_bar { | ||||
|   font-size:12px; | ||||
| } | ||||
| .status_bar input{ | ||||
|   font-size:12px; | ||||
| } | ||||
| 
 | ||||
| .wired_frame { | ||||
| 	display: block; | ||||
|   position: absolute; | ||||
|   border: 1px #000 dashed; | ||||
| } | ||||
| 
 | ||||
| /* DO NOT CHANGE THESE VALUES*/ | ||||
| .dialog { | ||||
| 	display: block; | ||||
| 	position: absolute; | ||||
| } | ||||
| 
 | ||||
| .dialog table.table_window  {  | ||||
|   border-collapse: collapse;  | ||||
|   border-spacing: 0;  | ||||
|   width: 100%; | ||||
| 	margin: 0px; | ||||
| 	padding:0px; | ||||
| } | ||||
| 
 | ||||
| .dialog table.table_window td , .dialog table.table_window th {  | ||||
|   padding: 0;  | ||||
| } | ||||
| 
 | ||||
| .dialog .title_window { | ||||
|   -moz-user-select:none; | ||||
| }                                                     | ||||
| 
 | ||||
|  | ||||
| @ -1,3 +1,3 @@ | ||||
| /* PNG fix for all themes that uses PNG images on IE */ | ||||
| td, div { behavior: url(../themes/iefix/iepngfix.htc) } | ||||
| 
 | ||||
| /* PNG fix for all themes that uses PNG images on IE */ | ||||
| td, div { behavior: url(../themes/iefix/iepngfix.htc) } | ||||
| 
 | ||||
|  | ||||
| @ -1,54 +1,54 @@ | ||||
| <public:component> | ||||
| <public:attach event="onpropertychange" onevent="doFix()" /> | ||||
| 
 | ||||
| <script type="text/javascript"> | ||||
| 
 | ||||
| // IE5.5+ PNG Alpha Fix v1.0RC4 | ||||
| // (c) 2004-2005 Angus Turnbull http://www.twinhelix.com | ||||
| 
 | ||||
| // This is licensed under the CC-GNU LGPL, version 2.1 or later. | ||||
| // For details, see: http://creativecommons.org/licenses/LGPL/2.1/ | ||||
| 
 | ||||
| // Modified/Simplified on 04/23/2007 by Sebastien Gruhier (http://www.xilinus.com)  | ||||
| // To work only on background and to handle repeat bg   | ||||
|                       | ||||
| // This must be a path to a blank image. That's all the configuration you need. | ||||
| if (typeof blankImg == 'undefined') var blankImg = 'blank.gif'; | ||||
| 
 | ||||
| var f = 'DXImageTransform.Microsoft.AlphaImageLoader'; | ||||
| 
 | ||||
| function filt(s, m) | ||||
| { | ||||
|  if (filters[f]) | ||||
|  { | ||||
|   filters[f].enabled = s ? true : false; | ||||
|   if (s) with (filters[f]) { src = s; sizingMethod = m } | ||||
|  } | ||||
|  else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")'; | ||||
| } | ||||
| 
 | ||||
| function doFix() | ||||
| {          | ||||
|  // Assume IE7 is OK. | ||||
|  if (!/MSIE (5\.5|6\.)/.test(navigator.userAgent) || | ||||
|   (event && !/(background|src)/.test(event.propertyName))) return; | ||||
| 
 | ||||
|  var bgImg = currentStyle.backgroundImage || style.backgroundImage;   | ||||
|  var bgRepeat = currentStyle.backgroundRepeat || style.backgroundRepeat;         | ||||
|  if (bgImg && bgImg != 'none') | ||||
|  { | ||||
|   if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i)) | ||||
|   { | ||||
|    var s = RegExp.$1; | ||||
|    if (currentStyle.width == 'auto' && currentStyle.height == 'auto') | ||||
|     style.width = offsetWidth + 'px'; | ||||
|    style.backgroundImage = 'none'; | ||||
|    filt(s, bgRepeat == "no-repeat" ? 'crop' : 'scale'); | ||||
|   } | ||||
|  } | ||||
| } | ||||
| 
 | ||||
| doFix(); | ||||
| 
 | ||||
| </script> | ||||
| <public:component> | ||||
| <public:attach event="onpropertychange" onevent="doFix()" /> | ||||
| 
 | ||||
| <script type="text/javascript"> | ||||
| 
 | ||||
| // IE5.5+ PNG Alpha Fix v1.0RC4 | ||||
| // (c) 2004-2005 Angus Turnbull http://www.twinhelix.com | ||||
| 
 | ||||
| // This is licensed under the CC-GNU LGPL, version 2.1 or later. | ||||
| // For details, see: http://creativecommons.org/licenses/LGPL/2.1/ | ||||
| 
 | ||||
| // Modified/Simplified on 04/23/2007 by Sebastien Gruhier (http://www.xilinus.com)  | ||||
| // To work only on background and to handle repeat bg   | ||||
|                       | ||||
| // This must be a path to a blank image. That's all the configuration you need. | ||||
| if (typeof blankImg == 'undefined') var blankImg = 'blank.gif'; | ||||
| 
 | ||||
| var f = 'DXImageTransform.Microsoft.AlphaImageLoader'; | ||||
| 
 | ||||
| function filt(s, m) | ||||
| { | ||||
|  if (filters[f]) | ||||
|  { | ||||
|   filters[f].enabled = s ? true : false; | ||||
|   if (s) with (filters[f]) { src = s; sizingMethod = m } | ||||
|  } | ||||
|  else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")'; | ||||
| } | ||||
| 
 | ||||
| function doFix() | ||||
| {          | ||||
|  // Assume IE7 is OK. | ||||
|  if (!/MSIE (5\.5|6\.)/.test(navigator.userAgent) || | ||||
|   (event && !/(background|src)/.test(event.propertyName))) return; | ||||
| 
 | ||||
|  var bgImg = currentStyle.backgroundImage || style.backgroundImage;   | ||||
|  var bgRepeat = currentStyle.backgroundRepeat || style.backgroundRepeat;         | ||||
|  if (bgImg && bgImg != 'none') | ||||
|  { | ||||
|   if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i)) | ||||
|   { | ||||
|    var s = RegExp.$1; | ||||
|    if (currentStyle.width == 'auto' && currentStyle.height == 'auto') | ||||
|     style.width = offsetWidth + 'px'; | ||||
|    style.backgroundImage = 'none'; | ||||
|    filt(s, bgRepeat == "no-repeat" ? 'crop' : 'scale'); | ||||
|   } | ||||
|  } | ||||
| } | ||||
| 
 | ||||
| doFix(); | ||||
| 
 | ||||
| </script> | ||||
| </public:component> | ||||
											
												
													File diff suppressed because it is too large
													Load Diff
												
											
										
									
								| @ -1,67 +1,67 @@ | ||||
| <public:component> | ||||
| <public:attach event="onpropertychange" onevent="doFix()" /> | ||||
| 
 | ||||
| <script type="text/javascript"> | ||||
| 
 | ||||
| // IE5.5+ PNG Alpha Fix v1.0RC4 | ||||
| // (c) 2004-2005 Angus Turnbull http://www.twinhelix.com | ||||
| 
 | ||||
| // This is licensed under the CC-GNU LGPL, version 2.1 or later. | ||||
| // For details, see: http://creativecommons.org/licenses/LGPL/2.1/ | ||||
| 
 | ||||
| 
 | ||||
| // This must be a path to a blank image. That's all the configuration you need. | ||||
| if (typeof blankImg == 'undefined') var blankImg = 'blank.gif'; | ||||
| 
 | ||||
| 
 | ||||
| var f = 'DXImageTransform.Microsoft.AlphaImageLoader'; | ||||
| 
 | ||||
| function filt(s, m) | ||||
| { | ||||
|  if (filters[f]) | ||||
|  { | ||||
|   filters[f].enabled = s ? true : false; | ||||
|   if (s) with (filters[f]) { src = s; sizingMethod = m } | ||||
|  } | ||||
|  else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")'; | ||||
| } | ||||
| 
 | ||||
| function doFix() | ||||
| {            | ||||
|   alert('ok') | ||||
|    | ||||
|  // Assume IE7 is OK. | ||||
|  if (!/MSIE (5\.5|6\.)/.test(navigator.userAgent) || | ||||
|   (event && !/(background|src)/.test(event.propertyName))) return; | ||||
| 
 | ||||
|  var bgImg = currentStyle.backgroundImage || style.backgroundImage; | ||||
| 
 | ||||
|  if (tagName == 'IMG') | ||||
|  { | ||||
|   if ((/\.png$/i).test(src)) | ||||
|   { | ||||
|    if (currentStyle.width == 'auto' && currentStyle.height == 'auto') | ||||
|     style.width = offsetWidth + 'px'; | ||||
|    filt(src, 'scale'); | ||||
|    src = blankImg; | ||||
|   } | ||||
|   else if (src.indexOf(blankImg) < 0) filt(); | ||||
|  } | ||||
|  else if (bgImg && bgImg != 'none') | ||||
|  { | ||||
|   if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i)) | ||||
|   { | ||||
|    var s = RegExp.$1; | ||||
|    if (currentStyle.width == 'auto' && currentStyle.height == 'auto') | ||||
|     style.width = offsetWidth + 'px'; | ||||
|    style.backgroundImage = 'none'; | ||||
|    filt(s, 'crop'); | ||||
|    // IE link fix. | ||||
|    for (var n = 0; n < childNodes.length; n++) | ||||
|     if (childNodes[n].style) childNodes[n].style.position = 'relative'; | ||||
|   } | ||||
|   else filt(); | ||||
|  } | ||||
| } | ||||
| 
 | ||||
| doFix(); | ||||
| <public:component> | ||||
| <public:attach event="onpropertychange" onevent="doFix()" /> | ||||
| 
 | ||||
| <script type="text/javascript"> | ||||
| 
 | ||||
| // IE5.5+ PNG Alpha Fix v1.0RC4 | ||||
| // (c) 2004-2005 Angus Turnbull http://www.twinhelix.com | ||||
| 
 | ||||
| // This is licensed under the CC-GNU LGPL, version 2.1 or later. | ||||
| // For details, see: http://creativecommons.org/licenses/LGPL/2.1/ | ||||
| 
 | ||||
| 
 | ||||
| // This must be a path to a blank image. That's all the configuration you need. | ||||
| if (typeof blankImg == 'undefined') var blankImg = 'blank.gif'; | ||||
| 
 | ||||
| 
 | ||||
| var f = 'DXImageTransform.Microsoft.AlphaImageLoader'; | ||||
| 
 | ||||
| function filt(s, m) | ||||
| { | ||||
|  if (filters[f]) | ||||
|  { | ||||
|   filters[f].enabled = s ? true : false; | ||||
|   if (s) with (filters[f]) { src = s; sizingMethod = m } | ||||
|  } | ||||
|  else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")'; | ||||
| } | ||||
| 
 | ||||
| function doFix() | ||||
| {            | ||||
|   alert('ok') | ||||
|    | ||||
|  // Assume IE7 is OK. | ||||
|  if (!/MSIE (5\.5|6\.)/.test(navigator.userAgent) || | ||||
|   (event && !/(background|src)/.test(event.propertyName))) return; | ||||
| 
 | ||||
|  var bgImg = currentStyle.backgroundImage || style.backgroundImage; | ||||
| 
 | ||||
|  if (tagName == 'IMG') | ||||
|  { | ||||
|   if ((/\.png$/i).test(src)) | ||||
|   { | ||||
|    if (currentStyle.width == 'auto' && currentStyle.height == 'auto') | ||||
|     style.width = offsetWidth + 'px'; | ||||
|    filt(src, 'scale'); | ||||
|    src = blankImg; | ||||
|   } | ||||
|   else if (src.indexOf(blankImg) < 0) filt(); | ||||
|  } | ||||
|  else if (bgImg && bgImg != 'none') | ||||
|  { | ||||
|   if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i)) | ||||
|   { | ||||
|    var s = RegExp.$1; | ||||
|    if (currentStyle.width == 'auto' && currentStyle.height == 'auto') | ||||
|     style.width = offsetWidth + 'px'; | ||||
|    style.backgroundImage = 'none'; | ||||
|    filt(s, 'crop'); | ||||
|    // IE link fix. | ||||
|    for (var n = 0; n < childNodes.length; n++) | ||||
|     if (childNodes[n].style) childNodes[n].style.position = 'relative'; | ||||
|   } | ||||
|   else filt(); | ||||
|  } | ||||
| } | ||||
| 
 | ||||
| doFix(); | ||||
|  | ||||
| @ -1,333 +1,333 @@ | ||||
| /* Focused windows */ | ||||
| .overlay_mac_os_x { | ||||
| 	background-color: #85BBEF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_nw { | ||||
| 	background: transparent url(mac_os_x/TL_Main.png) no-repeat 0 0;			 | ||||
|   width:24px; | ||||
|   height:30px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_n { | ||||
|   background: transparent url(mac_os_x/T_Main.png) repeat-x 0 0;			 | ||||
|   height:30px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_ne { | ||||
|   background: transparent url(mac_os_x/TR_Main.png) no-repeat 0 0;			 | ||||
|   width:31px;	   | ||||
|   height:30px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_w { | ||||
|   background: transparent url(mac_os_x/L_Main.png) repeat-y top left;			 | ||||
|   width:16px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_e { | ||||
|   background: transparent url(mac_os_x/R_Main.png) repeat-y top right;			 | ||||
|   width:16px;	   | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_sw { | ||||
|   background: transparent url(mac_os_x/BL_Main.png) no-repeat 0 0;			 | ||||
|   width:31px; | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_s { | ||||
|   background: transparent url(mac_os_x/B_Main.png) repeat-x 0 0;			 | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_se, .mac_os_x_sizer { | ||||
|   background: transparent url(mac_os_x/BR_Main.png) no-repeat 0 0;			 | ||||
|   width:31px; | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_sizer { | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_close { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x/close.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:25px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_minimize { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x/minimize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:45px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_maximize { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x/maximize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:65px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_title { | ||||
| 	float:left; | ||||
| 	height:14px; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size:12px; | ||||
| 	text-align:center; | ||||
| 	margin-top:8px; | ||||
| 	width:100%; | ||||
| 	color:#000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_content { | ||||
| 	overflow:auto; | ||||
| 	color: #222; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size: 10px; | ||||
| 	background:#FFF; | ||||
| } | ||||
| .mac_os_x_s .status_bar { | ||||
|   padding-bottom:24px; | ||||
| } | ||||
| 
 | ||||
| /* FOR IE */ | ||||
| * html .mac_os_x_nw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/TL_Main.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_n { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/T_Main.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_ne { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/TR_Main.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_w { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/L_Main.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_e { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/R_Main.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_sw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/BL_Main.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_s { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/B_Main.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_se { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/BR_Main.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_sizer { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/BR_Main.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /* Focused windows */ | ||||
| .overlay_blur_os_x { | ||||
| 	background-color: #85BBEF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_nw { | ||||
| 	background: transparent url(mac_os_x/TL.png) no-repeat 0 0;			 | ||||
|   width:24px; | ||||
|   height:30px; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_n { | ||||
|   background: transparent url(mac_os_x/T.png) repeat-x 0 0;			 | ||||
|   height:30px; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_ne { | ||||
|   background: transparent url(mac_os_x/TR.png) no-repeat 0 0;			 | ||||
|   width:31px;	   | ||||
|   height:30px; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_w { | ||||
|   background: transparent url(mac_os_x/L.png) repeat-y top left;			 | ||||
|   width:16px; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_e { | ||||
|   background: transparent url(mac_os_x/R.png) repeat-y top right;			 | ||||
|   width:16px;	   | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_sw { | ||||
|   background: transparent url(mac_os_x/BL.png) no-repeat 0 0;			 | ||||
|   width:31px; | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_s { | ||||
|   background: transparent url(mac_os_x/B.png) repeat-x 0 0;			 | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_se, .blur_os_x_sizer { | ||||
|   background: transparent url(mac_os_x/BR.png) no-repeat 0 0;			 | ||||
|   width:31px; | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_sizer { | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_close { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x/close.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:25px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_minimize { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x/minimize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:45px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_maximize { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x/maximize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:65px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_title { | ||||
| 	float:left; | ||||
| 	height:14px; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size:12px; | ||||
| 	text-align:center; | ||||
| 	margin-top:8px; | ||||
| 	width:100%; | ||||
| 	color:#000; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_content { | ||||
| 	overflow:auto; | ||||
| 	color: #222; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size: 10px; | ||||
| 	background:#FFF; | ||||
| } | ||||
| .blur_os_x_s .status_bar { | ||||
|   padding-bottom:24px; | ||||
| } | ||||
| 
 | ||||
| /* FOR IE */ | ||||
| * html .blur_os_x_nw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/TL.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_n { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/T.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_ne { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/TR.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_w { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/L.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_e { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/R.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_sw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/BL.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_s { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/B.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_se { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/BR.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_sizer { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/BR.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| /* Focused windows */ | ||||
| .overlay_mac_os_x { | ||||
| 	background-color: #85BBEF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_nw { | ||||
| 	background: transparent url(mac_os_x/TL_Main.png) no-repeat 0 0;			 | ||||
|   width:24px; | ||||
|   height:30px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_n { | ||||
|   background: transparent url(mac_os_x/T_Main.png) repeat-x 0 0;			 | ||||
|   height:30px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_ne { | ||||
|   background: transparent url(mac_os_x/TR_Main.png) no-repeat 0 0;			 | ||||
|   width:31px;	   | ||||
|   height:30px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_w { | ||||
|   background: transparent url(mac_os_x/L_Main.png) repeat-y top left;			 | ||||
|   width:16px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_e { | ||||
|   background: transparent url(mac_os_x/R_Main.png) repeat-y top right;			 | ||||
|   width:16px;	   | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_sw { | ||||
|   background: transparent url(mac_os_x/BL_Main.png) no-repeat 0 0;			 | ||||
|   width:31px; | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_s { | ||||
|   background: transparent url(mac_os_x/B_Main.png) repeat-x 0 0;			 | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_se, .mac_os_x_sizer { | ||||
|   background: transparent url(mac_os_x/BR_Main.png) no-repeat 0 0;			 | ||||
|   width:31px; | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_sizer { | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_close { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x/close.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:25px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_minimize { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x/minimize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:45px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_maximize { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x/maximize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:65px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_title { | ||||
| 	float:left; | ||||
| 	height:14px; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size:12px; | ||||
| 	text-align:center; | ||||
| 	margin-top:8px; | ||||
| 	width:100%; | ||||
| 	color:#000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_content { | ||||
| 	overflow:auto; | ||||
| 	color: #222; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size: 10px; | ||||
| 	background:#FFF; | ||||
| } | ||||
| .mac_os_x_s .status_bar { | ||||
|   padding-bottom:24px; | ||||
| } | ||||
| 
 | ||||
| /* FOR IE */ | ||||
| * html .mac_os_x_nw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/TL_Main.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_n { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/T_Main.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_ne { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/TR_Main.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_w { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/L_Main.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_e { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/R_Main.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_sw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/BL_Main.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_s { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/B_Main.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_se { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/BR_Main.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_sizer { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/BR_Main.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /* Focused windows */ | ||||
| .overlay_blur_os_x { | ||||
| 	background-color: #85BBEF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_nw { | ||||
| 	background: transparent url(mac_os_x/TL.png) no-repeat 0 0;			 | ||||
|   width:24px; | ||||
|   height:30px; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_n { | ||||
|   background: transparent url(mac_os_x/T.png) repeat-x 0 0;			 | ||||
|   height:30px; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_ne { | ||||
|   background: transparent url(mac_os_x/TR.png) no-repeat 0 0;			 | ||||
|   width:31px;	   | ||||
|   height:30px; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_w { | ||||
|   background: transparent url(mac_os_x/L.png) repeat-y top left;			 | ||||
|   width:16px; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_e { | ||||
|   background: transparent url(mac_os_x/R.png) repeat-y top right;			 | ||||
|   width:16px;	   | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_sw { | ||||
|   background: transparent url(mac_os_x/BL.png) no-repeat 0 0;			 | ||||
|   width:31px; | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_s { | ||||
|   background: transparent url(mac_os_x/B.png) repeat-x 0 0;			 | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_se, .blur_os_x_sizer { | ||||
|   background: transparent url(mac_os_x/BR.png) no-repeat 0 0;			 | ||||
|   width:31px; | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_sizer { | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_close { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x/close.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:25px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_minimize { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x/minimize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:45px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_maximize { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x/maximize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:65px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_title { | ||||
| 	float:left; | ||||
| 	height:14px; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size:12px; | ||||
| 	text-align:center; | ||||
| 	margin-top:8px; | ||||
| 	width:100%; | ||||
| 	color:#000; | ||||
| } | ||||
| 
 | ||||
| .blur_os_x_content { | ||||
| 	overflow:auto; | ||||
| 	color: #222; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size: 10px; | ||||
| 	background:#FFF; | ||||
| } | ||||
| .blur_os_x_s .status_bar { | ||||
|   padding-bottom:24px; | ||||
| } | ||||
| 
 | ||||
| /* FOR IE */ | ||||
| * html .blur_os_x_nw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/TL.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_n { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/T.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_ne { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/TR.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_w { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/L.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_e { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/R.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_sw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/BL.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_s { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/B.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_se { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/BR.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .blur_os_x_sizer { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x/BR.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -1,160 +1,160 @@ | ||||
| .overlay_mac_os_x_dialog { | ||||
| 	background-color: #FF7224; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_nw { | ||||
|   background: transparent url(mac_os_x_dialog/L.png) repeat-y top left;			 | ||||
|   width:16px; | ||||
|   height:16px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_n { | ||||
| 	background: transparent url(mac_os_x_dialog/bg.gif) repeat 0 0;			 | ||||
|   height:18px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_ne { | ||||
|   background: transparent url(mac_os_x_dialog/R.png) repeat-y top left; | ||||
|   width:16px; | ||||
|   height:16px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_w { | ||||
|   background: transparent url(mac_os_x_dialog/L.png) repeat-y top left;			 | ||||
|   width:16px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_e { | ||||
|   background: transparent url(mac_os_x_dialog/R.png) repeat-y top right;			 | ||||
|   width:16px;	   | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_sw { | ||||
|   background: transparent url(mac_os_x_dialog/BL.png) no-repeat 0 0;			 | ||||
|   width:31px; | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_s { | ||||
|   background: transparent url(mac_os_x_dialog/B.png) repeat-x 0 0;			 | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_se, .mac_os_x_dialog_sizer { | ||||
|   background: transparent url(mac_os_x_dialog/BR.png) no-repeat 0 0;			 | ||||
|   width:31px; | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_sizer { | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_close { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x_dialog/close.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:25px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_minimize { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x_dialog/minimize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:45px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_maximize { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x_dialog/maximize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:65px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_title { | ||||
| 	float:left; | ||||
| 	height:14px; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size:12px; | ||||
| 	text-align:center; | ||||
| 	margin-top:6px; | ||||
| 	width:100%; | ||||
| 	color:#000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_content { | ||||
| 	overflow:auto; | ||||
| 	color: #222; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size: 10px; | ||||
| 	background: transparent url(mac_os_x_dialog/bg.gif) repeat 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_buttons { | ||||
|   text-align: center; | ||||
| } | ||||
| /* FOR IE */ | ||||
| * html .mac_os_x_dialog_nw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/L.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| * html .mac_os_x_dialog_ne { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/R.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_dialog_w { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/L.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_dialog_e { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/R.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_dialog_sw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BL.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_dialog_s { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/B.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_dialog_se { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BR.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_dialog_sizer { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BR.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| .overlay_mac_os_x_dialog { | ||||
| 	background-color: #FF7224; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_nw { | ||||
|   background: transparent url(mac_os_x_dialog/L.png) repeat-y top left;			 | ||||
|   width:16px; | ||||
|   height:16px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_n { | ||||
| 	background: transparent url(mac_os_x_dialog/bg.gif) repeat 0 0;			 | ||||
|   height:18px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_ne { | ||||
|   background: transparent url(mac_os_x_dialog/R.png) repeat-y top left; | ||||
|   width:16px; | ||||
|   height:16px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_w { | ||||
|   background: transparent url(mac_os_x_dialog/L.png) repeat-y top left;			 | ||||
|   width:16px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_e { | ||||
|   background: transparent url(mac_os_x_dialog/R.png) repeat-y top right;			 | ||||
|   width:16px;	   | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_sw { | ||||
|   background: transparent url(mac_os_x_dialog/BL.png) no-repeat 0 0;			 | ||||
|   width:31px; | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_s { | ||||
|   background: transparent url(mac_os_x_dialog/B.png) repeat-x 0 0;			 | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_se, .mac_os_x_dialog_sizer { | ||||
|   background: transparent url(mac_os_x_dialog/BR.png) no-repeat 0 0;			 | ||||
|   width:31px; | ||||
|   height:40px; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_sizer { | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_close { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x_dialog/close.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:25px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_minimize { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x_dialog/minimize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:45px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_maximize { | ||||
| 	width: 19px; | ||||
| 	height: 19px; | ||||
| 	background: transparent url(mac_os_x_dialog/maximize.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:12px; | ||||
| 	left:65px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_title { | ||||
| 	float:left; | ||||
| 	height:14px; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size:12px; | ||||
| 	text-align:center; | ||||
| 	margin-top:6px; | ||||
| 	width:100%; | ||||
| 	color:#000; | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_content { | ||||
| 	overflow:auto; | ||||
| 	color: #222; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size: 10px; | ||||
| 	background: transparent url(mac_os_x_dialog/bg.gif) repeat 0 0;			 | ||||
| } | ||||
| 
 | ||||
| .mac_os_x_dialog_buttons { | ||||
|   text-align: center; | ||||
| } | ||||
| /* FOR IE */ | ||||
| * html .mac_os_x_dialog_nw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/L.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| * html .mac_os_x_dialog_ne { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/R.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_dialog_w { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/L.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_dialog_e { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/R.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_dialog_sw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BL.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_dialog_s { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/B.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_dialog_se { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BR.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .mac_os_x_dialog_sizer { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BR.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -1,164 +1,164 @@ | ||||
| .overlay_nuncio img { border: none; } | ||||
| 
 | ||||
| .overlay_nuncio { | ||||
| 	background-color: #666666; | ||||
| } | ||||
| 
 | ||||
| .nuncio_nw { | ||||
| 	width: 12px; | ||||
| 	height: 28px; | ||||
| 	background: url(nuncio/top_left.png) no-repeat;		 | ||||
| } | ||||
| 
 | ||||
| .nuncio_n { | ||||
| 	background: url(nuncio/top_mid.png) repeat-x; | ||||
| 	height: 28px; | ||||
| } | ||||
| 
 | ||||
| .nuncio_ne { | ||||
| 	width: 21px; | ||||
| 	height: 28px; | ||||
| 	background: url(nuncio/top_right.png) no-repeat;		 | ||||
| } | ||||
| 
 | ||||
| .nuncio_e { | ||||
| 	width: 21px; | ||||
| 	background: url(nuncio/center_right.png)  repeat-y top right;		 | ||||
| } | ||||
| 
 | ||||
| .nuncio_w { | ||||
| 	width: 12px; | ||||
| 	background: url(nuncio/center_left.png) repeat-y top left;			 | ||||
| } | ||||
| 
 | ||||
| .nuncio_sw { | ||||
| 	width: 12px; | ||||
| 	height: 18px; | ||||
| 	background: url(nuncio/bottom_left.png) no-repeat;			 | ||||
| } | ||||
| 
 | ||||
| .nuncio_s { | ||||
| 	background: url(nuncio/bottom_mid.png) repeat-x 0 0;				 | ||||
| 	height: 18px; | ||||
| } | ||||
| 
 | ||||
| .nuncio_se, .nuncio_sizer { | ||||
| 	width: 21px; | ||||
| 	height: 18px; | ||||
| 	background: url(nuncio/bottom_right.png) no-repeat;			 | ||||
| } | ||||
| 
 | ||||
| .nuncio_close { | ||||
| 	width: 14px; | ||||
| 	height: 14px; | ||||
| 	background: url(nuncio/close.png) no-repeat;			 | ||||
| 	position:absolute; | ||||
| 	top:10px; | ||||
| 	right:22px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:2000; | ||||
| } | ||||
| 
 | ||||
| .nuncio_minimize { | ||||
| 	width: 14px; | ||||
| 	height: 15px; | ||||
| 	background: url(nuncio/minimize.png) no-repeat;			 | ||||
| 	position:absolute; | ||||
| 	top:10px; | ||||
| 	right:40px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:2000; | ||||
| } | ||||
| 
 | ||||
| .nuncio_title { | ||||
| 	float:left; | ||||
| 	font-size:11px; | ||||
| 	font-weight: bold; | ||||
| 	font-style: italic; | ||||
| 	color: #fff; | ||||
| 	width: 100% | ||||
| } | ||||
| 
 | ||||
| .nuncio_content { | ||||
| 	background: url(nuncio/overlay.png) repeat; | ||||
| 	overflow:auto; | ||||
| 	color: #ddd; | ||||
| 	font-family: Tahoma, Arial, "sans-serif"; | ||||
| 	font-size: 10px; | ||||
| } | ||||
| 
 | ||||
| .nuncio_sizer { | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| .top_draggable, .bottom_draggable { | ||||
|   cursor:move | ||||
| } | ||||
| /* FOR IE */ | ||||
| * html .nuncio_nw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_left.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_n { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_mid.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_ne { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_right.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_w { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/center_left.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_e { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/center_right.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_sw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_left.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_s { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_mid.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_se { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_right.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_sizer { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_right.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_close { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/close.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_minimize { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/minimize.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| .overlay_nuncio img { border: none; } | ||||
| 
 | ||||
| .overlay_nuncio { | ||||
| 	background-color: #666666; | ||||
| } | ||||
| 
 | ||||
| .nuncio_nw { | ||||
| 	width: 12px; | ||||
| 	height: 28px; | ||||
| 	background: url(nuncio/top_left.png) no-repeat;		 | ||||
| } | ||||
| 
 | ||||
| .nuncio_n { | ||||
| 	background: url(nuncio/top_mid.png) repeat-x; | ||||
| 	height: 28px; | ||||
| } | ||||
| 
 | ||||
| .nuncio_ne { | ||||
| 	width: 21px; | ||||
| 	height: 28px; | ||||
| 	background: url(nuncio/top_right.png) no-repeat;		 | ||||
| } | ||||
| 
 | ||||
| .nuncio_e { | ||||
| 	width: 21px; | ||||
| 	background: url(nuncio/center_right.png)  repeat-y top right;		 | ||||
| } | ||||
| 
 | ||||
| .nuncio_w { | ||||
| 	width: 12px; | ||||
| 	background: url(nuncio/center_left.png) repeat-y top left;			 | ||||
| } | ||||
| 
 | ||||
| .nuncio_sw { | ||||
| 	width: 12px; | ||||
| 	height: 18px; | ||||
| 	background: url(nuncio/bottom_left.png) no-repeat;			 | ||||
| } | ||||
| 
 | ||||
| .nuncio_s { | ||||
| 	background: url(nuncio/bottom_mid.png) repeat-x 0 0;				 | ||||
| 	height: 18px; | ||||
| } | ||||
| 
 | ||||
| .nuncio_se, .nuncio_sizer { | ||||
| 	width: 21px; | ||||
| 	height: 18px; | ||||
| 	background: url(nuncio/bottom_right.png) no-repeat;			 | ||||
| } | ||||
| 
 | ||||
| .nuncio_close { | ||||
| 	width: 14px; | ||||
| 	height: 14px; | ||||
| 	background: url(nuncio/close.png) no-repeat;			 | ||||
| 	position:absolute; | ||||
| 	top:10px; | ||||
| 	right:22px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:2000; | ||||
| } | ||||
| 
 | ||||
| .nuncio_minimize { | ||||
| 	width: 14px; | ||||
| 	height: 15px; | ||||
| 	background: url(nuncio/minimize.png) no-repeat;			 | ||||
| 	position:absolute; | ||||
| 	top:10px; | ||||
| 	right:40px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:2000; | ||||
| } | ||||
| 
 | ||||
| .nuncio_title { | ||||
| 	float:left; | ||||
| 	font-size:11px; | ||||
| 	font-weight: bold; | ||||
| 	font-style: italic; | ||||
| 	color: #fff; | ||||
| 	width: 100% | ||||
| } | ||||
| 
 | ||||
| .nuncio_content { | ||||
| 	background: url(nuncio/overlay.png) repeat; | ||||
| 	overflow:auto; | ||||
| 	color: #ddd; | ||||
| 	font-family: Tahoma, Arial, "sans-serif"; | ||||
| 	font-size: 10px; | ||||
| } | ||||
| 
 | ||||
| .nuncio_sizer { | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| .top_draggable, .bottom_draggable { | ||||
|   cursor:move | ||||
| } | ||||
| /* FOR IE */ | ||||
| * html .nuncio_nw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_left.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_n { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_mid.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_ne { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_right.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_w { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/center_left.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_e { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/center_right.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_sw { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_left.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_s { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_mid.png", sizingMethod="scale"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_se { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_right.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_sizer { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_right.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_close { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/close.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
| * html .nuncio_minimize { | ||||
| 	background-color: transparent; | ||||
| 	background-image: none; | ||||
| 	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/minimize.png", sizingMethod="crop"); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -1,108 +1,108 @@ | ||||
| .overlay_spread { | ||||
| 	background-color: #85BBEF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .spread_nw { | ||||
| 	background: transparent url(spread/left-top.gif) no-repeat 0 0;			 | ||||
|   width:10px; | ||||
|   height:25px; | ||||
| } | ||||
| 
 | ||||
| .spread_n { | ||||
|   background: transparent url(spread/top-middle.gif) repeat-x 0 0;			 | ||||
|   height:25px; | ||||
| } | ||||
| 
 | ||||
| .spread_ne { | ||||
|   background: transparent url(spread/right-top.gif) no-repeat 0 0;			 | ||||
|   width:10px;	   | ||||
|   height:25px; | ||||
| } | ||||
| 
 | ||||
| .spread_w { | ||||
|   background: transparent url(spread/frame-left.gif) repeat-y top left;			 | ||||
|   width:7px; | ||||
| } | ||||
| 
 | ||||
| .spread_e { | ||||
|   background: transparent url(spread/frame-right.gif) repeat-y top right;			 | ||||
|   width:7px;	   | ||||
| } | ||||
| 
 | ||||
| .spread_sw { | ||||
|   background: transparent url(spread/bottom-left-c.gif) no-repeat 0 0;			 | ||||
|   width:7px; | ||||
|   height:7px; | ||||
| } | ||||
| 
 | ||||
| .spread_s  { | ||||
|   background: transparent url(spread/bottom-middle.gif) repeat-x 0 0;			 | ||||
|   height:7px; | ||||
| } | ||||
| 
 | ||||
| .spread_se, .spread_sizer { | ||||
|   background: transparent url(spread/bottom-right-c.gif) no-repeat 0 0;			 | ||||
|   width:7px; | ||||
|   height:7px; | ||||
| } | ||||
| 
 | ||||
| .spread_sizer { | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| .spread_close { | ||||
| 	width: 23px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(spread/button-close-focus.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:11px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .spread_minimize { | ||||
| 	width: 23px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(spread/button-min-focus.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:55px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .spread_maximize { | ||||
| 	width: 23px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(spread/button-max-focus.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:33px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .spread_title { | ||||
| 	float:left; | ||||
| 	height:14px; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size:14px; | ||||
| 	font-weight:bold; | ||||
| 	text-align:left; | ||||
| 	margin-top:2px; | ||||
| 	width:100%; | ||||
| 	color:#E47211; | ||||
| } | ||||
| 
 | ||||
| .spread_content { | ||||
| 	overflow:auto; | ||||
| 	color: #222; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size: 10px; | ||||
| 	background:#A9EA00; | ||||
| } | ||||
| 
 | ||||
| .overlay_spread { | ||||
| 	background-color: #85BBEF; | ||||
| 	filter:alpha(opacity=60); | ||||
| 	-moz-opacity: 0.6; | ||||
| 	opacity: 0.6; | ||||
| } | ||||
| 
 | ||||
| .spread_nw { | ||||
| 	background: transparent url(spread/left-top.gif) no-repeat 0 0;			 | ||||
|   width:10px; | ||||
|   height:25px; | ||||
| } | ||||
| 
 | ||||
| .spread_n { | ||||
|   background: transparent url(spread/top-middle.gif) repeat-x 0 0;			 | ||||
|   height:25px; | ||||
| } | ||||
| 
 | ||||
| .spread_ne { | ||||
|   background: transparent url(spread/right-top.gif) no-repeat 0 0;			 | ||||
|   width:10px;	   | ||||
|   height:25px; | ||||
| } | ||||
| 
 | ||||
| .spread_w { | ||||
|   background: transparent url(spread/frame-left.gif) repeat-y top left;			 | ||||
|   width:7px; | ||||
| } | ||||
| 
 | ||||
| .spread_e { | ||||
|   background: transparent url(spread/frame-right.gif) repeat-y top right;			 | ||||
|   width:7px;	   | ||||
| } | ||||
| 
 | ||||
| .spread_sw { | ||||
|   background: transparent url(spread/bottom-left-c.gif) no-repeat 0 0;			 | ||||
|   width:7px; | ||||
|   height:7px; | ||||
| } | ||||
| 
 | ||||
| .spread_s  { | ||||
|   background: transparent url(spread/bottom-middle.gif) repeat-x 0 0;			 | ||||
|   height:7px; | ||||
| } | ||||
| 
 | ||||
| .spread_se, .spread_sizer { | ||||
|   background: transparent url(spread/bottom-right-c.gif) no-repeat 0 0;			 | ||||
|   width:7px; | ||||
|   height:7px; | ||||
| } | ||||
| 
 | ||||
| .spread_sizer { | ||||
| 	cursor:se-resize;	 | ||||
| } | ||||
| 
 | ||||
| .spread_close { | ||||
| 	width: 23px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(spread/button-close-focus.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:11px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .spread_minimize { | ||||
| 	width: 23px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(spread/button-min-focus.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:55px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .spread_maximize { | ||||
| 	width: 23px; | ||||
| 	height: 23px; | ||||
| 	background: transparent url(spread/button-max-focus.gif) no-repeat 0 0;			 | ||||
| 	position:absolute; | ||||
| 	top:0px; | ||||
| 	right:33px; | ||||
| 	cursor:pointer; | ||||
| 	z-index:1000; | ||||
| } | ||||
| 
 | ||||
| .spread_title { | ||||
| 	float:left; | ||||
| 	height:14px; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size:14px; | ||||
| 	font-weight:bold; | ||||
| 	text-align:left; | ||||
| 	margin-top:2px; | ||||
| 	width:100%; | ||||
| 	color:#E47211; | ||||
| } | ||||
| 
 | ||||
| .spread_content { | ||||
| 	overflow:auto; | ||||
| 	color: #222; | ||||
| 	font-family: Tahoma, Arial, sans-serif; | ||||
| 	font-size: 10px; | ||||
| 	background:#A9EA00; | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -1,109 +1,109 @@ | ||||
| /* CSS Document */ | ||||
| /* 2015-06-26 */ | ||||
| .navContainer h1,h2,h3,h4,h5,h6,hr,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{ margin:0; padding:0;} | ||||
| .navContainer body,table,input,textarea,select,button { font-family: "微软雅黑","宋体"; font-size:12px;line-height:1.5;} | ||||
| div,img,tr,td,table{ border:0;} | ||||
| table,tr,td{border:0;cellspacing:0; cellpadding:0;} | ||||
| ol,ul,li{ list-style-type:none} | ||||
| a:link,a:visited{text-decoration:none;} | ||||
| /*a:hover,a:active{color:#000;}*/ | ||||
| /*常用*/ | ||||
| /*#RSide{ background:#fff;}*/ | ||||
| /*上传图片处理*/ | ||||
| .navSearchTypeBox{margin-top: 32px;} | ||||
| #navHomepageSearch{margin-top: 11px;background-color: white;} | ||||
| .upload_img img{max-width: 100%;} | ||||
| blockquote img{max-width: 100%;} | ||||
| .hidden{overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} | ||||
| .none{display: none;} | ||||
| .rside_back{ width:670px;  margin-left:10px;  background:#fff;  margin-bottom:10px;} | ||||
| .break_word{ word-break:break-all; word-wrap: break-word;} | ||||
| select,input,textarea{ border:1px solid #64bdd9; background:#fff; color:#000; padding-left:5px; } | ||||
| .sub_btn{ cursor:pointer; -moz-border-radius:3px;  -webkit-border-radius:3px; border:1px solid #707070; color:#000;  border-radius:3px; padding:1px 10px;  background:#dbdbdb;} | ||||
| .sub_btn:hover{ background:#b5e2fa; color:#000; border:1px solid #3c7fb1;} | ||||
| /*table{ background:#fff;}*/ | ||||
| .more{ font-weight:normal; color:#999; font-size:12px;} | ||||
| .no_line{ border-bottom:none;} | ||||
| .line{border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;} | ||||
| .no_border{ border:none;background:none;} | ||||
| .min_search{ width:150px; height:20px; border:1px solid #d0d0d0; color:#666; background:url(../images/public_icon.png) 135px -193px no-repeat; cursor:pointer;} | ||||
| .db {display:block;} | ||||
| /* font & color */ | ||||
| .f12{font-size:12px; font-weight:normal;} | ||||
| .f14{font-size:14px;} | ||||
| .f16{font-size:16px;} | ||||
| .f18{font-size:18px;} | ||||
| .fb{font-weight:bold;} | ||||
| 
 | ||||
| /* Float & Clear */ | ||||
| .cl{ clear:both; overflow:hidden; } | ||||
| .fl{float:left;display:inline;} | ||||
| .fr{float:right;display:inline;} | ||||
| .f_l{ float:left;} | ||||
| .f_r{ float:right;} | ||||
| .clearfix:after{clear:both;content:".";display:block;font-size:0;height:0;line-height:0;visibility:hidden} | ||||
| .clearfix{clear:both;zoom:1} | ||||
| .break_word{ word-break:break-all; word-wrap: break-word;} | ||||
| .white_space{white-space:nowrap;} | ||||
| a.c_white{ color:#fff !important;} | ||||
| input.c_white { color:#fff !important;} | ||||
| 
 | ||||
| /* Spacing */ | ||||
| .ml2{ margin-left:2px;} | ||||
| .ml3{ margin-left:3px;} | ||||
| .ml4{ margin-left:4px;} | ||||
| .ml5{ margin-left:5px;} | ||||
| .ml8{ margin-left:8px;} | ||||
| .ml10{ margin-left:10px;} | ||||
| .ml15{ margin-left:15px;} | ||||
| .ml20{ margin-left:20px;} | ||||
| .ml40{ margin-left:40px;} | ||||
| .ml45{ margin-left:45px;} | ||||
| .ml55{ margin-left:55px;} | ||||
| .ml30{ margin-left:30px;} | ||||
| .ml60{ margin-left:60px;} | ||||
| .ml80{ margin-left:80px;} | ||||
| .ml90{ margin-left:90px;} | ||||
| .ml100{ margin-left:100px;} | ||||
| .ml110{ margin-left:110px;} | ||||
| .ml150 { margin-left:150px;} | ||||
| .mr5{ margin-right:5px;} | ||||
| .mr45 {margin-right:45px;} | ||||
| .mr55{ margin-right:55px;} | ||||
| .mr10{ margin-right:10px;} | ||||
| .mr15 {margin-right:15px;} | ||||
| .mr20{ margin-right:20px;} | ||||
| .mr30{ margin-right:30px;} | ||||
| .mr40{ margin-right:40px;} | ||||
| .mw20{ margin: 0 20px;} | ||||
| .mt3{ margin-top:3px;} | ||||
| .mt5{ margin-top:5px;} | ||||
| .mt8{ margin-top:8px;} | ||||
| .mt10{ margin-top:10px !important;} | ||||
| .mt15 {margin-top:15px;} | ||||
| .mb4{ margin-bottom:4px;} | ||||
| .mb5{ margin-bottom:5px;} | ||||
| .mb8 {margin-bottom:8px;} | ||||
| .mb10{ margin-bottom:10px !important;} | ||||
| .mb20{ margin-bottom:20px;} | ||||
| .pl15{ padding-left:15px;} | ||||
| .w20{ width:20px;} | ||||
| .w60{ width:60px;} | ||||
| .w70{ width:70px;} | ||||
| .w90{ width:90px;} | ||||
| .w210{ width:210px;} | ||||
| .w150{ width:150px;} | ||||
| .w280{ width:280px;} | ||||
| .w430{ width:470px;} | ||||
| .w520{ width:520px;} | ||||
| .w543{ width:543px;} | ||||
| .w557{ width:557px;} | ||||
| .w583{ width:583px;} | ||||
| .w350{ width:350px;} | ||||
| .w610{ width:610px;} | ||||
| .w600{ width:600px;} | ||||
| .h22{ height:22px;} | ||||
| .h26{ height:26px;} | ||||
| .h50{ height:50px;} | ||||
| .h70{ height:70px;} | ||||
| /* CSS Document */ | ||||
| /* 2015-06-26 */ | ||||
| .navContainer h1,h2,h3,h4,h5,h6,hr,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{ margin:0; padding:0;} | ||||
| .navContainer body,table,input,textarea,select,button { font-family: "微软雅黑","宋体"; font-size:12px;line-height:1.5;} | ||||
| div,img,tr,td,table{ border:0;} | ||||
| table,tr,td{border:0;cellspacing:0; cellpadding:0;} | ||||
| ol,ul,li{ list-style-type:none} | ||||
| a:link,a:visited{text-decoration:none;} | ||||
| /*a:hover,a:active{color:#000;}*/ | ||||
| /*常用*/ | ||||
| /*#RSide{ background:#fff;}*/ | ||||
| /*上传图片处理*/ | ||||
| .navSearchTypeBox{margin-top: 32px;} | ||||
| #navHomepageSearch{margin-top: 11px;background-color: white;} | ||||
| .upload_img img{max-width: 100%;} | ||||
| blockquote img{max-width: 100%;} | ||||
| .hidden{overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} | ||||
| .none{display: none;} | ||||
| .rside_back{ width:670px;  margin-left:10px;  background:#fff;  margin-bottom:10px;} | ||||
| .break_word{ word-break:break-all; word-wrap: break-word;} | ||||
| select,input,textarea{ border:1px solid #64bdd9; background:#fff; color:#000; padding-left:5px; } | ||||
| .sub_btn{ cursor:pointer; -moz-border-radius:3px;  -webkit-border-radius:3px; border:1px solid #707070; color:#000;  border-radius:3px; padding:1px 10px;  background:#dbdbdb;} | ||||
| .sub_btn:hover{ background:#b5e2fa; color:#000; border:1px solid #3c7fb1;} | ||||
| /*table{ background:#fff;}*/ | ||||
| .more{ font-weight:normal; color:#999; font-size:12px;} | ||||
| .no_line{ border-bottom:none;} | ||||
| .line{border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;} | ||||
| .no_border{ border:none;background:none;} | ||||
| .min_search{ width:150px; height:20px; border:1px solid #d0d0d0; color:#666; background:url(../images/public_icon.png) 135px -193px no-repeat; cursor:pointer;} | ||||
| .db {display:block;} | ||||
| /* font & color */ | ||||
| .f12{font-size:12px; font-weight:normal;} | ||||
| .f14{font-size:14px;} | ||||
| .f16{font-size:16px;} | ||||
| .f18{font-size:18px;} | ||||
| .fb{font-weight:bold;} | ||||
| 
 | ||||
| /* Float & Clear */ | ||||
| .cl{ clear:both; overflow:hidden; } | ||||
| .fl{float:left;display:inline;} | ||||
| .fr{float:right;display:inline;} | ||||
| .f_l{ float:left;} | ||||
| .f_r{ float:right;} | ||||
| .clearfix:after{clear:both;content:".";display:block;font-size:0;height:0;line-height:0;visibility:hidden} | ||||
| .clearfix{clear:both;zoom:1} | ||||
| .break_word{ word-break:break-all; word-wrap: break-word;} | ||||
| .white_space{white-space:nowrap;} | ||||
| a.c_white{ color:#fff !important;} | ||||
| input.c_white { color:#fff !important;} | ||||
| 
 | ||||
| /* Spacing */ | ||||
| .ml2{ margin-left:2px;} | ||||
| .ml3{ margin-left:3px;} | ||||
| .ml4{ margin-left:4px;} | ||||
| .ml5{ margin-left:5px;} | ||||
| .ml8{ margin-left:8px;} | ||||
| .ml10{ margin-left:10px;} | ||||
| .ml15{ margin-left:15px;} | ||||
| .ml20{ margin-left:20px;} | ||||
| .ml40{ margin-left:40px;} | ||||
| .ml45{ margin-left:45px;} | ||||
| .ml55{ margin-left:55px;} | ||||
| .ml30{ margin-left:30px;} | ||||
| .ml60{ margin-left:60px;} | ||||
| .ml80{ margin-left:80px;} | ||||
| .ml90{ margin-left:90px;} | ||||
| .ml100{ margin-left:100px;} | ||||
| .ml110{ margin-left:110px;} | ||||
| .ml150 { margin-left:150px;} | ||||
| .mr5{ margin-right:5px;} | ||||
| .mr45 {margin-right:45px;} | ||||
| .mr55{ margin-right:55px;} | ||||
| .mr10{ margin-right:10px;} | ||||
| .mr15 {margin-right:15px;} | ||||
| .mr20{ margin-right:20px;} | ||||
| .mr30{ margin-right:30px;} | ||||
| .mr40{ margin-right:40px;} | ||||
| .mw20{ margin: 0 20px;} | ||||
| .mt3{ margin-top:3px;} | ||||
| .mt5{ margin-top:5px;} | ||||
| .mt8{ margin-top:8px;} | ||||
| .mt10{ margin-top:10px !important;} | ||||
| .mt15 {margin-top:15px;} | ||||
| .mb4{ margin-bottom:4px;} | ||||
| .mb5{ margin-bottom:5px;} | ||||
| .mb8 {margin-bottom:8px;} | ||||
| .mb10{ margin-bottom:10px !important;} | ||||
| .mb20{ margin-bottom:20px;} | ||||
| .pl15{ padding-left:15px;} | ||||
| .w20{ width:20px;} | ||||
| .w60{ width:60px;} | ||||
| .w70{ width:70px;} | ||||
| .w90{ width:90px;} | ||||
| .w210{ width:210px;} | ||||
| .w150{ width:150px;} | ||||
| .w280{ width:280px;} | ||||
| .w430{ width:470px;} | ||||
| .w520{ width:520px;} | ||||
| .w543{ width:543px;} | ||||
| .w557{ width:557px;} | ||||
| .w583{ width:583px;} | ||||
| .w350{ width:350px;} | ||||
| .w610{ width:610px;} | ||||
| .w600{ width:600px;} | ||||
| .h22{ height:22px;} | ||||
| .h26{ height:26px;} | ||||
| .h50{ height:50px;} | ||||
| .h70{ height:70px;} | ||||
| .h150{ height:150px;} | ||||
											
												
													File diff suppressed because it is too large
													Load Diff
												
											
										
									
								| @ -1,66 +1,66 @@ | ||||
| .topbar_info02{ margin:5px 10px;width:480px;  } | ||||
| .topbar_info02 p{color: #7f7f7f;} | ||||
| .search{ margin-top:8px; margin-left:71px;} | ||||
| /*信息*/ | ||||
| .project_info{ background:#fff; padding:10px; padding-right:0px;width:222px;  padding-right:8px; margin-bottom:10px;} | ||||
| .pr_info_id{ width:137px; color:#5a5a5a; font-size:14px; margin-top:5px;} | ||||
| .pr_info_logo{ border:1px solid  #eaeaea; width:60px; height:60px; padding:1px;} | ||||
| .pr_info_logo:hover{ border:1px solid #64bdd9; } | ||||
| .pr_info_join{} | ||||
| a.pr_join_a{  color:#fff; display:block; padding:0 5px 0 3px; padding-top:2px; height:20px; margin-right:5px; float:left;  text-align:center; background-color:#64bdd9; float:left; } | ||||
| .pr_info_join a:hover{ background:#41a8c8;} | ||||
| .pr_join_span{color: #fff; display:block; padding:0 5px; padding-top:2px; height:20px; float:left;  text-align:center; background: #CCC;} | ||||
| .pr_setting{ display:block; background:url(../images/leftside.png) -1px 0 no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_copy{ display:block; background:url(../images/leftside.png) -1px -23px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_close{ display:block; background:url(../images/leftside.png) -1px -49px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_add{display:block; background:url(../images/leftside.png) 0px -71px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_arrow{display:block; background:url(../images/leftside.png) 0px -90px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_delete{ display:block; background:url(../images/leftside.png) -1px -157px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_info_name{ color:#3e4040; font-size:14px;  line-height:1.5;} | ||||
| a:hover.pr_info_name{ color:#3ca5c6;} | ||||
| .pr_info_score{ font-size:14px; color:#3e4040; } | ||||
| .pr_info_score a{ color:#ff7143;} | ||||
| .pr_info_score a:hover{ color:#64bdd9;} | ||||
| .img_private{ background:url(../images/new_project/img_project.png) 0 0 no-repeat; width:33px; height:16px; color:#fff; font-size:12px; padding-left:7px;  } | ||||
| .info_foot_num{  color:#3ca5c6;  } | ||||
| .pr_info_foot{ color:#7f7f7f; margin-top:5px; } | ||||
| a:hover.info_foot_num{  color:#2390b2;} | ||||
| .info_box{background:#fff; padding:10px;width:220px; } | ||||
| .info_box ul li{ font-size:12px; color: #3e4040; line-height:1.7;} | ||||
| 
 | ||||
| /*左侧导航*/ | ||||
| .subNavBox{width:240px; background:#fff;margin:10px 10px 0 0;} | ||||
| .subNav{border-bottom:solid 1px #e5e3da;cursor:pointer;font-weight:bold;font-size:14px;color:#3ca5c6; height:26px;padding-left:10px;background-color:#fff; padding-top:2px;} | ||||
| a.subNav_jiantou{background:url(../images/jiantou1.jpg) no-repeat;background-position:95% 50%; background-color:#fff;} | ||||
| a:hover.subNav_jiantou:hover{color:#0781b4;  } | ||||
| .currentDd{color:#0781b4; } | ||||
| .currentDt{background-color:#fff; } | ||||
| .navContent{display: none;border-bottom:solid 1px #e5e3da; } | ||||
| .navContent li a{display:block;width:240px;heigh:28px;text-align:center;font-size:12px;line-height:28px;color:#333} | ||||
| .navContent li a:hover{color:#fff;background-color:#b3e0ee} | ||||
| a.subnav_num{ font-weight:normal; color:#ff7143; font-size:12px;} | ||||
| a.subnav_green{ background:#28be6c; color:#fff; font-size:12px; font-weight:normal;height:18px; padding:0px 5px; padding-top:2px; display:block; margin-top:2px; margin-bottom:5px;  float:right; margin-right:5px;} | ||||
| a:hover.subnav_green{ background:#14ad5a;} | ||||
| 
 | ||||
| 
 | ||||
| /*简介*/ | ||||
| .project_intro{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px; color:#6d6d6d; line-height:1.9;} | ||||
| .course_description{max-height: 420px;overflow:hidden; word-break: break-all;word-wrap: break-word;line-height: 20px;} | ||||
| .project_board_content{overflow: hidden;max-height: 212px;word-break: break-all;word-wrap: break-word;} | ||||
| .project_board_content1{overflow: hidden;max-height: 72px;word-break: break-all;word-wrap: break-word;} | ||||
| .course_description_none{max-height: none;} | ||||
| .lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;display: none;} | ||||
| .lg-foot:hover{ color:#787b7e; border:1px solid #d4d4d4;} | ||||
| /****标签(和资源库的tag样式一致)***/ | ||||
| .project_Label{ width:220px; padding:10px; background:#fff; margin-top:10px;  padding-top:5px; margin-bottom:10px;} | ||||
| a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;} | ||||
| .submit{height:21px;border:0; cursor:pointer; background:url(../images/btn.png) no-repeat  0 0;width:42px; margin-top:2px; margin-left:3px; } | ||||
| .isTxt{background:#fbfbfb url(../images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;} | ||||
| .re_tag{ width: auto; padding:0 5px; padding-top:2px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px; word-wrap: break-word;word-break: break-all  } | ||||
| .re_tag a{ color:#0d90c3;} | ||||
| .tag_h{ } | ||||
| .tag_h span,.tag_h a{ margin-bottom:5px;} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| .topbar_info02{ margin:5px 10px;width:480px;  } | ||||
| .topbar_info02 p{color: #7f7f7f;} | ||||
| .search{ margin-top:8px; margin-left:71px;} | ||||
| /*信息*/ | ||||
| .project_info{ background:#fff; padding:10px; padding-right:0px;width:222px;  padding-right:8px; margin-bottom:10px;} | ||||
| .pr_info_id{ width:137px; color:#5a5a5a; font-size:14px; margin-top:5px;} | ||||
| .pr_info_logo{ border:1px solid  #eaeaea; width:60px; height:60px; padding:1px;} | ||||
| .pr_info_logo:hover{ border:1px solid #64bdd9; } | ||||
| .pr_info_join{} | ||||
| a.pr_join_a{  color:#fff; display:block; padding:0 5px 0 3px; padding-top:2px; height:20px; margin-right:5px; float:left;  text-align:center; background-color:#64bdd9; float:left; } | ||||
| .pr_info_join a:hover{ background:#41a8c8;} | ||||
| .pr_join_span{color: #fff; display:block; padding:0 5px; padding-top:2px; height:20px; float:left;  text-align:center; background: #CCC;} | ||||
| .pr_setting{ display:block; background:url(../images/leftside.png) -1px 0 no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_copy{ display:block; background:url(../images/leftside.png) -1px -23px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_close{ display:block; background:url(../images/leftside.png) -1px -49px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_add{display:block; background:url(../images/leftside.png) 0px -71px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_arrow{display:block; background:url(../images/leftside.png) 0px -90px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_delete{ display:block; background:url(../images/leftside.png) -1px -157px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_info_name{ color:#3e4040; font-size:14px;  line-height:1.5;} | ||||
| a:hover.pr_info_name{ color:#3ca5c6;} | ||||
| .pr_info_score{ font-size:14px; color:#3e4040; } | ||||
| .pr_info_score a{ color:#ff7143;} | ||||
| .pr_info_score a:hover{ color:#64bdd9;} | ||||
| .img_private{ background:url(../images/new_project/img_project.png) 0 0 no-repeat; width:33px; height:16px; color:#fff; font-size:12px; padding-left:7px;  } | ||||
| .info_foot_num{  color:#3ca5c6;  } | ||||
| .pr_info_foot{ color:#7f7f7f; margin-top:5px; } | ||||
| a:hover.info_foot_num{  color:#2390b2;} | ||||
| .info_box{background:#fff; padding:10px;width:220px; } | ||||
| .info_box ul li{ font-size:12px; color: #3e4040; line-height:1.7;} | ||||
| 
 | ||||
| /*左侧导航*/ | ||||
| .subNavBox{width:240px; background:#fff;margin:10px 10px 0 0;} | ||||
| .subNav{border-bottom:solid 1px #e5e3da;cursor:pointer;font-weight:bold;font-size:14px;color:#3ca5c6; height:26px;padding-left:10px;background-color:#fff; padding-top:2px;} | ||||
| a.subNav_jiantou{background:url(../images/jiantou1.jpg) no-repeat;background-position:95% 50%; background-color:#fff;} | ||||
| a:hover.subNav_jiantou:hover{color:#0781b4;  } | ||||
| .currentDd{color:#0781b4; } | ||||
| .currentDt{background-color:#fff; } | ||||
| .navContent{display: none;border-bottom:solid 1px #e5e3da; } | ||||
| .navContent li a{display:block;width:240px;heigh:28px;text-align:center;font-size:12px;line-height:28px;color:#333} | ||||
| .navContent li a:hover{color:#fff;background-color:#b3e0ee} | ||||
| a.subnav_num{ font-weight:normal; color:#ff7143; font-size:12px;} | ||||
| a.subnav_green{ background:#28be6c; color:#fff; font-size:12px; font-weight:normal;height:18px; padding:0px 5px; padding-top:2px; display:block; margin-top:2px; margin-bottom:5px;  float:right; margin-right:5px;} | ||||
| a:hover.subnav_green{ background:#14ad5a;} | ||||
| 
 | ||||
| 
 | ||||
| /*简介*/ | ||||
| .project_intro{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px; color:#6d6d6d; line-height:1.9;} | ||||
| .course_description{max-height: 420px;overflow:hidden; word-break: break-all;word-wrap: break-word;line-height: 20px;} | ||||
| .project_board_content{overflow: hidden;max-height: 212px;word-break: break-all;word-wrap: break-word;} | ||||
| .project_board_content1{overflow: hidden;max-height: 72px;word-break: break-all;word-wrap: break-word;} | ||||
| .course_description_none{max-height: none;} | ||||
| .lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;display: none;} | ||||
| .lg-foot:hover{ color:#787b7e; border:1px solid #d4d4d4;} | ||||
| /****标签(和资源库的tag样式一致)***/ | ||||
| .project_Label{ width:220px; padding:10px; background:#fff; margin-top:10px;  padding-top:5px; margin-bottom:10px;} | ||||
| a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;} | ||||
| .submit{height:21px;border:0; cursor:pointer; background:url(../images/btn.png) no-repeat  0 0;width:42px; margin-top:2px; margin-left:3px; } | ||||
| .isTxt{background:#fbfbfb url(../images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;} | ||||
| .re_tag{ width: auto; padding:0 5px; padding-top:2px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px; word-wrap: break-word;word-break: break-all  } | ||||
| .re_tag a{ color:#0d90c3;} | ||||
| .tag_h{ } | ||||
| .tag_h span,.tag_h a{ margin-bottom:5px;} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -1,67 +1,67 @@ | ||||
| .topbar_info02{ margin:5px 10px;width:480px;  } | ||||
| .topbar_info02 p{color: #7f7f7f;} | ||||
| .search{ margin-top:8px; float:right; margin-right:5px;} | ||||
| /*信息*/ | ||||
| .project_info{ background:#fff; padding:10px; padding-right:0px;width:222px;  padding-right:8px; margin-bottom:10px;} | ||||
| .pr_info_id{ width:137px; color:#5a5a5a; font-size:14px; margin-top:5px;} | ||||
| .pr_info_logo{ border:1px solid  #eaeaea; width:60px; height:60px; padding:1px;} | ||||
| .pr_info_logo:hover{ border:1px solid #64bdd9; } | ||||
| .pr_info_join{} | ||||
| a.pr_join_a{  color:#fff; display:block; padding:0 5px 0 3px; padding-top:2px; height:20px; margin-right:5px; float:left;  text-align:center; background-color:#64bdd9; float:left; } | ||||
| a:hover.pr_join_a{ background:#41a8c8;} | ||||
| .pr_join_span{color: #fff; display:block; padding:0 5px; padding-top:2px; height:20px; margin-right:5px; float:left;  text-align:center; background: #CCC;} | ||||
| .pr_setting{ display:block; background:url(../images/leftside.png) -1px 0 no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_copy{ display:block; background:url(../images/leftside.png) -1px -23px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_close{ display:block; background:url(../images/leftside.png) -1px -49px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_add{display:block; background:url(../images/leftside.png) 0px -71px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_arrow{display:block; background:url(../images/leftside.png) 0px -90px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_info_name{ color:#3e4040; font-size:14px;  line-height:1.5;} | ||||
| .pr_info_name:hover{ color:#3ca5c6;} | ||||
| .pr_info_score{ font-size:14px; color:#3e4040; } | ||||
| .pr_info_score a{ color:#ff7143;} | ||||
| .pr_info_score a:hover{ color:#64bdd9;} | ||||
| 
 | ||||
| .img_private{ background:url(../images/new_project/img_project.png) 0 0 no-repeat; width:33px; height:16px; color:#fff; font-size:12px; padding-left:7px;  } | ||||
| /*.img_private{ background:url(../images/project/img_project.png) 0 0 no-repeat; width:33px; height:16px; color:#fff; font-size:12px; padding-left:7px;  }*/ | ||||
| .info_foot_num{  color:#3ca5c6;  } | ||||
| .pr_info_foot{ color:#7f7f7f; margin-top:5px; } | ||||
| .info_foot_num:hover{  color:#2390b2;} | ||||
| .info_box{background:#fff; padding:10px;width:220px; } | ||||
| .info_box ul li{ font-size:12px; color: #3e4040; line-height:1.7;} | ||||
| 
 | ||||
| /*左侧导航*/ | ||||
| .subNavBox{width:240px; background:#fff;margin:10px 10px 0 0;} | ||||
| .subNav{border-bottom:solid 1px #e5e3da;cursor:auto;font-weight:bold;font-size:14px;color:#3ca5c6; height:26px;padding-left:10px;background-color:#fff; padding-top:2px;} | ||||
| .subNav_jiantou{background:url(../images/jiantou1.jpg) no-repeat;background-position:95% 50%; background-color:#fff;} | ||||
| .subNav_jiantou:hover{color:#0781b4;  } | ||||
| .currentDd{color:#0781b4;} | ||||
| .currentDt{background-color:#fff;} | ||||
| .navContent{display: none;border-bottom:solid 1px #e5e3da; } | ||||
| .navContent li a{display:block;width:240px;heigh:28px;text-align:center;font-size:12px;line-height:28px;color:#333} | ||||
| .navContent li a:hover{color:#fff;background-color:#b3e0ee} | ||||
| a.subnav_num{ font-weight:normal; color:#ff7143; font-size:12px;} | ||||
| a.subnav_green{ background:#28be6c; color:#fff; font-size:12px; font-weight:normal;height:18px; padding:0px 5px; padding-top:2px; display:block; margin-top:2px; margin-bottom:5px;  float:right; margin-right:5px;} | ||||
| a:hover.subnav_green{ background:#14ad5a;} | ||||
| 
 | ||||
| 
 | ||||
| /*简介*/ | ||||
| .project_intro{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px; color:#6d6d6d; line-height:1.9;} | ||||
| .course_description{max-height: 420px;overflow:hidden; word-break: break-all;word-wrap: break-word;line-height: 20px;} | ||||
| .course_description_none{max-height: none;} | ||||
| .lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;} | ||||
| .lg-foot:hover{ color:#787b7e; border:1px solid #d4d4d4;} | ||||
| /****标签(和资源库的tag样式一致)***/ | ||||
| .project_Label{ width:220px; padding:10px; background:#fff; margin-top:10px;  padding-top:5px; margin-bottom:10px;} | ||||
| a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;} | ||||
| .submit{height:21px;border:0; cursor:pointer; background:url(../images/btn.png) no-repeat  0 0;width:42px; margin-top:2px; margin-left:3px; } | ||||
| .isTxt{background:#fbfbfb url(../images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;} | ||||
| .re_tag{ width: auto; padding:0 5px; padding-top:2px; height:20px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px;  } | ||||
| .re_tag a{ color:#0d90c3;} | ||||
| .tag_h{ } | ||||
| .tag_h span,.tag_h a{ margin-bottom:5px;} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| .topbar_info02{ margin:5px 10px;width:480px;  } | ||||
| .topbar_info02 p{color: #7f7f7f;} | ||||
| .search{ margin-top:8px; float:right; margin-right:5px;} | ||||
| /*信息*/ | ||||
| .project_info{ background:#fff; padding:10px; padding-right:0px;width:222px;  padding-right:8px; margin-bottom:10px;} | ||||
| .pr_info_id{ width:137px; color:#5a5a5a; font-size:14px; margin-top:5px;} | ||||
| .pr_info_logo{ border:1px solid  #eaeaea; width:60px; height:60px; padding:1px;} | ||||
| .pr_info_logo:hover{ border:1px solid #64bdd9; } | ||||
| .pr_info_join{} | ||||
| a.pr_join_a{  color:#fff; display:block; padding:0 5px 0 3px; padding-top:2px; height:20px; margin-right:5px; float:left;  text-align:center; background-color:#64bdd9; float:left; } | ||||
| a:hover.pr_join_a{ background:#41a8c8;} | ||||
| .pr_join_span{color: #fff; display:block; padding:0 5px; padding-top:2px; height:20px; margin-right:5px; float:left;  text-align:center; background: #CCC;} | ||||
| .pr_setting{ display:block; background:url(../images/leftside.png) -1px 0 no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_copy{ display:block; background:url(../images/leftside.png) -1px -23px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_close{ display:block; background:url(../images/leftside.png) -1px -49px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_add{display:block; background:url(../images/leftside.png) 0px -71px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_arrow{display:block; background:url(../images/leftside.png) 0px -90px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_info_name{ color:#3e4040; font-size:14px;  line-height:1.5;} | ||||
| .pr_info_name:hover{ color:#3ca5c6;} | ||||
| .pr_info_score{ font-size:14px; color:#3e4040; } | ||||
| .pr_info_score a{ color:#ff7143;} | ||||
| .pr_info_score a:hover{ color:#64bdd9;} | ||||
| 
 | ||||
| .img_private{ background:url(../images/new_project/img_project.png) 0 0 no-repeat; width:33px; height:16px; color:#fff; font-size:12px; padding-left:7px;  } | ||||
| /*.img_private{ background:url(../images/project/img_project.png) 0 0 no-repeat; width:33px; height:16px; color:#fff; font-size:12px; padding-left:7px;  }*/ | ||||
| .info_foot_num{  color:#3ca5c6;  } | ||||
| .pr_info_foot{ color:#7f7f7f; margin-top:5px; } | ||||
| .info_foot_num:hover{  color:#2390b2;} | ||||
| .info_box{background:#fff; padding:10px;width:220px; } | ||||
| .info_box ul li{ font-size:12px; color: #3e4040; line-height:1.7;} | ||||
| 
 | ||||
| /*左侧导航*/ | ||||
| .subNavBox{width:240px; background:#fff;margin:10px 10px 0 0;} | ||||
| .subNav{border-bottom:solid 1px #e5e3da;cursor:auto;font-weight:bold;font-size:14px;color:#3ca5c6; height:26px;padding-left:10px;background-color:#fff; padding-top:2px;} | ||||
| .subNav_jiantou{background:url(../images/jiantou1.jpg) no-repeat;background-position:95% 50%; background-color:#fff;} | ||||
| .subNav_jiantou:hover{color:#0781b4;  } | ||||
| .currentDd{color:#0781b4;} | ||||
| .currentDt{background-color:#fff;} | ||||
| .navContent{display: none;border-bottom:solid 1px #e5e3da; } | ||||
| .navContent li a{display:block;width:240px;heigh:28px;text-align:center;font-size:12px;line-height:28px;color:#333} | ||||
| .navContent li a:hover{color:#fff;background-color:#b3e0ee} | ||||
| a.subnav_num{ font-weight:normal; color:#ff7143; font-size:12px;} | ||||
| a.subnav_green{ background:#28be6c; color:#fff; font-size:12px; font-weight:normal;height:18px; padding:0px 5px; padding-top:2px; display:block; margin-top:2px; margin-bottom:5px;  float:right; margin-right:5px;} | ||||
| a:hover.subnav_green{ background:#14ad5a;} | ||||
| 
 | ||||
| 
 | ||||
| /*简介*/ | ||||
| .project_intro{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px; color:#6d6d6d; line-height:1.9;} | ||||
| .course_description{max-height: 420px;overflow:hidden; word-break: break-all;word-wrap: break-word;line-height: 20px;} | ||||
| .course_description_none{max-height: none;} | ||||
| .lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;} | ||||
| .lg-foot:hover{ color:#787b7e; border:1px solid #d4d4d4;} | ||||
| /****标签(和资源库的tag样式一致)***/ | ||||
| .project_Label{ width:220px; padding:10px; background:#fff; margin-top:10px;  padding-top:5px; margin-bottom:10px;} | ||||
| a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;} | ||||
| .submit{height:21px;border:0; cursor:pointer; background:url(../images/btn.png) no-repeat  0 0;width:42px; margin-top:2px; margin-left:3px; } | ||||
| .isTxt{background:#fbfbfb url(../images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;} | ||||
| .re_tag{ width: auto; padding:0 5px; padding-top:2px; height:20px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px;  } | ||||
| .re_tag a{ color:#0d90c3;} | ||||
| .tag_h{ } | ||||
| .tag_h span,.tag_h a{ margin-bottom:5px;} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -1,88 +1,88 @@ | ||||
| /* Pretty printing styles. Used with prettify.js. */ | ||||
| 
 | ||||
| /* SPAN elements with the classes below are added by prettyprint. */ | ||||
| .pln { color: #000 }  /* plain text */ | ||||
| 
 | ||||
| @media screen { | ||||
|   .str { color: #080 }  /* string content */ | ||||
|   .kwd { color: #008 }  /* a keyword */ | ||||
|   .com { color: #800 }  /* a comment */ | ||||
|   .typ { color: #606 }  /* a type name */ | ||||
|   .lit { color: #066 }  /* a literal value */ | ||||
|   /* punctuation, lisp open bracket, lisp close bracket */ | ||||
|   .pun, .opn, .clo { color: #660 } | ||||
|   .tag { color: #008 }  /* a markup tag name */ | ||||
|   .atn { color: #606 }  /* a markup attribute name */ | ||||
|   .atv { color: #080 }  /* a markup attribute value */ | ||||
|   .dec, .var { color: #606 }  /* a declaration; a variable name */ | ||||
|   .fun { color: red }  /* a function name */ | ||||
| } | ||||
| 
 | ||||
| /* Use higher contrast and text-weight for printable form. */ | ||||
| @media print, projection { | ||||
|   .str { color: #060 } | ||||
|   .kwd { color: #006; font-weight: bold } | ||||
|   .com { color: #600; font-style: italic } | ||||
|   .typ { color: #404; font-weight: bold } | ||||
|   .lit { color: #044 } | ||||
|   .pun, .opn, .clo { color: #440 } | ||||
|   .tag { color: #006; font-weight: bold } | ||||
|   .atn { color: #404 } | ||||
|   .atv { color: #060 } | ||||
| } | ||||
| 
 | ||||
| /* Put a border around prettyprinted code snippets. */ | ||||
| pre.prettyprint { padding: 2px; | ||||
|     border-left:30px solid #ccc; | ||||
|     border-bottom: 1px solid #ccc; | ||||
|     border-right: 1px solid #ccc, | ||||
|     border-top: 1px solid #ccc } | ||||
| 
 | ||||
| pre li,ul,ol { | ||||
|     list-style-type: decimal; | ||||
| } | ||||
| 
 | ||||
| /* Specify class=linenums on a pre to get line numbering */ | ||||
| ol.linenums { margin-top: 0; margin-bottom: 0;line-height: 15px;margin-left: 0px !important; } /* IE indents via margin-left */ | ||||
| /*.list_style ol li {*/ | ||||
|     /*list-style-type: decimal;*/ | ||||
|     /*margin-left: 10px !important;*/ | ||||
| /*}*/ | ||||
| .linenums li { | ||||
|     margin-left: 5px !important; | ||||
| } | ||||
| li.L0, | ||||
| li.L1, | ||||
| li.L2, | ||||
| li.L3, | ||||
| li.L5, | ||||
| li.L6, | ||||
| li.L7, | ||||
| li.L8 { list-style-type: decimal; } | ||||
| /* Alternate shading for lines */ | ||||
| li.L1, | ||||
| li.L3, | ||||
| li.L5, | ||||
| li.L7, | ||||
| li.L9 { background: #eee } | ||||
| 
 | ||||
| .prettyprint *{font-family:'courier new',monospace;} | ||||
| /*.prettyprint .com { color: #93a1a1; }*/ | ||||
| /*.prettyprint .lit { color: #AE81FF; }*/ | ||||
| /*.prettyprint .pun,*/ | ||||
| /*.prettyprint .opn,*/ | ||||
| /*.prettyprint .clo { color: #F8F8F2; }*/ | ||||
| /*.prettyprint .fun { color: #dc322f; }*/ | ||||
| /*.prettyprint .str,*/ | ||||
| /*.prettyprint .atv { color: #E6DB74; }*/ | ||||
| /*.prettyprint .kwd,*/ | ||||
| /*.prettyprint .tag { color: #F92659; }*/ | ||||
| /*.prettyprint .typ,*/ | ||||
| /*.prettyprint .atn,*/ | ||||
| /*.prettyprint .dec,*/ | ||||
| /*.prettyprint .var { color: #A6E22E; }*/ | ||||
| /*.prettyprint .pln { color: #66D9EF; }*/ | ||||
| .memo-content pre { | ||||
|     white-space:pre !important; | ||||
|     word-wrap: break-word; | ||||
| /* Pretty printing styles. Used with prettify.js. */ | ||||
| 
 | ||||
| /* SPAN elements with the classes below are added by prettyprint. */ | ||||
| .pln { color: #000 }  /* plain text */ | ||||
| 
 | ||||
| @media screen { | ||||
|   .str { color: #080 }  /* string content */ | ||||
|   .kwd { color: #008 }  /* a keyword */ | ||||
|   .com { color: #800 }  /* a comment */ | ||||
|   .typ { color: #606 }  /* a type name */ | ||||
|   .lit { color: #066 }  /* a literal value */ | ||||
|   /* punctuation, lisp open bracket, lisp close bracket */ | ||||
|   .pun, .opn, .clo { color: #660 } | ||||
|   .tag { color: #008 }  /* a markup tag name */ | ||||
|   .atn { color: #606 }  /* a markup attribute name */ | ||||
|   .atv { color: #080 }  /* a markup attribute value */ | ||||
|   .dec, .var { color: #606 }  /* a declaration; a variable name */ | ||||
|   .fun { color: red }  /* a function name */ | ||||
| } | ||||
| 
 | ||||
| /* Use higher contrast and text-weight for printable form. */ | ||||
| @media print, projection { | ||||
|   .str { color: #060 } | ||||
|   .kwd { color: #006; font-weight: bold } | ||||
|   .com { color: #600; font-style: italic } | ||||
|   .typ { color: #404; font-weight: bold } | ||||
|   .lit { color: #044 } | ||||
|   .pun, .opn, .clo { color: #440 } | ||||
|   .tag { color: #006; font-weight: bold } | ||||
|   .atn { color: #404 } | ||||
|   .atv { color: #060 } | ||||
| } | ||||
| 
 | ||||
| /* Put a border around prettyprinted code snippets. */ | ||||
| pre.prettyprint { padding: 2px; | ||||
|     border-left:30px solid #ccc; | ||||
|     border-bottom: 1px solid #ccc; | ||||
|     border-right: 1px solid #ccc, | ||||
|     border-top: 1px solid #ccc } | ||||
| 
 | ||||
| pre li,ul,ol { | ||||
|     list-style-type: decimal; | ||||
| } | ||||
| 
 | ||||
| /* Specify class=linenums on a pre to get line numbering */ | ||||
| ol.linenums { margin-top: 0; margin-bottom: 0;line-height: 15px;margin-left: 0px !important; } /* IE indents via margin-left */ | ||||
| /*.list_style ol li {*/ | ||||
|     /*list-style-type: decimal;*/ | ||||
|     /*margin-left: 10px !important;*/ | ||||
| /*}*/ | ||||
| .linenums li { | ||||
|     margin-left: 5px !important; | ||||
| } | ||||
| li.L0, | ||||
| li.L1, | ||||
| li.L2, | ||||
| li.L3, | ||||
| li.L5, | ||||
| li.L6, | ||||
| li.L7, | ||||
| li.L8 { list-style-type: decimal; } | ||||
| /* Alternate shading for lines */ | ||||
| li.L1, | ||||
| li.L3, | ||||
| li.L5, | ||||
| li.L7, | ||||
| li.L9 { background: #eee } | ||||
| 
 | ||||
| .prettyprint *{font-family:'courier new',monospace;} | ||||
| /*.prettyprint .com { color: #93a1a1; }*/ | ||||
| /*.prettyprint .lit { color: #AE81FF; }*/ | ||||
| /*.prettyprint .pun,*/ | ||||
| /*.prettyprint .opn,*/ | ||||
| /*.prettyprint .clo { color: #F8F8F2; }*/ | ||||
| /*.prettyprint .fun { color: #dc322f; }*/ | ||||
| /*.prettyprint .str,*/ | ||||
| /*.prettyprint .atv { color: #E6DB74; }*/ | ||||
| /*.prettyprint .kwd,*/ | ||||
| /*.prettyprint .tag { color: #F92659; }*/ | ||||
| /*.prettyprint .typ,*/ | ||||
| /*.prettyprint .atn,*/ | ||||
| /*.prettyprint .dec,*/ | ||||
| /*.prettyprint .var { color: #A6E22E; }*/ | ||||
| /*.prettyprint .pln { color: #66D9EF; }*/ | ||||
| .memo-content pre { | ||||
|     white-space:pre !important; | ||||
|     word-wrap: break-word; | ||||
| } | ||||
											
												
													File diff suppressed because it is too large
													Load Diff
												
											
										
									
								| @ -1,290 +1,290 @@ | ||||
| .git_usr_title{ | ||||
|     margin: 0px; | ||||
|     overflow: hidden; | ||||
|     font-size: 18px; | ||||
|     font-weight: bold; | ||||
|     text-overflow: ellipsis; | ||||
|     vertical-align: top; | ||||
|     white-space: nowrap; | ||||
|     padding: 0px 10px; | ||||
| } | ||||
| .overall-summary{ | ||||
|     position: relative; | ||||
|     margin-bottom: 10px; | ||||
|     border: 1px solid #DDD; | ||||
|     border-radius: 3px; | ||||
| } | ||||
| .overall-summary .overall-summary-bottomless{ | ||||
|     margin-bottom: 0px; | ||||
|     border-bottom: 0px none; | ||||
|     border-radius: 3px 3px 0px 0px; | ||||
| } | ||||
| .stats-switcher-viewport{ | ||||
|     height: 38px; | ||||
|     overflow: hidden; | ||||
| } | ||||
| .stats-switcher-viewport .stats-switcher-wrapper{ | ||||
|     position: relative; | ||||
|     top: 0px; | ||||
|     transition: top 0.25s ease-in-out 0s; | ||||
| } | ||||
| .numbers-summary{ | ||||
|     display: table; | ||||
|     width: 100%; | ||||
|     table-layout: fixed; | ||||
|     margin-top: 9px; | ||||
| } | ||||
| .numbers-summary li{ | ||||
|     display: table-cell; | ||||
|     padding: 0px; | ||||
|     margin: 0px; | ||||
|     text-align: center; | ||||
|     white-space: nowrap; | ||||
| } | ||||
| .numbers-summary .octicon { | ||||
|     color: #999; | ||||
| } | ||||
| .text-emphasized { | ||||
|     font-weight: bold; | ||||
|     color: #333; | ||||
| } | ||||
| .octicon .octicon-history { | ||||
|     font: 16px/1 octicons; | ||||
|     display: inline-block; | ||||
|     text-decoration: none; | ||||
|     text-rendering: auto; | ||||
|     -moz-user-select: none; | ||||
| } | ||||
| .select2-container { | ||||
|     margin: 0px; | ||||
|     position: relative; | ||||
|     display: inline-block; | ||||
|     vertical-align: middle; | ||||
| } | ||||
| 
 | ||||
| .select2-container .select2-choice { | ||||
|     display: block; | ||||
|     height: 26px; | ||||
|     padding: 0px 0px 0px 8px; | ||||
|     overflow: hidden; | ||||
|     position: relative; | ||||
|     border: 1px solid #AAA; | ||||
|     white-space: nowrap; | ||||
|     line-height: 26px; | ||||
|     color: #444; | ||||
|     text-decoration: none; | ||||
|     border-radius: 4px; | ||||
|     background-clip: padding-box; | ||||
|     -moz-user-select: none; | ||||
|     background-color: #FFF; | ||||
|     background-image: linear-gradient(to top, #EEE 0%, #FFF 50%); | ||||
| } | ||||
| .repository-title-dec{ | ||||
|     color: #fff !important; | ||||
| } | ||||
| .repository-url{ | ||||
|     color: #2D2D2D; | ||||
|     margin: auto 0px; | ||||
|     text-align: center; | ||||
|     font-size: 14px; | ||||
|     margin-bottom: 10px; | ||||
|     margin-top: 10px; | ||||
| } | ||||
| .center{ | ||||
|     text-align: center; | ||||
| } | ||||
| .light-well { | ||||
|     background: #F9F9F9 none repeat scroll 0% 0%; | ||||
|     padding: 15px; | ||||
| } | ||||
| .page-title { | ||||
|     margin-top: 0px; | ||||
|     line-height: 1.5; | ||||
|     font-weight: bold; | ||||
|     margin-bottom: 5px; | ||||
|     font-size: 18px; | ||||
| } | ||||
| /************* CodeRay styles *************/ | ||||
| .syntaxhl div {display: inline;} | ||||
| .syntaxhl .line-numbers {padding: 2px 4px 2px 4px; background-color: #eee; margin:0px 5px 0px 0px;} | ||||
| .syntaxhl .code pre { overflow: auto } | ||||
| .syntaxhl .debug { color: white !important; background: blue !important; } | ||||
| 
 | ||||
| .syntaxhl .annotation { color:#007 } | ||||
| .syntaxhl .attribute-name { color:#b48 } | ||||
| .syntaxhl .attribute-value { color:#700 } | ||||
| .syntaxhl .binary { color:#509 } | ||||
| .syntaxhl .char .content { color:#D20 } | ||||
| .syntaxhl .char .delimiter { color:#710 } | ||||
| .syntaxhl .char { color:#D20 } | ||||
| .syntaxhl .class { color:#258; font-weight:bold } | ||||
| .syntaxhl .class-variable { color:#369 } | ||||
| .syntaxhl .color { color:#0A0 } | ||||
| .syntaxhl .comment { color:#385 } | ||||
| .syntaxhl .comment .char { color:#385 } | ||||
| .syntaxhl .comment .delimiter { color:#385 } | ||||
| .syntaxhl .complex { color:#A08 } | ||||
| .syntaxhl .constant { color:#258; font-weight:bold } | ||||
| .syntaxhl .decorator { color:#B0B } | ||||
| .syntaxhl .definition { color:#099; font-weight:bold } | ||||
| .syntaxhl .delimiter { color:black } | ||||
| .syntaxhl .directive { color:#088; font-weight:bold } | ||||
| .syntaxhl .doc { color:#970 } | ||||
| .syntaxhl .doc-string { color:#D42; font-weight:bold } | ||||
| .syntaxhl .doctype { color:#34b } | ||||
| .syntaxhl .entity { color:#800; font-weight:bold } | ||||
| .syntaxhl .error { color:#F00; background-color:#FAA } | ||||
| .syntaxhl .escape  { color:#666 } | ||||
| .syntaxhl .exception { color:#C00; font-weight:bold } | ||||
| .syntaxhl .float { color:#06D } | ||||
| .syntaxhl .function { color:#06B; font-weight:bold } | ||||
| .syntaxhl .global-variable { color:#d70 } | ||||
| .syntaxhl .hex { color:#02b } | ||||
| .syntaxhl .imaginary { color:#f00 } | ||||
| .syntaxhl .include { color:#B44; font-weight:bold } | ||||
| .syntaxhl .inline { background-color: hsla(0,0%,0%,0.07); color: black } | ||||
| .syntaxhl .inline-delimiter { font-weight: bold; color: #666 } | ||||
| .syntaxhl .instance-variable { color:#33B } | ||||
| .syntaxhl .integer  { color:#06D } | ||||
| .syntaxhl .key .char { color: #60f } | ||||
| .syntaxhl .key .delimiter { color: #404 } | ||||
| .syntaxhl .key { color: #606 } | ||||
| .syntaxhl .keyword { color:#939; font-weight:bold } | ||||
| .syntaxhl .label { color:#970; font-weight:bold } | ||||
| .syntaxhl .local-variable { color:#963 } | ||||
| .syntaxhl .namespace { color:#707; font-weight:bold } | ||||
| .syntaxhl .octal { color:#40E } | ||||
| .syntaxhl .operator { } | ||||
| .syntaxhl .predefined { color:#369; font-weight:bold } | ||||
| .syntaxhl .predefined-constant { color:#069 } | ||||
| .syntaxhl .predefined-type { color:#0a5; font-weight:bold } | ||||
| .syntaxhl .preprocessor { color:#579 } | ||||
| .syntaxhl .pseudo-class { color:#00C; font-weight:bold } | ||||
| .syntaxhl .regexp .content { color:#808 } | ||||
| .syntaxhl .regexp .delimiter { color:#404 } | ||||
| .syntaxhl .regexp .modifier { color:#C2C } | ||||
| .syntaxhl .regexp { background-color:hsla(300,100%,50%,0.06); } | ||||
| .syntaxhl .reserved { color:#080; font-weight:bold } | ||||
| .syntaxhl .shell .content { color:#2B2 } | ||||
| .syntaxhl .shell .delimiter { color:#161 } | ||||
| .syntaxhl .shell { background-color:hsla(120,100%,50%,0.06); } | ||||
| .syntaxhl .string .char { color: #46a } | ||||
| .syntaxhl .string .content { color: #46a } | ||||
| .syntaxhl .string .delimiter { color: #46a } | ||||
| .syntaxhl .string .modifier { color: #46a } | ||||
| .syntaxhl .symbol .content { color:#d33 } | ||||
| .syntaxhl .symbol .delimiter { color:#d33 } | ||||
| .syntaxhl .symbol { color:#d33 } | ||||
| .syntaxhl .tag { color:#070 } | ||||
| .syntaxhl .type { color:#339; font-weight:bold } | ||||
| .syntaxhl .value { color: #088; } | ||||
| .syntaxhl .variable  { color:#037 } | ||||
| 
 | ||||
| .syntaxhl .insert { background: hsla(120,100%,50%,0.12) } | ||||
| .syntaxhl .delete { background: hsla(0,100%,50%,0.12) } | ||||
| .syntaxhl .change { color: #bbf; background: #007; } | ||||
| .syntaxhl .head { color: #f8f; background: #505 } | ||||
| .syntaxhl .head .filename { color: white; } | ||||
| 
 | ||||
| .syntaxhl .delete .eyecatcher { background-color: hsla(0,100%,50%,0.2); border: 1px solid hsla(0,100%,45%,0.5); margin: -1px; border-bottom: none; border-top-left-radius: 5px; border-top-right-radius: 5px; } | ||||
| .syntaxhl .insert .eyecatcher { background-color: hsla(120,100%,50%,0.2); border: 1px solid hsla(120,100%,25%,0.5); margin: -1px; border-top: none; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } | ||||
| 
 | ||||
| .syntaxhl .insert .insert { color: #0c0; background:transparent; font-weight:bold } | ||||
| .syntaxhl .delete .delete { color: #c00; background:transparent; font-weight:bold } | ||||
| .syntaxhl .change .change { color: #88f } | ||||
| .syntaxhl .head .head { color: #f4f } | ||||
| 
 | ||||
| /***** Media print specific styles *****/ | ||||
| @media print { | ||||
|     #top-menu, #header, #main-menu, #sidebar, #footer, .contextual, .other-formats { display:none; } | ||||
|     #main { background: #fff; } | ||||
|     #content { width: 99%; margin: 0; padding: 0; border: 0; background: #fff; overflow: visible !important;} | ||||
|     #wiki_add_attachment { display:none; } | ||||
|     .hide-when-print { display: none; } | ||||
|     .autoscroll {overflow-x: visible;} | ||||
|     table.list {margin-top:0.5em;} | ||||
|     table.list th, table.list td {border: 1px solid #aaa;} | ||||
| } | ||||
| 
 | ||||
| .cloneUrl {width:235px; height:21px; border:1px solid #dddddd; outline:none; overflow:hidden; line-height:21px; resize:none;white-space:nowrap;} | ||||
| .cloneUrl2 {width:328px; height:21px; border:1px solid #dddddd; outline:none; overflow:hidden; line-height:21px; resize:none;white-space:nowrap;} | ||||
| .clone_btn {width:30px; height:21px; border-top:1px solid #dddddd; border-bottom:1px solid #dddddd; border-right:1px solid #dddddd; outline:none; float:left; background-image:linear-gradient(#FCFCFC, #EEE); text-align:center;} | ||||
| .vl_btn {height:21px; padding:0px 5px; vertical-align:middle; border:1px solid #dddddd; float:left; line-height:21px; background-image:linear-gradient(#FCFCFC, #EEE);} | ||||
| .vl_btn_2 {height:21px; padding:0px 5px; vertical-align:middle; border-top:1px solid #dddddd; border-bottom:1px solid #dddddd; border-right:1px solid #dddddd; float:left; line-height:21px;} | ||||
| .recordBanner {width:670px; height:30px; background-color:#f1f1f1; color:#666666; line-height:30px; vertical-align:middle;} | ||||
| .vl_copy {background:url(../images/vlicon/clone_url.png) 0px 0px no-repeat; padding-left:22px;} | ||||
| .vl_copy2 {background:url(../images/vlicon/clone_url.png) 0px 0px no-repeat; padding-left:22px;} | ||||
| .vl_zip {background:url(../images/vlicon/download_icon.png) 0px 0px no-repeat; padding-left:22px;} | ||||
| .vl_fork {background:url(../images/vlicon/fork_icon.png) 0px -2px no-repeat; padding-left:22px;} | ||||
| .vl_commit {background:url(../images/vlicon/commit_icon.png) 0px -2px no-repeat; padding-left:22px;weight:20px;height: 24px;} | ||||
| .vl_branch {background:url(../images/vlicon/branch_icon.png) 0px -2px no-repeat; padding-left:22px} | ||||
| .mt1 {margin-top:1px;} | ||||
| .mt2 {margin-top:2px;} | ||||
| .commit_content_dec{width: 200px;overflow: hidden; white-space: nowrap;text-overflow: ellipsis;} | ||||
| 
 | ||||
| /*提交信息列表*/ | ||||
| .col-md-10 { | ||||
|     width: 100%; | ||||
| } | ||||
| ul.bordered-list { | ||||
|     margin: 5px 0px; | ||||
|     padding: 0px; | ||||
| } | ||||
| ul.bordered-list li { | ||||
|     padding: 5px 0px; | ||||
|     border-bottom: 1px solid #EEE; | ||||
|     overflow: hidden; | ||||
|     display: block; | ||||
|     margin: 0px; | ||||
| } | ||||
| .commits-row ul li.commit { | ||||
|     padding: 8px 0px; | ||||
| } | ||||
| li.commit .commit-row-title { | ||||
|     font-size: 15px; | ||||
|     line-height: 20px; | ||||
|     margin-bottom: 2px; | ||||
| } | ||||
| li.commit .commit-row-title .str-truncated { | ||||
|     max-width: 70%; | ||||
| } | ||||
| .str-truncated { | ||||
|     display: inline-block; | ||||
|     overflow: hidden; | ||||
|     text-overflow: ellipsis; | ||||
|     vertical-align: top; | ||||
|     white-space: nowrap; | ||||
|     max-width: 82%; | ||||
| } | ||||
| li.commit .commit-row-title .commit-row-message { | ||||
|     color: #444; | ||||
| } | ||||
| .pull-right { | ||||
|     float: right; | ||||
|     color: #777; | ||||
| } | ||||
| li.commit .commit-row-title .commit_short_id { | ||||
|     min-width: 65px; | ||||
|     font-family: "Menlo","Liberation Mono","Consolas","DejaVu Sans Mono","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; | ||||
| } | ||||
| li.commit .commit-row-info { | ||||
|     color: #777; | ||||
|     line-height: 24px; | ||||
|     font-size: 13px; | ||||
| } | ||||
| li.commit .commit-row-info a { | ||||
|     color: #777; | ||||
| } | ||||
| li.commit .commit-row-info .committed_ago { | ||||
|     display: inline-block; | ||||
| } | ||||
| .rep_history_title{ | ||||
|     font-weight: bold; | ||||
|     font-size: 13px; | ||||
|     color: #7F7F7F; | ||||
|     padding-bottom: 10px; | ||||
| } | ||||
| .rep_history_grey{ | ||||
|     color: #7F7F7F; | ||||
| } | ||||
| .git_usr_title{ | ||||
|     margin: 0px; | ||||
|     overflow: hidden; | ||||
|     font-size: 18px; | ||||
|     font-weight: bold; | ||||
|     text-overflow: ellipsis; | ||||
|     vertical-align: top; | ||||
|     white-space: nowrap; | ||||
|     padding: 0px 10px; | ||||
| } | ||||
| .overall-summary{ | ||||
|     position: relative; | ||||
|     margin-bottom: 10px; | ||||
|     border: 1px solid #DDD; | ||||
|     border-radius: 3px; | ||||
| } | ||||
| .overall-summary .overall-summary-bottomless{ | ||||
|     margin-bottom: 0px; | ||||
|     border-bottom: 0px none; | ||||
|     border-radius: 3px 3px 0px 0px; | ||||
| } | ||||
| .stats-switcher-viewport{ | ||||
|     height: 38px; | ||||
|     overflow: hidden; | ||||
| } | ||||
| .stats-switcher-viewport .stats-switcher-wrapper{ | ||||
|     position: relative; | ||||
|     top: 0px; | ||||
|     transition: top 0.25s ease-in-out 0s; | ||||
| } | ||||
| .numbers-summary{ | ||||
|     display: table; | ||||
|     width: 100%; | ||||
|     table-layout: fixed; | ||||
|     margin-top: 9px; | ||||
| } | ||||
| .numbers-summary li{ | ||||
|     display: table-cell; | ||||
|     padding: 0px; | ||||
|     margin: 0px; | ||||
|     text-align: center; | ||||
|     white-space: nowrap; | ||||
| } | ||||
| .numbers-summary .octicon { | ||||
|     color: #999; | ||||
| } | ||||
| .text-emphasized { | ||||
|     font-weight: bold; | ||||
|     color: #333; | ||||
| } | ||||
| .octicon .octicon-history { | ||||
|     font: 16px/1 octicons; | ||||
|     display: inline-block; | ||||
|     text-decoration: none; | ||||
|     text-rendering: auto; | ||||
|     -moz-user-select: none; | ||||
| } | ||||
| .select2-container { | ||||
|     margin: 0px; | ||||
|     position: relative; | ||||
|     display: inline-block; | ||||
|     vertical-align: middle; | ||||
| } | ||||
| 
 | ||||
| .select2-container .select2-choice { | ||||
|     display: block; | ||||
|     height: 26px; | ||||
|     padding: 0px 0px 0px 8px; | ||||
|     overflow: hidden; | ||||
|     position: relative; | ||||
|     border: 1px solid #AAA; | ||||
|     white-space: nowrap; | ||||
|     line-height: 26px; | ||||
|     color: #444; | ||||
|     text-decoration: none; | ||||
|     border-radius: 4px; | ||||
|     background-clip: padding-box; | ||||
|     -moz-user-select: none; | ||||
|     background-color: #FFF; | ||||
|     background-image: linear-gradient(to top, #EEE 0%, #FFF 50%); | ||||
| } | ||||
| .repository-title-dec{ | ||||
|     color: #fff !important; | ||||
| } | ||||
| .repository-url{ | ||||
|     color: #2D2D2D; | ||||
|     margin: auto 0px; | ||||
|     text-align: center; | ||||
|     font-size: 14px; | ||||
|     margin-bottom: 10px; | ||||
|     margin-top: 10px; | ||||
| } | ||||
| .center{ | ||||
|     text-align: center; | ||||
| } | ||||
| .light-well { | ||||
|     background: #F9F9F9 none repeat scroll 0% 0%; | ||||
|     padding: 15px; | ||||
| } | ||||
| .page-title { | ||||
|     margin-top: 0px; | ||||
|     line-height: 1.5; | ||||
|     font-weight: bold; | ||||
|     margin-bottom: 5px; | ||||
|     font-size: 18px; | ||||
| } | ||||
| /************* CodeRay styles *************/ | ||||
| .syntaxhl div {display: inline;} | ||||
| .syntaxhl .line-numbers {padding: 2px 4px 2px 4px; background-color: #eee; margin:0px 5px 0px 0px;} | ||||
| .syntaxhl .code pre { overflow: auto } | ||||
| .syntaxhl .debug { color: white !important; background: blue !important; } | ||||
| 
 | ||||
| .syntaxhl .annotation { color:#007 } | ||||
| .syntaxhl .attribute-name { color:#b48 } | ||||
| .syntaxhl .attribute-value { color:#700 } | ||||
| .syntaxhl .binary { color:#509 } | ||||
| .syntaxhl .char .content { color:#D20 } | ||||
| .syntaxhl .char .delimiter { color:#710 } | ||||
| .syntaxhl .char { color:#D20 } | ||||
| .syntaxhl .class { color:#258; font-weight:bold } | ||||
| .syntaxhl .class-variable { color:#369 } | ||||
| .syntaxhl .color { color:#0A0 } | ||||
| .syntaxhl .comment { color:#385 } | ||||
| .syntaxhl .comment .char { color:#385 } | ||||
| .syntaxhl .comment .delimiter { color:#385 } | ||||
| .syntaxhl .complex { color:#A08 } | ||||
| .syntaxhl .constant { color:#258; font-weight:bold } | ||||
| .syntaxhl .decorator { color:#B0B } | ||||
| .syntaxhl .definition { color:#099; font-weight:bold } | ||||
| .syntaxhl .delimiter { color:black } | ||||
| .syntaxhl .directive { color:#088; font-weight:bold } | ||||
| .syntaxhl .doc { color:#970 } | ||||
| .syntaxhl .doc-string { color:#D42; font-weight:bold } | ||||
| .syntaxhl .doctype { color:#34b } | ||||
| .syntaxhl .entity { color:#800; font-weight:bold } | ||||
| .syntaxhl .error { color:#F00; background-color:#FAA } | ||||
| .syntaxhl .escape  { color:#666 } | ||||
| .syntaxhl .exception { color:#C00; font-weight:bold } | ||||
| .syntaxhl .float { color:#06D } | ||||
| .syntaxhl .function { color:#06B; font-weight:bold } | ||||
| .syntaxhl .global-variable { color:#d70 } | ||||
| .syntaxhl .hex { color:#02b } | ||||
| .syntaxhl .imaginary { color:#f00 } | ||||
| .syntaxhl .include { color:#B44; font-weight:bold } | ||||
| .syntaxhl .inline { background-color: hsla(0,0%,0%,0.07); color: black } | ||||
| .syntaxhl .inline-delimiter { font-weight: bold; color: #666 } | ||||
| .syntaxhl .instance-variable { color:#33B } | ||||
| .syntaxhl .integer  { color:#06D } | ||||
| .syntaxhl .key .char { color: #60f } | ||||
| .syntaxhl .key .delimiter { color: #404 } | ||||
| .syntaxhl .key { color: #606 } | ||||
| .syntaxhl .keyword { color:#939; font-weight:bold } | ||||
| .syntaxhl .label { color:#970; font-weight:bold } | ||||
| .syntaxhl .local-variable { color:#963 } | ||||
| .syntaxhl .namespace { color:#707; font-weight:bold } | ||||
| .syntaxhl .octal { color:#40E } | ||||
| .syntaxhl .operator { } | ||||
| .syntaxhl .predefined { color:#369; font-weight:bold } | ||||
| .syntaxhl .predefined-constant { color:#069 } | ||||
| .syntaxhl .predefined-type { color:#0a5; font-weight:bold } | ||||
| .syntaxhl .preprocessor { color:#579 } | ||||
| .syntaxhl .pseudo-class { color:#00C; font-weight:bold } | ||||
| .syntaxhl .regexp .content { color:#808 } | ||||
| .syntaxhl .regexp .delimiter { color:#404 } | ||||
| .syntaxhl .regexp .modifier { color:#C2C } | ||||
| .syntaxhl .regexp { background-color:hsla(300,100%,50%,0.06); } | ||||
| .syntaxhl .reserved { color:#080; font-weight:bold } | ||||
| .syntaxhl .shell .content { color:#2B2 } | ||||
| .syntaxhl .shell .delimiter { color:#161 } | ||||
| .syntaxhl .shell { background-color:hsla(120,100%,50%,0.06); } | ||||
| .syntaxhl .string .char { color: #46a } | ||||
| .syntaxhl .string .content { color: #46a } | ||||
| .syntaxhl .string .delimiter { color: #46a } | ||||
| .syntaxhl .string .modifier { color: #46a } | ||||
| .syntaxhl .symbol .content { color:#d33 } | ||||
| .syntaxhl .symbol .delimiter { color:#d33 } | ||||
| .syntaxhl .symbol { color:#d33 } | ||||
| .syntaxhl .tag { color:#070 } | ||||
| .syntaxhl .type { color:#339; font-weight:bold } | ||||
| .syntaxhl .value { color: #088; } | ||||
| .syntaxhl .variable  { color:#037 } | ||||
| 
 | ||||
| .syntaxhl .insert { background: hsla(120,100%,50%,0.12) } | ||||
| .syntaxhl .delete { background: hsla(0,100%,50%,0.12) } | ||||
| .syntaxhl .change { color: #bbf; background: #007; } | ||||
| .syntaxhl .head { color: #f8f; background: #505 } | ||||
| .syntaxhl .head .filename { color: white; } | ||||
| 
 | ||||
| .syntaxhl .delete .eyecatcher { background-color: hsla(0,100%,50%,0.2); border: 1px solid hsla(0,100%,45%,0.5); margin: -1px; border-bottom: none; border-top-left-radius: 5px; border-top-right-radius: 5px; } | ||||
| .syntaxhl .insert .eyecatcher { background-color: hsla(120,100%,50%,0.2); border: 1px solid hsla(120,100%,25%,0.5); margin: -1px; border-top: none; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } | ||||
| 
 | ||||
| .syntaxhl .insert .insert { color: #0c0; background:transparent; font-weight:bold } | ||||
| .syntaxhl .delete .delete { color: #c00; background:transparent; font-weight:bold } | ||||
| .syntaxhl .change .change { color: #88f } | ||||
| .syntaxhl .head .head { color: #f4f } | ||||
| 
 | ||||
| /***** Media print specific styles *****/ | ||||
| @media print { | ||||
|     #top-menu, #header, #main-menu, #sidebar, #footer, .contextual, .other-formats { display:none; } | ||||
|     #main { background: #fff; } | ||||
|     #content { width: 99%; margin: 0; padding: 0; border: 0; background: #fff; overflow: visible !important;} | ||||
|     #wiki_add_attachment { display:none; } | ||||
|     .hide-when-print { display: none; } | ||||
|     .autoscroll {overflow-x: visible;} | ||||
|     table.list {margin-top:0.5em;} | ||||
|     table.list th, table.list td {border: 1px solid #aaa;} | ||||
| } | ||||
| 
 | ||||
| .cloneUrl {width:235px; height:21px; border:1px solid #dddddd; outline:none; overflow:hidden; line-height:21px; resize:none;white-space:nowrap;} | ||||
| .cloneUrl2 {width:328px; height:21px; border:1px solid #dddddd; outline:none; overflow:hidden; line-height:21px; resize:none;white-space:nowrap;} | ||||
| .clone_btn {width:30px; height:21px; border-top:1px solid #dddddd; border-bottom:1px solid #dddddd; border-right:1px solid #dddddd; outline:none; float:left; background-image:linear-gradient(#FCFCFC, #EEE); text-align:center;} | ||||
| .vl_btn {height:21px; padding:0px 5px; vertical-align:middle; border:1px solid #dddddd; float:left; line-height:21px; background-image:linear-gradient(#FCFCFC, #EEE);} | ||||
| .vl_btn_2 {height:21px; padding:0px 5px; vertical-align:middle; border-top:1px solid #dddddd; border-bottom:1px solid #dddddd; border-right:1px solid #dddddd; float:left; line-height:21px;} | ||||
| .recordBanner {width:670px; height:30px; background-color:#f1f1f1; color:#666666; line-height:30px; vertical-align:middle;} | ||||
| .vl_copy {background:url(../images/vlicon/clone_url.png) 0px 0px no-repeat; padding-left:22px;} | ||||
| .vl_copy2 {background:url(../images/vlicon/clone_url.png) 0px 0px no-repeat; padding-left:22px;} | ||||
| .vl_zip {background:url(../images/vlicon/download_icon.png) 0px 0px no-repeat; padding-left:22px;} | ||||
| .vl_fork {background:url(../images/vlicon/fork_icon.png) 0px -2px no-repeat; padding-left:22px;} | ||||
| .vl_commit {background:url(../images/vlicon/commit_icon.png) 0px -2px no-repeat; padding-left:22px;weight:20px;height: 24px;} | ||||
| .vl_branch {background:url(../images/vlicon/branch_icon.png) 0px -2px no-repeat; padding-left:22px} | ||||
| .mt1 {margin-top:1px;} | ||||
| .mt2 {margin-top:2px;} | ||||
| .commit_content_dec{width: 200px;overflow: hidden; white-space: nowrap;text-overflow: ellipsis;} | ||||
| 
 | ||||
| /*提交信息列表*/ | ||||
| .col-md-10 { | ||||
|     width: 100%; | ||||
| } | ||||
| ul.bordered-list { | ||||
|     margin: 5px 0px; | ||||
|     padding: 0px; | ||||
| } | ||||
| ul.bordered-list li { | ||||
|     padding: 5px 0px; | ||||
|     border-bottom: 1px solid #EEE; | ||||
|     overflow: hidden; | ||||
|     display: block; | ||||
|     margin: 0px; | ||||
| } | ||||
| .commits-row ul li.commit { | ||||
|     padding: 8px 0px; | ||||
| } | ||||
| li.commit .commit-row-title { | ||||
|     font-size: 15px; | ||||
|     line-height: 20px; | ||||
|     margin-bottom: 2px; | ||||
| } | ||||
| li.commit .commit-row-title .str-truncated { | ||||
|     max-width: 70%; | ||||
| } | ||||
| .str-truncated { | ||||
|     display: inline-block; | ||||
|     overflow: hidden; | ||||
|     text-overflow: ellipsis; | ||||
|     vertical-align: top; | ||||
|     white-space: nowrap; | ||||
|     max-width: 82%; | ||||
| } | ||||
| li.commit .commit-row-title .commit-row-message { | ||||
|     color: #444; | ||||
| } | ||||
| .pull-right { | ||||
|     float: right; | ||||
|     color: #777; | ||||
| } | ||||
| li.commit .commit-row-title .commit_short_id { | ||||
|     min-width: 65px; | ||||
|     font-family: "Menlo","Liberation Mono","Consolas","DejaVu Sans Mono","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; | ||||
| } | ||||
| li.commit .commit-row-info { | ||||
|     color: #777; | ||||
|     line-height: 24px; | ||||
|     font-size: 13px; | ||||
| } | ||||
| li.commit .commit-row-info a { | ||||
|     color: #777; | ||||
| } | ||||
| li.commit .commit-row-info .committed_ago { | ||||
|     display: inline-block; | ||||
| } | ||||
| .rep_history_title{ | ||||
|     font-weight: bold; | ||||
|     font-size: 13px; | ||||
|     color: #7F7F7F; | ||||
|     padding-bottom: 10px; | ||||
| } | ||||
| .rep_history_grey{ | ||||
|     color: #7F7F7F; | ||||
| } | ||||
| .rep_mail_name{max-width: 150px; overflow: hidden; text-overflow: ellipsis;} | ||||
| @ -1,68 +1,68 @@ | ||||
| /* 2015-06-26 */ | ||||
| .topbar_info02{ margin:5px 10px;width:480px;  } | ||||
| .topbar_info02 p{color: #7f7f7f;} | ||||
| .search{ margin-top:8px; float:right; margin-right:5px;} | ||||
| /*信息*/ | ||||
| .project_info{ background:#fff; padding:10px; padding-right:0px;width:222px;  padding-right:8px; margin-bottom:10px;} | ||||
| .pr_info_id{ width:137px; color:#5a5a5a; font-size:14px; margin-top:5px;} | ||||
| .pr_info_logo{ border:1px solid  #eaeaea; width:60px; height:60px; padding:1px;} | ||||
| .pr_info_logo:hover{ border:1px solid #64bdd9; } | ||||
| .pr_info_join{} | ||||
| a.pr_join_a{  color:#fff; display:block; padding:0 5px 0 3px; padding-top:2px; height:20px; margin-right:5px; float:left;  text-align:center; background-color:#64bdd9; float:left; } | ||||
| a:hover.pr_join_a{ background:#41a8c8;} | ||||
| .pr_join_span{color: #fff; display:block; padding:0 5px; padding-top:2px; height:20px; margin-right:5px; float:left;  text-align:center; background: #CCC;} | ||||
| .pr_setting{ display:block; background:url(../images/leftside.png) -1px 0 no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_copy{ display:block; background:url(../images/leftside.png) -1px -23px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_close{ display:block; background:url(../images/leftside.png) -1px -49px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_add{display:block; background:url(../images/leftside.png) 0px -71px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_arrow{display:block; background:url(../images/leftside.png) 0px -90px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_info_name{ color:#3e4040; font-size:14px;  line-height:1.5;} | ||||
| .pr_info_name:hover{ color:#3ca5c6;} | ||||
| .pr_info_score{ font-size:14px; color:#3e4040; } | ||||
| .pr_info_score a{ color:#ff7143;} | ||||
| .pr_info_score a:hover{ color:#64bdd9;} | ||||
| 
 | ||||
| .img_private{ background:url(../images/img_project.png) 0 0 no-repeat; width:33px; height:16px; color:#fff; font-size:12px; padding-left:7px;  } | ||||
| .info_foot_num{  color:#3ca5c6;  } | ||||
| .pr_info_foot{ color:#7f7f7f; margin-top:5px; } | ||||
| .info_foot_num:hover{  color:#2390b2;} | ||||
| .info_box{background:#fff; padding:10px;width:220px; } | ||||
| .info_box ul li{ font-size:12px; color: #3e4040; line-height:1.7;} | ||||
| 
 | ||||
| /*左侧导航*/ | ||||
| .subNavBox{width:240px; background:#fff;margin:10px 10px 0 0;} | ||||
| .subNav{border-bottom:solid 1px #e5e3da;cursor:pointer;font-weight:bold;font-size:14px;color:#3ca5c6; height:26px;padding-left:10px;background-color:#fff; padding-top:2px;} | ||||
| .subNav_jiantou{background:url(../images/jiantou1.jpg) no-repeat;background-position:95% 50%; background-color:#fff;} | ||||
| .subNav_jiantou:hover{color:#0781b4;  } | ||||
| .currentDd{color:#0781b4;} | ||||
| .currentDt{background-color:#fff;} | ||||
| .navContent{display: none;border-bottom:solid 1px #e5e3da; } | ||||
| .navContent li a{display:block;width:240px;heigh:28px;text-align:center;font-size:12px;line-height:28px;color:#333} | ||||
| .navContent li a:hover{color:#fff;background-color:#b3e0ee} | ||||
| a.subnav_num{ font-weight:normal; color:#ff7143; font-size:12px;} | ||||
| a.subnav_green{ background:#28be6c; color:#fff; font-size:12px; font-weight:normal;height:18px; padding:0px 5px; padding-top:2px; display:block; margin-top:2px; margin-bottom:5px;  float:right; margin-right:5px;} | ||||
| a:hover.subnav_green{ background:#14ad5a;} | ||||
| 
 | ||||
| 
 | ||||
| /*简介*/ | ||||
| .project_intro{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px; color:#6d6d6d; line-height:1.9;} | ||||
| .course_description{max-height: 420px;overflow:hidden; word-break: break-all;word-wrap: break-word;line-height: 20px;} | ||||
| .course_description_none{max-height: none;} | ||||
| .lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;} | ||||
| .lg-foot:hover{ color:#787b7e; border:1px solid #d4d4d4;} | ||||
| /****标签(和资源库的tag样式一致)***/ | ||||
| .project_Label{ width:220px; padding:10px; background:#fff; margin-top:10px;  padding-top:5px; margin-bottom:10px;} | ||||
| .project_Label_New {width:218px; padding-left:10px; background:#fff; margin-top:15px; margin-bottom:10px;} | ||||
| a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;} | ||||
| .submit{height:21px;border:0; cursor:pointer; background:url(images/btn.png) no-repeat  0 0;width:42px; margin-top:2px; margin-left:3px; } | ||||
| .isTxt{background:#fbfbfb url(images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;} | ||||
| .re_tag{ width: auto; padding:0 5px; padding-top:2px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px; word-wrap: break-word;word-break: break-all } | ||||
| .re_tag a{ color:#0d90c3;} | ||||
| .tag_h{ } | ||||
| .tag_h span,.tag_h a{ margin-bottom:5px;} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /* 2015-06-26 */ | ||||
| .topbar_info02{ margin:5px 10px;width:480px;  } | ||||
| .topbar_info02 p{color: #7f7f7f;} | ||||
| .search{ margin-top:8px; float:right; margin-right:5px;} | ||||
| /*信息*/ | ||||
| .project_info{ background:#fff; padding:10px; padding-right:0px;width:222px;  padding-right:8px; margin-bottom:10px;} | ||||
| .pr_info_id{ width:137px; color:#5a5a5a; font-size:14px; margin-top:5px;} | ||||
| .pr_info_logo{ border:1px solid  #eaeaea; width:60px; height:60px; padding:1px;} | ||||
| .pr_info_logo:hover{ border:1px solid #64bdd9; } | ||||
| .pr_info_join{} | ||||
| a.pr_join_a{  color:#fff; display:block; padding:0 5px 0 3px; padding-top:2px; height:20px; margin-right:5px; float:left;  text-align:center; background-color:#64bdd9; float:left; } | ||||
| a:hover.pr_join_a{ background:#41a8c8;} | ||||
| .pr_join_span{color: #fff; display:block; padding:0 5px; padding-top:2px; height:20px; margin-right:5px; float:left;  text-align:center; background: #CCC;} | ||||
| .pr_setting{ display:block; background:url(../images/leftside.png) -1px 0 no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_copy{ display:block; background:url(../images/leftside.png) -1px -23px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_close{ display:block; background:url(../images/leftside.png) -1px -49px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_add{display:block; background:url(../images/leftside.png) 0px -71px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_arrow{display:block; background:url(../images/leftside.png) 0px -90px no-repeat; width:11px; height:11px; margin-top:3px; float:left; } | ||||
| .pr_info_name{ color:#3e4040; font-size:14px;  line-height:1.5;} | ||||
| .pr_info_name:hover{ color:#3ca5c6;} | ||||
| .pr_info_score{ font-size:14px; color:#3e4040; } | ||||
| .pr_info_score a{ color:#ff7143;} | ||||
| .pr_info_score a:hover{ color:#64bdd9;} | ||||
| 
 | ||||
| .img_private{ background:url(../images/img_project.png) 0 0 no-repeat; width:33px; height:16px; color:#fff; font-size:12px; padding-left:7px;  } | ||||
| .info_foot_num{  color:#3ca5c6;  } | ||||
| .pr_info_foot{ color:#7f7f7f; margin-top:5px; } | ||||
| .info_foot_num:hover{  color:#2390b2;} | ||||
| .info_box{background:#fff; padding:10px;width:220px; } | ||||
| .info_box ul li{ font-size:12px; color: #3e4040; line-height:1.7;} | ||||
| 
 | ||||
| /*左侧导航*/ | ||||
| .subNavBox{width:240px; background:#fff;margin:10px 10px 0 0;} | ||||
| .subNav{border-bottom:solid 1px #e5e3da;cursor:pointer;font-weight:bold;font-size:14px;color:#3ca5c6; height:26px;padding-left:10px;background-color:#fff; padding-top:2px;} | ||||
| .subNav_jiantou{background:url(../images/jiantou1.jpg) no-repeat;background-position:95% 50%; background-color:#fff;} | ||||
| .subNav_jiantou:hover{color:#0781b4;  } | ||||
| .currentDd{color:#0781b4;} | ||||
| .currentDt{background-color:#fff;} | ||||
| .navContent{display: none;border-bottom:solid 1px #e5e3da; } | ||||
| .navContent li a{display:block;width:240px;heigh:28px;text-align:center;font-size:12px;line-height:28px;color:#333} | ||||
| .navContent li a:hover{color:#fff;background-color:#b3e0ee} | ||||
| a.subnav_num{ font-weight:normal; color:#ff7143; font-size:12px;} | ||||
| a.subnav_green{ background:#28be6c; color:#fff; font-size:12px; font-weight:normal;height:18px; padding:0px 5px; padding-top:2px; display:block; margin-top:2px; margin-bottom:5px;  float:right; margin-right:5px;} | ||||
| a:hover.subnav_green{ background:#14ad5a;} | ||||
| 
 | ||||
| 
 | ||||
| /*简介*/ | ||||
| .project_intro{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px; color:#6d6d6d; line-height:1.9;} | ||||
| .course_description{max-height: 420px;overflow:hidden; word-break: break-all;word-wrap: break-word;line-height: 20px;} | ||||
| .course_description_none{max-height: none;} | ||||
| .lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;} | ||||
| .lg-foot:hover{ color:#787b7e; border:1px solid #d4d4d4;} | ||||
| /****标签(和资源库的tag样式一致)***/ | ||||
| .project_Label{ width:220px; padding:10px; background:#fff; margin-top:10px;  padding-top:5px; margin-bottom:10px;} | ||||
| .project_Label_New {width:218px; padding-left:10px; background:#fff; margin-top:15px; margin-bottom:10px;} | ||||
| a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;} | ||||
| .submit{height:21px;border:0; cursor:pointer; background:url(images/btn.png) no-repeat  0 0;width:42px; margin-top:2px; margin-left:3px; } | ||||
| .isTxt{background:#fbfbfb url(images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;} | ||||
| .re_tag{ width: auto; padding:0 5px; padding-top:2px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px; word-wrap: break-word;word-break: break-all } | ||||
| .re_tag a{ color:#0d90c3;} | ||||
| .tag_h{ } | ||||
| .tag_h span,.tag_h a{ margin-bottom:5px;} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -1,155 +1,155 @@ | ||||
| #RSide{ min-height:1px;} | ||||
| /* 左侧信息*/ | ||||
| .users_info{background:#fff; padding:10px; width:230px;  padding-right:0px; margin-bottom:10px; } | ||||
| .pic_head{ width:214px; height:214px; border:1px solid #cbcbcb; padding:2px; position:relative;} | ||||
| .pic_head:hover{border:1px solid #64bdd9;} | ||||
| .usersphoto_edit{ position:absolute; left:198px; top:200px;} | ||||
| .icon_male{ background:url(../images/pic_uersall.png) 0 0 no-repeat; width:15px; height:15px;} | ||||
| .icon_female{ background:url(../images/pic_uersall.png) 0 -24px no-repeat; width:15px; height:15px;} | ||||
| .pf_intro{ width:222px; margin-top:5px; color:#696969;word-break: break-all; } | ||||
| .leftbox{ width:230px; padding:10px; padding-right:0px; padding-bottom:5px;background:#fff; margin-bottom:10px; margin-right:10px;} | ||||
| .pic_members{ display:block; width:38px; height:38px; border:1px solid #e9edf0; margin-right:5px; margin-bottom:5px;float:left;} | ||||
| .pic_members:hover{border:1px solid #c9c9c9;} | ||||
| /*新建*/ | ||||
| .top_new{ height:26px; border-bottom:10px solid #eaebed; padding:10px; background:#fff; float:left; margin-left:10px; width:730px; } | ||||
| .top_new_bg{ background:url(../images/pic_uersall.png) -43px 3px no-repeat; height:26px; width:260px;} | ||||
| .top_newcourses_bg{ background:url(../images/pic_uersall.png) -43px -29px no-repeat; height:28px; width:260px;} | ||||
| .top_newproject_bg{ background:url(../images/pic_uersall.png) -43px -56px no-repeat; height:26px; width:260px;} | ||||
| .newbtn{  height:24px; background:#18ca74; color:#fff; font-size:14px; padding:2px 12px 0 12px;} | ||||
| .newbtn:hover{background: #14ad5a;} | ||||
| a.newbtn_add{ display:block; background:url(../images/pic_uersall.png) -265px 3px no-repeat; height:20px; width:15px;} | ||||
| a.newbtn_t{ font-size:14px; font-weight:bold; color:#fff;} | ||||
| /*留言*/ | ||||
| a.icon_face{background:url(../images/public_icon.png) 0px -671px no-repeat;  display:block; height:25px; width:40px;  padding-left:25px; padding-top:3px; } | ||||
| a:hover.icon_face{background:url(../images/public_icon.png) -79px -671px no-repeat; } | ||||
| .inputUsers_message{ border:1px solid #d2d2d2; width:718px; height:48px; color:#666; padding:5px; margin-bottom:5px;} | ||||
| .inputUsers_message02{ border:1px solid #d2d2d2; width:618px; height:26px; color:#666; padding:5px; margin-bottom:5px; } | ||||
| .message_list_box{ background:#f5f5f5; margin-top: 10px;} | ||||
| .users_pic{ width:46px; height:46px; border:1px solid #e3e3e3;} | ||||
| .users_pic:hover{  border:1px solid #a5a5a5;} | ||||
| .users_pic_sub{width:32px; height:32px; border:1px solid #e3e3e3;} | ||||
| .users_pic_sub:hover{  border:1px solid #a5a5a5;} | ||||
| .massage_txt{ max-width:360px; color: #666;word-break:break-all;} | ||||
| .massage_time{ color:#8d8d8d; margin-top:5px;} | ||||
| .message_list{ border-bottom:1px dashed #c9c9c9;  margin-bottom:10px;color: #5f5f5f;} | ||||
| .message_list_more{ text-align:center; width:720px;} | ||||
| /*课程动态*/ | ||||
| .line_box{ width:728px; border:1px solid #d9d9d9; padding-bottom:10px;} | ||||
| .users_courses_list{ height:24px; border-bottom:1px dashed #CCC; margin-bottom:10px;} | ||||
| .users_coursename{max-width:135px; font-weight:bold; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; margin-right:5px; } | ||||
| .course_name{max-width:60px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} | ||||
| .c_grey{ color:#8d8d8d;} | ||||
| .users_courses_txt{max-width:330px;  overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} | ||||
| .users_top{ height:39px; border-bottom:1px solid #d9d9d9; margin-bottom:10px;} | ||||
| .users_h4{border-bottom:1px solid #d9d9d9; height:29px; padding:10px 0 0 10px; margin-bottom:10px; } | ||||
| /*弹框*/ | ||||
| .white_content_users{display:none;position:fixed;top:45%;left:45%;width:210px;height: auto; margin-bottom:20px;padding:10px;border:3px solid #15bccf;background-color:white;z-index:1002;overflow:auto;} | ||||
| a.box_close{background:url(../images/img_floatbox.png) -22px 0 no-repeat;} | ||||
| /*我的课程*/ | ||||
| .courses_top{ height:27px; border-bottom:3px solid #ebebeb;} | ||||
| .courses_h2{ font-size:16px; font-weight:bold; color:#64bddb; border-bottom:3px solid #64bddb; padding-bottom:3px; padding-right:3px;} | ||||
| .courses_select{} | ||||
| a.select_btn{ border:1px solid #acacac; padding:0px 10px; color:#989898; display:block;} | ||||
| a.select_btn:hover{ background:#64bddb; color:#fff;} | ||||
| a.select_btn_select{ background:#64bddb; color:#fff;} | ||||
| .courses_list_pic{ border:1px solid #ede7e9; width:64px; height:64px; padding:1px;} | ||||
| .courses_list_pic:hover{border:1px solid #64bdd9;} | ||||
| .courses_list_title{ max-width:500px;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} | ||||
| .pic_eye_blue{display:block; background:url(../images/pic_uersall.png) -372px 3px no-repeat; width:16px; height:15px; } | ||||
| .pic_eye_grey{display:block; background:url(../images/pic_uersall.png) -372px -10px no-repeat; width:16px; height:15px; } | ||||
| .td_w70{ width:70px;} | ||||
| .td_w60{ width:60px;} | ||||
| .td_w110{ width:110px;} | ||||
| .mt20{ margin-top:20px;} | ||||
| .courses_list{ padding-bottom:10px; } | ||||
| .courses_list_table{ color:#6e6e6e;} | ||||
| /****翻页***/ | ||||
| .wlist{float:right;} | ||||
| .wlist li{float:left;} | ||||
| .wlist a{ float:left; border:1px solid #64bdd9; padding:0 5px; margin-left:3px; color:#64bdd9;} | ||||
| .wlist a:hover{border:1px solid #64bdd9; background-color:#64bdd9; color:#fff; text-decoration:none;} | ||||
| .wlist_select a { background-color:#48aac9; color:#fff;} | ||||
| /* TAB 切换效果 */ | ||||
| .users_tb_{ border-bottom:3px solid #CCC; height:26px; } | ||||
| .users_tb_ ul{height:26px; } | ||||
| .users_tb_ li{float:left;height:26px;width: 90px;cursor:pointer; font-size:14px; text-align:center; } | ||||
| /* 控制显示与隐藏css类 */ | ||||
| .users_normaltab   { color:#666; } | ||||
| .users_hovertab    {  color:#64bdd9;   border-bottom:3px solid #64bdd9; font-weight:bold;} | ||||
| .users_normaltab a  { color:#64bdd9 ;  } | ||||
| .users_hovertab a{color:#fff;  background-color:#64bdd9; text-decoration:none;} | ||||
| .users_dis{display:block;  } | ||||
| .users_undis{display:none;} | ||||
| .users_ctt{ font-size:14px; color:#666;  margin-top:10px;} | ||||
| .setting_left{ width:115px; text-align:right; float:left;} | ||||
| .setting_left li{ height:28px;line-height:28px;} | ||||
| .setting_right{width:500px; text-align:left; float:left; margin-left:8px;} | ||||
| .setting_right li{ height:28px;line-height:28px;} | ||||
| .users_ctt ul li{ margin-bottom:10px;} | ||||
| .users_ctt input,.users_ctt select,.users_ctt textarea{ border:1px solid #CCC;} | ||||
| .users_ctt input,.users_ctt select,.users_ctt option{ height:26px;} | ||||
| .users_ctt input,.users_ctt textarea{ margin-left:2px;} | ||||
| /*.users_ctt textarea{ margin-bottom:nor;}*/ | ||||
| .w450{ width:450px;} | ||||
| .w210{ width:200px;} | ||||
| .w70{ width:70px;} | ||||
| .h200{ height:200px;} | ||||
| /* 个人主页*/ | ||||
| a.edit_btn{display:block; background:url(../images/leftside.png) -1px 0 no-repeat; width:33px; height:18px; border:1px solid #cdcdcd; color:#333333; padding:0px 0 0 18px;} | ||||
| a:hover.edit_btn{ color:#ff5722;} | ||||
| a.gz_btn{display:block; background:url(../images/pic_uersall.png) -318px -25px no-repeat; width:53px; height:18px; border:1px solid #cdcdcd; color:#333333; padding:0px 0 0 18px;} | ||||
| a:hover.gz_btn{ color:#ff5722;} | ||||
| a.qx_btn{display:block; background:url(../images/pic_uersall.png) -318px -47px no-repeat; width:53px; height:18px; border:1px solid #cdcdcd; color:#333333; padding:0px 0 0 18px;} | ||||
| a:hover.qx_btn{color:#64bdd9;} | ||||
| a.c_lgrey{ color:#CCC;} | ||||
| a:hover.c_lgrey{ color:#3ca5c6;} | ||||
| .leftbox_ul_left{ width:60px; float:left; text-align:right; } | ||||
| .leftbox_ul_right{ width:155px; float:left; margin-left:10px; } | ||||
| .leftbox_ul_left li,.leftbox_ul_right li{ margin-bottom:5px;} | ||||
| .c_dgrey{ color:#696969;} | ||||
| .home_courses_list{ width:364px; margin-bottom:10px; } | ||||
| .home_list_title{ max-width:260px; font-size:14px; font-weight:bold;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} | ||||
| .users_list{  } | ||||
| .users_course_intro{ width:530px;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} | ||||
| 
 | ||||
| /* 20150506上传头像*/ | ||||
| .uppicBox{ width:265px; height:265px; background:#f2f2f5; float:left; color:#666;  text-align:center;} | ||||
| .showpicBox{width:133px; height:250px; background:#f2f2f5; float:left; margin-left:20px; text-align:center; padding-top:15px; color:#666;} | ||||
| .mr15{ margin-right:15px;} | ||||
| /* 新建作品*/ | ||||
| .mr8{ margin-right:8px;} | ||||
| .mt2{ margin-top:2px;} | ||||
| .fans_sign{ width:560px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} | ||||
| .newhwork_div ul li{ margin-bottom:10px; font-size:14px; color:#666;} | ||||
| .newhwork_div input,.newhwork_div select{ height:26px;border:1px solid #CCC; } | ||||
| .newhwork_div textarea{border:1px solid #CCC;} | ||||
| .w460{ width:460px;} | ||||
| /* 留言新增*/ | ||||
| .mes_box{ width:580px;} | ||||
| .mes_box02{ margin-left:50px; border-top:1px dashed #c9c9c9; padding-top:10px;margin-bottom: 10px;} | ||||
| .mes_box02_info{ width:540px; margin-left:5px;} | ||||
| .users_r_top{ width:730px; height:40px; background:#eaeaea; margin-bottom:10px;} | ||||
| .users_r_h2{background:#64bdd9; color:#fff; height:33px; width:90px; text-align:center; font-weight:normal; padding-top:7px; font-size:16px;} | ||||
| 
 | ||||
| 
 | ||||
| /*a.hidepic>img{display:none;}*/ | ||||
| 
 | ||||
| /*div.ke-toolbar{display:none;width:400px;border:none;background:none;padding:0px 0px;}*/ | ||||
| /*span.ke-toolbar-icon{line-height:26px;font-size:14px;padding-left:26px;}*/ | ||||
| /*span.ke-toolbar-icon-url{background-image:url( ../images/public_icon.png )}*/ | ||||
| /*div.ke-toolbar .ke-outline{padding:0px 0px;line-height:26px;font-size:14px;}*/ | ||||
| /*span.ke-icon-emoticons{background-position:0px -671px;width:50px;height:26px;}*/ | ||||
| /*span.ke-icon-emoticons:hover{background-position:-79px -671px;width:50px;height:26px;}*/ | ||||
| /*div.ke-toolbar .ke-outline{border:none;}*/ | ||||
| /*.cr{clear:  right;}*/ | ||||
| 
 | ||||
| div.content{padding-top:10px;} | ||||
| .pcontent>.school_list,.content>.school_list { padding-left: 5px;} | ||||
| 
 | ||||
| /*151231留言样式*/ | ||||
| .messageWrap {width:658px; margin-left:10px;} | ||||
| .mesWrap2{ margin-left:60px; border-bottom:1px dashed #c9c9c9; padding-top:10px;} | ||||
| .mesContent2{width:613px;} | ||||
| .leaveMes {width:651px; height:50px; resize:none; border:1px solid #dddddd;} | ||||
| .mesSwitch {background:url(../images/public_icon.png) -4px -780px no-repeat; width:15px; height:18px; display:inline-block;} | ||||
| #RSide{ min-height:1px;} | ||||
| /* 左侧信息*/ | ||||
| .users_info{background:#fff; padding:10px; width:230px;  padding-right:0px; margin-bottom:10px; } | ||||
| .pic_head{ width:214px; height:214px; border:1px solid #cbcbcb; padding:2px; position:relative;} | ||||
| .pic_head:hover{border:1px solid #64bdd9;} | ||||
| .usersphoto_edit{ position:absolute; left:198px; top:200px;} | ||||
| .icon_male{ background:url(../images/pic_uersall.png) 0 0 no-repeat; width:15px; height:15px;} | ||||
| .icon_female{ background:url(../images/pic_uersall.png) 0 -24px no-repeat; width:15px; height:15px;} | ||||
| .pf_intro{ width:222px; margin-top:5px; color:#696969;word-break: break-all; } | ||||
| .leftbox{ width:230px; padding:10px; padding-right:0px; padding-bottom:5px;background:#fff; margin-bottom:10px; margin-right:10px;} | ||||
| .pic_members{ display:block; width:38px; height:38px; border:1px solid #e9edf0; margin-right:5px; margin-bottom:5px;float:left;} | ||||
| .pic_members:hover{border:1px solid #c9c9c9;} | ||||
| /*新建*/ | ||||
| .top_new{ height:26px; border-bottom:10px solid #eaebed; padding:10px; background:#fff; float:left; margin-left:10px; width:730px; } | ||||
| .top_new_bg{ background:url(../images/pic_uersall.png) -43px 3px no-repeat; height:26px; width:260px;} | ||||
| .top_newcourses_bg{ background:url(../images/pic_uersall.png) -43px -29px no-repeat; height:28px; width:260px;} | ||||
| .top_newproject_bg{ background:url(../images/pic_uersall.png) -43px -56px no-repeat; height:26px; width:260px;} | ||||
| .newbtn{  height:24px; background:#18ca74; color:#fff; font-size:14px; padding:2px 12px 0 12px;} | ||||
| .newbtn:hover{background: #14ad5a;} | ||||
| a.newbtn_add{ display:block; background:url(../images/pic_uersall.png) -265px 3px no-repeat; height:20px; width:15px;} | ||||
| a.newbtn_t{ font-size:14px; font-weight:bold; color:#fff;} | ||||
| /*留言*/ | ||||
| a.icon_face{background:url(../images/public_icon.png) 0px -671px no-repeat;  display:block; height:25px; width:40px;  padding-left:25px; padding-top:3px; } | ||||
| a:hover.icon_face{background:url(../images/public_icon.png) -79px -671px no-repeat; } | ||||
| .inputUsers_message{ border:1px solid #d2d2d2; width:718px; height:48px; color:#666; padding:5px; margin-bottom:5px;} | ||||
| .inputUsers_message02{ border:1px solid #d2d2d2; width:618px; height:26px; color:#666; padding:5px; margin-bottom:5px; } | ||||
| .message_list_box{ background:#f5f5f5; margin-top: 10px;} | ||||
| .users_pic{ width:46px; height:46px; border:1px solid #e3e3e3;} | ||||
| .users_pic:hover{  border:1px solid #a5a5a5;} | ||||
| .users_pic_sub{width:32px; height:32px; border:1px solid #e3e3e3;} | ||||
| .users_pic_sub:hover{  border:1px solid #a5a5a5;} | ||||
| .massage_txt{ max-width:360px; color: #666;word-break:break-all;} | ||||
| .massage_time{ color:#8d8d8d; margin-top:5px;} | ||||
| .message_list{ border-bottom:1px dashed #c9c9c9;  margin-bottom:10px;color: #5f5f5f;} | ||||
| .message_list_more{ text-align:center; width:720px;} | ||||
| /*课程动态*/ | ||||
| .line_box{ width:728px; border:1px solid #d9d9d9; padding-bottom:10px;} | ||||
| .users_courses_list{ height:24px; border-bottom:1px dashed #CCC; margin-bottom:10px;} | ||||
| .users_coursename{max-width:135px; font-weight:bold; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; margin-right:5px; } | ||||
| .course_name{max-width:60px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} | ||||
| .c_grey{ color:#8d8d8d;} | ||||
| .users_courses_txt{max-width:330px;  overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} | ||||
| .users_top{ height:39px; border-bottom:1px solid #d9d9d9; margin-bottom:10px;} | ||||
| .users_h4{border-bottom:1px solid #d9d9d9; height:29px; padding:10px 0 0 10px; margin-bottom:10px; } | ||||
| /*弹框*/ | ||||
| .white_content_users{display:none;position:fixed;top:45%;left:45%;width:210px;height: auto; margin-bottom:20px;padding:10px;border:3px solid #15bccf;background-color:white;z-index:1002;overflow:auto;} | ||||
| a.box_close{background:url(../images/img_floatbox.png) -22px 0 no-repeat;} | ||||
| /*我的课程*/ | ||||
| .courses_top{ height:27px; border-bottom:3px solid #ebebeb;} | ||||
| .courses_h2{ font-size:16px; font-weight:bold; color:#64bddb; border-bottom:3px solid #64bddb; padding-bottom:3px; padding-right:3px;} | ||||
| .courses_select{} | ||||
| a.select_btn{ border:1px solid #acacac; padding:0px 10px; color:#989898; display:block;} | ||||
| a.select_btn:hover{ background:#64bddb; color:#fff;} | ||||
| a.select_btn_select{ background:#64bddb; color:#fff;} | ||||
| .courses_list_pic{ border:1px solid #ede7e9; width:64px; height:64px; padding:1px;} | ||||
| .courses_list_pic:hover{border:1px solid #64bdd9;} | ||||
| .courses_list_title{ max-width:500px;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} | ||||
| .pic_eye_blue{display:block; background:url(../images/pic_uersall.png) -372px 3px no-repeat; width:16px; height:15px; } | ||||
| .pic_eye_grey{display:block; background:url(../images/pic_uersall.png) -372px -10px no-repeat; width:16px; height:15px; } | ||||
| .td_w70{ width:70px;} | ||||
| .td_w60{ width:60px;} | ||||
| .td_w110{ width:110px;} | ||||
| .mt20{ margin-top:20px;} | ||||
| .courses_list{ padding-bottom:10px; } | ||||
| .courses_list_table{ color:#6e6e6e;} | ||||
| /****翻页***/ | ||||
| .wlist{float:right;} | ||||
| .wlist li{float:left;} | ||||
| .wlist a{ float:left; border:1px solid #64bdd9; padding:0 5px; margin-left:3px; color:#64bdd9;} | ||||
| .wlist a:hover{border:1px solid #64bdd9; background-color:#64bdd9; color:#fff; text-decoration:none;} | ||||
| .wlist_select a { background-color:#48aac9; color:#fff;} | ||||
| /* TAB 切换效果 */ | ||||
| .users_tb_{ border-bottom:3px solid #CCC; height:26px; } | ||||
| .users_tb_ ul{height:26px; } | ||||
| .users_tb_ li{float:left;height:26px;width: 90px;cursor:pointer; font-size:14px; text-align:center; } | ||||
| /* 控制显示与隐藏css类 */ | ||||
| .users_normaltab   { color:#666; } | ||||
| .users_hovertab    {  color:#64bdd9;   border-bottom:3px solid #64bdd9; font-weight:bold;} | ||||
| .users_normaltab a  { color:#64bdd9 ;  } | ||||
| .users_hovertab a{color:#fff;  background-color:#64bdd9; text-decoration:none;} | ||||
| .users_dis{display:block;  } | ||||
| .users_undis{display:none;} | ||||
| .users_ctt{ font-size:14px; color:#666;  margin-top:10px;} | ||||
| .setting_left{ width:115px; text-align:right; float:left;} | ||||
| .setting_left li{ height:28px;line-height:28px;} | ||||
| .setting_right{width:500px; text-align:left; float:left; margin-left:8px;} | ||||
| .setting_right li{ height:28px;line-height:28px;} | ||||
| .users_ctt ul li{ margin-bottom:10px;} | ||||
| .users_ctt input,.users_ctt select,.users_ctt textarea{ border:1px solid #CCC;} | ||||
| .users_ctt input,.users_ctt select,.users_ctt option{ height:26px;} | ||||
| .users_ctt input,.users_ctt textarea{ margin-left:2px;} | ||||
| /*.users_ctt textarea{ margin-bottom:nor;}*/ | ||||
| .w450{ width:450px;} | ||||
| .w210{ width:200px;} | ||||
| .w70{ width:70px;} | ||||
| .h200{ height:200px;} | ||||
| /* 个人主页*/ | ||||
| a.edit_btn{display:block; background:url(../images/leftside.png) -1px 0 no-repeat; width:33px; height:18px; border:1px solid #cdcdcd; color:#333333; padding:0px 0 0 18px;} | ||||
| a:hover.edit_btn{ color:#ff5722;} | ||||
| a.gz_btn{display:block; background:url(../images/pic_uersall.png) -318px -25px no-repeat; width:53px; height:18px; border:1px solid #cdcdcd; color:#333333; padding:0px 0 0 18px;} | ||||
| a:hover.gz_btn{ color:#ff5722;} | ||||
| a.qx_btn{display:block; background:url(../images/pic_uersall.png) -318px -47px no-repeat; width:53px; height:18px; border:1px solid #cdcdcd; color:#333333; padding:0px 0 0 18px;} | ||||
| a:hover.qx_btn{color:#64bdd9;} | ||||
| a.c_lgrey{ color:#CCC;} | ||||
| a:hover.c_lgrey{ color:#3ca5c6;} | ||||
| .leftbox_ul_left{ width:60px; float:left; text-align:right; } | ||||
| .leftbox_ul_right{ width:155px; float:left; margin-left:10px; } | ||||
| .leftbox_ul_left li,.leftbox_ul_right li{ margin-bottom:5px;} | ||||
| .c_dgrey{ color:#696969;} | ||||
| .home_courses_list{ width:364px; margin-bottom:10px; } | ||||
| .home_list_title{ max-width:260px; font-size:14px; font-weight:bold;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} | ||||
| .users_list{  } | ||||
| .users_course_intro{ width:530px;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} | ||||
| 
 | ||||
| /* 20150506上传头像*/ | ||||
| .uppicBox{ width:265px; height:265px; background:#f2f2f5; float:left; color:#666;  text-align:center;} | ||||
| .showpicBox{width:133px; height:250px; background:#f2f2f5; float:left; margin-left:20px; text-align:center; padding-top:15px; color:#666;} | ||||
| .mr15{ margin-right:15px;} | ||||
| /* 新建作品*/ | ||||
| .mr8{ margin-right:8px;} | ||||
| .mt2{ margin-top:2px;} | ||||
| .fans_sign{ width:560px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} | ||||
| .newhwork_div ul li{ margin-bottom:10px; font-size:14px; color:#666;} | ||||
| .newhwork_div input,.newhwork_div select{ height:26px;border:1px solid #CCC; } | ||||
| .newhwork_div textarea{border:1px solid #CCC;} | ||||
| .w460{ width:460px;} | ||||
| /* 留言新增*/ | ||||
| .mes_box{ width:580px;} | ||||
| .mes_box02{ margin-left:50px; border-top:1px dashed #c9c9c9; padding-top:10px;margin-bottom: 10px;} | ||||
| .mes_box02_info{ width:540px; margin-left:5px;} | ||||
| .users_r_top{ width:730px; height:40px; background:#eaeaea; margin-bottom:10px;} | ||||
| .users_r_h2{background:#64bdd9; color:#fff; height:33px; width:90px; text-align:center; font-weight:normal; padding-top:7px; font-size:16px;} | ||||
| 
 | ||||
| 
 | ||||
| /*a.hidepic>img{display:none;}*/ | ||||
| 
 | ||||
| /*div.ke-toolbar{display:none;width:400px;border:none;background:none;padding:0px 0px;}*/ | ||||
| /*span.ke-toolbar-icon{line-height:26px;font-size:14px;padding-left:26px;}*/ | ||||
| /*span.ke-toolbar-icon-url{background-image:url( ../images/public_icon.png )}*/ | ||||
| /*div.ke-toolbar .ke-outline{padding:0px 0px;line-height:26px;font-size:14px;}*/ | ||||
| /*span.ke-icon-emoticons{background-position:0px -671px;width:50px;height:26px;}*/ | ||||
| /*span.ke-icon-emoticons:hover{background-position:-79px -671px;width:50px;height:26px;}*/ | ||||
| /*div.ke-toolbar .ke-outline{border:none;}*/ | ||||
| /*.cr{clear:  right;}*/ | ||||
| 
 | ||||
| div.content{padding-top:10px;} | ||||
| .pcontent>.school_list,.content>.school_list { padding-left: 5px;} | ||||
| 
 | ||||
| /*151231留言样式*/ | ||||
| .messageWrap {width:658px; margin-left:10px;} | ||||
| .mesWrap2{ margin-left:60px; border-bottom:1px dashed #c9c9c9; padding-top:10px;} | ||||
| .mesContent2{width:613px;} | ||||
| .leaveMes {width:651px; height:50px; resize:none; border:1px solid #dddddd;} | ||||
| .mesSwitch {background:url(../images/public_icon.png) -4px -780px no-repeat; width:15px; height:18px; display:inline-block;} | ||||
| .pr {position:relative;} | ||||
| @ -1,5 +1,5 @@ | ||||
| #!/usr/bin/env ruby | ||||
| 
 | ||||
| require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment')) | ||||
| require 'delayed/command' | ||||
| Delayed::Command.new(ARGV).daemonize | ||||
| #!/usr/bin/env ruby | ||||
| 
 | ||||
| require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment')) | ||||
| require 'delayed/command' | ||||
| Delayed::Command.new(ARGV).daemonize | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe BlogCommentsController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe BlogCommentsController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe BlogsController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe BlogsController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgCoursesController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgCoursesController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgDocumentCommentController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgDocumentCommentController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgMemberController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgMemberController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgProjectsController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgProjectsController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgSubfieldsController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgSubfieldsController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrganizationsController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrganizationsController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe ShieldActivitiesController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe ShieldActivitiesController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe SystemMessagesController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe SystemMessagesController, :type => :controller do | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,12 +1,12 @@ | ||||
| # Read about factories at https://github.com/thoughtbot/factory_girl | ||||
| 
 | ||||
| FactoryGirl.define do | ||||
|   factory :at_message do | ||||
|     user nil | ||||
|     at_message_id 1 | ||||
|     at_message_type "MyString" | ||||
|     viewed false | ||||
|     container_type "MyString" | ||||
|     container_id 1 | ||||
|   end | ||||
| end | ||||
| # Read about factories at https://github.com/thoughtbot/factory_girl | ||||
| 
 | ||||
| FactoryGirl.define do | ||||
|   factory :at_message do | ||||
|     user nil | ||||
|     at_message_id 1 | ||||
|     at_message_type "MyString" | ||||
|     viewed false | ||||
|     container_type "MyString" | ||||
|     container_id 1 | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| # Read about factories at https://github.com/thoughtbot/factory_girl | ||||
| 
 | ||||
| FactoryGirl.define do | ||||
|   factory :attachment_history do | ||||
|   end | ||||
| end | ||||
| # Read about factories at https://github.com/thoughtbot/factory_girl | ||||
| 
 | ||||
| FactoryGirl.define do | ||||
|   factory :attachment_history do | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -1,10 +1,10 @@ | ||||
| #coding=utf-8 | ||||
| # | ||||
| FactoryGirl.define do | ||||
|   factory :attachment do | ||||
|     filename "11.gif" | ||||
|     filesize 296833 | ||||
|     digest "8a74e086d7716f89bc4fbac0606589c7" | ||||
|     disk_directory "2015/05" | ||||
|   end | ||||
| end | ||||
| #coding=utf-8 | ||||
| # | ||||
| FactoryGirl.define do | ||||
|   factory :attachment do | ||||
|     filename "11.gif" | ||||
|     filesize 296833 | ||||
|     digest "8a74e086d7716f89bc4fbac0606589c7" | ||||
|     disk_directory "2015/05" | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| # Read about factories at https://github.com/thoughtbot/factory_girl | ||||
| 
 | ||||
| FactoryGirl.define do | ||||
|   factory :blog_comment do | ||||
|   end | ||||
| end | ||||
| # Read about factories at https://github.com/thoughtbot/factory_girl | ||||
| 
 | ||||
| FactoryGirl.define do | ||||
|   factory :blog_comment do | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| # Read about factories at https://github.com/thoughtbot/factory_girl | ||||
| 
 | ||||
| FactoryGirl.define do | ||||
|   factory :blog do | ||||
|   end | ||||
| end | ||||
| # Read about factories at https://github.com/thoughtbot/factory_girl | ||||
| 
 | ||||
| FactoryGirl.define do | ||||
|   factory :blog do | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -1,13 +1,13 @@ | ||||
| FactoryGirl.define do | ||||
|   factory :course_contributor_score do | ||||
|     course_id 1 | ||||
| user_id 1 | ||||
| message_num 1 | ||||
| message_reply_num 1 | ||||
| news_reply_num 1 | ||||
| resource_num 1 | ||||
| journal_num 1 | ||||
| journal_reply_num 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| FactoryGirl.define do | ||||
|   factory :course_contributor_score do | ||||
|     course_id 1 | ||||
| user_id 1 | ||||
| message_num 1 | ||||
| message_reply_num 1 | ||||
| news_reply_num 1 | ||||
| resource_num 1 | ||||
| journal_num 1 | ||||
| journal_reply_num 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,10 +1,10 @@ | ||||
| FactoryGirl.define do | ||||
|   factory :course_message do | ||||
|     user_id 1 | ||||
| course_id 1 | ||||
| course_message_id 1 | ||||
| course_message_type "MyString" | ||||
| viewed 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| FactoryGirl.define do | ||||
|   factory :course_message do | ||||
|     user_id 1 | ||||
| course_id 1 | ||||
| course_message_id 1 | ||||
| course_message_type "MyString" | ||||
| viewed 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,15 +1,15 @@ | ||||
| #coding=utf-8 | ||||
| # | ||||
| FactoryGirl.define do | ||||
|   factory :course do | ||||
|     name 'name' | ||||
|     time '2015' | ||||
|     term 'term' | ||||
|     class_period 1 | ||||
|     password '111' | ||||
|     description 'description' | ||||
|     is_public 1 | ||||
|     open_student 1 | ||||
|     association :teacher, factory: :user | ||||
|   end | ||||
| end | ||||
| #coding=utf-8 | ||||
| # | ||||
| FactoryGirl.define do | ||||
|   factory :course do | ||||
|     name 'name' | ||||
|     time '2015' | ||||
|     term 'term' | ||||
|     class_period 1 | ||||
|     password '111' | ||||
|     description 'description' | ||||
|     is_public 1 | ||||
|     open_student 1 | ||||
|     association :teacher, factory: :user | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -1,19 +1,19 @@ | ||||
| FactoryGirl.define do | ||||
|   factory :dt, :class => 'Dts' do | ||||
|     IPLineCode "MyString" | ||||
| Description "MyString" | ||||
| Num "MyString" | ||||
| Variable "MyString" | ||||
| TraceInfo "MyString" | ||||
| Method "MyString" | ||||
| File "MyString" | ||||
| IPLine "MyString" | ||||
| Review "MyString" | ||||
| Category "MyString" | ||||
| Defect "MyString" | ||||
| PreConditions "MyString" | ||||
| StartLine "MyString" | ||||
| project_id 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| FactoryGirl.define do | ||||
|   factory :dt, :class => 'Dts' do | ||||
|     IPLineCode "MyString" | ||||
| Description "MyString" | ||||
| Num "MyString" | ||||
| Variable "MyString" | ||||
| TraceInfo "MyString" | ||||
| Method "MyString" | ||||
| File "MyString" | ||||
| IPLine "MyString" | ||||
| Review "MyString" | ||||
| Category "MyString" | ||||
| Defect "MyString" | ||||
| PreConditions "MyString" | ||||
| StartLine "MyString" | ||||
| project_id 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,10 +1,10 @@ | ||||
| FactoryGirl.define do | ||||
|   factory :forge_message do | ||||
|     user_id 1 | ||||
| project_id 1 | ||||
| forge_message_id 1 | ||||
| forge_message_type "MyString" | ||||
| viewed 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| FactoryGirl.define do | ||||
|   factory :forge_message do | ||||
|     user_id 1 | ||||
| project_id 1 | ||||
| forge_message_id 1 | ||||
| forge_message_type "MyString" | ||||
| viewed 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,11 +1,11 @@ | ||||
| # Read about factories at https://github.com/thoughtbot/factory_girl | ||||
| 
 | ||||
| FactoryGirl.define do | ||||
|   factory :homework_detail_group do | ||||
|     homework_common_id 1 | ||||
|     min_num 1 | ||||
|     max_num 1 | ||||
|     base_on_project 1 | ||||
|     homework_common nil | ||||
|   end | ||||
| end | ||||
| # Read about factories at https://github.com/thoughtbot/factory_girl | ||||
| 
 | ||||
| FactoryGirl.define do | ||||
|   factory :homework_detail_group do | ||||
|     homework_common_id 1 | ||||
|     min_num 1 | ||||
|     max_num 1 | ||||
|     base_on_project 1 | ||||
|     homework_common nil | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| #coding=utf-8 | ||||
| # | ||||
| #:author_id, :budget, :deadline, :name, :description, :homework_type, :password | ||||
| 
 | ||||
| # FactoryGirl.define do | ||||
| #   factory :homework, class: Bid do | ||||
| #     name "test homework" | ||||
| #     budget 0 | ||||
| #     deadline {(Time.now+1.days).strftime('%Y-%m-%d')} | ||||
| #     description "description" | ||||
| #     homework_type 3 | ||||
| #     reward_type 3 | ||||
| #   end | ||||
| # | ||||
| #   factory :homework_attach, class: HomeworkAttach do | ||||
| #   end | ||||
| # end | ||||
| #coding=utf-8 | ||||
| # | ||||
| #:author_id, :budget, :deadline, :name, :description, :homework_type, :password | ||||
| 
 | ||||
| # FactoryGirl.define do | ||||
| #   factory :homework, class: Bid do | ||||
| #     name "test homework" | ||||
| #     budget 0 | ||||
| #     deadline {(Time.now+1.days).strftime('%Y-%m-%d')} | ||||
| #     description "description" | ||||
| #     homework_type 3 | ||||
| #     reward_type 3 | ||||
| #   end | ||||
| # | ||||
| #   factory :homework_attach, class: HomeworkAttach do | ||||
| #   end | ||||
| # end | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| FactoryGirl.define do | ||||
|   factory :invite_list do | ||||
|     project_id 1 | ||||
| user_id 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| FactoryGirl.define do | ||||
|   factory :invite_list do | ||||
|     project_id 1 | ||||
| user_id 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,10 +1,10 @@ | ||||
| FactoryGirl.define do | ||||
|   factory :memo_message do | ||||
|     user_id 1 | ||||
| forum_id 1 | ||||
| memo_id 1 | ||||
| memo_type "MyString" | ||||
| viewed 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| FactoryGirl.define do | ||||
|   factory :memo_message do | ||||
|     user_id 1 | ||||
| forum_id 1 | ||||
| memo_id 1 | ||||
| memo_type "MyString" | ||||
| viewed 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| FactoryGirl.define do | ||||
|   factory :message_all do | ||||
|     user_id 1 | ||||
| message_id 1 | ||||
| message_type "MyString" | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| FactoryGirl.define do | ||||
|   factory :message_all do | ||||
|     user_id 1 | ||||
| message_id 1 | ||||
| message_type "MyString" | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| FactoryGirl.define do | ||||
|   factory :onclick_time do | ||||
|     user_id 1 | ||||
| onclick_time "2015-09-06 14:57:02" | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| FactoryGirl.define do | ||||
|   factory :onclick_time do | ||||
|     user_id 1 | ||||
| onclick_time "2015-09-06 14:57:02" | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| FactoryGirl.define do | ||||
|   factory :org_activity do | ||||
|      | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| FactoryGirl.define do | ||||
|   factory :org_activity do | ||||
|      | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,11 +1,11 @@ | ||||
| FactoryGirl.define do | ||||
|   factory :org_document_comment do | ||||
|     title "MyString" | ||||
| content "MyText" | ||||
| organization_id 1 | ||||
| creator_id 1 | ||||
| parent_id 1 | ||||
| reply_id 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| FactoryGirl.define do | ||||
|   factory :org_document_comment do | ||||
|     title "MyString" | ||||
| content "MyText" | ||||
| organization_id 1 | ||||
| creator_id 1 | ||||
| parent_id 1 | ||||
| reply_id 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| FactoryGirl.define do | ||||
|   factory :org_member do | ||||
|     user_id 1 | ||||
| organization_id 1 | ||||
| role "MyString" | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| FactoryGirl.define do | ||||
|   factory :org_member do | ||||
|     user_id 1 | ||||
| organization_id 1 | ||||
| role "MyString" | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,10 +1,10 @@ | ||||
| # Read about factories at https://github.com/thoughtbot/factory_girl | ||||
| 
 | ||||
| FactoryGirl.define do | ||||
|   factory :principal_activity do | ||||
|     user_id 1 | ||||
|     principal_id 1 | ||||
|     principal_act_id 1 | ||||
|     principal_act_type "MyString" | ||||
|   end | ||||
| end | ||||
| # Read about factories at https://github.com/thoughtbot/factory_girl | ||||
| 
 | ||||
| FactoryGirl.define do | ||||
|   factory :principal_activity do | ||||
|     user_id 1 | ||||
|     principal_id 1 | ||||
|     principal_act_id 1 | ||||
|     principal_act_type "MyString" | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| # Read about factories at https://github.com/thoughtbot/factory_girl | ||||
| 
 | ||||
| FactoryGirl.define do | ||||
|   factory :student_work_project do | ||||
|   end | ||||
| end | ||||
| # Read about factories at https://github.com/thoughtbot/factory_girl | ||||
| 
 | ||||
| FactoryGirl.define do | ||||
|   factory :student_work_project do | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| FactoryGirl.define do | ||||
|   factory :system_messages do | ||||
|     id 1 | ||||
| user_id 1 | ||||
| content "MyString" | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| FactoryGirl.define do | ||||
|   factory :system_messages do | ||||
|     id 1 | ||||
| user_id 1 | ||||
| content "MyString" | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,9 +1,9 @@ | ||||
| FactoryGirl.define do | ||||
|   factory :user_feedback_message do | ||||
|     user_id 1 | ||||
| journals_for_message_id 1 | ||||
| journals_for_message_type "MyString" | ||||
| viewed 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| FactoryGirl.define do | ||||
|   factory :user_feedback_message do | ||||
|     user_id 1 | ||||
| journals_for_message_id 1 | ||||
| journals_for_message_type "MyString" | ||||
| viewed 1 | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe AtMessage, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe AtMessage, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe AttachmentHistory, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe AttachmentHistory, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe CourseContributorScore, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe CourseContributorScore, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe CourseMessage, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe CourseMessage, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe Dts, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe Dts, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'spec_helper' | ||||
| 
 | ||||
| describe ForgeActivity do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'spec_helper' | ||||
| 
 | ||||
| describe ForgeActivity do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe ForgeMessage, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe ForgeMessage, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe HomeworkDetailGroup, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe HomeworkDetailGroup, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe InviteList, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe InviteList, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe MemoMessage, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe MemoMessage, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe MessageAll, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe MessageAll, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OnclickTime, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OnclickTime, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgActivity, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgActivity, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgDocumentComment, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgDocumentComment, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgMember, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe OrgMember, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'spec_helper' | ||||
| 
 | ||||
| describe Organization do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'spec_helper' | ||||
| 
 | ||||
| describe Organization do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'spec_helper' | ||||
| 
 | ||||
| describe PhoneAppVersion do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'spec_helper' | ||||
| 
 | ||||
| describe PhoneAppVersion do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe PrincipalActivity, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe PrincipalActivity, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe StudentWorkProject, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe StudentWorkProject, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe SystemMessage, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe SystemMessage, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe UserFeedbackMessage, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe UserFeedbackMessage, :type => :model do | ||||
|   pending "add some examples to (or delete) #{__FILE__}" | ||||
| end | ||||
|  | ||||
| @ -1,50 +1,50 @@ | ||||
| # This file is copied to spec/ when you run 'rails generate rspec:install' | ||||
| ENV['RAILS_ENV'] ||= 'test' | ||||
| require 'spec_helper' | ||||
| require File.expand_path('../../config/environment', __FILE__) | ||||
| require 'rspec/rails' | ||||
| # Add additional requires below this line. Rails is not loaded until this point! | ||||
| 
 | ||||
| # Requires supporting ruby files with custom matchers and macros, etc, in | ||||
| # spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are | ||||
| # run as spec files by default. This means that files in spec/support that end | ||||
| # in _spec.rb will both be required and run as specs, causing the specs to be | ||||
| # run twice. It is recommended that you do not name files matching this glob to | ||||
| # end with _spec.rb. You can configure this pattern with the --pattern | ||||
| # option on the command line or in ~/.rspec, .rspec or `.rspec-local`. | ||||
| # | ||||
| # The following line is provided for convenience purposes. It has the downside | ||||
| # of increasing the boot-up time by auto-requiring all files in the support | ||||
| # directory. Alternatively, in the individual `*_spec.rb` files, manually | ||||
| # require only the support files necessary. | ||||
| # | ||||
| # Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f } | ||||
| 
 | ||||
| RSpec.configure do |config| | ||||
|   # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures | ||||
|   config.fixture_path = "#{::Rails.root}/spec/fixtures" | ||||
| 
 | ||||
|   # If you're not using ActiveRecord, or you'd prefer not to run each of your | ||||
|   # examples within a transaction, remove the following line or assign false | ||||
|   # instead of true. | ||||
|   config.use_transactional_fixtures = true | ||||
| 
 | ||||
|   config.before(:suite) do | ||||
|     require_relative "seeds" | ||||
|   end | ||||
| 
 | ||||
|   # RSpec Rails can automatically mix in different behaviours to your tests | ||||
|   # based on their file location, for example enabling you to call `get` and | ||||
|   # `post` in specs under `spec/controllers`. | ||||
|   # | ||||
|   # You can disable this behaviour by removing the line below, and instead | ||||
|   # explicitly tag your specs with their type, e.g.: | ||||
|   # | ||||
|   #     RSpec.describe UsersController, :type => :controller do | ||||
|   #       # ... | ||||
|   #     end | ||||
|   # | ||||
|   # The different available types are documented in the features, such as in | ||||
|   # https://relishapp.com/rspec/rspec-rails/docs | ||||
|   config.infer_spec_type_from_file_location! | ||||
| end | ||||
| # This file is copied to spec/ when you run 'rails generate rspec:install' | ||||
| ENV['RAILS_ENV'] ||= 'test' | ||||
| require 'spec_helper' | ||||
| require File.expand_path('../../config/environment', __FILE__) | ||||
| require 'rspec/rails' | ||||
| # Add additional requires below this line. Rails is not loaded until this point! | ||||
| 
 | ||||
| # Requires supporting ruby files with custom matchers and macros, etc, in | ||||
| # spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are | ||||
| # run as spec files by default. This means that files in spec/support that end | ||||
| # in _spec.rb will both be required and run as specs, causing the specs to be | ||||
| # run twice. It is recommended that you do not name files matching this glob to | ||||
| # end with _spec.rb. You can configure this pattern with the --pattern | ||||
| # option on the command line or in ~/.rspec, .rspec or `.rspec-local`. | ||||
| # | ||||
| # The following line is provided for convenience purposes. It has the downside | ||||
| # of increasing the boot-up time by auto-requiring all files in the support | ||||
| # directory. Alternatively, in the individual `*_spec.rb` files, manually | ||||
| # require only the support files necessary. | ||||
| # | ||||
| # Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f } | ||||
| 
 | ||||
| RSpec.configure do |config| | ||||
|   # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures | ||||
|   config.fixture_path = "#{::Rails.root}/spec/fixtures" | ||||
| 
 | ||||
|   # If you're not using ActiveRecord, or you'd prefer not to run each of your | ||||
|   # examples within a transaction, remove the following line or assign false | ||||
|   # instead of true. | ||||
|   config.use_transactional_fixtures = true | ||||
| 
 | ||||
|   config.before(:suite) do | ||||
|     require_relative "seeds" | ||||
|   end | ||||
| 
 | ||||
|   # RSpec Rails can automatically mix in different behaviours to your tests | ||||
|   # based on their file location, for example enabling you to call `get` and | ||||
|   # `post` in specs under `spec/controllers`. | ||||
|   # | ||||
|   # You can disable this behaviour by removing the line below, and instead | ||||
|   # explicitly tag your specs with their type, e.g.: | ||||
|   # | ||||
|   #     RSpec.describe UsersController, :type => :controller do | ||||
|   #       # ... | ||||
|   #     end | ||||
|   # | ||||
|   # The different available types are documented in the features, such as in | ||||
|   # https://relishapp.com/rspec/rspec-rails/docs | ||||
|   config.infer_spec_type_from_file_location! | ||||
| end | ||||
|  | ||||
| @ -1,15 +1,15 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe "avatar request", type: :request do | ||||
|   describe "上传头像" do | ||||
|     let(:user){FactoryGirl.create(:user)} | ||||
| 
 | ||||
|     it "参数正确,可以成功上传头像" do | ||||
|       data = File.open("#{Rails.root}/spec/fixtures/test.jpg").read | ||||
|       binding.pry | ||||
|       post upload_avatar_path(source_type: 'User', source_id: user.id, filename: 'test.jpg') | ||||
|       expect(response).to have_http_status(:success) | ||||
|       expect(response.body).to include(/\/images\/avatars\/User\//) | ||||
|     end | ||||
|   end | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe "avatar request", type: :request do | ||||
|   describe "上传头像" do | ||||
|     let(:user){FactoryGirl.create(:user)} | ||||
| 
 | ||||
|     it "参数正确,可以成功上传头像" do | ||||
|       data = File.open("#{Rails.root}/spec/fixtures/test.jpg").read | ||||
|       binding.pry | ||||
|       post upload_avatar_path(source_type: 'User', source_id: user.id, filename: 'test.jpg') | ||||
|       expect(response).to have_http_status(:success) | ||||
|       expect(response.body).to include(/\/images\/avatars\/User\//) | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -1,88 +1,88 @@ | ||||
| require 'rails_helper' | ||||
| require 'shared_account_spec' | ||||
| 
 | ||||
| RSpec.describe "课程", :type => :request do | ||||
|   let(:course){FactoryGirl.attributes_for(:course)} | ||||
|   describe "创建课程" do | ||||
|     include_context "create user" | ||||
|     before { | ||||
|       shared_register | ||||
|       shared_update_user | ||||
|     } | ||||
|     context "参数正确,成功创建课程" do | ||||
|       before{ | ||||
|         # uu = current_user | ||||
|         # allow(User).to receive(:current).and_return(uu) | ||||
|         # allow(uu).to receive(:allowed_to?).and_return(123) | ||||
|         post courses_path,  | ||||
|           "course[name]"=> course[:name], | ||||
|           "class_period"=> course[:class_period], | ||||
|           "time"=> course[:time], | ||||
|           "term"=> course[:term], | ||||
|           "course[password]"=>course[:password], | ||||
|           "course[description]"=> course[:description], | ||||
|           "course[is_public]"=> course[:is_public], | ||||
|           "course[open_student]"=> course[:open_student] | ||||
|       } | ||||
|       it{expect(assigns(:course)).to be_instance_of(Course)} | ||||
|       it{expect(response).to redirect_to(settings_course_url(assigns(:course), course_type: 1))} | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   describe "配置课程" do | ||||
|     let (:course) {FactoryGirl.create(:course)} | ||||
| 
 | ||||
|     context "修改课程图片" do | ||||
|       include Rack::Test::Methods | ||||
|       let(:avatar) {Rack::Test::UploadedFile.new("#{Rails.root}/spec/fixtures/test.jpg",'image/jpg')} | ||||
| 
 | ||||
|       context "正常图片上传成功" do | ||||
|         subject(:resp) {post upload_avatar_path(source_type: 'Course', source_id: course.id, format: :json),"avatar"=>{image: avatar}} | ||||
|         it{ expect(subject).to be_ok } | ||||
|         it{ expect(subject.body).not_to be_empty } | ||||
|         it "状态要为0" do | ||||
|           o = ActiveSupport::JSON.decode(subject.body) | ||||
|           expect(o["status"]).to eq(0) | ||||
|         end | ||||
|         it "要回传图片地址" do | ||||
|           o = ActiveSupport::JSON.decode(subject.body) | ||||
|           expect(o["url"]).not_to be_empty | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|       context "不是图片,上传失败" do | ||||
|         let(:invalid_avatar) {Rack::Test::UploadedFile.new("#{Rails.root}/spec/fixtures/hah.txt",'text/plain')} | ||||
|         before do | ||||
|          resp = post upload_avatar_path(source_type: 'Course', source_id: course.id, format: :json),"avatar"=>{image: invalid_avatar} | ||||
|          @o = ActiveSupport::JSON.decode(resp.body) | ||||
|         end | ||||
|         it "状态不为0" do | ||||
|           expect(@o["status"]).not_to eq(0) | ||||
|         end | ||||
|         it "要回传错误信息" do | ||||
|           expect(@o["message"]).to be_include("图片") | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|       context "文件过大,上传失败" do | ||||
|         before do | ||||
|           big_file = Rack::Test::UploadedFile.new("#{Rails.root}/spec/fixtures/test.jpg",'image/jpg') | ||||
|           allow(ActionDispatch::Http::UploadedFile).to receive(:new).and_return(double('BigFile',size: 10*1024*1024, original_filename: 'rais.jpg', tempfile: nil)) | ||||
|           # trace = TracePoint.new(:call) do |tp| | ||||
|           #   p [tp.lineno, tp.defined_class, tp.method_id, tp.event] if tp.method_id == :post | ||||
|           # end | ||||
|          resp = post upload_avatar_path(source_type: 'Course', source_id: course.id, format: :json),'avatar[image]'=> big_file | ||||
|          @o = ActiveSupport::JSON.decode(resp.body) | ||||
|         end | ||||
|         it "状态不为0" do | ||||
|           expect(@o["status"]).not_to eq(0) | ||||
|         end | ||||
|         it "要回传错误信息" do | ||||
|           expect(@o["message"]).to be_include("大") | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| require 'rails_helper' | ||||
| require 'shared_account_spec' | ||||
| 
 | ||||
| RSpec.describe "课程", :type => :request do | ||||
|   let(:course){FactoryGirl.attributes_for(:course)} | ||||
|   describe "创建课程" do | ||||
|     include_context "create user" | ||||
|     before { | ||||
|       shared_register | ||||
|       shared_update_user | ||||
|     } | ||||
|     context "参数正确,成功创建课程" do | ||||
|       before{ | ||||
|         # uu = current_user | ||||
|         # allow(User).to receive(:current).and_return(uu) | ||||
|         # allow(uu).to receive(:allowed_to?).and_return(123) | ||||
|         post courses_path,  | ||||
|           "course[name]"=> course[:name], | ||||
|           "class_period"=> course[:class_period], | ||||
|           "time"=> course[:time], | ||||
|           "term"=> course[:term], | ||||
|           "course[password]"=>course[:password], | ||||
|           "course[description]"=> course[:description], | ||||
|           "course[is_public]"=> course[:is_public], | ||||
|           "course[open_student]"=> course[:open_student] | ||||
|       } | ||||
|       it{expect(assigns(:course)).to be_instance_of(Course)} | ||||
|       it{expect(response).to redirect_to(settings_course_url(assigns(:course), course_type: 1))} | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   describe "配置课程" do | ||||
|     let (:course) {FactoryGirl.create(:course)} | ||||
| 
 | ||||
|     context "修改课程图片" do | ||||
|       include Rack::Test::Methods | ||||
|       let(:avatar) {Rack::Test::UploadedFile.new("#{Rails.root}/spec/fixtures/test.jpg",'image/jpg')} | ||||
| 
 | ||||
|       context "正常图片上传成功" do | ||||
|         subject(:resp) {post upload_avatar_path(source_type: 'Course', source_id: course.id, format: :json),"avatar"=>{image: avatar}} | ||||
|         it{ expect(subject).to be_ok } | ||||
|         it{ expect(subject.body).not_to be_empty } | ||||
|         it "状态要为0" do | ||||
|           o = ActiveSupport::JSON.decode(subject.body) | ||||
|           expect(o["status"]).to eq(0) | ||||
|         end | ||||
|         it "要回传图片地址" do | ||||
|           o = ActiveSupport::JSON.decode(subject.body) | ||||
|           expect(o["url"]).not_to be_empty | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|       context "不是图片,上传失败" do | ||||
|         let(:invalid_avatar) {Rack::Test::UploadedFile.new("#{Rails.root}/spec/fixtures/hah.txt",'text/plain')} | ||||
|         before do | ||||
|          resp = post upload_avatar_path(source_type: 'Course', source_id: course.id, format: :json),"avatar"=>{image: invalid_avatar} | ||||
|          @o = ActiveSupport::JSON.decode(resp.body) | ||||
|         end | ||||
|         it "状态不为0" do | ||||
|           expect(@o["status"]).not_to eq(0) | ||||
|         end | ||||
|         it "要回传错误信息" do | ||||
|           expect(@o["message"]).to be_include("图片") | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|       context "文件过大,上传失败" do | ||||
|         before do | ||||
|           big_file = Rack::Test::UploadedFile.new("#{Rails.root}/spec/fixtures/test.jpg",'image/jpg') | ||||
|           allow(ActionDispatch::Http::UploadedFile).to receive(:new).and_return(double('BigFile',size: 10*1024*1024, original_filename: 'rais.jpg', tempfile: nil)) | ||||
|           # trace = TracePoint.new(:call) do |tp| | ||||
|           #   p [tp.lineno, tp.defined_class, tp.method_id, tp.event] if tp.method_id == :post | ||||
|           # end | ||||
|          resp = post upload_avatar_path(source_type: 'Course', source_id: course.id, format: :json),'avatar[image]'=> big_file | ||||
|          @o = ActiveSupport::JSON.decode(resp.body) | ||||
|         end | ||||
|         it "状态不为0" do | ||||
|           expect(@o["status"]).not_to eq(0) | ||||
|         end | ||||
|         it "要回传错误信息" do | ||||
|           expect(@o["message"]).to be_include("大") | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,13 +1,13 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe "Gitlab request", :type => :request do | ||||
| 
 | ||||
|   describe "get repository files" do | ||||
|     it "参数正确,可以获取正确列表 " do | ||||
|        api = Trustie::Gitlab::Api.new | ||||
|        trees = api.trees(11) | ||||
|        expect(trees).to be_instance_of(Array) | ||||
|     end | ||||
|   end | ||||
| end | ||||
| 
 | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe "Gitlab request", :type => :request do | ||||
| 
 | ||||
|   describe "get repository files" do | ||||
|     it "参数正确,可以获取正确列表 " do | ||||
|        api = Trustie::Gitlab::Api.new | ||||
|        trees = api.trees(11) | ||||
|        expect(trees).to be_instance_of(Array) | ||||
|     end | ||||
|   end | ||||
| end | ||||
| 
 | ||||
|  | ||||
| @ -1,52 +1,52 @@ | ||||
| require 'rails_helper' | ||||
| require 'shared_account_spec' | ||||
| 
 | ||||
| RSpec.describe "homework", type: :request do | ||||
|   include_context "create user" | ||||
|   let(:course) {FactoryGirl.create(:course, teacher: current_user)} | ||||
|   let(:homework){FactoryGirl.attributes_for(:homework)} | ||||
| 
 | ||||
|   before { | ||||
|     shared_register | ||||
|   } | ||||
|   describe "创建作业" do | ||||
|     before do  | ||||
|       post calls_create_homework_path(course_id: course.id), { | ||||
|                 bid: homework | ||||
|       } | ||||
|       @homework = assigns(:bid)  | ||||
|     end | ||||
|     it "参数正确,可以成功创建作业" do | ||||
|       expect(response).to redirect_to(course_homework_url(course.id)) | ||||
|     end | ||||
|     it {expect(course.homeworks).to_not be_empty} | ||||
|     it {expect(@homework.acts).to_not be_empty} | ||||
|     it {expect(@homework.watchers).to_not be_empty} | ||||
|     it {expect(@homework.attachments).to_not be_empty} | ||||
|   end | ||||
| 
 | ||||
|   describe "删除作业" do | ||||
|     before do | ||||
|       shared_login | ||||
|       post calls_create_homework_path(course_id: course.id), { | ||||
|                 bid: homework | ||||
|       } | ||||
|       @homework = assigns(:bid) | ||||
|       delete bids_homework_path(id: @homework.id) | ||||
|     end | ||||
|     it{expect(response).to redirect_to(course_homework_path(course.id))} | ||||
|     it "homework_for_courses应删除" do | ||||
|       expect(course.homeworks).to be_empty | ||||
|     end | ||||
|     it "相关活动也删除" do | ||||
|       expect(@homework.acts).to be_empty | ||||
|     end | ||||
|     it "watches 删除" do | ||||
|       expect(@homework.watchers).to be_empty | ||||
|     end | ||||
|     it "附件 删除" do | ||||
|       expect(@homework.attachments).to be_empty | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
| end | ||||
| require 'rails_helper' | ||||
| require 'shared_account_spec' | ||||
| 
 | ||||
| RSpec.describe "homework", type: :request do | ||||
|   include_context "create user" | ||||
|   let(:course) {FactoryGirl.create(:course, teacher: current_user)} | ||||
|   let(:homework){FactoryGirl.attributes_for(:homework)} | ||||
| 
 | ||||
|   before { | ||||
|     shared_register | ||||
|   } | ||||
|   describe "创建作业" do | ||||
|     before do  | ||||
|       post calls_create_homework_path(course_id: course.id), { | ||||
|                 bid: homework | ||||
|       } | ||||
|       @homework = assigns(:bid)  | ||||
|     end | ||||
|     it "参数正确,可以成功创建作业" do | ||||
|       expect(response).to redirect_to(course_homework_url(course.id)) | ||||
|     end | ||||
|     it {expect(course.homeworks).to_not be_empty} | ||||
|     it {expect(@homework.acts).to_not be_empty} | ||||
|     it {expect(@homework.watchers).to_not be_empty} | ||||
|     it {expect(@homework.attachments).to_not be_empty} | ||||
|   end | ||||
| 
 | ||||
|   describe "删除作业" do | ||||
|     before do | ||||
|       shared_login | ||||
|       post calls_create_homework_path(course_id: course.id), { | ||||
|                 bid: homework | ||||
|       } | ||||
|       @homework = assigns(:bid) | ||||
|       delete bids_homework_path(id: @homework.id) | ||||
|     end | ||||
|     it{expect(response).to redirect_to(course_homework_path(course.id))} | ||||
|     it "homework_for_courses应删除" do | ||||
|       expect(course.homeworks).to be_empty | ||||
|     end | ||||
|     it "相关活动也删除" do | ||||
|       expect(@homework.acts).to be_empty | ||||
|     end | ||||
|     it "watches 删除" do | ||||
|       expect(@homework.watchers).to be_empty | ||||
|     end | ||||
|     it "附件 删除" do | ||||
|       expect(@homework.attachments).to be_empty | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -1,40 +1,40 @@ | ||||
| require 'rails_helper' | ||||
| require 'shared_account_spec' | ||||
| 
 | ||||
| # "attachments"=>{"1"=>{"filename"=>"11.gif", "description"=>"", "is_public_checkbox"=>"1", "token"=>"33731.8a74e086d7716f89bc4fbac0606589c7"}} | ||||
| RSpec.describe "作业打包下载", :type => :request do | ||||
|   let(:student){FactoryGirl.create(:student)} | ||||
|   describe "单独下载某学生作业" do | ||||
|     include_context "create user" | ||||
|     before { | ||||
|       FactoryGirl.create(:user) | ||||
|       shared_login | ||||
|       @homework = FactoryGirl.create(:homework, author_id: current_user.id) | ||||
| 
 | ||||
|       @attch = HomeworkAttach.new | ||||
|       @attch.bid_id = @homework.id | ||||
|       @attch.user_id = student.id | ||||
|       @attachment = Attachment.new(:file => File.open(File.join(Rails.root, "spec/fixtures/test.jpg"))) | ||||
|       @attachment.author = User.current | ||||
|       @attachment.container_type = 'HomeworkAttach' | ||||
|       @attachment.container_id = @attch.id | ||||
|       @attachment.filename = "test.jpg" | ||||
|       @attachment.save | ||||
|       params = {"1"=>{"filename" => "test.jpg", "description" =>"",  | ||||
|                                           "is_public_checkbox"=>"1",  | ||||
|                                           "token" => "#{@attachment.id}.#{@attachment.digest}" } | ||||
|       } | ||||
|       @attch.save_attachments(params) | ||||
|       @attch.name = "test.jpg" | ||||
|       @attch.save! | ||||
|     } | ||||
|     it "正常下载" do | ||||
|       uu = current_user | ||||
|       allow(uu).to receive(:admin?).and_return(true) | ||||
|       allow(User).to receive(:current).and_return(uu) | ||||
|       get zipdown_download_user_homework_path, {homework:@attch.id} | ||||
|       expect(response).to have_http_status(:success) | ||||
|       expect(response.content_type).to eq(Mime::Type.new("applcation/zip",:zip)) | ||||
|     end | ||||
|   end | ||||
| end | ||||
| require 'rails_helper' | ||||
| require 'shared_account_spec' | ||||
| 
 | ||||
| # "attachments"=>{"1"=>{"filename"=>"11.gif", "description"=>"", "is_public_checkbox"=>"1", "token"=>"33731.8a74e086d7716f89bc4fbac0606589c7"}} | ||||
| RSpec.describe "作业打包下载", :type => :request do | ||||
|   let(:student){FactoryGirl.create(:student)} | ||||
|   describe "单独下载某学生作业" do | ||||
|     include_context "create user" | ||||
|     before { | ||||
|       FactoryGirl.create(:user) | ||||
|       shared_login | ||||
|       @homework = FactoryGirl.create(:homework, author_id: current_user.id) | ||||
| 
 | ||||
|       @attch = HomeworkAttach.new | ||||
|       @attch.bid_id = @homework.id | ||||
|       @attch.user_id = student.id | ||||
|       @attachment = Attachment.new(:file => File.open(File.join(Rails.root, "spec/fixtures/test.jpg"))) | ||||
|       @attachment.author = User.current | ||||
|       @attachment.container_type = 'HomeworkAttach' | ||||
|       @attachment.container_id = @attch.id | ||||
|       @attachment.filename = "test.jpg" | ||||
|       @attachment.save | ||||
|       params = {"1"=>{"filename" => "test.jpg", "description" =>"",  | ||||
|                                           "is_public_checkbox"=>"1",  | ||||
|                                           "token" => "#{@attachment.id}.#{@attachment.digest}" } | ||||
|       } | ||||
|       @attch.save_attachments(params) | ||||
|       @attch.name = "test.jpg" | ||||
|       @attch.save! | ||||
|     } | ||||
|     it "正常下载" do | ||||
|       uu = current_user | ||||
|       allow(uu).to receive(:admin?).and_return(true) | ||||
|       allow(User).to receive(:current).and_return(uu) | ||||
|       get zipdown_download_user_homework_path, {homework:@attch.id} | ||||
|       expect(response).to have_http_status(:success) | ||||
|       expect(response.content_type).to eq(Mime::Type.new("applcation/zip",:zip)) | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -1,18 +1,18 @@ | ||||
| if Role.count <= 0  | ||||
| ActiveRecord::Base.connection.execute( | ||||
| 
 | ||||
| %Q{ | ||||
| INSERT INTO `roles` (`id`, `name`, `position`, `assignable`, `builtin`, `permissions`, `issues_visibility`) | ||||
| VALUES | ||||
|   (1,'Non member',1,1,1,'---\n- :upload_attachments\n- :memos_attachments_download\n- :add_project\n- :projects_attachments_download\n- :add_course\n- :course_attachments_download\n- :view_course_files\n- :add_messages\n- :delete_own_messages\n- :view_calendar\n- :view_documents\n- :view_files\n- :view_gantt\n- :view_issues\n- :save_queries\n- :comment_news\n- :browse_repository\n- :view_changesets\n- :view_time_entries\n- :view_wiki_pages\n- :view_wiki_edits\n','default'), | ||||
|   (2,'Anonymous',2,1,2,'---\n- :memos_attachments_download\n- :view_course_files\n- :view_calendar\n- :view_documents\n- :view_files\n- :view_gantt\n- :view_issues\n- :browse_repository\n- :view_changesets\n- :view_time_entries\n- :view_wiki_pages\n- :view_wiki_edits\n','default'), | ||||
|   (3,'Manager',3,1,0,'---\n- :upload_attachments\n- :memos_attachments_download\n- :add_project\n- :edit_project\n- :close_project\n- :select_project_modules\n- :manage_members\n- :manage_versions\n- :add_subprojects\n- :is_manager\n- :projects_attachments_download\n- :as_teacher\n- :add_course\n- :edit_course\n- :close_course\n- :select_course_modules\n- :view_course_journals_for_messages\n- :course_attachments_download\n- :view_course_files\n- :view_homework_attaches\n- :quote_project\n- :manage_boards\n- :add_messages\n- :edit_messages\n- :edit_own_messages\n- :delete_messages\n- :delete_own_messages\n- :view_calendar\n- :view_code_review\n- :add_code_review\n- :edit_code_review\n- :delete_code_review\n- :assign_code_review\n- :code_review_setting\n- :add_documents\n- :edit_documents\n- :delete_documents\n- :view_documents\n- :manage_files\n- :view_files\n- :view_gantt\n- :manage_categories\n- :view_issues\n- :add_issues\n- :edit_issues\n- :manage_issue_relations\n- :manage_subtasks\n- :set_issues_private\n- :set_own_issues_private\n- :add_issue_notes\n- :edit_issue_notes\n- :edit_own_issue_notes\n- :view_private_notes\n- :set_notes_private\n- :move_issues\n- :delete_issues\n- :manage_public_queries\n- :save_queries\n- :view_issue_watchers\n- :add_issue_watchers\n- :delete_issue_watchers\n- :manage_news\n- :comment_news\n- :manage_repository\n- :browse_repository\n- :view_changesets\n- :commit_access\n- :manage_related_issues\n- :log_time\n- :view_time_entries\n- :edit_time_entries\n- :edit_own_time_entries\n- :manage_project_activities\n- :manage_wiki\n- :rename_wiki_pages\n- :delete_wiki_pages\n- :view_wiki_pages\n- :export_wiki_pages\n- :view_wiki_edits\n- :edit_wiki_pages\n- :delete_wiki_pages_attachments\n- :protect_wiki_pages\n','all'), | ||||
|   (4,'Developer',4,1,0,'---\n- :add_project\n- :manage_members\n- :manage_versions\n- :projects_attachments_download\n- :add_course\n- :edit_course\n- :close_course\n- :select_course_modules\n- :view_course_journals_for_messages\n- :course_attachments_download\n- :view_course_files\n- :view_homework_attaches\n- :paret_in_homework\n- :select_contest_modules\n- :quote_project\n- :contest_attachments_download\n- :manage_contestnotifications\n- :notificationcomment_contestnotifications\n- :manage_boards\n- :add_messages\n- :edit_own_messages\n- :delete_own_messages\n- :view_calendar\n- :view_documents\n- :do_dts\n- :manage_files\n- :view_files\n- :view_gantt\n- :manage_categories\n- :view_issues\n- :add_issues\n- :edit_issues\n- :manage_issue_relations\n- :manage_subtasks\n- :set_issues_private\n- :set_own_issues_private\n- :add_issue_notes\n- :edit_own_issue_notes\n- :view_private_notes\n- :set_notes_private\n- :move_issues\n- :manage_public_queries\n- :save_queries\n- :view_issue_watchers\n- :add_issue_watchers\n- :delete_issue_watchers\n- :manage_news\n- :comment_news\n- :manage_repository\n- :browse_repository\n- :view_changesets\n- :commit_access\n- :manage_related_issues\n- :log_time\n- :view_time_entries\n- :edit_own_time_entries\n- :view_wiki_pages\n- :export_wiki_pages\n- :view_wiki_edits\n- :protect_wiki_pages\n','default'), | ||||
|   (5,'Reporter',5,1,0,'---\n- :upload_attachments\n- :memos_attachments_download\n- :add_project\n- :projects_attachments_download\n- :add_course\n- :edit_course\n- :close_course\n- :select_course_modules\n- :view_course_journals_for_messages\n- :course_attachments_download\n- :view_course_files\n- :view_homework_attaches\n- :manage_boards\n- :add_messages\n- :edit_own_messages\n- :delete_own_messages\n- :view_calendar\n- :view_code_review\n- :add_documents\n- :view_documents\n- :view_files\n- :view_gantt\n- :view_issues\n- :add_issues\n- :add_issue_notes\n- :edit_own_issue_notes\n- :save_queries\n- :comment_news\n- :browse_repository\n- :view_changesets\n- :log_time\n- :view_time_entries\n- :view_wiki_pages\n- :export_wiki_pages\n- :view_wiki_edits\n- :edit_wiki_pages\n- :delete_wiki_pages_attachments\n','default'), | ||||
|   (7,'TeachingAsistant',6,1,0,'---\n- :add_project\n- :edit_project\n- :manage_members\n- :projects_attachments_download\n- :as_teacher\n- :add_course\n- :edit_course\n- :close_course\n- :select_course_modules\n- :view_course_journals_for_messages\n- :course_attachments_download\n- :view_course_files\n- :view_homework_attaches\n- :manage_boards\n- :add_messages\n- :delete_own_messages\n- :view_calendar\n- :view_documents\n- :manage_files\n- :view_files\n- :view_gantt\n- :view_issues\n- :add_issues\n- :add_issue_notes\n- :save_queries\n- :manage_news\n- :comment_news\n- :browse_repository\n- :view_changesets\n- :view_time_entries\n- :view_wiki_pages\n- :export_wiki_pages\n- :view_wiki_edits\n- :edit_wiki_pages\n- :delete_wiki_pages_attachments\n','default'), | ||||
|   (9,'Teacher',7,1,0,'---\n- :upload_attachments\n- :memos_attachments_download\n- :add_project\n- :edit_project\n- :close_project\n- :select_project_modules\n- :manage_members\n- :manage_versions\n- :add_subprojects\n- :projects_attachments_download\n- :as_teacher\n- :add_course\n- :edit_course\n- :close_course\n- :select_course_modules\n- :view_course_journals_for_messages\n- :course_attachments_download\n- :view_course_files\n- :view_homework_attaches\n- :manage_boards\n- :add_messages\n- :edit_messages\n- :edit_own_messages\n- :delete_messages\n- :delete_own_messages\n- :view_calendar\n- :add_documents\n- :edit_documents\n- :delete_documents\n- :view_documents\n- :manage_files\n- :view_files\n- :view_gantt\n- :manage_categories\n- :view_issues\n- :add_issues\n- :edit_issues\n- :manage_issue_relations\n- :manage_subtasks\n- :set_issues_private\n- :set_own_issues_private\n- :add_issue_notes\n- :edit_own_issue_notes\n- :view_private_notes\n- :set_notes_private\n- :move_issues\n- :delete_issues\n- :manage_public_queries\n- :save_queries\n- :view_issue_watchers\n- :add_issue_watchers\n- :delete_issue_watchers\n- :manage_news\n- :comment_news\n- :manage_repository\n- :browse_repository\n- :view_changesets\n- :commit_access\n- :manage_related_issues\n- :log_time\n- :view_time_entries\n- :edit_time_entries\n- :edit_own_time_entries\n- :manage_project_activities\n- :manage_wiki\n- :rename_wiki_pages\n- :delete_wiki_pages\n- :view_wiki_pages\n- :export_wiki_pages\n- :view_wiki_edits\n- :edit_wiki_pages\n- :delete_wiki_pages_attachments\n- :protect_wiki_pages\n','default'), | ||||
|   (10,'Student',8,1,0,'---\n- :upload_attachments\n- :memos_attachments_download\n- :add_project\n- :projects_attachments_download\n- :as_student\n- :add_course\n- :edit_course\n- :close_course\n- :select_course_modules\n- :view_course_journals_for_messages\n- :course_attachments_download\n- :view_course_files\n- :view_homework_attaches\n- :paret_in_homework\n- :manage_boards\n- :add_messages\n- :edit_own_messages\n- :delete_own_messages\n- :view_calendar\n- :view_documents\n- :view_files\n- :view_gantt\n- :view_issues\n- :add_issues\n- :add_issue_notes\n- :save_queries\n- :comment_news\n- :browse_repository\n- :view_changesets\n- :view_time_entries\n- :view_wiki_pages\n- :view_wiki_edits\n','default'); | ||||
| } | ||||
| 
 | ||||
| ) | ||||
| end | ||||
| if Role.count <= 0  | ||||
| ActiveRecord::Base.connection.execute( | ||||
| 
 | ||||
| %Q{ | ||||
| INSERT INTO `roles` (`id`, `name`, `position`, `assignable`, `builtin`, `permissions`, `issues_visibility`) | ||||
| VALUES | ||||
|   (1,'Non member',1,1,1,'---\n- :upload_attachments\n- :memos_attachments_download\n- :add_project\n- :projects_attachments_download\n- :add_course\n- :course_attachments_download\n- :view_course_files\n- :add_messages\n- :delete_own_messages\n- :view_calendar\n- :view_documents\n- :view_files\n- :view_gantt\n- :view_issues\n- :save_queries\n- :comment_news\n- :browse_repository\n- :view_changesets\n- :view_time_entries\n- :view_wiki_pages\n- :view_wiki_edits\n','default'), | ||||
|   (2,'Anonymous',2,1,2,'---\n- :memos_attachments_download\n- :view_course_files\n- :view_calendar\n- :view_documents\n- :view_files\n- :view_gantt\n- :view_issues\n- :browse_repository\n- :view_changesets\n- :view_time_entries\n- :view_wiki_pages\n- :view_wiki_edits\n','default'), | ||||
|   (3,'Manager',3,1,0,'---\n- :upload_attachments\n- :memos_attachments_download\n- :add_project\n- :edit_project\n- :close_project\n- :select_project_modules\n- :manage_members\n- :manage_versions\n- :add_subprojects\n- :is_manager\n- :projects_attachments_download\n- :as_teacher\n- :add_course\n- :edit_course\n- :close_course\n- :select_course_modules\n- :view_course_journals_for_messages\n- :course_attachments_download\n- :view_course_files\n- :view_homework_attaches\n- :quote_project\n- :manage_boards\n- :add_messages\n- :edit_messages\n- :edit_own_messages\n- :delete_messages\n- :delete_own_messages\n- :view_calendar\n- :view_code_review\n- :add_code_review\n- :edit_code_review\n- :delete_code_review\n- :assign_code_review\n- :code_review_setting\n- :add_documents\n- :edit_documents\n- :delete_documents\n- :view_documents\n- :manage_files\n- :view_files\n- :view_gantt\n- :manage_categories\n- :view_issues\n- :add_issues\n- :edit_issues\n- :manage_issue_relations\n- :manage_subtasks\n- :set_issues_private\n- :set_own_issues_private\n- :add_issue_notes\n- :edit_issue_notes\n- :edit_own_issue_notes\n- :view_private_notes\n- :set_notes_private\n- :move_issues\n- :delete_issues\n- :manage_public_queries\n- :save_queries\n- :view_issue_watchers\n- :add_issue_watchers\n- :delete_issue_watchers\n- :manage_news\n- :comment_news\n- :manage_repository\n- :browse_repository\n- :view_changesets\n- :commit_access\n- :manage_related_issues\n- :log_time\n- :view_time_entries\n- :edit_time_entries\n- :edit_own_time_entries\n- :manage_project_activities\n- :manage_wiki\n- :rename_wiki_pages\n- :delete_wiki_pages\n- :view_wiki_pages\n- :export_wiki_pages\n- :view_wiki_edits\n- :edit_wiki_pages\n- :delete_wiki_pages_attachments\n- :protect_wiki_pages\n','all'), | ||||
|   (4,'Developer',4,1,0,'---\n- :add_project\n- :manage_members\n- :manage_versions\n- :projects_attachments_download\n- :add_course\n- :edit_course\n- :close_course\n- :select_course_modules\n- :view_course_journals_for_messages\n- :course_attachments_download\n- :view_course_files\n- :view_homework_attaches\n- :paret_in_homework\n- :select_contest_modules\n- :quote_project\n- :contest_attachments_download\n- :manage_contestnotifications\n- :notificationcomment_contestnotifications\n- :manage_boards\n- :add_messages\n- :edit_own_messages\n- :delete_own_messages\n- :view_calendar\n- :view_documents\n- :do_dts\n- :manage_files\n- :view_files\n- :view_gantt\n- :manage_categories\n- :view_issues\n- :add_issues\n- :edit_issues\n- :manage_issue_relations\n- :manage_subtasks\n- :set_issues_private\n- :set_own_issues_private\n- :add_issue_notes\n- :edit_own_issue_notes\n- :view_private_notes\n- :set_notes_private\n- :move_issues\n- :manage_public_queries\n- :save_queries\n- :view_issue_watchers\n- :add_issue_watchers\n- :delete_issue_watchers\n- :manage_news\n- :comment_news\n- :manage_repository\n- :browse_repository\n- :view_changesets\n- :commit_access\n- :manage_related_issues\n- :log_time\n- :view_time_entries\n- :edit_own_time_entries\n- :view_wiki_pages\n- :export_wiki_pages\n- :view_wiki_edits\n- :protect_wiki_pages\n','default'), | ||||
|   (5,'Reporter',5,1,0,'---\n- :upload_attachments\n- :memos_attachments_download\n- :add_project\n- :projects_attachments_download\n- :add_course\n- :edit_course\n- :close_course\n- :select_course_modules\n- :view_course_journals_for_messages\n- :course_attachments_download\n- :view_course_files\n- :view_homework_attaches\n- :manage_boards\n- :add_messages\n- :edit_own_messages\n- :delete_own_messages\n- :view_calendar\n- :view_code_review\n- :add_documents\n- :view_documents\n- :view_files\n- :view_gantt\n- :view_issues\n- :add_issues\n- :add_issue_notes\n- :edit_own_issue_notes\n- :save_queries\n- :comment_news\n- :browse_repository\n- :view_changesets\n- :log_time\n- :view_time_entries\n- :view_wiki_pages\n- :export_wiki_pages\n- :view_wiki_edits\n- :edit_wiki_pages\n- :delete_wiki_pages_attachments\n','default'), | ||||
|   (7,'TeachingAsistant',6,1,0,'---\n- :add_project\n- :edit_project\n- :manage_members\n- :projects_attachments_download\n- :as_teacher\n- :add_course\n- :edit_course\n- :close_course\n- :select_course_modules\n- :view_course_journals_for_messages\n- :course_attachments_download\n- :view_course_files\n- :view_homework_attaches\n- :manage_boards\n- :add_messages\n- :delete_own_messages\n- :view_calendar\n- :view_documents\n- :manage_files\n- :view_files\n- :view_gantt\n- :view_issues\n- :add_issues\n- :add_issue_notes\n- :save_queries\n- :manage_news\n- :comment_news\n- :browse_repository\n- :view_changesets\n- :view_time_entries\n- :view_wiki_pages\n- :export_wiki_pages\n- :view_wiki_edits\n- :edit_wiki_pages\n- :delete_wiki_pages_attachments\n','default'), | ||||
|   (9,'Teacher',7,1,0,'---\n- :upload_attachments\n- :memos_attachments_download\n- :add_project\n- :edit_project\n- :close_project\n- :select_project_modules\n- :manage_members\n- :manage_versions\n- :add_subprojects\n- :projects_attachments_download\n- :as_teacher\n- :add_course\n- :edit_course\n- :close_course\n- :select_course_modules\n- :view_course_journals_for_messages\n- :course_attachments_download\n- :view_course_files\n- :view_homework_attaches\n- :manage_boards\n- :add_messages\n- :edit_messages\n- :edit_own_messages\n- :delete_messages\n- :delete_own_messages\n- :view_calendar\n- :add_documents\n- :edit_documents\n- :delete_documents\n- :view_documents\n- :manage_files\n- :view_files\n- :view_gantt\n- :manage_categories\n- :view_issues\n- :add_issues\n- :edit_issues\n- :manage_issue_relations\n- :manage_subtasks\n- :set_issues_private\n- :set_own_issues_private\n- :add_issue_notes\n- :edit_own_issue_notes\n- :view_private_notes\n- :set_notes_private\n- :move_issues\n- :delete_issues\n- :manage_public_queries\n- :save_queries\n- :view_issue_watchers\n- :add_issue_watchers\n- :delete_issue_watchers\n- :manage_news\n- :comment_news\n- :manage_repository\n- :browse_repository\n- :view_changesets\n- :commit_access\n- :manage_related_issues\n- :log_time\n- :view_time_entries\n- :edit_time_entries\n- :edit_own_time_entries\n- :manage_project_activities\n- :manage_wiki\n- :rename_wiki_pages\n- :delete_wiki_pages\n- :view_wiki_pages\n- :export_wiki_pages\n- :view_wiki_edits\n- :edit_wiki_pages\n- :delete_wiki_pages_attachments\n- :protect_wiki_pages\n','default'), | ||||
|   (10,'Student',8,1,0,'---\n- :upload_attachments\n- :memos_attachments_download\n- :add_project\n- :projects_attachments_download\n- :as_student\n- :add_course\n- :edit_course\n- :close_course\n- :select_course_modules\n- :view_course_journals_for_messages\n- :course_attachments_download\n- :view_course_files\n- :view_homework_attaches\n- :paret_in_homework\n- :manage_boards\n- :add_messages\n- :edit_own_messages\n- :delete_own_messages\n- :view_calendar\n- :view_documents\n- :view_files\n- :view_gantt\n- :view_issues\n- :add_issues\n- :add_issue_notes\n- :save_queries\n- :comment_news\n- :browse_repository\n- :view_changesets\n- :view_time_entries\n- :view_wiki_pages\n- :view_wiki_edits\n','default'); | ||||
| } | ||||
| 
 | ||||
| ) | ||||
| end | ||||
|  | ||||
| @ -1,42 +1,42 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.shared_context "create user" do  | ||||
|     let(:user) {FactoryGirl.attributes_for(:user)} | ||||
|     def shared_register | ||||
|        post register_path, user: user | ||||
|     end | ||||
| 
 | ||||
|     def shared_update_user | ||||
|       post my_account_url,  | ||||
|         login: user[:login], | ||||
|         identity: 0, | ||||
|         technical_title: "教授", | ||||
|         no: '', | ||||
|         "user[lastname]" => 'lastname', | ||||
|         "user[firstname]" => 'firstname', | ||||
|         enterprise_name: '', | ||||
|         gender: 1, | ||||
|         province: '', | ||||
|         occupation: "", | ||||
|         "user[mail]" => user[:mail], | ||||
|         "user[language]" => "zh", | ||||
|         province: '', | ||||
|         city: '', | ||||
|         "user[mail_notification]" => "all", | ||||
|         "user_extensions[birthday]" => '', | ||||
|         "user_extensions[gender]" => 1, | ||||
|         "user_extensions[brief_introduction]" => '', | ||||
|         "user_extensions[location]" => '', | ||||
|         "user_extensions[occupation]" => '', | ||||
|         "user_extensions[work_experience]" => '', | ||||
|         "user_extensions[zip_code]" => '' | ||||
|     end | ||||
| 
 | ||||
|     def shared_login | ||||
|       post signin_path, username: user[:login], password: user[:password] | ||||
|     end | ||||
| 
 | ||||
|     def current_user | ||||
|       User.find(session[:user_id]) | ||||
|     end | ||||
| end | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.shared_context "create user" do  | ||||
|     let(:user) {FactoryGirl.attributes_for(:user)} | ||||
|     def shared_register | ||||
|        post register_path, user: user | ||||
|     end | ||||
| 
 | ||||
|     def shared_update_user | ||||
|       post my_account_url,  | ||||
|         login: user[:login], | ||||
|         identity: 0, | ||||
|         technical_title: "教授", | ||||
|         no: '', | ||||
|         "user[lastname]" => 'lastname', | ||||
|         "user[firstname]" => 'firstname', | ||||
|         enterprise_name: '', | ||||
|         gender: 1, | ||||
|         province: '', | ||||
|         occupation: "", | ||||
|         "user[mail]" => user[:mail], | ||||
|         "user[language]" => "zh", | ||||
|         province: '', | ||||
|         city: '', | ||||
|         "user[mail_notification]" => "all", | ||||
|         "user_extensions[birthday]" => '', | ||||
|         "user_extensions[gender]" => 1, | ||||
|         "user_extensions[brief_introduction]" => '', | ||||
|         "user_extensions[location]" => '', | ||||
|         "user_extensions[occupation]" => '', | ||||
|         "user_extensions[work_experience]" => '', | ||||
|         "user_extensions[zip_code]" => '' | ||||
|     end | ||||
| 
 | ||||
|     def shared_login | ||||
|       post signin_path, username: user[:login], password: user[:password] | ||||
|     end | ||||
| 
 | ||||
|     def current_user | ||||
|       User.find(session[:user_id]) | ||||
|     end | ||||
| end | ||||
|  | ||||
| @ -1,91 +1,91 @@ | ||||
| require 'rubygems' | ||||
| require 'rspec/core' | ||||
| # require_relative 'support/spork_patch' | ||||
| 
 | ||||
| # This file was generated by the `rails generate rspec:install` command. Conventionally, all | ||||
| # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`. | ||||
| # The generated `.rspec` file contains `--require spec_helper` which will cause | ||||
| # this file to always be loaded, without a need to explicitly require it in any | ||||
| # files. | ||||
| # | ||||
| # Given that it is always loaded, you are encouraged to keep this file as | ||||
| # light-weight as possible. Requiring heavyweight dependencies from this file | ||||
| # will add to the boot time of your test suite on EVERY test run, even for an | ||||
| # individual file that may not need all of that loaded. Instead, consider making | ||||
| # a separate helper file that requires the additional dependencies and performs | ||||
| # the additional setup, and require it from the spec files that actually need | ||||
| # it. | ||||
| # | ||||
| # The `.rspec` file also contains a few flags that are not defaults but that | ||||
| # users commonly want. | ||||
| # | ||||
| # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration | ||||
| RSpec.configure do |config| | ||||
|   # rspec-expectations config goes here. You can use an alternate | ||||
|   # assertion/expectation library such as wrong or the stdlib/minitest | ||||
|   # assertions if you prefer. | ||||
|   config.expect_with :rspec do |expectations| | ||||
|     # This option will default to `true` in RSpec 4. It makes the `description` | ||||
|     # and `failure_message` of custom matchers include text for helper methods | ||||
|     # defined using `chain`, e.g.: | ||||
|     #     be_bigger_than(2).and_smaller_than(4).description | ||||
|     #     # => "be bigger than 2 and smaller than 4" | ||||
|     # ...rather than: | ||||
|     #     # => "be bigger than 2" | ||||
|     expectations.include_chain_clauses_in_custom_matcher_descriptions = true | ||||
|   end | ||||
| 
 | ||||
|   # rspec-mocks config goes here. You can use an alternate test double | ||||
|   # library (such as bogus or mocha) by changing the `mock_with` option here. | ||||
|   config.mock_with :rspec do |mocks| | ||||
|     # Prevents you from mocking or stubbing a method that does not exist on | ||||
|     # a real object. This is generally recommended, and will default to | ||||
|     # `true` in RSpec 4. | ||||
|     mocks.verify_partial_doubles = true | ||||
|   end | ||||
| 
 | ||||
| # The settings below are suggested to provide a good initial experience | ||||
| # with RSpec, but feel free to customize to your heart's content. | ||||
| =begin | ||||
|   # These two settings work together to allow you to limit a spec run | ||||
|   # to individual examples or groups you care about by tagging them with | ||||
|   # `:focus` metadata. When nothing is tagged with `:focus`, all examples | ||||
|   # get run. | ||||
|   config.filter_run :focus | ||||
|   config.run_all_when_everything_filtered = true | ||||
| 
 | ||||
|   # Limits the available syntax to the non-monkey patched syntax that is | ||||
|   # recommended. For more details, see: | ||||
|   #   - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax | ||||
|   #   - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/ | ||||
|   #   - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching | ||||
|   config.disable_monkey_patching! | ||||
| 
 | ||||
|   # Many RSpec users commonly either run the entire suite or an individual | ||||
|   # file, and it's useful to allow more verbose output when running an | ||||
|   # individual spec file. | ||||
|   if config.files_to_run.one? | ||||
|     # Use the documentation formatter for detailed output, | ||||
|     # unless a formatter has already been configured | ||||
|     # (e.g. via a command-line flag). | ||||
|     config.default_formatter = 'doc' | ||||
|   end | ||||
| 
 | ||||
|   # Print the 10 slowest examples and example groups at the | ||||
|   # end of the spec run, to help surface which specs are running | ||||
|   # particularly slow. | ||||
|   config.profile_examples = 10 | ||||
| 
 | ||||
|   # Run specs in random order to surface order dependencies. If you find an | ||||
|   # order dependency and want to debug it, you can fix the order by providing | ||||
|   # the seed, which is printed after each run. | ||||
|   #     --seed 1234 | ||||
|   config.order = :random | ||||
| 
 | ||||
|   # Seed global randomization in this process using the `--seed` CLI option. | ||||
|   # Setting this allows you to use `--seed` to deterministically reproduce | ||||
|   # test failures related to randomization by passing the same `--seed` value | ||||
|   # as the one that triggered the failure. | ||||
|   Kernel.srand config.seed | ||||
| =end | ||||
| end | ||||
| require 'rubygems' | ||||
| require 'rspec/core' | ||||
| # require_relative 'support/spork_patch' | ||||
| 
 | ||||
| # This file was generated by the `rails generate rspec:install` command. Conventionally, all | ||||
| # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`. | ||||
| # The generated `.rspec` file contains `--require spec_helper` which will cause | ||||
| # this file to always be loaded, without a need to explicitly require it in any | ||||
| # files. | ||||
| # | ||||
| # Given that it is always loaded, you are encouraged to keep this file as | ||||
| # light-weight as possible. Requiring heavyweight dependencies from this file | ||||
| # will add to the boot time of your test suite on EVERY test run, even for an | ||||
| # individual file that may not need all of that loaded. Instead, consider making | ||||
| # a separate helper file that requires the additional dependencies and performs | ||||
| # the additional setup, and require it from the spec files that actually need | ||||
| # it. | ||||
| # | ||||
| # The `.rspec` file also contains a few flags that are not defaults but that | ||||
| # users commonly want. | ||||
| # | ||||
| # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration | ||||
| RSpec.configure do |config| | ||||
|   # rspec-expectations config goes here. You can use an alternate | ||||
|   # assertion/expectation library such as wrong or the stdlib/minitest | ||||
|   # assertions if you prefer. | ||||
|   config.expect_with :rspec do |expectations| | ||||
|     # This option will default to `true` in RSpec 4. It makes the `description` | ||||
|     # and `failure_message` of custom matchers include text for helper methods | ||||
|     # defined using `chain`, e.g.: | ||||
|     #     be_bigger_than(2).and_smaller_than(4).description | ||||
|     #     # => "be bigger than 2 and smaller than 4" | ||||
|     # ...rather than: | ||||
|     #     # => "be bigger than 2" | ||||
|     expectations.include_chain_clauses_in_custom_matcher_descriptions = true | ||||
|   end | ||||
| 
 | ||||
|   # rspec-mocks config goes here. You can use an alternate test double | ||||
|   # library (such as bogus or mocha) by changing the `mock_with` option here. | ||||
|   config.mock_with :rspec do |mocks| | ||||
|     # Prevents you from mocking or stubbing a method that does not exist on | ||||
|     # a real object. This is generally recommended, and will default to | ||||
|     # `true` in RSpec 4. | ||||
|     mocks.verify_partial_doubles = true | ||||
|   end | ||||
| 
 | ||||
| # The settings below are suggested to provide a good initial experience | ||||
| # with RSpec, but feel free to customize to your heart's content. | ||||
| =begin | ||||
|   # These two settings work together to allow you to limit a spec run | ||||
|   # to individual examples or groups you care about by tagging them with | ||||
|   # `:focus` metadata. When nothing is tagged with `:focus`, all examples | ||||
|   # get run. | ||||
|   config.filter_run :focus | ||||
|   config.run_all_when_everything_filtered = true | ||||
| 
 | ||||
|   # Limits the available syntax to the non-monkey patched syntax that is | ||||
|   # recommended. For more details, see: | ||||
|   #   - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax | ||||
|   #   - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/ | ||||
|   #   - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching | ||||
|   config.disable_monkey_patching! | ||||
| 
 | ||||
|   # Many RSpec users commonly either run the entire suite or an individual | ||||
|   # file, and it's useful to allow more verbose output when running an | ||||
|   # individual spec file. | ||||
|   if config.files_to_run.one? | ||||
|     # Use the documentation formatter for detailed output, | ||||
|     # unless a formatter has already been configured | ||||
|     # (e.g. via a command-line flag). | ||||
|     config.default_formatter = 'doc' | ||||
|   end | ||||
| 
 | ||||
|   # Print the 10 slowest examples and example groups at the | ||||
|   # end of the spec run, to help surface which specs are running | ||||
|   # particularly slow. | ||||
|   config.profile_examples = 10 | ||||
| 
 | ||||
|   # Run specs in random order to surface order dependencies. If you find an | ||||
|   # order dependency and want to debug it, you can fix the order by providing | ||||
|   # the seed, which is printed after each run. | ||||
|   #     --seed 1234 | ||||
|   config.order = :random | ||||
| 
 | ||||
|   # Seed global randomization in this process using the `--seed` CLI option. | ||||
|   # Setting this allows you to use `--seed` to deterministically reproduce | ||||
|   # test failures related to randomization by passing the same `--seed` value | ||||
|   # as the one that triggered the failure. | ||||
|   Kernel.srand config.seed | ||||
| =end | ||||
| end | ||||
|  | ||||
| @ -1,22 +1,22 @@ | ||||
| # https://stackoverflow.com/questions/24030907/spork-0-9-2-and-rspec-3-0-0-uninitialized-constant-rspeccorecommandline-n/24085168#24085168 | ||||
| # https://github.com/manafire/spork/commit/38c79dcedb246daacbadb9f18d09f50cc837de51#diff-937afaa19ccfee172d722a05112a7c6fL6 | ||||
| 
 | ||||
|  class Spork::TestFramework::RSpec | ||||
|    def run_tests(argv, stderr, stdout) | ||||
|      if rspec1? | ||||
|        ::Spec::Runner::CommandLine.run( | ||||
|          ::Spec::Runner::OptionParser.parse(argv, stderr, stdout) | ||||
|        ) | ||||
|     elsif rspec3? | ||||
|       options = ::RSpec::Core::ConfigurationOptions.new(argv) | ||||
|       ::RSpec::Core::Runner.new(options).run(stderr, stdout) | ||||
|      else | ||||
|        ::RSpec::Core::CommandLine.new(argv).run(stderr, stdout) | ||||
|      end | ||||
|    end | ||||
| 
 | ||||
|   def rspec3? | ||||
|     return false if !defined?(::RSpec::Core::Version::STRING) | ||||
|     ::RSpec::Core::Version::STRING =~ /^3\./ | ||||
|   end | ||||
| end | ||||
| # https://stackoverflow.com/questions/24030907/spork-0-9-2-and-rspec-3-0-0-uninitialized-constant-rspeccorecommandline-n/24085168#24085168 | ||||
| # https://github.com/manafire/spork/commit/38c79dcedb246daacbadb9f18d09f50cc837de51#diff-937afaa19ccfee172d722a05112a7c6fL6 | ||||
| 
 | ||||
|  class Spork::TestFramework::RSpec | ||||
|    def run_tests(argv, stderr, stdout) | ||||
|      if rspec1? | ||||
|        ::Spec::Runner::CommandLine.run( | ||||
|          ::Spec::Runner::OptionParser.parse(argv, stderr, stdout) | ||||
|        ) | ||||
|     elsif rspec3? | ||||
|       options = ::RSpec::Core::ConfigurationOptions.new(argv) | ||||
|       ::RSpec::Core::Runner.new(options).run(stderr, stdout) | ||||
|      else | ||||
|        ::RSpec::Core::CommandLine.new(argv).run(stderr, stdout) | ||||
|      end | ||||
|    end | ||||
| 
 | ||||
|   def rspec3? | ||||
|     return false if !defined?(::RSpec::Core::Version::STRING) | ||||
|     ::RSpec::Core::Version::STRING =~ /^3\./ | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -1,11 +1,11 @@ | ||||
| # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html | ||||
| 
 | ||||
| # This model initially had no columns defined.  If you add columns to the | ||||
| # model remove the '{}' from the fixture names and add the columns immediately | ||||
| # below each fixture, per the syntax in the comments below | ||||
| # | ||||
| one: {} | ||||
| # column: value | ||||
| # | ||||
| two: {} | ||||
| #  column: value | ||||
| # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html | ||||
| 
 | ||||
| # This model initially had no columns defined.  If you add columns to the | ||||
| # model remove the '{}' from the fixture names and add the columns immediately | ||||
| # below each fixture, per the syntax in the comments below | ||||
| # | ||||
| one: {} | ||||
| # column: value | ||||
| # | ||||
| two: {} | ||||
| #  column: value | ||||
|  | ||||
| @ -1,24 +1,24 @@ | ||||
| require File.expand_path('../../test_helper.rb',__FILE__) | ||||
| 
 | ||||
| class AuthTest < ActionDispatch::IntegrationTest | ||||
|   def setup | ||||
|     ApiKey.delete_all | ||||
|   end | ||||
| 
 | ||||
|   test "login success when use correct password" do | ||||
|     post('/api/v1/auth/login.json', {login: 'guange', password: '123456'}) | ||||
|     o = ActiveSupport::JSON.decode response.body | ||||
|     puts o | ||||
|     puts o["token"] | ||||
|     assert_not_nil o["token"] | ||||
|   end | ||||
| 
 | ||||
|   test "login failure when incorrect password" do | ||||
|     post('/api/v1/auth/login.json', {login: 'guange', password: 'wrongpass'}) | ||||
|     o = ActiveSupport::JSON.decode response.body | ||||
|     assert_nil o["token"] | ||||
|     assert_equal o["error"], 'Unauthorized.' | ||||
|   end | ||||
| end | ||||
| 
 | ||||
| 
 | ||||
| require File.expand_path('../../test_helper.rb',__FILE__) | ||||
| 
 | ||||
| class AuthTest < ActionDispatch::IntegrationTest | ||||
|   def setup | ||||
|     ApiKey.delete_all | ||||
|   end | ||||
| 
 | ||||
|   test "login success when use correct password" do | ||||
|     post('/api/v1/auth/login.json', {login: 'guange', password: '123456'}) | ||||
|     o = ActiveSupport::JSON.decode response.body | ||||
|     puts o | ||||
|     puts o["token"] | ||||
|     assert_not_nil o["token"] | ||||
|   end | ||||
| 
 | ||||
|   test "login failure when incorrect password" do | ||||
|     post('/api/v1/auth/login.json', {login: 'guange', password: 'wrongpass'}) | ||||
|     o = ActiveSupport::JSON.decode response.body | ||||
|     assert_nil o["token"] | ||||
|     assert_equal o["error"], 'Unauthorized.' | ||||
|   end | ||||
| end | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -1,12 +1,12 @@ | ||||
| require File.expand_path('../../test_helper.rb',__FILE__) | ||||
| 
 | ||||
| class UsersTest < ActionDispatch::IntegrationTest | ||||
|   test "register a user" do | ||||
|   end | ||||
|   test "get all users" do | ||||
|     get '/api/v1/users.json' | ||||
|     assert_response :success | ||||
|   end | ||||
| end | ||||
| 
 | ||||
| 
 | ||||
| require File.expand_path('../../test_helper.rb',__FILE__) | ||||
| 
 | ||||
| class UsersTest < ActionDispatch::IntegrationTest | ||||
|   test "register a user" do | ||||
|   end | ||||
|   test "get all users" do | ||||
|     get '/api/v1/users.json' | ||||
|     assert_response :success | ||||
|   end | ||||
| end | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| <<<<<<< HEAD:test/unit/bug_to_osp_test.rb | ||||
| require 'test_helper' | ||||
| 
 | ||||
| class BugToOspTest < ActiveSupport::TestCase | ||||
|   # test "the truth" do | ||||
|   #   assert true | ||||
|   # end | ||||
| end | ||||
| ======= | ||||
| require 'test_helper' | ||||
| 
 | ||||
| class CourseGroupTest < ActiveSupport::TestCase | ||||
|   # test "the truth" do | ||||
|   #   assert true | ||||
|   # end | ||||
| end | ||||
| >>>>>>> a09a3dc378c45f43f5c4b090479fa292a846f4f0:test/unit/course_group_test.rb | ||||
| <<<<<<< HEAD:test/unit/bug_to_osp_test.rb | ||||
| require 'test_helper' | ||||
| 
 | ||||
| class BugToOspTest < ActiveSupport::TestCase | ||||
|   # test "the truth" do | ||||
|   #   assert true | ||||
|   # end | ||||
| end | ||||
| ======= | ||||
| require 'test_helper' | ||||
| 
 | ||||
| class CourseGroupTest < ActiveSupport::TestCase | ||||
|   # test "the truth" do | ||||
|   #   assert true | ||||
|   # end | ||||
| end | ||||
| >>>>>>> a09a3dc378c45f43f5c4b090479fa292a846f4f0:test/unit/course_group_test.rb | ||||
|  | ||||
Some files were not shown because too many files have changed in this diff Show More
					Loading…
					
					
				
		Reference in new issue