You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							69 lines
						
					
					
						
							2.0 KiB
						
					
					
				
			
		
		
	
	
							69 lines
						
					
					
						
							2.0 KiB
						
					
					
				'use strict'; | 
						|
 | 
						|
exports.__esModule = true; | 
						|
 | 
						|
var _util = require('element-ui/lib/utils/util'); | 
						|
 | 
						|
/** | 
						|
 * Show migrating guide in browser console. | 
						|
 * | 
						|
 * Usage: | 
						|
 * import Migrating from 'element-ui/src/mixins/migrating'; | 
						|
 * | 
						|
 * mixins: [Migrating] | 
						|
 * | 
						|
 * add getMigratingConfig method for your component. | 
						|
 *  getMigratingConfig() { | 
						|
 *    return { | 
						|
 *      props: { | 
						|
 *        'allow-no-selection': 'allow-no-selection is removed.', | 
						|
 *        'selection-mode': 'selection-mode is removed.' | 
						|
 *      }, | 
						|
 *      events: { | 
						|
 *        selectionchange: 'selectionchange is renamed to selection-change.' | 
						|
 *      } | 
						|
 *    }; | 
						|
 *  }, | 
						|
 */ | 
						|
exports.default = { | 
						|
  mounted: function mounted() { | 
						|
    if (process.env.NODE_ENV === 'production') return; | 
						|
    if (!this.$vnode) return; | 
						|
 | 
						|
    var _getMigratingConfig = this.getMigratingConfig(), | 
						|
        _getMigratingConfig$p = _getMigratingConfig.props, | 
						|
        props = _getMigratingConfig$p === undefined ? {} : _getMigratingConfig$p, | 
						|
        _getMigratingConfig$e = _getMigratingConfig.events, | 
						|
        events = _getMigratingConfig$e === undefined ? {} : _getMigratingConfig$e; | 
						|
 | 
						|
    var _$vnode = this.$vnode, | 
						|
        data = _$vnode.data, | 
						|
        componentOptions = _$vnode.componentOptions; | 
						|
 | 
						|
    var definedProps = data.attrs || {}; | 
						|
    var definedEvents = componentOptions.listeners || {}; | 
						|
 | 
						|
    for (var propName in definedProps) { | 
						|
      propName = (0, _util.kebabCase)(propName); // compatible with camel case | 
						|
      if (props[propName]) { | 
						|
        console.warn('[Element Migrating][' + this.$options.name + '][Attribute]: ' + props[propName]); | 
						|
      } | 
						|
    } | 
						|
 | 
						|
    for (var eventName in definedEvents) { | 
						|
      eventName = (0, _util.kebabCase)(eventName); // compatible with camel case | 
						|
      if (events[eventName]) { | 
						|
        console.warn('[Element Migrating][' + this.$options.name + '][Event]: ' + events[eventName]); | 
						|
      } | 
						|
    } | 
						|
  }, | 
						|
 | 
						|
  methods: { | 
						|
    getMigratingConfig: function getMigratingConfig() { | 
						|
      return { | 
						|
        props: {}, | 
						|
        events: {} | 
						|
      }; | 
						|
    } | 
						|
  } | 
						|
}; |