From 2fd3bb39e6e2b7e89ac7b5aa34d32a8d6e0526ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Marie=CC=81thoz?= Date: Wed, 29 Apr 2020 07:25:03 +0200 Subject: [PATCH] autocomplete: fix suggestions list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Old version of the third party library `ngx-bootstrap` had sometime weird behaviors. `@rero/ng-core@0.2.3` fix this. * Fixes `ngx-bootstrap` imports to be angular 9 and `ngx-bootstrap>6` compliant. * Fixes tests form other pull requests by mocking the services. * Updates dependency @rero/ng-core to version 0.2.3. * Fixes the number of suggestions for each category documents and direct links to be sure that all suggestions are displayed. Note: several versions of `ngx-bootstrap` has been tried, but some of them failed: - 3.3.x: does not display a `typeahead` suggestion list for slow query. - 3.6.1: does not compile our project in production. Co-Authored-by: Johnny MariƩthoz --- package-lock.json | 144 +++++++++--------- package.json | 4 +- projects/admin/src/app/app.component.spec.ts | 7 +- projects/admin/src/app/app.module.ts | 18 +-- .../checkin/checkin.component.spec.ts | 2 +- .../src/app/circulation/circulation.module.ts | 3 +- .../circulation/item/item.component.spec.ts | 2 +- .../items-list/items-list.component.spec.ts | 2 +- .../patron/loan/loan.component.spec.ts | 25 +-- ...n-transaction-event-form.component.spec.ts | 2 +- ...patron-transaction-event-form.component.ts | 2 +- .../patron-transaction.component.ts | 2 +- .../patron-transactions.component.ts | 2 +- .../requested-item.component.spec.ts | 14 +- projects/admin/src/app/menu/menu.component.ts | 2 + .../exception-dates-edit.component.spec.ts | 3 +- .../exception-dates-list.component.spec.ts | 3 +- .../libraries/library.component.spec.ts | 3 +- .../holding-item/holding-item.component.ts | 2 +- .../item-request.component.spec.ts | 15 +- .../item-request/item-request.component.ts | 4 +- .../resource/resource.component.spec.ts | 2 +- .../item-transactions.component.ts | 2 +- .../remote-autocomplete.component.ts | 2 +- projects/admin/tests/utils.ts | 24 +++ projects/public-search/src/app/app.module.ts | 4 +- .../search-bar/search-bar.component.spec.ts | 2 +- .../app/search-bar/search-bar.component.ts | 2 + projects/search-bar/src/app/app.module.ts | 2 +- 29 files changed, 168 insertions(+), 133 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0244dfbfc..565fb814a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3041,9 +3041,9 @@ } }, "@rero/ng-core": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@rero/ng-core/-/ng-core-0.2.2.tgz", - "integrity": "sha512-W5pIJprgwiF4ydMjiDAhIXq52c3hNL7/gRji5n9kdT7xKI1tlYb6QK+11Xg7TYCmsGv4MJ68YGH3LBPk5uqyuA==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@rero/ng-core/-/ng-core-0.2.3.tgz", + "integrity": "sha512-69ZqMtSQx35wtmA3ZR8HiwqmtnaJhZAToj9jqNaFmZAb3wQ1WkMUx14H/PrhyJZvgp5GCDrj61/0sKSmp2fXAA==", "requires": { "tslib": "^1.9.0" } @@ -7315,28 +7315,28 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "optional": true }, "aproba": { "version": "1.2.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", - "resolved": "", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "optional": true, @@ -7347,14 +7347,14 @@ }, "balanced-match": { "version": "1.0.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", - "resolved": "", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "optional": true, @@ -7365,42 +7365,42 @@ }, "chownr": { "version": "1.1.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", - "resolved": "", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true, "optional": true }, "debug": { "version": "4.1.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "optional": true, @@ -7410,28 +7410,28 @@ }, "deep-extend": { "version": "0.6.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "resolved": "", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", - "resolved": "", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "dev": true, "optional": true, @@ -7441,14 +7441,14 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "resolved": "", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "optional": true, @@ -7465,7 +7465,7 @@ }, "glob": { "version": "7.1.3", - "resolved": "", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "optional": true, @@ -7480,14 +7480,14 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", - "resolved": "", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "optional": true, @@ -7497,7 +7497,7 @@ }, "ignore-walk": { "version": "3.0.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "optional": true, @@ -7507,7 +7507,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": "", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "optional": true, @@ -7518,21 +7518,21 @@ }, "inherits": { "version": "2.0.3", - "resolved": "", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true, "optional": true }, "ini": { "version": "1.3.5", - "resolved": "", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "optional": true, @@ -7542,14 +7542,14 @@ }, "isarray": { "version": "1.0.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "resolved": "", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "optional": true, @@ -7559,14 +7559,14 @@ }, "minimist": { "version": "0.0.8", - "resolved": "", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true, "optional": true }, "minipass": { "version": "2.3.5", - "resolved": "", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", "dev": true, "optional": true, @@ -7577,7 +7577,7 @@ }, "minizlib": { "version": "1.2.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", "dev": true, "optional": true, @@ -7587,7 +7587,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "optional": true, @@ -7597,14 +7597,14 @@ }, "ms": { "version": "2.1.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true, "optional": true }, "needle": { "version": "2.3.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.0.tgz", "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", "dev": true, "optional": true, @@ -7616,7 +7616,7 @@ }, "node-pre-gyp": { "version": "0.12.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz", "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", "dev": true, "optional": true, @@ -7635,7 +7635,7 @@ }, "nopt": { "version": "4.0.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "optional": true, @@ -7646,14 +7646,14 @@ }, "npm-bundled": { "version": "1.0.6", - "resolved": "", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", "dev": true, "optional": true }, "npm-packlist": { "version": "1.4.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz", "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", "dev": true, "optional": true, @@ -7664,7 +7664,7 @@ }, "npmlog": { "version": "4.1.2", - "resolved": "", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "optional": true, @@ -7677,21 +7677,21 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "optional": true }, "once": { "version": "1.4.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "optional": true, @@ -7701,21 +7701,21 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": "", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "resolved": "", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "optional": true, @@ -7726,21 +7726,21 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true, "optional": true }, "rc": { "version": "1.2.8", - "resolved": "", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "optional": true, @@ -7753,7 +7753,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true, "optional": true @@ -7762,7 +7762,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "", + "resolved": false, "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, @@ -7778,7 +7778,7 @@ }, "rimraf": { "version": "2.6.3", - "resolved": "", + "resolved": false, "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "optional": true, @@ -7788,49 +7788,49 @@ }, "safe-buffer": { "version": "5.1.2", - "resolved": "", + "resolved": false, "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", - "resolved": "", + "resolved": false, "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "resolved": "", + "resolved": false, "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, "optional": true }, "semver": { "version": "5.7.0", - "resolved": "", + "resolved": false, "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "resolved": "", + "resolved": false, "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "optional": true, @@ -7842,7 +7842,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "", + "resolved": false, "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, @@ -7852,7 +7852,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "optional": true, @@ -7862,14 +7862,14 @@ }, "strip-json-comments": { "version": "2.0.1", - "resolved": "", + "resolved": false, "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "optional": true }, "tar": { "version": "4.4.8", - "resolved": "", + "resolved": false, "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", "dev": true, "optional": true, @@ -7885,14 +7885,14 @@ }, "util-deprecate": { "version": "1.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", - "resolved": "", + "resolved": false, "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "optional": true, @@ -7902,14 +7902,14 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "", + "resolved": false, "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true, "optional": true }, "yallist": { "version": "3.0.3", - "resolved": "", + "resolved": false, "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", "dev": true, "optional": true @@ -10508,9 +10508,9 @@ "integrity": "sha1-a+lPysqNd63gqWcNxGCRTJRHJEQ=" }, "ngx-bootstrap": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/ngx-bootstrap/-/ngx-bootstrap-5.5.0.tgz", - "integrity": "sha512-BJeghbkKFQl49sg3GIYQyjvwaHn64xFOsinBVD8HWKOVpRJSnuafrjXByGDtfq35jGY4R+7iBLksM1IYLUPshg==" + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/ngx-bootstrap/-/ngx-bootstrap-5.6.2.tgz", + "integrity": "sha512-6YHXtdXkGH3w0NQoaUgNYAcrj064Lv5RTO284ha/hvpNTrh55yQz2cVh0VvwBk3MjyY2tdmLH4SuCJDszYdYiw==" }, "ngx-build-plus": { "version": "9.0.6", diff --git a/package.json b/package.json index a47d41098..cd397879b 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "@ngx-formly/bootstrap": "^5.5.10", "@ngx-formly/core": "^5.5.10", "@ngx-translate/core": "^12.1.1", - "@rero/ng-core": "0.2.2", + "@rero/ng-core": "0.2.3", "bootstrap": "^4.3.1", "crypto-js": "^3.1.9-1", "document-register-element": "^1.7.2", @@ -81,7 +81,7 @@ "jquery": "^3.4.1", "lodash-es": "4.17.14", "moment": "^2.24.0", - "ngx-bootstrap": "~5.5.0", + "ngx-bootstrap": "^5.6.2", "ngx-toastr": "^10.2.0", "ngx-toggle-switch": "^2.0.5", "rxjs": "^6.4.0", diff --git a/projects/admin/src/app/app.component.spec.ts b/projects/admin/src/app/app.component.spec.ts index 52ae5d0cf..fea505b1f 100644 --- a/projects/admin/src/app/app.component.spec.ts +++ b/projects/admin/src/app/app.component.spec.ts @@ -19,7 +19,10 @@ import { TestBed, async } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { AppComponent } from './app.component'; import { MenuComponent } from './menu/menu.component'; -import { CollapseModule, BsDatepickerModule, TypeaheadModule, BsDropdownModule } from 'ngx-bootstrap'; +import { CollapseModule } from 'ngx-bootstrap/collapse'; +import { DatepickerModule } from 'ngx-bootstrap/datepicker'; +import { TypeaheadModule } from 'ngx-bootstrap/typeahead'; +import { BsDropdownModule } from 'ngx-bootstrap/dropdown'; import { RecordModule } from '@rero/ng-core'; import { HttpClientModule } from '@angular/common/http'; import { TranslateModule } from '@ngx-translate/core'; @@ -35,7 +38,7 @@ describe('AppComponent', () => { FormsModule, RecordModule, HttpClientModule, - BsDatepickerModule.forRoot(), + DatepickerModule.forRoot(), BsDropdownModule.forRoot(), TranslateModule.forRoot({}), TypeaheadModule.forRoot() diff --git a/projects/admin/src/app/app.module.ts b/projects/admin/src/app/app.module.ts index 9756462bb..0a217518d 100644 --- a/projects/admin/src/app/app.module.ts +++ b/projects/admin/src/app/app.module.ts @@ -23,16 +23,6 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { FormlyModule } from '@ngx-formly/core'; import { TranslateLoader as BaseTranslateLoader, TranslateModule } from '@ngx-translate/core'; import { CoreConfigService, RecordModule, TranslateService } from '@rero/ng-core'; -import { - BsDatepickerModule, - BsDropdownModule, - BsLocaleService, - CollapseModule, - TabsModule, - TooltipModule, - TypeaheadModule, - PopoverModule -} from 'ngx-bootstrap'; import { UiSwitchModule } from 'ngx-toggle-switch'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; @@ -104,6 +94,14 @@ import { ItemAvailabilityComponent } from './record/item-availability/item-avail import { AppConfigService } from './service/app-config.service'; import { SharedPipesModule } from './shared/shared-pipes.module'; import { TranslateLoader } from './translate/loader/translate-loader'; +import { BsDatepickerModule } from 'ngx-bootstrap/datepicker'; +import { BsDropdownModule } from 'ngx-bootstrap/dropdown'; +import { CollapseModule } from 'ngx-bootstrap/collapse'; +import { TypeaheadModule } from 'ngx-bootstrap/typeahead'; +import { TabsModule } from 'ngx-bootstrap/tabs'; +import { TooltipModule } from 'ngx-bootstrap/tooltip'; +import { PopoverModule } from 'ngx-bootstrap/popover'; +import { BsLocaleService } from 'ngx-bootstrap/datepicker'; @NgModule({ declarations: [ diff --git a/projects/admin/src/app/circulation/checkin/checkin.component.spec.ts b/projects/admin/src/app/circulation/checkin/checkin.component.spec.ts index 5a9cfda1b..c6a719e1d 100644 --- a/projects/admin/src/app/circulation/checkin/checkin.component.spec.ts +++ b/projects/admin/src/app/circulation/checkin/checkin.component.spec.ts @@ -21,7 +21,7 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; import { CoreModule, RecordModule } from '@rero/ng-core'; -import { CollapseModule } from 'ngx-bootstrap'; +import { CollapseModule } from 'ngx-bootstrap/collapse'; import { UserService } from '../../service/user.service'; import { ItemComponent } from '../item/item.component'; import { ItemsListComponent } from '../items-list/items-list.component'; diff --git a/projects/admin/src/app/circulation/circulation.module.ts b/projects/admin/src/app/circulation/circulation.module.ts index 4deebd401..f0f072c10 100644 --- a/projects/admin/src/app/circulation/circulation.module.ts +++ b/projects/admin/src/app/circulation/circulation.module.ts @@ -21,7 +21,8 @@ import { NgModule } from '@angular/core'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { FormlyModule } from '@ngx-formly/core'; import { RecordModule } from '@rero/ng-core'; -import { BsDropdownModule, CollapseModule } from 'ngx-bootstrap'; +import { BsDropdownModule } from 'ngx-bootstrap/dropdown'; +import { CollapseModule } from 'ngx-bootstrap/collapse'; import { SharedPipesModule } from '../shared/shared-pipes.module'; import { CheckinComponent } from './checkin/checkin.component'; import { CirculationRoutingModule } from './circulation-routing.module'; diff --git a/projects/admin/src/app/circulation/item/item.component.spec.ts b/projects/admin/src/app/circulation/item/item.component.spec.ts index 2966c9bae..b6267bb57 100644 --- a/projects/admin/src/app/circulation/item/item.component.spec.ts +++ b/projects/admin/src/app/circulation/item/item.component.spec.ts @@ -5,7 +5,7 @@ import { TranslateModule } from '@ngx-translate/core'; import { CoreModule, RecordModule } from '@rero/ng-core'; import { RouterTestingModule } from '@angular/router/testing'; import { HttpClientModule } from '@angular/common/http'; -import { CollapseModule } from 'ngx-bootstrap'; +import { CollapseModule } from 'ngx-bootstrap/collapse'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { LoanComponent } from '../patron/loan/loan.component'; import { ItemsListComponent } from '../items-list/items-list.component'; diff --git a/projects/admin/src/app/circulation/items-list/items-list.component.spec.ts b/projects/admin/src/app/circulation/items-list/items-list.component.spec.ts index f8b8a8420..6905c8991 100644 --- a/projects/admin/src/app/circulation/items-list/items-list.component.spec.ts +++ b/projects/admin/src/app/circulation/items-list/items-list.component.spec.ts @@ -23,7 +23,7 @@ import { TranslateModule } from '@ngx-translate/core'; import { CoreModule, RecordModule } from '@rero/ng-core'; import { ItemComponent } from '../item/item.component'; import { HttpClientModule } from '@angular/common/http'; -import { CollapseModule } from 'ngx-bootstrap'; +import { CollapseModule } from 'ngx-bootstrap/collapse'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('ItemsListComponent', () => { diff --git a/projects/admin/src/app/circulation/patron/loan/loan.component.spec.ts b/projects/admin/src/app/circulation/patron/loan/loan.component.spec.ts index ef39f70da..66ce65da4 100644 --- a/projects/admin/src/app/circulation/patron/loan/loan.component.spec.ts +++ b/projects/admin/src/app/circulation/patron/loan/loan.component.spec.ts @@ -23,33 +23,17 @@ import { CoreModule, RecordModule } from '@rero/ng-core'; import { ItemsListComponent } from '../../items-list/items-list.component'; import { LoanComponent } from './loan.component'; import { ItemComponent } from '../../item/item.component'; -import { ItemsService } from '../../items.service'; -import { ToastrService } from 'ngx-toastr'; -import { CollapseModule } from 'ngx-bootstrap'; +import { CollapseModule } from 'ngx-bootstrap/collapse'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { UserService } from '../../../service/user.service'; +import { userTestingService, patronTestingService } from 'projects/admin/tests/utils'; +import { PatronService } from '../../../service/patron.service'; describe('LoanComponent', () => { let component: LoanComponent; let fixture: ComponentFixture; - const userService = jasmine.createSpyObj( - 'UserService', ['getCurrentUser'] - ); - userService.getCurrentUser.and.returnValue({ - first_name: 'John', - last_name: 'Doe', - library: { - pid: '1', - organisation: { - pid: '1' - }, - current: '1', - }, - getCurrentLibrary: () => '1' - }); - beforeEach(async(() => { TestBed.configureTestingModule({ imports: [ @@ -66,7 +50,8 @@ describe('LoanComponent', () => { ItemsListComponent, ItemComponent ], providers: [ - { provide: UserService, useValue: userService } + { provide: UserService, useValue: userTestingService }, + { provide: PatronService, useValue: patronTestingService } ] }) .compileComponents(); diff --git a/projects/admin/src/app/circulation/patron/patron-transactions/patron-transaction-event-form/patron-transaction-event-form.component.spec.ts b/projects/admin/src/app/circulation/patron/patron-transactions/patron-transaction-event-form/patron-transaction-event-form.component.spec.ts index 46b38f746..72feef2f0 100644 --- a/projects/admin/src/app/circulation/patron/patron-transactions/patron-transaction-event-form/patron-transaction-event-form.component.spec.ts +++ b/projects/admin/src/app/circulation/patron/patron-transactions/patron-transaction-event-form/patron-transaction-event-form.component.spec.ts @@ -6,7 +6,7 @@ import { FormlyModule } from '@ngx-formly/core'; import { CoreModule } from '@rero/ng-core'; import { TranslateModule } from '@ngx-translate/core'; import { HttpClientModule } from '@angular/common/http'; -import { BsModalRef } from 'ngx-bootstrap'; +import { BsModalRef } from 'ngx-bootstrap/modal'; import { RouterTestingModule } from '@angular/router/testing'; describe('PatronTransactionEventFormComponent', () => { diff --git a/projects/admin/src/app/circulation/patron/patron-transactions/patron-transaction-event-form/patron-transaction-event-form.component.ts b/projects/admin/src/app/circulation/patron/patron-transactions/patron-transaction-event-form/patron-transaction-event-form.component.ts index 3d5863f66..a21687781 100644 --- a/projects/admin/src/app/circulation/patron/patron-transactions/patron-transaction-event-form/patron-transaction-event-form.component.ts +++ b/projects/admin/src/app/circulation/patron/patron-transactions/patron-transaction-event-form/patron-transaction-event-form.component.ts @@ -3,7 +3,7 @@ import { Component, OnInit } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { FormlyFieldConfig } from '@ngx-formly/core'; import { TranslateService } from '@ngx-translate/core'; -import { BsModalRef, BsModalService } from 'ngx-bootstrap'; +import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal'; import { OrganisationService } from '../../../../service/organisation.service'; import { PatronTransaction } from '../../../patron-transaction'; import { PatronTransactionService } from '../../../patron-transaction.service'; diff --git a/projects/admin/src/app/circulation/patron/patron-transactions/patron-transaction/patron-transaction.component.ts b/projects/admin/src/app/circulation/patron/patron-transactions/patron-transaction/patron-transaction.component.ts index a8b21dcb2..397390210 100644 --- a/projects/admin/src/app/circulation/patron/patron-transactions/patron-transaction/patron-transaction.component.ts +++ b/projects/admin/src/app/circulation/patron/patron-transactions/patron-transaction/patron-transaction.component.ts @@ -1,5 +1,5 @@ import { Component, Input, OnInit } from '@angular/core'; -import { BsModalService } from 'ngx-bootstrap'; +import { BsModalService } from 'ngx-bootstrap/modal'; import { OrganisationService } from '../../../../service/organisation.service'; import { PatronTransaction, PatronTransactionEventType, PatronTransactionStatus } from '../../../patron-transaction'; import { PatronTransactionService } from '../../../patron-transaction.service'; diff --git a/projects/admin/src/app/circulation/patron/patron-transactions/patron-transactions.component.ts b/projects/admin/src/app/circulation/patron/patron-transactions/patron-transactions.component.ts index e7d63ed5f..08b8b8d2c 100644 --- a/projects/admin/src/app/circulation/patron/patron-transactions/patron-transactions.component.ts +++ b/projects/admin/src/app/circulation/patron/patron-transactions/patron-transactions.component.ts @@ -1,5 +1,5 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; -import { BsModalService } from 'ngx-bootstrap'; +import { BsModalService } from 'ngx-bootstrap/modal'; import { Subscription } from 'rxjs'; import { User } from '../../../class/user'; import { OrganisationService } from '../../../service/organisation.service'; diff --git a/projects/admin/src/app/circulation/patron/requested/requested-item/requested-item.component.spec.ts b/projects/admin/src/app/circulation/patron/requested/requested-item/requested-item.component.spec.ts index f4ee25535..996dba923 100644 --- a/projects/admin/src/app/circulation/patron/requested/requested-item/requested-item.component.spec.ts +++ b/projects/admin/src/app/circulation/patron/requested/requested-item/requested-item.component.spec.ts @@ -14,12 +14,15 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ +import { HttpClientModule } from '@angular/common/http'; import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { RequestedItemComponent } from './requested-item.component'; -import { TranslateModule } from '@ngx-translate/core'; import { RouterTestingModule } from '@angular/router/testing'; -import { HttpClientModule } from '@angular/common/http'; +import { TranslateModule } from '@ngx-translate/core'; +import { recordTestingService } from 'projects/admin/tests/utils'; +import { of } from 'rxjs'; +import { RequestedItemComponent } from './requested-item.component'; +import { RecordService } from '@rero/ng-core'; + describe('RequestedItemComponent', () => { let component: RequestedItemComponent; @@ -35,6 +38,9 @@ describe('RequestedItemComponent', () => { declarations: [ RequestedItemComponent, RequestedItemComponent + ], + providers: [ + { provide: RecordService, useValue: recordTestingService } ] }) .compileComponents(); diff --git a/projects/admin/src/app/menu/menu.component.ts b/projects/admin/src/app/menu/menu.component.ts index acfbabc72..ec320290b 100644 --- a/projects/admin/src/app/menu/menu.component.ts +++ b/projects/admin/src/app/menu/menu.component.ts @@ -116,11 +116,13 @@ export class MenuComponent implements OnInit { this.recordTypes = [{ type: 'documents', field: 'autocomplete_title', + maxNumberOfSuggestions: 5, preFilters: {organisation: currentUser.library.organisation.pid}, getSuggestions: (query, documents) => this.getDocumentsSuggestions(query, documents) }, { type: 'persons', field: 'autocomplete_name', + maxNumberOfSuggestions: 5, getSuggestions: (query, persons) => this.getPersonsSuggestions(query, persons) }]; diff --git a/projects/admin/src/app/record/custom-editor/libraries/exception-dates-edit/exception-dates-edit.component.spec.ts b/projects/admin/src/app/record/custom-editor/libraries/exception-dates-edit/exception-dates-edit.component.spec.ts index be1a386c4..8b38b168a 100644 --- a/projects/admin/src/app/record/custom-editor/libraries/exception-dates-edit/exception-dates-edit.component.spec.ts +++ b/projects/admin/src/app/record/custom-editor/libraries/exception-dates-edit/exception-dates-edit.component.spec.ts @@ -20,7 +20,8 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ExceptionDatesEditComponent } from './exception-dates-edit.component'; import { CommonModule } from '@angular/common'; import { RecordModule } from '@rero/ng-core'; -import { BsDatepickerModule, BsModalRef } from 'ngx-bootstrap'; +import { BsDatepickerModule } from 'ngx-bootstrap/datepicker'; +import { BsModalRef } from 'ngx-bootstrap/modal'; import { LOCALE_ID } from '@angular/core'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { UiSwitchModule } from 'ngx-toggle-switch'; diff --git a/projects/admin/src/app/record/custom-editor/libraries/exception-dates-list/exception-dates-list.component.spec.ts b/projects/admin/src/app/record/custom-editor/libraries/exception-dates-list/exception-dates-list.component.spec.ts index a2ce1ce05..d14df7f11 100644 --- a/projects/admin/src/app/record/custom-editor/libraries/exception-dates-list/exception-dates-list.component.spec.ts +++ b/projects/admin/src/app/record/custom-editor/libraries/exception-dates-list/exception-dates-list.component.spec.ts @@ -20,7 +20,8 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ExceptionDatesListComponent } from './exception-dates-list.component'; import { RecordModule } from '@rero/ng-core'; -import { ModalModule, BsDatepickerModule } from 'ngx-bootstrap'; +import { BsDatepickerModule } from 'ngx-bootstrap/datepicker'; +import { ModalModule } from 'ngx-bootstrap/modal'; import { CommonModule } from '@angular/common'; import { LOCALE_ID } from '@angular/core'; import { TranslateModule } from '@ngx-translate/core'; diff --git a/projects/admin/src/app/record/custom-editor/libraries/library.component.spec.ts b/projects/admin/src/app/record/custom-editor/libraries/library.component.spec.ts index 8bd17f95a..90f68a89a 100644 --- a/projects/admin/src/app/record/custom-editor/libraries/library.component.spec.ts +++ b/projects/admin/src/app/record/custom-editor/libraries/library.component.spec.ts @@ -20,7 +20,8 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { LibraryComponent } from './library.component'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { RecordModule } from '@rero/ng-core'; -import { TabsModule, BsDatepickerModule } from 'ngx-bootstrap'; +import { TabsModule } from 'ngx-bootstrap/tabs'; +import { BsDatepickerModule } from 'ngx-bootstrap/datepicker'; import { UiSwitchModule } from 'ngx-toggle-switch'; import { ExceptionDatesListComponent } from './exception-dates-list/exception-dates-list.component'; import { ExceptionDatesEditComponent } from './exception-dates-edit/exception-dates-edit.component'; diff --git a/projects/admin/src/app/record/detail-view/document-detail-view/holding-item/holding-item.component.ts b/projects/admin/src/app/record/detail-view/document-detail-view/holding-item/holding-item.component.ts index 55975a8c9..b8ec7dfc9 100644 --- a/projects/admin/src/app/record/detail-view/document-detail-view/holding-item/holding-item.component.ts +++ b/projects/admin/src/app/record/detail-view/document-detail-view/holding-item/holding-item.component.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { BsModalService } from 'ngx-bootstrap'; +import { BsModalService } from 'ngx-bootstrap/modal'; import { first } from 'rxjs/operators'; import { RecordPermission, RecordPermissionService } from '../../../../service/record-permission.service'; import { UserService } from '../../../../service/user.service'; diff --git a/projects/admin/src/app/record/detail-view/document-detail-view/item-request/item-request.component.spec.ts b/projects/admin/src/app/record/detail-view/document-detail-view/item-request/item-request.component.spec.ts index af110991f..c72046dc0 100644 --- a/projects/admin/src/app/record/detail-view/document-detail-view/item-request/item-request.component.spec.ts +++ b/projects/admin/src/app/record/detail-view/document-detail-view/item-request/item-request.component.spec.ts @@ -22,13 +22,20 @@ import { RouterTestingModule } from '@angular/router/testing'; import { FormlyModule } from '@ngx-formly/core'; import { TranslateModule } from '@ngx-translate/core'; import { RecordModule } from '@rero/ng-core'; -import { BsModalRef } from 'ngx-bootstrap'; +import { BsModalRef } from 'ngx-bootstrap/modal'; import { ItemRequestComponent } from './item-request.component'; +import { of } from 'rxjs'; +import { LoanService } from '../../../../service/loan.service'; + describe('ItemRequestComponent', () => { let component: ItemRequestComponent; let fixture: ComponentFixture; + const loanTestingService = jasmine.createSpyObj( + 'LoanService', ['requestedBy$'] + ); + loanTestingService.requestedBy$.and.returnValue(of({})); beforeEach(async(() => { TestBed.configureTestingModule({ @@ -42,7 +49,11 @@ describe('ItemRequestComponent', () => { RouterTestingModule ], declarations: [ ItemRequestComponent ], - providers: [BsModalRef, {provide: LOCALE_ID, useValue: 'en-US' }] + providers: [ + BsModalRef, + {provide: LOCALE_ID, useValue: 'en-US' }, + {provide: LoanService, useValue: loanTestingService} + ] }) .compileComponents(); })); diff --git a/projects/admin/src/app/record/detail-view/document-detail-view/item-request/item-request.component.ts b/projects/admin/src/app/record/detail-view/document-detail-view/item-request/item-request.component.ts index 9934eb129..c1a2f105d 100644 --- a/projects/admin/src/app/record/detail-view/document-detail-view/item-request/item-request.component.ts +++ b/projects/admin/src/app/record/detail-view/document-detail-view/item-request/item-request.component.ts @@ -20,9 +20,9 @@ import { FormControl, FormGroup } from '@angular/forms'; import { FormlyFieldConfig } from '@ngx-formly/core'; import { TranslateService } from '@ngx-translate/core'; import { RecordService } from '@rero/ng-core'; -import { BsModalRef, BsModalService } from 'ngx-bootstrap'; +import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal'; import { ToastrService } from 'ngx-toastr'; -import { LoanService } from 'projects/admin/src/app/service/loan.service'; +import { LoanService } from '../../../../service/loan.service'; import { Observable } from 'rxjs'; import { debounceTime, map, shareReplay } from 'rxjs/operators'; import { UserService } from '../../../../service/user.service'; diff --git a/projects/admin/src/app/record/detail-view/document-detail-view/resource/resource.component.spec.ts b/projects/admin/src/app/record/detail-view/document-detail-view/resource/resource.component.spec.ts index 71f16045a..f4d4163eb 100644 --- a/projects/admin/src/app/record/detail-view/document-detail-view/resource/resource.component.spec.ts +++ b/projects/admin/src/app/record/detail-view/document-detail-view/resource/resource.component.spec.ts @@ -19,7 +19,7 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ResourceComponent } from './resource.component'; import { RelatedResourceComponent } from '../related-resource/related-resource.component'; -import { CollapseModule } from 'ngx-bootstrap'; +import { CollapseModule } from 'ngx-bootstrap/collapse'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { TranslateModule } from '@ngx-translate/core'; diff --git a/projects/admin/src/app/record/detail-view/item-detail-view/item-transactions/item-transactions.component.ts b/projects/admin/src/app/record/detail-view/item-detail-view/item-transactions/item-transactions.component.ts index 646a70413..d033e2cca 100644 --- a/projects/admin/src/app/record/detail-view/item-detail-view/item-transactions/item-transactions.component.ts +++ b/projects/admin/src/app/record/detail-view/item-detail-view/item-transactions/item-transactions.component.ts @@ -15,7 +15,7 @@ * along with this program. If not, see . */ import { Component, Input, OnInit } from '@angular/core'; -import { BsModalService } from 'ngx-bootstrap'; +import { BsModalService } from 'ngx-bootstrap/modal'; import { LoanService } from 'projects/admin/src/app/service/loan.service'; import { Observable } from 'rxjs'; import { first } from 'rxjs/operators'; diff --git a/projects/admin/src/app/record/editor/remote-autocomplete/remote-autocomplete.component.ts b/projects/admin/src/app/record/editor/remote-autocomplete/remote-autocomplete.component.ts index 9a2d0650b..5192af72e 100644 --- a/projects/admin/src/app/record/editor/remote-autocomplete/remote-autocomplete.component.ts +++ b/projects/admin/src/app/record/editor/remote-autocomplete/remote-autocomplete.component.ts @@ -19,7 +19,7 @@ import { Component, OnInit } from '@angular/core'; import { FieldType } from '@ngx-formly/core'; import { of, Observable } from 'rxjs'; import { mergeMap, map } from 'rxjs/operators'; -import { TypeaheadMatch } from 'ngx-bootstrap'; +import { TypeaheadMatch } from 'ngx-bootstrap/typeahead'; import moment from 'moment'; import { TranslateService } from '@ngx-translate/core'; import { RecordService } from '@rero/ng-core'; diff --git a/projects/admin/tests/utils.ts b/projects/admin/tests/utils.ts index b4ec9eb04..fe3d02de1 100644 --- a/projects/admin/tests/utils.ts +++ b/projects/admin/tests/utils.ts @@ -32,3 +32,27 @@ recordTestingService.getRecord.and.returnValue(of({ metadata: { } })); + +export const userTestingService = jasmine.createSpyObj( + 'UserService', ['getCurrentUser'] +); +userTestingService.getCurrentUser.and.returnValue({ + first_name: 'John', + last_name: 'Doe', + library: { + pid: '1', + organisation: { + pid: '1' + }, + current: '1', + }, + getCurrentLibrary: () => '1' +}); + +export const patronTestingService = jasmine.createSpyObj( + 'PatronService', ['getItems', 'currentPatron$'] +); +patronTestingService.getItems.and.returnValue(of([])); +patronTestingService.currentPatron$ = of({ + pid: '1' +}); diff --git a/projects/public-search/src/app/app.module.ts b/projects/public-search/src/app/app.module.ts index 839c1426e..fe2276c9f 100644 --- a/projects/public-search/src/app/app.module.ts +++ b/projects/public-search/src/app/app.module.ts @@ -30,10 +30,10 @@ import { BirthDatePipe } from './pipes/birth-date.pipe'; import { BioInformationsPipe } from './pipes/bio-informations.pipe'; import { TranslateModule, TranslateLoader as BaseTranslateLoader } from '@ngx-translate/core'; import { TranslateLoader } from './translate/loader/translate-loader'; -import { BsLocaleService } from 'ngx-bootstrap'; +import { BsLocaleService } from 'ngx-bootstrap/datepicker'; import { SearchBarComponent } from './search-bar/search-bar.component'; import { createCustomElement } from '@angular/elements'; -import { TypeaheadModule } from 'ngx-bootstrap'; +import { TypeaheadModule } from 'ngx-bootstrap/typeahead'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { MainComponent } from './main/main.component'; diff --git a/projects/public-search/src/app/search-bar/search-bar.component.spec.ts b/projects/public-search/src/app/search-bar/search-bar.component.spec.ts index fd4e244d3..f1ea2608d 100644 --- a/projects/public-search/src/app/search-bar/search-bar.component.spec.ts +++ b/projects/public-search/src/app/search-bar/search-bar.component.spec.ts @@ -5,7 +5,7 @@ import { RouterTestingModule } from '@angular/router/testing'; import { HttpClientModule } from '@angular/common/http'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { TranslateModule } from '@ngx-translate/core'; -import { TypeaheadModule } from 'ngx-bootstrap'; +import { TypeaheadModule } from 'ngx-bootstrap/typeahead'; import { RecordModule } from '@rero/ng-core'; describe('SearchBarComponent', () => { diff --git a/projects/public-search/src/app/search-bar/search-bar.component.ts b/projects/public-search/src/app/search-bar/search-bar.component.ts index 03df4bd45..41577f6ca 100644 --- a/projects/public-search/src/app/search-bar/search-bar.component.ts +++ b/projects/public-search/src/app/search-bar/search-bar.component.ts @@ -41,11 +41,13 @@ export class SearchBarComponent implements OnInit { this.recordTypes = [{ type: 'documents', field: 'autocomplete_title', + maxNumberOfSuggestions: 5, getSuggestions: (query, documents) => this.getDocumentsSuggestions(query, documents), preFilters: this.viewcode ? {view: this.viewcode} : {} }, { type: 'persons', field: 'autocomplete_name', + maxNumberOfSuggestions: 5, getSuggestions: (query, persons) => this.getPersonsSuggestions(query, persons), component: this, preFilters: this.viewcode ? {view: this.viewcode} : {} diff --git a/projects/search-bar/src/app/app.module.ts b/projects/search-bar/src/app/app.module.ts index 1b27d0aee..56b1cb7ff 100644 --- a/projects/search-bar/src/app/app.module.ts +++ b/projects/search-bar/src/app/app.module.ts @@ -2,7 +2,7 @@ import { BrowserModule } from '@angular/platform-browser'; import { NgModule, Injector } from '@angular/core'; import { createCustomElement } from '@angular/elements'; -import { TypeaheadModule } from 'ngx-bootstrap'; +import { TypeaheadModule } from 'ngx-bootstrap/typeahead'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { HttpClientModule } from '@angular/common/http';