import PageTable from "./PageTable";
import Selector from "./Selector.vue";
import Panel from "./Panel.vue";
import SysCode from "./SysCode";
import ExportCtrl from "./ExportCtrl";
import TabView from "./TabView.js";
import TableSort from "./TableSort";
import ButtonAuth from "./ButtonAuth";
import CurdPanel from "./CurdPanel";
import mixin from "./mixin";
import AreaPicker from "./AreaPicker.vue";
import SysCodePicker from "./SysCodePicker.vue";

export default {
  install(Vue, option) {
    Vue.component("PageTable", PageTable);
    Vue.component("SysCode", SysCode.component);
    Vue.component("Selector", Selector);
    Vue.component("Panel", Panel);
    Vue.component("CurdPanel", CurdPanel);
    Vue.component("ExportCtrl", ExportCtrl);
    Vue.component("AreaPicker", AreaPicker);
    Vue.component("SysCodePicker", SysCodePicker);

    Vue.directive("sysCode", SysCode.directive);
    Vue.directive("ButtonAuth", ButtonAuth);
    Vue.directive("TableSort", TableSort);
    Vue.mixin(mixin);
    Vue.use(TabView);
  }
};
