Blame view

build/Textarea/Textarea.js 1.17 KB
3a3ecabe   Imshann   init
1
2
  import template from "./Textarea.html";
  import style from "antd/lib/input/style/index.css";
91af8307   Imshann   优化Textarea组件
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  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"
        };
3a3ecabe   Imshann   init
22
  
91af8307   Imshann   优化Textarea组件
23
24
25
26
        $scope.handleKeyup = function (event) {
          if (!$scope.event) {
            $scope.event = event;
          }
3a3ecabe   Imshann   init
27
  
91af8307   Imshann   优化Textarea组件
28
29
30
          if ($scope.state.maxLength === "off") {
            return;
          }
3a3ecabe   Imshann   init
31
  
91af8307   Imshann   优化Textarea组件
32
33
34
          let target = event.target;
          $scope.state.count = target.value.length;
        };
3a3ecabe   Imshann   init
35
  
91af8307   Imshann   优化Textarea组件
36
37
38
39
40
        $scope.handleClick = function (event) {
          if (!$scope.event) {
            $scope.event = event;
          }
        };
3a3ecabe   Imshann   init
41
  
91af8307   Imshann   优化Textarea组件
42
43
44
45
46
47
48
49
50
51
52
        $scope.handleChange = function () {
          $scope.onChange({
            event: $scope.event
          });
        };
      },
      link: function ($scope) {
        esNgAntd.createStyle("ant-input", style);
      }
    };
  }]);