Browse Source

Move PropertyStackView to TS

pull/4849/head
Artur Arseniev 4 years ago
parent
commit
a6442e2fc3
  1. 18
      src/style_manager/view/PropertyStackView.ts

18
src/style_manager/view/PropertyStackView.js → src/style_manager/view/PropertyStackView.ts

@ -1,8 +1,13 @@
import PropertyCompositeView from './PropertyCompositeView'; import PropertyCompositeView from './PropertyCompositeView';
import PropertiesView from './PropertiesView'; import PropertiesView from './PropertiesView';
import LayersView from './LayersView'; import LayersView from './LayersView';
import PropertyStack from '../model/PropertyStack';
export default class PropertyStackView extends PropertyCompositeView { export default class PropertyStackView extends PropertyCompositeView {
// @ts-ignore
model: PropertyStack;
layersView?: LayersView;
events() { events() {
return { return {
...PropertyCompositeView.prototype.events(), ...PropertyCompositeView.prototype.events(),
@ -43,17 +48,18 @@ export default class PropertyStackView extends PropertyCompositeView {
remove() { remove() {
this.layersView?.remove(); this.layersView?.remove();
PropertyCompositeView.prototype.remove.apply(this, arguments); PropertyCompositeView.prototype.remove.apply(this, arguments as any);
return this;
} }
clearCached() { clearCached() {
PropertyCompositeView.prototype.clearCached.apply(this, arguments); PropertyCompositeView.prototype.clearCached.apply(this, arguments as any);
this.layersView = null; delete this.layersView;
} }
onRender() { onRender() {
const { model, el, config } = this; const { model, el, config } = this;
const props = model.get('properties'); const props = model.get('properties')!;
if (props.length && !this.props) { if (props.length && !this.props) {
const propsView = new PropertiesView({ const propsView = new PropertiesView({
@ -62,6 +68,7 @@ export default class PropertyStackView extends PropertyCompositeView {
highlightComputed: false, highlightComputed: false,
highlightChanged: false, highlightChanged: false,
}, },
// @ts-ignore
collection: props, collection: props,
parent: this, parent: this,
}); });
@ -69,12 +76,13 @@ export default class PropertyStackView extends PropertyCompositeView {
const layersView = new LayersView({ const layersView = new LayersView({
collection: model.__getLayers(), collection: model.__getLayers(),
// @ts-ignore
config, config,
propertyView: this, propertyView: this,
}); });
layersView.render(); layersView.render();
const fieldEl = el.querySelector('[data-layers-wrapper]'); const fieldEl = el.querySelector('[data-layers-wrapper]')!;
fieldEl.appendChild(layersView.el); fieldEl.appendChild(layersView.el);
this.props = propsView; this.props = propsView;
this.layersView = layersView; this.layersView = layersView;
Loading…
Cancel
Save