Merge branch 'szzh' of http://repository.trustie.net/xianbo/trustie2 into szzh
This commit is contained in:
commit
d9e04bab0a
|
@ -482,7 +482,7 @@ class BidsController < ApplicationController
|
||||||
#ended
|
#ended
|
||||||
end
|
end
|
||||||
|
|
||||||
if @bid.homework_type == 1
|
if @bid.homework_type
|
||||||
@homework = HomeworkAttach.new
|
@homework = HomeworkAttach.new
|
||||||
#@homework_list = @bid.homeworks
|
#@homework_list = @bid.homeworks
|
||||||
#增加作业按评分排序,
|
#增加作业按评分排序,
|
||||||
|
|
|
@ -119,6 +119,7 @@ class IssuesController < ApplicationController
|
||||||
@time_entry = TimeEntry.new(:issue => @issue, :project => @issue.project)
|
@time_entry = TimeEntry.new(:issue => @issue, :project => @issue.project)
|
||||||
|
|
||||||
@project_base_tag = (params[:project_id] || @issue.project) ? 'base_projects':'base'#by young
|
@project_base_tag = (params[:project_id] || @issue.project) ? 'base_projects':'base'#by young
|
||||||
|
@available_watchers = (@issue.project.users.sort + @issue.watcher_users).uniq
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html {
|
format.html {
|
||||||
|
@ -194,6 +195,30 @@ class IssuesController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
if saved
|
if saved
|
||||||
|
|
||||||
|
#修改界面增加跟踪者
|
||||||
|
watcherlist = @issue.watcher_users
|
||||||
|
select_users = []
|
||||||
|
if params[:issue]
|
||||||
|
if params[:issue][:watcher_user_ids]
|
||||||
|
params[:issue][:watcher_user_ids].each do |user_id|
|
||||||
|
select_users << User.find(user_id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
select_users.each do |user|
|
||||||
|
if watcherlist.include? user
|
||||||
|
else
|
||||||
|
@issue.add_watcher user
|
||||||
|
end
|
||||||
|
end
|
||||||
|
watcherlist.each do |user|
|
||||||
|
if select_users.include? user
|
||||||
|
else
|
||||||
|
@issue.remove_watcher user
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
render_attachment_warning_if_needed(@issue)
|
render_attachment_warning_if_needed(@issue)
|
||||||
reply_id = params[:reference_user_id].to_i
|
reply_id = params[:reference_user_id].to_i
|
||||||
if reply_id > 0
|
if reply_id > 0
|
||||||
|
|
|
@ -513,6 +513,7 @@ class ProjectsController < ApplicationController
|
||||||
@trackers = Tracker.sorted.all
|
@trackers = Tracker.sorted.all
|
||||||
@project = Project.new
|
@project = Project.new
|
||||||
@project.user_id = User.current.id
|
@project.user_id = User.current.id
|
||||||
|
@project.dts_test = params[:project][:dts_test]
|
||||||
@project.safe_attributes = params[:project]
|
@project.safe_attributes = params[:project]
|
||||||
if @course_tag == '1'
|
if @course_tag == '1'
|
||||||
@project.identifier = @course.extra
|
@project.identifier = @course.extra
|
||||||
|
@ -574,10 +575,11 @@ class ProjectsController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
#@project.memberships.create
|
||||||
if validate_parent_id && @project.save
|
if validate_parent_id && @project.save
|
||||||
@project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id')
|
@project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id')
|
||||||
# Add current user as a project member if he is not admin
|
# Add current user as a project member if he is not admin
|
||||||
unless User.current.admin?
|
#unless User.current.admin?
|
||||||
r = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first
|
r = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first
|
||||||
m = Member.new(:user => User.current, :roles => [r])
|
m = Member.new(:user => User.current, :roles => [r])
|
||||||
project = ProjectInfo.new(:user_id => User.current.id, :project_id => @project.id)
|
project = ProjectInfo.new(:user_id => User.current.id, :project_id => @project.id)
|
||||||
|
@ -587,7 +589,7 @@ class ProjectsController < ApplicationController
|
||||||
end
|
end
|
||||||
@project.members << m
|
@project.members << m
|
||||||
@project.project_infos << project
|
@project.project_infos << project
|
||||||
end
|
#end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html {
|
format.html {
|
||||||
flash[:notice] = l(:notice_successful_create)
|
flash[:notice] = l(:notice_successful_create)
|
||||||
|
@ -844,6 +846,7 @@ class ProjectsController < ApplicationController
|
||||||
|
|
||||||
def update
|
def update
|
||||||
@project.safe_attributes = params[:project]
|
@project.safe_attributes = params[:project]
|
||||||
|
@project.dts_test = params[:project][:dts_test]
|
||||||
if validate_parent_id && @project.save
|
if validate_parent_id && @project.save
|
||||||
@course = Course.find_by_extra(@project.identifier)
|
@course = Course.find_by_extra(@project.identifier)
|
||||||
unless @course.nil?
|
unless @course.nil?
|
||||||
|
|
|
@ -329,7 +329,7 @@ class UsersController < ApplicationController
|
||||||
when 'xml', 'json'
|
when 'xml', 'json'
|
||||||
@offset, @limit = api_offset_and_limit({:limit => 15})
|
@offset, @limit = api_offset_and_limit({:limit => 15})
|
||||||
else
|
else
|
||||||
@limit = 15#per_page_option
|
@limit = 15#per_page_option
|
||||||
end
|
end
|
||||||
|
|
||||||
@status = params[:status] || 1
|
@status = params[:status] || 1
|
||||||
|
|
|
@ -108,6 +108,11 @@ class Course < ActiveRecord::Base
|
||||||
#description.gsub(/^(.{#{length}}[^\n\r]*).*$/m, '\1...').strip if description
|
#description.gsub(/^(.{#{length}}[^\n\r]*).*$/m, '\1...').strip if description
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# 课程的短名称信息
|
||||||
|
def short_name(length = 8)
|
||||||
|
name.gsub(/<\/?.*?>/,"").html_safe if name
|
||||||
|
end
|
||||||
|
|
||||||
def strip_html(html)
|
def strip_html(html)
|
||||||
return html if html.empty? || !html.include?('<')
|
return html if html.empty? || !html.include?('<')
|
||||||
output = ""
|
output = ""
|
||||||
|
@ -300,7 +305,7 @@ class Course < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
#项目与课程分离后,很多课程的名称等信息为空,这些数据信息存储在项目表中!!就是数据兼容的问题
|
#项目与课程分离后,很多课程的名称等信息为空,这些数据信息存储在项目表中!!就是数据兼容的问题
|
||||||
def name
|
#def name
|
||||||
read_attribute('name') || Project.find_by_identifier(self.extra).try(:name)
|
# read_attribute('name') || Project.find_by_identifier(self.extra).try(:name)
|
||||||
end
|
#end
|
||||||
end
|
end
|
||||||
|
|
|
@ -86,10 +86,12 @@
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td style="width: 300px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
|
||||||
<strong>开发项目</strong>:
|
<strong>开发项目</strong>:
|
||||||
<% if homework.project != nil %>
|
<% if homework.project != nil %>
|
||||||
|
<span title="<%= homework.project.name %>">
|
||||||
<%= link_to homework.project.name,project_path(homework.project.id)%>
|
<%= link_to homework.project.name,project_path(homework.project.id)%>
|
||||||
|
</span>
|
||||||
<% else %>
|
<% else %>
|
||||||
暂无
|
暂无
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<% if @bid.homework_type == Bid::HomeworkFile %>
|
<% if @bid.homework_type %>
|
||||||
<!-- 提交文件类型 -->
|
<!-- 提交文件类型 -->
|
||||||
<%= render :partial => 'homework' %>
|
<%= render :partial => 'homework' %>
|
||||||
|
|
||||||
|
|
|
@ -58,39 +58,65 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
<% if (@events_pages.page == @events_pages.last_page) %>
|
||||||
|
<div class="font_description">
|
||||||
|
<table width="660">
|
||||||
|
<tr>
|
||||||
|
<td><%= image_tag(url_to_avatar(@user), :class => "avatar") %></td>
|
||||||
|
<td colspan="2">
|
||||||
|
<table width="580">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<% if @canShowRealName %>
|
||||||
|
(<%= link_to_user(@user, @canShowRealName) %>
|
||||||
|
)
|
||||||
|
<% else %>
|
||||||
|
<%= link_to_user(@user)%>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<%= l(:label_user_create_project) %> <%= link_to @course.name %>
|
||||||
|
<strong> !</strong></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="font_lighter" style="float: right"><%= l :label_create_time %>
|
||||||
|
: <%= format_time(@course.created_at) %>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<%else%>
|
||||||
|
<div class="font_description">
|
||||||
|
<table width="660">
|
||||||
|
<tr>
|
||||||
|
<td><%= image_tag(url_to_avatar(@user), :class => "avatar") %></td>
|
||||||
|
<td colspan="2">
|
||||||
|
<table width="580">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<% if @canShowRealName %>
|
||||||
|
(<%= link_to_user(@user, @canShowRealName) %>
|
||||||
|
)
|
||||||
|
<% else %>
|
||||||
|
<%= link_to_user(@user)%>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<%= l(:label_user_create_project) %> <%= link_to @course.name %>
|
||||||
|
<strong> !</strong></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="font_lighter" style="float: right"><%= l :label_create_time %>
|
||||||
|
: <%= format_time(@course.created_at) %>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="font_description">
|
|
||||||
<table width="660">
|
|
||||||
<tr>
|
|
||||||
<td><%= image_tag(url_to_avatar(@user), :class => "avatar") %></td>
|
|
||||||
<td colspan="2">
|
|
||||||
<table width="580">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<%
|
|
||||||
#判断是否显示真名
|
|
||||||
if @canShowRealName
|
|
||||||
%>
|
|
||||||
<%= link_to (h @user.try(:name)), user_path(@user) if @user %>
|
|
||||||
(<%= link_to (h @user.try(:realname)), user_path(@user) if @user %>)
|
|
||||||
<% else %>
|
|
||||||
<%= link_to (h @user.try(:name)), user_path(@user) if @user %>
|
|
||||||
<% end %>
|
|
||||||
<%= l(:label_user_create_project) %> <%= link_to @course.name %>
|
|
||||||
<strong> !</strong></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="font_lighter" style="float: right"><%= l :label_create_time %>
|
|
||||||
: <%= format_time(@course.created_at) %>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
|
|
|
@ -24,6 +24,21 @@
|
||||||
<fieldset><legend><%= l(:label_attachment_plural) %></legend>
|
<fieldset><legend><%= l(:label_attachment_plural) %></legend>
|
||||||
<p><%= render :partial => 'attachments/form', :locals => {:container => @issue} %></p>
|
<p><%= render :partial => 'attachments/form', :locals => {:container => @issue} %></p>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
<div class="box tabular" >
|
||||||
|
<p id="watchers_form">
|
||||||
|
<label style="font-size: 15px;"><%= l(:label_issue_watchers) %></label>
|
||||||
|
<span id="watchers_inputs" style="font-size: 15px;">
|
||||||
|
<%= watchers_checkboxes(@issue, @available_watchers) %>
|
||||||
|
</span>
|
||||||
|
<span class="search_for_watchers" style="font-size: 15px;">
|
||||||
|
<%= link_to l(:label_search_for_watchers),
|
||||||
|
{:controller => 'watchers', :action => 'new', :project_id => @issue.project},
|
||||||
|
:remote => true,
|
||||||
|
:method => 'get' %>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%= f.hidden_field :lock_version %>
|
<%= f.hidden_field :lock_version %>
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
<ul class="course_sub_menu">
|
<ul class="course_sub_menu">
|
||||||
<% User.current.courses.each do |course| %>
|
<% User.current.courses.each do |course| %>
|
||||||
<% if !course_endTime_timeout?(course) %>
|
<% if !course_endTime_timeout?(course) %>
|
||||||
<li><%= link_to course.name, course_path(course) %></li>
|
<li><%= link_to course.name.truncate(10, omission: '...'), course_path(course) %></li>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -54,7 +54,7 @@
|
||||||
<li id="project_loggedas_li"><%= link_to l(:label_my_projects), {:controller => 'users', :action => 'user_projects', id: User.current.id, host: Setting.project_domain} %>
|
<li id="project_loggedas_li"><%= link_to l(:label_my_projects), {:controller => 'users', :action => 'user_projects', id: User.current.id, host: Setting.project_domain} %>
|
||||||
<ul class="project_sub_menu">
|
<ul class="project_sub_menu">
|
||||||
<% User.current.projects.each do |project| %>
|
<% User.current.projects.each do |project| %>
|
||||||
<li><%= link_to project.name, project_path(project) %></li>
|
<li><%= link_to project.name.truncate(10, omission: '...'), project_path(project) %></li>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -15,6 +15,9 @@
|
||||||
<!-- <p style="margin-left:-10px;"><%#= f.text_field :homepage, :size => 60, :style => "width:488px;margin-left: 10px;" %></p> --> <!-- by huang -->
|
<!-- <p style="margin-left:-10px;"><%#= f.text_field :homepage, :size => 60, :style => "width:488px;margin-left: 10px;" %></p> --> <!-- by huang -->
|
||||||
<p style="margin-left:-10px;"><em style ="color: #888888;display: block;font-size: 90%;font-style: normal;"><%= f.check_box :is_public, :style => "margin-left:10px;" %></em></p>
|
<p style="margin-left:-10px;"><em style ="color: #888888;display: block;font-size: 90%;font-style: normal;"><%= f.check_box :is_public, :style => "margin-left:10px;" %></em></p>
|
||||||
<p style="margin-left:-10px;"><em style ="color: #888888;display: block;font-size: 90%;font-style: normal;"><%= f.check_box :hidden_repo, :style => "margin-left:10px;" %></em></p>
|
<p style="margin-left:-10px;"><em style ="color: #888888;display: block;font-size: 90%;font-style: normal;"><%= f.check_box :hidden_repo, :style => "margin-left:10px;" %></em></p>
|
||||||
|
<p style="margin-left:-10px;"><em style ="color: #888888;display: block;font-size: 90%;font-style: normal;">
|
||||||
|
<%= f.check_box :dts_test, :style => "margin-left:10px;" %>
|
||||||
|
</em></p>
|
||||||
<p style="display:none;"><%= f.text_field :project_type, :value => 0 %></p>
|
<p style="display:none;"><%= f.text_field :project_type, :value => 0 %></p>
|
||||||
|
|
||||||
<%= wikitoolbar_for 'project_description' %>
|
<%= wikitoolbar_for 'project_description' %>
|
||||||
|
|
|
@ -14,7 +14,9 @@
|
||||||
<li><%= link_to l(:project_module_gantt) ,project_gantt_path(@project) %></li>
|
<li><%= link_to l(:project_module_gantt) ,project_gantt_path(@project) %></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul><h3>其他工具</h3>
|
<ul><h3>其他工具</h3>
|
||||||
<li><%= link_to l(:label_module_share) ,share_show_path(@project) %></li>
|
<% if @project.dts_test == 1 %>
|
||||||
|
<li><%= link_to l(:label_module_share) ,share_show_path(@project) %></li>
|
||||||
|
<% end %>
|
||||||
<li><%= link_to l(:project_module_documents), project_documents_path(@project) %></li>
|
<li><%= link_to l(:project_module_documents), project_documents_path(@project) %></li>
|
||||||
<li></li>
|
<li></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -5,17 +5,22 @@
|
||||||
<div class="box tabular">
|
<div class="box tabular">
|
||||||
|
|
||||||
<%= render :partial => 'course_form', :locals => { :f => f } %>
|
<%= render :partial => 'course_form', :locals => { :f => f } %>
|
||||||
<span style="padding-left: 60px"><%= submit_tag l(:button_create), :class => "enterprise"%></span>
|
<span style="padding-left: 60px">
|
||||||
<!-- <%= submit_tag l(:button_create_and_continue), :name => 'course_continue' %> -->
|
<%= submit_tag l(:button_create), :class => "enterprise"%>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<!-- <%#= submit_tag l(:button_create_and_continue), :name => 'course_continue' %> -->
|
||||||
<% else %>
|
<% else %>
|
||||||
<h3><%=l(:label_project_new)%></h3>
|
<h3><%=l(:label_project_new)%></h3>
|
||||||
<div class="box tabular" >
|
<div class="box tabular" >
|
||||||
<p style="font-weight: bold; color: rgb(237,137,36)"> <%=raw l(:label_project_new_description)%> </p>
|
<p style="font-weight: bold; color: rgb(237,137,36)"> <%=raw l(:label_project_new_description)%> </p>
|
||||||
<%= render :partial => 'form', :locals => { :f => f } %>
|
<%= render :partial => 'form', :locals => { :f => f } %>
|
||||||
<span style="padding-left: 60px"><%= submit_tag l(:button_create), :class => "enterprise"%></span>
|
<span style="padding-left: 60px">
|
||||||
<!-- <%= submit_tag l(:button_create_and_continue), :name => 'continue' %> -->
|
<%= submit_tag l(:button_create), :class => "enterprise"%>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<!-- <%#= submit_tag l(:button_create_and_continue), :name => 'continue' %> -->
|
||||||
<% end %>
|
<% end %>
|
||||||
<%= javascript_tag "$('#project_name').focus();" %>
|
<%= javascript_tag "$('#project_name').focus();" %>
|
||||||
</div>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
<!--Ended by young-->
|
<!--Ended by young-->
|
||||||
|
|
|
@ -1,77 +1,103 @@
|
||||||
<% if @events_by_day.size >0 %>
|
<% if @events_by_day.size >0 %>
|
||||||
<div class="content-title-top-avtive">
|
<div class="content-title-top-avtive">
|
||||||
<p class="subtitle">
|
<p class="subtitle">
|
||||||
<%= l(:label_date_from_to, :start => format_date(@date_to - @days), :end => format_date(@date_to-1)) %>
|
<%= l(:label_date_from_to, :start => format_date(@date_to - @days), :end => format_date(@date_to-1)) %>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<% @events_by_day.keys.sort.reverse.each do |day| %>
|
<% @events_by_day.keys.sort.reverse.each do |day| %>
|
||||||
<% sort_activity_events(@events_by_day[day]).each do |e, in_group| -%>
|
<% sort_activity_events(@events_by_day[day]).each do |e, in_group| -%>
|
||||||
<div class="activity-item underline-evreycontent" style="font-size: 14px;line-height:1.5em;">
|
<div class="activity-item underline-evreycontent" style="font-size: 14px;line-height:1.5em;">
|
||||||
<div class="activity-avatar" style="float: left; margin:3px; height: 100%;">
|
<div class="activity-avatar" style="float: left; margin:3px; height: 100%;">
|
||||||
<%= image_tag(url_to_avatar(e.event_author), :class => "avatar")%>
|
<%= image_tag(url_to_avatar(e.event_author), :class => "avatar") %>
|
||||||
</div>
|
</div>
|
||||||
<div class="activity-content" style="padding:5px 5px 5px 70px;">
|
<div class="activity-content" style="padding:5px 5px 5px 70px;">
|
||||||
<strong> <%= h(e.project) if @project.nil? || @project.id != e.project.id %></strong>
|
<strong> <%= h(e.project) if @project.nil? || @project.id != e.project.id %></strong>
|
||||||
<span class="activity-title font_lighter">
|
<span class="activity-title font_lighter">
|
||||||
<% if @canShowRealName %>
|
<% if @canShowRealName %>
|
||||||
<%= link_to_user(e.event_author) if e.respond_to?(:event_author) %>(<%= link_to_user(e.event_author,@canShowRealName) if e.respond_to?(:event_author) %>)
|
<%= link_to_user(e.event_author) if e.respond_to?(:event_author) %>
|
||||||
|
(<%= link_to_user(e.event_author, @canShowRealName) if e.respond_to?(:event_author) %>)
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= link_to_user(e.event_author) if e.respond_to?(:event_author) %>
|
<%= link_to_user(e.event_author) if e.respond_to?(:event_author) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= l(:label_new_activity) %>
|
<%= l(:label_new_activity) %>
|
||||||
</span>
|
</span>
|
||||||
<%= link_to "#{eventToLanguageCourse(e.event_type, @project)}: "<< format_activity_title(e.event_title), (e.event_type.eql?("attachment")&&e.container.kind_of?(Project)) ? project_files_path(e.container) : e.event_url %>
|
<%= link_to "#{eventToLanguageCourse(e.event_type, @project)}: "<< format_activity_title(e.event_title), (e.event_type.eql?("attachment")&&e.container.kind_of?(Project)) ? project_files_path(e.container) : e.event_url %>
|
||||||
|
|
||||||
|
<div class="activity_description info-break" style="font-size: 13px;">
|
||||||
|
<%= h(truncate(strip_tags(e.event_description).gsub(/ /, ' '), length: 30, omission: '...')) %>
|
||||||
|
</div>
|
||||||
|
<div class="activity_status" style="position:relative; padding-top: 3px;">
|
||||||
|
<span class="font_lighter"> <%= l :label_activity_time %>
|
||||||
|
: <%= format_activity_day(day) %> <%= format_time(e.event_datetime, false) %></span>
|
||||||
|
<% if e.event_type == "issue" %>
|
||||||
|
<div class="" style="display:inline-block;position:absolute; right:2%;">
|
||||||
|
<span> <%= link_to l(:label_find_all_comments), issue_path(e) %> </span><span class="font_lighter"><%= l(:label_comments_count, :count => e.journals.count) %></span>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="activity_description info-break" style="font-size: 13px;">
|
|
||||||
<%= h(truncate(strip_tags(e.event_description).gsub(/ /,' '), length: 30, omission:'...')) %>
|
|
||||||
</div>
|
|
||||||
<div class="activity_status" style="position:relative; padding-top: 3px;">
|
|
||||||
<span class="font_lighter"> <%= l :label_activity_time %>: <%= format_activity_day(day) %> <%= format_time(e.event_datetime, false) %></span>
|
|
||||||
<% if e.event_type == "issue" %>
|
|
||||||
<div class="" style="display:inline-block;position:absolute; right:2%;">
|
|
||||||
<span> <%= link_to l(:label_find_all_comments), issue_path(e) %> </span><span class="font_lighter"><%= l(:label_comments_count, :count => e.journals.count)%></span>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
<% end -%>
|
||||||
</div>
|
<% if (@events_pages.page == @events_pages.last_page) %>
|
||||||
</div>
|
<div class="activity-item underline-evreycontent" style="font-size: 14px;line-height:1.5em;">
|
||||||
|
<div class="activity-avatar" style="float: left; margin:3px; height: 100%;">
|
||||||
<% end %>
|
<%= image_tag(url_to_avatar(@user), :class => "avatar") %>
|
||||||
<% end -%>
|
</div>
|
||||||
<% if(@events_pages.page == @events_pages.last_page) %>
|
<div class="activity-content" style="padding:5px 5px 5px 70px;">
|
||||||
<div class="activity-item underline-evreycontent" style="font-size: 14px;line-height:1.5em;">
|
|
||||||
<div class="activity-avatar" style="float: left; margin:3px; height: 100%;">
|
|
||||||
<%= image_tag(url_to_avatar(@user), :class => "avatar") %>
|
|
||||||
</div>
|
|
||||||
<div class="activity-content" style="padding:5px 5px 5px 70px;">
|
|
||||||
<span class="activity-title font_lighter">
|
<span class="activity-title font_lighter">
|
||||||
<% if @canShowRealName %>
|
<% if @canShowRealName %>
|
||||||
<%= link_to (h @user.try(:name)), user_path(@user) if @user %>(<%= link_to (h @user.try(:realname)), user_path(@user) if @user %>)
|
(<%= link_to_user(@user, @canShowRealName) %>
|
||||||
<% else %>
|
)
|
||||||
<%= link_to (h @user.try(:name)), user_path(@user) if @user %>
|
<% else %>
|
||||||
<% end %>
|
<%= link_to_user(@user) %>
|
||||||
|
<% end %>
|
||||||
<%#= l(:label_new_activity) %>
|
<%#= l(:label_new_activity) %>
|
||||||
</span>
|
</span>
|
||||||
<%= l(:label_user_create_project) %> <%= link_to @project.name %><strong> !</strong>
|
<%= l(:label_user_create_project) %> <%= link_to @project.name %>
|
||||||
<div class="activity_description info-break" style="font-size: 13px;">
|
<strong> !</strong>
|
||||||
|
<div class="activity_description info-break" style="font-size: 13px;">
|
||||||
|
</div>
|
||||||
|
<div class="activity_status" style="position:relative; padding-top: 3px;">
|
||||||
|
<span class="font_lighter"><%= l :label_activity_time %>: <%= format_time(@project.created_on) %></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<% else %>
|
||||||
|
<div class="activity-item underline-evreycontent" style="font-size: 14px;line-height:1.5em;">
|
||||||
|
<div class="activity-avatar" style="float: left; margin:3px; height: 100%;">
|
||||||
|
<%= image_tag(url_to_avatar(@user), :class => "avatar") %>
|
||||||
</div>
|
</div>
|
||||||
<div class="activity_status" style="position:relative; padding-top: 3px;">
|
<div class="activity-content" style="padding:5px 5px 5px 70px;">
|
||||||
<span class="font_lighter"><%= l :label_activity_time %>: <%= format_time(@project.created_on) %></span>
|
<span class="activity-title font_lighter">
|
||||||
|
<% if @canShowRealName %>
|
||||||
|
(<%= link_to_user(@user, @canShowRealName) %>
|
||||||
|
)
|
||||||
|
<% else %>
|
||||||
|
<%= link_to_user(@user) %>
|
||||||
|
<% end %>
|
||||||
|
<%#= l(:label_new_activity) %>
|
||||||
|
</span>
|
||||||
|
<%= l(:label_user_create_project) %> <%= link_to @project.name %>
|
||||||
|
<strong> !</strong>
|
||||||
|
<div class="activity_description info-break" style="font-size: 13px;">
|
||||||
|
</div>
|
||||||
|
<div class="activity_status" style="position:relative; padding-top: 3px;">
|
||||||
|
<span class="font_lighter"><%= l :label_activity_time %>: <%= format_time(@project.created_on) %></span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<% end %>
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
<%end%>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
<ul>
|
<ul>
|
||||||
<%= pagination_links_full @events_pages%>
|
<%= pagination_links_full @events_pages %>
|
||||||
<% #binding.pry %>
|
<% #binding.pry %>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -50,8 +50,14 @@
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
function ssearch(){
|
function ssearch(){
|
||||||
//alert($("#key_word").val());
|
//alert($("#key_word").val());
|
||||||
value = $("#key_word").val();
|
var value = $("#key_word").val();
|
||||||
province = $("#province").val();
|
var province = $("#province").val();
|
||||||
|
//alert(value);
|
||||||
|
if(value == "")
|
||||||
|
{
|
||||||
|
alert("搜索条件不能为空");
|
||||||
|
return;
|
||||||
|
}
|
||||||
//alert(province);
|
//alert(province);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type :"POST",
|
type :"POST",
|
||||||
|
|
|
@ -1,6 +1,18 @@
|
||||||
<!-- modified by huang -->
|
<!-- modified by huang -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
function searchUser(){
|
||||||
|
var name = $("#name").val();
|
||||||
|
if(name == "")
|
||||||
|
{
|
||||||
|
alert("搜索条件不能为空");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$("#search_user_form").submit();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
<div class="top-content">
|
<div class="top-content">
|
||||||
<%= form_tag(:controller => 'users', :action => 'search', :method => :get) do %>
|
<%= form_tag( users_search_path, :method => :get, :id => 'search_user_form') do %>
|
||||||
<table width="940px">
|
<table width="940px">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="info_font" style="width: 220px; color: #15bccf" ><%= l(:label_software_user ) %></td>
|
<td class="info_font" style="width: 220px; color: #15bccf" ><%= l(:label_software_user ) %></td>
|
||||||
|
@ -10,7 +22,8 @@
|
||||||
<td rowspan="2" >
|
<td rowspan="2" >
|
||||||
<div class="project-search" style="float: right">
|
<div class="project-search" style="float: right">
|
||||||
<%= text_field_tag 'name', params[:name], :size => 30 %>
|
<%= text_field_tag 'name', params[:name], :size => 30 %>
|
||||||
<%= submit_tag l(:label_search), :class => "enterprise", :name => nil %>
|
<input type="button" class="enterprise" value="<%= l(:label_search) %>" onclick="searchUser();"/>
|
||||||
|
<%#= submit_tag l(:label_search), :class => "enterprise", :name => nil %>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -1,7 +1,17 @@
|
||||||
|
<script type="text/javascript">
|
||||||
|
function searchUser(){
|
||||||
|
var name = $("#name").val();
|
||||||
|
if(name == "")
|
||||||
|
{
|
||||||
|
alert("搜索条件不能为空");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$("#search_user_form").submit();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
<div class="top-content">
|
<div class="top-content">
|
||||||
<%= form_tag(:controller => 'users', :action => 'search', :method => :get) do %>
|
<%= form_tag( users_search_path, :method => :get, :id => 'search_user_form') do %>
|
||||||
<table width="940px">
|
<table width="940px">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="info_font" style="width: 220px; color: #15bccf "><%= l(:label_software_user ) %></td>
|
<td class="info_font" style="width: 220px; color: #15bccf "><%= l(:label_software_user ) %></td>
|
||||||
|
@ -11,7 +21,8 @@
|
||||||
<td rowspan="2" >
|
<td rowspan="2" >
|
||||||
<div class="project-search" style="float: right">
|
<div class="project-search" style="float: right">
|
||||||
<%= text_field_tag 'name', params[:name], :size => 30 %>
|
<%= text_field_tag 'name', params[:name], :size => 30 %>
|
||||||
<%= submit_tag l(:label_search), :class => "enterprise", :name => nil %>
|
<input type="button" class="enterprise" value="<%= l(:label_search) %>" onclick="searchUser();"/>
|
||||||
|
<%#= submit_tag l(:label_search), :class => "enterprise", :name => nil %>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -1904,6 +1904,7 @@ zh:
|
||||||
field_teacher_name: 教 师
|
field_teacher_name: 教 师
|
||||||
|
|
||||||
field_hidden_repo: 隐藏代码库
|
field_hidden_repo: 隐藏代码库
|
||||||
|
field_dts_test: DTS测试工具
|
||||||
|
|
||||||
label_newbie_faq: '新手指引 & 问答'
|
label_newbie_faq: '新手指引 & 问答'
|
||||||
label_hot_project: '热门项目'
|
label_hot_project: '热门项目'
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
class DstTest < ActiveRecord::Migration
|
||||||
|
def up
|
||||||
|
add_column :projects, :dts_test, :integer, :default => 0
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
remove_column :projects, :dts_test
|
||||||
|
end
|
||||||
|
end
|
File diff suppressed because it is too large
Load Diff
|
@ -1,10 +1,45 @@
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||||
For licensing, see LICENSE.md or http://ckeditor.com/license
|
For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
*/
|
*/
|
||||||
CKEDITOR.dialog.add("a11yHelp",function(j){var a=j.lang.a11yhelp,l=CKEDITOR.tools.getNextId(),e={8:a.backspace,9:a.tab,13:a.enter,16:a.shift,17:a.ctrl,18:a.alt,19:a.pause,20:a.capslock,27:a.escape,33:a.pageUp,34:a.pageDown,35:a.end,36:a.home,37:a.leftArrow,38:a.upArrow,39:a.rightArrow,40:a.downArrow,45:a.insert,46:a["delete"],91:a.leftWindowKey,92:a.rightWindowKey,93:a.selectKey,96:a.numpad0,97:a.numpad1,98:a.numpad2,99:a.numpad3,100:a.numpad4,101:a.numpad5,102:a.numpad6,103:a.numpad7,104:a.numpad8,
|
CKEDITOR.dialog.add("a11yHelp", function (j) {
|
||||||
105:a.numpad9,106:a.multiply,107:a.add,109:a.subtract,110:a.decimalPoint,111:a.divide,112:a.f1,113:a.f2,114:a.f3,115:a.f4,116:a.f5,117:a.f6,118:a.f7,119:a.f8,120:a.f9,121:a.f10,122:a.f11,123:a.f12,144:a.numLock,145:a.scrollLock,186:a.semiColon,187:a.equalSign,188:a.comma,189:a.dash,190:a.period,191:a.forwardSlash,192:a.graveAccent,219:a.openBracket,220:a.backSlash,221:a.closeBracket,222:a.singleQuote};e[CKEDITOR.ALT]=a.alt;e[CKEDITOR.SHIFT]=a.shift;e[CKEDITOR.CTRL]=a.ctrl;var f=[CKEDITOR.ALT,CKEDITOR.SHIFT,
|
var a = j.lang.a11yhelp, l = CKEDITOR.tools.getNextId(), e = {8: a.backspace, 9: a.tab, 13: a.enter, 16: a.shift, 17: a.ctrl, 18: a.alt, 19: a.pause, 20: a.capslock, 27: a.escape, 33: a.pageUp, 34: a.pageDown, 35: a.end, 36: a.home, 37: a.leftArrow, 38: a.upArrow, 39: a.rightArrow, 40: a.downArrow, 45: a.insert, 46: a["delete"], 91: a.leftWindowKey, 92: a.rightWindowKey, 93: a.selectKey, 96: a.numpad0, 97: a.numpad1, 98: a.numpad2, 99: a.numpad3, 100: a.numpad4, 101: a.numpad5, 102: a.numpad6, 103: a.numpad7, 104: a.numpad8,
|
||||||
CKEDITOR.CTRL],m=/\$\{(.*?)\}/g,p=function(){var a=j.keystrokeHandler.keystrokes,g={},c;for(c in a)g[a[c]]=c;return function(a,c){var b;if(g[c]){b=g[c];for(var h,i,k=[],d=0;d<f.length;d++)i=f[d],h=b/f[d],1<h&&2>=h&&(b-=i,k.push(e[i]));k.push(e[b]||String.fromCharCode(b));b=k.join("+")}else b=a;return b}}();return{title:a.title,minWidth:600,minHeight:400,contents:[{id:"info",label:j.lang.common.generalTab,expand:!0,elements:[{type:"html",id:"legends",style:"white-space:normal;",focus:function(){this.getElement().focus()},
|
105: a.numpad9, 106: a.multiply, 107: a.add, 109: a.subtract, 110: a.decimalPoint, 111: a.divide, 112: a.f1, 113: a.f2, 114: a.f3, 115: a.f4, 116: a.f5, 117: a.f6, 118: a.f7, 119: a.f8, 120: a.f9, 121: a.f10, 122: a.f11, 123: a.f12, 144: a.numLock, 145: a.scrollLock, 186: a.semiColon, 187: a.equalSign, 188: a.comma, 189: a.dash, 190: a.period, 191: a.forwardSlash, 192: a.graveAccent, 219: a.openBracket, 220: a.backSlash, 221: a.closeBracket, 222: a.singleQuote};
|
||||||
html:function(){for(var e='<div class="cke_accessibility_legend" role="document" aria-labelledby="'+l+'_arialbl" tabIndex="-1">%1</div><span id="'+l+'_arialbl" class="cke_voice_label">'+a.contents+" </span>",g=[],c=a.legend,j=c.length,f=0;f<j;f++){for(var b=c[f],h=[],i=b.items,k=i.length,d=0;d<k;d++){var n=i[d],o=n.legend.replace(m,p);o.match(m)||h.push("<dt>%1</dt><dd>%2</dd>".replace("%1",n.name).replace("%2",o))}g.push("<h1>%1</h1><dl>%2</dl>".replace("%1",b.name).replace("%2",h.join("")))}return e.replace("%1",
|
e[CKEDITOR.ALT] = a.alt;
|
||||||
g.join(""))}()+'<style type="text/css">.cke_accessibility_legend{width:600px;height:400px;padding-right:5px;overflow-y:auto;overflow-x:hidden;}.cke_browser_quirks .cke_accessibility_legend,.cke_browser_ie6 .cke_accessibility_legend{height:390px}.cke_accessibility_legend *{white-space:normal;}.cke_accessibility_legend h1{font-size: 20px;border-bottom: 1px solid #AAA;margin: 5px 0px 15px;}.cke_accessibility_legend dl{margin-left: 5px;}.cke_accessibility_legend dt{font-size: 13px;font-weight: bold;}.cke_accessibility_legend dd{margin:10px}</style>'}]}],
|
e[CKEDITOR.SHIFT] = a.shift;
|
||||||
buttons:[CKEDITOR.dialog.cancelButton]}});
|
e[CKEDITOR.CTRL] = a.ctrl;
|
||||||
|
var f = [CKEDITOR.ALT, CKEDITOR.SHIFT,
|
||||||
|
CKEDITOR.CTRL], m = /\$\{(.*?)\}/g, p = function () {
|
||||||
|
var a = j.keystrokeHandler.keystrokes, g = {}, c;
|
||||||
|
for (c in a)g[a[c]] = c;
|
||||||
|
return function (a, c) {
|
||||||
|
var b;
|
||||||
|
if (g[c]) {
|
||||||
|
b = g[c];
|
||||||
|
for (var h, i, k = [], d = 0; d < f.length; d++)i = f[d], h = b / f[d], 1 < h && 2 >= h && (b -= i, k.push(e[i]));
|
||||||
|
k.push(e[b] || String.fromCharCode(b));
|
||||||
|
b = k.join("+")
|
||||||
|
} else b = a;
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
}();
|
||||||
|
return{title: a.title, minWidth: 600, minHeight: 400, contents: [
|
||||||
|
{id: "info", label: j.lang.common.generalTab, expand: !0, elements: [
|
||||||
|
{type: "html", id: "legends", style: "white-space:normal;", focus: function () {
|
||||||
|
this.getElement().focus()
|
||||||
|
},
|
||||||
|
html: function () {
|
||||||
|
for (var e = '<div class="cke_accessibility_legend" role="document" aria-labelledby="' + l + '_arialbl" tabIndex="-1">%1</div><span id="' + l + '_arialbl" class="cke_voice_label">' + a.contents + " </span>", g = [], c = a.legend, j = c.length, f = 0; f < j; f++) {
|
||||||
|
for (var b = c[f], h = [], i = b.items, k = i.length, d = 0; d < k; d++) {
|
||||||
|
var n = i[d], o = n.legend.replace(m, p);
|
||||||
|
o.match(m) || h.push("<dt>%1</dt><dd>%2</dd>".replace("%1", n.name).replace("%2", o))
|
||||||
|
}
|
||||||
|
g.push("<h1>%1</h1><dl>%2</dl>".replace("%1", b.name).replace("%2", h.join("")))
|
||||||
|
}
|
||||||
|
return e.replace("%1",
|
||||||
|
g.join(""))
|
||||||
|
}() + '<style type="text/css">.cke_accessibility_legend{width:600px;height:400px;padding-right:5px;overflow-y:auto;overflow-x:hidden;}.cke_browser_quirks .cke_accessibility_legend,.cke_browser_ie6 .cke_accessibility_legend{height:390px}.cke_accessibility_legend *{white-space:normal;}.cke_accessibility_legend h1{font-size: 20px;border-bottom: 1px solid #AAA;margin: 5px 0px 15px;}.cke_accessibility_legend dl{margin-left: 5px;}.cke_accessibility_legend dt{font-size: 13px;font-weight: bold;}.cke_accessibility_legend dd{margin:10px}</style>'}
|
||||||
|
]}
|
||||||
|
],
|
||||||
|
buttons: [CKEDITOR.dialog.cancelButton]}
|
||||||
|
});
|
|
@ -1,11 +1,30 @@
|
||||||
/*
|
|
||||||
|
|
||||||
|
/*
|
||||||
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||||
For licensing, see LICENSE.md or http://ckeditor.com/license
|
For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
*/
|
*/
|
||||||
CKEDITOR.plugins.setLang("a11yhelp","ar",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"عام",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page."},
|
CKEDITOR.plugins.setLang("a11yhelp", "ar", {title: "Accessibility Instructions", contents: "Help Contents. To close this dialog press ESC.", legend: [
|
||||||
{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
|
{name: "عام", items: [
|
||||||
{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
|
{name: "Editor Toolbar", legend: "Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},
|
||||||
legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
|
{name: "Editor Dialog", legend: "Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page."},
|
||||||
{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],backspace:"Backspace",tab:"Tab",enter:"Enter",shift:"Shift",ctrl:"Ctrl",alt:"Alt",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",end:"End",home:"Home",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert","delete":"Delete",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
|
{name: "Editor Context Menu", legend: "Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},
|
||||||
numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",
|
{name: "Editor List Box", legend: "Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
|
||||||
graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
|
{name: "Editor Element Path Bar", legend: "Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}
|
||||||
|
]},
|
||||||
|
{name: "Commands", items: [
|
||||||
|
{name: " Undo command", legend: "Press ${undo}"},
|
||||||
|
{name: " Redo command", legend: "Press ${redo}"},
|
||||||
|
{name: " Bold command", legend: "Press ${bold}"},
|
||||||
|
{name: " Italic command", legend: "Press ${italic}"},
|
||||||
|
{name: " Underline command",
|
||||||
|
legend: "Press ${underline}"},
|
||||||
|
{name: " Link command", legend: "Press ${link}"},
|
||||||
|
{name: " Toolbar Collapse command", legend: "Press ${toolbarCollapse}"},
|
||||||
|
{name: " Access previous focus space command", legend: "Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
|
||||||
|
{name: " Access next focus space command", legend: "Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
|
||||||
|
{name: " Accessibility Help", legend: "Press ${a11yHelp}"}
|
||||||
|
]}
|
||||||
|
], backspace: "Backspace", tab: "Tab", enter: "Enter", shift: "Shift", ctrl: "Ctrl", alt: "Alt", pause: "Pause", capslock: "Caps Lock", escape: "Escape", pageUp: "Page Up", pageDown: "Page Down", end: "End", home: "Home", leftArrow: "Left Arrow", upArrow: "Up Arrow", rightArrow: "Right Arrow", downArrow: "Down Arrow", insert: "Insert", "delete": "Delete", leftWindowKey: "Left Windows key", rightWindowKey: "Right Windows key", selectKey: "Select key", numpad0: "Numpad 0", numpad1: "Numpad 1",
|
||||||
|
numpad2: "Numpad 2", numpad3: "Numpad 3", numpad4: "Numpad 4", numpad5: "Numpad 5", numpad6: "Numpad 6", numpad7: "Numpad 7", numpad8: "Numpad 8", numpad9: "Numpad 9", multiply: "Multiply", add: "Add", subtract: "Subtract", decimalPoint: "Decimal Point", divide: "Divide", f1: "F1", f2: "F2", f3: "F3", f4: "F4", f5: "F5", f6: "F6", f7: "F7", f8: "F8", f9: "F9", f10: "F10", f11: "F11", f12: "F12", numLock: "Num Lock", scrollLock: "Scroll Lock", semiColon: "Semicolon", equalSign: "Equal Sign", comma: "Comma", dash: "Dash", period: "Period", forwardSlash: "Forward Slash",
|
||||||
|
graveAccent: "Grave Accent", openBracket: "Open Bracket", backSlash: "Backslash", closeBracket: "Close Bracket", singleQuote: "Single Quote"});
|
|
@ -1,7 +1,14 @@
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||||
For licensing, see LICENSE.md or http://ckeditor.com/license
|
For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
*/
|
*/
|
||||||
CKEDITOR.dialog.add("about",function(a){var a=a.lang.about,b=CKEDITOR.plugins.get("about").path+"dialogs/"+(CKEDITOR.env.hidpi?"hidpi/":"")+"logo_ckeditor.png";return{title:CKEDITOR.env.ie?a.dlgTitle:a.title,minWidth:390,minHeight:230,contents:[{id:"tab1",label:"",title:"",expand:!0,padding:0,elements:[{type:"html",html:'<style type="text/css">.cke_about_container{color:#000 !important;padding:10px 10px 0;margin-top:5px}.cke_about_container p{margin: 0 0 10px;}.cke_about_container .cke_about_logo{height:81px;background-color:#fff;background-image:url('+
|
CKEDITOR.dialog.add("about", function (a) {
|
||||||
b+");"+(CKEDITOR.env.hidpi?"background-size:163px 58px;":"")+'background-position:center; background-repeat:no-repeat;margin-bottom:10px;}.cke_about_container a{cursor:pointer !important;color:#00B2CE !important;text-decoration:underline !important;}</style><div class="cke_about_container"><div class="cke_about_logo"></div><p>CKEditor '+CKEDITOR.version+" (revision "+CKEDITOR.revision+')<br><a href="http://ckeditor.com/">http://ckeditor.com</a></p><p>'+a.help.replace("$1",'<a href="http://docs.ckeditor.com/user">'+
|
var a = a.lang.about, b = CKEDITOR.plugins.get("about").path + "dialogs/" + (CKEDITOR.env.hidpi ? "hidpi/" : "") + "logo_ckeditor.png";
|
||||||
a.userGuide+"</a>")+"</p><p>"+a.moreInfo+'<br><a href="http://ckeditor.com/about/license">http://ckeditor.com/about/license</a></p><p>'+a.copy.replace("$1",'<a href="http://cksource.com/">CKSource</a> - Frederico Knabben')+"</p></div>"}]}],buttons:[CKEDITOR.dialog.cancelButton]}});
|
return{title: CKEDITOR.env.ie ? a.dlgTitle : a.title, minWidth: 390, minHeight: 230, contents: [
|
||||||
|
{id: "tab1", label: "", title: "", expand: !0, padding: 0, elements: [
|
||||||
|
{type: "html", html: '<style type="text/css">.cke_about_container{color:#000 !important;padding:10px 10px 0;margin-top:5px}.cke_about_container p{margin: 0 0 10px;}.cke_about_container .cke_about_logo{height:81px;background-color:#fff;background-image:url(' +
|
||||||
|
b + ");" + (CKEDITOR.env.hidpi ? "background-size:163px 58px;" : "") + 'background-position:center; background-repeat:no-repeat;margin-bottom:10px;}.cke_about_container a{cursor:pointer !important;color:#00B2CE !important;text-decoration:underline !important;}</style><div class="cke_about_container"><div class="cke_about_logo"></div><p>CKEditor ' + CKEDITOR.version + " (revision " + CKEDITOR.revision + ')<br><a href="http://ckeditor.com/">http://ckeditor.com</a></p><p>' + a.help.replace("$1", '<a href="http://docs.ckeditor.com/user">' +
|
||||||
|
a.userGuide + "</a>") + "</p><p>" + a.moreInfo + '<br><a href="http://ckeditor.com/about/license">http://ckeditor.com/about/license</a></p><p>' + a.copy.replace("$1", '<a href="http://cksource.com/">CKSource</a> - Frederico Knabben') + "</p></div>"}
|
||||||
|
]}
|
||||||
|
], buttons: [CKEDITOR.dialog.cancelButton]}
|
||||||
|
});
|
|
@ -1,11 +1,94 @@
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||||
For licensing, see LICENSE.md or http://ckeditor.com/license
|
For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
*/
|
*/
|
||||||
CKEDITOR.dialog.add("paste",function(c){function h(a){var b=new CKEDITOR.dom.document(a.document),f=b.getBody(),d=b.getById("cke_actscrpt");d&&d.remove();f.setAttribute("contenteditable",!0);if(CKEDITOR.env.ie&&8>CKEDITOR.env.version)b.getWindow().on("blur",function(){b.$.selection.empty()});b.on("keydown",function(a){var a=a.data,b;switch(a.getKeystroke()){case 27:this.hide();b=1;break;case 9:case CKEDITOR.SHIFT+9:this.changeFocus(1),b=1}b&&a.preventDefault()},this);c.fire("ariaWidget",new CKEDITOR.dom.element(a.frameElement));
|
CKEDITOR.dialog.add("paste", function (c) {
|
||||||
b.getWindow().getFrame().removeCustomData("pendingFocus")&&f.focus()}var e=c.lang.clipboard;c.on("pasteDialogCommit",function(a){a.data&&c.fire("paste",{type:"auto",dataValue:a.data})},null,null,1E3);return{title:e.title,minWidth:CKEDITOR.env.ie&&CKEDITOR.env.quirks?370:350,minHeight:CKEDITOR.env.quirks?250:245,onShow:function(){this.parts.dialog.$.offsetHeight;this.setupContent();this.parts.title.setHtml(this.customTitle||e.title);this.customTitle=null},onLoad:function(){(CKEDITOR.env.ie7Compat||
|
function h(a) {
|
||||||
CKEDITOR.env.ie6Compat)&&"rtl"==c.lang.dir&&this.parts.contents.setStyle("overflow","hidden")},onOk:function(){this.commitContent()},contents:[{id:"general",label:c.lang.common.generalTab,elements:[{type:"html",id:"securityMsg",html:'<div style="white-space:normal;width:340px">'+e.securityMsg+"</div>"},{type:"html",id:"pasteMsg",html:'<div style="white-space:normal;width:340px">'+e.pasteMsg+"</div>"},{type:"html",id:"editing_area",style:"width:100%;height:100%",html:"",focus:function(){var a=this.getInputElement(),
|
var b = new CKEDITOR.dom.document(a.document), f = b.getBody(), d = b.getById("cke_actscrpt");
|
||||||
b=a.getFrameDocument().getBody();!b||b.isReadOnly()?a.setCustomData("pendingFocus",1):b.focus()},setup:function(){var a=this.getDialog(),b='<html dir="'+c.config.contentsLangDirection+'" lang="'+(c.config.contentsLanguage||c.langCode)+'"><head><style>body{margin:3px;height:95%}</style></head><body><script id="cke_actscrpt" type="text/javascript">window.parent.CKEDITOR.tools.callFunction('+CKEDITOR.tools.addFunction(h,a)+",this);<\/script></body></html>",f=CKEDITOR.env.air?"javascript:void(0)":CKEDITOR.env.ie?
|
d && d.remove();
|
||||||
"javascript:void((function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.close();")+'})())"':"",d=CKEDITOR.dom.element.createFromHtml('<iframe class="cke_pasteframe" frameborder="0" allowTransparency="true" src="'+f+'" role="region" aria-label="'+e.pasteArea+'" aria-describedby="'+a.getContentElement("general","pasteMsg").domId+'" aria-multiple="true"></iframe>');d.on("load",function(a){a.removeListener();a=d.getFrameDocument();a.write(b);c.focusManager.add(a.getBody());
|
f.setAttribute("contenteditable", !0);
|
||||||
CKEDITOR.env.air&&h.call(this,a.getWindow().$)},a);d.setCustomData("dialog",a);a=this.getElement();a.setHtml("");a.append(d);if(CKEDITOR.env.ie){var g=CKEDITOR.dom.element.createFromHtml('<span tabindex="-1" style="position:absolute" role="presentation"></span>');g.on("focus",function(){setTimeout(function(){d.$.contentWindow.focus()})});a.append(g);this.focus=function(){g.focus();this.fire("focus")}}this.getInputElement=function(){return d};CKEDITOR.env.ie&&(a.setStyle("display","block"),a.setStyle("height",
|
if (CKEDITOR.env.ie && 8 > CKEDITOR.env.version)b.getWindow().on("blur", function () {
|
||||||
d.$.offsetHeight+2+"px"))},commit:function(){var a=this.getDialog().getParentEditor(),b=this.getInputElement().getFrameDocument().getBody(),c=b.getBogus(),d;c&&c.remove();d=b.getHtml();setTimeout(function(){a.fire("pasteDialogCommit",d)},0)}}]}]}});
|
b.$.selection.empty()
|
||||||
|
});
|
||||||
|
b.on("keydown", function (a) {
|
||||||
|
var a = a.data, b;
|
||||||
|
switch (a.getKeystroke()) {
|
||||||
|
case 27:
|
||||||
|
this.hide();
|
||||||
|
b = 1;
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
case CKEDITOR.SHIFT + 9:
|
||||||
|
this.changeFocus(1), b = 1
|
||||||
|
}
|
||||||
|
b && a.preventDefault()
|
||||||
|
}, this);
|
||||||
|
c.fire("ariaWidget", new CKEDITOR.dom.element(a.frameElement));
|
||||||
|
b.getWindow().getFrame().removeCustomData("pendingFocus") && f.focus()
|
||||||
|
}
|
||||||
|
|
||||||
|
var e = c.lang.clipboard;
|
||||||
|
c.on("pasteDialogCommit", function (a) {
|
||||||
|
a.data && c.fire("paste", {type: "auto", dataValue: a.data})
|
||||||
|
}, null, null, 1E3);
|
||||||
|
return{title: e.title, minWidth: CKEDITOR.env.ie && CKEDITOR.env.quirks ? 370 : 350, minHeight: CKEDITOR.env.quirks ? 250 : 245, onShow: function () {
|
||||||
|
this.parts.dialog.$.offsetHeight;
|
||||||
|
this.setupContent();
|
||||||
|
this.parts.title.setHtml(this.customTitle || e.title);
|
||||||
|
this.customTitle = null
|
||||||
|
}, onLoad: function () {
|
||||||
|
(CKEDITOR.env.ie7Compat ||
|
||||||
|
CKEDITOR.env.ie6Compat) && "rtl" == c.lang.dir && this.parts.contents.setStyle("overflow", "hidden")
|
||||||
|
}, onOk: function () {
|
||||||
|
this.commitContent()
|
||||||
|
}, contents: [
|
||||||
|
{id: "general", label: c.lang.common.generalTab, elements: [
|
||||||
|
{type: "html", id: "securityMsg", html: '<div style="white-space:normal;width:340px">' + e.securityMsg + "</div>"},
|
||||||
|
{type: "html", id: "pasteMsg", html: '<div style="white-space:normal;width:340px">' + e.pasteMsg + "</div>"},
|
||||||
|
{type: "html", id: "editing_area", style: "width:100%;height:100%", html: "", focus: function () {
|
||||||
|
var a = this.getInputElement(),
|
||||||
|
b = a.getFrameDocument().getBody();
|
||||||
|
!b || b.isReadOnly() ? a.setCustomData("pendingFocus", 1) : b.focus()
|
||||||
|
}, setup: function () {
|
||||||
|
var a = this.getDialog(), b = '<html dir="' + c.config.contentsLangDirection + '" lang="' + (c.config.contentsLanguage || c.langCode) + '"><head><style>body{margin:3px;height:95%}</style></head><body><script id="cke_actscrpt" type="text/javascript">window.parent.CKEDITOR.tools.callFunction(' + CKEDITOR.tools.addFunction(h, a) + ",this);<\/script></body></html>", f = CKEDITOR.env.air ? "javascript:void(0)" : CKEDITOR.env.ie ?
|
||||||
|
"javascript:void((function(){" + encodeURIComponent("document.open();(" + CKEDITOR.tools.fixDomain + ")();document.close();") + '})())"' : "", d = CKEDITOR.dom.element.createFromHtml('<iframe class="cke_pasteframe" frameborder="0" allowTransparency="true" src="' + f + '" role="region" aria-label="' + e.pasteArea + '" aria-describedby="' + a.getContentElement("general", "pasteMsg").domId + '" aria-multiple="true"></iframe>');
|
||||||
|
d.on("load", function (a) {
|
||||||
|
a.removeListener();
|
||||||
|
a = d.getFrameDocument();
|
||||||
|
a.write(b);
|
||||||
|
c.focusManager.add(a.getBody());
|
||||||
|
CKEDITOR.env.air && h.call(this, a.getWindow().$)
|
||||||
|
}, a);
|
||||||
|
d.setCustomData("dialog", a);
|
||||||
|
a = this.getElement();
|
||||||
|
a.setHtml("");
|
||||||
|
a.append(d);
|
||||||
|
if (CKEDITOR.env.ie) {
|
||||||
|
var g = CKEDITOR.dom.element.createFromHtml('<span tabindex="-1" style="position:absolute" role="presentation"></span>');
|
||||||
|
g.on("focus", function () {
|
||||||
|
setTimeout(function () {
|
||||||
|
d.$.contentWindow.focus()
|
||||||
|
})
|
||||||
|
});
|
||||||
|
a.append(g);
|
||||||
|
this.focus = function () {
|
||||||
|
g.focus();
|
||||||
|
this.fire("focus")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.getInputElement = function () {
|
||||||
|
return d
|
||||||
|
};
|
||||||
|
CKEDITOR.env.ie && (a.setStyle("display", "block"), a.setStyle("height",
|
||||||
|
d.$.offsetHeight + 2 + "px"))
|
||||||
|
}, commit: function () {
|
||||||
|
var a = this.getDialog().getParentEditor(), b = this.getInputElement().getFrameDocument().getBody(), c = b.getBogus(), d;
|
||||||
|
c && c.remove();
|
||||||
|
d = b.getHtml();
|
||||||
|
setTimeout(function () {
|
||||||
|
a.fire("pasteDialogCommit", d)
|
||||||
|
}, 0)
|
||||||
|
}}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
});
|
|
@ -1,13 +1,145 @@
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||||
For licensing, see LICENSE.md or http://ckeditor.com/license
|
For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
*/
|
*/
|
||||||
CKEDITOR.dialog.add("colordialog",function(t){function n(){f.getById(o).removeStyle("background-color");p.getContentElement("picker","selectedColor").setValue("");j&&j.removeAttribute("aria-selected");j=null}function u(a){var a=a.data.getTarget(),b;if("td"==a.getName()&&(b=a.getChild(0).getHtml()))j=a,j.setAttribute("aria-selected",!0),p.getContentElement("picker","selectedColor").setValue(b)}function y(a){for(var a=a.replace(/^#/,""),b=0,c=[];2>=b;b++)c[b]=parseInt(a.substr(2*b,2),16);return"#"+
|
CKEDITOR.dialog.add("colordialog", function (t) {
|
||||||
(165<=0.2126*c[0]+0.7152*c[1]+0.0722*c[2]?"000":"fff")}function v(a){!a.name&&(a=new CKEDITOR.event(a));var b=!/mouse/.test(a.name),c=a.data.getTarget(),e;if("td"==c.getName()&&(e=c.getChild(0).getHtml()))q(a),b?g=c:w=c,b&&(c.setStyle("border-color",y(e)),c.setStyle("border-style","dotted")),f.getById(k).setStyle("background-color",e),f.getById(l).setHtml(e)}function q(a){if(a=!/mouse/.test(a.name)&&g){var b=a.getChild(0).getHtml();a.setStyle("border-color",b);a.setStyle("border-style","solid")}!g&&
|
function n() {
|
||||||
!w&&(f.getById(k).removeStyle("background-color"),f.getById(l).setHtml(" "))}function z(a){var b=a.data,c=b.getTarget(),e=b.getKeystroke(),d="rtl"==t.lang.dir;switch(e){case 38:if(a=c.getParent().getPrevious())a=a.getChild([c.getIndex()]),a.focus();b.preventDefault();break;case 40:if(a=c.getParent().getNext())(a=a.getChild([c.getIndex()]))&&1==a.type&&a.focus();b.preventDefault();break;case 32:case 13:u(a);b.preventDefault();break;case d?37:39:if(a=c.getNext())1==a.type&&(a.focus(),b.preventDefault(!0));
|
f.getById(o).removeStyle("background-color");
|
||||||
else if(a=c.getParent().getNext())if((a=a.getChild([0]))&&1==a.type)a.focus(),b.preventDefault(!0);break;case d?39:37:if(a=c.getPrevious())a.focus(),b.preventDefault(!0);else if(a=c.getParent().getPrevious())a=a.getLast(),a.focus(),b.preventDefault(!0)}}var r=CKEDITOR.dom.element,f=CKEDITOR.document,h=t.lang.colordialog,p,x={type:"html",html:" "},j,g,w,m=function(a){return CKEDITOR.tools.getNextId()+"_"+a},k=m("hicolor"),l=m("hicolortext"),o=m("selhicolor"),i;(function(){function a(a,d){for(var s=
|
p.getContentElement("picker", "selectedColor").setValue("");
|
||||||
a;s<a+3;s++){var e=new r(i.$.insertRow(-1));e.setAttribute("role","row");for(var f=d;f<d+3;f++)for(var g=0;6>g;g++)b(e.$,"#"+c[f]+c[g]+c[s])}}function b(a,c){var b=new r(a.insertCell(-1));b.setAttribute("class","ColorCell");b.setAttribute("tabIndex",-1);b.setAttribute("role","gridcell");b.on("keydown",z);b.on("click",u);b.on("focus",v);b.on("blur",q);b.setStyle("background-color",c);b.setStyle("border","1px solid "+c);b.setStyle("width","14px");b.setStyle("height","14px");var d=m("color_table_cell");
|
j && j.removeAttribute("aria-selected");
|
||||||
b.setAttribute("aria-labelledby",d);b.append(CKEDITOR.dom.element.createFromHtml('<span id="'+d+'" class="cke_voice_label">'+c+"</span>",CKEDITOR.document))}i=CKEDITOR.dom.element.createFromHtml('<table tabIndex="-1" aria-label="'+h.options+'" role="grid" style="border-collapse:separate;" cellspacing="0"><caption class="cke_voice_label">'+h.options+'</caption><tbody role="presentation"></tbody></table>');i.on("mouseover",v);i.on("mouseout",q);var c="00 33 66 99 cc ff".split(" ");a(0,0);a(3,0);a(0,
|
j = null
|
||||||
3);a(3,3);var e=new r(i.$.insertRow(-1));e.setAttribute("role","row");for(var d=0;6>d;d++)b(e.$,"#"+c[d]+c[d]+c[d]);for(d=0;12>d;d++)b(e.$,"#000000")})();return{title:h.title,minWidth:360,minHeight:220,onLoad:function(){p=this},onHide:function(){n();var a=g.getChild(0).getHtml();g.setStyle("border-color",a);g.setStyle("border-style","solid");f.getById(k).removeStyle("background-color");f.getById(l).setHtml(" ");g=null},contents:[{id:"picker",label:h.title,accessKey:"I",elements:[{type:"hbox",
|
}
|
||||||
padding:0,widths:["70%","10%","30%"],children:[{type:"html",html:"<div></div>",onLoad:function(){CKEDITOR.document.getById(this.domId).append(i)},focus:function(){(g||this.getElement().getElementsByTag("td").getItem(0)).focus()}},x,{type:"vbox",padding:0,widths:["70%","5%","25%"],children:[{type:"html",html:"<span>"+h.highlight+'</span>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+k+'" style="border: 1px solid; height: 74px; width: 74px;"></div>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+l+'"> </div><span>'+h.selected+
|
|
||||||
'</span>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+o+'" style="border: 1px solid; height: 20px; width: 74px;"></div>'},{type:"text",label:h.selected,labelStyle:"display:none",id:"selectedColor",style:"width: 74px",onChange:function(){try{f.getById(o).setStyle("background-color",this.getValue())}catch(a){n()}}},x,{type:"button",id:"clear",style:"margin-top: 5px",label:h.clear,onClick:n}]}]}]}]}});
|
function u(a) {
|
||||||
|
var a = a.data.getTarget(), b;
|
||||||
|
if ("td" == a.getName() && (b = a.getChild(0).getHtml()))j = a, j.setAttribute("aria-selected", !0), p.getContentElement("picker", "selectedColor").setValue(b)
|
||||||
|
}
|
||||||
|
|
||||||
|
function y(a) {
|
||||||
|
for (var a = a.replace(/^#/, ""), b = 0, c = []; 2 >= b; b++)c[b] = parseInt(a.substr(2 * b, 2), 16);
|
||||||
|
return"#" +
|
||||||
|
(165 <= 0.2126 * c[0] + 0.7152 * c[1] + 0.0722 * c[2] ? "000" : "fff")
|
||||||
|
}
|
||||||
|
|
||||||
|
function v(a) {
|
||||||
|
!a.name && (a = new CKEDITOR.event(a));
|
||||||
|
var b = !/mouse/.test(a.name), c = a.data.getTarget(), e;
|
||||||
|
if ("td" == c.getName() && (e = c.getChild(0).getHtml()))q(a), b ? g = c : w = c, b && (c.setStyle("border-color", y(e)), c.setStyle("border-style", "dotted")), f.getById(k).setStyle("background-color", e), f.getById(l).setHtml(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
function q(a) {
|
||||||
|
if (a = !/mouse/.test(a.name) && g) {
|
||||||
|
var b = a.getChild(0).getHtml();
|
||||||
|
a.setStyle("border-color", b);
|
||||||
|
a.setStyle("border-style", "solid")
|
||||||
|
}
|
||||||
|
!g && !w && (f.getById(k).removeStyle("background-color"), f.getById(l).setHtml(" "))
|
||||||
|
}
|
||||||
|
|
||||||
|
function z(a) {
|
||||||
|
var b = a.data, c = b.getTarget(), e = b.getKeystroke(), d = "rtl" == t.lang.dir;
|
||||||
|
switch (e) {
|
||||||
|
case 38:
|
||||||
|
if (a = c.getParent().getPrevious())a = a.getChild([c.getIndex()]), a.focus();
|
||||||
|
b.preventDefault();
|
||||||
|
break;
|
||||||
|
case 40:
|
||||||
|
if (a = c.getParent().getNext())(a = a.getChild([c.getIndex()])) && 1 == a.type && a.focus();
|
||||||
|
b.preventDefault();
|
||||||
|
break;
|
||||||
|
case 32:
|
||||||
|
case 13:
|
||||||
|
u(a);
|
||||||
|
b.preventDefault();
|
||||||
|
break;
|
||||||
|
case d ? 37 : 39:
|
||||||
|
if (a = c.getNext())1 == a.type && (a.focus(), b.preventDefault(!0));
|
||||||
|
else if (a = c.getParent().getNext())if ((a = a.getChild([0])) && 1 == a.type)a.focus(), b.preventDefault(!0);
|
||||||
|
break;
|
||||||
|
case d ? 39 : 37:
|
||||||
|
if (a = c.getPrevious())a.focus(), b.preventDefault(!0); else if (a = c.getParent().getPrevious())a = a.getLast(), a.focus(), b.preventDefault(!0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var r = CKEDITOR.dom.element, f = CKEDITOR.document, h = t.lang.colordialog, p, x = {type: "html", html: " "}, j, g, w, m = function (a) {
|
||||||
|
return CKEDITOR.tools.getNextId() + "_" + a
|
||||||
|
}, k = m("hicolor"), l = m("hicolortext"), o = m("selhicolor"), i;
|
||||||
|
(function () {
|
||||||
|
function a(a, d) {
|
||||||
|
for (var s =
|
||||||
|
a; s < a + 3; s++) {
|
||||||
|
var e = new r(i.$.insertRow(-1));
|
||||||
|
e.setAttribute("role", "row");
|
||||||
|
for (var f = d; f < d + 3; f++)for (var g = 0; 6 > g; g++)b(e.$, "#" + c[f] + c[g] + c[s])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function b(a, c) {
|
||||||
|
var b = new r(a.insertCell(-1));
|
||||||
|
b.setAttribute("class", "ColorCell");
|
||||||
|
b.setAttribute("tabIndex", -1);
|
||||||
|
b.setAttribute("role", "gridcell");
|
||||||
|
b.on("keydown", z);
|
||||||
|
b.on("click", u);
|
||||||
|
b.on("focus", v);
|
||||||
|
b.on("blur", q);
|
||||||
|
b.setStyle("background-color", c);
|
||||||
|
b.setStyle("border", "1px solid " + c);
|
||||||
|
b.setStyle("width", "14px");
|
||||||
|
b.setStyle("height", "14px");
|
||||||
|
var d = m("color_table_cell");
|
||||||
|
b.setAttribute("aria-labelledby", d);
|
||||||
|
b.append(CKEDITOR.dom.element.createFromHtml('<span id="' + d + '" class="cke_voice_label">' + c + "</span>", CKEDITOR.document))
|
||||||
|
}
|
||||||
|
|
||||||
|
i = CKEDITOR.dom.element.createFromHtml('<table tabIndex="-1" aria-label="' + h.options + '" role="grid" style="border-collapse:separate;" cellspacing="0"><caption class="cke_voice_label">' + h.options + '</caption><tbody role="presentation"></tbody></table>');
|
||||||
|
i.on("mouseover", v);
|
||||||
|
i.on("mouseout", q);
|
||||||
|
var c = "00 33 66 99 cc ff".split(" ");
|
||||||
|
a(0, 0);
|
||||||
|
a(3, 0);
|
||||||
|
a(0,
|
||||||
|
3);
|
||||||
|
a(3, 3);
|
||||||
|
var e = new r(i.$.insertRow(-1));
|
||||||
|
e.setAttribute("role", "row");
|
||||||
|
for (var d = 0; 6 > d; d++)b(e.$, "#" + c[d] + c[d] + c[d]);
|
||||||
|
for (d = 0; 12 > d; d++)b(e.$, "#000000")
|
||||||
|
})();
|
||||||
|
return{title: h.title, minWidth: 360, minHeight: 220, onLoad: function () {
|
||||||
|
p = this
|
||||||
|
}, onHide: function () {
|
||||||
|
n();
|
||||||
|
var a = g.getChild(0).getHtml();
|
||||||
|
g.setStyle("border-color", a);
|
||||||
|
g.setStyle("border-style", "solid");
|
||||||
|
f.getById(k).removeStyle("background-color");
|
||||||
|
f.getById(l).setHtml(" ");
|
||||||
|
g = null
|
||||||
|
}, contents: [
|
||||||
|
{id: "picker", label: h.title, accessKey: "I", elements: [
|
||||||
|
{type: "hbox",
|
||||||
|
padding: 0, widths: ["70%", "10%", "30%"], children: [
|
||||||
|
{type: "html", html: "<div></div>", onLoad: function () {
|
||||||
|
CKEDITOR.document.getById(this.domId).append(i)
|
||||||
|
}, focus: function () {
|
||||||
|
(g || this.getElement().getElementsByTag("td").getItem(0)).focus()
|
||||||
|
}},
|
||||||
|
x,
|
||||||
|
{type: "vbox", padding: 0, widths: ["70%", "5%", "25%"], children: [
|
||||||
|
{type: "html", html: "<span>" + h.highlight + '</span>\t\t\t\t\t\t\t\t\t\t\t\t<div id="' + k + '" style="border: 1px solid; height: 74px; width: 74px;"></div>\t\t\t\t\t\t\t\t\t\t\t\t<div id="' + l + '"> </div><span>' + h.selected +
|
||||||
|
'</span>\t\t\t\t\t\t\t\t\t\t\t\t<div id="' + o + '" style="border: 1px solid; height: 20px; width: 74px;"></div>'},
|
||||||
|
{type: "text", label: h.selected, labelStyle: "display:none", id: "selectedColor", style: "width: 74px", onChange: function () {
|
||||||
|
try {
|
||||||
|
f.getById(o).setStyle("background-color", this.getValue())
|
||||||
|
} catch (a) {
|
||||||
|
n()
|
||||||
|
}
|
||||||
|
}},
|
||||||
|
x,
|
||||||
|
{type: "button", id: "clear", style: "margin-top: 5px", label: h.clear, onClick: n}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
});
|
|
@ -1,9 +1,127 @@
|
||||||
(function(){function p(a,k,o){if(!k.is||!k.getCustomData("block_processed"))k.is&&CKEDITOR.dom.element.setMarker(o,k,"block_processed",!0),a.push(k)}function n(a,k){function o(){this.foreach(function(d){if(/^(?!vbox|hbox)/.test(d.type)&&(d.setup||(d.setup=function(c){d.setValue(c.getAttribute(d.id)||"",1)}),!d.commit))d.commit=function(c){var a=this.getValue();"dir"==d.id&&c.getComputedStyle("direction")==a||(a?c.setAttribute(d.id,a):c.removeAttribute(d.id))}})}var n=function(){var d=CKEDITOR.tools.extend({},
|
(function () {
|
||||||
CKEDITOR.dtd.$blockLimit);a.config.div_wrapTable&&(delete d.td,delete d.th);return d}(),q=CKEDITOR.dtd.div,l={},m=[];return{title:a.lang.div.title,minWidth:400,minHeight:165,contents:[{id:"info",label:a.lang.common.generalTab,title:a.lang.common.generalTab,elements:[{type:"hbox",widths:["50%","50%"],children:[{id:"elementStyle",type:"select",style:"width: 100%;",label:a.lang.div.styleSelectLabel,"default":"",items:[[a.lang.common.notSet,""]],onChange:function(){var d=["info:elementStyle","info:class",
|
function p(a, k, o) {
|
||||||
"advanced:dir","advanced:style"],c=this.getDialog(),h=c._element&&c._element.clone()||new CKEDITOR.dom.element("div",a.document);this.commit(h,!0);for(var d=[].concat(d),b=d.length,i,f=0;f<b;f++)(i=c.getContentElement.apply(c,d[f].split(":")))&&i.setup&&i.setup(h,!0)},setup:function(a){for(var c in l)l[c].checkElementRemovable(a,!0)&&this.setValue(c,1)},commit:function(a){var c;(c=this.getValue())?l[c].applyToObject(a):a.removeAttribute("style")}},{id:"class",type:"text",requiredContent:"div(cke-xyz)",
|
if (!k.is || !k.getCustomData("block_processed"))k.is && CKEDITOR.dom.element.setMarker(o, k, "block_processed", !0), a.push(k)
|
||||||
label:a.lang.common.cssClass,"default":""}]}]},{id:"advanced",label:a.lang.common.advancedTab,title:a.lang.common.advancedTab,elements:[{type:"vbox",padding:1,children:[{type:"hbox",widths:["50%","50%"],children:[{type:"text",id:"id",requiredContent:"div[id]",label:a.lang.common.id,"default":""},{type:"text",id:"lang",requiredContent:"div[lang]",label:a.lang.common.langCode,"default":""}]},{type:"hbox",children:[{type:"text",id:"style",requiredContent:"div{cke-xyz}",style:"width: 100%;",label:a.lang.common.cssStyle,
|
}
|
||||||
"default":"",commit:function(a){a.setAttribute("style",this.getValue())}}]},{type:"hbox",children:[{type:"text",id:"title",requiredContent:"div[title]",style:"width: 100%;",label:a.lang.common.advisoryTitle,"default":""}]},{type:"select",id:"dir",requiredContent:"div[dir]",style:"width: 100%;",label:a.lang.common.langDir,"default":"",items:[[a.lang.common.notSet,""],[a.lang.common.langDirLtr,"ltr"],[a.lang.common.langDirRtl,"rtl"]]}]}]}],onLoad:function(){o.call(this);var d=this,c=this.getContentElement("info",
|
|
||||||
"elementStyle");a.getStylesSet(function(h){var b,i;if(h)for(var f=0;f<h.length;f++)i=h[f],i.element&&"div"==i.element&&(b=i.name,l[b]=i=new CKEDITOR.style(i),a.filter.check(i)&&(c.items.push([b,b]),c.add(b,b)));c[1<c.items.length?"enable":"disable"]();setTimeout(function(){d._element&&c.setup(d._element)},0)})},onShow:function(){"editdiv"==k&&this.setupContent(this._element=CKEDITOR.plugins.div.getSurroundDiv(a))},onOk:function(){if("editdiv"==k)m=[this._element];else{var d=[],c={},h=[],b,i=a.getSelection(),
|
function n(a, k) {
|
||||||
f=i.getRanges(),l=i.createBookmarks(),g,j;for(g=0;g<f.length;g++)for(j=f[g].createIterator();b=j.getNextParagraph();)if(b.getName()in n&&!b.isReadOnly()){var e=b.getChildren();for(b=0;b<e.count();b++)p(h,e.getItem(b),c)}else{for(;!q[b.getName()]&&!b.equals(f[g].root);)b=b.getParent();p(h,b,c)}CKEDITOR.dom.element.clearAllMarkers(c);f=[];g=null;for(j=0;j<h.length;j++)b=h[j],e=a.elementPath(b).blockLimit,e.isReadOnly()&&(e=e.getParent()),a.config.div_wrapTable&&e.is(["td","th"])&&(e=a.elementPath(e.getParent()).blockLimit),
|
function o() {
|
||||||
e.equals(g)||(g=e,f.push([])),f[f.length-1].push(b);for(g=0;g<f.length;g++){e=f[g][0];h=e.getParent();for(b=1;b<f[g].length;b++)h=h.getCommonAncestor(f[g][b]);j=new CKEDITOR.dom.element("div",a.document);for(b=0;b<f[g].length;b++){for(e=f[g][b];!e.getParent().equals(h);)e=e.getParent();f[g][b]=e}for(b=0;b<f[g].length;b++)if(e=f[g][b],!e.getCustomData||!e.getCustomData("block_processed"))e.is&&CKEDITOR.dom.element.setMarker(c,e,"block_processed",!0),b||j.insertBefore(e),j.append(e);CKEDITOR.dom.element.clearAllMarkers(c);
|
this.foreach(function (d) {
|
||||||
d.push(j)}i.selectBookmarks(l);m=d}d=m.length;for(c=0;c<d;c++)this.commitContent(m[c]),!m[c].getAttribute("style")&&m[c].removeAttribute("style");this.hide()},onHide:function(){"editdiv"==k&&this._element.removeCustomData("elementStyle");delete this._element}}}CKEDITOR.dialog.add("creatediv",function(a){return n(a,"creatediv")});CKEDITOR.dialog.add("editdiv",function(a){return n(a,"editdiv")})})();
|
if (/^(?!vbox|hbox)/.test(d.type) && (d.setup || (d.setup = function (c) {
|
||||||
|
d.setValue(c.getAttribute(d.id) || "", 1)
|
||||||
|
}), !d.commit))d.commit = function (c) {
|
||||||
|
var a = this.getValue();
|
||||||
|
"dir" == d.id && c.getComputedStyle("direction") == a || (a ? c.setAttribute(d.id, a) : c.removeAttribute(d.id))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
var n = function () {
|
||||||
|
var d = CKEDITOR.tools.extend({},
|
||||||
|
CKEDITOR.dtd.$blockLimit);
|
||||||
|
a.config.div_wrapTable && (delete d.td, delete d.th);
|
||||||
|
return d
|
||||||
|
}(), q = CKEDITOR.dtd.div, l = {}, m = [];
|
||||||
|
return{title: a.lang.div.title, minWidth: 400, minHeight: 165, contents: [
|
||||||
|
{id: "info", label: a.lang.common.generalTab, title: a.lang.common.generalTab, elements: [
|
||||||
|
{type: "hbox", widths: ["50%", "50%"], children: [
|
||||||
|
{id: "elementStyle", type: "select", style: "width: 100%;", label: a.lang.div.styleSelectLabel, "default": "", items: [
|
||||||
|
[a.lang.common.notSet, ""]
|
||||||
|
], onChange: function () {
|
||||||
|
var d = ["info:elementStyle", "info:class",
|
||||||
|
"advanced:dir", "advanced:style"], c = this.getDialog(), h = c._element && c._element.clone() || new CKEDITOR.dom.element("div", a.document);
|
||||||
|
this.commit(h, !0);
|
||||||
|
for (var d = [].concat(d), b = d.length, i, f = 0; f < b; f++)(i = c.getContentElement.apply(c, d[f].split(":"))) && i.setup && i.setup(h, !0)
|
||||||
|
}, setup: function (a) {
|
||||||
|
for (var c in l)l[c].checkElementRemovable(a, !0) && this.setValue(c, 1)
|
||||||
|
}, commit: function (a) {
|
||||||
|
var c;
|
||||||
|
(c = this.getValue()) ? l[c].applyToObject(a) : a.removeAttribute("style")
|
||||||
|
}},
|
||||||
|
{id: "class", type: "text", requiredContent: "div(cke-xyz)",
|
||||||
|
label: a.lang.common.cssClass, "default": ""}
|
||||||
|
]}
|
||||||
|
]},
|
||||||
|
{id: "advanced", label: a.lang.common.advancedTab, title: a.lang.common.advancedTab, elements: [
|
||||||
|
{type: "vbox", padding: 1, children: [
|
||||||
|
{type: "hbox", widths: ["50%", "50%"], children: [
|
||||||
|
{type: "text", id: "id", requiredContent: "div[id]", label: a.lang.common.id, "default": ""},
|
||||||
|
{type: "text", id: "lang", requiredContent: "div[lang]", label: a.lang.common.langCode, "default": ""}
|
||||||
|
]},
|
||||||
|
{type: "hbox", children: [
|
||||||
|
{type: "text", id: "style", requiredContent: "div{cke-xyz}", style: "width: 100%;", label: a.lang.common.cssStyle,
|
||||||
|
"default": "", commit: function (a) {
|
||||||
|
a.setAttribute("style", this.getValue())
|
||||||
|
}}
|
||||||
|
]},
|
||||||
|
{type: "hbox", children: [
|
||||||
|
{type: "text", id: "title", requiredContent: "div[title]", style: "width: 100%;", label: a.lang.common.advisoryTitle, "default": ""}
|
||||||
|
]},
|
||||||
|
{type: "select", id: "dir", requiredContent: "div[dir]", style: "width: 100%;", label: a.lang.common.langDir, "default": "", items: [
|
||||||
|
[a.lang.common.notSet, ""],
|
||||||
|
[a.lang.common.langDirLtr, "ltr"],
|
||||||
|
[a.lang.common.langDirRtl, "rtl"]
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
], onLoad: function () {
|
||||||
|
o.call(this);
|
||||||
|
var d = this, c = this.getContentElement("info",
|
||||||
|
"elementStyle");
|
||||||
|
a.getStylesSet(function (h) {
|
||||||
|
var b, i;
|
||||||
|
if (h)for (var f = 0; f < h.length; f++)i = h[f], i.element && "div" == i.element && (b = i.name, l[b] = i = new CKEDITOR.style(i), a.filter.check(i) && (c.items.push([b, b]), c.add(b, b)));
|
||||||
|
c[1 < c.items.length ? "enable" : "disable"]();
|
||||||
|
setTimeout(function () {
|
||||||
|
d._element && c.setup(d._element)
|
||||||
|
}, 0)
|
||||||
|
})
|
||||||
|
}, onShow: function () {
|
||||||
|
"editdiv" == k && this.setupContent(this._element = CKEDITOR.plugins.div.getSurroundDiv(a))
|
||||||
|
}, onOk: function () {
|
||||||
|
if ("editdiv" == k)m = [this._element]; else {
|
||||||
|
var d = [], c = {}, h = [], b, i = a.getSelection(),
|
||||||
|
f = i.getRanges(), l = i.createBookmarks(), g, j;
|
||||||
|
for (g = 0; g < f.length; g++)for (j = f[g].createIterator(); b = j.getNextParagraph();)if (b.getName()in n && !b.isReadOnly()) {
|
||||||
|
var e = b.getChildren();
|
||||||
|
for (b = 0; b < e.count(); b++)p(h, e.getItem(b), c)
|
||||||
|
} else {
|
||||||
|
for (; !q[b.getName()] && !b.equals(f[g].root);)b = b.getParent();
|
||||||
|
p(h, b, c)
|
||||||
|
}
|
||||||
|
CKEDITOR.dom.element.clearAllMarkers(c);
|
||||||
|
f = [];
|
||||||
|
g = null;
|
||||||
|
for (j = 0; j < h.length; j++)b = h[j], e = a.elementPath(b).blockLimit, e.isReadOnly() && (e = e.getParent()), a.config.div_wrapTable && e.is(["td", "th"]) && (e = a.elementPath(e.getParent()).blockLimit),
|
||||||
|
e.equals(g) || (g = e, f.push([])), f[f.length - 1].push(b);
|
||||||
|
for (g = 0; g < f.length; g++) {
|
||||||
|
e = f[g][0];
|
||||||
|
h = e.getParent();
|
||||||
|
for (b = 1; b < f[g].length; b++)h = h.getCommonAncestor(f[g][b]);
|
||||||
|
j = new CKEDITOR.dom.element("div", a.document);
|
||||||
|
for (b = 0; b < f[g].length; b++) {
|
||||||
|
for (e = f[g][b]; !e.getParent().equals(h);)e = e.getParent();
|
||||||
|
f[g][b] = e
|
||||||
|
}
|
||||||
|
for (b = 0; b < f[g].length; b++)if (e = f[g][b], !e.getCustomData || !e.getCustomData("block_processed"))e.is && CKEDITOR.dom.element.setMarker(c, e, "block_processed", !0), b || j.insertBefore(e), j.append(e);
|
||||||
|
CKEDITOR.dom.element.clearAllMarkers(c);
|
||||||
|
d.push(j)
|
||||||
|
}
|
||||||
|
i.selectBookmarks(l);
|
||||||
|
m = d
|
||||||
|
}
|
||||||
|
d = m.length;
|
||||||
|
for (c = 0; c < d; c++)this.commitContent(m[c]), !m[c].getAttribute("style") && m[c].removeAttribute("style");
|
||||||
|
this.hide()
|
||||||
|
}, onHide: function () {
|
||||||
|
"editdiv" == k && this._element.removeCustomData("elementStyle");
|
||||||
|
delete this._element
|
||||||
|
}}
|
||||||
|
}
|
||||||
|
|
||||||
|
CKEDITOR.dialog.add("creatediv", function (a) {
|
||||||
|
return n(a, "creatediv")
|
||||||
|
});
|
||||||
|
CKEDITOR.dialog.add("editdiv", function (a) {
|
||||||
|
return n(a, "editdiv")
|
||||||
|
})
|
||||||
|
})();
|
|
@ -1,24 +1,300 @@
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||||
For licensing, see LICENSE.md or http://ckeditor.com/license
|
For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
*/
|
*/
|
||||||
(function(){function y(c){return c.type==CKEDITOR.NODE_TEXT&&0<c.getLength()&&(!o||!c.isReadOnly())}function s(c){return!(c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary(CKEDITOR.tools.extend({},CKEDITOR.dtd.$empty,CKEDITOR.dtd.$nonEditable)))}var o,t=function(){return{textNode:this.textNode,offset:this.offset,character:this.textNode?this.textNode.getText().charAt(this.offset):null,hitMatchBoundary:this._.matchBoundary}},u=["find","replace"],p=[["txtFindFind","txtFindReplace"],["txtFindCaseChk",
|
(function () {
|
||||||
"txtReplaceCaseChk"],["txtFindWordChk","txtReplaceWordChk"],["txtFindCyclic","txtReplaceCyclic"]],n=function(c,g){function n(a,b){var d=c.createRange();d.setStart(a.textNode,b?a.offset:a.offset+1);d.setEndAt(c.editable(),CKEDITOR.POSITION_BEFORE_END);return d}function q(a){var b=c.getSelection(),d=c.editable();b&&!a?(a=b.getRanges()[0].clone(),a.collapse(!0)):(a=c.createRange(),a.setStartAt(d,CKEDITOR.POSITION_AFTER_START));a.setEndAt(d,CKEDITOR.POSITION_BEFORE_END);return a}var v=new CKEDITOR.style(CKEDITOR.tools.extend({attributes:{"data-cke-highlight":1},
|
function y(c) {
|
||||||
fullMatch:1,ignoreReadonly:1,childRule:function(){return 0}},c.config.find_highlight,!0)),l=function(a,b){var d=this,c=new CKEDITOR.dom.walker(a);c.guard=b?s:function(a){!s(a)&&(d._.matchBoundary=!0)};c.evaluator=y;c.breakOnFalse=1;a.startContainer.type==CKEDITOR.NODE_TEXT&&(this.textNode=a.startContainer,this.offset=a.startOffset-1);this._={matchWord:b,walker:c,matchBoundary:!1}};l.prototype={next:function(){return this.move()},back:function(){return this.move(!0)},move:function(a){var b=this.textNode;
|
return c.type == CKEDITOR.NODE_TEXT && 0 < c.getLength() && (!o || !c.isReadOnly())
|
||||||
if(null===b)return t.call(this);this._.matchBoundary=!1;if(b&&a&&0<this.offset)this.offset--;else if(b&&this.offset<b.getLength()-1)this.offset++;else{for(b=null;!b&&!(b=this._.walker[a?"previous":"next"].call(this._.walker),this._.matchWord&&!b||this._.walker._.end););this.offset=(this.textNode=b)?a?b.getLength()-1:0:0}return t.call(this)}};var r=function(a,b){this._={walker:a,cursors:[],rangeLength:b,highlightRange:null,isMatched:0}};r.prototype={toDomRange:function(){var a=c.createRange(),b=this._.cursors;
|
}
|
||||||
if(1>b.length){var d=this._.walker.textNode;if(d)a.setStartAfter(d);else return null}else d=b[0],b=b[b.length-1],a.setStart(d.textNode,d.offset),a.setEnd(b.textNode,b.offset+1);return a},updateFromDomRange:function(a){var b=new l(a);this._.cursors=[];do a=b.next(),a.character&&this._.cursors.push(a);while(a.character);this._.rangeLength=this._.cursors.length},setMatched:function(){this._.isMatched=!0},clearMatched:function(){this._.isMatched=!1},isMatched:function(){return this._.isMatched},highlight:function(){if(!(1>
|
|
||||||
this._.cursors.length)){this._.highlightRange&&this.removeHighlight();var a=this.toDomRange(),b=a.createBookmark();v.applyToRange(a);a.moveToBookmark(b);this._.highlightRange=a;b=a.startContainer;b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent());b.scrollIntoView();this.updateFromDomRange(a)}},removeHighlight:function(){if(this._.highlightRange){var a=this._.highlightRange.createBookmark();v.removeFromRange(this._.highlightRange);this._.highlightRange.moveToBookmark(a);this.updateFromDomRange(this._.highlightRange);
|
function s(c) {
|
||||||
this._.highlightRange=null}},isReadOnly:function(){return!this._.highlightRange?0:this._.highlightRange.startContainer.isReadOnly()},moveBack:function(){var a=this._.walker.back(),b=this._.cursors;a.hitMatchBoundary&&(this._.cursors=b=[]);b.unshift(a);b.length>this._.rangeLength&&b.pop();return a},moveNext:function(){var a=this._.walker.next(),b=this._.cursors;a.hitMatchBoundary&&(this._.cursors=b=[]);b.push(a);b.length>this._.rangeLength&&b.shift();return a},getEndCharacter:function(){var a=this._.cursors;
|
return!(c.type == CKEDITOR.NODE_ELEMENT && c.isBlockBoundary(CKEDITOR.tools.extend({}, CKEDITOR.dtd.$empty, CKEDITOR.dtd.$nonEditable)))
|
||||||
return 1>a.length?null:a[a.length-1].character},getNextCharacterRange:function(a){var b,d;d=this._.cursors;d=(b=d[d.length-1])&&b.textNode?new l(n(b)):this._.walker;return new r(d,a)},getCursors:function(){return this._.cursors}};var w=function(a,b){var d=[-1];b&&(a=a.toLowerCase());for(var c=0;c<a.length;c++)for(d.push(d[c]+1);0<d[c+1]&&a.charAt(c)!=a.charAt(d[c+1]-1);)d[c+1]=d[d[c+1]-1]+1;this._={overlap:d,state:0,ignoreCase:!!b,pattern:a}};w.prototype={feedCharacter:function(a){for(this._.ignoreCase&&
|
}
|
||||||
(a=a.toLowerCase());;){if(a==this._.pattern.charAt(this._.state))return this._.state++,this._.state==this._.pattern.length?(this._.state=0,2):1;if(this._.state)this._.state=this._.overlap[this._.state];else return 0}return null},reset:function(){this._.state=0}};var z=/[.,"'?!;: \u0085\u00a0\u1680\u280e\u2028\u2029\u202f\u205f\u3000]/,x=function(a){if(!a)return!0;var b=a.charCodeAt(0);return 9<=b&&13>=b||8192<=b&&8202>=b||z.test(a)},e={searchRange:null,matchRange:null,find:function(a,b,d,f,e,A){this.matchRange?
|
|
||||||
(this.matchRange.removeHighlight(),this.matchRange=this.matchRange.getNextCharacterRange(a.length)):this.matchRange=new r(new l(this.searchRange),a.length);for(var i=new w(a,!b),j=0,k="%";null!==k;){for(this.matchRange.moveNext();k=this.matchRange.getEndCharacter();){j=i.feedCharacter(k);if(2==j)break;this.matchRange.moveNext().hitMatchBoundary&&i.reset()}if(2==j){if(d){var h=this.matchRange.getCursors(),m=h[h.length-1],h=h[0],g=c.createRange();g.setStartAt(c.editable(),CKEDITOR.POSITION_AFTER_START);
|
var o, t = function () {
|
||||||
g.setEnd(h.textNode,h.offset);h=g;m=n(m);h.trim();m.trim();h=new l(h,!0);m=new l(m,!0);if(!x(h.back().character)||!x(m.next().character))continue}this.matchRange.setMatched();!1!==e&&this.matchRange.highlight();return!0}}this.matchRange.clearMatched();this.matchRange.removeHighlight();return f&&!A?(this.searchRange=q(1),this.matchRange=null,arguments.callee.apply(this,Array.prototype.slice.call(arguments).concat([!0]))):!1},replaceCounter:0,replace:function(a,b,d,f,e,g,i){o=1;a=0;if(this.matchRange&&
|
return{textNode: this.textNode, offset: this.offset, character: this.textNode ? this.textNode.getText().charAt(this.offset) : null, hitMatchBoundary: this._.matchBoundary}
|
||||||
this.matchRange.isMatched()&&!this.matchRange._.isReplaced&&!this.matchRange.isReadOnly()){this.matchRange.removeHighlight();b=this.matchRange.toDomRange();d=c.document.createText(d);if(!i){var j=c.getSelection();j.selectRanges([b]);c.fire("saveSnapshot")}b.deleteContents();b.insertNode(d);i||(j.selectRanges([b]),c.fire("saveSnapshot"));this.matchRange.updateFromDomRange(b);i||this.matchRange.highlight();this.matchRange._.isReplaced=!0;this.replaceCounter++;a=1}else a=this.find(b,f,e,g,!i);o=0;return a}},
|
}, u = ["find", "replace"], p = [
|
||||||
f=c.lang.find;return{title:f.title,resizable:CKEDITOR.DIALOG_RESIZE_NONE,minWidth:350,minHeight:170,buttons:[CKEDITOR.dialog.cancelButton(c,{label:c.lang.common.close})],contents:[{id:"find",label:f.find,title:f.find,accessKey:"",elements:[{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtFindFind",label:f.findWhat,isChanged:!1,labelLayout:"horizontal",accessKey:"F"},{type:"button",id:"btnFind",align:"left",style:"width:100%",label:f.find,onClick:function(){var a=this.getDialog();
|
["txtFindFind", "txtFindReplace"],
|
||||||
e.find(a.getValueOf("find","txtFindFind"),a.getValueOf("find","txtFindCaseChk"),a.getValueOf("find","txtFindWordChk"),a.getValueOf("find","txtFindCyclic"))||alert(f.notFoundMsg)}}]},{type:"fieldset",label:CKEDITOR.tools.htmlEncode(f.findOptions),style:"margin-top:29px",children:[{type:"vbox",padding:0,children:[{type:"checkbox",id:"txtFindCaseChk",isChanged:!1,label:f.matchCase},{type:"checkbox",id:"txtFindWordChk",isChanged:!1,label:f.matchWord},{type:"checkbox",id:"txtFindCyclic",isChanged:!1,"default":!0,
|
["txtFindCaseChk",
|
||||||
label:f.matchCyclic}]}]}]},{id:"replace",label:f.replace,accessKey:"M",elements:[{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtFindReplace",label:f.findWhat,isChanged:!1,labelLayout:"horizontal",accessKey:"F"},{type:"button",id:"btnFindReplace",align:"left",style:"width:100%",label:f.replace,onClick:function(){var a=this.getDialog();e.replace(a,a.getValueOf("replace","txtFindReplace"),a.getValueOf("replace","txtReplace"),a.getValueOf("replace","txtReplaceCaseChk"),a.getValueOf("replace",
|
"txtReplaceCaseChk"],
|
||||||
"txtReplaceWordChk"),a.getValueOf("replace","txtReplaceCyclic"))||alert(f.notFoundMsg)}}]},{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtReplace",label:f.replaceWith,isChanged:!1,labelLayout:"horizontal",accessKey:"R"},{type:"button",id:"btnReplaceAll",align:"left",style:"width:100%",label:f.replaceAll,isChanged:!1,onClick:function(){var a=this.getDialog();e.replaceCounter=0;e.searchRange=q(1);e.matchRange&&(e.matchRange.removeHighlight(),e.matchRange=null);for(c.fire("saveSnapshot");e.replace(a,
|
["txtFindWordChk", "txtReplaceWordChk"],
|
||||||
a.getValueOf("replace","txtFindReplace"),a.getValueOf("replace","txtReplace"),a.getValueOf("replace","txtReplaceCaseChk"),a.getValueOf("replace","txtReplaceWordChk"),!1,!0););e.replaceCounter?(alert(f.replaceSuccessMsg.replace(/%1/,e.replaceCounter)),c.fire("saveSnapshot")):alert(f.notFoundMsg)}}]},{type:"fieldset",label:CKEDITOR.tools.htmlEncode(f.findOptions),children:[{type:"vbox",padding:0,children:[{type:"checkbox",id:"txtReplaceCaseChk",isChanged:!1,label:f.matchCase},{type:"checkbox",id:"txtReplaceWordChk",
|
["txtFindCyclic", "txtReplaceCyclic"]
|
||||||
isChanged:!1,label:f.matchWord},{type:"checkbox",id:"txtReplaceCyclic",isChanged:!1,"default":!0,label:f.matchCyclic}]}]}]}],onLoad:function(){var a=this,b,c=0;this.on("hide",function(){c=0});this.on("show",function(){c=1});this.selectPage=CKEDITOR.tools.override(this.selectPage,function(f){return function(e){f.call(a,e);var g=a._.tabs[e],i;i="find"===e?"txtFindWordChk":"txtReplaceWordChk";b=a.getContentElement(e,"find"===e?"txtFindFind":"txtFindReplace");a.getContentElement(e,i);g.initialized||(CKEDITOR.document.getById(b._.inputId),
|
], n = function (c, g) {
|
||||||
g.initialized=!0);if(c){var j,e="find"===e?1:0,g=1-e,k,h=p.length;for(k=0;k<h;k++)i=this.getContentElement(u[e],p[k][e]),j=this.getContentElement(u[g],p[k][g]),j.setValue(i.getValue())}}})},onShow:function(){e.searchRange=q();var a=this.getParentEditor().getSelection().getSelectedText(),b=this.getContentElement(g,"find"==g?"txtFindFind":"txtFindReplace");b.setValue(a);b.select();this.selectPage(g);this[("find"==g&&this._.editor.readOnly?"hide":"show")+"Page"]("replace")},onHide:function(){var a;e.matchRange&&
|
function n(a, b) {
|
||||||
e.matchRange.isMatched()&&(e.matchRange.removeHighlight(),c.focus(),(a=e.matchRange.toDomRange())&&c.getSelection().selectRanges([a]));delete e.matchRange},onFocus:function(){return"replace"==g?this.getContentElement("replace","txtFindReplace"):this.getContentElement("find","txtFindFind")}}};CKEDITOR.dialog.add("find",function(c){return n(c,"find")});CKEDITOR.dialog.add("replace",function(c){return n(c,"replace")})})();
|
var d = c.createRange();
|
||||||
|
d.setStart(a.textNode, b ? a.offset : a.offset + 1);
|
||||||
|
d.setEndAt(c.editable(), CKEDITOR.POSITION_BEFORE_END);
|
||||||
|
return d
|
||||||
|
}
|
||||||
|
|
||||||
|
function q(a) {
|
||||||
|
var b = c.getSelection(), d = c.editable();
|
||||||
|
b && !a ? (a = b.getRanges()[0].clone(), a.collapse(!0)) : (a = c.createRange(), a.setStartAt(d, CKEDITOR.POSITION_AFTER_START));
|
||||||
|
a.setEndAt(d, CKEDITOR.POSITION_BEFORE_END);
|
||||||
|
return a
|
||||||
|
}
|
||||||
|
|
||||||
|
var v = new CKEDITOR.style(CKEDITOR.tools.extend({attributes: {"data-cke-highlight": 1},
|
||||||
|
fullMatch: 1, ignoreReadonly: 1, childRule: function () {
|
||||||
|
return 0
|
||||||
|
}}, c.config.find_highlight, !0)), l = function (a, b) {
|
||||||
|
var d = this, c = new CKEDITOR.dom.walker(a);
|
||||||
|
c.guard = b ? s : function (a) {
|
||||||
|
!s(a) && (d._.matchBoundary = !0)
|
||||||
|
};
|
||||||
|
c.evaluator = y;
|
||||||
|
c.breakOnFalse = 1;
|
||||||
|
a.startContainer.type == CKEDITOR.NODE_TEXT && (this.textNode = a.startContainer, this.offset = a.startOffset - 1);
|
||||||
|
this._ = {matchWord: b, walker: c, matchBoundary: !1}
|
||||||
|
};
|
||||||
|
l.prototype = {next: function () {
|
||||||
|
return this.move()
|
||||||
|
}, back: function () {
|
||||||
|
return this.move(!0)
|
||||||
|
}, move: function (a) {
|
||||||
|
var b = this.textNode;
|
||||||
|
if (null === b)return t.call(this);
|
||||||
|
this._.matchBoundary = !1;
|
||||||
|
if (b && a && 0 < this.offset)this.offset--; else if (b && this.offset < b.getLength() - 1)this.offset++; else {
|
||||||
|
for (b = null; !b && !(b = this._.walker[a ? "previous" : "next"].call(this._.walker), this._.matchWord && !b || this._.walker._.end););
|
||||||
|
this.offset = (this.textNode = b) ? a ? b.getLength() - 1 : 0 : 0
|
||||||
|
}
|
||||||
|
return t.call(this)
|
||||||
|
}};
|
||||||
|
var r = function (a, b) {
|
||||||
|
this._ = {walker: a, cursors: [], rangeLength: b, highlightRange: null, isMatched: 0}
|
||||||
|
};
|
||||||
|
r.prototype = {toDomRange: function () {
|
||||||
|
var a = c.createRange(), b = this._.cursors;
|
||||||
|
if (1 > b.length) {
|
||||||
|
var d = this._.walker.textNode;
|
||||||
|
if (d)a.setStartAfter(d); else return null
|
||||||
|
} else d = b[0], b = b[b.length - 1], a.setStart(d.textNode, d.offset), a.setEnd(b.textNode, b.offset + 1);
|
||||||
|
return a
|
||||||
|
}, updateFromDomRange: function (a) {
|
||||||
|
var b = new l(a);
|
||||||
|
this._.cursors = [];
|
||||||
|
do a = b.next(), a.character && this._.cursors.push(a); while (a.character);
|
||||||
|
this._.rangeLength = this._.cursors.length
|
||||||
|
}, setMatched: function () {
|
||||||
|
this._.isMatched = !0
|
||||||
|
}, clearMatched: function () {
|
||||||
|
this._.isMatched = !1
|
||||||
|
}, isMatched: function () {
|
||||||
|
return this._.isMatched
|
||||||
|
}, highlight: function () {
|
||||||
|
if (!(1 >
|
||||||
|
this._.cursors.length)) {
|
||||||
|
this._.highlightRange && this.removeHighlight();
|
||||||
|
var a = this.toDomRange(), b = a.createBookmark();
|
||||||
|
v.applyToRange(a);
|
||||||
|
a.moveToBookmark(b);
|
||||||
|
this._.highlightRange = a;
|
||||||
|
b = a.startContainer;
|
||||||
|
b.type != CKEDITOR.NODE_ELEMENT && (b = b.getParent());
|
||||||
|
b.scrollIntoView();
|
||||||
|
this.updateFromDomRange(a)
|
||||||
|
}
|
||||||
|
}, removeHighlight: function () {
|
||||||
|
if (this._.highlightRange) {
|
||||||
|
var a = this._.highlightRange.createBookmark();
|
||||||
|
v.removeFromRange(this._.highlightRange);
|
||||||
|
this._.highlightRange.moveToBookmark(a);
|
||||||
|
this.updateFromDomRange(this._.highlightRange);
|
||||||
|
this._.highlightRange = null
|
||||||
|
}
|
||||||
|
}, isReadOnly: function () {
|
||||||
|
return!this._.highlightRange ? 0 : this._.highlightRange.startContainer.isReadOnly()
|
||||||
|
}, moveBack: function () {
|
||||||
|
var a = this._.walker.back(), b = this._.cursors;
|
||||||
|
a.hitMatchBoundary && (this._.cursors = b = []);
|
||||||
|
b.unshift(a);
|
||||||
|
b.length > this._.rangeLength && b.pop();
|
||||||
|
return a
|
||||||
|
}, moveNext: function () {
|
||||||
|
var a = this._.walker.next(), b = this._.cursors;
|
||||||
|
a.hitMatchBoundary && (this._.cursors = b = []);
|
||||||
|
b.push(a);
|
||||||
|
b.length > this._.rangeLength && b.shift();
|
||||||
|
return a
|
||||||
|
}, getEndCharacter: function () {
|
||||||
|
var a = this._.cursors;
|
||||||
|
return 1 > a.length ? null : a[a.length - 1].character
|
||||||
|
}, getNextCharacterRange: function (a) {
|
||||||
|
var b, d;
|
||||||
|
d = this._.cursors;
|
||||||
|
d = (b = d[d.length - 1]) && b.textNode ? new l(n(b)) : this._.walker;
|
||||||
|
return new r(d, a)
|
||||||
|
}, getCursors: function () {
|
||||||
|
return this._.cursors
|
||||||
|
}};
|
||||||
|
var w = function (a, b) {
|
||||||
|
var d = [-1];
|
||||||
|
b && (a = a.toLowerCase());
|
||||||
|
for (var c = 0; c < a.length; c++)for (d.push(d[c] + 1); 0 < d[c + 1] && a.charAt(c) != a.charAt(d[c + 1] - 1);)d[c + 1] = d[d[c + 1] - 1] + 1;
|
||||||
|
this._ = {overlap: d, state: 0, ignoreCase: !!b, pattern: a}
|
||||||
|
};
|
||||||
|
w.prototype = {feedCharacter: function (a) {
|
||||||
|
for (this._.ignoreCase &&
|
||||||
|
(a = a.toLowerCase()); ;) {
|
||||||
|
if (a == this._.pattern.charAt(this._.state))return this._.state++, this._.state == this._.pattern.length ? (this._.state = 0, 2) : 1;
|
||||||
|
if (this._.state)this._.state = this._.overlap[this._.state]; else return 0
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}, reset: function () {
|
||||||
|
this._.state = 0
|
||||||
|
}};
|
||||||
|
var z = /[.,"'?!;: \u0085\u00a0\u1680\u280e\u2028\u2029\u202f\u205f\u3000]/, x = function (a) {
|
||||||
|
if (!a)return!0;
|
||||||
|
var b = a.charCodeAt(0);
|
||||||
|
return 9 <= b && 13 >= b || 8192 <= b && 8202 >= b || z.test(a)
|
||||||
|
}, e = {searchRange: null, matchRange: null, find: function (a, b, d, f, e, A) {
|
||||||
|
this.matchRange ?
|
||||||
|
(this.matchRange.removeHighlight(), this.matchRange = this.matchRange.getNextCharacterRange(a.length)) : this.matchRange = new r(new l(this.searchRange), a.length);
|
||||||
|
for (var i = new w(a, !b), j = 0, k = "%"; null !== k;) {
|
||||||
|
for (this.matchRange.moveNext(); k = this.matchRange.getEndCharacter();) {
|
||||||
|
j = i.feedCharacter(k);
|
||||||
|
if (2 == j)break;
|
||||||
|
this.matchRange.moveNext().hitMatchBoundary && i.reset()
|
||||||
|
}
|
||||||
|
if (2 == j) {
|
||||||
|
if (d) {
|
||||||
|
var h = this.matchRange.getCursors(), m = h[h.length - 1], h = h[0], g = c.createRange();
|
||||||
|
g.setStartAt(c.editable(), CKEDITOR.POSITION_AFTER_START);
|
||||||
|
g.setEnd(h.textNode, h.offset);
|
||||||
|
h = g;
|
||||||
|
m = n(m);
|
||||||
|
h.trim();
|
||||||
|
m.trim();
|
||||||
|
h = new l(h, !0);
|
||||||
|
m = new l(m, !0);
|
||||||
|
if (!x(h.back().character) || !x(m.next().character))continue
|
||||||
|
}
|
||||||
|
this.matchRange.setMatched();
|
||||||
|
!1 !== e && this.matchRange.highlight();
|
||||||
|
return!0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.matchRange.clearMatched();
|
||||||
|
this.matchRange.removeHighlight();
|
||||||
|
return f && !A ? (this.searchRange = q(1), this.matchRange = null, arguments.callee.apply(this, Array.prototype.slice.call(arguments).concat([!0]))) : !1
|
||||||
|
}, replaceCounter: 0, replace: function (a, b, d, f, e, g, i) {
|
||||||
|
o = 1;
|
||||||
|
a = 0;
|
||||||
|
if (this.matchRange &&
|
||||||
|
this.matchRange.isMatched() && !this.matchRange._.isReplaced && !this.matchRange.isReadOnly()) {
|
||||||
|
this.matchRange.removeHighlight();
|
||||||
|
b = this.matchRange.toDomRange();
|
||||||
|
d = c.document.createText(d);
|
||||||
|
if (!i) {
|
||||||
|
var j = c.getSelection();
|
||||||
|
j.selectRanges([b]);
|
||||||
|
c.fire("saveSnapshot")
|
||||||
|
}
|
||||||
|
b.deleteContents();
|
||||||
|
b.insertNode(d);
|
||||||
|
i || (j.selectRanges([b]), c.fire("saveSnapshot"));
|
||||||
|
this.matchRange.updateFromDomRange(b);
|
||||||
|
i || this.matchRange.highlight();
|
||||||
|
this.matchRange._.isReplaced = !0;
|
||||||
|
this.replaceCounter++;
|
||||||
|
a = 1
|
||||||
|
} else a = this.find(b, f, e, g, !i);
|
||||||
|
o = 0;
|
||||||
|
return a
|
||||||
|
}},
|
||||||
|
f = c.lang.find;
|
||||||
|
return{title: f.title, resizable: CKEDITOR.DIALOG_RESIZE_NONE, minWidth: 350, minHeight: 170, buttons: [CKEDITOR.dialog.cancelButton(c, {label: c.lang.common.close})], contents: [
|
||||||
|
{id: "find", label: f.find, title: f.find, accessKey: "", elements: [
|
||||||
|
{type: "hbox", widths: ["230px", "90px"], children: [
|
||||||
|
{type: "text", id: "txtFindFind", label: f.findWhat, isChanged: !1, labelLayout: "horizontal", accessKey: "F"},
|
||||||
|
{type: "button", id: "btnFind", align: "left", style: "width:100%", label: f.find, onClick: function () {
|
||||||
|
var a = this.getDialog();
|
||||||
|
e.find(a.getValueOf("find", "txtFindFind"), a.getValueOf("find", "txtFindCaseChk"), a.getValueOf("find", "txtFindWordChk"), a.getValueOf("find", "txtFindCyclic")) || alert(f.notFoundMsg)
|
||||||
|
}}
|
||||||
|
]},
|
||||||
|
{type: "fieldset", label: CKEDITOR.tools.htmlEncode(f.findOptions), style: "margin-top:29px", children: [
|
||||||
|
{type: "vbox", padding: 0, children: [
|
||||||
|
{type: "checkbox", id: "txtFindCaseChk", isChanged: !1, label: f.matchCase},
|
||||||
|
{type: "checkbox", id: "txtFindWordChk", isChanged: !1, label: f.matchWord},
|
||||||
|
{type: "checkbox", id: "txtFindCyclic", isChanged: !1, "default": !0,
|
||||||
|
label: f.matchCyclic}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
]},
|
||||||
|
{id: "replace", label: f.replace, accessKey: "M", elements: [
|
||||||
|
{type: "hbox", widths: ["230px", "90px"], children: [
|
||||||
|
{type: "text", id: "txtFindReplace", label: f.findWhat, isChanged: !1, labelLayout: "horizontal", accessKey: "F"},
|
||||||
|
{type: "button", id: "btnFindReplace", align: "left", style: "width:100%", label: f.replace, onClick: function () {
|
||||||
|
var a = this.getDialog();
|
||||||
|
e.replace(a, a.getValueOf("replace", "txtFindReplace"), a.getValueOf("replace", "txtReplace"), a.getValueOf("replace", "txtReplaceCaseChk"), a.getValueOf("replace",
|
||||||
|
"txtReplaceWordChk"), a.getValueOf("replace", "txtReplaceCyclic")) || alert(f.notFoundMsg)
|
||||||
|
}}
|
||||||
|
]},
|
||||||
|
{type: "hbox", widths: ["230px", "90px"], children: [
|
||||||
|
{type: "text", id: "txtReplace", label: f.replaceWith, isChanged: !1, labelLayout: "horizontal", accessKey: "R"},
|
||||||
|
{type: "button", id: "btnReplaceAll", align: "left", style: "width:100%", label: f.replaceAll, isChanged: !1, onClick: function () {
|
||||||
|
var a = this.getDialog();
|
||||||
|
e.replaceCounter = 0;
|
||||||
|
e.searchRange = q(1);
|
||||||
|
e.matchRange && (e.matchRange.removeHighlight(), e.matchRange = null);
|
||||||
|
for (c.fire("saveSnapshot"); e.replace(a,
|
||||||
|
a.getValueOf("replace", "txtFindReplace"), a.getValueOf("replace", "txtReplace"), a.getValueOf("replace", "txtReplaceCaseChk"), a.getValueOf("replace", "txtReplaceWordChk"), !1, !0););
|
||||||
|
e.replaceCounter ? (alert(f.replaceSuccessMsg.replace(/%1/, e.replaceCounter)), c.fire("saveSnapshot")) : alert(f.notFoundMsg)
|
||||||
|
}}
|
||||||
|
]},
|
||||||
|
{type: "fieldset", label: CKEDITOR.tools.htmlEncode(f.findOptions), children: [
|
||||||
|
{type: "vbox", padding: 0, children: [
|
||||||
|
{type: "checkbox", id: "txtReplaceCaseChk", isChanged: !1, label: f.matchCase},
|
||||||
|
{type: "checkbox", id: "txtReplaceWordChk",
|
||||||
|
isChanged: !1, label: f.matchWord},
|
||||||
|
{type: "checkbox", id: "txtReplaceCyclic", isChanged: !1, "default": !0, label: f.matchCyclic}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
], onLoad: function () {
|
||||||
|
var a = this, b, c = 0;
|
||||||
|
this.on("hide", function () {
|
||||||
|
c = 0
|
||||||
|
});
|
||||||
|
this.on("show", function () {
|
||||||
|
c = 1
|
||||||
|
});
|
||||||
|
this.selectPage = CKEDITOR.tools.override(this.selectPage, function (f) {
|
||||||
|
return function (e) {
|
||||||
|
f.call(a, e);
|
||||||
|
var g = a._.tabs[e], i;
|
||||||
|
i = "find" === e ? "txtFindWordChk" : "txtReplaceWordChk";
|
||||||
|
b = a.getContentElement(e, "find" === e ? "txtFindFind" : "txtFindReplace");
|
||||||
|
a.getContentElement(e, i);
|
||||||
|
g.initialized || (CKEDITOR.document.getById(b._.inputId),
|
||||||
|
g.initialized = !0);
|
||||||
|
if (c) {
|
||||||
|
var j, e = "find" === e ? 1 : 0, g = 1 - e, k, h = p.length;
|
||||||
|
for (k = 0; k < h; k++)i = this.getContentElement(u[e], p[k][e]), j = this.getContentElement(u[g], p[k][g]), j.setValue(i.getValue())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}, onShow: function () {
|
||||||
|
e.searchRange = q();
|
||||||
|
var a = this.getParentEditor().getSelection().getSelectedText(), b = this.getContentElement(g, "find" == g ? "txtFindFind" : "txtFindReplace");
|
||||||
|
b.setValue(a);
|
||||||
|
b.select();
|
||||||
|
this.selectPage(g);
|
||||||
|
this[("find" == g && this._.editor.readOnly ? "hide" : "show") + "Page"]("replace")
|
||||||
|
}, onHide: function () {
|
||||||
|
var a;
|
||||||
|
e.matchRange &&
|
||||||
|
e.matchRange.isMatched() && (e.matchRange.removeHighlight(), c.focus(), (a = e.matchRange.toDomRange()) && c.getSelection().selectRanges([a]));
|
||||||
|
delete e.matchRange
|
||||||
|
}, onFocus: function () {
|
||||||
|
return"replace" == g ? this.getContentElement("replace", "txtFindReplace") : this.getContentElement("find", "txtFindFind")
|
||||||
|
}}
|
||||||
|
};
|
||||||
|
CKEDITOR.dialog.add("find", function (c) {
|
||||||
|
return n(c, "find")
|
||||||
|
});
|
||||||
|
CKEDITOR.dialog.add("replace", function (c) {
|
||||||
|
return n(c, "replace")
|
||||||
|
})
|
||||||
|
})();
|
|
@ -1,24 +1,265 @@
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||||
For licensing, see LICENSE.md or http://ckeditor.com/license
|
For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
*/
|
*/
|
||||||
(function(){function b(a,b,c){var k=n[this.id];if(k)for(var f=this instanceof CKEDITOR.ui.dialog.checkbox,e=0;e<k.length;e++){var d=k[e];switch(d.type){case g:if(!a)continue;if(null!==a.getAttribute(d.name)){a=a.getAttribute(d.name);f?this.setValue("true"==a.toLowerCase()):this.setValue(a);return}f&&this.setValue(!!d["default"]);break;case o:if(!a)continue;if(d.name in c){a=c[d.name];f?this.setValue("true"==a.toLowerCase()):this.setValue(a);return}f&&this.setValue(!!d["default"]);break;case i:if(!b)continue;
|
(function () {
|
||||||
if(b.getAttribute(d.name)){a=b.getAttribute(d.name);f?this.setValue("true"==a.toLowerCase()):this.setValue(a);return}f&&this.setValue(!!d["default"])}}}function c(a,b,c){var k=n[this.id];if(k)for(var f=""===this.getValue(),e=this instanceof CKEDITOR.ui.dialog.checkbox,d=0;d<k.length;d++){var h=k[d];switch(h.type){case g:if(!a||"data"==h.name&&b&&!a.hasAttribute("data"))continue;var l=this.getValue();f||e&&l===h["default"]?a.removeAttribute(h.name):a.setAttribute(h.name,l);break;case o:if(!a)continue;
|
function b(a, b, c) {
|
||||||
l=this.getValue();if(f||e&&l===h["default"])h.name in c&&c[h.name].remove();else if(h.name in c)c[h.name].setAttribute("value",l);else{var p=CKEDITOR.dom.element.createFromHtml("<cke:param></cke:param>",a.getDocument());p.setAttributes({name:h.name,value:l});1>a.getChildCount()?p.appendTo(a):p.insertBefore(a.getFirst())}break;case i:if(!b)continue;l=this.getValue();f||e&&l===h["default"]?b.removeAttribute(h.name):b.setAttribute(h.name,l)}}}for(var g=1,o=2,i=4,n={id:[{type:g,name:"id"}],classid:[{type:g,
|
var k = n[this.id];
|
||||||
name:"classid"}],codebase:[{type:g,name:"codebase"}],pluginspage:[{type:i,name:"pluginspage"}],src:[{type:o,name:"movie"},{type:i,name:"src"},{type:g,name:"data"}],name:[{type:i,name:"name"}],align:[{type:g,name:"align"}],"class":[{type:g,name:"class"},{type:i,name:"class"}],width:[{type:g,name:"width"},{type:i,name:"width"}],height:[{type:g,name:"height"},{type:i,name:"height"}],hSpace:[{type:g,name:"hSpace"},{type:i,name:"hSpace"}],vSpace:[{type:g,name:"vSpace"},{type:i,name:"vSpace"}],style:[{type:g,
|
if (k)for (var f = this instanceof CKEDITOR.ui.dialog.checkbox, e = 0; e < k.length; e++) {
|
||||||
name:"style"},{type:i,name:"style"}],type:[{type:i,name:"type"}]},m="play loop menu quality scale salign wmode bgcolor base flashvars allowScriptAccess allowFullScreen".split(" "),j=0;j<m.length;j++)n[m[j]]=[{type:i,name:m[j]},{type:o,name:m[j]}];m=["allowFullScreen","play","loop","menu"];for(j=0;j<m.length;j++)n[m[j]][0]["default"]=n[m[j]][1]["default"]=!0;CKEDITOR.dialog.add("flash",function(a){var g=!a.config.flashEmbedTagOnly,i=a.config.flashAddEmbedTag||a.config.flashEmbedTagOnly,k,f="<div>"+
|
var d = k[e];
|
||||||
CKEDITOR.tools.htmlEncode(a.lang.common.preview)+'<br><div id="cke_FlashPreviewLoader'+CKEDITOR.tools.getNextNumber()+'" style="display:none"><div class="loading"> </div></div><div id="cke_FlashPreviewBox'+CKEDITOR.tools.getNextNumber()+'" class="FlashPreviewBox"></div></div>';return{title:a.lang.flash.title,minWidth:420,minHeight:310,onShow:function(){this.fakeImage=this.objectNode=this.embedNode=null;k=new CKEDITOR.dom.element("embed",a.document);var e=this.getSelectedElement();if(e&&e.data("cke-real-element-type")&&
|
switch (d.type) {
|
||||||
"flash"==e.data("cke-real-element-type")){this.fakeImage=e;var d=a.restoreRealElement(e),h=null,b=null,c={};if("cke:object"==d.getName()){h=d;d=h.getElementsByTag("embed","cke");0<d.count()&&(b=d.getItem(0));for(var d=h.getElementsByTag("param","cke"),g=0,i=d.count();g<i;g++){var f=d.getItem(g),j=f.getAttribute("name"),f=f.getAttribute("value");c[j]=f}}else"cke:embed"==d.getName()&&(b=d);this.objectNode=h;this.embedNode=b;this.setupContent(h,b,c,e)}},onOk:function(){var e=null,d=null,b=null;if(this.fakeImage)e=
|
case g:
|
||||||
this.objectNode,d=this.embedNode;else if(g&&(e=CKEDITOR.dom.element.createFromHtml("<cke:object></cke:object>",a.document),e.setAttributes({classid:"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",codebase:"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"})),i)d=CKEDITOR.dom.element.createFromHtml("<cke:embed></cke:embed>",a.document),d.setAttributes({type:"application/x-shockwave-flash",pluginspage:"http://www.macromedia.com/go/getflashplayer"}),e&&d.appendTo(e);
|
if (!a)continue;
|
||||||
if(e)for(var b={},c=e.getElementsByTag("param","cke"),f=0,j=c.count();f<j;f++)b[c.getItem(f).getAttribute("name")]=c.getItem(f);c={};f={};this.commitContent(e,d,b,c,f);e=a.createFakeElement(e||d,"cke_flash","flash",!0);e.setAttributes(f);e.setStyles(c);this.fakeImage?(e.replace(this.fakeImage),a.getSelection().selectElement(e)):a.insertElement(e)},onHide:function(){this.preview&&this.preview.setHtml("")},contents:[{id:"info",label:a.lang.common.generalTab,accessKey:"I",elements:[{type:"vbox",padding:0,
|
if (null !== a.getAttribute(d.name)) {
|
||||||
children:[{type:"hbox",widths:["280px","110px"],align:"right",children:[{id:"src",type:"text",label:a.lang.common.url,required:!0,validate:CKEDITOR.dialog.validate.notEmpty(a.lang.flash.validateSrc),setup:b,commit:c,onLoad:function(){var a=this.getDialog(),b=function(b){k.setAttribute("src",b);a.preview.setHtml('<embed height="100%" width="100%" src="'+CKEDITOR.tools.htmlEncode(k.getAttribute("src"))+'" type="application/x-shockwave-flash"></embed>')};a.preview=a.getContentElement("info","preview").getElement().getChild(3);
|
a = a.getAttribute(d.name);
|
||||||
this.on("change",function(a){a.data&&a.data.value&&b(a.data.value)});this.getInputElement().on("change",function(){b(this.getValue())},this)}},{type:"button",id:"browse",filebrowser:"info:src",hidden:!0,style:"display:inline-block;margin-top:10px;",label:a.lang.common.browseServer}]}]},{type:"hbox",widths:["25%","25%","25%","25%","25%"],children:[{type:"text",id:"width",requiredContent:"embed[width]",style:"width:95px",label:a.lang.common.width,validate:CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1",
|
f ? this.setValue("true" == a.toLowerCase()) : this.setValue(a);
|
||||||
a.lang.common.width)),setup:b,commit:c},{type:"text",id:"height",requiredContent:"embed[height]",style:"width:95px",label:a.lang.common.height,validate:CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1",a.lang.common.height)),setup:b,commit:c},{type:"text",id:"hSpace",requiredContent:"embed[hspace]",style:"width:95px",label:a.lang.flash.hSpace,validate:CKEDITOR.dialog.validate.integer(a.lang.flash.validateHSpace),setup:b,commit:c},{type:"text",id:"vSpace",requiredContent:"embed[vspace]",
|
return
|
||||||
style:"width:95px",label:a.lang.flash.vSpace,validate:CKEDITOR.dialog.validate.integer(a.lang.flash.validateVSpace),setup:b,commit:c}]},{type:"vbox",children:[{type:"html",id:"preview",style:"width:95%;",html:f}]}]},{id:"Upload",hidden:!0,filebrowser:"uploadButton",label:a.lang.common.upload,elements:[{type:"file",id:"upload",label:a.lang.common.upload,size:38},{type:"fileButton",id:"uploadButton",label:a.lang.common.uploadSubmit,filebrowser:"info:src","for":["Upload","upload"]}]},{id:"properties",
|
}
|
||||||
label:a.lang.flash.propertiesTab,elements:[{type:"hbox",widths:["50%","50%"],children:[{id:"scale",type:"select",requiredContent:"embed[scale]",label:a.lang.flash.scale,"default":"",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.flash.scaleAll,"showall"],[a.lang.flash.scaleNoBorder,"noborder"],[a.lang.flash.scaleFit,"exactfit"]],setup:b,commit:c},{id:"allowScriptAccess",type:"select",requiredContent:"embed[allowscriptaccess]",label:a.lang.flash.access,"default":"",style:"width : 100%;",
|
f && this.setValue(!!d["default"]);
|
||||||
items:[[a.lang.common.notSet,""],[a.lang.flash.accessAlways,"always"],[a.lang.flash.accessSameDomain,"samedomain"],[a.lang.flash.accessNever,"never"]],setup:b,commit:c}]},{type:"hbox",widths:["50%","50%"],children:[{id:"wmode",type:"select",requiredContent:"embed[wmode]",label:a.lang.flash.windowMode,"default":"",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.flash.windowModeWindow,"window"],[a.lang.flash.windowModeOpaque,"opaque"],[a.lang.flash.windowModeTransparent,"transparent"]],
|
break;
|
||||||
setup:b,commit:c},{id:"quality",type:"select",requiredContent:"embed[quality]",label:a.lang.flash.quality,"default":"high",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.flash.qualityBest,"best"],[a.lang.flash.qualityHigh,"high"],[a.lang.flash.qualityAutoHigh,"autohigh"],[a.lang.flash.qualityMedium,"medium"],[a.lang.flash.qualityAutoLow,"autolow"],[a.lang.flash.qualityLow,"low"]],setup:b,commit:c}]},{type:"hbox",widths:["50%","50%"],children:[{id:"align",type:"select",requiredContent:"object[align]",
|
case o:
|
||||||
label:a.lang.common.align,"default":"",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.common.alignLeft,"left"],[a.lang.flash.alignAbsBottom,"absBottom"],[a.lang.flash.alignAbsMiddle,"absMiddle"],[a.lang.flash.alignBaseline,"baseline"],[a.lang.common.alignBottom,"bottom"],[a.lang.common.alignMiddle,"middle"],[a.lang.common.alignRight,"right"],[a.lang.flash.alignTextTop,"textTop"],[a.lang.common.alignTop,"top"]],setup:b,commit:function(a,b,f,g,i){var j=this.getValue();c.apply(this,arguments);
|
if (!a)continue;
|
||||||
j&&(i.align=j)}},{type:"html",html:"<div></div>"}]},{type:"fieldset",label:CKEDITOR.tools.htmlEncode(a.lang.flash.flashvars),children:[{type:"vbox",padding:0,children:[{type:"checkbox",id:"menu",label:a.lang.flash.chkMenu,"default":!0,setup:b,commit:c},{type:"checkbox",id:"play",label:a.lang.flash.chkPlay,"default":!0,setup:b,commit:c},{type:"checkbox",id:"loop",label:a.lang.flash.chkLoop,"default":!0,setup:b,commit:c},{type:"checkbox",id:"allowFullScreen",label:a.lang.flash.chkFull,"default":!0,
|
if (d.name in c) {
|
||||||
setup:b,commit:c}]}]}]},{id:"advanced",label:a.lang.common.advancedTab,elements:[{type:"hbox",children:[{type:"text",id:"id",requiredContent:"object[id]",label:a.lang.common.id,setup:b,commit:c}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",id:"bgcolor",requiredContent:"embed[bgcolor]",label:a.lang.flash.bgcolor,setup:b,commit:c},{type:"text",id:"class",requiredContent:"embed(cke-xyz)",label:a.lang.common.cssClass,setup:b,commit:c}]},{type:"text",id:"style",requiredContent:"embed{cke-xyz}",
|
a = c[d.name];
|
||||||
validate:CKEDITOR.dialog.validate.inlineStyle(a.lang.common.invalidInlineStyle),label:a.lang.common.cssStyle,setup:b,commit:c}]}]}})})();
|
f ? this.setValue("true" == a.toLowerCase()) : this.setValue(a);
|
||||||
|
return
|
||||||
|
}
|
||||||
|
f && this.setValue(!!d["default"]);
|
||||||
|
break;
|
||||||
|
case i:
|
||||||
|
if (!b)continue;
|
||||||
|
if (b.getAttribute(d.name)) {
|
||||||
|
a = b.getAttribute(d.name);
|
||||||
|
f ? this.setValue("true" == a.toLowerCase()) : this.setValue(a);
|
||||||
|
return
|
||||||
|
}
|
||||||
|
f && this.setValue(!!d["default"])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function c(a, b, c) {
|
||||||
|
var k = n[this.id];
|
||||||
|
if (k)for (var f = "" === this.getValue(), e = this instanceof CKEDITOR.ui.dialog.checkbox, d = 0; d < k.length; d++) {
|
||||||
|
var h = k[d];
|
||||||
|
switch (h.type) {
|
||||||
|
case g:
|
||||||
|
if (!a || "data" == h.name && b && !a.hasAttribute("data"))continue;
|
||||||
|
var l = this.getValue();
|
||||||
|
f || e && l === h["default"] ? a.removeAttribute(h.name) : a.setAttribute(h.name, l);
|
||||||
|
break;
|
||||||
|
case o:
|
||||||
|
if (!a)continue;
|
||||||
|
l = this.getValue();
|
||||||
|
if (f || e && l === h["default"])h.name in c && c[h.name].remove(); else if (h.name in c)c[h.name].setAttribute("value", l); else {
|
||||||
|
var p = CKEDITOR.dom.element.createFromHtml("<cke:param></cke:param>", a.getDocument());
|
||||||
|
p.setAttributes({name: h.name, value: l});
|
||||||
|
1 > a.getChildCount() ? p.appendTo(a) : p.insertBefore(a.getFirst())
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case i:
|
||||||
|
if (!b)continue;
|
||||||
|
l = this.getValue();
|
||||||
|
f || e && l === h["default"] ? b.removeAttribute(h.name) : b.setAttribute(h.name, l)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var g = 1, o = 2, i = 4, n = {id: [
|
||||||
|
{type: g, name: "id"}
|
||||||
|
], classid: [
|
||||||
|
{type: g,
|
||||||
|
name: "classid"}
|
||||||
|
], codebase: [
|
||||||
|
{type: g, name: "codebase"}
|
||||||
|
], pluginspage: [
|
||||||
|
{type: i, name: "pluginspage"}
|
||||||
|
], src: [
|
||||||
|
{type: o, name: "movie"},
|
||||||
|
{type: i, name: "src"},
|
||||||
|
{type: g, name: "data"}
|
||||||
|
], name: [
|
||||||
|
{type: i, name: "name"}
|
||||||
|
], align: [
|
||||||
|
{type: g, name: "align"}
|
||||||
|
], "class": [
|
||||||
|
{type: g, name: "class"},
|
||||||
|
{type: i, name: "class"}
|
||||||
|
], width: [
|
||||||
|
{type: g, name: "width"},
|
||||||
|
{type: i, name: "width"}
|
||||||
|
], height: [
|
||||||
|
{type: g, name: "height"},
|
||||||
|
{type: i, name: "height"}
|
||||||
|
], hSpace: [
|
||||||
|
{type: g, name: "hSpace"},
|
||||||
|
{type: i, name: "hSpace"}
|
||||||
|
], vSpace: [
|
||||||
|
{type: g, name: "vSpace"},
|
||||||
|
{type: i, name: "vSpace"}
|
||||||
|
], style: [
|
||||||
|
{type: g,
|
||||||
|
name: "style"},
|
||||||
|
{type: i, name: "style"}
|
||||||
|
], type: [
|
||||||
|
{type: i, name: "type"}
|
||||||
|
]}, m = "play loop menu quality scale salign wmode bgcolor base flashvars allowScriptAccess allowFullScreen".split(" "), j = 0; j < m.length; j++)n[m[j]] = [
|
||||||
|
{type: i, name: m[j]},
|
||||||
|
{type: o, name: m[j]}
|
||||||
|
];
|
||||||
|
m = ["allowFullScreen", "play", "loop", "menu"];
|
||||||
|
for (j = 0; j < m.length; j++)n[m[j]][0]["default"] = n[m[j]][1]["default"] = !0;
|
||||||
|
CKEDITOR.dialog.add("flash", function (a) {
|
||||||
|
var g = !a.config.flashEmbedTagOnly, i = a.config.flashAddEmbedTag || a.config.flashEmbedTagOnly, k, f = "<div>" +
|
||||||
|
CKEDITOR.tools.htmlEncode(a.lang.common.preview) + '<br><div id="cke_FlashPreviewLoader' + CKEDITOR.tools.getNextNumber() + '" style="display:none"><div class="loading"> </div></div><div id="cke_FlashPreviewBox' + CKEDITOR.tools.getNextNumber() + '" class="FlashPreviewBox"></div></div>';
|
||||||
|
return{title: a.lang.flash.title, minWidth: 420, minHeight: 310, onShow: function () {
|
||||||
|
this.fakeImage = this.objectNode = this.embedNode = null;
|
||||||
|
k = new CKEDITOR.dom.element("embed", a.document);
|
||||||
|
var e = this.getSelectedElement();
|
||||||
|
if (e && e.data("cke-real-element-type") &&
|
||||||
|
"flash" == e.data("cke-real-element-type")) {
|
||||||
|
this.fakeImage = e;
|
||||||
|
var d = a.restoreRealElement(e), h = null, b = null, c = {};
|
||||||
|
if ("cke:object" == d.getName()) {
|
||||||
|
h = d;
|
||||||
|
d = h.getElementsByTag("embed", "cke");
|
||||||
|
0 < d.count() && (b = d.getItem(0));
|
||||||
|
for (var d = h.getElementsByTag("param", "cke"), g = 0, i = d.count(); g < i; g++) {
|
||||||
|
var f = d.getItem(g), j = f.getAttribute("name"), f = f.getAttribute("value");
|
||||||
|
c[j] = f
|
||||||
|
}
|
||||||
|
} else"cke:embed" == d.getName() && (b = d);
|
||||||
|
this.objectNode = h;
|
||||||
|
this.embedNode = b;
|
||||||
|
this.setupContent(h, b, c, e)
|
||||||
|
}
|
||||||
|
}, onOk: function () {
|
||||||
|
var e = null, d = null, b = null;
|
||||||
|
if (this.fakeImage)e =
|
||||||
|
this.objectNode, d = this.embedNode; else if (g && (e = CKEDITOR.dom.element.createFromHtml("<cke:object></cke:object>", a.document), e.setAttributes({classid: "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", codebase: "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"})), i)d = CKEDITOR.dom.element.createFromHtml("<cke:embed></cke:embed>", a.document), d.setAttributes({type: "application/x-shockwave-flash", pluginspage: "http://www.macromedia.com/go/getflashplayer"}), e && d.appendTo(e);
|
||||||
|
if (e)for (var b = {}, c = e.getElementsByTag("param", "cke"), f = 0, j = c.count(); f < j; f++)b[c.getItem(f).getAttribute("name")] = c.getItem(f);
|
||||||
|
c = {};
|
||||||
|
f = {};
|
||||||
|
this.commitContent(e, d, b, c, f);
|
||||||
|
e = a.createFakeElement(e || d, "cke_flash", "flash", !0);
|
||||||
|
e.setAttributes(f);
|
||||||
|
e.setStyles(c);
|
||||||
|
this.fakeImage ? (e.replace(this.fakeImage), a.getSelection().selectElement(e)) : a.insertElement(e)
|
||||||
|
}, onHide: function () {
|
||||||
|
this.preview && this.preview.setHtml("")
|
||||||
|
}, contents: [
|
||||||
|
{id: "info", label: a.lang.common.generalTab, accessKey: "I", elements: [
|
||||||
|
{type: "vbox", padding: 0,
|
||||||
|
children: [
|
||||||
|
{type: "hbox", widths: ["280px", "110px"], align: "right", children: [
|
||||||
|
{id: "src", type: "text", label: a.lang.common.url, required: !0, validate: CKEDITOR.dialog.validate.notEmpty(a.lang.flash.validateSrc), setup: b, commit: c, onLoad: function () {
|
||||||
|
var a = this.getDialog(), b = function (b) {
|
||||||
|
k.setAttribute("src", b);
|
||||||
|
a.preview.setHtml('<embed height="100%" width="100%" src="' + CKEDITOR.tools.htmlEncode(k.getAttribute("src")) + '" type="application/x-shockwave-flash"></embed>')
|
||||||
|
};
|
||||||
|
a.preview = a.getContentElement("info", "preview").getElement().getChild(3);
|
||||||
|
this.on("change", function (a) {
|
||||||
|
a.data && a.data.value && b(a.data.value)
|
||||||
|
});
|
||||||
|
this.getInputElement().on("change", function () {
|
||||||
|
b(this.getValue())
|
||||||
|
}, this)
|
||||||
|
}},
|
||||||
|
{type: "button", id: "browse", filebrowser: "info:src", hidden: !0, style: "display:inline-block;margin-top:10px;", label: a.lang.common.browseServer}
|
||||||
|
]}
|
||||||
|
]},
|
||||||
|
{type: "hbox", widths: ["25%", "25%", "25%", "25%", "25%"], children: [
|
||||||
|
{type: "text", id: "width", requiredContent: "embed[width]", style: "width:95px", label: a.lang.common.width, validate: CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1",
|
||||||
|
a.lang.common.width)), setup: b, commit: c},
|
||||||
|
{type: "text", id: "height", requiredContent: "embed[height]", style: "width:95px", label: a.lang.common.height, validate: CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1", a.lang.common.height)), setup: b, commit: c},
|
||||||
|
{type: "text", id: "hSpace", requiredContent: "embed[hspace]", style: "width:95px", label: a.lang.flash.hSpace, validate: CKEDITOR.dialog.validate.integer(a.lang.flash.validateHSpace), setup: b, commit: c},
|
||||||
|
{type: "text", id: "vSpace", requiredContent: "embed[vspace]",
|
||||||
|
style: "width:95px", label: a.lang.flash.vSpace, validate: CKEDITOR.dialog.validate.integer(a.lang.flash.validateVSpace), setup: b, commit: c}
|
||||||
|
]},
|
||||||
|
{type: "vbox", children: [
|
||||||
|
{type: "html", id: "preview", style: "width:95%;", html: f}
|
||||||
|
]}
|
||||||
|
]},
|
||||||
|
{id: "Upload", hidden: !0, filebrowser: "uploadButton", label: a.lang.common.upload, elements: [
|
||||||
|
{type: "file", id: "upload", label: a.lang.common.upload, size: 38},
|
||||||
|
{type: "fileButton", id: "uploadButton", label: a.lang.common.uploadSubmit, filebrowser: "info:src", "for": ["Upload", "upload"]}
|
||||||
|
]},
|
||||||
|
{id: "properties",
|
||||||
|
label: a.lang.flash.propertiesTab, elements: [
|
||||||
|
{type: "hbox", widths: ["50%", "50%"], children: [
|
||||||
|
{id: "scale", type: "select", requiredContent: "embed[scale]", label: a.lang.flash.scale, "default": "", style: "width : 100%;", items: [
|
||||||
|
[a.lang.common.notSet, ""],
|
||||||
|
[a.lang.flash.scaleAll, "showall"],
|
||||||
|
[a.lang.flash.scaleNoBorder, "noborder"],
|
||||||
|
[a.lang.flash.scaleFit, "exactfit"]
|
||||||
|
], setup: b, commit: c},
|
||||||
|
{id: "allowScriptAccess", type: "select", requiredContent: "embed[allowscriptaccess]", label: a.lang.flash.access, "default": "", style: "width : 100%;",
|
||||||
|
items: [
|
||||||
|
[a.lang.common.notSet, ""],
|
||||||
|
[a.lang.flash.accessAlways, "always"],
|
||||||
|
[a.lang.flash.accessSameDomain, "samedomain"],
|
||||||
|
[a.lang.flash.accessNever, "never"]
|
||||||
|
], setup: b, commit: c}
|
||||||
|
]},
|
||||||
|
{type: "hbox", widths: ["50%", "50%"], children: [
|
||||||
|
{id: "wmode", type: "select", requiredContent: "embed[wmode]", label: a.lang.flash.windowMode, "default": "", style: "width : 100%;", items: [
|
||||||
|
[a.lang.common.notSet, ""],
|
||||||
|
[a.lang.flash.windowModeWindow, "window"],
|
||||||
|
[a.lang.flash.windowModeOpaque, "opaque"],
|
||||||
|
[a.lang.flash.windowModeTransparent, "transparent"]
|
||||||
|
],
|
||||||
|
setup: b, commit: c},
|
||||||
|
{id: "quality", type: "select", requiredContent: "embed[quality]", label: a.lang.flash.quality, "default": "high", style: "width : 100%;", items: [
|
||||||
|
[a.lang.common.notSet, ""],
|
||||||
|
[a.lang.flash.qualityBest, "best"],
|
||||||
|
[a.lang.flash.qualityHigh, "high"],
|
||||||
|
[a.lang.flash.qualityAutoHigh, "autohigh"],
|
||||||
|
[a.lang.flash.qualityMedium, "medium"],
|
||||||
|
[a.lang.flash.qualityAutoLow, "autolow"],
|
||||||
|
[a.lang.flash.qualityLow, "low"]
|
||||||
|
], setup: b, commit: c}
|
||||||
|
]},
|
||||||
|
{type: "hbox", widths: ["50%", "50%"], children: [
|
||||||
|
{id: "align", type: "select", requiredContent: "object[align]",
|
||||||
|
label: a.lang.common.align, "default": "", style: "width : 100%;", items: [
|
||||||
|
[a.lang.common.notSet, ""],
|
||||||
|
[a.lang.common.alignLeft, "left"],
|
||||||
|
[a.lang.flash.alignAbsBottom, "absBottom"],
|
||||||
|
[a.lang.flash.alignAbsMiddle, "absMiddle"],
|
||||||
|
[a.lang.flash.alignBaseline, "baseline"],
|
||||||
|
[a.lang.common.alignBottom, "bottom"],
|
||||||
|
[a.lang.common.alignMiddle, "middle"],
|
||||||
|
[a.lang.common.alignRight, "right"],
|
||||||
|
[a.lang.flash.alignTextTop, "textTop"],
|
||||||
|
[a.lang.common.alignTop, "top"]
|
||||||
|
], setup: b, commit: function (a, b, f, g, i) {
|
||||||
|
var j = this.getValue();
|
||||||
|
c.apply(this, arguments);
|
||||||
|
j && (i.align = j)
|
||||||
|
}},
|
||||||
|
{type: "html", html: "<div></div>"}
|
||||||
|
]},
|
||||||
|
{type: "fieldset", label: CKEDITOR.tools.htmlEncode(a.lang.flash.flashvars), children: [
|
||||||
|
{type: "vbox", padding: 0, children: [
|
||||||
|
{type: "checkbox", id: "menu", label: a.lang.flash.chkMenu, "default": !0, setup: b, commit: c},
|
||||||
|
{type: "checkbox", id: "play", label: a.lang.flash.chkPlay, "default": !0, setup: b, commit: c},
|
||||||
|
{type: "checkbox", id: "loop", label: a.lang.flash.chkLoop, "default": !0, setup: b, commit: c},
|
||||||
|
{type: "checkbox", id: "allowFullScreen", label: a.lang.flash.chkFull, "default": !0,
|
||||||
|
setup: b, commit: c}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
]},
|
||||||
|
{id: "advanced", label: a.lang.common.advancedTab, elements: [
|
||||||
|
{type: "hbox", children: [
|
||||||
|
{type: "text", id: "id", requiredContent: "object[id]", label: a.lang.common.id, setup: b, commit: c}
|
||||||
|
]},
|
||||||
|
{type: "hbox", widths: ["45%", "55%"], children: [
|
||||||
|
{type: "text", id: "bgcolor", requiredContent: "embed[bgcolor]", label: a.lang.flash.bgcolor, setup: b, commit: c},
|
||||||
|
{type: "text", id: "class", requiredContent: "embed(cke-xyz)", label: a.lang.common.cssClass, setup: b, commit: c}
|
||||||
|
]},
|
||||||
|
{type: "text", id: "style", requiredContent: "embed{cke-xyz}",
|
||||||
|
validate: CKEDITOR.dialog.validate.inlineStyle(a.lang.common.invalidInlineStyle), label: a.lang.common.cssStyle, setup: b, commit: c}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
})
|
||||||
|
})();
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
@ -1,10 +1,45 @@
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||||
For licensing, see LICENSE.md or http://ckeditor.com/license
|
For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
*/
|
*/
|
||||||
CKEDITOR.dialog.add("a11yHelp",function(j){var a=j.lang.a11yhelp,l=CKEDITOR.tools.getNextId(),e={8:a.backspace,9:a.tab,13:a.enter,16:a.shift,17:a.ctrl,18:a.alt,19:a.pause,20:a.capslock,27:a.escape,33:a.pageUp,34:a.pageDown,35:a.end,36:a.home,37:a.leftArrow,38:a.upArrow,39:a.rightArrow,40:a.downArrow,45:a.insert,46:a["delete"],91:a.leftWindowKey,92:a.rightWindowKey,93:a.selectKey,96:a.numpad0,97:a.numpad1,98:a.numpad2,99:a.numpad3,100:a.numpad4,101:a.numpad5,102:a.numpad6,103:a.numpad7,104:a.numpad8,
|
CKEDITOR.dialog.add("a11yHelp", function (j) {
|
||||||
105:a.numpad9,106:a.multiply,107:a.add,109:a.subtract,110:a.decimalPoint,111:a.divide,112:a.f1,113:a.f2,114:a.f3,115:a.f4,116:a.f5,117:a.f6,118:a.f7,119:a.f8,120:a.f9,121:a.f10,122:a.f11,123:a.f12,144:a.numLock,145:a.scrollLock,186:a.semiColon,187:a.equalSign,188:a.comma,189:a.dash,190:a.period,191:a.forwardSlash,192:a.graveAccent,219:a.openBracket,220:a.backSlash,221:a.closeBracket,222:a.singleQuote};e[CKEDITOR.ALT]=a.alt;e[CKEDITOR.SHIFT]=a.shift;e[CKEDITOR.CTRL]=a.ctrl;var f=[CKEDITOR.ALT,CKEDITOR.SHIFT,
|
var a = j.lang.a11yhelp, l = CKEDITOR.tools.getNextId(), e = {8: a.backspace, 9: a.tab, 13: a.enter, 16: a.shift, 17: a.ctrl, 18: a.alt, 19: a.pause, 20: a.capslock, 27: a.escape, 33: a.pageUp, 34: a.pageDown, 35: a.end, 36: a.home, 37: a.leftArrow, 38: a.upArrow, 39: a.rightArrow, 40: a.downArrow, 45: a.insert, 46: a["delete"], 91: a.leftWindowKey, 92: a.rightWindowKey, 93: a.selectKey, 96: a.numpad0, 97: a.numpad1, 98: a.numpad2, 99: a.numpad3, 100: a.numpad4, 101: a.numpad5, 102: a.numpad6, 103: a.numpad7, 104: a.numpad8,
|
||||||
CKEDITOR.CTRL],m=/\$\{(.*?)\}/g,p=function(){var a=j.keystrokeHandler.keystrokes,g={},c;for(c in a)g[a[c]]=c;return function(a,c){var b;if(g[c]){b=g[c];for(var h,i,k=[],d=0;d<f.length;d++)i=f[d],h=b/f[d],1<h&&2>=h&&(b-=i,k.push(e[i]));k.push(e[b]||String.fromCharCode(b));b=k.join("+")}else b=a;return b}}();return{title:a.title,minWidth:600,minHeight:400,contents:[{id:"info",label:j.lang.common.generalTab,expand:!0,elements:[{type:"html",id:"legends",style:"white-space:normal;",focus:function(){this.getElement().focus()},
|
105: a.numpad9, 106: a.multiply, 107: a.add, 109: a.subtract, 110: a.decimalPoint, 111: a.divide, 112: a.f1, 113: a.f2, 114: a.f3, 115: a.f4, 116: a.f5, 117: a.f6, 118: a.f7, 119: a.f8, 120: a.f9, 121: a.f10, 122: a.f11, 123: a.f12, 144: a.numLock, 145: a.scrollLock, 186: a.semiColon, 187: a.equalSign, 188: a.comma, 189: a.dash, 190: a.period, 191: a.forwardSlash, 192: a.graveAccent, 219: a.openBracket, 220: a.backSlash, 221: a.closeBracket, 222: a.singleQuote};
|
||||||
html:function(){for(var e='<div class="cke_accessibility_legend" role="document" aria-labelledby="'+l+'_arialbl" tabIndex="-1">%1</div><span id="'+l+'_arialbl" class="cke_voice_label">'+a.contents+" </span>",g=[],c=a.legend,j=c.length,f=0;f<j;f++){for(var b=c[f],h=[],i=b.items,k=i.length,d=0;d<k;d++){var n=i[d],o=n.legend.replace(m,p);o.match(m)||h.push("<dt>%1</dt><dd>%2</dd>".replace("%1",n.name).replace("%2",o))}g.push("<h1>%1</h1><dl>%2</dl>".replace("%1",b.name).replace("%2",h.join("")))}return e.replace("%1",
|
e[CKEDITOR.ALT] = a.alt;
|
||||||
g.join(""))}()+'<style type="text/css">.cke_accessibility_legend{width:600px;height:400px;padding-right:5px;overflow-y:auto;overflow-x:hidden;}.cke_browser_quirks .cke_accessibility_legend,.cke_browser_ie6 .cke_accessibility_legend{height:390px}.cke_accessibility_legend *{white-space:normal;}.cke_accessibility_legend h1{font-size: 20px;border-bottom: 1px solid #AAA;margin: 5px 0px 15px;}.cke_accessibility_legend dl{margin-left: 5px;}.cke_accessibility_legend dt{font-size: 13px;font-weight: bold;}.cke_accessibility_legend dd{margin:10px}</style>'}]}],
|
e[CKEDITOR.SHIFT] = a.shift;
|
||||||
buttons:[CKEDITOR.dialog.cancelButton]}});
|
e[CKEDITOR.CTRL] = a.ctrl;
|
||||||
|
var f = [CKEDITOR.ALT, CKEDITOR.SHIFT,
|
||||||
|
CKEDITOR.CTRL], m = /\$\{(.*?)\}/g, p = function () {
|
||||||
|
var a = j.keystrokeHandler.keystrokes, g = {}, c;
|
||||||
|
for (c in a)g[a[c]] = c;
|
||||||
|
return function (a, c) {
|
||||||
|
var b;
|
||||||
|
if (g[c]) {
|
||||||
|
b = g[c];
|
||||||
|
for (var h, i, k = [], d = 0; d < f.length; d++)i = f[d], h = b / f[d], 1 < h && 2 >= h && (b -= i, k.push(e[i]));
|
||||||
|
k.push(e[b] || String.fromCharCode(b));
|
||||||
|
b = k.join("+")
|
||||||
|
} else b = a;
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
}();
|
||||||
|
return{title: a.title, minWidth: 600, minHeight: 400, contents: [
|
||||||
|
{id: "info", label: j.lang.common.generalTab, expand: !0, elements: [
|
||||||
|
{type: "html", id: "legends", style: "white-space:normal;", focus: function () {
|
||||||
|
this.getElement().focus()
|
||||||
|
},
|
||||||
|
html: function () {
|
||||||
|
for (var e = '<div class="cke_accessibility_legend" role="document" aria-labelledby="' + l + '_arialbl" tabIndex="-1">%1</div><span id="' + l + '_arialbl" class="cke_voice_label">' + a.contents + " </span>", g = [], c = a.legend, j = c.length, f = 0; f < j; f++) {
|
||||||
|
for (var b = c[f], h = [], i = b.items, k = i.length, d = 0; d < k; d++) {
|
||||||
|
var n = i[d], o = n.legend.replace(m, p);
|
||||||
|
o.match(m) || h.push("<dt>%1</dt><dd>%2</dd>".replace("%1", n.name).replace("%2", o))
|
||||||
|
}
|
||||||
|
g.push("<h1>%1</h1><dl>%2</dl>".replace("%1", b.name).replace("%2", h.join("")))
|
||||||
|
}
|
||||||
|
return e.replace("%1",
|
||||||
|
g.join(""))
|
||||||
|
}() + '<style type="text/css">.cke_accessibility_legend{width:600px;height:400px;padding-right:5px;overflow-y:auto;overflow-x:hidden;}.cke_browser_quirks .cke_accessibility_legend,.cke_browser_ie6 .cke_accessibility_legend{height:390px}.cke_accessibility_legend *{white-space:normal;}.cke_accessibility_legend h1{font-size: 20px;border-bottom: 1px solid #AAA;margin: 5px 0px 15px;}.cke_accessibility_legend dl{margin-left: 5px;}.cke_accessibility_legend dt{font-size: 13px;font-weight: bold;}.cke_accessibility_legend dd{margin:10px}</style>'}
|
||||||
|
]}
|
||||||
|
],
|
||||||
|
buttons: [CKEDITOR.dialog.cancelButton]}
|
||||||
|
});
|
|
@ -1,11 +1,30 @@
|
||||||
/*
|
|
||||||
|
|
||||||
|
/*
|
||||||
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||||
For licensing, see LICENSE.md or http://ckeditor.com/license
|
For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
*/
|
*/
|
||||||
CKEDITOR.plugins.setLang("a11yhelp","ar",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"عام",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page."},
|
CKEDITOR.plugins.setLang("a11yhelp", "ar", {title: "Accessibility Instructions", contents: "Help Contents. To close this dialog press ESC.", legend: [
|
||||||
{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
|
{name: "عام", items: [
|
||||||
{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",
|
{name: "Editor Toolbar", legend: "Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},
|
||||||
legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
|
{name: "Editor Dialog", legend: "Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page."},
|
||||||
{name:" Accessibility Help",legend:"Press ${a11yHelp}"}]}],backspace:"Backspace",tab:"Tab",enter:"Enter",shift:"Shift",ctrl:"Ctrl",alt:"Alt",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",end:"End",home:"Home",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert","delete":"Delete",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",
|
{name: "Editor Context Menu", legend: "Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},
|
||||||
numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",
|
{name: "Editor List Box", legend: "Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},
|
||||||
graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"});
|
{name: "Editor Element Path Bar", legend: "Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}
|
||||||
|
]},
|
||||||
|
{name: "Commands", items: [
|
||||||
|
{name: " Undo command", legend: "Press ${undo}"},
|
||||||
|
{name: " Redo command", legend: "Press ${redo}"},
|
||||||
|
{name: " Bold command", legend: "Press ${bold}"},
|
||||||
|
{name: " Italic command", legend: "Press ${italic}"},
|
||||||
|
{name: " Underline command",
|
||||||
|
legend: "Press ${underline}"},
|
||||||
|
{name: " Link command", legend: "Press ${link}"},
|
||||||
|
{name: " Toolbar Collapse command", legend: "Press ${toolbarCollapse}"},
|
||||||
|
{name: " Access previous focus space command", legend: "Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
|
||||||
|
{name: " Access next focus space command", legend: "Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},
|
||||||
|
{name: " Accessibility Help", legend: "Press ${a11yHelp}"}
|
||||||
|
]}
|
||||||
|
], backspace: "Backspace", tab: "Tab", enter: "Enter", shift: "Shift", ctrl: "Ctrl", alt: "Alt", pause: "Pause", capslock: "Caps Lock", escape: "Escape", pageUp: "Page Up", pageDown: "Page Down", end: "End", home: "Home", leftArrow: "Left Arrow", upArrow: "Up Arrow", rightArrow: "Right Arrow", downArrow: "Down Arrow", insert: "Insert", "delete": "Delete", leftWindowKey: "Left Windows key", rightWindowKey: "Right Windows key", selectKey: "Select key", numpad0: "Numpad 0", numpad1: "Numpad 1",
|
||||||
|
numpad2: "Numpad 2", numpad3: "Numpad 3", numpad4: "Numpad 4", numpad5: "Numpad 5", numpad6: "Numpad 6", numpad7: "Numpad 7", numpad8: "Numpad 8", numpad9: "Numpad 9", multiply: "Multiply", add: "Add", subtract: "Subtract", decimalPoint: "Decimal Point", divide: "Divide", f1: "F1", f2: "F2", f3: "F3", f4: "F4", f5: "F5", f6: "F6", f7: "F7", f8: "F8", f9: "F9", f10: "F10", f11: "F11", f12: "F12", numLock: "Num Lock", scrollLock: "Scroll Lock", semiColon: "Semicolon", equalSign: "Equal Sign", comma: "Comma", dash: "Dash", period: "Period", forwardSlash: "Forward Slash",
|
||||||
|
graveAccent: "Grave Accent", openBracket: "Open Bracket", backSlash: "Backslash", closeBracket: "Close Bracket", singleQuote: "Single Quote"});
|
|
@ -1,7 +1,14 @@
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||||
For licensing, see LICENSE.md or http://ckeditor.com/license
|
For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
*/
|
*/
|
||||||
CKEDITOR.dialog.add("about",function(a){var a=a.lang.about,b=CKEDITOR.plugins.get("about").path+"dialogs/"+(CKEDITOR.env.hidpi?"hidpi/":"")+"logo_ckeditor.png";return{title:CKEDITOR.env.ie?a.dlgTitle:a.title,minWidth:390,minHeight:230,contents:[{id:"tab1",label:"",title:"",expand:!0,padding:0,elements:[{type:"html",html:'<style type="text/css">.cke_about_container{color:#000 !important;padding:10px 10px 0;margin-top:5px}.cke_about_container p{margin: 0 0 10px;}.cke_about_container .cke_about_logo{height:81px;background-color:#fff;background-image:url('+
|
CKEDITOR.dialog.add("about", function (a) {
|
||||||
b+");"+(CKEDITOR.env.hidpi?"background-size:163px 58px;":"")+'background-position:center; background-repeat:no-repeat;margin-bottom:10px;}.cke_about_container a{cursor:pointer !important;color:#00B2CE !important;text-decoration:underline !important;}</style><div class="cke_about_container"><div class="cke_about_logo"></div><p>CKEditor '+CKEDITOR.version+" (revision "+CKEDITOR.revision+')<br><a href="http://ckeditor.com/">http://ckeditor.com</a></p><p>'+a.help.replace("$1",'<a href="http://docs.ckeditor.com/user">'+
|
var a = a.lang.about, b = CKEDITOR.plugins.get("about").path + "dialogs/" + (CKEDITOR.env.hidpi ? "hidpi/" : "") + "logo_ckeditor.png";
|
||||||
a.userGuide+"</a>")+"</p><p>"+a.moreInfo+'<br><a href="http://ckeditor.com/about/license">http://ckeditor.com/about/license</a></p><p>'+a.copy.replace("$1",'<a href="http://cksource.com/">CKSource</a> - Frederico Knabben')+"</p></div>"}]}],buttons:[CKEDITOR.dialog.cancelButton]}});
|
return{title: CKEDITOR.env.ie ? a.dlgTitle : a.title, minWidth: 390, minHeight: 230, contents: [
|
||||||
|
{id: "tab1", label: "", title: "", expand: !0, padding: 0, elements: [
|
||||||
|
{type: "html", html: '<style type="text/css">.cke_about_container{color:#000 !important;padding:10px 10px 0;margin-top:5px}.cke_about_container p{margin: 0 0 10px;}.cke_about_container .cke_about_logo{height:81px;background-color:#fff;background-image:url(' +
|
||||||
|
b + ");" + (CKEDITOR.env.hidpi ? "background-size:163px 58px;" : "") + 'background-position:center; background-repeat:no-repeat;margin-bottom:10px;}.cke_about_container a{cursor:pointer !important;color:#00B2CE !important;text-decoration:underline !important;}</style><div class="cke_about_container"><div class="cke_about_logo"></div><p>CKEditor ' + CKEDITOR.version + " (revision " + CKEDITOR.revision + ')<br><a href="http://ckeditor.com/">http://ckeditor.com</a></p><p>' + a.help.replace("$1", '<a href="http://docs.ckeditor.com/user">' +
|
||||||
|
a.userGuide + "</a>") + "</p><p>" + a.moreInfo + '<br><a href="http://ckeditor.com/about/license">http://ckeditor.com/about/license</a></p><p>' + a.copy.replace("$1", '<a href="http://cksource.com/">CKSource</a> - Frederico Knabben') + "</p></div>"}
|
||||||
|
]}
|
||||||
|
], buttons: [CKEDITOR.dialog.cancelButton]}
|
||||||
|
});
|
|
@ -1,11 +1,94 @@
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||||
For licensing, see LICENSE.md or http://ckeditor.com/license
|
For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
*/
|
*/
|
||||||
CKEDITOR.dialog.add("paste",function(c){function h(a){var b=new CKEDITOR.dom.document(a.document),f=b.getBody(),d=b.getById("cke_actscrpt");d&&d.remove();f.setAttribute("contenteditable",!0);if(CKEDITOR.env.ie&&8>CKEDITOR.env.version)b.getWindow().on("blur",function(){b.$.selection.empty()});b.on("keydown",function(a){var a=a.data,b;switch(a.getKeystroke()){case 27:this.hide();b=1;break;case 9:case CKEDITOR.SHIFT+9:this.changeFocus(1),b=1}b&&a.preventDefault()},this);c.fire("ariaWidget",new CKEDITOR.dom.element(a.frameElement));
|
CKEDITOR.dialog.add("paste", function (c) {
|
||||||
b.getWindow().getFrame().removeCustomData("pendingFocus")&&f.focus()}var e=c.lang.clipboard;c.on("pasteDialogCommit",function(a){a.data&&c.fire("paste",{type:"auto",dataValue:a.data})},null,null,1E3);return{title:e.title,minWidth:CKEDITOR.env.ie&&CKEDITOR.env.quirks?370:350,minHeight:CKEDITOR.env.quirks?250:245,onShow:function(){this.parts.dialog.$.offsetHeight;this.setupContent();this.parts.title.setHtml(this.customTitle||e.title);this.customTitle=null},onLoad:function(){(CKEDITOR.env.ie7Compat||
|
function h(a) {
|
||||||
CKEDITOR.env.ie6Compat)&&"rtl"==c.lang.dir&&this.parts.contents.setStyle("overflow","hidden")},onOk:function(){this.commitContent()},contents:[{id:"general",label:c.lang.common.generalTab,elements:[{type:"html",id:"securityMsg",html:'<div style="white-space:normal;width:340px">'+e.securityMsg+"</div>"},{type:"html",id:"pasteMsg",html:'<div style="white-space:normal;width:340px">'+e.pasteMsg+"</div>"},{type:"html",id:"editing_area",style:"width:100%;height:100%",html:"",focus:function(){var a=this.getInputElement(),
|
var b = new CKEDITOR.dom.document(a.document), f = b.getBody(), d = b.getById("cke_actscrpt");
|
||||||
b=a.getFrameDocument().getBody();!b||b.isReadOnly()?a.setCustomData("pendingFocus",1):b.focus()},setup:function(){var a=this.getDialog(),b='<html dir="'+c.config.contentsLangDirection+'" lang="'+(c.config.contentsLanguage||c.langCode)+'"><head><style>body{margin:3px;height:95%}</style></head><body><script id="cke_actscrpt" type="text/javascript">window.parent.CKEDITOR.tools.callFunction('+CKEDITOR.tools.addFunction(h,a)+",this);<\/script></body></html>",f=CKEDITOR.env.air?"javascript:void(0)":CKEDITOR.env.ie?
|
d && d.remove();
|
||||||
"javascript:void((function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.close();")+'})())"':"",d=CKEDITOR.dom.element.createFromHtml('<iframe class="cke_pasteframe" frameborder="0" allowTransparency="true" src="'+f+'" role="region" aria-label="'+e.pasteArea+'" aria-describedby="'+a.getContentElement("general","pasteMsg").domId+'" aria-multiple="true"></iframe>');d.on("load",function(a){a.removeListener();a=d.getFrameDocument();a.write(b);c.focusManager.add(a.getBody());
|
f.setAttribute("contenteditable", !0);
|
||||||
CKEDITOR.env.air&&h.call(this,a.getWindow().$)},a);d.setCustomData("dialog",a);a=this.getElement();a.setHtml("");a.append(d);if(CKEDITOR.env.ie){var g=CKEDITOR.dom.element.createFromHtml('<span tabindex="-1" style="position:absolute" role="presentation"></span>');g.on("focus",function(){setTimeout(function(){d.$.contentWindow.focus()})});a.append(g);this.focus=function(){g.focus();this.fire("focus")}}this.getInputElement=function(){return d};CKEDITOR.env.ie&&(a.setStyle("display","block"),a.setStyle("height",
|
if (CKEDITOR.env.ie && 8 > CKEDITOR.env.version)b.getWindow().on("blur", function () {
|
||||||
d.$.offsetHeight+2+"px"))},commit:function(){var a=this.getDialog().getParentEditor(),b=this.getInputElement().getFrameDocument().getBody(),c=b.getBogus(),d;c&&c.remove();d=b.getHtml();setTimeout(function(){a.fire("pasteDialogCommit",d)},0)}}]}]}});
|
b.$.selection.empty()
|
||||||
|
});
|
||||||
|
b.on("keydown", function (a) {
|
||||||
|
var a = a.data, b;
|
||||||
|
switch (a.getKeystroke()) {
|
||||||
|
case 27:
|
||||||
|
this.hide();
|
||||||
|
b = 1;
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
case CKEDITOR.SHIFT + 9:
|
||||||
|
this.changeFocus(1), b = 1
|
||||||
|
}
|
||||||
|
b && a.preventDefault()
|
||||||
|
}, this);
|
||||||
|
c.fire("ariaWidget", new CKEDITOR.dom.element(a.frameElement));
|
||||||
|
b.getWindow().getFrame().removeCustomData("pendingFocus") && f.focus()
|
||||||
|
}
|
||||||
|
|
||||||
|
var e = c.lang.clipboard;
|
||||||
|
c.on("pasteDialogCommit", function (a) {
|
||||||
|
a.data && c.fire("paste", {type: "auto", dataValue: a.data})
|
||||||
|
}, null, null, 1E3);
|
||||||
|
return{title: e.title, minWidth: CKEDITOR.env.ie && CKEDITOR.env.quirks ? 370 : 350, minHeight: CKEDITOR.env.quirks ? 250 : 245, onShow: function () {
|
||||||
|
this.parts.dialog.$.offsetHeight;
|
||||||
|
this.setupContent();
|
||||||
|
this.parts.title.setHtml(this.customTitle || e.title);
|
||||||
|
this.customTitle = null
|
||||||
|
}, onLoad: function () {
|
||||||
|
(CKEDITOR.env.ie7Compat ||
|
||||||
|
CKEDITOR.env.ie6Compat) && "rtl" == c.lang.dir && this.parts.contents.setStyle("overflow", "hidden")
|
||||||
|
}, onOk: function () {
|
||||||
|
this.commitContent()
|
||||||
|
}, contents: [
|
||||||
|
{id: "general", label: c.lang.common.generalTab, elements: [
|
||||||
|
{type: "html", id: "securityMsg", html: '<div style="white-space:normal;width:340px">' + e.securityMsg + "</div>"},
|
||||||
|
{type: "html", id: "pasteMsg", html: '<div style="white-space:normal;width:340px">' + e.pasteMsg + "</div>"},
|
||||||
|
{type: "html", id: "editing_area", style: "width:100%;height:100%", html: "", focus: function () {
|
||||||
|
var a = this.getInputElement(),
|
||||||
|
b = a.getFrameDocument().getBody();
|
||||||
|
!b || b.isReadOnly() ? a.setCustomData("pendingFocus", 1) : b.focus()
|
||||||
|
}, setup: function () {
|
||||||
|
var a = this.getDialog(), b = '<html dir="' + c.config.contentsLangDirection + '" lang="' + (c.config.contentsLanguage || c.langCode) + '"><head><style>body{margin:3px;height:95%}</style></head><body><script id="cke_actscrpt" type="text/javascript">window.parent.CKEDITOR.tools.callFunction(' + CKEDITOR.tools.addFunction(h, a) + ",this);<\/script></body></html>", f = CKEDITOR.env.air ? "javascript:void(0)" : CKEDITOR.env.ie ?
|
||||||
|
"javascript:void((function(){" + encodeURIComponent("document.open();(" + CKEDITOR.tools.fixDomain + ")();document.close();") + '})())"' : "", d = CKEDITOR.dom.element.createFromHtml('<iframe class="cke_pasteframe" frameborder="0" allowTransparency="true" src="' + f + '" role="region" aria-label="' + e.pasteArea + '" aria-describedby="' + a.getContentElement("general", "pasteMsg").domId + '" aria-multiple="true"></iframe>');
|
||||||
|
d.on("load", function (a) {
|
||||||
|
a.removeListener();
|
||||||
|
a = d.getFrameDocument();
|
||||||
|
a.write(b);
|
||||||
|
c.focusManager.add(a.getBody());
|
||||||
|
CKEDITOR.env.air && h.call(this, a.getWindow().$)
|
||||||
|
}, a);
|
||||||
|
d.setCustomData("dialog", a);
|
||||||
|
a = this.getElement();
|
||||||
|
a.setHtml("");
|
||||||
|
a.append(d);
|
||||||
|
if (CKEDITOR.env.ie) {
|
||||||
|
var g = CKEDITOR.dom.element.createFromHtml('<span tabindex="-1" style="position:absolute" role="presentation"></span>');
|
||||||
|
g.on("focus", function () {
|
||||||
|
setTimeout(function () {
|
||||||
|
d.$.contentWindow.focus()
|
||||||
|
})
|
||||||
|
});
|
||||||
|
a.append(g);
|
||||||
|
this.focus = function () {
|
||||||
|
g.focus();
|
||||||
|
this.fire("focus")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.getInputElement = function () {
|
||||||
|
return d
|
||||||
|
};
|
||||||
|
CKEDITOR.env.ie && (a.setStyle("display", "block"), a.setStyle("height",
|
||||||
|
d.$.offsetHeight + 2 + "px"))
|
||||||
|
}, commit: function () {
|
||||||
|
var a = this.getDialog().getParentEditor(), b = this.getInputElement().getFrameDocument().getBody(), c = b.getBogus(), d;
|
||||||
|
c && c.remove();
|
||||||
|
d = b.getHtml();
|
||||||
|
setTimeout(function () {
|
||||||
|
a.fire("pasteDialogCommit", d)
|
||||||
|
}, 0)
|
||||||
|
}}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
});
|
|
@ -1,13 +1,145 @@
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||||
For licensing, see LICENSE.md or http://ckeditor.com/license
|
For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
*/
|
*/
|
||||||
CKEDITOR.dialog.add("colordialog",function(t){function n(){f.getById(o).removeStyle("background-color");p.getContentElement("picker","selectedColor").setValue("");j&&j.removeAttribute("aria-selected");j=null}function u(a){var a=a.data.getTarget(),b;if("td"==a.getName()&&(b=a.getChild(0).getHtml()))j=a,j.setAttribute("aria-selected",!0),p.getContentElement("picker","selectedColor").setValue(b)}function y(a){for(var a=a.replace(/^#/,""),b=0,c=[];2>=b;b++)c[b]=parseInt(a.substr(2*b,2),16);return"#"+
|
CKEDITOR.dialog.add("colordialog", function (t) {
|
||||||
(165<=0.2126*c[0]+0.7152*c[1]+0.0722*c[2]?"000":"fff")}function v(a){!a.name&&(a=new CKEDITOR.event(a));var b=!/mouse/.test(a.name),c=a.data.getTarget(),e;if("td"==c.getName()&&(e=c.getChild(0).getHtml()))q(a),b?g=c:w=c,b&&(c.setStyle("border-color",y(e)),c.setStyle("border-style","dotted")),f.getById(k).setStyle("background-color",e),f.getById(l).setHtml(e)}function q(a){if(a=!/mouse/.test(a.name)&&g){var b=a.getChild(0).getHtml();a.setStyle("border-color",b);a.setStyle("border-style","solid")}!g&&
|
function n() {
|
||||||
!w&&(f.getById(k).removeStyle("background-color"),f.getById(l).setHtml(" "))}function z(a){var b=a.data,c=b.getTarget(),e=b.getKeystroke(),d="rtl"==t.lang.dir;switch(e){case 38:if(a=c.getParent().getPrevious())a=a.getChild([c.getIndex()]),a.focus();b.preventDefault();break;case 40:if(a=c.getParent().getNext())(a=a.getChild([c.getIndex()]))&&1==a.type&&a.focus();b.preventDefault();break;case 32:case 13:u(a);b.preventDefault();break;case d?37:39:if(a=c.getNext())1==a.type&&(a.focus(),b.preventDefault(!0));
|
f.getById(o).removeStyle("background-color");
|
||||||
else if(a=c.getParent().getNext())if((a=a.getChild([0]))&&1==a.type)a.focus(),b.preventDefault(!0);break;case d?39:37:if(a=c.getPrevious())a.focus(),b.preventDefault(!0);else if(a=c.getParent().getPrevious())a=a.getLast(),a.focus(),b.preventDefault(!0)}}var r=CKEDITOR.dom.element,f=CKEDITOR.document,h=t.lang.colordialog,p,x={type:"html",html:" "},j,g,w,m=function(a){return CKEDITOR.tools.getNextId()+"_"+a},k=m("hicolor"),l=m("hicolortext"),o=m("selhicolor"),i;(function(){function a(a,d){for(var s=
|
p.getContentElement("picker", "selectedColor").setValue("");
|
||||||
a;s<a+3;s++){var e=new r(i.$.insertRow(-1));e.setAttribute("role","row");for(var f=d;f<d+3;f++)for(var g=0;6>g;g++)b(e.$,"#"+c[f]+c[g]+c[s])}}function b(a,c){var b=new r(a.insertCell(-1));b.setAttribute("class","ColorCell");b.setAttribute("tabIndex",-1);b.setAttribute("role","gridcell");b.on("keydown",z);b.on("click",u);b.on("focus",v);b.on("blur",q);b.setStyle("background-color",c);b.setStyle("border","1px solid "+c);b.setStyle("width","14px");b.setStyle("height","14px");var d=m("color_table_cell");
|
j && j.removeAttribute("aria-selected");
|
||||||
b.setAttribute("aria-labelledby",d);b.append(CKEDITOR.dom.element.createFromHtml('<span id="'+d+'" class="cke_voice_label">'+c+"</span>",CKEDITOR.document))}i=CKEDITOR.dom.element.createFromHtml('<table tabIndex="-1" aria-label="'+h.options+'" role="grid" style="border-collapse:separate;" cellspacing="0"><caption class="cke_voice_label">'+h.options+'</caption><tbody role="presentation"></tbody></table>');i.on("mouseover",v);i.on("mouseout",q);var c="00 33 66 99 cc ff".split(" ");a(0,0);a(3,0);a(0,
|
j = null
|
||||||
3);a(3,3);var e=new r(i.$.insertRow(-1));e.setAttribute("role","row");for(var d=0;6>d;d++)b(e.$,"#"+c[d]+c[d]+c[d]);for(d=0;12>d;d++)b(e.$,"#000000")})();return{title:h.title,minWidth:360,minHeight:220,onLoad:function(){p=this},onHide:function(){n();var a=g.getChild(0).getHtml();g.setStyle("border-color",a);g.setStyle("border-style","solid");f.getById(k).removeStyle("background-color");f.getById(l).setHtml(" ");g=null},contents:[{id:"picker",label:h.title,accessKey:"I",elements:[{type:"hbox",
|
}
|
||||||
padding:0,widths:["70%","10%","30%"],children:[{type:"html",html:"<div></div>",onLoad:function(){CKEDITOR.document.getById(this.domId).append(i)},focus:function(){(g||this.getElement().getElementsByTag("td").getItem(0)).focus()}},x,{type:"vbox",padding:0,widths:["70%","5%","25%"],children:[{type:"html",html:"<span>"+h.highlight+'</span>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+k+'" style="border: 1px solid; height: 74px; width: 74px;"></div>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+l+'"> </div><span>'+h.selected+
|
|
||||||
'</span>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+o+'" style="border: 1px solid; height: 20px; width: 74px;"></div>'},{type:"text",label:h.selected,labelStyle:"display:none",id:"selectedColor",style:"width: 74px",onChange:function(){try{f.getById(o).setStyle("background-color",this.getValue())}catch(a){n()}}},x,{type:"button",id:"clear",style:"margin-top: 5px",label:h.clear,onClick:n}]}]}]}]}});
|
function u(a) {
|
||||||
|
var a = a.data.getTarget(), b;
|
||||||
|
if ("td" == a.getName() && (b = a.getChild(0).getHtml()))j = a, j.setAttribute("aria-selected", !0), p.getContentElement("picker", "selectedColor").setValue(b)
|
||||||
|
}
|
||||||
|
|
||||||
|
function y(a) {
|
||||||
|
for (var a = a.replace(/^#/, ""), b = 0, c = []; 2 >= b; b++)c[b] = parseInt(a.substr(2 * b, 2), 16);
|
||||||
|
return"#" +
|
||||||
|
(165 <= 0.2126 * c[0] + 0.7152 * c[1] + 0.0722 * c[2] ? "000" : "fff")
|
||||||
|
}
|
||||||
|
|
||||||
|
function v(a) {
|
||||||
|
!a.name && (a = new CKEDITOR.event(a));
|
||||||
|
var b = !/mouse/.test(a.name), c = a.data.getTarget(), e;
|
||||||
|
if ("td" == c.getName() && (e = c.getChild(0).getHtml()))q(a), b ? g = c : w = c, b && (c.setStyle("border-color", y(e)), c.setStyle("border-style", "dotted")), f.getById(k).setStyle("background-color", e), f.getById(l).setHtml(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
function q(a) {
|
||||||
|
if (a = !/mouse/.test(a.name) && g) {
|
||||||
|
var b = a.getChild(0).getHtml();
|
||||||
|
a.setStyle("border-color", b);
|
||||||
|
a.setStyle("border-style", "solid")
|
||||||
|
}
|
||||||
|
!g && !w && (f.getById(k).removeStyle("background-color"), f.getById(l).setHtml(" "))
|
||||||
|
}
|
||||||
|
|
||||||
|
function z(a) {
|
||||||
|
var b = a.data, c = b.getTarget(), e = b.getKeystroke(), d = "rtl" == t.lang.dir;
|
||||||
|
switch (e) {
|
||||||
|
case 38:
|
||||||
|
if (a = c.getParent().getPrevious())a = a.getChild([c.getIndex()]), a.focus();
|
||||||
|
b.preventDefault();
|
||||||
|
break;
|
||||||
|
case 40:
|
||||||
|
if (a = c.getParent().getNext())(a = a.getChild([c.getIndex()])) && 1 == a.type && a.focus();
|
||||||
|
b.preventDefault();
|
||||||
|
break;
|
||||||
|
case 32:
|
||||||
|
case 13:
|
||||||
|
u(a);
|
||||||
|
b.preventDefault();
|
||||||
|
break;
|
||||||
|
case d ? 37 : 39:
|
||||||
|
if (a = c.getNext())1 == a.type && (a.focus(), b.preventDefault(!0));
|
||||||
|
else if (a = c.getParent().getNext())if ((a = a.getChild([0])) && 1 == a.type)a.focus(), b.preventDefault(!0);
|
||||||
|
break;
|
||||||
|
case d ? 39 : 37:
|
||||||
|
if (a = c.getPrevious())a.focus(), b.preventDefault(!0); else if (a = c.getParent().getPrevious())a = a.getLast(), a.focus(), b.preventDefault(!0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var r = CKEDITOR.dom.element, f = CKEDITOR.document, h = t.lang.colordialog, p, x = {type: "html", html: " "}, j, g, w, m = function (a) {
|
||||||
|
return CKEDITOR.tools.getNextId() + "_" + a
|
||||||
|
}, k = m("hicolor"), l = m("hicolortext"), o = m("selhicolor"), i;
|
||||||
|
(function () {
|
||||||
|
function a(a, d) {
|
||||||
|
for (var s =
|
||||||
|
a; s < a + 3; s++) {
|
||||||
|
var e = new r(i.$.insertRow(-1));
|
||||||
|
e.setAttribute("role", "row");
|
||||||
|
for (var f = d; f < d + 3; f++)for (var g = 0; 6 > g; g++)b(e.$, "#" + c[f] + c[g] + c[s])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function b(a, c) {
|
||||||
|
var b = new r(a.insertCell(-1));
|
||||||
|
b.setAttribute("class", "ColorCell");
|
||||||
|
b.setAttribute("tabIndex", -1);
|
||||||
|
b.setAttribute("role", "gridcell");
|
||||||
|
b.on("keydown", z);
|
||||||
|
b.on("click", u);
|
||||||
|
b.on("focus", v);
|
||||||
|
b.on("blur", q);
|
||||||
|
b.setStyle("background-color", c);
|
||||||
|
b.setStyle("border", "1px solid " + c);
|
||||||
|
b.setStyle("width", "14px");
|
||||||
|
b.setStyle("height", "14px");
|
||||||
|
var d = m("color_table_cell");
|
||||||
|
b.setAttribute("aria-labelledby", d);
|
||||||
|
b.append(CKEDITOR.dom.element.createFromHtml('<span id="' + d + '" class="cke_voice_label">' + c + "</span>", CKEDITOR.document))
|
||||||
|
}
|
||||||
|
|
||||||
|
i = CKEDITOR.dom.element.createFromHtml('<table tabIndex="-1" aria-label="' + h.options + '" role="grid" style="border-collapse:separate;" cellspacing="0"><caption class="cke_voice_label">' + h.options + '</caption><tbody role="presentation"></tbody></table>');
|
||||||
|
i.on("mouseover", v);
|
||||||
|
i.on("mouseout", q);
|
||||||
|
var c = "00 33 66 99 cc ff".split(" ");
|
||||||
|
a(0, 0);
|
||||||
|
a(3, 0);
|
||||||
|
a(0,
|
||||||
|
3);
|
||||||
|
a(3, 3);
|
||||||
|
var e = new r(i.$.insertRow(-1));
|
||||||
|
e.setAttribute("role", "row");
|
||||||
|
for (var d = 0; 6 > d; d++)b(e.$, "#" + c[d] + c[d] + c[d]);
|
||||||
|
for (d = 0; 12 > d; d++)b(e.$, "#000000")
|
||||||
|
})();
|
||||||
|
return{title: h.title, minWidth: 360, minHeight: 220, onLoad: function () {
|
||||||
|
p = this
|
||||||
|
}, onHide: function () {
|
||||||
|
n();
|
||||||
|
var a = g.getChild(0).getHtml();
|
||||||
|
g.setStyle("border-color", a);
|
||||||
|
g.setStyle("border-style", "solid");
|
||||||
|
f.getById(k).removeStyle("background-color");
|
||||||
|
f.getById(l).setHtml(" ");
|
||||||
|
g = null
|
||||||
|
}, contents: [
|
||||||
|
{id: "picker", label: h.title, accessKey: "I", elements: [
|
||||||
|
{type: "hbox",
|
||||||
|
padding: 0, widths: ["70%", "10%", "30%"], children: [
|
||||||
|
{type: "html", html: "<div></div>", onLoad: function () {
|
||||||
|
CKEDITOR.document.getById(this.domId).append(i)
|
||||||
|
}, focus: function () {
|
||||||
|
(g || this.getElement().getElementsByTag("td").getItem(0)).focus()
|
||||||
|
}},
|
||||||
|
x,
|
||||||
|
{type: "vbox", padding: 0, widths: ["70%", "5%", "25%"], children: [
|
||||||
|
{type: "html", html: "<span>" + h.highlight + '</span>\t\t\t\t\t\t\t\t\t\t\t\t<div id="' + k + '" style="border: 1px solid; height: 74px; width: 74px;"></div>\t\t\t\t\t\t\t\t\t\t\t\t<div id="' + l + '"> </div><span>' + h.selected +
|
||||||
|
'</span>\t\t\t\t\t\t\t\t\t\t\t\t<div id="' + o + '" style="border: 1px solid; height: 20px; width: 74px;"></div>'},
|
||||||
|
{type: "text", label: h.selected, labelStyle: "display:none", id: "selectedColor", style: "width: 74px", onChange: function () {
|
||||||
|
try {
|
||||||
|
f.getById(o).setStyle("background-color", this.getValue())
|
||||||
|
} catch (a) {
|
||||||
|
n()
|
||||||
|
}
|
||||||
|
}},
|
||||||
|
x,
|
||||||
|
{type: "button", id: "clear", style: "margin-top: 5px", label: h.clear, onClick: n}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
});
|
|
@ -1,9 +1,127 @@
|
||||||
(function(){function p(a,k,o){if(!k.is||!k.getCustomData("block_processed"))k.is&&CKEDITOR.dom.element.setMarker(o,k,"block_processed",!0),a.push(k)}function n(a,k){function o(){this.foreach(function(d){if(/^(?!vbox|hbox)/.test(d.type)&&(d.setup||(d.setup=function(c){d.setValue(c.getAttribute(d.id)||"",1)}),!d.commit))d.commit=function(c){var a=this.getValue();"dir"==d.id&&c.getComputedStyle("direction")==a||(a?c.setAttribute(d.id,a):c.removeAttribute(d.id))}})}var n=function(){var d=CKEDITOR.tools.extend({},
|
(function () {
|
||||||
CKEDITOR.dtd.$blockLimit);a.config.div_wrapTable&&(delete d.td,delete d.th);return d}(),q=CKEDITOR.dtd.div,l={},m=[];return{title:a.lang.div.title,minWidth:400,minHeight:165,contents:[{id:"info",label:a.lang.common.generalTab,title:a.lang.common.generalTab,elements:[{type:"hbox",widths:["50%","50%"],children:[{id:"elementStyle",type:"select",style:"width: 100%;",label:a.lang.div.styleSelectLabel,"default":"",items:[[a.lang.common.notSet,""]],onChange:function(){var d=["info:elementStyle","info:class",
|
function p(a, k, o) {
|
||||||
"advanced:dir","advanced:style"],c=this.getDialog(),h=c._element&&c._element.clone()||new CKEDITOR.dom.element("div",a.document);this.commit(h,!0);for(var d=[].concat(d),b=d.length,i,f=0;f<b;f++)(i=c.getContentElement.apply(c,d[f].split(":")))&&i.setup&&i.setup(h,!0)},setup:function(a){for(var c in l)l[c].checkElementRemovable(a,!0)&&this.setValue(c,1)},commit:function(a){var c;(c=this.getValue())?l[c].applyToObject(a):a.removeAttribute("style")}},{id:"class",type:"text",requiredContent:"div(cke-xyz)",
|
if (!k.is || !k.getCustomData("block_processed"))k.is && CKEDITOR.dom.element.setMarker(o, k, "block_processed", !0), a.push(k)
|
||||||
label:a.lang.common.cssClass,"default":""}]}]},{id:"advanced",label:a.lang.common.advancedTab,title:a.lang.common.advancedTab,elements:[{type:"vbox",padding:1,children:[{type:"hbox",widths:["50%","50%"],children:[{type:"text",id:"id",requiredContent:"div[id]",label:a.lang.common.id,"default":""},{type:"text",id:"lang",requiredContent:"div[lang]",label:a.lang.common.langCode,"default":""}]},{type:"hbox",children:[{type:"text",id:"style",requiredContent:"div{cke-xyz}",style:"width: 100%;",label:a.lang.common.cssStyle,
|
}
|
||||||
"default":"",commit:function(a){a.setAttribute("style",this.getValue())}}]},{type:"hbox",children:[{type:"text",id:"title",requiredContent:"div[title]",style:"width: 100%;",label:a.lang.common.advisoryTitle,"default":""}]},{type:"select",id:"dir",requiredContent:"div[dir]",style:"width: 100%;",label:a.lang.common.langDir,"default":"",items:[[a.lang.common.notSet,""],[a.lang.common.langDirLtr,"ltr"],[a.lang.common.langDirRtl,"rtl"]]}]}]}],onLoad:function(){o.call(this);var d=this,c=this.getContentElement("info",
|
|
||||||
"elementStyle");a.getStylesSet(function(h){var b,i;if(h)for(var f=0;f<h.length;f++)i=h[f],i.element&&"div"==i.element&&(b=i.name,l[b]=i=new CKEDITOR.style(i),a.filter.check(i)&&(c.items.push([b,b]),c.add(b,b)));c[1<c.items.length?"enable":"disable"]();setTimeout(function(){d._element&&c.setup(d._element)},0)})},onShow:function(){"editdiv"==k&&this.setupContent(this._element=CKEDITOR.plugins.div.getSurroundDiv(a))},onOk:function(){if("editdiv"==k)m=[this._element];else{var d=[],c={},h=[],b,i=a.getSelection(),
|
function n(a, k) {
|
||||||
f=i.getRanges(),l=i.createBookmarks(),g,j;for(g=0;g<f.length;g++)for(j=f[g].createIterator();b=j.getNextParagraph();)if(b.getName()in n&&!b.isReadOnly()){var e=b.getChildren();for(b=0;b<e.count();b++)p(h,e.getItem(b),c)}else{for(;!q[b.getName()]&&!b.equals(f[g].root);)b=b.getParent();p(h,b,c)}CKEDITOR.dom.element.clearAllMarkers(c);f=[];g=null;for(j=0;j<h.length;j++)b=h[j],e=a.elementPath(b).blockLimit,e.isReadOnly()&&(e=e.getParent()),a.config.div_wrapTable&&e.is(["td","th"])&&(e=a.elementPath(e.getParent()).blockLimit),
|
function o() {
|
||||||
e.equals(g)||(g=e,f.push([])),f[f.length-1].push(b);for(g=0;g<f.length;g++){e=f[g][0];h=e.getParent();for(b=1;b<f[g].length;b++)h=h.getCommonAncestor(f[g][b]);j=new CKEDITOR.dom.element("div",a.document);for(b=0;b<f[g].length;b++){for(e=f[g][b];!e.getParent().equals(h);)e=e.getParent();f[g][b]=e}for(b=0;b<f[g].length;b++)if(e=f[g][b],!e.getCustomData||!e.getCustomData("block_processed"))e.is&&CKEDITOR.dom.element.setMarker(c,e,"block_processed",!0),b||j.insertBefore(e),j.append(e);CKEDITOR.dom.element.clearAllMarkers(c);
|
this.foreach(function (d) {
|
||||||
d.push(j)}i.selectBookmarks(l);m=d}d=m.length;for(c=0;c<d;c++)this.commitContent(m[c]),!m[c].getAttribute("style")&&m[c].removeAttribute("style");this.hide()},onHide:function(){"editdiv"==k&&this._element.removeCustomData("elementStyle");delete this._element}}}CKEDITOR.dialog.add("creatediv",function(a){return n(a,"creatediv")});CKEDITOR.dialog.add("editdiv",function(a){return n(a,"editdiv")})})();
|
if (/^(?!vbox|hbox)/.test(d.type) && (d.setup || (d.setup = function (c) {
|
||||||
|
d.setValue(c.getAttribute(d.id) || "", 1)
|
||||||
|
}), !d.commit))d.commit = function (c) {
|
||||||
|
var a = this.getValue();
|
||||||
|
"dir" == d.id && c.getComputedStyle("direction") == a || (a ? c.setAttribute(d.id, a) : c.removeAttribute(d.id))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
var n = function () {
|
||||||
|
var d = CKEDITOR.tools.extend({},
|
||||||
|
CKEDITOR.dtd.$blockLimit);
|
||||||
|
a.config.div_wrapTable && (delete d.td, delete d.th);
|
||||||
|
return d
|
||||||
|
}(), q = CKEDITOR.dtd.div, l = {}, m = [];
|
||||||
|
return{title: a.lang.div.title, minWidth: 400, minHeight: 165, contents: [
|
||||||
|
{id: "info", label: a.lang.common.generalTab, title: a.lang.common.generalTab, elements: [
|
||||||
|
{type: "hbox", widths: ["50%", "50%"], children: [
|
||||||
|
{id: "elementStyle", type: "select", style: "width: 100%;", label: a.lang.div.styleSelectLabel, "default": "", items: [
|
||||||
|
[a.lang.common.notSet, ""]
|
||||||
|
], onChange: function () {
|
||||||
|
var d = ["info:elementStyle", "info:class",
|
||||||
|
"advanced:dir", "advanced:style"], c = this.getDialog(), h = c._element && c._element.clone() || new CKEDITOR.dom.element("div", a.document);
|
||||||
|
this.commit(h, !0);
|
||||||
|
for (var d = [].concat(d), b = d.length, i, f = 0; f < b; f++)(i = c.getContentElement.apply(c, d[f].split(":"))) && i.setup && i.setup(h, !0)
|
||||||
|
}, setup: function (a) {
|
||||||
|
for (var c in l)l[c].checkElementRemovable(a, !0) && this.setValue(c, 1)
|
||||||
|
}, commit: function (a) {
|
||||||
|
var c;
|
||||||
|
(c = this.getValue()) ? l[c].applyToObject(a) : a.removeAttribute("style")
|
||||||
|
}},
|
||||||
|
{id: "class", type: "text", requiredContent: "div(cke-xyz)",
|
||||||
|
label: a.lang.common.cssClass, "default": ""}
|
||||||
|
]}
|
||||||
|
]},
|
||||||
|
{id: "advanced", label: a.lang.common.advancedTab, title: a.lang.common.advancedTab, elements: [
|
||||||
|
{type: "vbox", padding: 1, children: [
|
||||||
|
{type: "hbox", widths: ["50%", "50%"], children: [
|
||||||
|
{type: "text", id: "id", requiredContent: "div[id]", label: a.lang.common.id, "default": ""},
|
||||||
|
{type: "text", id: "lang", requiredContent: "div[lang]", label: a.lang.common.langCode, "default": ""}
|
||||||
|
]},
|
||||||
|
{type: "hbox", children: [
|
||||||
|
{type: "text", id: "style", requiredContent: "div{cke-xyz}", style: "width: 100%;", label: a.lang.common.cssStyle,
|
||||||
|
"default": "", commit: function (a) {
|
||||||
|
a.setAttribute("style", this.getValue())
|
||||||
|
}}
|
||||||
|
]},
|
||||||
|
{type: "hbox", children: [
|
||||||
|
{type: "text", id: "title", requiredContent: "div[title]", style: "width: 100%;", label: a.lang.common.advisoryTitle, "default": ""}
|
||||||
|
]},
|
||||||
|
{type: "select", id: "dir", requiredContent: "div[dir]", style: "width: 100%;", label: a.lang.common.langDir, "default": "", items: [
|
||||||
|
[a.lang.common.notSet, ""],
|
||||||
|
[a.lang.common.langDirLtr, "ltr"],
|
||||||
|
[a.lang.common.langDirRtl, "rtl"]
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
], onLoad: function () {
|
||||||
|
o.call(this);
|
||||||
|
var d = this, c = this.getContentElement("info",
|
||||||
|
"elementStyle");
|
||||||
|
a.getStylesSet(function (h) {
|
||||||
|
var b, i;
|
||||||
|
if (h)for (var f = 0; f < h.length; f++)i = h[f], i.element && "div" == i.element && (b = i.name, l[b] = i = new CKEDITOR.style(i), a.filter.check(i) && (c.items.push([b, b]), c.add(b, b)));
|
||||||
|
c[1 < c.items.length ? "enable" : "disable"]();
|
||||||
|
setTimeout(function () {
|
||||||
|
d._element && c.setup(d._element)
|
||||||
|
}, 0)
|
||||||
|
})
|
||||||
|
}, onShow: function () {
|
||||||
|
"editdiv" == k && this.setupContent(this._element = CKEDITOR.plugins.div.getSurroundDiv(a))
|
||||||
|
}, onOk: function () {
|
||||||
|
if ("editdiv" == k)m = [this._element]; else {
|
||||||
|
var d = [], c = {}, h = [], b, i = a.getSelection(),
|
||||||
|
f = i.getRanges(), l = i.createBookmarks(), g, j;
|
||||||
|
for (g = 0; g < f.length; g++)for (j = f[g].createIterator(); b = j.getNextParagraph();)if (b.getName()in n && !b.isReadOnly()) {
|
||||||
|
var e = b.getChildren();
|
||||||
|
for (b = 0; b < e.count(); b++)p(h, e.getItem(b), c)
|
||||||
|
} else {
|
||||||
|
for (; !q[b.getName()] && !b.equals(f[g].root);)b = b.getParent();
|
||||||
|
p(h, b, c)
|
||||||
|
}
|
||||||
|
CKEDITOR.dom.element.clearAllMarkers(c);
|
||||||
|
f = [];
|
||||||
|
g = null;
|
||||||
|
for (j = 0; j < h.length; j++)b = h[j], e = a.elementPath(b).blockLimit, e.isReadOnly() && (e = e.getParent()), a.config.div_wrapTable && e.is(["td", "th"]) && (e = a.elementPath(e.getParent()).blockLimit),
|
||||||
|
e.equals(g) || (g = e, f.push([])), f[f.length - 1].push(b);
|
||||||
|
for (g = 0; g < f.length; g++) {
|
||||||
|
e = f[g][0];
|
||||||
|
h = e.getParent();
|
||||||
|
for (b = 1; b < f[g].length; b++)h = h.getCommonAncestor(f[g][b]);
|
||||||
|
j = new CKEDITOR.dom.element("div", a.document);
|
||||||
|
for (b = 0; b < f[g].length; b++) {
|
||||||
|
for (e = f[g][b]; !e.getParent().equals(h);)e = e.getParent();
|
||||||
|
f[g][b] = e
|
||||||
|
}
|
||||||
|
for (b = 0; b < f[g].length; b++)if (e = f[g][b], !e.getCustomData || !e.getCustomData("block_processed"))e.is && CKEDITOR.dom.element.setMarker(c, e, "block_processed", !0), b || j.insertBefore(e), j.append(e);
|
||||||
|
CKEDITOR.dom.element.clearAllMarkers(c);
|
||||||
|
d.push(j)
|
||||||
|
}
|
||||||
|
i.selectBookmarks(l);
|
||||||
|
m = d
|
||||||
|
}
|
||||||
|
d = m.length;
|
||||||
|
for (c = 0; c < d; c++)this.commitContent(m[c]), !m[c].getAttribute("style") && m[c].removeAttribute("style");
|
||||||
|
this.hide()
|
||||||
|
}, onHide: function () {
|
||||||
|
"editdiv" == k && this._element.removeCustomData("elementStyle");
|
||||||
|
delete this._element
|
||||||
|
}}
|
||||||
|
}
|
||||||
|
|
||||||
|
CKEDITOR.dialog.add("creatediv", function (a) {
|
||||||
|
return n(a, "creatediv")
|
||||||
|
});
|
||||||
|
CKEDITOR.dialog.add("editdiv", function (a) {
|
||||||
|
return n(a, "editdiv")
|
||||||
|
})
|
||||||
|
})();
|
|
@ -1,24 +1,300 @@
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||||
For licensing, see LICENSE.md or http://ckeditor.com/license
|
For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
*/
|
*/
|
||||||
(function(){function y(c){return c.type==CKEDITOR.NODE_TEXT&&0<c.getLength()&&(!o||!c.isReadOnly())}function s(c){return!(c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary(CKEDITOR.tools.extend({},CKEDITOR.dtd.$empty,CKEDITOR.dtd.$nonEditable)))}var o,t=function(){return{textNode:this.textNode,offset:this.offset,character:this.textNode?this.textNode.getText().charAt(this.offset):null,hitMatchBoundary:this._.matchBoundary}},u=["find","replace"],p=[["txtFindFind","txtFindReplace"],["txtFindCaseChk",
|
(function () {
|
||||||
"txtReplaceCaseChk"],["txtFindWordChk","txtReplaceWordChk"],["txtFindCyclic","txtReplaceCyclic"]],n=function(c,g){function n(a,b){var d=c.createRange();d.setStart(a.textNode,b?a.offset:a.offset+1);d.setEndAt(c.editable(),CKEDITOR.POSITION_BEFORE_END);return d}function q(a){var b=c.getSelection(),d=c.editable();b&&!a?(a=b.getRanges()[0].clone(),a.collapse(!0)):(a=c.createRange(),a.setStartAt(d,CKEDITOR.POSITION_AFTER_START));a.setEndAt(d,CKEDITOR.POSITION_BEFORE_END);return a}var v=new CKEDITOR.style(CKEDITOR.tools.extend({attributes:{"data-cke-highlight":1},
|
function y(c) {
|
||||||
fullMatch:1,ignoreReadonly:1,childRule:function(){return 0}},c.config.find_highlight,!0)),l=function(a,b){var d=this,c=new CKEDITOR.dom.walker(a);c.guard=b?s:function(a){!s(a)&&(d._.matchBoundary=!0)};c.evaluator=y;c.breakOnFalse=1;a.startContainer.type==CKEDITOR.NODE_TEXT&&(this.textNode=a.startContainer,this.offset=a.startOffset-1);this._={matchWord:b,walker:c,matchBoundary:!1}};l.prototype={next:function(){return this.move()},back:function(){return this.move(!0)},move:function(a){var b=this.textNode;
|
return c.type == CKEDITOR.NODE_TEXT && 0 < c.getLength() && (!o || !c.isReadOnly())
|
||||||
if(null===b)return t.call(this);this._.matchBoundary=!1;if(b&&a&&0<this.offset)this.offset--;else if(b&&this.offset<b.getLength()-1)this.offset++;else{for(b=null;!b&&!(b=this._.walker[a?"previous":"next"].call(this._.walker),this._.matchWord&&!b||this._.walker._.end););this.offset=(this.textNode=b)?a?b.getLength()-1:0:0}return t.call(this)}};var r=function(a,b){this._={walker:a,cursors:[],rangeLength:b,highlightRange:null,isMatched:0}};r.prototype={toDomRange:function(){var a=c.createRange(),b=this._.cursors;
|
}
|
||||||
if(1>b.length){var d=this._.walker.textNode;if(d)a.setStartAfter(d);else return null}else d=b[0],b=b[b.length-1],a.setStart(d.textNode,d.offset),a.setEnd(b.textNode,b.offset+1);return a},updateFromDomRange:function(a){var b=new l(a);this._.cursors=[];do a=b.next(),a.character&&this._.cursors.push(a);while(a.character);this._.rangeLength=this._.cursors.length},setMatched:function(){this._.isMatched=!0},clearMatched:function(){this._.isMatched=!1},isMatched:function(){return this._.isMatched},highlight:function(){if(!(1>
|
|
||||||
this._.cursors.length)){this._.highlightRange&&this.removeHighlight();var a=this.toDomRange(),b=a.createBookmark();v.applyToRange(a);a.moveToBookmark(b);this._.highlightRange=a;b=a.startContainer;b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent());b.scrollIntoView();this.updateFromDomRange(a)}},removeHighlight:function(){if(this._.highlightRange){var a=this._.highlightRange.createBookmark();v.removeFromRange(this._.highlightRange);this._.highlightRange.moveToBookmark(a);this.updateFromDomRange(this._.highlightRange);
|
function s(c) {
|
||||||
this._.highlightRange=null}},isReadOnly:function(){return!this._.highlightRange?0:this._.highlightRange.startContainer.isReadOnly()},moveBack:function(){var a=this._.walker.back(),b=this._.cursors;a.hitMatchBoundary&&(this._.cursors=b=[]);b.unshift(a);b.length>this._.rangeLength&&b.pop();return a},moveNext:function(){var a=this._.walker.next(),b=this._.cursors;a.hitMatchBoundary&&(this._.cursors=b=[]);b.push(a);b.length>this._.rangeLength&&b.shift();return a},getEndCharacter:function(){var a=this._.cursors;
|
return!(c.type == CKEDITOR.NODE_ELEMENT && c.isBlockBoundary(CKEDITOR.tools.extend({}, CKEDITOR.dtd.$empty, CKEDITOR.dtd.$nonEditable)))
|
||||||
return 1>a.length?null:a[a.length-1].character},getNextCharacterRange:function(a){var b,d;d=this._.cursors;d=(b=d[d.length-1])&&b.textNode?new l(n(b)):this._.walker;return new r(d,a)},getCursors:function(){return this._.cursors}};var w=function(a,b){var d=[-1];b&&(a=a.toLowerCase());for(var c=0;c<a.length;c++)for(d.push(d[c]+1);0<d[c+1]&&a.charAt(c)!=a.charAt(d[c+1]-1);)d[c+1]=d[d[c+1]-1]+1;this._={overlap:d,state:0,ignoreCase:!!b,pattern:a}};w.prototype={feedCharacter:function(a){for(this._.ignoreCase&&
|
}
|
||||||
(a=a.toLowerCase());;){if(a==this._.pattern.charAt(this._.state))return this._.state++,this._.state==this._.pattern.length?(this._.state=0,2):1;if(this._.state)this._.state=this._.overlap[this._.state];else return 0}return null},reset:function(){this._.state=0}};var z=/[.,"'?!;: \u0085\u00a0\u1680\u280e\u2028\u2029\u202f\u205f\u3000]/,x=function(a){if(!a)return!0;var b=a.charCodeAt(0);return 9<=b&&13>=b||8192<=b&&8202>=b||z.test(a)},e={searchRange:null,matchRange:null,find:function(a,b,d,f,e,A){this.matchRange?
|
|
||||||
(this.matchRange.removeHighlight(),this.matchRange=this.matchRange.getNextCharacterRange(a.length)):this.matchRange=new r(new l(this.searchRange),a.length);for(var i=new w(a,!b),j=0,k="%";null!==k;){for(this.matchRange.moveNext();k=this.matchRange.getEndCharacter();){j=i.feedCharacter(k);if(2==j)break;this.matchRange.moveNext().hitMatchBoundary&&i.reset()}if(2==j){if(d){var h=this.matchRange.getCursors(),m=h[h.length-1],h=h[0],g=c.createRange();g.setStartAt(c.editable(),CKEDITOR.POSITION_AFTER_START);
|
var o, t = function () {
|
||||||
g.setEnd(h.textNode,h.offset);h=g;m=n(m);h.trim();m.trim();h=new l(h,!0);m=new l(m,!0);if(!x(h.back().character)||!x(m.next().character))continue}this.matchRange.setMatched();!1!==e&&this.matchRange.highlight();return!0}}this.matchRange.clearMatched();this.matchRange.removeHighlight();return f&&!A?(this.searchRange=q(1),this.matchRange=null,arguments.callee.apply(this,Array.prototype.slice.call(arguments).concat([!0]))):!1},replaceCounter:0,replace:function(a,b,d,f,e,g,i){o=1;a=0;if(this.matchRange&&
|
return{textNode: this.textNode, offset: this.offset, character: this.textNode ? this.textNode.getText().charAt(this.offset) : null, hitMatchBoundary: this._.matchBoundary}
|
||||||
this.matchRange.isMatched()&&!this.matchRange._.isReplaced&&!this.matchRange.isReadOnly()){this.matchRange.removeHighlight();b=this.matchRange.toDomRange();d=c.document.createText(d);if(!i){var j=c.getSelection();j.selectRanges([b]);c.fire("saveSnapshot")}b.deleteContents();b.insertNode(d);i||(j.selectRanges([b]),c.fire("saveSnapshot"));this.matchRange.updateFromDomRange(b);i||this.matchRange.highlight();this.matchRange._.isReplaced=!0;this.replaceCounter++;a=1}else a=this.find(b,f,e,g,!i);o=0;return a}},
|
}, u = ["find", "replace"], p = [
|
||||||
f=c.lang.find;return{title:f.title,resizable:CKEDITOR.DIALOG_RESIZE_NONE,minWidth:350,minHeight:170,buttons:[CKEDITOR.dialog.cancelButton(c,{label:c.lang.common.close})],contents:[{id:"find",label:f.find,title:f.find,accessKey:"",elements:[{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtFindFind",label:f.findWhat,isChanged:!1,labelLayout:"horizontal",accessKey:"F"},{type:"button",id:"btnFind",align:"left",style:"width:100%",label:f.find,onClick:function(){var a=this.getDialog();
|
["txtFindFind", "txtFindReplace"],
|
||||||
e.find(a.getValueOf("find","txtFindFind"),a.getValueOf("find","txtFindCaseChk"),a.getValueOf("find","txtFindWordChk"),a.getValueOf("find","txtFindCyclic"))||alert(f.notFoundMsg)}}]},{type:"fieldset",label:CKEDITOR.tools.htmlEncode(f.findOptions),style:"margin-top:29px",children:[{type:"vbox",padding:0,children:[{type:"checkbox",id:"txtFindCaseChk",isChanged:!1,label:f.matchCase},{type:"checkbox",id:"txtFindWordChk",isChanged:!1,label:f.matchWord},{type:"checkbox",id:"txtFindCyclic",isChanged:!1,"default":!0,
|
["txtFindCaseChk",
|
||||||
label:f.matchCyclic}]}]}]},{id:"replace",label:f.replace,accessKey:"M",elements:[{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtFindReplace",label:f.findWhat,isChanged:!1,labelLayout:"horizontal",accessKey:"F"},{type:"button",id:"btnFindReplace",align:"left",style:"width:100%",label:f.replace,onClick:function(){var a=this.getDialog();e.replace(a,a.getValueOf("replace","txtFindReplace"),a.getValueOf("replace","txtReplace"),a.getValueOf("replace","txtReplaceCaseChk"),a.getValueOf("replace",
|
"txtReplaceCaseChk"],
|
||||||
"txtReplaceWordChk"),a.getValueOf("replace","txtReplaceCyclic"))||alert(f.notFoundMsg)}}]},{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtReplace",label:f.replaceWith,isChanged:!1,labelLayout:"horizontal",accessKey:"R"},{type:"button",id:"btnReplaceAll",align:"left",style:"width:100%",label:f.replaceAll,isChanged:!1,onClick:function(){var a=this.getDialog();e.replaceCounter=0;e.searchRange=q(1);e.matchRange&&(e.matchRange.removeHighlight(),e.matchRange=null);for(c.fire("saveSnapshot");e.replace(a,
|
["txtFindWordChk", "txtReplaceWordChk"],
|
||||||
a.getValueOf("replace","txtFindReplace"),a.getValueOf("replace","txtReplace"),a.getValueOf("replace","txtReplaceCaseChk"),a.getValueOf("replace","txtReplaceWordChk"),!1,!0););e.replaceCounter?(alert(f.replaceSuccessMsg.replace(/%1/,e.replaceCounter)),c.fire("saveSnapshot")):alert(f.notFoundMsg)}}]},{type:"fieldset",label:CKEDITOR.tools.htmlEncode(f.findOptions),children:[{type:"vbox",padding:0,children:[{type:"checkbox",id:"txtReplaceCaseChk",isChanged:!1,label:f.matchCase},{type:"checkbox",id:"txtReplaceWordChk",
|
["txtFindCyclic", "txtReplaceCyclic"]
|
||||||
isChanged:!1,label:f.matchWord},{type:"checkbox",id:"txtReplaceCyclic",isChanged:!1,"default":!0,label:f.matchCyclic}]}]}]}],onLoad:function(){var a=this,b,c=0;this.on("hide",function(){c=0});this.on("show",function(){c=1});this.selectPage=CKEDITOR.tools.override(this.selectPage,function(f){return function(e){f.call(a,e);var g=a._.tabs[e],i;i="find"===e?"txtFindWordChk":"txtReplaceWordChk";b=a.getContentElement(e,"find"===e?"txtFindFind":"txtFindReplace");a.getContentElement(e,i);g.initialized||(CKEDITOR.document.getById(b._.inputId),
|
], n = function (c, g) {
|
||||||
g.initialized=!0);if(c){var j,e="find"===e?1:0,g=1-e,k,h=p.length;for(k=0;k<h;k++)i=this.getContentElement(u[e],p[k][e]),j=this.getContentElement(u[g],p[k][g]),j.setValue(i.getValue())}}})},onShow:function(){e.searchRange=q();var a=this.getParentEditor().getSelection().getSelectedText(),b=this.getContentElement(g,"find"==g?"txtFindFind":"txtFindReplace");b.setValue(a);b.select();this.selectPage(g);this[("find"==g&&this._.editor.readOnly?"hide":"show")+"Page"]("replace")},onHide:function(){var a;e.matchRange&&
|
function n(a, b) {
|
||||||
e.matchRange.isMatched()&&(e.matchRange.removeHighlight(),c.focus(),(a=e.matchRange.toDomRange())&&c.getSelection().selectRanges([a]));delete e.matchRange},onFocus:function(){return"replace"==g?this.getContentElement("replace","txtFindReplace"):this.getContentElement("find","txtFindFind")}}};CKEDITOR.dialog.add("find",function(c){return n(c,"find")});CKEDITOR.dialog.add("replace",function(c){return n(c,"replace")})})();
|
var d = c.createRange();
|
||||||
|
d.setStart(a.textNode, b ? a.offset : a.offset + 1);
|
||||||
|
d.setEndAt(c.editable(), CKEDITOR.POSITION_BEFORE_END);
|
||||||
|
return d
|
||||||
|
}
|
||||||
|
|
||||||
|
function q(a) {
|
||||||
|
var b = c.getSelection(), d = c.editable();
|
||||||
|
b && !a ? (a = b.getRanges()[0].clone(), a.collapse(!0)) : (a = c.createRange(), a.setStartAt(d, CKEDITOR.POSITION_AFTER_START));
|
||||||
|
a.setEndAt(d, CKEDITOR.POSITION_BEFORE_END);
|
||||||
|
return a
|
||||||
|
}
|
||||||
|
|
||||||
|
var v = new CKEDITOR.style(CKEDITOR.tools.extend({attributes: {"data-cke-highlight": 1},
|
||||||
|
fullMatch: 1, ignoreReadonly: 1, childRule: function () {
|
||||||
|
return 0
|
||||||
|
}}, c.config.find_highlight, !0)), l = function (a, b) {
|
||||||
|
var d = this, c = new CKEDITOR.dom.walker(a);
|
||||||
|
c.guard = b ? s : function (a) {
|
||||||
|
!s(a) && (d._.matchBoundary = !0)
|
||||||
|
};
|
||||||
|
c.evaluator = y;
|
||||||
|
c.breakOnFalse = 1;
|
||||||
|
a.startContainer.type == CKEDITOR.NODE_TEXT && (this.textNode = a.startContainer, this.offset = a.startOffset - 1);
|
||||||
|
this._ = {matchWord: b, walker: c, matchBoundary: !1}
|
||||||
|
};
|
||||||
|
l.prototype = {next: function () {
|
||||||
|
return this.move()
|
||||||
|
}, back: function () {
|
||||||
|
return this.move(!0)
|
||||||
|
}, move: function (a) {
|
||||||
|
var b = this.textNode;
|
||||||
|
if (null === b)return t.call(this);
|
||||||
|
this._.matchBoundary = !1;
|
||||||
|
if (b && a && 0 < this.offset)this.offset--; else if (b && this.offset < b.getLength() - 1)this.offset++; else {
|
||||||
|
for (b = null; !b && !(b = this._.walker[a ? "previous" : "next"].call(this._.walker), this._.matchWord && !b || this._.walker._.end););
|
||||||
|
this.offset = (this.textNode = b) ? a ? b.getLength() - 1 : 0 : 0
|
||||||
|
}
|
||||||
|
return t.call(this)
|
||||||
|
}};
|
||||||
|
var r = function (a, b) {
|
||||||
|
this._ = {walker: a, cursors: [], rangeLength: b, highlightRange: null, isMatched: 0}
|
||||||
|
};
|
||||||
|
r.prototype = {toDomRange: function () {
|
||||||
|
var a = c.createRange(), b = this._.cursors;
|
||||||
|
if (1 > b.length) {
|
||||||
|
var d = this._.walker.textNode;
|
||||||
|
if (d)a.setStartAfter(d); else return null
|
||||||
|
} else d = b[0], b = b[b.length - 1], a.setStart(d.textNode, d.offset), a.setEnd(b.textNode, b.offset + 1);
|
||||||
|
return a
|
||||||
|
}, updateFromDomRange: function (a) {
|
||||||
|
var b = new l(a);
|
||||||
|
this._.cursors = [];
|
||||||
|
do a = b.next(), a.character && this._.cursors.push(a); while (a.character);
|
||||||
|
this._.rangeLength = this._.cursors.length
|
||||||
|
}, setMatched: function () {
|
||||||
|
this._.isMatched = !0
|
||||||
|
}, clearMatched: function () {
|
||||||
|
this._.isMatched = !1
|
||||||
|
}, isMatched: function () {
|
||||||
|
return this._.isMatched
|
||||||
|
}, highlight: function () {
|
||||||
|
if (!(1 >
|
||||||
|
this._.cursors.length)) {
|
||||||
|
this._.highlightRange && this.removeHighlight();
|
||||||
|
var a = this.toDomRange(), b = a.createBookmark();
|
||||||
|
v.applyToRange(a);
|
||||||
|
a.moveToBookmark(b);
|
||||||
|
this._.highlightRange = a;
|
||||||
|
b = a.startContainer;
|
||||||
|
b.type != CKEDITOR.NODE_ELEMENT && (b = b.getParent());
|
||||||
|
b.scrollIntoView();
|
||||||
|
this.updateFromDomRange(a)
|
||||||
|
}
|
||||||
|
}, removeHighlight: function () {
|
||||||
|
if (this._.highlightRange) {
|
||||||
|
var a = this._.highlightRange.createBookmark();
|
||||||
|
v.removeFromRange(this._.highlightRange);
|
||||||
|
this._.highlightRange.moveToBookmark(a);
|
||||||
|
this.updateFromDomRange(this._.highlightRange);
|
||||||
|
this._.highlightRange = null
|
||||||
|
}
|
||||||
|
}, isReadOnly: function () {
|
||||||
|
return!this._.highlightRange ? 0 : this._.highlightRange.startContainer.isReadOnly()
|
||||||
|
}, moveBack: function () {
|
||||||
|
var a = this._.walker.back(), b = this._.cursors;
|
||||||
|
a.hitMatchBoundary && (this._.cursors = b = []);
|
||||||
|
b.unshift(a);
|
||||||
|
b.length > this._.rangeLength && b.pop();
|
||||||
|
return a
|
||||||
|
}, moveNext: function () {
|
||||||
|
var a = this._.walker.next(), b = this._.cursors;
|
||||||
|
a.hitMatchBoundary && (this._.cursors = b = []);
|
||||||
|
b.push(a);
|
||||||
|
b.length > this._.rangeLength && b.shift();
|
||||||
|
return a
|
||||||
|
}, getEndCharacter: function () {
|
||||||
|
var a = this._.cursors;
|
||||||
|
return 1 > a.length ? null : a[a.length - 1].character
|
||||||
|
}, getNextCharacterRange: function (a) {
|
||||||
|
var b, d;
|
||||||
|
d = this._.cursors;
|
||||||
|
d = (b = d[d.length - 1]) && b.textNode ? new l(n(b)) : this._.walker;
|
||||||
|
return new r(d, a)
|
||||||
|
}, getCursors: function () {
|
||||||
|
return this._.cursors
|
||||||
|
}};
|
||||||
|
var w = function (a, b) {
|
||||||
|
var d = [-1];
|
||||||
|
b && (a = a.toLowerCase());
|
||||||
|
for (var c = 0; c < a.length; c++)for (d.push(d[c] + 1); 0 < d[c + 1] && a.charAt(c) != a.charAt(d[c + 1] - 1);)d[c + 1] = d[d[c + 1] - 1] + 1;
|
||||||
|
this._ = {overlap: d, state: 0, ignoreCase: !!b, pattern: a}
|
||||||
|
};
|
||||||
|
w.prototype = {feedCharacter: function (a) {
|
||||||
|
for (this._.ignoreCase &&
|
||||||
|
(a = a.toLowerCase()); ;) {
|
||||||
|
if (a == this._.pattern.charAt(this._.state))return this._.state++, this._.state == this._.pattern.length ? (this._.state = 0, 2) : 1;
|
||||||
|
if (this._.state)this._.state = this._.overlap[this._.state]; else return 0
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}, reset: function () {
|
||||||
|
this._.state = 0
|
||||||
|
}};
|
||||||
|
var z = /[.,"'?!;: \u0085\u00a0\u1680\u280e\u2028\u2029\u202f\u205f\u3000]/, x = function (a) {
|
||||||
|
if (!a)return!0;
|
||||||
|
var b = a.charCodeAt(0);
|
||||||
|
return 9 <= b && 13 >= b || 8192 <= b && 8202 >= b || z.test(a)
|
||||||
|
}, e = {searchRange: null, matchRange: null, find: function (a, b, d, f, e, A) {
|
||||||
|
this.matchRange ?
|
||||||
|
(this.matchRange.removeHighlight(), this.matchRange = this.matchRange.getNextCharacterRange(a.length)) : this.matchRange = new r(new l(this.searchRange), a.length);
|
||||||
|
for (var i = new w(a, !b), j = 0, k = "%"; null !== k;) {
|
||||||
|
for (this.matchRange.moveNext(); k = this.matchRange.getEndCharacter();) {
|
||||||
|
j = i.feedCharacter(k);
|
||||||
|
if (2 == j)break;
|
||||||
|
this.matchRange.moveNext().hitMatchBoundary && i.reset()
|
||||||
|
}
|
||||||
|
if (2 == j) {
|
||||||
|
if (d) {
|
||||||
|
var h = this.matchRange.getCursors(), m = h[h.length - 1], h = h[0], g = c.createRange();
|
||||||
|
g.setStartAt(c.editable(), CKEDITOR.POSITION_AFTER_START);
|
||||||
|
g.setEnd(h.textNode, h.offset);
|
||||||
|
h = g;
|
||||||
|
m = n(m);
|
||||||
|
h.trim();
|
||||||
|
m.trim();
|
||||||
|
h = new l(h, !0);
|
||||||
|
m = new l(m, !0);
|
||||||
|
if (!x(h.back().character) || !x(m.next().character))continue
|
||||||
|
}
|
||||||
|
this.matchRange.setMatched();
|
||||||
|
!1 !== e && this.matchRange.highlight();
|
||||||
|
return!0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.matchRange.clearMatched();
|
||||||
|
this.matchRange.removeHighlight();
|
||||||
|
return f && !A ? (this.searchRange = q(1), this.matchRange = null, arguments.callee.apply(this, Array.prototype.slice.call(arguments).concat([!0]))) : !1
|
||||||
|
}, replaceCounter: 0, replace: function (a, b, d, f, e, g, i) {
|
||||||
|
o = 1;
|
||||||
|
a = 0;
|
||||||
|
if (this.matchRange &&
|
||||||
|
this.matchRange.isMatched() && !this.matchRange._.isReplaced && !this.matchRange.isReadOnly()) {
|
||||||
|
this.matchRange.removeHighlight();
|
||||||
|
b = this.matchRange.toDomRange();
|
||||||
|
d = c.document.createText(d);
|
||||||
|
if (!i) {
|
||||||
|
var j = c.getSelection();
|
||||||
|
j.selectRanges([b]);
|
||||||
|
c.fire("saveSnapshot")
|
||||||
|
}
|
||||||
|
b.deleteContents();
|
||||||
|
b.insertNode(d);
|
||||||
|
i || (j.selectRanges([b]), c.fire("saveSnapshot"));
|
||||||
|
this.matchRange.updateFromDomRange(b);
|
||||||
|
i || this.matchRange.highlight();
|
||||||
|
this.matchRange._.isReplaced = !0;
|
||||||
|
this.replaceCounter++;
|
||||||
|
a = 1
|
||||||
|
} else a = this.find(b, f, e, g, !i);
|
||||||
|
o = 0;
|
||||||
|
return a
|
||||||
|
}},
|
||||||
|
f = c.lang.find;
|
||||||
|
return{title: f.title, resizable: CKEDITOR.DIALOG_RESIZE_NONE, minWidth: 350, minHeight: 170, buttons: [CKEDITOR.dialog.cancelButton(c, {label: c.lang.common.close})], contents: [
|
||||||
|
{id: "find", label: f.find, title: f.find, accessKey: "", elements: [
|
||||||
|
{type: "hbox", widths: ["230px", "90px"], children: [
|
||||||
|
{type: "text", id: "txtFindFind", label: f.findWhat, isChanged: !1, labelLayout: "horizontal", accessKey: "F"},
|
||||||
|
{type: "button", id: "btnFind", align: "left", style: "width:100%", label: f.find, onClick: function () {
|
||||||
|
var a = this.getDialog();
|
||||||
|
e.find(a.getValueOf("find", "txtFindFind"), a.getValueOf("find", "txtFindCaseChk"), a.getValueOf("find", "txtFindWordChk"), a.getValueOf("find", "txtFindCyclic")) || alert(f.notFoundMsg)
|
||||||
|
}}
|
||||||
|
]},
|
||||||
|
{type: "fieldset", label: CKEDITOR.tools.htmlEncode(f.findOptions), style: "margin-top:29px", children: [
|
||||||
|
{type: "vbox", padding: 0, children: [
|
||||||
|
{type: "checkbox", id: "txtFindCaseChk", isChanged: !1, label: f.matchCase},
|
||||||
|
{type: "checkbox", id: "txtFindWordChk", isChanged: !1, label: f.matchWord},
|
||||||
|
{type: "checkbox", id: "txtFindCyclic", isChanged: !1, "default": !0,
|
||||||
|
label: f.matchCyclic}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
]},
|
||||||
|
{id: "replace", label: f.replace, accessKey: "M", elements: [
|
||||||
|
{type: "hbox", widths: ["230px", "90px"], children: [
|
||||||
|
{type: "text", id: "txtFindReplace", label: f.findWhat, isChanged: !1, labelLayout: "horizontal", accessKey: "F"},
|
||||||
|
{type: "button", id: "btnFindReplace", align: "left", style: "width:100%", label: f.replace, onClick: function () {
|
||||||
|
var a = this.getDialog();
|
||||||
|
e.replace(a, a.getValueOf("replace", "txtFindReplace"), a.getValueOf("replace", "txtReplace"), a.getValueOf("replace", "txtReplaceCaseChk"), a.getValueOf("replace",
|
||||||
|
"txtReplaceWordChk"), a.getValueOf("replace", "txtReplaceCyclic")) || alert(f.notFoundMsg)
|
||||||
|
}}
|
||||||
|
]},
|
||||||
|
{type: "hbox", widths: ["230px", "90px"], children: [
|
||||||
|
{type: "text", id: "txtReplace", label: f.replaceWith, isChanged: !1, labelLayout: "horizontal", accessKey: "R"},
|
||||||
|
{type: "button", id: "btnReplaceAll", align: "left", style: "width:100%", label: f.replaceAll, isChanged: !1, onClick: function () {
|
||||||
|
var a = this.getDialog();
|
||||||
|
e.replaceCounter = 0;
|
||||||
|
e.searchRange = q(1);
|
||||||
|
e.matchRange && (e.matchRange.removeHighlight(), e.matchRange = null);
|
||||||
|
for (c.fire("saveSnapshot"); e.replace(a,
|
||||||
|
a.getValueOf("replace", "txtFindReplace"), a.getValueOf("replace", "txtReplace"), a.getValueOf("replace", "txtReplaceCaseChk"), a.getValueOf("replace", "txtReplaceWordChk"), !1, !0););
|
||||||
|
e.replaceCounter ? (alert(f.replaceSuccessMsg.replace(/%1/, e.replaceCounter)), c.fire("saveSnapshot")) : alert(f.notFoundMsg)
|
||||||
|
}}
|
||||||
|
]},
|
||||||
|
{type: "fieldset", label: CKEDITOR.tools.htmlEncode(f.findOptions), children: [
|
||||||
|
{type: "vbox", padding: 0, children: [
|
||||||
|
{type: "checkbox", id: "txtReplaceCaseChk", isChanged: !1, label: f.matchCase},
|
||||||
|
{type: "checkbox", id: "txtReplaceWordChk",
|
||||||
|
isChanged: !1, label: f.matchWord},
|
||||||
|
{type: "checkbox", id: "txtReplaceCyclic", isChanged: !1, "default": !0, label: f.matchCyclic}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
], onLoad: function () {
|
||||||
|
var a = this, b, c = 0;
|
||||||
|
this.on("hide", function () {
|
||||||
|
c = 0
|
||||||
|
});
|
||||||
|
this.on("show", function () {
|
||||||
|
c = 1
|
||||||
|
});
|
||||||
|
this.selectPage = CKEDITOR.tools.override(this.selectPage, function (f) {
|
||||||
|
return function (e) {
|
||||||
|
f.call(a, e);
|
||||||
|
var g = a._.tabs[e], i;
|
||||||
|
i = "find" === e ? "txtFindWordChk" : "txtReplaceWordChk";
|
||||||
|
b = a.getContentElement(e, "find" === e ? "txtFindFind" : "txtFindReplace");
|
||||||
|
a.getContentElement(e, i);
|
||||||
|
g.initialized || (CKEDITOR.document.getById(b._.inputId),
|
||||||
|
g.initialized = !0);
|
||||||
|
if (c) {
|
||||||
|
var j, e = "find" === e ? 1 : 0, g = 1 - e, k, h = p.length;
|
||||||
|
for (k = 0; k < h; k++)i = this.getContentElement(u[e], p[k][e]), j = this.getContentElement(u[g], p[k][g]), j.setValue(i.getValue())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}, onShow: function () {
|
||||||
|
e.searchRange = q();
|
||||||
|
var a = this.getParentEditor().getSelection().getSelectedText(), b = this.getContentElement(g, "find" == g ? "txtFindFind" : "txtFindReplace");
|
||||||
|
b.setValue(a);
|
||||||
|
b.select();
|
||||||
|
this.selectPage(g);
|
||||||
|
this[("find" == g && this._.editor.readOnly ? "hide" : "show") + "Page"]("replace")
|
||||||
|
}, onHide: function () {
|
||||||
|
var a;
|
||||||
|
e.matchRange &&
|
||||||
|
e.matchRange.isMatched() && (e.matchRange.removeHighlight(), c.focus(), (a = e.matchRange.toDomRange()) && c.getSelection().selectRanges([a]));
|
||||||
|
delete e.matchRange
|
||||||
|
}, onFocus: function () {
|
||||||
|
return"replace" == g ? this.getContentElement("replace", "txtFindReplace") : this.getContentElement("find", "txtFindFind")
|
||||||
|
}}
|
||||||
|
};
|
||||||
|
CKEDITOR.dialog.add("find", function (c) {
|
||||||
|
return n(c, "find")
|
||||||
|
});
|
||||||
|
CKEDITOR.dialog.add("replace", function (c) {
|
||||||
|
return n(c, "replace")
|
||||||
|
})
|
||||||
|
})();
|
|
@ -1,24 +1,265 @@
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||||
For licensing, see LICENSE.md or http://ckeditor.com/license
|
For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
*/
|
*/
|
||||||
(function(){function b(a,b,c){var k=n[this.id];if(k)for(var f=this instanceof CKEDITOR.ui.dialog.checkbox,e=0;e<k.length;e++){var d=k[e];switch(d.type){case g:if(!a)continue;if(null!==a.getAttribute(d.name)){a=a.getAttribute(d.name);f?this.setValue("true"==a.toLowerCase()):this.setValue(a);return}f&&this.setValue(!!d["default"]);break;case o:if(!a)continue;if(d.name in c){a=c[d.name];f?this.setValue("true"==a.toLowerCase()):this.setValue(a);return}f&&this.setValue(!!d["default"]);break;case i:if(!b)continue;
|
(function () {
|
||||||
if(b.getAttribute(d.name)){a=b.getAttribute(d.name);f?this.setValue("true"==a.toLowerCase()):this.setValue(a);return}f&&this.setValue(!!d["default"])}}}function c(a,b,c){var k=n[this.id];if(k)for(var f=""===this.getValue(),e=this instanceof CKEDITOR.ui.dialog.checkbox,d=0;d<k.length;d++){var h=k[d];switch(h.type){case g:if(!a||"data"==h.name&&b&&!a.hasAttribute("data"))continue;var l=this.getValue();f||e&&l===h["default"]?a.removeAttribute(h.name):a.setAttribute(h.name,l);break;case o:if(!a)continue;
|
function b(a, b, c) {
|
||||||
l=this.getValue();if(f||e&&l===h["default"])h.name in c&&c[h.name].remove();else if(h.name in c)c[h.name].setAttribute("value",l);else{var p=CKEDITOR.dom.element.createFromHtml("<cke:param></cke:param>",a.getDocument());p.setAttributes({name:h.name,value:l});1>a.getChildCount()?p.appendTo(a):p.insertBefore(a.getFirst())}break;case i:if(!b)continue;l=this.getValue();f||e&&l===h["default"]?b.removeAttribute(h.name):b.setAttribute(h.name,l)}}}for(var g=1,o=2,i=4,n={id:[{type:g,name:"id"}],classid:[{type:g,
|
var k = n[this.id];
|
||||||
name:"classid"}],codebase:[{type:g,name:"codebase"}],pluginspage:[{type:i,name:"pluginspage"}],src:[{type:o,name:"movie"},{type:i,name:"src"},{type:g,name:"data"}],name:[{type:i,name:"name"}],align:[{type:g,name:"align"}],"class":[{type:g,name:"class"},{type:i,name:"class"}],width:[{type:g,name:"width"},{type:i,name:"width"}],height:[{type:g,name:"height"},{type:i,name:"height"}],hSpace:[{type:g,name:"hSpace"},{type:i,name:"hSpace"}],vSpace:[{type:g,name:"vSpace"},{type:i,name:"vSpace"}],style:[{type:g,
|
if (k)for (var f = this instanceof CKEDITOR.ui.dialog.checkbox, e = 0; e < k.length; e++) {
|
||||||
name:"style"},{type:i,name:"style"}],type:[{type:i,name:"type"}]},m="play loop menu quality scale salign wmode bgcolor base flashvars allowScriptAccess allowFullScreen".split(" "),j=0;j<m.length;j++)n[m[j]]=[{type:i,name:m[j]},{type:o,name:m[j]}];m=["allowFullScreen","play","loop","menu"];for(j=0;j<m.length;j++)n[m[j]][0]["default"]=n[m[j]][1]["default"]=!0;CKEDITOR.dialog.add("flash",function(a){var g=!a.config.flashEmbedTagOnly,i=a.config.flashAddEmbedTag||a.config.flashEmbedTagOnly,k,f="<div>"+
|
var d = k[e];
|
||||||
CKEDITOR.tools.htmlEncode(a.lang.common.preview)+'<br><div id="cke_FlashPreviewLoader'+CKEDITOR.tools.getNextNumber()+'" style="display:none"><div class="loading"> </div></div><div id="cke_FlashPreviewBox'+CKEDITOR.tools.getNextNumber()+'" class="FlashPreviewBox"></div></div>';return{title:a.lang.flash.title,minWidth:420,minHeight:310,onShow:function(){this.fakeImage=this.objectNode=this.embedNode=null;k=new CKEDITOR.dom.element("embed",a.document);var e=this.getSelectedElement();if(e&&e.data("cke-real-element-type")&&
|
switch (d.type) {
|
||||||
"flash"==e.data("cke-real-element-type")){this.fakeImage=e;var d=a.restoreRealElement(e),h=null,b=null,c={};if("cke:object"==d.getName()){h=d;d=h.getElementsByTag("embed","cke");0<d.count()&&(b=d.getItem(0));for(var d=h.getElementsByTag("param","cke"),g=0,i=d.count();g<i;g++){var f=d.getItem(g),j=f.getAttribute("name"),f=f.getAttribute("value");c[j]=f}}else"cke:embed"==d.getName()&&(b=d);this.objectNode=h;this.embedNode=b;this.setupContent(h,b,c,e)}},onOk:function(){var e=null,d=null,b=null;if(this.fakeImage)e=
|
case g:
|
||||||
this.objectNode,d=this.embedNode;else if(g&&(e=CKEDITOR.dom.element.createFromHtml("<cke:object></cke:object>",a.document),e.setAttributes({classid:"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",codebase:"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"})),i)d=CKEDITOR.dom.element.createFromHtml("<cke:embed></cke:embed>",a.document),d.setAttributes({type:"application/x-shockwave-flash",pluginspage:"http://www.macromedia.com/go/getflashplayer"}),e&&d.appendTo(e);
|
if (!a)continue;
|
||||||
if(e)for(var b={},c=e.getElementsByTag("param","cke"),f=0,j=c.count();f<j;f++)b[c.getItem(f).getAttribute("name")]=c.getItem(f);c={};f={};this.commitContent(e,d,b,c,f);e=a.createFakeElement(e||d,"cke_flash","flash",!0);e.setAttributes(f);e.setStyles(c);this.fakeImage?(e.replace(this.fakeImage),a.getSelection().selectElement(e)):a.insertElement(e)},onHide:function(){this.preview&&this.preview.setHtml("")},contents:[{id:"info",label:a.lang.common.generalTab,accessKey:"I",elements:[{type:"vbox",padding:0,
|
if (null !== a.getAttribute(d.name)) {
|
||||||
children:[{type:"hbox",widths:["280px","110px"],align:"right",children:[{id:"src",type:"text",label:a.lang.common.url,required:!0,validate:CKEDITOR.dialog.validate.notEmpty(a.lang.flash.validateSrc),setup:b,commit:c,onLoad:function(){var a=this.getDialog(),b=function(b){k.setAttribute("src",b);a.preview.setHtml('<embed height="100%" width="100%" src="'+CKEDITOR.tools.htmlEncode(k.getAttribute("src"))+'" type="application/x-shockwave-flash"></embed>')};a.preview=a.getContentElement("info","preview").getElement().getChild(3);
|
a = a.getAttribute(d.name);
|
||||||
this.on("change",function(a){a.data&&a.data.value&&b(a.data.value)});this.getInputElement().on("change",function(){b(this.getValue())},this)}},{type:"button",id:"browse",filebrowser:"info:src",hidden:!0,style:"display:inline-block;margin-top:10px;",label:a.lang.common.browseServer}]}]},{type:"hbox",widths:["25%","25%","25%","25%","25%"],children:[{type:"text",id:"width",requiredContent:"embed[width]",style:"width:95px",label:a.lang.common.width,validate:CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1",
|
f ? this.setValue("true" == a.toLowerCase()) : this.setValue(a);
|
||||||
a.lang.common.width)),setup:b,commit:c},{type:"text",id:"height",requiredContent:"embed[height]",style:"width:95px",label:a.lang.common.height,validate:CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1",a.lang.common.height)),setup:b,commit:c},{type:"text",id:"hSpace",requiredContent:"embed[hspace]",style:"width:95px",label:a.lang.flash.hSpace,validate:CKEDITOR.dialog.validate.integer(a.lang.flash.validateHSpace),setup:b,commit:c},{type:"text",id:"vSpace",requiredContent:"embed[vspace]",
|
return
|
||||||
style:"width:95px",label:a.lang.flash.vSpace,validate:CKEDITOR.dialog.validate.integer(a.lang.flash.validateVSpace),setup:b,commit:c}]},{type:"vbox",children:[{type:"html",id:"preview",style:"width:95%;",html:f}]}]},{id:"Upload",hidden:!0,filebrowser:"uploadButton",label:a.lang.common.upload,elements:[{type:"file",id:"upload",label:a.lang.common.upload,size:38},{type:"fileButton",id:"uploadButton",label:a.lang.common.uploadSubmit,filebrowser:"info:src","for":["Upload","upload"]}]},{id:"properties",
|
}
|
||||||
label:a.lang.flash.propertiesTab,elements:[{type:"hbox",widths:["50%","50%"],children:[{id:"scale",type:"select",requiredContent:"embed[scale]",label:a.lang.flash.scale,"default":"",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.flash.scaleAll,"showall"],[a.lang.flash.scaleNoBorder,"noborder"],[a.lang.flash.scaleFit,"exactfit"]],setup:b,commit:c},{id:"allowScriptAccess",type:"select",requiredContent:"embed[allowscriptaccess]",label:a.lang.flash.access,"default":"",style:"width : 100%;",
|
f && this.setValue(!!d["default"]);
|
||||||
items:[[a.lang.common.notSet,""],[a.lang.flash.accessAlways,"always"],[a.lang.flash.accessSameDomain,"samedomain"],[a.lang.flash.accessNever,"never"]],setup:b,commit:c}]},{type:"hbox",widths:["50%","50%"],children:[{id:"wmode",type:"select",requiredContent:"embed[wmode]",label:a.lang.flash.windowMode,"default":"",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.flash.windowModeWindow,"window"],[a.lang.flash.windowModeOpaque,"opaque"],[a.lang.flash.windowModeTransparent,"transparent"]],
|
break;
|
||||||
setup:b,commit:c},{id:"quality",type:"select",requiredContent:"embed[quality]",label:a.lang.flash.quality,"default":"high",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.flash.qualityBest,"best"],[a.lang.flash.qualityHigh,"high"],[a.lang.flash.qualityAutoHigh,"autohigh"],[a.lang.flash.qualityMedium,"medium"],[a.lang.flash.qualityAutoLow,"autolow"],[a.lang.flash.qualityLow,"low"]],setup:b,commit:c}]},{type:"hbox",widths:["50%","50%"],children:[{id:"align",type:"select",requiredContent:"object[align]",
|
case o:
|
||||||
label:a.lang.common.align,"default":"",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.common.alignLeft,"left"],[a.lang.flash.alignAbsBottom,"absBottom"],[a.lang.flash.alignAbsMiddle,"absMiddle"],[a.lang.flash.alignBaseline,"baseline"],[a.lang.common.alignBottom,"bottom"],[a.lang.common.alignMiddle,"middle"],[a.lang.common.alignRight,"right"],[a.lang.flash.alignTextTop,"textTop"],[a.lang.common.alignTop,"top"]],setup:b,commit:function(a,b,f,g,i){var j=this.getValue();c.apply(this,arguments);
|
if (!a)continue;
|
||||||
j&&(i.align=j)}},{type:"html",html:"<div></div>"}]},{type:"fieldset",label:CKEDITOR.tools.htmlEncode(a.lang.flash.flashvars),children:[{type:"vbox",padding:0,children:[{type:"checkbox",id:"menu",label:a.lang.flash.chkMenu,"default":!0,setup:b,commit:c},{type:"checkbox",id:"play",label:a.lang.flash.chkPlay,"default":!0,setup:b,commit:c},{type:"checkbox",id:"loop",label:a.lang.flash.chkLoop,"default":!0,setup:b,commit:c},{type:"checkbox",id:"allowFullScreen",label:a.lang.flash.chkFull,"default":!0,
|
if (d.name in c) {
|
||||||
setup:b,commit:c}]}]}]},{id:"advanced",label:a.lang.common.advancedTab,elements:[{type:"hbox",children:[{type:"text",id:"id",requiredContent:"object[id]",label:a.lang.common.id,setup:b,commit:c}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",id:"bgcolor",requiredContent:"embed[bgcolor]",label:a.lang.flash.bgcolor,setup:b,commit:c},{type:"text",id:"class",requiredContent:"embed(cke-xyz)",label:a.lang.common.cssClass,setup:b,commit:c}]},{type:"text",id:"style",requiredContent:"embed{cke-xyz}",
|
a = c[d.name];
|
||||||
validate:CKEDITOR.dialog.validate.inlineStyle(a.lang.common.invalidInlineStyle),label:a.lang.common.cssStyle,setup:b,commit:c}]}]}})})();
|
f ? this.setValue("true" == a.toLowerCase()) : this.setValue(a);
|
||||||
|
return
|
||||||
|
}
|
||||||
|
f && this.setValue(!!d["default"]);
|
||||||
|
break;
|
||||||
|
case i:
|
||||||
|
if (!b)continue;
|
||||||
|
if (b.getAttribute(d.name)) {
|
||||||
|
a = b.getAttribute(d.name);
|
||||||
|
f ? this.setValue("true" == a.toLowerCase()) : this.setValue(a);
|
||||||
|
return
|
||||||
|
}
|
||||||
|
f && this.setValue(!!d["default"])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function c(a, b, c) {
|
||||||
|
var k = n[this.id];
|
||||||
|
if (k)for (var f = "" === this.getValue(), e = this instanceof CKEDITOR.ui.dialog.checkbox, d = 0; d < k.length; d++) {
|
||||||
|
var h = k[d];
|
||||||
|
switch (h.type) {
|
||||||
|
case g:
|
||||||
|
if (!a || "data" == h.name && b && !a.hasAttribute("data"))continue;
|
||||||
|
var l = this.getValue();
|
||||||
|
f || e && l === h["default"] ? a.removeAttribute(h.name) : a.setAttribute(h.name, l);
|
||||||
|
break;
|
||||||
|
case o:
|
||||||
|
if (!a)continue;
|
||||||
|
l = this.getValue();
|
||||||
|
if (f || e && l === h["default"])h.name in c && c[h.name].remove(); else if (h.name in c)c[h.name].setAttribute("value", l); else {
|
||||||
|
var p = CKEDITOR.dom.element.createFromHtml("<cke:param></cke:param>", a.getDocument());
|
||||||
|
p.setAttributes({name: h.name, value: l});
|
||||||
|
1 > a.getChildCount() ? p.appendTo(a) : p.insertBefore(a.getFirst())
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case i:
|
||||||
|
if (!b)continue;
|
||||||
|
l = this.getValue();
|
||||||
|
f || e && l === h["default"] ? b.removeAttribute(h.name) : b.setAttribute(h.name, l)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var g = 1, o = 2, i = 4, n = {id: [
|
||||||
|
{type: g, name: "id"}
|
||||||
|
], classid: [
|
||||||
|
{type: g,
|
||||||
|
name: "classid"}
|
||||||
|
], codebase: [
|
||||||
|
{type: g, name: "codebase"}
|
||||||
|
], pluginspage: [
|
||||||
|
{type: i, name: "pluginspage"}
|
||||||
|
], src: [
|
||||||
|
{type: o, name: "movie"},
|
||||||
|
{type: i, name: "src"},
|
||||||
|
{type: g, name: "data"}
|
||||||
|
], name: [
|
||||||
|
{type: i, name: "name"}
|
||||||
|
], align: [
|
||||||
|
{type: g, name: "align"}
|
||||||
|
], "class": [
|
||||||
|
{type: g, name: "class"},
|
||||||
|
{type: i, name: "class"}
|
||||||
|
], width: [
|
||||||
|
{type: g, name: "width"},
|
||||||
|
{type: i, name: "width"}
|
||||||
|
], height: [
|
||||||
|
{type: g, name: "height"},
|
||||||
|
{type: i, name: "height"}
|
||||||
|
], hSpace: [
|
||||||
|
{type: g, name: "hSpace"},
|
||||||
|
{type: i, name: "hSpace"}
|
||||||
|
], vSpace: [
|
||||||
|
{type: g, name: "vSpace"},
|
||||||
|
{type: i, name: "vSpace"}
|
||||||
|
], style: [
|
||||||
|
{type: g,
|
||||||
|
name: "style"},
|
||||||
|
{type: i, name: "style"}
|
||||||
|
], type: [
|
||||||
|
{type: i, name: "type"}
|
||||||
|
]}, m = "play loop menu quality scale salign wmode bgcolor base flashvars allowScriptAccess allowFullScreen".split(" "), j = 0; j < m.length; j++)n[m[j]] = [
|
||||||
|
{type: i, name: m[j]},
|
||||||
|
{type: o, name: m[j]}
|
||||||
|
];
|
||||||
|
m = ["allowFullScreen", "play", "loop", "menu"];
|
||||||
|
for (j = 0; j < m.length; j++)n[m[j]][0]["default"] = n[m[j]][1]["default"] = !0;
|
||||||
|
CKEDITOR.dialog.add("flash", function (a) {
|
||||||
|
var g = !a.config.flashEmbedTagOnly, i = a.config.flashAddEmbedTag || a.config.flashEmbedTagOnly, k, f = "<div>" +
|
||||||
|
CKEDITOR.tools.htmlEncode(a.lang.common.preview) + '<br><div id="cke_FlashPreviewLoader' + CKEDITOR.tools.getNextNumber() + '" style="display:none"><div class="loading"> </div></div><div id="cke_FlashPreviewBox' + CKEDITOR.tools.getNextNumber() + '" class="FlashPreviewBox"></div></div>';
|
||||||
|
return{title: a.lang.flash.title, minWidth: 420, minHeight: 310, onShow: function () {
|
||||||
|
this.fakeImage = this.objectNode = this.embedNode = null;
|
||||||
|
k = new CKEDITOR.dom.element("embed", a.document);
|
||||||
|
var e = this.getSelectedElement();
|
||||||
|
if (e && e.data("cke-real-element-type") &&
|
||||||
|
"flash" == e.data("cke-real-element-type")) {
|
||||||
|
this.fakeImage = e;
|
||||||
|
var d = a.restoreRealElement(e), h = null, b = null, c = {};
|
||||||
|
if ("cke:object" == d.getName()) {
|
||||||
|
h = d;
|
||||||
|
d = h.getElementsByTag("embed", "cke");
|
||||||
|
0 < d.count() && (b = d.getItem(0));
|
||||||
|
for (var d = h.getElementsByTag("param", "cke"), g = 0, i = d.count(); g < i; g++) {
|
||||||
|
var f = d.getItem(g), j = f.getAttribute("name"), f = f.getAttribute("value");
|
||||||
|
c[j] = f
|
||||||
|
}
|
||||||
|
} else"cke:embed" == d.getName() && (b = d);
|
||||||
|
this.objectNode = h;
|
||||||
|
this.embedNode = b;
|
||||||
|
this.setupContent(h, b, c, e)
|
||||||
|
}
|
||||||
|
}, onOk: function () {
|
||||||
|
var e = null, d = null, b = null;
|
||||||
|
if (this.fakeImage)e =
|
||||||
|
this.objectNode, d = this.embedNode; else if (g && (e = CKEDITOR.dom.element.createFromHtml("<cke:object></cke:object>", a.document), e.setAttributes({classid: "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", codebase: "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"})), i)d = CKEDITOR.dom.element.createFromHtml("<cke:embed></cke:embed>", a.document), d.setAttributes({type: "application/x-shockwave-flash", pluginspage: "http://www.macromedia.com/go/getflashplayer"}), e && d.appendTo(e);
|
||||||
|
if (e)for (var b = {}, c = e.getElementsByTag("param", "cke"), f = 0, j = c.count(); f < j; f++)b[c.getItem(f).getAttribute("name")] = c.getItem(f);
|
||||||
|
c = {};
|
||||||
|
f = {};
|
||||||
|
this.commitContent(e, d, b, c, f);
|
||||||
|
e = a.createFakeElement(e || d, "cke_flash", "flash", !0);
|
||||||
|
e.setAttributes(f);
|
||||||
|
e.setStyles(c);
|
||||||
|
this.fakeImage ? (e.replace(this.fakeImage), a.getSelection().selectElement(e)) : a.insertElement(e)
|
||||||
|
}, onHide: function () {
|
||||||
|
this.preview && this.preview.setHtml("")
|
||||||
|
}, contents: [
|
||||||
|
{id: "info", label: a.lang.common.generalTab, accessKey: "I", elements: [
|
||||||
|
{type: "vbox", padding: 0,
|
||||||
|
children: [
|
||||||
|
{type: "hbox", widths: ["280px", "110px"], align: "right", children: [
|
||||||
|
{id: "src", type: "text", label: a.lang.common.url, required: !0, validate: CKEDITOR.dialog.validate.notEmpty(a.lang.flash.validateSrc), setup: b, commit: c, onLoad: function () {
|
||||||
|
var a = this.getDialog(), b = function (b) {
|
||||||
|
k.setAttribute("src", b);
|
||||||
|
a.preview.setHtml('<embed height="100%" width="100%" src="' + CKEDITOR.tools.htmlEncode(k.getAttribute("src")) + '" type="application/x-shockwave-flash"></embed>')
|
||||||
|
};
|
||||||
|
a.preview = a.getContentElement("info", "preview").getElement().getChild(3);
|
||||||
|
this.on("change", function (a) {
|
||||||
|
a.data && a.data.value && b(a.data.value)
|
||||||
|
});
|
||||||
|
this.getInputElement().on("change", function () {
|
||||||
|
b(this.getValue())
|
||||||
|
}, this)
|
||||||
|
}},
|
||||||
|
{type: "button", id: "browse", filebrowser: "info:src", hidden: !0, style: "display:inline-block;margin-top:10px;", label: a.lang.common.browseServer}
|
||||||
|
]}
|
||||||
|
]},
|
||||||
|
{type: "hbox", widths: ["25%", "25%", "25%", "25%", "25%"], children: [
|
||||||
|
{type: "text", id: "width", requiredContent: "embed[width]", style: "width:95px", label: a.lang.common.width, validate: CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1",
|
||||||
|
a.lang.common.width)), setup: b, commit: c},
|
||||||
|
{type: "text", id: "height", requiredContent: "embed[height]", style: "width:95px", label: a.lang.common.height, validate: CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1", a.lang.common.height)), setup: b, commit: c},
|
||||||
|
{type: "text", id: "hSpace", requiredContent: "embed[hspace]", style: "width:95px", label: a.lang.flash.hSpace, validate: CKEDITOR.dialog.validate.integer(a.lang.flash.validateHSpace), setup: b, commit: c},
|
||||||
|
{type: "text", id: "vSpace", requiredContent: "embed[vspace]",
|
||||||
|
style: "width:95px", label: a.lang.flash.vSpace, validate: CKEDITOR.dialog.validate.integer(a.lang.flash.validateVSpace), setup: b, commit: c}
|
||||||
|
]},
|
||||||
|
{type: "vbox", children: [
|
||||||
|
{type: "html", id: "preview", style: "width:95%;", html: f}
|
||||||
|
]}
|
||||||
|
]},
|
||||||
|
{id: "Upload", hidden: !0, filebrowser: "uploadButton", label: a.lang.common.upload, elements: [
|
||||||
|
{type: "file", id: "upload", label: a.lang.common.upload, size: 38},
|
||||||
|
{type: "fileButton", id: "uploadButton", label: a.lang.common.uploadSubmit, filebrowser: "info:src", "for": ["Upload", "upload"]}
|
||||||
|
]},
|
||||||
|
{id: "properties",
|
||||||
|
label: a.lang.flash.propertiesTab, elements: [
|
||||||
|
{type: "hbox", widths: ["50%", "50%"], children: [
|
||||||
|
{id: "scale", type: "select", requiredContent: "embed[scale]", label: a.lang.flash.scale, "default": "", style: "width : 100%;", items: [
|
||||||
|
[a.lang.common.notSet, ""],
|
||||||
|
[a.lang.flash.scaleAll, "showall"],
|
||||||
|
[a.lang.flash.scaleNoBorder, "noborder"],
|
||||||
|
[a.lang.flash.scaleFit, "exactfit"]
|
||||||
|
], setup: b, commit: c},
|
||||||
|
{id: "allowScriptAccess", type: "select", requiredContent: "embed[allowscriptaccess]", label: a.lang.flash.access, "default": "", style: "width : 100%;",
|
||||||
|
items: [
|
||||||
|
[a.lang.common.notSet, ""],
|
||||||
|
[a.lang.flash.accessAlways, "always"],
|
||||||
|
[a.lang.flash.accessSameDomain, "samedomain"],
|
||||||
|
[a.lang.flash.accessNever, "never"]
|
||||||
|
], setup: b, commit: c}
|
||||||
|
]},
|
||||||
|
{type: "hbox", widths: ["50%", "50%"], children: [
|
||||||
|
{id: "wmode", type: "select", requiredContent: "embed[wmode]", label: a.lang.flash.windowMode, "default": "", style: "width : 100%;", items: [
|
||||||
|
[a.lang.common.notSet, ""],
|
||||||
|
[a.lang.flash.windowModeWindow, "window"],
|
||||||
|
[a.lang.flash.windowModeOpaque, "opaque"],
|
||||||
|
[a.lang.flash.windowModeTransparent, "transparent"]
|
||||||
|
],
|
||||||
|
setup: b, commit: c},
|
||||||
|
{id: "quality", type: "select", requiredContent: "embed[quality]", label: a.lang.flash.quality, "default": "high", style: "width : 100%;", items: [
|
||||||
|
[a.lang.common.notSet, ""],
|
||||||
|
[a.lang.flash.qualityBest, "best"],
|
||||||
|
[a.lang.flash.qualityHigh, "high"],
|
||||||
|
[a.lang.flash.qualityAutoHigh, "autohigh"],
|
||||||
|
[a.lang.flash.qualityMedium, "medium"],
|
||||||
|
[a.lang.flash.qualityAutoLow, "autolow"],
|
||||||
|
[a.lang.flash.qualityLow, "low"]
|
||||||
|
], setup: b, commit: c}
|
||||||
|
]},
|
||||||
|
{type: "hbox", widths: ["50%", "50%"], children: [
|
||||||
|
{id: "align", type: "select", requiredContent: "object[align]",
|
||||||
|
label: a.lang.common.align, "default": "", style: "width : 100%;", items: [
|
||||||
|
[a.lang.common.notSet, ""],
|
||||||
|
[a.lang.common.alignLeft, "left"],
|
||||||
|
[a.lang.flash.alignAbsBottom, "absBottom"],
|
||||||
|
[a.lang.flash.alignAbsMiddle, "absMiddle"],
|
||||||
|
[a.lang.flash.alignBaseline, "baseline"],
|
||||||
|
[a.lang.common.alignBottom, "bottom"],
|
||||||
|
[a.lang.common.alignMiddle, "middle"],
|
||||||
|
[a.lang.common.alignRight, "right"],
|
||||||
|
[a.lang.flash.alignTextTop, "textTop"],
|
||||||
|
[a.lang.common.alignTop, "top"]
|
||||||
|
], setup: b, commit: function (a, b, f, g, i) {
|
||||||
|
var j = this.getValue();
|
||||||
|
c.apply(this, arguments);
|
||||||
|
j && (i.align = j)
|
||||||
|
}},
|
||||||
|
{type: "html", html: "<div></div>"}
|
||||||
|
]},
|
||||||
|
{type: "fieldset", label: CKEDITOR.tools.htmlEncode(a.lang.flash.flashvars), children: [
|
||||||
|
{type: "vbox", padding: 0, children: [
|
||||||
|
{type: "checkbox", id: "menu", label: a.lang.flash.chkMenu, "default": !0, setup: b, commit: c},
|
||||||
|
{type: "checkbox", id: "play", label: a.lang.flash.chkPlay, "default": !0, setup: b, commit: c},
|
||||||
|
{type: "checkbox", id: "loop", label: a.lang.flash.chkLoop, "default": !0, setup: b, commit: c},
|
||||||
|
{type: "checkbox", id: "allowFullScreen", label: a.lang.flash.chkFull, "default": !0,
|
||||||
|
setup: b, commit: c}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
]},
|
||||||
|
{id: "advanced", label: a.lang.common.advancedTab, elements: [
|
||||||
|
{type: "hbox", children: [
|
||||||
|
{type: "text", id: "id", requiredContent: "object[id]", label: a.lang.common.id, setup: b, commit: c}
|
||||||
|
]},
|
||||||
|
{type: "hbox", widths: ["45%", "55%"], children: [
|
||||||
|
{type: "text", id: "bgcolor", requiredContent: "embed[bgcolor]", label: a.lang.flash.bgcolor, setup: b, commit: c},
|
||||||
|
{type: "text", id: "class", requiredContent: "embed(cke-xyz)", label: a.lang.common.cssClass, setup: b, commit: c}
|
||||||
|
]},
|
||||||
|
{type: "text", id: "style", requiredContent: "embed{cke-xyz}",
|
||||||
|
validate: CKEDITOR.dialog.validate.inlineStyle(a.lang.common.invalidInlineStyle), label: a.lang.common.cssStyle, setup: b, commit: c}
|
||||||
|
]}
|
||||||
|
]}
|
||||||
|
})
|
||||||
|
})();
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -2170,7 +2170,7 @@ ul.messages-for-user-reply li {
|
||||||
left: 115px;
|
left: 115px;
|
||||||
padding-bottom: 5px;
|
padding-bottom: 5px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 40px;
|
top: 0px;
|
||||||
font-size: 1.1em;
|
font-size: 1.1em;
|
||||||
margin: 0px auto;
|
margin: 0px auto;
|
||||||
padding: 0px 0px;
|
padding: 0px 0px;
|
||||||
|
|
Loading…
Reference in New Issue