How-To
ICE의 BackOffice Builder를 이용하여 기능을 구현하기 위해서는 데이터 관리에서 기본적으로 필요한 CRUD(Create, Retrieve, Update, Delete)를 구현해야 한다. 이때, 대상이되는 데이터의 유형에 따라서 몇 가지 패턴으로 CRUD를 구성하면 UX의 편의성과 통일성을 제공할 수 있다.
본 문서에서는 ICE4에서 제공하는 기능들을 이용하여 구현 가능한 패턴들에 대한 구현 방안을 제공한다.
Example. Table-Modal
https://dev-admin.justten.io/admin/boTesting/pattern/tableModal
테이블-모달 패턴은 백오피스에서 가장 많이 사용 되는 패턴 중 하나이다. 테이블 리스트 페이지에서 컨텐츠를 생성하고, 확인하고 수정하기 위한 모든 링크를 Modal 타입으로 만들어 보자.
tip Modal은 스키마의 기본 폼이나 다른 페이지를 출력할 수 있다. 이번 예제에서는 기본 폼만을 다루도록 한다.
1. Create Table
ICE4 - BackOffice Builder에서 테이블 컴포넌트를 추가하자. ( 참고 : 셋팅 옵션 가이드 Table List )
tip Basic Setting
- Target NodeType :
TEST Blog
- Data Sync{ON}
tip Create/Detail Page
테이블 리스트 또는 버튼 클릭하면, 스키마를 기반으로 기본 셋팅 된 Create/Detail 페이지가 출력된다.
2. Set Enable List Events
ICE에서는 스키마를 생성할 때, 기본적으로 CRUD(Create, Read, Update, Delete + list)에 관련된 이벤트를 제공한다.
이를 사용하기 위해서 Enable List Events
영역에서 생성하고자 하는 CRUD 버튼을 체크박스로 선택하고 저장하자.
테이블 리스트 하단에 기본 CRUD 버튼이 생성되는 것을 확인 할 수 있다.
셋팅 화면의 List Button Instancew Slot
영역에서도 생성한 버튼 목록으로 리스트업 되는 것을 확인 할 수 있다.
Read, Update, Delete 버튼을 사용하기 위해서는 테이블 목록에서 컨텐츠 선택이 우선적으로 진행되어야한다. 데이터 선택 필드 옵션을 Radio
또는 Checkbox
로 설정하자.
테이블에 데이터 선택 필드가 추가 된 것을 확인 할 수 있다.
3. Set CRU Link Type
CRU 버튼 링크를 Modal로 셋팅은 두가지 방법이 있다.
List Button Instance Slot
영역에서 버튼을 개별 셋팅()
[1] 을 클릭하면 하단에 상세 설정 영역이 출력된다. Options에서 [2]Link Type = 'Modal'
으로 설정하자.
ex Create ButtonLink 셋팅 화면
tip CRUD 버튼 링크 타입 변경하기
만약
Modal
이 아닌 다른 타입으로 링크를 출력하고 싶다면 [Table Component > List Button Instance Slot > ]으로 들어가 [버튼 설정 >Link Type
]을 변경하면 된다.
builder에서 생성된 버튼의 셋팅 버튼 클릭
[1] 을 클릭하면 상세 설정 영역이 출력된다. 위와 같이 Options에서 [2]Link Type = 'Modal'
으로 설정하자.
3-1. Create Button-Modal
테이블에서 [Create]버튼을 클릭하면 Create Form이 Modal로 출력된다.
Create Form을 모두 작성하고 [Save]버튼을 클릭해보자. 해당 내용이 저장되고 Modal이 닫히며, 테이블 목록에 생성한 데이터가 추가 되는 것을 확인 할 수 있다.
3-2. Read/Update Button-Modal
테이블에서 [1]조회/수정 할 컨텐츠를 체크박스로 선택하고, [2][상세조회]버튼 또는 [수정]버튼을 클릭하면 Detail 페이지를 Modal로 출력되어 조회하거나 수정 할 수 있다.
조회/수정 Modal에 있는 기본적인 Click Event는 다음과 같다.
Save : Edit and Save Contents > Refresh Modal
Delete : Delete Contents > Close Modal
Icon[X] : Close Modal
3-3. Delete Button-Modal
삭제 버튼의 기본 셋팅 화면은 다음과 같다. 별도의 Modal 출력은 없으며 Callback Link Type = Page
로 한다.
삭제 버튼의 기본 상태는 Disable
이며, 데이터를 선택하면 활성화 상태로 변경된다. [1]삭제 할 컨텐츠를 체크박스로 선택하고, [2][삭제]버튼을 클릭해보자. 삭제 알림이 출력 되며 해당 컨텐츠가 삭제 된 것을 확인 할 수 있다.
4. Click Event
테이블 목록 클릭 이벤트는 On Click / On Double Click
설정 영역에서 셋팅 할 수 있다.
Click/Double Click List-Modal
다음과 같이 On Click > Page Type = 'Modal'
로 설정하면, 테이블 목록을 한 번 클릭 했을 때 모달이 출력된다.
❗️”On Click”과 “On Double Click” 기능은 함께 사용 할 수 없으니 주의하자.
테이블 목록에서 원하는 컨텐츠를 Click하면 Detail 페이지가 Modal로 출력되는 것을 확인 할 수 있다.
클릭 이벤트로 출력되는 Modal도 스키마를 기반으로 기본 셋팅 된 항목들로 구성된 Detail 페이지이다.
Modal with Link User Selected
모든 Modal에서는 스키마 기반의 기본 폼 뿐만 아니라, 다른 페이지의 폼도 사용이 가능하다.
기본 셋팅 된 Detail 페이지 외의 다른 링크 페이지를 사용하고 싶다면, 아래 그림과 같이 Page
옵션을 추가로 설정하자.