File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 77use ProcessMaker \Http \Resources \ApiCollection ;
88use ProcessMaker \Http \Resources \ApiResource ;
99use ProcessMaker \Models \TaskDraft ;
10+ use ProcessMaker \Models \ProcessRequestToken ;
11+ use Illuminate \Support \Arr ;
1012
1113class TaskDraftController extends Controller
1214{
1315 public function update (Request $ request , ProcessRequestToken $ task )
1416 {
1517 $ search = ['task_id ' => $ task ->id ];
16-
17- $ draft = TaskDraft::updateOrCreate ($ search , $ request );
18+ $ filteredData = Arr:: except ( $ request -> all (), [ ' _user ' , ' _request ' ]);
19+ $ draft = TaskDraft::updateOrCreate ($ search ,[ ' data ' => $ filteredData ] );
1820
1921 return new ApiResource ($ draft );
2022 }
Original file line number Diff line number Diff line change @@ -15,6 +15,11 @@ class TaskDraft extends ProcessMakerModel
1515 'created_at ' ,
1616 ];
1717
18+ protected $ fillable = [
19+ 'task_id ' ,
20+ 'data ' ,
21+ ];
22+
1823 protected $ casts = [
1924 'data ' => 'array ' ,
2025 ];
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ import NavbarTaskMobile from "./components/NavbarTaskMobile.vue";
88import AvatarImage from "../components/AvatarImage.vue" ;
99import Timeline from "../components/Timeline.vue" ;
1010import TimelineItem from "../components/TimelineItem.vue" ;
11+ import autosaveMixins from "../modules/autosave/autosaveMixin" ;
1112
1213Vue . use ( Vuex ) ;
1314Vue . use ( "task" , Task ) ;
@@ -18,5 +19,7 @@ Vue.component("MonacoEditor", MonacoEditor);
1819Vue . component ( "Timeline" , Timeline ) ;
1920Vue . component ( "TimelineItem" , TimelineItem ) ;
2021
22+ Vue . mixin ( autosaveMixins ) ;
23+
2124window . debounce = debounce ;
2225window . Vuex = Vuex ;
Original file line number Diff line number Diff line change @@ -64,7 +64,7 @@ class="card border-0"
6464 @ @error =" error"
6565 @closed =" closed"
6666 @redirect =" redirectToTask"
67- @form -data-changed =" autoSave "
67+ @form -data-changed =" handleAutosave() "
6868 ></task >
6969 @endcan
7070 <div v-if =" taskHasComments" >
@@ -269,6 +269,8 @@ class="d-inline-flex pull-left align-items-center"
269269 userIsAdmin,
270270 userIsProcessManager,
271271 showTree: false ,
272+ is_loading: false ,
273+ autoSaveDelay: 5000 ,
272274 },
273275 watch: {
274276 task: {
@@ -460,8 +462,15 @@ class="d-inline-flex pull-left align-items-center"
460462 taskUpdated (task ) {
461463 this .task = task;
462464 },
463- autoSave (formData ) {
464- console .log (" Hola" , formData);
465+ autosaveApiCall () {
466+ return ProcessMaker .apiClient
467+ .put (" drafts/" + this .task .id , this .formData )
468+ .then (() => {
469+ this .is_loading = true ;
470+ })
471+ .finally (() => {
472+ this .is_loading = false ;
473+ });
465474 },
466475 },
467476 mounted () {
Original file line number Diff line number Diff line change @@ -107,7 +107,7 @@ class="card border-0"
107107 @ @error =" error"
108108 @closed =" closed"
109109 @redirect =" redirectToTask"
110- @form -data-changed =" autoSave "
110+ @form -data-changed =" handleAutosave() "
111111 :task-preview =" true"
112112 ></task >
113113 </div >
@@ -184,6 +184,8 @@ class="card border-0"
184184 submitting: false ,
185185 userIsAdmin,
186186 userIsProcessManager,
187+ is_loading: false ,
188+ autoSaveDelay: 5000 ,
187189 },
188190 watch: {
189191 task: {
@@ -375,8 +377,15 @@ class="card border-0"
375377 taskUpdated (task ) {
376378 this .task = task;
377379 },
378- autoSave (formData ) {
379- console .log (" Hola" , formData);
380+ autosaveApiCall () {
381+ return ProcessMaker .apiClient
382+ .put (" drafts/" + this .task .id , this .formData )
383+ .then (() => {
384+ this .is_loading = true ;
385+ })
386+ .finally (() => {
387+ this .is_loading = false ;
388+ });
380389 },
381390 },
382391 mounted () {
You can’t perform that action at this time.
0 commit comments