UNPKG

ldx-widgets

Version:

widgets

100 lines (90 loc) 2.74 kB
(function() { var AlertModal, NoAccess, PropTypes, React, animationMixin, button, createClass, div, ref; React = require('react'); createClass = require('create-react-class'); PropTypes = require('prop-types'); animationMixin = require('../mixins/animation_mixin'); NoAccess = React.createFactory(require('./no_access')); ref = React.DOM, div = ref.div, button = ref.button; AlertModal = createClass({ displayName: 'AlertModal', mixins: [animationMixin], enterStateStart: { scale: .9 }, enterStateEnd: { scale: 1 }, enterEasing: 'easeOutElastic', enterDuration: 600, propTypes: { className: PropTypes.string, close: PropTypes.func.isRequired, okText: PropTypes.string, cancelText: PropTypes.string, cb: PropTypes.func, message: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired }, getDefaultProps: function() { return { okText: 'OK', cancelText: 'Cancel', className: 'modal alert' }; }, handleClick: function(e) { return e.stopPropagation(); }, close: function() { return this.props.close(); }, confirm: function() { var base; if (typeof (base = this.props).cb === "function") { base.cb(); } return this.props.close(); }, render: function() { var cancelText, cb, className, message, messageAsChild, okText, ref1, scale; scale = this.state.scale; ref1 = this.props, message = ref1.message, okText = ref1.okText, cancelText = ref1.cancelText, cb = ref1.cb, className = ref1.className; messageAsChild = typeof message === 'object'; return div({ className: className, onClick: this.handleClick, style: { transform: "scale(" + scale + ")", WebkitTransform: "scale(" + scale + ")", msTransform: "scale(" + scale + ")" } }, [ div({ key: 'message', className: 'message' }, messageAsChild ? message : NoAccess({ displayText: message, styleOverrides: { fontSize: '14px', background: 'none', paddingTop: 10 } })), div({ key: 'ok', className: 'buttons' }, [ cb != null ? button({ className: 'okay-cancel cancel', key: 'cancel', onClick: this.close }, cancelText) : void 0, button({ className: cb != null ? 'okay-cancel okay' : 'prmy ok', key: 'ok', onClick: this.confirm }, okText) ]) ]); } }); module.exports = AlertModal; }).call(this);