diff --git a/src/dom_components/index.ts b/src/dom_components/index.ts index 1c9988363..10ad17217 100644 --- a/src/dom_components/index.ts +++ b/src/dom_components/index.ts @@ -80,7 +80,7 @@ import ComponentTextNode from './model/ComponentTextNode'; import ComponentVideo from './model/ComponentVideo'; import ComponentWrapper from './model/ComponentWrapper'; import Components from './model/Components'; -import { ComponentAdd, ComponentDefinition, ComponentDefinitionDefined } from './model/types'; +import { ComponentAdd, ComponentDefinition, ComponentDefinitionDefined, ComponentStackItem } from './model/types'; import ComponentCommentView from './view/ComponentCommentView'; import ComponentFrameView from './view/ComponentFrameView'; import ComponentImageView from './view/ComponentImageView'; @@ -164,7 +164,7 @@ export interface CanMoveResult { } export default class ComponentManager extends ItemManagerModule { - componentTypes = [ + componentTypes: ComponentStackItem[] = [ { id: 'cell', model: ComponentTableCell, diff --git a/src/dom_components/model/ComponentMap.ts b/src/dom_components/model/ComponentMap.ts index 32cb908c4..af631566e 100644 --- a/src/dom_components/model/ComponentMap.ts +++ b/src/dom_components/model/ComponentMap.ts @@ -25,13 +25,13 @@ export default class ComponentMap extends ComponentImage { label: 'Address', name: 'address', placeholder: 'eg. London, UK', - changeProp: 1, + changeProp: true, }, { type: 'select', label: 'Map type', name: 'mapType', - changeProp: 1, + changeProp: true, options: [ { value: 'q', name: 'Roadmap' }, { value: 'w', name: 'Satellite' }, @@ -41,9 +41,9 @@ export default class ComponentMap extends ComponentImage { label: 'Zoom', name: 'zoom', type: 'range', - min: '1', - max: '20', - changeProp: 1, + min: 1, + max: 20, + changeProp: true, }, ], }; diff --git a/src/dom_components/model/types.ts b/src/dom_components/model/types.ts index 26a9822c9..67881100a 100644 --- a/src/dom_components/model/types.ts +++ b/src/dom_components/model/types.ts @@ -6,6 +6,7 @@ import { TraitProperties } from '../../trait_manager/model/Trait'; import Traits from '../../trait_manager/model/Traits'; import { ResizerOptions } from '../../utils/Resizer'; import { DomComponentsConfig } from '../config/config'; +import ComponentView from '../view/ComponentView'; import Component from './Component'; import Components from './Components'; import { ToolbarButtonProps } from './ToolbarButton'; @@ -14,6 +15,12 @@ export type DragMode = 'translate' | 'absolute' | ''; export type DraggableDroppableFn = (source: Component, target: Component, index?: number) => boolean | void; +export interface ComponentStackItem { + id: string; + model: typeof Component; + view: typeof ComponentView; +} + /** * Delegate commands to other components. */