base on extjs & ci