Demos: Make autocomplete demos work on jqueryui.com

The `jqueryui.com` demos build process deAMDifies HTML files, replacing required
JS files with direct script tags. On the other hand, when running demos locally
from the jQuery UI repository, RequireJS is used.

This used to work fine until we got a new `search.js` file introduced in
gh-2187. The deAMDifying process doesn't touch non-HTML files which made loading
autocomplete demos crash on "require is not a function"

To resolve the issues without a major rearchitecture of the build process,
the `search.js` file now detects AMD and uses `require`, falling back to relying
on the `jQuery` global in the other case.

Closes gh-2274
Ref gh-2187
Ref jquery/jqueryui.com#216
This commit is contained in:
Michał Gołębiowski-Owczarek 2024-07-30 08:31:10 +02:00 committed by GitHub
parent 5665215a85
commit 600057f59c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,5 +1,18 @@
require( [ "jquery", ], function( $ ) { ( function( factory ) {
"use strict"; "use strict";
if ( typeof define === "function" && define.amd ) {
// Fetch jQuery as an AMD dependency
require( [ "jquery" ], factory );
} else {
// Use the jQuery browser global
factory( jQuery );
}
} )( function( $ ) {
"use strict";
var database = { var database = {
"Great Bittern" : "Botaurus stellaris", "Great Bittern" : "Botaurus stellaris",
"Little Grebe" : "Tachybaptus ruficollis", "Little Grebe" : "Tachybaptus ruficollis",