|
|
@ -1,4 +1,5 @@ |
|
|
import { CategoryProperties, ItemsByCategory } from '../abstract/ModuleCategory'; |
|
|
import Category, { CategoryProperties, ItemsByCategory } from '../abstract/ModuleCategory'; |
|
|
|
|
|
import { ObjectAny } from '../common'; |
|
|
import Component from '../dom_components/model/Component'; |
|
|
import Component from '../dom_components/model/Component'; |
|
|
import Editor from '../editor'; |
|
|
import Editor from '../editor'; |
|
|
import EditorModel from '../editor/model/Editor'; |
|
|
import EditorModel from '../editor/model/Editor'; |
|
|
@ -38,6 +39,34 @@ export interface TraitCustomData { |
|
|
container?: HTMLElement; |
|
|
container?: HTMLElement; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
export interface TraitSelectEventData { |
|
|
|
|
|
component?: Component; |
|
|
|
|
|
traits: Trait[]; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
export interface TraitValueEventData { |
|
|
|
|
|
trait: Trait; |
|
|
|
|
|
component: Component; |
|
|
|
|
|
value: any; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
export interface TraitCategoryUpdateEventData { |
|
|
|
|
|
category: Category; |
|
|
|
|
|
changes: Partial<CategoryProperties>; |
|
|
|
|
|
options: ObjectAny; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
export interface TraitAllEventData { |
|
|
|
|
|
event: string; |
|
|
|
|
|
trait?: Trait; |
|
|
|
|
|
component?: Component; |
|
|
|
|
|
value?: any; |
|
|
|
|
|
category?: Category; |
|
|
|
|
|
changes?: Partial<CategoryProperties>; |
|
|
|
|
|
options?: ObjectAny; |
|
|
|
|
|
container?: HTMLElement; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
export interface TraitProperties { |
|
|
export interface TraitProperties { |
|
|
/** |
|
|
/** |
|
|
* Trait type, defines how the trait should be rendered. |
|
|
* Trait type, defines how the trait should be rendered. |
|
|
@ -177,8 +206,6 @@ export interface TraitOption { |
|
|
[key: string]: unknown; |
|
|
[key: string]: unknown; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
export type TraitsEvent = `${TraitsEvents}`; |
|
|
|
|
|
|
|
|
|
|
|
/**{START_EVENTS}*/ |
|
|
/**{START_EVENTS}*/ |
|
|
export enum TraitsEvents { |
|
|
export enum TraitsEvents { |
|
|
/** |
|
|
/** |
|
|
@ -194,6 +221,7 @@ export enum TraitsEvents { |
|
|
* editor.on('trait:value', ({ trait, component, value }) => { ... }); |
|
|
* editor.on('trait:value', ({ trait, component, value }) => { ... }); |
|
|
*/ |
|
|
*/ |
|
|
value = 'trait:value', |
|
|
value = 'trait:value', |
|
|
|
|
|
update = 'trait:update', |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* @event `trait:category:update` Trait category updated. |
|
|
* @event `trait:category:update` Trait category updated. |
|
|
@ -218,5 +246,16 @@ export enum TraitsEvents { |
|
|
} |
|
|
} |
|
|
/**{END_EVENTS}*/ |
|
|
/**{END_EVENTS}*/ |
|
|
|
|
|
|
|
|
|
|
|
export type TraitEvent = `${TraitsEvents}`; |
|
|
|
|
|
|
|
|
|
|
|
export interface TraitEventCallback { |
|
|
|
|
|
[TraitsEvents.select]: [TraitSelectEventData]; |
|
|
|
|
|
[TraitsEvents.value]: [TraitValueEventData]; |
|
|
|
|
|
[TraitsEvents.update]: [TraitValueEventData]; |
|
|
|
|
|
[TraitsEvents.categoryUpdate]: [TraitCategoryUpdateEventData]; |
|
|
|
|
|
[TraitsEvents.custom]: [TraitCustomData]; |
|
|
|
|
|
[TraitsEvents.all]: [TraitAllEventData]; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// need this to avoid the TS documentation generator to break
|
|
|
// need this to avoid the TS documentation generator to break
|
|
|
export default TraitsEvents; |
|
|
export default TraitsEvents; |
|
|
|