Browse Source

Move DomainViews to TS

ts-components
Artur Arseniev 3 years ago
parent
commit
fb03589fa3
  1. 29
      src/domain_abstract/view/DomainViews.ts

29
src/domain_abstract/view/DomainViews.js → src/domain_abstract/view/DomainViews.ts

@ -1,7 +1,12 @@
import { includes } from 'underscore';
import Backbone from 'backbone';
import { ObjectAny, View } from '../../common';
export default class DomainViews extends View {
config?: any;
items: any[];
ns?: string;
itemView?: any;
export default class DomainViews extends Backbone.View {
// Defines the View per type
itemsView = '';
@ -9,7 +14,7 @@ export default class DomainViews extends Backbone.View {
reuseView = false;
constructor(opts = {}, config, autoAdd = false) {
constructor(opts: any = {}, config?: any, autoAdd = false) {
super(opts);
this.config = config || opts.config || {};
autoAdd && this.listenTo(this.collection, 'add', this.addTo);
@ -21,11 +26,11 @@ export default class DomainViews extends Backbone.View {
* @param {Model} model
* @private
* */
addTo(model) {
addTo(model: any) {
this.add(model);
}
itemViewNotFound(type) {
itemViewNotFound(type: string) {
const { config, ns } = this;
const { em } = config;
const warn = `${ns ? `[${ns}]: ` : ''}'${type}' type not found`;
@ -38,8 +43,9 @@ export default class DomainViews extends Backbone.View {
* @param {Object} fragment Fragment collection
* @private
* */
add(model, fragment) {
const { config, reuseView, items, itemsView = {} } = this;
add(model: any, fragment?: DocumentFragment) {
const { config, reuseView, items } = this;
const itemsView = (this.itemsView || {}) as ObjectAny;
const inputTypes = [
'button',
'checkbox',
@ -95,6 +101,7 @@ export default class DomainViews extends Backbone.View {
if (this.collection.length)
this.collection.each(function (model) {
// @ts-ignore
this.add(model, frag);
}, this);
@ -104,16 +111,16 @@ export default class DomainViews extends Backbone.View {
}
onRender() {}
onRemoveBefore() {}
onRemove() {}
onRemoveBefore(items?: any, opts?: any) {}
onRemove(items?: any, opts?: any) {}
remove(opts = {}) {
const { items } = this;
this.onRemoveBefore(items, opts);
this.clearItems();
Backbone.View.prototype.remove.apply(this, arguments);
super.remove();
this.onRemove(items, opts);
return this;
}
clearItems() {
Loading…
Cancel
Save