Commit be0769d475d4dee22b91116233eefea808b818f6

Authored by Rijn
1 parent 0b1b650d

added move up transition for Notice

#30
src/components/notice/index.js
... ... @@ -68,7 +68,7 @@ function notice (type, options) {
68 68 key: noticeKey.toString(),
69 69 duration: duration,
70 70 style: {},
71   - transitionName: 'move-right',
  71 + transitionName: 'move-notice',
72 72 content: content,
73 73 onClose: onClose,
74 74 closable: true
... ...
src/styles/animation/move.less
... ... @@ -117,3 +117,45 @@
117 117 opacity: 0;
118 118 }
119 119 }
  120 +
  121 +// specific transition for Notice
  122 +
  123 +.move-motion(move-notice, ivuMoveNotice);
  124 +@import '../components/notice.less';
  125 +
  126 +@keyframes ivuMoveNoticeIn {
  127 + 0% {
  128 + opacity: 0;
  129 + transform-origin: 0 0;
  130 + transform: translateX(100%);
  131 + }
  132 + 100% {
  133 + opacity: 1;
  134 + transform-origin: 0 0;
  135 + transform: translateX(0%);
  136 + }
  137 +}
  138 +
  139 +@keyframes ivuMoveNoticeOut {
  140 + 0% {
  141 + transform-origin: 0 0;
  142 + transform: translateX(0%);
  143 + opacity: 1;
  144 + }
  145 + 70% {
  146 + transform-origin: 0 0;
  147 + transform: translateX(100%);
  148 + height: auto;
  149 + padding: @notice-padding;
  150 + margin-bottom: @notice-margin-bottom;
  151 + opacity: 0;
  152 + }
  153 + 100% {
  154 + transform-origin: 0 0;
  155 + transform: translateX(100%);
  156 + height: 0;
  157 + padding: 0;
  158 + margin-bottom: 0;
  159 + opacity: 0;
  160 + }
  161 +}
... ...
test/app.vue
... ... @@ -51,6 +51,7 @@ li + li {
51 51 <li><a v-link="'/rate'">Rate</a></li>
52 52 <li><a v-link="'/upload'">Upload</a></li>
53 53 <li><a v-link="'/tree'">Tree</a></li>
  54 + <li><a v-link="'/notice'">Notice</a></li>
54 55 </ul>
55 56 </nav>
56 57 <router-view></router-view>
... ...
test/main.js
... ... @@ -155,6 +155,11 @@ router.map({
155 155 require(['./routers/tree.vue'], resolve);
156 156 }
157 157 },
  158 + '/notice': {
  159 + component: function (resolve) {
  160 + require(['./routers/notice.vue'], resolve);
  161 + }
  162 + },
158 163 });
159 164  
160 165 router.beforeEach(function () {
... ...
test/routers/notice.vue 0 → 100644
  1 +<template>
  2 + <i-button @click="pop">Pop</i-button>
  3 +</template>
  4 +<script>
  5 + export default {
  6 + methods: {
  7 + pop () {
  8 + for (let i = 0; i < 6; i++) {
  9 + setTimeout(() => {
  10 + this.$Notice.open({
  11 + title: 'test',
  12 + duration: 1.5 + i
  13 + });
  14 + }, i * 500);
  15 + }
  16 + }
  17 + }
  18 + }
  19 +</script>
... ...