Events
- Events(이벤트)는 특정 이벤트가 발생했음을 알려 블록이 부모와 상호작용할 수 있도록 하는 요소입니다. 따라서 블록이 부모와 상호작용하려면 이벤트를 사용해야 합니다.
- 기본적으로 블록은 이벤트를 트리거한 다음 부모가 이를 처리하고 그에 따라 행동합니다. 이는 이벤트가 블록 내부에 정의됨을 의미합니다. 이벤트의 입력매개변수는 필수가 아니지만 블록 범위에서 부모의 외부범위로 데이터를 전달할 수 있도록 합니다.
- 트리거 : 트리거(trigger)는 특정 이벤트가 발생할 때 자동으로 실행되는 작업을 말합니다.(이벤트가 발생하면 트리거는 이를 감지하고 미리 정의된 작업을 수행)
왜 부모와 상호 작용 해야할까?
- 블록과 부모는 다른 범위를 가지고 있다. 따라서 사용자가 블록내부의 요소와 상호작용하는 경우 부모는 무슨일이 일어났는지 모른다.
- 예를 들어보자 아래의 이미지에서 블록내의 수요일이 선택되면 화면은 어떤 옵션이 선택되었는지 알 수 없다. 이 작업에 의존하는 부모에 요소가 있는 경우 부모가 무슨일이 일어났는지 아는 것이 중요하므로 부모에게 알리기 위해 적절한 정보가 포함된 이벤트가 트리거 되어야 한다. 이벤트를 트리거한 후 이벤트가 필수인 경우 부모가 이벤트를 처리해야 한다. 이벤트 핸들러는 기본적으로 부모에서 정의된 Screen Action이다. 이 Action은 이벤트가 트리거될 때 실행할 Logic(논리)를 정의하고 이벤트에 대한 입력으로 전달된 값에 접근할 수 있다. 그 외에도 Screen Action은 부모수준에서 정의되기 때문에 부모 범위에도 접근할 수 있다.
- 이러한 과정을 순서를 따져가며 정리해보겠습니다.
- 아래의 화면에는 WeekDay블록의 인스턴스가 있습니다. 이 블록의 목표는 사용자가 선택한 날짜를 변경할 때 마다 해당 변경사항을 부모에게 알리는 것입니다.
1. 만약 사용자가 화요일을 선택하면 연결된 클라이언트 작업(블록내부에정의)가 실행됩니다.
2. 트리거 이벤트가 실행되면 실행 흐름이 인스턴스의 핸들러로 이동합니다.
3. 그리고 부모의 작업이 실행됩니다.
4. 핸들러가 실행을 완료할 때마다 실행 흐름은 트리거 이벤트 직후흐름으로 다시 돌아갑니다.
'로우코드(Lowcode) > outsystems' 카테고리의 다른 글
Outsystems - How To Handle Block Events (0) | 2023.05.13 |
---|---|
Outsystems - On Parameters Changed (0) | 2023.05.13 |
outsystems-Blocks (0) | 2023.05.12 |
outsystems - 인덱스, 참조무결성(Integrity) (0) | 2023.05.10 |
outsystems- 식별자(Identifier), 참조, 관계 (0) | 2023.05.09 |