matestack-ui-bootstrap 3.1.2 → 3.2.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: de594c45ae1893c59fa7bd32facd82ed54b446771c432ad1265153ce6603d28e
4
- data.tar.gz: 30094bc99f948a96d5bef2853c9f0e4092d5230821bcabae9ae7a50999f7e396
3
+ metadata.gz: 4e2e524d1b06bb253accbeffe605bf69d001d2da8cdffd908bd73ff0b5310443
4
+ data.tar.gz: a2f16babea258baccc4c020dec5922ba38342928f0d51369f7524c02e54c17fc
5
5
  SHA512:
6
- metadata.gz: 6a36a3c8e36ca4448d9d3f07f5e5b85500518eb4980e3c2aa1ee9b3b4bd7deef73ae2f667215a967dd5c251695b554e210a444a8848ede80dade5e8f8ebb0b19
7
- data.tar.gz: 3c2ca65d26f4ce1b8ec52eb7a6bfc1f8c4a0d32047433a4e3708b245def8f8143e78410e0d812569ca1557a1ae9c1a333c8d7e57eefa6736ad554ae90c5fc6af
6
+ metadata.gz: ddee9d2f3f7468773bedffcf320dddd4ea812c3e95dbe72d0ac254154c5d62f5f8b5a37ec2ca65722d74ec2e98c8fc775e35407d2d755c8a41ca40a41bc13419
7
+ data.tar.gz: 99469b732c22cf31eb20acc73d68eefaf3f5670c67607928996a9f73cf080458b87b1d2face5940df1739ada0c7ca33157cf2da5a07fbc6821f8a73aa3185b26
@@ -17,6 +17,7 @@ class Matestack::Ui::Bootstrap::Components::Modal < Matestack::Ui::Bootstrap::Ba
17
17
  optional :static, :keyboard, :scrollable, :centered
18
18
  optional :modal_dialog_class
19
19
  optional :id
20
+ optional class: { as: :bs_class }
20
21
  # event trigger
21
22
  optional :toggle_on, :show_on, :hide_on, :handle_update_on, :dispose_on
22
23
 
@@ -0,0 +1,70 @@
1
+ import * as bootstrap from 'bootstrap'
2
+ import MatestackUiVueJs from 'matestack-ui-vuejs'
3
+
4
+ const offcanvasComponent = {
5
+ mixins: [MatestackUiVueJs.componentMixin],
6
+ template: MatestackUiVueJs.componentHelpers.inlineTemplate,
7
+
8
+ data() {
9
+ return {
10
+ offcanvasInstance: undefined,
11
+ };
12
+ },
13
+
14
+ methods: {
15
+ toggle: function (){
16
+ this.offcanvasInstance.toggle()
17
+ },
18
+ show: function (){
19
+ this.offcanvasInstance.show()
20
+ },
21
+ hide: function (){
22
+ this.offcanvasInstance.hide()
23
+ }
24
+ },
25
+
26
+ mounted: function() {
27
+ const self = this
28
+ const offcanvasElement = self.getElement()
29
+ self.offcanvasInstance = new bootstrap.Offcanvas(offcanvasElement)
30
+ },
31
+
32
+ created: function() {
33
+ const self = this
34
+ var eventHub = MatestackUiVueJs.eventHub;
35
+ // toggle_on event registration
36
+ if(self.props["toggle_on"] != undefined){
37
+ var toggle_events = self.props["toggle_on"].split(",")
38
+ toggle_events.forEach(toggle_event => eventHub.$on(toggle_event.trim(), self.toggle));
39
+ }
40
+ // show_on event registration
41
+ if(self.props["show_on"] != undefined){
42
+ var show_events = self.props["show_on"].split(",")
43
+ show_events.forEach(show_event => eventHub.$on(show_event.trim(), self.show));
44
+ }
45
+ // hide_on event registration
46
+ if(self.props["hide_on"] != undefined){
47
+ var hide_events = self.props["hide_on"].split(",")
48
+ hide_events.forEach(hide_event => eventHub.$on(hide_event.trim(), self.hide));
49
+ }
50
+ },
51
+
52
+ beforeUnmount: function() {
53
+ const self = this
54
+ var eventHub = MatestackUiVueJs.eventHub;
55
+ if(self.props["toggle_on"] != undefined){
56
+ var toggle_events = self.props["toggle_on"].split(",")
57
+ toggle_events.forEach(toggle_event => eventHub.$off(toggle_event.trim(), self.toggle));
58
+ }
59
+ if(self.props["show_on"] != undefined){
60
+ var show_events = self.props["show_on"].split(",")
61
+ show_events.forEach(show_event => eventHub.$off(show_event.trim(), self.show));
62
+ }
63
+ if(self.props["hide_on"] != undefined){
64
+ var hide_events = self.props["hide_on"].split(",")
65
+ hide_events.forEach(hide_event => eventHub.$off(hide_event.trim(), self.hide));
66
+ }
67
+ },
68
+ }
69
+
70
+ export default offcanvasComponent
@@ -0,0 +1,61 @@
1
+ require_relative "../base_vue_js_component"
2
+
3
+ class Matestack::Ui::Bootstrap::Components::Offcanvas < Matestack::Ui::Bootstrap::BaseVueJsComponent
4
+
5
+ vue_name 'matestack-ui-bootstrap-offcanvas'
6
+
7
+ optional :id
8
+ optional class: { as: :bs_class }
9
+ optional :placement # start, end, top, bottom - default: start
10
+ optional :scroll # true, false - default: false
11
+ optional :backdrop # true, false - default: true
12
+ optional :static_title # any string - default: ""
13
+
14
+ optional :toggle_on, :show_on, :hide_on, :handle_update_on, :dispose_on
15
+
16
+
17
+ def response
18
+ div offcanvas_attributes do
19
+ div class: "offcanvas-header" do
20
+ h5 class:"offcanvas-title", id: "#{context.id}Label", text: "#{context.static_title}"
21
+ button type: "button", class:"btn-close", "data-bs-dismiss": "offcanvas", "aria-label": "Close"
22
+ end
23
+ div class:"offcanvas-body" do
24
+ yield
25
+ end
26
+ end
27
+ end
28
+
29
+ protected
30
+
31
+ def offcanvas_attributes
32
+ attributes = {}.tap do |hash|
33
+ hash[:id] = context.id
34
+ hash[:class] = offcanvas_classes
35
+ hash[:attributes] = { 'tabindex': "-1", 'aria-labelledby': "#{context.id}Label" }
36
+ hash[:data] = {}.tap do |data|
37
+ data["bs-scroll"] = "#{context.scroll&.to_s || "false"}"
38
+ data["bs-backdrop"] = "#{context.backdrop&.to_s || "true"}"
39
+ end
40
+ end
41
+ options.merge(
42
+ attributes
43
+ )
44
+ end
45
+
46
+ def offcanvas_classes
47
+ [].tap do |classes|
48
+ classes << "offcanvas offcanvas-#{context.placement || 'start'}"
49
+ classes << context.bs_class
50
+ end.join(' ').strip
51
+ end
52
+
53
+ def vue_props
54
+ {}.tap do |props|
55
+ props[:toggle_on] = context.toggle_on
56
+ props[:show_on] = context.show_on
57
+ props[:hide_on] = context.hide_on
58
+ end
59
+ end
60
+
61
+ end
@@ -10,6 +10,7 @@ import carouselComponent from './components/carousel'
10
10
  import collapseComponent from './components/collapse'
11
11
  import dropdownComponent from './components/dropdown'
12
12
  import modalComponent from './components/modal'
13
+ import offcanvasComponent from './components/offcanvas'
13
14
  import popoverComponent from './components/popover'
14
15
  import toastComponent from './components/toast'
15
16
  import tooltipComponent from './components/tooltip'
@@ -23,6 +24,7 @@ const registerComponents = function(appInstance){
23
24
  appInstance.component('matestack-ui-bootstrap-collapse', collapseComponent)
24
25
  appInstance.component('matestack-ui-bootstrap-dropdown', dropdownComponent)
25
26
  appInstance.component('matestack-ui-bootstrap-modal', modalComponent)
27
+ appInstance.component('matestack-ui-bootstrap-offcanvas', offcanvasComponent)
26
28
  appInstance.component('matestack-ui-bootstrap-popover', popoverComponent)
27
29
  appInstance.component('matestack-ui-bootstrap-toast', toastComponent)
28
30
  appInstance.component('matestack-ui-bootstrap-tooltip', tooltipComponent)
@@ -64,8 +64,8 @@ module Matestack::Ui::Bootstrap::Registry
64
64
  Matestack::Ui::Bootstrap::Components::Navbar.(text, options, &block)
65
65
  end
66
66
 
67
- def bs_pagination(text=nil, options=nil, &block)
68
- Matestack::Ui::Bootstrap::Components::Pagination.(text, options, &block)
67
+ def bs_offcanvas(text=nil, options=nil, &block)
68
+ Matestack::Ui::Bootstrap::Components::Offcanvas.(text, options, &block)
69
69
  end
70
70
 
71
71
  def bs_page_heading(text=nil, options=nil, &block)
@@ -54,7 +54,6 @@
54
54
 
55
55
  .content-wrapper{
56
56
  position: relative;
57
- z-index: 1;
58
57
  min-height: 101vh;
59
58
  transition: 0.5s;
60
59
  &.sidebar-open{
@@ -1,7 +1,7 @@
1
1
  module Matestack
2
2
  module Ui
3
3
  module Bootstrap
4
- VERSION = '3.1.2'
4
+ VERSION = '3.2.0.beta1'
5
5
  end
6
6
  end
7
7
  end
@@ -72,6 +72,7 @@ require "#{base_path}/components/popover"
72
72
  require "#{base_path}/components/badge"
73
73
  require "#{base_path}/components/button_group"
74
74
  require "#{base_path}/components/icon"
75
+ require "#{base_path}/components/offcanvas"
75
76
 
76
77
  module Matestack
77
78
  module Ui
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: matestack-ui-bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.2
4
+ version: 3.2.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Jabari
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-08 00:00:00.000000000 Z
11
+ date: 2022-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: matestack-ui-core
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 3.1.0
33
+ version: 3.2.0.beta.pre.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 3.1.0
40
+ version: 3.2.0.beta.pre.1
41
41
  description: Bootstrap v5 components for Matestack UI
42
42
  email:
43
43
  - jonas@matestack.io
@@ -74,6 +74,8 @@ files:
74
74
  - lib/matestack/ui/bootstrap/components/modal.js
75
75
  - lib/matestack/ui/bootstrap/components/modal.rb
76
76
  - lib/matestack/ui/bootstrap/components/navbar.rb
77
+ - lib/matestack/ui/bootstrap/components/offcanvas.js
78
+ - lib/matestack/ui/bootstrap/components/offcanvas.rb
77
79
  - lib/matestack/ui/bootstrap/components/page_heading.rb
78
80
  - lib/matestack/ui/bootstrap/components/pagination.rb
79
81
  - lib/matestack/ui/bootstrap/components/popover.js
@@ -129,9 +131,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
129
131
  version: '0'
130
132
  required_rubygems_version: !ruby/object:Gem::Requirement
131
133
  requirements:
132
- - - ">="
134
+ - - ">"
133
135
  - !ruby/object:Gem::Version
134
- version: '0'
136
+ version: 1.3.1
135
137
  requirements: []
136
138
  rubygems_version: 3.2.15
137
139
  signing_key: