{"version":3,"names":["$","ew","PREVIEW","PREVIEW_TEMPLATE","PREVIEW_NAV_STYLE","PREVIEW_LOADING_HTML","spinnerTemplate","PREVIEW_MODAL_HTML","PREVIEW_MODAL_CLASS","language","phrase","PREVIEW_MODAL_OPTIONS","PREVIEW_MODAL_DIALOG","PREVIEW_OFFCANVAS_HTML","PREVIEW_OFFCANVAS_PLACEMENT","PREVIEW_OFFCANVAS_OPTIONS","PREVIEW_OFFCANVAS_SIDEBAR","$document","document","showPreviewRow","e","$el","currentTarget","closest","$r","is","$content","find","$tbl","attr","row","r","$tb","PREVIEW_SINGLE_ROW","remove","not","colSpan","Array","from","cells","reduce","acc","cur","$sr","nextAll","data","first","hasClass","insertRow","sectionRowIndex","addClass","insertCell","prop","addRowToTable","$cell","id","random","empty","append","children","slideUp","clone","tab","slideDown","setupTable","detailPopover","i","btn","_bootstrap$Tooltip$ge","bootstrap","Popover","getInstance","$parent","Tooltip","dispose","PREVIEW_SELECTOR","classList","contains","add","inst","popoverOptions","delay","PREVIEW_POPOVER_DELAY","placement","PREVIEW_POPOVER_PLACEMENT","container","getElementById","content","customClass","trigger","PREVIEW_POPOVER_TRIGGER","addEventListener","_getActivePopover","getActivePopover","hide","$tip","_getTipElement","html","_bootstrap$Popover$ge","this","getAttribute","show","detailModal","_bootstrap$Tooltip$ge2","modal","detailOffcanvas","_bootstrap$Tooltip$ge3","offcanvas","showTab","el","target","dataset","bsTarget","$target","url","page","table","sort","sortOrder","sortType","params","URLSearchParams","tooltip","overlayTemplate","isNumber","set","TABLE_PAGE_NUMBER","TABLE_SORT","includes","shiftKey","ctrlKey","fetch","toString","then","async","_response$headers$get","response","headers","get","result","json","error","getError","alert","text","selector","replace","$btns","removeClass","$navitem","$dropbtn","role","prepend","on","$navlinks","each","filter","count","innerHTML","Event","$tabpane","_getActivePopover2","_bootstrap$Modal$getI","update","querySelector","Modal","handleUpdate","hideTab","dropdown","popover","Object","assign","loadjs","ready","evt","_getActivePopover3","$this","parentId","initPreview","_e$target","isNested","previewType","PREVIEW_TYPE","_Pace","Pace","running","preventDefault","off","args","navItem","lazyLoad","initPanels","initTooltips","initLightboxes","initIcons","jQuery"],"sources":["js\\preview.js"],"sourcesContent":["/*!\n * Detail Preview for PHPMaker v2025.7.0\n * Copyright (c) e.World Technology Limited. All rights reserved.\n */\n(function ($, ew) {\n 'use strict';\n\n ew.PREVIEW = true;\r\n ew.PREVIEW_TEMPLATE = \"
\\n \\n
\\n
\\n
\\n
\";\r\n ew.PREVIEW_LOADING_HTML = ew.spinnerTemplate();\r\n ew.PREVIEW_MODAL_HTML = \"
\";\r\n ew.PREVIEW_MODAL_OPTIONS = {};\r\n ew.PREVIEW_MODAL_DIALOG = null;\r\n ew.PREVIEW_OFFCANVAS_HTML = \"
\" + ew.language.phrase(\"Details\") + \"
\";\r\n ew.PREVIEW_OFFCANVAS_OPTIONS = {};\r\n ew.PREVIEW_OFFCANVAS_SIDEBAR = null;\r\n const $document = $(document);\r\n\r\n // Add preview row\r\n let addRowToTable = function (r) {\r\n let $r = $(r),\r\n $tb = $r.closest(\"tbody\"),\r\n row;\r\n if (ew.PREVIEW_SINGLE_ROW) {\r\n $tb.find(\"tr.ew-table-preview-row\").remove();\r\n $tb.find(\"tr[aria-expanded]\").not(r).attr(\"aria-expanded\", \"false\");\r\n }\r\n let colSpan = Array.from(r.cells).reduce((acc, cur) => acc + cur.colSpan, 0),\r\n $sr = $r.nextAll(\"tr[data-rowindex!=\" + $r.data(\"rowindex\") + \"]\").first();\r\n if ($sr.hasClass(\"ew-table-preview-row\")) {\r\n // Preview row exists\r\n return $sr[0];\r\n } else if (row = $tb[0].insertRow($sr[0] ? $sr[0].sectionRowIndex : -1)) {\r\n // Insert a new row\r\n $(row).addClass(\"ew-preview-container ew-table-preview-row expandable-body\");\r\n $(row.insertCell(0)).addClass(\"ew-table-last-col\").prop(\"colSpan\", colSpan);\r\n }\r\n return row;\r\n };\r\n\r\n /**\r\n * Show preview row\r\n * @param {Event} e - Event with the following property\r\n * @param {HTMLElement} e.currentTarget\r\n * @returns\r\n */\r\n let showPreviewRow = e => {\r\n let $el = $(e.currentTarget).closest(\"tr\"),\r\n isRow = $el.is(\"tr[data-rowindex]\"),\r\n $r = isRow ? $el : $el.closest(\"tr[data-rowindex]\"),\r\n $content = $r.find(\"[class$=_preview] .ew-preview\"),\r\n $tbl = $r.closest(\"table\");\r\n if (!$r[0] || !$content[0]) return;\r\n if ($r.attr(\"aria-expanded\") === \"true\") {\r\n let row = addRowToTable($r[0]),\r\n $cell = $(row.cells[0]),\r\n id = \"target\" + ew.random();\r\n $cell.empty(); // Note: do not chain\r\n $cell.append(ew.PREVIEW_TEMPLATE); // Append the contents\r\n $cell.children().slideUp(0);\r\n $cell.find(\".nav-tabs, .nav-pills, .nav-underline\").append($content.find(\".nav-item\").clone(true)); // Append tabs\r\n $cell.find(\".tab-pane\").attr(\"id\", id);\r\n $cell.find(\"[data-bs-toggle='tab']\").attr({\r\n \"data-bs-target\": \"#\" + id,\r\n \"aria-controls\": id\r\n }) // Setup tabs\r\n .first().tab(\"show\"); // Show the first tab\r\n $cell.children().slideDown(500); // Match AdminLTE ExpandableTable\r\n }\r\n ew.setupTable($tbl[0], true);\r\n // ew.fixLayoutHeight();\r\n };\r\n\r\n // Setup preview popover\r\n let detailPopover = function (i, btn) {\r\n var _bootstrap$Tooltip$ge;\r\n if (bootstrap.Popover.getInstance(btn)) return;\r\n let $parent = $(btn.closest(\".ew-list-option-body, .ew-multi-column-list-option-table, .ew-multi-column-list-option-card\"));\r\n (_bootstrap$Tooltip$ge = bootstrap.Tooltip.getInstance(btn)) == null || _bootstrap$Tooltip$ge.dispose(); // Dispose tooltip, if any\r\n btn = btn.closest(ew.PREVIEW_SELECTOR);\r\n if (!btn) return;\r\n if (!btn.classList.contains(\"ew-preview-btn\")) btn.classList.add(\"ew-preview-btn\");\r\n let inst = new bootstrap.Popover(btn, {\r\n ...ew.popoverOptions,\r\n delay: ew.PREVIEW_POPOVER_DELAY,\r\n placement: ew.PREVIEW_POPOVER_PLACEMENT,\r\n container: document.getElementById(\"ew-tooltip\"),\r\n content: ew.PREVIEW_LOADING_HTML,\r\n customClass: \"ew-preview-container ew-preview-popover\",\r\n trigger: ew.PREVIEW_POPOVER_TRIGGER == \"click\" ? \"click\" : \"manual\"\r\n });\r\n btn.addEventListener(\"show.bs.popover\", () => {\r\n var _getActivePopover;\r\n return (_getActivePopover = getActivePopover()) == null ? void 0 : _getActivePopover.hide();\r\n });\r\n btn.addEventListener(\"shown.bs.popover\", () => {\r\n let id = \"target\" + ew.random(),\r\n $tip = $(inst._getTipElement());\r\n $tip.find(\".popover-body\").empty().html(ew.PREVIEW_TEMPLATE); // Add the preview template\r\n $tip.find(\".nav-tabs, .nav-pills, .nav-underline\").append($parent.find(\".nav-item\").clone(true)); // Append tabs\r\n $tip.find(\".tab-pane\").attr(\"id\", id);\r\n $tip.find(\"[data-bs-toggle='tab']\").attr({\r\n \"data-bs-target\": \"#\" + id,\r\n \"aria-controls\": id\r\n }) // Setup tabs\r\n .first().tab(\"show\"); // Show the first tab\r\n });\r\n if (ew.PREVIEW_POPOVER_TRIGGER != \"click\") {\r\n btn.addEventListener(ew.PREVIEW_POPOVER_TRIGGER, function () {\r\n var _bootstrap$Popover$ge;\r\n if (this.getAttribute(\"aria-describedby\"))\r\n // Showing\r\n return;\r\n (_bootstrap$Popover$ge = bootstrap.Popover.getInstance(this)) == null || _bootstrap$Popover$ge.show();\r\n });\r\n }\r\n };\r\n\r\n // Setup preview modal\r\n let detailModal = function (i, btn) {\r\n var _bootstrap$Tooltip$ge2;\r\n (_bootstrap$Tooltip$ge2 = bootstrap.Tooltip.getInstance(btn)) == null || _bootstrap$Tooltip$ge2.dispose(); // Dispose tooltip, if any\r\n btn = btn.closest(ew.PREVIEW_SELECTOR);\r\n if (!btn) return;\r\n if (!btn.classList.contains(\"ew-preview-btn\")) btn.classList.add(\"ew-preview-btn\");\r\n btn.addEventListener(\"click\", () => {\r\n ew.PREVIEW_MODAL_DIALOG.attr(\"data-parent-id\", this.closest(\"[id^=el]\").id).modal(\"hide\"); // Find id=\"el_tablename_preview\"\r\n ew.PREVIEW_MODAL_DIALOG.modal(\"show\");\r\n });\r\n };\r\n\r\n // Setup preview offcanvas\r\n let detailOffcanvas = function (i, btn) {\r\n var _bootstrap$Tooltip$ge3;\r\n (_bootstrap$Tooltip$ge3 = bootstrap.Tooltip.getInstance(btn)) == null || _bootstrap$Tooltip$ge3.dispose(); // Dispose tooltip, if any\r\n btn = btn.closest(ew.PREVIEW_SELECTOR);\r\n if (!btn) return;\r\n if (!btn.classList.contains(\"ew-preview-btn\")) btn.classList.add(\"ew-preview-btn\");\r\n btn.addEventListener(\"click\", () => {\r\n ew.PREVIEW_OFFCANVAS_SIDEBAR.attr(\"data-parent-id\", this.closest(\"[id^=el]\").id).offcanvas(\"hide\"); // Find id=\"el_tablename_preview\"\r\n ew.PREVIEW_OFFCANVAS_SIDEBAR.offcanvas(\"show\");\r\n });\r\n };\r\n\r\n /**\r\n * Tab \"show\" event\r\n * @param {Event} e - Event with the following properties\r\n * @param {HTMLElement} e.currentTarget\r\n * @param {boolean} e.shiftKey\r\n * @param {boolean} e.ctrlKey\r\n * @returns\r\n */\r\n let showTab = function (e) {\r\n let el = e.currentTarget,\r\n target = el.dataset.bsTarget || el.closest(\".tab-pane\"); // Tab or Paging/Sorting links\r\n if (!target) return;\r\n let $el = $(el),\r\n $target = $(target),\r\n {\r\n url,\r\n page,\r\n table,\r\n sort,\r\n sortOrder,\r\n sortType\r\n } = el.dataset,\r\n params = new URLSearchParams(),\r\n data = $target.data(table) || {};\r\n if (url) {\r\n // New tab or paging link\r\n data.url = url;\r\n sort = data.sort;\r\n sortOrder = data.sortOrder;\r\n if (page) {\r\n // Paging link\r\n $el.tooltip(\"hide\");\r\n data.page = page;\r\n $target.data(table, data).find(\".card.ew-grid\").append(ew.overlayTemplate());\r\n } else {\r\n page = data.page || 1;\r\n $target.data(table, data).empty().html(ew.PREVIEW_LOADING_HTML);\r\n }\r\n } else if (sort) {\r\n // Sorting link\r\n url = data.url;\r\n if (sort !== data.sort || sortOrder !== data.sortOrder)\r\n // Reset\r\n data.page = page = 1;else page = data.page;\r\n data.sort = sort;\r\n data.sortOrder = sortOrder;\r\n $target.data(table, data).find(\".card.ew-grid\").append(ew.overlayTemplate());\r\n }\r\n if ($.isNumber(page)) params.set(ew.TABLE_PAGE_NUMBER, page);\r\n if (sort) {\r\n params.set(ew.TABLE_SORT, sort);\r\n if ([\"ASC\", \"DESC\", \"NO\"].includes(sortOrder)) params.set(\"sortorder\", sortOrder);\r\n if (e.shiftKey && !e.ctrlKey) params.set(\"cmd\", \"resetsort\");else if (sortType == 2 && e.ctrlKey) params.set(\"ctrl\", \"1\");\r\n }\r\n ew.fetch(url + \"&\" + params.toString()).then(async response => {\r\n var _response$headers$get;\r\n if ((_response$headers$get = response.headers.get(\"Content-Type\")) != null && _response$headers$get.includes(\"json\")) {\r\n let result = await response.json(),\r\n error = ew.getError(result);\r\n if (error) {\r\n ew.alert(error);\r\n return;\r\n }\r\n } else {\r\n let data = await response.text();\r\n $target.empty().html(data); // Append the detail records\r\n let selector = \".ew-detail-btn-group[data-table='\" + table + \"'][data-url='\" + url.replace(/&detailfilters=.+/, \"\") + \"']\",\r\n $btns = $target.closest(\".ew-preview-nav\").find(selector); // Detail buttons\r\n if (!$btns[0])\r\n // Maybe moved to body\r\n $btns = $(\"body\").children(selector);\r\n if ($btns.is(\"div\")) {\r\n // Buttons\r\n $target.append($btns.removeClass(\"d-none\")); // Append the buttons\r\n } else if ($btns.is(\"ul\")) {\r\n // Dropdown menu\r\n let $navitem = $el.closest(\".nav-item\").addClass(\"dropdown\"),\r\n $dropbtn = $navitem.find(\".dropdown-toggle\").addClass(\"active\").removeClass(\"d-none\");\r\n if (!$dropbtn[0]) {\r\n $dropbtn = $el.clone();\r\n $dropbtn.addClass(\"dropdown-toggle\") // Change nav link to dropdown button\r\n .attr({\r\n \"data-bs-toggle\": \"dropdown\",\r\n \"data-bs-target\": null,\r\n \"role\": \"button\"\r\n }); // Note: Remove data-bs-target attribute\r\n $navitem.prepend($dropbtn); // Note: Use .prepend()\r\n $el.on(\"hide.bs.tab\", () => {\r\n $navitem.removeClass(\"dropdown\").find($el).removeClass(\"d-none active\");\r\n $navitem.find(\".dropdown-toggle\").addClass(\"d-none\").removeClass(\"active show\");\r\n });\r\n }\r\n $el.addClass(\"d-none\");\r\n }\r\n $target.find(\".ew-pager .btn:not(.disabled), .ew-table-header > th > div[data-sort]\").data({\r\n \"target\": target,\r\n \"table\": table\r\n }).on(\"click\", showTab); // Setup buttons for paging/sorting\r\n let $navlinks = $target.closest(\".ew-preview-nav\").find(\".nav-link\");\r\n $target.find(\".ew-detail-count.d-none[data-table][data-count]\").each(function () {\r\n $navlinks.filter(\"[data-table='\" + this.dataset.table + \"']\").find(\".ew-detail-count-badge\").attr(\"data-count\", this.dataset.count).html(this.innerHTML);\r\n });\r\n $document.trigger($.Event(\"preview.ew\", {\r\n target: $target[0],\r\n $tabpane: $target\r\n }));\r\n }\r\n }).then(() => {\r\n var _getActivePopover2, _bootstrap$Modal$getI;\r\n (_getActivePopover2 = getActivePopover()) == null || _getActivePopover2.update(); // Update popover\r\n let modal = document.querySelector(\"#ew-preview-dialog\");\r\n if (modal != null && modal.classList.contains(\"show\")) (_bootstrap$Modal$getI = bootstrap.Modal.getInstance(modal)) == null || _bootstrap$Modal$getI.handleUpdate(); // Update modal\r\n });\r\n };\r\n\r\n /**\r\n * Tab \"hide\" event\r\n * @param {Event} e - Event with the following property\r\n * @param {HTMLElement} e.currentTarget\r\n * @returns\r\n */\r\n let hideTab = function (e) {\r\n // Dispose dropdowns inside the tab\r\n $(e.currentTarget.dataset.bsTarget).find(\".dropdown-toggle[id]\").dropdown(\"dispose\");\r\n // Hide all other dropdown menus\r\n let container = e.currentTarget.closest(\".popover, .modal, .nav\");\r\n if (container) $(container).find(\".dropdown-toggle\").dropdown(\"hide\");\r\n };\r\n\r\n /**\r\n * Get active popover\r\n * @returns {Popover}\r\n */\r\n let getActivePopover = () => {\r\n let popover = document.querySelector(\".ew-preview-popover.show\");\r\n if (!popover)\r\n // Popover closed\r\n return null;\r\n let btn = document.querySelector(\".ew-preview-btn[aria-describedby='\" + popover.id + \"']\");\r\n if (btn) return bootstrap.Popover.getInstance(btn);\r\n return null;\r\n };\r\n\r\n // Extend\r\n Object.assign(ew, {\r\n showPreviewRow,\r\n detailPopover,\r\n detailModal,\r\n detailOffcanvas,\r\n showTab,\r\n hideTab,\r\n getActivePopover\r\n });\r\n\r\n // Init\r\n loadjs.ready(\"wrapper\", function () {\r\n // Popover\r\n document.addEventListener(\"click\", evt => {\r\n var _getActivePopover3;\r\n if (!evt.target.closest(\".ew-preview-popover\"))\r\n // Outside popover\r\n (_getActivePopover3 = getActivePopover()) == null || _getActivePopover3.hide(); // Outside popover\r\n });\r\n // Modal\r\n if (!document.getElementById(\"ew-preview-dialog\")) $(\"body\").append(ew.PREVIEW_MODAL_HTML);\r\n ew.PREVIEW_MODAL_DIALOG = $(\"#ew-preview-dialog\").modal(ew.PREVIEW_MODAL_OPTIONS);\r\n $(\"#ew-preview-dialog\").on(\"show.bs.modal\", function () {\r\n $(this).find(\".modal-body\").empty().html(ew.PREVIEW_TEMPLATE); // Add the preview template\r\n }).on(\"shown.bs.modal\", function (e) {\r\n let $this = $(this),\r\n id = \"target\" + ew.random();\r\n $this.find(\".nav-tabs, .nav-pills, .nav-underline\").append($(\"#\" + this.dataset.parentId).find(\".nav-item\").clone(true)); // Append tabs\r\n $this.find(\".tab-pane\").attr(\"id\", id);\r\n $this.find(\"[data-bs-toggle='tab']\").attr({\r\n \"data-bs-target\": \"#\" + id,\r\n \"aria-controls\": id\r\n }) // Setup tabs\r\n .first().tab(\"show\"); // Show the first tab\r\n });\r\n // Offcanvas\r\n if (!document.getElementById(\"ew-preview-offcanvas\")) $(\"body\").append(ew.PREVIEW_OFFCANVAS_HTML);\r\n ew.PREVIEW_OFFCANVAS_SIDEBAR = $(\"#ew-preview-offcanvas\").offcanvas(ew.PREVIEW_OFFCANVAS_OPTIONS);\r\n $(\"#ew-preview-offcanvas\").on(\"show.bs.offcanvas\", function () {\r\n $(this).find(\".offcanvas-body\").empty().html(ew.PREVIEW_TEMPLATE); // Add the preview template\r\n }).on(\"shown.bs.offcanvas\", function () {\r\n let $this = $(this),\r\n id = \"target\" + ew.random();\r\n $this.find(\".nav-tabs, .nav-pills, .nav-underline\").append($(\"#\" + this.dataset.parentId).find(\".nav-item\").clone(true)); // Append tabs\r\n $this.find(\".tab-pane\").attr(\"id\", id);\r\n $this.find(\"[data-bs-toggle='tab']\").attr({\r\n \"data-bs-target\": \"#\" + id,\r\n \"aria-controls\": id\r\n }) // Setup tabs\r\n .first().tab(\"show\"); // Show the first tab\r\n });\r\n });\r\n\r\n // Init preview\r\n let initPreview = function (e) {\r\n var _e$target;\r\n let el = (_e$target = e == null ? void 0 : e.target) != null ? _e$target : document,\r\n $el = $(el),\r\n isNested = el !== document,\r\n previewType = ew.PREVIEW_TYPE;\r\n // Setup events and tab links\r\n if (isNested || previewType == \"row\") {\r\n // Preview rows\r\n $el.find(\"tr[data-rowindex][data-widget='expandable-table']\").on(\"expand.lte.expandableTable\", e => {\r\n var _Pace;\r\n return !((_Pace = Pace) != null && _Pace.running) || e.preventDefault();\r\n }) // Add \"expand\" handler to rows\r\n .on(\"expanded.lte.expandableTable\", showPreviewRow); // Add \"expanded\" handler to rows\r\n } else if (previewType == \"popover\") {\r\n // Popover\r\n $el.find(\".ew-preview-btn\").each(detailPopover);\r\n } else if (previewType == \"modal\") {\r\n // Modal\r\n $el.find(\".ew-preview-btn\").each(detailModal);\r\n } else if (previewType == \"offcanvas\") {\r\n // Offcanvas\r\n $el.find(\".ew-preview-btn\").each(detailOffcanvas);\r\n }\r\n $(\"#ew-modal-dialog\").off(\"success.ew.modal\").on(\"success.ew.modal\", (e, args) => {\r\n // Modal dialog success\r\n $(args == null ? void 0 : args.navItem).trigger(\"show.bs.tab\"); // Reload the row\r\n });\r\n // Init tabs\r\n $el.find(\".ew-preview [data-bs-toggle='tab']\").on(\"show.bs.tab\", showTab).on(\"hide.bs.tab\", hideTab);\r\n };\r\n\r\n // Default preview handler\r\n let preview = function (e) {\r\n ew.lazyLoad(e); // Load images\r\n ew.initPanels(e.$tabpane[0]); // Init panels\r\n e.$tabpane.find(\"table.ew-table\").each(ew.setupTable); // Setup the table\r\n ew.initTooltips(e); // Init tooltips\r\n ew.initLightboxes(e); // Init lightboxes\r\n ew.initIcons(e); // Init icons\r\n initPreview(e); // Init preview\r\n };\r\n\r\n // Add handlers\r\n $(initPreview);\r\n $(\".ew-multi-column-grid\").on(\"load.ew\", initPreview); // Layout changed from \"cards\" to \"table\" or vice versa\r\n $document.on(\"refresh.ew\", initPreview);\r\n $document.on(\"preview.ew\", preview);\n\n})(jQuery, ew);\n"],"mappings":"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","ignoreList":[]}