| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | 
							- // @flow
 - 
 - import React from 'react';
 - import { Text, TouchableOpacity } from 'react-native';
 - 
 - import { translate } from '../../../i18n';
 - import { connect } from '../../../redux';
 - import { StyleType } from '../../../styles';
 - 
 - import { _abstractMapStateToProps } from '../../functions';
 - 
 - import { type Props as BaseProps } from './BaseDialog';
 - import BaseSubmitDialog from './BaseSubmitDialog';
 - import { brandedDialog } from './styles';
 - 
 - type Props = BaseProps & {
 - 
 -     /**
 -      * The color-schemed stylesheet of the feature.
 -      */
 -     _dialogStyles: StyleType,
 - 
 -     /**
 -      * Untranslated i18n key of the content to be displayed.
 -      *
 -      * NOTE: This dialog also adds support to Object type keys that will be
 -      * translated using the provided params. See i18n function
 -      * {@code translate(string, Object)} for more details.
 -      */
 -     contentKey: string | { key: string, params: Object},
 - 
 -     t: Function
 - }
 - 
 - /**
 -  * Implements a confirm dialog component.
 -  */
 - class ConfirmDialog extends BaseSubmitDialog<Props, *> {
 -     /**
 -      * Returns the title key of the submit button.
 -      *
 -      * @returns {string}
 -      */
 -     _getSubmitButtonKey() {
 -         return this.props.okKey || 'dialog.confirmYes';
 -     }
 - 
 -     _onCancel: () => void;
 - 
 -     /**
 -      * Renders the 'No' button.
 -      *
 -      * NOTE: The {@code ConfirmDialog} is the only dialog right now that
 -      * renders 2 buttons, mainly for clarity.
 -      *
 -      * @inheritdoc
 -      */
 -     _renderAdditionalButtons() {
 -         const { _dialogStyles, cancelKey, t } = this.props;
 - 
 -         return (
 -             <TouchableOpacity
 -                 onPress = { this._onCancel }
 -                 style = { [
 -                     _dialogStyles.button,
 -                     brandedDialog.buttonFarLeft,
 -                     _dialogStyles.buttonSeparator
 -                 ] }>
 -                 <Text style = { _dialogStyles.buttonLabel }>
 -                     { t(cancelKey || 'dialog.confirmNo') }
 -                 </Text>
 -             </TouchableOpacity>
 -         );
 -     }
 - 
 -     /**
 -      * Implements {@code BaseSubmitDialog._renderSubmittable}.
 -      *
 -      * @inheritdoc
 -      */
 -     _renderSubmittable() {
 -         if (this.props.children) {
 -             return this.props.children;
 -         }
 - 
 -         const { _dialogStyles, contentKey, t } = this.props;
 -         const content
 -             = typeof contentKey === 'string'
 -                 ? t(contentKey)
 -                 : this._renderHTML(t(contentKey.key, contentKey.params));
 - 
 -         return (
 -             <Text style = { _dialogStyles.text }>
 -                 { content }
 -             </Text>
 -         );
 -     }
 - 
 -     _renderHTML: string => Object | string
 - }
 - 
 - export default translate(connect(_abstractMapStateToProps)(ConfirmDialog));
 
 
  |