]> source.dussan.org Git - jquery-ui.git/commitdiff
Demos: Make autocomplete demos work on jqueryui.com
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>
Tue, 30 Jul 2024 06:31:10 +0000 (08:31 +0200)
committerGitHub <noreply@github.com>
Tue, 30 Jul 2024 06:31:10 +0000 (08:31 +0200)
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

demos/search.js

index 448071cc9f2ca1a1e0612978a76807802500aed2..c6dddb80ef411316c52d358069a21003e8cb10cf 100644 (file)
@@ -1,5 +1,18 @@
-require( [ "jquery", ], function( $ ) {
+( function( factory ) {
        "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 = {
                "Great Bittern" : "Botaurus stellaris",
                "Little Grebe" : "Tachybaptus ruficollis",