@powerhousedao/builder-team-admin 0.0.1 → 0.0.3
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/dist/document-models/expense-report/hooks.d.ts +1 -1
- package/dist/document-models/expense-report/hooks.d.ts.map +1 -1
- package/dist/document-models/expense-report/module.d.ts +2 -2
- package/dist/document-models/expense-report/module.d.ts.map +1 -1
- package/dist/document-models/expense-report/module.js +4 -2
- package/dist/document-models/expense-report/src/reducers/wallet.d.ts +1 -1
- package/dist/document-models/expense-report/src/reducers/wallet.d.ts.map +1 -1
- package/dist/document-models/service-subscriptions/hooks.d.ts +1 -1
- package/dist/document-models/service-subscriptions/hooks.d.ts.map +1 -1
- package/dist/document-models/service-subscriptions/module.d.ts +2 -2
- package/dist/document-models/service-subscriptions/module.d.ts.map +1 -1
- package/dist/document-models/service-subscriptions/module.js +4 -2
- package/dist/document-models/service-subscriptions/src/reducers/categories.d.ts +1 -1
- package/dist/document-models/service-subscriptions/src/reducers/categories.d.ts.map +1 -1
- package/dist/document-models/service-subscriptions/src/reducers/subscriptions.d.ts +1 -1
- package/dist/document-models/service-subscriptions/src/reducers/subscriptions.d.ts.map +1 -1
- package/dist/document-models/service-subscriptions/src/reducers/vendors.d.ts +1 -1
- package/dist/document-models/service-subscriptions/src/reducers/vendors.d.ts.map +1 -1
- package/dist/editors/builder-team-admin/components/ExpenseReportsStats.d.ts +1 -1
- package/dist/editors/builder-team-admin/components/ExpenseReportsStats.d.ts.map +1 -1
- package/dist/editors/builder-team-admin/components/overview/SubscriptionsStats.d.ts +1 -1
- package/dist/editors/builder-team-admin/components/overview/SubscriptionsStats.d.ts.map +1 -1
- package/dist/editors/service-subscriptions-editor/components/AddCategoryModal.js +1 -1
- package/dist/editors/service-subscriptions-editor/components/AddSubscriptionModal.d.ts +1 -1
- package/dist/editors/service-subscriptions-editor/components/AddSubscriptionModal.d.ts.map +1 -1
- package/dist/editors/service-subscriptions-editor/components/AddSubscriptionModal.js +1 -1
- package/dist/editors/service-subscriptions-editor/components/AddVendorModal.js +1 -1
- package/dist/editors/service-subscriptions-editor/components/CategoriesList.d.ts +1 -1
- package/dist/editors/service-subscriptions-editor/components/CategoriesList.d.ts.map +1 -1
- package/dist/editors/service-subscriptions-editor/components/CategoriesList.js +1 -1
- package/dist/editors/service-subscriptions-editor/components/EditName.js +1 -1
- package/dist/editors/service-subscriptions-editor/components/StatsOverview.d.ts +1 -1
- package/dist/editors/service-subscriptions-editor/components/StatsOverview.d.ts.map +1 -1
- package/dist/editors/service-subscriptions-editor/components/SubscriptionsList.d.ts +1 -1
- package/dist/editors/service-subscriptions-editor/components/SubscriptionsList.d.ts.map +1 -1
- package/dist/editors/service-subscriptions-editor/components/SubscriptionsList.js +1 -1
- package/dist/editors/service-subscriptions-editor/components/VendorsList.d.ts +1 -1
- package/dist/editors/service-subscriptions-editor/components/VendorsList.d.ts.map +1 -1
- package/dist/editors/service-subscriptions-editor/components/VendorsList.js +1 -1
- package/dist/editors/service-subscriptions-editor/editor.js +1 -1
- package/dist/package.json +1 -1
- package/dist/powerhouse.manifest.json +9 -1
- package/dist/subgraphs/service-subscriptions/resolvers.js +1 -1
- package/package.json +1 -1
- package/dist/document-models/builders/actions.d.ts +0 -14
- package/dist/document-models/builders/actions.d.ts.map +0 -1
- package/dist/document-models/builders/actions.js +0 -4
- package/dist/document-models/builders/gen/actions.d.ts +0 -4
- package/dist/document-models/builders/gen/actions.d.ts.map +0 -1
- package/dist/document-models/builders/gen/actions.js +0 -1
- package/dist/document-models/builders/gen/builders/actions.d.ts +0 -12
- package/dist/document-models/builders/gen/builders/actions.d.ts.map +0 -1
- package/dist/document-models/builders/gen/builders/actions.js +0 -1
- package/dist/document-models/builders/gen/builders/creators.d.ts +0 -5
- package/dist/document-models/builders/gen/builders/creators.d.ts.map +0 -1
- package/dist/document-models/builders/gen/builders/creators.js +0 -4
- package/dist/document-models/builders/gen/builders/error.d.ts +0 -2
- package/dist/document-models/builders/gen/builders/error.d.ts.map +0 -1
- package/dist/document-models/builders/gen/builders/error.js +0 -1
- package/dist/document-models/builders/gen/builders/operations.d.ts +0 -8
- package/dist/document-models/builders/gen/builders/operations.d.ts.map +0 -1
- package/dist/document-models/builders/gen/builders/operations.js +0 -3
- package/dist/document-models/builders/gen/creators.d.ts +0 -3
- package/dist/document-models/builders/gen/creators.d.ts.map +0 -1
- package/dist/document-models/builders/gen/creators.js +0 -2
- package/dist/document-models/builders/gen/document-model.d.ts +0 -3
- package/dist/document-models/builders/gen/document-model.d.ts.map +0 -1
- package/dist/document-models/builders/gen/document-model.js +0 -59
- package/dist/document-models/builders/gen/document-schema.d.ts +0 -142
- package/dist/document-models/builders/gen/document-schema.d.ts.map +0 -1
- package/dist/document-models/builders/gen/document-schema.js +0 -33
- package/dist/document-models/builders/gen/document-type.d.ts +0 -2
- package/dist/document-models/builders/gen/document-type.d.ts.map +0 -1
- package/dist/document-models/builders/gen/document-type.js +0 -1
- package/dist/document-models/builders/gen/index.d.ts +0 -12
- package/dist/document-models/builders/gen/index.d.ts.map +0 -1
- package/dist/document-models/builders/gen/index.js +0 -11
- package/dist/document-models/builders/gen/ph-factories.d.ts +0 -23
- package/dist/document-models/builders/gen/ph-factories.d.ts.map +0 -1
- package/dist/document-models/builders/gen/ph-factories.js +0 -47
- package/dist/document-models/builders/gen/reducer.d.ts +0 -3
- package/dist/document-models/builders/gen/reducer.d.ts.map +0 -1
- package/dist/document-models/builders/gen/reducer.js +0 -21
- package/dist/document-models/builders/gen/schema/index.d.ts +0 -3
- package/dist/document-models/builders/gen/schema/index.d.ts.map +0 -1
- package/dist/document-models/builders/gen/schema/index.js +0 -2
- package/dist/document-models/builders/gen/schema/types.d.ts +0 -146
- package/dist/document-models/builders/gen/schema/types.d.ts.map +0 -1
- package/dist/document-models/builders/gen/schema/types.js +0 -1
- package/dist/document-models/builders/gen/schema/zod.d.ts +0 -13
- package/dist/document-models/builders/gen/schema/zod.d.ts.map +0 -1
- package/dist/document-models/builders/gen/schema/zod.js +0 -21
- package/dist/document-models/builders/gen/types.d.ts +0 -12
- package/dist/document-models/builders/gen/types.d.ts.map +0 -1
- package/dist/document-models/builders/gen/types.js +0 -1
- package/dist/document-models/builders/gen/utils.d.ts +0 -15
- package/dist/document-models/builders/gen/utils.d.ts.map +0 -1
- package/dist/document-models/builders/gen/utils.js +0 -51
- package/dist/document-models/builders/hooks.d.ts +0 -11
- package/dist/document-models/builders/hooks.d.ts.map +0 -1
- package/dist/document-models/builders/hooks.js +0 -26
- package/dist/document-models/builders/index.d.ts +0 -10
- package/dist/document-models/builders/index.d.ts.map +0 -1
- package/dist/document-models/builders/index.js +0 -9
- package/dist/document-models/builders/module.d.ts +0 -5
- package/dist/document-models/builders/module.d.ts.map +0 -1
- package/dist/document-models/builders/module.js +0 -10
- package/dist/document-models/builders/src/index.d.ts +0 -2
- package/dist/document-models/builders/src/index.d.ts.map +0 -1
- package/dist/document-models/builders/src/index.js +0 -1
- package/dist/document-models/builders/src/reducers/builders.d.ts +0 -3
- package/dist/document-models/builders/src/reducers/builders.d.ts.map +0 -1
- package/dist/document-models/builders/src/reducers/builders.js +0 -8
- package/dist/document-models/builders/src/tests/builders.test.d.ts +0 -6
- package/dist/document-models/builders/src/tests/builders.test.d.ts.map +0 -1
- package/dist/document-models/builders/src/tests/builders.test.js +0 -29
- package/dist/document-models/builders/src/tests/document-model.test.d.ts +0 -10
- package/dist/document-models/builders/src/tests/document-model.test.d.ts.map +0 -1
- package/dist/document-models/builders/src/tests/document-model.test.js +0 -104
- package/dist/document-models/builders/src/utils.d.ts +0 -2
- package/dist/document-models/builders/src/utils.d.ts.map +0 -1
- package/dist/document-models/builders/src/utils.js +0 -1
- package/dist/document-models/builders/utils.d.ts +0 -14
- package/dist/document-models/builders/utils.d.ts.map +0 -1
- package/dist/document-models/builders/utils.js +0 -7
- package/dist/document-models/expense-report/src/tests/document-model.test.d.ts +0 -10
- package/dist/document-models/expense-report/src/tests/document-model.test.d.ts.map +0 -1
- package/dist/document-models/expense-report/src/tests/document-model.test.js +0 -104
- package/dist/document-models/expense-report/src/tests/wallet.test.d.ts +0 -6
- package/dist/document-models/expense-report/src/tests/wallet.test.d.ts.map +0 -1
- package/dist/document-models/expense-report/src/tests/wallet.test.js +0 -159
- package/dist/editors/builders/editor.d.ts +0 -3
- package/dist/editors/builders/editor.d.ts.map +0 -1
- package/dist/editors/builders/editor.js +0 -204
- package/dist/editors/builders/module.d.ts +0 -4
- package/dist/editors/builders/module.d.ts.map +0 -1
- package/dist/editors/builders/module.js +0 -10
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { DocumentToolbar } from "@powerhousedao/design-system/connect";
|
|
3
|
-
import { useSelectedBuildersDocument } from "../../document-models/builders/hooks.js";
|
|
4
|
-
import { actions as buildersActions } from "../../document-models/builders/actions.js";
|
|
5
|
-
import { setSelectedNode, useParentFolderForSelectedNode, useDocumentsInSelectedDrive, useDrives, useGetDocuments, } from "@powerhousedao/reactor-browser";
|
|
6
|
-
import { useMemo, useCallback } from "react";
|
|
7
|
-
import { ObjectSetTable, PHIDInput, } from "@powerhousedao/document-engineering";
|
|
8
|
-
/** Implement your editor behavior here */
|
|
9
|
-
export default function Editor() {
|
|
10
|
-
const [doc, dispatch] = useSelectedBuildersDocument();
|
|
11
|
-
// Get the parent folder node for the currently selected node
|
|
12
|
-
const parentFolder = useParentFolderForSelectedNode();
|
|
13
|
-
// Set the selected node to the parent folder node (close the editor)
|
|
14
|
-
function handleClose() {
|
|
15
|
-
setSelectedNode(parentFolder?.id);
|
|
16
|
-
}
|
|
17
|
-
const drives = useDrives();
|
|
18
|
-
// Map all builder profile FileNodes from all drives with their driveId
|
|
19
|
-
const builderProfileNodesWithDriveId = useMemo(() => {
|
|
20
|
-
if (!drives)
|
|
21
|
-
return [];
|
|
22
|
-
return drives.flatMap((drive) => {
|
|
23
|
-
const builderProfileNodes = drive.state.global.nodes.filter((node) => node.kind === "file" &&
|
|
24
|
-
"documentType" in node &&
|
|
25
|
-
node.documentType === "powerhouse/builder-profile");
|
|
26
|
-
return builderProfileNodes.map((node) => ({
|
|
27
|
-
node,
|
|
28
|
-
driveId: drive.header.id,
|
|
29
|
-
}));
|
|
30
|
-
});
|
|
31
|
-
}, [drives]);
|
|
32
|
-
// Get all unique builder PHIDs from the nodes
|
|
33
|
-
const builderPhids = useMemo(() => {
|
|
34
|
-
return builderProfileNodesWithDriveId.map(({ node }) => node.id);
|
|
35
|
-
}, [builderProfileNodesWithDriveId]);
|
|
36
|
-
// Fetch all builder profile documents from all drives
|
|
37
|
-
const builderProfileDocuments = useGetDocuments(builderPhids);
|
|
38
|
-
// Create a map of PHID to document for quick lookup
|
|
39
|
-
const builderProfileMap = useMemo(() => {
|
|
40
|
-
if (!builderProfileDocuments)
|
|
41
|
-
return new Map();
|
|
42
|
-
const map = new Map();
|
|
43
|
-
builderProfileDocuments.forEach((doc) => {
|
|
44
|
-
if (doc.header.documentType === "powerhouse/builder-profile") {
|
|
45
|
-
map.set(doc.header.id, doc);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
return map;
|
|
49
|
-
}, [builderProfileDocuments]);
|
|
50
|
-
// Helper function to get builder profile documents from all drives
|
|
51
|
-
const getBuilderProfiles = useCallback(() => {
|
|
52
|
-
return builderProfileNodesWithDriveId.map(({ node }) => {
|
|
53
|
-
const doc = builderProfileMap.get(node.id);
|
|
54
|
-
const name = doc?.state?.global?.name || node.name || node.id;
|
|
55
|
-
return {
|
|
56
|
-
id: node.id,
|
|
57
|
-
label: name,
|
|
58
|
-
value: node.id,
|
|
59
|
-
title: name,
|
|
60
|
-
};
|
|
61
|
-
});
|
|
62
|
-
}, [builderProfileNodesWithDriveId, builderProfileMap]);
|
|
63
|
-
// Helper function to get builder profile data by PHID from all drives
|
|
64
|
-
const getBuilderProfileByPhid = (phid) => {
|
|
65
|
-
const doc = builderProfileMap.get(phid);
|
|
66
|
-
if (!doc)
|
|
67
|
-
return null;
|
|
68
|
-
return {
|
|
69
|
-
name: doc.state.global?.name || doc.header.id,
|
|
70
|
-
slug: doc.state.global?.slug || doc.header.id,
|
|
71
|
-
icon: doc.state.global?.icon || null,
|
|
72
|
-
};
|
|
73
|
-
};
|
|
74
|
-
const builders = useMemo(() => {
|
|
75
|
-
return doc?.state.global.builders.map((phid) => ({
|
|
76
|
-
phid: phid,
|
|
77
|
-
name: getBuilderProfileByPhid(phid)?.name || "",
|
|
78
|
-
slug: getBuilderProfileByPhid(phid)?.slug || "",
|
|
79
|
-
icon: getBuilderProfileByPhid(phid)?.icon || null,
|
|
80
|
-
}));
|
|
81
|
-
}, [doc, builderProfileMap]);
|
|
82
|
-
const columns = useMemo(() => [
|
|
83
|
-
{
|
|
84
|
-
field: "phid",
|
|
85
|
-
title: "PHID",
|
|
86
|
-
editable: true,
|
|
87
|
-
align: "center",
|
|
88
|
-
width: 200,
|
|
89
|
-
onSave: (newValue, context) => {
|
|
90
|
-
const currentId = context.row.phid || "";
|
|
91
|
-
if (newValue !== currentId && newValue && currentId) {
|
|
92
|
-
// First remove the old agent
|
|
93
|
-
dispatch(buildersActions.removeBuilder({ builderPhid: currentId }));
|
|
94
|
-
// Then add the new agent with the new PHID
|
|
95
|
-
dispatch(buildersActions.addBuilder({
|
|
96
|
-
builderPhid: newValue,
|
|
97
|
-
}));
|
|
98
|
-
return true;
|
|
99
|
-
}
|
|
100
|
-
return false;
|
|
101
|
-
},
|
|
102
|
-
renderCellEditor: (value, onChange, context) => (_jsx(PHIDInput, { value: value || "", onChange: (newValue) => {
|
|
103
|
-
onChange(newValue);
|
|
104
|
-
}, onBlur: (e) => {
|
|
105
|
-
const newValue = e.target.value;
|
|
106
|
-
const currentValue = value || "";
|
|
107
|
-
// If a PHID is entered and it's different from current value
|
|
108
|
-
if (newValue && newValue !== currentValue) {
|
|
109
|
-
const builderProfile = getBuilderProfileByPhid(newValue);
|
|
110
|
-
const existingBuilder = builders?.find((builder) => builder?.phid === newValue);
|
|
111
|
-
if (!existingBuilder) {
|
|
112
|
-
// If we're editing an existing row (has an ID), remove the old one first
|
|
113
|
-
if (context.row.phid && context.row.phid !== newValue) {
|
|
114
|
-
dispatch(buildersActions.removeBuilder({
|
|
115
|
-
builderPhid: context.row.phid,
|
|
116
|
-
}));
|
|
117
|
-
}
|
|
118
|
-
if (builderProfile) {
|
|
119
|
-
// Create new agent with data from builder profile
|
|
120
|
-
dispatch(buildersActions.addBuilder({
|
|
121
|
-
builderPhid: newValue,
|
|
122
|
-
}));
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
// Manual PHID entry - create agent with empty data that user can fill
|
|
126
|
-
dispatch(buildersActions.addBuilder({
|
|
127
|
-
builderPhid: newValue,
|
|
128
|
-
}));
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}, placeholder: "Enter PHID", className: "w-full", variant: "withValueAndTitle", initialOptions: getBuilderProfiles(), fetchOptionsCallback: async (userInput) => {
|
|
133
|
-
const builderProfiles = getBuilderProfiles();
|
|
134
|
-
// Filter profiles based on user input
|
|
135
|
-
if (!userInput.trim()) {
|
|
136
|
-
return builderProfiles;
|
|
137
|
-
}
|
|
138
|
-
const filteredProfiles = builderProfiles.filter((profile) => profile.label
|
|
139
|
-
.toLowerCase()
|
|
140
|
-
.includes(userInput.toLowerCase()) ||
|
|
141
|
-
profile.id.toLowerCase().includes(userInput.toLowerCase()));
|
|
142
|
-
return filteredProfiles;
|
|
143
|
-
} })),
|
|
144
|
-
renderCell: (value) => {
|
|
145
|
-
if (value === "" || !value) {
|
|
146
|
-
return (_jsx("div", { className: "font-light italic text-gray-500 text-center", children: "+ Double-click to add new builder (enter or click outside to save)" }));
|
|
147
|
-
}
|
|
148
|
-
return _jsx("div", { className: "text-center font-mono text-sm", children: value });
|
|
149
|
-
},
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
field: "name",
|
|
153
|
-
title: "Builder Name",
|
|
154
|
-
editable: false,
|
|
155
|
-
align: "center",
|
|
156
|
-
width: 200,
|
|
157
|
-
renderCell: (value) => {
|
|
158
|
-
return _jsx("div", { className: "text-center", children: value });
|
|
159
|
-
},
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
field: "slug",
|
|
163
|
-
title: "Builder Slug",
|
|
164
|
-
editable: false,
|
|
165
|
-
align: "center",
|
|
166
|
-
width: 200,
|
|
167
|
-
renderCell: (value) => {
|
|
168
|
-
return _jsx("div", { className: "text-center", children: value });
|
|
169
|
-
},
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
field: "icon",
|
|
173
|
-
title: "Icon",
|
|
174
|
-
editable: false,
|
|
175
|
-
align: "center",
|
|
176
|
-
width: 150,
|
|
177
|
-
renderCell: (value, context) => {
|
|
178
|
-
if (!context.row.icon) {
|
|
179
|
-
return null;
|
|
180
|
-
}
|
|
181
|
-
return (_jsx("div", { className: "text-center", children: _jsx("img", { src: context.row.icon, alt: "Agent icon", className: "w-10 h-10 rounded-sm mx-auto object-cover", onError: (e) => {
|
|
182
|
-
e.currentTarget.style.display = "none";
|
|
183
|
-
e.currentTarget.nextElementSibling?.classList.remove("hidden");
|
|
184
|
-
} }) }));
|
|
185
|
-
},
|
|
186
|
-
},
|
|
187
|
-
], [builders, builderProfileMap, getBuilderProfiles]);
|
|
188
|
-
return (_jsxs("div", { className: "w-full bg-gray-50", children: [_jsx(DocumentToolbar, { document: doc, onClose: handleClose }), _jsxs("div", { className: "p-2 max-w-4xl mx-auto min-h-screen", children: [_jsx("div", { className: "bg-white rounded-lg p-6 mb-6 shadow-sm text-center", children: _jsx("h1", { className: "text-3xl font-bold text-gray-900 mb-2", children: "Builders" }) }), _jsx("div", { className: "mt-4 bg-white", children: _jsx(ObjectSetTable, { columns: columns, data: builders || [], allowRowSelection: true, onDelete: (data) => {
|
|
189
|
-
if (data.length > 0) {
|
|
190
|
-
data.forEach((d) => {
|
|
191
|
-
dispatch(buildersActions.removeBuilder({ builderPhid: d.phid }));
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
}, onAdd: (data) => {
|
|
195
|
-
// Only add if we have a title (name) - PHID will be handled by the PHIDInput onChange
|
|
196
|
-
if (data.title) {
|
|
197
|
-
// Generate a temporary ID if no PHID is provided
|
|
198
|
-
const tempId = data.id || `temp-${Date.now()}`;
|
|
199
|
-
dispatch(buildersActions.addBuilder({
|
|
200
|
-
builderPhid: tempId,
|
|
201
|
-
}));
|
|
202
|
-
}
|
|
203
|
-
} }) })] })] }));
|
|
204
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../editors/builders/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,6DAA6D;AAC7D,eAAO,MAAM,QAAQ,EAAE,YAOtB,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { lazy } from "react";
|
|
2
|
-
/** Document editor module for the Todo List document type */
|
|
3
|
-
export const Builders = {
|
|
4
|
-
Component: lazy(() => import("./editor.js")),
|
|
5
|
-
documentTypes: ["powerhouse/builders"],
|
|
6
|
-
config: {
|
|
7
|
-
id: "builders-editor",
|
|
8
|
-
name: "builders",
|
|
9
|
-
},
|
|
10
|
-
};
|