@@ -4,6 +4,7 @@ import { OnloadArgs, RoamBasicNode } from "roamjs-components/types/native";
44import getSettingIntFromTree from "roamjs-components/util/getSettingIntFromTree" ;
55import getSubTree from "roamjs-components/util/getSubTree" ;
66import toFlexRegex from "roamjs-components/util/toFlexRegex" ;
7+ import { BLOCK_REF_REGEX } from "roamjs-components/dom/constants" ;
78import { StoredFilters } from "~/components/settings/DefaultFilters" ;
89import { Column } from "./types" ;
910import getSettingValueFromTree from "roamjs-components/util/getSettingValueFromTree" ;
@@ -24,11 +25,17 @@ export type InputValues = {
2425} [ ] ;
2526export type FilterData = Record < string , Filters > ;
2627export type Views = {
28+ uid : string ;
2729 column : string ;
2830 mode : string ;
2931 value : string ;
3032} [ ] ;
3133
34+ const getStoredViewKey = ( text : string ) : string => {
35+ const blockRefMatch = text . match ( BLOCK_REF_REGEX ) ;
36+ return blockRefMatch ?. [ 1 ] || text ;
37+ } ;
38+
3239export const getAlias = ( parentUid : string ) => {
3340 const aliasMatch = getTextByBlockUid ( parentUid ) . match (
3441 / { { query b l o c k : ( .* ?) } } / ,
@@ -124,7 +131,7 @@ const parseResultSettings = (
124131 const viewsNode = getSubTree ( { tree : resultNode . children , key : "views" } ) ;
125132 const savedViewData = Object . fromEntries (
126133 viewsNode . children . map ( ( c ) => [
127- c . text ,
134+ getStoredViewKey ( c . text ) ,
128135 {
129136 mode : c . children [ 0 ] ?. text ,
130137 value : c . children [ 0 ] ?. children ?. [ 0 ] ?. text || "" ,
@@ -210,11 +217,14 @@ const parseResultSettings = (
210217 type : getSettingValueFromTree ( { tree : c . children , key : "type" } ) ,
211218 } ;
212219 } ) ,
213- views : columns . map ( ( { key : column } ) => ( {
220+ views : columns . map ( ( { key : column , uid } ) => ( {
221+ uid,
214222 column,
215223 mode :
216- savedViewData [ column ] ?. mode || ( column === "text" ? "link" : "plain" ) ,
217- value : savedViewData [ column ] ?. value || "" ,
224+ savedViewData [ uid ] ?. mode ||
225+ savedViewData [ column ] ?. mode ||
226+ ( column === "text" ? "link" : "plain" ) ,
227+ value : savedViewData [ uid ] ?. value || savedViewData [ column ] ?. value || "" ,
218228 } ) ) ,
219229 random,
220230 pageSize,
0 commit comments