refinerycms-core 0.9.9.21 → 0.9.9.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/app/controllers/admin/dialogs_controller.rb +2 -2
- data/app/views/shared/_google_analytics.html.erb +1 -1
- data/app/views/shared/_header.html.erb +2 -1
- data/app/views/shared/_menu.html.erb +11 -10
- data/app/views/shared/_menu_branch.html.erb +3 -5
- data/app/views/shared/admin/_form_actions.html.erb +1 -1
- data/app/views/shared/admin/_image_picker.html.erb +4 -3
- data/app/views/shared/admin/_resource_picker.html.erb +14 -14
- data/config/locales/de.yml +2 -2
- data/config/locales/fi.yml +3 -3
- data/lib/gemspec.rb +2 -2
- data/lib/generators/templates/.gitignore +0 -1
- data/lib/refinery/activity.rb +1 -1
- data/lib/refinery/crud.rb +3 -3
- data/lib/refinery/helpers/image_helper.rb +1 -1
- data/lib/refinery/helpers/menu_helper.rb +19 -12
- data/lib/refinery/helpers/meta_helper.rb +7 -1
- data/lib/refinerycms-core.rb +4 -0
- data/public/javascripts/jquery/jquery.html5-placeholder-shim.js +86 -79
- data/public/javascripts/refinery/admin.js +102 -81
- data/public/javascripts/refinery/site_bar.js +1 -1
- data/public/javascripts/wymeditor/jquery.refinery.wymeditor.js +5 -2
- data/refinerycms-core.gemspec +6 -6
- metadata +10 -9
@@ -6,9 +6,9 @@ module Admin
|
|
6
6
|
url_params = params.reject {|key, value| key =~ /(action)|(controller)/}
|
7
7
|
|
8
8
|
@iframe_src = if @dialog_type == 'image'
|
9
|
-
|
9
|
+
insert_admin_images_path(url_params.merge(:id => nil, :modal => true))
|
10
10
|
elsif @dialog_type == 'link'
|
11
|
-
|
11
|
+
link_to_admin_pages_dialogs_path(url_params.merge(:id => nil))
|
12
12
|
end
|
13
13
|
|
14
14
|
render :layout => false
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<% unless refinery_user? or
|
2
2
|
(page_code = RefinerySetting.find_or_set(:analytics_page_code, 'UA-xxxxxx-x').to_s.strip) =~ /^(UA-xxxxxx-x)?$/ -%>
|
3
3
|
<!-- asynchronous google analytics: mathiasbynens.be/notes/async-analytics-snippet -->
|
4
|
-
<script>var _gaq=[['_setAccount','<%= page_code %>'],['_trackPageview']];(function(d,t){
|
4
|
+
<script>var _gaq=[['_setAccount','<%= page_code %>'],['_trackPageview'],['_trackPageLoadTime']];(function(d,t){
|
5
5
|
var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
|
6
6
|
g.async=1;g.src='//www.google-analytics.com/ga.js';s.parentNode.insertBefore(g,s)
|
7
7
|
}(document,'script'))</script>
|
@@ -2,17 +2,20 @@
|
|
2
2
|
dom_id ||= 'menu'
|
3
3
|
caching = (cache_menu ||= RefinerySetting.find_or_set(:cache_menu, false))
|
4
4
|
cache_key = [Refinery.base_cache_key, 'pages_menus', dom_id, Globalize.locale].join('_')
|
5
|
-
# cache the pages first
|
6
|
-
collection = if caching
|
7
|
-
Rails.cache.fetch(cache_key) { (collection ||= @menu_pages).to_a }
|
8
|
-
else
|
9
|
-
(collection ||= @menu_pages).to_a
|
10
|
-
end
|
11
5
|
|
12
6
|
# cache the generation of the menu based on the pages.
|
13
7
|
cache_if(caching, ([cache_key, cache_path ||= request.path].join('_'))) do
|
8
|
+
# cache the pages first
|
9
|
+
if caching
|
10
|
+
collection = Rails.cache.fetch(cache_key) { (collection ||= @menu_pages).to_a }
|
11
|
+
roots = local_assigns[:roots] || Rails.cache.fetch([cache_key, "roots"].join("_")) { roots = collection.select{|c| c.parent_id.nil?} } unless roots
|
12
|
+
else
|
13
|
+
collection ||= @menu_pages
|
14
|
+
roots = local_assigns[:roots] || collection.select{|c| c.parent_id.nil?}
|
15
|
+
end
|
16
|
+
|
14
17
|
# Select top menu items unless 'roots' is supplied.
|
15
|
-
if
|
18
|
+
if roots.present?
|
16
19
|
css = [(css || 'menu'), 'clearfix'].flatten.join(' ')
|
17
20
|
hide_children = RefinerySetting.find_or_set(:menu_hide_children, false) if hide_children.nil?
|
18
21
|
-%>
|
@@ -23,10 +26,8 @@
|
|
23
26
|
:locals => {
|
24
27
|
:hide_children => hide_children,
|
25
28
|
:sibling_count => (roots.length - 1),
|
26
|
-
:collection => collection,
|
27
29
|
:apply_css => true #if you don't care about class='first' class='last' or class='selected' set apply_css to false for speed.
|
28
|
-
}
|
29
|
-
-%>
|
30
|
+
} -%>
|
30
31
|
</ul>
|
31
32
|
</nav>
|
32
33
|
<% end -%>
|
@@ -2,9 +2,9 @@
|
|
2
2
|
if !!local_assigns[:apply_css] and (classes = menu_branch_css(local_assigns)).any?
|
3
3
|
css = "class='#{classes.join(' ')}'".html_safe
|
4
4
|
end
|
5
|
-
dom_id = "id='item_#{menu_branch_counter}'".html_safe
|
5
|
+
dom_id = "id='item_#{menu_branch_counter}'".html_safe if menu_branch.parent_id.nil?
|
6
6
|
|
7
|
-
children = menu_branch.children.live.in_menu unless hide_children
|
7
|
+
children = menu_branch.children.live.in_menu unless hide_children or menu_branch.rgt == menu_branch.lft + 1
|
8
8
|
-%>
|
9
9
|
<li<%= ['', css, dom_id].compact.join(' ').gsub(/\ *$/, '').html_safe %>>
|
10
10
|
<%= link_to menu_branch.title, menu_branch.url -%>
|
@@ -14,9 +14,7 @@
|
|
14
14
|
:collection => children,
|
15
15
|
:locals => {
|
16
16
|
:apply_css => local_assigns[:apply_css],
|
17
|
-
:hide_children => !!hide_children
|
18
|
-
:collection => collection,
|
19
|
-
:sibling_count => children.length - 1
|
17
|
+
:hide_children => !!hide_children
|
20
18
|
} -%>
|
21
19
|
</ul>
|
22
20
|
<% end -%>
|
@@ -32,7 +32,7 @@
|
|
32
32
|
delete_title ||= nil
|
33
33
|
delete_confirmation ||= nil
|
34
34
|
delete_button_id ||= "delete_button"
|
35
|
-
delete_url ||= eval("admin_#{f.object_name}
|
35
|
+
delete_url ||= eval("admin_#{f.object_name}_path(#{f.object.id})")
|
36
36
|
end
|
37
37
|
|
38
38
|
paginate_collection = nil
|
@@ -2,16 +2,17 @@
|
|
2
2
|
description ||= 'image'
|
3
3
|
thumbnail ||= 'medium'
|
4
4
|
toggle_image_display ||= false
|
5
|
+
conditions ||= nil
|
5
6
|
randomiser = rand(Time.now.yesterday.to_i * Time.now.to_i)
|
6
|
-
current_image_link_href =
|
7
|
-
:width => 866, :height => 510)
|
7
|
+
current_image_link_href = insert_admin_images_path(:dialog => true, :callback => "image_picker_#{randomiser}_changed",
|
8
|
+
:width => 866, :height => 510, :conditions => conditions)
|
8
9
|
current_image_title = t('.change', :what => description.titleize)
|
9
10
|
-%>
|
10
11
|
<div id='image_picker_container_<%= randomiser %>'>
|
11
12
|
<%= link_to t('.show'), '', :class => "current_image_toggler" if toggle_image_display %>
|
12
13
|
<%= f.hidden_field field, :class => "current_image_id" -%>
|
13
14
|
|
14
|
-
<div class='current_image_container'<%= "
|
15
|
+
<div class='current_image_container' style="margin-top: 10px<%= ";display: none" if toggle_image_display %>">
|
15
16
|
<a class='current_image_link dialog' href="<%= current_image_link_href %>" style='border: 0px' title='<%= current_image_title %>' name='<%= current_image_title %>'>
|
16
17
|
<% unless image.nil? -%>
|
17
18
|
<%= image_fu image, ::Image.user_image_sizes[thumbnail.to_sym],
|
@@ -1,15 +1,17 @@
|
|
1
1
|
<%
|
2
|
+
conditions ||= nil
|
2
3
|
insert_text = "<span id='no_resource_selected_#{field}' class='nothing_selected' #{"style='display: none;'" if resource.present?}>
|
3
4
|
#{t('.no_resource_selected')}
|
4
5
|
</span>".html_safe
|
5
|
-
insert_link =
|
6
|
+
insert_link = insert_admin_resources_path({
|
6
7
|
:dialog => true,
|
7
8
|
:update_resource => "current_resource_#{field}",
|
8
9
|
:update_text => "current_resource_text_#{field}",
|
9
10
|
:callback => "resource_changed_#{field}",
|
10
11
|
:field => [f.object_name.gsub(/\]\[|[^-a-zA-Z0-9:.]/, "_").sub(/_$/, ""), field].join('_'),
|
11
12
|
:current_link => "#{resource.url if resource.present?}",
|
12
|
-
:height => 480
|
13
|
+
:height => 480,
|
14
|
+
:conditions => conditions
|
13
15
|
})
|
14
16
|
%>
|
15
17
|
<%= f.hidden_field field %>
|
@@ -18,18 +20,16 @@
|
|
18
20
|
:name => t('.name'),
|
19
21
|
:id => "current_resource_link_#{field}"
|
20
22
|
%>
|
21
|
-
<div id='current_resource_container_<%= field %>' <%= "
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
:id => "current_resource_#{field}",
|
32
|
-
:target => "_blank" %>
|
23
|
+
<div id='current_resource_container_<%= field %>' style='margin-top: 10px<%= ";display: none" unless resource.present? %>'>
|
24
|
+
<%= link_to "#{refinery_icon_tag('page_white_put.png')} ".html_safe +
|
25
|
+
content_tag(
|
26
|
+
:span,
|
27
|
+
"#{resource.title} (#{resource.file_name})",
|
28
|
+
:id => "current_resource_text_#{field}"
|
29
|
+
),
|
30
|
+
resource.url,
|
31
|
+
:id => "current_resource_#{field}",
|
32
|
+
:target => "_blank" if resource.present? %>
|
33
33
|
</div>
|
34
34
|
<br/>
|
35
35
|
<%= link_to t('.remove_current'), "",
|
data/config/locales/de.yml
CHANGED
@@ -44,9 +44,9 @@ de:
|
|
44
44
|
change: Klicken Sie hier, um ein Bild auszuwählen
|
45
45
|
show: anzeigen
|
46
46
|
resource_picker:
|
47
|
-
download_current:
|
47
|
+
download_current: Datei herunterladen
|
48
48
|
opens_in_new_window: Öffnet in einem neuen Fenster
|
49
|
-
remove_current: "Entferne
|
49
|
+
remove_current: "Entferne Datei"
|
50
50
|
no_resource_selected: Es ist momentan keine Datei ausgewählt, klicken Sie hier, um eine hinzuzufügen.
|
51
51
|
name: Datei hinzufügen
|
52
52
|
current: Aktuelle Datei
|
data/config/locales/fi.yml
CHANGED
@@ -16,8 +16,8 @@ fi:
|
|
16
16
|
continue: Jatka...
|
17
17
|
admin:
|
18
18
|
menu:
|
19
|
-
reorder_menu:
|
20
|
-
reorder_menu_done:
|
19
|
+
reorder_menu: Muuta valikon järjestystä
|
20
|
+
reorder_menu_done: Tallenna
|
21
21
|
dialogs:
|
22
22
|
show:
|
23
23
|
save: Tallenna
|
@@ -58,7 +58,7 @@ fi:
|
|
58
58
|
results_for: "Hakutulokset haulle '%{query}'"
|
59
59
|
no_results: 'Valitettavasti mitään ei löytynyt'
|
60
60
|
delete:
|
61
|
-
message: "Oletko varma, että haluat poistaa
|
61
|
+
message: "Oletko varma, että haluat poistaa sisältöesineen '%{title}'?"
|
62
62
|
error_messages:
|
63
63
|
problems_in_following_fields: Seuraavissa kentissä oli virheitä
|
64
64
|
help: apua
|
data/lib/gemspec.rb
CHANGED
@@ -24,8 +24,8 @@ Gem::Specification.new do |s|
|
|
24
24
|
s.add_dependency 'refinerycms-generators', '~> 1.0'
|
25
25
|
s.add_dependency 'acts_as_indexed', '~> 0.7'
|
26
26
|
s.add_dependency 'friendly_id_globalize3', '~> 3.2.1'
|
27
|
-
s.add_dependency 'globalize3', '>= 0.1.0.
|
28
|
-
s.add_dependency '
|
27
|
+
s.add_dependency 'globalize3', '>= 0.1.0.beta2'
|
28
|
+
s.add_dependency 'awesome_nested_set', '~> 2.0'
|
29
29
|
s.add_dependency 'rails', '~> 3.0.7'
|
30
30
|
s.add_dependency 'truncate_html', '~> 0.5'
|
31
31
|
s.add_dependency 'will_paginate', '~> 3.0.pre'
|
data/lib/refinery/activity.rb
CHANGED
data/lib/refinery/crud.rb
CHANGED
@@ -253,11 +253,11 @@ module Refinery
|
|
253
253
|
0.upto((newlist ||= params[:ul]).length - 1) do |index|
|
254
254
|
hash = newlist[index.to_s]
|
255
255
|
moved_item_id = hash['id'].split(/#{singular_name}\\_?/)
|
256
|
-
@current_#{singular_name} = #{class_name}.
|
256
|
+
@current_#{singular_name} = #{class_name}.where(:id => moved_item_id).first
|
257
257
|
|
258
258
|
if @current_#{singular_name}.respond_to?(:move_to_root)
|
259
259
|
if previous.present?
|
260
|
-
@current_#{singular_name}.move_to_right_of(#{class_name}.
|
260
|
+
@current_#{singular_name}.move_to_right_of(#{class_name}.where(:id => previous).first)
|
261
261
|
else
|
262
262
|
@current_#{singular_name}.move_to_root
|
263
263
|
end
|
@@ -280,7 +280,7 @@ module Refinery
|
|
280
280
|
0.upto(node['children'].length - 1) do |child_index|
|
281
281
|
child = node['children'][child_index.to_s]
|
282
282
|
child_id = child['id'].split(/#{singular_name}\_?/)
|
283
|
-
child_#{singular_name} = #{class_name}.
|
283
|
+
child_#{singular_name} = #{class_name}.where(:id => child_id).first
|
284
284
|
child_#{singular_name}.move_to_child_of(#{singular_name})
|
285
285
|
|
286
286
|
if child['children'].present?
|
@@ -32,7 +32,7 @@ module Refinery
|
|
32
32
|
unless geometry.nil? or !(split_geometry = geometry.to_s.split('#')).many? or !(split_geometry = split_geometry.first.split('x')).many?
|
33
33
|
image_width, image_height = split_geometry
|
34
34
|
else
|
35
|
-
|
35
|
+
image_width = nil
|
36
36
|
image_height = nil
|
37
37
|
end
|
38
38
|
|
@@ -16,7 +16,7 @@ module Refinery
|
|
16
16
|
|
17
17
|
# This was extracted from app/views/shared/_menu_branch.html.erb
|
18
18
|
# to remove the complexity of that template by reducing logic in the view.
|
19
|
-
def css_for_menu_branch(menu_branch, menu_branch_counter, sibling_count = nil, collection =
|
19
|
+
def css_for_menu_branch(menu_branch, menu_branch_counter, sibling_count = nil, collection = nil, selected_item = nil, warning = true)
|
20
20
|
# DEPRECATION. Remove at version 1.1
|
21
21
|
if warning
|
22
22
|
warn "\n-- DEPRECATION WARNING --"
|
@@ -25,17 +25,29 @@ module Refinery
|
|
25
25
|
warn "Called from: #{caller.detect{|c| c =~ %r{#{Rails.root.to_s}}}.inspect.to_s.split(':in').first}\n\n"
|
26
26
|
end
|
27
27
|
|
28
|
+
if collection
|
29
|
+
warn "\n-- DEPRECATION WARNING --"
|
30
|
+
warn "The use of 'collection' is deprecated and will be removed at version 1.1."
|
31
|
+
warn "Called from: #{caller.detect{|c| c =~ %r{#{Rails.root.to_s}}}.inspect.to_s.split(':in').first}\n\n"
|
32
|
+
end
|
33
|
+
|
34
|
+
if selected_item
|
35
|
+
warn "\n-- DEPRECATION WARNING --"
|
36
|
+
warn "The use of 'selected_item' is deprecated and will be removed at version 1.1."
|
37
|
+
warn "Called from: #{caller.detect{|c| c =~ %r{#{Rails.root.to_s}}}.inspect.to_s.split(':in').first}\n\n"
|
38
|
+
end
|
39
|
+
|
28
40
|
css = []
|
29
41
|
css << "selected" if selected_page_or_descendant_page_selected?(menu_branch, collection, selected_item)
|
30
42
|
css << "first" if menu_branch_counter == 0
|
31
|
-
css << "last" if menu_branch_counter == sibling_count
|
43
|
+
css << "last" if (sibling_count ? (menu_branch_counter == sibling_count - 1) : (menu_branch.rgt == menu_branch.parent.rgt - 1))
|
32
44
|
css
|
33
45
|
end
|
34
46
|
|
35
47
|
# New method which accepts the local_assigns hash.
|
36
48
|
# This maps to the older css_for_menu_branch method.
|
37
49
|
def menu_branch_css(local_assigns)
|
38
|
-
options =
|
50
|
+
options = local_assigns.dup
|
39
51
|
options.update(:sibling_count => options[:menu_branch].shown_siblings.size) unless options[:sibling_count]
|
40
52
|
|
41
53
|
css_for_menu_branch(options[:menu_branch],
|
@@ -49,14 +61,8 @@ module Refinery
|
|
49
61
|
# Determines whether any page underneath the supplied page is the current page according to rails.
|
50
62
|
# Just calls selected_page? for each descendant of the supplied page.
|
51
63
|
# if you pass a collection it won't check its own descendants but use the collection supplied.
|
52
|
-
def descendant_page_selected?(page, collection =
|
53
|
-
if
|
54
|
-
warn "\n-- DEPRECATION WARNING --"
|
55
|
-
warn "The use of 'selected_item' is deprecated and will be removed at version 1.1."
|
56
|
-
warn "Called from: #{caller.detect{|c| c =~ %r{#{Rails.root.to_s}}}.inspect.to_s.split(':in').first}\n\n"
|
57
|
-
end
|
58
|
-
|
59
|
-
return false unless page.has_descendants?
|
64
|
+
def descendant_page_selected?(page, collection = nil, selected_item = nil)
|
65
|
+
return false if page.rgt == page.lft + 1
|
60
66
|
return false unless selected_item.nil? or !selected_item.in_menu?
|
61
67
|
|
62
68
|
page.descendants.any? { |descendant|
|
@@ -64,7 +70,7 @@ module Refinery
|
|
64
70
|
}
|
65
71
|
end
|
66
72
|
|
67
|
-
def selected_page_or_descendant_page_selected?(page, collection =
|
73
|
+
def selected_page_or_descendant_page_selected?(page, collection = nil, selected_item = nil)
|
68
74
|
return true if selected_page?(page) || selected_item === page
|
69
75
|
return true if descendant_page_selected?(page, collection, selected_item)
|
70
76
|
false
|
@@ -87,6 +93,7 @@ module Refinery
|
|
87
93
|
path == page.link_url or
|
88
94
|
path == page.nested_path or
|
89
95
|
URI.decode(path) == page.nested_path or
|
96
|
+
path == "/#{page.id}" or
|
90
97
|
current_page?(page)
|
91
98
|
end
|
92
99
|
|
@@ -47,7 +47,13 @@ module Refinery
|
|
47
47
|
else
|
48
48
|
obj.title
|
49
49
|
end
|
50
|
-
|
50
|
+
|
51
|
+
# Only link when the object responds to a url method.
|
52
|
+
if options[:link] && obj.respond_to?(:url)
|
53
|
+
title << link_to(obj_title, obj.url)
|
54
|
+
else
|
55
|
+
title << obj_title
|
56
|
+
end
|
51
57
|
end
|
52
58
|
|
53
59
|
final_title = title.pop
|
data/lib/refinerycms-core.rb
CHANGED
@@ -34,6 +34,10 @@ module Refinery
|
|
34
34
|
def attach_to_application!
|
35
35
|
::Rails::Application.subclasses.each do |subclass|
|
36
36
|
begin
|
37
|
+
# Fix Rake 0.9.0 issue
|
38
|
+
subclass.send :include, ::Rake::DSL if defined?(::Rake::DSL)
|
39
|
+
|
40
|
+
# Include our logic inside your logic
|
37
41
|
subclass.send :include, ::Refinery::Application
|
38
42
|
rescue
|
39
43
|
$stdout.puts "Refinery CMS couldn't attach to #{subclass.name}."
|
@@ -1,88 +1,95 @@
|
|
1
1
|
(function($) {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
2
|
+
// @todo Document this.
|
3
|
+
$.extend($,{ placeholder: {
|
4
|
+
browser_supported: function() {
|
5
|
+
return this._supported !== undefined ?
|
6
|
+
this._supported :
|
7
|
+
( this._supported = !!('placeholder' in $('<input type="text">')[0]) );
|
8
|
+
},
|
9
|
+
shim: function(opts) {
|
10
|
+
var config = {
|
11
|
+
color: '#888',
|
12
|
+
cls: 'placeholder',
|
13
|
+
lr_padding:4,
|
14
|
+
selector: 'input[placeholder], textarea[placeholder]'
|
15
|
+
};
|
16
|
+
$.extend(config,opts);
|
17
|
+
!this.browser_supported() && $(config.selector)._placeholder_shim(config);
|
18
|
+
}
|
19
|
+
}});
|
19
20
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
21
|
+
$.extend($.fn,{
|
22
|
+
_placeholder_shim: function(config) {
|
23
|
+
function calcPositionCss(target)
|
24
|
+
{
|
25
|
+
var op = $(target).offsetParent().offset();
|
26
|
+
var ot = $(target).offset();
|
26
27
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
var possible_line_height = {};
|
41
|
-
if( $(this).css('height') != 'auto') {
|
42
|
-
possible_line_height = { lineHeight: $(this).css('height') };
|
43
|
-
}
|
28
|
+
return {
|
29
|
+
top: ot.top - op.top + ($(target).outerHeight() - $(target).height()) /2,
|
30
|
+
left: ot.left - op.left + config.lr_padding,
|
31
|
+
width: $(target).width() - config.lr_padding
|
32
|
+
};
|
33
|
+
}
|
34
|
+
return this.each(function() {
|
35
|
+
if( $(this).data('placeholder') ) {
|
36
|
+
var $ol = $(this).data('placeholder');
|
37
|
+
$ol.css(calcPositionCss($(this)));
|
38
|
+
return true;
|
39
|
+
}
|
44
40
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
position:'absolute',
|
50
|
-
display: 'inline',
|
51
|
-
float:'none',
|
52
|
-
overflow:'hidden',
|
53
|
-
whiteSpace:'nowrap',
|
54
|
-
textAlign: 'left',
|
55
|
-
color: config.color,
|
56
|
-
cursor: 'text',
|
57
|
-
fontSize: $(this).css('font-size')
|
58
|
-
}, possible_line_height))
|
59
|
-
.css(calcPositionCss(this))
|
60
|
-
.attr('for', this.id)
|
61
|
-
.data('target',$(this))
|
62
|
-
.click(function(){
|
63
|
-
$(this).data('target').focus()
|
64
|
-
})
|
65
|
-
.insertBefore(this);
|
66
|
-
$(this)
|
67
|
-
.data('placeholder',ol)
|
68
|
-
.focus(function(){
|
69
|
-
ol.hide();
|
70
|
-
}).blur(function() {
|
71
|
-
ol[$(this).val().length ? 'hide' : 'show']();
|
72
|
-
}).triggerHandler('blur');
|
73
|
-
$(window)
|
74
|
-
.resize(function() {
|
75
|
-
var $target = ol.data('target')
|
76
|
-
ol.css(calcPositionCss($target))
|
77
|
-
});
|
78
|
-
});
|
79
|
-
}
|
80
|
-
});
|
41
|
+
var possible_line_height = {};
|
42
|
+
if( $(this).css('height') != 'auto') {
|
43
|
+
possible_line_height = { lineHeight: $(this).css('height') };
|
44
|
+
}
|
81
45
|
|
46
|
+
var ol = $('<label />')
|
47
|
+
.text($(this).attr('placeholder'))
|
48
|
+
.addClass(config.cls)
|
49
|
+
.css($.extend({
|
50
|
+
position:'absolute',
|
51
|
+
display: 'inline',
|
52
|
+
float:'none',
|
53
|
+
overflow:'hidden',
|
54
|
+
whiteSpace:'nowrap',
|
55
|
+
textAlign: 'left',
|
56
|
+
color: config.color,
|
57
|
+
cursor: 'text',
|
58
|
+
paddingTop: $(this).css('padding-top'),
|
59
|
+
paddingLeft: $(this).css('padding-left'),
|
60
|
+
fontSize: $(this).css('font-size'),
|
61
|
+
fontFamily: $(this).css('font-family'),
|
62
|
+
fontStyle: $(this).css('font-style'),
|
63
|
+
fontWeight: $(this).css('font-weight'),
|
64
|
+
textTransform: $(this).css('text-transform'),
|
65
|
+
zIndex: 99
|
66
|
+
}, possible_line_height))
|
67
|
+
.css(calcPositionCss(this))
|
68
|
+
.attr('for', this.id)
|
69
|
+
.data('target',$(this))
|
70
|
+
.click(function(){
|
71
|
+
$(this).data('target').focus()
|
72
|
+
})
|
73
|
+
.insertBefore(this);
|
74
|
+
$(this)
|
75
|
+
.data('placeholder',ol)
|
76
|
+
.focus(function(){
|
77
|
+
ol.hide();
|
78
|
+
}).blur(function() {
|
79
|
+
ol[$(this).val().length ? 'hide' : 'show']();
|
80
|
+
}).triggerHandler('blur');
|
81
|
+
$(window)
|
82
|
+
.resize(function() {
|
83
|
+
var $target = ol.data('target')
|
84
|
+
ol.css(calcPositionCss($target))
|
85
|
+
});
|
86
|
+
});
|
87
|
+
}
|
88
|
+
});
|
82
89
|
})(jQuery);
|
83
90
|
|
84
|
-
|
85
|
-
if (
|
86
|
-
|
91
|
+
jQuery(document).add(window).bind('ready load', function() {
|
92
|
+
if (jQuery.placeholder) {
|
93
|
+
jQuery.placeholder.shim();
|
87
94
|
}
|
88
95
|
});
|
@@ -412,9 +412,12 @@ init_tooltips = function(args){
|
|
412
412
|
var link_tester = {
|
413
413
|
initialised: false
|
414
414
|
, init: function(test_url, test_email) {
|
415
|
-
|
416
|
-
this.
|
417
|
-
|
415
|
+
|
416
|
+
if (!this.initialised) {
|
417
|
+
this.test_url = test_url;
|
418
|
+
this.test_email = test_email;
|
419
|
+
this.initialised = true;
|
420
|
+
}
|
418
421
|
},
|
419
422
|
|
420
423
|
email: function(value, callback) {
|
@@ -479,13 +482,16 @@ var link_tester = {
|
|
479
482
|
var link_dialog = {
|
480
483
|
initialised: false
|
481
484
|
, init: function(){
|
482
|
-
|
483
|
-
this.
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
485
|
+
|
486
|
+
if (!this.initialised) {
|
487
|
+
this.init_tabs();
|
488
|
+
this.init_resources_submit();
|
489
|
+
this.init_close();
|
490
|
+
this.page_tab();
|
491
|
+
this.web_tab();
|
492
|
+
this.email_tab();
|
493
|
+
this.initialised = true;
|
494
|
+
}
|
489
495
|
},
|
490
496
|
|
491
497
|
init_tabs: function(){
|
@@ -630,30 +636,33 @@ var link_dialog = {
|
|
630
636
|
var page_options = {
|
631
637
|
initialised: false
|
632
638
|
, init: function(enable_parts, new_part_url, del_part_url){
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
$(
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
639
|
+
|
640
|
+
if (!this.initialised) {
|
641
|
+
// set the page tabs up, but ensure that all tabs are shown so that when wymeditor loads it has a proper height.
|
642
|
+
page_options.tabs = $('#page-tabs');
|
643
|
+
page_options.tabs.tabs({tabTemplate: '<li><a href="#{href}">#{label}</a></li>'});
|
644
|
+
page_options.tabs.find(' > ul li a').corner('top 5px');
|
645
|
+
|
646
|
+
part_shown = $('#page-tabs .page_part.field').not('.ui-tabs-hide');
|
647
|
+
$('#page-tabs .page_part.field').removeClass('ui-tabs-hide');
|
648
|
+
|
649
|
+
this.enable_parts = enable_parts;
|
650
|
+
this.new_part_url = new_part_url;
|
651
|
+
this.del_part_url = del_part_url;
|
652
|
+
this.show_options();
|
653
|
+
this.title_type();
|
654
|
+
|
655
|
+
$(document).ready($.proxy(function(){
|
656
|
+
// hide the tabs that are supposed to be hidden.
|
657
|
+
$('#page-tabs .page_part.field').not(this).addClass('ui-tabs-hide');
|
658
|
+
$('#page-tabs > ul li a').corner('top 5px');
|
659
|
+
}, part_shown));
|
660
|
+
|
661
|
+
if(this.enable_parts){
|
662
|
+
this.page_part_dialog();
|
663
|
+
}
|
664
|
+
this.initialised = true;
|
655
665
|
}
|
656
|
-
this.initialised = true;
|
657
666
|
},
|
658
667
|
|
659
668
|
show_options: function(){
|
@@ -766,11 +775,14 @@ var image_dialog = {
|
|
766
775
|
, callback: null
|
767
776
|
|
768
777
|
, init: function(callback){
|
769
|
-
|
770
|
-
this.
|
771
|
-
|
772
|
-
|
773
|
-
|
778
|
+
|
779
|
+
if (!this.initialised) {
|
780
|
+
this.callback = callback;
|
781
|
+
this.init_tabs();
|
782
|
+
this.init_select();
|
783
|
+
this.init_actions();
|
784
|
+
this.initialised = true;
|
785
|
+
}
|
774
786
|
return this;
|
775
787
|
}
|
776
788
|
|
@@ -884,43 +896,46 @@ var image_dialog = {
|
|
884
896
|
var list_reorder = {
|
885
897
|
initialised: false
|
886
898
|
, init: function() {
|
887
|
-
|
888
|
-
|
889
|
-
|
890
|
-
|
891
|
-
|
892
|
-
|
893
|
-
|
894
|
-
|
895
|
-
|
896
|
-
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
|
901
|
-
|
902
|
-
|
903
|
-
|
904
|
-
|
905
|
-
|
906
|
-
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
|
899
|
+
|
900
|
+
if (!this.initialised) {
|
901
|
+
$('#reorder_action').click(list_reorder.enable_reordering);
|
902
|
+
$('#reorder_action_done').click(list_reorder.disable_reordering);
|
903
|
+
if(list_reorder.tree === false) {
|
904
|
+
list_reorder.sortable_list.find('li').addClass('no-nest');
|
905
|
+
}
|
906
|
+
list_reorder.sortable_list.nestedSortable({
|
907
|
+
disableNesting: 'no-nest',
|
908
|
+
forcePlaceholderSize: true,
|
909
|
+
handle: list_reorder.tree ? 'div' : null,
|
910
|
+
items: 'li',
|
911
|
+
opacity: .6,
|
912
|
+
placeholder: 'placeholder',
|
913
|
+
tabSize: 25,
|
914
|
+
tolerance: 'pointer',
|
915
|
+
toleranceElement: list_reorder.tree ? '> div' : null,
|
916
|
+
disabled: true,
|
917
|
+
start: function () {
|
918
|
+
},
|
919
|
+
change: function () {
|
920
|
+
if (list_reorder.tree) {
|
921
|
+
list_reorder.reset_branch_classes(this);
|
922
|
+
}
|
923
|
+
},
|
924
|
+
stop: function () {
|
925
|
+
if (list_reorder.tree) {
|
926
|
+
list_reorder.reset_branch_classes(this);
|
927
|
+
} else {
|
928
|
+
list_reorder.reset_on_off_classes(this);
|
929
|
+
}
|
915
930
|
}
|
931
|
+
});
|
932
|
+
if (list_reorder.tree) {
|
933
|
+
list_reorder.reset_branch_classes(list_reorder.sortable_list);
|
934
|
+
} else {
|
935
|
+
list_reorder.reset_on_off_classes(list_reorder.sortable_list);
|
916
936
|
}
|
917
|
-
|
918
|
-
if (list_reorder.tree) {
|
919
|
-
list_reorder.reset_branch_classes(list_reorder.sortable_list);
|
920
|
-
} else {
|
921
|
-
list_reorder.reset_on_off_classes(list_reorder.sortable_list);
|
937
|
+
this.initialised = true;
|
922
938
|
}
|
923
|
-
this.initialised = true;
|
924
939
|
}
|
925
940
|
, reset_on_off_classes: function(ul) {
|
926
941
|
$("> li", ul).each(function(i, li) {
|
@@ -1005,13 +1020,16 @@ var image_picker = {
|
|
1005
1020
|
}
|
1006
1021
|
|
1007
1022
|
, init: function(new_options){
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
1012
|
-
|
1013
|
-
|
1014
|
-
|
1023
|
+
|
1024
|
+
if (!this.initialised) {
|
1025
|
+
this.options = $.extend(this.options, new_options);
|
1026
|
+
$(this.options.picker_container).find(this.options.remove_image_button)
|
1027
|
+
.click($.proxy(this.remove_image, {container: this.options.picker_container, picker: this}));
|
1028
|
+
$(this.options.picker_container).find(this.options.image_toggler)
|
1029
|
+
.click($.proxy(this.toggle_image, {container: this.options.picker_container, picker: this}));
|
1030
|
+
|
1031
|
+
this.initialised = true;
|
1032
|
+
}
|
1015
1033
|
|
1016
1034
|
return this;
|
1017
1035
|
}
|
@@ -1060,8 +1078,11 @@ var resource_picker = {
|
|
1060
1078
|
, callback: null
|
1061
1079
|
|
1062
1080
|
, init: function(callback) {
|
1063
|
-
|
1064
|
-
this.initialised
|
1081
|
+
|
1082
|
+
if (!this.initialised) {
|
1083
|
+
this.callback = callback;
|
1084
|
+
this.initialised = true;
|
1085
|
+
}
|
1065
1086
|
}
|
1066
1087
|
};
|
1067
1088
|
|
@@ -3,7 +3,7 @@ if (typeof($) == 'function') {
|
|
3
3
|
$logo = $('#site_bar_content #site_bar_refinery_cms_logo');
|
4
4
|
$logo.css('left', ($('#site_bar_content').width() / 2) - ($logo.width() / 2));
|
5
5
|
|
6
|
-
$switch_anchor = $('#editor_switch a').not('.ie7 #editor_switch a, .ie6 #
|
6
|
+
$switch_anchor = $('#editor_switch a').not('.ie7 #editor_switch a, .ie6 #editor_switch a');
|
7
7
|
if ($.isFunction($switch_anchor.corner)) {
|
8
8
|
$switch_anchor.corner('6px');
|
9
9
|
}
|
@@ -3759,7 +3759,8 @@ WYMeditor.XhtmlSaxListener = function()
|
|
3759
3759
|
this._open_tags = {};
|
3760
3760
|
this.validator = WYMeditor.XhtmlValidator;
|
3761
3761
|
this._tag_stack = [];
|
3762
|
-
|
3762
|
+
|
3763
|
+
this.avoided_tags = ['area'];
|
3763
3764
|
|
3764
3765
|
this.entities = {
|
3765
3766
|
' ':' ','¡':'¡','¢':'¢',
|
@@ -3977,7 +3978,9 @@ WYMeditor.XhtmlSaxListener.prototype.inlineTag = function(tag, attributes)
|
|
3977
3978
|
|
3978
3979
|
WYMeditor.XhtmlSaxListener.prototype.openUnknownTag = function(tag, attributes)
|
3979
3980
|
{
|
3980
|
-
|
3981
|
+
if(tag === 'area') {
|
3982
|
+
this.output += this.helper.tag(tag, attributes, true);
|
3983
|
+
}
|
3981
3984
|
};
|
3982
3985
|
|
3983
3986
|
WYMeditor.XhtmlSaxListener.prototype.closeBlockTag = function(tag)
|
data/refinerycms-core.gemspec
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{refinerycms-core}
|
5
|
-
s.version = %q{0.9.9.
|
5
|
+
s.version = %q{0.9.9.22}
|
6
6
|
s.summary = %q{Core engine for Refinery CMS}
|
7
7
|
s.description = %q{The core of Refinery CMS. This handles the common functionality and is required by most engines}
|
8
|
-
s.date = %q{2011-05-
|
8
|
+
s.date = %q{2011-05-22}
|
9
9
|
s.email = %q{info@refinerycms.com}
|
10
10
|
s.homepage = %q{http://refinerycms.com}
|
11
11
|
s.rubyforge_project = %q{refinerycms}
|
@@ -14,13 +14,13 @@ Gem::Specification.new do |s|
|
|
14
14
|
s.require_paths = %w(lib)
|
15
15
|
s.executables = %w()
|
16
16
|
|
17
|
-
s.add_dependency 'refinerycms-base', '= 0.9.9.
|
18
|
-
s.add_dependency 'refinerycms-settings', '= 0.9.9.
|
17
|
+
s.add_dependency 'refinerycms-base', '= 0.9.9.22'
|
18
|
+
s.add_dependency 'refinerycms-settings', '= 0.9.9.22'
|
19
19
|
s.add_dependency 'refinerycms-generators', '~> 1.0'
|
20
20
|
s.add_dependency 'acts_as_indexed', '~> 0.7'
|
21
21
|
s.add_dependency 'friendly_id_globalize3', '~> 3.2.1'
|
22
|
-
s.add_dependency 'globalize3', '>= 0.1.0.
|
23
|
-
s.add_dependency '
|
22
|
+
s.add_dependency 'globalize3', '>= 0.1.0.beta2'
|
23
|
+
s.add_dependency 'awesome_nested_set', '~> 2.0'
|
24
24
|
s.add_dependency 'rails', '~> 3.0.7'
|
25
25
|
s.add_dependency 'truncate_html', '~> 0.5'
|
26
26
|
s.add_dependency 'will_paginate', '~> 3.0.pre'
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: refinerycms-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.9.9.
|
5
|
+
version: 0.9.9.22
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Resolve Digital
|
@@ -13,7 +13,8 @@ autorequire:
|
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
15
|
|
16
|
-
date: 2011-05-
|
16
|
+
date: 2011-05-22 00:00:00 +12:00
|
17
|
+
default_executable:
|
17
18
|
dependencies:
|
18
19
|
- !ruby/object:Gem::Dependency
|
19
20
|
name: refinerycms-base
|
@@ -23,7 +24,7 @@ dependencies:
|
|
23
24
|
requirements:
|
24
25
|
- - "="
|
25
26
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.9.9.
|
27
|
+
version: 0.9.9.22
|
27
28
|
type: :runtime
|
28
29
|
version_requirements: *id001
|
29
30
|
- !ruby/object:Gem::Dependency
|
@@ -34,7 +35,7 @@ dependencies:
|
|
34
35
|
requirements:
|
35
36
|
- - "="
|
36
37
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.9.9.
|
38
|
+
version: 0.9.9.22
|
38
39
|
type: :runtime
|
39
40
|
version_requirements: *id002
|
40
41
|
- !ruby/object:Gem::Dependency
|
@@ -78,18 +79,18 @@ dependencies:
|
|
78
79
|
requirements:
|
79
80
|
- - ">="
|
80
81
|
- !ruby/object:Gem::Version
|
81
|
-
version: 0.1.0.
|
82
|
+
version: 0.1.0.beta2
|
82
83
|
type: :runtime
|
83
84
|
version_requirements: *id006
|
84
85
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
86
|
+
name: awesome_nested_set
|
86
87
|
prerelease: false
|
87
88
|
requirement: &id007 !ruby/object:Gem::Requirement
|
88
89
|
none: false
|
89
90
|
requirements:
|
90
91
|
- - ~>
|
91
92
|
- !ruby/object:Gem::Version
|
92
|
-
version: "
|
93
|
+
version: "2.0"
|
93
94
|
type: :runtime
|
94
95
|
version_requirements: *id007
|
95
96
|
- !ruby/object:Gem::Dependency
|
@@ -472,6 +473,7 @@ files:
|
|
472
473
|
- refinerycms-core.gemspec
|
473
474
|
- spec/lib/refinery/plugin_spec.rb
|
474
475
|
- spec/lib/refinery/plugins_spec.rb
|
476
|
+
has_rdoc: true
|
475
477
|
homepage: http://refinerycms.com
|
476
478
|
licenses:
|
477
479
|
- MIT
|
@@ -495,10 +497,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
495
497
|
requirements: []
|
496
498
|
|
497
499
|
rubyforge_project: refinerycms
|
498
|
-
rubygems_version: 1.
|
500
|
+
rubygems_version: 1.6.2
|
499
501
|
signing_key:
|
500
502
|
specification_version: 3
|
501
503
|
summary: Core engine for Refinery CMS
|
502
504
|
test_files: []
|
503
505
|
|
504
|
-
has_rdoc:
|