@fundamental-ngx/core 0.65.0-rc.9 → 0.65.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/fesm2022/fundamental-ngx-core-avatar-group.mjs +118 -39
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +165 -21
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-date-picker.mjs +1 -4
- package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +21 -0
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-icon.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +63 -2
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +20 -35
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +22 -40
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs +373 -499
- package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
- package/package.json +3 -3
- package/schematics/package.json +1 -1
- package/types/fundamental-ngx-core-avatar-group.d.ts +52 -19
- package/types/fundamental-ngx-core-combobox.d.ts +44 -6
- package/types/fundamental-ngx-core-datetime-picker.d.ts +3 -1
- package/types/fundamental-ngx-core-menu.d.ts +8 -1
- package/types/fundamental-ngx-core-mobile-mode.d.ts +2 -0
- package/types/fundamental-ngx-core-multi-combobox.d.ts +1 -1
- package/types/fundamental-ngx-core-popover.d.ts +11 -16
- package/types/fundamental-ngx-core-table.d.ts +133 -164
|
@@ -368,30 +368,18 @@ class BaseMultiCombobox {
|
|
|
368
368
|
}, { injector: this._injector });
|
|
369
369
|
}
|
|
370
370
|
/** @hidden */
|
|
371
|
-
_setSelectedSuggestions() {
|
|
372
|
-
|
|
373
|
-
const
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
const fullFlatSuggestions = this._fullFlatSuggestions();
|
|
378
|
-
const selectedSuggestions = [];
|
|
379
|
-
// Update immutably
|
|
380
|
-
const updatedSuggestions = fullFlatSuggestions.map((item) => {
|
|
381
|
-
const isSelected = selectedItems.some((selectedItem) => item.label === selectedItem || item.value === selectedItem);
|
|
382
|
-
if (isSelected) {
|
|
383
|
-
selectedSuggestions.push({ ...item, selected: true });
|
|
384
|
-
return { ...item, selected: true };
|
|
385
|
-
}
|
|
386
|
-
else if (item.selected) {
|
|
387
|
-
// Item was selected but is now deselected - must update to false
|
|
388
|
-
return { ...item, selected: false };
|
|
389
|
-
}
|
|
390
|
-
// Item was not and is not selected - no change needed
|
|
391
|
-
return item;
|
|
371
|
+
_setSelectedSuggestions(selectedItems = this._selectedItems()) {
|
|
372
|
+
const isSelected = (item) => selectedItems.some((selectedItem) => item.id === lookupValue(selectedItem, this.lookupKey()) || shallowEqual(item.value, selectedItem));
|
|
373
|
+
const updateSelection = (items) => items.map((item) => {
|
|
374
|
+
const children = item.children ? updateSelection(item.children) : undefined;
|
|
375
|
+
const selected = isSelected(item);
|
|
376
|
+
return { ...item, selected, children };
|
|
392
377
|
});
|
|
393
|
-
this.
|
|
394
|
-
this.
|
|
378
|
+
const fullFlatSuggestions = updateSelection(this._fullFlatSuggestions());
|
|
379
|
+
this._selectedSuggestions.set(fullFlatSuggestions.filter((item) => item.selected));
|
|
380
|
+
this._suggestions.set(updateSelection(this._suggestions()));
|
|
381
|
+
this._flatSuggestions.set(updateSelection(this._flatSuggestions()));
|
|
382
|
+
this._fullFlatSuggestions.set(fullFlatSuggestions);
|
|
395
383
|
}
|
|
396
384
|
/**
|
|
397
385
|
* Convert original data to SelectableOptionItems Interface
|
|
@@ -549,7 +537,6 @@ class BaseMultiCombobox {
|
|
|
549
537
|
}
|
|
550
538
|
this.writeValue(selectedItems);
|
|
551
539
|
this._cva.onChange(selectedItems);
|
|
552
|
-
this._emitChangeEvent();
|
|
553
540
|
}
|
|
554
541
|
/**
|
|
555
542
|
* @hidden
|
|
@@ -1341,13 +1328,9 @@ class MultiComboboxComponent extends BaseMultiCombobox {
|
|
|
1341
1328
|
_toggleSelection(item, fromTokenCloseClick = false) {
|
|
1342
1329
|
const selectedSuggestions = this._selectedSuggestions();
|
|
1343
1330
|
const idx = getTokenIndexByIdlOrValue(item, selectedSuggestions);
|
|
1344
|
-
|
|
1345
|
-
this._selectedSuggestions.set([...selectedSuggestions, item]);
|
|
1346
|
-
}
|
|
1347
|
-
else {
|
|
1348
|
-
this._selectedSuggestions.set(selectedSuggestions.filter((_, i) => i !== idx));
|
|
1349
|
-
}
|
|
1331
|
+
const updatedSelectedSuggestions = idx === -1 ? [...selectedSuggestions, item] : selectedSuggestions.filter((_, index) => index !== idx);
|
|
1350
1332
|
item.selected = !item.selected;
|
|
1333
|
+
this._setSelectedSuggestions(updatedSelectedSuggestions.map(({ value }) => value));
|
|
1351
1334
|
this._propagateChange(fromTokenCloseClick);
|
|
1352
1335
|
this._cd.detectChanges();
|
|
1353
1336
|
}
|
|
@@ -1376,11 +1359,13 @@ class MultiComboboxComponent extends BaseMultiCombobox {
|
|
|
1376
1359
|
if (event) {
|
|
1377
1360
|
event.preventDefault();
|
|
1378
1361
|
}
|
|
1379
|
-
const
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1362
|
+
const flatSuggestions = this._flatSuggestions();
|
|
1363
|
+
const optionItemIndex = getTokenIndexByIdlOrValue(token, flatSuggestions);
|
|
1364
|
+
if (optionItemIndex === -1) {
|
|
1365
|
+
return;
|
|
1383
1366
|
}
|
|
1367
|
+
this._toggleSelection(flatSuggestions[optionItemIndex], true);
|
|
1368
|
+
this._rangeSelector.reset();
|
|
1384
1369
|
}
|
|
1385
1370
|
/** @hidden */
|
|
1386
1371
|
_moreClicked() {
|
|
@@ -1442,7 +1427,7 @@ class MultiComboboxComponent extends BaseMultiCombobox {
|
|
|
1442
1427
|
* Handle dialog dismissing, closes popover and sets backup data.
|
|
1443
1428
|
*/
|
|
1444
1429
|
_dialogDismiss(backup) {
|
|
1445
|
-
this.
|
|
1430
|
+
this._setSelectedSuggestions(backup.map(({ value }) => value));
|
|
1446
1431
|
this._setInputText('');
|
|
1447
1432
|
this._showList(false);
|
|
1448
1433
|
this.selectedShown.set(false);
|