@paris-ias/list 1.0.99 → 1.0.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@paris-ias/list",
3
3
  "configKey": "list",
4
- "version": "1.0.99",
4
+ "version": "1.0.100",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.0",
7
7
  "unbuild": "3.5.0"
@@ -184,15 +184,6 @@ const getGapPage = (index) => {
184
184
  renderPages.value[index - 1].key + ((renderPages.value[index + 1].key || props.totalPages) - renderPages.value[index - 1].key) / 2
185
185
  );
186
186
  };
187
- watch(
188
- () => route.query.page,
189
- (newPage) => {
190
- if (newPage) {
191
- props.currentPage = Number.parseInt(newPage, 10);
192
- }
193
- },
194
- { immediate: true }
195
- );
196
187
  </script>
197
188
 
198
189
  <style>
@@ -83,6 +83,7 @@ const itemTemplate = computed(
83
83
  const numberOfPages = computed(() => $stores[props.type].numberOfPages);
84
84
  const page = computed(() => +$stores[props.type].page);
85
85
  const items = computed(() => $stores[props.type].items);
86
+ rootStore.initializePageFromRoute();
86
87
  try {
87
88
  await rootStore.update(props.type, locale.value);
88
89
  } catch (error) {
@@ -49,6 +49,7 @@ export declare const useRootStore: import("pinia").StoreDefinition<"rootStore",
49
49
  page: number;
50
50
  type: string;
51
51
  }): void;
52
+ initializePageFromRoute(): void;
52
53
  updateSearch({ type, search, lang, }: {
53
54
  type: string;
54
55
  search: string;
@@ -186,13 +186,23 @@ export const useRootStore = defineStore("rootStore", {
186
186
  this.update(type);
187
187
  },
188
188
  updatePage({ page, type }) {
189
- this.page = page;
190
189
  const router = useRouter();
191
- const query = router.currentRoute.value.query;
192
- query.page = page > 1 ? page.toString() : void 0;
193
- router.replace({ query });
190
+ const currentQuery = router.currentRoute.value.query;
191
+ const newQuery = { ...currentQuery };
192
+ if (page > 1) {
193
+ newQuery.page = page.toString();
194
+ } else {
195
+ delete newQuery.page;
196
+ }
197
+ router.replace({ query: newQuery });
198
+ this.page = page;
194
199
  this.update(type);
195
200
  },
201
+ initializePageFromRoute() {
202
+ const { query } = useRouter().currentRoute.value;
203
+ const page = Number.parseInt(query.page, 10);
204
+ this.page = isNaN(page) || page < 1 ? 1 : page;
205
+ },
196
206
  async updateSearch({
197
207
  type = "all",
198
208
  search = "",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "license": "AGPL-3.0-only",
3
3
  "main": "./dist/module.mjs",
4
- "version": "1.0.99",
4
+ "version": "1.0.100",
5
5
  "name": "@paris-ias/list",
6
6
  "repository": {
7
7
  "url": "git+https://github.com/IEA-Paris/list.git",