/*
* Created by LuaView.
* Copyright (c) 2017, Alibaba Group. All rights reserved.
*
* This source code is licensed under the MIT.
* For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
*/
package com.taobao.luaview.fun.mapper.ui;
import com.taobao.luaview.fun.mapper.LuaViewApi;
import com.taobao.luaview.fun.mapper.LuaViewLib;
import com.taobao.luaview.userdata.ui.UDRefreshLayout;
import org.luaj.vm2.Lua;
import org.luaj.vm2.LuaValue;
import org.luaj.vm2.Varargs;
import java.util.List;
/**
* Created by tuoli on 12/20/16.
*/
@LuaViewLib(revisions = {"20170306已对标", "iOS无"})
public class UIRefreshLayoutViewMethodMapper <U extends UDRefreshLayout> extends UIViewGroupMethodMapper<U> {
private static final String TAG = "UIRefreshLayoutViewMethodMapper";
private static final String[] sMethods = new String[] {
"stopRefreshing",
"setRefreshingOffset"
};
@Override
public List<String> getAllFunctionNames() {
return mergeFunctionNames(TAG, super.getAllFunctionNames(), sMethods);
}
@Override
public Varargs invoke(int code, U target, Varargs varargs) {
final int optcode = code - super.getAllFunctionNames().size();
switch (optcode) {
case 0:
return stopRefreshing(target, varargs);
case 1:
return setRefreshingOffset(target, varargs);
}
return super.invoke(code, target, varargs);
}
//--------------------------------------- API --------------------------------------------------
public LuaValue stopRefreshing(U view, Varargs varargs) {
view.stopRefreshing();
return this;
}
@LuaViewApi(revisions = {"名称去掉set"})
public LuaValue setRefreshingOffset(U view, Varargs varargs) {
final LuaValue offset = varargs.optvalue(2, NIL);
view.setRefreshingOffset(offset.tofloat());
return this;
}
}