adminforth 2.1.0-next.7 → 2.1.0-next.9
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.
|
@@ -12,19 +12,20 @@
|
|
|
12
12
|
>
|
|
13
13
|
<component v-if="item.icon" :is="getIcon(item.icon)" class="w-5 h-5 text-lightSidebarIcons dark:text-darkSidebarIcons transition duration-75 group-hover:text-lightSidebarIconsHover dark:group-hover:text-darkSidebarIconsHover" ></component>
|
|
14
14
|
<span class="text-ellipsis overflow-hidden ms-3">{{ item.label }}</span>
|
|
15
|
-
<span v-if="item.badge"
|
|
16
|
-
fill-lightAnnouncementText dark:fill-darkAccent text-lightAnnouncementText dark:text-darkAccent min-w-[1.5rem] max-w-[3rem]"
|
|
15
|
+
<span v-if="item.badge"
|
|
17
16
|
>
|
|
18
17
|
|
|
19
18
|
<Tooltip v-if="item.badgeTooltip">
|
|
20
|
-
|
|
19
|
+
<div class="inline-flex items-center justify-center h-3 py-3 px-1 ms-3 text-sm font-medium rounded-full bg-lightAnnouncementBG dark:bg-darkAnnouncementBG
|
|
20
|
+
fill-lightAnnouncementText dark:fill-darkAccent text-lightAnnouncementText dark:text-darkAccent min-w-[1.5rem] max-w-[3rem]">{{ item.badge }}</div>
|
|
21
21
|
|
|
22
22
|
<template #tooltip>
|
|
23
23
|
{{ item.badgeTooltip }}
|
|
24
24
|
</template>
|
|
25
25
|
</Tooltip>
|
|
26
26
|
<template v-else>
|
|
27
|
-
|
|
27
|
+
<div class="inline-flex items-center justify-center h-3 py-3 px-1 ms-3 text-sm font-medium rounded-full bg-lightAnnouncementBG dark:bg-darkAnnouncementBG
|
|
28
|
+
fill-lightAnnouncementText dark:fill-darkAccent text-lightAnnouncementText dark:text-darkAccent min-w-[1.5rem] max-w-[3rem]">{{ item.badge }}</div>
|
|
28
29
|
</template>
|
|
29
30
|
|
|
30
31
|
</span>
|
|
@@ -86,7 +86,9 @@ export const useCoreStore = defineStore('core', () => {
|
|
|
86
86
|
}
|
|
87
87
|
async function subscribeToMenuBadges() {
|
|
88
88
|
const processItem = (mi: AdminForthConfigMenuItem) => {
|
|
89
|
-
|
|
89
|
+
|
|
90
|
+
// console.log('🔔 subscribeToMenuBadges', mi.badge, JSON.stringify(mi));
|
|
91
|
+
if (mi.badge !== undefined) {
|
|
90
92
|
websocket.subscribe(`/opentopic/update-menu-badge/${mi.itemId}`, ({ badge }) => {
|
|
91
93
|
mi.badge = badge;
|
|
92
94
|
});
|
|
@@ -147,7 +147,15 @@ async function saveRecord() {
|
|
|
147
147
|
saving.value = true;
|
|
148
148
|
const updates = {};
|
|
149
149
|
for (const key in record.value) {
|
|
150
|
-
let columnIsUpdated =
|
|
150
|
+
let columnIsUpdated = false;
|
|
151
|
+
|
|
152
|
+
if (typeof record.value[key] !== typeof coreStore.record[key]) {
|
|
153
|
+
columnIsUpdated = true;
|
|
154
|
+
} else if (typeof record.value[key] === 'object') {
|
|
155
|
+
columnIsUpdated = JSON.stringify(record.value[key]) !== JSON.stringify(coreStore.record[key]);
|
|
156
|
+
} else {
|
|
157
|
+
columnIsUpdated = record.value[key] !== coreStore.record[key];
|
|
158
|
+
}
|
|
151
159
|
|
|
152
160
|
const column = coreStore.resource.columns.find((c) => c.name === key);
|
|
153
161
|
|