This commit is contained in:
Dr Masroor Ehsan 2025-01-08 00:08:22 +06:00
parent 5b3f9f893b
commit 3abeb7520a
5 changed files with 53 additions and 22 deletions

View File

@ -246,6 +246,7 @@ private function customColumns(): array
break; break;
case WorklistColumn::ActionButtons: case WorklistColumn::ActionButtons:
$columns[$col->value] = fn (Study $study) => $this->generateButtons($study); $columns[$col->value] = fn (Study $study) => $this->generateButtons($study);
$columns[$col->value] = fn (Study $study) => $this->generateViewerButtons($study);
break; break;
} }
} }
@ -253,7 +254,7 @@ private function customColumns(): array
return $columns; return $columns;
} }
private function renderButton(string $data_id, string $fa_icon, string $data_class, string $text, string $url = '#'): string private function renderButton(string $data_id, string $fa_icon, string $data_class, string $text, string $url = '#', bool $blank=false): string
{ {
return Blade::render('staff.worklist.partials._column-button', return Blade::render('staff.worklist.partials._column-button',
[ [
@ -262,10 +263,31 @@ private function renderButton(string $data_id, string $fa_icon, string $data_cla
'fa_icon' => $fa_icon, 'fa_icon' => $fa_icon,
'data_class' => $data_class, 'data_class' => $data_class,
'text' => $text, 'text' => $text,
'blank' => $blank,
] ]
); );
} }
private function generateViewerButtons(Study $study): string
{
$btns = [];
$btns[] = $this->renderButton($study->hash, 'fa-eye', 'btn-outline', '', route('viewer.ohif', $study->hash), true);
$btns[] = Blade::render('staff.worklist.partials._dropdown-menu',
[
'items' => [
[
'url' => route('viewer.stone', $study->hash),
'text' => 'Stone',
'blank' => true,
'icon' => 'fa-circle-info',
],
],
]
);
return implode("\r", $btns);
}
private function generateButtons(Study $study): string private function generateButtons(Study $study): string
{ {
$btns = []; $btns = [];

View File

@ -7,33 +7,39 @@
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.ckeditor.com/ckeditor5/44.1.0/ckeditor5.css" crossorigin> <link rel="stylesheet" href="https://cdn.ckeditor.com/ckeditor5/44.1.0/ckeditor5.css" crossorigin>
<link rel="stylesheet" href="https://cdn.ckeditor.com/ckeditor5-premium-features/44.1.0/ckeditor5-premium-features.css" crossorigin> <link rel="stylesheet"
href="https://cdn.ckeditor.com/ckeditor5-premium-features/44.1.0/ckeditor5-premium-features.css" crossorigin>
<link rel="stylesheet" href="./ck.css"> <link rel="stylesheet" href="./ck.css">
<link rel="stylesheet" href="./splitter.css">
</head> </head>
<body> <body>
<div class="container"> <div class="container">
<div class="mt-8"> <div class="mt-8">
<div class="row"> <div class="row ">
<div class="col-7"> <div class="container-split">
<iframe class="fixed-container"
src="http://pacs.mylabctg.com:8042/stone-webviewer/index.html?study=1.3.12.2.1107.5.1.4.86027.30000024071105194090600000028"></iframe> <div class="container__left">
</div> <iframe class="fixed-container"
<div class="col-5"> src="http://pacs.mylabctg.com:8042/stone-webviewer/index.html?study=1.3.12.2.1107.5.1.4.86027.30000024071105194090600000028">
<h6>CKEditor 5 Classic Editor</h6>
<div </iframe>
class="ck-editor editor-container editor-container_classic-editor editor-container_include-word-count fixed-container" </div>
id="editor-container"> <div class="resizer"></div>
<div class="editor-container__editor"> <div class="container__right">
<div id="editor"></div> <div
class="ck-editor editor-container editor-container_classic-editor editor-container_include-word-count fixed-container"
id="editor-container">
<div class="editor-container__editor">
<div id="editor"></div>
</div>
<div class="editor_container__word-count" id="editor-word-count"></div>
</div> </div>
<div class="editor_container__word-count" id="editor-word-count"></div>
</div> </div>
</div> </div>
</div> </div>
<div class="row mb-4 ml-4 mt-4">
<h3>Test</h3>
</div>
</div> </div>
</div> </div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
@ -42,6 +48,7 @@ class="ck-editor editor-container editor-container_classic-editor editor-contain
<script src="https://cdn.ckeditor.com/ckeditor5/44.1.0/ckeditor5.umd.js" crossorigin></script> <script src="https://cdn.ckeditor.com/ckeditor5/44.1.0/ckeditor5.umd.js" crossorigin></script>
<script src="https://cdn.ckeditor.com/ckeditor5-premium-features/44.1.0/ckeditor5-premium-features.umd.js" <script src="https://cdn.ckeditor.com/ckeditor5-premium-features/44.1.0/ckeditor5-premium-features.umd.js"
crossorigin></script> crossorigin></script>
<script src="./splitter.js"></script>
<script> <script>
const { const {
ClassicEditor, ClassicEditor,

View File

@ -1,4 +1,4 @@
<a href="{{ $url ?? '#' }}" data-id="{{ $data_id }}" class="btn btn-xs {{ $data_class }}"> <a @if ($blank) target="_blank" @endif href="{{ $url ?? '#' }}" data-id="{{ $data_id }}" class="btn btn-xs {{ $data_class }}">
<i class="fa-light {{ $fa_icon }} me-1"></i> <i class="fa-regular {{ $fa_icon }} me-1"></i>
{{ $text }} {{ $text }}
</a> </a>

View File

@ -3,8 +3,8 @@
<i class="ri-more-2-line"></i> <i class="ri-more-2-line"></i>
</button> </button>
<div class="dropdown-menu" style=""> <div class="dropdown-menu" style="">
@foreach($items as $item) @foreach ($items as $item)
<a class="dropdown-item" href="{{ $item['url'] }}"> <a @if ($item['blank']) target="_blank" @endif class="dropdown-item" href="{{ $item['url'] }}">
<i class="ri-{{ $item['icon'] }}-line me-1"></i> {{ $item['text'] }} <i class="ri-{{ $item['icon'] }}-line me-1"></i> {{ $item['text'] }}
</a> </a>
@endforeach @endforeach

View File

@ -18,6 +18,7 @@ function GetFilesArray(query) {
*/ */
// Ppp JS Files // Ppp JS Files
const appJsFiles = GetFilesArray('resources/js/*.js'); const appJsFiles = GetFilesArray('resources/js/*.js');
const appCssFiles = GetFilesArray('resources/css/*.css');
// Page JS Files // Page JS Files
@ -69,6 +70,7 @@ export default defineConfig({
'resources/assets/css/demo.css', 'resources/assets/css/demo.css',
//'resources/js/app.js', //'resources/js/app.js',
...appJsFiles, ...appJsFiles,
...appCssFiles,
...pageJsFiles, ...pageJsFiles,
...vendorJsFiles, ...vendorJsFiles,
...LibsJsFiles, ...LibsJsFiles,