List.js 655 Bytes
import template from "./List.html";

class List {
    props = {
        header: String,
        footer: String,
        dSource: Array,
        renderItem: Function,
        context: Object
    };

    template = template;

    useModules = ["$compile"];

    constructor() {
        let container = $element[0].querySelector(".ant-list-items");
        if (this.props.dSource) {
            let items = this.props.dSource.map(function (item) {
                return this.props.renderItem({ item });
            })
            container.innerHTML = items.join("").replace(/\$scope/g, "context");
            $compile(container)($scope);
        }
    }
}