react-smtc-ui-utils
Version:
react-smtc-ui-utils React component
90 lines • 3.95 kB
JavaScript
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
import React, { Component } from 'react';
import PropTypes from "prop-types";
import { Step } from 'semantic-ui-react';
import { getRandomNumber } from "./static/ObjectsUtils";
var PublicStep = /*#__PURE__*/function (_Component) {
function PublicStep(props) {
var _this;
_this = _Component.call(this, props) || this;
_defineProperty(_this, "triggerStepChanges", function (currentStep) {
var stepOptions = _this.state.stepOptions;
for (var i = 0; i < stepOptions.length; i++) {
//stepOptions[i].onClick = this.onStepClick
stepOptions[i].completed = false;
stepOptions[i].active = false;
stepOptions[i].disabled = true;
if (i < currentStep) {
stepOptions[i].active = false;
stepOptions[i].completed = true;
stepOptions[i].disabled = false;
} else if (currentStep === i) {
stepOptions[i].active = true;
stepOptions[i].completed = false;
stepOptions[i].disabled = false;
} else if (i < currentStep) {
stepOptions[i].active = false;
stepOptions[i].completed = false;
stepOptions[i].disabled = true;
}
}
});
_this.state = {
stepOptions: props.stepOptions,
currentStep: props.currentStep === undefined ? 0 : parseInt(props.currentStep, 10),
stepSize: props.stepSize === undefined ? 'small' : props.stepSize,
divKey: getRandomNumber()
};
return _this;
}
_inheritsLoose(PublicStep, _Component);
var _proto = PublicStep.prototype;
_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState, snapshot) {
var _this$props = this.props,
currentStep = _this$props.currentStep,
stepOptions = _this$props.stepOptions;
if (currentStep !== prevProps.currentStep) {
this.setState({
currentStep: currentStep,
divKey: getRandomNumber()
});
this.triggerStepChanges(currentStep);
}
if (stepOptions !== prevProps.stepOptions) {
this.setState({
stepOptions: stepOptions,
divKey: getRandomNumber()
});
}
};
/* onStepClick = (event,data) => {
if(data){
console.log(data);
if(data.completed){
}
}
}
*/
_proto.render = function render() {
var _this$state = this.state,
stepSize = _this$state.stepSize,
stepOptions = _this$state.stepOptions,
divKey = _this$state.divKey;
return /*#__PURE__*/React.createElement(Step.Group, {
key: divKey,
size: stepSize,
items: stepOptions
});
};
return PublicStep;
}(Component);
export { PublicStep as default };
PublicStep.propTypes = process.env.NODE_ENV !== "production" ? {
stepOptions: PropTypes.array.isRequired,
currentStep: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
stepSize: PropTypes.string
} : {};