@nextop-os/workspace-issue-manager 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/dist/chunk-CSDFXQBD.js +73 -0
- package/dist/chunk-CSDFXQBD.js.map +1 -0
- package/dist/chunk-HMMAMS4Z.js +33 -0
- package/dist/chunk-HMMAMS4Z.js.map +1 -0
- package/dist/chunk-POBWWUUQ.js +44 -0
- package/dist/chunk-POBWWUUQ.js.map +1 -0
- package/dist/contracts/index.d.ts +312 -0
- package/dist/contracts/index.js +1 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/i18n/index.d.ts +18 -0
- package/dist/i18n/index.js +13 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/react/index.d.ts +17 -0
- package/dist/react/index.js +11 -0
- package/dist/react/index.js.map +1 -0
- package/dist/workbench/index.d.ts +35 -0
- package/dist/workbench/index.js +101 -0
- package/dist/workbench/index.js.map +1 -0
- package/openapi/issue-manager.v1.yaml +1311 -0
- package/package.json +69 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IssueManagerNode
|
|
3
|
+
} from "../chunk-HMMAMS4Z.js";
|
|
4
|
+
import "../chunk-POBWWUUQ.js";
|
|
5
|
+
import "../chunk-CSDFXQBD.js";
|
|
6
|
+
|
|
7
|
+
// src/workbench/index.ts
|
|
8
|
+
import { createElement } from "react";
|
|
9
|
+
var defaultIssueManagerWorkbenchTypeId = "issue-manager";
|
|
10
|
+
var defaultIssueManagerNodeFrame = {
|
|
11
|
+
height: 620,
|
|
12
|
+
width: 960,
|
|
13
|
+
x: 220,
|
|
14
|
+
y: 120
|
|
15
|
+
};
|
|
16
|
+
function createIssueManagerWorkbenchNodeDefinition({
|
|
17
|
+
feature,
|
|
18
|
+
frame = defaultIssueManagerNodeFrame,
|
|
19
|
+
title,
|
|
20
|
+
typeId = defaultIssueManagerWorkbenchTypeId
|
|
21
|
+
}) {
|
|
22
|
+
return {
|
|
23
|
+
frame,
|
|
24
|
+
instance: {
|
|
25
|
+
mode: "single"
|
|
26
|
+
},
|
|
27
|
+
renderBody: (context) => createElement(IssueManagerNode, {
|
|
28
|
+
feature,
|
|
29
|
+
nodeId: context.node.id,
|
|
30
|
+
state: context.externalNodeState,
|
|
31
|
+
workspaceId: context.externalWorkspaceState.workspaceId ?? ""
|
|
32
|
+
}),
|
|
33
|
+
title: title ?? feature.i18n.t("title"),
|
|
34
|
+
typeId,
|
|
35
|
+
window: {
|
|
36
|
+
closable: true,
|
|
37
|
+
defaultOpen: false,
|
|
38
|
+
minimizable: true,
|
|
39
|
+
restoreOnLoad: true
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function createIssueManagerDockEntry({
|
|
44
|
+
dockIcon,
|
|
45
|
+
feature,
|
|
46
|
+
id,
|
|
47
|
+
order,
|
|
48
|
+
sectionId,
|
|
49
|
+
typeId = defaultIssueManagerWorkbenchTypeId
|
|
50
|
+
}) {
|
|
51
|
+
return {
|
|
52
|
+
icon: dockIcon ?? createElement(DefaultIssueManagerDockIcon),
|
|
53
|
+
id: id ?? typeId,
|
|
54
|
+
label: feature.i18n.t("dockLabel"),
|
|
55
|
+
launchBehavior: "enabled",
|
|
56
|
+
matchNode: (node) => node.data.typeId === typeId,
|
|
57
|
+
order,
|
|
58
|
+
resolvePopupItem: ({ node }) => ({
|
|
59
|
+
title: node.title
|
|
60
|
+
}),
|
|
61
|
+
sectionId,
|
|
62
|
+
typeId,
|
|
63
|
+
visibility: "always"
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function createIssueManagerWorkbenchLaunchHandler({
|
|
67
|
+
frame = defaultIssueManagerNodeFrame,
|
|
68
|
+
title,
|
|
69
|
+
typeId = defaultIssueManagerWorkbenchTypeId
|
|
70
|
+
} = {}) {
|
|
71
|
+
return (request) => {
|
|
72
|
+
if (request.typeId !== typeId) {
|
|
73
|
+
return Promise.resolve(null);
|
|
74
|
+
}
|
|
75
|
+
return Promise.resolve({
|
|
76
|
+
defaultFrame: frame,
|
|
77
|
+
dockEntryId: request.dockEntryId ?? typeId,
|
|
78
|
+
framePolicy: "cascade",
|
|
79
|
+
instanceId: typeId,
|
|
80
|
+
title,
|
|
81
|
+
typeId
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
function DefaultIssueManagerDockIcon() {
|
|
86
|
+
return createElement(
|
|
87
|
+
"span",
|
|
88
|
+
{
|
|
89
|
+
"aria-hidden": "true",
|
|
90
|
+
className: "workspace-issue-manager__dock-icon"
|
|
91
|
+
},
|
|
92
|
+
"!"
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
export {
|
|
96
|
+
createIssueManagerDockEntry,
|
|
97
|
+
createIssueManagerWorkbenchLaunchHandler,
|
|
98
|
+
createIssueManagerWorkbenchNodeDefinition,
|
|
99
|
+
defaultIssueManagerWorkbenchTypeId
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/workbench/index.ts"],"sourcesContent":["import { createElement, type ReactNode } from \"react\";\nimport type {\n WorkbenchFrame,\n WorkbenchHostDockEntry,\n WorkbenchHostLaunchRequest,\n WorkbenchHostLaunchResult,\n WorkbenchHostNodeDefinition\n} from \"@nextop-os/workbench-surface\";\nimport type { IssueManagerNodeState } from \"../contracts/index.ts\";\nimport type { IssueManagerFeature } from \"../core/index.ts\";\nimport { IssueManagerNode } from \"../react/IssueManagerNode.tsx\";\n\nexport interface IssueManagerExternalWorkspaceState {\n workspaceId?: string | null;\n}\n\nexport interface CreateIssueManagerWorkbenchNodeDefinitionInput {\n feature: IssueManagerFeature;\n frame?: WorkbenchFrame;\n title?: string;\n typeId?: string;\n}\n\nexport interface CreateIssueManagerWorkbenchLaunchHandlerInput {\n frame?: WorkbenchFrame;\n title?: string;\n typeId?: string;\n}\n\nexport interface CreateIssueManagerDockEntryInput {\n dockIcon?: ReactNode;\n feature: IssueManagerFeature;\n id?: string;\n order?: number;\n sectionId?: string;\n typeId?: string;\n}\n\nexport const defaultIssueManagerWorkbenchTypeId = \"issue-manager\";\n\nconst defaultIssueManagerNodeFrame: WorkbenchFrame = {\n height: 620,\n width: 960,\n x: 220,\n y: 120\n};\n\nexport function createIssueManagerWorkbenchNodeDefinition<\n TExternalWorkspaceState extends IssueManagerExternalWorkspaceState =\n IssueManagerExternalWorkspaceState\n>({\n feature,\n frame = defaultIssueManagerNodeFrame,\n title,\n typeId = defaultIssueManagerWorkbenchTypeId\n}: CreateIssueManagerWorkbenchNodeDefinitionInput): WorkbenchHostNodeDefinition<\n Partial<IssueManagerNodeState> | null,\n TExternalWorkspaceState\n> {\n return {\n frame,\n instance: {\n mode: \"single\"\n },\n renderBody: (context) =>\n createElement(IssueManagerNode, {\n feature,\n nodeId: context.node.id,\n state: context.externalNodeState,\n workspaceId: context.externalWorkspaceState.workspaceId ?? \"\"\n }),\n title: title ?? feature.i18n.t(\"title\"),\n typeId,\n window: {\n closable: true,\n defaultOpen: false,\n minimizable: true,\n restoreOnLoad: true\n }\n };\n}\n\nexport function createIssueManagerDockEntry({\n dockIcon,\n feature,\n id,\n order,\n sectionId,\n typeId = defaultIssueManagerWorkbenchTypeId\n}: CreateIssueManagerDockEntryInput): WorkbenchHostDockEntry {\n return {\n icon: dockIcon ?? createElement(DefaultIssueManagerDockIcon),\n id: id ?? typeId,\n label: feature.i18n.t(\"dockLabel\"),\n launchBehavior: \"enabled\",\n matchNode: (node) => node.data.typeId === typeId,\n order,\n resolvePopupItem: ({ node }) => ({\n title: node.title\n }),\n sectionId,\n typeId,\n visibility: \"always\"\n };\n}\n\nexport function createIssueManagerWorkbenchLaunchHandler({\n frame = defaultIssueManagerNodeFrame,\n title,\n typeId = defaultIssueManagerWorkbenchTypeId\n}: CreateIssueManagerWorkbenchLaunchHandlerInput = {}): (\n request: WorkbenchHostLaunchRequest\n) => Promise<WorkbenchHostLaunchResult | null> {\n return (request) => {\n if (request.typeId !== typeId) {\n return Promise.resolve(null);\n }\n\n return Promise.resolve({\n defaultFrame: frame,\n dockEntryId: request.dockEntryId ?? typeId,\n framePolicy: \"cascade\",\n instanceId: typeId,\n title,\n typeId\n });\n };\n}\n\nfunction DefaultIssueManagerDockIcon() {\n return createElement(\n \"span\",\n {\n \"aria-hidden\": \"true\",\n className: \"workspace-issue-manager__dock-icon\"\n },\n \"!\"\n );\n}\n"],"mappings":";;;;;;;AAAA,SAAS,qBAAqC;AAsCvC,IAAM,qCAAqC;AAElD,IAAM,+BAA+C;AAAA,EACnD,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,GAAG;AAAA,EACH,GAAG;AACL;AAEO,SAAS,0CAGd;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,SAAS;AACX,GAGE;AACA,SAAO;AAAA,IACL;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,YAAY,CAAC,YACX,cAAc,kBAAkB;AAAA,MAC9B;AAAA,MACA,QAAQ,QAAQ,KAAK;AAAA,MACrB,OAAO,QAAQ;AAAA,MACf,aAAa,QAAQ,uBAAuB,eAAe;AAAA,IAC7D,CAAC;AAAA,IACH,OAAO,SAAS,QAAQ,KAAK,EAAE,OAAO;AAAA,IACtC;AAAA,IACA,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,aAAa;AAAA,MACb,aAAa;AAAA,MACb,eAAe;AAAA,IACjB;AAAA,EACF;AACF;AAEO,SAAS,4BAA4B;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AACX,GAA6D;AAC3D,SAAO;AAAA,IACL,MAAM,YAAY,cAAc,2BAA2B;AAAA,IAC3D,IAAI,MAAM;AAAA,IACV,OAAO,QAAQ,KAAK,EAAE,WAAW;AAAA,IACjC,gBAAgB;AAAA,IAChB,WAAW,CAAC,SAAS,KAAK,KAAK,WAAW;AAAA,IAC1C;AAAA,IACA,kBAAkB,CAAC,EAAE,KAAK,OAAO;AAAA,MAC/B,OAAO,KAAK;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAEO,SAAS,yCAAyC;AAAA,EACvD,QAAQ;AAAA,EACR;AAAA,EACA,SAAS;AACX,IAAmD,CAAC,GAEL;AAC7C,SAAO,CAAC,YAAY;AAClB,QAAI,QAAQ,WAAW,QAAQ;AAC7B,aAAO,QAAQ,QAAQ,IAAI;AAAA,IAC7B;AAEA,WAAO,QAAQ,QAAQ;AAAA,MACrB,cAAc;AAAA,MACd,aAAa,QAAQ,eAAe;AAAA,MACpC,aAAa;AAAA,MACb,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEA,SAAS,8BAA8B;AACrC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,eAAe;AAAA,MACf,WAAW;AAAA,IACb;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
|