mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-12-12 13:33:46 +08:00
ZIP Imports: Added book content ordering to import preview
This commit is contained in:
parent
59cfc087e1
commit
c0dff6d4a6
|
@ -36,6 +36,20 @@ class ZipExportBook extends ZipExportModel
|
|||
}
|
||||
}
|
||||
|
||||
public function children(): array
|
||||
{
|
||||
$children = [
|
||||
...$this->pages,
|
||||
...$this->chapters,
|
||||
];
|
||||
|
||||
usort($children, function ($a, $b) {
|
||||
return ($a->priority ?? 0) - ($b->priority ?? 0);
|
||||
});
|
||||
|
||||
return $children;
|
||||
}
|
||||
|
||||
public static function fromModel(Book $model, ZipExportFiles $files): self
|
||||
{
|
||||
$instance = new self();
|
||||
|
|
|
@ -20,7 +20,7 @@ class ZipExportChapter extends ZipExportModel
|
|||
|
||||
public function metadataOnly(): void
|
||||
{
|
||||
$this->description_html = $this->priority = null;
|
||||
$this->description_html = null;
|
||||
|
||||
foreach ($this->pages as $page) {
|
||||
$page->metadataOnly();
|
||||
|
@ -30,6 +30,11 @@ class ZipExportChapter extends ZipExportModel
|
|||
}
|
||||
}
|
||||
|
||||
public function children(): array
|
||||
{
|
||||
return $this->pages;
|
||||
}
|
||||
|
||||
public static function fromModel(Chapter $model, ZipExportFiles $files): self
|
||||
{
|
||||
$instance = new self();
|
||||
|
|
|
@ -23,7 +23,7 @@ class ZipExportPage extends ZipExportModel
|
|||
|
||||
public function metadataOnly(): void
|
||||
{
|
||||
$this->html = $this->markdown = $this->priority = null;
|
||||
$this->html = $this->markdown = null;
|
||||
|
||||
foreach ($this->attachments as $attachment) {
|
||||
$attachment->metadataOnly();
|
||||
|
|
|
@ -5,7 +5,6 @@ namespace BookStack\Exports\ZipExports;
|
|||
use BookStack\Exceptions\ZipExportException;
|
||||
use BookStack\Exports\ZipExports\Models\ZipExportBook;
|
||||
use BookStack\Exports\ZipExports\Models\ZipExportChapter;
|
||||
use BookStack\Exports\ZipExports\Models\ZipExportModel;
|
||||
use BookStack\Exports\ZipExports\Models\ZipExportPage;
|
||||
use BookStack\Util\WebSafeMimeSniffer;
|
||||
use ZipArchive;
|
||||
|
|
|
@ -16,11 +16,13 @@ $model - object
|
|||
<span>@icon('tag'){{ count($model->tags) }}</span>
|
||||
@endif
|
||||
</div>
|
||||
@foreach($model->chapters ?? [] as $chapter)
|
||||
@include('exports.parts.import-item', ['type' => 'chapter', 'model' => $chapter])
|
||||
@endforeach
|
||||
@foreach($model->pages ?? [] as $page)
|
||||
@include('exports.parts.import-item', ['type' => 'page', 'model' => $page])
|
||||
@endforeach
|
||||
@if(method_exists($model, 'children'))
|
||||
@foreach($model->children() as $child)
|
||||
@include('exports.parts.import-item', [
|
||||
'type' => ($child instanceof \BookStack\Exports\ZipExports\Models\ZipExportPage) ? 'page' : 'chapter',
|
||||
'model' => $child
|
||||
])
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
Loading…
Reference in New Issue
Block a user