@@ -226,7 +226,7 @@ import useStore from "@/store";
226
226
import { posthog } from " @/telemetry" ;
227
227
import { BuilderPage } from " @/types/Builder/BuilderPage" ;
228
228
import { useDark , useEventListener , useStorage , useToggle , watchDebounced } from " @vueuse/core" ;
229
- import { Dropdown } from " frappe-ui" ;
229
+ import { createResource , Dropdown } from " frappe-ui" ;
230
230
import { onActivated , Ref , ref , watch } from " vue" ;
231
231
232
232
const isDark = useDark ({
@@ -365,25 +365,26 @@ watchDebounced([searchFilter, typeFilter, orderBy], fetchPages, {
365
365
});
366
366
367
367
const setFolder = async (folder : string ) => {
368
- for (const pageName of selectedPages .value ) {
369
- if (pageName ) {
370
- await webPages .setValue
371
- .submit ({
372
- name: pageName ,
373
- project_folder: folder ,
374
- })
375
- .then (() => {
376
- const page = webPages .data ?.find ((p : BuilderPage ) => p .name === pageName );
377
- if (page ) {
378
- page .project_folder = folder ;
379
- }
380
- });
381
- }
382
- }
383
- selectedPages .value .clear ();
384
- selectionMode .value = false ;
385
- showFolderSelectorDialog .value = false ;
386
- store .activeFolder = folder ;
368
+ createResource ({
369
+ method: " POST" ,
370
+ url: " builder.api.update_page_folder" ,
371
+ })
372
+ .submit ({
373
+ pages: Array .from (selectedPages .value ),
374
+ folder_name: folder ,
375
+ })
376
+ .then (() => {
377
+ for (const pageName of selectedPages .value ) {
378
+ const page = webPages .data ?.find ((p : BuilderPage ) => p .name === pageName );
379
+ if (page ) {
380
+ page .project_folder = folder ;
381
+ }
382
+ }
383
+ selectedPages .value .clear ();
384
+ selectionMode .value = false ;
385
+ showFolderSelectorDialog .value = false ;
386
+ store .activeFolder = folder ;
387
+ });
387
388
};
388
389
389
390
const showSettingsDialog = ref (false );
0 commit comments