From 8736a238840e090a34f31a9f3416dd23379385de Mon Sep 17 00:00:00 2001 From: tangjinzhou <415800467@qq.com> Date: Tue, 12 Dec 2017 15:05:45 +0800 Subject: [PATCH] add align --- components/_util/Dom/addEventListener.js | 5 ++ components/_util/StateMixin.js | 4 +- components/_util/cloneElement.js | 7 ++ components/align/Align.vue | 104 +++++++++++++++++++++++ components/align/demo/simple.vue | 81 ++++++++++++++++++ components/align/index.js | 3 + components/align/isWindow.js | 5 ++ 7 files changed, 207 insertions(+), 2 deletions(-) create mode 100644 components/_util/Dom/addEventListener.js create mode 100644 components/_util/cloneElement.js create mode 100644 components/align/Align.vue create mode 100644 components/align/demo/simple.vue create mode 100644 components/align/index.js create mode 100644 components/align/isWindow.js diff --git a/components/_util/Dom/addEventListener.js b/components/_util/Dom/addEventListener.js new file mode 100644 index 000000000..2c4c3eec3 --- /dev/null +++ b/components/_util/Dom/addEventListener.js @@ -0,0 +1,5 @@ +import addDOMEventListener from 'add-dom-event-listener' + +export default function addEventListenerWrap (target, eventType, cb) { + return addDOMEventListener(target, eventType, cb) +} diff --git a/components/_util/StateMixin.js b/components/_util/StateMixin.js index d6aede71a..7d491a886 100644 --- a/components/_util/StateMixin.js +++ b/components/_util/StateMixin.js @@ -1,9 +1,9 @@ export default { methods: { setState (state, callback) { - Object.assign(this.$date, state) + Object.assign(this.$data, state) this.$nextTick(() => { - callback() + callback && callback() }) }, }, diff --git a/components/_util/cloneElement.js b/components/_util/cloneElement.js new file mode 100644 index 000000000..0756cb788 --- /dev/null +++ b/components/_util/cloneElement.js @@ -0,0 +1,7 @@ +export default (node, props) => { + if (node.componentOptions) { + const propsData = node.componentOptions.propsData + Object.assign(propsData, props) + } + return node +} diff --git a/components/align/Align.vue b/components/align/Align.vue new file mode 100644 index 000000000..cd07b52c2 --- /dev/null +++ b/components/align/Align.vue @@ -0,0 +1,104 @@ + diff --git a/components/align/demo/simple.vue b/components/align/demo/simple.vue new file mode 100644 index 000000000..438f198c2 --- /dev/null +++ b/components/align/demo/simple.vue @@ -0,0 +1,81 @@ + diff --git a/components/align/index.js b/components/align/index.js new file mode 100644 index 000000000..b1cce23fe --- /dev/null +++ b/components/align/index.js @@ -0,0 +1,3 @@ +// export this package's api +import Align from './Align' +export default Align diff --git a/components/align/isWindow.js b/components/align/isWindow.js new file mode 100644 index 000000000..a82abffdb --- /dev/null +++ b/components/align/isWindow.js @@ -0,0 +1,5 @@ +export default function isWindow (obj) { + /* eslint no-eq-null: 0 */ + /* eslint eqeqeq: 0 */ + return obj != null && obj == obj.window +}