From 53eb56953948d951ff2c2a29d2919fa069385f37 Mon Sep 17 00:00:00 2001 From: Zsolt Tasnadi Date: Mon, 27 Jul 2026 09:45:42 +0200 Subject: [PATCH] select fix --- apps/api/app/admin/files.rb | 2 +- .../api/app/assets/javascripts/active_admin.js | 18 ++++++++---------- .../app/assets/stylesheets/active_admin.scss | 2 +- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/apps/api/app/admin/files.rb b/apps/api/app/admin/files.rb index 41dc6b4..5458cd6 100644 --- a/apps/api/app/admin/files.rb +++ b/apps/api/app/admin/files.rb @@ -122,7 +122,7 @@ ActiveAdmin.register_page "Files" do text_node " " abs_path = "/softwares/#{entry[:path]}" a "Select", href: "#", class: "fm-btn fm-btn-select", - onclick: "window.parent.postMessage({type:'file-picked',field:'#{j picker_field}',path:'#{j abs_path}'},'*');return false;" + onclick: "window.parent.filePickerSelect('#{j picker_field}','#{j abs_path}');return false;" end # Hidden rename form diff --git a/apps/api/app/assets/javascripts/active_admin.js b/apps/api/app/assets/javascripts/active_admin.js index bbe762d..d60f0cc 100644 --- a/apps/api/app/assets/javascripts/active_admin.js +++ b/apps/api/app/assets/javascripts/active_admin.js @@ -61,17 +61,15 @@ } } - // Listen for file selection from iframe - window.addEventListener('message', function(event) { - if (event.data && event.data.type === 'file-picked') { - var input = document.getElementById(event.data.field); - if (input) { - input.value = event.data.path; - input.dispatchEvent(new Event('change', { bubbles: true })); - } - closeFilePicker(); + // Global callback for iframe to call directly (same-origin) + window.filePickerSelect = function(fieldId, path) { + var input = document.getElementById(fieldId); + if (input) { + input.value = path; + input.dispatchEvent(new Event('change', { bubbles: true })); } - }); + closeFilePicker(); + }; document.addEventListener('DOMContentLoaded', addBrowseButtons); diff --git a/apps/api/app/assets/stylesheets/active_admin.scss b/apps/api/app/assets/stylesheets/active_admin.scss index e16c841..3f100cf 100644 --- a/apps/api/app/assets/stylesheets/active_admin.scss +++ b/apps/api/app/assets/stylesheets/active_admin.scss @@ -15,7 +15,7 @@ .fm-btn { display: inline-block; padding: 5px 12px; background: #5a6268; color: #fff; border: none; border-radius: 3px; font-size: 12px; cursor: pointer; text-decoration: none; &:hover { background: #484e53; color: #fff; } } -.fm-btn-select { background: #28a745; &:hover { background: #218838; } } +.fm-btn-select { background: #28a745; color: #fff !important; &:hover { background: #218838; color: #fff !important; } &:visited { color: #fff !important; } } .fm-table { width: 100%; border-collapse: collapse; th { background: #f0f0f0; padding: 8px 12px; text-align: left; font-size: 12px; text-transform: uppercase; color: #666; border-bottom: 2px solid #ddd; }