[베타] display: form 수정시, 내역 검색해서 값 입력 (w/ searchOptions)

안녕하세요.

어드민을 만들때 모달로 상세 내역 조회후 개별 필드를 수정해야할 때가 있습니다.

이때 다른 테이블에서 데이터를 가져와서 수정해야할 때가 있는데요.

기존의 datalistFromQuery 기능으로도 가능하지만 풍부한 검색 경험을 줄 수 있는 searchOptions라는 기능을 추가하였습니다.

관련 키(key)

  • display: form
  • searchOptions

예제 YAML

blocks:
  - type: query
    resource: mysql
    sqlType: select
    sql: >
      SELECT * FROM bookings LIMIT 10
    columns:
      id:
        openModal: bookings/:id
    modals:
      - path: bookings/:id
        blocks:
          - type: query
            resource: mysql
            sqlType: select
            sql: SELECT * FROM bookings WHERE id = :id
            display: form
            columns:
              id:
              assignee_id:
                label: 담당자
                updateOptions:
                  type: query
                  resource: mysql
                  sqlType: update
                  sql: >
                    UPDATE bookings
                    SET assignee_id = :value
                    WHERE id = :id
                searchOptions:
                  enabled: true
                  # allowEmpty: false # 내역을 선택해야 적용 가능
                  # allowEdit: true # 선택지에 없는 텍스트 입력 가능
                  type: query
                  resource: mysql
                  sqlType: select
                  sql: >
                    SELECT 
                      id AS value, 
                      name AS '이름', status AS '상태'
                    FROM assingees
                    WHERE (name LIKE CONCAT('%', :value, '%') OR id = :value)
                    AND deleted_at IS NULL
                  columns:
                    value: 
                      hidden: true

관련하여 도움이 필요하시면 문의주세요.
감사합니다.