import template from "./Textarea.html"; import style from "antd/lib/input/style/index.css"; angular.module("esNgAntd").directive("antdTextarea", ["esNgAntd", function (esNgAntd) { return { template: template, restrict: "E", replace: true, transclude: true, scope: { value: "@", placeholder: "@", showCount: "=", maxLength: "=", onChange: "&" }, controller: function ($scope) { $scope.state = { value: $scope.value, count: 0, maxLength: $scope.maxLength || "off" }; $scope.handleKeyup = function (event) { if (!$scope.event) { $scope.event = event; } if ($scope.state.maxLength === "off") { return; } let target = event.target; $scope.state.count = target.value.length; }; $scope.handleClick = function (event) { if (!$scope.event) { $scope.event = event; } }; $scope.handleChange = function () { $scope.onChange({ event: $scope.event }); }; }, link: function ($scope) { esNgAntd.createStyle("ant-input", style); } }; }]);