| /** |
| * @license |
| * Copyright (C) 2020 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| /** |
| * @desc Tab names for primary tabs on change view page. |
| */ |
| import {DiffViewMode} from '../api/diff'; |
| import {DiffPreferencesInfo} from '../types/diff'; |
| import {EditPreferencesInfo, PreferencesInfo} from '../types/common'; |
| |
| export enum PrimaryTab { |
| FILES = 'files', |
| /** |
| * When renaming 'comments' or 'findings', UrlFormatter.java must be updated. |
| */ |
| COMMENT_THREADS = 'comments', |
| FINDINGS = 'findings', |
| CHECKS = 'checks', |
| } |
| |
| /** |
| * @desc Tab names for secondary tabs on change view page. |
| */ |
| export enum SecondaryTab { |
| CHANGE_LOG = '_changeLog', |
| } |
| |
| /** |
| * @desc Tag names of change log messages. |
| */ |
| export enum MessageTag { |
| TAG_DELETE_REVIEWER = 'autogenerated:gerrit:deleteReviewer', |
| TAG_NEW_PATCHSET = 'autogenerated:gerrit:newPatchSet', |
| TAG_NEW_WIP_PATCHSET = 'autogenerated:gerrit:newWipPatchSet', |
| TAG_REVIEWER_UPDATE = 'autogenerated:gerrit:reviewerUpdate', |
| TAG_SET_PRIVATE = 'autogenerated:gerrit:setPrivate', |
| TAG_UNSET_PRIVATE = 'autogenerated:gerrit:unsetPrivate', |
| TAG_SET_READY = 'autogenerated:gerrit:setReadyForReview', |
| TAG_SET_WIP = 'autogenerated:gerrit:setWorkInProgress', |
| TAG_SET_ASSIGNEE = 'autogenerated:gerrit:setAssignee', |
| TAG_UNSET_ASSIGNEE = 'autogenerated:gerrit:deleteAssignee', |
| TAG_MERGED = 'autogenerated:gerrit:merged', |
| TAG_REVERT = 'autogenerated:gerrit:revert', |
| } |
| |
| /** |
| * @desc Templates that can be used in change log messages. |
| */ |
| export enum ChangeMessageTemplate { |
| ACCOUNT_TEMPLATE = '<GERRIT_ACCOUNT_(\\d+)>', |
| } |
| |
| /** |
| * @desc Modes for gr-diff-cursor |
| * The scroll behavior for the cursor. Values are 'never' and |
| * 'keep-visible'. 'keep-visible' will only scroll if the cursor is beyond |
| * the viewport. |
| */ |
| export enum ScrollMode { |
| KEEP_VISIBLE = 'keep-visible', |
| NEVER = 'never', |
| } |
| |
| /** |
| * @desc Specifies status for a change |
| */ |
| export enum ChangeStatus { |
| ABANDONED = 'ABANDONED', |
| MERGED = 'MERGED', |
| NEW = 'NEW', |
| } |
| |
| /** |
| * @desc Special file paths |
| */ |
| export enum SpecialFilePath { |
| PATCHSET_LEVEL_COMMENTS = '/PATCHSET_LEVEL', |
| COMMIT_MESSAGE = '/COMMIT_MSG', |
| MERGE_LIST = '/MERGE_LIST', |
| } |
| |
| /** |
| * @desc The reviewer state |
| */ |
| export enum RequirementStatus { |
| OK = 'OK', |
| NOT_READY = 'NOT_READY', |
| RULE_ERROR = 'RULE_ERROR', |
| } |
| |
| /** |
| * @desc The reviewer state |
| */ |
| export enum ReviewerState { |
| REVIEWER = 'REVIEWER', |
| CC = 'CC', |
| REMOVED = 'REMOVED', |
| } |
| |
| /** |
| * @desc The patchset kind |
| */ |
| export enum RevisionKind { |
| REWORK = 'REWORK', |
| TRIVIAL_REBASE = 'TRIVIAL_REBASE', |
| MERGE_FIRST_PARENT_UPDATE = 'MERGE_FIRST_PARENT_UPDATE', |
| NO_CODE_CHANGE = 'NO_CODE_CHANGE', |
| NO_CHANGE = 'NO_CHANGE', |
| } |
| |
| /** |
| * @desc The status of fixing the problem |
| */ |
| export enum ProblemInfoStatus { |
| FIXED = 'FIXED', |
| FIX_FAILED = 'FIX_FAILED', |
| } |
| |
| /** |
| * @desc The status of the file |
| */ |
| export enum FileInfoStatus { |
| ADDED = 'A', |
| DELETED = 'D', |
| RENAMED = 'R', |
| COPIED = 'C', |
| REWRITTEN = 'W', |
| // Modifed = 'M', // but API not set it if the file was modified |
| UNMODIFIED = 'U', // Not returned by BE, but added by UI for certain files |
| } |
| |
| /** |
| * @desc The status of the file |
| */ |
| export enum GpgKeyInfoStatus { |
| BAD = 'BAD', |
| OK = 'OK', |
| TRUSTED = 'TRUSTED', |
| } |
| |
| /** |
| * @desc Used for server config of accounts |
| */ |
| export enum DefaultDisplayNameConfig { |
| USERNAME = 'USERNAME', |
| FIRST_NAME = 'FIRST_NAME', |
| FULL_NAME = 'FULL_NAME', |
| } |
| |
| /** |
| * @desc The state of the projects |
| */ |
| export enum ProjectState { |
| ACTIVE = 'ACTIVE', |
| READ_ONLY = 'READ_ONLY', |
| HIDDEN = 'HIDDEN', |
| } |
| |
| export {Side} from '../api/diff'; |
| |
| /** |
| * The type in ConfigParameterInfo entity. |
| * https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#config-parameter-info |
| */ |
| export enum ConfigParameterInfoType { |
| // Should be kept in sync with |
| // gerrit/java/com/google/gerrit/extensions/api/projects/ProjectConfigEntryType.java. |
| STRING = 'STRING', |
| INT = 'INT', |
| LONG = 'LONG', |
| BOOLEAN = 'BOOLEAN', |
| LIST = 'LIST', |
| ARRAY = 'ARRAY', |
| } |
| |
| /** |
| * All supported submit types. |
| * https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#submit-type-info |
| */ |
| export enum SubmitType { |
| MERGE_IF_NECESSARY = 'MERGE_IF_NECESSARY', |
| FAST_FORWARD_ONLY = 'FAST_FORWARD_ONLY', |
| REBASE_IF_NECESSARY = 'REBASE_IF_NECESSARY', |
| REBASE_ALWAYS = 'REBASE_ALWAYS', |
| MERGE_ALWAYS = 'MERGE_ALWAYS ', |
| CHERRY_PICK = 'CHERRY_PICK', |
| INHERIT = 'INHERIT', |
| } |
| |
| /** |
| * https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#mergeable-info |
| */ |
| export enum MergeStrategy { |
| RECURSIVE = 'recursive', |
| RESOLVE = 'resolve', |
| SIMPLE_TWO_WAY_IN_CORE = 'simple-two-way-in-core', |
| OURS = 'ours', |
| THEIRS = 'theirs', |
| } |
| |
| /* |
| * Enum for possible configured value in InheritedBooleanInfo. |
| * https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#inherited-boolean-info |
| */ |
| export enum InheritedBooleanInfoConfiguredValue { |
| TRUE = 'TRUE', |
| FALSE = 'FALSE', |
| INHERITED = 'INHERITED', |
| } |
| |
| export enum AccountTag { |
| SERVICE_USER = 'SERVICE_USER', |
| } |
| |
| /** |
| * Enum for possible PermissionRuleInfo actions |
| * https://gerrit-review.googlesource.com/Documentation/rest-api-access.html#permission-info |
| */ |
| export enum PermissionAction { |
| ALLOW = 'ALLOW', |
| DENY = 'DENY', |
| BLOCK = 'BLOCK', |
| // Special values for global capabilities |
| INTERACTIVE = 'INTERACTIVE', |
| BATCH = 'BATCH', |
| } |
| |
| /** |
| * This capability allows users to use the thread pool reserved for 'Non-Interactive Users'. |
| * https://gerrit-review.googlesource.com/Documentation/access-control.html#capability_priority |
| */ |
| export enum UserPriority { |
| BATCH = 'BATCH', |
| INTERACTIVE = 'INTERACTIVE', |
| } |
| |
| /** |
| * Enum for all http methods used in Gerrit. |
| */ |
| export enum HttpMethod { |
| HEAD = 'HEAD', |
| POST = 'POST', |
| GET = 'GET', |
| DELETE = 'DELETE', |
| PUT = 'PUT', |
| } |
| |
| /** |
| * The side on which the comment was added |
| * https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#comment-info |
| */ |
| export enum CommentSide { |
| REVISION = 'REVISION', |
| PARENT = 'PARENT', |
| } |
| |
| /** |
| * Allowed app themes |
| * https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#preferences-input |
| */ |
| export enum AppTheme { |
| DARK = 'DARK', |
| LIGHT = 'LIGHT', |
| } |
| |
| /** |
| * Date formats in preferences |
| * https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#preferences-input |
| */ |
| export enum DateFormat { |
| STD = 'STD', |
| US = 'US', |
| ISO = 'ISO', |
| EURO = 'EURO', |
| UK = 'UK', |
| } |
| |
| /** |
| * Time formats in preferences |
| * https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#preferences-input |
| */ |
| export enum TimeFormat { |
| HHMM_12 = 'HHMM_12', |
| HHMM_24 = 'HHMM_24', |
| } |
| |
| export {DiffViewMode}; |
| |
| /** |
| * The type of email strategy to use. |
| * https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#preferences-input |
| */ |
| export enum EmailStrategy { |
| ENABLED = 'ENABLED', |
| CC_ON_OWN_COMMENTS = 'CC_ON_OWN_COMMENTS', |
| ATTENTION_SET_ONLY = 'ATTENTION_SET_ONLY', |
| DISABLED = 'DISABLED', |
| } |
| |
| /** |
| * The type of email format to use. |
| * Doesn't mentioned in doc, but exists in Java class GeneralPreferencesInfo. |
| */ |
| |
| export enum EmailFormat { |
| PLAINTEXT = 'PLAINTEXT', |
| HTML_PLAINTEXT = 'HTML_PLAINTEXT', |
| } |
| |
| /** |
| * The base which should be pre-selected in the 'Diff Against' drop-down list when the change screen is opened for a merge commit |
| * https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#preferences-input |
| */ |
| export enum DefaultBase { |
| AUTO_MERGE = 'AUTO_MERGE', |
| FIRST_PARENT = 'FIRST_PARENT', |
| } |
| |
| /** |
| * how draft comments are handled |
| */ |
| export enum DraftsAction { |
| PUBLISH = 'PUBLISH', |
| PUBLISH_ALL_REVISIONS = 'PUBLISH_ALL_REVISIONS', |
| KEEP = 'KEEP', |
| } |
| |
| export enum NotifyType { |
| NONE = 'NONE', |
| OWNER = 'OWNER', |
| OWNER_REVIEWERS = 'OWNER_REVIEWERS', |
| ALL = 'ALL', |
| } |
| |
| /** |
| * The authentication type that is configured on the server. |
| * https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#auth-info |
| */ |
| export enum AuthType { |
| OPENID = 'OPENID', |
| OPENID_SSO = 'OPENID_SSO', |
| OAUTH = 'OAUTH', |
| HTTP = 'HTTP', |
| HTTP_LDAP = 'HTTP_LDAP', |
| CLIENT_SSL_CERT_LDAP = 'CLIENT_SSL_CERT_LDAP', |
| LDAP = 'LDAP', |
| LDAP_BIND = 'LDAP_BIND', |
| CUSTOM_EXTENSION = 'CUSTOM_EXTENSION', |
| DEVELOPMENT_BECOME_ANY_ACCOUNT = 'DEVELOPMENT_BECOME_ANY_ACCOUNT', |
| } |
| |
| /** |
| * Controls visibility of other users' dashboard pages and completion suggestions to web users |
| * https://gerrit-review.googlesource.com/Documentation/config-gerrit.html#accounts.visibility |
| */ |
| export enum AccountsVisibility { |
| ALL = 'ALL', |
| SAME_GROUP = 'SAME_GROUP', |
| VISIBLE_GROUP = 'VISIBLE_GROUP', |
| NONE = 'NONE', |
| } |
| |
| /** |
| * Account fields that are editable |
| * https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#auth-info |
| */ |
| export enum EditableAccountField { |
| FULL_NAME = 'FULL_NAME', |
| USER_NAME = 'USER_NAME', |
| REGISTER_NEW_EMAIL = 'REGISTER_NEW_EMAIL', |
| } |
| |
| /** |
| * This setting determines when Gerrit computes if a change is mergeable or not. |
| * https://gerrit-review.googlesource.com/Documentation/config-gerrit.html#change.mergeabilityComputationBehavior |
| */ |
| export enum MergeabilityComputationBehavior { |
| API_REF_UPDATED_AND_CHANGE_REINDEX = 'API_REF_UPDATED_AND_CHANGE_REINDEX', |
| REF_UPDATED_AND_CHANGE_REINDEX = 'REF_UPDATED_AND_CHANGE_REINDEX', |
| NEVER = 'NEVER', |
| } |
| |
| // TODO(TS): Many properties are omitted here, but they are required. |
| // Add default values for missing properties. |
| export function createDefaultPreferences() { |
| return { |
| changes_per_page: 25, |
| default_diff_view: DiffViewMode.SIDE_BY_SIDE, |
| diff_view: DiffViewMode.SIDE_BY_SIDE, |
| size_bar_in_change_table: true, |
| } as PreferencesInfo; |
| } |
| |
| // These defaults should match the defaults in |
| // java/com/google/gerrit/extensions/client/DiffPreferencesInfo.java |
| // NOTE: There are some settings that don't apply to PolyGerrit |
| // (Render mode being at least one of them). |
| export function createDefaultDiffPrefs(): DiffPreferencesInfo { |
| return { |
| context: 10, |
| cursor_blink_rate: 0, |
| font_size: 12, |
| ignore_whitespace: 'IGNORE_NONE', |
| line_length: 100, |
| line_wrapping: false, |
| show_line_endings: true, |
| show_tabs: true, |
| show_whitespace_errors: true, |
| syntax_highlighting: true, |
| tab_size: 8, |
| }; |
| } |
| |
| // These defaults should match the defaults in |
| // java/com/google/gerrit/extensions/client/EditPreferencesInfo.java |
| export function createDefaultEditPrefs(): EditPreferencesInfo { |
| return { |
| auto_close_brackets: false, |
| cursor_blink_rate: 0, |
| hide_line_numbers: false, |
| hide_top_menu: false, |
| indent_unit: 2, |
| indent_with_tabs: false, |
| key_map_type: 'DEFAULT', |
| line_length: 100, |
| line_wrapping: false, |
| match_brackets: true, |
| show_base: false, |
| show_tabs: true, |
| show_whitespace_errors: true, |
| syntax_highlighting: true, |
| tab_size: 8, |
| theme: 'DEFAULT', |
| }; |
| } |