/**
 *
 * 在任擎服务器启动时会加载本文件，以便将tfp组件有关的代码预先加载到内存中
 * 后续编译tfp页面时就不需要再临时动态加载，提升编译tfp页面的速度
 * 
 */

import TaskFrontPage from './tfp.js'

import PageMetaData from './components/page/metadata.js'
import PageController from './components/page/controller.js'
import PageRender from './components/page/render.js'

import ButtonMetaData from './components/button/metadata.js'
import ButtonController from './components/button/controller.js'
import ButtonRender from './components/button/render.js'

import ChartAnnularMetaData from './components/chartannular/metadata.js'
import ChartAnnularController from './components/chartannular/controller.js'
import ChartAnnularRender from './components/chartannular/render.js'

import ChartBarMetaData from './components/chartbar/metadata.js'
import ChartBarController from './components/chartbar/controller.js'
import ChartBarRender from './components/chartbar/render.js'

import ChartBarYMetaData from './components/chartbary/metadata.js'
import ChartBarYController from './components/chartbary/controller.js'
import ChartBarYRender from './components/chartbary/render.js'

import ChartLineMetaData from './components/chartline/metadata.js'
import ChartLineController from './components/chartline/controller.js'
import ChartLineRender from './components/chartline/render.js'

import ChartLineBarMetaData from './components/chartlinebar/metadata.js'
import ChartLineBarController from './components/chartlinebar/controller.js'
import ChartLineBarRender from './components/chartlinebar/render.js'

import ChartPieMetaData from './components/chartpie/metadata.js'
import ChartPieController from './components/chartpie/controller.js'
import ChartPieRender from './components/chartpie/render.js'

import CheckBoxMetaData from './components/checkbox/metadata.js'
import CheckBoxController from './components/checkbox/controller.js'
import CheckBoxRender from './components/checkbox/render.js'

import DataSetMetaDataPc from './components/dataset/metadata.pc.js'
import DataSetControllerPc from './components/dataset/controller.pc.js'
import DataSetRenderPc from './components/dataset/render.pc.js'

import DateMetaDataPc from './components/date/metadata.pc.js'
import DateControllerPc from './components/date/controller.pc.js'
import DateRenderPc from './components/date/render.pc.js'
import DateMetaDataPhone from './components/date/metadata.phone.js'
import DateControllerPhone from './components/date/controller.phone.js'
import DateRenderPhone from './components/date/render.phone.js'

import DateTimeMetaDataPc from './components/datetime/metadata.pc.js'
import DateTimeControllerPc from './components/datetime/controller.pc.js'
import DateTimeRenderPc from './components/datetime/render.pc.js'
import DateTimeMetaDataPhone from './components/datetime/metadata.phone.js'
import DateTimeControllerPhone from './components/datetime/controller.phone.js'
import DateTimeRenderPhone from './components/datetime/render.phone.js'

import DepMetaDataPc from './components/dep/metadata.pc.js'
import DepControllerPc from './components/dep/controller.pc.js'
import DepRenderPc from './components/dep/render.pc.js'

import ExcelExportMetaDataPc from './components/excelexport/metadata.pc.js'
import ExcelExportControllerPc from './components/excelexport/controller.pc.js'
import ExcelExportRenderPc from './components/excelexport/render.pc.js'

import ExcelImportMetaDataPc from './components/excelimport/metadata.pc.js'
import ExcelImportControllerPc from './components/excelimport/controller.pc.js'
import ExcelImportRenderPc from './components/excelimport/render.pc.js'

import FileUploadMetaData from './components/fileupload/metadata.js'
import FileUploadController from './components/fileupload/controller.js'
import FileUploadRender from './components/fileupload/render.js'

import FlexBoxMetaData from './components/flexbox/metadata.js'
import FlexBoxController from './components/flexbox/controller.js'
import FlexBoxRender from './components/flexbox/render.js'

import FormMetaData from './components/form/metadata.js'
import FormController from './components/form/controller.js'
import FormRender from './components/form/render.js'

import GridDataRowMetaDataPhone from './components/griddatarow/metadata.phone.js'
import GridDataRowControllerPhone from './components/griddatarow/controller.phone.js'
import GridDataRowRenderPhone from './components/griddatarow/render.phone.js'

import GridMetaDataPc from './components/grid/metadata.pc.js'
import GridControllerPc from './components/grid/controller.pc.js'
import GridRenderPc from './components/grid/render.pc.js'
import GridMetaDataPhone from './components/grid/metadata.phone.js'
import GridControllerPhone from './components/grid/controller.phone.js'
import GridRenderPhone from './components/grid/render.phone.js'

import HiddenMetaData from './components/hidden/metadata.js'
import HiddenController from './components/hidden/controller.js'
import HiddenRender from './components/hidden/render.js'

import IframeMetaData from './components/iframe/metadata.js'
import IframeController from './components/iframe/controller.js'
import IframeRender from './components/iframe/render.js'

import ImageMetaData from './components/image/metadata.js'
import ImageController from './components/image/controller.js'
import ImageRender from './components/image/render.js'

import LabelMetaData from './components/label/metadata.js'
import LabelController from './components/label/controller.js'
import LabelRender from './components/label/render.js'

import PanelMetaData from './components/panel/metadata.js'
import PanelController from './components/panel/controller.js'
import PanelRender from './components/panel/render.js'

import PasswordMetaData from './components/password/metadata.js'
import PasswordController from './components/password/controller.js'
import PasswordRender from './components/password/render.js'

import PhotoUploadMetaData from './components/photoupload/metadata.js'
import PhotoUploadController from './components/photoupload/controller.js'
import PhotoUploadRender from './components/photoupload/render.js'

import RadioMetaData from './components/radio/metadata.js'
import RadioController from './components/radio/controller.js'
import RadioRender from './components/radio/render.js'

import RichTextMetaDataPc from './components/richtext/metadata.pc.js'
import RichTextControllerPc from './components/richtext/controller.pc.js'
import RichTextRenderPc from './components/richtext/render.pc.js'

import RoleMetaDataPc from './components/role/metadata.pc.js'
import RoleControllerPc from './components/role/controller.pc.js'
import RoleRenderPc from './components/role/render.pc.js'

import SelectMetaDataPc from './components/select/metadata.pc.js'
import SelectControllerPc from './components/select/controller.pc.js'
import SelectRenderPc from './components/select/render.pc.js'
import SelectMetaDataPhone from './components/select/metadata.phone.js'
import SelectControllerPhone from './components/select/controller.phone.js'
import SelectRenderPhone from './components/select/render.phone.js'

import ServiceMetaData from './components/service/metadata.js'
import ServiceController from './components/service/controller.js'
import ServiceRender from './components/service/render.js'

import SwitchMetaData from './components/switch/metadata.js'
import SwitchController from './components/switch/controller.js'
import SwitchRender from './components/switch/render.js'

import TabMetaData from './components/tab/metadata.js'
import TabController from './components/tab/controller.js'
import TabRender from './components/tab/render.js'

import TabPageMetaData from './components/tabpage/metadata.js'
import TabPageController from './components/tabpage/controller.js'
import TabPageRender from './components/tabpage/render.js'

import TextMetaData from './components/text/metadata.js'
import TextController from './components/text/controller.js'
import TextRender from './components/text/render.js'

import TextAreaMetaData from './components/textarea/metadata.js'
import TextAreaController from './components/textarea/controller.js'
import TextAreaRender from './components/textarea/render.js'

import TimeMetaDataPc from './components/time/metadata.pc.js'
import TimeControllerPc from './components/time/controller.pc.js'
import TimeRenderPc from './components/time/render.pc.js'
import TimeMetaDataPhone from './components/time/metadata.phone.js'
import TimeControllerPhone from './components/time/controller.phone.js'
import TimeRenderPhone from './components/time/render.phone.js'

import TreeMetaDataPc from './components/tree/metadata.pc.js'
import TreeControllerPc from './components/tree/controller.pc.js'
import TreeRenderPc from './components/tree/render.pc.js'

import UserMetaDataPc from './components/user/metadata.pc.js'
import UserControllerPc from './components/user/controller.pc.js'
import UserRenderPc from './components/user/render.pc.js'

var metaDatasPc = {};
var metaDatasPhone = {};
var controllersPc = {};
var controllersPhone = {};
var rendersPc = {};
var rendersPhone = {};

metaDatasPc["Page"] = PageMetaData;
metaDatasPhone["Page"] = PageMetaData;
controllersPc["Page"] = PageController;
controllersPhone["Page"] = PageController;
rendersPc["Page"] = PageRender;
rendersPhone["Page"] = PageRender;

metaDatasPc["Button"] = ButtonMetaData;
metaDatasPhone["Button"] = ButtonMetaData;
controllersPc["Button"] = ButtonController;
controllersPhone["Button"] = ButtonController;
rendersPc["Button"] = ButtonRender;
rendersPhone["Button"] = ButtonRender;

metaDatasPc["ChartAnnular"] = ChartAnnularMetaData;
metaDatasPhone["ChartAnnular"] = ChartAnnularMetaData;
controllersPc["ChartAnnular"] = ChartAnnularController;
controllersPhone["ChartAnnular"] = ChartAnnularController;
rendersPc["ChartAnnular"] = ChartAnnularRender;
rendersPhone["ChartAnnular"] = ChartAnnularRender;

metaDatasPc["ChartBar"] = ChartBarMetaData;
metaDatasPhone["ChartBar"] = ChartBarMetaData;
controllersPc["ChartBar"] = ChartBarController;
controllersPhone["ChartBar"] = ChartBarController;
rendersPc["ChartBar"] = ChartBarRender;
rendersPhone["ChartBar"] = ChartBarRender;

metaDatasPc["ChartBarY"] = ChartBarYMetaData;
metaDatasPhone["ChartBarY"] = ChartBarYMetaData;
controllersPc["ChartBarY"] = ChartBarYController;
controllersPhone["ChartBarY"] = ChartBarYController;
rendersPc["ChartBarY"] = ChartBarYRender;
rendersPhone["ChartBarY"] = ChartBarYRender;

metaDatasPc["ChartLine"] = ChartLineMetaData;
metaDatasPhone["ChartLine"] = ChartLineMetaData;
controllersPc["ChartLine"] = ChartLineController;
controllersPhone["ChartLine"] = ChartLineController;
rendersPc["ChartLine"] = ChartLineRender;
rendersPhone["ChartLine"] = ChartLineRender;

metaDatasPc["ChartLineBar"] = ChartLineBarMetaData;
metaDatasPhone["ChartLineBar"] = ChartLineBarMetaData;
controllersPc["ChartLineBar"] = ChartLineBarController;
controllersPhone["ChartLineBar"] = ChartLineBarController;
rendersPc["ChartLineBar"] = ChartLineBarRender;
rendersPhone["ChartLineBar"] = ChartLineBarRender;

metaDatasPc["ChartPie"] = ChartPieMetaData;
metaDatasPhone["ChartPie"] = ChartPieMetaData;
controllersPc["ChartPie"] = ChartPieController;
controllersPhone["ChartPie"] = ChartPieController;
rendersPc["ChartPie"] = ChartPieRender;
rendersPhone["ChartPie"] = ChartPieRender;

metaDatasPc["CheckBox"] = CheckBoxMetaData;
metaDatasPhone["CheckBox"] = CheckBoxMetaData;
controllersPc["CheckBox"] = CheckBoxController;
controllersPhone["CheckBox"] = CheckBoxController;
rendersPc["CheckBox"] = CheckBoxRender;
rendersPhone["CheckBox"] = CheckBoxRender;

metaDatasPc["DataSet"] = DataSetMetaDataPc;
controllersPc["DataSet"] = DataSetControllerPc;
rendersPc["DataSet"] = DataSetRenderPc;

metaDatasPc["Date"] = DateMetaDataPc;
controllersPc["Date"] = DateControllerPc;
rendersPc["Date"] = DateRenderPc;
metaDatasPhone["Date"] = DateMetaDataPhone;
controllersPhone["Date"] = DateControllerPhone;
rendersPhone["Date"] = DateRenderPhone;

metaDatasPc["DateTime"] = DateTimeMetaDataPc;
controllersPc["DateTime"] = DateTimeControllerPc;
rendersPc["DateTime"] = DateTimeRenderPc;
metaDatasPhone["DateTime"] = DateTimeMetaDataPhone;
controllersPhone["DateTime"] = DateTimeControllerPhone;
rendersPhone["DateTime"] = DateTimeRenderPhone;

metaDatasPc["Dep"] = DepMetaDataPc;
controllersPc["Dep"] = DepControllerPc;
rendersPc["Dep"] = DepRenderPc;

metaDatasPc["ExcelExport"] = ExcelExportMetaDataPc;
controllersPc["ExcelExport"] = ExcelExportControllerPc;
rendersPc["ExcelExport"] = ExcelExportRenderPc;

metaDatasPc["ExcelImport"] = ExcelImportMetaDataPc;
controllersPc["ExcelImport"] = ExcelImportControllerPc;
rendersPc["ExcelImport"] = ExcelImportRenderPc;

metaDatasPc["FileUpload"] = FileUploadMetaData;
metaDatasPhone["FileUpload"] = FileUploadMetaData;
controllersPc["FileUpload"] = FileUploadController;
controllersPhone["FileUpload"] = FileUploadController;
rendersPc["FileUpload"] = FileUploadRender;
rendersPhone["FileUpload"] = FileUploadRender;

metaDatasPc["FlexBox"] = FlexBoxMetaData;
metaDatasPhone["FlexBox"] = FlexBoxMetaData;
controllersPc["FlexBox"] = FlexBoxController;
controllersPhone["FlexBox"] = FlexBoxController;
rendersPc["FlexBox"] = FlexBoxRender;
rendersPhone["FlexBox"] = FlexBoxRender;

metaDatasPc["Form"] = FormMetaData;
metaDatasPhone["Form"] = FormMetaData;
controllersPc["Form"] = FormController;
controllersPhone["Form"] = FormController;
rendersPc["Form"] = FormRender;
rendersPhone["Form"] = FormRender;

metaDatasPhone["GridDataRow"] = GridDataRowMetaDataPhone;
controllersPhone["GridDataRow"] = GridDataRowControllerPhone;
rendersPhone["GridDataRow"] = GridDataRowRenderPhone;

metaDatasPc["Grid"] = GridMetaDataPc;
controllersPc["Grid"] = GridControllerPc;
rendersPc["Grid"] = GridRenderPc;
metaDatasPhone["Grid"] = GridMetaDataPhone;
controllersPhone["Grid"] = GridControllerPhone;
rendersPhone["Grid"] = GridRenderPhone;

metaDatasPc["Hidden"] = HiddenMetaData;
metaDatasPhone["Hidden"] = HiddenMetaData;
controllersPc["Hidden"] = HiddenController;
controllersPhone["Hidden"] = HiddenController;
rendersPc["Hidden"] = HiddenRender;
rendersPhone["Hidden"] = HiddenRender;

metaDatasPc["Iframe"] = IframeMetaData;
metaDatasPhone["Iframe"] = IframeMetaData;
controllersPc["Iframe"] = IframeController;
controllersPhone["Iframe"] = IframeController;
rendersPc["Iframe"] = IframeRender;
rendersPhone["Iframe"] = IframeRender;

metaDatasPc["Image"] = ImageMetaData;
metaDatasPhone["Image"] = ImageMetaData;
controllersPc["Image"] = ImageController;
controllersPhone["Image"] = ImageController;
rendersPc["Image"] = ImageRender;
rendersPhone["Image"] = ImageRender;

metaDatasPc["Label"] = LabelMetaData;
metaDatasPhone["Label"] = LabelMetaData;
controllersPc["Label"] = LabelController;
controllersPhone["Label"] = LabelController;
rendersPc["Label"] = LabelRender;
rendersPhone["Label"] = LabelRender;

metaDatasPc["Panel"] = PanelMetaData;
metaDatasPhone["Panel"] = PanelMetaData;
controllersPc["Panel"] = PanelController;
controllersPhone["Panel"] = PanelController;
rendersPc["Panel"] = PanelRender;
rendersPhone["Panel"] = PanelRender;

metaDatasPc["Password"] = PasswordMetaData;
metaDatasPhone["Password"] = PasswordMetaData;
controllersPc["Password"] = PasswordController;
controllersPhone["Password"] = PasswordController;
rendersPc["Password"] = PasswordRender;
rendersPhone["Password"] = PasswordRender;

metaDatasPc["PhotoUpload"] = PhotoUploadMetaData;
metaDatasPhone["PhotoUpload"] = PhotoUploadMetaData;
controllersPc["PhotoUpload"] = PhotoUploadController;
controllersPhone["PhotoUpload"] = PhotoUploadController;
rendersPc["PhotoUpload"] = PhotoUploadRender;
rendersPhone["PhotoUpload"] = PhotoUploadRender;

metaDatasPc["Radio"] = RadioMetaData;
metaDatasPhone["Radio"] = RadioMetaData;
controllersPc["Radio"] = RadioController;
controllersPhone["Radio"] = RadioController;
rendersPc["Radio"] = RadioRender;
rendersPhone["Radio"] = RadioRender;

metaDatasPc["RichText"] = RichTextMetaDataPc;
controllersPc["RichText"] = RichTextControllerPc;
rendersPc["RichText"] = RichTextRenderPc;

metaDatasPc["Role"] = RoleMetaDataPc;
controllersPc["Role"] = RoleControllerPc;
rendersPc["Role"] = RoleRenderPc;

metaDatasPc["Select"] = SelectMetaDataPc;
controllersPc["Select"] = SelectControllerPc;
rendersPc["Select"] = SelectRenderPc;
metaDatasPhone["Select"] = SelectMetaDataPhone;
controllersPhone["Select"] = SelectControllerPhone;
rendersPhone["Select"] = SelectRenderPhone;

metaDatasPc["Service"] = ServiceMetaData;
metaDatasPhone["Service"] = ServiceMetaData;
controllersPc["Service"] = ServiceController;
controllersPhone["Service"] = ServiceController;
rendersPc["Service"] = ServiceRender;
rendersPhone["Service"] = ServiceRender;

metaDatasPc["Switch"] = SwitchMetaData;
metaDatasPhone["Switch"] = SwitchMetaData;
controllersPc["Switch"] = SwitchController;
controllersPhone["Switch"] = SwitchController;
rendersPc["Switch"] = SwitchRender;
rendersPhone["Switch"] = SwitchRender;

metaDatasPc["Tab"] = TabMetaData;
metaDatasPhone["Tab"] = TabMetaData;
controllersPc["Tab"] = TabController;
controllersPhone["Tab"] = TabController;
rendersPc["Tab"] = TabRender;
rendersPhone["Tab"] = TabRender;

metaDatasPc["TabPage"] = TabPageMetaData;
metaDatasPhone["TabPage"] = TabPageMetaData;
controllersPc["TabPage"] = TabPageController;
controllersPhone["TabPage"] = TabPageController;
rendersPc["TabPage"] = TabPageRender;
rendersPhone["TabPage"] = TabPageRender;

metaDatasPc["Text"] = TextMetaData;
metaDatasPhone["Text"] = TextMetaData;
controllersPc["Text"] = TextController;
controllersPhone["Text"] = TextController;
rendersPc["Text"] = TextRender;
rendersPhone["Text"] = TextRender;

metaDatasPc["TextArea"] = TextAreaMetaData;
metaDatasPhone["TextArea"] = TextAreaMetaData;
controllersPc["TextArea"] = TextAreaController;
controllersPhone["TextArea"] = TextAreaController;
rendersPc["TextArea"] = TextAreaRender;
rendersPhone["TextArea"] = TextAreaRender;

metaDatasPc["Time"] = TimeMetaDataPc;
controllersPc["Time"] = TimeControllerPc;
rendersPc["Time"] = TimeRenderPc;
metaDatasPhone["Time"] = TimeMetaDataPhone;
controllersPhone["Time"] = TimeControllerPhone;
rendersPhone["Time"] = TimeRenderPhone;

metaDatasPc["Tree"] = TreeMetaDataPc;
controllersPc["Tree"] = TreeControllerPc;
rendersPc["Tree"] = TreeRenderPc;

metaDatasPc["User"] = UserMetaDataPc;
controllersPc["User"] = UserControllerPc;
rendersPc["User"] = UserRenderPc;

var tfpLibCache = {
  TaskFrontPage: TaskFrontPage,
  metaDatasPc: metaDatasPc,
  metaDatasPhone: metaDatasPhone,
  controllersPc: controllersPc,
  controllersPhone: controllersPhone,
  rendersPc: rendersPc,
  rendersPhone: rendersPhone,
  matchAllClientCpts: ["Page", "Button", "ChartAnnular", "ChartBar", "ChartBarY", 
    "ChartLine", "ChartLineBar", "ChartPie", "CheckBox", "FileUpload", "FlexBox",
    "Form", "Hidden", "Iframe", "Image", "Label", "Panel", "Password", "PhotoUpload",
    "Radio", "Service", "Switch", "Tab", "TabPage", "Text", "TextArea", "Timer"]
};

export default tfpLibCache;