diff --git a/src/app/authoring-tool/edit-advanced-component/edit-advanced-component.component.ts b/src/app/authoring-tool/edit-advanced-component/edit-advanced-component.component.ts index 94a3858b113..ed94b95e9df 100644 --- a/src/app/authoring-tool/edit-advanced-component/edit-advanced-component.component.ts +++ b/src/app/authoring-tool/edit-advanced-component/edit-advanced-component.component.ts @@ -1,17 +1,24 @@ -import { Directive, Input } from '@angular/core'; +import { Directive, inject, Input } from '@angular/core'; import { ComponentContent } from '../../../assets/wise5/common/ComponentContent'; import { Component } from '../../../assets/wise5/common/Component'; import { NotebookService } from '../../../assets/wise5/services/notebookService'; import { TeacherProjectService } from '../../../assets/wise5/services/teacherProjectService'; import { TeacherNodeService } from '../../../assets/wise5/services/teacherNodeService'; import { moveObjectDown, moveObjectUp } from '../../../assets/wise5/common/array/array'; +import { ComponentServiceLookupService } from '../../../assets/wise5/services/componentServiceLookupService'; @Directive() export abstract class EditAdvancedComponentComponent { + protected aiEnabled: boolean; component: Component; componentContent: ComponentContent; + protected selectedTabIndex: number = 0; + @Input() componentId: string; @Input() nodeId: string; + @Input() tab: string = 'general'; + + private componentServiceLookupService = inject(ComponentServiceLookupService); constructor( protected nodeService: TeacherNodeService, @@ -22,7 +29,29 @@ export abstract class EditAdvancedComponentComponent { ngOnInit(): void { this.componentContent = this.teacherProjectService.getComponent(this.nodeId, this.componentId); this.component = new Component(this.componentContent, this.nodeId); + this.aiEnabled = this.teacherProjectService.getProject().ai?.enabled; + if (this.aiEnabled && ['Discussion', 'OpenResponse'].includes(this.component.content.type)) { + if (this.component.content.ai == null) { + const componentService = this.componentServiceLookupService.getService( + this.component.content.type + ); + this.component.content.ai = { + teacherSummarySystemPrompt: componentService.getDefaultTeacherSummarySystemPrompt( + this.component.content.prompt + ) + }; + } + } this.teacherProjectService.uiChanged(); + + switch (this.tab) { + case 'visibility': + this.selectedTabIndex = 1; + break; + default: + this.selectedTabIndex = 0; + break; + } } setShowSubmitButtonValue(show: boolean = false): void { diff --git a/src/app/authoring-tool/edit-common-advanced/edit-common-advanced.component.html b/src/app/authoring-tool/edit-common-advanced/edit-common-advanced.component.html deleted file mode 100644 index 3afe7d28661..00000000000 --- a/src/app/authoring-tool/edit-common-advanced/edit-common-advanced.component.html +++ /dev/null @@ -1,23 +0,0 @@ -
- - - @if (component.content.showSubmitButton) { - - } - - - - - - - - - -
diff --git a/src/app/authoring-tool/edit-common-advanced/edit-common-advanced.component.spec.ts b/src/app/authoring-tool/edit-common-advanced/edit-common-advanced.component.spec.ts deleted file mode 100644 index 589f7400e66..00000000000 --- a/src/app/authoring-tool/edit-common-advanced/edit-common-advanced.component.spec.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { Component } from '../../../assets/wise5/common/Component'; -import { TeacherProjectService } from '../../../assets/wise5/services/teacherProjectService'; -import { EditCommonAdvancedComponent } from './edit-common-advanced.component'; -import { MockComponent, MockProviders } from 'ng-mocks'; -import { ProjectService } from '../../../assets/wise5/services/projectService'; -import { NotificationService } from '../../../assets/wise5/services/notificationService'; -import { EditComponentJsonComponent } from '../edit-component-json/edit-component-json.component'; - -describe('EditCommonAdvancedComponent', () => { - let component: EditCommonAdvancedComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [EditCommonAdvancedComponent, MockComponent(EditComponentJsonComponent)], - providers: [MockProviders(NotificationService, ProjectService, TeacherProjectService)] -}).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(EditCommonAdvancedComponent); - component = fixture.componentInstance; - component.component = { content: {} } as Component; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/authoring-tool/edit-common-advanced/edit-common-advanced.component.ts b/src/app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module.ts similarity index 55% rename from src/app/authoring-tool/edit-common-advanced/edit-common-advanced.component.ts rename to src/app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module.ts index cd5ab289ac2..7782418c9f2 100644 --- a/src/app/authoring-tool/edit-common-advanced/edit-common-advanced.component.ts +++ b/src/app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module.ts @@ -1,45 +1,63 @@ -import { Component, Input } from '@angular/core'; -import { Component as WISEComponent } from '../../../assets/wise5/common/Component'; -import { TeacherProjectService } from '../../../assets/wise5/services/teacherProjectService'; -import { EditConnectedComponentsComponent } from '../edit-connected-components/edit-connected-components.component'; -import { EditComponentWidthComponent } from '../edit-component-width/edit-component-width.component'; -import { EditComponentTagsComponent } from '../edit-component-tags/edit-component-tags.component'; +import { NgModule } from '@angular/core'; +import { EditComponentDefaultFeedback } from '../edit-advanced-component/edit-component-default-feedback/edit-component-default-feedback.component'; +import { EditComponentExcludeFromTotalScoreComponent } from '../edit-component-exclude-from-total-score/edit-component-exclude-from-total-score.component'; +import { EditComponentMaxScoreComponent } from '../edit-component-max-score/edit-component-max-score.component'; +import { EditComponentMaxSubmitComponent } from '../edit-component-max-submit/edit-component-max-submit.component'; +import { EditComponentRubricComponent } from '../edit-component-rubric/edit-component-rubric.component'; import { EditComponentSaveButtonComponent } from '../edit-component-save-button/edit-component-save-button.component'; import { EditComponentSubmitButtonComponent } from '../edit-component-submit-button/edit-component-submit-button.component'; -import { EditComponentRubricComponent } from '../edit-component-rubric/edit-component-rubric.component'; -import { EditComponentJsonComponent } from '../edit-component-json/edit-component-json.component'; -import { EditComponentMaxSubmitComponent } from '../edit-component-max-submit/edit-component-max-submit.component'; -import { EditComponentMaxScoreComponent } from '../edit-component-max-score/edit-component-max-score.component'; -import { EditComponentExcludeFromTotalScoreComponent } from '../edit-component-exclude-from-total-score/edit-component-exclude-from-total-score.component'; -import { EditComponentDefaultFeedback } from '../edit-advanced-component/edit-component-default-feedback/edit-component-default-feedback.component'; +import { EditComponentTagsComponent } from '../edit-component-tags/edit-component-tags.component'; +import { EditComponentWidthComponent } from '../edit-component-width/edit-component-width.component'; import { EditComponentConstraintsComponent } from '../edit-component-constraints/edit-component-constraints.component'; +import { EditComponentJsonComponent } from '../edit-component-json/edit-component-json.component'; +import { MatTabsModule } from '@angular/material/tabs'; +import { MatIconModule } from '@angular/material/icon'; +import { MatCheckboxModule } from '@angular/material/checkbox'; +import { FormsModule } from '@angular/forms'; +import { EditComponentAddToNotebookButtonComponent } from '../edit-component-add-to-notebook-button/edit-component-add-to-notebook-button.component'; +import { EditConnectedComponentsComponent } from '../edit-connected-components/edit-connected-components.component'; +import { EditComponentSummarizerSystemPromptComponent } from '../edit-component-summarizer-system-prompt/edit-component-summarizer-system-prompt.component'; -@Component({ +@NgModule({ imports: [ - EditComponentConstraintsComponent, + EditComponentAddToNotebookButtonComponent, + EditComponentSaveButtonComponent, + EditComponentSubmitButtonComponent, + EditComponentMaxSubmitComponent, + EditConnectedComponentsComponent, EditComponentDefaultFeedback, - EditComponentExcludeFromTotalScoreComponent, EditComponentMaxScoreComponent, - EditComponentMaxSubmitComponent, - EditComponentJsonComponent, + EditComponentExcludeFromTotalScoreComponent, + EditComponentWidthComponent, EditComponentRubricComponent, + EditComponentSummarizerSystemPromptComponent, + EditComponentTagsComponent, + EditComponentConstraintsComponent, + EditComponentJsonComponent, + FormsModule, + MatCheckboxModule, + MatIconModule, + MatTabsModule + ], + exports: [ + EditComponentAddToNotebookButtonComponent, EditComponentSaveButtonComponent, EditComponentSubmitButtonComponent, - EditComponentTagsComponent, + EditComponentMaxSubmitComponent, + EditConnectedComponentsComponent, + EditComponentDefaultFeedback, + EditComponentMaxScoreComponent, + EditComponentExcludeFromTotalScoreComponent, EditComponentWidthComponent, - EditConnectedComponentsComponent - ], - selector: 'edit-common-advanced', - templateUrl: './edit-common-advanced.component.html' + EditComponentRubricComponent, + EditComponentSummarizerSystemPromptComponent, + EditComponentTagsComponent, + EditComponentConstraintsComponent, + EditComponentJsonComponent, + FormsModule, + MatCheckboxModule, + MatIconModule, + MatTabsModule + ] }) -export class EditCommonAdvancedComponent { - @Input() allowedConnectedComponentTypes: string[] = []; - @Input() component: WISEComponent; - - constructor(protected projectService: TeacherProjectService) {} - - protected connectedComponentsChanged(connectedComponents: any[]): void { - this.component.content.connectedComponents = connectedComponents; - this.projectService.nodeChanged(); - } -} +export class EditComponentAdvancedSharedModule {} diff --git a/src/app/authoring-tool/edit-component-advanced/edit-component-advanced.component.html b/src/app/authoring-tool/edit-component-advanced/edit-component-advanced.component.html index 7bc636ac70f..79e1be3824d 100644 --- a/src/app/authoring-tool/edit-component-advanced/edit-component-advanced.component.html +++ b/src/app/authoring-tool/edit-component-advanced/edit-component-advanced.component.html @@ -1,11 +1,13 @@ -

Advanced Settings

- -
-
+
+

Advanced Activity Settings

+ +
+
+
+ + + +
- - - - diff --git a/src/app/authoring-tool/edit-component-advanced/edit-component-advanced.component.spec.ts b/src/app/authoring-tool/edit-component-advanced/edit-component-advanced.component.spec.ts index 88fbe826309..2166cae3fe7 100644 --- a/src/app/authoring-tool/edit-component-advanced/edit-component-advanced.component.spec.ts +++ b/src/app/authoring-tool/edit-component-advanced/edit-component-advanced.component.spec.ts @@ -8,6 +8,7 @@ import { NotificationService } from '../../../assets/wise5/services/notification import { TeacherNodeService } from '../../../assets/wise5/services/teacherNodeService'; import { TeacherProjectService } from '../../../assets/wise5/services/teacherProjectService'; import { EditComponentAdvancedComponent } from './edit-component-advanced.component'; +import { ComponentServiceLookupService } from '../../../assets/wise5/services/componentServiceLookupService'; let component: EditComponentAdvancedComponent; let fixture: ComponentFixture; @@ -19,9 +20,12 @@ describe('EditComponentAdvancedComponent', () => { { provide: MAT_DIALOG_DATA, useValue: { - content: { type: 'ShowMyWork' }, - id: 'component1', - nodeId: 'node1' + component: { + content: { type: 'ShowMyWork' }, + id: 'component1', + nodeId: 'node1' + }, + tab: 'general' } }, { @@ -31,6 +35,7 @@ describe('EditComponentAdvancedComponent', () => { } }, MockProviders( + ComponentServiceLookupService, TeacherNodeService, NotebookService, NotificationService, @@ -44,6 +49,8 @@ describe('EditComponentAdvancedComponent', () => { spyOn(TestBed.inject(TeacherProjectService), 'getComponent').and.returnValue({ type: 'ShowMyWork' } as ComponentContent); + spyOn(TestBed.inject(TeacherProjectService), 'getProject').and.returnValue({}); + fixture.detectChanges(); }); diff --git a/src/app/authoring-tool/edit-component-advanced/edit-component-advanced.component.ts b/src/app/authoring-tool/edit-component-advanced/edit-component-advanced.component.ts index 92d606db2b1..febba44f6fe 100644 --- a/src/app/authoring-tool/edit-component-advanced/edit-component-advanced.component.ts +++ b/src/app/authoring-tool/edit-component-advanced/edit-component-advanced.component.ts @@ -6,7 +6,8 @@ import { ElementRef, EnvironmentInjector, Inject, - ViewChild + ViewChild, + ViewEncapsulation } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog'; @@ -15,9 +16,28 @@ import { Component as WISEComponent } from '../../../assets/wise5/common/Compone import { components } from '../../../assets/wise5/components/Components'; @Component({ + encapsulation: ViewEncapsulation.None, imports: [MatDivider, MatDialogModule, MatButtonModule], styles: [ - '.mat-divider { margin: 0 -16px; } .mat-mdc-dialog-content { padding-top: 10px !important; padding-bottom: 10px !important; }' + ` + .edit-component-advanced { + --mat-tab-divider-color: var(--mat-divider-color); + --mat-tab-divider-height: 1px; + .mat-divider { + margin: 0 -16px; + } + .mat-mdc-tab-body-content { + padding: 16px 0; + } + .mat-mdc-tab-header { + position: sticky; + top: 0; + z-index: 2; + background-color: white; + margin: 0 -16px; + } + } + ` ], templateUrl: './edit-component-advanced.component.html' }) @@ -26,18 +46,22 @@ export class EditComponentAdvancedComponent { private componentRef: ComponentRef; constructor( private applicationRef: ApplicationRef, - @Inject(MAT_DIALOG_DATA) protected component: WISEComponent, + @Inject(MAT_DIALOG_DATA) protected data: { component: WISEComponent; tab?: string }, private injector: EnvironmentInjector ) {} ngAfterViewInit(): void { - this.componentRef = createComponent(components[this.component.content.type].authoringAdvanced, { - hostElement: this.componentElementRef.nativeElement, - environmentInjector: this.injector - }); + this.componentRef = createComponent( + components[this.data.component.content.type].authoringAdvanced, + { + hostElement: this.componentElementRef.nativeElement, + environmentInjector: this.injector + } + ); Object.assign(this.componentRef.instance, { - nodeId: this.component.nodeId, - componentId: this.component.id + nodeId: this.data.component.nodeId, + componentId: this.data.component.id, + tab: this.data.tab }); this.applicationRef.attachView(this.componentRef.hostView); } diff --git a/src/app/authoring-tool/edit-component-json/edit-component-json.component.html b/src/app/authoring-tool/edit-component-json/edit-component-json.component.html index 399fcc224d0..9a8ab1006a3 100644 --- a/src/app/authoring-tool/edit-component-json/edit-component-json.component.html +++ b/src/app/authoring-tool/edit-component-json/edit-component-json.component.html @@ -1,28 +1,19 @@ -
- JSON - -
-@if (showJSONAuthoring) { -
- Close the JSON view to save the changes - - Edit Activity JSON - - +
+
+ warning + + Editing the JSON directly is generally not recommended, as errors can break the unit. If you + need assistance, please contact WISE staff. +
-} + + Edit Activity JSON + + +
diff --git a/src/app/authoring-tool/edit-component-json/edit-component-json.component.ts b/src/app/authoring-tool/edit-component-json/edit-component-json.component.ts index 91af05c6b8e..cb629d507b5 100644 --- a/src/app/authoring-tool/edit-component-json/edit-component-json.component.ts +++ b/src/app/authoring-tool/edit-component-json/edit-component-json.component.ts @@ -23,16 +23,14 @@ import { MatButtonModule } from '@angular/material/button'; MatTooltipModule ], selector: 'edit-component-json', - styles: ['div { margin-top: 10px; margin-bottom: 10px; } .mat-icon { margin: 0px; }'], + styles: ['.mat-icon { margin: 0px; }'], templateUrl: 'edit-component-json.component.html' }) export class EditComponentJsonComponent { @Input() component: WISEComponent; protected componentContentJSONString: string; protected jsonChanged: Subject = new Subject(); - protected showJSONAuthoring: boolean = false; private subscriptions: Subscription = new Subscription(); - private validComponentContentJSONString: string; constructor( private notificationService: NotificationService, @@ -40,20 +38,11 @@ export class EditComponentJsonComponent { ) {} ngOnInit(): void { - this.setComponentContentJsonString(); - this.subscriptions.add( - this.jsonChanged.pipe(debounceTime(1000), distinctUntilChanged()).subscribe(() => { - if (this.isJSONValid()) { - this.rememberRecentValidJSON(); - this.notificationService.showJSONValidMessage(); - } else { - this.notificationService.showJSONInvalidMessage(); - } - }) - ); + this.componentContentJSONString = JSON.stringify(this.component.content, null, 4); this.subscriptions.add( - this.projectService.nodeChanged$.subscribe(() => { - this.setComponentContentJsonString(); + this.jsonChanged.pipe(debounceTime(1000), distinctUntilChanged()).subscribe((newText) => { + this.componentContentJSONString = newText; + this.saveChanges(); }) ); } @@ -62,55 +51,15 @@ export class EditComponentJsonComponent { this.subscriptions.unsubscribe(); } - private setComponentContentJsonString(): void { - this.componentContentJSONString = JSON.stringify(this.component.content, null, 4); - } - - protected toggleJSONView(): void { - if (this.showJSONAuthoring) { - if (this.isJSONValid()) { - this.saveChanges(); - this.showJSONAuthoring = false; - } else { - const doRollback = confirm( - $localize`The JSON is invalid. Invalid JSON will not be saved.\nClick "OK" to revert back to the last valid JSON.\nClick "Cancel" to keep the invalid JSON open so you can fix it.` - ); - if (doRollback) { - this.rollbackToRecentValidJSON(); - this.saveChanges(); - } - } - } else { - this.showJSONAuthoring = true; - this.rememberRecentValidJSON(); - } - } - - private isJSONValid(): boolean { - try { - JSON.parse(this.componentContentJSONString); - return true; - } catch (e) { - return false; - } - } - private saveChanges(): void { try { this.projectService .getNode(this.component.nodeId) .replaceComponent(this.component.id, JSON.parse(this.componentContentJSONString)); this.projectService.componentChanged(); + this.notificationService.showJSONValidMessage(); } catch (e) { this.notificationService.showJSONInvalidMessage(); } } - - private rememberRecentValidJSON(): void { - this.validComponentContentJSONString = this.componentContentJSONString; - } - - private rollbackToRecentValidJSON(): void { - this.componentContentJSONString = this.validComponentContentJSONString; - } } diff --git a/src/app/authoring-tool/edit-component-rubric/edit-component-rubric.component.html b/src/app/authoring-tool/edit-component-rubric/edit-component-rubric.component.html deleted file mode 100644 index 3a2b3769604..00000000000 --- a/src/app/authoring-tool/edit-component-rubric/edit-component-rubric.component.html +++ /dev/null @@ -1,21 +0,0 @@ -
- Rubric - -
-@if (showRubricAuthoring) { - -} diff --git a/src/app/authoring-tool/edit-component-rubric/edit-component-rubric.component.ts b/src/app/authoring-tool/edit-component-rubric/edit-component-rubric.component.ts index a2b667fb10c..12c0bafd13e 100644 --- a/src/app/authoring-tool/edit-component-rubric/edit-component-rubric.component.ts +++ b/src/app/authoring-tool/edit-component-rubric/edit-component-rubric.component.ts @@ -1,28 +1,18 @@ import { Component, Input } from '@angular/core'; import { TeacherProjectService } from '../../../assets/wise5/services/teacherProjectService'; -import { MatButtonModule } from '@angular/material/button'; -import { MatIconModule } from '@angular/material/icon'; import { TranslatableRichTextEditorComponent } from '../../../assets/wise5/authoringTool/components/translatable-rich-text-editor/translatable-rich-text-editor.component'; -import { MatTooltipModule } from '@angular/material/tooltip'; -import { MatFormFieldModule } from '@angular/material/form-field'; @Component({ - imports: [ - MatButtonModule, - MatFormFieldModule, - MatIconModule, - MatTooltipModule, - TranslatableRichTextEditorComponent - ], + imports: [TranslatableRichTextEditorComponent], selector: 'edit-component-rubric', - styles: [ - 'label { margin-right: 10px; } div { margin-bottom: 10px; } .mat-icon { margin: 0px; } ' - ], - templateUrl: 'edit-component-rubric.component.html' + template: `` }) export class EditComponentRubricComponent { @Input() componentContent: any; - protected showRubricAuthoring: boolean; constructor(private projectService: TeacherProjectService) {} diff --git a/src/app/authoring-tool/edit-component-summarizer-system-prompt/edit-component-summarizer-system-prompt.component.html b/src/app/authoring-tool/edit-component-summarizer-system-prompt/edit-component-summarizer-system-prompt.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/app/authoring-tool/edit-component-summarizer-system-prompt/edit-component-summarizer-system-prompt.component.ts b/src/app/authoring-tool/edit-component-summarizer-system-prompt/edit-component-summarizer-system-prompt.component.ts new file mode 100644 index 00000000000..43c02268678 --- /dev/null +++ b/src/app/authoring-tool/edit-component-summarizer-system-prompt/edit-component-summarizer-system-prompt.component.ts @@ -0,0 +1,21 @@ +import { Component } from '@angular/core'; +import { EditComponentFieldComponent } from '../edit-component-field.component'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { FormsModule } from '@angular/forms'; +import { MatInputModule } from '@angular/material/input'; +import { CdkTextareaAutosize } from '@angular/cdk/text-field'; + +@Component({ + imports: [CdkTextareaAutosize, FormsModule, MatFormFieldModule, MatInputModule], + selector: 'edit-component-summarizer-system-prompt', + template: ` + Teacher Summary System Prompt + + ` +}) +export class EditComponentSummarizerSystemPromptComponent extends EditComponentFieldComponent {} diff --git a/src/assets/wise5/authoringTool/components/edit-component-advanced-button/edit-component-advanced-button.component.ts b/src/assets/wise5/authoringTool/components/edit-component-advanced-button/edit-component-advanced-button.component.ts index ccb8afb1798..7ebf4b27ef2 100644 --- a/src/assets/wise5/authoringTool/components/edit-component-advanced-button/edit-component-advanced-button.component.ts +++ b/src/assets/wise5/authoringTool/components/edit-component-advanced-button/edit-component-advanced-button.component.ts @@ -20,7 +20,7 @@ export class EditComponentAdvancedButtonComponent { protected showComponentAdvancedAuthoring(): void { this.dialog.open(EditComponentAdvancedComponent, { - data: new WiseComponent(this.componentContent, this.nodeId), + data: { component: new WiseComponent(this.componentContent, this.nodeId), tab: 'general' }, width: '80%' }); } diff --git a/src/assets/wise5/authoringTool/components/visibility-constraint-icon/visibility-constraint-icon.component.ts b/src/assets/wise5/authoringTool/components/visibility-constraint-icon/visibility-constraint-icon.component.ts new file mode 100644 index 00000000000..02ecec71c9e --- /dev/null +++ b/src/assets/wise5/authoringTool/components/visibility-constraint-icon/visibility-constraint-icon.component.ts @@ -0,0 +1,36 @@ +import { Component, inject, Input } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; +import { MatDialog } from '@angular/material/dialog'; +import { MatIconModule } from '@angular/material/icon'; +import { MatTooltipModule } from '@angular/material/tooltip'; +import { EditComponentAdvancedComponent } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced.component'; +import { Component as WiseComponent } from '../../../common/Component'; +import { ComponentContent } from '../../../common/ComponentContent'; + +@Component({ + imports: [MatButtonModule, MatIconModule, MatTooltipModule], + selector: 'visibility-constraint-icon', + template: `` +}) +export class VisibilityConstraintIconComponent { + private dialog = inject(MatDialog); + + @Input() componentContent: ComponentContent; + @Input() nodeId: string; + + protected tooltip = $localize`This activity is displayed to the student when certain conditions are met. Click to view and edit the conditions.`; + + protected openVisibilityConstraintAuthoring(): void { + this.dialog.open(EditComponentAdvancedComponent, { + data: { component: new WiseComponent(this.componentContent, this.nodeId), tab: 'visibility' }, + width: '80%' + }); + } +} diff --git a/src/assets/wise5/authoringTool/node/node-authoring/node-authoring.component.html b/src/assets/wise5/authoringTool/node/node-authoring/node-authoring.component.html index cc525e6d327..16c656231ce 100644 --- a/src/assets/wise5/authoringTool/node/node-authoring/node-authoring.component.html +++ b/src/assets/wise5/authoringTool/node/node-authoring/node-authoring.component.html @@ -49,6 +49,9 @@ {{ i + 1 }}. {{ getComponentTypeLabel(component.type) }}
+ @if (hasVisibilityConstraint(component)) { + + }
@if (component.id === editingComponentId) { diff --git a/src/assets/wise5/authoringTool/node/node-authoring/node-authoring.component.ts b/src/assets/wise5/authoringTool/node/node-authoring/node-authoring.component.ts index ddd6902a24b..21972068b6e 100644 --- a/src/assets/wise5/authoringTool/node/node-authoring/node-authoring.component.ts +++ b/src/assets/wise5/authoringTool/node/node-authoring/node-authoring.component.ts @@ -27,6 +27,7 @@ import { ComponentAuthoringComponent } from '../../components/component-authorin import { RouterModule } from '@angular/router'; import { EditComponentAdvancedButtonComponent } from '../../components/edit-component-advanced-button/edit-component-advanced-button.component'; import { ToggleComponentTagComponent } from '../../components/toggle-component-tag/toggle-component-tag.component'; +import { VisibilityConstraintIconComponent } from '../../components/visibility-constraint-icon/visibility-constraint-icon.component'; @Component({ imports: [ @@ -47,7 +48,8 @@ import { ToggleComponentTagComponent } from '../../components/toggle-component-t MatTooltipModule, RouterModule, TeacherNodeIconComponent, - ToggleComponentTagComponent + ToggleComponentTagComponent, + VisibilityConstraintIconComponent ], styleUrl: './node-authoring.component.scss', templateUrl: './node-authoring.component.html' @@ -227,6 +229,10 @@ export class NodeAuthoringComponent implements OnInit { return this.componentTypeService.getComponentTypeLabel(componentType); } + protected hasVisibilityConstraint(component: ComponentContent): boolean { + return component.constraints?.length > 0; + } + private setShowSaveButtonForAllComponents(node: Node, showSaveButton: boolean): void { node.components .filter((component) => diff --git a/src/assets/wise5/common/ComponentContent.ts b/src/assets/wise5/common/ComponentContent.ts index 6273bb3663e..ea9795e1a05 100644 --- a/src/assets/wise5/common/ComponentContent.ts +++ b/src/assets/wise5/common/ComponentContent.ts @@ -4,6 +4,9 @@ import { DynamicPrompt } from '../directives/dynamic-prompt/DynamicPrompt'; export interface ComponentContent { id: string; + ai?: { + teacherSummarySystemPrompt?: string; + }; anonymizeResponses?: boolean; connectedComponents?: any[]; constraints?: any[]; diff --git a/src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.html b/src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.html index 75a935bc6aa..af402027901 100644 --- a/src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.html +++ b/src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.html @@ -1,19 +1,53 @@ - - Model - - @for (model of models; track model) { - {{ model }} - } - - -
- - - + + + + settings General + + + Model + + @for (model of models; track model) { + {{ model }} + } + + +
+ +
+ + + visibility Visibility + + + + + + join_inner Connections + + + + + + message Rubric + + + + + + + + sell Tags + + + + code JSON + + +
diff --git a/src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.spec.ts b/src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.spec.ts index aa84662ac04..3fb55dd1c6c 100644 --- a/src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.spec.ts +++ b/src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.spec.ts @@ -7,6 +7,7 @@ import { NotebookService } from '../../../services/notebookService'; import { EditConnectedComponentsComponent } from '../../../../../app/authoring-tool/edit-connected-components/edit-connected-components.component'; import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; import { EditComponentWidthComponent } from '../../../../../app/authoring-tool/edit-component-width/edit-component-width.component'; +import { ComponentServiceLookupService } from '../../../services/componentServiceLookupService'; describe('EditAiChatAdvancedComponent', () => { let component: EditAiChatAdvancedComponent; @@ -22,7 +23,14 @@ describe('EditAiChatAdvancedComponent', () => { EditConnectedComponentsComponent ) ], - providers: [MockProviders(NotebookService, TeacherNodeService, TeacherProjectService)] + providers: [ + MockProviders( + ComponentServiceLookupService, + NotebookService, + TeacherNodeService, + TeacherProjectService + ) + ] }); fixture = TestBed.createComponent(EditAiChatAdvancedComponent); component = fixture.componentInstance; @@ -31,6 +39,7 @@ describe('EditAiChatAdvancedComponent', () => { id: 'component1', type: 'aiChat' }); + spyOn(TestBed.inject(TeacherProjectService), 'getProject').and.returnValue({}); fixture.detectChanges(); }); diff --git a/src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.ts b/src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.ts index 5e25584c8c3..edde60a0e2f 100644 --- a/src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.ts +++ b/src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.ts @@ -1,22 +1,12 @@ import { Component } from '@angular/core'; -import { FormsModule } from '@angular/forms'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatSelectModule } from '@angular/material/select'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; -import { EditConnectedComponentsComponent } from '../../../../../app/authoring-tool/edit-connected-components/edit-connected-components.component'; import { AiChatContent } from '../AiChatContent'; -import { EditComponentWidthComponent } from '../../../../../app/authoring-tool/edit-component-width/edit-component-width.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - imports: [ - EditComponentJsonComponent, - EditComponentWidthComponent, - EditConnectedComponentsComponent, - FormsModule, - MatFormFieldModule, - MatSelectModule - ], + imports: [EditComponentAdvancedSharedModule, MatFormFieldModule, MatSelectModule], templateUrl: './edit-ai-chat-advanced.component.html' }) export class EditAiChatAdvancedComponent extends EditAdvancedComponentComponent { diff --git a/src/assets/wise5/components/animation/edit-animation-advanced/edit-animation-advanced.component.html b/src/assets/wise5/components/animation/edit-animation-advanced/edit-animation-advanced.component.html new file mode 100644 index 00000000000..6a62f5b32d5 --- /dev/null +++ b/src/assets/wise5/components/animation/edit-animation-advanced/edit-animation-advanced.component.html @@ -0,0 +1,54 @@ + + + + settings General + +
+ + + @if (component.content.showSubmitButton) { + + } + + + + +
+
+ + + visibility Visibility + + + + + + join_inner Connections + + + + + + message Rubric + + + + + + + + sell Tags + + + + code JSON + + +
diff --git a/src/assets/wise5/components/animation/edit-animation-advanced/edit-animation-advanced.component.ts b/src/assets/wise5/components/animation/edit-animation-advanced/edit-animation-advanced.component.ts index cdcede2f79b..c559ba68c85 100644 --- a/src/assets/wise5/components/animation/edit-animation-advanced/edit-animation-advanced.component.ts +++ b/src/assets/wise5/components/animation/edit-animation-advanced/edit-animation-advanced.component.ts @@ -1,13 +1,10 @@ import { Component } from '@angular/core'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditCommonAdvancedComponent } from '../../../../../app/authoring-tool/edit-common-advanced/edit-common-advanced.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - imports: [EditCommonAdvancedComponent], - template: ` ` + imports: [EditComponentAdvancedSharedModule], + templateUrl: './edit-animation-advanced.component.html' }) export class EditAnimationAdvancedComponent extends EditAdvancedComponentComponent { allowedConnectedComponentTypes = ['Animation', 'Graph']; diff --git a/src/assets/wise5/components/audioOscillator/edit-audio-oscillator-advanced/edit-audio-oscillator-advanced.component.html b/src/assets/wise5/components/audioOscillator/edit-audio-oscillator-advanced/edit-audio-oscillator-advanced.component.html new file mode 100644 index 00000000000..6a62f5b32d5 --- /dev/null +++ b/src/assets/wise5/components/audioOscillator/edit-audio-oscillator-advanced/edit-audio-oscillator-advanced.component.html @@ -0,0 +1,54 @@ + + + + settings General + +
+ + + @if (component.content.showSubmitButton) { + + } + + + + +
+
+ + + visibility Visibility + + + + + + join_inner Connections + + + + + + message Rubric + + + + + + + + sell Tags + + + + code JSON + + +
diff --git a/src/assets/wise5/components/audioOscillator/edit-audio-oscillator-advanced/edit-audio-oscillator-advanced.component.ts b/src/assets/wise5/components/audioOscillator/edit-audio-oscillator-advanced/edit-audio-oscillator-advanced.component.ts index 31f2f14f65c..eabd407910d 100644 --- a/src/assets/wise5/components/audioOscillator/edit-audio-oscillator-advanced/edit-audio-oscillator-advanced.component.ts +++ b/src/assets/wise5/components/audioOscillator/edit-audio-oscillator-advanced/edit-audio-oscillator-advanced.component.ts @@ -1,13 +1,10 @@ import { Component } from '@angular/core'; -import { EditCommonAdvancedComponent } from '../../../../../app/authoring-tool/edit-common-advanced/edit-common-advanced.component'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - imports: [EditCommonAdvancedComponent], - template: `` + imports: [EditComponentAdvancedSharedModule], + templateUrl: './edit-audio-oscillator-advanced.component.html' }) export class EditAudioOscillatorAdvancedComponent extends EditAdvancedComponentComponent { allowedConnectedComponentTypes = ['AudioOscillator']; diff --git a/src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html b/src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html index 27261d09002..75bce96a1d7 100644 --- a/src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html +++ b/src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html @@ -1,197 +1,247 @@ -
-
- - Show Auto Score - -
-
- - Show Auto Feedback - -
-
-
Rules
- -
- @for (rule of componentContent.rules; track rule; let ruleIndex = $index) { -
- - Rule Name - - -
- - Rule Type - - should contain - should not contain - - - - Comparison - - exactly - more than - less than - - - - Count - - + + + + settings General + +
+
+ + Show Auto Score +
-
- - Node - - - Any - @for (node of componentContent.nodes; track node) { - - {{ node.label }} - - } - - - - Link Connection - - with any or no link - with specific link - - - @if (rule.type === 'link') { - - Link - - - Any - @for (link of componentContent.links; track link) { - - {{ link.label }} - - } - - - to +
+ + Show Auto Feedback + +
+
+
Rules
+ +
+ @for (rule of componentContent.rules; track rule; let ruleIndex = $index) { +
- Node - - - Any - @for (node of componentContent.nodes; track node) { - - {{ node.label }} - - } - + Rule Name + - } -
-
-
- -
- @for (category of rule.categories; track customTrackBy; let categoryIndex = $index) { -
- - Category Name +
+ + Rule Type + + should contain + should not contain + + + + Comparison + + exactly + more than + less than + + + + Count +
+
+ + Node + + + Any + @for (node of componentContent.nodes; track node) { + + {{ node.label }} + + } + + + + Link Connection + + with any or no link + with specific link + + + @if (rule.type === 'link') { + + Link + + + Any + @for (link of componentContent.links; track link) { + + {{ link.label }} + + } + + + to + + Node + + + Any + @for (node of componentContent.nodes; track node) { + + {{ node.label }} + + } + + + } +
+
+
+ +
+ @for (category of rule.categories; track customTrackBy; let categoryIndex = $index) { +
+ + Category Name + + + +
+ } +
+
+ +
- } -
-
- - - +
+ } +
+ + Custom Rule Evaluator + +
+ @if (isNotebookEnabled()) { +
+ +
+ }
- } -
- - Custom Rule Evaluator - - -
- @if (isNotebookEnabled()) { -
- +
+ + + @if (component.content.showSubmitButton) { + + } + + + +
- } -
- + + + + visibility Visibility + + + + + + join_inner Connections + + + + + + message Rubric + + + + + + + + sell Tags + + + + code JSON + + + diff --git a/src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.spec.ts b/src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.spec.ts index 9b0a0c940c4..adc1646b8cd 100644 --- a/src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.spec.ts +++ b/src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.spec.ts @@ -26,6 +26,7 @@ describe('EditConceptMapAdvancedComponent', () => { spyOn(TestBed.inject(TeacherProjectService), 'getComponent').and.returnValue({ rules: [] } as ConceptMapContent); + spyOn(TestBed.inject(TeacherProjectService), 'getProject').and.returnValue({}); spyOn(TestBed.inject(NotebookService), 'isNotebookEnabled').and.returnValue(true); fixture = TestBed.createComponent(EditConceptMapAdvancedComponent); component = fixture.componentInstance; diff --git a/src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.ts b/src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.ts index 29e8e351aaa..e40dacf4eaf 100644 --- a/src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.ts +++ b/src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.ts @@ -1,32 +1,26 @@ import { Component } from '@angular/core'; -import { FormsModule } from '@angular/forms'; import { MatButton } from '@angular/material/button'; -import { MatCheckbox } from '@angular/material/checkbox'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatIcon } from '@angular/material/icon'; import { MatInput } from '@angular/material/input'; import { MatSelectModule } from '@angular/material/select'; import { MatTooltip } from '@angular/material/tooltip'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditCommonAdvancedComponent } from '../../../../../app/authoring-tool/edit-common-advanced/edit-common-advanced.component'; -import { EditComponentAddToNotebookButtonComponent } from '../../../../../app/authoring-tool/edit-component-add-to-notebook-button/edit-component-add-to-notebook-button.component'; import { ConceptMapContent } from '../ConceptMapContent'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - templateUrl: 'edit-concept-map-advanced.component.html', - styleUrl: 'edit-concept-map-advanced.component.scss', imports: [ - MatCheckbox, - FormsModule, + EditComponentAdvancedSharedModule, MatButton, MatIcon, MatFormFieldModule, MatInput, MatSelectModule, - MatTooltip, - EditComponentAddToNotebookButtonComponent, - EditCommonAdvancedComponent - ] + MatTooltip + ], + styleUrl: 'edit-concept-map-advanced.component.scss', + templateUrl: 'edit-concept-map-advanced.component.html' }) export class EditConceptMapAdvancedComponent extends EditAdvancedComponentComponent { componentContent: ConceptMapContent; diff --git a/src/assets/wise5/components/dialogGuidance/edit-dialog-guidance-advanced/edit-dialog-guidance-advanced.component.html b/src/assets/wise5/components/dialogGuidance/edit-dialog-guidance-advanced/edit-dialog-guidance-advanced.component.html new file mode 100644 index 00000000000..e8fc30f81da --- /dev/null +++ b/src/assets/wise5/components/dialogGuidance/edit-dialog-guidance-advanced/edit-dialog-guidance-advanced.component.html @@ -0,0 +1,46 @@ + + + + settings General + +
+ +
+
+ + + visibility Visibility + + + + + + join_inner Connections + + + + + + message Rubric + + + + + + + + sell Tags + + + + code JSON + + +
diff --git a/src/assets/wise5/components/dialogGuidance/edit-dialog-guidance-advanced/edit-dialog-guidance-advanced.component.ts b/src/assets/wise5/components/dialogGuidance/edit-dialog-guidance-advanced/edit-dialog-guidance-advanced.component.ts index c76214f2fb5..d304bf634d5 100644 --- a/src/assets/wise5/components/dialogGuidance/edit-dialog-guidance-advanced/edit-dialog-guidance-advanced.component.ts +++ b/src/assets/wise5/components/dialogGuidance/edit-dialog-guidance-advanced/edit-dialog-guidance-advanced.component.ts @@ -1,13 +1,11 @@ import { Component } from '@angular/core'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditComponentConstraintsComponent } from '../../../../../app/authoring-tool/edit-component-constraints/edit-component-constraints.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - imports: [EditComponentConstraintsComponent, EditComponentJsonComponent], - template: ` - - - ` + imports: [EditComponentAdvancedSharedModule], + templateUrl: './edit-dialog-guidance-advanced.component.html' }) -export class EditDialogGuidanceAdvancedComponent extends EditAdvancedComponentComponent {} +export class EditDialogGuidanceAdvancedComponent extends EditAdvancedComponentComponent { + allowedConnectedComponentTypes = []; +} diff --git a/src/assets/wise5/components/discussion/discussionService.ts b/src/assets/wise5/components/discussion/discussionService.ts index a4691ac14d0..2a7ed4abfae 100644 --- a/src/assets/wise5/components/discussion/discussionService.ts +++ b/src/assets/wise5/components/discussion/discussionService.ts @@ -27,6 +27,9 @@ export class DiscussionService extends ComponentService { component.isStudentAttachmentEnabled = true; component.gateClassmateResponses = true; component.anonymizeResponses = false; + component.ai = { + teacherSummarySystemPrompt: this.getDefaultTeacherSummarySystemPrompt() + }; return component; } @@ -335,4 +338,10 @@ export class DiscussionService extends ComponentService { col2: evenResponses.reverse() }; } + + getDefaultTeacherSummarySystemPrompt(): string { + return `You are a teacher who is summarizing students' discussion threads, which include posts and replies to the following question: "$QUESTION$". + Each thread is in the format: $RESPONSE_FORMAT$. + In the same language as the question, provide a summary of the threads in 100 words or less.`; + } } diff --git a/src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.html b/src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.html index 6de4c5cd0a1..bda549c17f3 100644 --- a/src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.html +++ b/src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.html @@ -1,17 +1,56 @@ -
- - - - - -
- - - + + + + settings General + +
+ + + +
+
+ + + visibility Visibility + + + + + + join_inner Connections + + + + @if (aiEnabled) { + + + auto_awesome AI + + + + } + + + message Rubric + + + + + + + + sell Tags + + + + code JSON + + +
diff --git a/src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.ts b/src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.ts index b879432e1fc..a1446dcf324 100644 --- a/src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.ts +++ b/src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.ts @@ -1,26 +1,11 @@ import { Component } from '@angular/core'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditComponentMaxScoreComponent } from '../../../../../app/authoring-tool/edit-component-max-score/edit-component-max-score.component'; -import { EditComponentExcludeFromTotalScoreComponent } from '../../../../../app/authoring-tool/edit-component-exclude-from-total-score/edit-component-exclude-from-total-score.component'; -import { EditComponentWidthComponent } from '../../../../../app/authoring-tool/edit-component-width/edit-component-width.component'; -import { EditComponentRubricComponent } from '../../../../../app/authoring-tool/edit-component-rubric/edit-component-rubric.component'; -import { EditComponentTagsComponent } from '../../../../../app/authoring-tool/edit-component-tags/edit-component-tags.component'; import { EditDiscussionConnectedComponentsComponent } from '../edit-discussion-connected-components/edit-discussion-connected-components.component'; -import { EditComponentConstraintsComponent } from '../../../../../app/authoring-tool/edit-component-constraints/edit-component-constraints.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - templateUrl: 'edit-discussion-advanced.component.html', - imports: [ - EditComponentMaxScoreComponent, - EditComponentExcludeFromTotalScoreComponent, - EditComponentWidthComponent, - EditComponentRubricComponent, - EditComponentTagsComponent, - EditDiscussionConnectedComponentsComponent, - EditComponentConstraintsComponent, - EditComponentJsonComponent - ] + imports: [EditComponentAdvancedSharedModule, EditDiscussionConnectedComponentsComponent], + templateUrl: './edit-discussion-advanced.component.html' }) export class EditDiscussionAdvancedComponent extends EditAdvancedComponentComponent { allowedConnectedComponentTypes = ['Discussion']; diff --git a/src/assets/wise5/components/draw/edit-draw-advanced/edit-draw-advanced.component.html b/src/assets/wise5/components/draw/edit-draw-advanced/edit-draw-advanced.component.html index 83f6806ce7b..e06a5a28b96 100644 --- a/src/assets/wise5/components/draw/edit-draw-advanced/edit-draw-advanced.component.html +++ b/src/assets/wise5/components/draw/edit-draw-advanced/edit-draw-advanced.component.html @@ -1,29 +1,60 @@ -@if (isNotebookEnabled()) { -
- -
-} - -
- -@if (componentContent.showSubmitButton) { - -} - -
- - - - - -
- - - + + + + settings General + + @if (isNotebookEnabled()) { +
+ +
+ } + +
+ + @if (componentContent.showSubmitButton) { + + } + +
+ + + +
+
+ + + visibility Visibility + + + + + + join_inner Connections + + + + + + message Rubric + + + + + + + + sell Tags + + + + code JSON + + +
diff --git a/src/assets/wise5/components/draw/edit-draw-advanced/edit-draw-advanced.component.ts b/src/assets/wise5/components/draw/edit-draw-advanced/edit-draw-advanced.component.ts index 6ba34c45030..5bdd066684e 100644 --- a/src/assets/wise5/components/draw/edit-draw-advanced/edit-draw-advanced.component.ts +++ b/src/assets/wise5/components/draw/edit-draw-advanced/edit-draw-advanced.component.ts @@ -1,36 +1,11 @@ import { Component } from '@angular/core'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditComponentDefaultFeedback } from '../../../../../app/authoring-tool/edit-advanced-component/edit-component-default-feedback/edit-component-default-feedback.component'; -import { EditComponentAddToNotebookButtonComponent } from '../../../../../app/authoring-tool/edit-component-add-to-notebook-button/edit-component-add-to-notebook-button.component'; -import { EditComponentConstraintsComponent } from '../../../../../app/authoring-tool/edit-component-constraints/edit-component-constraints.component'; -import { EditComponentExcludeFromTotalScoreComponent } from '../../../../../app/authoring-tool/edit-component-exclude-from-total-score/edit-component-exclude-from-total-score.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; -import { EditComponentMaxScoreComponent } from '../../../../../app/authoring-tool/edit-component-max-score/edit-component-max-score.component'; -import { EditComponentMaxSubmitComponent } from '../../../../../app/authoring-tool/edit-component-max-submit/edit-component-max-submit.component'; -import { EditComponentRubricComponent } from '../../../../../app/authoring-tool/edit-component-rubric/edit-component-rubric.component'; -import { EditComponentSaveButtonComponent } from '../../../../../app/authoring-tool/edit-component-save-button/edit-component-save-button.component'; -import { EditComponentSubmitButtonComponent } from '../../../../../app/authoring-tool/edit-component-submit-button/edit-component-submit-button.component'; -import { EditComponentTagsComponent } from '../../../../../app/authoring-tool/edit-component-tags/edit-component-tags.component'; -import { EditComponentWidthComponent } from '../../../../../app/authoring-tool/edit-component-width/edit-component-width.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; import { EditDrawConnectedComponentsComponent } from '../edit-draw-connected-components/edit-draw-connected-components.component'; @Component({ - templateUrl: 'edit-draw-advanced.component.html', - imports: [ - EditComponentAddToNotebookButtonComponent, - EditComponentSaveButtonComponent, - EditComponentSubmitButtonComponent, - EditComponentMaxSubmitComponent, - EditComponentDefaultFeedback, - EditComponentMaxScoreComponent, - EditComponentExcludeFromTotalScoreComponent, - EditComponentWidthComponent, - EditComponentRubricComponent, - EditComponentTagsComponent, - EditDrawConnectedComponentsComponent, - EditComponentConstraintsComponent, - EditComponentJsonComponent - ] + imports: [EditComponentAdvancedSharedModule, EditDrawConnectedComponentsComponent], + templateUrl: './edit-draw-advanced.component.html' }) export class EditDrawAdvancedComponent extends EditAdvancedComponentComponent { allowedConnectedComponentTypes = ['ConceptMap', 'Draw', 'Embedded', 'Graph', 'Label', 'Table']; diff --git a/src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.html b/src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.html index 3d9a32df8dd..1732659b66a 100644 --- a/src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.html +++ b/src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.html @@ -1,17 +1,67 @@ -
- - @if (isNotebookEnabled()) { - - } - -
+ + + + settings General + +
+ + @if (isNotebookEnabled()) { + + } +
+ + + @if (component.content.showSubmitButton) { + + } + + + + +
+
+
+ + + visibility Visibility + + + + + + join_inner Connections + + + + + + message Rubric + + + + + + + + sell Tags + + + + code JSON + + +
diff --git a/src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.ts b/src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.ts index cfe91d6556d..af55eb9cfbe 100644 --- a/src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.ts +++ b/src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.ts @@ -2,17 +2,12 @@ import { Component } from '@angular/core'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; import { EmbeddedContent } from '../EmbeddedContent'; import { TranslatableInputComponent } from '../../../authoringTool/components/translatable-input/translatable-input.component'; -import { EditComponentAddToNotebookButtonComponent } from '../../../../../app/authoring-tool/edit-component-add-to-notebook-button/edit-component-add-to-notebook-button.component'; -import { EditCommonAdvancedComponent } from '../../../../../app/authoring-tool/edit-common-advanced/edit-common-advanced.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - templateUrl: 'edit-embedded-advanced.component.html', + imports: [EditComponentAdvancedSharedModule, TranslatableInputComponent], styles: ['.model-parameters { width: 100%; }'], - imports: [ - TranslatableInputComponent, - EditComponentAddToNotebookButtonComponent, - EditCommonAdvancedComponent - ] + templateUrl: 'edit-embedded-advanced.component.html' }) export class EditEmbeddedAdvancedComponent extends EditAdvancedComponentComponent { allowedConnectedComponentTypes = [ diff --git a/src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html b/src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html index d8fd04bae11..0e5e95e4f02 100644 --- a/src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html +++ b/src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html @@ -1,213 +1,244 @@ -
- -
- - Show Mouse X Plot Line - -
-
- - Highlight X Range From Zero - -
-
- - Show Mouse Y Plot Line - -
-
- - Save Mouse Over Points - -
-
- - Hide Trial Select - -
-
- - Use Custom Legend - -
- @if (componentContent.useCustomLegend) { - - } -
- X Axis Plot Line - -
- @for ( - plotLine of componentContent.xAxis.plotLines; - track plotLine; - let xAxisPlotLineIndex = $index - ) { -
-
+ + + + settings General + +
+ +
+ + Show Mouse X Plot Line + +
+
+ + Highlight X Range From Zero + +
+
+ + Show Mouse Y Plot Line + +
+
+ + Save Mouse Over Points + +
+
+ + Hide Trial Select + +
+
+ + Use Custom Legend + +
+ @if (componentContent.useCustomLegend) { - - X Value - - - - Color - - + } +
+ X Axis Plot Line + +
+ @for ( + plotLine of componentContent.xAxis.plotLines; + track plotLine; + let xAxisPlotLineIndex = $index + ) {
- +
+ + + X Value + + + + Color + + +
+ +
+
+ } +
+ Y Axis Plot Line +
-
- } -
- Y Axis Plot Line - -
- @for ( - plotLine of componentContent.yAxis.plotLines; - track plotLine; - let yAxisPlotLineIndex = $index - ) { -
-
- - - Y Value - - - - Color - - + @for ( + plotLine of componentContent.yAxis.plotLines; + track plotLine; + let yAxisPlotLineIndex = $index + ) {
- +
+ + + Y Value + + + + Color + + +
+ +
+
-
+ }
- } -
-@if (isNotebookEnabled()) { -
- -
-} - -
- + @if (isNotebookEnabled()) { +
+ +
+ } + +
+ -@if (componentContent.showSubmitButton) { - -} - -
- - - - - -
- - - + @if (componentContent.showSubmitButton) { + + } + +
+ + + +
+ + + + visibility Visibility + + + + + + join_inner Connections + + + + + + message Rubric + + + + + + + + sell Tags + + + + code JSON + + + diff --git a/src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.spec.ts b/src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.spec.ts index c3d8be8f4c9..824fe1d9320 100644 --- a/src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.spec.ts +++ b/src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.spec.ts @@ -1,6 +1,5 @@ import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'; import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { EditCommonAdvancedComponent } from '../../../../../app/authoring-tool/edit-common-advanced/edit-common-advanced.component'; import { ProjectLocale } from '../../../../../app/domain/projectLocale'; import { StudentTeacherCommonServicesModule } from '../../../../../app/student-teacher-common-services.module'; import { NotebookService } from '../../../services/notebookService'; @@ -15,11 +14,7 @@ let fixture: ComponentFixture; describe('EditGraphAdvancedComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [ - EditGraphAdvancedComponent, - EditCommonAdvancedComponent, - StudentTeacherCommonServicesModule - ], + imports: [EditGraphAdvancedComponent, StudentTeacherCommonServicesModule], providers: [ TeacherNodeService, TeacherProjectService, @@ -35,6 +30,7 @@ describe('EditGraphAdvancedComponent', () => { xAxis: {}, yAxis: {} } as GraphContent); + spyOn(TestBed.inject(TeacherProjectService), 'getProject').and.returnValue({}); spyOn(projectService, 'getLocale').and.returnValue(new ProjectLocale({ default: 'en-US' })); spyOn(projectService, 'isDefaultLocale').and.returnValue(true); spyOn(TestBed.inject(NotebookService), 'isNotebookEnabled').and.returnValue(true); diff --git a/src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.ts b/src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.ts index b0ffc84eb3d..6a936b0df26 100644 --- a/src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.ts +++ b/src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.ts @@ -1,54 +1,26 @@ import { Component } from '@angular/core'; -import { FormsModule } from '@angular/forms'; import { MatButton } from '@angular/material/button'; -import { MatCheckbox } from '@angular/material/checkbox'; import { MatFormFieldModule } from '@angular/material/form-field'; -import { MatIcon } from '@angular/material/icon'; import { MatInput } from '@angular/material/input'; import { MatTooltip } from '@angular/material/tooltip'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditComponentDefaultFeedback } from '../../../../../app/authoring-tool/edit-advanced-component/edit-component-default-feedback/edit-component-default-feedback.component'; -import { EditComponentAddToNotebookButtonComponent } from '../../../../../app/authoring-tool/edit-component-add-to-notebook-button/edit-component-add-to-notebook-button.component'; -import { EditComponentConstraintsComponent } from '../../../../../app/authoring-tool/edit-component-constraints/edit-component-constraints.component'; -import { EditComponentExcludeFromTotalScoreComponent } from '../../../../../app/authoring-tool/edit-component-exclude-from-total-score/edit-component-exclude-from-total-score.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; -import { EditComponentMaxScoreComponent } from '../../../../../app/authoring-tool/edit-component-max-score/edit-component-max-score.component'; -import { EditComponentMaxSubmitComponent } from '../../../../../app/authoring-tool/edit-component-max-submit/edit-component-max-submit.component'; -import { EditComponentRubricComponent } from '../../../../../app/authoring-tool/edit-component-rubric/edit-component-rubric.component'; -import { EditComponentSaveButtonComponent } from '../../../../../app/authoring-tool/edit-component-save-button/edit-component-save-button.component'; -import { EditComponentSubmitButtonComponent } from '../../../../../app/authoring-tool/edit-component-submit-button/edit-component-submit-button.component'; -import { EditComponentTagsComponent } from '../../../../../app/authoring-tool/edit-component-tags/edit-component-tags.component'; -import { EditComponentWidthComponent } from '../../../../../app/authoring-tool/edit-component-width/edit-component-width.component'; import { TranslatableInputComponent } from '../../../authoringTool/components/translatable-input/translatable-input.component'; import { EditGraphConnectedComponentsComponent } from '../edit-graph-connected-components/edit-graph-connected-components.component'; import { GraphContent } from '../GraphContent'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - templateUrl: 'edit-graph-advanced.component.html', - styleUrl: 'edit-graph-advanced.component.scss', imports: [ - TranslatableInputComponent, - MatCheckbox, - FormsModule, + EditComponentAdvancedSharedModule, + EditGraphConnectedComponentsComponent, MatButton, - MatTooltip, - MatIcon, MatFormFieldModule, MatInput, - EditComponentAddToNotebookButtonComponent, - EditComponentSaveButtonComponent, - EditComponentSubmitButtonComponent, - EditComponentMaxSubmitComponent, - EditComponentDefaultFeedback, - EditComponentMaxScoreComponent, - EditComponentExcludeFromTotalScoreComponent, - EditComponentWidthComponent, - EditComponentRubricComponent, - EditComponentTagsComponent, - EditGraphConnectedComponentsComponent, - EditComponentConstraintsComponent, - EditComponentJsonComponent - ] + MatTooltip, + TranslatableInputComponent + ], + styleUrl: 'edit-graph-advanced.component.scss', + templateUrl: 'edit-graph-advanced.component.html' }) export class EditGraphAdvancedComponent extends EditAdvancedComponentComponent { allowedConnectedComponentTypes = [ diff --git a/src/assets/wise5/components/html/edit-html-advanced/edit-html-advanced.component.html b/src/assets/wise5/components/html/edit-html-advanced/edit-html-advanced.component.html new file mode 100644 index 00000000000..c7569c53368 --- /dev/null +++ b/src/assets/wise5/components/html/edit-html-advanced/edit-html-advanced.component.html @@ -0,0 +1,24 @@ + + + + settings General + + + + + + visibility Visibility + + + + + + message Rubric + + + + + code JSON + + + diff --git a/src/assets/wise5/components/html/edit-html-advanced/edit-html-advanced.component.ts b/src/assets/wise5/components/html/edit-html-advanced/edit-html-advanced.component.ts index 4dbf3a3b170..c7c23fc66c0 100644 --- a/src/assets/wise5/components/html/edit-html-advanced/edit-html-advanced.component.ts +++ b/src/assets/wise5/components/html/edit-html-advanced/edit-html-advanced.component.ts @@ -1,20 +1,9 @@ import { Component } from '@angular/core'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditComponentWidthComponent } from '../../../../../app/authoring-tool/edit-component-width/edit-component-width.component'; -import { EditComponentConstraintsComponent } from '../../../../../app/authoring-tool/edit-component-constraints/edit-component-constraints.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; -import { EditComponentRubricComponent } from '../../../../../app/authoring-tool/edit-component-rubric/edit-component-rubric.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - imports: [ - EditComponentConstraintsComponent, - EditComponentJsonComponent, - EditComponentRubricComponent, - EditComponentWidthComponent - ], - template: ` - - - ` + imports: [EditComponentAdvancedSharedModule], + templateUrl: './edit-html-advanced.component.html' }) export class EditHTMLAdvancedComponent extends EditAdvancedComponentComponent {} diff --git a/src/assets/wise5/components/label/edit-label-advanced/edit-label-advanced.component.html b/src/assets/wise5/components/label/edit-label-advanced/edit-label-advanced.component.html index 8e9c8ff7dbd..d5ad19fffac 100644 --- a/src/assets/wise5/components/label/edit-label-advanced/edit-label-advanced.component.html +++ b/src/assets/wise5/components/label/edit-label-advanced/edit-label-advanced.component.html @@ -1,29 +1,60 @@ -@if (isNotebookEnabled()) { -
- -
-} - -
- -@if (componentContent.showSubmitButton) { - -} - -
- - - - - -
- - - + + + + settings General + + @if (isNotebookEnabled()) { +
+ +
+ } + +
+ + @if (componentContent.showSubmitButton) { + + } + +
+ + + +
+
+ + + visibility Visibility + + + + + + join_inner Connections + + + + + + message Rubric + + + + + + + + sell Tags + + + + code JSON + + +
diff --git a/src/assets/wise5/components/label/edit-label-advanced/edit-label-advanced.component.ts b/src/assets/wise5/components/label/edit-label-advanced/edit-label-advanced.component.ts index 6978eb7a21c..f601511fc7f 100644 --- a/src/assets/wise5/components/label/edit-label-advanced/edit-label-advanced.component.ts +++ b/src/assets/wise5/components/label/edit-label-advanced/edit-label-advanced.component.ts @@ -1,36 +1,11 @@ import { Component } from '@angular/core'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditComponentAddToNotebookButtonComponent } from '../../../../../app/authoring-tool/edit-component-add-to-notebook-button/edit-component-add-to-notebook-button.component'; -import { EditComponentSaveButtonComponent } from '../../../../../app/authoring-tool/edit-component-save-button/edit-component-save-button.component'; -import { EditComponentSubmitButtonComponent } from '../../../../../app/authoring-tool/edit-component-submit-button/edit-component-submit-button.component'; -import { EditComponentMaxSubmitComponent } from '../../../../../app/authoring-tool/edit-component-max-submit/edit-component-max-submit.component'; -import { EditComponentDefaultFeedback } from '../../../../../app/authoring-tool/edit-advanced-component/edit-component-default-feedback/edit-component-default-feedback.component'; -import { EditComponentMaxScoreComponent } from '../../../../../app/authoring-tool/edit-component-max-score/edit-component-max-score.component'; -import { EditComponentExcludeFromTotalScoreComponent } from '../../../../../app/authoring-tool/edit-component-exclude-from-total-score/edit-component-exclude-from-total-score.component'; -import { EditComponentWidthComponent } from '../../../../../app/authoring-tool/edit-component-width/edit-component-width.component'; -import { EditComponentRubricComponent } from '../../../../../app/authoring-tool/edit-component-rubric/edit-component-rubric.component'; -import { EditComponentTagsComponent } from '../../../../../app/authoring-tool/edit-component-tags/edit-component-tags.component'; import { EditLabelConnectedComponentsComponent } from '../edit-label-connected-components/edit-label-connected-components.component'; -import { EditComponentConstraintsComponent } from '../../../../../app/authoring-tool/edit-component-constraints/edit-component-constraints.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - templateUrl: 'edit-label-advanced.component.html', - imports: [ - EditComponentAddToNotebookButtonComponent, - EditComponentSaveButtonComponent, - EditComponentSubmitButtonComponent, - EditComponentMaxSubmitComponent, - EditComponentDefaultFeedback, - EditComponentMaxScoreComponent, - EditComponentExcludeFromTotalScoreComponent, - EditComponentWidthComponent, - EditComponentRubricComponent, - EditComponentTagsComponent, - EditLabelConnectedComponentsComponent, - EditComponentConstraintsComponent, - EditComponentJsonComponent - ] + imports: [EditComponentAdvancedSharedModule, EditLabelConnectedComponentsComponent], + templateUrl: 'edit-label-advanced.component.html' }) export class EditLabelAdvancedComponent extends EditAdvancedComponentComponent { allowedConnectedComponentTypes = [ diff --git a/src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.html b/src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.html index b6303c6bbc5..c58f0874c7d 100644 --- a/src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.html +++ b/src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.html @@ -1,45 +1,76 @@ - - Student Can Create Choices - -
-@if (isNotebookEnabled()) { - - Show Private Notes As Choices - -} -
- -
- -@if (componentContent.showSubmitButton) { - -} - -
- - - - - -
- - - + + + + settings General + + + Student Can Create Choices + +
+ @if (isNotebookEnabled()) { + + Show Private Notes As Choices + +
+ } + +
+ + @if (componentContent.showSubmitButton) { + + } + +
+ + + +
+
+ + + visibility Visibility + + + + + + join_inner Connections + + + + + + message Rubric + + + + + + + + sell Tags + + + + code JSON + + +
diff --git a/src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.ts b/src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.ts index 5e28c4e98a3..9b50f73d409 100644 --- a/src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.ts +++ b/src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.ts @@ -1,40 +1,13 @@ import { Component } from '@angular/core'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; import { MatchContent } from '../MatchContent'; -import { MatCheckbox } from '@angular/material/checkbox'; -import { FormsModule } from '@angular/forms'; -import { EditComponentSaveButtonComponent } from '../../../../../app/authoring-tool/edit-component-save-button/edit-component-save-button.component'; -import { EditComponentSubmitButtonComponent } from '../../../../../app/authoring-tool/edit-component-submit-button/edit-component-submit-button.component'; -import { EditComponentMaxSubmitComponent } from '../../../../../app/authoring-tool/edit-component-max-submit/edit-component-max-submit.component'; -import { EditComponentDefaultFeedback } from '../../../../../app/authoring-tool/edit-advanced-component/edit-component-default-feedback/edit-component-default-feedback.component'; -import { EditComponentMaxScoreComponent } from '../../../../../app/authoring-tool/edit-component-max-score/edit-component-max-score.component'; -import { EditComponentExcludeFromTotalScoreComponent } from '../../../../../app/authoring-tool/edit-component-exclude-from-total-score/edit-component-exclude-from-total-score.component'; -import { EditComponentWidthComponent } from '../../../../../app/authoring-tool/edit-component-width/edit-component-width.component'; -import { EditComponentRubricComponent } from '../../../../../app/authoring-tool/edit-component-rubric/edit-component-rubric.component'; -import { EditComponentTagsComponent } from '../../../../../app/authoring-tool/edit-component-tags/edit-component-tags.component'; import { EditMatchConnectedComponentsComponent } from '../edit-match-connected-components/edit-match-connected-components.component'; -import { EditComponentConstraintsComponent } from '../../../../../app/authoring-tool/edit-component-constraints/edit-component-constraints.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - templateUrl: 'edit-match-advanced.component.html', + imports: [EditComponentAdvancedSharedModule, EditMatchConnectedComponentsComponent], styles: ['.checkbox { margin-top: 4px; margin-bottom: 4px; }'], - imports: [ - MatCheckbox, - FormsModule, - EditComponentSaveButtonComponent, - EditComponentSubmitButtonComponent, - EditComponentMaxSubmitComponent, - EditComponentDefaultFeedback, - EditComponentMaxScoreComponent, - EditComponentExcludeFromTotalScoreComponent, - EditComponentWidthComponent, - EditComponentRubricComponent, - EditComponentTagsComponent, - EditMatchConnectedComponentsComponent, - EditComponentConstraintsComponent, - EditComponentJsonComponent - ] + templateUrl: './edit-match-advanced.component.html' }) export class EditMatchAdvancedComponent extends EditAdvancedComponentComponent { allowedConnectedComponentTypes = ['DialogGuidance', 'Match']; diff --git a/src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.html b/src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.html index 591002240fe..255ea291d67 100644 --- a/src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.html +++ b/src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.html @@ -1,34 +1,65 @@ -
- - Show Feedback - -
- -
- -@if (componentContent.showSubmitButton) { - -} - -
- - - - - -
- - - + + + + settings General + +
+ + Show Feedback + +
+ +
+ + @if (componentContent.showSubmitButton) { + + } + +
+ + + +
+
+ + + visibility Visibility + + + + + + join_inner Connections + + + + + + message Rubric + + + + + + + + sell Tags + + + + code JSON + + +
diff --git a/src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.ts b/src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.ts index 5c98775c4c0..46b375cedab 100644 --- a/src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.ts +++ b/src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.ts @@ -1,40 +1,13 @@ import { Component } from '@angular/core'; -import { FormsModule } from '@angular/forms'; -import { MatCheckbox } from '@angular/material/checkbox'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditComponentDefaultFeedback } from '../../../../../app/authoring-tool/edit-advanced-component/edit-component-default-feedback/edit-component-default-feedback.component'; -import { EditComponentConstraintsComponent } from '../../../../../app/authoring-tool/edit-component-constraints/edit-component-constraints.component'; -import { EditComponentExcludeFromTotalScoreComponent } from '../../../../../app/authoring-tool/edit-component-exclude-from-total-score/edit-component-exclude-from-total-score.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; -import { EditComponentMaxScoreComponent } from '../../../../../app/authoring-tool/edit-component-max-score/edit-component-max-score.component'; -import { EditComponentMaxSubmitComponent } from '../../../../../app/authoring-tool/edit-component-max-submit/edit-component-max-submit.component'; -import { EditComponentRubricComponent } from '../../../../../app/authoring-tool/edit-component-rubric/edit-component-rubric.component'; -import { EditComponentSaveButtonComponent } from '../../../../../app/authoring-tool/edit-component-save-button/edit-component-save-button.component'; -import { EditComponentSubmitButtonComponent } from '../../../../../app/authoring-tool/edit-component-submit-button/edit-component-submit-button.component'; -import { EditComponentTagsComponent } from '../../../../../app/authoring-tool/edit-component-tags/edit-component-tags.component'; -import { EditComponentWidthComponent } from '../../../../../app/authoring-tool/edit-component-width/edit-component-width.component'; import { EditMultipleChoiceConnectedComponentsComponent } from '../edit-multiple-choice-connected-components/edit-multiple-choice-connected-components.component'; import { MultipleChoiceContent } from '../MultipleChoiceContent'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - templateUrl: 'edit-multiple-choice-advanced.component.html', + imports: [EditComponentAdvancedSharedModule, EditMultipleChoiceConnectedComponentsComponent], styles: ['.show-feedback-checkbox { margin-top: 4px; margin-bottom: 4px; }'], - imports: [ - MatCheckbox, - FormsModule, - EditComponentSaveButtonComponent, - EditComponentSubmitButtonComponent, - EditComponentMaxSubmitComponent, - EditComponentDefaultFeedback, - EditComponentMaxScoreComponent, - EditComponentExcludeFromTotalScoreComponent, - EditComponentWidthComponent, - EditComponentRubricComponent, - EditComponentTagsComponent, - EditMultipleChoiceConnectedComponentsComponent, - EditComponentConstraintsComponent, - EditComponentJsonComponent - ] + templateUrl: 'edit-multiple-choice-advanced.component.html' }) export class EditMultipleChoiceAdvancedComponent extends EditAdvancedComponentComponent { allowedConnectedComponentTypes = ['MultipleChoice']; diff --git a/src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html b/src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html index 086f1655389..8187ba507db 100644 --- a/src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html +++ b/src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html @@ -1,553 +1,618 @@ - -
- - Allow students to record audio response - -
-
- - Enable AI Model - -
-@if (componentContent.enableCRater) { - -
- - Score On - + + + settings General + + +
+ - Submit - Save - Change - - -
-
- - Show Score - -
- - Show Feedback - -
- - Enable Feedback Rules - - @if (componentContent.cRater.feedback?.enabled) { - + Allow students to record audio response + +
+ + @if (isNotebookEnabled()) { + +
} -
- @if ( - !componentContent.cRater.feedback?.enabled && componentContent.cRater.scoringRules.length > 0 - ) { -
- - @for ( - scoringRule of componentContent.cRater.scoringRules; - track $index; - let scoringRuleIndex = $index; - let isFirst = $first; - let isLast = $last - ) { -
- - Score - - - -
- - - -
-
+
+ + + @if (component.content.showSubmitButton) { + } + + + +
- } -
+ + + + visibility Visibility + + + + + + join_inner Connections + + + + + + auto_awesome AI + + @if (aiEnabled) { + + + }
- Enable Multiple Attempt Feedback + Enable AI Model
- @if (componentContent.cRater.enableMultipleAttemptScoringRules) { - - @for ( - multipleAttemptScoringRule of componentContent.cRater.multipleAttemptScoringRules; - track $index; - let multipleAttemptScoringRuleIndex = $index; - let isFirst = $first; - let isLast = $last - ) { -
- - Previous Score - - - - Current Score - - - -
- - - -
-
- } - } -
-
-
- Enable Notifications + Show Feedback -
- @if (componentContent.enableNotifications) { - - @for ( - notification of componentContent.notificationSettings.notifications; - track $index; - let notificationIndex = $index; - let isFirst = $first; - let isLast = $last + @if ( + !componentContent.cRater.feedback?.enabled && + componentContent.cRater.scoringRules.length > 0 ) { -
-
- - Previous Score - - - - Current Score - - -
-
- - - -
-
-
- + + @for ( + scoringRule of componentContent.cRater.scoringRules; + track $index; + let scoringRuleIndex = $index; + let isFirst = $first; + let isLast = $last + ) { +
+ + Score - } -
-
- - Notify Student - - @if (notification.isNotifyStudent) { - - } -
-
- - Notify Teacher - - @if (notification.isNotifyTeacher) { - } -
+
+ + + +
+
+ }
} - } -
-
- - Use Custom Completion Criteria - - @if (useCustomCompletionCriteria && componentContent.completionCriteria != null) { - - @for ( - criteria of componentContent.completionCriteria.criteria; - track $index; - let criteriaIndex = $index; - let isFirst = $first; - let isLast = $last - ) { -
- - Step - - @for (nodeId of nodeIds; track $index) { - @if (isApplicationNode(nodeId)) { - - {{ getNodePositionAndTitle(nodeId) }} - - } - } - - - - Activity - - @for ( - component of getComponents(criteria.nodeId); - let componentIndex = $index; - track component.id - ) { - - {{ componentIndex + 1 }}. {{ component.type }} - @if (component.id === componentId) { - (This activity) - } - - } - - - - Action - - Submit - Save - - -
-
+
+
+ + Enable Multiple Attempt Feedback + +
+ @if (componentContent.cRater.enableMultipleAttemptScoringRules) { + + @for ( + multipleAttemptScoringRule of componentContent.cRater.multipleAttemptScoringRules; + track $index; + let multipleAttemptScoringRuleIndex = $index; + let isFirst = $first; + let isLast = $last + ) { +
+ + Previous Score + + + + Current Score + + + +
+ + + +
+
+ } + } +
+
+
+ + Enable Notifications + +
+ @if (componentContent.enableNotifications) { + + @for ( + notification of componentContent.notificationSettings.notifications; + track $index; + let notificationIndex = $index; + let isFirst = $first; + let isLast = $last + ) { +
+
+ + Previous Score + + + + Current Score + + +
+
+ + + +
+
+
+ + Enable Ambient Display Dismiss Mode + + @if (notification.isAmbient) { + + Dismiss Code + + + } +
+
+ + Notify Student + + @if (notification.isNotifyStudent) { + + } +
+
+ + Notify Teacher + + @if (notification.isNotifyTeacher) { + + } +
+
+ } + } +
+
+ + Use Custom Completion Criteria + + @if (useCustomCompletionCriteria && componentContent.completionCriteria != null) { + -
- } - } -
-
- @if (componentContent.enableCRater) { - + @for ( + criteria of componentContent.completionCriteria.criteria; + track $index; + let criteriaIndex = $index; + let isFirst = $first; + let isLast = $last + ) { +
+ + Step + + @for (nodeId of nodeIds; track $index) { + @if (isApplicationNode(nodeId)) { + + {{ getNodePositionAndTitle(nodeId) }} + + } + } + + + + Activity + + @for ( + component of getComponents(criteria.nodeId); + let componentIndex = $index; + track component.id + ) { + + {{ componentIndex + 1 }}. {{ component.type }} + @if (component.id === componentId) { + (This activity) + } + + } + + + + Action + + Submit + Save + + +
+
+ + + +
+
+ } + } +
+
+ @if (componentContent.enableCRater) { + + } +
} -
-} -@if (isNotebookEnabled()) { - -
-} - + + + + message Rubric + + + + + + + + sell Tags + + + + code JSON + + + diff --git a/src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.spec.ts b/src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.spec.ts index 0da3e77baa2..56d9419fc11 100644 --- a/src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.spec.ts +++ b/src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.spec.ts @@ -1,7 +1,5 @@ -import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed'; import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'; import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { MatCheckboxHarness } from '@angular/material/checkbox/testing'; import { ProjectLocale } from '../../../../../app/domain/projectLocale'; import { StudentTeacherCommonServicesModule } from '../../../../../app/student-teacher-common-services.module'; import { ComponentContent } from '../../../common/ComponentContent'; @@ -33,6 +31,7 @@ describe('EditOpenResponseAdvancedComponent', () => { beforeEach(() => { const projectService = TestBed.inject(TeacherProjectService); spyOn(projectService, 'getComponent').and.returnValue({} as ComponentContent); + spyOn(TestBed.inject(TeacherProjectService), 'getProject').and.returnValue({}); spyOn(TestBed.inject(NotebookService), 'isNotebookEnabled').and.returnValue(true); spyOn(projectService, 'getFlattenedProjectAsNodeIds').and.returnValue([ 'node1', @@ -48,7 +47,6 @@ describe('EditOpenResponseAdvancedComponent', () => { fixture.detectChanges(); }); - enableCRaterClicked(); addScoringRule(); scoringRuleDeleteClicked(); addMultipleAttemptScoringRule(); @@ -63,19 +61,6 @@ describe('EditOpenResponseAdvancedComponent', () => { setFeedbackEnabled(); }); -function enableCRaterClicked() { - describe('enableCRaterClicked', () => { - it('should handle enable CRater clicked', async () => { - expect(component.componentContent.enableCRater).toBeFalsy(); - const loader = TestbedHarnessEnvironment.loader(fixture); - const checkboxes = await loader.getAllHarnesses(MatCheckboxHarness); - await checkboxes[1].check(); - expect(component.componentContent.enableCRater).toBeTruthy(); - expect(component.componentContent.cRater).toEqual(component.createCRaterObject()); - }); - }); -} - function addScoringRule() { describe('addScoringRule', () => { it('should add scoring rule', () => { diff --git a/src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.ts b/src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.ts index f61c973c81d..a00d710d9be 100644 --- a/src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.ts +++ b/src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.ts @@ -1,15 +1,10 @@ import { Component } from '@angular/core'; -import { FormsModule } from '@angular/forms'; import { MatButton } from '@angular/material/button'; -import { MatCheckbox } from '@angular/material/checkbox'; import { MatFormFieldModule } from '@angular/material/form-field'; -import { MatIcon } from '@angular/material/icon'; import { MatInput } from '@angular/material/input'; import { MatSelectModule } from '@angular/material/select'; import { MatTooltip } from '@angular/material/tooltip'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditCommonAdvancedComponent } from '../../../../../app/authoring-tool/edit-common-advanced/edit-common-advanced.component'; -import { EditComponentAddToNotebookButtonComponent } from '../../../../../app/authoring-tool/edit-component-add-to-notebook-button/edit-component-add-to-notebook-button.component'; import { TranslatableTextareaComponent } from '../../../authoringTool/components/translatable-textarea/translatable-textarea.component'; import { ComponentContent } from '../../../common/ComponentContent'; import { EditFeedbackRulesComponent } from '../../common/feedbackRule/edit-feedback-rules/edit-feedback-rules.component'; @@ -17,21 +12,18 @@ import { OpenResponseContent } from '../OpenResponseContent'; import { CRaterItemSelectComponent } from '../../common/cRater/crater-item-select/crater-item-select.component'; import { EditCRaterInfoComponent } from '../../common/cRater/edit-crater-info/edit-crater-info.component'; import { DEFAULT_IDEAS_SUMMARY_GROUPS } from '../../common/cRater/CRaterRubric'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ imports: [ + EditComponentAdvancedSharedModule, TranslatableTextareaComponent, - MatCheckbox, - FormsModule, MatFormFieldModule, MatInput, MatButton, MatSelectModule, EditFeedbackRulesComponent, MatTooltip, - MatIcon, - EditComponentAddToNotebookButtonComponent, - EditCommonAdvancedComponent, EditCRaterInfoComponent, CRaterItemSelectComponent ], diff --git a/src/assets/wise5/components/openResponse/openResponseService.ts b/src/assets/wise5/components/openResponse/openResponseService.ts index f44f0a37ca9..7c576e391c6 100644 --- a/src/assets/wise5/components/openResponse/openResponseService.ts +++ b/src/assets/wise5/components/openResponse/openResponseService.ts @@ -19,6 +19,9 @@ export class OpenResponseService extends ComponentService { component.type = 'OpenResponse'; component.starterSentence = null; component.isStudentAttachmentEnabled = false; + component.ai = { + teacherSummarySystemPrompt: this.getDefaultTeacherSummarySystemPrompt() + }; return component; } @@ -127,4 +130,10 @@ export class OpenResponseService extends ComponentService { } return false; } + + getDefaultTeacherSummarySystemPrompt(): string { + return `You are a teacher who is summarizing student responses to the following question: "$QUESTION$". + Each student response is in the format: $RESPONSE_FORMAT$. + In the same language as the question, provide a summary of the responses in 100 words or less.`; + } } diff --git a/src/assets/wise5/components/outsideURL/edit-outside-url-advanced/edit-outside-url-advanced.component.ts b/src/assets/wise5/components/outsideURL/edit-outside-url-advanced/edit-outside-url-advanced.component.ts index 597ae6a5490..e1fa8e2e4f4 100644 --- a/src/assets/wise5/components/outsideURL/edit-outside-url-advanced/edit-outside-url-advanced.component.ts +++ b/src/assets/wise5/components/outsideURL/edit-outside-url-advanced/edit-outside-url-advanced.component.ts @@ -1,20 +1,47 @@ import { Component } from '@angular/core'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditComponentWidthComponent } from '../../../../../app/authoring-tool/edit-component-width/edit-component-width.component'; -import { EditComponentRubricComponent } from '../../../../../app/authoring-tool/edit-component-rubric/edit-component-rubric.component'; -import { EditComponentConstraintsComponent } from '../../../../../app/authoring-tool/edit-component-constraints/edit-component-constraints.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - imports: [ - EditComponentWidthComponent, - EditComponentRubricComponent, - EditComponentConstraintsComponent, - EditComponentJsonComponent - ], - template: ` - - - ` + imports: [EditComponentAdvancedSharedModule], + template: ` + + + + settings General + +
+ +
+
+ + + visibility Visibility + + + + + + message Rubric + + + + + + + + + sell Tags + + + + + code JSON + + +
+ ` }) export class EditOutsideUrlAdvancedComponent extends EditAdvancedComponentComponent {} diff --git a/src/assets/wise5/components/peerChat/edit-peer-chat-advanced-component/edit-peer-chat-advanced-component.component.spec.ts b/src/assets/wise5/components/peerChat/edit-peer-chat-advanced-component/edit-peer-chat-advanced-component.component.spec.ts index bf3016c1d53..5094c9969ac 100644 --- a/src/assets/wise5/components/peerChat/edit-peer-chat-advanced-component/edit-peer-chat-advanced-component.component.spec.ts +++ b/src/assets/wise5/components/peerChat/edit-peer-chat-advanced-component/edit-peer-chat-advanced-component.component.spec.ts @@ -7,6 +7,7 @@ import { TeacherProjectService } from '../../../services/teacherProjectService'; import { PeerChatContent } from '../PeerChatContent'; import { EditPeerChatAdvancedComponentComponent } from './edit-peer-chat-advanced-component.component'; import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; +import { ComponentServiceLookupService } from '../../../services/componentServiceLookupService'; describe('EditPeerChatAdvancedComponentComponent', () => { let component: EditPeerChatAdvancedComponentComponent; @@ -16,7 +17,12 @@ describe('EditPeerChatAdvancedComponentComponent', () => { await TestBed.configureTestingModule({ imports: [EditPeerChatAdvancedComponentComponent, MockComponent(EditComponentJsonComponent)], providers: [ - MockProviders(TeacherNodeService, TeacherProjectService, NotebookService), + MockProviders( + ComponentServiceLookupService, + TeacherNodeService, + TeacherProjectService, + NotebookService + ), provideHttpClient(withInterceptorsFromDi()) ] }).compileComponents(); @@ -26,6 +32,7 @@ describe('EditPeerChatAdvancedComponentComponent', () => { spyOn(TestBed.inject(TeacherProjectService), 'getComponent').and.returnValue( {} as PeerChatContent ); + spyOn(TestBed.inject(TeacherProjectService), 'getProject').and.returnValue({}); fixture = TestBed.createComponent(EditPeerChatAdvancedComponentComponent); component = fixture.componentInstance; fixture.detectChanges(); diff --git a/src/assets/wise5/components/peerChat/edit-peer-chat-advanced-component/edit-peer-chat-advanced-component.component.ts b/src/assets/wise5/components/peerChat/edit-peer-chat-advanced-component/edit-peer-chat-advanced-component.component.ts index 4605a036289..2eb41fb7b8d 100644 --- a/src/assets/wise5/components/peerChat/edit-peer-chat-advanced-component/edit-peer-chat-advanced-component.component.ts +++ b/src/assets/wise5/components/peerChat/edit-peer-chat-advanced-component/edit-peer-chat-advanced-component.component.ts @@ -1,13 +1,39 @@ import { Component } from '@angular/core'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditComponentConstraintsComponent } from '../../../../../app/authoring-tool/edit-component-constraints/edit-component-constraints.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - imports: [EditComponentConstraintsComponent, EditComponentJsonComponent], + imports: [EditComponentAdvancedSharedModule], template: ` - - + + + + visibility Visibility + + + + + + message Rubric + + + + + + + + + sell Tags + + + + + code JSON + + + ` }) export class EditPeerChatAdvancedComponentComponent extends EditAdvancedComponentComponent {} diff --git a/src/assets/wise5/components/showGroupWork/edit-show-group-work-advanced/edit-show-group-work-advanced.component.ts b/src/assets/wise5/components/showGroupWork/edit-show-group-work-advanced/edit-show-group-work-advanced.component.ts index 1798a447abe..7d9b36e4469 100644 --- a/src/assets/wise5/components/showGroupWork/edit-show-group-work-advanced/edit-show-group-work-advanced.component.ts +++ b/src/assets/wise5/components/showGroupWork/edit-show-group-work-advanced/edit-show-group-work-advanced.component.ts @@ -1,13 +1,39 @@ import { Component } from '@angular/core'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditComponentConstraintsComponent } from '../../../../../app/authoring-tool/edit-component-constraints/edit-component-constraints.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - imports: [EditComponentConstraintsComponent, EditComponentJsonComponent], + imports: [EditComponentAdvancedSharedModule], template: ` - - + + + + visibility Visibility + + + + + + message Rubric + + + + + + + + + sell Tags + + + + + code JSON + + + ` }) export class EditShowGroupWorkAdvancedComponent extends EditAdvancedComponentComponent {} diff --git a/src/assets/wise5/components/showMyWork/edit-show-my-work-advanced/edit-show-my-work-advanced.component.ts b/src/assets/wise5/components/showMyWork/edit-show-my-work-advanced/edit-show-my-work-advanced.component.ts index d1929ba4ca2..6cb939fad14 100644 --- a/src/assets/wise5/components/showMyWork/edit-show-my-work-advanced/edit-show-my-work-advanced.component.ts +++ b/src/assets/wise5/components/showMyWork/edit-show-my-work-advanced/edit-show-my-work-advanced.component.ts @@ -1,13 +1,39 @@ import { Component } from '@angular/core'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditComponentConstraintsComponent } from '../../../../../app/authoring-tool/edit-component-constraints/edit-component-constraints.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - imports: [EditComponentConstraintsComponent, EditComponentJsonComponent], + imports: [EditComponentAdvancedSharedModule], template: ` - - + + + + visibility Visibility + + + + + + message Rubric + + + + + + + + + sell Tags + + + + + code JSON + + + ` }) export class EditShowMyWorkAdvancedComponent extends EditAdvancedComponentComponent {} diff --git a/src/assets/wise5/components/summary/edit-summary-advanced/edit-summary-advanced.component.ts b/src/assets/wise5/components/summary/edit-summary-advanced/edit-summary-advanced.component.ts index c136475b698..651f185ed43 100644 --- a/src/assets/wise5/components/summary/edit-summary-advanced/edit-summary-advanced.component.ts +++ b/src/assets/wise5/components/summary/edit-summary-advanced/edit-summary-advanced.component.ts @@ -1,27 +1,47 @@ import { Component } from '@angular/core'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditComponentWidthComponent } from '../../../../../app/authoring-tool/edit-component-width/edit-component-width.component'; -import { EditComponentRubricComponent } from '../../../../../app/authoring-tool/edit-component-rubric/edit-component-rubric.component'; -import { EditComponentTagsComponent } from '../../../../../app/authoring-tool/edit-component-tags/edit-component-tags.component'; -import { EditComponentConstraintsComponent } from '../../../../../app/authoring-tool/edit-component-constraints/edit-component-constraints.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - imports: [ - EditComponentWidthComponent, - EditComponentRubricComponent, - EditComponentTagsComponent, - EditComponentConstraintsComponent, - EditComponentJsonComponent - ], + imports: [EditComponentAdvancedSharedModule], template: ` -
- - - - - -
+ + + + settings General + +
+ +
+
+ + + visibility Visibility + + + + + + message Rubric + + + + + + + + + sell Tags + + + + + code JSON + + +
` }) export class EditSummaryAdvancedComponent extends EditAdvancedComponentComponent {} diff --git a/src/assets/wise5/components/summary/summary-student/summary-student.component.ts b/src/assets/wise5/components/summary/summary-student/summary-student.component.ts index 4afe3db2405..f47c0877d90 100644 --- a/src/assets/wise5/components/summary/summary-student/summary-student.component.ts +++ b/src/assets/wise5/components/summary/summary-student/summary-student.component.ts @@ -72,11 +72,11 @@ export class SummaryStudent extends ComponentStudent { } this.isStudent = this.configService.isPreview() || this.configService.isStudentRun(); if (this.isStudent) { - this.otherStepTitle = this.getOtherStepTitle(); this.isShowDisplay = this.calculateIsShowDisplay(); } else { - this.isShowDisplay = true; + this.isShowDisplay = !this.configService.isAuthoring(); } + this.otherStepTitle = this.getOtherStepTitle(); if (!this.isShowDisplay) { this.warningMessage = this.getWarningMessage(); } diff --git a/src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html b/src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html index 39f5605f11d..083778cbebf 100644 --- a/src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html +++ b/src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html @@ -1,279 +1,310 @@ -
-
- - Enable Data Explorer - -
- @if (componentContent.isDataExplorerEnabled) { -
-
- Allowed Graph Types: - - Scatter Plot - - - Line Graph - + + + + settings General + +
+
- Bar Graph + Enable Data Explorer
- @if (isDataExplorerScatterPlotEnabled) { -
- - Show Scatter Plot Regression Line - -
- } -
- - Number of Series - - -
-
- - Number of Y Axes - - -
- @if (componentContent.numDataExplorerYAxis > 1) { + @if (componentContent.isDataExplorerEnabled) {
- Choose the Y Axis for each Series - @for ( - s of [].constructor(componentContent.numDataExplorerSeries); - track s; - let seriesIndex = $index - ) { +
+ Allowed Graph Types: + + Scatter Plot + + + Line Graph + + + Bar Graph + +
+ @if (isDataExplorerScatterPlotEnabled) {
+ + Show Scatter Plot Regression Line + +
+ } +
+ + Number of Series + + +
+
+ + Number of Y Axes + + +
+ @if (componentContent.numDataExplorerYAxis > 1) { +
+ Choose the Y Axis for each Series + @for ( + s of [].constructor(componentContent.numDataExplorerSeries); + track s; + let seriesIndex = $index + ) { +
+ + Series {{ seriesIndex + 1 }} + + @for ( + y of [].constructor(componentContent.numDataExplorerYAxis); + track y; + let yAxisIndex = $index + ) { + + Y Axis {{ yAxisIndex + 1 }} + + } + + +
+ } +
+ } +
+ + Can Student Edit Axis Labels + +
+
+
+ Fix Data to Table Column + + help + +
+ + X Data + + (Allow student to select) + @for (columnName of columnNames; track columnName; let columnIndex = $index) { + + @if (columnName === '') { + (Table Column {{ columnIndex + 1 }}) + } + @if (columnName !== '') { + {{ columnName }} + } + + } + + + @for ( + y of [].constructor(componentContent.numDataExplorerSeries); + track y; + let dataExplorerSeriesIndex = $index + ) { - Series {{ seriesIndex + 1 }} + Y Data + {{ + componentContent.numDataExplorerSeries > 1 ? dataExplorerSeriesIndex + 1 : '' + }} - @for ( - y of [].constructor(componentContent.numDataExplorerYAxis); - track y; - let yAxisIndex = $index - ) { - - Y Axis {{ yAxisIndex + 1 }} + (Allow student to select) + @for (columnName of columnNames; track columnName; let columnIndex = $index) { + + @if (columnName === '') { + (Table Column {{ columnIndex + 1 }}) + } + @if (columnName !== '') { + {{ columnName }} + } } -
- } + } +
+
+ + Tooltip Header Column + + (Default) + @for (columnName of columnNames; track columnName; let columnIndex = $index) { + + @if (columnName === '') { + (Table Column {{ columnIndex + 1 }}) + } + @if (columnName !== '') { + {{ columnName }} + } + + } + + + + help + +
} +
+
+ + + help + + @if (isImportingTable) { + + + } +
{{ importTableMessage }}
+
+ @if (isNotebookEnabled()) {
- - Can Student Edit Axis Labels - -
-
-
- Fix Data to Table Column - - help - -
- - X Data - - (Allow student to select) - @for (columnName of columnNames; track columnName; let columnIndex = $index) { - - @if (columnName === '') { - (Table Column {{ columnIndex + 1 }}) - } - @if (columnName !== '') { - {{ columnName }} - } - - } - - - @for ( - y of [].constructor(componentContent.numDataExplorerSeries); - track y; - let dataExplorerSeriesIndex = $index - ) { - - Y Data - {{ - componentContent.numDataExplorerSeries > 1 ? dataExplorerSeriesIndex + 1 : '' - }} - - (Allow student to select) - @for (columnName of columnNames; track columnName; let columnIndex = $index) { - - @if (columnName === '') { - (Table Column {{ columnIndex + 1 }}) - } - @if (columnName !== '') { - {{ columnName }} - } - - } - - - } -
-
- - Tooltip Header Column - - (Default) - @for (columnName of columnNames; track columnName; let columnIndex = $index) { - - @if (columnName === '') { - (Table Column {{ columnIndex + 1 }}) - } - @if (columnName !== '') { - {{ columnName }} - } - - } - - - - help - +
+ } + +
+ +
+ + Enable Row Selection + +
+ @if (componentContent.showSubmitButton) { + + } + +
+ + +
- } -
-
- - - help - - @if (isImportingTable) { - - - } -
{{ importTableMessage }}
-
-@if (isNotebookEnabled()) { -
- -
-} - -
- -
- - Enable Row Selection - -
-@if (componentContent.showSubmitButton) { - -} - -
- - - - - -
- - - + + + + message Rubric + + + + + + + + sell Tags + + + + code JSON + + + diff --git a/src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.spec.ts b/src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.spec.ts index 4f653192c81..a45e0627cc0 100644 --- a/src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.spec.ts +++ b/src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.spec.ts @@ -30,6 +30,7 @@ describe('EditTableAdvancedComponent', () => { beforeEach(() => { spyOn(TestBed.inject(TeacherProjectService), 'getComponent').and.returnValue(createComponent()); + spyOn(TestBed.inject(TeacherProjectService), 'getProject').and.returnValue({}); spyOn(TestBed.inject(NotebookService), 'isNotebookEnabled').and.returnValue(true); spyOn(TestBed.inject(TeacherProjectService), 'getFlattenedProjectAsNodeIds').and.returnValue([ 'node1', diff --git a/src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.ts b/src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.ts index 301550db088..2ab247a8c7c 100644 --- a/src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.ts +++ b/src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.ts @@ -1,57 +1,29 @@ import { Component } from '@angular/core'; -import { FormsModule } from '@angular/forms'; import { MatButton } from '@angular/material/button'; -import { MatCheckbox } from '@angular/material/checkbox'; import { MatFormFieldModule } from '@angular/material/form-field'; -import { MatIcon } from '@angular/material/icon'; import { MatInput } from '@angular/material/input'; import { MatProgressSpinner } from '@angular/material/progress-spinner'; import { MatSelectModule } from '@angular/material/select'; import { MatTooltip } from '@angular/material/tooltip'; import { EditAdvancedComponentComponent } from '../../../../../app/authoring-tool/edit-advanced-component/edit-advanced-component.component'; -import { EditComponentDefaultFeedback } from '../../../../../app/authoring-tool/edit-advanced-component/edit-component-default-feedback/edit-component-default-feedback.component'; -import { EditComponentAddToNotebookButtonComponent } from '../../../../../app/authoring-tool/edit-component-add-to-notebook-button/edit-component-add-to-notebook-button.component'; -import { EditComponentConstraintsComponent } from '../../../../../app/authoring-tool/edit-component-constraints/edit-component-constraints.component'; -import { EditComponentExcludeFromTotalScoreComponent } from '../../../../../app/authoring-tool/edit-component-exclude-from-total-score/edit-component-exclude-from-total-score.component'; -import { EditComponentJsonComponent } from '../../../../../app/authoring-tool/edit-component-json/edit-component-json.component'; -import { EditComponentMaxScoreComponent } from '../../../../../app/authoring-tool/edit-component-max-score/edit-component-max-score.component'; -import { EditComponentMaxSubmitComponent } from '../../../../../app/authoring-tool/edit-component-max-submit/edit-component-max-submit.component'; -import { EditComponentRubricComponent } from '../../../../../app/authoring-tool/edit-component-rubric/edit-component-rubric.component'; -import { EditComponentSaveButtonComponent } from '../../../../../app/authoring-tool/edit-component-save-button/edit-component-save-button.component'; -import { EditComponentSubmitButtonComponent } from '../../../../../app/authoring-tool/edit-component-submit-button/edit-component-submit-button.component'; -import { EditComponentTagsComponent } from '../../../../../app/authoring-tool/edit-component-tags/edit-component-tags.component'; -import { EditComponentWidthComponent } from '../../../../../app/authoring-tool/edit-component-width/edit-component-width.component'; import { CSVToArray } from '../../../common/array/array'; import { EditTableConnectedComponentsComponent } from '../edit-table-connected-components/edit-table-connected-components.component'; import { TableContent } from '../TableContent'; +import { EditComponentAdvancedSharedModule } from '../../../../../app/authoring-tool/edit-component-advanced/edit-component-advanced-shared.module'; @Component({ - templateUrl: 'edit-table-advanced.component.html', - styleUrl: 'edit-table-advanced.component.scss', imports: [ - MatCheckbox, - FormsModule, + EditComponentAdvancedSharedModule, + EditTableConnectedComponentsComponent, + MatButton, MatFormFieldModule, MatInput, - MatSelectModule, - MatIcon, - MatTooltip, - MatButton, MatProgressSpinner, - EditComponentAddToNotebookButtonComponent, - EditComponentSaveButtonComponent, - EditComponentSubmitButtonComponent, - EditComponentMaxSubmitComponent, - EditComponentDefaultFeedback, - EditComponentMaxScoreComponent, - EditComponentExcludeFromTotalScoreComponent, - EditComponentWidthComponent, - EditComponentRubricComponent, - EditComponentTagsComponent, - EditTableConnectedComponentsComponent, - EditComponentConstraintsComponent, - EditComponentJsonComponent - ] + MatSelectModule, + MatTooltip + ], + styleUrl: 'edit-table-advanced.component.scss', + templateUrl: 'edit-table-advanced.component.html' }) export class EditTableAdvancedComponent extends EditAdvancedComponentComponent { MAX_ALLOWED_CELLS_IN_IMPORT = 2000; diff --git a/src/assets/wise5/directives/teacher-summary-display/ai-summary/ai-summary.component.ts b/src/assets/wise5/directives/teacher-summary-display/ai-summary/ai-summary.component.ts index 12916ebcf82..666cd099779 100644 --- a/src/assets/wise5/directives/teacher-summary-display/ai-summary/ai-summary.component.ts +++ b/src/assets/wise5/directives/teacher-summary-display/ai-summary/ai-summary.component.ts @@ -10,6 +10,7 @@ import { DatePipe } from '@angular/common'; import { TeacherProjectService } from '../../../services/teacherProjectService'; import { ChatService } from '../../../../../app/services/chat/chat.service'; import { OpenAiChatService } from '../../../../../app/services/chat/openAiChat.service'; +import { ComponentContent } from '../../../common/ComponentContent'; /** * Abstract base class for components that use an LLM to summarize student responses. @@ -25,6 +26,7 @@ export abstract class AiSummaryComponent { @Input() periodId: number; private chatService: ChatService = inject(OpenAiChatService); + private component: ComponentContent; protected dataService: TeacherDataService = inject(TeacherDataService); protected datePipe: DatePipe = inject(DatePipe); private localStorageService: LocalStorageService = inject(LocalStorageService); @@ -38,6 +40,7 @@ export abstract class AiSummaryComponent { protected summaryDate: Date; ngOnInit(): void { + this.component = this.projectService.getComponent(this.nodeId, this.componentId); this.latestComponentStates = this.getLatestComponentStates(); this.hasStudentResponses = this.latestComponentStates.length > 0; if (this.hasStudentResponses) { @@ -64,9 +67,8 @@ export abstract class AiSummaryComponent { protected async generateSummary(): Promise { this.generatingSummary = true; - const prompt = this.projectService.getComponent(this.nodeId, this.componentId).prompt; this.summary = await this.chatService.sendMessage([ - new ChatMessage('system', this.getSystemPrompt(prompt), this.nodeId), + new ChatMessage('system', this.getSystemPrompt(this.component.prompt), this.nodeId), new ChatMessage('user', this.getStudentResponses(), this.nodeId) ]); this.localStorageService.setItem(this.getSummaryKey(), this.summary); @@ -79,7 +81,17 @@ export abstract class AiSummaryComponent { protected abstract getStudentResponses(): string; - protected abstract getSystemPrompt(prompt: string): string; + protected getSystemPrompt(prompt: string): string { + const systemPrompt = + this.component.ai?.teacherSummarySystemPrompt ?? this.getDefaultSystemPrompt(); + return systemPrompt + .replace('$QUESTION$', prompt) + .replace('$RESPONSE_FORMAT$', this.getResponseFormat()); + } + + protected abstract getResponseFormat(): string; + + protected abstract getDefaultSystemPrompt(): string; private getSummaryKey(): string { return `component-summary-${this.periodId}-${this.nodeId}-${this.componentId}`; diff --git a/src/assets/wise5/directives/teacher-summary-display/discussion-ai-summary/discussion-ai-summary.component.ts b/src/assets/wise5/directives/teacher-summary-display/discussion-ai-summary/discussion-ai-summary.component.ts index c3727aef2f2..14ce5adb2f7 100644 --- a/src/assets/wise5/directives/teacher-summary-display/discussion-ai-summary/discussion-ai-summary.component.ts +++ b/src/assets/wise5/directives/teacher-summary-display/discussion-ai-summary/discussion-ai-summary.component.ts @@ -1,11 +1,12 @@ import { DatePipe } from '@angular/common'; -import { Component } from '@angular/core'; +import { Component, inject } from '@angular/core'; import { MatButton } from '@angular/material/button'; import { MatIcon } from '@angular/material/icon'; import { MatProgressSpinner } from '@angular/material/progress-spinner'; import { MatTooltipModule } from '@angular/material/tooltip'; import { MarkdownComponent } from 'ngx-markdown'; import { AiSummaryComponent } from '../ai-summary/ai-summary.component'; +import { DiscussionService } from '../../../components/discussion/discussionService'; interface Thread { id: number; @@ -23,10 +24,14 @@ interface Thread { templateUrl: '../ai-summary/ai-summary.component.html' }) export class DiscussionAiSummaryComponent extends AiSummaryComponent { - protected getSystemPrompt(prompt: string): string { - return `You are a teacher who is summarizing students' discussion threads, which include posts and replies to the following question: "${prompt}". - Each thread is in the format: PostReply 1Reply 2. - In the same language as the question, provide a summary of the threads in 100 words or less.`; + private discussionService = inject(DiscussionService); + + protected getDefaultSystemPrompt(): string { + return this.discussionService.getDefaultTeacherSummarySystemPrompt(); + } + + protected getResponseFormat(): string { + return 'PostReply 1Reply 2'; } protected getStudentResponses(): string { diff --git a/src/assets/wise5/directives/teacher-summary-display/open-response-ai-summary/open-response-ai-summary.component.spec.ts b/src/assets/wise5/directives/teacher-summary-display/open-response-ai-summary/open-response-ai-summary.component.spec.ts index 7bbffdebf0d..d905d404af8 100644 --- a/src/assets/wise5/directives/teacher-summary-display/open-response-ai-summary/open-response-ai-summary.component.spec.ts +++ b/src/assets/wise5/directives/teacher-summary-display/open-response-ai-summary/open-response-ai-summary.component.spec.ts @@ -15,6 +15,7 @@ import { MarkdownComponent, MarkdownService } from 'ngx-markdown'; import { TeacherProjectService } from '../../../services/teacherProjectService'; import { ChatService } from '../../../../../app/services/chat/chat.service'; import { OpenAiChatService } from '../../../../../app/services/chat/openAiChat.service'; +import { OpenResponseService } from '../../../components/openResponse/openResponseService'; describe('OpenResponseAiSummaryComponent', () => { let component: OpenResponseAiSummaryComponent; @@ -38,6 +39,7 @@ describe('OpenResponseAiSummaryComponent', () => { LocalStorageService, MarkdownService, OpenAiChatService, + OpenResponseService, TeacherProjectService, SummaryService, TeacherDataService @@ -53,7 +55,10 @@ describe('OpenResponseAiSummaryComponent', () => { spyOn(projectService, 'getComponent').and.returnValue({ id: 'component1', type: 'OpenResponse', - prompt: 'What is your opinion on climate change?' + prompt: 'What is your opinion on climate change?', + ai: { + teacherSummarySystemPrompt: 'You are a teacher summarizing student responses.' + } } as any); fixture = TestBed.createComponent(OpenResponseAiSummaryComponent); @@ -172,7 +177,7 @@ describe('OpenResponseAiSummaryComponent', () => { await component['generateSummary'](); const messages = sendMessageSpy.calls.mostRecent().args[0]; expect(messages[0].role).toBe('system'); - expect(messages[0].content).toContain('What is your opinion on climate change?'); + expect(messages[0].content).toContain('You are a teacher summarizing student responses.'); }); it('should call chatService with student responses', async () => { diff --git a/src/assets/wise5/directives/teacher-summary-display/open-response-ai-summary/open-response-ai-summary.component.ts b/src/assets/wise5/directives/teacher-summary-display/open-response-ai-summary/open-response-ai-summary.component.ts index 6953cf4b80e..4758e457c57 100644 --- a/src/assets/wise5/directives/teacher-summary-display/open-response-ai-summary/open-response-ai-summary.component.ts +++ b/src/assets/wise5/directives/teacher-summary-display/open-response-ai-summary/open-response-ai-summary.component.ts @@ -1,11 +1,12 @@ import { DatePipe } from '@angular/common'; -import { Component } from '@angular/core'; +import { Component, inject } from '@angular/core'; import { MatButton } from '@angular/material/button'; import { MatIcon } from '@angular/material/icon'; import { MatProgressSpinner } from '@angular/material/progress-spinner'; import { MatTooltipModule } from '@angular/material/tooltip'; import { MarkdownComponent } from 'ngx-markdown'; import { AiSummaryComponent } from '../ai-summary/ai-summary.component'; +import { OpenResponseService } from '../../../components/openResponse/openResponseService'; /** * Uses an LLM to summarize students' responses to open response questions. @@ -17,10 +18,14 @@ import { AiSummaryComponent } from '../ai-summary/ai-summary.component'; templateUrl: '../ai-summary/ai-summary.component.html' }) export class OpenResponseAiSummaryComponent extends AiSummaryComponent { - protected getSystemPrompt(prompt: string): string { - return `You are a teacher who is summarizing student responses to the following question: "${prompt}". - Each student response is in the format: Response. - In the same language as the question, provide a summary of the responses in 100 words or less.`; + private openResponseService = inject(OpenResponseService); + + protected getDefaultSystemPrompt(): string { + return this.openResponseService.getDefaultTeacherSummarySystemPrompt(); + } + + protected getResponseFormat(): string { + return 'Response'; } protected getStudentResponses(): string { diff --git a/src/messages.xlf b/src/messages.xlf index cacb0a16381..a2ad89311e1 100644 --- a/src/messages.xlf +++ b/src/messages.xlf @@ -625,7 +625,7 @@ src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 144,146 + 149,151 src/assets/wise5/components/draw/draw-authoring/draw-authoring.component.html @@ -680,7 +680,7 @@ src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 154,157 + 159,162 src/assets/wise5/components/graph/graph-authoring/graph-authoring.component.html @@ -755,7 +755,7 @@ src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 166,168 + 171,173 src/assets/wise5/components/draw/draw-authoring/draw-authoring.component.html @@ -767,11 +767,11 @@ src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 123,125 + 128,129 src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 174,176 + 179,180 src/assets/wise5/components/graph/graph-authoring/graph-authoring.component.html @@ -828,26 +828,18 @@ 16,19 - - Advanced Settings + + Advanced Activity Settings src/app/authoring-tool/edit-component-advanced/edit-component-advanced.component.html - 1,5 - - - src/assets/wise5/authoringTool/authoring-tool.component.ts - 105 - - - src/assets/wise5/authoringTool/components/shared/authoring-tool-bar/authoring-tool-bar.component.ts - 71 + 2,5 Close src/app/authoring-tool/edit-component-advanced/edit-component-advanced.component.html - 9,12 + 10,14 src/assets/wise5/themes/default/notebook/edit-notebook-item-dialog/edit-notebook-item-dialog.component.html @@ -901,53 +893,22 @@ 16,19 - - JSON + + Editing the JSON directly is generally not recommended, as errors can break the unit. If you need assistance, please contact WISE staff. src/app/authoring-tool/edit-component-json/edit-component-json.component.html - 2,6 + 5,9 src/assets/wise5/authoringTool/advanced/advanced-project-authoring.component.html - 44,47 - - - - Show JSON - - src/app/authoring-tool/edit-component-json/edit-component-json.component.html - 8,12 - - - src/assets/wise5/authoringTool/node/advanced/node-advanced-authoring/node-advanced-authoring.component.html - 60,64 - - - - Close the JSON view to save the changes - - src/app/authoring-tool/edit-component-json/edit-component-json.component.html - 17,19 + 49,53 Edit Activity JSON src/app/authoring-tool/edit-component-json/edit-component-json.component.html - 19,23 - - - - The JSON is invalid. Invalid JSON will not be saved. -Click "OK" to revert back to the last valid JSON. -Click "Cancel" to keep the invalid JSON open so you can fix it. - - src/app/authoring-tool/edit-component-json/edit-component-json.component.ts - 76 - - - src/assets/wise5/authoringTool/advanced/advanced-project-authoring.component.ts - 67 + 10,14 @@ -998,28 +959,6 @@ Click "Cancel" to keep the invalid JSON open so you can fix it.15,17 - - Rubric - - src/app/authoring-tool/edit-component-rubric/edit-component-rubric.component.html - 2,6 - - - src/assets/wise5/authoringTool/advanced/advanced-project-authoring.component.html - 28,31 - - - src/assets/wise5/themes/default/themeComponents/helpIcon/help-icon.component.ts - 35 - - - - Edit activity rubric - - src/app/authoring-tool/edit-component-rubric/edit-component-rubric.component.html - 8,12 - - Show Save Button @@ -1034,12 +973,95 @@ Click "Cancel" to keep the invalid JSON open so you can fix it.15,18 + + Teacher Summary System Prompt + + src/app/authoring-tool/edit-component-summarizer-system-prompt/edit-component-summarizer-system-prompt.component.ts + 12,16 + + Tags src/app/authoring-tool/edit-component-tags/edit-component-tags.component.html 2,6 + + src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.html + 46,47 + + + src/assets/wise5/components/animation/edit-animation-advanced/edit-animation-advanced.component.html + 47,48 + + + src/assets/wise5/components/audioOscillator/edit-audio-oscillator-advanced/edit-audio-oscillator-advanced.component.html + 47,48 + + + src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html + 240,241 + + + src/assets/wise5/components/dialogGuidance/edit-dialog-guidance-advanced/edit-dialog-guidance-advanced.component.html + 39,40 + + + src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.html + 49,50 + + + src/assets/wise5/components/draw/edit-draw-advanced/edit-draw-advanced.component.html + 53,54 + + + src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.html + 60,61 + + + src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html + 237,238 + + + src/assets/wise5/components/label/edit-label-advanced/edit-label-advanced.component.html + 53,54 + + + src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.html + 69,70 + + + src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.html + 58,59 + + + src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html + 611,612 + + + src/assets/wise5/components/outsideURL/edit-outside-url-advanced/edit-outside-url-advanced.component.ts + 34,36 + + + src/assets/wise5/components/peerChat/edit-peer-chat-advanced-component/edit-peer-chat-advanced-component.component.ts + 26,28 + + + src/assets/wise5/components/showGroupWork/edit-show-group-work-advanced/edit-show-group-work-advanced.component.ts + 26,28 + + + src/assets/wise5/components/showMyWork/edit-show-my-work-advanced/edit-show-my-work-advanced.component.ts + 26,28 + + + src/assets/wise5/components/summary/edit-summary-advanced/edit-summary-advanced.component.ts + 34,36 + + + src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html + 303,304 + Add Tag @@ -1262,7 +1284,7 @@ Click "Cancel" to keep the invalid JSON open so you can fix it. src/assets/wise5/authoringTool/node/node-authoring/node-authoring.component.html - 90,92 + 93,95 src/assets/wise5/components/common/feedbackRule/edit-feedback-rules/edit-feedback-rules.component.html @@ -1293,7 +1315,7 @@ Click "Cancel" to keep the invalid JSON open so you can fix it. src/assets/wise5/authoringTool/node/node-authoring/node-authoring.component.html - 101,104 + 104,107 src/assets/wise5/components/common/feedbackRule/edit-feedback-rules/edit-feedback-rules.component.html @@ -1691,11 +1713,11 @@ Click "Cancel" to keep the invalid JSON open so you can fix it. src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 39,41 + 88,89 src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 497,498 + 547,548 src/assets/wise5/vle/node/node.component.html @@ -1757,7 +1779,7 @@ Click "Cancel" to keep the invalid JSON open so you can fix it. src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 478,479 + 528,529 src/assets/wise5/components/summary/summary-authoring/summary-authoring.component.html @@ -1772,7 +1794,7 @@ Click "Cancel" to keep the invalid JSON open so you can fix it. src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 488,492 + 538,541 src/assets/wise5/components/showGroupWork/show-group-work-authoring/show-group-work-authoring.component.html @@ -1811,7 +1833,7 @@ Click "Cancel" to keep the invalid JSON open so you can fix it. src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 466,467 + 516,517 src/assets/wise5/components/summary/summary-authoring/summary-authoring.component.html @@ -1845,11 +1867,11 @@ Click "Cancel" to keep the invalid JSON open so you can fix it. src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 40,42 + 89,90 src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 498,501 + 548,550 src/assets/wise5/vle/node/node.component.html @@ -2732,7 +2754,7 @@ Click "Cancel" to keep the invalid JSON open so you can fix it. src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 105,108 + 155,158 @@ -9217,11 +9239,11 @@ Click "Cancel" to keep the invalid JSON open so you can fix it. src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 114,115 + 119,120 src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 165,166 + 170,171 src/assets/wise5/components/graph/graph-authoring/graph-authoring.component.html @@ -10401,7 +10423,7 @@ Click "Cancel" to keep the invalid JSON open so you can fix it. src/assets/wise5/authoringTool/node/node-authoring/node-authoring.component.html - 66,68 + 69,71 @@ -10630,123 +10652,314 @@ Click "Cancel" to keep the invalid JSON open so you can fix it.23,27 - - Milestones + + Rubric src/assets/wise5/authoringTool/advanced/advanced-project-authoring.component.html - 37,40 + 28,31 - src/assets/wise5/authoringTool/components/shared/authoring-tool-bar/authoring-tool-bar.component.ts - 74 + src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.html + 38,41 - src/assets/wise5/classroomMonitor/classroom-monitor.component.ts - 101 + src/assets/wise5/components/animation/edit-animation-advanced/edit-animation-advanced.component.html + 39,42 - src/assets/wise5/classroomMonitor/classroomMonitorComponents/shared/tool-bar/tool-bar.component.ts - 62 + src/assets/wise5/components/audioOscillator/edit-audio-oscillator-advanced/edit-audio-oscillator-advanced.component.html + 39,42 - - - Editing the JSON directly is generally not recommended, as errors can break the unit. If you need assistance, please contact WISE staff. - src/assets/wise5/authoringTool/advanced/advanced-project-authoring.component.html - 49,53 + src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html + 232,235 - - - Edit Unit JSON - src/assets/wise5/authoringTool/advanced/advanced-project-authoring.component.html - 54,57 + src/assets/wise5/components/dialogGuidance/edit-dialog-guidance-advanced/edit-dialog-guidance-advanced.component.html + 31,34 - src/assets/wise5/authoringTool/recovery-authoring/recovery-authoring.component.html - 65,69 + src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.html + 41,44 - - - Unit Home - src/assets/wise5/authoringTool/authoring-tool.component.ts - 77 + src/assets/wise5/components/draw/edit-draw-advanced/edit-draw-advanced.component.html + 45,48 - - - File Manager - src/assets/wise5/authoringTool/authoring-tool.component.ts - 91 + src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.html + 52,55 - src/assets/wise5/authoringTool/components/shared/authoring-tool-bar/authoring-tool-bar.component.ts - 72 + src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html + 229,232 - - - Notebook Settings - src/assets/wise5/authoringTool/authoring-tool.component.ts - 98 + src/assets/wise5/components/html/edit-html-advanced/edit-html-advanced.component.html + 16,18 - src/assets/wise5/authoringTool/components/shared/authoring-tool-bar/authoring-tool-bar.component.ts - 75 + src/assets/wise5/components/label/edit-label-advanced/edit-label-advanced.component.html + 45,48 - src/assets/wise5/authoringTool/notebook-authoring/notebook-authoring.component.html - 2,7 + src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.html + 61,64 - - - Unit List - src/assets/wise5/authoringTool/authoring-tool.component.ts - 112 + src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.html + 50,53 - - - You have been inactive for a long time. Do you want to stay logged in? - src/assets/wise5/authoringTool/authoring-tool.component.ts - 126 + src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html + 603,606 - src/assets/wise5/classroomMonitor/classroom-monitor.component.ts - 156 + src/assets/wise5/components/outsideURL/edit-outside-url-advanced/edit-outside-url-advanced.component.ts + 25,28 - src/assets/wise5/vle/vle.component.ts - 224 + src/assets/wise5/components/peerChat/edit-peer-chat-advanced-component/edit-peer-chat-advanced-component.component.ts + 17,20 - - - Session Timeout - src/assets/wise5/authoringTool/authoring-tool.component.ts - 127 + src/assets/wise5/components/showGroupWork/edit-show-group-work-advanced/edit-show-group-work-advanced.component.ts + 17,20 - src/assets/wise5/classroomMonitor/classroom-monitor.component.ts - 157 + src/assets/wise5/components/showMyWork/edit-show-my-work-advanced/edit-show-my-work-advanced.component.ts + 17,20 - src/assets/wise5/vle/vle.component.ts - 225 + src/assets/wise5/components/summary/edit-summary-advanced/edit-summary-advanced.component.ts + 25,28 - - - Saving... - src/assets/wise5/authoringTool/authoring-tool.component.ts - 151 + src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html + 295,298 - src/assets/wise5/services/notificationService.ts - 476 - + src/assets/wise5/themes/default/themeComponents/helpIcon/help-icon.component.ts + 35 + + + + Milestones + + src/assets/wise5/authoringTool/advanced/advanced-project-authoring.component.html + 37,40 + + + src/assets/wise5/authoringTool/components/shared/authoring-tool-bar/authoring-tool-bar.component.ts + 74 + + + src/assets/wise5/classroomMonitor/classroom-monitor.component.ts + 101 + + + src/assets/wise5/classroomMonitor/classroomMonitorComponents/shared/tool-bar/tool-bar.component.ts + 62 + + + + JSON + + src/assets/wise5/authoringTool/advanced/advanced-project-authoring.component.html + 44,47 + + + src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.html + 50,52 + + + src/assets/wise5/components/animation/edit-animation-advanced/edit-animation-advanced.component.html + 51,53 + + + src/assets/wise5/components/audioOscillator/edit-audio-oscillator-advanced/edit-audio-oscillator-advanced.component.html + 51,53 + + + src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html + 244,246 + + + src/assets/wise5/components/dialogGuidance/edit-dialog-guidance-advanced/edit-dialog-guidance-advanced.component.html + 43,45 + + + src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.html + 53,55 + + + src/assets/wise5/components/draw/edit-draw-advanced/edit-draw-advanced.component.html + 57,59 + + + src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.html + 64,66 + + + src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html + 241,243 + + + src/assets/wise5/components/html/edit-html-advanced/edit-html-advanced.component.html + 21,23 + + + src/assets/wise5/components/label/edit-label-advanced/edit-label-advanced.component.html + 57,59 + + + src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.html + 73,75 + + + src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.html + 62,64 + + + src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html + 615,617 + + + src/assets/wise5/components/outsideURL/edit-outside-url-advanced/edit-outside-url-advanced.component.ts + 40,42 + + + src/assets/wise5/components/peerChat/edit-peer-chat-advanced-component/edit-peer-chat-advanced-component.component.ts + 32,34 + + + src/assets/wise5/components/showGroupWork/edit-show-group-work-advanced/edit-show-group-work-advanced.component.ts + 32,34 + + + src/assets/wise5/components/showMyWork/edit-show-my-work-advanced/edit-show-my-work-advanced.component.ts + 32,34 + + + src/assets/wise5/components/summary/edit-summary-advanced/edit-summary-advanced.component.ts + 40,42 + + + src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html + 307,309 + + + + Edit Unit JSON + + src/assets/wise5/authoringTool/advanced/advanced-project-authoring.component.html + 54,57 + + + src/assets/wise5/authoringTool/recovery-authoring/recovery-authoring.component.html + 65,69 + + + + The JSON is invalid. Invalid JSON will not be saved. +Click "OK" to revert back to the last valid JSON. +Click "Cancel" to keep the invalid JSON open so you can fix it. + + src/assets/wise5/authoringTool/advanced/advanced-project-authoring.component.ts + 67 + + + + Unit Home + + src/assets/wise5/authoringTool/authoring-tool.component.ts + 77 + + + + File Manager + + src/assets/wise5/authoringTool/authoring-tool.component.ts + 91 + + + src/assets/wise5/authoringTool/components/shared/authoring-tool-bar/authoring-tool-bar.component.ts + 72 + + + + Notebook Settings + + src/assets/wise5/authoringTool/authoring-tool.component.ts + 98 + + + src/assets/wise5/authoringTool/components/shared/authoring-tool-bar/authoring-tool-bar.component.ts + 75 + + + src/assets/wise5/authoringTool/notebook-authoring/notebook-authoring.component.html + 2,7 + + + + Advanced Settings + + src/assets/wise5/authoringTool/authoring-tool.component.ts + 105 + + + src/assets/wise5/authoringTool/components/shared/authoring-tool-bar/authoring-tool-bar.component.ts + 71 + + + + Unit List + + src/assets/wise5/authoringTool/authoring-tool.component.ts + 112 + + + + You have been inactive for a long time. Do you want to stay logged in? + + src/assets/wise5/authoringTool/authoring-tool.component.ts + 126 + + + src/assets/wise5/classroomMonitor/classroom-monitor.component.ts + 156 + + + src/assets/wise5/vle/vle.component.ts + 224 + + + + Session Timeout + + src/assets/wise5/authoringTool/authoring-tool.component.ts + 127 + + + src/assets/wise5/classroomMonitor/classroom-monitor.component.ts + 157 + + + src/assets/wise5/vle/vle.component.ts + 225 + + + + Saving... + + src/assets/wise5/authoringTool/authoring-tool.component.ts + 151 + + + src/assets/wise5/services/notificationService.ts + 476 + Saved @@ -11075,6 +11288,13 @@ Click "Cancel" to keep the invalid JSON open so you can fix it.50,52 + + This activity is displayed to the student when certain conditions are met. Click to view and edit the conditions. + + src/assets/wise5/authoringTool/components/visibility-constraint-icon/visibility-constraint-icon.component.ts + 28 + + Also currently editing this unit: src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 66,67 + 71,72 src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 86,87 + 91,92 src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 99,100 + 104,105 @@ -12448,6 +12668,13 @@ The branches will be removed but the steps will remain in the unit. 49,53 + + Show JSON + + src/assets/wise5/authoringTool/node/advanced/node-advanced-authoring/node-advanced-authoring.component.html + 60,64 + + Paths @@ -12707,7 +12934,7 @@ The branches will be removed but the steps will remain in the unit. . src/assets/wise5/authoringTool/node/node-authoring/node-authoring.component.ts - 168 + 170 @@ -13769,7 +13996,7 @@ The branches will be removed but the steps will remain in the unit. src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 83,84 + 88,89 @@ -16243,80 +16470,293 @@ Are you sure you want to proceed? Example System Prompt - src/assets/wise5/components/aiChat/ai-chat-authoring/ai-chat-authoring.component.html - 26,28 + src/assets/wise5/components/aiChat/ai-chat-authoring/ai-chat-authoring.component.html + 26,28 + + + + You are a teacher helping a student understand the greenhouse effect by using the example of a car that has been sitting in the sun on a cold day. The student is asked how the temperature inside the car will feel. Do not tell them the correct answer, but guide them to better understand the science by asking questions. Also make sure they explain their reasoning. Limit your response to 100 words or less. + + src/assets/wise5/components/aiChat/ai-chat-authoring/ai-chat-authoring.component.html + 28,36 + + + + System Prompt + + src/assets/wise5/components/aiChat/ai-chat-authoring/ai-chat-authoring.component.html + 37,40 + + + + Use the prompt to introduce the chatbot activity. Students will see the prompt. + + src/assets/wise5/components/aiChat/ai-chat-authoring/ai-chat-authoring.component.html + 46,49 + + + + Enable Computer Avatar + + src/assets/wise5/components/aiChat/ai-chat-authoring/ai-chat-authoring.component.html + 57,60 + + + src/assets/wise5/components/dialogGuidance/dialog-guidance-authoring/dialog-guidance-authoring.component.html + 13,16 + + + + Automated guidance response + + src/assets/wise5/components/aiChat/ai-chat-bot-message/ai-chat-bot-message.component.html + 5,9 + + + src/assets/wise5/components/dialogGuidance/dialog-response/dialog-response.component.html + 15,19 + + + src/assets/wise5/components/dialogGuidance/dialog-response/dialog-response.component.html + 23,28 + + + + Student response + + src/assets/wise5/components/aiChat/ai-chat-student-message/ai-chat-student-message.component.html + 5,9 + + + src/assets/wise5/components/dialogGuidance/dialog-response/dialog-response.component.html + 6,11 + + + + An error occurred. + + src/assets/wise5/components/aiChat/ai-chat-student/ai-chat-student.component.ts + 114 + + + + General + + src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.html + 4,7 + + + src/assets/wise5/components/animation/edit-animation-advanced/edit-animation-advanced.component.html + 4,6 + + + src/assets/wise5/components/audioOscillator/edit-audio-oscillator-advanced/edit-audio-oscillator-advanced.component.html + 4,6 + + + src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html + 4,7 + + + src/assets/wise5/components/dialogGuidance/edit-dialog-guidance-advanced/edit-dialog-guidance-advanced.component.html + 4,6 + + + src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.html + 4,7 + + + src/assets/wise5/components/draw/edit-draw-advanced/edit-draw-advanced.component.html + 4,8 + + + src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.html + 4,7 + + + src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html + 4,7 + + + src/assets/wise5/components/html/edit-html-advanced/edit-html-advanced.component.html + 4,6 + + + src/assets/wise5/components/label/edit-label-advanced/edit-label-advanced.component.html + 4,8 + + + src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.html + 4,8 + + + src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.html + 4,7 + + + src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html + 4,7 + + + src/assets/wise5/components/outsideURL/edit-outside-url-advanced/edit-outside-url-advanced.component.ts + 11,14 + + + src/assets/wise5/components/summary/edit-summary-advanced/edit-summary-advanced.component.ts + 11,14 + + + src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html + 4,6 + + + + Model + + src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.html + 7,8 + + + + Visibility + + src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.html + 19,21 + + + src/assets/wise5/components/animation/edit-animation-advanced/edit-animation-advanced.component.html + 20,22 + + + src/assets/wise5/components/audioOscillator/edit-audio-oscillator-advanced/edit-audio-oscillator-advanced.component.html + 20,22 + + + src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html + 213,215 + + + src/assets/wise5/components/dialogGuidance/edit-dialog-guidance-advanced/edit-dialog-guidance-advanced.component.html + 12,14 + + + src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.html + 14,16 + + + src/assets/wise5/components/draw/edit-draw-advanced/edit-draw-advanced.component.html + 26,28 + + + src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.html + 33,35 + + + src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html + 210,212 + + + src/assets/wise5/components/html/edit-html-advanced/edit-html-advanced.component.html + 10,12 + + + src/assets/wise5/components/label/edit-label-advanced/edit-label-advanced.component.html + 26,28 + + + src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.html + 42,44 + + + src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.html + 31,33 + + + src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html + 43,45 + + + src/assets/wise5/components/outsideURL/edit-outside-url-advanced/edit-outside-url-advanced.component.ts + 19,21 + + + src/assets/wise5/components/peerChat/edit-peer-chat-advanced-component/edit-peer-chat-advanced-component.component.ts + 11,13 + + + src/assets/wise5/components/showGroupWork/edit-show-group-work-advanced/edit-show-group-work-advanced.component.ts + 11,13 + + + src/assets/wise5/components/showMyWork/edit-show-my-work-advanced/edit-show-my-work-advanced.component.ts + 11,13 + + + src/assets/wise5/components/summary/edit-summary-advanced/edit-summary-advanced.component.ts + 19,21 + + + src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html + 276,278 + + + + Connections + + src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.html + 25,28 + + + src/assets/wise5/components/animation/edit-animation-advanced/edit-animation-advanced.component.html + 26,29 - - - You are a teacher helping a student understand the greenhouse effect by using the example of a car that has been sitting in the sun on a cold day. The student is asked how the temperature inside the car will feel. Do not tell them the correct answer, but guide them to better understand the science by asking questions. Also make sure they explain their reasoning. Limit your response to 100 words or less. - src/assets/wise5/components/aiChat/ai-chat-authoring/ai-chat-authoring.component.html - 28,36 + src/assets/wise5/components/audioOscillator/edit-audio-oscillator-advanced/edit-audio-oscillator-advanced.component.html + 26,29 - - - System Prompt - src/assets/wise5/components/aiChat/ai-chat-authoring/ai-chat-authoring.component.html - 37,40 + src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html + 219,222 - - - Use the prompt to introduce the chatbot activity. Students will see the prompt. - src/assets/wise5/components/aiChat/ai-chat-authoring/ai-chat-authoring.component.html - 46,49 + src/assets/wise5/components/dialogGuidance/edit-dialog-guidance-advanced/edit-dialog-guidance-advanced.component.html + 18,21 - - - Enable Computer Avatar - src/assets/wise5/components/aiChat/ai-chat-authoring/ai-chat-authoring.component.html - 57,60 + src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.html + 20,23 - src/assets/wise5/components/dialogGuidance/dialog-guidance-authoring/dialog-guidance-authoring.component.html - 13,16 + src/assets/wise5/components/draw/edit-draw-advanced/edit-draw-advanced.component.html + 32,35 - - - Automated guidance response - src/assets/wise5/components/aiChat/ai-chat-bot-message/ai-chat-bot-message.component.html - 5,9 + src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.html + 39,42 - src/assets/wise5/components/dialogGuidance/dialog-response/dialog-response.component.html - 15,19 + src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html + 216,219 - src/assets/wise5/components/dialogGuidance/dialog-response/dialog-response.component.html - 23,28 + src/assets/wise5/components/label/edit-label-advanced/edit-label-advanced.component.html + 32,35 - - - Student response - src/assets/wise5/components/aiChat/ai-chat-student-message/ai-chat-student-message.component.html - 5,9 + src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.html + 48,51 - src/assets/wise5/components/dialogGuidance/dialog-response/dialog-response.component.html - 6,11 + src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.html + 37,40 - - - An error occurred. - src/assets/wise5/components/aiChat/ai-chat-student/ai-chat-student.component.ts - 114 + src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html + 49,52 - - - Model - src/assets/wise5/components/aiChat/edit-ai-chat-advanced/edit-ai-chat-advanced.component.html - 2,3 + src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html + 282,285 @@ -16448,11 +16888,11 @@ Are you sure you want to proceed? src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 105,106 + 110,111 src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 156,157 + 161,162 src/assets/wise5/components/table/table-authoring/table-authoring.component.html @@ -17817,95 +18257,95 @@ Are you ready to receive feedback on this answer? Show Auto Score src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 9,14 + 14,18 Show Auto Feedback src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 19,22 + 24,27 Rules src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 23,24 + 28,29 add src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 25,27 + 30,32 src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 291,293 + 341,342 Rule Name src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 31,32 + 36,37 Rule Type src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 36,37 + 41,42 should contain src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 38,39 + 43,44 should not contain src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 39,42 + 44,47 Comparison src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 43,44 + 48,49 exactly src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 45,46 + 50,51 more than src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 46,47 + 51,52 less than src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 47,50 + 52,55 Count src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 51,54 + 56,59 src/assets/wise5/directives/summary-display/summary-display.component.ts @@ -17916,53 +18356,53 @@ Are you ready to receive feedback on this answer? Node src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 63,64 + 68,69 src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 96,97 + 101,102 Link Connection src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 75,76 + 80,81 with any or no link src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 77,78 + 82,83 with specific link src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 78,81 + 83,86 to src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 94,96 + 99,101 Add Category (Optional) src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 112,115 + 117,120 Category Name src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 118,121 + 123,126 src/assets/wise5/components/graph/graph-authoring/graph-authoring.component.html @@ -17973,35 +18413,35 @@ Are you ready to receive feedback on this answer? Delete Catagory src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 129,132 + 134,136 arrow_upward src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 148,150 + 153,154 arrow_downward src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 159,161 + 164,165 delete src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 170,172 + 175,176 Custom Rule Evaluator src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.html - 177,180 + 182,185 @@ -18010,7 +18450,7 @@ Are you ready to receive feedback on this answer? Rule Name: src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.ts - 72 + 66 @@ -18020,7 +18460,7 @@ Rule Name: Category Name: src/assets/wise5/components/conceptMap/edit-concept-map-advanced/edit-concept-map-advanced.component.ts - 94 + 88 @@ -18953,6 +19393,17 @@ Category Name: 232 + + AI + + src/assets/wise5/components/discussion/edit-discussion-advanced/edit-discussion-advanced.component.html + 34,36 + + + src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html + 62,65 + + Students draw on a canvas using a variety of tools. @@ -19239,7 +19690,7 @@ Category Name: Model Parameters src/assets/wise5/components/embedded/edit-embedded-advanced/edit-embedded-advanced.component.html - 5,8 + 10,12 @@ -19325,98 +19776,98 @@ Category Name: Subtitle src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 5,8 + 10,12 Show Mouse X Plot Line src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 17,20 + 22,25 Highlight X Range From Zero src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 28,33 + 33,37 Show Mouse Y Plot Line src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 38,43 + 43,47 Save Mouse Over Points src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 48,53 + 53,57 Hide Trial Select src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 58,63 + 63,67 Use Custom Legend src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 68,71 + 73,76 Custom Legend src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 75,77 + 80,82 X Axis Plot Line src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 82,86 + 87,90 Add X Axis Plot Line src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 87,91 + 92,95 X Value src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 110,111 + 115,116 Y Axis Plot Line src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 133,137 + 138,141 Add Y Axis Plot Line src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 138,142 + 143,146 Y Value src/assets/wise5/components/graph/edit-graph-advanced/edit-graph-advanced.component.html - 161,162 + 166,167 @@ -19667,7 +20118,7 @@ Category Name: src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 98,99 + 103,104 @@ -19748,7 +20199,7 @@ Category Name: src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 87,89 + 92,94 @@ -20480,12 +20931,11 @@ Category Name: 35 - - Student Can Create Choices - + + Student Can Create Choices src/assets/wise5/components/match/edit-match-advanced/edit-match-advanced.component.html - 8,13 + 13,17 @@ -20818,11 +21268,11 @@ Warning: This will delete all existing choices and buckets in this activity. Show Feedback src/assets/wise5/components/multipleChoice/edit-multiple-choice-advanced/edit-multiple-choice-advanced.component.html - 8,11 + 13,16 src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 63,67 + 112,115 @@ -20969,215 +21419,215 @@ Warning: This will delete all existing choices in this activity. Starter Sentence src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 4,8 + 9,11 Allow students to record audio response src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 16,22 + 21,26 Enable AI Model src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 27,31 + 76,79 Score On src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 34,36 + 83,85 Change src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 41,46 + 90,93 Show Score src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 53,58 + 102,106 Enable Feedback Rules src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 73,75 + 122,124 Scoring Rule src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 84,87 + 134,137 Add Scoring Rule src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 89,92 + 139,142 Feedback Text src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 117,119 + 167,169 Move Scoring Rule Up src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 128,131 + 178,180 Move Scoring Rule Down src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 139,142 + 189,191 Delete Scoring Rule src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 149,152 + 199,201 Enable Multiple Attempt Feedback src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 169,172 + 219,222 Multiple Attempt Scoring Rules src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 174,177 + 224,227 Add Multiple Attempt Scoring Rule src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 179,182 + 229,232 Previous Score src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 195,198 + 245,248 src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 304,307 + 354,357 Current Score src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 204,207 + 254,257 src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 314,317 + 364,367 Feedback to Student src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 215,217 + 265,267 src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 402,404 + 452,454 Move Multiple Attempt Scoring Rule Up src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 231,234 + 281,283 Move Multiple Attempt Scoring Rule Down src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 247,250 + 297,299 Delet Multiple Attempt Scoring src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 257,260 + 307,309 Enable Notifications src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 277,280 + 327,330 Notifications src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 282,285 + 332,335 Move Notification Up src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 335,337 + 385,387 Move Notification Down src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 351,353 + 401,403 Delete Notification src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 361,363 + 411,413 Enable Ambient Display Dismiss Mode src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 376,378 + 426,428 Dismiss Code src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 380,383 + 430,433 src/assets/wise5/vle/dismiss-ambient-notification-dialog/dismiss-ambient-notification-dialog.component.html @@ -21188,70 +21638,70 @@ Warning: This will delete all existing choices in this activity. Notify Student src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 396,398 + 446,448 Notify Teacher src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 416,418 + 466,468 Feedback to Teacher src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 422,424 + 472,474 Use Custom Completion Criteria src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 441,443 + 491,493 Custom Completion Criteria src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 445,448 + 495,498 Add Completion Criteria src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 450,453 + 500,503 Move Completion Criteria Up src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 508,511 + 560,562 Move Completion Criteria Down src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 519,522 + 573,575 Delete Completion Criteria src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.html - 529,532 + 583,585 Default feedback src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.ts - 48 + 40 @@ -21262,7 +21712,7 @@ Score: Feedback Text: src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.ts - 125 + 117 @@ -21275,28 +21725,28 @@ Current Score: Feedback Text: src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.ts - 164 + 156 you got a score of src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.ts - 194 + 186 Please talk to your teacher src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.ts - 196 + 188 got a score of src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.ts - 198 + 190 @@ -21307,21 +21757,21 @@ Previous Score: Current Score: src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.ts - 212 + 204 Are you sure you want to delete the custom completion criteria? src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.ts - 246 + 238 Are you sure you want to delete this completion criteria? src/assets/wise5/components/openResponse/edit-open-response-advanced/edit-open-response-advanced.component.ts - 278 + 270 @@ -22014,91 +22464,91 @@ If this problem continues, let your teacher know and move on to the next activit Enable Data Explorer src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 9,12 + 14,17 Allowed Graph Types: src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 15,18 + 20,23 Scatter Plot src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 22,25 + 27,30 Line Graph src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 30,33 + 35,38 Bar Graph src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 38,41 + 43,46 Show Scatter Plot Regression Line src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 49,54 + 54,57 Number of Series src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 55,58 + 60,63 Number of Y Axes src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 67,70 + 72,75 Choose the Y Axis for each Series src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 79,81 + 84,86 Can Student Edit Axis Labels src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 114,118 + 119,122 Fix Data to Table Column src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 119,121 + 124,126 You can author x or y data to always use a specific table column. The student will not be able to change the table column for that x or y data. If you want the student to be able to choose the table column, you can leave the select option blank for that x or y data. src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 121,124 + 126,128 X Data src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 129,131 + 134,136 src/assets/wise5/components/table/table-show-work/table-show-work.component.html @@ -22113,35 +22563,35 @@ If this problem continues, let your teacher know and move on to the next activit (Allow student to select) src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 134,135 + 139,140 src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 167,168 + 172,173 Table Column src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 138,140 + 143,145 src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 171,173 + 176,178 src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 193,195 + 198,200 Y Data + componentContent.numDataExplorerSeries > 1 ? dataExplorerSeriesIndex + 1 : '' + }}"/> src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 155,158 + 160,163 src/assets/wise5/components/table/table-show-work/table-show-work.component.html @@ -22156,70 +22606,70 @@ If this problem continues, let your teacher know and move on to the next activit Tooltip Header Column src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 184,186 + 189,191 (Default) src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 189,190 + 194,195 When the student hovers their mouse over a data point on a scatter plot or line graph, the tooltip will display the value from this column along with the x and y values. This can be left blank and the tooltip will still show the x and y values like normal. src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 203,206 + 208,211 Import Table src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 219,223 + 224,228 Only .csv (comma separated values) files are allowed src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 228,233 + 233,237 Enable Row Selection src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.html - 256,260 + 261,264 Are you sure you want to overwrite the existing table? src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.ts - 221 + 193 Importing table... src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.ts - 223 + 195 Error: The table contains more than cells src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.ts - 231 + 203 Successfully imported table src/assets/wise5/components/table/edit-table-advanced/edit-table-advanced.component.ts - 235 + 207 @@ -22646,14 +23096,14 @@ If this problem continues, let your teacher know and move on to the next activit Summary generated from responses src/assets/wise5/directives/teacher-summary-display/ai-summary/ai-summary.component.ts - 93 + 105 Summary generated from posts and comments src/assets/wise5/directives/teacher-summary-display/discussion-ai-summary/discussion-ai-summary.component.ts - 55 + 60