Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Зуев Егор
/
wiki.dev
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Authored by
Dan Brown
2015-11-29 18:06:55 +0000
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Commit
03096c2fcd920e1c61b4049de2a9faa26922e554
03096c2f
1 parent
62338e4a
Cleaned book-show and page sidebar by hiding inactive chapter contents
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
51 additions
and
7 deletions
app/Entity.php
resources/assets/sass/_lists.scss
resources/views/chapters/list-item.blade.php
resources/views/pages/sidebar-tree-list.blade.php
app/Entity.php
View file @
03096c2
...
...
@@ -37,6 +37,32 @@ abstract class Entity extends Model
}
/**
* Checks if an entity matches or contains another given entity.
* @param Entity $entity
* @return bool
*/
public
function
matchesOrContains
(
Entity
$entity
)
{
$matches
=
[
get_class
(
$this
),
$this
->
id
]
===
[
get_class
(
$entity
),
$entity
->
id
];
if
(
$matches
)
return
true
;
if
(
$entity
->
isA
(
'chapter'
)
&&
$this
->
isA
(
'book'
))
{
return
$entity
->
book_id
===
$this
->
id
;
}
if
(
$entity
->
isA
(
'page'
)
&&
$this
->
isA
(
'book'
))
{
return
$entity
->
book_id
===
$this
->
id
;
}
if
(
$entity
->
isA
(
'page'
)
&&
$this
->
isA
(
'chapter'
))
{
return
$entity
->
chapter_id
===
$this
->
id
;
}
return
false
;
}
/**
* Gets the activity objects for this entity.
* @return \Illuminate\Database\Eloquent\Relations\MorphMany
*/
...
...
@@ -106,7 +132,7 @@ abstract class Entity extends Model
$search
=
$search
->
with
(
'book'
);
}
if
(
static
::
isA
(
'page'
))
{
if
(
static
::
isA
(
'page'
))
{
$search
=
$search
->
with
(
'chapter'
);
}
...
...
resources/assets/sass/_lists.scss
View file @
03096c2
...
...
@@ -6,7 +6,7 @@
color
:
$color-chapter
;
}
.inset-list
{
display
:
block
;
display
:
none
;
overflow
:
hidden
;
// padding-left: $-m;
margin-bottom
:
$-l
;
...
...
@@ -45,7 +45,7 @@
margin
:
0
0
$-l
0
;
transition
:
all
ease-in-out
180ms
;
user-select
:
none
;
i
{
i
.zmdi-caret-right
{
transition
:
all
ease-in-out
180ms
;
transform
:
rotate
(
0deg
);
transform-origin
:
25%
50%
;
...
...
@@ -53,7 +53,7 @@
&
.open
{
margin-bottom
:
0
;
}
&
.open
i
{
&
.open
i
.zmdi-caret-right
{
transform
:
rotate
(
90deg
);
}
}
...
...
@@ -140,6 +140,9 @@
background-color
:
rgba
(
$color-chapter
,
0
.12
);
}
}
.chapter-toggle
{
padding-left
:
$-s
;
}
.list-item-chapter
{
border-left
:
5px
solid
$color-chapter
;
margin
:
10px
10px
;
...
...
@@ -157,6 +160,12 @@
background-color
:
rgba
(
$color-page
,
0
.1
);
}
}
.sub-menu
{
display
:
none
;
}
.sub-menu.open
{
display
:
block
;
}
}
// Sortable Lists
...
...
resources/views/chapters/list-item.blade.php
View file @
03096c2
...
...
@@ -11,7 +11,7 @@
@endif
@if(count($chapter->pages) > 0
&&
!isset($hidePages))
<p
class=
"text-muted chapter-toggle
open"
><i
class=
"zmdi zmdi-caret-right"
></i>
{{ count($chapter->pages) }} Pages
</p>
<p
class=
"text-muted chapter-toggle
"
><i
class=
"zmdi zmdi-caret-right"
></i>
<i
class=
"zmdi zmdi-file-text"
></i>
<span>
{{ count($chapter->pages) }} Pages
</span>
</p>
<div
class=
"inset-list"
>
@foreach($chapter->pages as $page)
<h4><a
href=
"{{$page->getUrl()}}"
><i
class=
"zmdi zmdi-file-text"
></i>
{{$page->name}}
</a></h4>
...
...
resources/views/pages/sidebar-tree-list.blade.php
View file @
03096c2
...
...
@@ -3,14 +3,19 @@
<h6
class=
"text-muted"
>
Book Navigation
</h6>
<ul
class=
"sidebar-page-list menu"
>
<li
class=
"book-header"
><a
href=
"{{$book->getUrl()}}"
class=
"book {{ $current->matches($book)? 'selected' : '' }}"
><i
class=
"zmdi zmdi-book"
></i>
{{$book->name}}
</a></li>
@foreach($sidebarTree as $bookChild)
<li
class=
"list-item-{{ $bookChild->getName() }}"
>
<li
class=
"list-item-{{ $bookChild->getName() }}
{{ $bookChild->getName() }}
"
>
<a
href=
"{{$bookChild->getUrl()}}"
class=
"{{ $bookChild->getName() }} {{ $current->matches($bookChild)? 'selected' : '' }}"
>
@if($bookChild->isA('chapter'))
<i
class=
"zmdi zmdi-collection-bookmark"
></i>
@else
<i
class=
"zmdi zmdi-file-text"
></i>
@endif{{ $bookChild->name }}
</a>
@if($bookChild->isA('chapter')
&&
count($bookChild->pages) > 0)
<ul
class=
"menu"
>
<p
class=
"text-muted chapter-toggle @if($bookChild->matchesOrContains($current)) open @endif"
>
<i
class=
"zmdi zmdi-caret-right"
></i>
<i
class=
"zmdi zmdi-file-text"
></i>
<span>
{{ count($bookChild->pages) }} Pages
</span>
</p>
<ul
class=
"menu sub-menu inset-list @if($bookChild->matchesOrContains($current)) open @endif"
>
@foreach($bookChild->pages as $childPage)
<li
class=
"list-item-page"
>
<a
href=
"{{$childPage->getUrl()}}"
class=
"page {{ $current->matches($childPage)? 'selected' : '' }}"
>
...
...
@@ -20,7 +25,11 @@
@endforeach
</ul>
@endif
</li>
@endforeach
</ul>
</div>
...
...
Please
register
or
sign in
to post a comment