mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-06 05:25:44 +01:00
Fix flickering form elements on repository initialization (#1645)
This commit is contained in:
2
gradle/changelog/flickering_repo_initializer.yaml
Normal file
2
gradle/changelog/flickering_repo_initializer.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- type: fixed
|
||||||
|
description: Flickering form elements on repository initialization ([#1644](https://github.com/scm-manager/scm-manager/issues/1644) and [#1645](https://github.com/scm-manager/scm-manager/issues/1645))
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
import React, { FC, useEffect, useState } from "react";
|
import React, { FC, useCallback, useEffect, useState } from "react";
|
||||||
import styled from "styled-components";
|
import styled from "styled-components";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { ExtensionPoint } from "@scm-manager/ui-extensions";
|
import { ExtensionPoint } from "@scm-manager/ui-extensions";
|
||||||
@@ -77,6 +77,15 @@ const RepositoryForm: FC<Props> = ({
|
|||||||
});
|
});
|
||||||
const [initRepository, setInitRepository] = useState(false);
|
const [initRepository, setInitRepository] = useState(false);
|
||||||
const [contextEntries, setContextEntries] = useState({});
|
const [contextEntries, setContextEntries] = useState({});
|
||||||
|
const setCreationContextEntry = useCallback(
|
||||||
|
(key: string, value: any) => {
|
||||||
|
setContextEntries(entries => ({
|
||||||
|
...entries,
|
||||||
|
[key]: value
|
||||||
|
}));
|
||||||
|
},
|
||||||
|
[setContextEntries]
|
||||||
|
);
|
||||||
const [valid, setValid] = useState({ namespaceAndName: true, contact: true });
|
const [valid, setValid] = useState({ namespaceAndName: true, contact: true });
|
||||||
const [t] = useTranslation("repos");
|
const [t] = useTranslation("repos");
|
||||||
|
|
||||||
@@ -170,20 +179,15 @@ const RepositoryForm: FC<Props> = ({
|
|||||||
setInitRepository(!initRepository);
|
setInitRepository(!initRepository);
|
||||||
};
|
};
|
||||||
|
|
||||||
const setCreationContextEntry = (key: string, value: any) => {
|
|
||||||
setContextEntries({
|
|
||||||
...contextEntries,
|
|
||||||
[key]: value
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const submitButton = () => {
|
const submitButton = () => {
|
||||||
if (!isModifiable() && isEditMode()) {
|
if (!isModifiable() && isEditMode()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<Level
|
<Level
|
||||||
right={<SubmitButton disabled={!isValid() || loading} loading={loading} label={t("repositoryForm.submitCreate")} />}
|
right={
|
||||||
|
<SubmitButton disabled={!isValid() || loading} loading={loading} label={t("repositoryForm.submitCreate")} />
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user