diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 2c220c25b..51b7fa804 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -625,7 +625,7 @@ class ApplicationController < ActionController::Base @obj_count = obj.count @obj_pages = Paginator.new @obj_count, pre_size, params['page'] if obj.kind_of? ActiveRecord::Base or obj.kind_of? ActiveRecord::Relation - obj.limit(@obj_pages.per_page).offset(@obj_pages.offset).all + obj.limit(@obj_pages.per_page).offset(@obj_pages.offset) elsif obj.kind_of? Array obj[@obj_pages.offset, @obj_pages.per_page] else diff --git a/app/controllers/stores_controller.rb b/app/controllers/stores_controller.rb index 2790308ba..bff90c75f 100644 --- a/app/controllers/stores_controller.rb +++ b/app/controllers/stores_controller.rb @@ -1,14 +1,101 @@ +# encoding: utf-8 # Trustie - education management software # Copyright (C) 2013-2014 class StoresController < ApplicationController layout 'base_stores' - # menu_item :overview - # menu_item :roadmap, :only => :roadmap - # menu_item :settings, :only => :settings - # include ActsAsTaggableOn::TagsHelper + def search + name = params[:name] ||= '' + redirect_to stores_path, :notice => l(:field_course_un) if name.blank? + # 按文件名搜索 + result = Attachment.where("attachments.container_type IS NOT NULL AND filename LIKE '%" + name + "%' "). + reorder("created_on DESC") + # result = result.to_a + result.map { |res| + if(res.container.nil? || + (res.container.class.to_s=="Project" && res.container.is_public == false) || + (res.container.has_attribute?(:project) && res.container.project.is_public == false) || + (res.container.class.to_s=="HomeworkAttach" && res.container.bid.reward_type == 3) || + false + ) + result.delete(res) + end + } + @searched_attach = paginateHelper result + end + LIMIT = 12 unless const_defined?(:LIMIT) def index + @projects_attach = project_classification(0).take(LIMIT) + @courses_attach = project_classification(1).take(LIMIT) + # @projects_attach = Attachment.includes(:project).where("projects.project_type=? AND projects.is_public = ?", 0, 1). + # reorder("#{Attachment.table_name}.downloads DESC"). + # limit(LIMIT) + + # @courses_attach = Attachment.includes(:project).where("projects.project_type=? AND projects.is_public = ?", 1, 1). + # reorder("#{Attachment.table_name}.downloads DESC"). + # limit(LIMIT) + # 悲剧 下面竞赛里没文件 + # @homeworks_attach = Attachment. + # joins("LEFT JOIN homework_attaches ON homework_attaches.id=attachments.container_id + # LEFT JOIN bids ON homework_attaches.bid_id=bids.id"). + # where("container_type = 'HomeworkAttach' AND bids.reward_type <> 3"). + # reorder("downloads DESC"). + # limit(LIMIT) + @homeworks_attach = join_tools_project Message, 0 + @memos_attach = Attachment.where("container_type = 'Memo'"). + reorder("downloads DESC"). + limit(LIMIT) + @attach_array = Array.new + @attach_array.push(@projects_attach, @courses_attach, @homeworks_attach, @memos_attach) + @str_arr = [ l(:label_project_deposit), + l(:label_course_practice), + l(:label_borad_project), #l(:label_contest_innovate), + l(:label_forum) ] end + private + + def project_classification project_type=0 + # pro_attach = Attachment.joins("LEFT JOIN projects ON attachments.container_id = projects.id"). + # where("attachments.container_type='Project' AND projects.is_public=1 AND projects.project_type=#{project_type}"). + # reorder("downloads DESC"). + # limit(LIMIT) + pro_attach = join_tools_project Project, project_type + doc_attach = join_tools_project Document, project_type + issue_attach = join_tools_project Issue, project_type + mess_attach = []#join_tools_project Message, project_type + news_attach = join_tools_project News, project_type + vers_attach = join_tools_project Version, project_type + wiki_attach = join_tools_project WikiPage, project_type + + tmp = pro_attach + tmp = pro_attach+doc_attach+issue_attach+mess_attach+news_attach+vers_attach+wiki_attach + tmp.sort { |a, b| b.downloads <=> a.downloads } + end + def join_tools_project tableName, project_type=0 + Attachment.joins(str_join_table(tableName)). + where("attachments.container_type='#{tableName.to_s}' AND projects.is_public=1 AND projects.project_type=#{project_type}"). + reorder('downloads DESC'). + limit(LIMIT) + end + + def str_join_table tableClass + case tableClass.to_s + when 'Project' + "LEFT JOIN projects ON attachments.container_id = projects.id" + when 'Document', 'Issue', 'Version', 'News' # 连接子表即有 project_id 字段,即两层连接 + "LEFT JOIN #{tableClass.table_name} ON attachments.container_id = #{tableClass.table_name}.id + LEFT JOIN projects ON #{tableClass.table_name}.project_id = projects.id" + when 'Message' # 三层连接 + "LEFT JOIN #{tableClass.table_name} ON attachments.container_id = #{tableClass.table_name}.id + LEFT JOIN boards ON boards.id = #{tableClass.table_name}.board_id + LEFT JOIN projects ON boards.project_id = projects.id" + when 'WikiPage'# 三层连接 + "LEFT JOIN #{tableClass.table_name} ON attachments.container_id = #{tableClass.table_name}.id + LEFT JOIN wikis ON wikis.id = #{tableClass.table_name}.wiki_id + LEFT JOIN projects ON wikis.project_id = projects.id" + else + end + end end diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 63d5fea2a..12e1dee6d 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -268,7 +268,8 @@ module ProjectsHelper @projects << Project.visible.find_by_id("#{obj.project_id}")#where('id=:id', id: obj.project_id) end @projects - rescue NoMethodError + rescue NoMethodError => e + logger.error "Logger.Error [ProjectsHelper] ===> #sort_project_by_hot, NoMethodError: #{e}" [] end @@ -285,4 +286,7 @@ module ProjectsHelper WHERE project_type = 0 ORDER BY grade DESC LIMIT #{limit} ) AS t ON p.id = t.project_id ") end + def method_name + + end end diff --git a/app/helpers/stores_helper.rb b/app/helpers/stores_helper.rb new file mode 100644 index 000000000..26f1c7630 --- /dev/null +++ b/app/helpers/stores_helper.rb @@ -0,0 +1,137 @@ +module StoresHelper + def attachFromUrl attachment + container = attachment.container + case container.class.to_s + when 'Message' + board_message_path(container.board, container) + when 'Issue' + issue_path(container) + when 'Document' + document_path container + when 'HomeworkAttach' + bid_path(container.bid) + when 'Memo' + forum_memo_path(container.forum, container) + when 'News' + news_path(container) + when 'Project' + project_files_path(container) + when 'Version' + # version_path(container) + project_files_path(container.project) + when 'WikiPage' + project_wiki_path(container.project) + when 'Bid' + bid_path(container) + else + Rails.logger.error "ERROR: StoresHelper#attachUrl unkown type ==> #{container}" + '#' + end + end + + def result_come_from attachment + come_from_local(attachment).join(" > ").html_safe + end + + private + + WORD_LIMIT = 100 + def come_from_local attachment + + container = attachment.container + case container.class.to_s + when 'Message' + # '项目 > zzz > 论坛 > 帖子xxx' + # topic_str = container.project.project_type == 0 ? l(:label_board) : l(:label_new_course) + topic_list = link_to l(:label_board), project_boards_path(container.project) + topic_item = link_to container.subject.truncate(WORD_LIMIT, omission: '...'), board_message_path(container.board, container), title: container.subject + project_link(container.project).push(topic_list, topic_item) + when 'Issue' + # '项目 > zzz > 缺陷 > 问题xxx' + issue_list = link_to l(:label_project_issues), project_issues_path(container.project) + issue_item = link_to container.subject.truncate(WORD_LIMIT, omission: '...'), issue_path(container), title: container.subject + project_link(container.project).push(issue_list, issue_item) + when 'Document' + # '项目 > zzz > 文档 > 文档xxx' + doc_list = link_to l(:label_document), project_documents_path(container.project) + doc_item = link_to container.title.truncate(WORD_LIMIT, omission: '...'), document_path(container), title: container.title + project_link(container.project).push(doc_list, doc_item) + when 'News' + # '课程 > zzz > 新闻 > 新闻xxx' + news_str = container.project.project_type == 0 ? l(:label_news) : l(:label_course_news) + news_list = link_to news_str, project_news_index_path(container.project) + news_item = link_to container.title.truncate(WORD_LIMIT, omission: '...'), news_path(container), title: container.title + project_link(container.project).push(news_list, news_item) + when 'Project' + # '项目 > zzz ' + file_str = container.project.project_type == 0 ? l(:project_module_files) : l(:label_course_file) + files_list = link_to file_str, project_files_path(container.project) + project_link(container).push(files_list) + when 'Version' + # '项目 > zzz > 里程碑 > xxx' + ver_list = link_to l(:label_roadmap), project_roadmap_path(container.project) + files_list = link_to l(:label_course_file), project_files_path(container.project) + ver_item = link_to container.name.truncate(WORD_LIMIT, omission: '...'), version_path(container), title: container.name + project_link(container.project).push(ver_list, files_list, ver_item) + when 'WikiPage' + # '项目 > zzz > 维基 > xxx' 有点问题 + wiki_list = link_to l(:label_wiki), project_wiki_path(container.project) + project_link(container.project).push(wiki_list) + when 'HomeworkAttach' + # '课程 > zzz > 作业 > 作业xxx' + bid_link(container.bid) + when 'Memo' + # '贴吧 > 讨论区 > 帖子 xxx' + return [link_to(attachment.id, '#')] if container.forum.nil? + forums_list = link_to l(:label_forum), forums_path + memo_list = link_to container.forum.name, forum_path(container.forum) + memo_item = link_to container.subject, forum_memo_path(container.forum, container) + [forums_list, memo_list, memo_item] + when 'Bid' + # '竞赛 > xxx ' + bid_link(container) + else + Rails.logger.error "ERROR: attachment type unkown" + [link_to('unkown', '')] + end + end + + def project_link project + if project.nil? + Rails.logger.error "ERROR: attachment type unkown #project_link project.nil?" + return [link_to('unkown', '')] + end + project_list = nil + if project.project_type == 0 + project_list = link_to l(:label_project_plural), projects_path + else + project_list = link_to l(:label_new_course), course_path + end + project_item = link_to project.to_s, project_path(project) + [project_list, project_item] + end + + def bid_link bid + bid_list = nil + bid_item = nil + case bid.reward_type + when 1 # 众包 + bid_list = link_to l(:label_requirement_enterprise_list), calls_path + bid_item = link_to bid.name, respond_path(bid) + when 2 # 竞赛 + bid_list = link_to l(:label_contest_list), contest_path + bid_item = link_to bid.name, respond_path(bid) + when 3 # 作业 + if bid.courses.first.nil? + Rails.logger.error "ERROR: attachment type unkown #bid_link/when 3" + return [link_to('unkown', '#')] + end + bid_list = link_to l(:label_homework), project_homework_path(bid.courses.first) + bid_item = link_to bid.name, respond_path(bid) + return project_link(bid.courses.first).push(bid_list, bid_item) + else + xxx + end + [bid_list, bid_item] + end +end diff --git a/app/helpers/welcome_helper.rb b/app/helpers/welcome_helper.rb index 69b06aa12..154c2a98b 100644 --- a/app/helpers/welcome_helper.rb +++ b/app/helpers/welcome_helper.rb @@ -66,7 +66,7 @@ module WelcomeHelper begin grade = project.project_status.grade if project && project.project_status rescue Exception => e - logger.error "[WelcomeHelper] ===> #{e}" + logger.error "Logger.Error [WelcomeHelper] ===> #{e}" end "项目评分:".html_safe << grade.to_s end diff --git a/app/models/attachment.rb b/app/models/attachment.rb index eeab56242..144125174 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -20,6 +20,7 @@ require "fileutils" class Attachment < ActiveRecord::Base belongs_to :container, :polymorphic => true + belongs_to :project, foreign_key: 'container_id', conditions: "attachments.container_type = 'Project'" belongs_to :author, :class_name => "User", :foreign_key => "author_id" validates_presence_of :filename, :author diff --git a/app/models/project.rb b/app/models/project.rb index 1de3dbadc..06a3118be 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -150,6 +150,8 @@ class Project < ActiveRecord::Base where("LOWER(identifier) LIKE :p OR LOWER(name) LIKE :p ", :p => pattern) end } + scope :project_entities, -> { where(project_type: 0) } + scope :course_entities, -> { where(project_type: 1) } def new_course self.where('project_type = ?', 1) diff --git a/app/views/bids/contest.html.erb b/app/views/bids/contest.html.erb index 565e558d7..9cffe1172 100644 --- a/app/views/bids/contest.html.erb +++ b/app/views/bids/contest.html.erb @@ -1,5 +1,3 @@ - -
<%= form_tag(:controller => 'bids', :action => 'contest', :method => :get) do %> @@ -28,7 +26,6 @@
<% end %>
- @@ -46,6 +43,9 @@ <% if @bids.size > 0%> +
+ +
<%= sort_contest(@s_state)%>
<%= render :partial => 'contest_show', :locals => {:bids => @bids, :bid_pages => @bid_pages} %> diff --git a/app/views/files/index.html.erb b/app/views/files/index.html.erb index 2488e935c..89dc7e8ea 100644 --- a/app/views/files/index.html.erb +++ b/app/views/files/index.html.erb @@ -1,4 +1,59 @@ +
<% if @project.project_type == 1 %> @@ -14,32 +69,38 @@ <% delete_allowed = User.current.allowed_to?(:manage_files, @project) %> - +
+ + + + + + - <%= sort_header_tag('filename', :caption => l(:field_filename)) %> - <%= sort_header_tag('created_on', :caption => l(:label_date), :default_order => 'desc') %> - <%= sort_header_tag('size', :caption => l(:field_filesize), :default_order => 'desc') %> - <%= sort_header_tag('downloads', :caption => l(:field_downloads), :default_order => 'desc') %> - <%= sort_header_tag('description', :caption => l(:field_description)) %> - + <%= sort_header_tag('filename', :caption => l(:field_filename), :scope =>"col" , :id => "vzebra-adventure")%> + <%= sort_header_tag('created_on', :caption => l(:label_date), :default_order => 'desc', :scope =>"col" , :id => "vzebra-comedy")%> + <%= sort_header_tag('size', :caption => l(:field_filesize), :default_order => 'desc', :scope =>"col", :id=> "vzebra-children")%> + <%= sort_header_tag('downloads', :caption => l(:field_downloads), :default_order => 'desc', :scope =>"col", :id => "vzebra-action") %> + <%= sort_header_tag('downloads', :caption => "操作", :scope =>"col", :id => "vzebra-children") %> + <% @containers.each do |container| %> <% next if container.attachments.empty? -%> <% if container.is_a?(Version) -%> - <% end -%> <% container.attachments.each do |file| %> "> - + - + - +
- <%= link_to(h(container), {:controller => 'versions', :action => 'show', :id => container}, :class => "icon icon-package") %> + + <%= link_to(h(container), {:controller => 'versions', :action => 'show', :id => container}, :class => "icon icon-package", :style => "color: #666666;") %>
<%= link_to_attachment file, :download => true, :title => file.description %><%= link_to_attachment file, :download => true, :title => file.filename+"\n"+file.description, :style => "width: 230px; overflow: hidden; white-space: nowrap;text-overflow: ellipsis;" %> <%= format_time(file.created_on) %> <%= number_to_human_size(file.filesize) %> <%= file.downloads %><%= file.description %> <%= link_to(image_tag('delete.png'), attachment_path(file), :data => {:confirm => l(:text_are_you_sure)}, :method => :delete) if delete_allowed %> diff --git a/app/views/layouts/base_stores.html.erb b/app/views/layouts/base_stores.html.erb index 60e686f1a..00760263b 100644 --- a/app/views/layouts/base_stores.html.erb +++ b/app/views/layouts/base_stores.html.erb @@ -2,6 +2,7 @@ + <%= h html_title %> @@ -38,10 +39,11 @@
<%= link_to stores_url , stores_url %>

<%=link_to l(:label_home),home_path %> > <%=link_to l(:label_course_file),:controller => 'projects', :action => 'index', :project_type => 0 %> > <%=link_to @project, '' %>

<%=link_to l(:label_home),home_path %> > <%=link_to l(:label_course_file),stores_url %>

+ <%= render_flash_messages %>
<%= yield :top_field %>
@@ -50,7 +52,6 @@ <%= view_layouts_base_sidebar_hook_response %>
- <%= render_flash_messages %> <%= yield %> <%= call_hook :view_layouts_base_content %>
diff --git a/app/views/projects/course.html.erb b/app/views/projects/course.html.erb index f635e0867..3e82961c5 100644 --- a/app/views/projects/course.html.erb +++ b/app/views/projects/course.html.erb @@ -2,7 +2,6 @@ <%= auto_discovery_link_tag(:atom, {:action => 'index', :format => 'atom', :key => User.current.rss_key}) %> <% end %> -
<%= form_tag(:controller => 'projects', :action => 'search', :method => :get) do %> @@ -30,8 +29,13 @@
<% end %> -
- + + +
+
+
aaaa
+
+
<%= sort_course(@s_type, @project_type)%> diff --git a/app/views/projects/index.html.erb b/app/views/projects/index.html.erb index e9b780d0f..5264bda7f 100644 --- a/app/views/projects/index.html.erb +++ b/app/views/projects/index.html.erb @@ -2,12 +2,11 @@ <%= auto_discovery_link_tag(:atom, {:action => 'index', :format => 'atom', :key => User.current.rss_key}) %> <% end %> -
<%= form_tag(:controller => 'projects', :action => "search", :method => :get) do %> - +
<%= l(:label_project_deposit) %><%= l(:label_project_deposit) %> <%= l(:label_user_location) %> : <% if User.current.logged? %> @@ -28,9 +27,12 @@
<% end %> -
- - + +
+
+
a
+
+
<%= sort_project(@s_type, @project_type) %>
<%= render_project_hierarchy(@projects)%> diff --git a/app/views/stores/index.html.erb b/app/views/stores/index.html.erb index c282da570..5b20e5fbc 100644 --- a/app/views/stores/index.html.erb +++ b/app/views/stores/index.html.erb @@ -1,84 +1,34 @@ - - <% content_for :top_field do%> -
- <%= form_for('#', :remote => true) do |f| %> - <%= f.text_field :name, size:"100", placeholder:'请输入要搜索的关键字' %> - <%= f.submit value:"search", class:"whiteButton m3p10 h30"%> +
+ <%= form_tag( search_stores_path, method: 'post') do %> + <%= text_field_tag 'name', nil, size:"100", placeholder:'请输入要搜索的关键字', :class => 'blueinputbar', :required => true %> + <%= submit_tag l(:label_search), :class => "enterprise"%> <% end %>
<% end %> -<% content_for :sidebar do%> - this is sidebar in index.html.erb -<% end %> -
-<% 4.times do |c|%> +<% @attach_array.each do |k|%>
-

热门<%=c%>

+

+ <%= @str_arr.shift %> +

- - + + + - <% 5.times do |c1|%> + <% k.each do |c1|%> - - + + + <% end %> @@ -86,3 +36,15 @@ <% reset_cycle; end %> + \ No newline at end of file diff --git a/app/views/stores/search.html.erb b/app/views/stores/search.html.erb new file mode 100644 index 000000000..1bc63e783 --- /dev/null +++ b/app/views/stores/search.html.erb @@ -0,0 +1,80 @@ + +<% content_for :top_field do%> +
+ <%= form_tag( search_stores_path, method: 'post') do %> + <%= text_field_tag 'name', nil, size:"100", placeholder:'请输入要搜索的关键字', :value => params[:name] , :class => 'blueinputbar', :required => true %> + <%= submit_tag l(:label_search), :class => "enterprise"%> + <% end %> +
+<% end %> + +<% @searched_attach.each do |result| %> + +
文件名下载次数<%=l(:label_attachment)%><%=l(:field_downloads)%><%=l(:button_download)%>
<%=c1%><%=c1%> ti<%= link_to c1.filename, (attachFromUrl c1), {:title => c1.filename, :target => "_blank"} %> <%= c1.downloads %> + <%= link_to_attachment c1, {:text => image_tag("/images/button/download.png", width: "22px", alt: "l(:button_download)") }%> +
+ + + + + +
+
+ <%= result.filename %> + + <%= link_to_attachment result, {:text => image_tag("/images/button/dl.png", width: "70px", alt: l(:button_download), :class => 'download_icon')}%> + +
+ <%= result.description %> +
所属分类:<%=result_come_from result%>
+ + 下载:<%= result.downloads%>| + 大小:<%= number_to_human_size(result.filesize) %>| + 共享者:<%= link_to result.author, user_path(result.author), target: "_blank"%>| + 上传时间:<%= format_time(result.created_on) %> + +
+
+<% end %> + + diff --git a/config/routes.rb b/config/routes.rb index e32e67c7a..1d71474fe 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -16,7 +16,12 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. RedmineApp::Application.routes.draw do - resources :stores + resources :stores do + collection do + match 'search', via: [:get, :post] + end + end + resources :forums do collection do match 'search_forum', :via => [:get, :post] diff --git a/lib/redmine.rb b/lib/redmine.rb index e5928d2e8..cd13fddd0 100644 --- a/lib/redmine.rb +++ b/lib/redmine.rb @@ -204,6 +204,7 @@ Redmine::MenuManager.map :top_menu do |menu| menu.push :contest_innovate, {:controller => 'bids', :action => 'contest', :project_type => 1} menu.push :requirement_enterprise, {:controller => 'bids', :action => 'index'} menu.push :project_module_forums, :forums_path + menu.push :course_file, :stores_path # menu.push :investor, :home_path diff --git a/public/images/button/dl.png b/public/images/button/dl.png new file mode 100644 index 000000000..43b6ca486 Binary files /dev/null and b/public/images/button/dl.png differ diff --git a/public/images/button/download.png b/public/images/button/download.png new file mode 100644 index 000000000..1588a5af4 Binary files /dev/null and b/public/images/button/download.png differ diff --git a/public/images/button/download_focus.png b/public/images/button/download_focus.png new file mode 100644 index 000000000..5bad4fc6b Binary files /dev/null and b/public/images/button/download_focus.png differ diff --git a/public/stylesheets/nyan.css b/public/stylesheets/nyan.css index 2bf095e4f..a2a079bac 100644 --- a/public/stylesheets/nyan.css +++ b/public/stylesheets/nyan.css @@ -11,6 +11,26 @@ .ph10_5{ /*padding horizontal 10% 5%*/ padding: 0px 5% 0px 10%; } +.clear_both{ + clear: both; +} +.highlight { + background-color: #fff34d; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-box-shadow: 0px 1px 2px rgba(0,0,0,0.7); + -webkit-box-shadow: 0px 1px 2px rgba(0,0,0,0.7); + box-shadow: 0px 1px 2px rgba(0,0,0,0.7); + color: #cc0033; + /*padding: 1px 3px;*/ + /*margin: 0 -4px;*/ + filter: alpha(opacity=70); + -moz-opacity: 0.7; + -webkit-opacity: 0.7; + opacity: 0.7; +} + * { font-family: Helvetica, Tahoma, Arial, "Microsoft YaHei", "微软雅黑", SimSun, "宋体", STXihei, "华文细黑", Heiti, "黑体", sans-serif; } @@ -341,3 +361,137 @@ table.content-text-list tbody tr td.locked, div.memo-section .locked{ font-size: 1.5em; padding-left: 4%; } +/* xx动态框 +*******************************************************************************/ +.project_acts *{border:1px solid #000000;} +.project_acts{ + height: 250px; + +} +.project_acts .project_acts_left{ + float: left; + height: 100%; + width: 61%; +} +.project_acts .project_acts_right{ + height: 100%; + margin-left: 61%; +} +/* stores 资源库 +*******************************************************************************/ +.line_block { + display: inline-block; + width: 49%; + margin: 10px auto; + vertical-align: top; + padding: 0px 2%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -box-sizing: border-box; +} +.resource_sum{ + height: auto; +} +.line_block p{ + margin: 1em 0px auto; + /*background: linear-gradient(#ffffff, #e5e5e5) repeat scroll 0% 0% transparent;*/ + border-bottom: 1px solid rgb(226,226,226); + border-top-left-radius : 6px; + border-top-right-radius : 6px; + box-shadow: 0px 1px 0px white, 0px, -1px 0px rgb(245,245,245); + height: 39px; + font-size: 15px; + line-height: 26px; + height: 30px; + font-size: 1.5em; + padding-left: 4%; + border-bottom: 1px solid rgb(21, 165, 200); +} +.resource_sum, .line_blo{ + border: 1px solid #eeeeee; +} +.line_block table{ + border: 1px solid #eeeeee; +} +.line_block table thead tr{ + /*background-color: #d1d1d1;*/ + text-align: center; +} +.line_block table td{ + height: 2em; +} +.filename { + + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + max-width: 247px; +} +.blue-color, .blue-color a{ + color: rgb(109,153,178); +} +.gray-color, .gray-color a{ + color: rgb(153,153,153); +} +#top_field { + max-width: 100%; + margin: 20px auto; +} +.blueinputbar{ + -o-transform-origin: 138px 46.5px; + -o-transition: background 0.2s cubic-bezier(0, 0, 1, 1); + -webkit-border-bottom-left-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-radius: 3px; + -webkit-border-top-left-radius: 3px; + -webkit-border-top-right-radius: 3px; + -webkit-transform-origin: 138px 46.5px; + -webkit-transition: background 0.2s cubic-bezier(0, 0, 1, 1); + -webkit-transition-delay: 0; + -webkit-transition-duration: 0.2s; + -webkit-transition-property: background; + -webkit-transition-timing-function: cubic-bezier(0, 0, 1, 1); + align-content: stretch; + align-items: stretch; + align-self: stretch; + background: #FFFFFF; + border-bottom: 1px solid #56B4EF; + border-left: 1px solid #56B4EF; + border-radius: 3px; + border-right: 1px solid #56B4EF; + border-top: 1px solid #56B4EF; + color: #333333; + justify-content: flex-start; + margin: 0px; + order: 0; + outline: #333333 0px; + overflow-wrap: break-word; + resize: none; + text-shadow: none; + transform-origin: 138px 46.5px; + transition: background 0.2s cubic-bezier(0, 0, 1, 1); + unicode-bidi: embed; + vertical-align: top; + word-wrap: break-word; +} +input.blueinputbar:focus { + box-shadow: rgba(0, 0, 0, 0.047) 0px 1px 3px 0px inset, rgba(82, 168, 236, 0.600) 0px 0px 5px 0px; + border-bottom: 1px solid #56B4EF; + border-left: 1px solid #56B4EF; + border-radius: 3px; + border-right: 1px solid #56B4EF; + border-top: 1px solid #56B4EF; +} +.r1 { + font-size:13px; + line-height: 1.7em; + overflow-wrap: break-word; + padding-bottom: 20px; + padding-left: 20px; + /*width: 50em;*/ +} +.r1 .cb { + font-size: 16px; + color: #3333cc; +} +