Prechádzať zdrojové kódy

Admin calendar - select2 -> AJAX

Vijayakrishnan 4 rokov pred
rodič
commit
3e04b32deb

+ 25 - 10
resources/views/app/practice-management/calendar.blade.php

@@ -409,6 +409,20 @@
                                 });
                             $('#eventPros')
                                 .select2({
+
+                                    // ajax driven pros listing
+                                    ajax: {
+                                        url: '/pro-suggest',
+                                        dataType: 'json',
+                                        data: function (params) {
+                                            return {
+                                                term: params.term,
+                                                json: true
+                                            };
+                                        },
+                                    },
+                                    minimumInputLength: 3,
+
                                     closeOnSelect: false,
 
                                     // dropdown options
@@ -481,7 +495,7 @@
                                 },
                                 initialView: 'timeGridWeek',
                                 initialDate: '{{ $initialDate }}',
-                                editable: true,
+                                editable: false,
                                 selectable: true,
                                 navLinks: true,
                                 dayMaxEvents: false,
@@ -515,7 +529,7 @@
                                                             ev.textColor = meta.fc;
                                                             ev.initials = meta.initials;
                                                             ev.display = 'block';
-                                                            ev.editable = true;
+                                                            ev.editable = false;
 
                                                             // active/all
                                                             if(['CANCELLED', 'COMPLETED', 'ABANDONED'].indexOf(ev.status) !== -1) {
@@ -598,8 +612,8 @@
                                             .appendTo('.fc-highlight');
                                     }*/
                                 },
-                                eventDrop: self.eventMovedOrResized,
-                                eventResize: self.eventMovedOrResized
+                                // eventDrop: self.eventMovedOrResized,
+                                // eventResize: self.eventMovedOrResized
                             });
                             $(document).on('mousedown', '.fc-highlight', function() {
                                  if(self.selectedSlot && self.today.getTime() <= self.selectedSlot.start.getTime()) {
@@ -770,12 +784,13 @@
                                     $('#eventTz').trigger('change');
                                 });
                             }
-                            if(localStorage.stagProCalendarProIds) {
-                                this.proIds = JSON.parse(localStorage.stagProCalendarProIds);
-                                Vue.nextTick(function() {
-                                    $('#eventPros').trigger('change');
-                                });
-                            }
+                            // pros not pre-loaded anymore! so this isn't possible in a straight-forw manner
+                            // if(localStorage.stagProCalendarProIds) {
+                            //     this.proIds = JSON.parse(localStorage.stagProCalendarProIds);
+                            //     Vue.nextTick(function() {
+                            //         $('#eventPros').trigger('change');
+                            //     });
+                            // }
                         @endif
                     }
                 });