@nebula.js/stardust 2.11.0 → 2.12.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/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.12.0](https://github.com/qlik-oss/nebula.js/compare/v2.11.0...v2.12.0) (2022-06-14)
7
+
8
+ **Note:** Version bump only for package @nebula.js/stardust
9
+
6
10
  # [2.11.0](https://github.com/qlik-oss/nebula.js/compare/v2.10.0...v2.11.0) (2022-06-01)
7
11
 
8
12
  **Note:** Version bump only for package @nebula.js/stardust
package/core/esm/dev.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * @nebula.js/stardust v2.11.0
2
+ * @nebula.js/stardust v2.12.0
3
3
  * Copyright (c) 2022 QlikTech International AB
4
4
  * Released under the MIT license.
5
5
  */
@@ -6043,7 +6043,7 @@ function useAppSelections(app) {
6043
6043
  return [appSelections, navState];
6044
6044
  }
6045
6045
 
6046
- const NEBULA_VERSION_HASH = "6c1e" ;
6046
+ const NEBULA_VERSION_HASH = "32d7" ;
6047
6047
  let counter = 0;
6048
6048
  const NebulaApp = forwardRef((_ref, ref) => {
6049
6049
  let {
@@ -6103,7 +6103,7 @@ function boot(_ref2) {
6103
6103
  const appRef = React.createRef();
6104
6104
  const element = document.createElement('div');
6105
6105
  element.style.display = 'none';
6106
- element.setAttribute('data-nebulajs-version', "2.11.0" );
6106
+ element.setAttribute('data-nebulajs-version', "2.12.0" );
6107
6107
  element.setAttribute('data-app-id', app.id);
6108
6108
  document.body.appendChild(element);
6109
6109
  ReactDOM.render( /*#__PURE__*/React.createElement(NebulaApp, {
@@ -7393,7 +7393,10 @@ function useSelectionsInteractions(_ref) {
7393
7393
  const [selected, setSelected] = useState$1([]);
7394
7394
  const [isRangeSelection, setIsRangeSelection] = useState$1(false);
7395
7395
  const [preSelected, setPreSelected] = useState$1([]);
7396
- const elemNumbersOrdered = getElemNumbersFromPages(pages); // Select values for real, by calling the backend.
7396
+ const elemNumbersOrdered = getElemNumbersFromPages(pages);
7397
+ useEffect$1(() => {
7398
+ setIsSingleSelect(singleSelect);
7399
+ }, [singleSelect]); // Select values for real, by calling the backend.
7397
7400
 
7398
7401
  const select = async function () {
7399
7402
  let elemNumbers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -7487,7 +7490,7 @@ function useSelectionsInteractions(_ref) {
7487
7490
  setSelectingValues(false);
7488
7491
  setIsRangeSelection(false);
7489
7492
  setIsSingleSelect(singleSelect);
7490
- }, []);
7493
+ }, [singleSelect]);
7491
7494
  const onMouseEnter = useCallback(event => {
7492
7495
  if (isSingleSelect || !mouseDown || selectingValues || selectDisabled()) {
7493
7496
  return;
@@ -7513,7 +7516,7 @@ function useSelectionsInteractions(_ref) {
7513
7516
  return () => {
7514
7517
  doc.removeEventListener('mouseup', onMouseUpDoc);
7515
7518
  };
7516
- }, []);
7519
+ }, [onMouseUpDoc]);
7517
7520
  useEffect$1(() => {
7518
7521
  if (selectingValues || mouseDown) {
7519
7522
  return;
@@ -8396,7 +8399,8 @@ function ListBox(_ref2) {
8396
8399
  showGray = true,
8397
8400
  scrollState,
8398
8401
  sortByState,
8399
- selectDisabled = () => false
8402
+ selectDisabled = () => false,
8403
+ setCount
8400
8404
  } = _ref2;
8401
8405
  const [layout] = useLayout$1(model);
8402
8406
  const isSingleSelect = !!(layout && layout.qListObject.qDimensionInfo.qIsOneAndOnlyOne);
@@ -8493,6 +8497,10 @@ function ListBox(_ref2) {
8493
8497
 
8494
8498
  useEffect$1(() => {
8495
8499
  fetchData();
8500
+
8501
+ if (typeof setCount === 'function' && layout) {
8502
+ setCount(layout.qListObject.qSize.qcy);
8503
+ }
8496
8504
  }, [layout]);
8497
8505
  useEffect$1(() => {
8498
8506
  if (!instantPages || isLoadingData) {
@@ -8627,6 +8635,10 @@ var createListboxSelectionToolbar = (_ref => {
8627
8635
  translator
8628
8636
  } = _ref;
8629
8637
 
8638
+ if (layout.qListObject.qDimensionInfo.qIsOneAndOnlyOne) {
8639
+ return [];
8640
+ }
8641
+
8630
8642
  const canSelectAll = () => ['qOption', 'qAlternative', 'qExcluded', 'qDeselected'].some(sc => layout.qListObject.qDimensionInfo.qStateCounts[sc] > 0);
8631
8643
 
8632
8644
  const canSelectPossible = () => ['qOption'].some(sc => layout.qListObject.qDimensionInfo.qStateCounts[sc] > 0);
@@ -9351,7 +9363,7 @@ function createObjectSelections(_ref) {
9351
9363
  */
9352
9364
  canClear() {
9353
9365
  if (layout && layout.qListObject && layout.qListObject.qDimensionInfo) {
9354
- return !layout.qListObject.qDimensionInfo.qLocked;
9366
+ return !layout.qListObject.qDimensionInfo.qLocked && !layout.qListObject.qDimensionInfo.qIsOneAndOnlyOne;
9355
9367
  }
9356
9368
 
9357
9369
  return hasSelected;
@@ -9700,17 +9712,23 @@ function OneField(_ref) {
9700
9712
  lineHeight: '16px'
9701
9713
  }
9702
9714
  }, label));
9703
- Icon = selection.qLocked ? /*#__PURE__*/React.createElement(Grid, {
9704
- item: true
9705
- }, /*#__PURE__*/React.createElement(IconButton, null, /*#__PURE__*/React.createElement(Lock, null))) : /*#__PURE__*/React.createElement(Grid, {
9706
- item: true
9707
- }, /*#__PURE__*/React.createElement(IconButton, {
9708
- title: translator.get('Selection.Clear'),
9709
- onClick: e => {
9710
- e.stopPropagation();
9711
- api.clearField(selection.qField, field.states[stateIx]);
9712
- }
9713
- }, /*#__PURE__*/React.createElement(Remove, null)));
9715
+
9716
+ if (selection.qLocked) {
9717
+ Icon = /*#__PURE__*/React.createElement(Grid, {
9718
+ item: true
9719
+ }, /*#__PURE__*/React.createElement(IconButton, null, /*#__PURE__*/React.createElement(Lock, null)));
9720
+ } else if (!selection.qOneAndOnlyOne) {
9721
+ Icon = /*#__PURE__*/React.createElement(Grid, {
9722
+ item: true
9723
+ }, /*#__PURE__*/React.createElement(IconButton, {
9724
+ title: translator.get('Selection.Clear'),
9725
+ onClick: e => {
9726
+ e.stopPropagation();
9727
+ api.clearField(selection.qField, field.states[stateIx]);
9728
+ }
9729
+ }, /*#__PURE__*/React.createElement(Remove, null)));
9730
+ }
9731
+
9714
9732
  SegmentsIndicator = /*#__PURE__*/React.createElement("div", {
9715
9733
  style: {
9716
9734
  height: '4px',
@@ -10868,7 +10886,8 @@ function ListBoxInline(_ref) {
10868
10886
  selectDisabled = () => false,
10869
10887
  showGray = true,
10870
10888
  sortByState = 1,
10871
- scrollState = undefined
10889
+ scrollState = undefined,
10890
+ setCount = undefined
10872
10891
  } = options;
10873
10892
  let {
10874
10893
  frequencyMode,
@@ -11157,7 +11176,8 @@ function ListBoxInline(_ref) {
11157
11176
  keyboard: keyboard,
11158
11177
  showGray: showGray,
11159
11178
  scrollState: scrollState,
11160
- sortByState: sortByState
11179
+ sortByState: sortByState,
11180
+ setCount: setCount
11161
11181
  });
11162
11182
  })));
11163
11183
  }
@@ -18347,6 +18367,7 @@ const mergeConfigs = (base, c) => ({
18347
18367
  * @property {ReceiverFunction} [options.update] A function which receives an update function which upon call will trigger a data fetch.
18348
18368
  * @property {{setScrollPos:function(number):void, initScrollPos:number}} [options.scrollState=] Object including a setScrollPos function that sets current scroll position index. A initial scroll position index.
18349
18369
  * @property {number=} [options.sortByState=1] Sort by state, detault 1 = sort descending, 0 = no sorting, -1 sort ascending.
18370
+ * @property {function(number):void} [options.setCount=] A function that gets called with the length of the data in the Listbox.
18350
18371
  */
18351
18372
 
18352
18373
  /**
@@ -18770,7 +18791,7 @@ var enigmaMocker = {exports: {}};
18770
18791
  var enigmaMocker_dev = {exports: {}};
18771
18792
 
18772
18793
  /*
18773
- * @nebula.js/enigma-mocker v2.10.0
18794
+ * @nebula.js/enigma-mocker v2.11.0
18774
18795
  * Copyright (c) 2022 QlikTech International AB
18775
18796
  * Released under the MIT license.
18776
18797
  */