solid-ui 2.4.22-993ab4aa → 2.4.22-9c4bbef1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +1814 -1042
- package/dist/main.js.map +1 -1
- package/lib/acl/access-controller.js +9 -14
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.js +10 -15
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.js +9 -13
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.js +7 -11
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.js +13 -19
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/acl/index.js.map +1 -1
- package/lib/acl/styles.js.map +1 -1
- package/lib/acl/types.js.map +1 -1
- package/lib/chat/bookmarks.js +14 -19
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +9 -15
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +12 -17
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +29 -37
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/message.js +14 -14
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +10 -23
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +4 -9
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.js.map +1 -1
- package/lib/create/index.js.map +1 -1
- package/lib/create/types.js.map +1 -1
- package/lib/debug.js.map +1 -1
- package/lib/folders.js.map +1 -1
- package/lib/footer/index.js +8 -10
- package/lib/footer/index.js.map +1 -1
- package/lib/footer/styleMap.js.map +1 -1
- package/lib/header/empty-profile.js.map +1 -1
- package/lib/header/index.js +9 -17
- package/lib/header/index.js.map +1 -1
- package/lib/header/styleMap.js.map +1 -1
- package/lib/iconBase.js.map +1 -1
- package/lib/icons/solid_logo.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/jss/index.js.map +1 -1
- package/lib/log.js.map +1 -1
- package/lib/login/login.js +21 -63
- package/lib/login/login.js.map +1 -1
- package/lib/matrix/index.js.map +1 -1
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/matrix/types.js.map +1 -1
- package/lib/media/index.js.map +1 -1
- package/lib/media/media-capture.js +4 -20
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js.map +1 -1
- package/lib/noun_Camera_1618446_000000.js.map +1 -1
- package/lib/ns.js.map +1 -1
- package/lib/pad.js.map +1 -1
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js.map +1 -1
- package/lib/signup/config-default.js.map +1 -1
- package/lib/signup/signup.js.map +1 -1
- package/lib/stories/decorators.js.map +1 -1
- package/lib/style.js.map +1 -1
- package/lib/style_multiSelect.js +67 -0
- package/lib/style_multiSelect.js.map +1 -0
- package/lib/table.js.map +1 -1
- package/lib/tabs.d.ts +1 -1
- package/lib/tabs.d.ts.map +1 -1
- package/lib/tabs.js +34 -21
- package/lib/tabs.js.map +1 -1
- package/lib/typings.d.js.map +1 -1
- package/lib/utils/headerFooterHelpers.js +5 -7
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.js +5 -5
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.js.map +1 -1
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js.map +1 -1
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +17 -15
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.js +5 -8
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +21 -19
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js +8 -15
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.js +22 -27
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +264 -84
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/index.js.map +1 -1
- package/lib/widgets/multiSelect.js +784 -0
- package/lib/widgets/multiSelect.js.map +1 -0
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +5 -3
package/lib/widgets/forms.js
CHANGED
|
@@ -60,8 +60,6 @@ Object.defineProperty(exports, "renderNameValuePair", {
|
|
|
60
60
|
exports.sortByLabel = sortByLabel;
|
|
61
61
|
exports.sortBySequence = sortBySequence;
|
|
62
62
|
|
|
63
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
64
|
-
|
|
65
63
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
66
64
|
|
|
67
65
|
var buttons = _interopRequireWildcard(require("./buttons"));
|
|
@@ -94,12 +92,16 @@ var _solidLogic = require("solid-logic");
|
|
|
94
92
|
|
|
95
93
|
var utils = _interopRequireWildcard(require("../utils"));
|
|
96
94
|
|
|
95
|
+
var _multiSelect = require("./multiSelect");
|
|
96
|
+
|
|
97
97
|
var widgets = _interopRequireWildcard(require("../widgets"));
|
|
98
98
|
|
|
99
99
|
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); }
|
|
100
100
|
|
|
101
101
|
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; }
|
|
102
102
|
|
|
103
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
104
|
+
|
|
103
105
|
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(_e2) { throw _e2; }, 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(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
104
106
|
|
|
105
107
|
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); }
|
|
@@ -352,9 +354,9 @@ _fieldFunction.field[ns.ui('Multiple').uri] = function (dom, container, already,
|
|
|
352
354
|
|
|
353
355
|
|
|
354
356
|
function _addItem() {
|
|
355
|
-
_addItem = (0, _asyncToGenerator2["default"])( /*#__PURE__*/
|
|
357
|
+
_addItem = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
356
358
|
var object, toBeInserted, msg;
|
|
357
|
-
return
|
|
359
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
358
360
|
while (1) {
|
|
359
361
|
switch (_context6.prev = _context6.next) {
|
|
360
362
|
case 0:
|
|
@@ -417,9 +419,9 @@ _fieldFunction.field[ns.ui('Multiple').uri] = function (dom, container, already,
|
|
|
417
419
|
|
|
418
420
|
|
|
419
421
|
function _deleteThisItem() {
|
|
420
|
-
_deleteThisItem = (0, _asyncToGenerator2["default"])( /*#__PURE__*/
|
|
422
|
+
_deleteThisItem = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
421
423
|
var i, del;
|
|
422
|
-
return
|
|
424
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
423
425
|
while (1) {
|
|
424
426
|
switch (_context3.prev = _context3.next) {
|
|
425
427
|
case 0:
|
|
@@ -492,9 +494,9 @@ _fieldFunction.field[ns.ui('Multiple').uri] = function (dom, container, already,
|
|
|
492
494
|
|
|
493
495
|
|
|
494
496
|
function _moveThisItem() {
|
|
495
|
-
_moveThisItem = (0, _asyncToGenerator2["default"])( /*#__PURE__*/
|
|
497
|
+
_moveThisItem = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(event, upwards) {
|
|
496
498
|
var i;
|
|
497
|
-
return
|
|
499
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
498
500
|
while (1) {
|
|
499
501
|
switch (_context4.prev = _context4.next) {
|
|
500
502
|
case 0:
|
|
@@ -599,8 +601,8 @@ _fieldFunction.field[ns.ui('Multiple').uri] = function (dom, container, already,
|
|
|
599
601
|
frame.style.gridTemplateColumns = 'auto 3em';
|
|
600
602
|
frame.style.gridTemplateRows = '50% 50%';
|
|
601
603
|
var moveUpButton = buttons.button(dom, _iconBase.icons.iconBase + 'noun_1369237.svg', 'Move Up', /*#__PURE__*/function () {
|
|
602
|
-
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/
|
|
603
|
-
return
|
|
604
|
+
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(event) {
|
|
605
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
604
606
|
while (1) {
|
|
605
607
|
switch (_context.prev = _context.next) {
|
|
606
608
|
case 0:
|
|
@@ -619,8 +621,8 @@ _fieldFunction.field[ns.ui('Multiple').uri] = function (dom, container, already,
|
|
|
619
621
|
};
|
|
620
622
|
}());
|
|
621
623
|
var moveDownButton = buttons.button(dom, _iconBase.icons.iconBase + 'noun_1369241.svg', 'Move Down', /*#__PURE__*/function () {
|
|
622
|
-
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/
|
|
623
|
-
return
|
|
624
|
+
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(event) {
|
|
625
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
624
626
|
while (1) {
|
|
625
627
|
switch (_context2.prev = _context2.next) {
|
|
626
628
|
case 0:
|
|
@@ -736,8 +738,8 @@ _fieldFunction.field[ns.ui('Multiple').uri] = function (dom, container, already,
|
|
|
736
738
|
var prompt = dom.createElement('span');
|
|
737
739
|
prompt.textContent = (values.length === 0 ? 'Add another ' : 'Add ') + multipleUIlabel;
|
|
738
740
|
tail.addEventListener('click', /*#__PURE__*/function () {
|
|
739
|
-
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/
|
|
740
|
-
return
|
|
741
|
+
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_eventNotUsed) {
|
|
742
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
741
743
|
while (1) {
|
|
742
744
|
switch (_context5.prev = _context5.next) {
|
|
743
745
|
case 0:
|
|
@@ -776,8 +778,8 @@ _fieldFunction.field[ns.ui('Multiple').uri] = function (dom, container, already,
|
|
|
776
778
|
}
|
|
777
779
|
|
|
778
780
|
function _saveListThenRefresh() {
|
|
779
|
-
_saveListThenRefresh = (0, _asyncToGenerator2["default"])( /*#__PURE__*/
|
|
780
|
-
return
|
|
781
|
+
_saveListThenRefresh = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
782
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
781
783
|
while (1) {
|
|
782
784
|
switch (_context7.prev = _context7.next) {
|
|
783
785
|
case 0:
|
|
@@ -834,9 +836,9 @@ _fieldFunction.field[ns.ui('Multiple').uri] = function (dom, container, already,
|
|
|
834
836
|
}
|
|
835
837
|
|
|
836
838
|
function _asyncStuff() {
|
|
837
|
-
_asyncStuff = (0, _asyncToGenerator2["default"])( /*#__PURE__*/
|
|
839
|
+
_asyncStuff = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
|
838
840
|
var extra, j;
|
|
839
|
-
return
|
|
841
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
840
842
|
while (1) {
|
|
841
843
|
switch (_context8.prev = _context8.next) {
|
|
842
844
|
case 0:
|
|
@@ -1040,7 +1042,6 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1040
1042
|
var kb = _solidLogic.store;
|
|
1041
1043
|
var formDoc = form.doc ? form.doc() : null; // @@ if blank no way to know
|
|
1042
1044
|
|
|
1043
|
-
var multiSelect = false;
|
|
1044
1045
|
var p;
|
|
1045
1046
|
var box = dom.createElement('div');
|
|
1046
1047
|
box.setAttribute('class', 'choiceBox'); // Set flexDirection column?
|
|
@@ -1072,7 +1073,6 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1072
1073
|
var opts = {
|
|
1073
1074
|
form: form,
|
|
1074
1075
|
subForm: subForm,
|
|
1075
|
-
multiSelect: multiSelect,
|
|
1076
1076
|
disambiguate: false
|
|
1077
1077
|
};
|
|
1078
1078
|
|
|
@@ -1081,7 +1081,7 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1081
1081
|
var possibleProperties;
|
|
1082
1082
|
possible = kb.each(undefined, ns.rdf('type'), uiFrom, formDoc);
|
|
1083
1083
|
|
|
1084
|
-
for (var x in
|
|
1084
|
+
for (var x in findMembersNT(kb, uiFrom, dataDoc)) {
|
|
1085
1085
|
possible.push(kb.fromNT(x));
|
|
1086
1086
|
} // Use rdfs
|
|
1087
1087
|
|
|
@@ -1121,9 +1121,7 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1121
1121
|
opts.disambiguate = true;
|
|
1122
1122
|
}
|
|
1123
1123
|
|
|
1124
|
-
|
|
1125
|
-
if (object) possible.push(object);
|
|
1126
|
-
return sortByLabel(possible);
|
|
1124
|
+
return possible; // return sortByLabel(possible)
|
|
1127
1125
|
} // TODO: this checks for any occurrence, regardless of true or false setting
|
|
1128
1126
|
|
|
1129
1127
|
|
|
@@ -1131,31 +1129,81 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1131
1129
|
opts.mint = '* Create new *'; // @@ could be better
|
|
1132
1130
|
}
|
|
1133
1131
|
|
|
1132
|
+
var multiSelect = kb.any(form, ui('multiselect')); // Optional
|
|
1133
|
+
|
|
1134
|
+
if (multiSelect) opts.multiSelect = true;
|
|
1134
1135
|
var selector;
|
|
1135
1136
|
|
|
1136
1137
|
rhs.refresh = function () {
|
|
1137
|
-
|
|
1138
|
-
|
|
1138
|
+
// from ui:property
|
|
1139
|
+
var selectedOptions = kb.each(subject, property, null, dataDoc).map(function (object) {
|
|
1140
|
+
return object.value;
|
|
1141
|
+
}); // from ui:from + ui:property
|
|
1142
|
+
|
|
1143
|
+
var possibleOptions = getSelectorOptions();
|
|
1144
|
+
possibleOptions.push(selectedOptions);
|
|
1145
|
+
possibleOptions = sortByLabel(possibleOptions);
|
|
1146
|
+
selector = makeSelectForChoice(dom, rhs, kb, subject, property, possibleOptions, selectedOptions, uiFrom, opts, dataDoc, callbackFunction);
|
|
1139
1147
|
rhs.innerHTML = '';
|
|
1140
1148
|
rhs.appendChild(selector);
|
|
1149
|
+
|
|
1150
|
+
if (multiSelect) {
|
|
1151
|
+
var multiSelectDiv = new _multiSelect.IconicMultiSelect({
|
|
1152
|
+
placeholder: selector.selected,
|
|
1153
|
+
select: selector,
|
|
1154
|
+
container: rhs,
|
|
1155
|
+
textField: 'textField',
|
|
1156
|
+
valueField: 'valueField'
|
|
1157
|
+
});
|
|
1158
|
+
multiSelectDiv.init();
|
|
1159
|
+
multiSelectDiv.subscribe(function (event) {
|
|
1160
|
+
if (event.action === 'REMOVE_OPTION') {
|
|
1161
|
+
selectedOptions = selectedOptions.filter(function (value) {
|
|
1162
|
+
return value !== event.value;
|
|
1163
|
+
});
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
if (event.action === 'CLEAR_ALL_OPTIONS') {
|
|
1167
|
+
selectedOptions = [];
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
if (event.action === 'ADD_OPTION') {
|
|
1171
|
+
var stringValue = event.value + '';
|
|
1172
|
+
|
|
1173
|
+
if (stringValue.includes('Create new')) {
|
|
1174
|
+
var newObject = newThing(dataDoc);
|
|
1175
|
+
var is = [];
|
|
1176
|
+
is.push($rdf.st(subject, property, kb.sym(newObject), dataDoc));
|
|
1177
|
+
if (uiFrom) is.push($rdf.st(newObject, ns.rdf('type'), kb.sym(uiFrom), dataDoc));
|
|
1178
|
+
|
|
1179
|
+
if (subForm) {
|
|
1180
|
+
addSubFormChoice(dom, rhs, {}, $rdf.sym(newObject), subForm, dataDoc, function (ok, body) {
|
|
1181
|
+
if (ok) {
|
|
1182
|
+
kb.updater.update([], is, function (uri, success, errorBody) {
|
|
1183
|
+
if (!success) rhs.appendChild((0, _error.errorMessageBlock)(dom, 'Error updating select: ' + errorBody));
|
|
1184
|
+
});
|
|
1185
|
+
selectedOptions.push(newObject);
|
|
1186
|
+
if (callbackFunction) callbackFunction(ok, {
|
|
1187
|
+
widget: 'select',
|
|
1188
|
+
event: 'new'
|
|
1189
|
+
});
|
|
1190
|
+
} else {
|
|
1191
|
+
rhs.appendChild((0, _error.errorMessageBlock)(dom, 'Error updating data in field of select: ' + body));
|
|
1192
|
+
}
|
|
1193
|
+
});
|
|
1194
|
+
}
|
|
1195
|
+
} else selectedOptions.push(event.value);
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1198
|
+
selector.update(selectedOptions);
|
|
1199
|
+
});
|
|
1200
|
+
}
|
|
1141
1201
|
};
|
|
1142
1202
|
|
|
1143
1203
|
rhs.refresh();
|
|
1144
1204
|
if (selector && selector.refresh) selector.refresh();
|
|
1145
1205
|
return box;
|
|
1146
1206
|
};
|
|
1147
|
-
/**
|
|
1148
|
-
* Removes all sibling elements after specified
|
|
1149
|
-
* @param {HTMLElement} currentElement
|
|
1150
|
-
* @private
|
|
1151
|
-
*/
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
function removeNextSiblingsAfterElement(currentElement) {
|
|
1155
|
-
while (currentElement.nextElementSibling) {
|
|
1156
|
-
currentElement.nextElementSibling.remove();
|
|
1157
|
-
}
|
|
1158
|
-
}
|
|
1159
1207
|
|
|
1160
1208
|
function addSubFormChoice(dom, selectDiv, already, subject, subForm, dataDoc, callbackFunction) {
|
|
1161
1209
|
(0, _fieldFunction.fieldFunction)(dom, subForm)(dom, selectDiv, already, subject, subForm, dataDoc, callbackFunction);
|
|
@@ -1878,8 +1926,6 @@ function newThing(doc) {
|
|
|
1878
1926
|
// @param subject - a term, the subject of the statement(s) being edited.
|
|
1879
1927
|
// @param predicate - a term, the predicate of the statement(s) being edited
|
|
1880
1928
|
// @param possible - a list of terms, the possible value the object can take
|
|
1881
|
-
// @param options.multiSelect - Boolean - Whether more than one at a time is allowed
|
|
1882
|
-
// @param options.uiMultipleInUse - signals that the ui:choise is used with a ui:multiple
|
|
1883
1929
|
// @param options.mint - User may create thing if this sent to the prompt string eg "New foo"
|
|
1884
1930
|
// @param options.subForm - If mint, then the form to be used for minting the new thing
|
|
1885
1931
|
// @param dataDoc - The web document being edited
|
|
@@ -1887,31 +1933,29 @@ function newThing(doc) {
|
|
|
1887
1933
|
*/
|
|
1888
1934
|
|
|
1889
1935
|
|
|
1890
|
-
function makeSelectForChoice(dom, container, kb, subject, predicate,
|
|
1891
|
-
var
|
|
1892
|
-
var uris = {}; // Count them
|
|
1936
|
+
function makeSelectForChoice(dom, container, kb, subject, predicate, inputPossibleOptions, selectedOptions, uiFrom, options, dataDoc, callbackFunction) {
|
|
1937
|
+
var optionsFromClassUIfrom = {}; // Count them
|
|
1893
1938
|
|
|
1894
1939
|
var editable = kb.updater.editable(dataDoc.uri);
|
|
1895
1940
|
|
|
1896
|
-
for (var i = 0; i <
|
|
1897
|
-
var sub =
|
|
1941
|
+
for (var i = 0; i < inputPossibleOptions.length; i++) {
|
|
1942
|
+
var sub = inputPossibleOptions[i]; // @@ Maybe; make this so it works with blank nodes too
|
|
1943
|
+
// if (!sub.uri) debug.warn(`makeSelectForChoice: option does not have an uri: ${sub}, with predicate: ${predicate}`)
|
|
1898
1944
|
|
|
1899
|
-
if (!sub.uri
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
n++;
|
|
1903
|
-
} // uris is now the set of possible options
|
|
1945
|
+
if (!sub.uri || sub.uri in optionsFromClassUIfrom) continue;
|
|
1946
|
+
optionsFromClassUIfrom[sub.uri] = true;
|
|
1947
|
+
}
|
|
1904
1948
|
|
|
1949
|
+
var isEmpty = Object.keys(optionsFromClassUIfrom).length === 0;
|
|
1905
1950
|
|
|
1906
|
-
if (
|
|
1951
|
+
if (isEmpty && !options.mint) {
|
|
1907
1952
|
return (0, _error.errorMessageBlock)(dom, "Can't do selector with no options, subject= " + subject + ' property = ' + predicate + '.');
|
|
1908
1953
|
}
|
|
1909
1954
|
|
|
1910
|
-
log.debug('
|
|
1955
|
+
log.debug('makeSelectForChoice: dataDoc=' + dataDoc);
|
|
1911
1956
|
|
|
1912
|
-
function
|
|
1913
|
-
var firstSelectOptionText = '---
|
|
1914
|
-
var option = dom.createElement('option');
|
|
1957
|
+
function createDefaultSelectOptionText() {
|
|
1958
|
+
var firstSelectOptionText = '--- choice ---';
|
|
1915
1959
|
|
|
1916
1960
|
if (predicate && !(predicate.termType === 'BlankNode')) {
|
|
1917
1961
|
firstSelectOptionText = '* Select for property: ' + utils.label(predicate) + ' *';
|
|
@@ -1921,7 +1965,12 @@ function makeSelectForChoice(dom, container, kb, subject, predicate, possible, u
|
|
|
1921
1965
|
firstSelectOptionText = '* Select for ' + utils.label(subject, true) + ' *';
|
|
1922
1966
|
}
|
|
1923
1967
|
|
|
1924
|
-
|
|
1968
|
+
return firstSelectOptionText;
|
|
1969
|
+
}
|
|
1970
|
+
|
|
1971
|
+
function createDefaultSelectOption() {
|
|
1972
|
+
var option = dom.createElement('option');
|
|
1973
|
+
option.appendChild(dom.createTextNode(createDefaultSelectOptionText()));
|
|
1925
1974
|
option.disabled = true;
|
|
1926
1975
|
option.value = true;
|
|
1927
1976
|
option.hidden = true;
|
|
@@ -1930,15 +1979,16 @@ function makeSelectForChoice(dom, container, kb, subject, predicate, possible, u
|
|
|
1930
1979
|
}
|
|
1931
1980
|
|
|
1932
1981
|
var onChange = function onChange(_e) {
|
|
1982
|
+
container.removeChild(container.lastChild);
|
|
1933
1983
|
select.refresh();
|
|
1934
1984
|
};
|
|
1935
1985
|
|
|
1936
1986
|
var select = dom.createElement('select');
|
|
1937
1987
|
select.setAttribute('style', style.formSelectSTyle);
|
|
1938
|
-
|
|
1988
|
+
select.setAttribute('id', 'formSelect');
|
|
1939
1989
|
select.currentURI = null;
|
|
1940
1990
|
|
|
1941
|
-
for (var uri in
|
|
1991
|
+
for (var uri in optionsFromClassUIfrom) {
|
|
1942
1992
|
select.appendChild(createOption(uri));
|
|
1943
1993
|
}
|
|
1944
1994
|
|
|
@@ -1950,11 +2000,10 @@ function makeSelectForChoice(dom, container, kb, subject, predicate, possible, u
|
|
|
1950
2000
|
select.insertBefore(mint, select.firstChild);
|
|
1951
2001
|
}
|
|
1952
2002
|
|
|
1953
|
-
if (select.children.length === 0) select.insertBefore(
|
|
1954
|
-
|
|
1955
|
-
select.refresh = function () {
|
|
1956
|
-
select.disabled = true; // unlocked any conflict we had got into
|
|
2003
|
+
if (select.children.length === 0) select.insertBefore(createDefaultSelectOption(), select.firstChild);
|
|
1957
2004
|
|
|
2005
|
+
select.update = function (newSelectedOptions) {
|
|
2006
|
+
selectedOptions = newSelectedOptions;
|
|
1958
2007
|
var ds = [];
|
|
1959
2008
|
var is = [];
|
|
1960
2009
|
|
|
@@ -1964,6 +2013,62 @@ function makeSelectForChoice(dom, container, kb, subject, predicate, possible, u
|
|
|
1964
2013
|
}
|
|
1965
2014
|
};
|
|
1966
2015
|
|
|
2016
|
+
var addValue = function addValue(t) {
|
|
2017
|
+
if (!kb.holds(subject, predicate, t, dataDoc)) {
|
|
2018
|
+
is.push($rdf.st(subject, predicate, t, dataDoc)); // console.log("----value added " + t)
|
|
2019
|
+
}
|
|
2020
|
+
|
|
2021
|
+
if (uiFrom && !kb.holds(t, ns.rdf('type'), kb.sym(uiFrom), dataDoc)) {
|
|
2022
|
+
is.push($rdf.st(t, ns.rdf('type'), kb.sym(uiFrom), dataDoc)); // console.log("----added type to value " + uiFrom)
|
|
2023
|
+
}
|
|
2024
|
+
};
|
|
2025
|
+
|
|
2026
|
+
var existingValues = kb.each(subject, predicate, null, dataDoc).map(function (object) {
|
|
2027
|
+
return object.value;
|
|
2028
|
+
});
|
|
2029
|
+
|
|
2030
|
+
var _iterator2 = _createForOfIteratorHelper(existingValues),
|
|
2031
|
+
_step2;
|
|
2032
|
+
|
|
2033
|
+
try {
|
|
2034
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
2035
|
+
var value = _step2.value;
|
|
2036
|
+
if (!containsObject(value, selectedOptions)) removeValue($rdf.sym(value));
|
|
2037
|
+
}
|
|
2038
|
+
} catch (err) {
|
|
2039
|
+
_iterator2.e(err);
|
|
2040
|
+
} finally {
|
|
2041
|
+
_iterator2.f();
|
|
2042
|
+
}
|
|
2043
|
+
|
|
2044
|
+
var _iterator3 = _createForOfIteratorHelper(selectedOptions),
|
|
2045
|
+
_step3;
|
|
2046
|
+
|
|
2047
|
+
try {
|
|
2048
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
2049
|
+
var _value = _step3.value;
|
|
2050
|
+
if (!(_value in existingValues)) addValue($rdf.sym(_value));
|
|
2051
|
+
}
|
|
2052
|
+
} catch (err) {
|
|
2053
|
+
_iterator3.e(err);
|
|
2054
|
+
} finally {
|
|
2055
|
+
_iterator3.f();
|
|
2056
|
+
}
|
|
2057
|
+
|
|
2058
|
+
kb.updater.update(ds, is, function (uri, ok, body) {
|
|
2059
|
+
if (!ok) return select.parentNode.appendChild((0, _error.errorMessageBlock)(dom, 'Error updating data in select: ' + body));
|
|
2060
|
+
select.refresh();
|
|
2061
|
+
if (callbackFunction) callbackFunction(ok, {
|
|
2062
|
+
widget: 'select',
|
|
2063
|
+
event: 'change'
|
|
2064
|
+
});
|
|
2065
|
+
});
|
|
2066
|
+
};
|
|
2067
|
+
|
|
2068
|
+
select.refresh = function () {
|
|
2069
|
+
select.disabled = true; // unlocked any conflict we had got into
|
|
2070
|
+
|
|
2071
|
+
var is = [];
|
|
1967
2072
|
var newObject;
|
|
1968
2073
|
|
|
1969
2074
|
for (var _i3 = 0; _i3 < select.options.length; _i3++) {
|
|
@@ -1972,7 +2077,7 @@ function makeSelectForChoice(dom, container, kb, subject, predicate, possible, u
|
|
|
1972
2077
|
if (opt.selected && opt.AJAR_mint) {
|
|
1973
2078
|
// not sure if this 'if' is used because I cannot find mintClass
|
|
1974
2079
|
if (options.mintClass) {
|
|
1975
|
-
var thisForm = promptForNew(dom, kb, subject, predicate, options.
|
|
2080
|
+
var thisForm = promptForNew(dom, kb, subject, predicate, uiFrom, options.subForm, dataDoc, function (ok, body) {
|
|
1976
2081
|
if (!ok) {
|
|
1977
2082
|
callbackFunction(ok, body, {
|
|
1978
2083
|
change: 'new'
|
|
@@ -1997,36 +2102,26 @@ function makeSelectForChoice(dom, container, kb, subject, predicate, possible, u
|
|
|
1997
2102
|
|
|
1998
2103
|
if (!opt.AJAR_uri) continue; // a prompt or mint
|
|
1999
2104
|
|
|
2000
|
-
if (opt.selected
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
var sel = select.subSelect; // All subclasses must also go
|
|
2004
|
-
|
|
2005
|
-
while (sel && sel.currentURI) {
|
|
2006
|
-
removeValue(kb.sym(sel.currentURI));
|
|
2007
|
-
sel = sel.subSelect;
|
|
2008
|
-
}
|
|
2009
|
-
|
|
2010
|
-
sel = select.superSelect; // All superclasses are redundant
|
|
2105
|
+
if (opt.selected && containsObject(opt.AJAR_uri, selectedOptions)) {
|
|
2106
|
+
select.currentURI = opt.AJAR_uri;
|
|
2107
|
+
}
|
|
2011
2108
|
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
sel = sel.superSelect;
|
|
2109
|
+
if (!containsObject(opt.AJAR_uri, selectedOptions)) opt.removeAttribute('selected');
|
|
2110
|
+
if (containsObject(opt.AJAR_uri, selectedOptions)) opt.setAttribute('selected', 'true');
|
|
2015
2111
|
}
|
|
2016
2112
|
|
|
2017
2113
|
log.info('selectForOptions: data doc = ' + dataDoc);
|
|
2018
2114
|
|
|
2019
|
-
if (select.currentURI) {
|
|
2020
|
-
removeNextSiblingsAfterElement(select);
|
|
2115
|
+
if (select.currentURI && options.subForm && !options.multiSelect) {
|
|
2021
2116
|
addSubFormChoice(dom, container, {}, $rdf.sym(select.currentURI), options.subForm, dataDoc, function (ok, body) {
|
|
2022
2117
|
if (ok) {
|
|
2023
|
-
kb.updater.update(
|
|
2118
|
+
kb.updater.update([], is, function (uri, success, errorBody) {
|
|
2024
2119
|
if (!success) container.appendChild((0, _error.errorMessageBlock)(dom, 'Error updating select: ' + errorBody));
|
|
2025
2120
|
});
|
|
2026
2121
|
if (callbackFunction) callbackFunction(ok, {
|
|
2027
2122
|
widget: 'select',
|
|
2028
2123
|
event: 'new'
|
|
2029
|
-
});
|
|
2124
|
+
});
|
|
2030
2125
|
} else {
|
|
2031
2126
|
container.appendChild((0, _error.errorMessageBlock)(dom, 'Error updating data in field of select: ' + body));
|
|
2032
2127
|
}
|
|
@@ -2039,13 +2134,17 @@ function makeSelectForChoice(dom, container, kb, subject, predicate, possible, u
|
|
|
2039
2134
|
function createOption(uri) {
|
|
2040
2135
|
var option = dom.createElement('option');
|
|
2041
2136
|
var c = kb.sym(uri);
|
|
2137
|
+
var label;
|
|
2042
2138
|
|
|
2043
2139
|
if (options.disambiguate) {
|
|
2044
|
-
|
|
2140
|
+
label = utils.labelWithOntology(c, true); // Init. cap
|
|
2045
2141
|
} else {
|
|
2046
|
-
|
|
2142
|
+
label = utils.label(c, true);
|
|
2047
2143
|
}
|
|
2048
2144
|
|
|
2145
|
+
option.appendChild(dom.createTextNode(label)); // Init.
|
|
2146
|
+
|
|
2147
|
+
option.setAttribute('value', uri);
|
|
2049
2148
|
var backgroundColor = kb.any(c, kb.sym('http://www.w3.org/ns/ui#backgroundColor'));
|
|
2050
2149
|
|
|
2051
2150
|
if (backgroundColor) {
|
|
@@ -2053,7 +2152,11 @@ function makeSelectForChoice(dom, container, kb, subject, predicate, possible, u
|
|
|
2053
2152
|
}
|
|
2054
2153
|
|
|
2055
2154
|
option.AJAR_uri = uri;
|
|
2056
|
-
|
|
2155
|
+
|
|
2156
|
+
if (containsObject(c.value, selectedOptions)) {
|
|
2157
|
+
option.setAttribute('selected', 'true');
|
|
2158
|
+
}
|
|
2159
|
+
|
|
2057
2160
|
return option;
|
|
2058
2161
|
}
|
|
2059
2162
|
|
|
@@ -2063,4 +2166,81 @@ function makeSelectForChoice(dom, container, kb, subject, predicate, possible, u
|
|
|
2063
2166
|
|
|
2064
2167
|
return select;
|
|
2065
2168
|
} // makeSelectForChoice
|
|
2169
|
+
|
|
2170
|
+
|
|
2171
|
+
function containsObject(obj, list) {
|
|
2172
|
+
var i;
|
|
2173
|
+
|
|
2174
|
+
for (i = 0; i < list.length; i++) {
|
|
2175
|
+
if (list[i] === obj) {
|
|
2176
|
+
return true;
|
|
2177
|
+
}
|
|
2178
|
+
}
|
|
2179
|
+
|
|
2180
|
+
return false;
|
|
2181
|
+
} // This functions replaces the findMembersNT (thisClass) from rdflib until we fix: https://github.com/linkeddata/rdflib.js/issues/565
|
|
2182
|
+
|
|
2183
|
+
/**
|
|
2184
|
+
* For anything which has thisClass (or any subclass) as its type,
|
|
2185
|
+
* or is the object of something which has thisClass (or any subclass) as its range,
|
|
2186
|
+
* or subject of something which has thisClass (or any subclass) as its domain
|
|
2187
|
+
* We don't bother doing subproperty (yet?) as it doesn't seem to be used
|
|
2188
|
+
* much.
|
|
2189
|
+
* Get all the Classes of which we can RDFS-infer the subject is a member
|
|
2190
|
+
* @return a hash of URIs
|
|
2191
|
+
*/
|
|
2192
|
+
|
|
2193
|
+
|
|
2194
|
+
function findMembersNT(store, thisClass, quad) {
|
|
2195
|
+
var len2;
|
|
2196
|
+
var len4;
|
|
2197
|
+
var m;
|
|
2198
|
+
var pred;
|
|
2199
|
+
var ref1;
|
|
2200
|
+
var ref2;
|
|
2201
|
+
var ref3;
|
|
2202
|
+
var ref4;
|
|
2203
|
+
var ref5;
|
|
2204
|
+
var st;
|
|
2205
|
+
var u;
|
|
2206
|
+
var seeds = {};
|
|
2207
|
+
seeds[thisClass.toNT()] = true;
|
|
2208
|
+
var members = {};
|
|
2209
|
+
var ref = store.transitiveClosure(seeds, store.rdfFactory.namedNode('http://www.w3.org/2000/01/rdf-schema#subClassOf'), true);
|
|
2210
|
+
|
|
2211
|
+
for (var t in ref) {
|
|
2212
|
+
ref1 = store.statementsMatching(null, store.rdfFactory.namedNode('http://www.w3.org/1999/02/22-rdf-syntax-ns#type'), store.fromNT(t), quad);
|
|
2213
|
+
|
|
2214
|
+
for (var i = 0, len = ref1.length; i < len; i++) {
|
|
2215
|
+
st = ref1[i];
|
|
2216
|
+
members[st.subject.toNT()] = st;
|
|
2217
|
+
}
|
|
2218
|
+
|
|
2219
|
+
ref2 = store.each(null, store.rdfFactory.namedNode('http://www.w3.org/2000/01/rdf-schema#domain'), store.fromNT(t), quad);
|
|
2220
|
+
|
|
2221
|
+
for (var l = 0, len1 = ref2.length; l < len1; l++) {
|
|
2222
|
+
pred = ref2[l];
|
|
2223
|
+
ref3 = store.statementsMatching(null, pred, null, quad);
|
|
2224
|
+
|
|
2225
|
+
for (m = 0, len2 = ref3.length; m < len2; m++) {
|
|
2226
|
+
st = ref3[m];
|
|
2227
|
+
members[st.subject.toNT()] = st;
|
|
2228
|
+
}
|
|
2229
|
+
}
|
|
2230
|
+
|
|
2231
|
+
ref4 = store.each(null, store.rdfFactory.namedNode('http://www.w3.org/2000/01/rdf-schema#range'), store.fromNT(t), quad);
|
|
2232
|
+
|
|
2233
|
+
for (var q = 0, len3 = ref4.length; q < len3; q++) {
|
|
2234
|
+
pred = ref4[q];
|
|
2235
|
+
ref5 = store.statementsMatching(null, pred, null, quad);
|
|
2236
|
+
|
|
2237
|
+
for (u = 0, len4 = ref5.length; u < len4; u++) {
|
|
2238
|
+
st = ref5[u];
|
|
2239
|
+
members[st.object.toNT()] = st;
|
|
2240
|
+
}
|
|
2241
|
+
}
|
|
2242
|
+
}
|
|
2243
|
+
|
|
2244
|
+
return members;
|
|
2245
|
+
}
|
|
2066
2246
|
//# sourceMappingURL=forms.js.map
|