Skip to content

Commit

Permalink
adding filter in study and patient page,UI: Renewing Study page #1802
Browse files Browse the repository at this point in the history
  • Loading branch information
shral committed Jan 25, 2019
1 parent f151b33 commit 68b99be
Show file tree
Hide file tree
Showing 7 changed files with 457 additions and 82 deletions.
113 changes: 101 additions & 12 deletions dcm4chee-arc-ui2/src/app/constants/globalvar.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {FilterSchema} from "../interfaces";
import {FilterSchema, SelectDropdown} from "../interfaces";

export class Globalvar {
public static get MODALITIES(): any {
Expand Down Expand Up @@ -796,6 +796,25 @@ export class Globalvar {
filterKey:"limit",
description:"Limit",
placeholder:"Limit of studies"
},{
tag:"input",
type:"text",
filterKey:"InstitutionalDepartmentName",
description:"Institutional Department Name",
placeholder:"Institutional Department Name"
},
{
tag:"input",
type:"text",
filterKey:"SendingApplicationEntityTitleOfSeries",
description:"Sending Application Entity Title of Series",
placeholder:"Sending AET of Series"
},{
tag:"input",
type:"text",
filterKey:"StudyID",
description:"Study ID",
placeholder:"Study ID"
},{
tag:"range-picker-limit",
type:"text",
Expand All @@ -811,27 +830,97 @@ export class Globalvar {
type:"text",
filterKey:"StudyReceiveDateTime",
description:"Study created"
},{
tag:"range-picker",
type:"text",
filterKey:"StudyAccessDateTime",
description:"Study Access"
},{
tag:"select",
options:[
new SelectDropdown("PatientName","Patient Name")
]
}
];
}

static PATIENT_FILTER_SCHEMA(aets,hidden?):FilterSchema{
if(hidden){
return [
{
tag:"select",
options:[
new SelectDropdown("F","Female"),
new SelectDropdown("M","Male"),
new SelectDropdown("O","Other")
],
showStar:true,
filterKey:"PatientSex",
description:"Patient's Sex",
placeholder:"Patient's Sex"
},
{
tag:"checkbox",
filterKey:"withoutstudies",
text:"only with studies"
},{
tag:"p-calendar",
filterKey:"PatientBirthDate",
description:"Birth Date"
},{
tag:"dummy"
}
]
}
return [
{
tag:"select",
options:aets,
showStar:true,
filterKey:"aet",
description:"AET",
placeholder:"AET"
},
{
tag:"input",
type:"text",
filterKey:"InstitutionalDepartmentName",
description:"Institutional Department Name",
placeholder:"Institutional Department Name"
filterKey:"PatientName",
description:"Patient name",
placeholder:"Patient name"
},
{
tag:"checkbox",
filterKey:"fuzzymatching",
text:"Fuzzy Matching"
},
{
tag:"input",
type:"text",
filterKey:"SendingApplicationEntityTitleOfSeries",
description:"Sending Application Entity Title of Series",
placeholder:"Sending AET of Series"
},{
filterKey:"PatientID",
description:"Patient ID",
placeholder:"Patient ID"
},
{
tag:"input",
type:"text",
filterKey:"StudyID",
description:"Study ID",
placeholder:"Study ID"
filterKey:"IssuerOfPatientID",
description:"Issuer of patient",
placeholder:"Issuer of patient"
},
{
tag:"input",
type:"text",
filterKey:"StudyInstanceUID",
description:"Study Instance UID",
placeholder:"Study Instance UID"
},
{
tag:"input",
type:"number",
filterKey:"limit",
description:"Limit",
placeholder:"Limit of studies"
}
];
]
}
}
21 changes: 19 additions & 2 deletions dcm4chee-arc-ui2/src/app/interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export interface RangeObject {

export type StatisticsPage = "simple"|"detailed"

export type FilterTag = "input"|"checkbox"|"select"|"modality"|"range-picker-limit"|"range-picker-time"|"range-picker"|"multi-select";
export type FilterTag = "button"|"input"|"checkbox"|"select"|"modality"|"range-picker-limit"|"range-picker-time"|"range-picker" | "p-calendar" |"multi-select"|"label"|"label_large"|"dummy";

export type RangeUnit = "hour" | "day" | "week" | "month" | "year";

Expand Down Expand Up @@ -71,9 +71,10 @@ export type FilterSchema = FilterSchemaElement[];

export interface FilterSchemaElement {
tag:FilterTag;
filterKey:string;
filterKey?:string;
type?:"text"|"number";
text?:string;
id?:string;
description?:string;
placeholder?:string;
showStar?:boolean;
Expand All @@ -83,3 +84,19 @@ export interface FilterSchemaElement {

export type StudyTab = "study" | "patient" | "mwl" | "diff";
export type AccessLocation = "internal" | "external";

export interface StudyFilterConfig {
filterSchemaMain:{schema:FilterSchema,lineLength:number};
filterSchemaExpand:{schema:FilterSchema,lineLength:number};
filterModel:any;
expand:boolean;
quantityText:{
count:string,
size:string
}
}

export interface StudyPageConfig {
tab:StudyTab;
accessLocation:AccessLocation;
}
49 changes: 48 additions & 1 deletion dcm4chee-arc-ui2/src/app/study/study/study.component.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,53 @@
<div class="main_content white_design">
<study-tab></study-tab>
<div class="tab-content">
<h2>Studies {{tab}}</h2>
<h2>Studies {{studyConfig.tab}}</h2>
<ng-container *ngIf="studyConfig.tab === 'study' || studyConfig.tab === 'patient'">
<h4>Select the Location Mode</h4>
<div class="controll_header">
<mat-radio-group class="example-radio-group" [(ngModel)]="studyConfig.accessLocation" (change)="accessLocationChange($event)">
<mat-radio-button value="internal" >
Internal
</mat-radio-button>
<mat-radio-button value="external" >
External
</mat-radio-button>
</mat-radio-group>
</div>
</ng-container>

<!-- <mat-select>
<mat-option *ngFor="let el of test" value="el.value"><span [innerHtml]="el.label"></span></mat-option>
</mat-select>-->

<div class="filter_line">
<div class="filter_block">
<filter-generator *ngIf="filter.filterSchemaMain.lineLength" [schema]="filter.filterSchemaMain.schema" [filterID]="'study-filter'" [model]="filter.filterModel" (submit)="search($event)" [filterTreeHeight]="filter.filterSchemaMain.lineLength" (onChange)="filterChanged()"></filter-generator>
</div>
</div>
<div class="filter_line" [hidden]="!filter.expand">
<div class="filter_block">
<filter-generator *ngIf="filter.filterSchemaMain.lineLength" [schema]="filter.filterSchemaExpand.schema" [filterID]="'study-filter'" [model]="filter.filterModel" [filterTreeHeight]="filter.filterSchemaExpand.lineLength" (onChange)="filterChanged()"></filter-generator>
</div>
</div>
<div class="filter_line">
<div class="filter single_block" [permission]="{id:'action-monitoring->diff_monitor-all_action',param:'visible'}">
<div class="filter_block">
<div class="line">
<a href="" (click)="$event.preventDefault();filter.expand=true" *ngIf="!filter.expand" class="more pull-left">More filters<i class="glyphicon glyphicon-triangle-bottom"></i></a>
<a href="" (click)="$event.preventDefault();filter.expand=false" *ngIf="filter.expand" class="more [hidden] pull-left">Close more filters<i class="glyphicon glyphicon-triangle-top"></i></a>
<!-- <div class="more functions" (clickOutside)="moreFunctionsButtons = false" [clickOutsideExceptionClass]="['mainbutton','manbutton_more_icon']">
<div class="mainbutton" (click)="moreFunctionsButtons = !moreFunctionsButtons">
<span class="manbutton_more_icon" *ngIf="!moreFunctionsButtons" >More configurations<i class="glyphicon glyphicon-triangle-bottom"></i></span>
<span class="manbutton_more_icon" *ngIf="moreFunctionsButtons">More configurations<i class="glyphicon glyphicon-triangle-top"></i></span>
</div>
<ul *ngIf="moreFunctionsButtons">
<li (click)="moreFunctionsButtons = false;addRetentionPolicy()" title="Set the C-MOVE SCP and STORE-SCP AETs">Add Study Retention Policy</li>
</ul>
</div>-->
</div>
</div>
</div>
</div>
</div>
</div>
Loading

0 comments on commit 68b99be

Please sign in to comment.