Commit d8d2d2b0980c756ecbeb6f56b517854d2a9c23e2
1 parent
fb741cbd
优化empty组件
Showing
6 changed files
with
43 additions
and
43 deletions
Show diff stats
build/Empty/Empty.js
| 1 | 1 | import template from "./Empty.html"; |
| 2 | 2 | import style from "antd/lib/empty/style/index.css"; |
| 3 | -angular.module("esNgAntd").directive("antdEmpty", function (esNgAntd) { | |
| 4 | - return { | |
| 5 | - controllerAs: "antdEmpty", | |
| 6 | - restrict: "E", | |
| 7 | - transclude: true, | |
| 8 | - replace: true, | |
| 9 | - scope: { | |
| 10 | - image: "@", | |
| 11 | - }, | |
| 12 | - template: template, | |
| 13 | - controller: function ($scope, $element, $attrs) { | |
| 14 | - this.getContext = function () { | |
| 15 | - return $scope; | |
| 16 | - }; | |
| 17 | - | |
| 18 | - $scope.state = { | |
| 19 | - image: $scope.image || "presented_image_default", | |
| 20 | - }; | |
| 21 | - }, | |
| 22 | - link: function ($scope, $element, $attrs, $controllers, $transclude) { | |
| 23 | - esNgAntd.createStyle("ant-empty", style); | |
| 24 | - }, | |
| 25 | - }; | |
| 26 | -}); | |
| 3 | +angular.module("esNgAntd").directive("antdEmpty", ["esNgAntd", function (esNgAntd) { | |
| 4 | + return { | |
| 5 | + template: template, | |
| 6 | + restrict: "E", | |
| 7 | + replace: true, | |
| 8 | + transclude: true, | |
| 9 | + scope: { | |
| 10 | + image: "@" | |
| 11 | + }, | |
| 12 | + controller: function ($scope, $element) { | |
| 13 | + $scope.state = { | |
| 14 | + image: $scope.image || "presented_image_default" | |
| 15 | + }; | |
| 16 | + }, | |
| 17 | + link: function ($scope, $element) { | |
| 18 | + esNgAntd.clearAttribute($element[0], ["ng-class", "image"]); | |
| 19 | + esNgAntd.createStyle("ant-empty", style); | |
| 20 | + } | |
| 21 | + }; | |
| 22 | +}]); | |
| 27 | 23 | |
| 28 | 24 | export default { |
| 29 | - PRESENTED_IMAGE_DEFAULT: "presented_image_default", | |
| 30 | - PRESENTED_IMAGE_SIMPLE: "presented_image_simple", | |
| 31 | -}; | |
| 25 | + PRESENTED_IMAGE_DEFAULT: "presented_image_default", | |
| 26 | + PRESENTED_IMAGE_SIMPLE: "presented_image_simple" | |
| 27 | +}; | |
| 32 | 28 | \ No newline at end of file | ... | ... |
dist/ng-antd.js
| ... | ... | @@ -126,7 +126,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Div |
| 126 | 126 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 127 | 127 | |
| 128 | 128 | "use strict"; |
| 129 | -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Empty_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Empty.html */ \"./build/Empty/Empty.html\");\n/* harmony import */ var antd_lib_empty_style_index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/lib/empty/style/index.css */ \"./node_modules/antd/lib/empty/style/index.css\");\n\n\nangular.module(\"esNgAntd\").directive(\"antdEmpty\", function (esNgAntd) {\n return {\n controllerAs: \"antdEmpty\",\n restrict: \"E\",\n transclude: true,\n replace: true,\n scope: {\n image: \"@\",\n },\n template: _Empty_html__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n controller: function ($scope, $element, $attrs) {\n this.getContext = function () {\n return $scope;\n };\n\n $scope.state = {\n image: $scope.image || \"presented_image_default\",\n };\n },\n link: function ($scope, $element, $attrs, $controllers, $transclude) {\n esNgAntd.createStyle(\"ant-empty\", antd_lib_empty_style_index_css__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n },\n };\n});\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n PRESENTED_IMAGE_DEFAULT: \"presented_image_default\",\n PRESENTED_IMAGE_SIMPLE: \"presented_image_simple\",\n});\n\n\n//# sourceURL=webpack://ng-antd/./build/Empty/Empty.js?"); | |
| 129 | +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Empty_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Empty.html */ \"./build/Empty/Empty.html\");\n/* harmony import */ var antd_lib_empty_style_index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/lib/empty/style/index.css */ \"./node_modules/antd/lib/empty/style/index.css\");\n\n\nangular.module(\"esNgAntd\").directive(\"antdEmpty\", [\"esNgAntd\", function (esNgAntd) {\n return {\n template: _Empty_html__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n restrict: \"E\",\n replace: true,\n transclude: true,\n scope: {\n image: \"@\"\n },\n controller: function ($scope, $element) {\n $scope.state = {\n image: $scope.image || \"presented_image_default\"\n };\n },\n link: function ($scope, $element) {\n esNgAntd.clearAttribute($element[0], [\"ng-class\", \"image\"]);\n esNgAntd.createStyle(\"ant-empty\", antd_lib_empty_style_index_css__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n }\n };\n}]);\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n PRESENTED_IMAGE_DEFAULT: \"presented_image_default\",\n PRESENTED_IMAGE_SIMPLE: \"presented_image_simple\"\n});\n\n//# sourceURL=webpack://ng-antd/./build/Empty/Empty.js?"); | |
| 130 | 130 | |
| 131 | 131 | /***/ }), |
| 132 | 132 | ... | ... |
example/empty.html
| ... | ... | @@ -15,9 +15,9 @@ |
| 15 | 15 | <div ng-app="esNgAntd" ng-controller="mainCtrl"> |
| 16 | 16 | <div class="container" style="padding: 50px"> |
| 17 | 17 | <div> |
| 18 | - <es-empty></es-empty> | |
| 18 | + <antd-empty></antd-empty> | |
| 19 | 19 | |
| 20 | - <es-empty image="presented_image_simple"></es-empty> | |
| 20 | + <antd-empty image="presented_image_simple"></antd-empty> | |
| 21 | 21 | </div> |
| 22 | 22 | <div> |
| 23 | 23 | </div> | ... | ... |
package.json
src/Empty/Empty.js
| ... | ... | @@ -2,23 +2,27 @@ import template from "./Empty.html"; |
| 2 | 2 | import style from "antd/lib/empty/style/index.css"; |
| 3 | 3 | |
| 4 | 4 | class Empty { |
| 5 | - props = { | |
| 6 | - image: String, | |
| 7 | - }; | |
| 5 | + | |
| 6 | + useModules = ["esNgAntd"]; | |
| 8 | 7 | |
| 9 | 8 | state = { |
| 10 | 9 | image: this.props.image || "presented_image_default", |
| 11 | 10 | }; |
| 12 | 11 | |
| 13 | - useModules = ["esNgAntd"]; | |
| 14 | - | |
| 15 | - template = template; | |
| 16 | - | |
| 17 | - constructor() { | |
| 12 | + constructor($element) { | |
| 13 | + esNgAntd.clearAttribute($element[0], ["ng-class", "image"]) | |
| 18 | 14 | esNgAntd.createStyle("ant-empty", style); |
| 19 | 15 | } |
| 16 | + | |
| 17 | + render() { | |
| 18 | + return template; | |
| 19 | + } | |
| 20 | 20 | } |
| 21 | 21 | |
| 22 | +Empty.propTypes = { | |
| 23 | + image: PropTypes.string, | |
| 24 | +}; | |
| 25 | + | |
| 22 | 26 | export default { |
| 23 | 27 | PRESENTED_IMAGE_DEFAULT: "presented_image_default", |
| 24 | 28 | PRESENTED_IMAGE_SIMPLE: "presented_image_simple", | ... | ... |
yarn.lock
| ... | ... | @@ -1320,10 +1320,10 @@ babel-plugin-polyfill-regenerator@^0.2.3: |
| 1320 | 1320 | dependencies: |
| 1321 | 1321 | "@babel/helper-define-polyfill-provider" "^0.2.4" |
| 1322 | 1322 | |
| 1323 | -beanboom@^0.9.9: | |
| 1324 | - version "0.9.9" | |
| 1325 | - resolved "https://registry.npmmirror.com/beanboom/-/beanboom-0.9.9.tgz#a055a5d404cba9e50ada5862bec0bc7f3ae3d427" | |
| 1326 | - integrity sha512-hEkZ2IcEXT50T20OeZiaGUjQwlGTY3vMAqVOfKd/HqRzZIXD05Jv6xeimoW43HnFs5QDOveK5n9kahimURvf3w== | |
| 1323 | +beanboom@^0.9.11: | |
| 1324 | + version "0.9.11" | |
| 1325 | + resolved "https://registry.npmmirror.com/beanboom/-/beanboom-0.9.11.tgz#c7fffdde52738464b1771e697e4cb70359667469" | |
| 1326 | + integrity sha512-wZFVaCz3p2WscVemcPuh316j8yWTgf78mvNeSrXNPNou1Gj3BPSutj0Z9YQ9XZSal72MbXXmF2opNb7GjZ2kxw== | |
| 1327 | 1327 | dependencies: |
| 1328 | 1328 | "@babel/core" "^7.12.10" |
| 1329 | 1329 | "@babel/plugin-proposal-class-properties" "^7.13.0" | ... | ... |