@etsoo/materialui
Version:
TypeScript Material-UI Implementation
41 lines (40 loc) • 1.21 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.PullToRefreshUI = PullToRefreshUI;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = __importDefault(require("react"));
const shared_1 = require("@etsoo/shared");
let pr;
/**
* PullToRefresh UI
* Use hammerjs or touchemulator to simulate browser as mobile device
* @param props Props
* @returns Component
*/
function PullToRefreshUI(props) {
// Ready
react_1.default.useEffect(() => {
if (pr) {
// Loaded, delay a little bit
pr.destroyAll();
shared_1.ExtendUtils.waitFor(() => {
pr?.init(props);
}, 100);
}
else {
import("pulltorefreshjs").then((PullToRefresh) => {
pr = PullToRefresh.default;
pr.init(props);
});
}
return () => {
if (pr) {
pr.destroyAll();
}
};
}, [props]);
return (0, jsx_runtime_1.jsx)(react_1.default.Fragment, {});
}