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 +4 -4
- data/assets/script/script_load_select2.js.coffee +37 -16
- data/config/admin.yml +5 -0
- data/data/files/mod_bootstrap_script_asset_output/file.js +1 -1
- data/data/transform/20220514141025_remove_customized_bootswatch_skins.rb +1 -1
- data/lib/card/bootstrap/component/carousel.rb +18 -14
- data/set/abstract/bs_badge/labeled_badge.haml +1 -1
- data/set/all/bootstrap/icon.rb +11 -0
- data/set/all/bootstrap/navbar.rb +3 -0
- data/set/type_plus_right/bootswatch_skin/colors.rb +2 -2
- metadata +15 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e75d49334750d08d7281d83ae2df00c09b9efa388ce1de84912d6530cd7e8813
|
4
|
+
data.tar.gz: 16435f680eac6f6eab99cefb7fa05687726a27d124ab98de8acf2e632208b808
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
16
|
+
initSingleSelect2($(single_el)) for single_el in elem
|
17
17
|
else
|
18
|
-
|
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
@@ -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(){
|
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(
|
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" => "
|
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"
|
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
|
-
|
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
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
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.
|
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"
|
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.
|
77
|
+
@html.button html_opts
|
74
78
|
end
|
75
79
|
end
|
76
80
|
end
|
data/set/all/bootstrap/icon.rb
CHANGED
@@ -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
|
|
data/set/all/bootstrap/navbar.rb
CHANGED
@@ -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|
|
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.
|
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:
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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: '
|
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.
|
3963
|
+
rubygems_version: 3.5.10
|
3963
3964
|
signing_key:
|
3964
3965
|
specification_version: 4
|
3965
3966
|
summary: Bootstrap
|