mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 04:31:15 -06:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			No EOL
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			No EOL
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { paramsList } from './params-list.js';
 | |
| import { isObject } from './utils.js';
 | |
| 
 | |
| function getChangedParams(swiperParams, oldParams, children, oldChildren) {
 | |
|   const keys = [];
 | |
|   if (!oldParams) return keys;
 | |
| 
 | |
|   const addKey = key => {
 | |
|     if (keys.indexOf(key) < 0) keys.push(key);
 | |
|   };
 | |
| 
 | |
|   const oldChildrenKeys = oldChildren.map(child => child.props && child.props.key);
 | |
|   const childrenKeys = children.map(child => child.props && child.props.key);
 | |
|   if (oldChildrenKeys.join('') !== childrenKeys.join('')) keys.push('children');
 | |
|   if (oldChildren.length !== children.length) keys.push('children');
 | |
|   const watchParams = paramsList.filter(key => key[0] === '_').map(key => key.replace(/_/, ''));
 | |
|   watchParams.forEach(key => {
 | |
|     if (key in swiperParams && key in oldParams) {
 | |
|       if (isObject(swiperParams[key]) && isObject(oldParams[key])) {
 | |
|         const newKeys = Object.keys(swiperParams[key]);
 | |
|         const oldKeys = Object.keys(oldParams[key]);
 | |
| 
 | |
|         if (newKeys.length !== oldKeys.length) {
 | |
|           addKey(key);
 | |
|         } else {
 | |
|           newKeys.forEach(newKey => {
 | |
|             if (swiperParams[key][newKey] !== oldParams[key][newKey]) {
 | |
|               addKey(key);
 | |
|             }
 | |
|           });
 | |
|           oldKeys.forEach(oldKey => {
 | |
|             if (swiperParams[key][oldKey] !== oldParams[key][oldKey]) addKey(key);
 | |
|           });
 | |
|         }
 | |
|       } else if (swiperParams[key] !== oldParams[key]) {
 | |
|         addKey(key);
 | |
|       }
 | |
|     }
 | |
|   });
 | |
|   return keys;
 | |
| }
 | |
| 
 | |
| export { getChangedParams }; | 
