UNPKG

ldx-widgets

Version:

widgets

86 lines (77 loc) 2.09 kB
(function() { var AlertModal, Flux, NoAccess, React, animationMixin, button, div, ref; React = require('react'); Flux = require('delorean').Flux; animationMixin = require('../mixins/animation_mixin'); NoAccess = React.createFactory(require('./no_access')); ref = React.DOM, div = ref.div, button = ref.button; AlertModal = React.createClass({ displayName: 'AlertModal', mixins: [animationMixin, Flux.mixins.storeListener], watchStores: ['popoverModal'], enterStateStart: { scale: .9 }, enterStateEnd: { scale: 1 }, enterEasing: 'easeOutElastic', enterDuration: 600, propTypes: { okText: React.PropTypes.string, cb: React.PropTypes.func, message: React.PropTypes.string.isRequired }, getDefaultProps: function() { return { okText: 'OK' }; }, handleClick: function(e) { return e.stopPropagation(); }, close: function() { var base; if (typeof (base = this.props).cb === "function") { base.cb(); } return this.trigger('closeModal'); }, render: function() { var message, okText, ref1, scale; scale = this.state.scale; ref1 = this.props, message = ref1.message, okText = ref1.okText; return div({ className: 'modal alert', onClick: this.handleClick, style: { transform: "scale(" + scale + ")", WebkitTransform: "scale(" + scale + ")", msTransform: "scale(" + scale + ")" } }, [ div({ key: 'message', className: 'message' }, NoAccess({ displayText: message, styleOverrides: { fontSize: '14px', background: 'none', paddingTop: 10 } })), div({ key: 'ok', className: 'buttons' }, [ button({ className: 'prmy ok', key: 'ok', onClick: this.close }, okText) ]) ]); } }); module.exports = AlertModal; }).call(this);