Sfoglia il codice sorgente

remove old key filter

Evan You 10 anni fa
parent
commit
b7f96637b7

+ 0 - 7
src/deprecations.js

@@ -110,13 +110,6 @@ if (process.env.NODE_ENV !== 'production') {
         '<partial name="' + id + '">: mustache interpolations inside attributes ' +
         'will be deprecated in 1.0.0. Use bind-name="expression" instead.'
       )
-    },
-
-    KEY_FILTER: function () {
-      warn(
-        'The "key" filter will be deprecated in 1.0.0. Use the new ' +
-        'on-keyup:key="handler" syntax instead.'
-      )
     }
 
   }

+ 33 - 13
src/directives/on.js

@@ -1,5 +1,37 @@
 var _ = require('../util')
-var keyFilter = require('../filters').key
+
+var keyCodes = {
+  esc: 27,
+  tab: 9,
+  enter: 13,
+  space: 32,
+  'delete': 46,
+  up: 38,
+  left: 37,
+  right: 39,
+  down: 40
+}
+
+/**
+ * Wrap a handler function so that it only gets triggered on
+ * specified keypress events.
+ *
+ * @param {Function} handler
+ * @param {String|Number} key
+ * @return {Function}
+ */
+
+function keyFilter (handler, key) {
+  var code = keyCodes[key]
+  if (!code) {
+    code = parseInt(key, 10)
+  }
+  return function (e) {
+    if (e.keyCode === code) {
+      return handler.call(this, e)
+    }
+  }
+}
 
 module.exports = {
 
@@ -15,18 +47,6 @@ module.exports = {
       this.key = rawArg.slice(keyIndex + 1)
     }
 
-    // warn old usage
-    if (process.env.NODE_ENV !== 'production') {
-      if (this.filters) {
-        var hasKeyFilter = this.filters.some(function (f) {
-          return f.name === 'key'
-        })
-        if (hasKeyFilter) {
-          _.deprecation.KEY_FILTER()
-        }
-      }
-    }
-
     // deal with iframes
     if (
       this.el.tagName === 'IFRAME' &&

+ 4 - 32
src/filters/index.js

@@ -96,41 +96,13 @@ exports.pluralize = function (value) {
 }
 
 /**
- * A special filter that takes a handler function,
- * wraps it so it only gets triggered on specific
- * keypresses. v-on only.
+ * Debounce a handler function.
  *
- * @param {String} key
+ * @param {Function} handler
+ * @param {Number} delay = 300
+ * @return {Function}
  */
 
-var keyCodes = {
-  esc: 27,
-  tab: 9,
-  enter: 13,
-  space: 32,
-  'delete': 46,
-  up: 38,
-  left: 37,
-  right: 39,
-  down: 40
-}
-
-exports.key = function (handler, key) {
-  if (!handler) return
-  var code = keyCodes[key]
-  if (!code) {
-    code = parseInt(key, 10)
-  }
-  return function (e) {
-    if (e.keyCode === code) {
-      return handler.call(this, e)
-    }
-  }
-}
-
-// expose keycode hash
-exports.key.keyCodes = keyCodes
-
 exports.debounce = function (handler, delay) {
   if (!handler) return
   if (!delay) {

+ 3 - 3
test/unit/specs/directives/on_spec.js

@@ -53,7 +53,7 @@ if (_.inBrowser) {
     it('with key filter', function (done) {
       new Vue({
         el: el,
-        template: '<a v-on="keyup:test | key \'enter\'">{{a}}</a>',
+        template: '<a on-keyup:enter="test">{{a}}</a>',
         data: {a: 1},
         methods: {
           test: function () {
@@ -71,10 +71,10 @@ if (_.inBrowser) {
       })
     })
 
-    it('with new syntax key filter', function (done) {
+    it('with key filter (keycode)', function (done) {
       new Vue({
         el: el,
-        template: '<a on-keyup:enter="test">{{a}}</a>',
+        template: '<a on-keyup:13="test">{{a}}</a>',
         data: {a: 1},
         methods: {
           test: function () {

+ 0 - 18
test/unit/specs/filters/filters_spec.js

@@ -80,24 +80,6 @@ describe('Filters', function () {
     expect(filter(-1500.4343434)).toBe('$-1,500.43')
   })
 
-  it('key', function () {
-    var filter = filters.key
-    expect(filter(null)).toBeUndefined()
-    var spy = jasmine.createSpy('filter:key')
-    var handler = filter(spy, 'enter')
-    handler({ keyCode: 0 })
-    expect(spy).not.toHaveBeenCalled()
-    handler({ keyCode: 13 })
-    expect(spy).toHaveBeenCalled()
-    // direct keycode
-    spy = jasmine.createSpy('filter:key')
-    handler = filter(spy, 13)
-    handler({ keyCode: 0 })
-    expect(spy).not.toHaveBeenCalled()
-    handler({ keyCode: 13 })
-    expect(spy).toHaveBeenCalled()
-  })
-
   it('debounce', function (done) {
     var filter = filters.debounce
     expect(filter(null)).toBeUndefined()