forked from fixin.me/fixin.me
Set row indentation based on depth
This commit is contained in:
parent
0d8e7c6c0e
commit
fa7918f0e3
@ -379,7 +379,8 @@ table.items td {
|
|||||||
}
|
}
|
||||||
/* For <a> to fill <td> completely, we use an ::after pseudoelement. */
|
/* For <a> to fill <td> completely, we use an ::after pseudoelement. */
|
||||||
table.items td.link {
|
table.items td.link {
|
||||||
padding: 0 0 0 1em;
|
padding: 0;
|
||||||
|
padding-inline-start: calc(1em + var(--depth) * 0.8em);
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
table.items td.link a {
|
table.items td.link a {
|
||||||
|
@ -19,11 +19,13 @@ class Quantity < ApplicationRecord
|
|||||||
[
|
[
|
||||||
Arel::SelectManager.new.project(
|
Arel::SelectManager.new.project(
|
||||||
numbered[Arel.star],
|
numbered[Arel.star],
|
||||||
numbered.cast(numbered[:child_number], 'BINARY').as('path')
|
numbered.cast(numbered[:child_number], 'BINARY').as('path'),
|
||||||
|
Arel::Nodes.build_quoted(0).as('depth')
|
||||||
).from(numbered).where(numbered[:parent_id].eq(nil)),
|
).from(numbered).where(numbered[:parent_id].eq(nil)),
|
||||||
Arel::SelectManager.new.project(
|
Arel::SelectManager.new.project(
|
||||||
numbered[Arel.star],
|
numbered[Arel.star],
|
||||||
cte[:path].concat(numbered[:child_number])
|
cte[:path].concat(numbered[:child_number]),
|
||||||
|
cte[:depth] + 1
|
||||||
).from(numbered).join(cte).on(numbered[:parent_id].eq(cte[:id]))
|
).from(numbered).join(cte).on(numbered[:parent_id].eq(cte[:id]))
|
||||||
]
|
]
|
||||||
).select(cte[Arel.star]).from(cte).order(cte[:path])
|
).select(cte[Arel.star]).from(cte).order(cte[:path])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user