bhf 0.6.15 → 0.6.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{vendor → app}/assets/images/bhf/ajax_loader.gif +0 -0
- data/{vendor → app}/assets/images/bhf/bg.png +0 -0
- data/{vendor → app}/assets/images/bhf/mooeditable-toolbarbuttons-tango.png +0 -0
- data/{vendor → app}/assets/images/bhf/pictos.png +0 -0
- data/{vendor → app}/assets/images/bhf/pictos_2x.png +0 -0
- data/{vendor → app}/assets/images/bhf/small_ajax_loader.gif +0 -0
- data/{vendor → app}/assets/images/bhf/small_ajax_loader_h.gif +0 -0
- data/{vendor → app}/assets/images/bhf/wmd-buttons.png +0 -0
- data/{vendor → app}/assets/images/logo_bhf.svg +0 -0
- data/app/assets/javascripts/bhf/application.js +285 -0
- data/{vendor → app}/assets/javascripts/bhf/classes/AjaxEdit.js +28 -13
- data/app/assets/javascripts/bhf/classes/AjaxEditStack.js +52 -0
- data/{vendor → app}/assets/javascripts/bhf/classes/Ajaxify.js +0 -0
- data/{vendor → app}/assets/javascripts/bhf/classes/ArrayFields.js +0 -0
- data/app/assets/javascripts/bhf/classes/FormHelper.js +97 -0
- data/{vendor → app}/assets/javascripts/bhf/classes/Locale.de-DE.js +0 -0
- data/{vendor → app}/assets/javascripts/bhf/classes/Locale.en-US.js +0 -0
- data/{vendor → app}/assets/javascripts/bhf/classes/MooEditable.js +0 -0
- data/{vendor → app}/assets/javascripts/bhf/classes/MultipleFields.js +0 -0
- data/{vendor → app}/assets/javascripts/bhf/classes/Picker.js +0 -0
- data/{vendor → app}/assets/javascripts/bhf/classes/Picker_Attach.js +0 -0
- data/{vendor → app}/assets/javascripts/bhf/classes/Picker_Date.js +0 -0
- data/app/assets/javascripts/bhf/classes/PlatformHelper.js +59 -0
- data/{vendor → app}/assets/javascripts/bhf/classes/Setlatlng.js +0 -0
- data/{vendor → app}/assets/javascripts/bhf/classes/showdown.js +0 -0
- data/{vendor → app}/assets/javascripts/bhf/classes/wmd.js +0 -0
- data/{vendor → app}/assets/javascripts/bhf/mootools-core-1.4.5-full-compat.js +0 -0
- data/{vendor → app}/assets/javascripts/bhf/mootools-more-1.4.0.1.js +0 -0
- data/{vendor/assets/javascripts/bhf/mootools_ujs_ap.js → app/assets/javascripts/bhf/mootools_ujs.js} +1 -1
- data/{vendor → app}/assets/stylesheets/bhf/MooEditable.css.scss +0 -0
- data/{vendor → app}/assets/stylesheets/bhf/application.css.sass +16 -11
- data/{vendor → app}/assets/stylesheets/bhf/functions.css.sass +0 -0
- data/{vendor → app}/assets/stylesheets/bhf/reset.css.sass +0 -0
- data/{vendor → app}/assets/stylesheets/bhf/typo.css.scss +0 -0
- data/app/controllers/bhf/pages_controller.rb +1 -1
- data/app/views/bhf/entries/_form.haml +1 -1
- data/app/views/bhf/pages/macro/column/_hash.haml +1 -1
- data/app/views/layouts/bhf/application.haml +3 -4
- data/app/views/layouts/bhf/quick_edit.haml +9 -7
- data/config/routes.rb +1 -0
- data/lib/bhf/platform.rb +3 -1
- metadata +36 -35
- data/lib/bhf/view_helpers.rb +0 -19
- data/vendor/assets/javascripts/bhf/application.js +0 -372
- data/vendor/assets/javascripts/bhf/classes/BrowserUpdate.js +0 -185
@@ -132,6 +132,8 @@ header
|
|
132
132
|
background: #EAEAEA
|
133
133
|
box-sizing: border-box
|
134
134
|
+box-shadow(0, 1, 4, rgba($k1, 0.5))
|
135
|
+
.quick_edit_helper,
|
136
|
+
#main
|
135
137
|
> h3
|
136
138
|
padding: 9px 20px
|
137
139
|
background: #dbdbdb
|
@@ -153,14 +155,21 @@ header
|
|
153
155
|
color: $g3
|
154
156
|
+text-shadow(#fff)
|
155
157
|
.quick_edit_holder
|
156
|
-
|
157
|
-
|
158
|
+
&.collapsed
|
159
|
+
width: 50px
|
160
|
+
max-width: auto
|
161
|
+
background: rgb(197, 197, 197)
|
162
|
+
.quick_edit_helper
|
163
|
+
display: none
|
164
|
+
|
158
165
|
overflow-x: auto
|
159
166
|
position: relative
|
160
167
|
max-width: 400px
|
161
168
|
width: 400px
|
162
169
|
vertical-align: top
|
170
|
+
padding: 0
|
163
171
|
form
|
172
|
+
padding: 10px 20px
|
164
173
|
margin-left: 0
|
165
174
|
padding-bottom: 10px
|
166
175
|
.node,
|
@@ -175,10 +184,6 @@ header
|
|
175
184
|
width: 300px
|
176
185
|
height: 100px
|
177
186
|
|
178
|
-
.quick_edit_holder
|
179
|
-
padding: 0
|
180
|
-
form
|
181
|
-
padding: 10px 20px
|
182
187
|
.group
|
183
188
|
margin-top: 0
|
184
189
|
margin-bottom: 10px
|
@@ -197,10 +202,10 @@ header
|
|
197
202
|
&:focus
|
198
203
|
outline: 0
|
199
204
|
&.save
|
200
|
-
border-right: 1px solid $b2
|
201
205
|
&:hover
|
202
206
|
color: darken($b2, 15%)
|
203
207
|
&.save_and_next
|
208
|
+
border-left: 1px solid $b2
|
204
209
|
text-indent: -9999px
|
205
210
|
background: image-url('bhf/pictos.png') no-repeat -140px -40px
|
206
211
|
width: 40px
|
@@ -209,7 +214,7 @@ header
|
|
209
214
|
background-position: -140px -90px
|
210
215
|
|
211
216
|
|
212
|
-
>
|
217
|
+
.quick_edit_helper > a
|
213
218
|
&.cancel,
|
214
219
|
&.open
|
215
220
|
float: right
|
@@ -626,7 +631,8 @@ input[type="submit"].alt_button,
|
|
626
631
|
+text-shadow(#444, -1)
|
627
632
|
+transition-duration(0.3)
|
628
633
|
&:hover
|
629
|
-
background: $b1
|
634
|
+
background: $b1
|
635
|
+
text-decoration: none
|
630
636
|
&:active
|
631
637
|
background: darken($b2, 5%)
|
632
638
|
&:focus
|
@@ -947,8 +953,7 @@ input[type="submit"].alt_button,
|
|
947
953
|
marign-left: -120px
|
948
954
|
font-weight: bold
|
949
955
|
|
950
|
-
|
951
|
-
|
956
|
+
|
952
957
|
|
953
958
|
.wmd-preview,
|
954
959
|
.wmd-output
|
File without changes
|
File without changes
|
File without changes
|
@@ -14,7 +14,7 @@ class Bhf::PagesController < Bhf::ApplicationController
|
|
14
14
|
|
15
15
|
@platforms = platform_options.each_with_object([]) do |opts, obj|
|
16
16
|
platform = Bhf::Platform.new(opts, @page, current_account)
|
17
|
-
next if platform.
|
17
|
+
next if platform.table_hide?
|
18
18
|
platform.pagination = Bhf::Pagination.new(platform.entries_per_page)
|
19
19
|
paginate_platform_objects(platform)
|
20
20
|
obj << platform
|
@@ -1,4 +1,4 @@
|
|
1
|
-
- html = { id: (:main_form unless @quick_edit), multipart: (!@quick_edit && @platform.has_file_upload?) }
|
1
|
+
- html = { id: (:main_form unless @quick_edit), multipart: (!@quick_edit && @platform.has_file_upload?), class: 'js_bhf_form' }
|
2
2
|
= form_for @object, url: @form_url, builder: Bhf::Form::Builder, html: html do |f|
|
3
3
|
|
4
4
|
- if f.object.errors.any?
|
@@ -1 +1 @@
|
|
1
|
-
=
|
1
|
+
= object.send(column.name).inspect
|
@@ -6,9 +6,6 @@
|
|
6
6
|
%link{href: '/favicon.ico', rel: 'icon', type: 'image/x-icon'}
|
7
7
|
- (['bhf/application'] + Bhf::Engine.config.css.to_a).each do |css|
|
8
8
|
= stylesheet_link_tag css
|
9
|
-
- (['bhf/application'] + Bhf::Engine.config.js.to_a).each do |js|
|
10
|
-
= javascript_include_tag js, {:'data-turbolinks-eval' => false}
|
11
|
-
|
12
9
|
%body
|
13
10
|
%header
|
14
11
|
%h1
|
@@ -30,4 +27,6 @@
|
|
30
27
|
= render 'bhf/user'
|
31
28
|
= render 'bhf/footer'
|
32
29
|
|
33
|
-
|
30
|
+
- (['bhf/application'] + Bhf::Engine.config.js.to_a).each do |js|
|
31
|
+
= javascript_include_tag js, {:'data-turbolinks-eval' => false}
|
32
|
+
|
@@ -1,7 +1,9 @@
|
|
1
|
-
|
2
|
-
%
|
3
|
-
|
4
|
-
.
|
5
|
-
|
6
|
-
|
7
|
-
%button.
|
1
|
+
.quick_edit_helper
|
2
|
+
%a.alt_button.cancel= t('bhf.quick_edit.buttons.cancel')
|
3
|
+
- unless @platform.table_hide?
|
4
|
+
%a.alt_button.open= t('bhf.quick_edit.buttons.open')
|
5
|
+
= yield
|
6
|
+
.button.group
|
7
|
+
%button.save{class: ('create' if @object.new_record?)}= @object.new_record? ? t('bhf.quick_edit.buttons.create') : t('bhf.quick_edit.buttons.save')
|
8
|
+
- unless @object.new_record?
|
9
|
+
%button.save_and_next{title: t('bhf.quick_edit.buttons.save_and_next')}= t('bhf.quick_edit.buttons.save_and_next')
|
data/config/routes.rb
CHANGED
data/lib/bhf/platform.rb
CHANGED
@@ -22,6 +22,7 @@ module Bhf
|
|
22
22
|
model_name = I18n.t(t_model_path, count: 0, default: @name.singularize.capitalize)
|
23
23
|
@title_zero = I18n.t("bhf.platforms.#{@name}.title", count: 0, default: model_name)
|
24
24
|
|
25
|
+
@model = model
|
25
26
|
@page_name = page_name
|
26
27
|
@user = user
|
27
28
|
end
|
@@ -31,7 +32,7 @@ module Bhf
|
|
31
32
|
end
|
32
33
|
|
33
34
|
def table_hide?
|
34
|
-
table_options(:hide) == true
|
35
|
+
table_options(:hide) == true || model.bhf_embedded?
|
35
36
|
end
|
36
37
|
|
37
38
|
def search_field?
|
@@ -81,6 +82,7 @@ module Bhf
|
|
81
82
|
end
|
82
83
|
|
83
84
|
def model
|
85
|
+
return @model if @model
|
84
86
|
return @data['model'].constantize if @data['model']
|
85
87
|
@name.singularize.camelize.constantize
|
86
88
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bhf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anton Pawlik
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -87,6 +87,40 @@ extensions: []
|
|
87
87
|
extra_rdoc_files:
|
88
88
|
- README.md
|
89
89
|
files:
|
90
|
+
- app/assets/images/bhf/ajax_loader.gif
|
91
|
+
- app/assets/images/bhf/bg.png
|
92
|
+
- app/assets/images/bhf/mooeditable-toolbarbuttons-tango.png
|
93
|
+
- app/assets/images/bhf/pictos.png
|
94
|
+
- app/assets/images/bhf/pictos_2x.png
|
95
|
+
- app/assets/images/bhf/small_ajax_loader.gif
|
96
|
+
- app/assets/images/bhf/small_ajax_loader_h.gif
|
97
|
+
- app/assets/images/bhf/wmd-buttons.png
|
98
|
+
- app/assets/images/logo_bhf.svg
|
99
|
+
- app/assets/javascripts/bhf/application.js
|
100
|
+
- app/assets/javascripts/bhf/classes/AjaxEdit.js
|
101
|
+
- app/assets/javascripts/bhf/classes/AjaxEditStack.js
|
102
|
+
- app/assets/javascripts/bhf/classes/Ajaxify.js
|
103
|
+
- app/assets/javascripts/bhf/classes/ArrayFields.js
|
104
|
+
- app/assets/javascripts/bhf/classes/FormHelper.js
|
105
|
+
- app/assets/javascripts/bhf/classes/Locale.de-DE.js
|
106
|
+
- app/assets/javascripts/bhf/classes/Locale.en-US.js
|
107
|
+
- app/assets/javascripts/bhf/classes/MooEditable.js
|
108
|
+
- app/assets/javascripts/bhf/classes/MultipleFields.js
|
109
|
+
- app/assets/javascripts/bhf/classes/Picker.js
|
110
|
+
- app/assets/javascripts/bhf/classes/Picker_Attach.js
|
111
|
+
- app/assets/javascripts/bhf/classes/Picker_Date.js
|
112
|
+
- app/assets/javascripts/bhf/classes/PlatformHelper.js
|
113
|
+
- app/assets/javascripts/bhf/classes/Setlatlng.js
|
114
|
+
- app/assets/javascripts/bhf/classes/showdown.js
|
115
|
+
- app/assets/javascripts/bhf/classes/wmd.js
|
116
|
+
- app/assets/javascripts/bhf/mootools-core-1.4.5-full-compat.js
|
117
|
+
- app/assets/javascripts/bhf/mootools-more-1.4.0.1.js
|
118
|
+
- app/assets/javascripts/bhf/mootools_ujs.js
|
119
|
+
- app/assets/stylesheets/bhf/MooEditable.css.scss
|
120
|
+
- app/assets/stylesheets/bhf/application.css.sass
|
121
|
+
- app/assets/stylesheets/bhf/functions.css.sass
|
122
|
+
- app/assets/stylesheets/bhf/reset.css.sass
|
123
|
+
- app/assets/stylesheets/bhf/typo.css.scss
|
90
124
|
- app/controllers/bhf/application_controller.rb
|
91
125
|
- app/controllers/bhf/embed_entries_controller.rb
|
92
126
|
- app/controllers/bhf/entries_controller.rb
|
@@ -175,40 +209,7 @@ files:
|
|
175
209
|
- lib/bhf/pagination.rb
|
176
210
|
- lib/bhf/platform.rb
|
177
211
|
- lib/bhf/settings.rb
|
178
|
-
- lib/bhf/view_helpers.rb
|
179
212
|
- lib/rails/generators/bhf/templates/initializer.rb
|
180
|
-
- vendor/assets/images/bhf/ajax_loader.gif
|
181
|
-
- vendor/assets/images/bhf/bg.png
|
182
|
-
- vendor/assets/images/bhf/mooeditable-toolbarbuttons-tango.png
|
183
|
-
- vendor/assets/images/bhf/pictos.png
|
184
|
-
- vendor/assets/images/bhf/pictos_2x.png
|
185
|
-
- vendor/assets/images/bhf/small_ajax_loader.gif
|
186
|
-
- vendor/assets/images/bhf/small_ajax_loader_h.gif
|
187
|
-
- vendor/assets/images/bhf/wmd-buttons.png
|
188
|
-
- vendor/assets/images/logo_bhf.svg
|
189
|
-
- vendor/assets/javascripts/bhf/application.js
|
190
|
-
- vendor/assets/javascripts/bhf/classes/AjaxEdit.js
|
191
|
-
- vendor/assets/javascripts/bhf/classes/Ajaxify.js
|
192
|
-
- vendor/assets/javascripts/bhf/classes/ArrayFields.js
|
193
|
-
- vendor/assets/javascripts/bhf/classes/BrowserUpdate.js
|
194
|
-
- vendor/assets/javascripts/bhf/classes/Locale.de-DE.js
|
195
|
-
- vendor/assets/javascripts/bhf/classes/Locale.en-US.js
|
196
|
-
- vendor/assets/javascripts/bhf/classes/MooEditable.js
|
197
|
-
- vendor/assets/javascripts/bhf/classes/MultipleFields.js
|
198
|
-
- vendor/assets/javascripts/bhf/classes/Picker.js
|
199
|
-
- vendor/assets/javascripts/bhf/classes/Picker_Attach.js
|
200
|
-
- vendor/assets/javascripts/bhf/classes/Picker_Date.js
|
201
|
-
- vendor/assets/javascripts/bhf/classes/Setlatlng.js
|
202
|
-
- vendor/assets/javascripts/bhf/classes/showdown.js
|
203
|
-
- vendor/assets/javascripts/bhf/classes/wmd.js
|
204
|
-
- vendor/assets/javascripts/bhf/mootools-core-1.4.5-full-compat.js
|
205
|
-
- vendor/assets/javascripts/bhf/mootools-more-1.4.0.1.js
|
206
|
-
- vendor/assets/javascripts/bhf/mootools_ujs_ap.js
|
207
|
-
- vendor/assets/stylesheets/bhf/MooEditable.css.scss
|
208
|
-
- vendor/assets/stylesheets/bhf/application.css.sass
|
209
|
-
- vendor/assets/stylesheets/bhf/functions.css.sass
|
210
|
-
- vendor/assets/stylesheets/bhf/reset.css.sass
|
211
|
-
- vendor/assets/stylesheets/bhf/typo.css.scss
|
212
213
|
- README.md
|
213
214
|
homepage: http://github.com/antpaw/bhf
|
214
215
|
licenses:
|
data/lib/bhf/view_helpers.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
module Bhf
|
2
|
-
module ViewHelpers
|
3
|
-
module ActionView
|
4
|
-
|
5
|
-
def bhf_edit(object, options = {}) # TODO: add a block of html for custom editing buttons and links
|
6
|
-
return unless session[Bhf::Engine.config.session_auth_name.to_s] == true
|
7
|
-
|
8
|
-
options[:platform_name] ||= object.class.to_s.pluralize.downcase
|
9
|
-
|
10
|
-
if object.respond_to?(:'bhf_can_edit?', true)
|
11
|
-
return unless object.bhf_can_edit?(options)
|
12
|
-
end
|
13
|
-
|
14
|
-
render partial: 'bhf/helper/frontend_edit', locals: { platform_name: options[:platform_name], object: object }
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,372 +0,0 @@
|
|
1
|
-
//= require turbolinks
|
2
|
-
//= require ./mootools-core-1.4.5-full-compat.js
|
3
|
-
//= require ./mootools-more-1.4.0.1.js
|
4
|
-
//= require ./mootools_ujs_ap
|
5
|
-
//= require_tree ./classes/
|
6
|
-
var lang = document.html.get('lang');
|
7
|
-
if (lang === 'en') {
|
8
|
-
lang = 'en-US';
|
9
|
-
}
|
10
|
-
else {
|
11
|
-
lang = lang+'-'+lang.toUpperCase();
|
12
|
-
}
|
13
|
-
Locale.use(lang);
|
14
|
-
|
15
|
-
var ajaxNote = new Ajaxify();
|
16
|
-
var bhfInit = function(){
|
17
|
-
var quickEdit = new AjaxEdit();
|
18
|
-
ajaxNote.setup();
|
19
|
-
var wysiwyg = [];
|
20
|
-
var setupJsForm = function(scope){
|
21
|
-
scope.getElements('.wysiwyg').each(function(elem){
|
22
|
-
wysiwyg.push(elem.mooEditable());
|
23
|
-
});
|
24
|
-
|
25
|
-
scope.getElements('.multiple_field').each(function(elem){
|
26
|
-
new MultipleFields(elem);
|
27
|
-
});
|
28
|
-
scope.getElements('.array_holder').each(function(elem){
|
29
|
-
new ArrayFields(elem);
|
30
|
-
});
|
31
|
-
|
32
|
-
scope.getElements('.picker').each(function(input){
|
33
|
-
var options = {
|
34
|
-
timePicker: true,
|
35
|
-
format: '%B %d, %Y %H:%M'
|
36
|
-
};
|
37
|
-
if (input.hasClass('date')) {
|
38
|
-
options = {
|
39
|
-
timePicker: false,
|
40
|
-
format: '%B %d, %Y'
|
41
|
-
};
|
42
|
-
}
|
43
|
-
else if (input.hasClass('time')) {
|
44
|
-
options = {
|
45
|
-
pickOnly: 'time',
|
46
|
-
format: '%H:%M'
|
47
|
-
};
|
48
|
-
}
|
49
|
-
|
50
|
-
var hiddenInput = input.clone();
|
51
|
-
input.value = new Date().parse(input.value).format(options.format);
|
52
|
-
input.erase('name');
|
53
|
-
hiddenInput.set('type', 'hidden').inject(input, 'after');
|
54
|
-
|
55
|
-
new Picker.Date(input, Object.merge({
|
56
|
-
onSelect: function(date){
|
57
|
-
hiddenInput.value = date.format('db');
|
58
|
-
}
|
59
|
-
}, options));
|
60
|
-
});
|
61
|
-
|
62
|
-
scope.getElements('.wmd_editor').each(function(mdTa){
|
63
|
-
var headline, toggleHtmlPreview, toggleLivePreview, livePreview, htmlPreview;
|
64
|
-
|
65
|
-
var togglePreview = function(e){
|
66
|
-
var htmlMode = e.target.hasClass('toggle_html_preview');
|
67
|
-
livePreview.toggleClass('hide', htmlMode);
|
68
|
-
htmlPreview.toggleClass('hide', !htmlMode);
|
69
|
-
toggleLivePreview.toggleClass('active', !htmlMode);
|
70
|
-
toggleHtmlPreview.toggleClass('active', htmlMode);
|
71
|
-
};
|
72
|
-
|
73
|
-
headline = new Element('h6.preview_switch', {text: 'Preview'});
|
74
|
-
|
75
|
-
toggleHtmlPreview = new Element('span.toggle_html_preview', {text: 'HTML'})
|
76
|
-
.addEvent('click', togglePreview)
|
77
|
-
.inject(headline);
|
78
|
-
toggleLivePreview = new Element('span.toggle_live_preview', {text: 'Live'})
|
79
|
-
.addEvent('click', togglePreview)
|
80
|
-
.inject(headline);
|
81
|
-
|
82
|
-
headline.inject(mdTa, 'after');
|
83
|
-
|
84
|
-
livePreview = new Element('div.wmd-preview.hide').inject(headline, 'after');
|
85
|
-
htmlPreview = new Element('div.wmd-output.hide').inject(livePreview, 'after');
|
86
|
-
|
87
|
-
new WMDEditor({
|
88
|
-
input: mdTa,
|
89
|
-
button_bar: new Element('div').inject(mdTa, 'before'),
|
90
|
-
preview: livePreview,
|
91
|
-
output: htmlPreview,
|
92
|
-
buttons: 'bold italic link image ol ul heading hr undo redo help',
|
93
|
-
modifierKeys: false,
|
94
|
-
autoFormatting: false
|
95
|
-
});
|
96
|
-
});
|
97
|
-
|
98
|
-
scope.getElements('.map_data_lat').each(function(lat){
|
99
|
-
new Setlatlng(lat);
|
100
|
-
});
|
101
|
-
};
|
102
|
-
var windowHight = document.body.clientHeight;
|
103
|
-
window.onresize = function(e){
|
104
|
-
windowHight = document.body.clientHeight;
|
105
|
-
};
|
106
|
-
var scrollContent = function(){
|
107
|
-
var innerForm = quickEdit.holder.getElement('form');
|
108
|
-
if ( ! innerForm) { return; }
|
109
|
-
var scroll = document.body.scrollTop-83;
|
110
|
-
if (scroll + innerForm.getSize().y > windowHight) { return; }
|
111
|
-
quickEdit.holder.setStyle('padding-top', scroll);
|
112
|
-
};
|
113
|
-
// window.onscroll = scrollContent;
|
114
|
-
|
115
|
-
quickEdit.setup({
|
116
|
-
holderParent: $('content'),
|
117
|
-
onStartRequest: function(form){
|
118
|
-
ajaxNote.loading();
|
119
|
-
},
|
120
|
-
onFormInjected: function(form){
|
121
|
-
setupJsForm(form);
|
122
|
-
scrollContent();
|
123
|
-
ajaxNote.success();
|
124
|
-
},
|
125
|
-
onSave: function(form){
|
126
|
-
ajaxNote.success();
|
127
|
-
},
|
128
|
-
onBeforeSubmit: function(){
|
129
|
-
ajaxNote.loading();
|
130
|
-
wysiwyg.each(function(elem){
|
131
|
-
elem.saveContent();
|
132
|
-
});
|
133
|
-
}
|
134
|
-
});
|
135
|
-
|
136
|
-
var platforms = document.body.getElements('.platform');
|
137
|
-
var mainForm = document.id('main_form');
|
138
|
-
|
139
|
-
if (platforms.length) {
|
140
|
-
var setupSortables = function(scope){
|
141
|
-
scope.getElements('.sortable').each(function(sortableElems){
|
142
|
-
new Sortables(sortableElems, {
|
143
|
-
handle: '.handle',
|
144
|
-
onFailure: function(invalidForm){
|
145
|
-
ajaxNote.failure();
|
146
|
-
},
|
147
|
-
onStart: function(element, clone){
|
148
|
-
element.addClass('dragged');
|
149
|
-
},
|
150
|
-
onComplete: function(element){
|
151
|
-
element.removeClass('dragged');
|
152
|
-
new Request({
|
153
|
-
method: 'put',
|
154
|
-
url: this.element.getParent('tbody').get('data-sort-url')
|
155
|
-
}).send({data: {order: this.serialize()}});
|
156
|
-
}
|
157
|
-
});
|
158
|
-
});
|
159
|
-
};
|
160
|
-
var updatePlatform = function(href, platform, callback){
|
161
|
-
ajaxNote.loading();
|
162
|
-
new Request.HTML({
|
163
|
-
method: 'get',
|
164
|
-
url: href,
|
165
|
-
onFailure: function(invalidForm){
|
166
|
-
ajaxNote.failure();
|
167
|
-
},
|
168
|
-
onSuccess: function(a, b, html, js){
|
169
|
-
platform.innerHTML = html;
|
170
|
-
if (callback) {
|
171
|
-
callback.call();
|
172
|
-
}
|
173
|
-
setupSortables(platform);
|
174
|
-
Browser.exec(js);
|
175
|
-
ajaxNote.success();
|
176
|
-
windowHight = document.body.clientHeight;
|
177
|
-
window.fireEvent('platformUpdate', [platform]);
|
178
|
-
}
|
179
|
-
}).send();
|
180
|
-
};
|
181
|
-
|
182
|
-
platforms.addEvents({
|
183
|
-
'click:relay(.pagination a, thead a)': function(e){
|
184
|
-
e.preventDefault();
|
185
|
-
updatePlatform(this.get('href'), this.getParent('.platform'));
|
186
|
-
},
|
187
|
-
'submit:relay(.search)': function(e){
|
188
|
-
ajaxNote.loading();
|
189
|
-
e.preventDefault();
|
190
|
-
var parent = this.getParent('.platform');
|
191
|
-
var hidden_search = e.target.getElement('.hidden_search');
|
192
|
-
if (hidden_search) {
|
193
|
-
hidden_search.destroy();
|
194
|
-
}
|
195
|
-
|
196
|
-
new Request.HTML({
|
197
|
-
method: 'get',
|
198
|
-
url: this.get('action'),
|
199
|
-
onFailure: function(invalidForm){
|
200
|
-
ajaxNote.failure();
|
201
|
-
},
|
202
|
-
onSuccess: function(a, b, html){
|
203
|
-
parent.innerHTML = html;
|
204
|
-
setupSortables(parent);
|
205
|
-
ajaxNote.success();
|
206
|
-
window.fireEvent('platformUpdate', [parent]);
|
207
|
-
}
|
208
|
-
}).send({data: this});
|
209
|
-
},
|
210
|
-
'click:relay(.quick_edit)': function(e){
|
211
|
-
e.preventDefault();
|
212
|
-
quickEdit.startEdit(this, this.getParent('tr'));
|
213
|
-
},
|
214
|
-
'click:relay(.action a)': function(e){
|
215
|
-
this.addClass('clicked');
|
216
|
-
setTimeout(function(){
|
217
|
-
this.removeClass('clicked');
|
218
|
-
}.bind(this), 1500);
|
219
|
-
},
|
220
|
-
'click:relay(.delete)': function(e){
|
221
|
-
e.target.addEvents({
|
222
|
-
'ajax:success': function(html){
|
223
|
-
this.getParent('tr').dispose();
|
224
|
-
},
|
225
|
-
'ajax:failure': function(html){
|
226
|
-
alert(Locale.get('Messages.warning'));
|
227
|
-
}
|
228
|
-
});
|
229
|
-
}
|
230
|
-
});
|
231
|
-
|
232
|
-
quickEdit.addEvents({
|
233
|
-
onFailure: function(invalidForm){
|
234
|
-
ajaxNote.failure();
|
235
|
-
},
|
236
|
-
successAndChange: function(json){
|
237
|
-
var tr = this.wrapElement;
|
238
|
-
tr.getElements('td').each(function(td){
|
239
|
-
var name = td.get('data-column-name');
|
240
|
-
if ( ! name) { return; }
|
241
|
-
var a = td.getElement('a.quick_edit');
|
242
|
-
(a ? a : td).innerHTML = json[name] || '';
|
243
|
-
});
|
244
|
-
},
|
245
|
-
successAndNext: function(json){
|
246
|
-
var tr = this.wrapElement;
|
247
|
-
var nextTr = tr.getNext('tr');
|
248
|
-
|
249
|
-
if (nextTr) {
|
250
|
-
quickEdit.startEdit(nextTr.getElement('a'), nextTr);
|
251
|
-
}
|
252
|
-
else {
|
253
|
-
var platform = tr.getParent('.platform');
|
254
|
-
var loadMore = platform.getElement('.load_more');
|
255
|
-
if (loadMore) {
|
256
|
-
trIndex = tr.getParent('tbody').getElements('tr').indexOf(tr);
|
257
|
-
updatePlatform(loadMore.get('href'), platform, function(){
|
258
|
-
platform.getElements('tbody tr').each(function(newTr, index){
|
259
|
-
if (trIndex === index) {
|
260
|
-
nextTr = newTr.getNext('tr');
|
261
|
-
quickEdit.startEdit(nextTr.getElement('a'), nextTr);
|
262
|
-
}
|
263
|
-
});
|
264
|
-
});
|
265
|
-
}
|
266
|
-
else {
|
267
|
-
nextTr = platform.getElements('tbody tr')[0];
|
268
|
-
quickEdit.startEdit(nextTr.getElement('a'), nextTr);
|
269
|
-
}
|
270
|
-
}
|
271
|
-
}
|
272
|
-
});
|
273
|
-
setupSortables(document.body);
|
274
|
-
}
|
275
|
-
else if (mainForm) {
|
276
|
-
setupJsForm(mainForm);
|
277
|
-
|
278
|
-
mainForm.addEvents({
|
279
|
-
'click:relay(.quick_edit)': function(e){
|
280
|
-
e.preventDefault();
|
281
|
-
quickEdit.startEdit(this);
|
282
|
-
},
|
283
|
-
'click:relay(.delete)': function(e){
|
284
|
-
e.target.addEvents({
|
285
|
-
'ajax:success': function(html){
|
286
|
-
var relation = e.target.getParent('.relation');
|
287
|
-
if (relation.getElements('li').length < 2) {
|
288
|
-
relation.getPrevious('.empty').removeClass('hide');
|
289
|
-
if (relation.hasClass('has_one') || relation.hasClass('embeds_one')) {
|
290
|
-
relation.getNext('.add_field').removeClass('hide');
|
291
|
-
}
|
292
|
-
}
|
293
|
-
e.target.getParent('li').dispose();
|
294
|
-
},
|
295
|
-
'ajax:failure': function(html){
|
296
|
-
alert(Locale.get('Messages.warning'));
|
297
|
-
}
|
298
|
-
});
|
299
|
-
}
|
300
|
-
});
|
301
|
-
|
302
|
-
quickEdit.addEvents({
|
303
|
-
onFailure: function(invalidForm){
|
304
|
-
ajaxNote.failure();
|
305
|
-
},
|
306
|
-
successAndAdd: function(json){
|
307
|
-
var relation = this.wrapElement.getPrevious('.relation');
|
308
|
-
relation.getPrevious('.empty').addClass('hide');
|
309
|
-
if (relation.hasClass('has_one') || relation.hasClass('embeds_one')) {
|
310
|
-
relation.getNext('.add_field').addClass('hide');
|
311
|
-
}
|
312
|
-
relation.adopt(
|
313
|
-
new Element('li').adopt(
|
314
|
-
new Element('a.quick_edit', {text: json.to_bhf_s || '', href: json.edit_path})
|
315
|
-
)
|
316
|
-
);
|
317
|
-
},
|
318
|
-
successAndChange: function(json){
|
319
|
-
this.wrapElement.set('text', json.to_bhf_s || '');
|
320
|
-
},
|
321
|
-
successAndNext: function(json){
|
322
|
-
var a = this.wrapElement;
|
323
|
-
var li = a.getParent('li');
|
324
|
-
if ( ! li) {
|
325
|
-
this.close();
|
326
|
-
return;
|
327
|
-
}
|
328
|
-
var holder = li.getNext('li');
|
329
|
-
|
330
|
-
if ( ! holder) {
|
331
|
-
holder = li.getParent('ul');
|
332
|
-
}
|
333
|
-
quickEdit.startEdit(holder.getElement('a'));
|
334
|
-
}
|
335
|
-
});
|
336
|
-
}
|
337
|
-
|
338
|
-
var fm = $('flash_massages');
|
339
|
-
if (fm) {
|
340
|
-
fm.removeClass.delay(10000, fm, 'show');
|
341
|
-
}
|
342
|
-
|
343
|
-
new BrowserUpdate({vs:{i:8,f:7,o:10.01,s:4,n:9}});
|
344
|
-
};
|
345
|
-
|
346
|
-
|
347
|
-
window.addEvent('domready', bhfInit);
|
348
|
-
|
349
|
-
if (document.addEventListener) {
|
350
|
-
document.addEventListener('page:fetch', function(){
|
351
|
-
ajaxNote.loading();
|
352
|
-
});
|
353
|
-
|
354
|
-
document.addEventListener('page:load', function(){
|
355
|
-
bhfInit();
|
356
|
-
rails.applyEvents();
|
357
|
-
ajaxNote.success();
|
358
|
-
});
|
359
|
-
}
|
360
|
-
|
361
|
-
var initHelper = function(callback){
|
362
|
-
var scopedCallback = function(){
|
363
|
-
callback(document.body);
|
364
|
-
};
|
365
|
-
if (document.addEventListener) {
|
366
|
-
document.addEventListener('page:load', scopedCallback);
|
367
|
-
}
|
368
|
-
window.addEvent('domready', scopedCallback);
|
369
|
-
window.addEvent('platformUpdate', callback);
|
370
|
-
window.addEvent('quickEditReady', callback);
|
371
|
-
|
372
|
-
};
|