diff --git a/src/components/contentcards/CippButtonCard.jsx b/src/components/contentcards/CippButtonCard.jsx index 4a6400ad9cca..8e74d5470693 100644 --- a/src/components/contentcards/CippButtonCard.jsx +++ b/src/components/contentcards/CippButtonCard.jsx @@ -9,9 +9,10 @@ export default function CippButtonCard({ CardButton, children, isFetching, + className = 'h-100', }) { return ( - + {titleType === 'big' ?

{title}

: title} @@ -32,4 +33,5 @@ CippButtonCard.propTypes = { CardButton: PropTypes.element.isRequired, children: PropTypes.element.isRequired, isFetching: PropTypes.bool.isRequired, + className: PropTypes.string, } diff --git a/src/data/Extensions.json b/src/data/Extensions.json index e46565493f28..6d4b8ab242f0 100644 --- a/src/data/Extensions.json +++ b/src/data/Extensions.json @@ -122,7 +122,7 @@ "type": "input", "fieldtype": "input", "name": "NinjaOne.Instance", - "label": "Please enter your NinjaOne Instance", + "label": "Please enter your NinjaOne Instance hostname", "placeholder": "app.ninjarmm.com, eu.ninjarmm.com, oc.ninjarmm.com, ca.ninjarmm.com, us2.ninjarmm.com" }, { @@ -162,7 +162,8 @@ ], "mappingRequired": true, "fieldMapping": true, - "autoMapSyncApi": true + "autoMapSyncApi": true, + "showSyncButton": true }, { "name": "Hudu", @@ -187,8 +188,13 @@ }, { "type": "checkbox", - "name": "Hudu.LicensedUsersOnly", - "label": "Only Sync Licensed Users" + "name": "Hudu.CreateMissingUsers", + "label": "Create missing users in Hudu" + }, + { + "type": "checkbox", + "name": "Hudu.CreateMissingDevices", + "label": "Create missing devices in Hudu" }, { "type": "checkbox", @@ -197,7 +203,8 @@ } ], "mappingRequired": true, - "fieldMapping": true + "fieldMapping": true, + "showSyncButton": true }, { "name": "PasswordPusher", diff --git a/src/views/cipp/ExtensionMappings.jsx b/src/views/cipp/ExtensionMappings.jsx index d2fc8c48dbd2..b493dce041a2 100644 --- a/src/views/cipp/ExtensionMappings.jsx +++ b/src/views/cipp/ExtensionMappings.jsx @@ -156,18 +156,32 @@ export default function ExtensionMappings({ type, fieldMappings = false, autoMap title={`${type} Organization Mapping`} titleType="big" isFetching={listMappingBackendResult.isFetching} + className="px-0" CardButton={ <> - - {extensionConfigResult.isFetching && ( - - )} - Set Mappings + + + Save Mappings - onOrgsAutomap()} className="me-2"> - {extensionAutomapResult.isFetching && ( - - )} + onOrgsAutomap()} + className="me-2" + disabled={listMappingBackendResult.isFetching} + > + Automap {type} Organizations @@ -311,12 +325,16 @@ export default function ExtensionMappings({ type, fieldMappings = false, autoMap title={`${type} Field Mapping`} titleType="big" isFetching={listFieldsBackendResult.isFetching} + className="px-0" CardButton={ - {extensionFieldsConfigResult.isFetching && ( - - )} - Set Mappings + + Save Mappings } > diff --git a/src/views/cipp/Extensions.jsx b/src/views/cipp/Extensions.jsx index d08ac0636174..8c8c9dd79dee 100644 --- a/src/views/cipp/Extensions.jsx +++ b/src/views/cipp/Extensions.jsx @@ -45,16 +45,20 @@ export default function CIPPExtensions() { const ButtonGenerate = (integrationType, forceSync, disabled) => ( <> - {extensionConfigResult.isFetching && ( - - )} - Set Extension Settings + + Save onSubmitTest(integrationType)} className="me-2"> - {listExtensionTestResult.isFetching && ( - - )} - Test Extension + + Test {forceSync && ( - {listSyncExtensionResult.isFetching && ( - - )} + Force Sync )} @@ -118,10 +124,13 @@ export default function CIPPExtensions() { isFetching={listBackendResult.isFetching} CardButton={ButtonGenerate( integration.type, - integration.forceSync, - (hostedMetaContent === 'true' && integration.disableWhenhosted) || false, + integration.forceSyncButton, + (hostedMetaContent === 'true' && integration.disableWhenhosted) || + listBackendResult.isFetching || + false, )} key={idx} + className="" >

{integration.helpText}