fix(admin/access): нативные confirm() → стилизованная модалка LS.confirm
Раздел «Доступ · контент» использовал браузерный confirm() («Подтвердите действие на localhost…») для закрытия доступа у всех классов и копирования. Заменены все 5 вызовов на LS.confirm (та же модалка, что в остальном админ- разделе): «Закрыть доступ» (danger) и «Скопировать доступ» (danger:false). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -311,7 +311,7 @@
|
||||
}
|
||||
|
||||
async function bulk(allow) {
|
||||
if (!allow && !confirm(`Закрыть «${_selContent.title}» у всех классов?`)) return;
|
||||
if (!allow && !await LS.confirm(`Закрыть доступ к «${_selContent.title}» у всех классов?`, { title: 'Закрыть доступ', confirmText: 'Закрыть' })) return;
|
||||
const classes = _targets.classes || [];
|
||||
try {
|
||||
await Promise.all(classes.map(c =>
|
||||
@@ -436,7 +436,7 @@
|
||||
if (!sel || !sel.value) { LS.toast('Выберите класс-источник', 'error'); return; }
|
||||
const srcId = Number(sel.value);
|
||||
const srcName = sel.options[sel.selectedIndex].text;
|
||||
if (!confirm(`Скопировать весь открытый доступ из «${srcName}» в «${_selClass.name}»? Текущие правила класса дополнятся.`)) return;
|
||||
if (!await LS.confirm(`Скопировать весь открытый доступ из «${srcName}» в «${_selClass.name}»? Текущие правила класса дополнятся.`, { title: 'Скопировать доступ', confirmText: 'Скопировать', danger: false })) return;
|
||||
try {
|
||||
const src = await LS.accessClassOpen(srcId);
|
||||
const items = CONTENT_TYPES.flatMap(t => (src[bucket(t)] || []).map(ref => [t, ref]));
|
||||
@@ -449,7 +449,7 @@
|
||||
}
|
||||
|
||||
async function classBulk(allow) {
|
||||
if (!allow && !confirm(`Закрыть весь контент у класса «${_selClass.name}»?`)) return;
|
||||
if (!allow && !await LS.confirm(`Закрыть весь контент у класса «${_selClass.name}»?`, { title: 'Закрыть доступ', confirmText: 'Закрыть' })) return;
|
||||
const all = CONTENT_TYPES.flatMap(t => itemsOf(t).map(it => [t, it[keyName(t)]]));
|
||||
try {
|
||||
await Promise.all(all.map(([type, ref]) =>
|
||||
@@ -543,7 +543,7 @@
|
||||
const classes = _matrix.classes || [];
|
||||
const allOpen = classes.length && classes.every(c => ((_matrix.open[c.id] || {})[type] || []).includes(ref));
|
||||
const open = !allOpen;
|
||||
if (!open && !confirm(`Закрыть «${contentTitle(type, ref)}» у всех классов?`)) return;
|
||||
if (!open && !await LS.confirm(`Закрыть доступ к «${contentTitle(type, ref)}» у всех классов?`, { title: 'Закрыть доступ', confirmText: 'Закрыть' })) return;
|
||||
try {
|
||||
await Promise.all(classes.map(c => LS.accessSetRule(type, ref, 'class', c.id, open ? 1 : null)));
|
||||
classes.forEach(c => mxApply(_matrix.open[c.id] || (_matrix.open[c.id] = {}), type, ref, open));
|
||||
@@ -557,7 +557,7 @@
|
||||
const allOpen = items.length && items.every(([t, ref]) => (o[t] || []).includes(ref));
|
||||
const open = !allOpen;
|
||||
const cls = (_matrix.classes.find(c => c.id === classId) || {}).name || ('#' + classId);
|
||||
if (!open && !confirm(`Закрыть весь контент у класса «${cls}»?`)) return;
|
||||
if (!open && !await LS.confirm(`Закрыть весь контент у класса «${cls}»?`, { title: 'Закрыть доступ', confirmText: 'Закрыть' })) return;
|
||||
try {
|
||||
await Promise.all(items.map(([t, ref]) => LS.accessSetRule(t, ref, 'class', classId, open ? 1 : null)));
|
||||
items.forEach(([t, ref]) => mxApply(o, t, ref, open));
|
||||
|
||||
Reference in New Issue
Block a user