spina 2.13.1 → 2.14.0

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.

Potentially problematic release.


This version of spina might be problematic. Click here for more details.

Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/builds/spina/tailwind.css +554 -589
  3. data/app/assets/javascripts/spina/controllers/form_controller.js +14 -1
  4. data/app/assets/javascripts/spina/controllers/page_collapse_controller.js +17 -0
  5. data/app/assets/javascripts/spina/controllers/page_select_controller.js +38 -0
  6. data/app/assets/javascripts/spina/libraries/debounce.js +65 -0
  7. data/app/components/spina/forms/search_component.html.erb +12 -0
  8. data/app/components/spina/forms/search_component.rb +12 -0
  9. data/app/components/spina/forms/trix_toolbar_component.html.erb +5 -6
  10. data/app/components/spina/media_picker/modal_component.html.erb +24 -16
  11. data/app/components/spina/pages/page_component.html.erb +23 -10
  12. data/app/components/spina/pages/page_component.rb +15 -3
  13. data/app/controllers/spina/admin/attachments_controller.rb +1 -1
  14. data/app/controllers/spina/admin/images_controller.rb +1 -1
  15. data/app/controllers/spina/admin/media_picker_controller.rb +1 -1
  16. data/app/controllers/spina/admin/page_select_options_controller.rb +24 -0
  17. data/app/controllers/spina/admin/pages_controller.rb +1 -1
  18. data/app/controllers/spina/admin/password_resets_controller.rb +1 -1
  19. data/app/models/concerns/spina/attachable.rb +21 -0
  20. data/app/models/spina/attachment.rb +2 -6
  21. data/app/models/spina/image.rb +2 -6
  22. data/app/models/spina/navigation_item.rb +1 -1
  23. data/app/models/spina/page.rb +3 -1
  24. data/app/models/spina/parts/page_link.rb +13 -0
  25. data/app/models/spina/user.rb +1 -1
  26. data/app/views/spina/admin/attachments/index.html.erb +7 -1
  27. data/app/views/spina/admin/images/index.html.erb +8 -1
  28. data/app/views/spina/admin/page_select_options/index.html.erb +21 -0
  29. data/app/views/spina/admin/page_select_options/show.html.erb +3 -0
  30. data/app/views/spina/admin/pages/children.html.erb +3 -0
  31. data/app/views/spina/admin/parts/multi_lines/_form.html.erb +4 -1
  32. data/app/views/spina/admin/parts/page_links/_form.html.erb +36 -0
  33. data/config/initializers/importmap.rb +6 -0
  34. data/config/locales/en.yml +1 -0
  35. data/config/locales/nl.yml +43 -0
  36. data/config/routes.rb +8 -3
  37. data/db/migrate/16_add_ancestry_cache_columns_to_spina_pages.rb +6 -0
  38. data/lib/spina/attr_json_spina_parts_model.rb +1 -1
  39. data/lib/spina/engine.rb +2 -1
  40. data/lib/spina/version.rb +1 -1
  41. metadata +18 -17
@@ -10,3 +10,9 @@ Spina.config.importmap.draw do
10
10
  pin_all_from Spina::Engine.root.join("app/assets/javascripts/spina/controllers"), under: "controllers", to: "spina/controllers"
11
11
  pin_all_from Spina::Engine.root.join("app/assets/javascripts/spina/libraries"), under: "libraries", to: "spina/libraries"
12
12
  end
13
+
14
+ Spina.config.importmap.cache_sweeper watches: Spina::Engine.root.join("app/assets/javascripts")
15
+
16
+ ActiveSupport.on_load(:action_controller_base) do
17
+ before_action { Spina.config.importmap.cache_sweeper.execute_if_updated }
18
+ end
@@ -277,6 +277,7 @@ en:
277
277
  save_draft: Save draft
278
278
  saved: Page saved
279
279
  saving: Saving...
280
+ select_page: Select page
280
281
  couldnt_be_saved: Page couldn't be saved
281
282
  search_engines: Search engines
282
283
  show_in_menu: invisible
@@ -1,5 +1,17 @@
1
1
  nl:
2
+ activemodel:
3
+ attributes:
4
+ spina/embeds/youtube:
5
+ url: youtube.com/watch?v=...
6
+ spina/embeds/vimeo:
7
+ url: vimeo.com/...
2
8
  activerecord:
9
+ errors:
10
+ models:
11
+ spina/page:
12
+ attributes:
13
+ title:
14
+ blank: Titel is verplicht
3
15
  attributes:
4
16
  spina/account:
5
17
  address: Adres
@@ -94,6 +106,15 @@ nl:
94
106
  spina/user:
95
107
  one: Gebruiker
96
108
  other: Gebruikers
109
+ helpers:
110
+ label:
111
+ spina/embeds/button:
112
+ url: URL
113
+ label: Button label
114
+ spina/embeds/youtube:
115
+ url: Youtube URL
116
+ spina/embeds/vimeo:
117
+ url: Vimeo URL
97
118
  spina:
98
119
  accounts:
99
120
  contact_details: Contactgegevens
@@ -106,6 +127,7 @@ nl:
106
127
  attachments:
107
128
  choose_attachment: Kies een bijlage
108
129
  delete_confirmation_html: Weet je het zeker? Het kan zijn dat dit document in gebruik is op een pagina.
130
+ download: Download
109
131
  insert: Document toevoegen
110
132
  insert_multiple: Documenten toevoegen
111
133
  upload: Upload documenten
@@ -117,6 +139,9 @@ nl:
117
139
  delete_confirmation: Weet je zeker dat je <strong>%{subject}</strong> wilt verwijderen?
118
140
  edit: Bewerken
119
141
  edit_website: Bewerk je website
142
+ embeds:
143
+ embed_a_component: Embed een onderdeel
144
+ embed_component: Embed onderdeel
120
145
  forgot_password:
121
146
  expired: Je wachtwoord reset is verlopen
122
147
  mail_subject: Stel je wachtwoord opnieuw in
@@ -140,6 +165,7 @@ nl:
140
165
  insert_photo: Afbeelding invoegen
141
166
  insert_photos: Afbeeldingen invoegen
142
167
  link: Link
168
+ missing_image: Ontbrekende afbeelding
143
169
  new_folder: Nieuwe folder
144
170
  organize: Herindelen
145
171
  remove_image: Verwijder afbeelding
@@ -218,6 +244,7 @@ nl:
218
244
  change_view_template: Wijzig pagina template
219
245
  change_view_template_confirmation: Weet je zeker dat je de pagina template wil veranderen? Inhoud die niet op de nieuwe pagina past gaat verloren.
220
246
  concept: concept
247
+ couldnt_be_saved: Pagina kon niet worden opgeslagen
221
248
  create: Maak pagina
222
249
  create_page: "%{template} invullen"
223
250
  delete: Verwijder pagina
@@ -251,6 +278,7 @@ nl:
251
278
  save_draft: Concept opslaan
252
279
  saved: Pagina opgeslagen
253
280
  saving: "<i></i> Opslaan..."
281
+ select_page: Kies pagina
254
282
  search_engines: Zoekmachines
255
283
  show_in_menu: onzichtbaar
256
284
  skip_to_first_child: doorsturen naar 1<sup>e</sup> subpagina
@@ -306,8 +334,10 @@ nl:
306
334
  save: Opslaan
307
335
  search: Zoeken...
308
336
  settings:
337
+ general: Algemeen
309
338
  save: Voorkeuren opslaan
310
339
  title: Voorkeuren
340
+ users: Gebruikers
311
341
  theme:
312
342
  save: Thema opslaan
313
343
  saved: Thema opgeslagen
@@ -326,6 +356,16 @@ nl:
326
356
  replace: Vervangen
327
357
  save_changes: Wijzigingen opslaan
328
358
  saving: Opslaan...
359
+ user_mailer:
360
+ forgot_password:
361
+ button: Reset je wachtwoord
362
+ introduction: Je hebt recent aangegeven dat je je wachtwoord bent vergeten voor je Spina CMS-account. Deze wachtwoord-reset is geldig voor 2 uur. Klik op de link of plak de URL in je browser.
363
+ introduction_html: "Je hebt recent aangegeven dat je je wachtwoord bent vergeten voor je Spina CMS-account. Gebruik de knop hieronder. <strong>Deze wachtwoord-reset is 2 uur geldig.</strong>"
364
+ preheader: Gebruik deze link om je wachtwoord te resetten. Deze is 2 uur geldig
365
+ request_origin: Beveiliging, dit is aangevraagd vanaf een %{platform}-apparaat via %{browser}. Als je geen wachtwoord-reset hebt aangevraagd, negeer deze e-mail dan.
366
+ salutation: Hoi, %{name}
367
+ subject: Stel je wachtwoord opnieuw in
368
+ trouble: Als bovenstaande knop niet werkt, kopieer en plak deze onderstaande link dan in de browser
329
369
  users:
330
370
  authorization: Autorisatie
331
371
  authorization_description: Admins kunnen gebruikers beheren. Normale gebruikers niet.
@@ -343,6 +383,7 @@ nl:
343
383
  visit_page: Bekijk pagina
344
384
  website:
345
385
  all_pages: Alle pagina's
386
+ content: Content
346
387
  documents: Documenten
347
388
  images: Afbeeldingen
348
389
  main: Pagina's
@@ -351,6 +392,8 @@ nl:
351
392
  pages: Pagina's
352
393
  pages_description: Alle pagina's op je website
353
394
  photos: Afbeeldingen
395
+ settings: Instellingen
396
+ theme: Thema
354
397
  title: Je website
355
398
  wysiwyg:
356
399
  heading_1: Kop 1
data/config/routes.rb CHANGED
@@ -46,12 +46,17 @@ Spina::Engine.routes.draw do
46
46
  get :edit_content
47
47
  get :edit_template
48
48
  get :children
49
+ post :sort_one
50
+ end
51
+
52
+ collection do
53
+ post :sort
49
54
  end
50
55
 
51
56
  resource :move, controller: "move_pages"
52
-
53
- post :sort, on: :collection
54
- post :sort_one, on: :member
57
+ end
58
+ resources :page_select_options, only: [:show, :index] do
59
+ post :search, on: :collection
55
60
  end
56
61
  resources :page_translations, only: [:destroy]
57
62
  resources :parent_pages
@@ -0,0 +1,6 @@
1
+ class AddAncestryCacheColumnsToSpinaPages < ActiveRecord::Migration[6.0]
2
+ def change
3
+ add_column :spina_pages, :ancestry_depth, :integer, default: 0
4
+ add_column :spina_pages, :ancestry_children_count, :integer
5
+ end
6
+ end
@@ -14,7 +14,7 @@ module AttrJson
14
14
  end
15
15
 
16
16
  def spina_parts_lookup
17
- @spina_parts_lookup ||= Spina::PARTS.map(&:to_type).map do |type|
17
+ @spina_parts_lookup = Spina::PARTS.map(&:to_type).map do |type|
18
18
  [type.model.name, type]
19
19
  end.to_h
20
20
  end
data/lib/spina/engine.rb CHANGED
@@ -37,7 +37,8 @@ module Spina
37
37
  Spina::Parts::ImageCollection,
38
38
  Spina::Parts::Repeater,
39
39
  Spina::Parts::Option,
40
- Spina::Parts::Attachment
40
+ Spina::Parts::Attachment,
41
+ Spina::Parts::PageLink
41
42
  )
42
43
  end
43
44
  end
data/lib/spina/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Spina
2
- VERSION = "2.13.1"
2
+ VERSION = "2.14.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spina
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.13.1
4
+ version: 2.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bram Jetten
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-13 00:00:00.000000000 Z
11
+ date: 2023-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -282,20 +282,6 @@ dependencies:
282
282
  - - ">="
283
283
  - !ruby/object:Gem::Version
284
284
  version: 2.0.0
285
- - !ruby/object:Gem::Dependency
286
- name: standard
287
- requirement: !ruby/object:Gem::Requirement
288
- requirements:
289
- - - ">="
290
- - !ruby/object:Gem::Version
291
- version: '0'
292
- type: :runtime
293
- prerelease: false
294
- version_requirements: !ruby/object:Gem::Requirement
295
- requirements:
296
- - - ">="
297
- - !ruby/object:Gem::Version
298
- version: '0'
299
285
  description: CMS
300
286
  email:
301
287
  - bram@denkgroot.com
@@ -1218,6 +1204,8 @@ files:
1218
1204
  - app/assets/javascripts/spina/controllers/media_picker_modal_controller.js
1219
1205
  - app/assets/javascripts/spina/controllers/modal_controller.js
1220
1206
  - app/assets/javascripts/spina/controllers/navigation_controller.js
1207
+ - app/assets/javascripts/spina/controllers/page_collapse_controller.js
1208
+ - app/assets/javascripts/spina/controllers/page_select_controller.js
1221
1209
  - app/assets/javascripts/spina/controllers/parent_pages_controller.js
1222
1210
  - app/assets/javascripts/spina/controllers/repeater_controller.js
1223
1211
  - app/assets/javascripts/spina/controllers/reveal_controller.js
@@ -1232,6 +1220,7 @@ files:
1232
1220
  - app/assets/javascripts/spina/controllers/unique_id_controller.js
1233
1221
  - app/assets/javascripts/spina/libraries/canvas-confetti.js
1234
1222
  - app/assets/javascripts/spina/libraries/canvas-confetti@1.3.2.js
1223
+ - app/assets/javascripts/spina/libraries/debounce.js
1235
1224
  - app/assets/javascripts/spina/libraries/form-request-submit-polyfill.js
1236
1225
  - app/assets/javascripts/spina/libraries/form-request-submit-polyfill@2.0.0.js
1237
1226
  - app/assets/javascripts/spina/libraries/hotkeys.js
@@ -1250,6 +1239,8 @@ files:
1250
1239
  - app/components/spina/forms/label_component.rb
1251
1240
  - app/components/spina/forms/password_field_component.html.erb
1252
1241
  - app/components/spina/forms/password_field_component.rb
1242
+ - app/components/spina/forms/search_component.html.erb
1243
+ - app/components/spina/forms/search_component.rb
1253
1244
  - app/components/spina/forms/switch_component.html.erb
1254
1245
  - app/components/spina/forms/switch_component.rb
1255
1246
  - app/components/spina/forms/text_field_component.html.erb
@@ -1310,6 +1301,7 @@ files:
1310
1301
  - app/controllers/spina/admin/move_pages_controller.rb
1311
1302
  - app/controllers/spina/admin/navigation_items_controller.rb
1312
1303
  - app/controllers/spina/admin/navigations_controller.rb
1304
+ - app/controllers/spina/admin/page_select_options_controller.rb
1313
1305
  - app/controllers/spina/admin/page_translations_controller.rb
1314
1306
  - app/controllers/spina/admin/pages_controller.rb
1315
1307
  - app/controllers/spina/admin/parent_pages_controller.rb
@@ -1339,6 +1331,7 @@ files:
1339
1331
  - app/jobs/spina/resource_pages_update_job.rb
1340
1332
  - app/mailers/spina/application_mailer.rb
1341
1333
  - app/mailers/spina/user_mailer.rb
1334
+ - app/models/concerns/spina/attachable.rb
1342
1335
  - app/models/concerns/spina/gravatar.rb
1343
1336
  - app/models/concerns/spina/partable.rb
1344
1337
  - app/models/concerns/spina/translated_content.rb
@@ -1363,6 +1356,7 @@ files:
1363
1356
  - app/models/spina/parts/line.rb
1364
1357
  - app/models/spina/parts/multi_line.rb
1365
1358
  - app/models/spina/parts/option.rb
1359
+ - app/models/spina/parts/page_link.rb
1366
1360
  - app/models/spina/parts/repeater.rb
1367
1361
  - app/models/spina/parts/repeater_content.rb
1368
1362
  - app/models/spina/parts/text.rb
@@ -1406,6 +1400,8 @@ files:
1406
1400
  - app/views/spina/admin/navigations/_navigation.html.erb
1407
1401
  - app/views/spina/admin/navigations/edit.html.erb
1408
1402
  - app/views/spina/admin/navigations/index.html.erb
1403
+ - app/views/spina/admin/page_select_options/index.html.erb
1404
+ - app/views/spina/admin/page_select_options/show.html.erb
1409
1405
  - app/views/spina/admin/pages/_button_advanced.html.erb
1410
1406
  - app/views/spina/admin/pages/_button_page_content.html.erb
1411
1407
  - app/views/spina/admin/pages/_button_search_engines.html.erb
@@ -1414,6 +1410,7 @@ files:
1414
1410
  - app/views/spina/admin/pages/_form_page_content.html.erb
1415
1411
  - app/views/spina/admin/pages/_form_search_engines.html.erb
1416
1412
  - app/views/spina/admin/pages/_new_page_form.html.erb
1413
+ - app/views/spina/admin/pages/children.html.erb
1417
1414
  - app/views/spina/admin/pages/edit.html.erb
1418
1415
  - app/views/spina/admin/pages/edit_content.html.erb
1419
1416
  - app/views/spina/admin/pages/edit_template.html.erb
@@ -1429,6 +1426,7 @@ files:
1429
1426
  - app/views/spina/admin/parts/lines/_form.html.erb
1430
1427
  - app/views/spina/admin/parts/multi_lines/_form.html.erb
1431
1428
  - app/views/spina/admin/parts/options/_form.html.erb
1429
+ - app/views/spina/admin/parts/page_links/_form.html.erb
1432
1430
  - app/views/spina/admin/parts/repeaters/_fields.html.erb
1433
1431
  - app/views/spina/admin/parts/repeaters/_form.html.erb
1434
1432
  - app/views/spina/admin/parts/texts/_form.html.erb
@@ -1486,6 +1484,7 @@ files:
1486
1484
  - db/migrate/13_add_json_attributes_to_spina_accounts.rb
1487
1485
  - db/migrate/14_add_json_attributes_to_spina_pages.rb
1488
1486
  - db/migrate/15_add_slug_to_spina_resources.rb
1487
+ - db/migrate/16_add_ancestry_cache_columns_to_spina_pages.rb
1489
1488
  - db/migrate/1_create_spina_tables.rb
1490
1489
  - db/migrate/2_create_spina_translation_tables.rb
1491
1490
  - db/migrate/3_create_spina_navigations.rb
@@ -1544,7 +1543,9 @@ metadata:
1544
1543
  documentation_uri: https://www.spinacms.com/docs
1545
1544
  changelog_uri: https://github.com/SpinaCMS/Spina/blob/main/CHANGELOG.md
1546
1545
  source_code_uri: https://github.com/SpinaCMS/Spina
1547
- post_install_message:
1546
+ post_install_message: "\n Spina v2.14 includes a new migration, don't forget to
1547
+ run spina:install:migrations.\n \n For details on this specific release, refer
1548
+ to the CHANGELOG file.\n "
1548
1549
  rdoc_options: []
1549
1550
  require_paths:
1550
1551
  - lib