From 85184b2dc2b016069abe65fdcf82fece904a0917 Mon Sep 17 00:00:00 2001 From: Daniel Valadas Date: Sat, 5 Sep 2020 23:11:56 -0400 Subject: [PATCH 01/14] Added button for folder types support --- .../App_LocalResources/ResourceManager.resx | 3 +++ .../manageFolderTypesPanelActionsTypes.js | 6 +++++ .../actions/manageFolderTypesPanelActions.js | 25 +++++++++++++++++++ .../app/containers/ButtonsContainer.jsx | 10 ++++++-- .../app/reducers/module.js | 3 ++- .../Modules/ResourceManager/View.ascx | 3 ++- .../Modules/ResourceManager/View.ascx.cs | 3 ++- 7 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/manageFolderTypesPanelActionsTypes.js create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js diff --git a/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx b/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx index a4c52d54470..9fdc965e211 100644 --- a/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx +++ b/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx @@ -279,4 +279,7 @@ is not of a type that is allowed to be uploaded + + Manage Folder Types + \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/manageFolderTypesPanelActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/manageFolderTypesPanelActionsTypes.js new file mode 100644 index 00000000000..8c99c289132 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/manageFolderTypesPanelActionsTypes.js @@ -0,0 +1,6 @@ +const manageFolderTypesPanelActionsTypes = { + SHOW_MANAGE_FOLDER_TYPES_PANEL: "SHOW_MANAGE_FOLDER_TYPES_PANEL", + HIDE_MANAGE_FOLDER_TYPES_PANEL: "HIDE_MANAGE_FOLDER_TYPES_PANEL" +} + +export default manageFolderTypesPanelActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js new file mode 100644 index 00000000000..047c6df8a09 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js @@ -0,0 +1,25 @@ +import actionTypes from "../action types/manageFolderTypesPanelActionsTypes"; +import folderPanelActionTypes from "../action types/folderPanelActionsTypes"; + +const manageFolderTypesPanelActions = { + showPanel() { + return dispatch => { + dispatch ({ + type: folderPanelActionTypes.CLOSE_TOP_PANELS + }); + + dispatch ({ + type: actionTypes.SHOW_MANAGE_FOLDER_TYPES_PANEL + }); + } + }, + hidePanel() { + return dispatch => { + dispatch ({ + type: actionTypes.HIDE_MANAGE_FOLDER_TYPES_PANEL + }); + }; + } +}; + +export default manageFolderTypesPanelActions; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ButtonsContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ButtonsContainer.jsx index fd44a29416b..80258fb3244 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ButtonsContainer.jsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ButtonsContainer.jsx @@ -3,16 +3,18 @@ import PropTypes from "prop-types"; import { bindActionCreators } from "redux"; import { connect } from "react-redux"; import localizeService from "../services/localizeService.js"; +import manageFolderTypesPanelActions from "../actions/manageFolderTypesPanelActions"; import addFolderPanelActions from "../actions/addFolderPanelActions"; import addAssetPanelActions from "../actions/addAssetPanelActions"; class ButtonsContainer extends React.Component { render() { - const { hasAddFilesPermission, hasAddFoldersPermission, showAddFolderPanel, showAddAssetPanel } = this.props; + const { hasManageFolderTypesPermission, hasAddFilesPermission, hasAddFoldersPermission, showAddFolderPanel, showAddAssetPanel, showManageFolderTypesPanel } = this.props; return (
+ { hasManageFolderTypesPermission ? { localizeService.getString("ManageFolderTypes") } : null } { hasAddFoldersPermission ? { localizeService.getString("AddFolder") } : null } { hasAddFilesPermission ? { localizeService.getString("AddAsset") } : null }
@@ -22,8 +24,10 @@ class ButtonsContainer extends React.Component { } ButtonsContainer.propTypes = { + showManageFolderTypesPanel: PropTypes.func, showAddFolderPanel: PropTypes.func, showAddAssetPanel: PropTypes.func, + hasManageFolderTypesPermission: PropTypes.bool, hasAddFilesPermission: PropTypes.bool, hasAddFoldersPermission: PropTypes.bool }; @@ -31,6 +35,7 @@ ButtonsContainer.propTypes = { function mapDispatchToProps(dispatch) { return { ...bindActionCreators({ + showManageFolderTypesPanel: manageFolderTypesPanelActions.showPanel, showAddFolderPanel: addFolderPanelActions.showPanel, showAddAssetPanel: addAssetPanelActions.showPanel }, dispatch) @@ -39,8 +44,9 @@ function mapDispatchToProps(dispatch) { function mapStateToProps(state) { const folderPanelState = state.folderPanel; - + const moduleState = state.module; return { + hasManageFolderTypesPermission: moduleState.isAdmin, hasAddFilesPermission: folderPanelState.hasAddFilesPermission, hasAddFoldersPermission: folderPanelState.hasAddFoldersPermission }; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/module.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/module.js index 431d4c52ac0..078b81b3f8a 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/module.js +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/module.js @@ -5,7 +5,8 @@ const initialState = { moduleId: -1, moduleName: "", tabId: -1, - portalId: -1 + portalId: -1, + isAdmin: false }; export default function moduleReducer(state = initialState, action) { diff --git a/DNN Platform/Modules/ResourceManager/View.ascx b/DNN Platform/Modules/ResourceManager/View.ascx index 56b4e538f27..18ab9657d6f 100644 --- a/DNN Platform/Modules/ResourceManager/View.ascx +++ b/DNN Platform/Modules/ResourceManager/View.ascx @@ -27,7 +27,8 @@ sorting: '<%=DefaultSortingField%>', userLogged: '<%=UserLogged%>' === 'True', extensionWhitelist: '<%= ExtensionWhitelist %>', - validationCode: '<%= ValidationCode %>' + validationCode: '<%= ValidationCode %>', + isAdmin: '<%=IsAdmin%>' === 'True', } var openFolderId = <%=OpenFolderId%>; diff --git a/DNN Platform/Modules/ResourceManager/View.ascx.cs b/DNN Platform/Modules/ResourceManager/View.ascx.cs index b3ea170a030..23de432fc36 100644 --- a/DNN Platform/Modules/ResourceManager/View.ascx.cs +++ b/DNN Platform/Modules/ResourceManager/View.ascx.cs @@ -83,6 +83,7 @@ public string ValidationCode Constants.ResourceManagerLocalization).ToString(); protected int HomeFolderId => new SettingsManager(ModuleId, GroupId).HomeFolderId; protected bool UserLogged => UserId > 0; + protected bool IsAdmin => UserInfo.IsAdmin || UserInfo.IsSuperUser; protected int FolderPanelNumItems => Constants.ItemsPerPage; protected int ItemWidth => Constants.ItemWidth; protected long MaxUploadSize => Config.GetMaxUploadSize(); @@ -131,4 +132,4 @@ protected void Page_Load(object sender, EventArgs e) } } } -} \ No newline at end of file +} From 5e152201781073bef93f95e700d63fad0e822340 Mon Sep 17 00:00:00 2001 From: Daniel Valadas Date: Sun, 6 Sep 2020 00:29:04 -0400 Subject: [PATCH 02/14] Created manage folder types container --- .../app/containers/AssetsPanelContainer.jsx | 2 + .../ManageFolderTypesPanelContainer.jsx | 57 +++++++++++++++++++ .../ResourceManager.Web/app/less/Assets.less | 2 +- .../app/reducers/manageFolderTypesPanel.js | 18 ++++++ .../app/reducers/rootReducer.js | 4 +- 5 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx create mode 100644 DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/manageFolderTypesPanel.js diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AssetsPanelContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AssetsPanelContainer.jsx index 4ef6ff85984..0782563a4bc 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AssetsPanelContainer.jsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AssetsPanelContainer.jsx @@ -4,6 +4,7 @@ import { connect } from "react-redux"; import { bindActionCreators } from "redux"; import AssetsHeader from "../components/AssetsHeader"; import folderPanelActions from "../actions/folderPanelActions"; +import ManageFolderTypesContainer from "../containers/ManageFolderTypesPanelContainer"; import AddFolderPanelContainer from "../containers/AddFolderPanelContainer"; import AddAssetPanelContainer from "../containers/AddAssetPanelContainer"; import TopBarContainer from "./TopBarContainer"; @@ -108,6 +109,7 @@ class AssetsPanelContainer extends React.Component { ref={(c) => (this.mainContainer = c)} className={"main-container" + (loading ? " loading" : "")} > +
+

Test

+
+ ) : null; + } +} + +ManageFolderTypesPanelContainer.propTypes = { + expanded: PropTypes.bool, + hidePanel: PropTypes.func, + folderTypes: PropTypes.array, + manageFolderTypesState: PropTypes.object, + isAdmin: PropTypes.bool, +}; + +function mapStateToProps(state) { + const folderPanelState = state.folderPanel; + const manageFolderTypesPanelState = state.manageFolderTypesPanel; + const module = state.module; + + return { + expanded: manageFolderTypesPanelState.expanded, + isAdmin: module.isAdmin, + }; +} + +function mapDispatchToProps(dispatch) { + return { + ...bindActionCreators({ + hidePanel: manageFolderTypesPanelActions.hidePanel, + }, dispatch) + }; +} + +export default connect(mapStateToProps, mapDispatchToProps)(ManageFolderTypesPanelContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less index 8694e92e813..432f8c909e2 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less @@ -818,7 +818,7 @@ } } .top-panel { - &.add-folder { + &.add-folder, &.manage-folder-types { .animateHeight(970px, 0.5s); .rm-button { margin-bottom: 30px; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/manageFolderTypesPanel.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/manageFolderTypesPanel.js new file mode 100644 index 00000000000..1bbcce0939b --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/manageFolderTypesPanel.js @@ -0,0 +1,18 @@ +import manageFolderTypesPanelActionTypes from "../action types/manageFolderTypesPanelActionsTypes"; +import folderPanelActionTypes from "../action types/folderPanelActionsTypes"; + +const initialState = { + expanded: false +}; + +export default function manageFolderTypesPanelReducer(state = initialState, action) { + switch (action.type) { + case manageFolderTypesPanelActionTypes.SHOW_MANAGE_FOLDER_TYPES_PANEL: + return { ...state, expanded: true }; + case folderPanelActionTypes.CLOSE_TOP_PANELS: + case manageFolderTypesPanelActionTypes.HIDE_MANAGE_FOLDER_TYPES_PANEL: + return { ...state, expanded: false }; + } + + return state; +} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/rootReducer.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/rootReducer.js index 2c73960a4da..34e49f3c7b8 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/rootReducer.js +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/rootReducer.js @@ -9,6 +9,7 @@ import infiniteScroll from "./infiniteScroll"; import messageModal from "./messageModal"; import itemDetails from "./itemDetails"; import topBar from "./topBar"; +import manageFolderTypesPanel from "./manageFolderTypesPanel"; const rootReducer = combineReducers({ module, @@ -20,7 +21,8 @@ const rootReducer = combineReducers({ infiniteScroll, messageModal, itemDetails, - topBar + topBar, + manageFolderTypesPanel, }); export default rootReducer; \ No newline at end of file From cf8128c3f01bc3816023b7af5d690ea7c50ddafb Mon Sep 17 00:00:00 2001 From: Daniel Valadas Date: Sun, 6 Sep 2020 21:11:23 -0400 Subject: [PATCH 03/14] Created folder types list ui --- .../App_LocalResources/ResourceManager.resx | 9 +++ .../containers/AddFolderPanelContainer.jsx | 12 +++- .../ManageFolderTypesPanelContainer.jsx | 59 +++++++++++++++++-- .../ResourceManager.Web/app/less/Assets.less | 28 ++++++++- .../Services/ItemsController.cs | 1 + 5 files changed, 101 insertions(+), 8 deletions(-) diff --git a/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx b/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx index 9fdc965e211..7d508e17fe4 100644 --- a/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx +++ b/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx @@ -282,4 +282,13 @@ Manage Folder Types + + Add Folder Type + + + Folder Provider + + + Folder Type Definitions + \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddFolderPanelContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddFolderPanelContainer.jsx index afa88abc376..83f1bcc04e3 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddFolderPanelContainer.jsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddFolderPanelContainer.jsx @@ -11,11 +11,20 @@ class AddFolderPanelContainer extends React.Component { super(props); this.props.loadFolderMappings(); this.nameInput = React.createRef(); + this.container = React.createRef(); } componentDidUpdate(previousProps) { if (!previousProps.expanded && this.props.expanded) { this.nameInput.focus(); + + // Workaround so the dropdown shows properly with more than 3 folder providers + setTimeout(() => { + this.container.style = "overflow: visible;"; + }, 1000); + } + if (previousProps.expanded && !this.props.expanded) { + this.container.style = "overflow: hidden;"; } } @@ -79,7 +88,7 @@ class AddFolderPanelContainer extends React.Component { } return hasPermission ? ( -
+
this.container = e} className={"top-panel add-folder" + (expanded ? " rm-expanded" : "")} >
@@ -103,7 +112,6 @@ class AddFolderPanelContainer extends React.Component {
} -
diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx index b2b48e114f6..3b801c6dd10 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx @@ -4,10 +4,13 @@ import { bindActionCreators } from "redux"; import { connect } from "react-redux"; import localizeService from "../services/localizeService"; import manageFolderTypesPanelActions from "../actions/manageFolderTypesPanelActions"; +import { SvgIcons } from "@dnnsoftware/dnn-react-common"; +import addFolderPanelActions from "../actions/addFolderPanelActions"; class ManageFolderTypesPanelContainer extends React.Component { constructor(props) { super(props); + this.props.loadFolderMappings(); } render() { @@ -15,13 +18,55 @@ class ManageFolderTypesPanelContainer extends React.Component { expanded, hidePanel, folderTypes, - manageFolderTypesState, isAdmin, } = this.props; - - return isAdmin ? ( + return isAdmin && expanded ? (
-

Test

+

{localizeService.getString("FolderTypeDefinitions")}

+ + + + + + + + + + + {folderTypes && folderTypes.map(folderType => { + return ( + + + + + + + ); + })} + +
 {localizeService.getString("Name")}{localizeService.getString("FolderProvider")} 
+ {!folderType.IsDefault && + {folderType.MappingName}{folderType.FolderProviderType} + {!folderType.IsDefault && +
+ + + + + +
) : null; } @@ -31,18 +76,21 @@ ManageFolderTypesPanelContainer.propTypes = { expanded: PropTypes.bool, hidePanel: PropTypes.func, folderTypes: PropTypes.array, - manageFolderTypesState: PropTypes.object, isAdmin: PropTypes.bool, + loadFolderMappings: PropTypes.func, }; function mapStateToProps(state) { const folderPanelState = state.folderPanel; const manageFolderTypesPanelState = state.manageFolderTypesPanel; + const addFolderPanelState = state.addFolderPanel; const module = state.module; return { expanded: manageFolderTypesPanelState.expanded, isAdmin: module.isAdmin, + folderTypes: addFolderPanelState.folderMappings, + folderPanelState }; } @@ -50,6 +98,7 @@ function mapDispatchToProps(dispatch) { return { ...bindActionCreators({ hidePanel: manageFolderTypesPanelActions.hidePanel, + loadFolderMappings: addFolderPanelActions.loadFolderMappings, }, dispatch) }; } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less index 432f8c909e2..a04aa7027ad 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less @@ -823,7 +823,33 @@ .rm-button { margin-bottom: 30px; } - } + } + &.manage-folder-types { + h3{ + text-align: center; + } + table.folder-types{ + margin: 1em auto; + border: 1px solid gray; + th{ + text-transform: uppercase; + } + th, td { + padding: 1em 2em; + border-bottom: 1px solid gray; + button{ + border: none; + margin: 0; + padding: 0; + background-color: transparent; + svg{ + width: 1.5em; + height: auto; + } + } + } + } + } } .folder-adding { diff --git a/DNN Platform/Modules/ResourceManager/Services/ItemsController.cs b/DNN Platform/Modules/ResourceManager/Services/ItemsController.cs index f1c8403d944..bd8fb0ce8bf 100644 --- a/DNN Platform/Modules/ResourceManager/Services/ItemsController.cs +++ b/DNN Platform/Modules/ResourceManager/Services/ItemsController.cs @@ -107,6 +107,7 @@ public HttpResponseMessage GetFolderMappings() { m.FolderMappingID, m.MappingName, + m.FolderProviderType, IsDefault = (m.MappingName == "Standard" || m.MappingName == "Secure" || m.MappingName == "Database") }; From b2c0575a96c2125e5d71a5c49225ea1859851274 Mon Sep 17 00:00:00 2001 From: Daniel Valadas Date: Mon, 7 Sep 2020 00:11:10 -0400 Subject: [PATCH 04/14] Implemented basic of remove button --- .../App_LocalResources/ResourceManager.resx | 6 +++++ .../actions/manageFolderTypesPanelActions.js | 23 ++++++++++++++++++- .../ManageFolderTypesPanelContainer.jsx | 7 ++++++ .../ResourceManager.Web/app/globals/api.js | 14 ++++++++++- .../app/services/itemsService.js | 8 ++++++- .../Services/ItemsController.cs | 11 +++++++++ 6 files changed, 66 insertions(+), 3 deletions(-) diff --git a/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx b/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx index 7d508e17fe4..112f44bc812 100644 --- a/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx +++ b/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx @@ -291,4 +291,10 @@ Folder Type Definitions + + Edit folder type + + + Remove folder type + \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js index 047c6df8a09..a4a974d1f1e 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js @@ -1,5 +1,7 @@ import actionTypes from "../action types/manageFolderTypesPanelActionsTypes"; import folderPanelActionTypes from "../action types/folderPanelActionsTypes"; +import addFolderActionTypes from "../action types/addFolderPanelActionsTypes"; +import ItemsService from "../services/itemsService"; const manageFolderTypesPanelActions = { showPanel() { @@ -19,7 +21,26 @@ const manageFolderTypesPanelActions = { type: actionTypes.HIDE_MANAGE_FOLDER_TYPES_PANEL }); }; - } + }, + removeFolderType(folderMappingId) { + return (dispatch) => { + ItemsService.removeFolderType(folderMappingId) + .then( + ItemsService.loadFolderMappings() + .then(response => { + dispatch({ + type: addFolderActionTypes.FOLDER_MAPPINGS_LOADED, + date: response + }); + }) + .catch(() => { + dispatch({ + type: addFolderActionTypes.LOAD_FOLDER_MAPPINGS_ERROR, + }) + }) + ) + } + }, }; export default manageFolderTypesPanelActions; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx index 3b801c6dd10..be09bab8ff4 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx @@ -19,7 +19,9 @@ class ManageFolderTypesPanelContainer extends React.Component { hidePanel, folderTypes, isAdmin, + removeFolderType } = this.props; + return isAdmin && expanded ? (

{localizeService.getString("FolderTypeDefinitions")}

@@ -39,6 +41,7 @@ class ManageFolderTypesPanelContainer extends React.Component { {!folderType.IsDefault &&