integral 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (172) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +4 -3
  3. data/app/assets/javascripts/integral/backend.js +86 -2
  4. data/app/assets/javascripts/integral/support/character_counter.js +13 -8
  5. data/app/assets/javascripts/integral/support/list.coffee +1 -0
  6. data/app/assets/javascripts/integral/support/record_selector.coffee +2 -0
  7. data/app/assets/javascripts/integral/support/slug_generator.coffee +1 -0
  8. data/app/assets/stylesheets/integral/backend.sass +34 -23
  9. data/app/assets/stylesheets/integral/backend/_foundation_settings.scss +2 -2
  10. data/app/assets/stylesheets/integral/backend/dashboard-layout.scss +27 -63
  11. data/app/assets/stylesheets/integral/backend/devise.sass +2 -3
  12. data/app/assets/stylesheets/integral/backend/materialize-tags.sass +1 -0
  13. data/app/assets/stylesheets/integral/backend/modules/dropdown_pane_notifications.scss +150 -0
  14. data/app/assets/stylesheets/integral/backend/modules/dropdown_pane_profile.scss +59 -0
  15. data/app/assets/stylesheets/integral/backend/shared.sass +41 -2
  16. data/app/assets/stylesheets/integral/frontend/layout.sass +10 -0
  17. data/app/assets/stylesheets/integral/support/media-query-indicator.sass +4 -4
  18. data/app/controllers/integral/backend/activities_controller.rb +21 -27
  19. data/app/controllers/integral/backend/base_controller.rb +87 -37
  20. data/app/controllers/integral/backend/images_controller.rb +26 -8
  21. data/app/controllers/integral/backend/lists_controller.rb +2 -14
  22. data/app/controllers/integral/backend/notification_subscriptions_controller.rb +23 -0
  23. data/app/controllers/integral/backend/pages_controller.rb +0 -4
  24. data/app/controllers/integral/backend/posts_controller.rb +0 -4
  25. data/app/controllers/integral/backend/settings_controller.rb +4 -0
  26. data/app/controllers/integral/backend/static_pages_controller.rb +6 -0
  27. data/app/controllers/integral/backend/users_controller.rb +43 -24
  28. data/app/controllers/integral/blog_controller.rb +12 -0
  29. data/app/controllers/integral/categories_controller.rb +17 -3
  30. data/app/controllers/integral/tags_controller.rb +5 -2
  31. data/app/decorators/integral/base_decorator.rb +16 -0
  32. data/app/decorators/integral/image_decorator.rb +2 -2
  33. data/app/decorators/integral/list_decorator.rb +1 -13
  34. data/app/decorators/integral/notification/notification_decorator.rb +74 -0
  35. data/app/decorators/integral/page_decorator.rb +1 -13
  36. data/app/decorators/integral/post_decorator.rb +1 -2
  37. data/app/decorators/integral/user_decorator.rb +1 -13
  38. data/app/decorators/integral/version_decorator.rb +8 -4
  39. data/app/helpers/integral/backend/base_helper.rb +97 -31
  40. data/app/jobs/integral/application_job.rb +1 -0
  41. data/app/jobs/integral/newsletter_signup_job.rb +0 -2
  42. data/app/mailers/integral/devise_mailer.rb +6 -0
  43. data/app/models/concerns/integral/notification/subscribable.rb +67 -0
  44. data/app/models/integral/application_record.rb +9 -0
  45. data/app/models/integral/category.rb +9 -0
  46. data/app/models/integral/image.rb +40 -3
  47. data/app/models/integral/list.rb +10 -2
  48. data/app/models/integral/list_item.rb +14 -14
  49. data/app/models/integral/list_item_connection.rb +6 -0
  50. data/app/models/integral/notification/notification.rb +28 -0
  51. data/app/models/integral/notification/subscription.rb +14 -0
  52. data/app/models/integral/page.rb +15 -8
  53. data/app/models/integral/post.rb +11 -13
  54. data/app/models/integral/user.rb +45 -2
  55. data/app/policies/integral/base_policy.rb +7 -12
  56. data/app/policies/integral/page_policy.rb +1 -0
  57. data/app/policies/integral/version_policy.rb +0 -8
  58. data/app/views/devise/invitations/edit.haml +1 -4
  59. data/app/views/devise/mailer/invitation_instructions.inky-haml +20 -0
  60. data/app/views/integral/backend/activities/grid/_dropdown_actions.haml +1 -0
  61. data/app/views/integral/backend/activities/grid/_row_content.haml +13 -0
  62. data/app/views/integral/backend/activities/index.haml +7 -13
  63. data/app/views/integral/backend/activities/shared/_grid.haml +35 -20
  64. data/app/views/integral/backend/activities/shared/index.haml +12 -12
  65. data/app/views/integral/backend/activities/shared/show.haml +7 -7
  66. data/app/views/integral/backend/activities/show.haml +1 -1
  67. data/app/views/integral/backend/categories/_modal.haml +2 -3
  68. data/app/views/integral/backend/images/_form.haml +13 -25
  69. data/app/views/integral/backend/images/edit.haml +1 -9
  70. data/app/views/integral/backend/images/grid/_dropdown_actions.haml +5 -0
  71. data/app/views/integral/backend/images/grid/_row_content.haml +5 -0
  72. data/app/views/integral/backend/images/index.haml +11 -17
  73. data/app/views/integral/backend/images/list.haml +11 -0
  74. data/app/views/integral/backend/images/show.haml +26 -0
  75. data/app/views/integral/backend/lists/_form.haml +6 -19
  76. data/app/views/integral/backend/lists/_item_modal.haml +3 -3
  77. data/app/views/integral/backend/lists/_manager.haml +11 -13
  78. data/app/views/integral/backend/lists/edit.haml +6 -20
  79. data/app/views/integral/backend/lists/grid/_dropdown_actions.haml +9 -0
  80. data/app/views/integral/backend/lists/grid/_row_content.haml +3 -0
  81. data/app/views/integral/backend/lists/index.haml +11 -17
  82. data/app/views/integral/backend/lists/list.haml +11 -0
  83. data/app/views/integral/backend/lists/show.haml +30 -0
  84. data/app/views/integral/backend/notifications/_notification.haml +21 -0
  85. data/app/views/integral/backend/pages/_form.haml +19 -43
  86. data/app/views/integral/backend/pages/edit.haml +4 -12
  87. data/app/views/integral/backend/pages/grid/_dropdown_actions.haml +11 -0
  88. data/app/views/integral/backend/pages/grid/_row_content.haml +5 -0
  89. data/app/views/integral/backend/pages/index.haml +6 -6
  90. data/app/views/integral/backend/pages/list.haml +12 -19
  91. data/app/views/integral/backend/pages/show.haml +19 -35
  92. data/app/views/integral/backend/posts/_form.haml +18 -56
  93. data/app/views/integral/backend/posts/edit.haml +4 -14
  94. data/app/views/integral/backend/posts/grid/_dropdown_actions.haml +10 -0
  95. data/app/views/integral/backend/posts/grid/_row_content.haml +6 -0
  96. data/app/views/integral/backend/posts/index.haml +6 -6
  97. data/app/views/integral/backend/posts/list.haml +11 -18
  98. data/app/views/integral/backend/posts/new.haml +0 -1
  99. data/app/views/integral/backend/posts/show.haml +18 -41
  100. data/app/views/integral/backend/shared/_breadcrumbs.haml +7 -4
  101. data/app/views/integral/backend/shared/_image_preview.haml +10 -3
  102. data/app/views/integral/backend/shared/_image_selector.haml +1 -1
  103. data/app/views/integral/backend/shared/_notification_subscription_toggle.haml +22 -0
  104. data/app/views/integral/backend/shared/action_bar/_index.haml +9 -0
  105. data/app/views/integral/backend/shared/action_bar/_show.haml +3 -0
  106. data/app/views/integral/backend/shared/cards/_at_a_glance.haml +3 -3
  107. data/app/views/integral/backend/shared/cards/_categories.haml +27 -28
  108. data/app/views/integral/backend/shared/cards/_object.haml +1 -1
  109. data/app/views/integral/backend/shared/cards/_recent_activity.haml +12 -12
  110. data/app/views/integral/backend/shared/cards/_recent_resources.haml +17 -0
  111. data/app/views/integral/backend/shared/cards/_top_post_authors.haml +14 -15
  112. data/app/views/integral/backend/shared/cards/_welcome.haml +24 -25
  113. data/app/views/integral/backend/shared/{_empty_grid.haml → grid/_empty.haml} +0 -0
  114. data/app/views/integral/backend/shared/grid/_form.haml +9 -0
  115. data/app/views/integral/backend/shared/grid/_grid.haml +21 -0
  116. data/app/views/integral/backend/shared/{_pagination.haml → grid/_pagination.haml} +0 -0
  117. data/app/views/integral/backend/shared/grid/_row_layout.haml +8 -0
  118. data/app/views/integral/backend/shared/record_selector/_collection.haml +1 -0
  119. data/app/views/integral/backend/shared/record_selector/_modal.haml +9 -10
  120. data/app/views/integral/backend/static_pages/dashboard.haml +6 -7
  121. data/app/views/integral/backend/users/_form.haml +34 -46
  122. data/app/views/integral/backend/users/grid/_dropdown_actions.haml +17 -0
  123. data/app/views/integral/backend/users/grid/_row_content.haml +8 -0
  124. data/app/views/integral/backend/users/index.haml +6 -6
  125. data/app/views/integral/backend/users/list.haml +10 -16
  126. data/app/views/integral/backend/users/show.haml +10 -1
  127. data/app/views/integral/categories/show.haml +3 -3
  128. data/app/views/integral/posts/_article_footer.haml +1 -1
  129. data/app/views/integral/posts/_card.haml +1 -1
  130. data/app/views/integral/posts/_most_read_section.haml +1 -1
  131. data/app/views/integral/posts/_post.haml +1 -1
  132. data/app/views/integral/posts/templates/default.haml +1 -1
  133. data/app/views/integral/shared/sidebar/_item.haml +1 -1
  134. data/app/views/layouts/integral/backend.html.haml +24 -5
  135. data/app/views/layouts/integral/backend/_create_dropdown.haml +1 -30
  136. data/app/views/layouts/integral/backend/_main_menu_items.haml +1 -101
  137. data/config/initializers/devise.rb +1 -1
  138. data/config/locales/en.yml +60 -2
  139. data/config/routes.rb +2 -0
  140. data/db/migrate/20200407022636_create_integral_notifications.rb +25 -0
  141. data/db/migrate/20200421223602_add_status_to_integral_users.rb +5 -0
  142. data/db/seeds.rb +15 -11
  143. data/lib/integral.rb +1 -0
  144. data/lib/integral/acts_as_integral.rb +115 -0
  145. data/lib/integral/acts_as_listable.rb +1 -1
  146. data/lib/integral/engine.rb +9 -0
  147. data/lib/integral/grids/activities_grid.rb +0 -1
  148. data/lib/integral/grids/lists_grid.rb +1 -0
  149. data/lib/integral/grids/posts_grid.rb +5 -1
  150. data/lib/integral/grids/users_grid.rb +5 -0
  151. data/lib/integral/list_renderer.rb +5 -1
  152. data/lib/integral/router.rb +20 -4
  153. data/lib/integral/version.rb +1 -1
  154. data/spec/factories.rb +15 -1
  155. metadata +45 -39
  156. data/app/decorators/integral/category_version_decorator.rb +0 -7
  157. data/app/decorators/integral/image_version_decorator.rb +0 -7
  158. data/app/decorators/integral/list_version_decorator.rb +0 -7
  159. data/app/decorators/integral/page_version_decorator.rb +0 -7
  160. data/app/decorators/integral/post_version_decorator.rb +0 -7
  161. data/app/decorators/integral/user_version_decorator.rb +0 -7
  162. data/app/views/devise/mailer/invitation_instructions.html.erb +0 -13
  163. data/app/views/integral/backend/activities/_grid.haml +0 -22
  164. data/app/views/integral/backend/images/_grid.haml +0 -16
  165. data/app/views/integral/backend/lists/_grid.haml +0 -14
  166. data/app/views/integral/backend/pages/_grid.haml +0 -46
  167. data/app/views/integral/backend/posts/_grid.haml +0 -51
  168. data/app/views/integral/backend/shared/_grid.haml +0 -18
  169. data/app/views/integral/backend/shared/cards/_recent_pages.haml +0 -19
  170. data/app/views/integral/backend/shared/cards/_recent_posts.haml +0 -18
  171. data/app/views/integral/backend/shared/cards/_recent_users.haml +0 -19
  172. data/app/views/integral/backend/users/_grid.haml +0 -36
@@ -34,7 +34,6 @@ body.devise
34
34
  margin-bottom: 0
35
35
  margin-left: -4em
36
36
 
37
- .fa
38
- color: white
37
+ i
38
+ color: $white
39
39
  width: 1rem
40
-
@@ -9,6 +9,7 @@
9
9
  margin: 0.2em 0
10
10
  i
11
11
  cursor: pointer
12
+ padding-left: .25rem
12
13
 
13
14
  .tt-hint
14
15
  position: relative !important
@@ -0,0 +1,150 @@
1
+ .dropdown-pane--notifications {
2
+ width: 340px;
3
+ padding: 0;
4
+ padding-bottom: .5rem;
5
+ &:before {
6
+ content: ' ';
7
+ width: 2.5em;
8
+ height: 1.5em;
9
+ border-radius: 0 0 0.5em 0;
10
+ background: linear-gradient(-45deg, #1b8ecf 50%, transparent 50%);
11
+ position: absolute;
12
+ margin: 0;
13
+ right: 0.5em;
14
+ transform: rotate(225deg) skewX(8deg) skewY(8deg);
15
+ }
16
+ &:after {
17
+ content: ' ';
18
+ position: absolute;
19
+ right: 0;
20
+ top: -2.2em;
21
+ height: 2.2em;
22
+ width: 70%;
23
+ }
24
+ hr {
25
+ margin: .5rem 0;
26
+ }
27
+ ul {
28
+ li {
29
+ // &:last-of-type {
30
+ // margin-bottom: 0 !important;
31
+ // }
32
+ a {
33
+ padding: 0;
34
+ }
35
+ }
36
+ }
37
+
38
+ .section {
39
+ padding: .5rem 0;
40
+ &:last-of-type {
41
+ max-height: 225px;
42
+ overflow: scroll;
43
+ }
44
+ &:first-of-type {
45
+ border-radius: 5px 5px 0 0;
46
+ background-color: $primary-color;
47
+ color: $white;
48
+ .title {
49
+ font-size: 1.3em;
50
+ display: block;
51
+ }
52
+ .subtitle {
53
+ font-size: 0.85em;
54
+ display: block;
55
+ }
56
+ }
57
+ }
58
+ }
59
+
60
+ .notification-list {
61
+ &::before {
62
+ background: $light-gray;
63
+ content: '';
64
+ height: 100%;
65
+ left: 1rem;
66
+ position: absolute;
67
+ top: 0;
68
+ width: 2px;
69
+ }
70
+ &-loader {
71
+ padding: .5rem 0;
72
+ text-align: center;
73
+ }
74
+ }
75
+
76
+
77
+ .notification {
78
+ position: relative;
79
+ padding: .4rem 0;
80
+ margin: 0 !important;
81
+
82
+ &.unread {
83
+ background-color: transparentize($primary-color, 0.95);
84
+
85
+ .notification-icon {
86
+ background-color: $primary-color;
87
+ }
88
+ }
89
+
90
+ &-icon {
91
+ background: $light-gray;
92
+ border-radius: 50%;
93
+ height: 6px;
94
+ width: 6px;
95
+ left: 1rem;
96
+ top: 15px;
97
+ margin-left: -2px;
98
+ overflow: hidden;
99
+ position: absolute;
100
+
101
+ i {
102
+ width: 100%;
103
+ font-size: 1.25rem;
104
+ color: $white;
105
+ position: absolute;
106
+ top: 50%;
107
+ transform: translateY(-50%);
108
+ text-align: center;
109
+ }
110
+
111
+ &.unread {
112
+ background: $primary-color;
113
+ }
114
+ }
115
+
116
+ &-content {
117
+ padding-left: 2rem;
118
+ padding-right: 1rem;
119
+ }
120
+
121
+ &-title {
122
+ display: block;
123
+ font-size: .9rem;
124
+ }
125
+ &-action {
126
+ text-transform: uppercase;
127
+ color: $primary-color;
128
+ font-size: .6rem;
129
+ padding-bottom: 5px;
130
+ }
131
+
132
+ &-created-at {
133
+ color: $dark-gray;
134
+ font-size: .8rem;
135
+ }
136
+
137
+ &-whodunnit {
138
+ display: block;
139
+ font-size: .8rem;
140
+ opacity: .5;
141
+ &:hover {
142
+ opacity: 1;
143
+ }
144
+ img {
145
+ width: 15px;
146
+ height: 15px;
147
+ }
148
+ }
149
+ }
150
+
@@ -0,0 +1,59 @@
1
+ .dropdown-pane--profile {
2
+ padding: 0;
3
+ &:before {
4
+ content: ' ';
5
+ width: 2.5em;
6
+ height: 1.5em;
7
+ border-radius: 0 0 0.5em 0;
8
+ background: linear-gradient(-45deg, #1b8ecf 50%, transparent 50%);
9
+ position: absolute;
10
+ margin: 0;
11
+ right: 0.5em;
12
+ transform: rotate(225deg) skewX(8deg) skewY(8deg);
13
+ }
14
+ &:after {
15
+ content: ' ';
16
+ position: absolute;
17
+ right: 0;
18
+ top: -2.2em;
19
+ height: 2.2em;
20
+ width: 70%;
21
+ }
22
+ .section {
23
+ padding: 1.5em 1.2em;
24
+ &:first-of-type {
25
+ border-radius: 5px 5px 0 0;
26
+ background-color: $primary-color;
27
+ color: $white;
28
+ .avatar {
29
+ float: left;
30
+ margin-right: 1em;
31
+ width: 60px;
32
+ height: 60px;
33
+ }
34
+ .name {
35
+ font-size: 1.3em
36
+ }
37
+ .email {
38
+ font-size: 0.85em
39
+ }
40
+ }
41
+ &:last-of-type {
42
+ .menu a {
43
+ padding-left: 0;
44
+ color: $secondary-color;
45
+ &:hover {
46
+ color: $primary-color;
47
+ }
48
+ i {
49
+ width: 30px;
50
+ text-align: center;
51
+ }
52
+ }
53
+ .button {
54
+ display: inline-block;
55
+ padding: 0.8em 2em;
56
+ }
57
+ }
58
+ }
59
+ }
@@ -47,6 +47,8 @@
47
47
 
48
48
  .button
49
49
  padding: 0.7em 1.5em
50
+ &.has-tip
51
+ cursor: pointer
50
52
  &.primary
51
53
  color: $white
52
54
  &.white
@@ -54,7 +56,6 @@
54
56
  background-color: $white
55
57
  color: $primary-color
56
58
  font-size: .8rem
57
- margin: .5rem 0
58
59
  &:hover
59
60
  box-shadow: $card-shadow
60
61
  color: $secondary-color
@@ -71,12 +72,16 @@ span.label.clear
71
72
  input:disabled, input[readonly], textarea:disabled, textarea[readonly]
72
73
  border: none
73
74
 
75
+ input[type='text'], textarea, select
76
+ margin-bottom: 0
77
+
74
78
  input[readonly].datepicker
75
79
  border: solid 0.5px #d4dfef
76
80
  background-color: transparent
77
81
  cursor: pointer
78
82
 
79
83
  .input.alternative
84
+ margin-bottom: 0.75rem
80
85
  label
81
86
  font-size: .9rem
82
87
  margin-bottom: 0
@@ -88,8 +93,8 @@ input[readonly].datepicker
88
93
  > select, > textarea, > input[type=text], > input[type=url], > input[type=number]
89
94
  border-radius: 0
90
95
  -webkit-appearance: none
96
+ margin-bottom: 0
91
97
  &.has-error
92
- margin-bottom: 0
93
98
  color: $alert-color
94
99
  border-color: $alert-color
95
100
  background-color: transparentize($alert-color, 0.9)
@@ -100,6 +105,8 @@ input[readonly].datepicker
100
105
  margin: .5em 0
101
106
  font-size: .9rem
102
107
  color: $alert-color
108
+ .help-text
109
+ margin-top: 5px
103
110
 
104
111
  ul.accordion
105
112
  background-color: transparent
@@ -292,11 +299,14 @@ ul.tabs
292
299
  font-size: .75rem
293
300
 
294
301
  .record-selector.reveal
302
+ .create-button
303
+ margin-bottom: 0
295
304
  .loader
296
305
  margin: 3rem 0
297
306
  color: $primary-color
298
307
  .top-bar
299
308
  margin-top: 1em
309
+ margin-bottom: 1rem
300
310
  .filter.search
301
311
  max-width: 16em
302
312
  input
@@ -371,6 +381,8 @@ ul.tabs
371
381
  .card.list-management
372
382
  .top-bar
373
383
  @include top-bar-unstack
384
+ .input.alternative
385
+ margin-bottom: 0
374
386
  .top-bar-right .input.alternative
375
387
  display: flex
376
388
  align-items: center
@@ -485,6 +497,10 @@ ul.tabs
485
497
 
486
498
 
487
499
  /** Forms **/
500
+ .input
501
+ .form-error
502
+ margin: 0
503
+
488
504
  .field-with-errors
489
505
  > input, > textarea, > select
490
506
  @include form-input-error
@@ -536,6 +552,12 @@ p.help-text
536
552
  &.collection_radio_buttons
537
553
  font-size: 0.7em
538
554
  color: $body-font-color-secondary
555
+
556
+ .radio_buttons .radio label
557
+ font-size: 1rem
558
+ color: $body-font-color-secondary
559
+ margin-bottom: 0
560
+
539
561
  // Filters
540
562
  .filter.search
541
563
  position: relative
@@ -761,6 +783,7 @@ table
761
783
  transform: rotate(-135deg)
762
784
 
763
785
  .help-text
786
+ margin-top: 5px
764
787
  margin-bottom: 0
765
788
 
766
789
  .card-action-title
@@ -837,3 +860,19 @@ table
837
860
 
838
861
  .tr--clickable
839
862
  cursor: pointer
863
+
864
+ .grid-x
865
+ > .cell
866
+ @include xy-cell-gutters($gutter-type: padding) //($gutters, $gutter-type, $gutter-position, $breakpoint, $vertical)
867
+
868
+ .grid-y, .grid-x
869
+ > .input, > .image-select
870
+ @include card-container($card-background, $card-font-color, $card-margin-bottom, $card-border, $card-border-radius, $card-shadow)
871
+ @include card-section
872
+ overflow: initial
873
+
874
+ .card
875
+ @include card-section
876
+
877
+ .card-unpadded
878
+ @include card-container($card-background, $card-font-color, $card-margin-bottom, $card-border, $card-border-radius, $card-shadow)
@@ -64,3 +64,13 @@ main
64
64
  button
65
65
  margin-top: 1rem
66
66
 
67
+ #admin-bar
68
+ @include top-bar-unstack
69
+ background-color: $white
70
+ z-index: 1000
71
+ position: relative
72
+ @include breakpoint(small down)
73
+ padding-left: 0
74
+ padding-right: 0
75
+ .menu
76
+ background-color: $white
@@ -1,10 +1,10 @@
1
1
  /** Indicator used to display to developer what media query is currently active
2
2
  *
3
- * Red: Small Screens
4
- * Orange: Medium Screens
5
- * Green: Large and above
3
+ * Red: Small screens
4
+ * Orange: Medium screens
5
+ * Green: Large screens
6
6
  * Blue: Xlarge Screens
7
- * Black: XXlarge and above
7
+ * Black: XXlarge screens and above
8
8
  */
9
9
  .query-indicator
10
10
  display: block
@@ -3,45 +3,35 @@ module Integral
3
3
  # Activity management
4
4
  class ActivitiesController < BaseController
5
5
  before_action :authorize_with_klass, except: [:widget]
6
- before_action -> { set_grid }
7
6
 
8
7
  def widget
9
- activities = cast_activities(@grid.assets.limit(10))
8
+ activities = cast_activities(resource_grid.assets.where.not(whodunnit: nil).limit(10))
10
9
  last_created_at = activities.last.created_at.utc if activities.present?
11
10
 
12
11
  render json: { content: render_to_string(partial: 'integral/backend/activities/activity', collection: activities), last_created_at: last_created_at }
13
12
  end
14
13
 
15
- # POST /grid
16
- # AJAX grid for activities
17
- # TODO: Could move this grid action into index action and respond different if json request
18
- def grid
19
- render json: { content: render_to_string(partial: 'integral/backend/activities/grid',
20
- locals: { grid: @grid }) }
21
- end
22
-
23
14
  # GET /
24
15
  # Lists all activities
25
- def index; end
26
-
27
- # TODO: Implement this or some particular versioned one through routes.
28
- #
29
- # /admin/pages/activity -> All Page activity
30
- # /admin/pages/:id/activity -> Specific Page activity
31
- #
32
- # /admin/posts/activity -> All Page activity
33
- # /admin/posts/:id/activity -> Specific Page activity
34
- #
35
- # etc
36
- #
37
- # # GET /activity:id
38
- # # View an Activity
39
- # def show
40
- # @activity = Integral::Version.find(params[:id])
41
- # end
16
+ def index
17
+ respond_to do |format|
18
+ format.html
19
+ format.json do
20
+ render json: { content: render_to_string(partial: "integral/backend/shared/grid/grid") }
21
+ end
22
+ end
23
+ end
42
24
 
43
25
  private
44
26
 
27
+ def list_backend_resources_url
28
+ backend_activities_url
29
+ end
30
+
31
+ def backend_resource_url(resource)
32
+ resource.url
33
+ end
34
+
45
35
  def set_breadcrumbs
46
36
  add_breadcrumb I18n.t('integral.breadcrumbs.dashboard'), :backend_dashboard_url
47
37
  add_breadcrumb I18n.t('integral.breadcrumbs.activity'), :backend_activities_url
@@ -61,6 +51,10 @@ module Integral
61
51
  { 'order' => 'date', 'page' => 1, descending: true }.merge(grid_params)
62
52
  end
63
53
  helper_method :grid_options
54
+
55
+ def render_default_action_bar?
56
+ false
57
+ end
64
58
  end
65
59
  end
66
60
  end