1

AngularJS를 기반으로 명단을 만들려고합니다. 이 프로젝트에서는 fullcalendar (스케줄러 버전)를 사용하고 있습니다.다른 이벤트 - 전체 캘린더 내에서 이벤트를 추가하는 방법

enter image description here

목표는 오프 모두, 내가 끌어와 작업 레이어 내부에 내 종업원을 삭제하려면 :

이 내가 가진 현재 상태입니다. 예를 들어, "Haris Bjelic", 내 작업 계층 ("WL from 01.06 - 04.06"으로 표시).

그런데 "Haris Bjelic"이 01.06에서 04.06까지 작동해야한다는 것을 알고 있습니다 (중단없이, hehe). 먼저 다른 이벤트 안에 이벤트를 추가 할 수있는 기능을 찾으려고했습니다. 이 경우, 나는 01.06부터 'Work Layer'라는 레이어를 먼저 만들었습니다. - 04.06 '어디에서 &을 드래그하여이 계층의 모든 직원을 삭제하고 작업 시간을 단축 할 수 있습니다.

스케줄러에는 왼쪽에 나열된 내 부서 (예 : 바, 서비스 등)가 있습니다. 오른쪽에 다음 날을 볼 수 있습니다. 그들은을 togheter 겹치는 경우 내가 두 이벤트 모두에 대한 액세스 권한을했습니다 - 내가 드래그 '04.06 01.06에서 WL'에 "HARIS의 bjelic"를 삭제한다면

eventOverlap: function(stillEvent, movingEvent) {} 

: 순간

나는이 기능을 시도했다. 그래서 'draggable'이벤트의 ID와 '01.06 - 04.06의 WL'ID를 가져와 데이터베이스의 관계에 설정하려고했습니다.

이것이 완료되면 작업 이름의 '제목'에 직원 이름을 추가하려고합니다.

'WL 01.06 - 04.06 
    "Haris Bjelic" 
    "Foo Employe" 
    2 emplyoee are working in this Layer' 

enter image description here 이 내가 얻을 싶어 결과입니다 : - I가 "04.06 WL 01.06에서"& 드롭 "하리스 Bjelic"및 기타 직원을 드래그하면 결과는 다음과 같이해야합니다!

eventOverlap 함수를 사용하면 두 이벤트에 모두 액세스 할 수 있습니다. 현재 "haris bjelic"을 다른 이벤트로 드래그하고 Overlap 기능이 실행될 때 Work Layer의 제목을 변경하려고합니다.

stillEvent.text += "\n" + movingEvent.text; 
element.fullCalendar('updateEvent', stillEvent); 

그것은 텍스트 만 변경하는 대신 새로운 이벤트를 만들어 :

는 eventOverlap 내부 나는이 시도!

는 여기를 참조하십시오 :

enter image description here

가 왜 이전 이벤트를 업데이트하는 대신 새로운 이벤트를 생성 updateEvent 무엇입니까? 나는 stillEvent를 updateEvent 함수에 넣었다.

답변

4

이벤트에는 text 속성이 없습니다. title입니다. 또한 제목이 업데이트되면 일정에서 movingEvent을 제거하려면이 코드를 사용

 eventOverlap: function(stillEvent, movingEvent) { 
      stillEvent.title += "\n" + movingEvent.title; 
      $('#calendar').fullCalendar('updateEvent', stillEvent); 
      $('#calendar').fullCalendar('removeEvents', movingEvent._id); 
      return false; 
     }, 

     eventReceive: function(event) { // called when a proper external event is dropped 
      $('#calendar').fullCalendar('removeEvents', event._id); 
     }, 

이 코드는 fullCalendar 함께 번들로 제공되는 외부 드래그 데모에서 작동합니다.

+0

안녕하세요 K48! 죄송합니다. 일주일 내내 매우 아팠고 프로그래밍이나 작업을 할 수 없었습니다. 귀하의 솔루션을 확인한 결과 나에게 매우 잘 작동합니다! 고마워요! –

관련 문제