import template from "./List.html"; angular.module("esNgAntd").directive("esList", function ($compile) { return { controllerAs: "esList", restrict: "E", transclude: true, replace: true, scope: { header: "@", footer: "@", dSource: "=", renderItem: "&", context: "=", }, template: template, link: function ($scope, $element, $attrs, $controllers, $transclude) { let container = $element[0].querySelector(".ant-list-items"); if ($scope.dSource) { let items = $scope.dSource.map(function (item) { return $scope.renderItem({ item, }); }); container.innerHTML = items .join("") .replace(/\$scope/g, "context"); $compile(container)($scope); } }, }; });