-<div id="image-manager" image-type="{{ $imageType }}" uploaded-to="{{ $uploaded_to or 0 }}">
- <div overlay v-cloak @click="hide">
- <div class="popup-body" @click.stop="">
+<div id="image-manager" image-type="{{ $imageType }}" uploaded-to="{{ $uploaded_to ?? 0 }}">
+
+ @exposeTranslations([
+ 'components.image_delete_success',
+ 'components.image_upload_success',
+ 'errors.server_upload_limit',
+ 'components.image_upload_remove',
+ 'components.file_upload_timeout',
+ ])
+
+ <div component="popup" class="popup-background" v-cloak @click="hide">
+ <div class="popup-body" tabindex="-1" @click.stop>
<div class="popup-header primary-background">
<div class="popup-title">{{ trans('components.image_select') }}</div>
- <button class="overlay-close neg corner-button button" @click="hide()">x</button>
+ <button class="popup-header-close" @click="hide()">x</button>
</div>
<div class="flex-fill image-manager-body">
<div class="image-manager-content">
- <div v-if="imageType === 'gallery'" class="container">
- <div class="image-manager-header row faded-small nav-tabs">
- <div class="col-xs-4 tab-item" title="{{ trans('components.image_all_title') }}" :class="{selected: (view=='all')}" @click="setView('all')">@icon('images') {{ trans('components.image_all') }}</div>
- <div class="col-xs-4 tab-item" title="{{ trans('components.image_book_title') }}" :class="{selected: (view=='book')}" @click="setView('book')">@icon('book', ['class' => 'text-book svg-icon']) {{ trans('entities.book') }}</div>
- <div class="col-xs-4 tab-item" title="{{ trans('components.image_page_title') }}" :class="{selected: (view=='page')}" @click="setView('page')">@icon('page', ['class' => 'text-page svg-icon']) {{ trans('entities.page') }}</div>
- </div>
+ <div v-if="imageType === 'gallery' || imageType === 'drawio'" class="image-manager-header primary-background-light nav-tabs grid third">
+ <div class="tab-item" title="{{ trans('components.image_all_title') }}" :class="{selected: !filter}" @click="setFilterType(null)">@icon('images') {{ trans('components.image_all') }}</div>
+ <div class="tab-item" title="{{ trans('components.image_book_title') }}" :class="{selected: (filter=='book')}" @click="setFilterType('book')">@icon('book', ['class' => 'text-book svg-icon']) {{ trans('entities.book') }}</div>
+ <div class="tab-item" title="{{ trans('components.image_page_title') }}" :class="{selected: (filter=='page')}" @click="setFilterType('page')">@icon('page', ['class' => 'text-page svg-icon']) {{ trans('entities.page') }}</div>
</div>
- <div v-show="view === 'all'" >
+ <div>
<form @submit.prevent="searchImages" class="contained-search-box">
- <input placeholder="{{ trans('components.image_search_hint') }}" v-model="searchTerm">
+ <input placeholder="{{ trans('components.image_search_hint') }}" v-model="searchTerm" type="text">
<button :class="{active: searching}" title="{{ trans('common.search_clear') }}" type="button" @click="cancelSearch()" class="text-button cancel">@icon('close')</button>
<button title="{{ trans('common.search') }}" class="text-button">@icon('search')</button>
</form>
<div class="image-manager-sidebar">
- <dropzone ref="dropzone" placeholder="{{ trans('components.image_dropzone') }}" :upload-url="uploadUrl" :uploaded-to="uploadedTo" @success="uploadSuccess"></dropzone>
+ <dropzone v-if="imageType !== 'drawio'" ref="dropzone" placeholder="{{ trans('components.image_dropzone') }}" :upload-url="uploadUrl" :uploaded-to="uploadedTo" @success="uploadSuccess"></dropzone>
<div class="inner">
<div class="image-manager-details anim fadeIn" v-if="selectedImage">
- <div v-if="selectedRevision" class="image-manager-viewer">
- <a :href="selectedRevision.url" target="_blank" style="display: block;">
- <img :src="selectedRevision.url" :alt="selectedImage.name"
- :title="selectedImage.name">
- </a>
- </div>
-
- <form @submit.prevent="saveImageDetails" v-if="!selectedRevision">
+ <form @submit.prevent="saveImageDetails">
<div class="image-manager-viewer">
<a :href="selectedImage.url" target="_blank" style="display: block;">
<img :src="selectedImage.thumbs.display" :alt="selectedImage.name"
</div>
</form>
- <div v-if="!selectedRevision" class="clearfix">
+ <div class="clearfix">
<div class="float left">
<button type="button" class="button icon outline" @click="deleteImage">@icon('delete')</button>
</div>
</div>
- {{--Revisions View--}}
- <div v-show="imageType === 'drawio'">
- <hr>
- <h5>Revisions</h5>
- <table v-if="revisions.length > 0" class="table">
- <tr v-for="(revision, index) in revisions" :key="revision.id" :class="{'primary-background-light': selectedRevision === revision}" @click="selectRevision(revision)">
- <td>
- <span v-text="revision.revision"></span>
- <span class="italic text-muted" v-if="index === 0 && revision.path === selectedImage.path">(Current)</span>
- </td>
- <td class="text-small">
- <span v-text="(new Date(revision.created_at + 'Z')).toLocaleTimeString()"></span>
- <br>
- <span v-text="(new Date(revision.created_at + 'Z')).toLocaleDateString()"></span>
- </td>
- </tr>
- </table>
- <p v-if="revisions.length === 0" class="text-muted italic">
- No revisions found
- </p>
- </div>
-
</div>