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.
95 lines
3.6 KiB
95 lines
3.6 KiB
'use strict'; |
|
|
|
Object.defineProperty(exports, '__esModule', { |
|
value: true |
|
}); |
|
|
|
var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })(); |
|
|
|
exports['default'] = proxyReactComponents; |
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } |
|
|
|
var _reactProxy = require('react-proxy'); |
|
|
|
var _globalWindow = require('global/window'); |
|
|
|
var _globalWindow2 = _interopRequireDefault(_globalWindow); |
|
|
|
var componentProxies = undefined; |
|
if (_globalWindow2['default'].__reactComponentProxies) { |
|
componentProxies = _globalWindow2['default'].__reactComponentProxies; |
|
} else { |
|
componentProxies = {}; |
|
Object.defineProperty(_globalWindow2['default'], '__reactComponentProxies', { |
|
configurable: true, |
|
enumerable: false, |
|
writable: false, |
|
value: componentProxies |
|
}); |
|
} |
|
|
|
function proxyReactComponents(_ref) { |
|
var filename = _ref.filename; |
|
var components = _ref.components; |
|
var imports = _ref.imports; |
|
var locals = _ref.locals; |
|
|
|
var _imports = _slicedToArray(imports, 1); |
|
|
|
var React = _imports[0]; |
|
|
|
var _locals = _slicedToArray(locals, 1); |
|
|
|
var hot = _locals[0].hot; |
|
|
|
if (!React.Component) { |
|
throw new Error('imports[0] for react-transform-hmr does not look like React.'); |
|
} |
|
|
|
if (!hot || typeof hot.accept !== 'function') { |
|
throw new Error('locals[0] does not appear to be a `module` object with Hot Module ' + 'replacement API enabled. You should disable react-transform-hmr in ' + 'production by using `env` section in Babel configuration. See the ' + 'example in README: https://github.com/gaearon/react-transform-hmr'); |
|
} |
|
|
|
if (Object.keys(components).some(function (key) { |
|
return !components[key].isInFunction; |
|
})) { |
|
hot.accept(function (err) { |
|
if (err) { |
|
console.warn('[React Transform HMR] There was an error updating ' + filename + ':'); |
|
console.error(err); |
|
} |
|
}); |
|
} |
|
|
|
var forceUpdate = (0, _reactProxy.getForceUpdate)(React); |
|
|
|
return function wrapWithProxy(ReactClass, uniqueId) { |
|
var _components$uniqueId = components[uniqueId]; |
|
var _components$uniqueId$isInFunction = _components$uniqueId.isInFunction; |
|
var isInFunction = _components$uniqueId$isInFunction === undefined ? false : _components$uniqueId$isInFunction; |
|
var _components$uniqueId$displayName = _components$uniqueId.displayName; |
|
var displayName = _components$uniqueId$displayName === undefined ? uniqueId : _components$uniqueId$displayName; |
|
|
|
if (isInFunction) { |
|
return ReactClass; |
|
} |
|
|
|
var globalUniqueId = filename + '$' + uniqueId; |
|
if (componentProxies[globalUniqueId]) { |
|
(function () { |
|
console.info('[React Transform HMR] Patching ' + displayName); |
|
var instances = componentProxies[globalUniqueId].update(ReactClass); |
|
setTimeout(function () { |
|
return instances.forEach(forceUpdate); |
|
}); |
|
})(); |
|
} else { |
|
componentProxies[globalUniqueId] = (0, _reactProxy.createProxy)(ReactClass); |
|
} |
|
|
|
return componentProxies[globalUniqueId].get(); |
|
}; |
|
} |
|
|
|
module.exports = exports['default']; |