solid-ui 2.4.14-alpha → 2.4.14-bbf45639-aade069c
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 +441 -334
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.d.ts +1 -2
- package/lib/acl/access-groups.d.ts.map +1 -1
- package/lib/acl/access-groups.js +495 -347
- 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 +198 -168
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.d.ts +1 -2
- package/lib/acl/acl.d.ts.map +1 -1
- package/lib/acl/acl.js +463 -444
- 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 +515 -318
- 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 +35 -27
- 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 +90 -84
- 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 +4 -5
- 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 +21 -14
- 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 +1935 -1391
- 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 +37 -26
- 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 +4 -1
- 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 +214 -209
- 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 +10 -4
- 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 +4 -1
- 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 +28 -30
- 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 +126 -109
- 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 +11 -7
- 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 +6 -2
- 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 +361 -285
- 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 +132 -116
- 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 +30 -23
- 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 +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +207 -103
- 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 +30 -21
- 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 +131 -83
- package/lib/log.js.map +1 -1
- package/lib/logic.d.ts +2 -2
- package/lib/logic.d.ts.map +1 -1
- package/lib/logic.js +73 -82
- 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 +10 -4
- 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 +237 -210
- 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 +4 -1
- 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 +11 -5
- 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 +181 -187
- 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 +954 -794
- 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 +199 -170
- 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 +342 -235
- 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 +155 -130
- 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 +113 -121
- 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 +28 -23
- package/lib/versionInfo.js.map +1 -1
- package/lib/webpack-bundle.js +264 -175
- 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 +30 -19
- 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 +1113 -935
- 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 +24 -18
- 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 +325 -234
- 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 +280 -246
- 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 +497 -317
- 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 +214 -159
- 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 +725 -485
- 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 +239 -208
- 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 +50 -31
- 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 +81 -102
- 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 +50 -52
- 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 +30 -18
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,340 +1,515 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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;
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
13
9
|
});
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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.renderAutoComplete = exports.setVisible = void 0;
|
|
59
|
-
/* Autocomplete Picker: Create and edit data using public data
|
|
60
|
-
**
|
|
61
|
-
** As the data source is passed as a parameter, all kinds of APIa and query services can be used
|
|
62
|
-
**
|
|
63
|
-
*/
|
|
64
|
-
var debug = __importStar(require("../../../debug"));
|
|
65
|
-
var style = __importStar(require("../../../style"));
|
|
66
|
-
var widgets = __importStar(require("../../../widgets"));
|
|
67
|
-
var logic_1 = require("../../../logic");
|
|
68
|
-
var publicData_1 = require("./publicData");
|
|
69
|
-
var language_1 = require("./language");
|
|
10
|
+
exports.renderAutoComplete = renderAutoComplete;
|
|
11
|
+
exports.setVisible = setVisible;
|
|
12
|
+
|
|
13
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
14
|
+
|
|
15
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
16
|
+
|
|
17
|
+
var debug = _interopRequireWildcard(require("../../../debug"));
|
|
18
|
+
|
|
19
|
+
var style = _interopRequireWildcard(require("../../../style"));
|
|
20
|
+
|
|
21
|
+
var widgets = _interopRequireWildcard(require("../../../widgets"));
|
|
22
|
+
|
|
23
|
+
var _logic = require("../../../logic");
|
|
24
|
+
|
|
25
|
+
var _publicData = require("./publicData");
|
|
26
|
+
|
|
27
|
+
var _language = require("./language");
|
|
28
|
+
|
|
29
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
30
|
+
|
|
31
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
32
|
+
|
|
33
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
34
|
+
|
|
35
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
36
|
+
|
|
37
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
38
|
+
|
|
70
39
|
var AUTOCOMPLETE_THRESHOLD = 4; // don't check until this many characters typed
|
|
40
|
+
|
|
71
41
|
var AUTOCOMPLETE_ROWS = 20; // 20?
|
|
42
|
+
|
|
72
43
|
var AUTOCOMPLETE_ROWS_STRETCH = 40;
|
|
44
|
+
/*
|
|
45
|
+
Autocomplete happens in 6 phases:
|
|
46
|
+
1. The search string is too small to bother
|
|
47
|
+
2. The search string is big enough, and we have not loaded the array
|
|
48
|
+
3. The search string is big enough, and we have loaded array up to the limit
|
|
49
|
+
Display them and wait for more user input
|
|
50
|
+
4. The search string is big enough, and we have loaded array NOT to the limit
|
|
51
|
+
but including all matches. No more fetches.
|
|
52
|
+
If user gets more precise, wait for them to select one - or reduce to a single
|
|
53
|
+
5. Single one selected. Optionally waiting for accept button to be pressed, OR can change string and go to 5 or 2
|
|
54
|
+
6. Locked with a value. Press 'edit' button to return to 5
|
|
55
|
+
*/
|
|
56
|
+
|
|
73
57
|
function setVisible(element, visible) {
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
function renderAutoComplete(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
// remove(decoration.acceptButton)
|
|
96
|
-
// remove(div)
|
|
97
|
-
clearList();
|
|
98
|
-
callback(object, name);
|
|
99
|
-
}
|
|
100
|
-
function gotIt(object, name) {
|
|
101
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
102
|
-
return __generator(this, function (_a) {
|
|
103
|
-
if (decoration.acceptButton) {
|
|
104
|
-
decoration.acceptButton.disbaled = false;
|
|
105
|
-
setVisible(decoration.acceptButton, true); // now wait for confirmation
|
|
106
|
-
searchInput.value = name.value; // complete it
|
|
107
|
-
foundName = name;
|
|
108
|
-
foundObject = object;
|
|
109
|
-
debug.log('Auto complete: name: ' + name);
|
|
110
|
-
debug.log('Auto complete: waiting for accept ' + object);
|
|
111
|
-
clearList(); // This may be an option - nice and clean but does not allow change of mind
|
|
112
|
-
return [2 /*return*/];
|
|
113
|
-
}
|
|
114
|
-
setVisible(decoration.cancelButton, true);
|
|
115
|
-
finish(object, name);
|
|
116
|
-
return [2 /*return*/];
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
function acceptButtonHandler(_event) {
|
|
121
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
122
|
-
return __generator(this, function (_a) {
|
|
123
|
-
if (foundName && searchInput.value === foundName.value) { // still
|
|
124
|
-
finish(foundObject, foundName);
|
|
125
|
-
}
|
|
126
|
-
return [2 /*return*/];
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
function cancelButtonHandler(_event) {
|
|
131
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
132
|
-
return __generator(this, function (_a) {
|
|
133
|
-
debug.log('Auto complete: Canceled by user! ');
|
|
134
|
-
if (acOptions.permanent) {
|
|
135
|
-
initialize();
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
if (div.parentNode) {
|
|
139
|
-
div.parentNode.removeChild(div);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
return [2 /*return*/];
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
function nameMatch(filter, candidate) {
|
|
147
|
-
var parts = filter.split(' '); // Each name part must be somewhere
|
|
148
|
-
for (var j = 0; j < parts.length; j++) {
|
|
149
|
-
var word = parts[j];
|
|
150
|
-
if (candidate.toLowerCase().indexOf(word) < 0)
|
|
151
|
-
return false;
|
|
152
|
-
}
|
|
153
|
-
return true;
|
|
154
|
-
}
|
|
155
|
-
function clearList() {
|
|
156
|
-
while (table.children.length > 1) {
|
|
157
|
-
table.removeChild(table.lastChild);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
function inputEventHHandler(_event) {
|
|
161
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
162
|
-
return __generator(this, function (_a) {
|
|
163
|
-
// console.log('@@ AC inputEventHHandler called')
|
|
164
|
-
setVisible(decoration.cancelButton, true); // only allow cancel when there is something to cancel
|
|
165
|
-
refreshList(); /// @@ debounqce does not work with jest
|
|
166
|
-
return [2 /*return*/];
|
|
167
|
-
});
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
function loadBindingsAndFilterByLanguage(filter, languagePrefs) {
|
|
171
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
172
|
-
var bindings, err_1, slimmed;
|
|
173
|
-
return __generator(this, function (_a) {
|
|
174
|
-
switch (_a.label) {
|
|
175
|
-
case 0:
|
|
176
|
-
_a.trys.push([0, 2, , 3]);
|
|
177
|
-
return [4 /*yield*/, (0, publicData_1.queryPublicDataByName)(filter, targetClass, languagePrefs || language_1.defaultPreferredLanguages, acOptions.queryParams)];
|
|
178
|
-
case 1:
|
|
179
|
-
bindings = _a.sent();
|
|
180
|
-
return [3 /*break*/, 3];
|
|
181
|
-
case 2:
|
|
182
|
-
err_1 = _a.sent();
|
|
183
|
-
complain('Error querying db of organizations: ' + err_1);
|
|
184
|
-
inputEventHandlerLock = false;
|
|
185
|
-
return [2 /*return*/];
|
|
186
|
-
case 3:
|
|
187
|
-
loadedEnough = bindings.length < publicData_1.AUTOCOMPLETE_LIMIT;
|
|
188
|
-
if (loadedEnough) {
|
|
189
|
-
lastFilter = filter;
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
lastFilter = undefined;
|
|
193
|
-
}
|
|
194
|
-
clearList();
|
|
195
|
-
slimmed = (0, language_1.filterByLanguage)(bindings, languagePrefs);
|
|
196
|
-
return [2 /*return*/, slimmed];
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
function filterByName(filter, bindings) {
|
|
202
|
-
return bindings.filter(function (binding) { return nameMatch(filter, binding.name.value); });
|
|
203
|
-
}
|
|
204
|
-
function refreshList() {
|
|
205
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
206
|
-
// console.log('@@ refreshList called')
|
|
207
|
-
function rowForBinding(binding) {
|
|
208
|
-
var _this = this;
|
|
209
|
-
var row = dom.createElement('tr');
|
|
210
|
-
style.setStyle(row, 'autocompleteRowStyle');
|
|
211
|
-
row.setAttribute('style', 'padding: 0.3em;');
|
|
212
|
-
row.style.color = allDisplayed ? '#080' : '#088'; // green means 'you should find it here'
|
|
213
|
-
row.textContent = binding.name.value;
|
|
214
|
-
var object = (0, publicData_1.bindingToTerm)(binding.subject);
|
|
215
|
-
var nameTerm = (0, publicData_1.bindingToTerm)(binding.name);
|
|
216
|
-
row.addEventListener('click', function (_event) { return __awaiter(_this, void 0, void 0, function () {
|
|
217
|
-
return __generator(this, function (_a) {
|
|
218
|
-
debug.log(' click row textContent: ' + row.textContent);
|
|
219
|
-
debug.log(' click name: ' + nameTerm.value);
|
|
220
|
-
if (object && nameTerm) {
|
|
221
|
-
gotIt(object, nameTerm);
|
|
222
|
-
}
|
|
223
|
-
return [2 /*return*/];
|
|
224
|
-
});
|
|
225
|
-
}); });
|
|
226
|
-
return row;
|
|
227
|
-
} // rowForBinding
|
|
228
|
-
function compareBindingsByName(self, other) {
|
|
229
|
-
return other.name.value > self.name.value
|
|
230
|
-
? 1
|
|
231
|
-
: other.name.name < self.name.value ? -1 : 0;
|
|
232
|
-
}
|
|
233
|
-
var languagePrefs, filter, slimmed, displayable, _i, displayable_1, binding;
|
|
234
|
-
return __generator(this, function (_a) {
|
|
235
|
-
switch (_a.label) {
|
|
236
|
-
case 0:
|
|
237
|
-
if (inputEventHandlerLock) {
|
|
238
|
-
debug.log("Ignoring \"".concat(searchInput.value, "\" because of lock "));
|
|
239
|
-
return [2 /*return*/];
|
|
240
|
-
}
|
|
241
|
-
debug.log("Setting lock at \"".concat(searchInput.value, "\""));
|
|
242
|
-
inputEventHandlerLock = true;
|
|
243
|
-
return [4 /*yield*/, (0, language_1.getPreferredLanguages)()];
|
|
244
|
-
case 1:
|
|
245
|
-
languagePrefs = _a.sent();
|
|
246
|
-
filter = searchInput.value.trim().toLowerCase();
|
|
247
|
-
if (!(filter.length < AUTOCOMPLETE_THRESHOLD)) return [3 /*break*/, 2];
|
|
248
|
-
clearList();
|
|
249
|
-
// candidatesLoaded = false
|
|
250
|
-
numberOfRows = AUTOCOMPLETE_ROWS;
|
|
251
|
-
return [3 /*break*/, 5];
|
|
252
|
-
case 2:
|
|
253
|
-
if (!(!allDisplayed || !lastFilter || !filter.startsWith(lastFilter))) return [3 /*break*/, 4];
|
|
254
|
-
debug.log(" Querying database at \"".concat(filter, "\" cf last \"").concat(lastFilter, "\"."));
|
|
255
|
-
return [4 /*yield*/, loadBindingsAndFilterByLanguage(filter, languagePrefs)]; // freesh query
|
|
256
|
-
case 3:
|
|
257
|
-
lastBindings = _a.sent(); // freesh query
|
|
258
|
-
_a.label = 4;
|
|
259
|
-
case 4:
|
|
260
|
-
slimmed = filterByName(filter, lastBindings);
|
|
261
|
-
if (loadedEnough && slimmed.length <= AUTOCOMPLETE_ROWS_STRETCH) {
|
|
262
|
-
numberOfRows = slimmed.length; // stretch if it means we get all items
|
|
263
|
-
}
|
|
264
|
-
allDisplayed = loadedEnough && slimmed.length <= numberOfRows;
|
|
265
|
-
debug.log(" Filter:\"".concat(filter, "\" lastBindings: ").concat(lastBindings.length, ", slimmed to ").concat(slimmed.length, "; rows: ").concat(numberOfRows, ", Enough? ").concat(loadedEnough, ", All displayed? ").concat(allDisplayed));
|
|
266
|
-
displayable = slimmed.slice(0, numberOfRows);
|
|
267
|
-
displayable.sort(compareBindingsByName);
|
|
268
|
-
clearList();
|
|
269
|
-
for (_i = 0, displayable_1 = displayable; _i < displayable_1.length; _i++) {
|
|
270
|
-
binding = displayable_1[_i];
|
|
271
|
-
table.appendChild(rowForBinding(binding));
|
|
272
|
-
}
|
|
273
|
-
if (slimmed.length === 1) {
|
|
274
|
-
gotIt((0, publicData_1.bindingToTerm)(slimmed[0].subject), (0, publicData_1.bindingToTerm)(slimmed[0].name));
|
|
275
|
-
}
|
|
276
|
-
_a.label = 5;
|
|
277
|
-
case 5:
|
|
278
|
-
inputEventHandlerLock = false;
|
|
279
|
-
return [2 /*return*/];
|
|
280
|
-
}
|
|
281
|
-
});
|
|
282
|
-
});
|
|
283
|
-
} // refreshList
|
|
284
|
-
function initialize() {
|
|
285
|
-
if (acOptions.currentObject) { // If have existing value then jump into the endgame of the autocomplete
|
|
58
|
+
element.style.display = visible ? '' : 'none'; // Do not use visibility, it holds the real estate
|
|
59
|
+
} // The core of the autocomplete UI
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
function renderAutoComplete(_x, _x2, _x3, _x4) {
|
|
63
|
+
return _renderAutoComplete.apply(this, arguments);
|
|
64
|
+
} // renderAutoComplete
|
|
65
|
+
// ENDS
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
function _renderAutoComplete() {
|
|
69
|
+
_renderAutoComplete = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(dom, acOptions, decoration, callback) {
|
|
70
|
+
var complain, finish, gotIt, _gotIt, acceptButtonHandler, _acceptButtonHandler, cancelButtonHandler, _cancelButtonHandler, nameMatch, clearList, inputEventHHandler, _inputEventHHandler, loadBindingsAndFilterByLanguage, _loadBindingsAndFilterByLanguage, filterByName, refreshList, _refreshList, initialize, targetClass, lastBindings, loadedEnough, inputEventHandlerLock, allDisplayed, lastFilter, numberOfRows, div, foundName, foundObject, table, head, cell, searchInput, size, searchInputStyle;
|
|
71
|
+
|
|
72
|
+
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
73
|
+
while (1) {
|
|
74
|
+
switch (_context8.prev = _context8.next) {
|
|
75
|
+
case 0:
|
|
76
|
+
initialize = function _initialize() {
|
|
77
|
+
if (acOptions.currentObject) {
|
|
78
|
+
// If have existing value then jump into the endgame of the autocomplete
|
|
286
79
|
searchInput.value = acOptions.currentName ? acOptions.currentName.value : '??? wot no name for ' + acOptions.currentObject;
|
|
287
80
|
foundName = acOptions.currentName;
|
|
288
81
|
lastFilter = acOptions.currentName ? acOptions.currentName.value : undefined;
|
|
289
82
|
foundObject = acOptions.currentObject;
|
|
290
|
-
|
|
291
|
-
else {
|
|
83
|
+
} else {
|
|
292
84
|
searchInput.value = '';
|
|
293
85
|
lastFilter = undefined;
|
|
294
86
|
foundObject = undefined;
|
|
295
|
-
|
|
296
|
-
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (decoration.deleteButton) {
|
|
297
90
|
setVisible(decoration.deleteButton, !!acOptions.currentObject);
|
|
298
|
-
|
|
299
|
-
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (decoration.acceptButton) {
|
|
300
94
|
setVisible(decoration.acceptButton, false); // hide until input complete
|
|
301
|
-
|
|
302
|
-
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if (decoration.editButton) {
|
|
303
98
|
setVisible(decoration.editButton, true);
|
|
304
|
-
|
|
305
|
-
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (decoration.cancelButton) {
|
|
306
102
|
setVisible(decoration.cancelButton, false); // only allow cancel when there is something to cancel
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
inputEventHandlerLock = false;
|
|
106
|
+
clearList();
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
_refreshList = function _refreshList3() {
|
|
110
|
+
_refreshList = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
111
|
+
var rowForBinding, compareBindingsByName, languagePrefs, filter, slimmed, displayable, _iterator, _step, binding;
|
|
112
|
+
|
|
113
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
114
|
+
while (1) {
|
|
115
|
+
switch (_context7.prev = _context7.next) {
|
|
116
|
+
case 0:
|
|
117
|
+
compareBindingsByName = function _compareBindingsByNam(self, other) {
|
|
118
|
+
return other.name.value > self.name.value ? 1 : other.name.name < self.name.value ? -1 : 0;
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
rowForBinding = function _rowForBinding(binding) {
|
|
122
|
+
var row = dom.createElement('tr');
|
|
123
|
+
style.setStyle(row, 'autocompleteRowStyle');
|
|
124
|
+
row.setAttribute('style', 'padding: 0.3em;');
|
|
125
|
+
row.style.color = allDisplayed ? '#080' : '#088'; // green means 'you should find it here'
|
|
126
|
+
|
|
127
|
+
row.textContent = binding.name.value;
|
|
128
|
+
var object = (0, _publicData.bindingToTerm)(binding.subject);
|
|
129
|
+
var nameTerm = (0, _publicData.bindingToTerm)(binding.name);
|
|
130
|
+
row.addEventListener('click', /*#__PURE__*/function () {
|
|
131
|
+
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(_event) {
|
|
132
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
133
|
+
while (1) {
|
|
134
|
+
switch (_context6.prev = _context6.next) {
|
|
135
|
+
case 0:
|
|
136
|
+
debug.log(' click row textContent: ' + row.textContent);
|
|
137
|
+
debug.log(' click name: ' + nameTerm.value);
|
|
138
|
+
|
|
139
|
+
if (object && nameTerm) {
|
|
140
|
+
gotIt(object, nameTerm);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
case 3:
|
|
144
|
+
case "end":
|
|
145
|
+
return _context6.stop();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}, _callee6);
|
|
149
|
+
}));
|
|
150
|
+
|
|
151
|
+
return function (_x12) {
|
|
152
|
+
return _ref.apply(this, arguments);
|
|
153
|
+
};
|
|
154
|
+
}());
|
|
155
|
+
return row;
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
if (!inputEventHandlerLock) {
|
|
159
|
+
_context7.next = 5;
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
debug.log("Ignoring \"".concat(searchInput.value, "\" because of lock "));
|
|
164
|
+
return _context7.abrupt("return");
|
|
165
|
+
|
|
166
|
+
case 5:
|
|
167
|
+
debug.log("Setting lock at \"".concat(searchInput.value, "\""));
|
|
168
|
+
inputEventHandlerLock = true;
|
|
169
|
+
_context7.next = 9;
|
|
170
|
+
return (0, _language.getPreferredLanguages)();
|
|
171
|
+
|
|
172
|
+
case 9:
|
|
173
|
+
languagePrefs = _context7.sent;
|
|
174
|
+
filter = searchInput.value.trim().toLowerCase();
|
|
175
|
+
|
|
176
|
+
if (!(filter.length < AUTOCOMPLETE_THRESHOLD)) {
|
|
177
|
+
_context7.next = 16;
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// too small
|
|
182
|
+
clearList(); // candidatesLoaded = false
|
|
183
|
+
|
|
184
|
+
numberOfRows = AUTOCOMPLETE_ROWS;
|
|
185
|
+
_context7.next = 31;
|
|
186
|
+
break;
|
|
187
|
+
|
|
188
|
+
case 16:
|
|
189
|
+
if (!(!allDisplayed || !lastFilter || !filter.startsWith(lastFilter))) {
|
|
190
|
+
_context7.next = 21;
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
debug.log(" Querying database at \"".concat(filter, "\" cf last \"").concat(lastFilter, "\"."));
|
|
195
|
+
_context7.next = 20;
|
|
196
|
+
return loadBindingsAndFilterByLanguage(filter, languagePrefs);
|
|
197
|
+
|
|
198
|
+
case 20:
|
|
199
|
+
lastBindings = _context7.sent;
|
|
200
|
+
|
|
201
|
+
case 21:
|
|
202
|
+
// Trim table as search gets tighter:
|
|
203
|
+
slimmed = filterByName(filter, lastBindings);
|
|
204
|
+
|
|
205
|
+
if (loadedEnough && slimmed.length <= AUTOCOMPLETE_ROWS_STRETCH) {
|
|
206
|
+
numberOfRows = slimmed.length; // stretch if it means we get all items
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
allDisplayed = loadedEnough && slimmed.length <= numberOfRows;
|
|
210
|
+
debug.log(" Filter:\"".concat(filter, "\" lastBindings: ").concat(lastBindings.length, ", slimmed to ").concat(slimmed.length, "; rows: ").concat(numberOfRows, ", Enough? ").concat(loadedEnough, ", All displayed? ").concat(allDisplayed));
|
|
211
|
+
displayable = slimmed.slice(0, numberOfRows);
|
|
212
|
+
displayable.sort(compareBindingsByName);
|
|
213
|
+
clearList();
|
|
214
|
+
_iterator = _createForOfIteratorHelper(displayable);
|
|
215
|
+
|
|
216
|
+
try {
|
|
217
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
218
|
+
binding = _step.value;
|
|
219
|
+
table.appendChild(rowForBinding(binding));
|
|
220
|
+
}
|
|
221
|
+
} catch (err) {
|
|
222
|
+
_iterator.e(err);
|
|
223
|
+
} finally {
|
|
224
|
+
_iterator.f();
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
if (slimmed.length === 1) {
|
|
228
|
+
gotIt((0, _publicData.bindingToTerm)(slimmed[0].subject), (0, _publicData.bindingToTerm)(slimmed[0].name));
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
case 31:
|
|
232
|
+
// else
|
|
233
|
+
inputEventHandlerLock = false;
|
|
234
|
+
|
|
235
|
+
case 32:
|
|
236
|
+
case "end":
|
|
237
|
+
return _context7.stop();
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}, _callee7);
|
|
241
|
+
}));
|
|
242
|
+
return _refreshList.apply(this, arguments);
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
refreshList = function _refreshList2() {
|
|
246
|
+
return _refreshList.apply(this, arguments);
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
filterByName = function _filterByName(filter, bindings) {
|
|
250
|
+
return bindings.filter(function (binding) {
|
|
251
|
+
return nameMatch(filter, binding.name.value);
|
|
252
|
+
});
|
|
253
|
+
};
|
|
254
|
+
|
|
255
|
+
_loadBindingsAndFilterByLanguage = function _loadBindingsAndFilte2() {
|
|
256
|
+
_loadBindingsAndFilterByLanguage = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(filter, languagePrefs) {
|
|
257
|
+
var bindings, slimmed;
|
|
258
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
259
|
+
while (1) {
|
|
260
|
+
switch (_context5.prev = _context5.next) {
|
|
261
|
+
case 0:
|
|
262
|
+
_context5.prev = 0;
|
|
263
|
+
_context5.next = 3;
|
|
264
|
+
return (0, _publicData.queryPublicDataByName)(filter, targetClass, languagePrefs || _language.defaultPreferredLanguages, acOptions.queryParams);
|
|
265
|
+
|
|
266
|
+
case 3:
|
|
267
|
+
bindings = _context5.sent;
|
|
268
|
+
_context5.next = 11;
|
|
269
|
+
break;
|
|
270
|
+
|
|
271
|
+
case 6:
|
|
272
|
+
_context5.prev = 6;
|
|
273
|
+
_context5.t0 = _context5["catch"](0);
|
|
274
|
+
complain('Error querying db of organizations: ' + _context5.t0);
|
|
275
|
+
inputEventHandlerLock = false;
|
|
276
|
+
return _context5.abrupt("return");
|
|
277
|
+
|
|
278
|
+
case 11:
|
|
279
|
+
loadedEnough = bindings.length < _publicData.AUTOCOMPLETE_LIMIT;
|
|
280
|
+
|
|
281
|
+
if (loadedEnough) {
|
|
282
|
+
lastFilter = filter;
|
|
283
|
+
} else {
|
|
284
|
+
lastFilter = undefined;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
clearList();
|
|
288
|
+
slimmed = (0, _language.filterByLanguage)(bindings, languagePrefs);
|
|
289
|
+
return _context5.abrupt("return", slimmed);
|
|
290
|
+
|
|
291
|
+
case 16:
|
|
292
|
+
case "end":
|
|
293
|
+
return _context5.stop();
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}, _callee5, null, [[0, 6]]);
|
|
297
|
+
}));
|
|
298
|
+
return _loadBindingsAndFilterByLanguage.apply(this, arguments);
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
loadBindingsAndFilterByLanguage = function _loadBindingsAndFilte(_x10, _x11) {
|
|
302
|
+
return _loadBindingsAndFilterByLanguage.apply(this, arguments);
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
_inputEventHHandler = function _inputEventHHandler3() {
|
|
306
|
+
_inputEventHHandler = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(_event) {
|
|
307
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
308
|
+
while (1) {
|
|
309
|
+
switch (_context4.prev = _context4.next) {
|
|
310
|
+
case 0:
|
|
311
|
+
// console.log('@@ AC inputEventHHandler called')
|
|
312
|
+
setVisible(decoration.cancelButton, true); // only allow cancel when there is something to cancel
|
|
313
|
+
|
|
314
|
+
refreshList(); /// @@ debounqce does not work with jest
|
|
315
|
+
|
|
316
|
+
/*
|
|
317
|
+
if (runningTimeout) {
|
|
318
|
+
clearTimeout(runningTimeout)
|
|
319
|
+
}
|
|
320
|
+
runningTimeout = setTimeout(refreshList, AUTOCOMPLETE_DEBOUNCE_MS)
|
|
321
|
+
*/
|
|
322
|
+
|
|
323
|
+
case 2:
|
|
324
|
+
case "end":
|
|
325
|
+
return _context4.stop();
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}, _callee4);
|
|
329
|
+
}));
|
|
330
|
+
return _inputEventHHandler.apply(this, arguments);
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
inputEventHHandler = function _inputEventHHandler2(_x9) {
|
|
334
|
+
return _inputEventHHandler.apply(this, arguments);
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
clearList = function _clearList() {
|
|
338
|
+
while (table.children.length > 1) {
|
|
339
|
+
table.removeChild(table.lastChild);
|
|
340
|
+
}
|
|
341
|
+
};
|
|
342
|
+
|
|
343
|
+
nameMatch = function _nameMatch(filter, candidate) {
|
|
344
|
+
var parts = filter.split(' '); // Each name part must be somewhere
|
|
345
|
+
|
|
346
|
+
for (var j = 0; j < parts.length; j++) {
|
|
347
|
+
var word = parts[j];
|
|
348
|
+
if (candidate.toLowerCase().indexOf(word) < 0) return false;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
return true;
|
|
352
|
+
};
|
|
353
|
+
|
|
354
|
+
_cancelButtonHandler = function _cancelButtonHandler3() {
|
|
355
|
+
_cancelButtonHandler = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_event) {
|
|
356
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
357
|
+
while (1) {
|
|
358
|
+
switch (_context3.prev = _context3.next) {
|
|
359
|
+
case 0:
|
|
360
|
+
debug.log('Auto complete: Canceled by user! ');
|
|
361
|
+
|
|
362
|
+
if (acOptions.permanent) {
|
|
363
|
+
initialize();
|
|
364
|
+
} else {
|
|
365
|
+
if (div.parentNode) {
|
|
366
|
+
div.parentNode.removeChild(div);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
case 2:
|
|
371
|
+
case "end":
|
|
372
|
+
return _context3.stop();
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}, _callee3);
|
|
376
|
+
}));
|
|
377
|
+
return _cancelButtonHandler.apply(this, arguments);
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
cancelButtonHandler = function _cancelButtonHandler2(_x8) {
|
|
381
|
+
return _cancelButtonHandler.apply(this, arguments);
|
|
382
|
+
};
|
|
383
|
+
|
|
384
|
+
_acceptButtonHandler = function _acceptButtonHandler3() {
|
|
385
|
+
_acceptButtonHandler = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_event) {
|
|
386
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
387
|
+
while (1) {
|
|
388
|
+
switch (_context2.prev = _context2.next) {
|
|
389
|
+
case 0:
|
|
390
|
+
if (foundName && searchInput.value === foundName.value) {
|
|
391
|
+
// still
|
|
392
|
+
finish(foundObject, foundName);
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
case 1:
|
|
396
|
+
case "end":
|
|
397
|
+
return _context2.stop();
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}, _callee2);
|
|
401
|
+
}));
|
|
402
|
+
return _acceptButtonHandler.apply(this, arguments);
|
|
403
|
+
};
|
|
404
|
+
|
|
405
|
+
acceptButtonHandler = function _acceptButtonHandler2(_x7) {
|
|
406
|
+
return _acceptButtonHandler.apply(this, arguments);
|
|
407
|
+
};
|
|
408
|
+
|
|
409
|
+
_gotIt = function _gotIt3() {
|
|
410
|
+
_gotIt = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(object, name) {
|
|
411
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
412
|
+
while (1) {
|
|
413
|
+
switch (_context.prev = _context.next) {
|
|
414
|
+
case 0:
|
|
415
|
+
if (!decoration.acceptButton) {
|
|
416
|
+
_context.next = 10;
|
|
417
|
+
break;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
decoration.acceptButton.disbaled = false;
|
|
421
|
+
setVisible(decoration.acceptButton, true); // now wait for confirmation
|
|
422
|
+
|
|
423
|
+
searchInput.value = name.value; // complete it
|
|
424
|
+
|
|
425
|
+
foundName = name;
|
|
426
|
+
foundObject = object;
|
|
427
|
+
debug.log('Auto complete: name: ' + name);
|
|
428
|
+
debug.log('Auto complete: waiting for accept ' + object);
|
|
429
|
+
clearList(); // This may be an option - nice and clean but does not allow change of mind
|
|
430
|
+
|
|
431
|
+
return _context.abrupt("return");
|
|
432
|
+
|
|
433
|
+
case 10:
|
|
434
|
+
setVisible(decoration.cancelButton, true);
|
|
435
|
+
finish(object, name);
|
|
436
|
+
|
|
437
|
+
case 12:
|
|
438
|
+
case "end":
|
|
439
|
+
return _context.stop();
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
}, _callee);
|
|
443
|
+
}));
|
|
444
|
+
return _gotIt.apply(this, arguments);
|
|
445
|
+
};
|
|
446
|
+
|
|
447
|
+
gotIt = function _gotIt2(_x5, _x6) {
|
|
448
|
+
return _gotIt.apply(this, arguments);
|
|
449
|
+
};
|
|
450
|
+
|
|
451
|
+
finish = function _finish(object, name) {
|
|
452
|
+
debug.log('Auto complete: finish! ' + object);
|
|
453
|
+
|
|
454
|
+
if (object.termType === 'Literal' && acOptions.queryParams.objectURIBase) {
|
|
455
|
+
object = _logic.kb.sym(acOptions.queryParams.objectURIBase.value + object.value);
|
|
456
|
+
} // remove(decoration.cancelButton)
|
|
457
|
+
// remove(decoration.acceptButton)
|
|
458
|
+
// remove(div)
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
clearList();
|
|
462
|
+
callback(object, name);
|
|
463
|
+
};
|
|
464
|
+
|
|
465
|
+
complain = function _complain(message) {
|
|
466
|
+
var errorRow = table.appendChild(dom.createElement('tr'));
|
|
467
|
+
debug.log(message);
|
|
468
|
+
var err = new Error(message);
|
|
469
|
+
errorRow.appendChild(widgets.errorMessageBlock(dom, err, 'pink')); // errorMessageBlock will log the stack to the console
|
|
470
|
+
|
|
471
|
+
style.setStyle(errorRow, 'autocompleteRowStyle');
|
|
472
|
+
errorRow.style.padding = '1em';
|
|
473
|
+
};
|
|
474
|
+
|
|
475
|
+
// initialiize
|
|
476
|
+
// const queryParams: QueryParameters = acOptions.queryParams
|
|
313
477
|
targetClass = acOptions.targetClass;
|
|
314
|
-
|
|
315
|
-
|
|
478
|
+
|
|
479
|
+
if (targetClass) {
|
|
480
|
+
_context8.next = 21;
|
|
481
|
+
break;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
throw new Error('renderAutoComplete: missing targetClass');
|
|
485
|
+
|
|
486
|
+
case 21:
|
|
316
487
|
// console.log(`renderAutoComplete: targetClass=${targetClass}` )
|
|
317
488
|
if (decoration.acceptButton) {
|
|
318
|
-
|
|
489
|
+
decoration.acceptButton.addEventListener('click', acceptButtonHandler, false);
|
|
319
490
|
}
|
|
491
|
+
|
|
320
492
|
if (decoration.cancelButton) {
|
|
321
|
-
|
|
322
|
-
}
|
|
493
|
+
decoration.cancelButton.addEventListener('click', cancelButtonHandler, false);
|
|
494
|
+
} // var candidatesLoaded = false
|
|
495
|
+
|
|
496
|
+
|
|
323
497
|
loadedEnough = false;
|
|
324
498
|
inputEventHandlerLock = false;
|
|
325
499
|
allDisplayed = false;
|
|
326
500
|
lastFilter = undefined;
|
|
327
|
-
numberOfRows = AUTOCOMPLETE_ROWS // this gets slimmed down
|
|
328
|
-
|
|
501
|
+
numberOfRows = AUTOCOMPLETE_ROWS; // this gets slimmed down
|
|
502
|
+
|
|
329
503
|
div = dom.createElement('div');
|
|
330
|
-
foundName = undefined // once found accepted string must match this
|
|
331
|
-
|
|
504
|
+
foundName = undefined; // once found accepted string must match this
|
|
505
|
+
|
|
332
506
|
foundObject = undefined;
|
|
333
507
|
table = div.appendChild(dom.createElement('table'));
|
|
334
508
|
table.setAttribute('data-testid', 'autocomplete-table');
|
|
335
509
|
table.setAttribute('style', 'max-width: 30em; margin: 0.5em;');
|
|
336
510
|
head = table.appendChild(dom.createElement('tr'));
|
|
337
511
|
style.setStyle(head, 'autocompleteRowStyle'); // textInputStyle or
|
|
512
|
+
|
|
338
513
|
cell = head.appendChild(dom.createElement('td'));
|
|
339
514
|
searchInput = cell.appendChild(dom.createElement('input'));
|
|
340
515
|
searchInput.setAttribute('type', 'text');
|
|
@@ -343,20 +518,25 @@ function renderAutoComplete(dom, acOptions, decoration, callback) {
|
|
|
343
518
|
searchInput.setAttribute('size', size);
|
|
344
519
|
searchInput.setAttribute('data-testid', 'autocomplete-input');
|
|
345
520
|
searchInputStyle = style.textInputStyle || // searchInputStyle ?
|
|
346
|
-
|
|
347
|
-
|
|
521
|
+
'border: 0.1em solid #444; border-radius: 0.5em; width: 100%; font-size: 100%; padding: 0.1em 0.6em'; // @
|
|
522
|
+
|
|
348
523
|
searchInput.setAttribute('style', searchInputStyle);
|
|
349
524
|
searchInput.addEventListener('keyup', function (event) {
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
525
|
+
if (event.keyCode === 13) {
|
|
526
|
+
acceptButtonHandler(event);
|
|
527
|
+
}
|
|
353
528
|
}, false);
|
|
354
|
-
searchInput.addEventListener('input', inputEventHHandler);
|
|
355
|
-
|
|
356
|
-
return
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
529
|
+
searchInput.addEventListener('input', inputEventHHandler); // console.log('@@ renderAutoComplete returns ' + div.innerHTML)
|
|
530
|
+
|
|
531
|
+
return _context8.abrupt("return", div);
|
|
532
|
+
|
|
533
|
+
case 48:
|
|
534
|
+
case "end":
|
|
535
|
+
return _context8.stop();
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
}, _callee8);
|
|
539
|
+
}));
|
|
540
|
+
return _renderAutoComplete.apply(this, arguments);
|
|
541
|
+
}
|
|
362
542
|
//# sourceMappingURL=autocompletePicker.js.map
|