solid-ui 2.4.22-b483f37e → 2.4.22-b82de984
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 +87 -63
- package/dist/main.js.map +1 -1
- package/lib/versionInfo.js +2 -2
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/forms.js +86 -62
- package/lib/widgets/forms.js.map +1 -1
- package/package.json +3 -2
package/lib/versionInfo.js
CHANGED
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.versionInfo = void 0;
|
|
7
7
|
var versionInfo = {
|
|
8
|
-
buildTime: '2022-05-
|
|
9
|
-
commit: '
|
|
8
|
+
buildTime: '2022-05-10T08:32:21Z',
|
|
9
|
+
commit: 'b82de9840c3fb6ddbe51c92da3546f27520525ce',
|
|
10
10
|
npmInfo: {
|
|
11
11
|
'solid-ui': '2.4.22',
|
|
12
12
|
npm: '6.14.16',
|
package/lib/versionInfo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/versionInfo.ts"],"names":["versionInfo","buildTime","commit","npmInfo","npm","ares","brotli","cldr","icu","llhttp","modules","napi","nghttp2","node","openssl","tz","unicode","uv","v8","zlib"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAG;AACzBC,EAAAA,SAAS,EAAE,sBADc;AAEzBC,EAAAA,MAAM,EAAE,0CAFiB;AAGzBC,EAAAA,OAAO,EACT;AACE,gBAAY,QADd;AAEEC,IAAAA,GAAG,EAAE,SAFP;AAGEC,IAAAA,IAAI,EAAE,QAHR;AAIEC,IAAAA,MAAM,EAAE,OAJV;AAKEC,IAAAA,IAAI,EAAE,MALR;AAMEC,IAAAA,GAAG,EAAE,MANP;AAOEC,IAAAA,MAAM,EAAE,OAPV;AAQEC,IAAAA,OAAO,EAAE,IARX;AASEC,IAAAA,IAAI,EAAE,GATR;AAUEC,IAAAA,OAAO,EAAE,QAVX;AAWEC,IAAAA,IAAI,EAAE,SAXR;AAYEC,IAAAA,OAAO,EAAE,QAZX;AAaEC,IAAAA,EAAE,EAAE,QAbN;AAcEC,IAAAA,OAAO,EAAE,MAdX;AAeEC,IAAAA,EAAE,EAAE,QAfN;AAgBEC,IAAAA,EAAE,EAAE,oBAhBN;AAiBEC,IAAAA,IAAI,EAAE;AAjBR;AAJ2B,CAApB","sourcesContent":["export const versionInfo = {\n buildTime: '2022-05-
|
|
1
|
+
{"version":3,"sources":["../src/versionInfo.ts"],"names":["versionInfo","buildTime","commit","npmInfo","npm","ares","brotli","cldr","icu","llhttp","modules","napi","nghttp2","node","openssl","tz","unicode","uv","v8","zlib"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAG;AACzBC,EAAAA,SAAS,EAAE,sBADc;AAEzBC,EAAAA,MAAM,EAAE,0CAFiB;AAGzBC,EAAAA,OAAO,EACT;AACE,gBAAY,QADd;AAEEC,IAAAA,GAAG,EAAE,SAFP;AAGEC,IAAAA,IAAI,EAAE,QAHR;AAIEC,IAAAA,MAAM,EAAE,OAJV;AAKEC,IAAAA,IAAI,EAAE,MALR;AAMEC,IAAAA,GAAG,EAAE,MANP;AAOEC,IAAAA,MAAM,EAAE,OAPV;AAQEC,IAAAA,OAAO,EAAE,IARX;AASEC,IAAAA,IAAI,EAAE,GATR;AAUEC,IAAAA,OAAO,EAAE,QAVX;AAWEC,IAAAA,IAAI,EAAE,SAXR;AAYEC,IAAAA,OAAO,EAAE,QAZX;AAaEC,IAAAA,EAAE,EAAE,QAbN;AAcEC,IAAAA,OAAO,EAAE,MAdX;AAeEC,IAAAA,EAAE,EAAE,QAfN;AAgBEC,IAAAA,EAAE,EAAE,oBAhBN;AAiBEC,IAAAA,IAAI,EAAE;AAjBR;AAJ2B,CAApB","sourcesContent":["export const versionInfo = {\n buildTime: '2022-05-10T08:32:21Z',\n commit: 'b82de9840c3fb6ddbe51c92da3546f27520525ce',\n npmInfo:\n{\n 'solid-ui': '2.4.22',\n npm: '6.14.16',\n ares: '1.18.1',\n brotli: '1.0.9',\n cldr: '40.0',\n icu: '70.1',\n llhttp: '2.1.4',\n modules: '83',\n napi: '8',\n nghttp2: '1.42.0',\n node: '14.19.1',\n openssl: '1.1.1n',\n tz: '2021a3',\n unicode: '14.0',\n uv: '1.42.0',\n v8: '8.4.371.23-node.85',\n zlib: '1.2.11'\n}\n}\n"],"file":"versionInfo.js"}
|
package/lib/widgets/forms.js
CHANGED
|
@@ -1017,6 +1017,14 @@ _fieldFunction.field[ns.ui('Classifier').uri] = function (dom, container, alread
|
|
|
1017
1017
|
**
|
|
1018
1018
|
** Not nested. Generates a link to something from a given class.
|
|
1019
1019
|
** Optional subform for the thing selected.
|
|
1020
|
+
** Generates a subForm based on a ui:use form
|
|
1021
|
+
** Will look like:
|
|
1022
|
+
** <div id=dropDownDiv>
|
|
1023
|
+
** <div id=labelOfDropDown>
|
|
1024
|
+
** <div id=selectDiv>
|
|
1025
|
+
** <select id=dropDownSelect>
|
|
1026
|
+
** <option> ....
|
|
1027
|
+
** <subForm>
|
|
1020
1028
|
** Alternative implementatons caould be:
|
|
1021
1029
|
** -- pop-up menu (as here)
|
|
1022
1030
|
** -- radio buttons
|
|
@@ -1033,12 +1041,15 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1033
1041
|
var formDoc = form.doc ? form.doc() : null; // @@ if blank no way to know
|
|
1034
1042
|
|
|
1035
1043
|
var p;
|
|
1036
|
-
var box = dom.createElement('div');
|
|
1044
|
+
var box = dom.createElement('div');
|
|
1045
|
+
box.setAttribute('class', 'choiceBox'); // Set flexDirection column?
|
|
1037
1046
|
|
|
1038
1047
|
if (container) container.appendChild(box);
|
|
1039
1048
|
var lhs = dom.createElement('div');
|
|
1049
|
+
lhs.setAttribute('class', 'formFieldName choiceBox-label');
|
|
1040
1050
|
box.appendChild(lhs);
|
|
1041
1051
|
var rhs = dom.createElement('div');
|
|
1052
|
+
rhs.setAttribute('class', 'formFieldValue choiceBox-selectBox');
|
|
1042
1053
|
box.appendChild(rhs);
|
|
1043
1054
|
var property = kb.any(form, ui('property'));
|
|
1044
1055
|
|
|
@@ -1047,9 +1058,9 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1047
1058
|
}
|
|
1048
1059
|
|
|
1049
1060
|
lhs.appendChild((0, _basic.fieldLabel)(dom, property, form));
|
|
1050
|
-
var
|
|
1061
|
+
var uiFrom = kb.any(form, ui('from'));
|
|
1051
1062
|
|
|
1052
|
-
if (!
|
|
1063
|
+
if (!uiFrom) {
|
|
1053
1064
|
return (0, _error.errorMessageBlock)(dom, "No 'from' for Choice: " + form);
|
|
1054
1065
|
}
|
|
1055
1066
|
|
|
@@ -1059,26 +1070,27 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1059
1070
|
|
|
1060
1071
|
var possible = [];
|
|
1061
1072
|
var possibleProperties;
|
|
1062
|
-
var
|
|
1073
|
+
var firstSelectOptionText = '* Select from ' + utils.label(subject, true) + ' *';
|
|
1063
1074
|
var opts = {
|
|
1064
1075
|
form: form,
|
|
1076
|
+
subForm: subForm,
|
|
1065
1077
|
multiple: multiple,
|
|
1066
|
-
|
|
1078
|
+
firstSelectOptionText: firstSelectOptionText,
|
|
1067
1079
|
disambiguate: false
|
|
1068
1080
|
};
|
|
1069
|
-
possible = kb.each(undefined, ns.rdf('type'),
|
|
1081
|
+
possible = kb.each(undefined, ns.rdf('type'), uiFrom, formDoc);
|
|
1070
1082
|
|
|
1071
|
-
for (var x in kb.findMembersNT(
|
|
1083
|
+
for (var x in kb.findMembersNT(uiFrom)) {
|
|
1072
1084
|
possible.push(kb.fromNT(x));
|
|
1073
1085
|
} // Use rdfs
|
|
1074
1086
|
|
|
1075
1087
|
|
|
1076
|
-
if (
|
|
1088
|
+
if (uiFrom.sameTerm(ns.rdfs('Class'))) {
|
|
1077
1089
|
for (p in buttons.allClassURIs()) {
|
|
1078
1090
|
possible.push(kb.sym(p));
|
|
1079
1091
|
} // log.debug("%%% Choice field: possible.length 2 = "+possible.length)
|
|
1080
1092
|
|
|
1081
|
-
} else if (
|
|
1093
|
+
} else if (uiFrom.sameTerm(ns.rdf('Property'))) {
|
|
1082
1094
|
possibleProperties = buttons.propertyTriage(kb);
|
|
1083
1095
|
|
|
1084
1096
|
for (p in possibleProperties.op) {
|
|
@@ -1090,7 +1102,7 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1090
1102
|
}
|
|
1091
1103
|
|
|
1092
1104
|
opts.disambiguate = true; // This is a big class, and the labels won't be enough.
|
|
1093
|
-
} else if (
|
|
1105
|
+
} else if (uiFrom.sameTerm(ns.owl('ObjectProperty'))) {
|
|
1094
1106
|
possibleProperties = buttons.propertyTriage(kb);
|
|
1095
1107
|
|
|
1096
1108
|
for (p in possibleProperties.op) {
|
|
@@ -1098,7 +1110,7 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1098
1110
|
}
|
|
1099
1111
|
|
|
1100
1112
|
opts.disambiguate = true;
|
|
1101
|
-
} else if (
|
|
1113
|
+
} else if (uiFrom.sameTerm(ns.owl('DatatypeProperty'))) {
|
|
1102
1114
|
possibleProperties = buttons.propertyTriage(kb);
|
|
1103
1115
|
|
|
1104
1116
|
for (p in possibleProperties.dp) {
|
|
@@ -1108,26 +1120,45 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1108
1120
|
opts.disambiguate = true;
|
|
1109
1121
|
}
|
|
1110
1122
|
|
|
1111
|
-
var
|
|
1123
|
+
var sortedPossible = sortByLabel(possible); // TODO: this checks for any occurrence, regardless of true or false setting
|
|
1112
1124
|
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
(0, _fieldFunction.fieldFunction)(dom, subForm)(dom, rhs, already, object, subForm, follow ? object.doc() : dataDoc, callbackFunction);
|
|
1125
|
+
if (kb.any(form, ui('canMintNew'))) {
|
|
1126
|
+
opts.mint = '* Create new *'; // @@ could be better
|
|
1116
1127
|
}
|
|
1117
1128
|
|
|
1118
|
-
var
|
|
1129
|
+
var selector = makeSelectForOptions(dom, kb, subject, property, sortedPossible, uiFrom, opts, dataDoc, callbackFunction);
|
|
1130
|
+
rhs.appendChild(selector);
|
|
1131
|
+
var object;
|
|
1119
1132
|
|
|
1120
|
-
if (
|
|
1121
|
-
|
|
1133
|
+
if (selector.currentURI) {
|
|
1134
|
+
object = $rdf.sym(selector.currentURI);
|
|
1135
|
+
} else {
|
|
1136
|
+
object = kb.any(subject, property);
|
|
1137
|
+
}
|
|
1122
1138
|
|
|
1123
|
-
|
|
1139
|
+
if (object && subForm) {
|
|
1140
|
+
removeNextSiblingsAfterElement(selector);
|
|
1141
|
+
addSubFormChoice(dom, rhs, already, object, subForm, follow ? object.doc() : dataDoc, callbackFunction);
|
|
1124
1142
|
}
|
|
1125
1143
|
|
|
1126
|
-
var selector = makeSelectForOptions(dom, kb, subject, property, possible2, opts, dataDoc, callbackFunction);
|
|
1127
|
-
rhs.appendChild(selector);
|
|
1128
|
-
if (object && subForm) addSubForm();
|
|
1129
1144
|
return box;
|
|
1130
|
-
};
|
|
1145
|
+
};
|
|
1146
|
+
/**
|
|
1147
|
+
* Removes all sibling elements after specified
|
|
1148
|
+
* @param {HTMLElement} currentElement
|
|
1149
|
+
* @private
|
|
1150
|
+
*/
|
|
1151
|
+
|
|
1152
|
+
|
|
1153
|
+
function removeNextSiblingsAfterElement(currentElement) {
|
|
1154
|
+
while (currentElement.nextElementSibling) {
|
|
1155
|
+
currentElement.nextElementSibling.remove();
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1159
|
+
function addSubFormChoice(dom, selectDiv, already, subject, subForm, dataDoc, callbackFunction) {
|
|
1160
|
+
(0, _fieldFunction.fieldFunction)(dom, subForm)(dom, selectDiv, already, subject, subForm, dataDoc, callbackFunction);
|
|
1161
|
+
} // Documentation - non-interactive fields
|
|
1131
1162
|
//
|
|
1132
1163
|
|
|
1133
1164
|
|
|
@@ -1466,7 +1497,7 @@ function makeDescription(dom, kb, subject, predicate, dataDoc, callbackFunction)
|
|
|
1466
1497
|
// @param predicate - a term, the predicate of the statement(s) being edited
|
|
1467
1498
|
// @param possible - a list of terms, the possible value the object can take
|
|
1468
1499
|
// @param options.multiple - Boolean - Whether more than one at a time is allowed
|
|
1469
|
-
// @param options.
|
|
1500
|
+
// @param options.firstSelectOptionText - a string to be displayed as the
|
|
1470
1501
|
// option for none selected (for non multiple)
|
|
1471
1502
|
// @param options.mint - User may create thing if this sent to the prompt string eg "New foo"
|
|
1472
1503
|
// @param options.subForm - If mint, then the form to be used for minting the new thing
|
|
@@ -1475,7 +1506,7 @@ function makeDescription(dom, kb, subject, predicate, dataDoc, callbackFunction)
|
|
|
1475
1506
|
*/
|
|
1476
1507
|
|
|
1477
1508
|
|
|
1478
|
-
function makeSelectForOptions(dom, kb, subject, predicate, possible, options, dataDoc, callbackFunction) {
|
|
1509
|
+
function makeSelectForOptions(dom, kb, subject, predicate, possible, uiFrom, options, dataDoc, callbackFunction) {
|
|
1479
1510
|
log.debug('Select list length now ' + possible.length);
|
|
1480
1511
|
var n = 0;
|
|
1481
1512
|
var uris = {}; // Count them
|
|
@@ -1506,7 +1537,9 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
|
|
|
1506
1537
|
actual = kb.findTypeURIs(subject);
|
|
1507
1538
|
} else {
|
|
1508
1539
|
kb.each(subject, predicate, null, dataDoc).forEach(function (x) {
|
|
1509
|
-
|
|
1540
|
+
if (x.uri) {
|
|
1541
|
+
actual[x.uri] = true;
|
|
1542
|
+
}
|
|
1510
1543
|
});
|
|
1511
1544
|
}
|
|
1512
1545
|
|
|
@@ -1516,8 +1549,6 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
|
|
|
1516
1549
|
actual = getActual();
|
|
1517
1550
|
|
|
1518
1551
|
var onChange = function onChange(_e) {
|
|
1519
|
-
select.disabled = true; // until data written back - gives user feedback too
|
|
1520
|
-
|
|
1521
1552
|
var ds = [];
|
|
1522
1553
|
var is = [];
|
|
1523
1554
|
|
|
@@ -1533,6 +1564,7 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
|
|
|
1533
1564
|
var opt = select.options[_i];
|
|
1534
1565
|
|
|
1535
1566
|
if (opt.selected && opt.AJAR_mint) {
|
|
1567
|
+
// not sure if this 'if' is used because I cannot find mintClass
|
|
1536
1568
|
if (options.mintClass) {
|
|
1537
1569
|
var thisForm = promptForNew(dom, kb, subject, predicate, options.mintClass, null, dataDoc, function (ok, body) {
|
|
1538
1570
|
if (!ok) {
|
|
@@ -1547,11 +1579,14 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
|
|
|
1547
1579
|
newObject = newThing(dataDoc);
|
|
1548
1580
|
}
|
|
1549
1581
|
|
|
1550
|
-
is.push($rdf.st(subject, predicate, newObject, dataDoc));
|
|
1582
|
+
is.push($rdf.st(subject, predicate, kb.sym(newObject), dataDoc));
|
|
1583
|
+
if (uiFrom) is.push($rdf.st(newObject, ns.rdf('type'), kb.sym(uiFrom), dataDoc)); // not sure if this 'if' is used because I cannot find mintStatementsFun
|
|
1551
1584
|
|
|
1552
1585
|
if (options.mintStatementsFun) {
|
|
1553
1586
|
is = is.concat(options.mintStatementsFun(newObject));
|
|
1554
1587
|
}
|
|
1588
|
+
|
|
1589
|
+
select.currentURI = newObject;
|
|
1555
1590
|
}
|
|
1556
1591
|
|
|
1557
1592
|
if (!opt.AJAR_uri) continue; // a prompt or mint
|
|
@@ -1559,11 +1594,7 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
|
|
|
1559
1594
|
if (opt.selected && !(opt.AJAR_uri in actual)) {
|
|
1560
1595
|
// new class
|
|
1561
1596
|
is.push($rdf.st(subject, predicate, kb.sym(opt.AJAR_uri), dataDoc));
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
if (!opt.selected && opt.AJAR_uri in actual) {
|
|
1565
|
-
// old class
|
|
1566
|
-
removeValue(kb.sym(opt.AJAR_uri));
|
|
1597
|
+
select.currentURI = opt.AJAR_uri;
|
|
1567
1598
|
}
|
|
1568
1599
|
|
|
1569
1600
|
if (opt.selected) select.currentURI = opt.AJAR_uri;
|
|
@@ -1583,32 +1614,23 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
|
|
|
1583
1614
|
sel = sel.superSelect;
|
|
1584
1615
|
}
|
|
1585
1616
|
|
|
1586
|
-
|
|
1587
|
-
callbackFunction(ok, {
|
|
1588
|
-
widget: 'select',
|
|
1589
|
-
event: 'new'
|
|
1590
|
-
});
|
|
1591
|
-
}
|
|
1592
|
-
|
|
1593
|
-
log.info('selectForOptions: data doc = ' + dataDoc);
|
|
1594
|
-
kb.updater.update(ds, is, function (uri, ok, body) {
|
|
1595
|
-
actual = getActual(); // refresh
|
|
1617
|
+
log.info('selectForOptions: data doc = ' + dataDoc); // refresh subForm
|
|
1596
1618
|
|
|
1619
|
+
removeNextSiblingsAfterElement(select);
|
|
1620
|
+
addSubFormChoice(dom, select.parentNode, {}, $rdf.sym(select.currentURI), options.subForm, dataDoc, function (ok, body) {
|
|
1597
1621
|
if (ok) {
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1622
|
+
kb.updater.update(ds, is, function (uri, success, errorBody) {
|
|
1623
|
+
actual = getActual(); // refresh
|
|
1624
|
+
|
|
1625
|
+
if (!success) select.parentNode.appendChild((0, _error.errorMessageBlock)(dom, 'Error updating select: ' + errorBody));
|
|
1626
|
+
});
|
|
1627
|
+
if (callbackFunction) callbackFunction(ok, {
|
|
1628
|
+
widget: 'select',
|
|
1629
|
+
event: 'new'
|
|
1630
|
+
});
|
|
1604
1631
|
} else {
|
|
1605
|
-
|
|
1632
|
+
select.parentNode.appendChild((0, _error.errorMessageBlock)(dom, 'Error updating data in field of select: ' + body));
|
|
1606
1633
|
}
|
|
1607
|
-
|
|
1608
|
-
if (callbackFunction) callbackFunction(ok, {
|
|
1609
|
-
widget: 'select',
|
|
1610
|
-
event: 'change'
|
|
1611
|
-
});
|
|
1612
1634
|
});
|
|
1613
1635
|
};
|
|
1614
1636
|
|
|
@@ -1665,11 +1687,14 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
|
|
|
1665
1687
|
select.insertBefore(mint, select.firstChild);
|
|
1666
1688
|
}
|
|
1667
1689
|
|
|
1668
|
-
if (select.currentURI
|
|
1690
|
+
if (!select.currentURI && !options.multiple) {
|
|
1669
1691
|
var prompt = dom.createElement('option');
|
|
1670
|
-
prompt.appendChild(dom.createTextNode(options.
|
|
1671
|
-
|
|
1692
|
+
prompt.appendChild(dom.createTextNode(options.firstSelectOptionText));
|
|
1693
|
+
prompt.disabled = true;
|
|
1694
|
+
prompt.value = true;
|
|
1695
|
+
prompt.hidden = true;
|
|
1672
1696
|
prompt.selected = true;
|
|
1697
|
+
select.insertBefore(prompt, select.firstChild);
|
|
1673
1698
|
}
|
|
1674
1699
|
|
|
1675
1700
|
if (editable) {
|
|
@@ -1707,9 +1732,8 @@ function makeSelectForCategory(dom, kb, subject, category, dataDoc, callbackFunc
|
|
|
1707
1732
|
return (0, _error.errorMessageBlock)(dom, "Can't do " + (multiple ? 'multiple ' : '') + 'selector with only 1 subclass of category: ' + category + ':' + subs[1]);
|
|
1708
1733
|
}
|
|
1709
1734
|
|
|
1710
|
-
return makeSelectForOptions(dom, kb, subject, ns.rdf('type'), subs, {
|
|
1711
|
-
multiple: multiple
|
|
1712
|
-
nullPrompt: '--classify--'
|
|
1735
|
+
return makeSelectForOptions(dom, kb, subject, ns.rdf('type'), subs, null, {
|
|
1736
|
+
multiple: multiple
|
|
1713
1737
|
}, dataDoc, callbackFunction);
|
|
1714
1738
|
}
|
|
1715
1739
|
/** Make SELECT element to select subclasses recurively
|