fleetio_spark 0.2.48 → 1.0.0.rc.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/app/assets/javascripts/spark/_icons.js +1 -1
- data/app/assets/javascripts/spark/components/app/sidebar/_fix.js +4 -4
- data/app/assets/javascripts/spark/components/app/sidebar/_toggle.js +1 -1
- data/app/assets/javascripts/spark/components/layout/_auto-grid.js +5 -5
- data/app/assets/javascripts/spark/components/nav/_toggle.js +16 -7
- data/app/assets/javascripts/spark/components/ui/_sticky_panel.js +2 -2
- data/app/assets/javascripts/spark/components/ui/_toast.js +3 -6
- data/app/assets/javascripts/spark/shims/_dataset.js +241 -0
- data/app/assets/javascripts/spark/spark.js +18 -16
- data/app/assets/stylesheets/spark/_index.scss +0 -1
- data/app/assets/stylesheets/spark/components/_index.scss +11 -5
- data/app/assets/stylesheets/spark/components/app/_header.scss +15 -28
- data/app/assets/stylesheets/spark/components/app/_layout.scss +2 -2
- data/app/assets/stylesheets/spark/components/app/_sidebar.scss +19 -47
- data/app/assets/stylesheets/spark/components/app/sidebar/_header.scss +44 -48
- data/app/assets/stylesheets/spark/components/app/sidebar/_toggle.scss +5 -2
- data/app/assets/stylesheets/spark/components/button/_button.scss +48 -53
- data/app/assets/stylesheets/spark/components/button/_button_group.scss +10 -16
- data/app/assets/stylesheets/spark/components/button/_size.scss +17 -8
- data/app/assets/stylesheets/spark/components/icon/_badge.scss +41 -0
- data/app/assets/stylesheets/spark/{_icons.scss → components/icon/_icon.scss} +0 -0
- data/app/assets/stylesheets/spark/components/{form → input}/_switch.scss +20 -20
- data/app/assets/stylesheets/spark/components/layout/_block.scss +44 -0
- data/app/assets/stylesheets/spark/components/layout/_grid.scss +26 -29
- data/app/assets/stylesheets/spark/components/layout/_media_block.scss +76 -0
- data/app/assets/stylesheets/spark/components/layout/_page.scss +54 -0
- data/app/assets/stylesheets/spark/components/{app → messaging}/_banner.scss +3 -3
- data/app/assets/stylesheets/spark/components/messaging/_trial-notice.scss +20 -0
- data/app/assets/stylesheets/spark/components/nav/_item.scss +6 -30
- data/app/assets/stylesheets/spark/components/nav/_sidebar.scss +11 -48
- data/app/assets/stylesheets/spark/components/nav/_tabs.scss +5 -5
- data/app/assets/stylesheets/spark/components/nav/sidebar/_theme-default.scss +59 -0
- data/app/assets/stylesheets/spark/components/nav/sidebar/_theme-primary.scss +69 -0
- data/app/assets/stylesheets/spark/components/nav/tree/_group.scss +1 -6
- data/app/assets/stylesheets/spark/components/ui/_card.scss +57 -0
- data/app/assets/stylesheets/spark/components/ui/_header.scss +55 -55
- data/app/assets/stylesheets/spark/components/ui/_placeholder.scss +8 -22
- data/app/assets/stylesheets/spark/components/ui/_toolbar.scss +1 -27
- data/app/assets/stylesheets/spark/components_old/_dropdown.scss +117 -114
- data/app/assets/stylesheets/spark/components_old/_index.scss +1 -1
- data/app/assets/stylesheets/spark/components_old/header/_index.scss +0 -1
- data/app/assets/stylesheets/spark/components_old/header/_search.scss +2 -0
- data/app/assets/stylesheets/spark/core/_vars.scss +6 -3
- data/app/components/spark/badge.html.slim +4 -0
- data/app/components/spark/badge.rb +15 -0
- data/app/components/spark/banner.html.slim +7 -0
- data/app/components/spark/banner.rb +28 -0
- data/app/components/spark/button.html.slim +9 -0
- data/app/components/spark/button.rb +68 -0
- data/app/components/spark/button/group.html.slim +4 -0
- data/app/components/spark/button/group.rb +22 -0
- data/app/components/spark/card.html.slim +7 -0
- data/app/components/spark/card.rb +13 -0
- data/app/components/spark/checklist.html.slim +14 -0
- data/app/components/spark/checklist.rb +49 -0
- data/app/components/spark/checklist/container.html.slim +14 -0
- data/app/components/spark/checklist/container.rb +51 -0
- data/app/components/spark/checklist/item.html.slim +9 -0
- data/app/components/spark/checklist/item.rb +24 -0
- data/app/components/spark/checklist/trigger.html.slim +6 -0
- data/app/components/spark/checklist/trigger.rb +13 -0
- data/app/components/spark/component/base.rb +27 -0
- data/app/components/spark/embed/wistia_media.html.slim +11 -0
- data/app/components/spark/embed/wistia_media.rb +22 -0
- data/app/components/spark/embed/wistia_media_component.rb +22 -36
- data/app/components/spark/grid.html.slim +4 -0
- data/app/components/spark/grid.rb +31 -0
- data/app/components/spark/grid/column.html.slim +1 -0
- data/app/components/spark/grid/column.rb +34 -0
- data/app/components/spark/icon.html.slim +1 -0
- data/app/components/spark/icon.rb +34 -0
- data/app/components/spark/icon/placeholder.html.slim +20 -0
- data/app/components/spark/icon/placeholder.rb +139 -0
- data/app/components/spark/input/base.html.slim +1 -0
- data/app/components/spark/input/base.rb +17 -0
- data/app/components/spark/input/checkbox.html.slim +2 -0
- data/app/components/spark/input/checkbox.rb +14 -0
- data/app/components/spark/input/label.html.slim +4 -0
- data/app/components/spark/input/label.rb +13 -0
- data/app/components/spark/input/switch.html.slim +5 -0
- data/app/components/spark/input/switch.rb +24 -0
- data/app/components/spark/layout/block.html.slim +13 -0
- data/app/components/spark/layout/block.rb +62 -0
- data/app/components/spark/layout/media_block.html.slim +11 -0
- data/app/components/spark/layout/media_block.rb +29 -0
- data/app/components/spark/layout/page.html.slim +15 -0
- data/app/components/spark/layout/page.rb +37 -0
- data/app/components/spark/nav/group.html.slim +5 -0
- data/app/components/spark/nav/group.rb +31 -0
- data/app/components/spark/nav/item.html.slim +12 -0
- data/app/components/spark/nav/item.rb +36 -0
- data/app/components/spark/nav/sidebar.html.slim +14 -0
- data/app/components/spark/nav/sidebar.rb +60 -0
- data/app/components/spark/nav/tab_panels.html.slim +6 -0
- data/app/components/spark/nav/tab_panels.rb +42 -0
- data/app/components/spark/nav/tabs.html.slim +8 -0
- data/app/components/spark/nav/tabs.rb +36 -0
- data/app/components/spark/nav/toggle.html.slim +9 -0
- data/app/components/spark/nav/toggle.rb +20 -0
- data/app/components/spark/nav/tree.html.slim +9 -0
- data/app/components/spark/nav/tree.rb +53 -0
- data/app/components/spark/nav/tree/group.html.slim +9 -0
- data/app/components/spark/nav/tree/group.rb +26 -0
- data/app/components/spark/sticky_panel.html.slim +2 -0
- data/app/components/spark/sticky_panel.rb +12 -0
- data/app/components/spark/toolbar.html.slim +7 -0
- data/app/components/spark/toolbar.rb +14 -0
- data/app/components/spark/tooltip.html.slim +3 -0
- data/app/components/spark/tooltip.rb +13 -0
- data/app/components/spark/trial_notice.html.slim +3 -0
- data/app/components/spark/trial_notice.rb +35 -0
- data/app/components/spark/widget_card.html.slim +5 -0
- data/app/components/spark/widget_card.rb +12 -0
- data/app/helpers/spark/application_helper.rb +9 -0
- data/lib/fleetio_spark.rb +6 -6
- data/lib/fleetio_spark/version.rb +1 -1
- data/public/code-1.0.0.rc.1.js +2 -0
- data/public/code-1.0.0.rc.1.js.gz +0 -0
- data/public/code-1.0.0.rc.1.js.map +1 -0
- data/public/spark-1.0.0.rc.1.css +1 -0
- data/public/spark-1.0.0.rc.1.css.gz +0 -0
- data/public/spark-1.0.0.rc.1.js +2 -0
- data/public/spark-1.0.0.rc.1.js.gz +0 -0
- data/public/spark-1.0.0.rc.1.js.map +1 -0
- metadata +110 -75
- data/app/assets/stylesheets/spark/components/layout/_base.scss +0 -0
- data/app/assets/stylesheets/spark/components/layout/_header.scss +0 -55
- data/app/assets/stylesheets/spark/components/page/_header.scss +0 -9
- data/app/assets/stylesheets/spark/components/page/_main.scss +0 -62
- data/app/assets/stylesheets/spark/components_old/header/_trial-status.scss +0 -61
- data/app/components/spark/app/banner_component.rb +0 -32
- data/app/components/spark/app/content_component.rb +0 -32
- data/app/components/spark/app/header_component.rb +0 -59
- data/app/components/spark/app/layout_component.rb +0 -92
- data/app/components/spark/app/modal_component.rb +0 -5
- data/app/components/spark/app/sidebar/header_component.rb +0 -39
- data/app/components/spark/app/sidebar_component.rb +0 -20
- data/app/components/spark/button/add_component.rb +0 -9
- data/app/components/spark/button/base_component.rb +0 -39
- data/app/components/spark/button/cancel_component.rb +0 -8
- data/app/components/spark/button/danger_component.rb +0 -8
- data/app/components/spark/button/group_component.rb +0 -24
- data/app/components/spark/button/icon_component.rb +0 -14
- data/app/components/spark/button/primary_component.rb +0 -8
- data/app/components/spark/button/text_component.rb +0 -8
- data/app/components/spark/form/checkbox_component.rb +0 -16
- data/app/components/spark/form/input_component.rb +0 -9
- data/app/components/spark/form/label_component.rb +0 -12
- data/app/components/spark/form/switch_component.rb +0 -32
- data/app/components/spark/layout/base_component.rb +0 -2
- data/app/components/spark/layout/grid/column_component.rb +0 -32
- data/app/components/spark/layout/grid_component.rb +0 -37
- data/app/components/spark/layout/header_component.rb +0 -26
- data/app/components/spark/layout/page_component.rb +0 -31
- data/app/components/spark/nav/breadcrumbs_component.rb +0 -2
- data/app/components/spark/nav/group_component.rb +0 -36
- data/app/components/spark/nav/item_component.rb +0 -44
- data/app/components/spark/nav/pills_component.rb +0 -28
- data/app/components/spark/nav/sidebar_component.rb +0 -59
- data/app/components/spark/nav/tab_panels/panel_component.rb +0 -37
- data/app/components/spark/nav/tab_panels/tab_component.rb +0 -13
- data/app/components/spark/nav/tab_panels_component.rb +0 -28
- data/app/components/spark/nav/tabs_component.rb +0 -59
- data/app/components/spark/nav/toggle_component.rb +0 -28
- data/app/components/spark/nav/tree/group_component.rb +0 -35
- data/app/components/spark/nav/tree_component.rb +0 -56
- data/app/components/spark/page/layout_component.rb +0 -32
- data/app/components/spark/page/main_component.rb +0 -39
- data/app/components/spark/ui/card_component.rb +0 -16
- data/app/components/spark/ui/checklist/container_component.rb +0 -56
- data/app/components/spark/ui/checklist/item_component.rb +0 -37
- data/app/components/spark/ui/checklist_trigger_component.rb +0 -20
- data/app/components/spark/ui/icon/_icon.html.erb +0 -0
- data/app/components/spark/ui/icon_component.rb +0 -30
- data/app/components/spark/ui/placeholder_component.rb +0 -105
- data/app/components/spark/ui/sticky_panel_component.rb +0 -9
- data/app/components/spark/ui/toolbar_component.rb +0 -17
- data/app/components/spark/ui/tooltip_component.rb +0 -13
- data/app/components/spark/ui/widget_card_component.rb +0 -13
- data/lib/fleetio_spark/component.rb +0 -36
- data/public/code-0.2.48.js +0 -2
- data/public/code-0.2.48.js.gz +0 -0
- data/public/code-0.2.48.js.map +0 -1
- data/public/spark-0.2.48.css +0 -1
- data/public/spark-0.2.48.css.gz +0 -0
- data/public/spark-0.2.48.js +0 -2
- data/public/spark-0.2.48.js.gz +0 -0
- data/public/spark-0.2.48.js.map +0 -1
File without changes
|
@@ -1,55 +0,0 @@
|
|
1
|
-
.spark-header {
|
2
|
-
padding: $pad-md $pad-lg;
|
3
|
-
font-size: 14px;
|
4
|
-
font-weight: 600;
|
5
|
-
display: flex;
|
6
|
-
|
7
|
-
&-title {
|
8
|
-
display: flex;
|
9
|
-
align-items: center;
|
10
|
-
|
11
|
-
> * {
|
12
|
-
margin: 0 $pad-sm;
|
13
|
-
|
14
|
-
&:first-child { margin-left: 0; }
|
15
|
-
&:last-child { margin-right: 0; }
|
16
|
-
}
|
17
|
-
|
18
|
-
.tooltip {
|
19
|
-
margin-left: 0;
|
20
|
-
}
|
21
|
-
}
|
22
|
-
|
23
|
-
&-badge {
|
24
|
-
display: inline-flex;
|
25
|
-
padding: 0 $pad-base - 1;
|
26
|
-
font-size: .9em;
|
27
|
-
line-height: 1.4em;
|
28
|
-
border-radius: 15px;
|
29
|
-
background: $fl-gray-500;
|
30
|
-
color: #fff;
|
31
|
-
margin-left: $pad-base;
|
32
|
-
text-align: center;
|
33
|
-
}
|
34
|
-
|
35
|
-
.tooltip {
|
36
|
-
color: $fl-gray-200;
|
37
|
-
|
38
|
-
&-text {
|
39
|
-
background: $fl-gray-900;
|
40
|
-
display: none;
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
&-actions {
|
45
|
-
display: flex;
|
46
|
-
margin-left: auto;
|
47
|
-
}
|
48
|
-
|
49
|
-
&-action {
|
50
|
-
margin: 0 $pad-sm;
|
51
|
-
|
52
|
-
&:first-child { margin-left: 0; }
|
53
|
-
&:last-child { margin-right: 0; }
|
54
|
-
}
|
55
|
-
}
|
@@ -1,62 +0,0 @@
|
|
1
|
-
.spark-page-main {
|
2
|
-
$flex-min: 300px;
|
3
|
-
|
4
|
-
padding: 0 $pad-base;
|
5
|
-
position: relative;
|
6
|
-
|
7
|
-
&.nav-active {
|
8
|
-
flex-flow: nowrap;
|
9
|
-
}
|
10
|
-
|
11
|
-
&-sidebar {
|
12
|
-
padding: 0 $pad-base;
|
13
|
-
}
|
14
|
-
|
15
|
-
&-content {
|
16
|
-
padding: $pad-lg $pad-base;
|
17
|
-
z-index: 1;
|
18
|
-
width: 100%;
|
19
|
-
}
|
20
|
-
|
21
|
-
&-body {
|
22
|
-
width: 100%;
|
23
|
-
}
|
24
|
-
|
25
|
-
@include at-least($width-base) {
|
26
|
-
display: flex;
|
27
|
-
|
28
|
-
&-sidebar {
|
29
|
-
padding: $pad-lg $pad-base;
|
30
|
-
}
|
31
|
-
&-sidebar + &-content {
|
32
|
-
padding-left: $pad-lg;
|
33
|
-
}
|
34
|
-
}
|
35
|
-
|
36
|
-
&-nav {
|
37
|
-
padding-bottom: $pad-lg;
|
38
|
-
}
|
39
|
-
|
40
|
-
&-header {
|
41
|
-
padding-bottom: $pad-lg;
|
42
|
-
border-bottom: 1px solid $fl-gray-100;
|
43
|
-
margin-bottom: $pad-lg;
|
44
|
-
}
|
45
|
-
|
46
|
-
&-columns {
|
47
|
-
margin: 0 (-$pad-base);
|
48
|
-
display: flex;
|
49
|
-
flex-flow: wrap;
|
50
|
-
}
|
51
|
-
|
52
|
-
&-column {
|
53
|
-
margin-bottom: $pad-lg;
|
54
|
-
flex-basis: $flex-min;
|
55
|
-
flex-grow: 1;
|
56
|
-
padding: 0 $pad-base;
|
57
|
-
|
58
|
-
p {
|
59
|
-
margin-bottom: $pad-lg;
|
60
|
-
}
|
61
|
-
}
|
62
|
-
}
|
@@ -1,61 +0,0 @@
|
|
1
|
-
.trial-status {
|
2
|
-
display: none;
|
3
|
-
flex-shrink: 0;
|
4
|
-
white-space: nowrap;
|
5
|
-
align-items: center;
|
6
|
-
font-size: 12px;
|
7
|
-
color: $fl-purple-600;
|
8
|
-
|
9
|
-
.trial-status-link {
|
10
|
-
font-weight: 500;
|
11
|
-
text-decoration: none;
|
12
|
-
color: inherit;
|
13
|
-
background-color: transparent;
|
14
|
-
padding: $pad-xs $pad-base;
|
15
|
-
border-radius: 3px;
|
16
|
-
border: 1px solid $fl-purple-100;
|
17
|
-
margin-left: $pad-base;
|
18
|
-
transition-property: background-color, border-color;
|
19
|
-
transition-duration: $duration;
|
20
|
-
transition-timing-function: $timing;
|
21
|
-
|
22
|
-
&:hover,
|
23
|
-
&:focus {
|
24
|
-
background-color: $fl-purple-25;
|
25
|
-
border-color: $fl-purple-200;
|
26
|
-
}
|
27
|
-
}
|
28
|
-
|
29
|
-
@include at-least($width-sm) {
|
30
|
-
display: flex;
|
31
|
-
margin-right: $pad-lg;
|
32
|
-
}
|
33
|
-
|
34
|
-
&.trial-ending-soon {
|
35
|
-
color: $fl-yellow-600;
|
36
|
-
|
37
|
-
.trial-status-link {
|
38
|
-
&,
|
39
|
-
&:hover,
|
40
|
-
&:focus {
|
41
|
-
color: $fl-white;
|
42
|
-
background-color: $fl-yellow-600;
|
43
|
-
border-color: transparent;
|
44
|
-
}
|
45
|
-
}
|
46
|
-
}
|
47
|
-
|
48
|
-
&.trial-ended {
|
49
|
-
color: $fl-red-600;
|
50
|
-
|
51
|
-
.trial-status-link {
|
52
|
-
&,
|
53
|
-
&:hover,
|
54
|
-
&:focus {
|
55
|
-
color: $fl-white;
|
56
|
-
background-color: $fl-red-600;
|
57
|
-
border-color: transparent;
|
58
|
-
}
|
59
|
-
}
|
60
|
-
}
|
61
|
-
}
|
@@ -1,32 +0,0 @@
|
|
1
|
-
class App::BannerComponent < SparkComponents::Component
|
2
|
-
attribute action_text: "Learn more"
|
3
|
-
attribute :message, :href, :icon, :target
|
4
|
-
root_attr role: "banner"
|
5
|
-
base_class "app-banner"
|
6
|
-
|
7
|
-
attribute theme: "message"
|
8
|
-
validates_choice :theme, %w[message alert admin]
|
9
|
-
|
10
|
-
def render
|
11
|
-
add_class theme
|
12
|
-
content_tag(:header, tag_attrs) do
|
13
|
-
concat content_tag(:div, class: join_class("content")) {
|
14
|
-
concat component("ui/icon", name: theme_icon, class: join_class("icon"))
|
15
|
-
concat content_tag(:div, message || self, class: join_class("message"))
|
16
|
-
}
|
17
|
-
if href
|
18
|
-
concat content_tag(:div, class: join_class("action")) {
|
19
|
-
link_to(action_text, href, class: join_class("action-item"), target: target)
|
20
|
-
}
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def theme_icon
|
26
|
-
case theme.to_sym
|
27
|
-
when :message then "message-text"
|
28
|
-
when :alert then "message-alert"
|
29
|
-
when :admin then "admin-user"
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
class App::ContentComponent < SparkComponents::Component
|
2
|
-
base_class "app-content"
|
3
|
-
|
4
|
-
element :header do
|
5
|
-
def render
|
6
|
-
content_tag(:div, @yield, class: parent.join_class('header')) unless @yield.blank?
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
element :nav do
|
11
|
-
def render
|
12
|
-
content_tag(:div, @yield, class: parent.join_class('nav')) unless @yield.blank?
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
element :main do
|
17
|
-
def render
|
18
|
-
content_tag(:div, @yield, class: parent.join_class('main')) unless @yield.blank?
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
element :sidebar, component: 'nav/sidebar'
|
23
|
-
|
24
|
-
def render
|
25
|
-
data_attr scroll: true
|
26
|
-
content_tag(:div, tag_attrs) do
|
27
|
-
concat header
|
28
|
-
concat nav
|
29
|
-
concat @yield
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,59 +0,0 @@
|
|
1
|
-
class App::HeaderComponent < SparkComponents::Component
|
2
|
-
|
3
|
-
element :search
|
4
|
-
element :actions do
|
5
|
-
aria_attr label: "site actions"
|
6
|
-
root_attr role: "navigation"
|
7
|
-
base_class "app-header-actions"
|
8
|
-
end
|
9
|
-
|
10
|
-
def render
|
11
|
-
content_tag(:header, class: "app-header", role: "banner") do
|
12
|
-
concat component("nav/toggle", target: "body, .app-sidebar", class: 'app-sidebar-toggle', icon: 'nav-menu')
|
13
|
-
concat logo
|
14
|
-
concat search
|
15
|
-
if trial || actions
|
16
|
-
concat content_tag(:nav, actions.tag_attrs) {
|
17
|
-
concat trial
|
18
|
-
concat actions
|
19
|
-
}
|
20
|
-
end
|
21
|
-
concat self
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
element :logo do
|
26
|
-
attribute :image, :href
|
27
|
-
|
28
|
-
def render
|
29
|
-
link_to href, class: 'app-header-logo' do
|
30
|
-
image || @view.use_svg('logo', height: '30')
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
element :trial do
|
36
|
-
attribute :end_date, :href
|
37
|
-
base_class "trial-status"
|
38
|
-
|
39
|
-
def render
|
40
|
-
add_class "trial-ended" if days < 1
|
41
|
-
add_class "trial-ending-soon" if 1 <= days && days < 5
|
42
|
-
|
43
|
-
content_tag( :div, tag_attrs ) do
|
44
|
-
concat content_tag( :span, class: 'trial-status-text' ) { text }
|
45
|
-
concat " "
|
46
|
-
concat link_to "Manage", href, class: 'trial-status-link'
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
def days
|
51
|
-
[0, (end_date.to_date - Time.zone.now.to_date).to_i].max
|
52
|
-
end
|
53
|
-
|
54
|
-
def text
|
55
|
-
%(#{@view.pluralize(days, 'day')} left in trial)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
end
|
@@ -1,92 +0,0 @@
|
|
1
|
-
class App::LayoutComponent < SparkComponents::Component
|
2
|
-
base_class "app-wrapper"
|
3
|
-
|
4
|
-
element :content do
|
5
|
-
base_class "app-content"
|
6
|
-
|
7
|
-
def render
|
8
|
-
data_attr scroll: true
|
9
|
-
content_tag(:div, tag_attrs) do
|
10
|
-
concat header
|
11
|
-
concat nav
|
12
|
-
concat @yield
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
element :header do
|
17
|
-
def render
|
18
|
-
content_tag(:div, @yield, class: "app-content-header") unless @yield.blank?
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
element :nav do
|
23
|
-
def render
|
24
|
-
content_tag(:div, @yield, class: "app-content-nav") unless @yield.blank?
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
def render
|
30
|
-
add_class @sidebar ? "with-sidebar" : "without-sidebar"
|
31
|
-
@view.capture do
|
32
|
-
@banner.each { |item| concat(item) } if @banner
|
33
|
-
concat content_tag(:div, tag_attrs) {
|
34
|
-
concat ie_fix
|
35
|
-
concat @sidebar
|
36
|
-
concat content_tag(:div, class: "app-main") {
|
37
|
-
concat @header
|
38
|
-
concat content
|
39
|
-
}
|
40
|
-
}
|
41
|
-
#concat content_tag(:div, content_for(:modals), class: "app-modals") if @view.content_for?(:modals)
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def render
|
46
|
-
add_class @sidebar ? "with-sidebar" : "without-sidebar"
|
47
|
-
@view.capture do
|
48
|
-
@banner.each { |item| concat(item) } if @banner
|
49
|
-
concat content_tag(:div, tag_attrs) {
|
50
|
-
concat ie_fix
|
51
|
-
concat @sidebar
|
52
|
-
concat content_tag(:div, class: "app-main") {
|
53
|
-
concat @header
|
54
|
-
concat content
|
55
|
-
}
|
56
|
-
}
|
57
|
-
concat content_tag(:div, content_for(:modals), class: "app-modals") if @view.content_for?(:modals)
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
def sidebar(options, &block)
|
62
|
-
@sidebar = compose("app/sidebar", options, &block)
|
63
|
-
end
|
64
|
-
|
65
|
-
def header(options, &block)
|
66
|
-
@header = compose("app/header", options, &block)
|
67
|
-
end
|
68
|
-
|
69
|
-
def banner(options, &block)
|
70
|
-
@banner ||= []
|
71
|
-
@banner.push compose("app/banner", options, &block)
|
72
|
-
end
|
73
|
-
|
74
|
-
def compose(name, options, &block)
|
75
|
-
if options[:render]
|
76
|
-
@view.render(options[:render])
|
77
|
-
else
|
78
|
-
component(name, options, &block)
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
def ie_fix
|
83
|
-
content_tag(:script) do
|
84
|
-
%((function(){
|
85
|
-
if (!!(navigator.userAgent.match(/Trident/) && navigator.userAgent.match(/rv[ :]11/))) {
|
86
|
-
var wrapper = document.querySelector('.app-wrapper')
|
87
|
-
wrapper.style.flexBasis = "calc(100vh - "+wrapper.offsetTop+"px)";
|
88
|
-
}
|
89
|
-
})()).html_safe
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
class App::Sidebar::HeaderComponent < SparkComponents::Component
|
2
|
-
attribute :account, :contact, :avatar
|
3
|
-
base_class "app-sidebar-header"
|
4
|
-
add_class "dropdown"
|
5
|
-
|
6
|
-
def render
|
7
|
-
@view.capture do
|
8
|
-
concat content_tag(:header, tag_attrs) {
|
9
|
-
if account && contact && avatar
|
10
|
-
concat content_tag(:a, class: "dropdown-toggle", href: "javascript:void(0)", "data-toggle" => "dropdown") {
|
11
|
-
concat content_tag(:div, class: "details") {
|
12
|
-
concat account_tag
|
13
|
-
concat icon
|
14
|
-
concat user_tag
|
15
|
-
}
|
16
|
-
concat avatar_tag
|
17
|
-
}
|
18
|
-
end
|
19
|
-
concat @yield
|
20
|
-
}
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def account_tag
|
25
|
-
content_tag(:div, account, class: "account-name")
|
26
|
-
end
|
27
|
-
|
28
|
-
def user_tag
|
29
|
-
content_tag(:div, contact, class: "user-name")
|
30
|
-
end
|
31
|
-
|
32
|
-
def avatar_tag
|
33
|
-
content_tag(:div, avatar, class: "user-avatar")
|
34
|
-
end
|
35
|
-
|
36
|
-
def icon
|
37
|
-
@view.use_svg('chevron-down', width: '9', class: 'dropdown-icon')
|
38
|
-
end
|
39
|
-
end
|