fleet/frontend/components/icons/index.ts
jacobshandling 85e826a094
UI: Add ability to run scripts on batches of hosts (#28563)
## For #28159 

- Implement UI capability to run scripts on batches of hosts at a time
  - Add new hosts table `Run script` primary action, triggers
- new `RunScriptBatch` modal, allows running scripts on the selected
batch of hosts
- new `RunScriptBatchPaginatedList`, handles logic specific to this
modal, and utilizes the now more flexible `PaginatedList` component
- Widen capabilities of `PaginatedList` component to elegantly handle
more diverse applications, including this one
- Widen capabilities of `ScriptDetailsModal` component to elegantly
handle more diverse applications, including this one
- Streamline updating `state`s on manage hosts page
- Clearer, more concise naming

- [x] Changes file added for user-visible changes in `changes/`
- [x] A detailed QA plan exists on the associated ticket (if it isn't
there, work with the product group's QA engineer to add it)
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-04-28 16:32:41 -07:00

153 lines
4.2 KiB
TypeScript

import Arrow from "./Arrow";
import ArrowInternalLink from "./ArrowInternalLink";
import Calendar from "./Calendar";
import CalendarCheck from "./CalendarCheck";
import Check from "./Check";
import Checkbox from "./Checkbox";
import CheckboxIndeterminate from "./CheckboxIndeterminate";
import CheckboxUnchecked from "./CheckboxUnchecked";
import ChevronLeft from "./ChevronLeft";
import ChevronRight from "./ChevronRight";
import ChevronUp from "./ChevronUp";
import ChevronDown from "./ChevronDown";
import Columns from "./Columns";
import Disable from "./Disable";
import Close from "./Close";
import CloseFilled from "./CloseFilled";
import ExternalLink from "./ExternalLink";
import Filter from "./Filter";
import FilterAlt from "./FilterAlt";
import FilterFunnel from "./FilterFunnel";
import Info from "./Info";
import More from "./More";
import Plus from "./Plus";
import PremiumFeature from "./PremiumFeature";
import Policy from "./Policy";
import Query from "./Query";
import Search from "./Search";
import LowDiskSpaceHosts from "./LowDiskSpaceHosts";
import MissingHosts from "./MissingHosts";
import TotalHosts from "./TotalHosts";
import Lightbulb from "./Lightbulb";
import Apple from "./Apple";
import Windows from "./Windows";
import Linux from "./Linux";
import M1 from "./M1";
import Centos from "./Centos";
import Ubuntu from "./Ubuntu";
import Chrome from "./Chrome";
import iPadOS from "./iPadOS";
import iOS from "./iOS";
// Status Icons
import Success from "./Success";
import SuccessOutline from "./SuccessOutline";
import Pending from "./Pending";
import PendingOutline from "./PendingOutline";
import ErrorOutline from "./ErrorOutline";
import Error from "./Error";
import Warning from "./Warning";
import Clock from "./Clock";
import Copy from "./Copy";
import Eye from "./Eye";
import Pencil from "./Pencil";
import Sparkles from "./Sparkles";
import Text from "./Text";
import Transfer from "./Transfer";
import TrashCan from "./TrashCan";
import Profile from "./Profile";
import Download from "./Download";
import Upload from "./Upload";
import Refresh from "./Refresh";
import Run from "./Run";
import Install from "./Install";
import InstallSelfService from "./InstallSelfService";
import Settings from "./Settings";
import AutomaticSelfService from "./AutomaticSelfService";
import User from "./User";
import InfoOutline from "./InfoOutline";
import GitOpsMode from "./GitOpsMode";
import Android from "./Android";
// a mapping of the usable names of icons to the icon source.
export const ICON_MAP = {
arrow: Arrow,
"arrow-internal-link": ArrowInternalLink,
calendar: Calendar,
"calendar-check": CalendarCheck,
"chevron-left": ChevronLeft,
"chevron-right": ChevronRight,
"chevron-up": ChevronUp,
"chevron-down": ChevronDown,
check: Check,
checkbox: Checkbox,
"checkbox-indeterminate": CheckboxIndeterminate,
"checkbox-unchecked": CheckboxUnchecked,
columns: Columns,
disable: Disable,
close: Close,
"close-filled": CloseFilled,
"external-link": ExternalLink,
filter: Filter,
"filter-alt": FilterAlt,
"filter-funnel": FilterFunnel,
"low-disk-space-hosts": LowDiskSpaceHosts,
"missing-hosts": MissingHosts,
"total-hosts": TotalHosts,
lightbulb: Lightbulb,
info: Info,
"info-outline": InfoOutline,
more: More,
plus: Plus,
policy: Policy,
query: Query,
copy: Copy,
eye: Eye,
pencil: Pencil,
search: Search,
sparkles: Sparkles,
text: Text,
transfer: Transfer,
trash: TrashCan,
success: Success,
"success-outline": SuccessOutline,
pending: Pending,
"pending-outline": PendingOutline,
error: Error,
"error-outline": ErrorOutline,
warning: Warning,
clock: Clock,
darwin: Apple,
macOS: Apple,
windows: Windows,
Windows,
linux: Linux,
Linux,
m1: M1,
centos: Centos,
ubuntu: Ubuntu,
chrome: Chrome,
ChromeOS: Chrome,
ipados: iPadOS,
iPadOS,
ios: iOS,
iOS,
android: Android,
"premium-feature": PremiumFeature,
profile: Profile,
download: Download,
upload: Upload,
refresh: Refresh,
run: Run,
install: Install,
"install-self-service": InstallSelfService,
settings: Settings,
"automatic-self-service": AutomaticSelfService,
user: User,
"gitops-mode": GitOpsMode,
};
export type IconNames = keyof typeof ICON_MAP;