refinerycms-llama_widgets 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. data/app/assets/images/refinery/icons/lock.png +0 -0
  2. data/app/assets/images/refinery/itoggle.png +0 -0
  3. data/app/assets/javascripts/refinery/engage.itoggle-min.js +17 -0
  4. data/app/assets/javascripts/refinery/widgets.js.coffee.erb +91 -0
  5. data/app/assets/stylesheets/refinery/engage.itoggle.css +94 -0
  6. data/app/assets/stylesheets/refinery/widgets.scss +89 -0
  7. data/app/controllers/refinery/widgets/admin/templates_controller.rb +28 -0
  8. data/app/controllers/refinery/widgets/admin/widget_types_controller.rb +59 -0
  9. data/app/controllers/refinery/widgets/admin/widgets_controller.rb +30 -0
  10. data/app/decorators/controllers/refinery/admin/pages_controller.rb +23 -0
  11. data/app/decorators/controllers/refinery/pages_controller.rb +13 -0
  12. data/app/decorators/models/refinery/page.rb +28 -0
  13. data/app/decorators/models/refinery/page_part.rb +16 -0
  14. data/app/helpers/refinery/widgets/widgets_helper.rb +38 -0
  15. data/app/models/refinery/widgets/content_block_widget.rb +13 -0
  16. data/app/models/refinery/widgets/template.rb +64 -0
  17. data/app/models/refinery/widgets/template_part.rb +37 -0
  18. data/app/models/refinery/widgets/widget.rb +108 -0
  19. data/app/overrides/refinery/admin/pages/_actions.rb +5 -0
  20. data/app/overrides/refinery/admin/pages/_form.rb +4 -0
  21. data/app/overrides/refinery/admin/pages/_form_page_parts.rb +5 -0
  22. data/app/overrides/refinery/admin/pages/_page.rb +5 -0
  23. data/app/views/refinery/admin/_image_picker.html.erb +66 -0
  24. data/app/views/refinery/admin/_nested_image_picker.html.erb +58 -0
  25. data/app/views/refinery/admin/pages/_form_page_parts.html.erb +37 -0
  26. data/app/views/refinery/admin/pages/_page_part.slim +25 -0
  27. data/app/views/refinery/admin/pages/_widget_fields.slim +46 -0
  28. data/app/views/refinery/widgets/_content_block_widget.slim +2 -0
  29. data/app/views/refinery/widgets/_widget.slim +1 -0
  30. data/app/views/refinery/widgets/admin/templates/_actions.html.erb +25 -0
  31. data/app/views/refinery/widgets/admin/templates/_form.html.erb +17 -0
  32. data/app/views/refinery/widgets/admin/templates/_page_part.slim +22 -0
  33. data/app/views/refinery/widgets/admin/templates/_page_parts.html.erb +37 -0
  34. data/app/views/refinery/widgets/admin/templates/_records.html.erb +16 -0
  35. data/app/views/refinery/widgets/admin/templates/_sortable_list.html.erb +5 -0
  36. data/app/views/refinery/widgets/admin/templates/_template.html.erb +18 -0
  37. data/app/views/refinery/widgets/admin/templates/_templates.html.erb +2 -0
  38. data/app/views/refinery/widgets/admin/templates/_widget_fields.slim +26 -0
  39. data/app/views/refinery/widgets/admin/templates/edit.html.erb +1 -0
  40. data/app/views/refinery/widgets/admin/templates/index.html.erb +7 -0
  41. data/app/views/refinery/widgets/admin/templates/list.slim +15 -0
  42. data/app/views/refinery/widgets/admin/templates/new.html.erb +1 -0
  43. data/app/views/refinery/widgets/admin/widget_types/new_for_page.slim +4 -0
  44. data/app/views/refinery/widgets/admin/widget_types/new_for_template.slim +4 -0
  45. data/app/views/refinery/widgets/admin/widget_types/show_for_page.slim +4 -0
  46. data/app/views/refinery/widgets/admin/widget_types/show_for_template.slim +4 -0
  47. data/app/views/refinery/widgets/admin/widgets/_content_block_widget.slim +3 -0
  48. data/app/views/refinery/widgets/admin/widgets/_content_block_widget_preview.slim +3 -0
  49. data/app/views/refinery/widgets/admin/widgets/_widget.slim +2 -0
  50. data/app/views/refinery/widgets/admin/widgets/_widget_preview.slim +2 -0
  51. data/app/views/refinery/widgets/admin/widgets/new.slim +31 -0
  52. data/config/locales/cs.yml +27 -0
  53. data/config/locales/en.yml +34 -0
  54. data/config/locales/es.yml +28 -0
  55. data/config/locales/fr.yml +27 -0
  56. data/config/locales/it.yml +27 -0
  57. data/config/locales/nb.yml +27 -0
  58. data/config/locales/nl.yml +27 -0
  59. data/config/locales/sk.yml +27 -0
  60. data/config/locales/tr.yml +27 -0
  61. data/config/locales/zh-CN.yml +29 -0
  62. data/config/routes.rb +29 -0
  63. data/db/migrate/1_create_widgets_templates.rb +22 -0
  64. data/db/migrate/2_create_widgets_template_parts.rb +20 -0
  65. data/db/migrate/3_create_widgets_widgets.rb +24 -0
  66. data/db/migrate/4_create_widgets_content_block_widgets.rb +16 -0
  67. data/db/migrate/5_add_template_id_to_refinery_pages.rb +13 -0
  68. data/db/migrate/6_add_locked_to_refinery_page_parts.rb +13 -0
  69. data/db/seeds.rb +24 -0
  70. data/lib/generators/refinery/templates/config/initializers/refinery/widgets.rb.erb +7 -0
  71. data/lib/generators/refinery/widgets_generator.rb +27 -0
  72. data/lib/refinery/widgets.rb +24 -0
  73. data/lib/refinery/widgets/acts_as_widget.rb +31 -0
  74. data/lib/refinery/widgets/configuration.rb +15 -0
  75. data/lib/refinery/widgets/engine.rb +39 -0
  76. data/lib/refinery/widgets/widget_type.rb +31 -0
  77. data/lib/refinerycms-widgets.rb +4 -0
  78. data/lib/tasks/refinery/widgets.rake +26 -0
  79. metadata +202 -0
@@ -0,0 +1,34 @@
1
+ en:
2
+ refinery:
3
+ plugins:
4
+ templates:
5
+ title: Templates
6
+ widgets:
7
+ admin:
8
+ templates:
9
+ actions:
10
+ create_new: Add New Template
11
+ reorder: Reorder Templates
12
+ reorder_done: Done Reordering Templates
13
+ records:
14
+ title: Templates
15
+ sorry_no_results: Sorry! There are no results found.
16
+ no_items_yet: There are no Templates yet. Click "Add New Template" to add your first template.
17
+ template:
18
+ view_live_html: View this template live <br/><em>(opens in a new window)</em>
19
+ edit: Edit this template
20
+ delete: Remove this template forever
21
+ templates:
22
+ show:
23
+ other: Other Templates
24
+ admin:
25
+ nested_image_picker:
26
+ none_selected: There is currently no image selected, please click here to add one.
27
+ remove_current: Remove current image
28
+ change: Click here to pick an image
29
+ show: Show
30
+ activerecord:
31
+ attributes:
32
+ 'refinery/widgets/template':
33
+ name: Name
34
+
@@ -0,0 +1,28 @@
1
+ es:
2
+ refinery:
3
+ plugins:
4
+ templates:
5
+ title: Templates
6
+ # article: masculino/femenino
7
+ widgets:
8
+ admin:
9
+ templates:
10
+ actions:
11
+ create_new: Crear nuevo template
12
+ reorder: Reordenar templates
13
+ reorder_done: Reordenación de templates completada
14
+ records:
15
+ title: Templates
16
+ sorry_no_results: Lo siento, no hay resultados
17
+ no_items_yet: No hay templates todavía. Pulsa en "Crear nuevo Template" para crear tu primer template.
18
+ template:
19
+ view_live_html: Ver este template como abierto al público <br/><em>(abre en ventana nueva)</em>
20
+ edit: Editar este template
21
+ delete: Borrar este template para siempre
22
+ templates:
23
+ show:
24
+ other: Otros templates
25
+ activerecord:
26
+ attributes:
27
+ 'refinery/widgets/template':
28
+ name: Name
@@ -0,0 +1,27 @@
1
+ fr:
2
+ refinery:
3
+ plugins:
4
+ templates:
5
+ title: Templates
6
+ widgets:
7
+ admin:
8
+ templates:
9
+ actions:
10
+ create_new: Créer un(e) nouve(au/l/lle) Template
11
+ reorder: Réordonner les Templates
12
+ reorder_done: Fin de réordonnancement des Templates
13
+ records:
14
+ title: Templates
15
+ sorry_no_results: "Désolé ! Aucun résultat."
16
+ no_items_yet: 'Il n''y a actuellement aucun(e) Template. Cliquer sur "Créer un(e) nouve(au/l/lle) Template" pour créer votre premi(er/ère) template.'
17
+ template:
18
+ view_live_html: Voir ce(t/tte) template <br/><em>(Ouvre une nouvelle fenêtre)</em>
19
+ edit: Modifier ce(t/tte) template
20
+ delete: Supprimer définitivement ce(t/tte) template
21
+ templates:
22
+ show:
23
+ other: Autres Templates
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/widgets/template':
27
+ name: Name
@@ -0,0 +1,27 @@
1
+ it:
2
+ refinery:
3
+ plugins:
4
+ templates:
5
+ title: Templates
6
+ widgets:
7
+ admin:
8
+ templates:
9
+ actions:
10
+ create_new: Aggiungi Nuovo Template
11
+ reorder: Riordina Templates
12
+ reorder_done: Termina il Riordino di Templates
13
+ records:
14
+ title: Templates
15
+ sorry_no_results: "Spiacenti! Nessun risultato trovato"
16
+ no_items_yet: Non ci sono ancora Templates. Clicca "Aggiungi Nuovo Template" per aggiungere il tuo primo template.
17
+ template:
18
+ view_live_html: Guarda live questo template <br/><em>(apre una nuova finestra)</em>
19
+ edit: Modifica questo template
20
+ delete: Rimuovi per sempre questo template
21
+ templates:
22
+ show:
23
+ other: Altri Templates
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/widgets/template':
27
+ name: Name
@@ -0,0 +1,27 @@
1
+ nb:
2
+ refinery:
3
+ plugins:
4
+ templates:
5
+ title: Templates
6
+ widgets:
7
+ admin:
8
+ templates:
9
+ actions:
10
+ create_new: Lag en ny Template
11
+ reorder: Endre rekkefølgen på Templates
12
+ reorder_done: Ferdig å endre rekkefølgen Templates
13
+ records:
14
+ title: Templates
15
+ sorry_no_results: Beklager! Vi fant ikke noen resultater.
16
+ no_items_yet: Det er ingen Templates enda. Klikk på "Lag en ny Template" for å legge til din første template.
17
+ template:
18
+ view_live_html: Vis hvordan denne template ser ut offentlig <br/><em>(åpner i et nytt vindu)</em>
19
+ edit: Rediger denne template
20
+ delete: Fjern denne template permanent
21
+ templates:
22
+ show:
23
+ other: Andre Templates
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/widgets/template':
27
+ name: Name
@@ -0,0 +1,27 @@
1
+ nl:
2
+ refinery:
3
+ plugins:
4
+ templates:
5
+ title: Templates
6
+ widgets:
7
+ admin:
8
+ templates:
9
+ actions:
10
+ create_new: Nieuwe Template toevoegen
11
+ reorder: De volgorde van de Templates wijzigen
12
+ reorder_done: Klaar met het wijzingen van de van de Template-volgorde
13
+ records:
14
+ title: Templates
15
+ sorry_no_results: Helaas! Er zijn geen resultaten gevonden.
16
+ no_items_yet: Er zijn nog geen Templates. Druk op 'Nieuwe Template toevoegen' om de eerste toe te voegen.
17
+ template:
18
+ view_live_html: Deze template op de website bekijken <br/><em>(opent in een nieuw venster)</em>
19
+ edit: Bewerk deze template
20
+ delete: Deze template definitief verwijderen
21
+ templates:
22
+ show:
23
+ other: Andere Templates
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/widgets/template':
27
+ name: Name
@@ -0,0 +1,27 @@
1
+ sk:
2
+ refinery:
3
+ plugins:
4
+ templates:
5
+ title: Templates
6
+ widgets:
7
+ admin:
8
+ templates:
9
+ actions:
10
+ create_new: Pridať Template
11
+ reorder: Preusporiadať Templates
12
+ reorder_done: Koniec radenia Templates
13
+ records:
14
+ title: Templates
15
+ sorry_no_results: Ľutujeme, ale neboli nájdené žiadne výsledky.
16
+ no_items_yet: Nie sú vytvorené žiadne Templates. Kliknite na "Pridať Template" pre pridanie prvého template.
17
+ template:
18
+ view_live_html: Zobraziť náhľad template<br/><em>(otvorí sa v novom okne)</em>
19
+ edit: Upraviť template
20
+ delete: Zmazať template
21
+ templates:
22
+ show:
23
+ other: Daľšie Templates
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/widgets/template':
27
+ name: Name
@@ -0,0 +1,27 @@
1
+ tr:
2
+ refinery:
3
+ plugins:
4
+ templates:
5
+ title: Templates
6
+ widgets:
7
+ admin:
8
+ templates:
9
+ actions:
10
+ create_new: Yeni Ekle Template
11
+ reorder: Tekrar sirala Templates
12
+ reorder_done: Tekrar siralama tamamlandiTemplates
13
+ records:
14
+ title: Templates
15
+ sorry_no_results: Uzgunum! Herhangi bir sonuc bulunamadi.
16
+ no_items_yet: Herhangi bir Templates yok henuz. Tikla "Yeni Ekle Template" eklemek senin ilk template.
17
+ template:
18
+ view_live_html: Bunu canlu template goruntule <br/><em>(yeni bir pencerede acar)</em>
19
+ edit: Bunu Duzenle template
20
+ delete: Bunu Sil template sonsuza dek
21
+ templates:
22
+ show:
23
+ other: Diger Templates
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/widgets/template':
27
+ name: Name
@@ -0,0 +1,29 @@
1
+ zh-CN:
2
+ refinery:
3
+ plugins:
4
+ templates:
5
+ title: Templates
6
+ widgets:
7
+ admin:
8
+ templates:
9
+ actions:
10
+ create_new: 建立新的 Template
11
+ reorder: 对 Templates 重新排序
12
+ reorder_done: 对 Templates 的重新排序结束
13
+ records:
14
+ title: Templates
15
+ sorry_no_results: 对不起,未找到结果。 #Sorry! There are no results found.
16
+
17
+ # There are no Templates yet. Click "Add New Template" to add your first template.
18
+ no_items_yet: 目前没有 Templates . 点击 "Add New Template" 创建一个template.
19
+ template:
20
+ view_live_html: 查看 template 的最新内容.<br/><em>(新窗口中打开)</em>
21
+ edit: 编辑 template
22
+ delete: 永久删除 template
23
+ templates:
24
+ show:
25
+ other: 其他 Templates
26
+ activerecord:
27
+ attributes:
28
+ 'refinery/widgets/template':
29
+ name: Name
data/config/routes.rb ADDED
@@ -0,0 +1,29 @@
1
+ Refinery::Core::Engine.routes.draw do
2
+
3
+ # Admin routes
4
+ namespace :widgets, :path => '' do
5
+ namespace :admin, :path => "#{Refinery::Core.backend_route}/widgets" do
6
+ resources :templates, :except => :show do
7
+ collection do
8
+ post :update_positions
9
+ get :list
10
+ end
11
+ end
12
+ resources :widgets, :only => [:create] do
13
+ collection do
14
+ get :template
15
+ get :page
16
+ end
17
+ end
18
+ resources :widget_types, :only => [:show] do
19
+ collection do
20
+ get :new_for_page
21
+ get :new_for_template
22
+ get :show_for_page
23
+ get :show_for_template
24
+ end
25
+ end
26
+ end
27
+ end
28
+
29
+ end
@@ -0,0 +1,22 @@
1
+ class CreateWidgetsTemplates < ActiveRecord::Migration
2
+
3
+ def up
4
+ create_table :refinery_widgets_templates do |t|
5
+ t.string :name
6
+ t.integer :position
7
+
8
+ t.timestamps
9
+ end
10
+
11
+ end
12
+
13
+ def down
14
+ if defined?(::Refinery::UserPlugin)
15
+ ::Refinery::UserPlugin.destroy_all({:name => "refinerycms-widgets"})
16
+ end
17
+
18
+ drop_table :refinery_widgets_templates
19
+
20
+ end
21
+
22
+ end
@@ -0,0 +1,20 @@
1
+ class CreateWidgetsTemplateParts < ActiveRecord::Migration
2
+
3
+ def up
4
+ create_table :refinery_widgets_template_parts do |t|
5
+ t.string :name
6
+ t.boolean :display, :default => true
7
+ t.boolean :locked, :default => true
8
+ t.integer :template_id
9
+
10
+ t.timestamps
11
+ end
12
+
13
+ end
14
+
15
+ def down
16
+ drop_table :refinery_widgets_template_parts
17
+
18
+ end
19
+
20
+ end
@@ -0,0 +1,24 @@
1
+ class CreateWidgetsWidgets < ActiveRecord::Migration
2
+
3
+ def up
4
+ create_table :refinery_widgets_widgets do |t|
5
+ t.string :name
6
+ t.boolean :display, :default => true
7
+ t.boolean :locked, :default => false
8
+ t.integer :position, :default => 0
9
+ t.integer :widget_id
10
+ t.string :container_type
11
+ t.integer :container_id
12
+ t.string :sub_type
13
+ t.boolean :layout, :default => false
14
+ t.timestamps
15
+ end
16
+
17
+ end
18
+
19
+ def down
20
+ drop_table :refinery_widgets_widgets
21
+
22
+ end
23
+
24
+ end
@@ -0,0 +1,16 @@
1
+ class CreateWidgetsContentBlockWidgets < ActiveRecord::Migration
2
+
3
+ def up
4
+ create_table :refinery_widgets_content_block_widgets do |t|
5
+ t.integer :widget_id
6
+ t.text :content
7
+ end
8
+
9
+ end
10
+
11
+ def down
12
+ drop_table :refinery_widgets_content_block_widgets
13
+
14
+ end
15
+
16
+ end
@@ -0,0 +1,13 @@
1
+ class AddTemplateIdToRefineryPages < ActiveRecord::Migration
2
+
3
+ def up
4
+ add_column :refinery_pages, :template_id, :integer
5
+
6
+ end
7
+
8
+ def down
9
+ remove_column :refinery_pages, :template_id
10
+
11
+ end
12
+
13
+ end
@@ -0,0 +1,13 @@
1
+ class AddLockedToRefineryPageParts < ActiveRecord::Migration
2
+
3
+ def up
4
+ add_column :refinery_page_parts, :locked, :boolean, :default => false
5
+
6
+ end
7
+
8
+ def down
9
+ remove_column :refinery_page_parts, :locked
10
+
11
+ end
12
+
13
+ end
data/db/seeds.rb ADDED
@@ -0,0 +1,24 @@
1
+ Refinery::I18n.frontend_locales.each do |lang|
2
+ I18n.locale = lang
3
+
4
+ if defined?(Refinery::User)
5
+ Refinery::User.all.each do |user|
6
+ if user.plugins.where(:name => 'refinerycms-widgets').blank?
7
+ user.plugins.create(:name => 'refinerycms-widgets',
8
+ :position => (user.plugins.maximum(:position) || -1) +1)
9
+ end
10
+ end
11
+ end
12
+
13
+ if Refinery::Widgets::Template.all.empty?
14
+ template = Refinery::Widgets::Template.new(name: 'Standard')
15
+ Refinery::Widgets::Template.parts.each do |p|
16
+ template.template_parts << Refinery::Widgets::TemplatePart.new(name: p)
17
+ end
18
+ template.save!
19
+ Refinery::Page.where(template_id: nil).each do |p|
20
+ p.update_attributes!(template_id: template.id)
21
+ end
22
+ end
23
+
24
+ end