Bläddra i källkod

ordered arbo text select

axolotle 2 år sedan
förälder
incheckning
8b99a8d440
2 ändrade filer med 8 tillägg och 11 borttagningar
  1. 1 1
      src/pages/library/LibraryOptions.vue
  2. 7 10
      src/store/modules/library.js

+ 1 - 1
src/pages/library/LibraryOptions.vue

@@ -93,7 +93,7 @@
           <node-view-title v-if="activeNode" :node="activeNode" />
         </template>
 
-        <b-dropdown-item v-for="node in nodesDeparts" :key="node.id" @click="activeNodeId = node.id">
+        <b-dropdown-item v-for="node in nodesDepartsOptions" :key="node.id" @click="activeNodeId = node.id">
           <node-view-title :node="node" block />
         </b-dropdown-item>
       </b-dropdown>

+ 7 - 10
src/store/modules/library.js

@@ -230,16 +230,13 @@ export default {
     },
 
     nodesDepartsOptions: (state, getters, rootState) => {
-      const departIds = rootState.ids.depart
-      if (departIds === undefined) return
-      const nodes = departIds.map(id => rootState.nodes[id])
-      if (nodes.some(node => node === undefined)) return
-      return nodes.map(node => {
-        const firstAuthor = node.authors !== null ? node.authors[0].name : 'Pad de noms'
-        return {
-          text: `${firstAuthor}, ${node.title} (${node.id})`,
-          value: node.id
-        }
+      const nodes = getters.nodesDeparts
+      if (nodes === undefined) return
+      return nodes.sort((a, b) => {
+        const prev = a.authors[0].last_name.toLowerCase()
+        const next = b.authors[0].last_name.toLowerCase()
+        if (prev === next) return 0
+        return prev < next ? -1 : 1
       })
     },