○ App.controller.js
- 'getCore()' 메서드의 'getMessageManager()' 메서드로 'oMessageManager' 변수 선언
- 변수 'oMessageModel'에서 'getMessageModel()'로 'oMessageModel' 선언
- 'oMessageModel'에서 'bindList'로 oMessageModelBinding' 선언
1) bindList(sPath, oContext?, vSorters?, vFilters?, mParameters?)
* sPath를 '/'로 지정해 경로 설정
* oContext를 'undefined'로 지정해 상대경로 없음으로설정
* vSorters를 '[]'로 지정해 분류 기준 없음으로 설정
2) 'technical' 이라는 항목과 일치하는 목록만 필터링
* path를 'technical'로 지정해 필터링
* FilterOperator 메서드의 EQ, 즉 equals로 일치 항목 찾기
* 해당 값 'true'로 설정(?)
- 뭐라 카는지 모르겠다 일단 기록해두자...
- manifest에 지정해둔 'appView' 모델의 hasUIChanges 속성 설정이 가능한 _setUIChanges 메서드 추가
- bTechnicalErrors 발생 시, 'bHasUIChanges'는 'true'를 반환
- 'bHasUIChanges'가 'undefined'일 때에는 this.getView().getModel().hasPendingChanges(); 반환
- 나머지 경우에는 'appView' 모델의 view를 호출하는 oModel 변수에서
'/hasUIChanges' 경로를 가지는 bHasUIChanges 속성 가져오기
- onCreate 이벤트 핸들러
1) peopleList를 id로 가지는 'oList' 변수 선언
2) ODataListBinding API의 create 메서드 사용해 'oBinding'한 'oContext'를 반환
3) 이터의 일부를 임의로 초기화해 테이블 상단에 삽입
- setProperty()
1) path를 '/usernameEmpty''로 지정
2) 'true'는 무엇을 의미하는지 모르겠다...
- oList
1) App.view.xml의 테이블에 지정해둔 'items'를 호출
2) 'oItem'을 파라미터로 설정
3) 'oItem'의 'getBindingContext()'가 'create'된 'oContext'와 같다면 'oItem'을 포커
- _setBusy
1) 'bIsBusy'를 파라미터로 두는 '_setBusy' 선언
2) 'appView'를 모델의 view 호출하는 변수 'oModel' 생성
3) '/busy'를 path로 두며 'bIsBusy' 값을 가지는 속성의 oModel 설정
4) 데이터가 백엔드에 제출되는 동안 전체 UI를 잠그는 함수 정의
- onSave 이벤트 핸들러
1) 'fnSuccess' 변수 설정
* 'changeSentMessage' 출력
2) 'fnError' 변수 설정
* oError를 파라미터로 지정
* 'MessageBox.error' 창을 띄우면서 'oError.messsage' 출력
3) submitBatch
* OData 서비스를 사용할 수 없거나 권한 부여 문제가 있는 경우 일괄 요청 자체 실패 시 거부되는 Promise 반환
* Promise를 이행하면 'fnSuccess 반환', 거부당하면 'fnError' 반환
'SAP > UI5' 카테고리의 다른 글
[ SAPUI5 ] Business Application Studio (0) | 2023.02.14 |
---|---|
[ SAPUI5 ] / OData V4 - Create and Edit(2) (0) | 2023.02.13 |
[ SAPUI5 ] / OData V4 (0) | 2023.02.10 |
[ SAPUI5 ] No Data Binding (0) | 2023.02.09 |