2023-09-22 15:45:50 -07:00

33 lines
792 B
TypeScript

/**
* @license
* Copyright 2023 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import {SelectOption} from './selectoption/selectOptionController.js';
/**
* A type that describes a SelectOption and its index.
*/
export type SelectOptionRecord = [SelectOption, number];
/**
* Given a list of select options, this function will return an array of
* SelectOptionRecords that are selected.
*
* @return An array of SelectOptionRecords describing the options that are
* selected.
*/
export function getSelectedItems(items: SelectOption[]) {
const selectedItemRecords: SelectOptionRecord[] = [];
for (let i = 0; i < items.length; i++) {
const item = items[i];
if (item.selected) {
selectedItemRecords.push([item, i]);
}
}
return selectedItemRecords;
}