card-mod-edit 0.15.3 → 0.15.5
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/assets/script/{bridge.js.coffee → board.js.coffee} +6 -6
- data/assets/script/doubleclick.js.coffee +1 -1
- data/assets/style/{bridge.scss → board.scss} +24 -16
- data/assets/style/edit.scss +1 -1
- data/data/files/mod_edit_script_asset_output/file.js +3 -3
- data/set/all/board/board.haml +8 -0
- data/set/all/board/board_pills.rb +47 -0
- data/set/all/{bridge → board}/follow_section.rb +9 -9
- data/set/all/{bridge → board}/tab_views.rb +2 -2
- data/set/all/{bridge → board}/tab_visibility.rb +2 -2
- data/set/all/{bridge.rb → board.rb} +27 -27
- data/set/all/edit_content.rb +1 -1
- data/set/all/edit_inline/edit_row.haml +7 -0
- data/set/all/edit_inline.rb +8 -8
- data/set/all/edit_type.rb +3 -3
- data/set/all/editing.rb +5 -5
- data/set/all/new.rb +1 -1
- data/set/all/overlay_guide.rb +1 -1
- metadata +18 -17
- data/set/all/bridge/bridge.haml +0 -8
- data/set/all/bridge/bridge_pills.rb +0 -47
- /data/set/all/{bridge → board}/related_section.rb +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 725ae3cc85e3dd44646cb7d24a95e289e52f4e4f594cd880953803108601e28a
|
|
4
|
+
data.tar.gz: 9f33c8db6e9f970359760a59c6629a536be0d9d7d46a2b09c61e5173f5be042e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a17700979be6d82b84190ec04c93ee00b0643eb297a6c1baaeea1b8f7b4de51f42fb20822f277d2c360c93ba3ff37b5e09c9777647d5a79bc767017e474eae03
|
|
7
|
+
data.tar.gz: 79c835748853ea1c87091a4a0a1b4eb581a59ed66c413e9888edbda9713721edf6e42352ce83c6479daa2b490d04c51c44475b28b20d3eb6db6848aea011af1b
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
decko.slot.ready (slot, slotter) ->
|
|
2
|
-
slot.
|
|
2
|
+
slot.updateBoard(false, slotter)
|
|
3
3
|
|
|
4
4
|
links = slot.find('ul._auto-single-select > li.nav-item > a.nav-link')
|
|
5
5
|
if links.length == 1
|
|
6
6
|
$(links[0]).click()
|
|
7
7
|
|
|
8
8
|
jQuery.fn.extend
|
|
9
|
-
# overlayClosed=true means the
|
|
9
|
+
# overlayClosed=true means the board update was
|
|
10
10
|
# triggered by closing an overlay
|
|
11
|
-
|
|
12
|
-
return unless @closest(".
|
|
11
|
+
updateBoard: (overlayClosed=false, slotter) ->
|
|
12
|
+
return unless @closest(".board").length > 0
|
|
13
13
|
if @data("breadcrumb")
|
|
14
14
|
@updateBreadcrumb()
|
|
15
15
|
else if slotter and $(slotter).data("breadcrumb")
|
|
16
16
|
$(slotter).updateBreadcrumb()
|
|
17
17
|
|
|
18
18
|
if overlayClosed
|
|
19
|
-
$(".
|
|
19
|
+
$(".board-pills > .nav-item > .nav-link.active").removeClass("active")
|
|
20
20
|
|
|
21
21
|
updateBreadcrumb: () ->
|
|
22
|
-
bc_item = $(".modal-header .
|
|
22
|
+
bc_item = $(".modal-header ._board-breadcrumb li:last-child")
|
|
23
23
|
bc_item.text(this.data("breadcrumb"))
|
|
24
24
|
bc_item.attr("class", "breadcrumb-item active #{this.data('breadcrumb-class')}")
|
|
25
25
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
//
|
|
2
|
+
// Board
|
|
3
3
|
._modal-stack {
|
|
4
4
|
z-index: 1010;
|
|
5
5
|
}
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
$
|
|
21
|
+
$board-line-color: $border-color;
|
|
22
22
|
|
|
23
|
-
.
|
|
23
|
+
.board-sidebar {
|
|
24
24
|
background-color: darken($body-bg, 15%);
|
|
25
25
|
padding-left: 0;
|
|
26
26
|
padding-right: 0;
|
|
@@ -36,23 +36,31 @@ $bridge-line-color: $border-color;
|
|
|
36
36
|
background-color: $body-bg !important;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
.
|
|
40
|
-
border-right: 1px solid $
|
|
39
|
+
.board-main {
|
|
40
|
+
border-right: 1px solid $board-line-color;
|
|
41
41
|
padding-left: 0;
|
|
42
42
|
padding-right: 0;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
|
|
44
|
+
> .overlay-container {
|
|
45
|
+
> .board-view {
|
|
46
|
+
padding-top: 0px;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
> .card-slot > .d0-card-frame > .d0-card-body {
|
|
50
|
+
padding: 1em;
|
|
51
|
+
}
|
|
47
52
|
}
|
|
48
|
-
|
|
49
|
-
|
|
53
|
+
|
|
54
|
+
> ._overlay-container-placeholder > .board-view {
|
|
55
|
+
padding-top: 1em;
|
|
56
|
+
padding-left: 1.5em;
|
|
57
|
+
padding-right: 1.5em;
|
|
50
58
|
}
|
|
51
59
|
}
|
|
52
60
|
|
|
53
61
|
|
|
54
62
|
|
|
55
|
-
.
|
|
63
|
+
.board-pills {
|
|
56
64
|
.help-text {
|
|
57
65
|
font-size: 0.8rem;
|
|
58
66
|
}
|
|
@@ -72,7 +80,7 @@ $bridge-line-color: $border-color;
|
|
|
72
80
|
}
|
|
73
81
|
}
|
|
74
82
|
|
|
75
|
-
.
|
|
83
|
+
.board {
|
|
76
84
|
.perm-editor {
|
|
77
85
|
margin-left: 0;
|
|
78
86
|
}
|
|
@@ -89,13 +97,13 @@ $bridge-line-color: $border-color;
|
|
|
89
97
|
}
|
|
90
98
|
li.radio {
|
|
91
99
|
padding: 10px 0px 0px 15px;
|
|
92
|
-
border-left: 1px solid $
|
|
93
|
-
border-top: 1px solid $
|
|
100
|
+
border-left: 1px solid $board-line-color;
|
|
101
|
+
border-top: 1px solid $board-line-color;
|
|
94
102
|
margin-top: 10px;
|
|
95
103
|
}
|
|
96
104
|
}
|
|
97
105
|
|
|
98
|
-
.
|
|
106
|
+
.board-sidebar {
|
|
99
107
|
.history_tab-view > div {
|
|
100
108
|
margin: 0.5rem;
|
|
101
109
|
}
|
data/assets/style/edit.scss
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// autosave.js.coffee
|
|
2
2
|
(function(){jQuery.fn.extend({autosave:function(){var t,a,e,r,n;if(r=this.slot(),!this.attr("no-autosave")){if((e=this.closest(".form-group"))[0]){if(!(a=e.data("cardId")))return;": "+e.data("cardName")}else a=r.data("cardId"),"";if(a)return n=decko.path("update/~"+a),t=$("#edit_card_"+a).serializeArray().reduce(function(t,a){return t[a.name]=a.value,t},{draft:"true","success[view]":"blank"}),$.ajax(n,{data:t,type:"POST"})}}}),$(window).ready(function(){return $("body").on("change",".autosave .d0-card-content",function(){var t;return t=$(this),setTimeout(function(){return t.autosave()},500)})})}).call(this);
|
|
3
|
-
//
|
|
4
|
-
(function(){decko.slot.ready(function(e,t){var r;if(e.
|
|
3
|
+
// board.js.coffee
|
|
4
|
+
(function(){decko.slot.ready(function(e,t){var r;if(e.updateBoard(!1,t),1===(r=e.find("ul._auto-single-select > li.nav-item > a.nav-link")).length)return $(r[0]).click()}),jQuery.fn.extend({updateBoard:function(e,t){if(null==e&&(e=!1),this.closest(".board").length>0)return this.data("breadcrumb")?this.updateBreadcrumb():t&&$(t).data("breadcrumb")&&$(t).updateBreadcrumb(),e?$(".board-pills > .nav-item > .nav-link.active").removeClass("active"):void 0},updateBreadcrumb:function(){var e;return(e=$(".modal-header ._board-breadcrumb li:last-child")).text(this.data("breadcrumb")),e.attr("class","breadcrumb-item active "+this.data("breadcrumb-class"))}}),$(window).ready(function(){return $("body").on("select2:select","._close-rule-overlay-on-select",function(){return $(".overlay-container > ._overlay.card-slot.overlay_rule-view.RULE").removeOverlay()}),$("body").on("click","._update-history-pills",function(){return $(this).closest(".slotter").data("update-foreign-slot",".card-slot.history_tab-view")})})}).call(this);
|
|
5
5
|
// components.js.coffee
|
|
6
6
|
(function(){var t;t=null,$(window).ready(function(){return $("body").on("change","._submit-on-change",function(t){return $(t.target).closest("form").submit(),!1}),$("body").on("input","._submit-after-typing",function(e){return $(e.target).closest("form").slot().find(".autosubmit-success-notification").remove(),t&&clearTimeout(t),t=setTimeout(function(){return $(e.target).closest("form").submit(),t=null},1e3)}),$("body").on("keydown","._submit-after-typing",function(e){if(13===e.which)return t&&clearTimeout(t),t=null,$(e.target).closest("form").submit(),!1}),$("body").on("change","._edit-item",function(t){var e;return(e=$(t.target)).attr("name",e.is(":checked")?"add_item":"drop_item"),$(t.target).closest("form").submit(),!1})})}).call(this);
|
|
7
7
|
// doubleclick.js.coffee
|
|
8
|
-
(function(){var t,n,i,r;$(window).ready(function(){var n;if(n={off:!1,on:!0,signed_in:decko.currentUserId},function(){return n[decko.doubleClick]}())return $("body").on("dblclick","div",function(){return t($(this))&&r($(this)),!1})}),t=function(t){return![".nodblclick",".d0-card-header",".card-editor"].some(function(n){return t.closest(n)[0]})&&null==t.slot().find(".card-editor")[0]},r=function(t){var r,e,d,o;return d=t.slot(),(r=n(d))?r.click():(e=i(d),o=decko.path("~"+d.data("cardId")+"?view="+e),d.slotReload(o))},n=function(t){var n;return!!(n=t.find(".edit-link").filter(function(n,i){return $(i).slot().data("slotId")===t.data("slotId")}))[0]&&$(n[0])},i=function(t){switch(t.data("slot").edit){case"inline":return"edit_inline";case"full":return"
|
|
8
|
+
(function(){var t,n,i,r;$(window).ready(function(){var n;if(n={off:!1,on:!0,signed_in:decko.currentUserId},function(){return n[decko.doubleClick]}())return $("body").on("dblclick","div",function(){return t($(this))&&r($(this)),!1})}),t=function(t){return![".nodblclick",".d0-card-header",".card-editor"].some(function(n){return t.closest(n)[0]})&&null==t.slot().find(".card-editor")[0]},r=function(t){var r,e,d,o;return d=t.slot(),(r=n(d))?r.click():(e=i(d),o=decko.path("~"+d.data("cardId")+"?view="+e),d.slotReload(o))},n=function(t){var n;return!!(n=t.find(".edit-link").filter(function(n,i){return $(i).slot().data("slotId")===t.data("slotId")}))[0]&&$(n[0])},i=function(t){switch(t.data("slot").edit){case"inline":return"edit_inline";case"full":return"board";default:return"edit"}}}).call(this);
|
|
9
9
|
// editor.js.coffee
|
|
10
10
|
(function(){decko.editors.init.textarea=function(){return $(this).autosize()},$.extend(decko,{contentLoaded:function(t,n){var e;return decko.initializeEditors(t),null!=(e=n.attr("notify-success"))&&t.notify(e,"success"),t.triggerSlotReady(n)},initializeEditors:function(t,n){return null==n&&(n=decko.editors.init),$.each(n,function(n,e){return $.each(t.find(n),function(){return e.call($(this))})})}}),jQuery.fn.extend({contentField:function(){return this.closest(".card-editor").find(".d0-card-content")},setContentFieldsFromMap:function(t){var n;return null==t&&(t=decko.editors.content),n=$(this),$.each(t,function(t,e){return n.setContentFields(t,e)})},setContentFields:function(t,n){return $.each(this.find(t),function(){return $(this).setContentField(n)})},setContentField:function(t){var n,e,i;if(e=(n=this.contentField()).val(),i=t.call(this),n.val(i),e!==i)return n.change()}}),$(window).ready(function(){return setTimeout(function(){return decko.initializeEditors($("body > :not(.modal)"))},10),$("body").on("submit",".card-form",function(){return $(this).setContentFieldsFromMap(),$(this).find(".d0-card-content").attr("no-autosave","true"),!0})}),setInterval(function(){return $(".card-form").setContentFieldsFromMap()},2e4)}).call(this);
|
|
11
11
|
// name_editor.js.coffee
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
format :html do
|
|
2
|
+
BOARD_PILL_UL_CLASSES =
|
|
3
|
+
"nav nav-pills _auto-single-select board-pills flex-column".freeze
|
|
4
|
+
|
|
5
|
+
BOARD_PILL_LI_CLASSES = "nav-item".freeze
|
|
6
|
+
|
|
7
|
+
def board_pills items
|
|
8
|
+
list_tag class: BOARD_PILL_UL_CLASSES, items: { class: BOARD_PILL_LI_CLASSES } do
|
|
9
|
+
items
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def board_pill_items data, breadcrumb
|
|
14
|
+
data.map do |text, field, extra_opts|
|
|
15
|
+
opts = board_pill_item_opts breadcrumb, extra_opts, text
|
|
16
|
+
mark = opts.delete(:mark) == :absolute ? field : [card, field]
|
|
17
|
+
link_to_card mark, text, opts
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def board_pill_item_opts breadcrumb, extra_opts, text
|
|
22
|
+
opts = board_link_opts.merge("data-bs-toggle": "pill")
|
|
23
|
+
opts.merge! breadcrumb_data(breadcrumb)
|
|
24
|
+
|
|
25
|
+
if extra_opts
|
|
26
|
+
classes = extra_opts.delete :class
|
|
27
|
+
add_class opts, classes if classes
|
|
28
|
+
opts.deep_merge! extra_opts
|
|
29
|
+
end
|
|
30
|
+
opts["data-cy"] = "#{text.to_name.key}-pill"
|
|
31
|
+
add_class opts, "nav-link"
|
|
32
|
+
opts
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def board_pill_sections tab_name
|
|
36
|
+
wrap_with :ul, class: BOARD_PILL_UL_CLASSES do
|
|
37
|
+
yield.map { |args| board_pill_section(tab_name, *args) }
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def board_pill_section tab_name, title, items
|
|
42
|
+
wrap_with(:h6, title, class: "ms-1 mt-3") +
|
|
43
|
+
wrap_each_with(:li, class: BOARD_PILL_LI_CLASSES) do
|
|
44
|
+
board_pill_items(items, tab_name)
|
|
45
|
+
end.html_safe
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -3,7 +3,7 @@ format :html do
|
|
|
3
3
|
return unless show_follow?
|
|
4
4
|
|
|
5
5
|
wrap_with :div, class: "mb-3" do
|
|
6
|
-
[follow_button_group,
|
|
6
|
+
[follow_button_group, followers_board_link, follow_overview_button]
|
|
7
7
|
end
|
|
8
8
|
end
|
|
9
9
|
|
|
@@ -15,23 +15,23 @@ format :html do
|
|
|
15
15
|
|
|
16
16
|
def follow_overview_button
|
|
17
17
|
link_to_card [Auth.current, :follow], "all followed cards",
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
board_link_opts(class: "btn btn-sm btn-secondary",
|
|
19
|
+
"data-cy": "follow-overview")
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def follow_advanced
|
|
23
|
-
opts =
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
opts = board_link_opts(class: "btn btn-sm btn-primary",
|
|
24
|
+
path: { view: :overlay_rule },
|
|
25
|
+
"data-cy": "follow-advanced")
|
|
26
26
|
opts[:path].delete :layout
|
|
27
27
|
link_to_card card.follow_rule_card(Auth.current.name, new: {}),
|
|
28
28
|
icon_tag("more_horiz"), opts
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
-
def
|
|
31
|
+
def followers_board_link
|
|
32
32
|
cnt = card.followers_count
|
|
33
33
|
link_to_card card.name.field(:followers), "#{cnt} follower#{'s' unless cnt == 1}",
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
board_link_opts(class: "btn btn-sm ms-2 btn-secondary slotter",
|
|
35
|
+
remote: true, "data-cy": "followers")
|
|
36
36
|
end
|
|
37
37
|
end
|
|
@@ -6,11 +6,11 @@ format :html do
|
|
|
6
6
|
view :history_tab, wrap: :slot do
|
|
7
7
|
class_up "d0-card-body", "history-slot"
|
|
8
8
|
voo.hide :act_legend
|
|
9
|
-
|
|
9
|
+
acts_board_layout card.history_acts
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
view :related_tab do
|
|
13
|
-
|
|
13
|
+
board_pill_sections "Related" do
|
|
14
14
|
%w[name content type].map do |section_name|
|
|
15
15
|
["by #{section_name}", send("related_by_#{section_name}_items")]
|
|
16
16
|
end
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
BOARD_TABS = { "Account" => :account_tab,
|
|
2
|
+
"Guide" => :guide_tab,
|
|
3
|
+
"Engage" => :engage_tab,
|
|
4
|
+
"History" => :history_tab,
|
|
5
|
+
"Related" => :related_tab,
|
|
6
|
+
"Rules" => :rules_tab }.freeze
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
BOARD_TAB_NAMES = BOARD_TABS.invert.freeze
|
|
9
9
|
|
|
10
10
|
format :html do
|
|
11
|
-
wrapper :
|
|
11
|
+
wrapper :board do
|
|
12
12
|
class_up "modal-dialog", "no-gaps"
|
|
13
13
|
voo.hide! :modal_footer
|
|
14
14
|
wrap_with_modal(size: :full,
|
|
15
|
-
title:
|
|
16
|
-
menu: :
|
|
17
|
-
haml :
|
|
15
|
+
title: board_breadcrumbs,
|
|
16
|
+
menu: :board_menu) do
|
|
17
|
+
haml :board
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
def
|
|
21
|
+
def board_tabs
|
|
22
22
|
wrap do
|
|
23
|
-
tabs(
|
|
24
|
-
_render
|
|
23
|
+
tabs(visible_board_tabs, BOARD_TAB_NAMES[board_tab], load: :lazy) do
|
|
24
|
+
_render board_tab
|
|
25
25
|
end
|
|
26
26
|
end
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
-
def
|
|
30
|
-
@
|
|
29
|
+
def board_tab
|
|
30
|
+
@board_tab ||= board_param :tab
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
def
|
|
34
|
-
params.dig(:
|
|
33
|
+
def board_param key
|
|
34
|
+
params.dig(:board, key)&.to_sym || try("default_board_#{key}")
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
def
|
|
37
|
+
def board_breadcrumbs
|
|
38
38
|
<<-HTML.strip_heredoc
|
|
39
39
|
<nav aria-label="breadcrumb">
|
|
40
|
-
<ol class="breadcrumb
|
|
40
|
+
<ol class="breadcrumb _board-breadcrumb">
|
|
41
41
|
<li class="breadcrumb-item">#{card.name}</li>
|
|
42
42
|
<li class="breadcrumb-item active">Edit</li>
|
|
43
43
|
</ol>
|
|
@@ -45,8 +45,8 @@ format :html do
|
|
|
45
45
|
HTML
|
|
46
46
|
end
|
|
47
47
|
|
|
48
|
-
def
|
|
49
|
-
opts[:"data-slot-selector"] =
|
|
48
|
+
def board_link_opts opts={}
|
|
49
|
+
opts[:"data-slot-selector"] = board_slot_selector
|
|
50
50
|
opts[:"data-slotter-mode"] = :override
|
|
51
51
|
opts[:remote] = true
|
|
52
52
|
add_class opts, "slotter"
|
|
@@ -55,12 +55,12 @@ format :html do
|
|
|
55
55
|
opts
|
|
56
56
|
end
|
|
57
57
|
|
|
58
|
-
def
|
|
59
|
-
".
|
|
60
|
-
".
|
|
58
|
+
def board_slot_selector
|
|
59
|
+
".board-main > .overlay-container > .card-slot._bottomlay-slot," \
|
|
60
|
+
".board-main > ._overlay-container-placeholder > .card-slot"
|
|
61
61
|
end
|
|
62
62
|
|
|
63
|
-
def
|
|
63
|
+
def default_board_tab
|
|
64
64
|
show_guide_tab? ? :guide_tab : :engage_tab
|
|
65
65
|
end
|
|
66
66
|
|
|
@@ -69,7 +69,7 @@ format :html do
|
|
|
69
69
|
{ "data-breadcrumb": title, "data-breadcrumb-class": html_class }
|
|
70
70
|
end
|
|
71
71
|
|
|
72
|
-
def
|
|
72
|
+
def board_menu
|
|
73
73
|
wrap_with_modal_menu do
|
|
74
74
|
[
|
|
75
75
|
close_modal_window,
|
data/set/all/edit_content.rb
CHANGED
data/set/all/edit_inline.rb
CHANGED
|
@@ -14,7 +14,7 @@ format :html do
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
view :edit_name_row do
|
|
17
|
-
|
|
17
|
+
edit_row "Name", card.name, :name_form
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
view :edit_inline_buttons do
|
|
@@ -24,22 +24,22 @@ format :html do
|
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
# TODO: better styling for this so that is reusable
|
|
27
|
-
# At the moment it is used for the name and type field in the
|
|
27
|
+
# At the moment it is used for the name and type field in the board
|
|
28
28
|
# (with fixed 50px width for the title column) and
|
|
29
29
|
# for password and email for accounts (with fixed 75px width for the title column)
|
|
30
30
|
# The view is very similar to labeled but with fixed edit link on the right
|
|
31
31
|
# and a fixed width for the labels so that the content column is aligned
|
|
32
32
|
# There is also the problem that label and content are not vertically aligned
|
|
33
33
|
view :edit_row do
|
|
34
|
-
|
|
34
|
+
edit_row render_title, render_core, :edit_inline
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
def
|
|
37
|
+
def edit_row title, content, edit_view
|
|
38
38
|
class_up "card-slot", "d-flex form-group"
|
|
39
|
-
wrap do
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
wrap true, class: :row do
|
|
40
|
+
haml :edit_row, title: title,
|
|
41
|
+
content: content,
|
|
42
|
+
edit_link: edit_inline_link(edit_view)
|
|
43
43
|
end
|
|
44
44
|
end
|
|
45
45
|
|
data/set/all/edit_type.rb
CHANGED
|
@@ -16,12 +16,12 @@ format :html do
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
view :edit_type_row do
|
|
19
|
-
return
|
|
19
|
+
return _render_board_type_formgroup if voo.visible?(:type_form) { false }
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
edit_row "Type", link_to_card(card.type), :board_type_formgroup
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
-
view :
|
|
24
|
+
view :board_type_formgroup, unknown: true, wrap: :slot do
|
|
25
25
|
type_formgroup href: path(mark: card.id,
|
|
26
26
|
view: :edit_form,
|
|
27
27
|
assign: true,
|
data/set/all/editing.rb
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
format :html do
|
|
2
2
|
###---( TOP_LEVEL (used by menu) NEW / EDIT VIEWS )
|
|
3
|
-
view :
|
|
3
|
+
view :board, perms: :update, unknown: true, cache: :never, wrap: :board do
|
|
4
4
|
with_nest_mode :edit do
|
|
5
5
|
add_name_context
|
|
6
6
|
voo.show :help
|
|
7
7
|
wrap true, breadcrumb_data("Editing", "edit") do
|
|
8
|
-
|
|
8
|
+
board_parts
|
|
9
9
|
end
|
|
10
10
|
end
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
-
view :cardboard, :
|
|
13
|
+
view :cardboard, :board
|
|
14
14
|
|
|
15
|
-
def
|
|
15
|
+
def board_parts
|
|
16
16
|
voo.show! :edit_type_row
|
|
17
17
|
|
|
18
18
|
[
|
|
@@ -48,7 +48,7 @@ format :html do
|
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
view :edit_rules, cache: :never, unknown: true do
|
|
51
|
-
nest current_set_card, view: :
|
|
51
|
+
nest current_set_card, view: :board_rules_tab
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
view :edit_structure, cache: :never do
|
data/set/all/new.rb
CHANGED
data/set/all/overlay_guide.rb
CHANGED
|
@@ -3,7 +3,7 @@ format :html do
|
|
|
3
3
|
cache: :never, unknown: true, template: :haml,
|
|
4
4
|
wrap: { slot: { class: "_overlay d0-card-overlay card nodblclick" } } do
|
|
5
5
|
# TODO: use a common template for this and the nest editor
|
|
6
|
-
# (the common thing is that they both are an overlay of the
|
|
6
|
+
# (the common thing is that they both are an overlay of the board sidebar)
|
|
7
7
|
# and maybe make it look more like the overlay on the left with the same close icon
|
|
8
8
|
end
|
|
9
9
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: card-mod-edit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.15.
|
|
4
|
+
version: 0.15.5
|
|
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-
|
|
13
|
+
date: 2023-04-20 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: card
|
|
@@ -18,42 +18,42 @@ dependencies:
|
|
|
18
18
|
requirements:
|
|
19
19
|
- - '='
|
|
20
20
|
- !ruby/object:Gem::Version
|
|
21
|
-
version: 1.105.
|
|
21
|
+
version: 1.105.5
|
|
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.105.
|
|
28
|
+
version: 1.105.5
|
|
29
29
|
- !ruby/object:Gem::Dependency
|
|
30
30
|
name: card-mod-rules
|
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
|
32
32
|
requirements:
|
|
33
33
|
- - '='
|
|
34
34
|
- !ruby/object:Gem::Version
|
|
35
|
-
version: 0.15.
|
|
35
|
+
version: 0.15.5
|
|
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.15.
|
|
42
|
+
version: 0.15.5
|
|
43
43
|
- !ruby/object:Gem::Dependency
|
|
44
44
|
name: card-mod-list
|
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
|
46
46
|
requirements:
|
|
47
47
|
- - '='
|
|
48
48
|
- !ruby/object:Gem::Version
|
|
49
|
-
version: 0.15.
|
|
49
|
+
version: 0.15.5
|
|
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.15.
|
|
56
|
+
version: 0.15.5
|
|
57
57
|
description: ''
|
|
58
58
|
email:
|
|
59
59
|
- info@decko.org
|
|
@@ -62,25 +62,26 @@ extensions: []
|
|
|
62
62
|
extra_rdoc_files: []
|
|
63
63
|
files:
|
|
64
64
|
- assets/script/autosave.js.coffee
|
|
65
|
-
- assets/script/
|
|
65
|
+
- assets/script/board.js.coffee
|
|
66
66
|
- assets/script/components.js.coffee
|
|
67
67
|
- assets/script/doubleclick.js.coffee
|
|
68
68
|
- assets/script/editor.js.coffee
|
|
69
69
|
- assets/script/name_editor.js.coffee
|
|
70
70
|
- assets/script/type_editor.js.coffee
|
|
71
|
-
- assets/style/
|
|
71
|
+
- assets/style/board.scss
|
|
72
72
|
- assets/style/edit.scss
|
|
73
73
|
- data/files/mod_edit_script_asset_output/file.js
|
|
74
74
|
- data/real.yml
|
|
75
|
-
- set/all/
|
|
76
|
-
- set/all/
|
|
77
|
-
- set/all/
|
|
78
|
-
- set/all/
|
|
79
|
-
- set/all/
|
|
80
|
-
- set/all/
|
|
81
|
-
- set/all/
|
|
75
|
+
- set/all/board.rb
|
|
76
|
+
- set/all/board/board.haml
|
|
77
|
+
- set/all/board/board_pills.rb
|
|
78
|
+
- set/all/board/follow_section.rb
|
|
79
|
+
- set/all/board/related_section.rb
|
|
80
|
+
- set/all/board/tab_views.rb
|
|
81
|
+
- set/all/board/tab_visibility.rb
|
|
82
82
|
- set/all/edit_content.rb
|
|
83
83
|
- set/all/edit_inline.rb
|
|
84
|
+
- set/all/edit_inline/edit_row.haml
|
|
84
85
|
- set/all/edit_name.rb
|
|
85
86
|
- set/all/edit_name_skip_referers.haml
|
|
86
87
|
- set/all/edit_type.rb
|
data/set/all/bridge/bridge.haml
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
format :html do
|
|
2
|
-
BRIDGE_PILL_UL_CLASSES =
|
|
3
|
-
"nav nav-pills _auto-single-select bridge-pills flex-column".freeze
|
|
4
|
-
|
|
5
|
-
BRIDGE_PILL_LI_CLASSES = "nav-item".freeze
|
|
6
|
-
|
|
7
|
-
def bridge_pills items
|
|
8
|
-
list_tag class: BRIDGE_PILL_UL_CLASSES, items: { class: BRIDGE_PILL_LI_CLASSES } do
|
|
9
|
-
items
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def bridge_pill_items data, breadcrumb
|
|
14
|
-
data.map do |text, field, extra_opts|
|
|
15
|
-
opts = bridge_pill_item_opts breadcrumb, extra_opts, text
|
|
16
|
-
mark = opts.delete(:mark) == :absolute ? field : [card, field]
|
|
17
|
-
link_to_card mark, text, opts
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def bridge_pill_item_opts breadcrumb, extra_opts, text
|
|
22
|
-
opts = bridge_link_opts.merge("data-bs-toggle": "pill")
|
|
23
|
-
opts.merge! breadcrumb_data(breadcrumb)
|
|
24
|
-
|
|
25
|
-
if extra_opts
|
|
26
|
-
classes = extra_opts.delete :class
|
|
27
|
-
add_class opts, classes if classes
|
|
28
|
-
opts.deep_merge! extra_opts
|
|
29
|
-
end
|
|
30
|
-
opts["data-cy"] = "#{text.to_name.key}-pill"
|
|
31
|
-
add_class opts, "nav-link"
|
|
32
|
-
opts
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def bridge_pill_sections tab_name
|
|
36
|
-
wrap_with :ul, class: BRIDGE_PILL_UL_CLASSES do
|
|
37
|
-
yield.map { |args| bridge_pill_section(tab_name, *args) }
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def bridge_pill_section tab_name, title, items
|
|
42
|
-
wrap_with(:h6, title, class: "ms-1 mt-3") +
|
|
43
|
-
wrap_each_with(:li, class: BRIDGE_PILL_LI_CLASSES) do
|
|
44
|
-
bridge_pill_items(items, tab_name)
|
|
45
|
-
end.html_safe
|
|
46
|
-
end
|
|
47
|
-
end
|
|
File without changes
|