글쓰기 되돌리기와 미디어 관리 보정
This commit is contained in:
@@ -101,6 +101,10 @@ const getMediaBadgeLabel = (item) => {
|
||||
return '회원'
|
||||
}
|
||||
|
||||
if (activeTab.value === 'postThumbnails' && item?.thumbnailStatus?.role === 'card') {
|
||||
return ''
|
||||
}
|
||||
|
||||
if (item?.thumbnailStatus?.role === 'card') {
|
||||
return '카드'
|
||||
}
|
||||
@@ -357,12 +361,16 @@ const filteredMediaItems = computed(() => {
|
||||
|
||||
const filteredMediaUrls = computed(() => filteredMediaItems.value.map((item) => item.url))
|
||||
|
||||
const filteredSelectableMediaItems = computed(() => filteredMediaItems.value.filter((item) => !isMediaItemLocked(item)))
|
||||
|
||||
const filteredSelectableMediaUrls = computed(() => filteredSelectableMediaItems.value.map((item) => item.url))
|
||||
|
||||
const isAllFilteredMediaSelected = computed(() => {
|
||||
if (!filteredMediaUrls.value.length) {
|
||||
if (!filteredSelectableMediaUrls.value.length) {
|
||||
return false
|
||||
}
|
||||
|
||||
return filteredMediaUrls.value.every((url) => selectedMediaUrls.value.includes(url))
|
||||
return filteredSelectableMediaUrls.value.every((url) => selectedMediaUrls.value.includes(url))
|
||||
})
|
||||
|
||||
const selectedDeletableMediaItems = computed(() => {
|
||||
@@ -460,12 +468,12 @@ const clearMediaSelection = () => {
|
||||
* @returns {void}
|
||||
*/
|
||||
const toggleFilteredMediaSelection = () => {
|
||||
if (!filteredMediaUrls.value.length) {
|
||||
if (!filteredSelectableMediaUrls.value.length) {
|
||||
return
|
||||
}
|
||||
|
||||
if (isAllFilteredMediaSelected.value) {
|
||||
const filteredUrlSet = new Set(filteredMediaUrls.value)
|
||||
const filteredUrlSet = new Set(filteredSelectableMediaUrls.value)
|
||||
selectedMediaUrls.value = selectedMediaUrls.value.filter((url) => !filteredUrlSet.has(url))
|
||||
lastSelectedIndex.value = -1
|
||||
return
|
||||
@@ -473,7 +481,7 @@ const toggleFilteredMediaSelection = () => {
|
||||
|
||||
selectedMediaUrls.value = [...new Set([
|
||||
...selectedMediaUrls.value,
|
||||
...filteredMediaUrls.value
|
||||
...filteredSelectableMediaUrls.value
|
||||
])]
|
||||
lastSelectedIndex.value = filteredMediaItems.value.length - 1
|
||||
}
|
||||
@@ -1117,6 +1125,7 @@ watch(filteredMediaUrls, (urls) => {
|
||||
class="admin-media__select-all rounded border border-line bg-white px-3 py-2 text-xs font-semibold text-ink transition hover:border-[#c8ced3] disabled:cursor-not-allowed disabled:opacity-50"
|
||||
type="button"
|
||||
:aria-pressed="isAllFilteredMediaSelected"
|
||||
:disabled="!filteredSelectableMediaUrls.length"
|
||||
@click="toggleFilteredMediaSelection"
|
||||
>
|
||||
{{ isAllFilteredMediaSelected ? '전체 해제' : '전체 선택' }}
|
||||
|
||||
Reference in New Issue
Block a user