Prepare GovOPlaN self-hosted release workflow
This commit is contained in:
24
webui/package-lock.json
generated
24
webui/package-lock.json
generated
@@ -15,6 +15,7 @@
|
||||
"@govoplan/dashboard-webui": "file:../../govoplan-dashboard/webui",
|
||||
"@govoplan/docs-webui": "file:../../govoplan-docs/webui",
|
||||
"@govoplan/files-webui": "file:../../govoplan-files/webui",
|
||||
"@govoplan/idm-webui": "file:../../govoplan-idm/webui",
|
||||
"@govoplan/mail-webui": "file:../../govoplan-mail/webui",
|
||||
"@govoplan/ops-webui": "file:../../govoplan-ops/webui",
|
||||
"@govoplan/organizations-webui": "file:../../govoplan-organizations/webui"
|
||||
@@ -171,6 +172,25 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"../../govoplan-idm/webui": {
|
||||
"name": "@govoplan/idm-webui",
|
||||
"version": "0.1.6",
|
||||
"peerDependencies": {
|
||||
"@govoplan/core-webui": "^0.1.6",
|
||||
"@vitejs/plugin-react": "^4.3.4",
|
||||
"lucide-react": "^1.23.0",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-router-dom": "^7.1.1",
|
||||
"typescript": "^5.7.2",
|
||||
"vite": "^6.0.6"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@govoplan/core-webui": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"../../govoplan-mail/webui": {
|
||||
"name": "@govoplan/mail-webui",
|
||||
"version": "0.1.6",
|
||||
@@ -980,6 +1000,10 @@
|
||||
"resolved": "../../govoplan-files/webui",
|
||||
"link": true
|
||||
},
|
||||
"node_modules/@govoplan/idm-webui": {
|
||||
"resolved": "../../govoplan-idm/webui",
|
||||
"link": true
|
||||
},
|
||||
"node_modules/@govoplan/mail-webui": {
|
||||
"resolved": "../../govoplan-mail/webui",
|
||||
"link": true
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
"@govoplan/dashboard-webui": "file:../../govoplan-dashboard/webui",
|
||||
"@govoplan/docs-webui": "file:../../govoplan-docs/webui",
|
||||
"@govoplan/files-webui": "file:../../govoplan-files/webui",
|
||||
"@govoplan/idm-webui": "file:../../govoplan-idm/webui",
|
||||
"@govoplan/mail-webui": "file:../../govoplan-mail/webui",
|
||||
"@govoplan/organizations-webui": "file:../../govoplan-organizations/webui",
|
||||
"@govoplan/ops-webui": "file:../../govoplan-ops/webui"
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
"@govoplan/dashboard-webui": "git+ssh://git@git.add-ideas.de/add-ideas/govoplan-dashboard.git#v0.1.6",
|
||||
"@govoplan/docs-webui": "git+ssh://git@git.add-ideas.de/add-ideas/govoplan-docs.git#v0.1.6",
|
||||
"@govoplan/files-webui": "git+ssh://git@git.add-ideas.de/add-ideas/govoplan-files.git#v0.1.6",
|
||||
"@govoplan/idm-webui": "git+ssh://git@git.add-ideas.de/add-ideas/govoplan-idm.git#v0.1.6",
|
||||
"@govoplan/mail-webui": "git+ssh://git@git.add-ideas.de/add-ideas/govoplan-mail.git#v0.1.6",
|
||||
"@govoplan/campaign-webui": "git+ssh://git@git.add-ideas.de/add-ideas/govoplan-campaign.git#v0.1.6",
|
||||
"@govoplan/organizations-webui": "git+ssh://git@git.add-ideas.de/add-ideas/govoplan-organizations.git#v0.1.6",
|
||||
|
||||
@@ -7,6 +7,7 @@ const packageByModule = {
|
||||
dashboard: "@govoplan/dashboard-webui",
|
||||
docs: "@govoplan/docs-webui",
|
||||
files: "@govoplan/files-webui",
|
||||
idm: "@govoplan/idm-webui",
|
||||
mail: "@govoplan/mail-webui",
|
||||
organizations: "@govoplan/organizations-webui",
|
||||
ops: "@govoplan/ops-webui"
|
||||
@@ -21,11 +22,12 @@ const cases = [
|
||||
{ name: "files-only", modules: ["files"] },
|
||||
{ name: "mail-only", modules: ["mail"] },
|
||||
{ name: "organizations-only", modules: ["organizations"] },
|
||||
{ name: "idm-with-organizations", modules: ["organizations", "idm"] },
|
||||
{ name: "campaign-only", modules: ["campaigns"] },
|
||||
{ name: "campaign-with-files-no-mail", modules: ["campaigns", "files"] },
|
||||
{ name: "campaign-with-mail-no-files", modules: ["campaigns", "mail"] },
|
||||
{ name: "docs-and-ops", modules: ["access", "docs", "ops"] },
|
||||
{ name: "full-product", modules: ["access", "admin", "dashboard", "organizations", "campaigns", "files", "mail", "docs", "ops"] }
|
||||
{ name: "full-product", modules: ["access", "admin", "dashboard", "organizations", "idm", "campaigns", "files", "mail", "docs", "ops"] }
|
||||
];
|
||||
|
||||
const npmExec = process.env.npm_execpath;
|
||||
|
||||
@@ -756,6 +756,14 @@
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.module-install-plan-row-meta {
|
||||
grid-column: 1 / -1;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 6px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.module-install-plan-row label span {
|
||||
color: var(--muted);
|
||||
font-size: 12px;
|
||||
|
||||
@@ -277,6 +277,55 @@ export type DashboardWidgetsUiCapability = {
|
||||
widgets: DashboardWidgetContribution[];
|
||||
};
|
||||
|
||||
export type OrganizationFunctionActionContext = PlatformRouteContext & {
|
||||
function: {
|
||||
id: string;
|
||||
tenant_id: string;
|
||||
organization_unit_id: string;
|
||||
slug: string;
|
||||
name: string;
|
||||
};
|
||||
};
|
||||
|
||||
export type OrganizationFunctionActionContribution = {
|
||||
id: string;
|
||||
label?: string;
|
||||
order?: number;
|
||||
anyOf?: string[];
|
||||
allOf?: string[];
|
||||
render: (context: OrganizationFunctionActionContext) => ReactNode;
|
||||
};
|
||||
|
||||
export type OrganizationFunctionActionsUiCapability = {
|
||||
actions: OrganizationFunctionActionContribution[];
|
||||
};
|
||||
|
||||
export type OrganizationFunctionSelection = {
|
||||
sourceModule: "organizations";
|
||||
functionId: string;
|
||||
label?: string | null;
|
||||
organizationUnitId?: string | null;
|
||||
organizationUnitLabel?: string | null;
|
||||
};
|
||||
|
||||
export type OrganizationFunctionPickerContext = PlatformRouteContext & {
|
||||
value: OrganizationFunctionSelection | null;
|
||||
disabled?: boolean;
|
||||
onChange: (value: OrganizationFunctionSelection | null) => void;
|
||||
};
|
||||
|
||||
export type OrganizationFunctionLabelContext = PlatformRouteContext & {
|
||||
sourceModule: string;
|
||||
functionId: string;
|
||||
fallback?: ReactNode;
|
||||
};
|
||||
|
||||
export type OrganizationFunctionPickerUiCapability = {
|
||||
sourceModule: "organizations";
|
||||
renderPicker: (context: OrganizationFunctionPickerContext) => ReactNode;
|
||||
renderLabel?: (context: OrganizationFunctionLabelContext) => ReactNode;
|
||||
};
|
||||
|
||||
export type MailSecurity = "plain" | "tls" | "starttls";
|
||||
export type MailProfileScope = "system" | "tenant" | "user" | "group" | "campaign";
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ const defaultWebModulePackages = [
|
||||
"@govoplan/dashboard-webui",
|
||||
"@govoplan/docs-webui",
|
||||
"@govoplan/files-webui",
|
||||
"@govoplan/idm-webui",
|
||||
"@govoplan/mail-webui",
|
||||
"@govoplan/organizations-webui",
|
||||
"@govoplan/ops-webui"
|
||||
@@ -95,6 +96,7 @@ export default defineConfig({
|
||||
fileURLToPath(new URL('../../govoplan-dashboard/webui', import.meta.url)),
|
||||
fileURLToPath(new URL('../../govoplan-docs/webui', import.meta.url)),
|
||||
fileURLToPath(new URL('../../govoplan-files/webui', import.meta.url)),
|
||||
fileURLToPath(new URL('../../govoplan-idm/webui', import.meta.url)),
|
||||
fileURLToPath(new URL('../../govoplan-mail/webui', import.meta.url)),
|
||||
fileURLToPath(new URL('../../govoplan-organizations/webui', import.meta.url)),
|
||||
fileURLToPath(new URL('../../govoplan-campaign/webui', import.meta.url)),
|
||||
|
||||
Reference in New Issue
Block a user