]> _ Git - odl.git/commitdiff
wip #5120
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 22 Feb 2022 17:39:25 +0000 (18:39 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 22 Feb 2022 17:39:25 +0000 (18:39 +0100)
app/Jobs/SearchIndex.php
package-lock.json
package.json
resources/js/search.js
resources/views/components/search.blade.php

index 87251cec1d4db4c771d4c557cbf641e8d2a241a5..3f71a8a792d7ed5d29cd4f723a00005061566057 100644 (file)
@@ -3,9 +3,6 @@
 namespace App\Jobs;
 
 use App\Models\Asset;
-use App\Models\Resource;
-use App\Models\Tour;
-use Cubist\Backpack\Magic\PageData;
 use Cubist\Minisearch\Document;
 use Cubist\Minisearch\Document\PDF;
 use Cubist\Minisearch\Index;
@@ -16,7 +13,7 @@ class SearchIndex extends Index
 
     public function __construct()
     {
-        $this->output = public_path('js/search.index.js');
+        $this->output = public_path('js/search.index.json');
     }
 
     public function handle()
index ba9cbdf4dd68edd0fe3d0de932c40dbdada2bd89..cecb0d11f35cfc205a95d7fe55e406ced17f4b7c 100644 (file)
@@ -1,9 +1,12 @@
 {
-    "name": "www",
+    "name": "ODL",
     "lockfileVersion": 2,
     "requires": true,
     "packages": {
         "": {
+            "dependencies": {
+                "fs": "^0.0.1-security"
+            },
             "devDependencies": {
                 "@alpinejs/intersect": "^3.4.2",
                 "@tailwindcss/line-clamp": "^0.2.2",
                 "node": ">= 0.6"
             }
         },
+        "node_modules/fs": {
+            "version": "0.0.1-security",
+            "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
+            "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ="
+        },
         "node_modules/fs-extra": {
             "version": "10.0.0",
             "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
             "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
             "dev": true
         },
+        "fs": {
+            "version": "0.0.1-security",
+            "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
+            "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ="
+        },
         "fs-extra": {
             "version": "10.0.0",
             "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
index 0a4a6dead5ad120a9bb6d422f353932a5507b3c9..d4101d65c0004e02bd9145e7b0f80d7a90489cfc 100644 (file)
@@ -25,5 +25,8 @@
         "postcss-import": "^14.0.2",
         "smooth-scroll": "^16.1.3",
         "tailwindcss": "^3.0.15"
+    },
+    "dependencies": {
+        "fs": "^0.0.1-security"
     }
 }
index 24c1803bc39b2f24bdd5f4ec06742d2d373c59b0..455e1f85e40aa05b170b0f7a35bb28622828f406 100644 (file)
@@ -3,6 +3,7 @@
 //=====================//
 
 import MiniSearch from 'minisearch';
+import {readFile} from 'fs'
 
 export default () => ({
 
@@ -19,13 +20,13 @@ export default () => ({
 
     async init() {
         // We need the URL from the HTML because it gets properly updated when exporting the final version
-        await loadScript(this.$el.dataset.searchindex);
-
-        // Delay miniSearch initialisation so there's less chance of animations stuttering during page loads
-        setTimeout(() => {
-            window.minisearch = this.miniSearch = new MiniSearch(this.setup);
-            this.miniSearch.addAllAsync(minisearchodl);
-        }, 4000);
+        readFile(this.$el.dataset.searchindex, function (err, data) {
+            // Delay miniSearch initialisation so there's less chance of animations stuttering during page loads
+            setTimeout(() => {
+                window.minisearch = this.miniSearch = new MiniSearch();
+                this.miniSearch.loadJSON(data, this.setup)
+            }, 4000);
+        });
 
         this.medialibrary = this.$el.dataset.medialibrary;
     },
index bffa838550e5d5d33c97e667de039c74f68ec5a9..26b3751977e50ef7be7666c13d1ecc43215aeb55 100644 (file)
@@ -4,7 +4,7 @@
             bg-white text-black
             z-20"
      {{-- Pass URLs in from HTML so JS will always have the correct version regardless of environment --}}
-     data-searchindex="{{ asset('js/search.index.js') }}"
+     data-searchindex="{{ asset('js/search.index.json') }}"
      data-medialibrary="{{ \App\Http\Controllers\FrontController::getLinkData('medialibrary')['url'] }}"
      {{-- See js/search.js --}}
      x-data="search()"