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.
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.versionInfo = void 0;
7
7
  var versionInfo = {
8
- buildTime: '2022-05-09T08:19:02Z',
9
- commit: '4af9be213db48f4f001f37d4e663632c2e44821b',
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',
@@ -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-09T08:19:02Z',\n commit: '4af9be213db48f4f001f37d4e663632c2e44821b',\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"}
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"}
@@ -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 laytout
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 ' + utils.predicateLabel(property, reverse);
735
- var prompt = tail.appendChild(dom.createElement('span'));
736
- prompt.textContent = (values.length === 0 ? 'Add one or more ' : 'Add more ') + utils.predicateLabel(property, reverse); // utils.label(property)
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'); // Set flexDirection column?
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 from = kb.any(form, ui('from'));
1063
+ var uiFrom = kb.any(form, ui('from'));
1051
1064
 
1052
- if (!from) {
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 nullLabel = '--' + utils.label(property) + '-?';
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
- nullLabel: nullLabel,
1088
+ firstSelectOptionText: firstSelectOptionText,
1067
1089
  disambiguate: false
1068
1090
  };
1069
- possible = kb.each(undefined, ns.rdf('type'), from, formDoc);
1091
+ possible = kb.each(undefined, ns.rdf('type'), uiFrom, formDoc);
1070
1092
 
1071
- for (var x in kb.findMembersNT(from)) {
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 (from.sameTerm(ns.rdfs('Class'))) {
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 (from.sameTerm(ns.rdf('Property'))) {
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 (from.sameTerm(ns.owl('ObjectProperty'))) {
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 (from.sameTerm(ns.owl('DatatypeProperty'))) {
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 object = kb.any(subject, property);
1133
+ var sortedPossible = sortByLabel(possible); // TODO: this checks for any occurrence, regardless of true or false setting
1112
1134
 
1113
- function addSubForm() {
1114
- object = kb.any(subject, property);
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 possible2 = sortByLabel(possible);
1139
+ var selector = makeSelectForOptions(dom, kb, subject, property, sortedPossible, uiFrom, opts, dataDoc, callbackFunction);
1140
+ rhs.appendChild(selector);
1141
+ var object;
1119
1142
 
1120
- if (kb.any(form, ui('canMintNew'))) {
1121
- opts.mint = '* New *'; // @@ could be better
1143
+ if (selector.currentURI) {
1144
+ object = $rdf.sym(selector.currentURI);
1145
+ } else {
1146
+ object = kb.any(subject, property);
1147
+ }
1122
1148
 
1123
- opts.subForm = subForm;
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
- }; // Documentation - non-interactive fields
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.nullLabel - a string to be displayed as the
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
- actual[x.uri] = true;
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
- function doneNew(ok, _body) {
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
- select.disabled = false; // data written back
1599
-
1600
- if (newObject) {
1601
- var fn = (0, _fieldFunction.fieldFunction)(dom, options.subForm);
1602
- fn(dom, select.parentNode, {}, newObject, options.subForm, dataDoc, doneNew);
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
- return select.parentNode.appendChild((0, _error.errorMessageBlock)(dom, 'Error updating data in select: ' + body));
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
- if (options.multiple) select.setAttribute('multiple', 'true');
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 == null && !options.multiple) {
1700
+ if (!select.currentURI && options.multiple) {
1669
1701
  var prompt = dom.createElement('option');
1670
- prompt.appendChild(dom.createTextNode(options.nullLabel));
1671
- select.insertBefore(prompt, select.firstChild);
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