2014-12-29 3 views
0

사용자가 엔티티의 세부 정보를 편집 할 수 있도록 팝업을 만들려고합니다. 사람의 목록 (반복 제어)이 있으며 이름을 클릭하면 해당 사람의 다른 데이터를 편집 할 수 있습니다. 이 그림 같은 뭔가 :XForms에서 별도의 팝업으로 데이터 삽입 및 업데이트

enter image description here

나는 그것이 형태의 숨겨진 사업부를 작성하는 것입니다, 그리고 JQuery와 - UI로 보여 관리하는 유일한 방법. 그래서,이 div는 "일시적 사람"에 묶여 있고 일단 편집되면, 나는이 임시 값을 최종 목록에 복사합니다. 이런 식으로 뭔가 :

<people> 
    <person name="Alice" age="32" phone="+33..."/> 
    <person name="Mike" age="27" phone="+54..."/> 
    <person name="Aureline" age="60" phone="+33..."/> 
</people> 

<tmpPerson name="" age="" phone=""/> 

그러나 문제는, 그냥합니다 (tmpPerson가 비어) 난 그냥 컨트롤에 빈 값을로드 할 원인, 새로운 레지스터를 추가하고 한 번 나는 단지을해야 완료 쉽다 삽입 함께 원산지 ...하지만 레지스트리가 이미 존재하는 경우 값을로드하는 것은 쉽지 않다 ... 나는 IF를 사용하려고했지만 작동하지 않는다 (둘 다 the alert), "else"문은 없다. 그렇다면 어떻게 레지스트리를로드해야하는지 여부를 결정할 수 있습니까? 내 말은

<xf:trigger id="loadExistingValues"> 
    <xf:label>Load values</xf:label> 
    <xf:action ev:event="DOMActivate" 
     if="not(instance('people')/person[@id='Mio')"> 
      <xf:alert>Here should be the code for a new person creation</xf:alert> 
    </xf:action> 
</xf:trigger> 

는, 나는, 자바 스크립트를 통해 데이터 모델을 읽을 이름 "미오"로 사람을 검색하고 존재하는 경우, JS를 통해도 값을로드 할 수 있습니다 알고 있지만 나는를 삽입해야하는 경우 새로운 "인물"나는 JS만으로는 그 일을 할 수 없다. 그래서 내가 상상할 수있는 유일한 것은 생성을위한 XForms 액션을 가진 트리거를 생성하고 JS에서 트리거하는 것이다. 하지만이 모든 것들은 너무 복잡해 보입니다. 누구나 아이디어 나 간단한 예를 들어 도와 줄 수 있습니까? 나는이 같은 데모를 찾지 못했다!

답변

1

XSLTForms에서 이미 부분적으로 지원되는 XForms 2.0의 새로운 기능인 대화 상자를 시도해야합니다.

+0

감사합니다. Alain, 네이티브 XSLTForms 대화 상자를 사용해 보았지만 JQuery를 선택한 이유는 "그래픽으로 조작하기"가 더 쉬웠 기 때문입니다. 문제는 실제로 그것을 선택하고 임시 모델 인스턴스에 값을 복사 한 다음 컬렉션의 값을 업데이트해야하기 때문에 컬렉션의 기존 항목을 수정하는 논리입니다. 그리고 나는 그것을 할 수있는 쉬운 방법을 찾고 있었다. – gal007