@peers-app/peers-ui 0.13.6 → 0.14.0
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/components/left-bar.js +0 -9
- package/dist/components/router.js +0 -44
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/mention-configs.d.ts +0 -2
- package/dist/mention-configs.js +1 -38
- package/dist/screens/search/global-search.js +2 -4
- package/dist/screens/workflows/workflow-details.js +5 -56
- package/dist/system-apps/index.d.ts +0 -4
- package/dist/system-apps/index.js +1 -18
- package/dist/ui-defaults/index.d.ts +0 -1
- package/dist/ui-defaults/index.js +0 -1
- package/dist/ui-defaults/list-screen.js +0 -1
- package/docs/tabs-ui.md +6 -21
- package/package.json +3 -3
- package/src/components/left-bar.tsx +0 -12
- package/src/components/router.tsx +0 -48
- package/src/index.tsx +2 -2
- package/src/mention-configs.ts +1 -40
- package/src/screens/search/global-search.tsx +2 -6
- package/src/screens/workflows/workflow-details.tsx +3 -28
- package/src/system-apps/index.ts +0 -14
- package/src/ui-defaults/index.ts +0 -1
- package/src/ui-defaults/list-screen.tsx +0 -1
- package/dist/screens/events/cron.d.ts +0 -3
- package/dist/screens/events/cron.js +0 -77
- package/dist/screens/events/event-details.d.ts +0 -6
- package/dist/screens/events/event-details.js +0 -112
- package/dist/screens/events/event-handlers.d.ts +0 -7
- package/dist/screens/events/event-handlers.js +0 -84
- package/dist/screens/events/event-info.d.ts +0 -5
- package/dist/screens/events/event-info.js +0 -19
- package/dist/screens/events/event-list.d.ts +0 -2
- package/dist/screens/events/event-list.js +0 -107
- package/dist/screens/events/event-schedule.d.ts +0 -5
- package/dist/screens/events/event-schedule.js +0 -124
- package/dist/screens/knowledge/knowledge-frame-details.bk.d.ts +0 -6
- package/dist/screens/knowledge/knowledge-frame-details.bk.js +0 -84
- package/dist/screens/knowledge/knowledge-frame-details.d.ts +0 -8
- package/dist/screens/knowledge/knowledge-frame-details.js +0 -143
- package/dist/screens/knowledge/knowledge-frame-list.d.ts +0 -2
- package/dist/screens/knowledge/knowledge-frame-list.js +0 -45
- package/dist/screens/knowledge/knowledge-value-details.d.ts +0 -6
- package/dist/screens/knowledge/knowledge-value-details.js +0 -150
- package/dist/screens/knowledge/knowledge-value-list-item.d.ts +0 -5
- package/dist/screens/knowledge/knowledge-value-list-item.js +0 -39
- package/dist/screens/knowledge/knowledge-value-list.d.ts +0 -3
- package/dist/screens/knowledge/knowledge-value-list.js +0 -123
- package/dist/screens/predicates/predicate-details.d.ts +0 -6
- package/dist/screens/predicates/predicate-details.js +0 -103
- package/dist/screens/predicates/predicate-list.d.ts +0 -2
- package/dist/screens/predicates/predicate-list.js +0 -46
- package/dist/screens/workflows/workflow-subscriptions.d.ts +0 -6
- package/dist/screens/workflows/workflow-subscriptions.js +0 -81
- package/dist/system-apps/events.app.d.ts +0 -2
- package/dist/system-apps/events.app.js +0 -8
- package/dist/system-apps/knowledge-frames.app.d.ts +0 -2
- package/dist/system-apps/knowledge-frames.app.js +0 -9
- package/dist/system-apps/knowledge-values.app.d.ts +0 -2
- package/dist/system-apps/knowledge-values.app.js +0 -9
- package/dist/system-apps/predicates.app.d.ts +0 -2
- package/dist/system-apps/predicates.app.js +0 -8
- package/dist/ui-defaults/notes-editor.d.ts +0 -7
- package/dist/ui-defaults/notes-editor.js +0 -41
- package/src/screens/events/cron.ts +0 -74
- package/src/screens/events/event-details.tsx +0 -117
- package/src/screens/events/event-handlers.tsx +0 -61
- package/src/screens/events/event-info.tsx +0 -29
- package/src/screens/events/event-list.tsx +0 -104
- package/src/screens/events/event-schedule.tsx +0 -130
- package/src/screens/knowledge/knowledge-frame-details.bk.tsx +0 -160
- package/src/screens/knowledge/knowledge-frame-details.tsx +0 -176
- package/src/screens/knowledge/knowledge-frame-list.tsx +0 -49
- package/src/screens/knowledge/knowledge-value-details.tsx +0 -181
- package/src/screens/knowledge/knowledge-value-list-item.tsx +0 -48
- package/src/screens/knowledge/knowledge-value-list.tsx +0 -131
- package/src/screens/predicates/predicate-details.tsx +0 -125
- package/src/screens/predicates/predicate-list.tsx +0 -50
- package/src/screens/workflows/workflow-subscriptions.tsx +0 -58
- package/src/system-apps/events.app.ts +0 -7
- package/src/system-apps/knowledge-frames.app.ts +0 -8
- package/src/system-apps/knowledge-values.app.ts +0 -8
- package/src/system-apps/predicates.app.ts +0 -7
- package/src/ui-defaults/notes-editor.tsx +0 -51
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.KnowledgeValueDetails = void 0;
|
|
37
|
-
const peers_sdk_1 = require("@peers-app/peers-sdk");
|
|
38
|
-
const react_1 = __importStar(require("react"));
|
|
39
|
-
const input_1 = require("../../components/input");
|
|
40
|
-
const io_schema_values_1 = require("../../components/io-schema-values");
|
|
41
|
-
const loading_indicator_1 = require("../../components/loading-indicator");
|
|
42
|
-
const save_button_1 = require("../../components/save-button");
|
|
43
|
-
const tooltip_1 = require("../../components/tooltip");
|
|
44
|
-
const typeahead_1 = require("../../components/typeahead/typeahead");
|
|
45
|
-
const hooks_1 = require("../../hooks");
|
|
46
|
-
const mention_configs_1 = require("../../mention-configs");
|
|
47
|
-
const tabs_state_1 = require("../../tabs-layout/tabs-state");
|
|
48
|
-
const KnowledgeValueDetails = (props) => {
|
|
49
|
-
const knowledgeValue = (0, hooks_1.usePromise)(async () => {
|
|
50
|
-
const knowledgeValue = await (0, peers_sdk_1.KnowledgeValues)().get(props.knowledgeValueId);
|
|
51
|
-
if (!knowledgeValue) {
|
|
52
|
-
throw new Error('Knowledge Value not found');
|
|
53
|
-
}
|
|
54
|
-
(0, tabs_state_1.updateActiveTabTitle)(knowledgeValue.name || "Knowledge Value");
|
|
55
|
-
return (0, peers_sdk_1.KnowledgeValues)().initDoc(knowledgeValue);
|
|
56
|
-
}, undefined, [props.knowledgeValueId]);
|
|
57
|
-
// Force refresh when value type changes
|
|
58
|
-
const [forceRefreshOnTypeChange, setForceRefreshOnTypeChange] = (0, react_1.useState)((0, peers_sdk_1.newid)());
|
|
59
|
-
(0, react_1.useEffect)(() => {
|
|
60
|
-
if (!knowledgeValue)
|
|
61
|
-
return;
|
|
62
|
-
const sub = knowledgeValue.qs.peerTypeId.subscribe(() => {
|
|
63
|
-
setForceRefreshOnTypeChange((0, peers_sdk_1.newid)());
|
|
64
|
-
});
|
|
65
|
-
return () => {
|
|
66
|
-
sub.dispose();
|
|
67
|
-
};
|
|
68
|
-
}, [knowledgeValue]);
|
|
69
|
-
if (!(knowledgeValue)) {
|
|
70
|
-
return react_1.default.createElement(loading_indicator_1.LoadingIndicator, null);
|
|
71
|
-
}
|
|
72
|
-
async function saveChanges() {
|
|
73
|
-
if (!knowledgeValue)
|
|
74
|
-
return;
|
|
75
|
-
const type = await (0, peers_sdk_1.PeerTypes)().get(knowledgeValue.peerTypeId);
|
|
76
|
-
const existingFields = type?.schema.fields.map(f => f.name) || [];
|
|
77
|
-
const value = knowledgeValue.value || {};
|
|
78
|
-
for (const key of Object.keys(value)) {
|
|
79
|
-
if (!existingFields.includes(key)) {
|
|
80
|
-
delete value[key];
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
knowledgeValue.save();
|
|
84
|
-
}
|
|
85
|
-
return (react_1.default.createElement("div", { className: "container-fluid p-1" },
|
|
86
|
-
react_1.default.createElement(Autosave, { doc: knowledgeValue }),
|
|
87
|
-
react_1.default.createElement("div", { className: "d-flex" },
|
|
88
|
-
react_1.default.createElement("div", null,
|
|
89
|
-
react_1.default.createElement("h4", null,
|
|
90
|
-
react_1.default.createElement(KnowledgeValueIcon, { knowledgeValue: knowledgeValue }))),
|
|
91
|
-
react_1.default.createElement("div", { className: "flex-grow-1" },
|
|
92
|
-
react_1.default.createElement("h4", null,
|
|
93
|
-
react_1.default.createElement(input_1.Input, { className: 'border border-0', style: { width: '100%', outline: 'none', backgroundColor: 'transparent' }, value: knowledgeValue.qs.name, placeholder: "Name" }))),
|
|
94
|
-
react_1.default.createElement("div", null,
|
|
95
|
-
react_1.default.createElement(save_button_1.SaveButton, { key: knowledgeValue.knowledgeValueId, doc: knowledgeValue, onClick: saveChanges }))),
|
|
96
|
-
react_1.default.createElement(peers_sdk_1.PeersUI, { key: forceRefreshOnTypeChange, uiEditMode: "edit", uiCategory: "details", props: { knowledgeValue } },
|
|
97
|
-
react_1.default.createElement(KnowledgeValueDefaultEditor, { knowledgeValue: knowledgeValue }))));
|
|
98
|
-
};
|
|
99
|
-
exports.KnowledgeValueDetails = KnowledgeValueDetails;
|
|
100
|
-
const Autosave = (props) => {
|
|
101
|
-
let p = setTimeout(() => { }, 0);
|
|
102
|
-
const oldTypeId = props.doc.peerTypeId;
|
|
103
|
-
(0, hooks_1.useSubscription)(props.doc.q, () => {
|
|
104
|
-
clearTimeout(p);
|
|
105
|
-
p = setTimeout(() => {
|
|
106
|
-
if (props.doc.q() === 0)
|
|
107
|
-
return;
|
|
108
|
-
if (oldTypeId === props.doc.peerTypeId) {
|
|
109
|
-
props.doc.lastModified = new Date();
|
|
110
|
-
props.doc.save();
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
console.log('Not auto-saving because type changed which can cause unexpected data loss');
|
|
114
|
-
}
|
|
115
|
-
}, 2000);
|
|
116
|
-
});
|
|
117
|
-
return null;
|
|
118
|
-
};
|
|
119
|
-
const KnowledgeValueIcon = (props) => {
|
|
120
|
-
const { knowledgeValue } = props;
|
|
121
|
-
(0, hooks_1.useObservable)(knowledgeValue.qs.peerTypeId);
|
|
122
|
-
const valueType = (0, hooks_1.usePromise)(async () => {
|
|
123
|
-
const valueType = await (0, peers_sdk_1.PeerTypes)().get(knowledgeValue.peerTypeId, { useCache: true });
|
|
124
|
-
return valueType;
|
|
125
|
-
}, undefined, [knowledgeValue.peerTypeId]);
|
|
126
|
-
return (react_1.default.createElement(tooltip_1.Tooltip, { handle: react_1.default.createElement("i", { className: "btn btn-secondary dropdown-toggle me-2 " + (valueType?.iconClass || "bi bi-diagram-2-fill") }, "\u00A0"), positions: ['bottom', 'right', 'left'], genericContent: react_1.default.createElement("div", { style: { minWidth: 200 }, className: "bg-dark p-2" },
|
|
127
|
-
react_1.default.createElement("small", null, "Knowledge Type:"),
|
|
128
|
-
react_1.default.createElement(typeahead_1.Typeahead, { value: knowledgeValue.qs.peerTypeId, mentionConfigs: [mention_configs_1.valueTypeMentionConfig] })) }));
|
|
129
|
-
};
|
|
130
|
-
const KnowledgeValueDefaultEditor = (props) => {
|
|
131
|
-
const { knowledgeValue } = props;
|
|
132
|
-
const [peerTypeId] = (0, hooks_1.useObservable)(knowledgeValue.qs.peerTypeId);
|
|
133
|
-
const valueType = (0, hooks_1.usePromise)(async () => {
|
|
134
|
-
const valueType = await (0, peers_sdk_1.PeerTypes)().get(peerTypeId);
|
|
135
|
-
if (valueType) {
|
|
136
|
-
return (0, peers_sdk_1.PeerTypes)().initDoc(valueType);
|
|
137
|
-
}
|
|
138
|
-
}, null, [peerTypeId]);
|
|
139
|
-
if (valueType === undefined) {
|
|
140
|
-
return react_1.default.createElement("div", null,
|
|
141
|
-
"Value Type ",
|
|
142
|
-
peerTypeId,
|
|
143
|
-
" not found in database");
|
|
144
|
-
}
|
|
145
|
-
if (!valueType) {
|
|
146
|
-
return react_1.default.createElement(loading_indicator_1.LoadingIndicator, null);
|
|
147
|
-
}
|
|
148
|
-
return (react_1.default.createElement("div", null,
|
|
149
|
-
react_1.default.createElement(io_schema_values_1.IOSchemaValues, { q: knowledgeValue.q, ioSchema: valueType.schema, values: knowledgeValue.value || {}, excludeFields: ['name'] })));
|
|
150
|
-
};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.KnowledgeValueListItem = void 0;
|
|
7
|
-
const peers_sdk_1 = require("@peers-app/peers-sdk");
|
|
8
|
-
const react_1 = __importDefault(require("react"));
|
|
9
|
-
const zod_1 = require("zod");
|
|
10
|
-
const hooks_1 = require("../../hooks");
|
|
11
|
-
const ui_loader_1 = require("../../ui-router/ui-loader");
|
|
12
|
-
const KnowledgeValueListItem = (props) => {
|
|
13
|
-
const { knowledgeValue } = props;
|
|
14
|
-
const id = knowledgeValue.knowledgeValueId;
|
|
15
|
-
const _item = knowledgeValue.value;
|
|
16
|
-
const description = _item.description || _item.body || _item.content || _item.value;
|
|
17
|
-
const peerType = (0, hooks_1.usePromise)(async () => {
|
|
18
|
-
const peerType = await (0, peers_sdk_1.PeerTypes)().get(knowledgeValue.peerTypeId, { useCache: true });
|
|
19
|
-
return peerType;
|
|
20
|
-
}, undefined, [knowledgeValue.peerTypeId]);
|
|
21
|
-
const name = knowledgeValue.name || knowledgeValue.value?.name || knowledgeValue.knowledgeValueId;
|
|
22
|
-
return (react_1.default.createElement("div", { key: id, className: 'container-fluid pb-3' },
|
|
23
|
-
react_1.default.createElement("i", { style: { cursor: 'pointer' }, className: peerType?.iconClass || "bi bi-diagram-2-fill" }),
|
|
24
|
-
"\u00A0\u00A0",
|
|
25
|
-
react_1.default.createElement("a", { href: `#knowledge-values/${id}` }, name || 'No Name')));
|
|
26
|
-
};
|
|
27
|
-
exports.KnowledgeValueListItem = KnowledgeValueListItem;
|
|
28
|
-
(0, ui_loader_1.registerInternalPeersUI)({
|
|
29
|
-
peersUIId: '00m5enc2nj313e8neyf35f1gp',
|
|
30
|
-
component: exports.KnowledgeValueListItem,
|
|
31
|
-
propsSchema: zod_1.z.object({
|
|
32
|
-
knowledgeValue: peers_sdk_1.knowledgeValueSchema,
|
|
33
|
-
}),
|
|
34
|
-
routes: [{
|
|
35
|
-
// isMatch: (props) => true,
|
|
36
|
-
uiCategory: 'list-item',
|
|
37
|
-
uiEditMode: 'view',
|
|
38
|
-
}]
|
|
39
|
-
});
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.KnowledgeValueList = void 0;
|
|
37
|
-
const peers_sdk_1 = require("@peers-app/peers-sdk");
|
|
38
|
-
const react_1 = __importStar(require("react"));
|
|
39
|
-
const input_1 = require("../../components/input");
|
|
40
|
-
const lazy_list_1 = require("../../components/lazy-list");
|
|
41
|
-
const loading_indicator_1 = require("../../components/loading-indicator");
|
|
42
|
-
const globals_1 = require("../../globals");
|
|
43
|
-
const hooks_1 = require("../../hooks");
|
|
44
|
-
const ui_loader_1 = require("../../ui-router/ui-loader");
|
|
45
|
-
require("./knowledge-value-list-item");
|
|
46
|
-
const screenPathPart = 'knowledge-values';
|
|
47
|
-
// const icon = 'bi bi-diagram-2-fill';
|
|
48
|
-
const KnowledgeValueList = (props) => {
|
|
49
|
-
const [searchTextObs] = (0, react_1.useState)(() => (0, peers_sdk_1.observable)(''));
|
|
50
|
-
const [searchText] = (0, hooks_1.useObservable)(searchTextObs);
|
|
51
|
-
const [cursorObs] = (0, react_1.useState)(() => (0, peers_sdk_1.observable)());
|
|
52
|
-
const [allLoadedIds] = (0, react_1.useState)(() => new Set());
|
|
53
|
-
async function newCursor() {
|
|
54
|
-
const cursor = await (0, peers_sdk_1.KnowledgeValues)().cursor({}, { sortBy: ['-lastModified', '-knowledgeValueId'], textSearch: searchText });
|
|
55
|
-
cursorObs(cursor);
|
|
56
|
-
return cursor;
|
|
57
|
-
}
|
|
58
|
-
(0, react_1.useEffect)(() => {
|
|
59
|
-
cursorObs(undefined); // Clear existing cursor first
|
|
60
|
-
allLoadedIds.clear(); // Clear loaded IDs when search changes
|
|
61
|
-
newCursor();
|
|
62
|
-
}, [searchText]);
|
|
63
|
-
async function loadMore(existing) {
|
|
64
|
-
let moreMatches = [];
|
|
65
|
-
let cursor = cursorObs() || await newCursor();
|
|
66
|
-
for await (const nextRecord of cursor) {
|
|
67
|
-
// Skip if already loaded globally or in existing items
|
|
68
|
-
if (allLoadedIds.has(nextRecord.knowledgeValueId) ||
|
|
69
|
-
existing.some(e => e.knowledgeValueId === nextRecord.knowledgeValueId)) {
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
allLoadedIds.add(nextRecord.knowledgeValueId); // Track as loaded
|
|
73
|
-
moreMatches.push(nextRecord);
|
|
74
|
-
if (searchText.length && moreMatches.length > 5)
|
|
75
|
-
break;
|
|
76
|
-
if (moreMatches.length >= 50)
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
if (moreMatches.length === 0) {
|
|
80
|
-
cursorObs(undefined);
|
|
81
|
-
}
|
|
82
|
-
return moreMatches;
|
|
83
|
-
}
|
|
84
|
-
async function searchSubmit(evt) {
|
|
85
|
-
if (evt.key !== "Enter")
|
|
86
|
-
return;
|
|
87
|
-
const name = searchText.trim();
|
|
88
|
-
if (!name)
|
|
89
|
-
return;
|
|
90
|
-
const newKV = await (0, peers_sdk_1.KnowledgeValues)().insert({
|
|
91
|
-
knowledgeValueId: (0, peers_sdk_1.newid)(),
|
|
92
|
-
lastModified: new Date(),
|
|
93
|
-
name: name,
|
|
94
|
-
peerTypeId: "00m3g0ntcop3mrh6ynuzgekiy", // `Note` value type
|
|
95
|
-
value: {
|
|
96
|
-
body: '',
|
|
97
|
-
},
|
|
98
|
-
});
|
|
99
|
-
(0, globals_1.mainContentPath)(`${screenPathPart}/${newKV.knowledgeValueId}`);
|
|
100
|
-
}
|
|
101
|
-
return (react_1.default.createElement("div", { className: 'container-fluid' },
|
|
102
|
-
react_1.default.createElement("div", { className: "input-group mt-3 mb-3" },
|
|
103
|
-
react_1.default.createElement(input_1.Input, { value: searchTextObs, className: "form-control", placeholder: `Search or create knowledge`, autoFocus: (0, globals_1.isDesktop)() ? true : false, onKeyUp: evt => searchSubmit(evt) })),
|
|
104
|
-
react_1.default.createElement("div", { className: "peers-list-container" },
|
|
105
|
-
react_1.default.createElement(lazy_list_1.LazyList, { resetTrigger: searchText, loadMore: loadMore, scrollThreshold: 0.6, renderItems: (items) => {
|
|
106
|
-
// return items.map(item => <KnowledgeValueListItem key={item.knowledgeValueId} data={item} />);
|
|
107
|
-
return items.map(item => react_1.default.createElement(peers_sdk_1.PeersUI, { key: item.knowledgeValueId, uiEditMode: 'view', uiCategory: 'list-item', props: { knowledgeValue: item } }));
|
|
108
|
-
}, loadingIndicator: react_1.default.createElement("div", { className: "d-flex justify-content-center", style: { height: 200 } },
|
|
109
|
-
react_1.default.createElement(loading_indicator_1.LoadingIndicator, null)), endOfList: react_1.default.createElement("div", { className: "d-flex justify-content-center", style: { height: 200 } }) }))));
|
|
110
|
-
};
|
|
111
|
-
exports.KnowledgeValueList = KnowledgeValueList;
|
|
112
|
-
(0, ui_loader_1.registerInternalPeersUI)({
|
|
113
|
-
peersUIId: '00m5fshz2g6ea23v8z6y0a1ck',
|
|
114
|
-
component: exports.KnowledgeValueList,
|
|
115
|
-
routes: [
|
|
116
|
-
{
|
|
117
|
-
isMatch: (props, context) => context.path === 'knowledge-values',
|
|
118
|
-
// path: 'knowledge-values',
|
|
119
|
-
uiCategory: 'screen',
|
|
120
|
-
priority: 2
|
|
121
|
-
}
|
|
122
|
-
]
|
|
123
|
-
});
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.PredicateDetails = void 0;
|
|
37
|
-
const peers_sdk_1 = require("@peers-app/peers-sdk");
|
|
38
|
-
const react_1 = __importStar(require("react"));
|
|
39
|
-
const input_1 = require("../../components/input");
|
|
40
|
-
const loading_indicator_1 = require("../../components/loading-indicator");
|
|
41
|
-
const editor_inline_1 = require("../../components/markdown-editor/editor-inline");
|
|
42
|
-
const save_button_1 = require("../../components/save-button");
|
|
43
|
-
const tabs_1 = require("../../components/tabs");
|
|
44
|
-
const hooks_1 = require("../../hooks");
|
|
45
|
-
const tabs_state_1 = require("../../tabs-layout/tabs-state");
|
|
46
|
-
const PredicateDetails = (props) => {
|
|
47
|
-
const predicate = (0, hooks_1.usePromise)(async () => {
|
|
48
|
-
const predicate = await (0, peers_sdk_1.Predicates)().get(props.predicateId);
|
|
49
|
-
if (!predicate) {
|
|
50
|
-
throw new Error('Predicate not found');
|
|
51
|
-
}
|
|
52
|
-
const doc = (0, peers_sdk_1.Predicates)().initDoc(predicate);
|
|
53
|
-
(0, tabs_state_1.updateActiveTabTitle)(doc.name || "Predicate");
|
|
54
|
-
return doc;
|
|
55
|
-
}, undefined, [props.predicateId]);
|
|
56
|
-
(0, react_1.useEffect)(() => {
|
|
57
|
-
if (!predicate)
|
|
58
|
-
return;
|
|
59
|
-
const sub = predicate.qs.name.subscribe(() => {
|
|
60
|
-
predicate.name = predicate.qs.name().replaceAll(/\s/g, '_').replaceAll(/[^a-zA-Z0-9_-]/g, '');
|
|
61
|
-
});
|
|
62
|
-
return () => {
|
|
63
|
-
sub.dispose();
|
|
64
|
-
};
|
|
65
|
-
}, [predicate]);
|
|
66
|
-
if (!predicate) {
|
|
67
|
-
return react_1.default.createElement(loading_indicator_1.LoadingIndicator, null);
|
|
68
|
-
}
|
|
69
|
-
return (react_1.default.createElement("div", { className: "container-fluid p-3" },
|
|
70
|
-
react_1.default.createElement("div", { className: "d-flex" },
|
|
71
|
-
react_1.default.createElement("div", null,
|
|
72
|
-
react_1.default.createElement("h4", null,
|
|
73
|
-
react_1.default.createElement("i", { className: "me-2 bi bi-node-plus-fill" }))),
|
|
74
|
-
react_1.default.createElement("div", { className: "flex-grow-1" },
|
|
75
|
-
react_1.default.createElement("h4", null,
|
|
76
|
-
react_1.default.createElement(input_1.Input, { key: predicate.predicateId, className: 'border border-0', style: { width: '100%', outline: 'none', backgroundColor: 'transparent' }, value: predicate.qs.name }))),
|
|
77
|
-
react_1.default.createElement("div", null,
|
|
78
|
-
react_1.default.createElement(save_button_1.SaveButton, { key: predicate.predicateId, doc: predicate }))),
|
|
79
|
-
react_1.default.createElement(tabs_1.Tabs, { key: predicate.predicateId, tabs: [
|
|
80
|
-
{
|
|
81
|
-
name: 'Info', content: react_1.default.createElement(tabs_1.ScreenTabBody, null,
|
|
82
|
-
react_1.default.createElement(PredicateInfo, { predicate: predicate }))
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
name: 'Allowed Types', content: react_1.default.createElement(tabs_1.ScreenTabBody, null,
|
|
86
|
-
react_1.default.createElement(AllowedTypes, { predicate: predicate }))
|
|
87
|
-
},
|
|
88
|
-
] })));
|
|
89
|
-
};
|
|
90
|
-
exports.PredicateDetails = PredicateDetails;
|
|
91
|
-
const PredicateInfo = (props) => {
|
|
92
|
-
const { predicate } = props;
|
|
93
|
-
predicate.description = predicate.description || '';
|
|
94
|
-
return (react_1.default.createElement("div", null,
|
|
95
|
-
react_1.default.createElement("small", null, "Name:"),
|
|
96
|
-
react_1.default.createElement(input_1.Input, { value: predicate.qs.name, className: "form-control mb-3 p-0 ps-2", placeholder: "Variable name", title: "Variable name" }),
|
|
97
|
-
react_1.default.createElement("small", { className: "mt-2" }, "Description:"),
|
|
98
|
-
react_1.default.createElement(editor_inline_1.MarkdownEditorInline, { value: predicate.qs.description })));
|
|
99
|
-
};
|
|
100
|
-
const AllowedTypes = (props) => {
|
|
101
|
-
const { predicate } = props;
|
|
102
|
-
return (react_1.default.createElement("div", null));
|
|
103
|
-
};
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.PredicateList = PredicateList;
|
|
7
|
-
const react_1 = __importDefault(require("react"));
|
|
8
|
-
const peers_sdk_1 = require("@peers-app/peers-sdk");
|
|
9
|
-
const list_screen_1 = require("../../components/list-screen");
|
|
10
|
-
const markdown_with_mentions_1 = require("../../components/markdown-with-mentions");
|
|
11
|
-
const globals_1 = require("../../globals");
|
|
12
|
-
function PredicateList() {
|
|
13
|
-
const screenPathPart = 'predicates';
|
|
14
|
-
const icon = 'bi bi-node-plus-fill';
|
|
15
|
-
return (0, list_screen_1.ListScreen)({
|
|
16
|
-
table: (0, peers_sdk_1.Predicates)(),
|
|
17
|
-
sortBy: ['-predicateId'],
|
|
18
|
-
placeholderName: 'frame',
|
|
19
|
-
getFilter: (text) => {
|
|
20
|
-
return {
|
|
21
|
-
$or: [
|
|
22
|
-
{ name: { $matchWords: text } },
|
|
23
|
-
{ description: { $matchWords: text } },
|
|
24
|
-
]
|
|
25
|
-
};
|
|
26
|
-
},
|
|
27
|
-
newRecord: async (text) => {
|
|
28
|
-
text = text.trim().replace(/\s+/g, '_');
|
|
29
|
-
const item = await (0, peers_sdk_1.Predicates)().insert({
|
|
30
|
-
predicateId: (0, peers_sdk_1.newid)(),
|
|
31
|
-
name: text,
|
|
32
|
-
description: '',
|
|
33
|
-
});
|
|
34
|
-
(0, globals_1.mainContentPath)(`${screenPathPart}/${item.predicateId}`);
|
|
35
|
-
return item;
|
|
36
|
-
},
|
|
37
|
-
renderItem: (item) => {
|
|
38
|
-
return (react_1.default.createElement("div", { key: item.predicateId, className: 'container-fluid pb-4' },
|
|
39
|
-
react_1.default.createElement("i", { className: icon }),
|
|
40
|
-
"\u00A0",
|
|
41
|
-
react_1.default.createElement("a", { href: `#${screenPathPart}/${item.predicateId}` }, item.name || '<empty-name>'),
|
|
42
|
-
react_1.default.createElement("div", { style: { paddingLeft: '20px' } },
|
|
43
|
-
react_1.default.createElement(markdown_with_mentions_1.MarkdownWithMentions, { content: item.description || '' }))));
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { IDoc, IPeerEventHandler, IWorkflow, Observable } from "@peers-app/peers-sdk";
|
|
2
|
-
import React from "react";
|
|
3
|
-
export declare const WorkflowEventSubscriptions: (props: {
|
|
4
|
-
workflow: IDoc<IWorkflow>;
|
|
5
|
-
eventSubscriptions: Observable<IPeerEventHandler[]>;
|
|
6
|
-
}) => React.JSX.Element;
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.WorkflowEventSubscriptions = void 0;
|
|
37
|
-
const peers_sdk_1 = require("@peers-app/peers-sdk");
|
|
38
|
-
const lodash_1 = require("lodash");
|
|
39
|
-
const react_1 = __importStar(require("react"));
|
|
40
|
-
const loading_indicator_1 = require("../../components/loading-indicator");
|
|
41
|
-
const editor_inline_1 = require("../../components/markdown-editor/editor-inline");
|
|
42
|
-
const tooltip_1 = require("../../components/tooltip");
|
|
43
|
-
const hooks_1 = require("../../hooks");
|
|
44
|
-
const WorkflowEventSubscriptions = (props) => {
|
|
45
|
-
const { workflow, eventSubscriptions } = props;
|
|
46
|
-
const [subscriptionsMarkdown] = (0, react_1.useState)(() => (0, peers_sdk_1.observable)(''));
|
|
47
|
-
const markdownInitialized = (0, hooks_1.usePromise)(async () => {
|
|
48
|
-
const eventTypeIds = eventSubscriptions().map(h => h.peerEventTypeId);
|
|
49
|
-
const subscribedEvents = await (0, peers_sdk_1.PeerEventTypes)().list({ peerEventTypeId: { $in: eventTypeIds } });
|
|
50
|
-
const peerEventTypeNames = subscribedEvents.reduce((acc, evt) => ({ ...acc, [evt.peerEventTypeId]: evt.name }), {});
|
|
51
|
-
const mentions = eventTypeIds.map(eventTypeId => '- ' + (0, peers_sdk_1.formatMention)({ kind: 'event', id: eventTypeId, name: peerEventTypeNames[eventTypeId] ?? eventTypeId }));
|
|
52
|
-
const markdown = `${mentions.join('\n') || '- '}`;
|
|
53
|
-
subscriptionsMarkdown(markdown);
|
|
54
|
-
return true;
|
|
55
|
-
});
|
|
56
|
-
(0, hooks_1.useSubscription)(subscriptionsMarkdown, () => {
|
|
57
|
-
if (!markdownInitialized)
|
|
58
|
-
return;
|
|
59
|
-
const startEventTypeIds = eventSubscriptions().map(h => h.peerEventTypeId);
|
|
60
|
-
const eventTypeIds = (0, peers_sdk_1.getAllMentions)(subscriptionsMarkdown()).filter(m => m.kind === 'event').map(m => m.id);
|
|
61
|
-
if ((0, lodash_1.isEqual)(startEventTypeIds, eventTypeIds))
|
|
62
|
-
return;
|
|
63
|
-
const newHandler = eventTypeIds.map(eventTypeId => ({
|
|
64
|
-
peerEventHandlerId: (0, peers_sdk_1.newid)(),
|
|
65
|
-
peerEventTypeId: eventTypeId,
|
|
66
|
-
handlerWorkflowId: workflow.workflowId,
|
|
67
|
-
}));
|
|
68
|
-
eventSubscriptions(newHandler);
|
|
69
|
-
workflow.q(workflow.q() + 1);
|
|
70
|
-
});
|
|
71
|
-
if (!markdownInitialized) {
|
|
72
|
-
return react_1.default.createElement(loading_indicator_1.LoadingIndicator, null);
|
|
73
|
-
}
|
|
74
|
-
return (react_1.default.createElement("div", null,
|
|
75
|
-
react_1.default.createElement("div", { className: 'mt-2' },
|
|
76
|
-
react_1.default.createElement("small", null, "Mention events that should trigger this workflow:"),
|
|
77
|
-
react_1.default.createElement("small", null,
|
|
78
|
-
react_1.default.createElement(tooltip_1.Tooltip, { markdownContent: `The mentions will be reformatted as a bulleted list regardless of how they are entered. All other content except for event mentions will be discarded.` })),
|
|
79
|
-
react_1.default.createElement(editor_inline_1.MarkdownEditorInline, { value: subscriptionsMarkdown }))));
|
|
80
|
-
};
|
|
81
|
-
exports.WorkflowEventSubscriptions = WorkflowEventSubscriptions;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.knowledgeFramesApp = void 0;
|
|
4
|
-
exports.knowledgeFramesApp = {
|
|
5
|
-
name: 'Knowledge Frames',
|
|
6
|
-
displayName: 'K-Frames',
|
|
7
|
-
iconClassName: 'bi-window-dock',
|
|
8
|
-
navigationPath: 'knowledge-frames'
|
|
9
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.knowledgeValuesApp = void 0;
|
|
4
|
-
exports.knowledgeValuesApp = {
|
|
5
|
-
name: 'Knowledge Values',
|
|
6
|
-
displayName: 'K-Values',
|
|
7
|
-
iconClassName: 'bi-journal-bookmark-fill',
|
|
8
|
-
navigationPath: 'knowledge-values'
|
|
9
|
-
};
|