Skip to content

Commit 23cd8fe

Browse files
sei-tspencersei-awelleclaudesei-jbooz
authored
Add classification banner 2 (#699)
* Improve Player View Edit Form UX and Fix Application Settings (#689) * Simplify application field labels in view edit - Change application field labels to simple titles - Application Name, Application URL, Icon Path, etc. * Improve view edit form labels and file upload UX - Simplify view information field labels to basic titles - Add DEFAULT badge to default team in team list - Add team selection validation for file uploads - Show red warning when no teams selected for files - Change upload button to 'Save Changes and Upload File' - Disable upload button when no teams selected - Allow clearing teams in UI without server errors - Only save to server when at least one team is selected * Fix application settings dropdowns toggling each other - Remove [(value)]="selected" binding from all dropdowns - Each dropdown now only uses [(ngModel)] for its specific property - Fixes issue where changing Embeddable would affect Load in Background - Simplify save methods to avoid change detection errors - Fix NG0100 ExpressionChangedAfterItHasBeenCheckedError * Improve file upload UX to match team section pattern - Restructure upload section as expansion panel (like teams) - Add file icon before filename in panel title - Move 'Add New File' button to always be visible at top - Match team selection layout to existing uploaded files - Change label to 'Teams with Access' - Add validation warning when no teams selected - Position Cancel and Upload buttons at bottom * Convert application template fields to use mat-label - Change from placeholder to mat-label for Name, URL, Icon Path - Consistent with other form fields across the application * labels added (#692) * Chore/auto version update (#694) * chore: configure automatic version updates via reusable workflow Migrate to the cmu-sei/Crucible-Github-Actions docker-build reusable workflow @docker-v1 and add versionMode/versionFiles inputs to enable automatic version bumping on release. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * migrate to cmu-sei/Crucible-Github-Actions/.github/workflows/docker-build.yaml@docker-v1.1.2 --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> * Use v1 tag for docker-build action (#695) * point to 0.6.0 * lock file --------- Co-authored-by: Adam Welle <arwelle@cert.org> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Jarrett Booz <89405171+sei-jbooz@users.noreply.github.com>
1 parent c7b1459 commit 23cd8fe

File tree

13 files changed

+261
-211
lines changed

13 files changed

+261
-211
lines changed

.github/workflows/main.yml

Lines changed: 14 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,23 @@
1-
name: Build
1+
name: Build and Publish Image
22

33
on:
44
pull_request:
55
branches:
66
- main
77
push:
8-
branches: [main]
8+
branches:
9+
- main
910
release:
10-
types: ['published']
11-
workflow_dispatch:
12-
inputs:
13-
tagName:
14-
description: 'Tag of the image you want to build and push'
15-
required: true
11+
types: ["published"]
1612

1713
jobs:
18-
build:
19-
runs-on: ubuntu-latest
20-
steps:
21-
- name: Checkout
22-
uses: actions/checkout@v2
23-
24-
- name: Prepare
25-
id: prep
26-
run: |
27-
DOCKER_IMAGE=cmusei/player-ui
28-
VERSION=development
29-
if [[ ! -z "${{ github.event.inputs.tagName }}" ]]; then
30-
VERSION=${{ github.event.inputs.tagName }}
31-
TAGS="${DOCKER_IMAGE}:${VERSION}"
32-
elif [[ $GITHUB_REF == refs/tags/* ]]; then
33-
VERSION=${GITHUB_REF#refs/tags/}
34-
MAJORMINORVERSION=$(echo $VERSION | grep -oP '(\d+)\.(\d+)')
35-
TAGS="${DOCKER_IMAGE}:${VERSION},${DOCKER_IMAGE}:${MAJORMINORVERSION}"
36-
elif [[ $GITHUB_REF == refs/heads/* ]]; then
37-
VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g')
38-
TAGS="${DOCKER_IMAGE}:${VERSION}"
39-
fi
40-
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
41-
echo ::set-output name=push::false
42-
echo "event is pull_request, not pushing image"
43-
else
44-
echo ::set-output name=push::true
45-
echo "event is not pull_request, pushing image"
46-
fi
47-
echo ::set-output name=version::${VERSION}
48-
echo ::set-output name=tags::${TAGS}
49-
echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ')
50-
51-
- name: Set up Docker Buildx
52-
uses: docker/setup-buildx-action@v1
53-
54-
- name: Login to DockerHub
55-
if: github.event_name != 'pull_request'
56-
uses: docker/login-action@v1
57-
with:
58-
username: ${{ secrets.DOCKERHUB_USERNAME }}
59-
password: ${{ secrets.DOCKERHUB_PASSWORD }}
60-
61-
- name: Build and push
62-
uses: docker/build-push-action@v2
63-
with:
64-
context: .
65-
file: ./Dockerfile
66-
push: ${{ steps.prep.outputs.push }}
67-
pull: true
68-
tags: ${{ steps.prep.outputs.tags }}
69-
labels: |
70-
org.opencontainers.image.source=${{ github.event.repository.clone_url }}
71-
org.opencontainers.image.created=${{ steps.prep.outputs.created }}
72-
org.opencontainers.image.revision=${{ github.sha }}
14+
build-and-publish:
15+
name: Build and Publish
16+
uses: cmu-sei/Crucible-Github-Actions/.github/workflows/docker-build.yaml@docker-v1
17+
with:
18+
imageName: cmusei/player-ui
19+
versionMode: npm
20+
versionFiles: package.json
21+
secrets:
22+
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
23+
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}

package-lock.json

Lines changed: 9 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "player.ui",
3-
"version": "3.1.1",
3+
"version": "0.0.0",
44
"license": "MIT",
55
"scripts": {
66
"ng": "ng",
@@ -37,7 +37,7 @@
3737
"@angular/platform-browser": "^21.2.1",
3838
"@angular/platform-browser-dynamic": "^21.2.1",
3939
"@angular/router": "^21.2.1",
40-
"@cmusei/crucible-common": "^0.4.2",
40+
"@cmusei/crucible-common": "^0.6.0",
4141
"@datorama/akita": "^8.0.1",
4242
"@datorama/akita-ng-router-store": "^8.0.0",
4343
"@material/material-color-utilities": "^0.4.0",

src/app/components/admin-app/admin-app-template-search/admin-template-details/admin-template-details.component.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,29 @@
55

66
<div class="d-flex flex-column">
77
<mat-form-field>
8+
<mat-label>Name</mat-label>
89
<input
910
matInput
10-
placeholder="Name"
1111
tabIndex="1"
1212
name="name"
1313
[(ngModel)]="appTemplate.name"
1414
(change)="editAppTemplate()"
1515
/>
1616
</mat-form-field>
1717
<mat-form-field>
18+
<mat-label>URL</mat-label>
1819
<input
1920
matInput
20-
placeholder="Url"
2121
tabIndex="2"
2222
name="url"
2323
[(ngModel)]="appTemplate.url"
2424
(change)="editAppTemplate()"
2525
/>
2626
</mat-form-field>
2727
<mat-form-field>
28+
<mat-label>Icon Path</mat-label>
2829
<input
2930
matInput
30-
placeholder="icon"
3131
tabIndex="3"
3232
name="icon"
3333
[(ngModel)]="appTemplate.icon"

src/app/components/admin-app/admin-role-permission-search/create-permission-dialog/create-permission-dialog.component.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<h1 mat-dialog-title>{{ title }}</h1>
88
<form (ngSubmit)="done()">
99
<mat-form-field>
10+
<mat-label>Name</mat-label>
1011
<input
1112
matInput
1213
placeholder="Name"
@@ -17,6 +18,7 @@ <h1 mat-dialog-title>{{ title }}</h1>
1718
><br />
1819
><br />
1920
<mat-form-field>
21+
<mat-label>Description</mat-label>
2022
<input
2123
matInput
2224
placeholder="Description"

src/app/components/admin-app/admin-role-permission-search/create-role-dialog/create-role-dialog.component.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<h1 mat-dialog-title>{{ title }}</h1>
88
<form (ngSubmit)="done()">
99
<mat-form-field>
10+
<mat-label>Name</mat-label>
1011
<input
1112
matInput
1213
placeholder="Name"

0 commit comments

Comments
 (0)