import S from 's-js'; // noinspection ES6UnusedImports import * as Surplus from 'surplus'; import { bindString, bindStringSet, bindToOnValue } from '../../utils/surplus'; import { ContributorsView } from '../contributors/contributors-view'; import { SettingsCtrl } from './settings-ctrl'; const FORM_GROUP_CLASS = 'form-group row'; const LABEL_CLASS = 'col-form-label col-form-label-sm col-md-4 col-lg-3 text-md-right'; const INPUT_CLASS = 'form-control form-control-sm'; const SELECT_CLASS = 'custom-select custom-select-sm'; const EDIT_AREA_CLASS = 'col-md-8 col-lg-9'; const HELP_CLASS = 'form-text text-muted'; const CHECK_CLASS = 'form-check-input col-form-label-sm'; const CHECK_LABEL_CLASS = 'form-check-label col-form-label-sm'; interface SelectPlaceholderProperties { defaultPlaceholder?: string; unknownIdPlaceholder: (unknownId: string) => string; selectedId: string; choices: Map | Set; children: JSX.Element; } function SinglePlaceholder({defaultPlaceholder, unknownIdPlaceholder, selectedId, choices, children}: SelectPlaceholderProperties): JSX.Element | null { const existsAsOption: boolean = choices.has(selectedId); let text: string = ''; if (!existsAsOption && selectedId.length > 0) { text = unknownIdPlaceholder(selectedId); } else if (defaultPlaceholder !== undefined && selectedId.length === 0) { text = defaultPlaceholder; } if (text.length > 0) { children.innerText = text; return children; } else { return null; } } function multiplePlaceholders(selectedIds: Set, choices: Map, elementFactory: (selectedId: string) => JSX.Element): JSX.Element[] { return Array.from(selectedIds) .filter((inactiveStateId) => !choices.has(inactiveStateId)) .map(elementFactory); } export function SettingsView({ctrl}: {ctrl: SettingsCtrl}): HTMLElement { return
The tab/window title, which is also used for bookmarks.

For YouTrack InCloud, this is of form https://<name>.myjetbrains.com/. For a YouTrack Standalone installation, this is the “Base URL” shown at Server Settings > Global Settings.
The YouTrack service ID is available via Server Settings > Hub Integration.
If you are not logged into YouTrack yet, this will take you to the YouTrack login page. Once logged in, you will be redirected back here. Please note: The URI of this web app (that is, “{SettingsCtrl.currentUri()}”) needs to be registered in the `youtrack/admin/hub/services/${serviceId}?tab=settings`)}> Hub Settings under “Redirect URIs”. The URI also needs to be added under “Allowed origins” at Server Settings > Global Settings.

The custom field (of type state) that contains the issue state.
The unresolved states indicating an issue should appear as inactive.
The custom field (of type period) that contains the remaining effort.
The custom field (of type period) that contains the remaining wait.
The custom field (of type user) that contains the assignee.
The custom field (of type enum) that contains the issue type.
The issue types that allow splitting across multiple persons when planning.
The type of issue link that indicates a finish-to-start dependency.
The side of a dependency link synonymous with “needs to be finished before”.
The saved search containing the issues that will comprise the project plan. Issues will be scheduled in the order of this saved search (unless also part of the overlay saved search).
Reorders the issues that are contained in both saved searches according to this overlay. The order (more precisely, the rank) of all issues not contained in this overlay remains the same.

; }