refaktoryzacja service api.
wydzielenie mockow. dodanie parsowania wyszukiwania
This commit is contained in:
@@ -182,7 +182,6 @@ Jeśli na karcie produktu ma być widoczny timeline, ten store powinien trzymać
|
||||
},
|
||||
|
||||
filters: {
|
||||
search: '',
|
||||
modelId: null,
|
||||
clientId: null,
|
||||
finish: null,
|
||||
@@ -190,6 +189,19 @@ Jeśli na karcie produktu ma być widoczny timeline, ten store powinien trzymać
|
||||
year: null,
|
||||
},
|
||||
|
||||
searchQuery: '123/1',
|
||||
orderSearch: [
|
||||
{
|
||||
raw: '123/1',
|
||||
type: 'orderNumberIndex',
|
||||
match: 'exact',
|
||||
orderNumber: 123,
|
||||
orderNumberPrefix: null,
|
||||
orderYear: null,
|
||||
orderIndex: 1,
|
||||
},
|
||||
],
|
||||
|
||||
limit: 30,
|
||||
offset: 30,
|
||||
total: 184,
|
||||
@@ -204,7 +216,7 @@ Jeśli na karcie produktu ma być widoczny timeline, ten store powinien trzymać
|
||||
Endpoint:
|
||||
|
||||
```http
|
||||
GET /mayo-api/products?limit=30&offset=0&search=regius
|
||||
GET /mayo-api/products?limit=30&offset=0&search=123/1
|
||||
```
|
||||
|
||||
Odpowiedź:
|
||||
@@ -261,10 +273,22 @@ await productsStore.fetchNextPage()
|
||||
Pobiera kolejną porcję produktów. Używaj tego przy lazy loading, gdy użytkownik zbliża się do końca listy.
|
||||
|
||||
```js
|
||||
await productsStore.applyFilters({ search: 'regius' })
|
||||
await productsStore.applyFilters({ finish: 'GLOSS' })
|
||||
```
|
||||
|
||||
Ustawia filtry i pobiera listę od początku.
|
||||
Ustawia filtry i pobiera listę od początku. Searchbar nie jest zwyklym filtrem, bo ma osobny parser numerow zamowien.
|
||||
|
||||
```js
|
||||
productsStore.setSearchQuery('123/1')
|
||||
```
|
||||
|
||||
Zapisuje tekst z searchbara i parsuje go do `orderSearch`.
|
||||
|
||||
```js
|
||||
await productsStore.applySearch('123/1')
|
||||
```
|
||||
|
||||
Zapisuje tekst searchbara, parsuje go i pobiera listę od początku.
|
||||
|
||||
```js
|
||||
productsStore.applyTimelinePreviewUpdate(productId, timelinePreview)
|
||||
@@ -914,7 +938,7 @@ Komponent wywołuje:
|
||||
|
||||
```js
|
||||
productsStore.applyFilters({
|
||||
search: 'regius',
|
||||
finish: 'GLOSS',
|
||||
})
|
||||
```
|
||||
|
||||
@@ -924,6 +948,14 @@ Store:
|
||||
2. resetuje offset,
|
||||
3. pobiera pierwszą stronę listy od nowa.
|
||||
|
||||
Searchbar jest obslugiwany osobno:
|
||||
|
||||
```js
|
||||
productsStore.applySearch('123/1')
|
||||
```
|
||||
|
||||
To jest celowe, bo wyszukiwanie po numerze zamowienia ma wlasny parser i nie powinno mieszac sie z filtrami typu model, klient, finish albo lista produkcyjna.
|
||||
|
||||
### 4. Użytkownik otwiera specyfikację produktu
|
||||
|
||||
Komponent wywołuje:
|
||||
|
||||
Reference in New Issue
Block a user