app / com.gmail.ayteneve93.apex.kakaopay_preassignment.view.main.fragments.image_list / ImageListViewModel

ImageListViewModel

class ImageListViewModel : BaseViewModel

ImageListFragment 의 ViewModel 입니다.

Constructors

<init>

ImageListViewModel(application: Application, mPreferenceUtils: PreferenceUtils)

ImageListFragment 의 ViewModel 입니다.

Properties

initialPageNumber

val initialPageNumber: Int

최초 페이지 숫자입니다. 1로 고정된 값입니다.

mAbnormalResultMessage

var mAbnormalResultMessage: MutableLiveData<CharSequence>

검색 결과에 문제가 생겼을 경우의 텍스트입니다. 기본 값은 검색 결과가 없음을 알리는 String 이 지정되어 있습니다.

mApplication

val mApplication: Application

애플리케이션 객체입니다. Resource 참조에 사용합니다.

mDisplayCount

var mDisplayCount: Int

화면에 표시되는 이미지의 갯수 입니다.

mFilterMenuVisibility

var mFilterMenuVisibility: ObservableField<Boolean>

Filter Menu 의 가시성 여부를 지정하는 Observable 객체입니다.

mNextPageButtonAvailability

var mNextPageButtonAvailability: ObservableField<Boolean>

다음 페이지로 이동하는 버튼의 활성화 여부인 Observable 객체입니다.

mNoSearchResult

var mNoSearchResult: ObservableField<Boolean>

검색 결과가 없을 경우를 확인하는 Observable 객체입니다.

mPageButtonVisibility

var mPageButtonVisibility: ObservableField<Boolean>

페이지 버튼 전체의 가시성 여부를 지정하는 Observable 객체입니다.

mPageNumber

var mPageNumber: Int

현재 페이지 번호입니다.

mPageNumberText

var mPageNumberText: MutableLiveData<CharSequence>

페이지 넘버를 보여주는 텍스틍비니다.

mPrevPageButtonAvailability

var mPrevPageButtonAvailability: ObservableField<Boolean>

전 페이지로 이동하는 버튼의 활성화 여부인 Observable 객체입니다.

mRecentQueryKeyword

lateinit var mRecentQueryKeyword: String

최근에 입력된 검색어입니다.

mSearchResultTitle

var mSearchResultTitle: MutableLiveData<CharSequence>

검색 결과의 제목입니다. 기본값은 검색을 유도하는 String 이 지정되어 있습니다.

mSortOption

var mSortOption: KakaoImageSortOption

검색 정렬 기준입니다.

maxPageNumber

val maxPageNumber: Int

최대 페이지 숫자입니다. 50으로 고정된 값입니다.

onQueryChangedListener

lateinit var onQueryChangedListener: (queryKeyword: String, sortOption: KakaoImageSortOption, pageNumber: Int, displayCount: Int) -> Unit

ImageListFragment 에서 설정하는 값으로, 검색 값이(쿼리 단어나 정렬 기준 등) 변경되었을 때 콜 백 해줍니다.

Functions

boundOnNextPageButtonClick

fun boundOnNextPageButtonClick(): Unit

다음 페이지로 이동합니다.

boundOnPrevPageButtonClick

fun boundOnPrevPageButtonClick(): Unit

이전 페이지로 이동합니다.

changeDisplayCount

fun changeDisplayCount(displayCount: Int): Unit

한 페이지당 표시 이미지 갯수가 변경 된 경우 이를 저장하고 리스너를 통해 검색 절차를 재 수행합니다. 단, 이 때 기존 페이지 수와 표시 갯수를 기반으로 페이지 번호 역시 변경해줍니다. 가령 30개씩 보고있는 상태에서 2페이지를 보고 있을 때 표시 갯수를 80개로 변경할 경우 1페이지로 바꿔줍니다.

changeSortOption

fun changeSortOption(sortOption: KakaoImageSortOption): Unit

검색 정렬 옵션이 변결될 경우 이를 저장하고 리스너를 통해 검색 절차를 재 수행합니다.

hideFilterMenu

fun hideFilterMenu(): Unit

필터 메뉴가 보이지 않게 설정합니다.

inputNewKeyword

fun inputNewKeyword(queryKeyword: String): Unit

새로운 검색어가 입력된 경우 검색어를 저장하고 타이틀을 검색중으로 표시합니다. 실제 검색 절차는 Fragment 에서 등록한 리스너로 처리합니다.

refresh

fun refresh(): Unit

단순 Refresh 요청. 현재 저장된 값들을 기반으로 검색을 다시 수행합니다.

setSearchResult

fun setSearchResult(isError: Boolean, errorMessage: String?, pageNumber: Int, isEmpty: Boolean, isEnd: Boolean): Unit

검색된 결과를 받아와 해당 내용을 바탕으로 전체 뷰의 값들을 그에 맞춰 변경해줍니다.

showFilterMenu

fun showFilterMenu(): Unit

필터 메뉴가 보이게 설정합니다.