@paris-ias/list 1.0.93 → 1.0.95

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.93",
4
+ "version": "1.0.95",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.0",
7
7
  "unbuild": "3.5.0"
@@ -0,0 +1,14 @@
1
+ <template>
2
+ <div>
3
+ {{ item.name }}
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ const props = defineProps({
9
+ item: {
10
+ type: Object,
11
+ required: true
12
+ }
13
+ });
14
+ </script>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ {{ item }}
3
+ </template>
4
+
5
+ <script setup>
6
+ defineProps({
7
+ item: {
8
+ type: Object,
9
+ required: true
10
+ }
11
+ });
12
+ </script>
@@ -0,0 +1,20 @@
1
+ <template>
2
+ {{ item }}
3
+ </template>
4
+
5
+ <script setup>
6
+ import { useNuxtApp } from "#imports";
7
+ const { $stores } = useNuxtApp();
8
+ defineProps({
9
+ item: {
10
+ type: Object,
11
+ required: true
12
+ },
13
+ loading: {
14
+ type: Boolean,
15
+ required: false,
16
+ default: false
17
+ }
18
+ });
19
+ $stores.apps.loading = false;
20
+ </script>
@@ -35,18 +35,18 @@
35
35
  </v-btn>
36
36
  <template v-else>
37
37
  <v-btn
38
- :class="{ 'active-page': !!page.current }"
38
+ :class="{ 'active-page': isActive }"
39
39
  tabindex="0"
40
40
  outlined
41
41
  min-width="35"
42
42
  height="35"
43
43
  tile
44
44
  nuxt
45
- :active="!!page.current"
46
- :color="!!page.current ? 'white' : 'black'"
45
+ :active="isActive"
46
+ :color="isActive ? 'white' : 'black'"
47
47
  text
48
48
  width="35"
49
- :aria-current="!!page.current ? 'true' : 'false'"
49
+ :aria-current="isActive ? 'true' : 'false'"
50
50
  :aria-label="
51
51
  page.current
52
52
  ? `Current page, Page ${page.value}`
@@ -115,11 +115,14 @@ const props = defineProps({
115
115
  required: true
116
116
  }
117
117
  });
118
+ const isActive = computed(() => {
119
+ return !!pages.current;
120
+ });
118
121
  const renderPages = computed(() => {
119
- const pages = [];
122
+ const pages2 = [];
120
123
  for (let pageIndex = 1; pageIndex <= props.totalPages; pageIndex++) {
121
124
  if (pageIndex === props.currentPage || pageIndex < props.pageGap || pageIndex > props.totalPages - props.pageGap + 1) {
122
- pages.push(createPage(pageIndex));
125
+ pages2.push(createPage(pageIndex));
123
126
  continue;
124
127
  }
125
128
  let minimum;
@@ -135,27 +138,27 @@ const renderPages = computed(() => {
135
138
  maximum = props.currentPage + props.pagePadding;
136
139
  }
137
140
  if (pageIndex >= minimum && pageIndex <= props.currentPage || pageIndex >= props.currentPage && pageIndex <= maximum) {
138
- pages.push(createPage(pageIndex));
141
+ pages2.push(createPage(pageIndex));
139
142
  continue;
140
143
  }
141
144
  if (pageIndex === props.pageGap) {
142
145
  if (minimum > props.pageGap + 1 && props.currentPage > props.pageGap + props.pagePadding + 1) {
143
- pages.push(createGap(pageIndex));
146
+ pages2.push(createGap(pageIndex));
144
147
  } else {
145
- pages.push(createPage(pageIndex));
148
+ pages2.push(createPage(pageIndex));
146
149
  }
147
150
  continue;
148
151
  }
149
152
  if (pageIndex === props.totalPages - props.pageGap + 1) {
150
153
  if (maximum < props.totalPages - props.pageGap && props.currentPage < props.totalPages - props.pageGap - props.pagePadding) {
151
- pages.push(createGap(pageIndex));
154
+ pages2.push(createGap(pageIndex));
152
155
  } else {
153
- pages.push(createPage(pageIndex));
156
+ pages2.push(createPage(pageIndex));
154
157
  }
155
158
  continue;
156
159
  }
157
160
  }
158
- return pages;
161
+ return pages2;
159
162
  });
160
163
  const createPage = (pageIndex) => {
161
164
  return {
@@ -0,0 +1,14 @@
1
+ <template>
2
+ <div>
3
+ {{ item }}
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ const props = defineProps({
9
+ item: {
10
+ type: Object,
11
+ required: true
12
+ }
13
+ });
14
+ </script>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ {{ item }}
3
+ </template>
4
+
5
+ <script setup>
6
+ defineProps({
7
+ item: {
8
+ type: Object,
9
+ required: true
10
+ }
11
+ });
12
+ </script>
@@ -0,0 +1,20 @@
1
+ <template>
2
+ {{ item }}
3
+ </template>
4
+
5
+ <script setup>
6
+ import { useNuxtApp } from "#imports";
7
+ const { $stores } = useNuxtApp();
8
+ defineProps({
9
+ item: {
10
+ type: Object,
11
+ required: true
12
+ },
13
+ loading: {
14
+ type: Boolean,
15
+ required: false,
16
+ default: false
17
+ }
18
+ });
19
+ $stores.users.loading = false;
20
+ </script>
@@ -1,5 +1,5 @@
1
- query getApp($appId: ID = "iea", $lang: String = "en") {
2
- getApp(appId: $appId, lang: $lang) {
1
+ query getApp($appId: ID = "iea", $itemId: ID = "", $lang: String = "en") {
2
+ getApp(appId: $appId, itemId: $itemId, lang: $lang) {
3
3
  appId
4
4
  color
5
5
  date
@@ -23,11 +23,12 @@ query getApp($appId: ID = "iea", $lang: String = "en") {
23
23
  icon
24
24
  name
25
25
  updatedAt
26
+ slug {
27
+ en
28
+ fr
29
+ }
26
30
  }
27
31
  url
28
- slug {
29
- fr
30
- en
31
- }
32
+ slug
32
33
  }
33
34
  }
@@ -0,0 +1,14 @@
1
+ query getUser($appId: ID = "iea", $userId: ID = "") {
2
+ getUser(appId: $appId, userId: $userId) {
3
+ slug {
4
+ en
5
+ fr
6
+ }
7
+ admin
8
+ branch
9
+ createdAt
10
+ email
11
+ role
12
+ status
13
+ }
14
+ }
@@ -1,4 +1,14 @@
1
- query listApps($appId: ID = "", $lang: String = "", $options: ListInput = {}) {
1
+ query listApps(
2
+ $options: ListInput = {
3
+ skip: 0
4
+ limit: 9
5
+ sortBy: ["start"]
6
+ sortDesc: false
7
+ filters: "{}"
8
+ }
9
+ $lang: String = "en"
10
+ $appId: ID = "iea"
11
+ ) {
2
12
  listApps(options: $options, appId: $appId, lang: $lang) {
3
13
  items {
4
14
  appId
@@ -1,9 +1,15 @@
1
1
  query listUsers(
2
+ $options: ListInput = {
3
+ skip: 0
4
+ limit: 9
5
+ sortBy: ["start"]
6
+ sortDesc: false
7
+ filters: "{}"
8
+ }
2
9
  $appId: ID = "iea"
3
10
  $lang: String = "en"
4
- $options: ListInput = {}
5
11
  ) {
6
- listUsers(appId: $appId, lang: $lang, options: $options) {
12
+ listUsers(options: $options, appId: $appId, lang: $lang) {
7
13
  items {
8
14
  admin
9
15
  branch
@@ -87,6 +87,20 @@ export default defineNuxtPlugin(async (nuxtApp) => {
87
87
  list: import("../graphql/list/tags.gql"),
88
88
  get: import("../graphql/item/tags.gql")
89
89
  }
90
+ }),
91
+ apps: () => ({
92
+ model: import("@paris-ias/data/dist/list/apps.js"),
93
+ queries: {
94
+ list: import("../graphql/list/apps.gql"),
95
+ get: import("../graphql/item/apps.gql")
96
+ }
97
+ }),
98
+ users: () => ({
99
+ model: import("@paris-ias/data/dist/list/users.js"),
100
+ queries: {
101
+ list: import("../graphql/list/users.gql"),
102
+ get: import("../graphql/item/users.gql")
103
+ }
90
104
  })
91
105
  // Add other modules similarly...
92
106
  };
@@ -187,6 +187,10 @@ export const useRootStore = defineStore("rootStore", {
187
187
  },
188
188
  updatePage({ page, type }) {
189
189
  this.page = page;
190
+ const router = useRouter();
191
+ const query = router.currentRoute.value.query;
192
+ query.page = page > 1 ? page.toString() : void 0;
193
+ router.replace({ query });
190
194
  this.update(type);
191
195
  },
192
196
  async updateSearch({
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.93",
4
+ "version": "1.0.95",
5
5
  "name": "@paris-ias/list",
6
6
  "repository": {
7
7
  "url": "git+https://github.com/IEA-Paris/list.git",
@@ -24,7 +24,7 @@
24
24
  "@nuxtjs/apollo": "^5.0.0-alpha.14",
25
25
  "@nuxtjs/i18n": "^9.5.2",
26
26
  "@nuxtjs/mdc": "0.16.1",
27
- "@paris-ias/data": "^1.8.3",
27
+ "@paris-ias/data": "^1.8.5",
28
28
  "@pinia/nuxt": "^0.5.4",
29
29
  "@types/node": "latest",
30
30
  "@urql/exchange-execute": "2.3.1",