@entryscape/rdforms 10.15.0 → 10.16.0

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/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "application profile",
9
9
  "linked data"
10
10
  ],
11
- "version": "10.15.0",
11
+ "version": "10.16.0",
12
12
  "main": "dist/rdforms.node.js",
13
13
  "browser": "dist/rdforms.react.js",
14
14
  "module": "main.js",
@@ -20,73 +20,69 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@emotion/react": "^11.14.0",
23
- "@emotion/styled": "^11.14.0",
23
+ "@emotion/styled": "^11.14.1",
24
24
  "@entryscape/rdfjson": "2.7.7",
25
- "@fortawesome/fontawesome-free": "^5.8.1",
26
- "@mui/icons-material": "^7.1.0",
27
- "@mui/material": "^7.1.0",
28
- "@mui/x-date-pickers": "^5.0.0-beta.7",
29
- "@selectize/selectize": "^0.13.5",
30
- "arrive": "^2.4.1",
25
+ "@fortawesome/fontawesome-free": "^5.15.4",
26
+ "@mui/icons-material": "^7.3.4",
27
+ "@mui/material": "^7.3.4",
28
+ "@mui/x-date-pickers": "^5.0.20",
29
+ "arrive": "^2.5.2",
31
30
  "bootstrap": "^4.6.2",
32
- "bootstrap-datepicker": "^1.9.0",
33
- "bootstrap-material-datetimepicker": "https://bitbucket.org/metasolutions/bootstrap-material-datetimepicker.git#webpack",
34
- "bootstrap-material-design": "^4.1.1",
31
+ "bootstrap-datepicker": "^1.10.1",
32
+ "bootstrap-material-datetimepicker": "bitbucket:metasolutions/bootstrap-material-datetimepicker#webpack",
33
+ "bootstrap-material-design": "^4.1.3",
35
34
  "circular-dependency-plugin": "^5.2.2",
36
- "core-js": "^3.4.0",
37
- "ifdef-loader": "^2.1.1",
38
- "jquery": "^3.7.0",
39
- "jquery-mousewheel": "^3.1.13",
40
- "lodash": "^4.17.10",
41
- "moment": "^2.22.2",
42
- "nls-loader": "https://bitbucket.org/metasolutions/nls-loader#master",
43
- "node-fetch": "^2.6.0",
35
+ "core-js": "^3.46.0",
36
+ "ifdef-loader": "^2.3.2",
37
+ "jquery": "^3.7.1",
38
+ "jquery-mousewheel": "^3.2.2",
39
+ "lodash-es": "^4.17.21",
40
+ "moment": "^2.30.1",
41
+ "nls-loader": "bitbucket:metasolutions/nls-loader#master",
42
+ "node-fetch": "^2.7.0",
44
43
  "popper.js": "^1.16.1",
45
- "react": "^18.2.0",
46
- "react-dom": "^18.2.0",
44
+ "react": "^18.3.1",
45
+ "react-dom": "^18.3.1",
47
46
  "react-hooks-lib": "^0.1.5",
48
- "regenerator-runtime": "^0.13.2",
47
+ "regenerator-runtime": "^0.13.11",
49
48
  "select2": "4.0.8",
50
- "selectize-bootstrap4-theme": "^2.0.2",
51
- "sizzle": "^2.3.3",
49
+ "sizzle": "^2.3.10",
52
50
  "terser-webpack-plugin": "^5.3.14",
53
- "whatwg-fetch": "^3.0.0"
51
+ "whatwg-fetch": "^3.6.20"
54
52
  },
55
53
  "devDependencies": {
56
- "@babel/cli": "^7.16.0",
57
- "@babel/core": "^7.16.0",
58
- "@babel/plugin-proposal-object-rest-spread": "^7.16.0",
59
- "@babel/plugin-syntax-dynamic-import": "^7.2.0",
60
- "@babel/plugin-transform-class-properties": "^7.23.3",
61
- "@babel/plugin-transform-modules-commonjs": "^7.16.0",
62
- "@babel/plugin-transform-react-jsx": "^7.16.0",
63
- "@babel/preset-env": "^7.18.6",
64
- "@babel/preset-react": "^7.18.6",
65
- "babel-loader": "^8.2.3",
66
- "babel-plugin-lodash": "^3.3.4",
54
+ "@babel/cli": "^7.28.3",
55
+ "@babel/core": "^7.28.4",
56
+ "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
57
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
58
+ "@babel/plugin-transform-class-properties": "^7.27.1",
59
+ "@babel/plugin-transform-modules-commonjs": "^7.27.1",
60
+ "@babel/plugin-transform-react-jsx": "^7.27.1",
61
+ "@babel/preset-env": "^7.28.3",
62
+ "@babel/preset-react": "^7.27.1",
63
+ "babel-loader": "^8.4.1",
67
64
  "babel-plugin-transform-react-jsx": "^6.24.1",
68
- "copy-webpack-plugin": "^9.0.1",
69
- "css-loader": "^6.5.1",
70
- "eslint": "^8.23.0",
71
- "eslint-config-airbnb-base": "^11.1.1",
72
- "eslint-plugin-import": "^2.2.0",
73
- "eslint-plugin-requirejs": "^3.1.1",
74
- "html-loader": "^3.0.1",
75
- "html-webpack-plugin": "^5.5.0",
65
+ "copy-webpack-plugin": "^9.1.0",
66
+ "css-loader": "^6.11.0",
67
+ "eslint": "^8.57.1",
68
+ "eslint-config-airbnb-base": "^11.3.2",
69
+ "eslint-plugin-import": "^2.32.0",
70
+ "eslint-plugin-requirejs": "^3.2.0",
71
+ "html-loader": "^3.1.2",
72
+ "html-webpack-plugin": "^5.6.4",
76
73
  "html-webpack-tags-plugin": "^3.0.2",
77
74
  "imports-loader": "^0.8.0",
78
- "mini-css-extract-plugin": "^0.4.1",
75
+ "mini-css-extract-plugin": "^0.4.5",
79
76
  "optimize-css-assets-webpack-plugin": "^6.0.1",
80
- "parallel-webpack": "^2.6.0",
81
- "q": "^1.5.0",
77
+ "q": "^1.5.1",
82
78
  "raw-loader": "^4.0.2",
83
- "style-loader": "^3.3.1",
84
- "svg-inline-loader": "^0.8.0",
79
+ "style-loader": "^3.3.4",
80
+ "svg-inline-loader": "^0.8.2",
85
81
  "ttf-loader": "^1.0.2",
86
- "webpack": "^5.88.2",
82
+ "webpack": "^5.102.1",
87
83
  "webpack-cli": "^5.1.4",
88
- "webpack-dev-server": "^5.2.1",
89
- "webpack-merge": "^5.8.0",
84
+ "webpack-dev-server": "^5.2.2",
85
+ "webpack-merge": "^5.10.0",
90
86
  "webpack-node-externals": "^3.0.0"
91
87
  },
92
88
  "files": [
@@ -100,7 +96,6 @@
100
96
  "build:node": "webpack --config webpack.node.js",
101
97
  "build:node:dev": "webpack --mode=development --config webpack.node.js",
102
98
  "build:samples": "webpack --config webpack.samples.js",
103
- "dev:bmd": "webpack serve --config webpack.dev.js",
104
99
  "dev:bootstrap": "webpack serve --config webpack.dev.js --env type=bootstrap",
105
100
  "dev:jquery": "webpack serve --config webpack.dev.js --env type=jquery",
106
101
  "dev:react": "webpack serve --config webpack.dev.js --env type=react",
@@ -118,5 +113,5 @@
118
113
  "url": "http://valentinohudhra.com/"
119
114
  }
120
115
  ],
121
- "packageManager": "pnpm@10.15.0+sha512.486ebc259d3e999a4e8691ce03b5cac4a71cbeca39372a9b762cb500cfdf0873e2cb16abe3d951b1ee2cf012503f027b98b6584e4df22524e0c7450d9ec7aa7b"
116
+ "packageManager": "pnpm@10.21.0+sha512.da3337267e400fdd3d479a6c68079ac6db01d8ca4f67572083e722775a796788a7a9956613749e000fac20d424b594f7a791a5f4e2e13581c5ef947f26968a40"
122
117
  }
@@ -284,7 +284,7 @@ export default class Item {
284
284
 
285
285
  /**
286
286
  * @return {Object} never available for Text item type.
287
- * The property value pairs corresponds to predicate and objects in required tripples.
287
+ * The property value pairs corresponds to predicate and objects in required triples.
288
288
  */
289
289
  getConstraints(original) {
290
290
  const constr = this.getSource(original).constraints;
@@ -13,7 +13,7 @@ const deepMerge = (source1, source2) => {
13
13
  }
14
14
 
15
15
  if (Array.isArray(source1) && Array.isArray(source2)) {
16
- return [].concat(origSource[key], extSource[key]);
16
+ return [].concat(source1, source2);
17
17
  }
18
18
 
19
19
  if (typeof source1 === 'object' && typeof source2 === 'object') {
@@ -111,7 +111,7 @@ export default class ItemStore {
111
111
  const child = children[j];
112
112
  if (child.id === from || child['@id'] === from) {
113
113
  child.id = to;
114
- delete child['@id']; // Clean up backward compatability.
114
+ delete child['@id']; // Clean up backward compatibility.
115
115
  }
116
116
  if (child.content) {
117
117
  renameInGroup(child);
@@ -1,4 +1,4 @@
1
- import { isEqual } from 'lodash';
1
+ import { isEqual } from 'lodash-es';
2
2
 
3
3
  export default class OntologyStore {
4
4
  /**
package/src/utils.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import moment from 'moment';
2
- import { cloneDeep } from 'lodash';
2
+ import { cloneDeep } from 'lodash-es';
3
3
  import system from './model/system';
4
4
 
5
5
  const getLocalizedValue = (hash, locale) => {
package/src/view/View.js CHANGED
@@ -28,6 +28,7 @@ export default class View {
28
28
  this.styleCls = params.styleCls || '';
29
29
  this.truncateLimit = params.truncateLimit !== undefined ? params.truncateLimit : 10;
30
30
  this.truncate = params.truncate !== undefined ? params.truncate : false;
31
+ this.headingLevel = params.headingLevel || 2;
31
32
  if (Array.isArray(params.filterPredicates)) {
32
33
  this.filterPredicates =
33
34
  params.filterPredicates.reduce((prev, current) => { prev[current] = true; return prev; }, {});
@@ -60,7 +60,7 @@ editors.itemtype('choice').choices('none').register((fieldDiv, binding, context)
60
60
  // reference to the wrong setValue function later on.
61
61
  const setValue = context.setValue;
62
62
 
63
- const $search = jquery(`<button ${disabledAttr} class="btn btn-primary bmd-btn-fab bmd-btn-fab-sm browseChoices" type="button">`)
63
+ const $search = jquery(`<button ${disabledAttr} class="btn btn-primary browseChoices" type="button">`)
64
64
  .attr('title', context.view.messages.edit_browse)
65
65
  .appendTo(fieldDiv);
66
66
  if (context.chooser && context.chooser.supportsInlineCreate &&
@@ -111,7 +111,7 @@ editors.itemtype('choice').choices('none').register((fieldDiv, binding, context)
111
111
  c.load(() => {
112
112
  // If the value can be upgraded into its own entity.
113
113
  if (c.upgrade) {
114
- const $button = jquery(`<button ${disabledAttr} class="btn btn-default bmd-btn-fab bmd-btn-fab-sm` +
114
+ const $button = jquery(`<button ${disabledAttr} class="btn btn-default` +
115
115
  ' browseChoices" type="button">')
116
116
  .attr('title', context.view.messages.edit_upgrade)
117
117
  .click(() => {
@@ -12,8 +12,9 @@ renderingContext.renderPresenterLabel = (rowNode, binding, item, context, labelR
12
12
  label = '';
13
13
  }
14
14
 
15
+ const headingElement = `h${context.view.headingLevel}`;
15
16
  const $labelDiv = item.hasStyle('heading') ?
16
- jquery('<h2 class="rdformsLabel" tabindex="0">').text(label).appendTo(rowNode) :
17
+ jquery(`<${headingElement} class="rdformsLabel" tabindex="0">`).text(label).appendTo(rowNode) :
17
18
  jquery('<div class="rdformsLabel" tabindex="0">').text(label).appendTo(rowNode);
18
19
  if (binding) {
19
20
  $labelDiv.attr('id', context.view.createLabelIndex(binding));
@@ -1,4 +1,4 @@
1
- import { escape } from 'lodash';
1
+ import { escape } from 'lodash-es';
2
2
  import { getDatePresentation, fromDuration } from '../viewUtils';
3
3
  import renderingContext from '../renderingContext';
4
4
  import utils from '../../utils';
@@ -132,8 +132,9 @@ renderingContext.renderPresenterLabel = (rowNode, binding, item, context) => {
132
132
  const labelId = binding ? context.view.createLabelIndex(binding) : undefined;
133
133
  const rdformsLabel = context.view.popupOnLabel ? 'rdformsLabel' : 'rdformsLabel rdformsNoPopup';
134
134
  const role = context.view.popupOnLabel ? 'button' : null;
135
+ const HeadingElement = `h${context.view.headingLevel}`;
135
136
  label = item.hasStyle('heading') ?
136
- <h2 tabIndex="0" id={labelId} className="rdformsLabelRow"><span className={rdformsLabel} role={role}>{label}</span></h2> :
137
+ <HeadingElement tabIndex="0" id={labelId} className="rdformsLabelRow"><span className={rdformsLabel} role={role}>{label}</span></HeadingElement> :
137
138
  <span tabIndex="0" id={labelId} className="rdformsLabelRow"><span className={rdformsLabel} role={role}>{label}</span></span>;
138
139
  if (context.view.popupOnLabel) {
139
140
  rowNode.appendChild(<Fragment key={`${binding ? binding.getHash() : item.getHash()}_label` }><ItemTooltip
@@ -156,7 +157,8 @@ renderingContext.renderEditorLabel = (rowNode, binding, item, context) => {
156
157
  }
157
158
  const rdformsLabel = context.view.popupOnLabel ? 'rdformsLabel' : 'rdformsLabel rdformsNoPopup';
158
159
  const role = context.view.popupOnLabel ? 'button' : null;
159
- label = item.hasStyle('heading') ? <h2 tabIndex="0" className={rdformsLabel} role={role}>{label}</h2> :
160
+ const HeadingElement = `h${context.view.headingLevel}`;
161
+ label = item.hasStyle('heading') ? <HeadingElement tabIndex="0" className={rdformsLabel} role={role}>{label}</HeadingElement> :
160
162
  <span tabIndex="0" className={rdformsLabel} role={role}>{label}</span>;
161
163
  if (context.view.popupOnLabel) {
162
164
  label = <ItemTooltip item={item} context={context} binding={binding}>{label}</ItemTooltip>;
@@ -234,7 +234,7 @@ const renderingContext = {
234
234
  const alts = {};
235
235
 
236
236
  // Detect the various available languages
237
- // noLanguage - a binding exists with no lanugage set
237
+ // noLanguage - a binding exists with no language set
238
238
  // best - a binding exists with the current locale
239
239
  // close - a binding exists with a language close to the current locale,
240
240
  // e.g. en_US when the locale is en or the opposite
@@ -340,6 +340,7 @@ const groupPresenter = (fieldDiv, binding, context) => {
340
340
  popupOnLabel: context.view.popupOnLabel,
341
341
  truncate: context.view.truncate,
342
342
  truncateLimit: context.view.truncateLimit,
343
+ headingLevel: context.view.headingLevel,
343
344
  includeLevel: context.view.includeLevel, // Copied from groupEditor, was this.includeLevel but that 'this' does not make sense here
344
345
  }, fieldDiv);
345
346
  };
@@ -361,6 +362,7 @@ const groupEditor = (fieldDiv, binding, context) => {
361
362
  showDescription: context.view.showDescription,
362
363
  truncate: context.view.truncate,
363
364
  truncateLimit: context.view.truncateLimit,
365
+ headingLevel: context.view.headingLevel,
364
366
  includeLevel: context.view.includeLevel,
365
367
  }, fieldDiv);
366
368
  context.view._subEditors.push(subView);