pimelon-ui 0.1.57 → 0.1.59

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pimelon-ui",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "A set of components and utilities for rapid UI development",
5
5
  "main": "./src/index.js",
6
6
  "scripts": {
@@ -9,16 +9,18 @@
9
9
  :class="[group.collapsed ? '-rotate-90' : '']"
10
10
  />
11
11
  </button>
12
- <div class="w-full py-1.5 pr-2">
13
- <component
14
- v-if="list.slots['group-header']"
15
- :is="list.slots['group-header']"
16
- v-bind="{ group }"
17
- />
18
- <span v-else class="text-base font-medium leading-6">
19
- {{ group.group }}
20
- </span>
21
- </div>
12
+ <slot>
13
+ <div class="w-full py-1.5 pr-2">
14
+ <component
15
+ v-if="list.slots['group-header']"
16
+ :is="list.slots['group-header']"
17
+ v-bind="{ group }"
18
+ />
19
+ <span v-else class="text-base font-medium leading-6">
20
+ {{ group.group }}
21
+ </span>
22
+ </div>
23
+ </slot>
22
24
  </div>
23
25
  <div class="mx-2 h-px border-t border-gray-200"></div>
24
26
  </template>
@@ -1,6 +1,8 @@
1
1
  <template>
2
2
  <div class="mb-5 mt-2" v-if="!group.collapsed">
3
- <ListRow v-for="row in group.rows" :key="row[list.rowKey]" :row="row" />
3
+ <slot>
4
+ <ListRow v-for="row in group.rows" :key="row[list.rowKey]" :row="row" />
5
+ </slot>
4
6
  </div>
5
7
  </template>
6
8
  <script setup>
@@ -1,14 +1,16 @@
1
1
  <template>
2
2
  <div class="h-full overflow-y-auto">
3
3
  <div v-for="group in list.rows" :key="group.group">
4
- <ListGroupHeader :group="group">
5
- <slot
6
- name="group-header"
7
- v-if="$slots['group-header']"
8
- v-bind="{ group }"
9
- />
10
- </ListGroupHeader>
11
- <ListGroupRows :group="group" />
4
+ <slot>
5
+ <ListGroupHeader :group="group">
6
+ <slot
7
+ name="group-header"
8
+ v-if="$slots['group-header']"
9
+ v-bind="{ group }"
10
+ />
11
+ </ListGroupHeader>
12
+ <ListGroupRows :group="group" />
13
+ </slot>
12
14
  </div>
13
15
  </div>
14
16
  </template>
@@ -90,6 +90,12 @@ let _options = computed(() => {
90
90
 
91
91
  const allRowsSelected = computed(() => {
92
92
  if (!props.rows.length) return false
93
+ if (showGroupedRows.value) {
94
+ return (
95
+ selections.size ===
96
+ props.rows.reduce((acc, row) => acc + row.rows.length, 0)
97
+ )
98
+ }
93
99
  return selections.size === props.rows.length
94
100
  })
95
101
 
@@ -114,6 +120,12 @@ function toggleAllRows(select) {
114
120
  selections.clear()
115
121
  return
116
122
  }
123
+ if (showGroupedRows.value) {
124
+ props.rows.forEach((row) => {
125
+ row.rows.forEach((r) => selections.add(r[props.rowKey]))
126
+ })
127
+ return
128
+ }
117
129
  props.rows.forEach((row) => selections.add(row[props.rowKey]))
118
130
  }
119
131
 
@@ -2,10 +2,11 @@ import { io } from 'socket.io-client'
2
2
 
3
3
  export default function initSocket(options = {}) {
4
4
  let host = window.location.hostname
5
+ let siteName = import.meta.env.DEV ? host : window.site_name
5
6
  let socketio_port = options.port || 9000
6
7
  let port = window.location.port ? `:${socketio_port}` : ''
7
8
  let protocol = port ? 'http' : 'https'
8
- let url = `${protocol}://${host}${port}`
9
+ let url = `${protocol}://${host}${port}/${siteName}`
9
10
  let socket = io(url, { withCredentials: true })
10
11
  return socket
11
12
  }