solid-ui 2.4.14-46ae8b5d → 2.4.14-alpha
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/LICENSE.md +0 -0
- package/README.md +0 -0
- package/lib/acl/access-controller.d.ts +0 -0
- package/lib/acl/access-controller.d.ts.map +0 -0
- package/lib/acl/access-controller.js +334 -441
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.d.ts +1 -1
- package/lib/acl/access-groups.d.ts.map +1 -1
- package/lib/acl/access-groups.js +347 -492
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.d.ts +0 -0
- package/lib/acl/acl-control.d.ts.map +0 -0
- package/lib/acl/acl-control.js +168 -198
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.d.ts +1 -1
- package/lib/acl/acl.d.ts.map +1 -1
- package/lib/acl/acl.js +444 -459
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.d.ts +0 -0
- package/lib/acl/add-agent-buttons.d.ts.map +0 -0
- package/lib/acl/add-agent-buttons.js +318 -515
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/acl/index.d.ts +0 -0
- package/lib/acl/index.d.ts.map +0 -0
- package/lib/acl/index.js +27 -35
- package/lib/acl/index.js.map +1 -1
- package/lib/acl/styles.d.ts +0 -0
- package/lib/acl/styles.d.ts.map +0 -0
- package/lib/acl/styles.js +84 -90
- package/lib/acl/styles.js.map +1 -1
- package/lib/acl/types.d.ts +0 -0
- package/lib/acl/types.d.ts.map +0 -0
- package/lib/acl/types.js +5 -4
- package/lib/acl/types.js.map +1 -1
- package/lib/authn/authSession.d.ts +0 -0
- package/lib/authn/authSession.d.ts.map +0 -0
- package/lib/authn/authSession.js +14 -21
- package/lib/authn/authSession.js.map +1 -1
- package/lib/authn/authn.d.ts +0 -0
- package/lib/authn/authn.d.ts.map +0 -0
- package/lib/authn/authn.js +1391 -1935
- package/lib/authn/authn.js.map +1 -1
- package/lib/authn/config-default.js +0 -0
- package/lib/authn/config-default.js.map +0 -0
- package/lib/authn/index.d.ts +0 -0
- package/lib/authn/index.d.ts.map +0 -0
- package/lib/authn/index.js +26 -37
- package/lib/authn/index.js.map +1 -1
- package/lib/authn/signup.js +0 -0
- package/lib/authn/signup.js.map +0 -0
- package/lib/authn/types.d.ts +0 -0
- package/lib/authn/types.d.ts.map +0 -0
- package/lib/authn/types.js +1 -4
- package/lib/authn/types.js.map +1 -1
- package/lib/chat/bookmarks.js +0 -0
- package/lib/chat/bookmarks.js.map +0 -0
- package/lib/chat/dateFolder.js +0 -0
- package/lib/chat/dateFolder.js.map +0 -0
- package/lib/chat/infinite.js +0 -0
- package/lib/chat/infinite.js.map +0 -0
- package/lib/chat/message.js +0 -0
- package/lib/chat/message.js.map +0 -0
- package/lib/chat/messageTools.js +0 -0
- package/lib/chat/messageTools.js.map +0 -0
- package/lib/chat/thread.js +0 -0
- package/lib/chat/thread.js.map +0 -0
- package/lib/create/create.d.ts +0 -0
- package/lib/create/create.d.ts.map +0 -0
- package/lib/create/create.js +209 -214
- package/lib/create/create.js.map +1 -1
- package/lib/create/index.d.ts +0 -0
- package/lib/create/index.d.ts.map +0 -0
- package/lib/create/index.js +4 -10
- package/lib/create/index.js.map +1 -1
- package/lib/create/types.d.ts +0 -0
- package/lib/create/types.d.ts.map +0 -0
- package/lib/create/types.js +1 -4
- package/lib/create/types.js.map +1 -1
- package/lib/debug.d.ts +0 -0
- package/lib/debug.d.ts.map +0 -0
- package/lib/debug.js +30 -28
- package/lib/debug.js.map +1 -1
- package/lib/folders.js +0 -0
- package/lib/folders.js.map +0 -0
- package/lib/footer/index.d.ts +0 -0
- package/lib/footer/index.d.ts.map +0 -0
- package/lib/footer/index.js +109 -126
- package/lib/footer/index.js.map +1 -1
- package/lib/footer/styleMap.d.ts +0 -0
- package/lib/footer/styleMap.d.ts.map +0 -0
- package/lib/footer/styleMap.js +7 -11
- package/lib/footer/styleMap.js.map +1 -1
- package/lib/header/empty-profile.d.ts +0 -0
- package/lib/header/empty-profile.d.ts.map +0 -0
- package/lib/header/empty-profile.js +2 -6
- package/lib/header/empty-profile.js.map +1 -1
- package/lib/header/index.d.ts +0 -0
- package/lib/header/index.d.ts.map +0 -0
- package/lib/header/index.js +285 -361
- package/lib/header/index.js.map +1 -1
- package/lib/header/styleMap.d.ts +0 -0
- package/lib/header/styleMap.d.ts.map +0 -0
- package/lib/header/styleMap.js +116 -132
- package/lib/header/styleMap.js.map +1 -1
- package/lib/iconBase.d.ts +0 -0
- package/lib/iconBase.d.ts.map +0 -0
- package/lib/iconBase.js +23 -30
- package/lib/iconBase.js.map +1 -1
- package/lib/icons/solid_logo.d.ts +0 -0
- package/lib/icons/solid_logo.d.ts.map +0 -0
- package/lib/icons/solid_logo.js +0 -0
- package/lib/icons/solid_logo.js.map +1 -1
- package/lib/index.d.ts +0 -0
- package/lib/index.d.ts.map +0 -0
- package/lib/index.js +103 -207
- package/lib/index.js.map +1 -1
- package/lib/jss/index.d.ts +0 -0
- package/lib/jss/index.d.ts.map +0 -0
- package/lib/jss/index.js +21 -30
- package/lib/jss/index.js.map +1 -1
- package/lib/log.d.ts +0 -0
- package/lib/log.d.ts.map +0 -0
- package/lib/log.js +83 -131
- package/lib/log.js.map +1 -1
- package/lib/logic.d.ts +0 -0
- package/lib/logic.d.ts.map +0 -0
- package/lib/logic.js +82 -69
- package/lib/logic.js.map +1 -1
- package/lib/matrix/index.d.ts +0 -0
- package/lib/matrix/index.d.ts.map +0 -0
- package/lib/matrix/index.js +4 -10
- package/lib/matrix/index.js.map +1 -1
- package/lib/matrix/matrix.d.ts +0 -0
- package/lib/matrix/matrix.d.ts.map +0 -0
- package/lib/matrix/matrix.js +210 -237
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/matrix/types.d.ts +0 -0
- package/lib/matrix/types.d.ts.map +0 -0
- package/lib/matrix/types.js +1 -4
- package/lib/matrix/types.js.map +1 -1
- package/lib/media/index.d.ts +0 -0
- package/lib/media/index.d.ts.map +0 -0
- package/lib/media/index.js +5 -11
- package/lib/media/index.js.map +1 -1
- package/lib/media/media-capture.d.ts +0 -0
- package/lib/media/media-capture.d.ts.map +0 -0
- package/lib/media/media-capture.js +187 -181
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +0 -0
- package/lib/messageArea.js.map +0 -0
- package/lib/noun_Camera_1618446_000000.js +0 -0
- package/lib/noun_Camera_1618446_000000.js.map +0 -0
- package/lib/ns.js +0 -0
- package/lib/ns.js.map +0 -0
- package/lib/pad.d.ts +0 -0
- package/lib/pad.d.ts.map +0 -0
- package/lib/pad.js +794 -954
- package/lib/pad.js.map +1 -1
- package/lib/participation.d.ts +0 -0
- package/lib/participation.d.ts.map +0 -0
- package/lib/participation.js +170 -199
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +0 -0
- package/lib/preferences.js.map +0 -0
- package/lib/stories/decorators.js +0 -0
- package/lib/stories/decorators.js.map +0 -0
- package/lib/style.js +0 -0
- package/lib/style.js.map +0 -0
- package/lib/table.js +0 -0
- package/lib/table.js.map +0 -0
- package/lib/tabs.d.ts +0 -0
- package/lib/tabs.d.ts.map +0 -0
- package/lib/tabs.js +235 -342
- package/lib/tabs.js.map +1 -1
- package/lib/typings.d.js +0 -0
- package/lib/typings.d.js.map +0 -0
- package/lib/utils/headerFooterHelpers.d.ts +0 -0
- package/lib/utils/headerFooterHelpers.d.ts.map +0 -0
- package/lib/utils/headerFooterHelpers.js +130 -155
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js +0 -0
- package/lib/utils/index.js.map +0 -0
- package/lib/utils/label.d.ts +0 -0
- package/lib/utils/label.d.ts.map +0 -0
- package/lib/utils/label.js +121 -113
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.d.ts +0 -0
- package/lib/versionInfo.d.ts.map +0 -0
- package/lib/versionInfo.js +23 -28
- package/lib/versionInfo.js.map +1 -1
- package/lib/webpack-bundle.js +9 -9
- package/lib/webpack-bundle.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.d.ts +0 -0
- package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
- package/lib/widgets/buttons/iconLinks.js +19 -30
- package/lib/widgets/buttons/iconLinks.js.map +1 -1
- package/lib/widgets/buttons.d.ts +0 -0
- package/lib/widgets/buttons.d.ts.map +0 -0
- package/lib/widgets/buttons.js +935 -1113
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +0 -0
- package/lib/widgets/dragAndDrop.js.map +0 -0
- package/lib/widgets/error.d.ts +0 -0
- package/lib/widgets/error.d.ts.map +0 -0
- package/lib/widgets/error.js +18 -24
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +234 -325
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.js +246 -276
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +317 -497
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/language.js +159 -212
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/publicData.js +485 -718
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.d.ts +0 -0
- package/lib/widgets/forms/basic.d.ts.map +0 -0
- package/lib/widgets/forms/basic.js +208 -239
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.d.ts +0 -0
- package/lib/widgets/forms/comment.d.ts.map +0 -0
- package/lib/widgets/forms/comment.js +48 -48
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldFunction.d.ts +0 -0
- package/lib/widgets/forms/fieldFunction.d.ts.map +0 -0
- package/lib/widgets/forms/fieldFunction.js +31 -50
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.d.ts +0 -0
- package/lib/widgets/forms/fieldParams.d.ts.map +0 -0
- package/lib/widgets/forms/fieldParams.js +102 -81
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.d.ts +0 -0
- package/lib/widgets/forms/formStyle.d.ts.map +0 -0
- package/lib/widgets/forms/formStyle.js +52 -50
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +0 -0
- package/lib/widgets/forms.js.map +0 -0
- package/lib/widgets/index.js +0 -0
- package/lib/widgets/index.js.map +0 -0
- package/lib/widgets/peoplePicker.js +0 -0
- package/lib/widgets/peoplePicker.js.map +0 -0
- package/lib/widgets/widgetHelpers.d.ts +0 -0
- package/lib/widgets/widgetHelpers.d.ts.map +0 -0
- package/lib/widgets/widgetHelpers.js +18 -30
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +5 -4
|
@@ -1,37 +1,69 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
9
13
|
});
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
function
|
|
31
|
-
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
31
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
32
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
33
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
34
|
+
function step(op) {
|
|
35
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
36
|
+
while (_) try {
|
|
37
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
38
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
39
|
+
switch (op[0]) {
|
|
40
|
+
case 0: case 1: t = op; break;
|
|
41
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
42
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
43
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
44
|
+
default:
|
|
45
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
46
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
47
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
48
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
49
|
+
if (t[2]) _.ops.pop();
|
|
50
|
+
_.trys.pop(); continue;
|
|
51
|
+
}
|
|
52
|
+
op = body.call(thisArg, _);
|
|
53
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
54
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
|
+
exports.autocompleteField = void 0;
|
|
32
59
|
/* Form field for doing autocompleete
|
|
33
60
|
*/
|
|
34
|
-
|
|
61
|
+
var ns = __importStar(require("../../../ns"));
|
|
62
|
+
var logic_1 = require("../../../logic");
|
|
63
|
+
var widgets = __importStar(require("../../../widgets"));
|
|
64
|
+
var style = __importStar(require("../../../style"));
|
|
65
|
+
var autocompleteBar_1 = require("./autocompleteBar");
|
|
66
|
+
var rdflib_1 = require("rdflib");
|
|
35
67
|
/**
|
|
36
68
|
* Render a autocomplete form field
|
|
37
69
|
*
|
|
@@ -58,255 +90,193 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
58
90
|
*/
|
|
59
91
|
// eslint-disable-next-line complexity
|
|
60
92
|
function autocompleteField(dom, container, already, subject, form, doc, callbackFunction) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
93
|
+
function addOneIdAndRefresh(result, name) {
|
|
94
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
95
|
+
var oldValue, oldName, deletables, insertables, err_1;
|
|
96
|
+
return __generator(this, function (_a) {
|
|
97
|
+
switch (_a.label) {
|
|
98
|
+
case 0:
|
|
99
|
+
if (!name) {
|
|
100
|
+
throw new Error('autocompleteField: No name set.');
|
|
101
|
+
}
|
|
102
|
+
oldValue = kb.the(subject, property, null, doc);
|
|
103
|
+
if (oldValue) {
|
|
104
|
+
oldName = kb.any(oldValue, labelProperty, null, doc);
|
|
105
|
+
if (oldValue.equals(result) && oldName && oldName.sameTerm(name)) {
|
|
106
|
+
// console.log('No change: same values.')
|
|
107
|
+
return [2 /*return*/];
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
deletables = oldValue
|
|
111
|
+
? kb.statementsMatching(subject, property, oldValue, doc)
|
|
112
|
+
.concat(kb.statementsMatching(oldValue, labelProperty, null, doc))
|
|
113
|
+
: [];
|
|
114
|
+
insertables = [(0, rdflib_1.st)(subject, property, result, doc),
|
|
115
|
+
(0, rdflib_1.st)(result, labelProperty, name, doc)] // @@ track the language of the name too!
|
|
116
|
+
;
|
|
117
|
+
_a.label = 1;
|
|
118
|
+
case 1:
|
|
119
|
+
_a.trys.push([1, 3, , 4]);
|
|
120
|
+
// console.log('@@@ AC updating ', deletables, insertables)
|
|
121
|
+
return [4 /*yield*/, kb.updater.updateMany(deletables, insertables)];
|
|
122
|
+
case 2:
|
|
123
|
+
// console.log('@@@ AC updating ', deletables, insertables)
|
|
124
|
+
_a.sent();
|
|
125
|
+
return [3 /*break*/, 4];
|
|
126
|
+
case 3:
|
|
127
|
+
err_1 = _a.sent();
|
|
128
|
+
callbackFunction(false, err_1);
|
|
129
|
+
box.appendChild(widgets.errorMessageBlock(dom, 'Autocomplete form data update error:' + err_1, null, err_1));
|
|
130
|
+
return [2 /*return*/];
|
|
131
|
+
case 4:
|
|
132
|
+
callbackFunction(true, '');
|
|
133
|
+
return [2 /*return*/];
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
function deleteOne(_result, _name) {
|
|
139
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
140
|
+
var oldValue, deletables, insertables, err_2, e2;
|
|
141
|
+
return __generator(this, function (_a) {
|
|
142
|
+
switch (_a.label) {
|
|
143
|
+
case 0:
|
|
144
|
+
oldValue = kb.the(subject, property, null, doc);
|
|
145
|
+
if (!oldValue) {
|
|
146
|
+
callbackFunction(false, 'NO data to elete');
|
|
147
|
+
box.appendChild(widgets.errorMessageBlock(dom, 'Autocomplete delete: no old data!'));
|
|
148
|
+
return [2 /*return*/];
|
|
149
|
+
}
|
|
150
|
+
deletables = kb.statementsMatching(subject, property, oldValue, doc)
|
|
151
|
+
.concat(kb.statementsMatching(oldValue, labelProperty, null, doc));
|
|
152
|
+
insertables = [];
|
|
153
|
+
_a.label = 1;
|
|
154
|
+
case 1:
|
|
155
|
+
_a.trys.push([1, 3, , 4]);
|
|
156
|
+
// console.log('@@@ AC updating ', deletables, insertables)
|
|
157
|
+
return [4 /*yield*/, kb.updater.updateMany(deletables, insertables)];
|
|
158
|
+
case 2:
|
|
159
|
+
// console.log('@@@ AC updating ', deletables, insertables)
|
|
160
|
+
_a.sent();
|
|
161
|
+
return [3 /*break*/, 4];
|
|
162
|
+
case 3:
|
|
163
|
+
err_2 = _a.sent();
|
|
164
|
+
e2 = new Error('Autocomplete form data delete error:' + err_2);
|
|
165
|
+
callbackFunction(false, err_2);
|
|
166
|
+
box.appendChild(widgets.errorMessageBlock(dom, e2, null, err_2));
|
|
167
|
+
return [2 /*return*/];
|
|
168
|
+
case 4:
|
|
169
|
+
callbackFunction(true, ''); // changed
|
|
170
|
+
return [2 /*return*/];
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
if (subject.termType !== 'NamedNode') {
|
|
176
|
+
throw new Error('Sorry this field only works on NamedNode subjects (for editable)');
|
|
177
|
+
}
|
|
178
|
+
var kb = logic_1.store;
|
|
179
|
+
var formDoc = form.doc ? form.doc() : null; // @@ if blank no way to know
|
|
180
|
+
var box = dom.createElement('div');
|
|
181
|
+
if (container)
|
|
182
|
+
container.appendChild(box);
|
|
183
|
+
var lhs = dom.createElement('div');
|
|
184
|
+
lhs.setAttribute('class', 'formFieldName');
|
|
185
|
+
lhs.setAttribute('style', style.formFieldNameBoxStyle);
|
|
186
|
+
box.appendChild(lhs);
|
|
187
|
+
var rhs = dom.createElement('div');
|
|
188
|
+
rhs.setAttribute('class', 'formFieldValue');
|
|
189
|
+
box.appendChild(rhs);
|
|
190
|
+
var property = kb.any(form, ns.ui('property'));
|
|
191
|
+
if (!property) {
|
|
192
|
+
return box.appendChild(widgets.errorMessageBlock(dom, 'Error: No property given for autocomplete field: ' + form));
|
|
193
|
+
}
|
|
194
|
+
var labelProperty = kb.any(form, ns.ui('labelProperty')) || ns.schema('name');
|
|
195
|
+
// Parse the data source into query options
|
|
196
|
+
var dataSource = kb.any(form, ns.ui('dataSource'));
|
|
197
|
+
if (!dataSource) {
|
|
198
|
+
// console.log('@@ connectedStatements ACF ', kb.connectedStatements(form).map(x => x.toNT()).join('\n'))
|
|
199
|
+
return box.appendChild(widgets.errorMessageBlock(dom, 'Error: No data source given for autocomplete field: ' + form));
|
|
200
|
+
}
|
|
201
|
+
var queryParams = {
|
|
202
|
+
// targetClass: kb.any(dataSource, ns.ui('targetClass'), null, dataSource.doc()) as NamedNode | undefined,
|
|
203
|
+
label: kb.anyJS(dataSource, ns.schema('name'), null, dataSource.doc()),
|
|
204
|
+
logo: (kb.any(dataSource, ns.schema('logo'), null, dataSource.doc()))
|
|
205
|
+
};
|
|
206
|
+
// @@ Should we pass the target class in from the data source definition or use a current type of the subject
|
|
207
|
+
var targetClass = (kb.any(form, ns.ui('targetClass'), null, form.doc()) || // class in form takes pecedence
|
|
208
|
+
kb.any(dataSource, ns.ui('targetClass'), null, dataSource.doc()));
|
|
209
|
+
if (targetClass) {
|
|
210
|
+
queryParams.targetClass = targetClass;
|
|
211
|
+
}
|
|
212
|
+
queryParams.objectURIBase = (kb.any(dataSource, ns.ui('objectURIBase'), null, dataSource.doc()) || undefined);
|
|
213
|
+
/*
|
|
214
|
+
if (!queryParams.targetClass) {
|
|
215
|
+
const klass = kb.any(subject, ns.rdf('type')) as NamedNode | undefined
|
|
216
|
+
// @@ be more selective of which class if many
|
|
217
|
+
// @@ todo: Take ALL classes, and compare them with those the data source knows about
|
|
218
|
+
// with translation where necessary. Find most specific of the classes for the search.
|
|
219
|
+
if (!klass) throw new Error('Autocomplete: No class specified or is current type of' + subject)
|
|
220
|
+
queryParams.targetClass = klass
|
|
221
|
+
}
|
|
222
|
+
*/
|
|
223
|
+
var endpoint = kb.anyJS(dataSource, ns.ui('endpoint'), null, dataSource.doc());
|
|
224
|
+
if (endpoint) { // SPARQL
|
|
225
|
+
queryParams.endpoint = endpoint;
|
|
226
|
+
queryParams.searchByNameQuery = kb.anyJS(dataSource, ns.ui('searchByNameQuery'), null, dataSource.doc());
|
|
227
|
+
if (!queryParams.searchByNameQuery) {
|
|
228
|
+
return box.appendChild(widgets.errorMessageBlock(dom, 'Error: No searchByNameQuery given for endpoint data Source: ' + form));
|
|
124
229
|
}
|
|
125
|
-
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
function _deleteOne() {
|
|
135
|
-
_deleteOne = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_result, _name) {
|
|
136
|
-
var oldValue, deletables, insertables, e2;
|
|
137
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
138
|
-
while (1) {
|
|
139
|
-
switch (_context2.prev = _context2.next) {
|
|
140
|
-
case 0:
|
|
141
|
-
oldValue = kb.the(subject, property, null, doc);
|
|
142
|
-
|
|
143
|
-
if (oldValue) {
|
|
144
|
-
_context2.next = 5;
|
|
145
|
-
break;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
callbackFunction(false, 'NO data to elete');
|
|
149
|
-
box.appendChild(widgets.errorMessageBlock(dom, 'Autocomplete delete: no old data!'));
|
|
150
|
-
return _context2.abrupt("return");
|
|
151
|
-
|
|
152
|
-
case 5:
|
|
153
|
-
// const oldName = kb.any(oldValue as any, labelProperty as any, null, doc)
|
|
154
|
-
deletables = kb.statementsMatching(subject, property, oldValue, doc).concat(kb.statementsMatching(oldValue, labelProperty, null, doc)); // console.log('autocompleteField Deletables ' + deletables.map(st => st.toNT()))
|
|
155
|
-
|
|
156
|
-
insertables = []; // console.log(`AC form delete: ${deletables.length} to delete and ${insertables.length} to insert`)
|
|
157
|
-
|
|
158
|
-
_context2.prev = 7;
|
|
159
|
-
_context2.next = 10;
|
|
160
|
-
return kb.updater.updateMany(deletables, insertables);
|
|
161
|
-
|
|
162
|
-
case 10:
|
|
163
|
-
_context2.next = 18;
|
|
164
|
-
break;
|
|
165
|
-
|
|
166
|
-
case 12:
|
|
167
|
-
_context2.prev = 12;
|
|
168
|
-
_context2.t0 = _context2["catch"](7);
|
|
169
|
-
e2 = new Error('Autocomplete form data delete error:' + _context2.t0);
|
|
170
|
-
callbackFunction(false, _context2.t0);
|
|
171
|
-
box.appendChild(widgets.errorMessageBlock(dom, e2, null, _context2.t0));
|
|
172
|
-
return _context2.abrupt("return");
|
|
173
|
-
|
|
174
|
-
case 18:
|
|
175
|
-
callbackFunction(true, ''); // changed
|
|
176
|
-
|
|
177
|
-
case 19:
|
|
178
|
-
case "end":
|
|
179
|
-
return _context2.stop();
|
|
180
|
-
}
|
|
230
|
+
queryParams.insitituteDetailsQuery = kb.anyJS(dataSource, ns.ui('insitituteDetailsQuery'), null, dataSource.doc());
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
// return box.appendChild(
|
|
234
|
+
// widgets.errorMessageBlock(dom, 'Error: No SPARQL endpoint given for autocomplete field: ' + form))
|
|
235
|
+
var searchByNameURI = kb.anyJS(dataSource, ns.ui('searchByNameURI'));
|
|
236
|
+
if (!searchByNameURI) {
|
|
237
|
+
return box.appendChild(widgets.errorMessageBlock(dom, 'Error: No searchByNameURI OR sparql endpoint given for dataSource: ' + dataSource));
|
|
181
238
|
}
|
|
182
|
-
|
|
183
|
-
}));
|
|
184
|
-
return _deleteOne.apply(this, arguments);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
if (subject.termType !== 'NamedNode') {
|
|
188
|
-
throw new Error('Sorry this field only works on NamedNode subjects (for editable)');
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
var kb = _logic.store;
|
|
192
|
-
var formDoc = form.doc ? form.doc() : null; // @@ if blank no way to know
|
|
193
|
-
|
|
194
|
-
var box = dom.createElement('div');
|
|
195
|
-
if (container) container.appendChild(box);
|
|
196
|
-
var lhs = dom.createElement('div');
|
|
197
|
-
lhs.setAttribute('class', 'formFieldName');
|
|
198
|
-
lhs.setAttribute('style', style.formFieldNameBoxStyle);
|
|
199
|
-
box.appendChild(lhs);
|
|
200
|
-
var rhs = dom.createElement('div');
|
|
201
|
-
rhs.setAttribute('class', 'formFieldValue');
|
|
202
|
-
box.appendChild(rhs);
|
|
203
|
-
var property = kb.any(form, ns.ui('property'));
|
|
204
|
-
|
|
205
|
-
if (!property) {
|
|
206
|
-
return box.appendChild(widgets.errorMessageBlock(dom, 'Error: No property given for autocomplete field: ' + form));
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
var labelProperty = kb.any(form, ns.ui('labelProperty')) || ns.schema('name'); // Parse the data source into query options
|
|
210
|
-
|
|
211
|
-
var dataSource = kb.any(form, ns.ui('dataSource'));
|
|
212
|
-
|
|
213
|
-
if (!dataSource) {
|
|
214
|
-
// console.log('@@ connectedStatements ACF ', kb.connectedStatements(form).map(x => x.toNT()).join('\n'))
|
|
215
|
-
return box.appendChild(widgets.errorMessageBlock(dom, 'Error: No data source given for autocomplete field: ' + form));
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
var queryParams = {
|
|
219
|
-
// targetClass: kb.any(dataSource, ns.ui('targetClass'), null, dataSource.doc()) as NamedNode | undefined,
|
|
220
|
-
label: kb.anyJS(dataSource, ns.schema('name'), null, dataSource.doc()),
|
|
221
|
-
logo: kb.any(dataSource, ns.schema('logo'), null, dataSource.doc())
|
|
222
|
-
}; // @@ Should we pass the target class in from the data source definition or use a current type of the subject
|
|
223
|
-
|
|
224
|
-
var targetClass = kb.any(form, ns.ui('targetClass'), null, form.doc()) || // class in form takes pecedence
|
|
225
|
-
kb.any(dataSource, ns.ui('targetClass'), null, dataSource.doc());
|
|
226
|
-
|
|
227
|
-
if (targetClass) {
|
|
228
|
-
queryParams.targetClass = targetClass;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
queryParams.objectURIBase = kb.any(dataSource, ns.ui('objectURIBase'), null, dataSource.doc()) || undefined;
|
|
232
|
-
/*
|
|
233
|
-
if (!queryParams.targetClass) {
|
|
234
|
-
const klass = kb.any(subject, ns.rdf('type')) as NamedNode | undefined
|
|
235
|
-
// @@ be more selective of which class if many
|
|
236
|
-
// @@ todo: Take ALL classes, and compare them with those the data source knows about
|
|
237
|
-
// with translation where necessary. Find most specific of the classes for the search.
|
|
238
|
-
if (!klass) throw new Error('Autocomplete: No class specified or is current type of' + subject)
|
|
239
|
-
queryParams.targetClass = klass
|
|
240
|
-
}
|
|
241
|
-
*/
|
|
242
|
-
|
|
243
|
-
var endpoint = kb.anyJS(dataSource, ns.ui('endpoint'), null, dataSource.doc());
|
|
244
|
-
|
|
245
|
-
if (endpoint) {
|
|
246
|
-
// SPARQL
|
|
247
|
-
queryParams.endpoint = endpoint;
|
|
248
|
-
queryParams.searchByNameQuery = kb.anyJS(dataSource, ns.ui('searchByNameQuery'), null, dataSource.doc());
|
|
249
|
-
|
|
250
|
-
if (!queryParams.searchByNameQuery) {
|
|
251
|
-
return box.appendChild(widgets.errorMessageBlock(dom, 'Error: No searchByNameQuery given for endpoint data Source: ' + form));
|
|
239
|
+
queryParams.searchByNameURI = searchByNameURI;
|
|
252
240
|
}
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
241
|
+
// It can be cleaner to just remove empty fields if you can't edit them anyway
|
|
242
|
+
var suppressEmptyUneditable = kb.anyJS(form, ns.ui('suppressEmptyUneditable'), null, formDoc);
|
|
243
|
+
var editable = kb.updater.editable(doc.uri);
|
|
244
|
+
var autocompleteOptions = {
|
|
245
|
+
permanent: true,
|
|
246
|
+
targetClass: queryParams.targetClass,
|
|
247
|
+
queryParams: queryParams
|
|
248
|
+
};
|
|
249
|
+
autocompleteOptions.size = kb.anyJS(form, ns.ui('size'), null, formDoc) || undefined;
|
|
250
|
+
var obj = kb.any(subject, property, undefined, doc);
|
|
251
|
+
if (!obj) {
|
|
252
|
+
obj = kb.any(form, ns.ui('default'));
|
|
253
|
+
if (obj) {
|
|
254
|
+
autocompleteOptions.currentObject = obj;
|
|
255
|
+
autocompleteOptions.currentName = kb.any(autocompleteOptions.currentObject, labelProperty, null, doc);
|
|
256
|
+
}
|
|
257
|
+
else { // No data or default. Should we suprress the whole field?
|
|
258
|
+
if (suppressEmptyUneditable && !editable) {
|
|
259
|
+
box.style.display = 'none'; // clutter removal
|
|
260
|
+
return box;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
262
263
|
}
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
var suppressEmptyUneditable = kb.anyJS(form, ns.ui('suppressEmptyUneditable'), null, formDoc);
|
|
269
|
-
var editable = kb.updater.editable(doc.uri);
|
|
270
|
-
var autocompleteOptions = {
|
|
271
|
-
// cancelButton?: HTMLElement,
|
|
272
|
-
permanent: true,
|
|
273
|
-
targetClass: queryParams.targetClass,
|
|
274
|
-
// @@ simplify?
|
|
275
|
-
queryParams: queryParams
|
|
276
|
-
};
|
|
277
|
-
autocompleteOptions.size = kb.anyJS(form, ns.ui('size'), null, formDoc) || undefined;
|
|
278
|
-
var obj = kb.any(subject, property, undefined, doc);
|
|
279
|
-
|
|
280
|
-
if (!obj) {
|
|
281
|
-
obj = kb.any(form, ns.ui('default'));
|
|
282
|
-
|
|
283
|
-
if (obj) {
|
|
284
|
-
autocompleteOptions.currentObject = obj;
|
|
285
|
-
autocompleteOptions.currentName = kb.any(autocompleteOptions.currentObject, labelProperty, null, doc);
|
|
286
|
-
} else {
|
|
287
|
-
// No data or default. Should we suprress the whole field?
|
|
288
|
-
if (suppressEmptyUneditable && !editable) {
|
|
289
|
-
box.style.display = 'none'; // clutter removal
|
|
290
|
-
|
|
291
|
-
return box;
|
|
292
|
-
}
|
|
264
|
+
else { // get object and name from target data:
|
|
265
|
+
autocompleteOptions.currentObject = obj;
|
|
266
|
+
autocompleteOptions.currentName = kb.any(autocompleteOptions.currentObject, labelProperty, null, doc);
|
|
293
267
|
}
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
rhs.appendChild(widgets.errorMessageBlock(dom, "Error rendering autocomplete ".concat(form, ": ").concat(err), '#fee', err)); //
|
|
309
|
-
});
|
|
310
|
-
return box;
|
|
311
|
-
} // ends
|
|
268
|
+
lhs.appendChild(widgets.fieldLabel(dom, property, form));
|
|
269
|
+
var barOptions = {
|
|
270
|
+
editable: editable,
|
|
271
|
+
dbLookup: true
|
|
272
|
+
};
|
|
273
|
+
(0, autocompleteBar_1.renderAutocompleteControl)(dom, subject, barOptions, autocompleteOptions, addOneIdAndRefresh, deleteOne).then(function (control) {
|
|
274
|
+
rhs.appendChild(control);
|
|
275
|
+
}, function (err) {
|
|
276
|
+
rhs.appendChild(widgets.errorMessageBlock(dom, "Error rendering autocomplete ".concat(form, ": ").concat(err), '#fee', err)); //
|
|
277
|
+
});
|
|
278
|
+
return box;
|
|
279
|
+
}
|
|
280
|
+
exports.autocompleteField = autocompleteField;
|
|
281
|
+
// ends
|
|
312
282
|
//# sourceMappingURL=autocompleteField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/widgets/forms/autocomplete/autocompleteField.ts"],"names":["autocompleteField","dom","container","already","subject","form","doc","callbackFunction","addOneIdAndRefresh","result","name","Error","oldValue","kb","the","property","oldName","any","labelProperty","equals","sameTerm","deletables","statementsMatching","concat","insertables","updater","updateMany","box","appendChild","widgets","errorMessageBlock","deleteOne","_result","_name","e2","termType","store","formDoc","createElement","lhs","setAttribute","style","formFieldNameBoxStyle","rhs","ns","ui","schema","dataSource","queryParams","label","anyJS","logo","targetClass","objectURIBase","undefined","endpoint","searchByNameQuery","insitituteDetailsQuery","searchByNameURI","suppressEmptyUneditable","editable","uri","autocompleteOptions","permanent","size","obj","currentObject","currentName","display","fieldLabel","barOptions","dbLookup","then","control","err"],"mappings":"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","sourcesContent":["/* Form field for doing autocompleete\n */\nimport * as ns from '../../../ns'\nimport { store } from '../../../logic'\nimport * as widgets from '../../../widgets'\nimport * as style from '../../../style'\nimport { renderAutocompleteControl } from './autocompleteBar'\nimport { QueryParameters } from './publicData'\nimport { NamedNode, BlankNode, Literal, Variable, st } from 'rdflib'\nimport { AutocompleteOptions } from './autocompletePicker'\n/**\n * Render a autocomplete form field\n *\n * The autocomplete form searches for an object in a definitive public database,\n * and allows the user to search for it by name, displaying a list of objects whose names match\n * the input to date, and letting the user either click on one of the list,\n * or just go on untill there is only one. The process then returns two values,\n * the URiI of the object and its name.\n *\n * @param dom The HTML Document object aka Document Object Model\n * @param container If present, the created widget will be appended to this\n * @param already A hash table of (form, subject) kept to prevent recursive forms looping\n * @param subject The thing about which the form displays/edits data\n * @param form The form or field to be rendered\n * @param doc The web document in which the data is\n * @param callbackFunction Called when data is changed so other parts can be refreshed.\n *\n * Form properties:\n * @param ui:property The property to store the object itself\n * @param ui:labelProperty The property used to store the name of the object\n * @param ui:category The class of objects to be searched, if fixed (else dep on class of subject)\n *\n * @returns The HTML widget created\n */\n// eslint-disable-next-line complexity\nexport function autocompleteField (\n dom: HTMLDocument,\n container: HTMLElement | undefined,\n already,\n subject: NamedNode | BlankNode | Variable,\n form: NamedNode,\n doc: NamedNode | undefined,\n callbackFunction: (_ok: boolean, _errorMessage: string) => void\n): HTMLElement {\n async function addOneIdAndRefresh (result:NamedNode | Literal, name: Literal) {\n if (!name) {\n throw new Error('autocompleteField: No name set.')\n }\n const oldValue = kb.the(subject, property as any, null, doc)\n if (oldValue) {\n const oldName = kb.any(oldValue as any, labelProperty as any, null, doc)\n if (oldValue.equals(result) && oldName && oldName.sameTerm(name)) {\n // console.log('No change: same values.')\n return\n }\n }\n const deletables = oldValue\n ? kb.statementsMatching(subject, property as any, oldValue, doc)\n .concat(kb.statementsMatching(oldValue as any, labelProperty as any, null, doc))\n : []\n // console.log('autocompleteField Deletables ' + deletables.map(st => st.toNT()))\n const insertables = [st(subject, property as any, result, doc),\n st(result as any, labelProperty as any, name, doc)] // @@ track the language of the name too!\n // console.log(`AC form: ${deletables.length} to delete and ${insertables.length} to insert`)\n try {\n // console.log('@@@ AC updating ', deletables, insertables)\n await kb.updater.updateMany(deletables, insertables)\n } catch (err) {\n callbackFunction(false, err)\n box.appendChild(widgets.errorMessageBlock(dom, 'Autocomplete form data update error:' + err, null, err))\n return\n }\n callbackFunction(true, '')\n }\n\n async function deleteOne (_result:NamedNode | Literal, _name: Literal) {\n const oldValue = kb.the(subject, property as any, null, doc)\n if (!oldValue) {\n callbackFunction(false, 'NO data to elete')\n box.appendChild(widgets.errorMessageBlock(dom, 'Autocomplete delete: no old data!'))\n return\n }\n // const oldName = kb.any(oldValue as any, labelProperty as any, null, doc)\n const deletables = kb.statementsMatching(subject, property as any, oldValue, doc)\n .concat(kb.statementsMatching(oldValue as any, labelProperty as any, null, doc))\n // console.log('autocompleteField Deletables ' + deletables.map(st => st.toNT()))\n const insertables = []\n // console.log(`AC form delete: ${deletables.length} to delete and ${insertables.length} to insert`)\n try {\n // console.log('@@@ AC updating ', deletables, insertables)\n await kb.updater.updateMany(deletables, insertables)\n } catch (err) {\n const e2 = new Error('Autocomplete form data delete error:' + err)\n callbackFunction(false, err)\n box.appendChild(widgets.errorMessageBlock(dom, e2, null, err))\n return\n }\n callbackFunction(true, '') // changed\n }\n\n if (subject.termType !== 'NamedNode') {\n throw new Error('Sorry this field only works on NamedNode subjects (for editable)')\n }\n const kb = store\n const formDoc = form.doc ? form.doc() : null // @@ if blank no way to know\n\n const box = dom.createElement('div')\n if (container) container.appendChild(box)\n const lhs = dom.createElement('div')\n lhs.setAttribute('class', 'formFieldName')\n lhs.setAttribute('style', style.formFieldNameBoxStyle)\n box.appendChild(lhs)\n const rhs = dom.createElement('div')\n rhs.setAttribute('class', 'formFieldValue')\n box.appendChild(rhs)\n\n const property = kb.any(form, ns.ui('property'))\n if (!property) {\n return box.appendChild(\n widgets.errorMessageBlock(dom, 'Error: No property given for autocomplete field: ' + form)\n )\n }\n const labelProperty = kb.any(form, ns.ui('labelProperty')) || ns.schema('name')\n\n // Parse the data source into query options\n\n const dataSource = kb.any(form, ns.ui('dataSource')) as NamedNode | undefined\n if (!dataSource) {\n // console.log('@@ connectedStatements ACF ', kb.connectedStatements(form).map(x => x.toNT()).join('\\n'))\n return box.appendChild(\n widgets.errorMessageBlock(dom, 'Error: No data source given for autocomplete field: ' + form)\n )\n }\n const queryParams:QueryParameters = {\n // targetClass: kb.any(dataSource, ns.ui('targetClass'), null, dataSource.doc()) as NamedNode | undefined,\n label: kb.anyJS(dataSource, ns.schema('name'), null, dataSource.doc()),\n logo: (kb.any(dataSource, ns.schema('logo'), null, dataSource.doc())) as NamedNode | undefined\n }\n\n // @@ Should we pass the target class in from the data source definition or use a current type of the subject\n const targetClass = (kb.any(form, ns.ui('targetClass'), null, form.doc()) || // class in form takes pecedence\n kb.any(dataSource, ns.ui('targetClass'), null, dataSource.doc())) as NamedNode | undefined\n if (targetClass) {\n queryParams.targetClass = targetClass\n }\n\n queryParams.objectURIBase = (kb.any(dataSource, ns.ui('objectURIBase'), null, dataSource.doc()) || undefined) as NamedNode | undefined\n\n /*\n if (!queryParams.targetClass) {\n const klass = kb.any(subject, ns.rdf('type')) as NamedNode | undefined\n // @@ be more selective of which class if many\n // @@ todo: Take ALL classes, and compare them with those the data source knows about\n // with translation where necessary. Find most specific of the classes for the search.\n if (!klass) throw new Error('Autocomplete: No class specified or is current type of' + subject)\n queryParams.targetClass = klass\n }\n */\n const endpoint = kb.anyJS(dataSource, ns.ui('endpoint'), null, dataSource.doc()) as string | undefined\n if (endpoint) { // SPARQL\n queryParams.endpoint = endpoint\n\n queryParams.searchByNameQuery = kb.anyJS(dataSource, ns.ui('searchByNameQuery'), null, dataSource.doc())\n if (!queryParams.searchByNameQuery) {\n return box.appendChild(\n widgets.errorMessageBlock(dom, 'Error: No searchByNameQuery given for endpoint data Source: ' + form))\n }\n queryParams.insitituteDetailsQuery = kb.anyJS(dataSource, ns.ui('insitituteDetailsQuery'), null, dataSource.doc())\n } else {\n // return box.appendChild(\n // widgets.errorMessageBlock(dom, 'Error: No SPARQL endpoint given for autocomplete field: ' + form))\n const searchByNameURI = kb.anyJS(dataSource, ns.ui('searchByNameURI'))\n if (!searchByNameURI) {\n return box.appendChild(\n widgets.errorMessageBlock(dom, 'Error: No searchByNameURI OR sparql endpoint given for dataSource: ' + dataSource)\n )\n }\n queryParams.searchByNameURI = searchByNameURI\n }\n // It can be cleaner to just remove empty fields if you can't edit them anyway\n const suppressEmptyUneditable = kb.anyJS(form, ns.ui('suppressEmptyUneditable'), null, formDoc)\n const editable = kb.updater.editable((doc as NamedNode).uri)\n\n const autocompleteOptions:AutocompleteOptions = { // cancelButton?: HTMLElement,\n permanent: true,\n targetClass: queryParams.targetClass, // @@ simplify?\n queryParams\n }\n\n autocompleteOptions.size = kb.anyJS(form, ns.ui('size'), null, formDoc) || undefined\n\n let obj = kb.any(subject, property as any, undefined, doc)\n if (!obj) {\n obj = kb.any(form, ns.ui('default'))\n if (obj) {\n autocompleteOptions.currentObject = obj as NamedNode\n autocompleteOptions.currentName = kb.any(autocompleteOptions.currentObject, labelProperty, null, doc) as Literal\n } else { // No data or default. Should we suprress the whole field?\n if (suppressEmptyUneditable && !editable) {\n box.style.display = 'none' // clutter removal\n return box\n }\n }\n } else { // get object and name from target data:\n autocompleteOptions.currentObject = obj as NamedNode\n autocompleteOptions.currentName = kb.any(autocompleteOptions.currentObject, labelProperty, null, doc) as Literal\n }\n\n lhs.appendChild(widgets.fieldLabel(dom, property as any, form))\n\n const barOptions = {\n editable,\n dbLookup: true\n }\n\n renderAutocompleteControl(dom, subject as NamedNode, barOptions, autocompleteOptions, addOneIdAndRefresh, deleteOne).then((control) => {\n rhs.appendChild(control)\n }, (err) => {\n rhs.appendChild(widgets.errorMessageBlock(dom, `Error rendering autocomplete ${form}: ${err}`, '#fee', err)) //\n })\n return box\n}\n\n// ends\n"],"file":"autocompleteField.js"}
|
|
1
|
+
{"version":3,"file":"autocompleteField.js","sourceRoot":"","sources":["../../../../src/widgets/forms/autocomplete/autocompleteField.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|