| /** |
| * @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. |
| */ |
| |
| import {ParsedChangeInfo} from '../types/types'; |
| |
| export enum Metadata { |
| OWNER = 'Owner', |
| REVIEWERS = 'Reviewers', |
| REPO_BRANCH = 'Repo | Branch', |
| SUBMITTED = 'Submitted', |
| PARENT = 'Parent', |
| STRATEGY = 'Strategy', |
| UPDATED = 'Updated', |
| CC = 'CC', |
| HASHTAGS = 'Hashtags', |
| TOPIC = 'Topic', |
| UPLOADER = 'Uploader', |
| AUTHOR = 'Author', |
| COMMITTER = 'Committer', |
| ASSIGNEE = 'Assignee', |
| CHERRY_PICK_OF = 'Cherry pick of', |
| } |
| |
| export const DisplayRules = { |
| ALWAYS_SHOW: [ |
| Metadata.OWNER, |
| Metadata.REVIEWERS, |
| Metadata.REPO_BRANCH, |
| Metadata.SUBMITTED, |
| ], |
| SHOW_IF_SET: [ |
| Metadata.CC, |
| Metadata.HASHTAGS, |
| Metadata.TOPIC, |
| Metadata.UPLOADER, |
| Metadata.AUTHOR, |
| Metadata.COMMITTER, |
| Metadata.ASSIGNEE, |
| Metadata.CHERRY_PICK_OF, |
| ], |
| ALWAYS_HIDE: [Metadata.PARENT, Metadata.STRATEGY, Metadata.UPDATED], |
| }; |
| |
| export function isSectionSet(section: Metadata, change?: ParsedChangeInfo) { |
| switch (section) { |
| case Metadata.CC: |
| return !!change?.reviewers?.CC?.length; |
| case Metadata.HASHTAGS: |
| return !!change?.hashtags?.length; |
| case Metadata.TOPIC: |
| return !!change?.topic; |
| case Metadata.UPLOADER: |
| case Metadata.AUTHOR: |
| case Metadata.COMMITTER: |
| case Metadata.ASSIGNEE: |
| return false; |
| case Metadata.CHERRY_PICK_OF: |
| return !!change?.cherry_pick_of_change; |
| } |
| return true; |
| } |