@@ -97,7 +97,6 @@ export async function obtainAllPossibleRows(folderPath: string, ddbbConfig: Loca
9797 LOGGER . debug ( `=> obtainAllPossibleRows. folderPath:${ folderPath } ` ) ;
9898 const rows : Array < RowDataType > = [ ] ;
9999 let folderFiles = await sourceDataviewPages ( ddbbConfig , folderPath , columns ) ;
100- folderFiles = folderFiles . where ( p => ! p [ DatabaseCore . FRONTMATTER_KEY ] ) ;
101100 // Config filters asociated with the database
102101 if ( filters . enabled && filters . conditions . length > 0 ) {
103102 folderFiles = folderFiles . where ( p => tableFilter ( filters . conditions , p , ddbbConfig ) ) ;
@@ -113,61 +112,61 @@ export async function obtainAllPossibleRows(folderPath: string, ddbbConfig: Loca
113112
114113export async function sourceDataviewPages ( ddbbConfig : LocalSettings , folderPath : string , columns ?: TableColumn [ ] ) : Promise < DataArray < Record < string , Literal > > > {
115114 let pagesResult : DataArray < Record < string , Literal > > ;
116- switch ( ddbbConfig . source_data ) {
117- case SourceDataTypes . TAG :
118- pagesResult = DataviewService . getDataviewAPI ( ) . pages ( `${ ddbbConfig . source_form_result . split ( ',' ) . join ( ' OR ' ) } ` ) ;
119- break ;
120- case SourceDataTypes . INCOMING_LINK :
121- pagesResult = DataviewService . getDataviewAPI ( ) . pages ( `[[${ ddbbConfig . source_form_result } ]]` ) ;
122- break ;
123- case SourceDataTypes . OUTGOING_LINK :
124- pagesResult = DataviewService . getDataviewAPI ( ) . pages ( `outgoing([[${ ddbbConfig . source_form_result } ]])` ) ;
125- break ;
126- case SourceDataTypes . QUERY :
127- pagesResult = await obtainQueryResult (
128- generateDataviewTableQuery (
129- columns ,
130- ddbbConfig . source_form_result ) ,
131- folderPath
132- ) ;
133- break ;
134- case SourceDataTypes . CURRENT_FOLDER_WITHOUT_SUBFOLDERS :
135- if ( ! folderPath || folderPath === '/' ) {
136- pagesResult = DataviewService . getDataviewAPI ( ) . pages ( )
137- . where ( ( p : NoteInfoPage ) => ! p . file . folder ) ;
138- } else {
139- pagesResult = DataviewService . getDataviewAPI ( ) . pages ( `"${ folderPath } "` )
140- . where ( ( p : NoteInfoPage ) => p . file . folder === folderPath ) ;
141- }
142- break ;
143- default :
144- pagesResult = DataviewService . getDataviewAPI ( ) . pages ( `"${ folderPath } "` ) ;
145- }
146- return pagesResult ;
147- }
148-
149- async function obtainQueryResult ( query : string , folderPath : string ) : Promise < DataArray < Record < string , Literal > > > {
150115 try {
151- const result = await DataviewService . getDataviewAPI ( ) . query ( query ) ;
152- if ( ! result . successful || result . value . type !== 'table' ) {
153- throw new Error ( `Query ${ query } failed` ) ;
116+ switch ( ddbbConfig . source_data ) {
117+ case SourceDataTypes . TAG :
118+ pagesResult = DataviewService . getDataviewAPI ( ) . pages ( `${ ddbbConfig . source_form_result . split ( ',' ) . join ( ' OR ' ) } ` ) ;
119+ break ;
120+ case SourceDataTypes . INCOMING_LINK :
121+ pagesResult = DataviewService . getDataviewAPI ( ) . pages ( `[[${ ddbbConfig . source_form_result } ]]` ) ;
122+ break ;
123+ case SourceDataTypes . OUTGOING_LINK :
124+ pagesResult = DataviewService . getDataviewAPI ( ) . pages ( `outgoing([[${ ddbbConfig . source_form_result } ]])` ) ;
125+ break ;
126+ case SourceDataTypes . QUERY :
127+ pagesResult = await obtainQueryResult (
128+ generateDataviewTableQuery (
129+ columns ,
130+ ddbbConfig . source_form_result ) ,
131+ folderPath
132+ ) ;
133+ break ;
134+ case SourceDataTypes . CURRENT_FOLDER_WITHOUT_SUBFOLDERS :
135+ if ( ! folderPath || folderPath === '/' ) {
136+ pagesResult = DataviewService . getDataviewAPI ( ) . pages ( )
137+ . where ( ( p : NoteInfoPage ) => ! p . file . folder ) ;
138+ } else {
139+ pagesResult = DataviewService . getDataviewAPI ( ) . pages ( `"${ folderPath } "` )
140+ . where ( ( p : NoteInfoPage ) => p . file . folder === folderPath ) ;
141+ }
142+ break ;
143+ default :
144+ pagesResult = DataviewService . getDataviewAPI ( ) . pages ( `"${ folderPath } "` ) ;
154145 }
155- const arrayRecord : Record < string , Literal > [ ] = [ ] ;
156- const headers = result . value . headers ;
157- result . value . values . forEach ( ( row ) => {
158- const recordResult : Record < string , Literal > = { } ;
159- headers . forEach ( ( header , index ) => {
160- recordResult [ header ] = row [ index ] ;
161- } )
162- arrayRecord . push ( recordResult ) ;
163- } ) ;
164- return DataviewService . getDataviewAPI ( ) . array ( arrayRecord ) ;
165146 } catch ( error ) {
166- const msg = `Error obtaining query result: " ${ query } ", current folder loaded instead` ;
147+ const msg = `Error obtaining pages result. Current folder loaded instead` ;
167148 LOGGER . error ( msg , error ) ;
168149 new Notice ( msg , 10000 ) ;
169- return DataviewService . getDataviewAPI ( ) . pages ( `"${ folderPath } "` ) ;
150+ pagesResult = DataviewService . getDataviewAPI ( ) . pages ( `"${ folderPath } "` ) ;
170151 }
152+ return pagesResult ;
153+ }
154+
155+ async function obtainQueryResult ( query : string , folderPath : string ) : Promise < DataArray < Record < string , Literal > > > {
156+ const result = await DataviewService . getDataviewAPI ( ) . query ( query ) ;
157+ if ( ! result . successful || result . value . type !== 'table' ) {
158+ throw new Error ( `Query ${ query } failed` ) ;
159+ }
160+ const arrayRecord : Record < string , Literal > [ ] = [ ] ;
161+ const headers = result . value . headers ;
162+ result . value . values . forEach ( ( row ) => {
163+ const recordResult : Record < string , Literal > = { } ;
164+ headers . forEach ( ( header , index ) => {
165+ recordResult [ header ] = row [ index ] ;
166+ } )
167+ arrayRecord . push ( recordResult ) ;
168+ } ) ;
169+ return DataviewService . getDataviewAPI ( ) . array ( arrayRecord ) ;
171170}
172171
173172export function obtainCellFromFile ( path : string , column : TableColumn ) : Literal {
0 commit comments