thredded-workgroup 0.2.0 → 0.3.1
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +23 -6
- data/.rubocop_todo.yml +392 -0
- data/.travis.yml +20 -28
- data/CHANGELOG.md +18 -0
- data/Gemfile +1 -0
- data/Guardfile +17 -40
- data/README.md +27 -10
- data/RELEASE_CHECKLIST.md +1 -2
- data/Rakefile +5 -0
- data/app/assets/config/thredded_workgroup_manifest.js +3 -0
- data/app/assets/images/thredded/workgroup/envelope-o.svg +2 -0
- data/app/assets/images/thredded/workgroup/envelope-open-o.svg +2 -0
- data/app/assets/javascripts/thredded/workgroup/components/followers.es6 +24 -0
- data/app/assets/javascripts/thredded/workgroup/components/overflow.es6 +60 -0
- data/app/assets/javascripts/thredded/workgroup/components/topics.es6 +151 -0
- data/app/assets/javascripts/thredded/workgroup/core/thredded_workgroup.js +1 -0
- data/app/assets/javascripts/thredded/workgroup/core/touch.es6 +16 -0
- data/app/assets/javascripts/thredded/workgroup/index.js +3 -0
- data/app/assets/javascripts/thredded-workgroup.js +1 -13
- data/app/assets/stylesheets/thredded/workgroup/_followers.scss +51 -0
- data/app/assets/stylesheets/thredded/workgroup/_navs.scss +29 -7
- data/app/assets/stylesheets/thredded/workgroup/_overflow.scss +71 -0
- data/app/assets/stylesheets/thredded/workgroup/_topics.scss +186 -16
- data/app/assets/stylesheets/thredded-workgroup.scss +2 -0
- data/app/controllers/concerns/thredded/workgroup/all_unread_followed_topics.rb +35 -0
- data/app/controllers/thredded/application_controller.rb +23 -0
- data/app/controllers/thredded/posts_controller.rb +3 -2
- data/app/controllers/thredded/workgroup/application_controller.rb +1 -0
- data/app/controllers/thredded/workgroup/navs_controller.rb +1 -0
- data/app/controllers/thredded/workgroup/read_states_controller.rb +14 -0
- data/app/controllers/thredded/workgroup/topics_controller.rb +18 -0
- data/app/helpers/thredded/application_helper.rb +1 -0
- data/app/helpers/thredded/workgroup/application_helper.rb +1 -0
- data/app/jobs/thredded/workgroup/mark_all_topics_read_job.rb +13 -0
- data/app/view_hooks/thredded/all_view_hooks.rb +9 -0
- data/app/view_hooks/thredded/workgroup/view_hooks.rb +28 -0
- data/app/view_models/thredded/topic_view.rb +17 -0
- data/app/view_models/thredded/topics_page_view.rb +1 -0
- data/app/views/thredded/shared/nav/_unread_topics.html.erb +1 -0
- data/app/views/thredded/topics/_followers.html.erb +23 -0
- data/app/views/thredded/topics/_topic.html.erb +25 -28
- data/app/views/thredded/workgroup/navs/_personal_nav.html.erb +7 -1
- data/app/views/thredded/workgroup/navs/all_topics.html.erb +1 -1
- data/app/views/thredded/workgroup/navs/awaiting.html.erb +1 -1
- data/app/views/thredded/workgroup/navs/following.html.erb +1 -1
- data/app/views/thredded/workgroup/navs/unread.html.erb +1 -1
- data/app/views/thredded/workgroup/topics/_controls.html.erb +21 -0
- data/app/views/thredded/workgroup/topics/_last_post.html.erb +11 -0
- data/app/views/thredded/workgroup/topics/_last_post_with_controls.html.erb +12 -0
- data/app/views/thredded/workgroup/topics/_topics_with_last_post.html.erb +16 -0
- data/bin/rails.rb +1 -0
- data/bin/rspec +1 -0
- data/bin/update_from_thredded +2 -1
- data/config/locales/en.yml +11 -0
- data/config/routes.rb +9 -0
- data/docs/followers-above-post.png +0 -0
- data/docs/navbar.png +0 -0
- data/lib/thredded/workgroup/engine.rb +11 -2
- data/lib/thredded/workgroup/thredded_route_delegator.rb +1 -0
- data/lib/thredded/workgroup/version.rb +2 -1
- data/lib/thredded/workgroup.rb +1 -0
- data/shared.gemfile +23 -16
- data/thredded-workgroup.gemspec +14 -18
- metadata +83 -88
- data/app/assets/javascripts/thredded/workgroup/follow.js +0 -36
- data/app/assets/javascripts/thredded/workgroup/topics.js +0 -18
- data/app/views/thredded/topics/_topics_with_last_post.html.erb +0 -14
@@ -0,0 +1,16 @@
|
|
1
|
+
<%= define_svg_icons 'thredded/follow.svg', 'thredded/unfollow.svg' %>
|
2
|
+
|
3
|
+
<%= thredded_page do %>
|
4
|
+
<%= content_tag :section, class: 'thredded--main-section thredded--topics', 'data-thredded-topics' => true do %>
|
5
|
+
<%= render @topics, show_messageboard: !messageboard_or_nil %>
|
6
|
+
<% end %>
|
7
|
+
|
8
|
+
<%= button_to t("thredded.nav.mark_all_read"),
|
9
|
+
mark_all_topics_read_path,
|
10
|
+
class: 'thredded--button thredded--button-light thredded--button-wide',
|
11
|
+
method: :put -%>
|
12
|
+
|
13
|
+
<footer>
|
14
|
+
<%= paginate @topics %>
|
15
|
+
</footer>
|
16
|
+
<% end %>
|
data/bin/rails.rb
CHANGED
data/bin/rspec
CHANGED
data/bin/update_from_thredded
CHANGED
@@ -20,7 +20,8 @@ rm -fR ./spec/dummy/
|
|
20
20
|
cp -pR $(bundle show thredded)/spec/dummy ./spec/dummy
|
21
21
|
|
22
22
|
# update some standard helpful files
|
23
|
-
cp $(bundle show thredded)/spec/support/
|
23
|
+
cp $(bundle show thredded)/spec/support/system/fake_content.rb spec/support/system/fake_content.rb
|
24
|
+
cp $(bundle show thredded)/spec/lib/thredded/all_view_hooks_spec.rb spec/lib/thredded/all_view_hooks_spec.rb
|
24
25
|
|
25
26
|
# restore thredded-workgroup config, emoji
|
26
27
|
mv ./tmp/upgradecache/thredded_workgroup.rb ./spec/dummy/config/initializers/
|
data/config/locales/en.yml
CHANGED
@@ -12,9 +12,20 @@ en:
|
|
12
12
|
following:
|
13
13
|
title: Topics you are following
|
14
14
|
link: Follow
|
15
|
+
you: (You)
|
15
16
|
messageboards:
|
16
17
|
link: Messageboards
|
17
18
|
condensed-link: M'boards
|
18
19
|
all_topics:
|
19
20
|
title: All topics
|
20
21
|
link: All
|
22
|
+
condensable:
|
23
|
+
read_all: Read all
|
24
|
+
read_less: Read less
|
25
|
+
nav:
|
26
|
+
mark_all_read: Mark all as read
|
27
|
+
topics:
|
28
|
+
mark_all_unread:
|
29
|
+
mark_read: Mark as Read
|
30
|
+
mark_unread: Mark as Unread
|
31
|
+
view_or_reply: View/Reply
|
data/config/routes.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
Thredded::Workgroup::Engine.routes.draw do
|
3
4
|
controller "navs" do
|
4
5
|
get "unread", action: :unread, as: :unread_nav
|
@@ -7,5 +8,13 @@ Thredded::Workgroup::Engine.routes.draw do
|
|
7
8
|
get "awaiting", action: :awaiting, as: :awaiting_nav
|
8
9
|
end
|
9
10
|
|
11
|
+
resources :topics, path: "w/topics", controller: "topics", only: [] do
|
12
|
+
member do
|
13
|
+
post "kick"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
put :mark_all_topics_read, to: "read_states#mark_all_topics_read", as: :mark_all_topics_read
|
18
|
+
|
10
19
|
mount Thredded::Engine => "/"
|
11
20
|
end
|
Binary file
|
data/docs/navbar.png
ADDED
Binary file
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "thredded/engine"
|
3
4
|
require "thredded/workgroup/thredded_route_delegator"
|
4
5
|
require "thredded/workgroup/route_delegator"
|
@@ -15,10 +16,18 @@ module Thredded
|
|
15
16
|
Rails.application.reload_routes!
|
16
17
|
::Thredded::Workgroup::ThreddedRouteDelegator.add_thredded_proxies
|
17
18
|
::Thredded::Workgroup::RouteDelegator.add_my_proxies_to_thredded
|
19
|
+
|
20
|
+
Thredded::ApplicationController.module_eval do
|
21
|
+
Thredded.view_hooks.post_form.content_text_area.config.before do |form:, **_args|
|
22
|
+
if form.object.is_a?(Thredded::PostForm) && form.object.topic.persisted?
|
23
|
+
render partial: "thredded/topics/followers", locals: { topic: form.object.topic }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
18
27
|
end
|
19
|
-
initializer "
|
28
|
+
initializer "thredded_workgroup.setup_assets" do
|
20
29
|
Thredded::Workgroup::Engine.config.assets.precompile += %w(
|
21
|
-
|
30
|
+
thredded_workgroup_manifest.js
|
22
31
|
)
|
23
32
|
end
|
24
33
|
end
|
data/lib/thredded/workgroup.rb
CHANGED
data/shared.gemfile
CHANGED
@@ -1,27 +1,34 @@
|
|
1
|
-
|
2
|
-
gem 'test_after_commit', group: :test #only enabled on rails v4
|
3
|
-
gem 'thredded', github: 'thredded/thredded', branch: 'master'
|
1
|
+
# frozen_string_literal: true
|
4
2
|
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
gem "rake"
|
4
|
+
gem "thredded", github: "thredded/thredded", branch: "master"
|
5
|
+
|
6
|
+
unless ENV["TRAVIS"]
|
8
7
|
group :development do
|
9
|
-
gem
|
10
|
-
gem
|
11
|
-
gem
|
8
|
+
gem "guard"
|
9
|
+
gem "guard-rails"
|
10
|
+
gem "guard-livereload"
|
11
|
+
gem "rack-livereload"
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
-
|
15
|
+
group :development, :test do
|
16
|
+
gem "webdrivers", require: false
|
17
|
+
end
|
18
|
+
group :test do
|
19
|
+
gem "selenium-webdriver", require: false
|
20
|
+
end
|
21
|
+
|
22
|
+
gem "sassc", ">= 1.12.1"
|
16
23
|
|
17
24
|
group :debug do
|
18
|
-
gem
|
19
|
-
gem
|
20
|
-
gem
|
25
|
+
gem "derailed"
|
26
|
+
gem "pry-rails"
|
27
|
+
gem "rack-mini-profiler"
|
21
28
|
|
22
29
|
platform :mri do
|
23
|
-
gem
|
24
|
-
gem
|
25
|
-
gem
|
30
|
+
gem "byebug"
|
31
|
+
gem "flamegraph"
|
32
|
+
gem "stackprof"
|
26
33
|
end
|
27
34
|
end
|
data/thredded-workgroup.gemspec
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
# frozen_string_literal: true
|
3
|
+
|
3
4
|
# rubocop:disable Style/GuardClause
|
4
5
|
lib = File.expand_path("../lib", __FILE__)
|
5
6
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
@@ -13,31 +14,32 @@ Gem::Specification.new do |s|
|
|
13
14
|
|
14
15
|
s.summary = "Extension to Thredded with features for workgroup messaging (Unread, Unreplied, Following)."
|
15
16
|
s.description = "Write a longer description or delete this line."
|
16
|
-
s.homepage = "https://github.com/
|
17
|
+
s.homepage = "https://github.com/thredded/thredded-workgroup"
|
17
18
|
s.license = "MIT"
|
18
|
-
s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|
|
19
|
+
s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|system)/}) }
|
19
20
|
s.bindir = "exe"
|
20
21
|
s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
22
|
s.require_paths = ["lib"]
|
22
23
|
|
23
24
|
# needs thredded, you can specify a specific fork or version (in **your** gemfile) if you need to!
|
24
|
-
s.add_dependency "thredded", "
|
25
|
+
s.add_dependency "thredded", ">= 0.16.1"
|
25
26
|
|
26
27
|
# bundler added dependencies
|
27
|
-
s.add_development_dependency "bundler"
|
28
|
-
s.add_development_dependency "rake"
|
29
|
-
s.add_development_dependency "rspec"
|
28
|
+
s.add_development_dependency "bundler"
|
29
|
+
s.add_development_dependency "rake"
|
30
|
+
s.add_development_dependency "rspec"
|
30
31
|
|
31
32
|
# test dependencies
|
32
|
-
s.add_development_dependency "capybara"
|
33
|
-
s.add_development_dependency "capybara-webkit"
|
34
|
-
s.add_development_dependency "database_cleaner"
|
33
|
+
s.add_development_dependency "capybara"
|
35
34
|
s.add_development_dependency "factory_bot_rails"
|
36
35
|
s.add_development_dependency "faker", ">= 1.6.2"
|
37
36
|
s.add_development_dependency "launchy"
|
38
37
|
s.add_development_dependency "rspec-rails", ">= 3.5.0"
|
39
|
-
s.add_development_dependency "rubocop", "=
|
40
|
-
s.add_development_dependency "
|
38
|
+
s.add_development_dependency "rubocop", "= 1.25.1"
|
39
|
+
s.add_development_dependency "rubocop-rails", "= 2.13.2"
|
40
|
+
s.add_development_dependency "rubocop-rspec", "= 2.8.0"
|
41
|
+
s.add_development_dependency "rubocop-performance", "= 1.13.2"
|
42
|
+
s.add_development_dependency "bundle-audit"
|
41
43
|
|
42
44
|
# dummy app dependencies
|
43
45
|
s.add_development_dependency "rails-i18n"
|
@@ -50,16 +52,10 @@ Gem::Specification.new do |s|
|
|
50
52
|
s.add_development_dependency "rails_email_preview", ">= 2.0.1"
|
51
53
|
s.add_development_dependency "roadie-rails"
|
52
54
|
s.add_development_dependency "i18n-tasks"
|
55
|
+
s.add_development_dependency "twemoji"
|
53
56
|
s.add_development_dependency "web-console"
|
54
57
|
s.add_development_dependency "jquery-rails"
|
55
58
|
|
56
|
-
# add some plugins to the dummy app demo
|
57
|
-
s.add_development_dependency "thredded-markdown_coderay"
|
58
|
-
s.add_development_dependency "thredded-markdown_katex"
|
59
|
-
s.add_development_dependency "twemoji"
|
60
|
-
|
61
59
|
# dummy app frontend
|
62
60
|
s.add_development_dependency "turbolinks"
|
63
|
-
# required by the turbolinks gem
|
64
|
-
s.add_development_dependency "coffee-rails"
|
65
61
|
end
|