Skip to content

Commit

Permalink
Fix default value not being properly set on first load (#4)
Browse files Browse the repository at this point in the history
  • Loading branch information
milewski committed Oct 2, 2023
1 parent 8bd6ea7 commit c78f0de
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 14 deletions.
2 changes: 1 addition & 1 deletion dist/js/filter.js

Large diffs are not rendered by default.

13 changes: 12 additions & 1 deletion resources/js/components/Filter.vue
Original file line number Diff line number Diff line change
Expand Up @@ -84,14 +84,25 @@
get() {
if (this.filter.mode === 'single') {
return this.filter.currentValue || 0
return this.filter.currentValue || this.filter.min
}
return Object.values(this.filter.currentValue || [ ...this.filter.values ])
},
set(sliderValue) {
if (sliderValue === this.filter.min) {
sliderValue = ''
}
if (
Array.isArray(sliderValue) &&
Object.values(this.filter.values).every((value, index) => sliderValue[ index ] === value)
) {
sliderValue = ''
}
this.$store.commit(`${ this.resourceName }/updateFilterState`, {
filterClass: this.filterKey,
value: sliderValue,
Expand Down
6 changes: 5 additions & 1 deletion src/FilterServiceProvider.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<?php

declare(strict_types = 1);

namespace DigitalCreative\NovaRangeFilter;

use Illuminate\Support\ServiceProvider;
Expand All @@ -10,9 +12,11 @@ class FilterServiceProvider extends ServiceProvider
{
public function boot(): void
{
Nova::serving(function (ServingNova $event) {
Nova::serving(function (ServingNova $event): void {

Nova::script('nova-range-filter', __DIR__ . '/../dist/js/filter.js');
Nova::style('nova-range-filter', __DIR__ . '/../dist/css/filter.css');

});
}
}
3 changes: 3 additions & 0 deletions src/SliderFilter.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<?php

declare(strict_types = 1);

namespace DigitalCreative\NovaRangeFilter;

use Laravel\Nova\Filters\Filter;
Expand All @@ -11,6 +13,7 @@ abstract class SliderFilter extends Filter
public function range(int ...$values): self
{
sort($values);

return $this->withMeta([ 'mode' => 'range', 'min' => min($values), 'max' => max($values), 'values' => $values ]);
}

Expand Down
22 changes: 11 additions & 11 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1232,9 +1232,9 @@
integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==

"@types/node@*":
version "20.7.2"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.7.2.tgz#0bdc211f8c2438cfadad26dc8c040a874d478aed"
integrity sha512-RcdC3hOBOauLP+r/kRt27NrByYtDjsXyAuSbR87O6xpsvi763WI+5fbSIvYJrXnt9w4RuxhV6eAXfIs7aaf/FQ==
version "20.8.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.0.tgz#10ddf0119cf20028781c06d7115562934e53f745"
integrity sha512-LzcWltT83s1bthcvjBmiBvGJiiUe84NWRHkw+ZV6Fr41z2FbIzvc815dk2nQ3RAKMuN2fkenM/z3Xv2QzEpYxQ==

"@types/parse-json@^4.0.0":
version "4.0.0"
Expand Down Expand Up @@ -1832,7 +1832,7 @@ browserify-zlib@^0.2.0:
dependencies:
pako "~1.0.5"

browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.9:
browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.9, browserslist@^4.22.1:
version "4.22.1"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619"
integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==
Expand Down Expand Up @@ -1913,9 +1913,9 @@ caniuse-api@^3.0.0:
lodash.uniq "^4.5.0"

caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541:
version "1.0.30001541"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001541.tgz#b1aef0fadd87fb72db4dcb55d220eae17b81cdb1"
integrity sha512-bLOsqxDgTqUBkzxbNlSBt8annkDpQB9NdzdTbO2ooJ+eC/IQcvDspDc058g84ejCelF7vHUx57KIOjEecOHXaw==
version "1.0.30001542"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001542.tgz#823ddb5aed0a70d5e2bfb49126478e84e9514b85"
integrity sha512-UrtAXVcj1mvPBFQ4sKd38daP8dEcXXr5sQe6QNNinaPd0iA/cxg9/l3VrSdL73jgw5sKyuQ6jNgiKO12W3SsVA==

chalk@^2.4.2:
version "2.4.2"
Expand Down Expand Up @@ -2147,11 +2147,11 @@ cookie@0.5.0:
integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==

core-js-compat@^3.31.0, core-js-compat@^3.32.2:
version "3.32.2"
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.32.2.tgz#8047d1a8b3ac4e639f0d4f66d4431aa3b16e004c"
integrity sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==
version "3.33.0"
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.0.tgz#24aa230b228406450b2277b7c8bfebae932df966"
integrity sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==
dependencies:
browserslist "^4.21.10"
browserslist "^4.22.1"

core-util-is@~1.0.0:
version "1.0.3"
Expand Down

0 comments on commit c78f0de

Please sign in to comment.