{"version":3,"file":"FolderSettingsPage.d4b1c3468dad9e8f546e.js","mappings":"iZAIA,MAAM,MAAEA,GAAUC,EAAAA,YAwBZC,EAAqB,CACzBC,eADyB,KAEzBC,WAFyB,KAGzBC,eAHyB,KAIzBC,aAAYA,EAAAA,IAGRC,GAAYC,EAAAA,EAAAA,UAhBM,CAACC,EAAmBC,KAC1C,MAAMC,EAAMD,EAAME,MAAMC,OAAOF,IAC/B,MAAO,CACLG,UAAUC,EAAAA,EAAAA,GAAYN,EAAMO,SAAW,mBAAkBL,KAAOM,EAAAA,EAAAA,GAAc,IAC9EC,UAAWP,EACXQ,OAAQV,EAAMU,UAWyBjB,GAQpC,MAAMkB,UAA2BC,EAAAA,cACtCC,YAAYZ,GACVa,MAAMb,GADkB,wBAWTc,IACfC,KAAKf,MAAML,eAAemB,EAAIE,OAAOC,UAZb,iBAejBC,MAAAA,IACPJ,EAAIK,iBACJL,EAAIM,kBACJL,KAAKM,SAAS,CAAEC,WAAW,UACrBP,KAAKf,MAAMN,WAAWqB,KAAKf,MAAMS,QACvCM,KAAKM,SAAS,CAAEC,WAAW,OApBH,mBAuBdR,IACVA,EAAIM,kBACJN,EAAIK,iBAGJI,EAAAA,EAAAA,QACE,IAAIC,EAAAA,GAAsB,CACxBC,MAAO,SACPC,KAJsB,uEAKtBC,KAAM,YACNC,QAAS,SACTC,UAAW,KACTd,KAAKf,MAAMJ,aAAamB,KAAKf,MAAMS,OAAOR,YAjChDc,KAAKhB,MAAQ,CACXuB,WAAW,GAIfQ,oBACEf,KAAKf,MAAMP,eAAesB,KAAKf,MAAMQ,WAiCvCuB,SACE,MAAM,SAAE3B,EAAF,OAAYK,GAAWM,KAAKf,MAElC,OACE,SAAC,IAAD,CAAMI,SAAUA,EAAhB,UACE,UAAC,aAAD,CAAekB,UAAWP,KAAKhB,MAAMuB,UAArC,iBACE,eAAIU,UAAU,mBAAd,+BAEA,gBAAKA,UAAU,wBAAf,UACE,kBAAMC,KAAK,qBAAqBC,SAAUnB,KAAKoB,OAA/C,WACE,iBAAKH,UAAU,UAAf,iBACE,kBAAOA,UAAU,wBAAjB,oBACA,SAAC1C,EAAD,CACE8C,KAAK,OACLJ,UAAU,yBACVf,MAAOR,EAAOgB,MACdY,SAAUtB,KAAKuB,oBAGnB,iBAAKN,UAAU,qBAAf,WACE,SAAC,EAAAO,OAAD,CAAQH,KAAK,SAASI,UAAW/B,EAAOgC,UAAYhC,EAAOiC,WAA3D,mBAGA,SAAC,EAAAH,OAAD,CAAQI,QAAQ,cAAcC,QAAS7B,KAAK8B,SAAUL,UAAW/B,EAAOqC,UAAxE,kCAYhB,QAAejD,EAAUa","sources":["webpack://grafana/./public/app/features/folders/FolderSettingsPage.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { connect, ConnectedProps } from 'react-redux';\n\nimport { Button, LegacyForms } from '@grafana/ui';\nconst { Input } = LegacyForms;\nimport appEvents from 'app/core/app_events';\nimport Page from 'app/core/components/Page/Page';\nimport { GrafanaRouteComponentProps } from 'app/core/navigation/types';\nimport { getNavModel } from 'app/core/selectors/navModel';\nimport { StoreState } from 'app/types';\n\nimport { ShowConfirmModalEvent } from '../../types/events';\n\nimport { deleteFolder, getFolderByUid, saveFolder } from './state/actions';\nimport { getLoadingNav } from './state/navModel';\nimport { setFolderTitle } from './state/reducers';\n\nexport interface OwnProps extends GrafanaRouteComponentProps<{ uid: string }> {}\n\nconst mapStateToProps = (state: StoreState, props: OwnProps) => {\n const uid = props.match.params.uid;\n return {\n navModel: getNavModel(state.navIndex, `folder-settings-${uid}`, getLoadingNav(2)),\n folderUid: uid,\n folder: state.folder,\n };\n};\n\nconst mapDispatchToProps = {\n getFolderByUid,\n saveFolder,\n setFolderTitle,\n deleteFolder,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport type Props = OwnProps & ConnectedProps;\n\nexport interface State {\n isLoading: boolean;\n}\n\nexport class FolderSettingsPage extends PureComponent {\n constructor(props: Props) {\n super(props);\n this.state = {\n isLoading: false,\n };\n }\n\n componentDidMount() {\n this.props.getFolderByUid(this.props.folderUid);\n }\n\n onTitleChange = (evt: React.ChangeEvent) => {\n this.props.setFolderTitle(evt.target.value);\n };\n\n onSave = async (evt: React.FormEvent) => {\n evt.preventDefault();\n evt.stopPropagation();\n this.setState({ isLoading: true });\n await this.props.saveFolder(this.props.folder);\n this.setState({ isLoading: false });\n };\n\n onDelete = (evt: React.MouseEvent) => {\n evt.stopPropagation();\n evt.preventDefault();\n\n const confirmationText = `Do you want to delete this folder and all its dashboards and alerts?`;\n appEvents.publish(\n new ShowConfirmModalEvent({\n title: 'Delete',\n text: confirmationText,\n icon: 'trash-alt',\n yesText: 'Delete',\n onConfirm: () => {\n this.props.deleteFolder(this.props.folder.uid);\n },\n })\n );\n };\n\n render() {\n const { navModel, folder } = this.props;\n\n return (\n \n \n

Folder settings

\n\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n );\n }\n}\n\nexport default connector(FolderSettingsPage);\n"],"names":["Input","LegacyForms","mapDispatchToProps","getFolderByUid","saveFolder","setFolderTitle","deleteFolder","connector","connect","state","props","uid","match","params","navModel","getNavModel","navIndex","getLoadingNav","folderUid","folder","FolderSettingsPage","PureComponent","constructor","super","evt","this","target","value","async","preventDefault","stopPropagation","setState","isLoading","appEvents","ShowConfirmModalEvent","title","text","icon","yesText","onConfirm","componentDidMount","render","className","name","onSubmit","onSave","type","onChange","onTitleChange","Button","disabled","canSave","hasChanged","variant","onClick","onDelete","canDelete"],"sourceRoot":""}