restructure scm-ui and use ui-components and ui-types

This commit is contained in:
Sebastian Sdorra
2018-09-05 14:32:49 +02:00
parent 6a4f3a8cf6
commit c64a5a74d6
275 changed files with 12693 additions and 11311 deletions

View File

@@ -1,9 +1,8 @@
//@flow
import React from "react";
import { translate } from "react-i18next";
import { confirmAlert } from "../../components/modals/ConfirmAlert";
import { NavAction } from "../../components/navigation";
import type { Repository } from "../types/Repositories";
import { NavAction, confirmAlert } from "@scm-manager/ui-components";
import type { Repository } from "@scm-manager/ui-types";
type Props = {
repository: Repository,

View File

@@ -4,8 +4,11 @@ import "../../tests/enzyme";
import "../../tests/i18n";
import DeleteNavAction from "./DeleteNavAction";
import { confirmAlert } from "../../components/modals/ConfirmAlert";
jest.mock("../../components/modals/ConfirmAlert");
import { confirmAlert } from "@scm-manager/ui-components";
jest.mock("@scm-manager/ui-components", () => ({
confirmAlert: jest.fn(),
NavAction: require.requireActual("@scm-manager/ui-components").NavAction
}));
describe("DeleteNavAction", () => {
it("should render nothing, if the delete link is missing", () => {

View File

@@ -1,8 +1,8 @@
//@flow
import React from "react";
import { NavLink } from "../../components/navigation";
import { NavLink } from "@scm-manager/ui-components";
import { translate } from "react-i18next";
import type { Repository } from "../types/Repositories";
import type { Repository } from "@scm-manager/ui-types";
type Props = { editUrl: string, t: string => string, repository: Repository };

View File

@@ -1,19 +1,22 @@
import React from "react";
import { mount, shallow } from "enzyme";
import { shallow, mount } from "enzyme";
import "../../tests/enzyme";
import "../../tests/i18n";
import ReactRouterEnzymeContext from "react-router-enzyme-context";
import EditNavLink from "./EditNavLink";
jest.mock("../../components/modals/ConfirmAlert");
jest.mock("../../components/navigation/NavLink", () => () => <div>foo</div>);
describe("EditNavLink", () => {
const options = new ReactRouterEnzymeContext();
it("should render nothing, if the modify link is missing", () => {
const repository = {
_links: {}
};
const navLink = shallow(<EditNavLink repository={repository} editUrl="" />);
const navLink = shallow(
<EditNavLink repository={repository} editUrl="" />,
options.get()
);
expect(navLink.text()).toBe("");
});
@@ -26,7 +29,10 @@ describe("EditNavLink", () => {
}
};
const navLink = mount(<EditNavLink repository={repository} editUrl="" />);
expect(navLink.text()).toBe("foo");
const navLink = mount(
<EditNavLink repository={repository} editUrl="" />,
options.get()
);
expect(navLink.text()).toBe("edit-nav-link.label");
});
});

View File

@@ -1,8 +1,7 @@
//@flow
import React from "react";
import type { Repository } from "../types/Repositories";
import MailLink from "../../components/MailLink";
import DateFromNow from "../../components/DateFromNow";
import type { Repository } from "@scm-manager/ui-types";
import { MailLink, DateFromNow } from "@scm-manager/ui-components";
import { translate } from "react-i18next";
type Props = {

View File

@@ -1,6 +1,6 @@
//@flow
import React from "react";
import type { Repository } from "../types/Repositories";
import type { Repository } from "@scm-manager/ui-types";
import RepositoryDetailTable from "./RepositoryDetailTable";
import { ExtensionPoint } from "@scm-manager/ui-extensions";

View File

@@ -1,12 +1,14 @@
// @flow
import React from "react";
import { translate } from "react-i18next";
import { InputField, Select } from "../../../components/forms/index";
import { SubmitButton } from "../../../components/buttons/index";
import type { Repository } from "../../types/Repositories";
import {
InputField,
Select,
SubmitButton,
Textarea
} from "@scm-manager/ui-components";
import type { Repository, RepositoryType } from "@scm-manager/ui-types";
import * as validator from "./repositoryValidation";
import type { RepositoryType } from "../../types/RepositoryTypes";
import Textarea from "../../../components/forms/Textarea";
type Props = {
submitForm: Repository => void,

View File

@@ -1,10 +1,10 @@
// @flow
import * as generalValidator from "../../../components/validation";
import { validation } from "@scm-manager/ui-components";
export const isNameValid = (name: string) => {
return generalValidator.isNameValid(name);
return validation.isNameValid(name);
};
export function isContactValid(mail: string) {
return "" === mail || generalValidator.isMailValid(mail);
return "" === mail || validation.isMailValid(mail);
}

View File

@@ -1,8 +1,8 @@
//@flow
import React from "react";
import { ExtensionPoint } from "@scm-manager/ui-extensions";
import type { Repository } from "../../types/Repositories";
import Image from "../../../components/Image";
import type { Repository } from "@scm-manager/ui-types";
import { Image } from "@scm-manager/ui-components";
type Props = {
repository: Repository

View File

@@ -2,8 +2,8 @@
import React from "react";
import { Link } from "react-router-dom";
import injectSheet from "react-jss";
import type { Repository } from "../../types/Repositories";
import DateFromNow from "../../../components/DateFromNow";
import type { Repository } from "@scm-manager/ui-types";
import { DateFromNow } from "@scm-manager/ui-components";
import RepositoryEntryLink from "./RepositoryEntryLink";
import classNames from "classnames";
import RepositoryAvatar from "./RepositoryAvatar";

View File

@@ -1,6 +1,6 @@
//@flow
import React from "react";
import type { RepositoryGroup } from "../../types/Repositories";
import type { RepositoryGroup } from "@scm-manager/ui-types";
import injectSheet from "react-jss";
import classNames from "classnames";
import RepositoryEntry from "./RepositoryEntry";

View File

@@ -1,7 +1,7 @@
//@flow
import React from "react";
import type { Repository } from "../../types/Repositories";
import type { Repository } from "@scm-manager/ui-types";
import groupByNamespace from "./groupByNamespace";
import RepositoryGroupEntry from "./RepositoryGroupEntry";

View File

@@ -1,5 +1,5 @@
// @flow
import type { Repository, RepositoryGroup } from "../../types/Repositories";
import type { Repository, RepositoryGroup } from "@scm-manager/ui-types";
export default function groupByNamespace(
repositories: Repository[]