trying to get JS and cssbundling to work

This commit is contained in:
Christoph Haas 2025-04-09 22:47:05 +02:00
parent e4af4c21ae
commit 7cd9c68a10
8 changed files with 155 additions and 44 deletions

View file

@ -0,0 +1,131 @@
// Entry point for the build script in your package.json
// import "@hotwired/turbo-rails";
// import "jquery";
// import "foundation-sites";
// import 'foundation-sites/dist/css/foundation.min.css'; // CSS
// import "./controllers";
// // Entry point for the build script in your package.json
// import "./jquery/dist/jquery.min.js";
// import $ from './node_modules/jquery/dist/jquery.min.js';
// import jQuery from "../../jquery/dist/jquery.min.js"; // Direct file path
// window.$ = window.jQuery = jQuery; // Expose globally (if needed)
// import "./foundation-sites/dist/js/foundation.min";
// import jquery from "jquery";
// window.jQuery = jquery;
// window.$ = jquery;
$(function () {
$(document).foundation();
});
// Load reviews on package's details page
// load_reviews = function() {
// // Display message while loading reviews
// // $('#reviews').html("<i>Loading reviews...</i>");
// // Hide the DIV so that in can be faded in later
// $('#reviews').hide();
// // The URL is specified in the #reviews's DIV data attribute
// var url = $('#reviews').attr('data-package-reviews-url');
// $('#reviews').load(url, null,
// // Fade in the reviews as soon as the DIV is loaded and filled
// function(){
// $(this).fadeIn('slow')
// }
// );
// };
// Initialize the upload form.
function upload_form_init() {
// Disable the submit button if Javascript is supported.
// Upload will start right after selecting images.
$('#file-submit').hide();
// Install event handler to notice when files were selected.
$('#file').on('change', upload_form_files_selected);
};
function upload_form_files_selected() {
no_files = this.files.length;
if (no_files > 0) {
$('#file-label').html(no_files+" files selected - uploading…"); // change label
$('#file-select-button').attr('disabled','disabled'); // disable select button
$('#file-form').trigger('submit'); // start upload
}
};
// Handle Ctrl-V to paste an image directly
function upload_paste_handler(event)
{
console.log("paste!");
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
// /*Make Sure Only One File is Copied*/
// if (items.length != 1) {
// return;
// }
for (var i = 0 ; i < items.length ; i++)
{
var item = items[i];
console.log(item);
console.log("item size="+item.size);
if (!item.type.startsWith('image/'))
{
console.log("Skipping file with type "+item.type);
continue
}
console.log(item.type);
var file = item.getAsFile();
console.log(file);
upload_file_with_ajax(file);
}
}
function upload_file_with_ajax(file)
{
if (file==null)
{
console.log("File was null. Strange.");
display_error('Maybe the image was too large.');
return;
}
var formData = new FormData();
formData.append('file', file);
$.ajax(ajax_upload_url,
{
type: 'POST',
contentType: false,
processData: false,
data: formData,
//dataType: 'json',
error: function(xhr, txt, err)
{
console.log("AJAX file upload returned error: "+txt+" / "+err);
response = JSON.parse(xhr.responseText);
display_error(response);
},
success: function(res)
{
console.log("AJAX file upload was ok");
// Go back to details page to show the new upload
window.location.replace(after_upload_url);
}
});
}
function display_error(msg)
{
$('#messages').html(
'<div class="callout alert alert-callout-subtle radius">Sorry, pasting did not work. ' + msg + '</div>')
}

View file

@ -12,8 +12,14 @@ html
/ = stylesheet_link_tag :app, "data-turbo-track": "reload"
/ = javascript_include_tag "application", "data-turbo-track": "reload", type: "module"
/ = stylesheet_link_tag "foundation", media: "all"
= stylesheet_link_tag "application", media: "all"
= javascript_include_tag "application", "data-turbo-track": "reload", type: "module"
/ = javascript_include_tag "jquery/dist/jquery.min.js"
/ = javascript_include_tag "foundation-sites/dist/js/foundation.min"
= javascript_include_tag "jquery-3.7.1.min.js", "data-turbo-track": "reload", type: "module"
= javascript_include_tag "foundation", "data-turbo-track": "reload", type: "module"
= javascript_include_tag "debshots", "data-turbo-track": "reload", type: "module"
/ = javascript_include_tag "application", "data-turbo-track": "reload", type: "module"
= csrf_meta_tags