kuhsaft 1.2.2 → 1.2.3
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/assets/javascripts/kuhsaft/application.js.coffee +7 -0
- data/app/assets/javascripts/kuhsaft/cms/application.js.coffee +23 -0
- data/app/assets/javascripts/kuhsaft/views/read_more_view.js.coffee +17 -0
- data/app/assets/stylesheets/kuhsaft/application.css.sass +2 -2
- data/app/assets/stylesheets/kuhsaft/cms/application.css.sass +1 -0
- data/app/assets/stylesheets/kuhsaft/modules/_text_brick.css.sass +11 -0
- data/app/helpers/pages_helper.rb +7 -0
- data/app/models/kuhsaft/anchor_brick.rb +19 -0
- data/app/views/kuhsaft/anchor_bricks/_anchor_brick.html.haml +1 -0
- data/app/views/kuhsaft/anchor_bricks/anchor_brick/_edit.html.haml +1 -0
- data/app/views/kuhsaft/cms/bricks/_brick_item.html.haml +2 -1
- data/app/views/kuhsaft/cms/bricks/update.js.haml +5 -1
- data/app/views/kuhsaft/text_bricks/_text_brick.html.haml +6 -8
- data/config/locales/models/kuhsaft/anchor_brick/de.yml +7 -0
- data/config/locales/views/kuhsaft/cms/bricks/de.yml +2 -1
- data/db/migrate/02_create_kuhsaft_bricks.rb +1 -1
- data/db/seeds.rb +1 -0
- data/lib/kuhsaft/version.rb +1 -1
- data/spec/models/anchor_brick_spec.rb +26 -0
- metadata +13 -5
- data/app/assets/javascripts/kuhsaft/application.js +0 -2
@@ -35,6 +35,28 @@ sortableBrick = ->
|
|
35
35
|
$(this).children('form').trigger('submit')
|
36
36
|
)
|
37
37
|
|
38
|
+
window.initSubmitLinks = (selector = null)->
|
39
|
+
selector ||= $('body')
|
40
|
+
|
41
|
+
selector.find('a.submit')
|
42
|
+
.click (e)->
|
43
|
+
form = $(this).closest('form')
|
44
|
+
form.submit()
|
45
|
+
e.preventDefault()
|
46
|
+
|
47
|
+
window.initSavePopover = (selector) ->
|
48
|
+
link = selector.find('a.submit')
|
49
|
+
link.popover(placement: 'top', trigger: 'manual')
|
50
|
+
|
51
|
+
# initial delay
|
52
|
+
setTimeout ->
|
53
|
+
link.popover('show')
|
54
|
+
# fade out delay
|
55
|
+
setTimeout ->
|
56
|
+
link.popover('hide')
|
57
|
+
, 1500
|
58
|
+
, 50
|
59
|
+
|
38
60
|
$(document).ajaxSuccess ->
|
39
61
|
loadTextEditor($("body"))
|
40
62
|
sortableBrick()
|
@@ -43,6 +65,7 @@ $(document).ready ->
|
|
43
65
|
loadTextEditor($(document))
|
44
66
|
checkPageType()
|
45
67
|
sortableBrick()
|
68
|
+
initSubmitLinks()
|
46
69
|
$('#page_page_type').change ->
|
47
70
|
checkPageType()
|
48
71
|
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class window.ReadMoreView
|
2
|
+
|
3
|
+
constructor: (readMoreElem)->
|
4
|
+
@readMoreElem = readMoreElem
|
5
|
+
@readMoreElem.on 'show', @handleShow
|
6
|
+
@readMoreElem.on 'hide', @handleClose
|
7
|
+
@readMoreElem.find('.button-read-more').on 'click', @handleClick
|
8
|
+
|
9
|
+
handleShow: (e) =>
|
10
|
+
@readMoreElem.addClass('is-open')
|
11
|
+
|
12
|
+
handleClose: (e) =>
|
13
|
+
@readMoreElem.removeClass('is-open')
|
14
|
+
|
15
|
+
handleClick: (e) =>
|
16
|
+
if e.preventDefault
|
17
|
+
e.preventDefault()
|
data/app/helpers/pages_helper.rb
CHANGED
@@ -58,4 +58,11 @@ module PagesHelper
|
|
58
58
|
def current_page_class page
|
59
59
|
:current if active_page_class(page) == :active
|
60
60
|
end
|
61
|
+
|
62
|
+
def read_more_link(id)
|
63
|
+
link_to(id, :'data-toggle' => 'collapse', :'data-target' => id, :class => 'button button-read-more') do
|
64
|
+
@content = content_tag(:p, t('.read_more'), :class => 'read-more-text')
|
65
|
+
@content << content_tag(:p, t('.read_less'), :class => 'read-less-text')
|
66
|
+
end
|
67
|
+
end
|
61
68
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Kuhsaft
|
2
|
+
class AnchorBrick < Brick
|
3
|
+
attr_accessible :caption
|
4
|
+
|
5
|
+
validates :caption, :presence => true
|
6
|
+
|
7
|
+
def user_can_add_childs?
|
8
|
+
false
|
9
|
+
end
|
10
|
+
|
11
|
+
def collect_fulltext
|
12
|
+
[super, caption].join(' ')
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_id
|
16
|
+
"anchor-#{caption.parameterize}"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
%div{ :class => anchor_brick.to_style_class, :id => anchor_brick.to_id }
|
@@ -0,0 +1 @@
|
|
1
|
+
= form.input :caption, :as => :string, :input_html => { :class => 'span6' }
|
@@ -27,7 +27,8 @@
|
|
27
27
|
- # save button
|
28
28
|
.clearfix
|
29
29
|
.pull-right
|
30
|
-
|
30
|
+
%a.submit{ :href => '#', :class => 'btn btn-success btn-small ', 'data-title' => '', 'data-content' => t('.saved') }
|
31
|
+
= t('.save')
|
31
32
|
|
32
33
|
|
33
34
|
- if brick.renders_own_childs?
|
@@ -1,2 +1,6 @@
|
|
1
1
|
$("##{@brick.to_brick_item_id}").replaceWith("#{j(render('kuhsaft/cms/bricks/brick_item', :brick => @brick))}")
|
2
|
-
|
2
|
+
|
3
|
+
// need a reference to the new dom node, so a new query is needed here
|
4
|
+
var newlyInsertedBrick = $("##{@brick.to_brick_item_id}")
|
5
|
+
initSavePopover(newlyInsertedBrick)
|
6
|
+
initSubmitLinks(newlyInsertedBrick)
|
@@ -1,12 +1,10 @@
|
|
1
1
|
%div{ :class => text_brick.to_style_class }
|
2
2
|
- if text_brick.read_more_text.present?
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
.
|
8
|
-
|
9
|
-
%a.less{ :href => "##{text_brick.to_style_id}" }
|
10
|
-
= t('.read_less')
|
3
|
+
= text_brick.text.html_safe
|
4
|
+
|
5
|
+
= read_more_link("##{text_brick.to_style_id}")
|
6
|
+
%div.collapse{ :id => text_brick.to_style_id }
|
7
|
+
= text_brick.read_more_text.to_s.html_safe
|
8
|
+
|
11
9
|
- else
|
12
10
|
= text_brick.text.to_s.html_safe
|
@@ -8,7 +8,7 @@ class CreateKuhsaftBricks < ActiveRecord::Migration
|
|
8
8
|
t.string :locale # all bricks
|
9
9
|
t.text :text # TextBrick
|
10
10
|
t.text :read_more_text # TextBrick
|
11
|
-
t.string :caption # LinkBrick, ImageBrick,
|
11
|
+
t.string :caption # LinkBrick, ImageBrick, AccordionItemBrick, AnchorBrick
|
12
12
|
t.text :href # LinkBrick, ImageBrick, VideoBrick
|
13
13
|
t.string :link_style # LinkBrick
|
14
14
|
t.integer :partitioning # TwoColumnBrick
|
data/db/seeds.rb
CHANGED
@@ -9,3 +9,4 @@ Kuhsaft::BrickType.create(:class_name => 'Kuhsaft::TwoColumnBrick', :group => 'l
|
|
9
9
|
Kuhsaft::BrickType.create(:class_name => 'Kuhsaft::SliderBrick', :group => 'elements')
|
10
10
|
Kuhsaft::BrickType.create(:class_name => 'Kuhsaft::ImageBrick', :group => 'elements')
|
11
11
|
Kuhsaft::BrickType.create(:class_name => 'Kuhsaft::PlaceholderBrick', :group => 'elements')
|
12
|
+
Kuhsaft::BrickType.create(:class_name => 'Kuhsaft::AnchorBrick', :group => 'elements')
|
data/lib/kuhsaft/version.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Kuhsaft::AnchorBrick do
|
4
|
+
|
5
|
+
let :anchor_brick do
|
6
|
+
Kuhsaft::AnchorBrick.new(:caption => 'test-anchor')
|
7
|
+
end
|
8
|
+
|
9
|
+
describe '#bricks' do
|
10
|
+
it 'can not have childs' do
|
11
|
+
anchor_brick.should_not respond_to(:bricks)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
describe '#user_can_add_childs?' do
|
16
|
+
it 'returns false' do
|
17
|
+
anchor_brick.user_can_add_childs?.should be_false
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe '#to_id' do
|
22
|
+
it 'returns a parameterized id' do
|
23
|
+
anchor_brick.to_id.should == 'anchor-test-anchor'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kuhsaft
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-02-
|
14
|
+
date: 2013-02-27 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rspec
|
@@ -307,12 +307,14 @@ executables: []
|
|
307
307
|
extensions: []
|
308
308
|
extra_rdoc_files: []
|
309
309
|
files:
|
310
|
-
- app/assets/javascripts/kuhsaft/application.js
|
310
|
+
- app/assets/javascripts/kuhsaft/application.js.coffee
|
311
311
|
- app/assets/javascripts/kuhsaft/cms/application.js.coffee
|
312
312
|
- app/assets/javascripts/kuhsaft/cms/customizations.js
|
313
|
+
- app/assets/javascripts/kuhsaft/views/read_more_view.js.coffee
|
313
314
|
- app/assets/stylesheets/kuhsaft/application.css.sass
|
314
315
|
- app/assets/stylesheets/kuhsaft/cms/application.css.sass
|
315
316
|
- app/assets/stylesheets/kuhsaft/cms/customizations.css.sass
|
317
|
+
- app/assets/stylesheets/kuhsaft/modules/_text_brick.css.sass
|
316
318
|
- app/controllers/kuhsaft/application_controller.rb
|
317
319
|
- app/controllers/kuhsaft/cms/admin_controller.rb
|
318
320
|
- app/controllers/kuhsaft/cms/assets_controller.rb
|
@@ -326,6 +328,7 @@ files:
|
|
326
328
|
- app/helpers/pages_helper.rb
|
327
329
|
- app/models/kuhsaft/accordion_brick.rb
|
328
330
|
- app/models/kuhsaft/accordion_item_brick.rb
|
331
|
+
- app/models/kuhsaft/anchor_brick.rb
|
329
332
|
- app/models/kuhsaft/asset.rb
|
330
333
|
- app/models/kuhsaft/brick.rb
|
331
334
|
- app/models/kuhsaft/brick_type.rb
|
@@ -350,6 +353,8 @@ files:
|
|
350
353
|
- app/views/kuhsaft/accordion_bricks/accordion_brick/_edit.html.haml
|
351
354
|
- app/views/kuhsaft/accordion_item_bricks/_accordion_item_brick.html.haml
|
352
355
|
- app/views/kuhsaft/accordion_item_bricks/accordion_item_brick/_edit.html.haml
|
356
|
+
- app/views/kuhsaft/anchor_bricks/_anchor_brick.html.haml
|
357
|
+
- app/views/kuhsaft/anchor_bricks/anchor_brick/_edit.html.haml
|
353
358
|
- app/views/kuhsaft/cms/admin/_brick_type_dropdown.html.haml
|
354
359
|
- app/views/kuhsaft/cms/admin/_content_language_switch.html.haml
|
355
360
|
- app/views/kuhsaft/cms/admin/_empty_state.html.haml
|
@@ -396,6 +401,7 @@ files:
|
|
396
401
|
- config/locales/kuhsaft.en.yml
|
397
402
|
- config/locales/models/kuhsaft/accordion_brick/de.yml
|
398
403
|
- config/locales/models/kuhsaft/accordion_item_brick/de.yml
|
404
|
+
- config/locales/models/kuhsaft/anchor_brick/de.yml
|
399
405
|
- config/locales/models/kuhsaft/column_brick/de.yml
|
400
406
|
- config/locales/models/kuhsaft/image_brick/de.yml
|
401
407
|
- config/locales/models/kuhsaft/image_size/de.yml
|
@@ -477,6 +483,7 @@ files:
|
|
477
483
|
- spec/lib/translatable_spec.rb
|
478
484
|
- spec/models/accordion_brick_spec.rb
|
479
485
|
- spec/models/accordion_item_brick_spec.rb
|
486
|
+
- spec/models/anchor_brick_spec.rb
|
480
487
|
- spec/models/asset_spec.rb
|
481
488
|
- spec/models/brick_spec.rb
|
482
489
|
- spec/models/brick_type_filter_spec.rb
|
@@ -507,7 +514,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
507
514
|
version: '0'
|
508
515
|
segments:
|
509
516
|
- 0
|
510
|
-
hash:
|
517
|
+
hash: 615329233639926034
|
511
518
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
512
519
|
none: false
|
513
520
|
requirements:
|
@@ -516,7 +523,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
516
523
|
version: '0'
|
517
524
|
segments:
|
518
525
|
- 0
|
519
|
-
hash:
|
526
|
+
hash: 615329233639926034
|
520
527
|
requirements: []
|
521
528
|
rubyforge_project: kuhsaft
|
522
529
|
rubygems_version: 1.8.24
|
@@ -565,6 +572,7 @@ test_files:
|
|
565
572
|
- spec/lib/translatable_spec.rb
|
566
573
|
- spec/models/accordion_brick_spec.rb
|
567
574
|
- spec/models/accordion_item_brick_spec.rb
|
575
|
+
- spec/models/anchor_brick_spec.rb
|
568
576
|
- spec/models/asset_spec.rb
|
569
577
|
- spec/models/brick_spec.rb
|
570
578
|
- spec/models/brick_type_filter_spec.rb
|