2016-06-10 4 views
0

이름과 유형 및 사용자 정의 데이터가있는 객체 목록을 포함하는 관리자가 있습니다. 자, 유형 속성의 선택에 대한 내 사용자 정의 데이터베이스를 표시한다고 가정합시다. 'when'을 사용하여이 작업을 수행 할 수 있지만 "attr/type"과 같은 특정 경로가있는 단순 필드 인 경우에만 해당됩니다. 목록에 있기 때문에 인덱스가 어떤 형식이 선택되었는지 여부를 확인하는 경로를 지정하는 방법을 모릅니다 그래서 다릅니다. 이 문제에 대한 아이디어가 있습니까?JointJS에서 다른 필드를 기반으로 표시 필드

data: { 
         type : 'list', 
         item: { 
          type: 'object', 
          properties: { 
           'name' : { 
            type : 'text', 
            group : 'text', 
            label : 'Name', 
            index : 1 
           }, 
           type : { 
            type : 'select', 
            group : 'text', 
              label : 'Type', 
              options: ['Text','Number','Date','Select','Text Area'], 
            index : 2 
           }, 
           required : { 
            type : 'toggle', 
            group : 'validation', 
            label : 'Required', 
            index : 3 
           }, 
           'min-length' : { 
            type : 'number', 
            group : 'validation', 
            min : 0, 
            label : 'Min Length', 
            index : 4 
           }, 
           'max-length' : { 
            type : 'number', 
            group : 'validation', 
            min : 1, 
            label : 'Max Length', 
            index : 5 
           }, 
           'min' : { 
            type : 'number', 
            group : 'validation', 
            min : 0, 
            label : 'Min', 
            index : 6 
           }, 
           'max' : { 
            type : 'number', 
            group : 'validation', 
            min : 1, 
            label : 'Max', 
            index : 7 
           }, 
           'message' : { 
            type : 'text', 
            group : 'validation', 
            label : 'Error message', 
            index : 8 
           }, 
           'regex' : { 
            type : 'text', 
            group : 'validation', 
            label : 'Regex', 
            index : 9 
           }, 
           'options' : { 
            type : 'list', 
            item : { 
             type:'object', 
             properties: { 
              'text' : { 
               type : 'text', 
               label : 'Text', 
               index : 1 
              }, 
              'value' :{ 
               type : 'text', 
               label : 'Value', 
               index : 2 
              } 
             } 
            }, 
            group : 'validation', 
            label : 'Options', 
            index : 10 
           } 

          } 
         }, 
         group : 'validation', 
         label : 'Input', 
         index : 1 
        } 

답변

0

나는 이름/유형 컬렉션에서 각 유형에 대한 필드를 작성해야합니다. 비슷한 문제는 여기에 해결 :

operator: { 
       type: 'select', 
       options: ['over', 'in', 'out', 'atop', 'xor', 'arithmetic'], 
      }, 
      k1: { 
       type: 'number', 
       when: { eq: { operator: 'or' } } 
      }, 
      k2: { 
       type: 'number', 
       when: { eq: { operator: 'arithmetic' } } 
      }, 
      k3: { 
       type: 'number', 
       when: { eq: { operator: 'xor' } } 
      }, 
      k4: { 
       type: 'number', 
       when: { eq: { operator: 'over' } } 
      } 

편집 : when: { eq: { 'labels/0/type': 'Number' } }이 유효하지만 쓸모가

는이 방법이 귀하의 경우에는 사용할 수 없습니다 분명

... XPath는. 지금까지는 쉽게 할 수있는 것이 아니라 새로운 문제를 설정했습니다. when: { eq: { '*/type': 'Number' } }과 같은 것을 사용하는 것이 좋을 수도 있습니다. 여기에서 *은 현재 컨텍스트가 될 수 있으므로 현재 색인을 얻을 수 있습니다.

+0

더 자세히 알려지지 않습니까? 더 많은 정보를 제공하기 위해 내 게시물을 편집했습니다. 알 수 있듯이, 내 '형식'이 '날짜'또는 '숫자'일 때만 '정규식'필드를 표시하려고합니다. –

+0

어떤 제안 솔루션을 주셔서 감사합니다 선생님? –

관련 문제