@pnp/spfx-controls-react
Version:
Reusable React controls for SharePoint Framework solutions
54 lines • 3.58 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Action = void 0;
var tslib_1 = require("tslib");
var React = tslib_1.__importStar(require("react"));
var IProgress_1 = require("./IProgress");
var Progress_module_scss_1 = tslib_1.__importDefault(require("./Progress.module.scss"));
var Spinner_1 = require("@fluentui/react/lib/Spinner");
var Icon_1 = require("@fluentui/react/lib/Icon");
var Label_1 = require("@fluentui/react/lib/Label");
var Utilities_1 = require("@fluentui/react/lib/Utilities");
var Action = /** @class */ (function (_super) {
tslib_1.__extends(Action, _super);
function Action() {
return _super !== null && _super.apply(this, arguments) || this;
}
/**
* Default React render method
*/
Action.prototype.render = function () {
var _a = this.props, state = _a.state, subActionsTitles = _a.subActionsTitles, errorMessage = _a.errorMessage, title = _a.title, className = _a.className, successIconName = _a.successIconName, errorIconName = _a.errorIconName, inProgressIconName = _a.inProgressIconName;
var inactive = state === IProgress_1.ProgressActionState.notStarted;
var labelClassName = inactive ? (0, Utilities_1.css)(Progress_module_scss_1.default.label, Progress_module_scss_1.default.inactive) : Progress_module_scss_1.default.label;
var iconName = '';
var iconClassName = '';
switch (state) {
case IProgress_1.ProgressActionState.finished:
iconName = successIconName || 'CheckMark';
iconClassName = Progress_module_scss_1.default.successIcon;
break;
case IProgress_1.ProgressActionState.notStarted:
iconName = successIconName || 'CheckMark';
iconClassName = Progress_module_scss_1.default.inactiveIcon;
break;
case IProgress_1.ProgressActionState.errored:
iconName = errorIconName || 'Error';
iconClassName = Progress_module_scss_1.default.errorIcon;
break;
case IProgress_1.ProgressActionState.inProgress:
iconName = inProgressIconName;
break;
}
return (React.createElement("div", { className: (0, Utilities_1.css)(Progress_module_scss_1.default.actionContainer, className) },
React.createElement("div", { className: Progress_module_scss_1.default.actionHeader },
iconName ? (React.createElement(Icon_1.Icon, { className: (0, Utilities_1.css)(Progress_module_scss_1.default.actionIcon, iconClassName), iconName: iconName })) : (React.createElement(Spinner_1.Spinner, { className: (0, Utilities_1.css)(Progress_module_scss_1.default.actionIcon, Progress_module_scss_1.default.spinner), size: Spinner_1.SpinnerSize.small })),
React.createElement("div", { className: labelClassName }, title)),
subActionsTitles && (React.createElement("div", { className: Progress_module_scss_1.default.subActionsContainer }, subActionsTitles.map(function (saTitle, index) { return (React.createElement("div", { className: labelClassName, key: index }, saTitle)); }))),
state === IProgress_1.ProgressActionState.errored && (React.createElement("div", { className: Progress_module_scss_1.default.errorContainer },
React.createElement(Label_1.Label, { className: Progress_module_scss_1.default.errorMessage }, errorMessage)))));
};
return Action;
}(React.Component));
exports.Action = Action;
//# sourceMappingURL=Action.js.map