/*! MIRIX Sheet Cases — production build */
(function($){
'use strict';
/* ===== 0) 共通ユーティリティ ===== */
function val(x){ return (x==null)?'':String(x).trim(); }
function isEmpty(x){ return val(x)===''; }
function esc(s){ return String(s).replace(/&/g,'&').replace(//g,'>'); }
function escAttr(s){ return esc(s).replace(/"/g,'"'); }
// すべての jQuery POST に WP nonce を自動付与(bad nonce対策)
var MIRIX_NONCE = (window.MSC_RUNTIME && MSC_RUNTIME.nonce) ? MSC_RUNTIME.nonce : '';
$.ajaxPrefilter(function(options, originalOptions){
if ((options.type||'').toUpperCase() === 'POST') {
if (typeof originalOptions.data === 'string') {
originalOptions.data += (originalOptions.data ? '&' : '') + '_ajax_nonce=' + encodeURIComponent(MIRIX_NONCE);
options.data = originalOptions.data;
} else {
options.data = Object.assign({_ajax_nonce: MIRIX_NONCE}, originalOptions.data || {});
}
}
});
/* ===== 1) URL・ファイル判定 ===== */
function isCf7Proxy(u){ var s=val(u); return /^https?:\/\/mirix\.co\.jp\/cf7-file\?/i.test(s); }
function isPdf(u){
var s = val(u); if(!s) return false;
try{
var url = new URL(s);
var path = decodeURIComponent((url.pathname||'').toLowerCase());
return path.endsWith('.pdf');
}catch(_){
return /\.pdf(\?.*)?$/i.test(s);
}
}
function isImg(u){
var s = val(u); if(!s) return false;
if (isPdf(s)) return false;
return /\.(png|jpe?g|gif|webp|svg)(\?.*)?$/i.test(s);
}
/* ===== 2) 表示補助 ===== */
function toJPDateOnly(raw){
var s = val(raw); if (isEmpty(s)) return '';
var d;
if (/^\d{4}-\d{2}-\d{2}T/.test(s) || /^\d{4}\/\d{2}\/\d{2}/.test(s)) {
d = new Date(s.replace(' ', 'T'));
if (isNaN(d)) d = new Date(s);
} else if (/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s)) {
d = new Date(s);
} else {
var m = s.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})/);
if (!m) return esc(s);
d = new Date(m[1], Number(m[2])-1, Number(m[3]));
}
if (isNaN(d)) return esc(s);
var y=d.getFullYear(), mm=('0'+(d.getMonth()+1)).slice(-2), dd=('0'+d.getDate()).slice(-2);
return y+'年'+mm+'月'+dd+'日';
}
function row(label, html){
if(isEmpty(html)) return '';
return '
'+esc(label)+''+html+'
';
}
function rowPlain(html){ if(isEmpty(html)) return ''; return '
'+html+'
'; }
// 共通メディア表示(画像 or PDF or 直リンク)
function mediaField(url){
var u = val(url); if(isEmpty(u)) return '';
if (isCf7Proxy(u)) return '';
if (isPdf(u)) return 'PDFを見る';
if (isImg(u)) {
return ''
+ '
';
}
return ''+esc(u)+'';
}
// スケルトン図/造作後図:PDFはリンクのみ(画像を出さない)
function mediaFieldPdfOnlyLink(url){
var u = val(url); if (isEmpty(u)) return '';
if (isCf7Proxy(u)) return '';
if (isPdf(u)) return 'PDFを見る';
return mediaField(u);
}
// cf7-file の実体を画像/PDFで自動分岐(imgロード試行)
function processCf7Auto(){
$('.msc-cf7-auto').each(function(){
var $h=$(this); if ($h.data('done')) return; $h.data('done',1);
var url=$h.attr('data-url')||'';
var pdfOnly = $h.hasClass('pdf-only'); // スケルトン/造作後図はPDFのみ表示
var decided=false, timer=null;
function toPdf(){
if(decided) return; decided=true;
$h.replaceWith('PDFを見る');
}
function toImg(){
if(decided) return; decided=true;
if (pdfOnly) { toPdf(); return; } // pdf-only指定時は画像を出さずPDFリンク
$h.replaceWith(
'' +
'