This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
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.
32 lines
848 B
32 lines
848 B
'use strict'; |
|
|
|
let React = require('react'); |
|
|
|
function cloneReferencedElement(element, config, ...children) { |
|
let cloneRef = config.ref; |
|
let originalRef = element.ref; |
|
if (originalRef == null || cloneRef == null) { |
|
return React.cloneElement(element, config, ...children); |
|
} |
|
|
|
if (typeof originalRef !== 'function') { |
|
if (__DEV__) { |
|
console.warn( |
|
'Cloning an element with a ref that will be overwritten because it ' + |
|
'is not a function. Use a composable callback-style ref instead. ' + |
|
'Ignoring ref: ' + originalRef, |
|
); |
|
} |
|
return React.cloneElement(element, config, ...children); |
|
} |
|
|
|
return React.cloneElement(element, { |
|
...config, |
|
ref(component) { |
|
cloneRef(component); |
|
originalRef(component); |
|
}, |
|
}, ...children); |
|
} |
|
|
|
module.exports = cloneReferencedElement;
|
|
|