diff --git a/packages/fineui/src/core/decorator.js b/packages/fineui/src/core/decorator.js index 31f5920c2..589a67367 100644 --- a/packages/fineui/src/core/decorator.js +++ b/packages/fineui/src/core/decorator.js @@ -1,33 +1,17 @@ -// export * from "../../typescript/core/decorator/decorator.ts"; +import * as inject from "./5.inject"; -import { shortcut as biShortcut, provider as biProvider, model as biModel, Models } from "./5.inject"; - -/** - * 注册widget - */ -export function shortcut() { - return function decorator(Target) { - biShortcut(Target.xtype, Target); - }; -} - -/** - * 注册provider - */ -export function provider() { - return function decorator(Target) { - biProvider(Target.xtype, Target); +const transFunc2Decorator = targetFunc => { + return function () { + return function decorator(Target) { + targetFunc(Target.xtype, Target); + }; }; -} +}; -/** - * 注册model - */ -export function model() { - return function decorator(Target) { - biModel(Target.xtype, Target); - }; -} +export const shortcut = transFunc2Decorator(inject.shortcut); +export const service = transFunc2Decorator(inject.service); +export const provider = transFunc2Decorator(inject.provider); +export const model = transFunc2Decorator(inject.model); /** * 类注册_store属性 @@ -40,7 +24,7 @@ export function store(Model, opts = {}) { _store() { const props = opts.props ? opts.props.apply(this) : undefined; - return Models.getModel(Model.xtype, props); + return inject.Models.getModel(Model.xtype, props); } }; }; diff --git a/packages/fineui/src/core/index.js b/packages/fineui/src/core/index.js index 0bb1f5946..52e723217 100644 --- a/packages/fineui/src/core/index.js +++ b/packages/fineui/src/core/index.js @@ -33,7 +33,7 @@ export * from './wrapper'; export * from './platform/web'; export * from './utils'; -export { shortcut, provider, store, model, mixin, mixins } from './decorator'; +export { shortcut, provider, store, model, mixin, mixins, service } from './decorator';