* limitations under the License.
* ========================LICENSE_END===================================
*/
-import { Component, OnInit, ViewChild, Inject, AfterViewInit, Self } from '@angular/core';
+import { animate, state, style, transition, trigger } from '@angular/animations';
+import { AfterViewInit, Component, Inject, OnInit, ViewChild } from '@angular/core';
+import { MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { MatMenuTrigger } from '@angular/material/menu';
-import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
-import { trigger, state, style, animate, transition } from '@angular/animations';
-import * as uuid from 'uuid';
-
import { JsonPointer } from 'angular6-json-schema-form';
+import * as uuid from 'uuid';
+import { PolicyInstance, PolicyType } from '../interfaces/policy.types';
import { PolicyService } from '../services/policy/policy.service';
import { ErrorDialogService } from '../services/ui/error-dialog.service';
import { NotificationService } from './../services/ui/notification.service';
+import { UiService } from '../services/ui/ui.service';
-import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
-import { PolicyType } from '../interfaces/policy.types';
-import { PolicyInstance } from '../interfaces/policy.types';
@Component({
selector: 'rd-policy-instance-dialog',
public policyInstanceId: string;
public policyTypeName: string;
+ darkMode: boolean;
private policyTypeId: number;
+
constructor(
private dataService: PolicyService,
private errorService: ErrorDialogService,
private notificationService: NotificationService,
@Inject(MAT_DIALOG_DATA) private data,
- private dialogRef: MatDialogRef<PolicyInstanceDialogComponent>) {
+ private dialogRef: MatDialogRef<PolicyInstanceDialogComponent>,
+ private ui: UiService) {
this.formActive = false;
- this.policyInstanceId = this.data.instanceId;
- this.policyTypeName = this.data.name;
- this.policyTypeId = this.data.policyTypeId;
+ this.policyInstanceId = data.instanceId;
+ this.policyTypeName = data.name;
+ this.policyTypeId = data.policyTypeId;
this.parseJson(data.createSchema, data.instanceJson);
}
ngOnInit() {
this.jsonFormStatusMessage = 'Init';
this.formActive = true;
+ this.ui.darkModeState.subscribe((isDark) => {
+ this.darkMode = isDark;
+ });
}
ngAfterViewInit() {
this.dialogRef.close();
}
- public onChanges(data: any) {
- this.liveFormData = data;
+ public onChanges(formData: any) {
+ this.liveFormData = formData;
}
get prettyLiveFormData() {
this.formIsValid = isValid;
}
- validationErrors(data: any): void {
- this.formValidationErrors = data;
+ validationErrors(validationErrors: any): void {
+ this.formValidationErrors = validationErrors;
}
get prettyValidationErrors() {
private parseJson(createSchema: string, instanceJson: string): void {
try {
this.jsonSchemaObject = JSON.parse(createSchema);
- if (this.data.instanceJson != null) {
+ if (instanceJson != null) {
this.jsonObject = JSON.parse(instanceJson);
}
} catch (jsonError) {
}
}
-export function getPolicyDialogProperties(policyType: PolicyType, instance: PolicyInstance): MatDialogConfig {
+export function getPolicyDialogProperties(policyType: PolicyType, instance: PolicyInstance, darkMode: boolean): MatDialogConfig {
const policyTypeId = policyType.policy_type_id;
- const createSchema = policyType.create_schema;
+ const createSchema = policyType.schema;
const instanceId = instance ? instance.instanceId : null;
const instanceJson = instance ? instance.instance : null;
const name = policyType.name;
-
return {
maxWidth: '1200px',
- height: '1200px',
+ maxHeight: '900px',
width: '900px',
role: 'dialog',
disableClose: false,
+ panelClass: darkMode ? 'dark-theme' : '',
data: {
policyTypeId,
createSchema,