card-mod-bootstrap 0.16.0 → 0.17.0

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: 65c3edd6e18e607b53c39c1a815386fb26af21c2d628dd93dd8b870742610525
4
- data.tar.gz: 503036793a7ba7e553f34682bc522713f9c440fe01a9abde020c0d2889aebb85
3
+ metadata.gz: e75d49334750d08d7281d83ae2df00c09b9efa388ce1de84912d6530cd7e8813
4
+ data.tar.gz: 16435f680eac6f6eab99cefb7fa05687726a27d124ab98de8acf2e632208b808
5
5
  SHA512:
6
- metadata.gz: b738342bfbb3a06fe1ec7296a0412dbc5882e0281fee6013e016a2cd370010fd66b34243c2ac28cb06f66c3db65198ccf721b2d44d35f5fa94aa7a9182656b02
7
- data.tar.gz: d93b189158a69ebebd467716eea64eda38209f75fe599b42e5e4a2ce94b860afd5d1b8ff30a084d60eb6fae120716f288fda2c6a192b29bd1fbfe78ac5d4d4fd
6
+ metadata.gz: 7f8088224e8c574c4087bb432a642ed2fb38313268f3fc41095a51256c2dbb0ed1fe5f13c65026579f66bcc5e7eaa8c336ec23f09eaa3a7ad9fb7bc11bcfa658
7
+ data.tar.gz: 73cc985c31dd5692fba9525e7341ed9399619a888d37c30d88c686f7ad63f5c20582db5da3072af158cdcc10b3cd8a273ddfaf26e7a321981ead35343092123f
@@ -13,25 +13,11 @@ $.extend decko,
13
13
  if elem.length == 0
14
14
  return
15
15
  else if elem.length > 1
16
- decko.initSelect2($(single_el)) for single_el in elem
16
+ initSingleSelect2($(single_el)) for single_el in elem
17
17
  else
18
- opts = {
19
- dropdownAutoWidth: "true",
20
- # containerCssClass: ":all:",
21
- width: "auto",
22
- dropdownParent: elem.parent()
23
- }
18
+ initSingleSelect2 elem
24
19
 
25
- elem.attr "id", decko.uniqSelect2Id(elem.attr("id"))
26
20
 
27
- if elem.hasClass("tags")
28
- opts.tags = "true"
29
- if elem.data("placeholder")
30
- opts.placeholder = elem.data("placeholder")
31
- if elem.data("minimum-results-for-search")?
32
- opts.minimumResultsForSearch = elem.data("minimum-results-for-search")
33
-
34
- elem.select2(opts)
35
21
 
36
22
  uniqSelect2Id: (id) ->
37
23
  return id unless $("[data-select2-id=" + id + "]").length > 0
@@ -64,3 +50,38 @@ $.fn.extend
64
50
  @select2 "destroy"
65
51
  @removeAttr "data-select2-id"
66
52
  @find("option").removeAttr "data-select2-id"
53
+
54
+
55
+ initSingleSelect2 = (elem) ->
56
+ opts = {
57
+ dropdownAutoWidth: "true",
58
+ # containerCssClass: ":all:",
59
+ width: "auto",
60
+ dropdownParent: elem.parent()
61
+ }
62
+
63
+ elem.attr "id", decko.uniqSelect2Id(elem.attr("id"))
64
+
65
+ if elem.hasClass("tags")
66
+ opts.tags = "true"
67
+ if elem.data("placeholder")
68
+ opts.placeholder = elem.data("placeholder")
69
+ if elem.data("minimum-results-for-search")?
70
+ opts.minimumResultsForSearch = elem.data("minimum-results-for-search")
71
+ if elem.data("options-card")
72
+ opts.ajax =
73
+ delay: 200
74
+ cache: true
75
+ url: decko.path elem.data("options-card")
76
+ processResults: (data) ->
77
+ results: $.map(data, (card, i) ->
78
+ { id: "~" + card.id, text: card.name }
79
+ )
80
+ data: (params) ->
81
+ term: params.term
82
+ format: "json"
83
+ view: "name_match"
84
+ slot: { items: { view: "nucleus" } }
85
+
86
+
87
+ elem.select2(opts)
data/config/admin.yml ADDED
@@ -0,0 +1,5 @@
1
+ cardtypes:
2
+ styling:
3
+ - bootswatch_skin
4
+ views:
5
+ - carousel
@@ -12,7 +12,7 @@ const i=this._directionToOrder(t),n=Ce.findOne(ai,this._element),s=this._getItem
12
12
  // decko_popover.js.coffee
13
13
  (function(){$(window).ready(function(){return $("body").on("show.bs.popover","._card-menu-popover",function(){return $(this).closest(".card-menu._show-on-hover").removeClass("_show-on-hover").addClass("_show-on-hover-disabled")}),$("body").on("hide.bs.popover","._card-menu-popover",function(){return $(this).closest(".card-menu._show-on-hover-disabled").removeClass("_show-on-hover-disabled").addClass("_show-on-hover")})}),decko.slot.ready(function(o){return o.find('[data-tooltip="true"]').tooltip(),o.find('[data-bs-toggle="popover"]').popover({html:!0})})}).call(this);
14
14
  // script_load_select2.js.coffee
15
- (function(){$.fn.select2.defaults.set("theme","bootstrap-5"),decko.slot.ready(function(e){return e.find("select:not(._no-select2):not(._no-select2-init)").each(function(){return decko.initSelect2($(this))})}),decko.slot.destroy(function(e){return e.find("select:not(._no-select2)").each(function(){return $(this).deInitSelect2()})}),$.extend(decko,{initSelect2:function(e){var t,n,i,c,o;if(0!==e.length){if(e.length>1){for(c=[],t=0,n=e.length;t<n;t++)o=e[t],c.push(decko.initSelect2($(o)));return c}return i={dropdownAutoWidth:"true",width:"auto",dropdownParent:e.parent()},e.attr("id",decko.uniqSelect2Id(e.attr("id"))),e.hasClass("tags")&&(i.tags="true"),e.data("placeholder")&&(i.placeholder=e.data("placeholder")),null!=e.data("minimum-results-for-search")&&(i.minimumResultsForSearch=e.data("minimum-results-for-search")),e.select2(i)}},uniqSelect2Id:function(e){return $("[data-select2-id="+e+"]").length>0?decko.uniqSelect2Id(e+"1"):e}}),$(window).ready(function(){return $("body").on("select2:select","._go-to-selected",function(){var e;if(""!==(e=$(this).val()))return window.location=decko.path(escape(e))}),$("body").on("select2:select","._submit-on-select",function(e){return $(e.target).closest("form").submit()})}),$.fn.extend({cloneSelect2:function(e,t){var n,i;return(i=this.is("select")?this:this.find("select")).deInitSelect2(),n=this.clone(e,t),decko.initSelect2(i),n.is("select")?decko.initSelect2(n):decko.initSelect2(n.find("select")),n},deInitSelect2:function(){if(this.attr("data-select2-id"))return this.select2("destroy"),this.removeAttr("data-select2-id"),this.find("option").removeAttr("data-select2-id")}})}).call(this);
15
+ (function(){var t;$.fn.select2.defaults.set("theme","bootstrap-5"),decko.slot.ready(function(t){return t.find("select:not(._no-select2):not(._no-select2-init)").each(function(){return decko.initSelect2($(this))})}),decko.slot.destroy(function(t){return t.find("select:not(._no-select2)").each(function(){return $(this).deInitSelect2()})}),$.extend(decko,{initSelect2:function(e){var n,i,c,o;if(0!==e.length){if(e.length>1){for(c=[],n=0,i=e.length;n<i;n++)o=e[n],c.push(t($(o)));return c}return t(e)}},uniqSelect2Id:function(t){return $("[data-select2-id="+t+"]").length>0?decko.uniqSelect2Id(t+"1"):t}}),$(window).ready(function(){return $("body").on("select2:select","._go-to-selected",function(){var t;if(""!==(t=$(this).val()))return window.location=decko.path(escape(t))}),$("body").on("select2:select","._submit-on-select",function(t){return $(t.target).closest("form").submit()})}),$.fn.extend({cloneSelect2:function(t,e){var n,i;return(i=this.is("select")?this:this.find("select")).deInitSelect2(),n=this.clone(t,e),decko.initSelect2(i),n.is("select")?decko.initSelect2(n):decko.initSelect2(n.find("select")),n},deInitSelect2:function(){if(this.attr("data-select2-id"))return this.select2("destroy"),this.removeAttr("data-select2-id"),this.find("option").removeAttr("data-select2-id")}}),t=function(t){var e;return e={dropdownAutoWidth:"true",width:"auto",dropdownParent:t.parent()},t.attr("id",decko.uniqSelect2Id(t.attr("id"))),t.hasClass("tags")&&(e.tags="true"),t.data("placeholder")&&(e.placeholder=t.data("placeholder")),null!=t.data("minimum-results-for-search")&&(e.minimumResultsForSearch=t.data("minimum-results-for-search")),t.data("options-card")&&(e.ajax={delay:200,cache:!0,url:decko.path(t.data("options-card")),processResults:function(t){return{results:$.map(t,function(t){return{id:"~"+t.id,text:t.name}})}},data:function(t){return{term:t.term,format:"json",view:"name_match",slot:{items:{view:"nucleus"}}}}}),t.select2(e)}}).call(this);
16
16
  // bootstrap-colorpicker.min.js
17
17
  /*!
18
18
  * Bootstrap Colorpicker v2.5.2
@@ -9,7 +9,7 @@ class RemoveCustomizedBootswatchSkins < Cardio::Migration::Transform
9
9
  end
10
10
 
11
11
  def convert_bootswatch_skins
12
- Card.search(type_id: ::Card::CustomizedBootswatchSkinID) do |card|
12
+ Card.search(type: :customized_bootswatch_skin) do |card|
13
13
  update_args = { type_id: Card::BootswatchSkinID, skip: :asset_input_changed }
14
14
  parent = find_parent(card.name)
15
15
  if parent && parent.id != card.id
@@ -12,7 +12,7 @@ class Card
12
12
  @items = []
13
13
  instance_exec(&block)
14
14
 
15
- @html.div class: "carousel slide", id: id, "data-ride" => "carousel" do
15
+ @html.div class: "carousel slide", id: id, "data-bs-ride" => "true" do
16
16
  indicators
17
17
  items
18
18
  control_prev
@@ -25,7 +25,7 @@ class Card
25
25
  end
26
26
 
27
27
  def items
28
- @html.div class: "carousel-inner", role: "listbox" do
28
+ @html.div class: "carousel-inner" do
29
29
  @items.each_with_index do |item, index|
30
30
  carousel_item item, carousel_item_opts(index)
31
31
  end
@@ -46,31 +46,35 @@ class Card
46
46
  end
47
47
 
48
48
  def control_prev
49
- @html.a class: "carousel-control-prev", href: "##{@id}", role: "button",
50
- "data-slide" => "prev" do
51
- @html.span class: "carousel-control-prev-icon", "aria-hidden" => "true"
52
- @html.span "Previous", class: "sr-only"
53
- end
49
+ control_button :prev, "Previous"
54
50
  end
55
51
 
56
52
  def control_next
57
- @html.a class: "carousel-control-next", href: "##{@id}", role: "button",
58
- "data-slide": "next" do
59
- @html.span class: "carousel-control-next-icon", "aria-hidden" => "true"
60
- @html.span "Next", class: "sr-only"
53
+ control_button :next, "Next"
54
+ end
55
+
56
+ def control_button direction, description
57
+ @html.button class: "carousel-control-#{direction}",
58
+ "data-bs-target": "##{@id}", type: "button" do
59
+ @html.span class: "carousel-control-#{direction}-icon",
60
+ "aria-hidden": "true" do
61
+ ""
62
+ end
63
+ @html.span description, class: "visually-hidden"
61
64
  end
62
65
  end
63
66
 
64
67
  def indicators
65
- @html.ol class: "carousel-indicators" do
68
+ @html.div class: "carousel-indicators" do
66
69
  @items.size.times { |i| indicator i }
67
70
  end
68
71
  end
69
72
 
70
73
  def indicator index
71
- html_opts = { "data-slide-to" => index, "data-bs-target": "##{@id}" }
74
+ html_opts = { "data-bs-slide-to": index, "data-bs-target": "##{@id}",
75
+ type: "button", "aria-label": "Slide #{index + 1}" }
72
76
  add_class html_opts, "active" if index == @active_item_index
73
- @html.li html_opts
77
+ @html.button html_opts
74
78
  end
75
79
  end
76
80
  end
@@ -1,4 +1,4 @@
1
- %span.labeled-badge{ class: klass, title: title }
1
+ %span.labeled-badge{ class: klass, title: title, "data-bs-toggle": "tooltip", "data-bs-placement": "bottom" }
2
2
  %label
3
3
  = label
4
4
  %span.badge{ class: "bg-#{color}" }
@@ -85,6 +85,17 @@ basket[:icons] = {
85
85
  format :html do
86
86
  view :icons, template: :haml
87
87
 
88
+ # Generates an HTML tag for an icon with optional parameters.
89
+ #
90
+ # @param [String] icon_key The key representing the desired icon.
91
+ # @param [Hash] opts The options for the icon tag.
92
+ # @option opts [String] :class Additional CSS classes for the icon tag.
93
+ # @option opts [String] :style Additional inline styles for the icon tag.
94
+ #
95
+ # @return [String] The HTML code for the icon tag.
96
+ #
97
+ # @example
98
+ # icon_tag(:heart, class: 'favorite-icon', style: 'color: red')
88
99
  def icon_tag icon_key, opts={}
89
100
  return "" unless icon_key.present?
90
101
 
@@ -40,6 +40,9 @@ format :html do
40
40
  end
41
41
  end
42
42
 
43
+ # Generates HTML markup for a breadcrumb trail.
44
+ # @param items [list]: A list of items representing the breadcrumb trail.
45
+ # @return [String] HTML markup for the breadcrumb trail.
43
46
  def breadcrumb items
44
47
  wrap_with :ol, class: "breadcrumb" do
45
48
  items.map do |item|
@@ -63,11 +63,11 @@ def virtual?
63
63
  new?
64
64
  end
65
65
 
66
- def ok_to_create
66
+ def ok_to_create?
67
67
  left.parent? && super
68
68
  end
69
69
 
70
- def ok_to_update
70
+ def ok_to_update?
71
71
  left.parent? && super
72
72
  end
73
73
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: card-mod-bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan McCutchen
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-11-18 00:00:00.000000000 Z
13
+ date: 2024-06-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: card
@@ -18,70 +18,70 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.106.0
21
+ version: 1.107.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 1.106.0
28
+ version: 1.107.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: card-mod-edit
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.16.0
35
+ version: 0.17.0
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.16.0
42
+ version: 0.17.0
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: card-mod-bar_and_box
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: 0.16.0
49
+ version: 0.17.0
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: 0.16.0
56
+ version: 0.17.0
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: card-mod-style
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - '='
62
62
  - !ruby/object:Gem::Version
63
- version: 0.16.0
63
+ version: 0.17.0
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - '='
69
69
  - !ruby/object:Gem::Version
70
- version: 0.16.0
70
+ version: 0.17.0
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: card-mod-script
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - '='
76
76
  - !ruby/object:Gem::Version
77
- version: 0.16.0
77
+ version: 0.17.0
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - '='
83
83
  - !ruby/object:Gem::Version
84
- version: 0.16.0
84
+ version: 0.17.0
85
85
  description: ''
86
86
  email:
87
87
  - info@decko.org
@@ -102,6 +102,7 @@ files:
102
102
  - assets/style/font_awesome.css
103
103
  - assets/style/manifest.yml
104
104
  - assets/style/material_icons.css
105
+ - config/admin.yml
105
106
  - config/locales/de.yml
106
107
  - config/locales/en.yml
107
108
  - data/files/cerulean_skin_image/image-icon.png
@@ -3952,14 +3953,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
3952
3953
  requirements:
3953
3954
  - - ">="
3954
3955
  - !ruby/object:Gem::Version
3955
- version: '2.5'
3956
+ version: '3.0'
3956
3957
  required_rubygems_version: !ruby/object:Gem::Requirement
3957
3958
  requirements:
3958
3959
  - - ">="
3959
3960
  - !ruby/object:Gem::Version
3960
3961
  version: '0'
3961
3962
  requirements: []
3962
- rubygems_version: 3.4.10
3963
+ rubygems_version: 3.5.10
3963
3964
  signing_key:
3964
3965
  specification_version: 4
3965
3966
  summary: Bootstrap