releaf-core 3.0.3 → 4.0.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.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/releaf/include/field.type_richtext.js +2 -18
  3. data/app/assets/javascripts/releaf/include/remote_validator.js +2 -12
  4. data/app/assets/stylesheets/releaf/environment/mixins/blocks.scss +1 -1
  5. data/app/assets/stylesheets/releaf/layout/fields.scss +1 -2
  6. data/app/assets/stylesheets/releaf/layout.scss +0 -1
  7. data/app/builders/releaf/builders/form_builder/fields.rb +0 -1
  8. data/app/builders/releaf/builders/form_builder/richtext_fields.rb +1 -3
  9. data/app/builders/releaf/builders/utilities/resolve_attribute_field_method_name.rb +2 -7
  10. data/app/controllers/releaf/action_controller.rb +0 -1
  11. data/app/helpers/releaf/button_helper.rb +1 -1
  12. data/app/lib/releaf/default_searchable_fields.rb +1 -12
  13. data/app/lib/releaf/resource_base.rb +1 -9
  14. data/app/lib/releaf/resource_params.rb +0 -12
  15. data/app/lib/releaf/resource_table_fields.rb +1 -1
  16. data/app/lib/releaf/search.rb +1 -8
  17. data/lib/generators/dummy/templates/config/routes.rb +0 -37
  18. data/lib/generators/dummy/templates/initializers/releaf.rb +1 -26
  19. data/lib/generators/dummy/templates/migrations/create_books.rb +1 -2
  20. data/lib/generators/dummy/templates/models/book.rb +0 -3
  21. data/lib/generators/releaf/templates/initializers/releaf.rb +1 -3
  22. data/lib/generators/releaf/templates/seeds/seeds.rb +0 -10
  23. data/lib/releaf/humanize_missing_translations.rb +13 -0
  24. data/lib/releaf/route_mapper.rb +0 -3
  25. data/lib/releaf-core.rb +2 -3
  26. metadata +16 -75
  27. data/app/assets/javascripts/ckeditor/plugins/mediaembed/icons/hidpi/mediaembed.png +0 -0
  28. data/app/assets/javascripts/ckeditor/plugins/mediaembed/icons/mediaembed.png +0 -0
  29. data/app/assets/javascripts/ckeditor/plugins/mediaembed/lang/en.js +0 -12
  30. data/app/assets/javascripts/ckeditor/plugins/mediaembed/lang/es.js +0 -12
  31. data/app/assets/javascripts/ckeditor/plugins/mediaembed/plugin.js +0 -63
  32. data/app/assets/javascripts/releaf/include/localization.js +0 -208
  33. data/app/assets/stylesheets/releaf/layout/localization.scss +0 -79
  34. data/app/builders/releaf/builders/form_builder/i18n_fields.rb +0 -75
  35. data/app/lib/releaf/action_controller/richtext_attachments.rb +0 -20
  36. data/app/models/releaf/richtext_attachment.rb +0 -6
  37. data/lib/generators/dummy/templates/assets/javascripts/controllers/admin/nodes.js +0 -1
  38. data/lib/generators/dummy/templates/assets/javascripts/controllers/admin/other_site/other_nodes.js +0 -1
  39. data/lib/generators/dummy/templates/assets/stylesheets/controllers/admin/nodes.scss +0 -1
  40. data/lib/generators/dummy/templates/assets/stylesheets/controllers/admin/other_site/other_nodes.scss +0 -1
  41. data/lib/generators/dummy/templates/builders/admin/nodes/form_builder.rb +0 -7
  42. data/lib/generators/dummy/templates/controllers/admin/nodes_controller.rb +0 -3
  43. data/lib/generators/dummy/templates/controllers/admin/other_site/other_nodes_controller.rb +0 -3
  44. data/lib/generators/dummy/templates/controllers/application_controller.rb +0 -61
  45. data/lib/generators/dummy/templates/controllers/concerns/node_controller.rb +0 -47
  46. data/lib/generators/dummy/templates/controllers/contacts_controller.rb +0 -5
  47. data/lib/generators/dummy/templates/controllers/home_pages_controller.rb +0 -3
  48. data/lib/generators/dummy/templates/controllers/text_pages_controller.rb +0 -3
  49. data/lib/generators/dummy/templates/migrations/create_banner_pages.rb +0 -11
  50. data/lib/generators/dummy/templates/migrations/create_bundles.rb +0 -7
  51. data/lib/generators/dummy/templates/migrations/create_home_pages.rb +0 -9
  52. data/lib/generators/dummy/templates/migrations/create_node_extra_fields.rb +0 -5
  53. data/lib/generators/dummy/templates/migrations/create_other_nodes.rb +0 -29
  54. data/lib/generators/dummy/templates/migrations/create_text_pages.rb +0 -9
  55. data/lib/generators/dummy/templates/models/banner_page.rb +0 -7
  56. data/lib/generators/dummy/templates/models/bundle.rb +0 -17
  57. data/lib/generators/dummy/templates/models/home_page.rb +0 -3
  58. data/lib/generators/dummy/templates/models/node.rb +0 -10
  59. data/lib/generators/dummy/templates/models/other_site/other_node.rb +0 -7
  60. data/lib/generators/dummy/templates/models/text_page.rb +0 -4
  61. data/lib/generators/dummy/templates/views/contacts/show.html.haml +0 -1
  62. data/lib/generators/dummy/templates/views/home_pages/show.haml +0 -1
  63. data/lib/generators/dummy/templates/views/layouts/application.html.haml +0 -30
  64. data/lib/generators/dummy/templates/views/text_pages/show.haml +0 -1
  65. data/lib/generators/releaf/templates/migrations/create_releaf_nodes.rb +0 -28
  66. data/lib/generators/releaf/templates/migrations/create_releaf_richtext_attachments.rb +0 -12
  67. data/lib/generators/releaf/templates/migrations/create_releaf_translations.rb +0 -20
  68. data/lib/generators/releaf/templates/models/node.rb +0 -3
  69. data/lib/releaf/rails_ext/globalize-accessors.rb +0 -64
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: releaf-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.3
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - CubeSystems
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-07-11 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rails
@@ -16,42 +15,42 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: '7.0'
18
+ version: '7.1'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: '7.0'
25
+ version: '7.1'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: activesupport
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - "~>"
32
31
  - !ruby/object:Gem::Version
33
- version: '7.0'
32
+ version: '7.1'
34
33
  type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - "~>"
39
38
  - !ruby/object:Gem::Version
40
- version: '7.0'
39
+ version: '7.1'
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: activerecord
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - "~>"
46
45
  - !ruby/object:Gem::Version
47
- version: '7.0'
46
+ version: '7.1'
48
47
  type: :runtime
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
51
  - - "~>"
53
52
  - !ruby/object:Gem::Version
54
- version: '7.0'
53
+ version: '7.1'
55
54
  - !ruby/object:Gem::Dependency
56
55
  name: i18n
57
56
  requirement: !ruby/object:Gem::Requirement
@@ -240,28 +239,28 @@ dependencies:
240
239
  requirements:
241
240
  - - "~>"
242
241
  - !ruby/object:Gem::Version
243
- version: '0.8'
242
+ version: '1.1'
244
243
  type: :runtime
245
244
  prerelease: false
246
245
  version_requirements: !ruby/object:Gem::Requirement
247
246
  requirements:
248
247
  - - "~>"
249
248
  - !ruby/object:Gem::Version
250
- version: '0.8'
249
+ version: '1.1'
251
250
  - !ruby/object:Gem::Dependency
252
251
  name: will_paginate
253
252
  requirement: !ruby/object:Gem::Requirement
254
253
  requirements:
255
254
  - - "~>"
256
255
  - !ruby/object:Gem::Version
257
- version: '3.1'
256
+ version: '4.0'
258
257
  type: :runtime
259
258
  prerelease: false
260
259
  version_requirements: !ruby/object:Gem::Requirement
261
260
  requirements:
262
261
  - - "~>"
263
262
  - !ruby/object:Gem::Version
264
- version: '3.1'
263
+ version: '4.0'
265
264
  - !ruby/object:Gem::Dependency
266
265
  name: font-awesome-rails
267
266
  requirement: !ruby/object:Gem::Requirement
@@ -276,20 +275,6 @@ dependencies:
276
275
  - - "~>"
277
276
  - !ruby/object:Gem::Version
278
277
  version: '4.0'
279
- - !ruby/object:Gem::Dependency
280
- name: globalize
281
- requirement: !ruby/object:Gem::Requirement
282
- requirements:
283
- - - "~>"
284
- - !ruby/object:Gem::Version
285
- version: 6.1.0
286
- type: :runtime
287
- prerelease: false
288
- version_requirements: !ruby/object:Gem::Requirement
289
- requirements:
290
- - - "~>"
291
- - !ruby/object:Gem::Version
292
- version: 6.1.0
293
278
  - !ruby/object:Gem::Dependency
294
279
  name: rack-cache
295
280
  requirement: !ruby/object:Gem::Requirement
@@ -310,14 +295,14 @@ dependencies:
310
295
  requirements:
311
296
  - - "~>"
312
297
  - !ruby/object:Gem::Version
313
- version: '1.0'
298
+ version: '2.0'
314
299
  type: :runtime
315
300
  prerelease: false
316
301
  version_requirements: !ruby/object:Gem::Requirement
317
302
  requirements:
318
303
  - - "~>"
319
304
  - !ruby/object:Gem::Version
320
- version: '1.0'
305
+ version: '2.0'
321
306
  description: Admin interface for RubyOnRails projects inspired by Leaf CMS
322
307
  email: info@cubesystems.lv
323
308
  executables: []
@@ -338,11 +323,6 @@ files:
338
323
  - app/assets/images/releaf/logo-login.png
339
324
  - app/assets/images/releaf/logo.png
340
325
  - app/assets/javascripts/ckeditor/config.js
341
- - app/assets/javascripts/ckeditor/plugins/mediaembed/icons/hidpi/mediaembed.png
342
- - app/assets/javascripts/ckeditor/plugins/mediaembed/icons/mediaembed.png
343
- - app/assets/javascripts/ckeditor/plugins/mediaembed/lang/en.js
344
- - app/assets/javascripts/ckeditor/plugins/mediaembed/lang/es.js
345
- - app/assets/javascripts/ckeditor/plugins/mediaembed/plugin.js
346
326
  - app/assets/javascripts/releaf/3rd_party/jquery-ui-timepicker-addon.js
347
327
  - app/assets/javascripts/releaf/3rd_party/jquery.magnific-popup.min.js
348
328
  - app/assets/javascripts/releaf/application.js
@@ -353,7 +333,6 @@ files:
353
333
  - app/assets/javascripts/releaf/include/field.type_date_or_datetime_or_time.js
354
334
  - app/assets/javascripts/releaf/include/field.type_richtext.js
355
335
  - app/assets/javascripts/releaf/include/loader.js
356
- - app/assets/javascripts/releaf/include/localization.js
357
336
  - app/assets/javascripts/releaf/include/nested_fields.js
358
337
  - app/assets/javascripts/releaf/include/notifications.js
359
338
  - app/assets/javascripts/releaf/include/pagination.js
@@ -393,7 +372,6 @@ files:
393
372
  - app/assets/stylesheets/releaf/layout/icons.scss
394
373
  - app/assets/stylesheets/releaf/layout/images.scss
395
374
  - app/assets/stylesheets/releaf/layout/links.scss
396
- - app/assets/stylesheets/releaf/layout/localization.scss
397
375
  - app/assets/stylesheets/releaf/layout/main.scss
398
376
  - app/assets/stylesheets/releaf/layout/notifications.scss
399
377
  - app/assets/stylesheets/releaf/layout/pagination.scss
@@ -419,7 +397,6 @@ files:
419
397
  - app/builders/releaf/builders/form_builder/date_fields.rb
420
398
  - app/builders/releaf/builders/form_builder/fields.rb
421
399
  - app/builders/releaf/builders/form_builder/file_fields.rb
422
- - app/builders/releaf/builders/form_builder/i18n_fields.rb
423
400
  - app/builders/releaf/builders/form_builder/label.rb
424
401
  - app/builders/releaf/builders/form_builder/number_fields.rb
425
402
  - app/builders/releaf/builders/form_builder/richtext_fields.rb
@@ -456,7 +433,6 @@ files:
456
433
  - app/lib/releaf/action_controller/layout.rb
457
434
  - app/lib/releaf/action_controller/notifications.rb
458
435
  - app/lib/releaf/action_controller/resources.rb
459
- - app/lib/releaf/action_controller/richtext_attachments.rb
460
436
  - app/lib/releaf/action_controller/search.rb
461
437
  - app/lib/releaf/action_controller/urls.rb
462
438
  - app/lib/releaf/action_controller/views.rb
@@ -474,7 +450,6 @@ files:
474
450
  - app/lib/releaf/responders/destroy_responder.rb
475
451
  - app/lib/releaf/search.rb
476
452
  - app/lib/releaf/settings/normalize_value.rb
477
- - app/models/releaf/richtext_attachment.rb
478
453
  - app/services/array/reorder.rb
479
454
  - app/views/layouts/releaf/admin.html.erb
480
455
  - app/views/releaf/action/confirm_destroy.ruby
@@ -491,71 +466,39 @@ files:
491
466
  - lib/generators/dummy/install_generator.rb
492
467
  - lib/generators/dummy/templates/assets/config/manifest.js
493
468
  - lib/generators/dummy/templates/assets/javascripts/controllers/admin/books.js
494
- - lib/generators/dummy/templates/assets/javascripts/controllers/admin/nodes.js
495
- - lib/generators/dummy/templates/assets/javascripts/controllers/admin/other_site/other_nodes.js
496
- - lib/generators/dummy/templates/assets/stylesheets/controllers/admin/nodes.scss
497
- - lib/generators/dummy/templates/assets/stylesheets/controllers/admin/other_site/other_nodes.scss
498
469
  - lib/generators/dummy/templates/builders/admin/banners/show_builder.rb
499
470
  - lib/generators/dummy/templates/builders/admin/books/form_builder.rb
500
471
  - lib/generators/dummy/templates/builders/admin/books/index_builder.rb
501
472
  - lib/generators/dummy/templates/builders/admin/books/table_builder.rb
502
- - lib/generators/dummy/templates/builders/admin/nodes/form_builder.rb
503
473
  - lib/generators/dummy/templates/config/routes.rb
504
474
  - lib/generators/dummy/templates/controllers/admin/authors_controller.rb
505
475
  - lib/generators/dummy/templates/controllers/admin/banners_controller.rb
506
476
  - lib/generators/dummy/templates/controllers/admin/books_controller.rb
507
477
  - lib/generators/dummy/templates/controllers/admin/chapters_controller.rb
508
- - lib/generators/dummy/templates/controllers/admin/nodes_controller.rb
509
- - lib/generators/dummy/templates/controllers/admin/other_site/other_nodes_controller.rb
510
478
  - lib/generators/dummy/templates/controllers/admin/publishers_controller.rb
511
- - lib/generators/dummy/templates/controllers/application_controller.rb
512
- - lib/generators/dummy/templates/controllers/concerns/node_controller.rb
513
- - lib/generators/dummy/templates/controllers/contacts_controller.rb
514
- - lib/generators/dummy/templates/controllers/home_pages_controller.rb
515
- - lib/generators/dummy/templates/controllers/text_pages_controller.rb
516
479
  - lib/generators/dummy/templates/initializers/releaf.rb
517
480
  - lib/generators/dummy/templates/migrations/create_authors.rb
518
481
  - lib/generators/dummy/templates/migrations/create_banner_groups.rb
519
- - lib/generators/dummy/templates/migrations/create_banner_pages.rb
520
482
  - lib/generators/dummy/templates/migrations/create_banners.rb
521
483
  - lib/generators/dummy/templates/migrations/create_book_sequels.rb
522
484
  - lib/generators/dummy/templates/migrations/create_books.rb
523
- - lib/generators/dummy/templates/migrations/create_bundles.rb
524
485
  - lib/generators/dummy/templates/migrations/create_chapters.rb
525
- - lib/generators/dummy/templates/migrations/create_home_pages.rb
526
- - lib/generators/dummy/templates/migrations/create_node_extra_fields.rb
527
- - lib/generators/dummy/templates/migrations/create_other_nodes.rb
528
486
  - lib/generators/dummy/templates/migrations/create_publishers.rb
529
- - lib/generators/dummy/templates/migrations/create_text_pages.rb
530
487
  - lib/generators/dummy/templates/models/author.rb
531
488
  - lib/generators/dummy/templates/models/banner.rb
532
489
  - lib/generators/dummy/templates/models/banner_group.rb
533
- - lib/generators/dummy/templates/models/banner_page.rb
534
490
  - lib/generators/dummy/templates/models/book.rb
535
491
  - lib/generators/dummy/templates/models/book_sequel.rb
536
- - lib/generators/dummy/templates/models/bundle.rb
537
492
  - lib/generators/dummy/templates/models/chapter.rb
538
- - lib/generators/dummy/templates/models/home_page.rb
539
- - lib/generators/dummy/templates/models/node.rb
540
- - lib/generators/dummy/templates/models/other_site/other_node.rb
541
493
  - lib/generators/dummy/templates/models/publisher.rb
542
- - lib/generators/dummy/templates/models/text_page.rb
543
494
  - lib/generators/dummy/templates/views/admin/banners/_content.html.haml
544
- - lib/generators/dummy/templates/views/contacts/show.html.haml
545
- - lib/generators/dummy/templates/views/home_pages/show.haml
546
- - lib/generators/dummy/templates/views/layouts/application.html.haml
547
- - lib/generators/dummy/templates/views/text_pages/show.haml
548
495
  - lib/generators/releaf/install_generator.rb
549
496
  - lib/generators/releaf/templates/initializers/haml.rb
550
497
  - lib/generators/releaf/templates/initializers/releaf.rb
551
- - lib/generators/releaf/templates/migrations/create_releaf_nodes.rb
552
498
  - lib/generators/releaf/templates/migrations/create_releaf_permissions.rb
553
- - lib/generators/releaf/templates/migrations/create_releaf_richtext_attachments.rb
554
499
  - lib/generators/releaf/templates/migrations/create_releaf_roles.rb
555
500
  - lib/generators/releaf/templates/migrations/create_releaf_settings.rb
556
- - lib/generators/releaf/templates/migrations/create_releaf_translations.rb
557
501
  - lib/generators/releaf/templates/migrations/create_releaf_users.rb
558
- - lib/generators/releaf/templates/models/node.rb
559
502
  - lib/generators/releaf/templates/seeds/seeds.rb
560
503
  - lib/releaf-core.rb
561
504
  - lib/releaf/application.rb
@@ -566,8 +509,8 @@ files:
566
509
  - lib/releaf/core_ext/array/reorder.rb
567
510
  - lib/releaf/engine.rb
568
511
  - lib/releaf/exceptions.rb
512
+ - lib/releaf/humanize_missing_translations.rb
569
513
  - lib/releaf/instance_cache.rb
570
- - lib/releaf/rails_ext/globalize-accessors.rb
571
514
  - lib/releaf/rails_ext/validation_error_codes.rb
572
515
  - lib/releaf/root.rb
573
516
  - lib/releaf/root/configuration.rb
@@ -583,7 +526,6 @@ homepage: https://github.com/cubesystems/releaf
583
526
  licenses:
584
527
  - MIT
585
528
  metadata: {}
586
- post_install_message:
587
529
  rdoc_options: []
588
530
  require_paths:
589
531
  - lib
@@ -598,8 +540,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
598
540
  - !ruby/object:Gem::Version
599
541
  version: '0'
600
542
  requirements: []
601
- rubygems_version: 3.3.7
602
- signing_key:
543
+ rubygems_version: 3.6.9
603
544
  specification_version: 4
604
545
  summary: core gem for releaf
605
546
  test_files: []
@@ -1,12 +0,0 @@
1
- /**
2
- * @author Fabian Vogelsteller [frozeman.de]
3
- * @copyright Copyright (c) 2013 - Önder Ceylan. All rights reserved.
4
- * @version 0.6
5
- */
6
-
7
- // set CKeditor lang
8
- CKEDITOR.plugins.setLang( 'mediaembed', 'en', {
9
- toolbar: 'Embed Media',
10
- dialogTitle : 'Embed Media',
11
- dialogLabel : 'Paste Embed Code Here'
12
- } );
@@ -1,12 +0,0 @@
1
- /**
2
- * @author Alejandro Vasquez [neurotools.cl]
3
- * @copyright Copyright (c) 2013 - Önder Ceylan. All rights reserved.
4
- * @version 0.6
5
- */
6
-
7
- // set CKeditor lang
8
- CKEDITOR.plugins.setLang( 'mediaembed', 'es', {
9
- toolbar: 'Incrustar Medios',
10
- dialogTitle : 'Incrustar Medios',
11
- dialogLabel : 'Pegue el código de incrustación aquí'
12
- } );
@@ -1,63 +0,0 @@
1
- /*
2
- * Embed Media Dialog based on http://www.fluidbyte.net/embed-youtube-vimeo-etc-into-ckeditor
3
- *
4
- * Plugin name: mediaembed
5
- * Menu button name: MediaEmbed
6
- *
7
- * Youtube Editor Icon
8
- * http://paulrobertlloyd.com/
9
- *
10
- * @author Fabian Vogelsteller [frozeman.de]
11
- * @version 0.6
12
- */
13
- CKEDITOR.plugins.add( 'mediaembed',
14
- {
15
- icons: 'mediaembed', // %REMOVE_LINE_CORE%
16
- hidpi: true, // %REMOVE_LINE_CORE%
17
- lang: 'en,es',
18
- init: function( editor )
19
- {
20
- var me = this;
21
- CKEDITOR.dialog.add( 'MediaEmbedDialog', function (instance)
22
- {
23
- return {
24
- title : editor.lang.mediaembed.dialogTitle,
25
- minWidth : 550,
26
- minHeight : 200,
27
- contents :
28
- [
29
- {
30
- id : 'iframe',
31
- expand : true,
32
- elements :[{
33
- id : 'embedArea',
34
- type : 'textarea',
35
- label : editor.lang.mediaembed.dialogLabel,
36
- 'autofocus':'autofocus',
37
- setup: function(element){
38
- },
39
- commit: function(element){
40
- }
41
- }]
42
- }
43
- ],
44
- onOk: function() {
45
- var div = instance.document.createElement('div');
46
- div.setHtml(this.getContentElement('iframe', 'embedArea').getValue());
47
- instance.insertElement(div);
48
- }
49
- };
50
- } );
51
-
52
- editor.addCommand( 'MediaEmbed', new CKEDITOR.dialogCommand( 'MediaEmbedDialog',
53
- { allowedContent: 'iframe[*]' }
54
- ) );
55
-
56
- editor.ui.addButton( 'MediaEmbed',
57
- {
58
- label: editor.lang.mediaembed.toolbar,
59
- command: 'MediaEmbed',
60
- toolbar: 'mediaembed'
61
- } );
62
- }
63
- } );
@@ -1,208 +0,0 @@
1
- jQuery(function()
2
- {
3
- var body = jQuery('body');
4
-
5
- var overlay = jQuery('<div />').addClass('localization-menu-overlay').appendTo(body);
6
- overlay.bind('click', function()
7
- {
8
- body.trigger('localizationmenucloseall');
9
- });
10
-
11
- body.bind('localizationinit', function(e)
12
- {
13
- var block = jQuery(e.target);
14
-
15
- e.stopPropagation();
16
-
17
- var fields;
18
- if (block.is('.field.i18n'))
19
- {
20
- fields = block;
21
- }
22
- else
23
- {
24
- fields = block.find('.field.i18n');
25
- }
26
-
27
- if (fields.length < 1)
28
- {
29
- return;
30
- }
31
-
32
- fields.bind('localizationmenuopen', function()
33
- {
34
- var field = jQuery(this);
35
-
36
- // close all other open menus
37
- body.trigger('localizationmenucloseall');
38
-
39
- var menu = field.data('localization-menu');
40
-
41
- field.attr('data-localization-menu-open', true);
42
-
43
- menu.appendTo( body );
44
-
45
- field.trigger('localizationmenuposition');
46
-
47
- overlay.show();
48
-
49
- menu.show();
50
-
51
- return;
52
- });
53
-
54
- fields.bind('localizationmenuclose', function()
55
- {
56
- var field = jQuery(this);
57
-
58
- var menu = field.data('localization-menu');
59
-
60
- var localization_switch = field.data('localization-switch');
61
-
62
- menu.hide().appendTo( localization_switch );
63
-
64
- overlay.hide();
65
-
66
- field.removeAttr('data-localization-menu-open');
67
-
68
- return;
69
- });
70
-
71
- fields.bind('localizationmenutoggle', function()
72
- {
73
- var field = jQuery(this);
74
- var event = (field.attr('data-localization-menu-open')) ? 'localizationmenuclose' : 'localizationmenuopen';
75
- field.trigger( event );
76
- });
77
-
78
- fields.bind('localizationmenuposition', function()
79
- {
80
- var field = jQuery(this);
81
- if (!field.attr('data-localization-menu-open'))
82
- {
83
- return;
84
- }
85
-
86
- var menu = field.data('localization-menu');
87
-
88
- var trigger = field.data('localization-switch-trigger');
89
-
90
- var triggerOffset = trigger.offset();
91
-
92
- menu.css({
93
- left: triggerOffset.left + trigger.outerWidth() - menu.outerWidth() ,
94
- top : triggerOffset.top + trigger.outerHeight()
95
- });
96
-
97
- });
98
-
99
- fields.find('.localization-switch .trigger').click(function()
100
- {
101
- jQuery(this).closest('.field.i18n').trigger('localizationmenutoggle');
102
- });
103
-
104
-
105
- fields.find('.localization-menu-items button').click(function()
106
- {
107
- var button = jQuery(this);
108
- var locale = button.attr('data-locale');
109
- var menu = button.closest('.localization-menu-items');
110
- var field = menu.data('field');
111
- var localization_box = field.find('.localization[data-locale="' + locale + '"]');
112
-
113
- body.trigger('localizationmenucloseall');
114
-
115
- localization_box.trigger('localizationlocaleactivate');
116
-
117
- });
118
-
119
-
120
- fields.bind('localizationlocaleset', function( e, params )
121
- {
122
- var field = jQuery(this);
123
-
124
- var locale = params.locale;
125
-
126
- var localization_boxes = field.find('.localization[data-locale]');
127
-
128
- var target_box = localization_boxes.filter('[data-locale="' + locale + '"]');
129
- var other_boxes = localization_boxes.not( target_box );
130
-
131
- target_box.addClass('active');
132
- other_boxes.removeClass('active');
133
-
134
- var trigger_label = field.find('.localization-switch .trigger .label');
135
-
136
- trigger_label.text( locale );
137
- });
138
-
139
-
140
- fields.find('.localization').bind('localizationlocaleactivate', function()
141
- {
142
- var localization_box = jQuery(this);
143
- var locale = localization_box.attr('data-locale');
144
-
145
- var form = localization_box.closest('form');
146
-
147
- form.find('.field.i18n').trigger('localizationlocaleset', { locale : locale });
148
-
149
- body.trigger( 'settingssave', [ "releaf.i18n.locale", locale ] );
150
- });
151
-
152
-
153
- var input_selector = 'input[type!="hidden"],textarea,select';
154
- fields.find(input_selector).bind('focusprepare', function(e)
155
- {
156
- var localization_box = (jQuery(e.target).closest('.localization'));
157
- if (localization_box.length < 1)
158
- {
159
- return;
160
- }
161
-
162
- // focus target is inside a i18n localization box
163
- if (!localization_box.is('.active'))
164
- {
165
- localization_box.trigger('localizationlocaleactivate');
166
- }
167
- });
168
-
169
-
170
- fields.each(function()
171
- {
172
- var field = jQuery(this);
173
-
174
- var localization_switch = field.find('.localization-switch').first();
175
-
176
- field.data('localization-switch', localization_switch );
177
-
178
- field.data('localization-switch-trigger', localization_switch.find('.trigger').first() );
179
-
180
- var menu = localization_switch.find('menu').first();
181
-
182
- field.data('localization-menu', menu);
183
-
184
- menu.data('field', field);
185
-
186
- });
187
-
188
-
189
- });
190
-
191
- body.bind('localizationmenucloseall', function()
192
- {
193
- body.find('.field.i18n[data-localization-menu-open]').trigger('localizationmenuclose');
194
- });
195
-
196
-
197
-
198
- // attach localizationinit to all loaded content
199
- body.on('contentloaded', function(e)
200
- {
201
- // reinit localization for all content that gets replaced via ajax
202
- jQuery(e.target).trigger('localizationinit');
203
-
204
- });
205
-
206
- });
207
-
208
-
@@ -1,79 +0,0 @@
1
- .localization:not(.active)
2
- {
3
- display: none;
4
- }
5
-
6
- .localization-switch
7
- {
8
- position: absolute;
9
- right: 0;
10
- top: steps(1);
11
-
12
- .trigger
13
- {
14
- display: inline-block;
15
- padding: 0 steps(1);
16
- border: 1px solid $color-border-normal;
17
- background: $color-background-lighter;
18
- color: $color-text-normal;
19
- text-transform: uppercase;
20
-
21
- &:hover
22
- {
23
- border-color: $color-border-darker;
24
- }
25
-
26
- &:focus,
27
- &:active
28
- {
29
- background-color: $color-background-darkest;
30
- border-color: $color-background-darkest;
31
- color: $color-text-normal;
32
- }
33
-
34
- .fa
35
- {
36
- @include icon-small;
37
- color: $color-highlight-darkest;
38
- margin-left: steps(1);
39
- }
40
-
41
- }
42
-
43
- }
44
-
45
-
46
-
47
-
48
-
49
- .localization-menu-items
50
- {
51
- @include pop-up-menu;
52
-
53
- border: 1px solid $color-border-normal;
54
- box-shadow: 0 0 2px 2px $color-shadow-lightest;
55
-
56
- button
57
- {
58
- background: $color-background-lightest;
59
-
60
- text-transform: uppercase;
61
- padding: steps(0.5) steps(2);
62
-
63
- &:hover,
64
- &:focus
65
- {
66
- background: $color-background-normal;
67
- }
68
- }
69
-
70
- }
71
-
72
- .localization-menu-overlay
73
- {
74
- @include full-screen-overlay;
75
- }
76
-
77
-
78
-
79
-