playbook_ui 8.0.0.pre.alpha1 → 8.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/_playbook.scss +8 -7
- data/app/pb_kits/playbook/data/menu.yml +1 -0
- data/app/pb_kits/playbook/index.js +1 -0
- data/app/pb_kits/playbook/pb_card/card_header.rb +7 -7
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.jsx +84 -0
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +15 -0
- data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleContent.jsx +40 -0
- data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.jsx +59 -0
- data/app/pb_kits/playbook/pb_collapsible/collapsible.html.erb +7 -0
- data/app/pb_kits/playbook/pb_collapsible/collapsible.rb +11 -0
- data/app/pb_kits/playbook/pb_collapsible/collapsible.test.js +50 -0
- data/app/pb_kits/playbook/pb_collapsible/collapsible_content.html.erb +7 -0
- data/app/pb_kits/playbook/pb_collapsible/collapsible_content.rb +17 -0
- data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +16 -0
- data/app/pb_kits/playbook/pb_collapsible/collapsible_main.rb +15 -0
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.html.erb +10 -0
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.jsx +19 -0
- data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +9 -0
- data/app/pb_kits/playbook/pb_collapsible/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_collapsible/index.js +79 -0
- data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.jsx +6 -2
- data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.html.erb +1 -1
- data/app/pb_kits/playbook/pb_docs/kit_api.html.erb +12 -0
- data/app/pb_kits/playbook/pb_docs/kit_api.rb +19 -0
- data/app/pb_kits/playbook/pb_docs/kit_example.html.erb +28 -0
- data/app/pb_kits/playbook/pb_docs/kit_example.rb +46 -0
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +2 -2
- data/app/pb_kits/playbook/pb_form/form.rb +11 -2
- data/app/pb_kits/playbook/pb_form/form_builder.rb +1 -1
- data/app/pb_kits/playbook/pb_form/form_builder/action_area.html.erb +1 -1
- data/app/pb_kits/playbook/pb_form/form_with.html.erb +7 -14
- data/app/pb_kits/playbook/pb_form/form_with.rb +13 -6
- data/app/pb_kits/playbook/pb_nav/_item.jsx +2 -0
- data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -2
- data/app/pb_kits/playbook/pb_nav/item.html.erb +2 -2
- data/app/pb_kits/playbook/pb_nav/nav.html.erb +1 -1
- data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +1 -1
- data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +5 -0
- data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_variants.html.erb +5 -0
- data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_variants.jsx +7 -0
- data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_variants.md +1 -1
- data/app/pb_kits/playbook/pb_progress_simple/progress_simple.rb +1 -1
- data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +43 -26
- data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +18 -0
- data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.html.erb +18 -5
- data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.jsx +10 -5
- data/app/pb_kits/playbook/pb_time_stacked/time_stacked.html.erb +7 -3
- data/app/pb_kits/playbook/pb_time_stacked/time_stacked.rb +8 -30
- data/app/pb_kits/playbook/pb_time_stacked/time_stacked.test.js +33 -0
- data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +4 -3
- data/app/pb_kits/playbook/vendor.js +3 -0
- data/lib/playbook.rb +13 -8
- data/lib/playbook/markdown.rb +4 -0
- data/lib/playbook/markdown/helper.rb +153 -0
- data/lib/playbook/pb_doc_helper.rb +89 -0
- data/lib/playbook/props/base.rb +1 -1
- data/lib/playbook/version.rb +1 -1
- metadata +34 -10
- data/app/controllers/playbook/application_controller.rb +0 -14
- data/app/helpers/playbook/application_helper.rb +0 -30
- data/app/helpers/playbook/pb_doc_helper.rb +0 -210
- data/app/helpers/playbook/pb_sample_helper.rb +0 -64
- data/app/helpers/playbook/redcarpet_helper.rb +0 -151
- data/app/pb_kits/playbook/pb_form/form.html.erb +0 -7
@@ -0,0 +1,89 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Playbook
|
4
|
+
module PbDocHelper
|
5
|
+
def pb_kit_title(title)
|
6
|
+
title.remove("pb_").titleize.tr("_", " ")
|
7
|
+
end
|
8
|
+
|
9
|
+
def pb_kit(kit: "", type: "rails", show_code: true, limit_examples: false, dark_mode: false)
|
10
|
+
examples = pb_doc_kit_examples(kit, type)
|
11
|
+
examples = examples.first(1) if limit_examples
|
12
|
+
examples.map do |example|
|
13
|
+
pb_rails "docs/kit_example", props: {
|
14
|
+
kit: kit,
|
15
|
+
example_title: example.values.first,
|
16
|
+
example_key: example.keys.first,
|
17
|
+
show_code: show_code,
|
18
|
+
type: type,
|
19
|
+
dark: dark_mode
|
20
|
+
}
|
21
|
+
end.join.yield_self(&method(:raw))
|
22
|
+
end
|
23
|
+
|
24
|
+
def nav_hash_array(link)
|
25
|
+
link.first.last
|
26
|
+
end
|
27
|
+
|
28
|
+
# Deal with lists of kits, used in Playbook doc and Externally
|
29
|
+
def pb_kits(type: "rails", limit_examples: false, dark_mode: false)
|
30
|
+
display_kits = []
|
31
|
+
kits = get_kits
|
32
|
+
kits.each do |kit|
|
33
|
+
if kit.is_a?(Hash)
|
34
|
+
nav_hash_array(kit).each do |sub_kit|
|
35
|
+
display_kits << render_pb_doc_kit(sub_kit, type, limit_examples, false, dark_mode)
|
36
|
+
end
|
37
|
+
else
|
38
|
+
display_kits << render_pb_doc_kit(kit, type, limit_examples, false, dark_mode)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
raw("<div class='pb--docItem'>" + display_kits.join("</div><div class='pb--docItem'>") + "</div>")
|
42
|
+
end
|
43
|
+
|
44
|
+
def get_kits
|
45
|
+
menu = YAML.load_file(Playbook::Engine.root.join("app/pb_kits/playbook/data/menu.yml"))
|
46
|
+
menu["kits"]
|
47
|
+
end
|
48
|
+
|
49
|
+
def render_pb_doc_kit(kit, type, limit_examples, code = true, dark_mode = false)
|
50
|
+
title = pb_doc_render_clickable_title(kit, type)
|
51
|
+
ui = raw("<div class='pb--docItem-ui'>
|
52
|
+
#{pb_kit(kit: kit, type: type, show_code: code, limit_examples: limit_examples, dark_mode: dark_mode)}</div>")
|
53
|
+
title + ui
|
54
|
+
end
|
55
|
+
|
56
|
+
private
|
57
|
+
|
58
|
+
def pb_doc_kit_path(kit, *args)
|
59
|
+
Playbook.kit_path(kit, "docs", *args)
|
60
|
+
end
|
61
|
+
|
62
|
+
def pb_doc_kit_examples(kit, type)
|
63
|
+
example_file = pb_doc_kit_path(kit, "example.yml")
|
64
|
+
if File.exist?(example_file)
|
65
|
+
examples_list = YAML.load_file(example_file)
|
66
|
+
.inject({}) { |item, (k, v)| item[k.to_sym] = v; item }
|
67
|
+
examples_list.dig(:examples, type) || []
|
68
|
+
else
|
69
|
+
[]
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
def pb_doc_render_clickable_title(kit, type)
|
74
|
+
url = "#"
|
75
|
+
begin
|
76
|
+
url = if type == "react"
|
77
|
+
kit_show_reacts_path(kit)
|
78
|
+
else
|
79
|
+
kit_show_path(kit)
|
80
|
+
end
|
81
|
+
# FIXME this is here because this helper generates a link for playbook website,
|
82
|
+
# but shouldn't do anything when used elsewhere
|
83
|
+
rescue
|
84
|
+
puts "Kit Path Not Avaliable"
|
85
|
+
end
|
86
|
+
render inline: "<a href='#{url}'>#{pb_rails(:title, props: { text: pb_kit_title(kit), tag: 'h3', size: 2 })}</a>"
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
data/lib/playbook/props/base.rb
CHANGED
data/lib/playbook/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: playbook_ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.
|
4
|
+
version: 8.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Power UX
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-
|
12
|
+
date: 2021-03-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -286,6 +286,9 @@ dependencies:
|
|
286
286
|
requirement: !ruby/object:Gem::Requirement
|
287
287
|
requirements:
|
288
288
|
- - "~>"
|
289
|
+
- !ruby/object:Gem::Version
|
290
|
+
version: '3.8'
|
291
|
+
- - ">="
|
289
292
|
- !ruby/object:Gem::Version
|
290
293
|
version: 3.8.0
|
291
294
|
type: :development
|
@@ -293,6 +296,9 @@ dependencies:
|
|
293
296
|
version_requirements: !ruby/object:Gem::Requirement
|
294
297
|
requirements:
|
295
298
|
- - "~>"
|
299
|
+
- !ruby/object:Gem::Version
|
300
|
+
version: '3.8'
|
301
|
+
- - ">="
|
296
302
|
- !ruby/object:Gem::Version
|
297
303
|
version: 3.8.0
|
298
304
|
- !ruby/object:Gem::Dependency
|
@@ -420,11 +426,6 @@ files:
|
|
420
426
|
- app/assets/images/pb-logo.svg
|
421
427
|
- app/assets/images/pb-white-logo.svg
|
422
428
|
- app/assets/images/pb.logo.svg
|
423
|
-
- app/controllers/playbook/application_controller.rb
|
424
|
-
- app/helpers/playbook/application_helper.rb
|
425
|
-
- app/helpers/playbook/pb_doc_helper.rb
|
426
|
-
- app/helpers/playbook/pb_sample_helper.rb
|
427
|
-
- app/helpers/playbook/redcarpet_helper.rb
|
428
429
|
- app/pb_kits/playbook/_playbook.scss
|
429
430
|
- app/pb_kits/playbook/data/menu.yml
|
430
431
|
- app/pb_kits/playbook/index.js
|
@@ -662,6 +663,22 @@ files:
|
|
662
663
|
- app/pb_kits/playbook/pb_circle_icon_button/docs/_footer.md
|
663
664
|
- app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml
|
664
665
|
- app/pb_kits/playbook/pb_circle_icon_button/docs/index.js
|
666
|
+
- app/pb_kits/playbook/pb_collapsible/_collapsible.jsx
|
667
|
+
- app/pb_kits/playbook/pb_collapsible/_collapsible.scss
|
668
|
+
- app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleContent.jsx
|
669
|
+
- app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.jsx
|
670
|
+
- app/pb_kits/playbook/pb_collapsible/collapsible.html.erb
|
671
|
+
- app/pb_kits/playbook/pb_collapsible/collapsible.rb
|
672
|
+
- app/pb_kits/playbook/pb_collapsible/collapsible.test.js
|
673
|
+
- app/pb_kits/playbook/pb_collapsible/collapsible_content.html.erb
|
674
|
+
- app/pb_kits/playbook/pb_collapsible/collapsible_content.rb
|
675
|
+
- app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb
|
676
|
+
- app/pb_kits/playbook/pb_collapsible/collapsible_main.rb
|
677
|
+
- app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.html.erb
|
678
|
+
- app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.jsx
|
679
|
+
- app/pb_kits/playbook/pb_collapsible/docs/example.yml
|
680
|
+
- app/pb_kits/playbook/pb_collapsible/docs/index.js
|
681
|
+
- app/pb_kits/playbook/pb_collapsible/index.js
|
665
682
|
- app/pb_kits/playbook/pb_contact/_contact.jsx
|
666
683
|
- app/pb_kits/playbook/pb_contact/_contact.scss
|
667
684
|
- app/pb_kits/playbook/pb_contact/contact.html.erb
|
@@ -845,6 +862,10 @@ files:
|
|
845
862
|
- app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_default.jsx
|
846
863
|
- app/pb_kits/playbook/pb_distribution_bar/docs/example.yml
|
847
864
|
- app/pb_kits/playbook/pb_distribution_bar/docs/index.js
|
865
|
+
- app/pb_kits/playbook/pb_docs/kit_api.html.erb
|
866
|
+
- app/pb_kits/playbook/pb_docs/kit_api.rb
|
867
|
+
- app/pb_kits/playbook/pb_docs/kit_example.html.erb
|
868
|
+
- app/pb_kits/playbook/pb_docs/kit_example.rb
|
848
869
|
- app/pb_kits/playbook/pb_enhanced_element/element_observer.js
|
849
870
|
- app/pb_kits/playbook/pb_enhanced_element/index.js
|
850
871
|
- app/pb_kits/playbook/pb_file_upload/_file_upload.jsx
|
@@ -950,7 +971,6 @@ files:
|
|
950
971
|
- app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb
|
951
972
|
- app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.md
|
952
973
|
- app/pb_kits/playbook/pb_form/docs/example.yml
|
953
|
-
- app/pb_kits/playbook/pb_form/form.html.erb
|
954
974
|
- app/pb_kits/playbook/pb_form/form.rb
|
955
975
|
- app/pb_kits/playbook/pb_form/form_builder.rb
|
956
976
|
- app/pb_kits/playbook/pb_form/form_builder/action_area.html.erb
|
@@ -1804,6 +1824,7 @@ files:
|
|
1804
1824
|
- app/pb_kits/playbook/pb_time_stacked/docs/index.js
|
1805
1825
|
- app/pb_kits/playbook/pb_time_stacked/time_stacked.html.erb
|
1806
1826
|
- app/pb_kits/playbook/pb_time_stacked/time_stacked.rb
|
1827
|
+
- app/pb_kits/playbook/pb_time_stacked/time_stacked.test.js
|
1807
1828
|
- app/pb_kits/playbook/pb_timeline/_item.jsx
|
1808
1829
|
- app/pb_kits/playbook/pb_timeline/_timeline.jsx
|
1809
1830
|
- app/pb_kits/playbook/pb_timeline/_timeline.scss
|
@@ -2014,7 +2035,10 @@ files:
|
|
2014
2035
|
- lib/playbook/engine.rb
|
2015
2036
|
- lib/playbook/kit_base.rb
|
2016
2037
|
- lib/playbook/kit_resolver.rb
|
2038
|
+
- lib/playbook/markdown.rb
|
2039
|
+
- lib/playbook/markdown/helper.rb
|
2017
2040
|
- lib/playbook/markdown/template_handler.rb
|
2041
|
+
- lib/playbook/pb_doc_helper.rb
|
2018
2042
|
- lib/playbook/pb_kit_helper.rb
|
2019
2043
|
- lib/playbook/props.rb
|
2020
2044
|
- lib/playbook/props/array.rb
|
@@ -2049,9 +2073,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
2049
2073
|
version: '0'
|
2050
2074
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
2051
2075
|
requirements:
|
2052
|
-
- - "
|
2076
|
+
- - ">="
|
2053
2077
|
- !ruby/object:Gem::Version
|
2054
|
-
version:
|
2078
|
+
version: '0'
|
2055
2079
|
requirements: []
|
2056
2080
|
rubyforge_project:
|
2057
2081
|
rubygems_version: 2.7.3
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Playbook
|
4
|
-
class ApplicationController < ActionController::Base
|
5
|
-
helper Webpacker::Helper
|
6
|
-
helper Playbook::ApplicationHelper
|
7
|
-
helper Playbook::PbDocHelper
|
8
|
-
helper Playbook::PbSampleHelper
|
9
|
-
|
10
|
-
def delete_dark_mode_cookie
|
11
|
-
cookies.delete :dark_mode
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Playbook
|
4
|
-
module ApplicationHelper
|
5
|
-
include ::Webpacker::React::Helpers
|
6
|
-
include ::Playbook::PbKitHelper
|
7
|
-
|
8
|
-
def current_webpacker_instance
|
9
|
-
Playbook.webpacker
|
10
|
-
end
|
11
|
-
|
12
|
-
def pb_rails(kit, props: {}, &block)
|
13
|
-
super kit, props: dark_mode_props(props), &block
|
14
|
-
end
|
15
|
-
|
16
|
-
def pb_react(kit, props: {}, options: {})
|
17
|
-
react_component kit.camelize, dark_mode_props(props), options
|
18
|
-
end
|
19
|
-
|
20
|
-
private
|
21
|
-
|
22
|
-
def dark_mode_props(props)
|
23
|
-
(props || {}).merge(dark: dark_mode?)
|
24
|
-
end
|
25
|
-
|
26
|
-
def dark_mode?
|
27
|
-
cookies[:dark_mode].eql? "true"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,210 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Playbook
|
4
|
-
module PbDocHelper
|
5
|
-
def pb_kit_title(title)
|
6
|
-
title.remove("pb_").titleize.tr("_", " ")
|
7
|
-
end
|
8
|
-
|
9
|
-
def pb_doc_source(type, kit, example_key)
|
10
|
-
highlight = type == "react" ? "react" : "erb"
|
11
|
-
extension = type == "react" ? "jsx" : "html.erb"
|
12
|
-
source = read_source_file kit_path(kit).join("docs/_#{example_key}.#{extension}")
|
13
|
-
raw rouge(source, highlight)
|
14
|
-
end
|
15
|
-
|
16
|
-
def pb_doc_example(type, kit, example_key)
|
17
|
-
if type == "rails"
|
18
|
-
render file: kit_path(kit).join("docs/_#{example_key}.html.erb")
|
19
|
-
elsif type == "react"
|
20
|
-
pb_react(example_key.camelize)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def pb_doc_kit_api(kit)
|
25
|
-
kit_class = Playbook::KitResolver.resolve(kit.to_s)
|
26
|
-
return unless kit_class
|
27
|
-
render partial: "playbook/config/pb_kit_api", locals: { kit_api: kit_class.props.keys }
|
28
|
-
end
|
29
|
-
|
30
|
-
def has_kit_type?(kit, type)
|
31
|
-
type ||= "rails"
|
32
|
-
if type == "rails"
|
33
|
-
erbfiles = File.join("**", "*.erb")
|
34
|
-
Dir.glob(erbfiles, base: "#{kit_path(kit)}/docs").present?
|
35
|
-
elsif type == "react"
|
36
|
-
jsxfiles = File.join("**", "*.jsx")
|
37
|
-
Dir.glob(jsxfiles, base: "#{kit_path(kit)}/docs").present?
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def get_kit_description(kit)
|
42
|
-
read_source_file kit_path(kit).join("docs/_description.md")
|
43
|
-
end
|
44
|
-
|
45
|
-
def get_per_sample_descriptions(kit, key)
|
46
|
-
read_source_file kit_path(kit).join("docs/_#{key}.md")
|
47
|
-
end
|
48
|
-
|
49
|
-
def get_kit_footer(kit)
|
50
|
-
read_source_file kit_path(kit).join("docs/_footer.md")
|
51
|
-
end
|
52
|
-
|
53
|
-
def pb_kit(kit: "", type: "rails", show_code: true, limit_examples: false)
|
54
|
-
@type = type
|
55
|
-
@kit_examples = get_kit_examples(kit, type)
|
56
|
-
@limit_examples = limit_examples
|
57
|
-
@show_code = show_code
|
58
|
-
render partial: "playbook/config/kit_example"
|
59
|
-
end
|
60
|
-
|
61
|
-
def pb_kits(type: "rails", limit_examples: false)
|
62
|
-
display_kits = []
|
63
|
-
kits = get_kits
|
64
|
-
kits.each do |kit|
|
65
|
-
if kit.is_a?(Hash)
|
66
|
-
nav_hash_array(kit).each do |sub_kit|
|
67
|
-
display_kits << render_pb_doc_kit(sub_kit, type, false, limit_examples)
|
68
|
-
end
|
69
|
-
else
|
70
|
-
display_kits << render_pb_doc_kit(kit, type, false, limit_examples)
|
71
|
-
end
|
72
|
-
end
|
73
|
-
raw("<div class='pb--docItem'>" + display_kits.join("</div><div class='pb--docItem'>") + "</div>")
|
74
|
-
end
|
75
|
-
|
76
|
-
def get_kits
|
77
|
-
menu = YAML.load_file("#{Playbook::Engine.root}/app/pb_kits/playbook/data/menu.yml")
|
78
|
-
menu["kits"]
|
79
|
-
end
|
80
|
-
|
81
|
-
def pb_category_kits(category_kits: [], type: "rails")
|
82
|
-
display_kits = []
|
83
|
-
category_kits.each do |kit|
|
84
|
-
display_kits << render_pb_doc_kit(kit, type, false)
|
85
|
-
end
|
86
|
-
raw("<div class='pb--docItem'>" + display_kits.join("</div><div class='pb--docItem'>") + "</div>")
|
87
|
-
end
|
88
|
-
|
89
|
-
def render_pb_doc_kit(kit, type, code = true, limit_examples)
|
90
|
-
title = render_clickable_title(kit, type)
|
91
|
-
ui = raw("<div class='pb--docItem-ui'>
|
92
|
-
#{pb_kit(kit: kit, type: type, show_code: code, limit_examples: limit_examples)}</div>")
|
93
|
-
title + ui
|
94
|
-
end
|
95
|
-
|
96
|
-
def nav_hash_category(link)
|
97
|
-
link.keys.first
|
98
|
-
end
|
99
|
-
|
100
|
-
def nav_hash_array(link)
|
101
|
-
link.first.last
|
102
|
-
end
|
103
|
-
|
104
|
-
def all_link(type)
|
105
|
-
type == "react" ? kits_path("", type: "react") : kits_path
|
106
|
-
end
|
107
|
-
|
108
|
-
def category_link(type, link)
|
109
|
-
if type == "react"
|
110
|
-
kit_category_show_path(nav_hash_category(link), type: "react")
|
111
|
-
else
|
112
|
-
kit_category_show_path(nav_hash_category(link), type: "rails")
|
113
|
-
end
|
114
|
-
end
|
115
|
-
|
116
|
-
def sub_category_link(type, link)
|
117
|
-
if type == "react"
|
118
|
-
kit_show_reacts_path(link)
|
119
|
-
else
|
120
|
-
kit_show_path(link)
|
121
|
-
end
|
122
|
-
end
|
123
|
-
|
124
|
-
def kit_link(type, link)
|
125
|
-
if type == "react"
|
126
|
-
kit_show_reacts_path(link)
|
127
|
-
else
|
128
|
-
kit_show_path(link)
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
def all_active(controller_name, action_name)
|
133
|
-
(controller_name == "pages" && action_name == "kits")
|
134
|
-
end
|
135
|
-
|
136
|
-
def category_active(category, link)
|
137
|
-
(!category.nil? && category == nav_hash_category(link))
|
138
|
-
end
|
139
|
-
|
140
|
-
def kit_active(kit, link)
|
141
|
-
(!kit.nil? && kit == link)
|
142
|
-
end
|
143
|
-
|
144
|
-
def sub_category_active(kit, link)
|
145
|
-
(!kit.nil? && @kit == link)
|
146
|
-
end
|
147
|
-
|
148
|
-
def read_source_file(*args)
|
149
|
-
path = Playbook::Engine.root.join(*args)
|
150
|
-
path.exist? ? path.read : ""
|
151
|
-
end
|
152
|
-
|
153
|
-
def format_search_hash(kit)
|
154
|
-
label_value_hash = {
|
155
|
-
label: kit.to_s.titleize,
|
156
|
-
value: @type == "react" || @type.nil? ? "/kits/#{kit}/react" : "/kits/#{kit}",
|
157
|
-
}
|
158
|
-
label_value_hash
|
159
|
-
end
|
160
|
-
|
161
|
-
def search_list
|
162
|
-
all_kits = []
|
163
|
-
formatted_kits = []
|
164
|
-
MENU["kits"].each do |kit|
|
165
|
-
if kit.is_a? Hash
|
166
|
-
kit.values[0].each do |sub_kit|
|
167
|
-
all_kits.push(sub_kit)
|
168
|
-
end
|
169
|
-
else
|
170
|
-
all_kits.push(kit)
|
171
|
-
end
|
172
|
-
end
|
173
|
-
all_kits.sort!.each do |sorted_kit|
|
174
|
-
formatted_kits.push(format_search_hash(sorted_kit))
|
175
|
-
end
|
176
|
-
formatted_kits
|
177
|
-
end
|
178
|
-
|
179
|
-
private
|
180
|
-
|
181
|
-
def kit_path(kit)
|
182
|
-
Playbook::Engine.root.join("app/pb_kits/playbook/pb_#{kit}")
|
183
|
-
end
|
184
|
-
|
185
|
-
def get_kit_examples(kit, type)
|
186
|
-
example_file = kit_path(kit).join("docs/example.yml")
|
187
|
-
if File.exist? example_file
|
188
|
-
examples_list = YAML.load_file(example_file)
|
189
|
-
.inject({}) { |item, (k, v)| item[k.to_sym] = v; item }
|
190
|
-
{ kit: kit, examples: examples_list[:examples][type] }
|
191
|
-
else
|
192
|
-
{}
|
193
|
-
end
|
194
|
-
end
|
195
|
-
|
196
|
-
def render_clickable_title(kit, type)
|
197
|
-
url = "#"
|
198
|
-
begin
|
199
|
-
url = if type == "react"
|
200
|
-
kit_show_reacts_path(kit)
|
201
|
-
else
|
202
|
-
kit_show_path(kit)
|
203
|
-
end
|
204
|
-
rescue
|
205
|
-
puts "Kit Path Not Avaliable"
|
206
|
-
end
|
207
|
-
render inline: "<a href='#{url}'>#{pb_rails(:title, props: { text: pb_kit_title(kit), tag: 'h3', size: 2 })}</a>"
|
208
|
-
end
|
209
|
-
end
|
210
|
-
end
|