Blame view

src/Common/Common.js 2.56 KB
3a3ecabe   Imshann   init
1
2
  import baseStyle from "antd/lib/style/index.css";
  
6fcf6aec   Imshann   feat(popover): 优化组件
3
4
5
6
  angular.module("esNgAntd").service("esNgAntd", [
      "$compile",
      function ($compile) {
          this.styleSheets = null;
3a3ecabe   Imshann   init
7
  
6fcf6aec   Imshann   feat(popover): 优化组件
8
9
10
11
12
13
14
          this.createStyle = function (key, style) {
              if (!document.querySelector("#antd")) {
                  let styleElement = document.createElement("style");
                  styleElement.setAttribute("id", "antd");
                  styleElement.setAttribute("type", "text/css");
                  styleElement.innerHTML = baseStyle.toString();
                  document.head.appendChild(styleElement);
3a3ecabe   Imshann   init
15
              }
6fcf6aec   Imshann   feat(popover): 优化组件
16
17
18
19
20
21
22
23
24
25
26
              if (!document.querySelector("#" + key)) {
                  let styleElement = document.createElement("style");
                  styleElement.setAttribute("id", key);
                  styleElement.setAttribute("type", "text/css");
                  styleElement.innerHTML = style.toString();
                  document.head.appendChild(styleElement);
                  if (this.styleSheets) {
                      this.disableStyle(key);
                  }
              }
          };
3a3ecabe   Imshann   init
27
  
6fcf6aec   Imshann   feat(popover): 优化组件
28
29
30
31
32
33
34
35
36
37
38
          this.disableStyle = function (name) {
              for (let i = 0; i < this.styleSheets.cssRules.length; i++) {
                  let rule = this.styleSheets.cssRules[i];
                  if (
                      rule.selectorText &&
                      rule.selectorText.indexOf(name) !== -1
                  ) {
                      rule.selectorText = rule.selectorText.replace(
                          /\.ant\-/g,
                          ".disabled-ant-"
                      );
6fcf6aec   Imshann   feat(popover): 优化组件
39
                  }
3a3ecabe   Imshann   init
40
              }
6fcf6aec   Imshann   feat(popover): 优化组件
41
          };
3a3ecabe   Imshann   init
42
  
6fcf6aec   Imshann   feat(popover): 优化组件
43
44
45
46
47
48
          this.conflict = function (filename) {
              for (let i = 0; i < document.styleSheets.length; i++) {
                  const element = document.styleSheets[i];
                  if (element.href && element.href.indexOf(filename) !== -1) {
                      this.styleSheets = element;
                  }
3a3ecabe   Imshann   init
49
              }
6fcf6aec   Imshann   feat(popover): 优化组件
50
51
52
53
54
55
56
57
          };
  
          this.createLayer = function (content, scope) {
              let div = document.createElement("div");
              div.innerHTML = content;
              document.body.appendChild(div);
              $compile(div)(scope);
          };
1b6f912f   Imshann   优化
58
  
6fcf6aec   Imshann   feat(popover): 优化组件
59
60
61
62
63
64
65
66
67
68
69
70
71
          this.getOffset = function (ele) {
              if (!ele || ele.nodeType != 1) {
                  return;
              }
              let rect = ele.getBoundingClientRect();
              let doc = ele.ownerDocument.documentElement;
              return {
                  top: rect.top + window.pageYOffset - doc.clientTop,
                  left: rect.left + window.pageXOffset - doc.clientLeft,
              };
          };
      },
  ]);