]> BookStack Code Mirror - bookstack/blob - resources/views/pages/parts/image-manager-form.blade.php
Customization: Added parent tag classes
[bookstack] / resources / views / pages / parts / image-manager-form.blade.php
1 <div component="dropzone"
2      option:dropzone:url="{{ url("/images/{$image->id}/file") }}"
3      option:dropzone:method="PUT"
4      option:dropzone:success-message="{{ trans('components.image_update_success') }}"
5      option:dropzone:upload-limit="{{ config('app.upload_limit') }}"
6      option:dropzone:upload-limit-message="{{ trans('errors.server_upload_limit') }}"
7      option:dropzone:zone-text="{{ trans('entities.attachments_dropzone') }}"
8      option:dropzone:file-accept="image/*"
9      class="image-manager-details">
10
11     @if($warning ?? '')
12         <div class="image-manager-warning px-m py-xs flex-container-row gap-xs items-center mb-l">
13             <div>@icon('warning')</div>
14             <div class="flex">{{ $warning }}</div>
15         </div>
16     @endif
17
18     <div refs="dropzone@status-area dropzone@drop-target"></div>
19
20     <script id="image-manager-form-image-data" type="application/json">@json($image)</script>
21
22     <form component="ajax-form"
23           option:ajax-form:success-message="{{ trans('components.image_update_success') }}"
24           option:ajax-form:method="put"
25           option:ajax-form:response-container=".image-manager-details"
26           option:ajax-form:url="{{ url('images/' . $image->id) }}">
27
28         <div class="image-manager-viewer">
29             <a href="{{ $image->url }}" target="_blank" rel="noopener" class="block">
30                 <img src="{{ $image->thumbs['display'] ?? $image->url }}"
31                      alt="{{ $image->name }}"
32                      class="anim fadeIn"
33                      title="{{ $image->name }}">
34             </a>
35         </div>
36         <div class="form-group stretch-inputs">
37             <label for="name">{{ trans('components.image_image_name') }}</label>
38             <input id="name" class="input-base" type="text" name="name" value="{{ $image->name }}">
39         </div>
40         <div class="flex-container-row justify-space-between gap-m">
41             @if(userCan('image-delete', $image) || userCan('image-update', $image))
42                 <div component="dropdown"
43                      class="dropdown-container">
44                     <button refs="dropdown@toggle" type="button" class="button icon outline">@icon('more')</button>
45                     <div refs="dropdown@menu" class="dropdown-menu anchor-left">
46                         @if(userCan('image-delete', $image))
47                             <button type="button"
48                                     id="image-manager-delete"
49                                     class="text-item">{{ trans('common.delete') }}</button>
50                         @endif
51                         @if(userCan('image-update', $image))
52                             <button type="button"
53                                     id="image-manager-replace"
54                                     refs="dropzone@select-button"
55                                     class="text-item">{{ trans('components.image_replace') }}</button>
56                             <button type="button"
57                                     id="image-manager-rebuild-thumbs"
58                                     class="text-item">{{ trans('components.image_rebuild_thumbs') }}</button>
59                         @endif
60                     </div>
61                 </div>
62             @endif
63                 <button type="submit"
64                         class="button icon outline">{{ trans('common.save') }}</button>
65         </div>
66     </form>
67
68     @if(!is_null($dependantPages))
69         <hr>
70         @if(count($dependantPages) > 0)
71             <p class="text-neg mb-xs mt-m">{{ trans('components.image_delete_used') }}</p>
72             <ul class="text-neg">
73                 @foreach($dependantPages as $page)
74                     <li>
75                         <a href="{{ $page->url }}"
76                            target="_blank"
77                            rel="noopener"
78                            class="text-neg">{{ $page->name }}</a>
79                     </li>
80                 @endforeach
81             </ul>
82         @endif
83         <p class="text-neg mb-xs">{{ trans('components.image_delete_confirm_text') }}</p>
84         <form component="ajax-form"
85               option:ajax-form:success-message="{{ trans('components.image_delete_success') }}"
86               option:ajax-form:method="delete"
87               option:ajax-form:response-container=".image-manager-details"
88               option:ajax-form:url="{{ url('images/' . $image->id) }}">
89             <button type="submit" class="button neg">
90                 {{ trans('common.delete_confirm') }}
91             </button>
92         </form>
93     @endif
94
95     <div class="text-muted text-small">
96         <hr class="my-m">
97         <div title="{{ $image->created_at->format('Y-m-d H:i:s') }}">
98             @icon('star') {{ trans('components.image_uploaded', ['uploadedDate' => $image->created_at->diffForHumans()]) }}
99         </div>
100         @if($image->created_at->valueOf() !== $image->updated_at->valueOf())
101             <div title="{{ $image->updated_at->format('Y-m-d H:i:s') }}">
102                 @icon('edit') {{ trans('components.image_updated', ['updateDate' => $image->updated_at->diffForHumans()]) }}
103             </div>
104         @endif
105         @if($image->createdBy)
106             <div>@icon('user') {{ trans('components.image_uploaded_by', ['userName' => $image->createdBy->name]) }}</div>
107         @endif
108         @if(($page = $image->getPage()) && userCan('view', $page))
109             <div>
110                 @icon('page')
111                 {!! trans('components.image_uploaded_to', [
112                     'pageLink' => '<a class="text-page" href="' . e($page->getUrl()) . '" target="_blank">' . e($page->name) . '</a>'
113                 ]) !!}
114             </div>
115         @endif
116     </div>
117
118 </div>