solid-ui 2.4.22-4af9be21 → 2.4.22-6ae4df24
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 +105 -71
- 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 +104 -70
- package/lib/widgets/forms.js.map +1 -1
- package/package.json +1 -1
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-10T15:38:52Z',
|
|
9
|
+
commit: '6ae4df243e825dee4607d8bde360d12bd9de6925',
|
|
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-10T15:38:52Z',\n commit: '6ae4df243e825dee4607d8bde360d12bd9de6925',\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
|
@@ -642,7 +642,7 @@ _fieldFunction.field[ns.ui('Multiple').uri] = function (dom, container, already,
|
|
|
642
642
|
|
|
643
643
|
var _shim = dom.createElement('div');
|
|
644
644
|
|
|
645
|
-
_shim.appendChild(subField); // Subfield has its own
|
|
645
|
+
_shim.appendChild(subField); // Subfield has its own layout
|
|
646
646
|
|
|
647
647
|
|
|
648
648
|
frame.appendChild(_shim);
|
|
@@ -727,14 +727,16 @@ _fieldFunction.field[ns.ui('Multiple').uri] = function (dom, container, already,
|
|
|
727
727
|
if (kb.updater.editable(dataDoc.uri)) {
|
|
728
728
|
var tail = box.appendChild(dom.createElement('div'));
|
|
729
729
|
tail.style.padding = '0.5em';
|
|
730
|
+
var label = kb.any(form, ui('label'));
|
|
731
|
+
if (!label) label = utils.label(property, true); // Init capital
|
|
732
|
+
|
|
730
733
|
var img = tail.appendChild(dom.createElement('img'));
|
|
731
734
|
img.setAttribute('src', plusIconURI); // plus sign
|
|
732
735
|
|
|
733
736
|
img.setAttribute('style', 'margin: 0.2em; width: 1.5em; height:1.5em');
|
|
734
|
-
img.title = 'Click to add one or more ' +
|
|
735
|
-
var prompt =
|
|
736
|
-
prompt.textContent = (values.length === 0 ? 'Add one or more ' : 'Add more ') + utils.predicateLabel(property, reverse);
|
|
737
|
-
|
|
737
|
+
img.title = 'Click to add one or more ' + label;
|
|
738
|
+
var prompt = dom.createElement('span');
|
|
739
|
+
prompt.textContent = (values.length === 0 ? 'Add one or more ' : 'Add more ') + utils.predicateLabel(property, reverse);
|
|
738
740
|
tail.addEventListener('click', /*#__PURE__*/function () {
|
|
739
741
|
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(_eventNotUsed) {
|
|
740
742
|
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
@@ -756,6 +758,7 @@ _fieldFunction.field[ns.ui('Multiple').uri] = function (dom, container, already,
|
|
|
756
758
|
return _ref3.apply(this, arguments);
|
|
757
759
|
};
|
|
758
760
|
}(), true);
|
|
761
|
+
tail.appendChild(prompt);
|
|
759
762
|
}
|
|
760
763
|
|
|
761
764
|
function createListIfNecessary() {
|
|
@@ -1017,6 +1020,14 @@ _fieldFunction.field[ns.ui('Classifier').uri] = function (dom, container, alread
|
|
|
1017
1020
|
**
|
|
1018
1021
|
** Not nested. Generates a link to something from a given class.
|
|
1019
1022
|
** Optional subform for the thing selected.
|
|
1023
|
+
** Generates a subForm based on a ui:use form
|
|
1024
|
+
** Will look like:
|
|
1025
|
+
** <div id=dropDownDiv>
|
|
1026
|
+
** <div id=labelOfDropDown>
|
|
1027
|
+
** <div id=selectDiv>
|
|
1028
|
+
** <select id=dropDownSelect>
|
|
1029
|
+
** <option> ....
|
|
1030
|
+
** <subForm>
|
|
1020
1031
|
** Alternative implementatons caould be:
|
|
1021
1032
|
** -- pop-up menu (as here)
|
|
1022
1033
|
** -- radio buttons
|
|
@@ -1029,16 +1040,18 @@ _fieldFunction.field[ns.ui('Classifier').uri] = function (dom, container, alread
|
|
|
1029
1040
|
_fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, subject, form, dataDoc, callbackFunction) {
|
|
1030
1041
|
var ui = ns.ui;
|
|
1031
1042
|
var kb = _solidLogic.store;
|
|
1032
|
-
var multiple = false;
|
|
1033
1043
|
var formDoc = form.doc ? form.doc() : null; // @@ if blank no way to know
|
|
1034
1044
|
|
|
1035
1045
|
var p;
|
|
1036
|
-
var box = dom.createElement('div');
|
|
1046
|
+
var box = dom.createElement('div');
|
|
1047
|
+
box.setAttribute('class', 'choiceBox'); // Set flexDirection column?
|
|
1037
1048
|
|
|
1038
1049
|
if (container) container.appendChild(box);
|
|
1039
1050
|
var lhs = dom.createElement('div');
|
|
1051
|
+
lhs.setAttribute('class', 'formFieldName choiceBox-label');
|
|
1040
1052
|
box.appendChild(lhs);
|
|
1041
1053
|
var rhs = dom.createElement('div');
|
|
1054
|
+
rhs.setAttribute('class', 'formFieldValue choiceBox-selectBox');
|
|
1042
1055
|
box.appendChild(rhs);
|
|
1043
1056
|
var property = kb.any(form, ui('property'));
|
|
1044
1057
|
|
|
@@ -1047,9 +1060,9 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1047
1060
|
}
|
|
1048
1061
|
|
|
1049
1062
|
lhs.appendChild((0, _basic.fieldLabel)(dom, property, form));
|
|
1050
|
-
var
|
|
1063
|
+
var uiFrom = kb.any(form, ui('from'));
|
|
1051
1064
|
|
|
1052
|
-
if (!
|
|
1065
|
+
if (!uiFrom) {
|
|
1053
1066
|
return (0, _error.errorMessageBlock)(dom, "No 'from' for Choice: " + form);
|
|
1054
1067
|
}
|
|
1055
1068
|
|
|
@@ -1059,26 +1072,35 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1059
1072
|
|
|
1060
1073
|
var possible = [];
|
|
1061
1074
|
var possibleProperties;
|
|
1062
|
-
var
|
|
1075
|
+
var multiple = false;
|
|
1076
|
+
var firstSelectOptionText = '* Select for ' + utils.label(subject, true) + ' *'; // if we do NOT have a container it means it is a ui:Multiple
|
|
1077
|
+
// only important for the first option text in select
|
|
1078
|
+
|
|
1079
|
+
if (!container) {
|
|
1080
|
+
multiple = true;
|
|
1081
|
+
firstSelectOptionText = utils.label(subject, true);
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1063
1084
|
var opts = {
|
|
1064
1085
|
form: form,
|
|
1086
|
+
subForm: subForm,
|
|
1065
1087
|
multiple: multiple,
|
|
1066
|
-
|
|
1088
|
+
firstSelectOptionText: firstSelectOptionText,
|
|
1067
1089
|
disambiguate: false
|
|
1068
1090
|
};
|
|
1069
|
-
possible = kb.each(undefined, ns.rdf('type'),
|
|
1091
|
+
possible = kb.each(undefined, ns.rdf('type'), uiFrom, formDoc);
|
|
1070
1092
|
|
|
1071
|
-
for (var x in kb.findMembersNT(
|
|
1093
|
+
for (var x in kb.findMembersNT(uiFrom)) {
|
|
1072
1094
|
possible.push(kb.fromNT(x));
|
|
1073
1095
|
} // Use rdfs
|
|
1074
1096
|
|
|
1075
1097
|
|
|
1076
|
-
if (
|
|
1098
|
+
if (uiFrom.sameTerm(ns.rdfs('Class'))) {
|
|
1077
1099
|
for (p in buttons.allClassURIs()) {
|
|
1078
1100
|
possible.push(kb.sym(p));
|
|
1079
1101
|
} // log.debug("%%% Choice field: possible.length 2 = "+possible.length)
|
|
1080
1102
|
|
|
1081
|
-
} else if (
|
|
1103
|
+
} else if (uiFrom.sameTerm(ns.rdf('Property'))) {
|
|
1082
1104
|
possibleProperties = buttons.propertyTriage(kb);
|
|
1083
1105
|
|
|
1084
1106
|
for (p in possibleProperties.op) {
|
|
@@ -1090,7 +1112,7 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1090
1112
|
}
|
|
1091
1113
|
|
|
1092
1114
|
opts.disambiguate = true; // This is a big class, and the labels won't be enough.
|
|
1093
|
-
} else if (
|
|
1115
|
+
} else if (uiFrom.sameTerm(ns.owl('ObjectProperty'))) {
|
|
1094
1116
|
possibleProperties = buttons.propertyTriage(kb);
|
|
1095
1117
|
|
|
1096
1118
|
for (p in possibleProperties.op) {
|
|
@@ -1098,7 +1120,7 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1098
1120
|
}
|
|
1099
1121
|
|
|
1100
1122
|
opts.disambiguate = true;
|
|
1101
|
-
} else if (
|
|
1123
|
+
} else if (uiFrom.sameTerm(ns.owl('DatatypeProperty'))) {
|
|
1102
1124
|
possibleProperties = buttons.propertyTriage(kb);
|
|
1103
1125
|
|
|
1104
1126
|
for (p in possibleProperties.dp) {
|
|
@@ -1108,26 +1130,45 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
|
|
|
1108
1130
|
opts.disambiguate = true;
|
|
1109
1131
|
}
|
|
1110
1132
|
|
|
1111
|
-
var
|
|
1133
|
+
var sortedPossible = sortByLabel(possible); // TODO: this checks for any occurrence, regardless of true or false setting
|
|
1112
1134
|
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
(0, _fieldFunction.fieldFunction)(dom, subForm)(dom, rhs, already, object, subForm, follow ? object.doc() : dataDoc, callbackFunction);
|
|
1135
|
+
if (kb.any(form, ui('canMintNew'))) {
|
|
1136
|
+
opts.mint = '* Create new *'; // @@ could be better
|
|
1116
1137
|
}
|
|
1117
1138
|
|
|
1118
|
-
var
|
|
1139
|
+
var selector = makeSelectForOptions(dom, kb, subject, property, sortedPossible, uiFrom, opts, dataDoc, callbackFunction);
|
|
1140
|
+
rhs.appendChild(selector);
|
|
1141
|
+
var object;
|
|
1119
1142
|
|
|
1120
|
-
if (
|
|
1121
|
-
|
|
1143
|
+
if (selector.currentURI) {
|
|
1144
|
+
object = $rdf.sym(selector.currentURI);
|
|
1145
|
+
} else {
|
|
1146
|
+
object = kb.any(subject, property);
|
|
1147
|
+
}
|
|
1122
1148
|
|
|
1123
|
-
|
|
1149
|
+
if (object && subForm) {
|
|
1150
|
+
removeNextSiblingsAfterElement(selector);
|
|
1151
|
+
addSubFormChoice(dom, rhs, already, object, subForm, follow ? object.doc() : dataDoc, callbackFunction);
|
|
1124
1152
|
}
|
|
1125
1153
|
|
|
1126
|
-
var selector = makeSelectForOptions(dom, kb, subject, property, possible2, opts, dataDoc, callbackFunction);
|
|
1127
|
-
rhs.appendChild(selector);
|
|
1128
|
-
if (object && subForm) addSubForm();
|
|
1129
1154
|
return box;
|
|
1130
|
-
};
|
|
1155
|
+
};
|
|
1156
|
+
/**
|
|
1157
|
+
* Removes all sibling elements after specified
|
|
1158
|
+
* @param {HTMLElement} currentElement
|
|
1159
|
+
* @private
|
|
1160
|
+
*/
|
|
1161
|
+
|
|
1162
|
+
|
|
1163
|
+
function removeNextSiblingsAfterElement(currentElement) {
|
|
1164
|
+
while (currentElement.nextElementSibling) {
|
|
1165
|
+
currentElement.nextElementSibling.remove();
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
|
|
1169
|
+
function addSubFormChoice(dom, selectDiv, already, subject, subForm, dataDoc, callbackFunction) {
|
|
1170
|
+
(0, _fieldFunction.fieldFunction)(dom, subForm)(dom, selectDiv, already, subject, subForm, dataDoc, callbackFunction);
|
|
1171
|
+
} // Documentation - non-interactive fields
|
|
1131
1172
|
//
|
|
1132
1173
|
|
|
1133
1174
|
|
|
@@ -1466,7 +1507,7 @@ function makeDescription(dom, kb, subject, predicate, dataDoc, callbackFunction)
|
|
|
1466
1507
|
// @param predicate - a term, the predicate of the statement(s) being edited
|
|
1467
1508
|
// @param possible - a list of terms, the possible value the object can take
|
|
1468
1509
|
// @param options.multiple - Boolean - Whether more than one at a time is allowed
|
|
1469
|
-
// @param options.
|
|
1510
|
+
// @param options.firstSelectOptionText - a string to be displayed as the
|
|
1470
1511
|
// option for none selected (for non multiple)
|
|
1471
1512
|
// @param options.mint - User may create thing if this sent to the prompt string eg "New foo"
|
|
1472
1513
|
// @param options.subForm - If mint, then the form to be used for minting the new thing
|
|
@@ -1475,7 +1516,7 @@ function makeDescription(dom, kb, subject, predicate, dataDoc, callbackFunction)
|
|
|
1475
1516
|
*/
|
|
1476
1517
|
|
|
1477
1518
|
|
|
1478
|
-
function makeSelectForOptions(dom, kb, subject, predicate, possible, options, dataDoc, callbackFunction) {
|
|
1519
|
+
function makeSelectForOptions(dom, kb, subject, predicate, possible, uiFrom, options, dataDoc, callbackFunction) {
|
|
1479
1520
|
log.debug('Select list length now ' + possible.length);
|
|
1480
1521
|
var n = 0;
|
|
1481
1522
|
var uris = {}; // Count them
|
|
@@ -1506,7 +1547,9 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
|
|
|
1506
1547
|
actual = kb.findTypeURIs(subject);
|
|
1507
1548
|
} else {
|
|
1508
1549
|
kb.each(subject, predicate, null, dataDoc).forEach(function (x) {
|
|
1509
|
-
|
|
1550
|
+
if (x.uri) {
|
|
1551
|
+
actual[x.uri] = true;
|
|
1552
|
+
}
|
|
1510
1553
|
});
|
|
1511
1554
|
}
|
|
1512
1555
|
|
|
@@ -1516,8 +1559,6 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
|
|
|
1516
1559
|
actual = getActual();
|
|
1517
1560
|
|
|
1518
1561
|
var onChange = function onChange(_e) {
|
|
1519
|
-
select.disabled = true; // until data written back - gives user feedback too
|
|
1520
|
-
|
|
1521
1562
|
var ds = [];
|
|
1522
1563
|
var is = [];
|
|
1523
1564
|
|
|
@@ -1533,6 +1574,7 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
|
|
|
1533
1574
|
var opt = select.options[_i];
|
|
1534
1575
|
|
|
1535
1576
|
if (opt.selected && opt.AJAR_mint) {
|
|
1577
|
+
// not sure if this 'if' is used because I cannot find mintClass
|
|
1536
1578
|
if (options.mintClass) {
|
|
1537
1579
|
var thisForm = promptForNew(dom, kb, subject, predicate, options.mintClass, null, dataDoc, function (ok, body) {
|
|
1538
1580
|
if (!ok) {
|
|
@@ -1547,11 +1589,14 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
|
|
|
1547
1589
|
newObject = newThing(dataDoc);
|
|
1548
1590
|
}
|
|
1549
1591
|
|
|
1550
|
-
is.push($rdf.st(subject, predicate, newObject, dataDoc));
|
|
1592
|
+
is.push($rdf.st(subject, predicate, kb.sym(newObject), dataDoc));
|
|
1593
|
+
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
1594
|
|
|
1552
1595
|
if (options.mintStatementsFun) {
|
|
1553
1596
|
is = is.concat(options.mintStatementsFun(newObject));
|
|
1554
1597
|
}
|
|
1598
|
+
|
|
1599
|
+
select.currentURI = newObject;
|
|
1555
1600
|
}
|
|
1556
1601
|
|
|
1557
1602
|
if (!opt.AJAR_uri) continue; // a prompt or mint
|
|
@@ -1559,11 +1604,7 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
|
|
|
1559
1604
|
if (opt.selected && !(opt.AJAR_uri in actual)) {
|
|
1560
1605
|
// new class
|
|
1561
1606
|
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));
|
|
1607
|
+
select.currentURI = opt.AJAR_uri;
|
|
1567
1608
|
}
|
|
1568
1609
|
|
|
1569
1610
|
if (opt.selected) select.currentURI = opt.AJAR_uri;
|
|
@@ -1583,38 +1624,29 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
|
|
|
1583
1624
|
sel = sel.superSelect;
|
|
1584
1625
|
}
|
|
1585
1626
|
|
|
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
|
|
1627
|
+
log.info('selectForOptions: data doc = ' + dataDoc); // refresh subForm
|
|
1596
1628
|
|
|
1629
|
+
removeNextSiblingsAfterElement(select);
|
|
1630
|
+
addSubFormChoice(dom, select.parentNode, {}, $rdf.sym(select.currentURI), options.subForm, dataDoc, function (ok, body) {
|
|
1597
1631
|
if (ok) {
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1632
|
+
kb.updater.update(ds, is, function (uri, success, errorBody) {
|
|
1633
|
+
actual = getActual(); // refresh
|
|
1634
|
+
|
|
1635
|
+
if (!success) select.parentNode.appendChild((0, _error.errorMessageBlock)(dom, 'Error updating select: ' + errorBody));
|
|
1636
|
+
});
|
|
1637
|
+
if (callbackFunction) callbackFunction(ok, {
|
|
1638
|
+
widget: 'select',
|
|
1639
|
+
event: 'new'
|
|
1640
|
+
});
|
|
1604
1641
|
} else {
|
|
1605
|
-
|
|
1642
|
+
select.parentNode.appendChild((0, _error.errorMessageBlock)(dom, 'Error updating data in field of select: ' + body));
|
|
1606
1643
|
}
|
|
1607
|
-
|
|
1608
|
-
if (callbackFunction) callbackFunction(ok, {
|
|
1609
|
-
widget: 'select',
|
|
1610
|
-
event: 'change'
|
|
1611
|
-
});
|
|
1612
1644
|
});
|
|
1613
1645
|
};
|
|
1614
1646
|
|
|
1615
1647
|
var select = dom.createElement('select');
|
|
1616
|
-
select.setAttribute('style', style.formSelectSTyle);
|
|
1617
|
-
|
|
1648
|
+
select.setAttribute('style', style.formSelectSTyle); // if (options.multiple) select.setAttribute('multiple', 'true') // use case merged with ui:Multiple
|
|
1649
|
+
|
|
1618
1650
|
select.currentURI = null;
|
|
1619
1651
|
|
|
1620
1652
|
select.refresh = function () {
|
|
@@ -1665,11 +1697,14 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
|
|
|
1665
1697
|
select.insertBefore(mint, select.firstChild);
|
|
1666
1698
|
}
|
|
1667
1699
|
|
|
1668
|
-
if (select.currentURI
|
|
1700
|
+
if (!select.currentURI && options.multiple) {
|
|
1669
1701
|
var prompt = dom.createElement('option');
|
|
1670
|
-
prompt.appendChild(dom.createTextNode(options.
|
|
1671
|
-
|
|
1702
|
+
prompt.appendChild(dom.createTextNode(options.firstSelectOptionText));
|
|
1703
|
+
prompt.disabled = true;
|
|
1704
|
+
prompt.value = true;
|
|
1705
|
+
prompt.hidden = true;
|
|
1672
1706
|
prompt.selected = true;
|
|
1707
|
+
select.insertBefore(prompt, select.firstChild);
|
|
1673
1708
|
}
|
|
1674
1709
|
|
|
1675
1710
|
if (editable) {
|
|
@@ -1707,9 +1742,8 @@ function makeSelectForCategory(dom, kb, subject, category, dataDoc, callbackFunc
|
|
|
1707
1742
|
return (0, _error.errorMessageBlock)(dom, "Can't do " + (multiple ? 'multiple ' : '') + 'selector with only 1 subclass of category: ' + category + ':' + subs[1]);
|
|
1708
1743
|
}
|
|
1709
1744
|
|
|
1710
|
-
return makeSelectForOptions(dom, kb, subject, ns.rdf('type'), subs, {
|
|
1711
|
-
multiple: multiple
|
|
1712
|
-
nullPrompt: '--classify--'
|
|
1745
|
+
return makeSelectForOptions(dom, kb, subject, ns.rdf('type'), subs, null, {
|
|
1746
|
+
multiple: multiple
|
|
1713
1747
|
}, dataDoc, callbackFunction);
|
|
1714
1748
|
}
|
|
1715
1749
|
/** Make SELECT element to select subclasses recurively
|