()
| 11675 | }); |
| 11676 | } |
| 11677 | render() { |
| 11678 | const closeDialog = ()=>this.close(); |
| 11679 | if (this.state.delayAction) requestAnimationFrame(()=>{ |
| 11680 | //allow render to complete |
| 11681 | if (this.state.delayAction) { |
| 11682 | this.state.delayAction(); |
| 11683 | this.setState({ |
| 11684 | delayAction: null |
| 11685 | }); |
| 11686 | } |
| 11687 | }); |
| 11688 | const disabled = this.state.working || this.state.dialogHidden; |
| 11689 | return (0, _base.base).react.createElement("div", { |
| 11690 | className: "sanddance-dataExporter" |
| 11691 | }, (0, _base.base).react.createElement((0, _base.base).fluentUI.DefaultButton, { |
| 11692 | className: "search-action search-bottom-action", |
| 11693 | text: (0, _language.strings).buttonExportCount(this.props.data.length), |
| 11694 | onClick: ()=>this.setState({ |
| 11695 | dialogHidden: false |
| 11696 | }), |
| 11697 | disabled: this.props.disabled |
| 11698 | }), (0, _base.base).react.createElement((0, _dialog.Dialog), { |
| 11699 | hidden: this.state.dialogHidden, |
| 11700 | onDismiss: closeDialog, |
| 11701 | dialogContentProps: { |
| 11702 | className: `sanddance-dialog ${this.props.theme}`, |
| 11703 | type: (0, _base.base).fluentUI.DialogType.normal, |
| 11704 | title: (0, _language.strings).labelExport |
| 11705 | }, |
| 11706 | buttons: [ |
| 11707 | (0, _base.base).react.createElement((0, _base.base).fluentUI.PrimaryButton, { |
| 11708 | key: 0, |
| 11709 | disabled: disabled || !!this.state.fileNameError, |
| 11710 | onClick: (e)=>this.setState({ |
| 11711 | delayAction: ()=>this.createExport(this.state.exportType, this.state.fileName), |
| 11712 | working: true |
| 11713 | }), |
| 11714 | text: (0, _language.strings).buttonExport, |
| 11715 | iconProps: { |
| 11716 | iconName: "Download" |
| 11717 | } |
| 11718 | }) |
| 11719 | ] |
| 11720 | }, (0, _base.base).react.createElement((0, _base.base).fluentUI.TextField, { |
| 11721 | label: (0, _language.strings).labelExportFileName, |
| 11722 | onChange: (e, displayName)=>{ |
| 11723 | const displayNameError = getFileNameError(displayName); |
| 11724 | this.setState({ |
| 11725 | fileName: displayName, |
| 11726 | fileNameError: displayNameError |
| 11727 | }); |
| 11728 | }, |
| 11729 | errorMessage: this.state.fileNameError, |
| 11730 | value: this.state.fileName |
| 11731 | }), (0, _base.base).react.createElement((0, _base.base).fluentUI.ChoiceGroup, { |
| 11732 | className: "sanddance-form-separate", |
| 11733 | disabled: disabled, |
| 11734 | options: exportTypes.map(([exportType, text])=>{ |
nothing calls this directly
no test coverage detected