@atlaskit/focused-task-close-account
Version:
This package contains all of the UI components needed to assemble the focused tasks for deactivating and deleting users' accounts in accordance with the GDPR "Right to be forgotten".
76 lines (75 loc) • 5.11 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.DropdownList = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireDefault(require("react"));
var _reactIntlNext = require("react-intl-next");
var _button = _interopRequireDefault(require("@atlaskit/button"));
var Styled = _interopRequireWildcard(require("./styled"));
var _messages = require("../../messages");
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var COLLAPSED_LIST_SITE_COUNT = 3;
var DropdownList = exports.DropdownList = /*#__PURE__*/function (_React$Component) {
function DropdownList() {
var _this;
(0, _classCallCheck2.default)(this, DropdownList);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _callSuper(this, DropdownList, [].concat(args));
(0, _defineProperty2.default)(_this, "state", {
isExpanded: false
});
(0, _defineProperty2.default)(_this, "showDropdownList", function () {
_this.setState({
isExpanded: true
});
});
(0, _defineProperty2.default)(_this, "hideDropdownList", function () {
_this.setState({
isExpanded: false
});
});
(0, _defineProperty2.default)(_this, "getVisibleSites", function () {
return _this.state.isExpanded ? _this.props.accessibleSites : _this.props.accessibleSites.slice(0, COLLAPSED_LIST_SITE_COUNT);
});
return _this;
}
(0, _inherits2.default)(DropdownList, _React$Component);
return (0, _createClass2.default)(DropdownList, [{
key: "render",
value: function render() {
var accessibleSites = this.props.accessibleSites;
var isExpanded = this.state.isExpanded;
var visibleSites = this.getVisibleSites();
var footNote = visibleSites.length === accessibleSites.length && /*#__PURE__*/_react.default.createElement(Styled.AccessibleSitesListFootnote, null, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.overviewMessages.paragraphLoseAccessFootnote));
var toggleExpand = accessibleSites.length > COLLAPSED_LIST_SITE_COUNT && /*#__PURE__*/_react.default.createElement(Styled.ButtonWrapper, null, /*#__PURE__*/_react.default.createElement(_button.default, {
onClick: isExpanded ? this.hideDropdownList : this.showDropdownList,
appearance: "link",
spacing: "none"
}, isExpanded ? /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.dropDownListMessages.collapseButton) : /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.dropDownListMessages.expandButton, {
values: {
num: accessibleSites.length - 3
}
}))));
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Styled.AccessibleSitesList, null, visibleSites.map(function (url, idx) {
return /*#__PURE__*/_react.default.createElement("li", {
key: idx
}, url);
})), footNote, toggleExpand);
}
}]);
}(_react.default.Component);
var _default = exports.default = DropdownList;