Compare commits

...

15 Commits

Author SHA1 Message Date
sindhu
1ab9e31ba6 step 12 : change into warning alert 2024-05-22 15:53:30 +07:00
sindhu
610e0f788f step 11 : add toast for error in survey and kartu kontrol 2024-05-22 15:05:28 +07:00
sindhu
69074143af step 10 : remove unused field in struct 2024-05-22 09:40:01 +07:00
sindhu
445d238426 step 9 : add notif saran mcu, perbaikan utils hx include 2024-05-22 09:24:18 +07:00
sindhu
79d736884e step 8 : templ and handling submit except saran mcu 2024-05-21 16:11:20 +07:00
sindhu
7d6e8cc687 step 7 : move kartu kontrol ke public 2024-05-21 08:36:17 +07:00
sindhu
656a5abeec step 6 : ganti query param dengan nomorRegistrasi 2024-05-21 08:25:00 +07:00
sindhu
6b90b7257e step 5 : swap oob modal dan set timeout loading 2024-05-20 20:52:33 +07:00
sindhu
2a3f9b9898 step 4 : slicing survey mcu dan wording nya 2024-05-20 16:01:55 +07:00
sindhu
eea0da92f8 step 4 : add shadow di card pengambilan sample 2024-05-20 13:50:16 +07:00
sindhu
b0e701f7cc step 3 : route, handler dan services 2024-05-20 13:20:10 +07:00
sindhu
21b7db8c27 step 2 : move css bg kartu kontrol to sas bundle 2024-05-20 09:50:37 +07:00
sindhu
347c9ab9c1 step 1 : kartu kontrol v1 html 2024-05-20 09:41:24 +07:00
sindhu
ee42ee0a82 toast v1 dev dan public 2024-05-17 11:25:12 +07:00
Sas Andy
c66e8f5720 refractor user group 2024-05-17 10:50:58 +07:00
58 changed files with 7446 additions and 359 deletions

View File

@@ -92,6 +92,7 @@
hx-on::reponse-error="cobaerror()"
hx-on::send-error="cobaerror()"
id="kt_form_1"
hx-include="#cobaid, #test"
>
<div id="change">
<div class="form-group">
@@ -131,7 +132,23 @@
submit
</button>
</form>
<input
id="cobaid"
name="cobaid"
type="hidden"
placeholder="coba"
value="1"
class="form-control bg-field border-0 h-auto py-6 px-6 rounded-lg"
/>
</div>
<input
id="test"
name="paginat"
type="hidden"
placeholder="coba"
value="2"
class="form-control bg-field border-0 h-auto py-6 px-6 rounded-lg"
/>
<div id="testttt" class="p-6" hx-swap-oob="#testttt">
;adkj;djf;
@@ -144,6 +161,21 @@
>
Show live toast
</button>
<input
class="form-control bg-field border-0 h-auto py-6 px-6 rounded-lg"
type="text"
name="search"
id="searchsas5b2f51246d4698262a5b7c241dd59884"
placeholder="Cari Kode/Nama"
hx-get="http://google.com"
hx-trigger="input changed delay:500ms, search"
hx-target="#cobakeyup"
hx-indicator=""
value=""
hx-include="#cobaid"
hx-swap="outerHTML"
autocomplete="off"
/>
<div
class="position-fixed bottom-0 right-0 p-3"
@@ -175,6 +207,43 @@
</div>
</div>
</div>
<div id="cobakeyup"></div>
<div class="card card-custom">
<div class="card-header">
<div class="card-title">
<h3 class="card-label">Card Blocking</h3>
</div>
</div>
<div class="card-body">
<div class="overlay-wrapper">
<div class="form-group">
<label>Address Line 1</label>
<input
type="text"
class="form-control form-control-solid form-control-lg"
name="address1"
placeholder="Address Line 1"
/>
<span class="form-text text-muted">Please enter your Address.</span>
</div>
<div class="form-group">
<label>Address Line 2</label>
<input
type="text"
class="form-control form-control-solid form-control-lg"
name="address1"
placeholder="Address Line 1"
/>
<span class="form-text text-muted"
>Please enter your Address 2.</span
>
</div>
</div>
</div>
<div class="overlay-layer bg-dark-o-10">
<div class="spinner spinner-primary"></div>
</div>
</div>
<!--begin::Global Config(global config for global JS scripts)-->
<script src="asset-corporate-portal/js/ktappsetting.js"></script>

View File

@@ -59,6 +59,8 @@ SEARCH GROUP CSS KEYWORD "###"
--dangerbg: #f7c9c9;
--toscabg: #c9f7f5;
--fieldbg: #f5f8fa;
--labelkartukontrolSudahbg: #e8fff3;
--labelkartukontrolBelumbg: #fff8dd;
/* END BACKGROUND */
/* TEXT COLOR */
--text-black: #0e1e28;
@@ -67,6 +69,9 @@ SEARCH GROUP CSS KEYWORD "###"
--text-header-table: #b5b5c3;
--header-table-bg: #f3f6f9;
--active-state: #637381;
--textcolorlabelkartukontrolSudah: #50cd89;
--textcolorlabelkartukontrolBelum: #f1bc00;
--textjawabansurveymcu: #212b36;
/* END TEXT COLOR */
--light: #f3f6f9;
--dark: #181c32;
@@ -5200,6 +5205,60 @@ a.text-hover-tosca:hover .svg-icon svg:hover g [fill],
height: auto;
}
/* ### TOAST FONT SIZE */
.toast {
font-size: 1.1rem;
}
/* ### KARTU KONTROL CSS */
.kartukontrol-sudah-label {
background-color: var(--labelkartukontrolSudahbg); /*figma*/
color: var(--textcolorlabelkartukontrolSudah); /*figma*/
padding: 0.15rem 0.75rem;
border-radius: 0.42rem;
}
.kartukontrol-pending-label {
background-color: var(--labelkartukontrolBelumbg); /*figma*/
color: var(--textcolorlabelkartukontrolBelum); /*figma*/
padding: 0.15rem 0.75rem;
border-radius: 0.42rem;
}
/* ### OVERLAY */
.overlay-loading {
position: relative !important;
}
.overlay-loading .overlay-layer {
position: absolute !important ;
top: 0 !important;
bottom: 0 !important;
left: 0 !important;
right: 0 !important;
display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
-webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
-webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important;
background-color: rgba(0, 0, 0, 0.05) !important;
-webkit-transition: all 0.3s ease !important;
transition: all 0.3s ease !important;
opacity: 0 !important;
}
.overlay-loading.overlay-block .overlay-layer,
.overlay-layer {
-webkit-transition: all 0.3s ease !important;
transition: all 0.3s ease !important;
opacity: 1 !important;
}
.overlay-loading.overlay-block {
cursor: wait !important;
}
/* ### BUTTON HOVER TEXT */
/* ### */
/* ## PRIMARY */

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 56 KiB

29
assets/mcu/be_wording.php Normal file
View File

@@ -0,0 +1,29 @@
<?php
function noStrings() {
echo ''?>
<div
hx-swap-oob="true"
class="modal fade show modalcover" id="dataContainer" tabindex="-1" aria-labelledby="exampleModalLiveLabel" style="display: block;" aria-modal="true" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLiveLabel">Modal title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>halllooooo</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
<?php;
}
noStrings();
?>

View File

@@ -0,0 +1,844 @@
<!DOCTYPE html>
<!--
Template Name: Metronic - Bootstrap 4 HTML, React, Angular 9 & VueJS Admin Dashboard Theme
Author: KeenThemes
Website: http://www.keenthemes.com/
Contact: support@keenthemes.com
Follow: www.twitter.com/keenthemes
Dribbble: www.dribbble.com/keenthemes
Like: www.facebook.com/keenthemes
Purchase: https://1.envato.market/EA4JP
Renew Support: https://1.envato.market/EA4JP
License: You must have a valid license purchased only from themeforest(the above link) in order to legally use the theme for your project.
-->
<html lang="en">
<!--begin::Head-->
<head>
<base href="../" />
<meta charset="utf-8" />
<title>Metronic | Dashboard</title>
<meta name="description" content="Updates and statistics" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
<!--begin::Fonts-->
<link rel="stylesheet" href="assets/css/googlefont/poppins.css" />
<link rel="stylesheet" href="assets/css/googlefont/publicsans.css" />
<link rel="stylesheet" href="assets/css/googlefont/roboto.css" />
<!--end::Fonts-->
<!--begin::Page Vendors Styles(used by this page)-->
<link
href="assets/plugins/custom/fullcalendar/fullcalendar.bundle.css"
rel="stylesheet"
type="text/css"
/>
<!--end::Page Vendors Styles-->
<!--begin::Global Theme Styles(used by all pages)-->
<link
href="assets/plugins/global/plugins.bundle.css"
rel="stylesheet"
type="text/css"
/>
<link
href="assets/plugins/custom/prismjs/prismjs.bundle.css"
rel="stylesheet"
type="text/css"
/>
<link href="assets/css/style.bundle.css" rel="stylesheet" type="text/css" />
<!--end::Global Theme Styles-->
<!--begin::Layout Themes(used by all pages)-->
<link
href="assets/css/themes/layout/header/base/light.css"
rel="stylesheet"
type="text/css"
/>
<link
href="assets/css/themes/layout/header/menu/light.css"
rel="stylesheet"
type="text/css"
/>
<link
href="assets/css/themes/layout/brand/dark.css"
rel="stylesheet"
type="text/css"
/>
<link
href="assets/css/themes/layout/aside/dark.css"
rel="stylesheet"
type="text/css"
/>
<!--end::Layout Themes-->
<link rel="shortcut icon" href="assets/media/logos/favicon.ico" />
<link rel="stylesheet" href="asset-corporate-portal/css/sas.bundle.css" />
</head>
<!--end::Head-->
<!--begin::Body-->
<body
id="kt_body"
class="header-fixed header-mobile-fixed subheader-enabled subheader-fixed subheader-mobile-fixed aside-enabled aside-fixed aside-minimize-hoverable page-loading"
>
<style>
body {
background-color: var(--fieldbg);
}
.card-control {
width: 390px;
height: 1212px;
/* background-image: url("asset-corporate-portal/media/kartukontrol/bg-kartuKontrol.svg");
background-size: 390px 1212px;
background-repeat: no-repeat; */
margin: auto;
}
.title {
font-family: Poppins;
font-size: 24px;
font-style: normal;
font-weight: 600;
line-height: normal;
}
.title-pertanyaan {
font-family: Poppins;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 24px;
}
.no-margin-padding {
margin: 0;
padding: 0;
}
.flex-container {
display: flex;
align-items: center;
align-items: flex-start;
}
.flex-number {
margin-right: 5px;
}
.flex-question {
flex-grow: 1;
}
.text-jawaban {
color: var(--textjawabansurveymcu);
font-family: Poppins;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 22px;
}
.radio-list {
display: flex;
flex-direction: column;
}
.radio {
display: flex;
align-items: center;
margin-bottom: 10px;
}
.radio h3 {
margin: 0;
padding-left: 10px;
}
.saran-mcu::placeholder {
color: var(--text-disabled);
font-family: Poppins, sans-serif;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: normal;
}
.title-button {
font-family: "Public Sans";
font-size: 15px;
font-style: normal;
font-weight: 700;
line-height: 26px;
}
</style>
<!--begin::Container-->
<div class="content-fluid bg-field">
<!-- judul start -->
<div class="py-15 px-9">
<h1 class="title text-primary text-center">Survey MCU</h1>
</div>
<!-- judul end -->
<div class="mb-2"></div>
<div class="px-10">
<!-- pertanyaan 1 start -->
<div class="card shadow-sm py-2 mb-8" style="border-radius: 12px">
<div class="card-body px-10 py-10">
<!-- pertanyaan -->
<div class="flex-container">
<h5
class="title-pertanyaan text-black no-margin-padding flex-number"
>
1.&nbsp;
</h5>
<h5
class="title-pertanyaan text-black no-margin-padding flex-question"
>
Bagaimana Penilaian Sikap & Keramahan Petugas?
</h5>
</div>
<!-- jawaban start -->
<div class="mt-5">
<div class="row">
<div class="col-12">
<div class="form-group">
<div class="radio-list">
<label class="radio">
<input type="radio" name="radios1" />
<span></span>
<h3 class="text-jawaban">Baik</h3>
</label>
<label class="radio">
<input type="radio" name="radios1" />
<span></span>
<h3 class="text-jawaban">Kurang</h3>
</label>
</div>
</div>
</div>
</div>
</div>
<!-- error pertanyaan kosong start -->
<div class="form-group validated">
<div class="invalid-feedback">
Mohon untuk menjawab pertanyaan ini
</div>
</div>
<!-- error pertanyaan kosong end -->
<!-- jawaban end -->
</div>
</div>
<!-- pertanyaan 1 end -->
<!-- pertanyaan 2 start -->
<div class="card shadow-sm py-2 mb-8" style="border-radius: 12px">
<div class="card-body px-10 py-10">
<!-- pertanyaan -->
<div class="flex-container">
<h5
class="title-pertanyaan text-black no-margin-padding flex-number"
>
2.&nbsp;
</h5>
<h5
class="title-pertanyaan text-black no-margin-padding flex-question"
>
Bagaimana Penilaian Penampilan Petugas?
</h5>
</div>
<!-- jawaban start -->
<div class="mt-5">
<div class="row">
<div class="col-12">
<div class="form-group">
<div class="radio-list">
<label class="radio">
<input type="radio" name="radios2" />
<span></span>
<h3 class="text-jawaban">Baik</h3>
</label>
<label class="radio">
<input type="radio" name="radios2" />
<span></span>
<h3 class="text-jawaban">Kurang</h3>
</label>
</div>
</div>
</div>
<div class="col-12"></div>
</div>
</div>
<!-- error pertanyaan kosong start -->
<div class="form-group validated">
<div class="invalid-feedback">
Mohon untuk menjawab pertanyaan ini
</div>
</div>
<!-- error pertanyaan kosong end -->
<!-- jawaban end -->
</div>
</div>
<!-- pertanyaan 2 end -->
<!-- pertanyaan 3 start -->
<div class="card shadow-sm py-2 mb-8" style="border-radius: 12px">
<div class="card-body px-10 py-10">
<!-- pertanyaan -->
<div class="flex-container">
<h5
class="title-pertanyaan text-black no-margin-padding flex-number"
>
3.&nbsp;
</h5>
<h5
class="title-pertanyaan text-black no-margin-padding flex-question"
>
Bagaimana Penilaian Ketrampilan Petugas?
</h5>
</div>
<!-- jawaban start -->
<div class="mt-5">
<div class="row">
<div class="col-12">
<div class="form-group">
<div class="radio-list">
<label class="radio">
<input type="radio" name="radios3" />
<span></span>
<h3 class="text-jawaban">Baik</h3>
</label>
<label class="radio">
<input type="radio" name="radios3" />
<span></span>
<h3 class="text-jawaban">Kurang</h3>
</label>
</div>
</div>
</div>
</div>
</div>
<!-- error pertanyaan kosong start -->
<div class="form-group validated">
<div class="invalid-feedback">
Mohon untuk menjawab pertanyaan ini
</div>
</div>
<!-- error pertanyaan kosong end -->
<!-- jawaban end -->
</div>
</div>
<!-- pertanyaan 3 end -->
<!-- pertanyaan 4 start -->
<div class="card shadow-sm py-2 mb-8" style="border-radius: 12px">
<div class="card-body px-10 py-10">
<!-- pertanyaan -->
<div class="flex-container">
<h5
class="title-pertanyaan text-black no-margin-padding flex-number"
>
4.&nbsp;
</h5>
<h5
class="title-pertanyaan text-black no-margin-padding flex-question"
>
Bagaimana Penilaian Pemberian Informasi Petugas?
</h5>
</div>
<!-- jawaban start -->
<div class="mt-5">
<div class="row">
<div class="col-12">
<div class="form-group">
<div class="radio-list">
<label class="radio">
<input type="radio" name="radios4" />
<span></span>
<h3 class="text-jawaban">Baik</h3>
</label>
<label class="radio">
<input type="radio" name="radios4" />
<span></span>
<h3 class="text-jawaban">Kurang</h3>
</label>
</div>
</div>
</div>
</div>
</div>
<!-- error pertanyaan kosong start -->
<div class="form-group validated">
<div class="invalid-feedback">
Mohon untuk menjawab pertanyaan ini
</div>
</div>
<!-- error pertanyaan kosong end -->
<!-- jawaban end -->
</div>
</div>
<!-- pertanyaan 4 end -->
<!-- pertanyaan 5 start -->
<div class="card shadow-sm py-2 mb-8" style="border-radius: 12px">
<div class="card-body px-10 py-10">
<!-- pertanyaan -->
<div class="flex-container">
<h5
class="title-pertanyaan text-black no-margin-padding flex-number"
>
5.&nbsp;
</h5>
<h5
class="title-pertanyaan text-black no-margin-padding flex-question"
>
Bagaimana Penilaian Kelengkapan Alat?
</h5>
</div>
<!-- jawaban start -->
<div class="mt-5">
<div class="row">
<div class="col-12">
<div class="form-group">
<div class="radio-list">
<label class="radio">
<input type="radio" name="radios5" />
<span></span>
<h3 class="text-jawaban">Baik</h3>
</label>
<label class="radio">
<input type="radio" name="radios5" />
<span></span>
<h3 class="text-jawaban">Kurang</h3>
</label>
</div>
</div>
</div>
</div>
</div>
<!-- error pertanyaan kosong start -->
<div class="form-group validated">
<div class="invalid-feedback">
Mohon untuk menjawab pertanyaan ini
</div>
</div>
<!-- error pertanyaan kosong end -->
<!-- jawaban end -->
</div>
</div>
<!-- pertanyaan 5 end -->
<!-- pertanyaan 6 start -->
<div class="card shadow-sm py-2 mb-8" style="border-radius: 12px">
<div class="card-body px-10 py-10">
<!-- pertanyaan -->
<div class="flex-container">
<h5
class="title-pertanyaan text-black no-margin-padding flex-number"
>
6.&nbsp;
</h5>
<h5
class="title-pertanyaan text-black no-margin-padding flex-question"
>
Bagaimana Penilaian Kelayakan Alat?
</h5>
</div>
<!-- jawaban start -->
<div class="mt-5">
<div class="row">
<div class="col-12">
<div class="form-group">
<div class="radio-list">
<label class="radio">
<input type="radio" name="radios6" />
<span></span>
<h3 class="text-jawaban">Baik</h3>
</label>
<label class="radio">
<input type="radio" name="radios6" />
<span></span>
<h3 class="text-jawaban">Kurang</h3>
</label>
</div>
</div>
</div>
</div>
</div>
<!-- error pertanyaan kosong start -->
<div class="form-group validated">
<div class="invalid-feedback">
Mohon untuk menjawab pertanyaan ini
</div>
</div>
<!-- error pertanyaan kosong end -->
<!-- jawaban end -->
</div>
</div>
<!-- pertanyaan 6 end -->
<!-- pertanyaan 7 start -->
<div class="card shadow-sm py-2 mb-8" style="border-radius: 12px">
<div class="card-body px-10 py-10">
<!-- pertanyaan -->
<div class="flex-container">
<h5
class="title-pertanyaan text-black no-margin-padding flex-number"
>
7.&nbsp;
</h5>
<h5
class="title-pertanyaan text-black no-margin-padding flex-question"
>
Bagaimana Penilaian Kebersihan Ruangan?
</h5>
</div>
<!-- jawaban start -->
<div class="mt-5">
<div class="row">
<div class="col-12">
<div class="form-group">
<div class="radio-list">
<label class="radio">
<input type="radio" name="radios7" />
<span></span>
<h3 class="text-jawaban">Baik</h3>
</label>
<label class="radio">
<input type="radio" name="radios7" />
<span></span>
<h3 class="text-jawaban">Kurang</h3>
</label>
</div>
</div>
</div>
</div>
</div>
<!-- error pertanyaan kosong start -->
<div class="form-group validated">
<div class="invalid-feedback">
Mohon untuk menjawab pertanyaan ini
</div>
</div>
<!-- error pertanyaan kosong end -->
<!-- jawaban end -->
</div>
</div>
<!-- pertanyaan 7 end -->
<!-- pertanyaan 8 start -->
<div class="card shadow-sm py-2 mb-8" style="border-radius: 12px">
<div class="card-body px-10 py-10">
<!-- pertanyaan -->
<div class="flex-container">
<h5
class="title-pertanyaan text-black no-margin-padding flex-number"
>
8.&nbsp;
</h5>
<h5
class="title-pertanyaan text-black no-margin-padding flex-question"
>
Bagaimana Penilaian Kebersihan Ruangan?
</h5>
</div>
<!-- jawaban start -->
<div class="mt-5">
<div class="row">
<div class="col-12">
<div class="form-group">
<div class="radio-list">
<label class="radio">
<input type="radio" name="radios8" />
<span></span>
<h3 class="text-jawaban">Baik</h3>
</label>
<label class="radio">
<input type="radio" name="radios8" />
<span></span>
<h3 class="text-jawaban">Kurang</h3>
</label>
</div>
</div>
</div>
</div>
</div>
<!-- error pertanyaan kosong start -->
<div class="form-group validated">
<div class="invalid-feedback">
Mohon untuk menjawab pertanyaan ini
</div>
</div>
<!-- error pertanyaan kosong end -->
<!-- jawaban end -->
</div>
</div>
<!-- pertanyaan 8 end -->
<!-- pertanyaan 9 start -->
<div class="card shadow-sm py-2 mb-8" style="border-radius: 12px">
<div class="card-body px-10 py-10">
<!-- pertanyaan -->
<div class="flex-container">
<h5
class="title-pertanyaan text-black no-margin-padding flex-number"
>
9.&nbsp;
</h5>
<h5
class="title-pertanyaan text-black no-margin-padding flex-question"
>
Bagaimana Penilaian Alur Pelayanan?
</h5>
</div>
<!-- jawaban start -->
<div class="mt-5">
<div class="row">
<div class="col-12">
<div class="form-group">
<div class="radio-list">
<label class="radio">
<input type="radio" name="radios9" />
<span></span>
<h3 class="text-jawaban">Baik</h3>
</label>
<label class="radio">
<input type="radio" name="radios9" />
<span></span>
<h3 class="text-jawaban">Kurang</h3>
</label>
</div>
</div>
</div>
</div>
</div>
<!-- error pertanyaan kosong start -->
<div class="form-group validated">
<div class="invalid-feedback">
Mohon untuk menjawab pertanyaan ini
</div>
</div>
<!-- error pertanyaan kosong end -->
<!-- jawaban end -->
</div>
</div>
<!-- pertanyaan 9 end -->
<!-- pertanyaan 10 start -->
<div class="card shadow-sm py-2 mb-8" style="border-radius: 12px">
<div class="card-body px-10 py-10">
<!-- pertanyaan -->
<div class="flex-container">
<h5
class="title-pertanyaan text-black no-margin-padding flex-number"
>
10.&nbsp;
</h5>
<h5
class="title-pertanyaan text-black no-margin-padding flex-question"
>
Bagaimana Penilaian Ketepatan Waktu?
</h5>
</div>
<!-- jawaban start -->
<div class="mt-5">
<div class="row">
<div class="col-12">
<div class="form-group">
<div class="radio-list">
<label class="radio">
<input type="radio" name="radios10" />
<span></span>
<h3 class="text-jawaban">Baik</h3>
</label>
<label class="radio">
<input type="radio" name="radios10" />
<span></span>
<h3 class="text-jawaban">Kurang</h3>
</label>
</div>
</div>
</div>
</div>
</div>
<!-- error pertanyaan kosong start -->
<div class="form-group validated">
<div class="invalid-feedback">
Mohon untuk menjawab pertanyaan ini
</div>
</div>
<!-- error pertanyaan kosong end -->
<!-- jawaban end -->
</div>
</div>
<!-- pertanyaan 10 end -->
<!-- text area saran start -->
<textarea
class="form-control saran-mcu mb-10"
id="saranMcu"
rows="9"
placeholder="Saran"
></textarea>
<!-- text area saran end -->
<!-- button submit start -->
<button
type="button"
class="btn btn-lg btn-primary text-white"
style="border-radius: 8px; width: 100%"
onclick="showWordingModal()"
>
<span class="title-button text-center">Submit</span>
</button>
<!-- button submit end -->
<!-- atur spacing bottom -->
<div style="height: 14vh"></div>
</div>
</div>
<!--end::Container-->
<!-- modal wording start -->
<div
class="modal fade"
style="display: none"
id="modalWordingSurveyMcu"
tabindex="-1"
role="dialog"
data-backdrop="static"
aria-hidden="true"
>
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content rounded-lg">
<div class="modal-header border-bottom-0">
<h1 class="text-black font-weight-bolder">Perhatian</h1>
</div>
<div class="modal-body border-bottom-0">
<h6 class="text-black">
<!-- Silahkan isi questioner untuk membantu peningkatan layanan kami. -->
Mohon untuk mengisi dengan menjawab semua pertanyaan di questioner
ini,
<br />
untuk membantu peningkatan layanan kami <br /><br />Terima kasih.
</h6>
</div>
<div class="modal-footer border-top-0">
<button
type="button"
class="btn btn-primary btn-shadow font-weight-bold rounded-lg"
onclick="hideWordingModal()"
>
OK
</button>
</div>
</div>
</div>
</div>
<!-- modal wording end -->
<script>
var HOST_URL =
"https://preview.keenthemes.com/metronic/theme/html/tools/preview";
</script>
<!--begin::Global Config(global config for global JS scripts)-->
<script>
var KTAppSettings = {
breakpoints: {
sm: 576,
md: 768,
lg: 992,
xl: 1200,
xxl: 1400,
},
colors: {
theme: {
base: {
white: "#ffffff",
primary: "#3699FF",
secondary: "#E5EAEE",
success: "#1BC5BD",
info: "#8950FC",
warning: "#FFA800",
danger: "#F64E60",
light: "#E4E6EF",
dark: "#181C32",
},
light: {
white: "#ffffff",
primary: "#E1F0FF",
secondary: "#EBEDF3",
success: "#C9F7F5",
info: "#EEE5FF",
warning: "#FFF4DE",
danger: "#FFE2E5",
light: "#F3F6F9",
dark: "#D6D6E0",
},
inverse: {
white: "#ffffff",
primary: "#ffffff",
secondary: "#3F4254",
success: "#ffffff",
info: "#ffffff",
warning: "#ffffff",
danger: "#ffffff",
light: "#464E5F",
dark: "#ffffff",
},
},
gray: {
"gray-100": "#F3F6F9",
"gray-200": "#EBEDF3",
"gray-300": "#E4E6EF",
"gray-400": "#D1D3E0",
"gray-500": "#B5B5C3",
"gray-600": "#7E8299",
"gray-700": "#5E6278",
"gray-800": "#3F4254",
"gray-900": "#181C32",
},
},
"font-family": "Poppins",
};
</script>
<!--end::Global Config-->
<!--begin::Global Theme Bundle(used by all pages)-->
<script src="assets/plugins/global/plugins.bundle.js"></script>
<script src="assets/plugins/custom/prismjs/prismjs.bundle.js"></script>
<script src="assets/js/scripts.bundle.js"></script>
<!--end::Global Theme Bundle-->
<!--begin::Page Vendors(used by this page)-->
<script src="assets/plugins/custom/fullcalendar/fullcalendar.bundle.js"></script>
<!--end::Page Vendors-->
<!--begin::Page Scripts(used by this page)-->
<script src="assets/js/pages/widgets.js"></script>
<!--end::Page Scripts-->
<script src="assets/js/iconify/iconify.min.js"></script>
<script>
var saranMcu = $("#saranMcu");
autosize(saranMcu);
function showWordingModal() {
// $("#modalWordingSurveyMcu").on("shown.bs.modal", function () {});
$("#modalWordingSurveyMcu").modal("show");
}
function hideWordingModal() {
// $("#modalWordingSurveyMcu").on("hidden.bs.modal", function (e) {});
$("#modalWordingSurveyMcu").modal("hide");
}
</script>
</body>
<!--end::Body-->
</html>

View File

@@ -0,0 +1,377 @@
<!DOCTYPE html>
<!--
Template Name: Metronic - Bootstrap 4 HTML, React, Angular 9 & VueJS Admin Dashboard Theme
Author: KeenThemes
Website: http://www.keenthemes.com/
Contact: support@keenthemes.com
Follow: www.twitter.com/keenthemes
Dribbble: www.dribbble.com/keenthemes
Like: www.facebook.com/keenthemes
Purchase: https://1.envato.market/EA4JP
Renew Support: https://1.envato.market/EA4JP
License: You must have a valid license purchased only from themeforest(the above link) in order to legally use the theme for your project.
-->
<html lang="en">
<!--begin::Head-->
<head>
<base href="../" />
<meta charset="utf-8" />
<title>Metronic | Dashboard</title>
<meta name="description" content="Updates and statistics" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
<!--begin::Fonts-->
<link
rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700"
/>
<!--end::Fonts-->
<!--begin::Page Vendors Styles(used by this page)-->
<link
href="assets/plugins/custom/fullcalendar/fullcalendar.bundle.css"
rel="stylesheet"
type="text/css"
/>
<!--end::Page Vendors Styles-->
<!--begin::Global Theme Styles(used by all pages)-->
<link
href="assets/plugins/global/plugins.bundle.css"
rel="stylesheet"
type="text/css"
/>
<link
href="assets/plugins/custom/prismjs/prismjs.bundle.css"
rel="stylesheet"
type="text/css"
/>
<link href="assets/css/style.bundle.css" rel="stylesheet" type="text/css" />
<!--end::Global Theme Styles-->
<!--begin::Layout Themes(used by all pages)-->
<link
href="assets/css/themes/layout/header/base/light.css"
rel="stylesheet"
type="text/css"
/>
<link
href="assets/css/themes/layout/header/menu/light.css"
rel="stylesheet"
type="text/css"
/>
<link
href="assets/css/themes/layout/brand/dark.css"
rel="stylesheet"
type="text/css"
/>
<link
href="assets/css/themes/layout/aside/dark.css"
rel="stylesheet"
type="text/css"
/>
<!--end::Layout Themes-->
<link rel="shortcut icon" href="assets/media/logos/favicon.ico" />
<link rel="stylesheet" href="asset-corporate-portal/css/sas.bundle.css" />
<script src="https://unpkg.com/htmx.org@1.9.12/dist/htmx.js"></script>
</head>
<!--end::Head-->
<!--begin::Body-->
<body
id="kt_body"
class="header-fixed header-mobile-fixed subheader-enabled subheader-fixed subheader-mobile-fixed aside-enabled aside-fixed aside-minimize-hoverable page-loading"
>
<style>
body {
background-color: var(--white);
}
.card-control {
width: 390px;
height: 1212px;
background-image: url("asset-corporate-portal/media/kartukontrol/bg-kartuKontrol.svg");
background-size: 390px 1212px;
background-repeat: no-repeat;
margin: auto;
}
.foto {
width: 70px;
height: 79px;
background-image: url("assets/media/svg/avatars/001-boy.svg");
background-size: 70px 79px;
background-repeat: no-repeat;
}
.top-right {
position: absolute;
top: 0;
right: 0;
}
h5 {
font-size: 14px;
}
h6 {
font-size: 12px;
}
.smallf {
font-size: 10px;
}
.modalcover {
background-color: #00000073;
}
</style>
<!--begin::Container-->
<div class="content-fluid bg-white">
<div class="card-control py-19 px-9">
<!-- begin::Data Pasien -->
<div class="left pt-6 pl-7" style="position: relative">
<div class="foto top-right mt-7 mr-6"></div>
<div class="card-label">
<h4>Data Pasien</h4>
</div>
<div class="pt-4">
<h5 class="text-primary">No Registrasi</h5>
<h5>00234</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Nomor Lab</h5>
<h5>LA90002</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Nama Pasien</h5>
<h5>Hendra Setiawan</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Tanggal Lahir / Umur</h5>
<h5>1 Jan 2000 / 24 tahun</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Jenis Kelamin</h5>
<h5>Laki - laki</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Divisi</h5>
<h5>Development</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Company</h5>
<h5>PT.Sadhana Abiyasa Sampoerna</h5>
</div>
</div>
<!-- end::Data Pasien -->
<!-- begin::Daftar Pemeriksaan -->
<div class="card shadow-sm py-2 mt-29">
<div class="card-body px-3 py-2">
<h5 class="card-title">Daftar Pemeriksaan</h5>
<ul class="list-group text-grey ml-7 mt-1">
<li><h6>Hematologi Lengkap</h6></li>
<li><h6>Urine Lengkap</h6></li>
<li><h6>ACG</h6></li>
<li><h6>Treadmill</h6></li>
<li><h6>Pemeriksaan Fisik</h6></li>
<li><h6>Hematologi Lengkap</h6></li>
<li><h6>Urine Lengkap</h6></li>
<li><h6>ACG</h6></li>
<li><h6>Treadmill</h6></li>
<li><h6>Pemeriksaan Fisik</h6></li>
<li><h6>Hematologi Lengkap</h6></li>
<li><h6>Urine Lengkap</h6></li>
<li><h6>ACG</h6></li>
<li><h6>Treadmill</h6></li>
<li><h6>Pemeriksaan Fisik</h6></li>
</ul>
</div>
</div>
<!-- end::Daftar Pemeriksaan -->
<div class="card shadow-sm py-2 mt-6">
<div class="card-body px-3 py-2">
<!-- begin::Pemeriksaan/Pengambilan Sample -->
<h5 class="card-title">Pemeriksaan / Pengambilan Sample</h5>
<div class="text-grey mb-3">
<h5>Laboratorium</h5>
<ul class="list-group ml-7 mt-1">
<li class="justify-content-center align-items-center mb-3">
<div class="row">
<div class="col-9 d-flex">
<h6>Darah</h6>
<span class="smallf pl-5 vertical">15-05-2024 10:00</span>
</div>
<div class="col-3">
<span
class="label label-inline font-weight-bold kartukontrol-sudah-label mr-2 shadow-sm"
>Sudah</span
>
</div>
</div>
</li>
<li>
<div class="row">
<div class="col-9 d-flex">
<h6>Urine</h6>
<span class="pl-5 smallf">15-05-2024 10:00</span>
</div>
<div class="col-3">
<span
class="label label-inline font-weight-bold kartukontrol-sudah-label mr-2 shadow-sm"
>Sudah</span
>
</div>
</div>
</li>
</ul>
</div>
<div class="text-grey mb-3">
<h5>Rontgen</h5>
<ul class="list-group ml-7 mt-1">
<li class="mb-3">
<div class="row">
<div class="col-9 d-flex">
<h6>Thorax AP (PCR)</h6>
<label class="smallf pl-5">15-05-2024 10:50</label>
</div>
<div class="col-3">
<span
class="label label-inline font-weight-bold kartukontrol-sudah-label mr-2 shadow-sm"
>Sudah</span
>
</div>
</div>
</li>
</ul>
</div>
<div class="text-grey mb-3">
<h5>Elektromedis</h5>
<ul class="list-group ml-7 mt-1">
<li class="mb-3">
<div class="row">
<div class="col-9"><h6>ECG</h6></div>
<div class="col-3">
<span
class="label label-inline font-weight-bold kartukontrol-pending-label mr-2 shadow-sm"
>Belum</span
>
</div>
</div>
</li>
</ul>
</div>
<!-- end::Pemeriksaan/Pengambilan Sample -->
</div>
</div>
<!-- atur spacing bottom -->
<div style="height: 14vh"></div>
</div>
</div>
<!-- modal wording start -->
<div hx-trigger="load delay:3s" hx-get="../assets/mcu/be_wording.php"></div>
<div id="dataContainer"></div>
<!-- modal wording end -->
<!--end::Container-->
<script>
var HOST_URL =
"https://preview.keenthemes.com/metronic/theme/html/tools/preview";
</script>
<!--begin::Global Config(global config for global JS scripts)-->
<script>
var KTAppSettings = {
breakpoints: {
sm: 576,
md: 768,
lg: 992,
xl: 1200,
xxl: 1400,
},
colors: {
theme: {
base: {
white: "#ffffff",
primary: "#3699FF",
secondary: "#E5EAEE",
success: "#1BC5BD",
info: "#8950FC",
warning: "#FFA800",
danger: "#F64E60",
light: "#E4E6EF",
dark: "#181C32",
},
light: {
white: "#ffffff",
primary: "#E1F0FF",
secondary: "#EBEDF3",
success: "#C9F7F5",
info: "#EEE5FF",
warning: "#FFF4DE",
danger: "#FFE2E5",
light: "#F3F6F9",
dark: "#D6D6E0",
},
inverse: {
white: "#ffffff",
primary: "#ffffff",
secondary: "#3F4254",
success: "#ffffff",
info: "#ffffff",
warning: "#ffffff",
danger: "#ffffff",
light: "#464E5F",
dark: "#ffffff",
},
},
gray: {
"gray-100": "#F3F6F9",
"gray-200": "#EBEDF3",
"gray-300": "#E4E6EF",
"gray-400": "#D1D3E0",
"gray-500": "#B5B5C3",
"gray-600": "#7E8299",
"gray-700": "#5E6278",
"gray-800": "#3F4254",
"gray-900": "#181C32",
},
},
"font-family": "Poppins",
};
</script>
<!--end::Global Config-->
<!--begin::Global Theme Bundle(used by all pages)-->
<script src="assets/plugins/global/plugins.bundle.js"></script>
<script src="assets/plugins/custom/prismjs/prismjs.bundle.js"></script>
<script src="assets/js/scripts.bundle.js"></script>
<!--end::Global Theme Bundle-->
<!--begin::Page Vendors(used by this page)-->
<script src="assets/plugins/custom/fullcalendar/fullcalendar.bundle.js"></script>
<!--end::Page Vendors-->
<!--begin::Page Scripts(used by this page)-->
<script src="assets/js/pages/widgets.js"></script>
<!--end::Page Scripts-->
<script src="assets/js/iconify/iconify.min.js"></script>
<script>
function showWordingModal() {
// $("#modalWordingSurveyMcu").on("shown.bs.modal", function () {});
$("#modalWordingSurveyMcu").modal("show");
}
function hideWordingModal() {
// $("#modalWordingSurveyMcu").on("hidden.bs.modal", function (e) {});
$("#modalWordingSurveyMcu").modal("hide");
}
</script>
</body>
<!--end::Body-->
</html>

View File

@@ -2109,7 +2109,40 @@ License: You must have a valid license purchased only from themeforest(the above
<!--end:: Footer-->
</div>
<!--end:: Wrapper-->
<button type="button" class="btn btn-primary" id="liveToastBtn">
Show live toast
</button>
<div
class="position-fixed bottom-0 right-0 p-3"
style="z-index: 5; right: 0; bottom: 0;"
>
<div
id="liveToast"
class="toast hide"
role="alert"
aria-live="assertive"
aria-atomic="true"
data-delay="2000"
>
<div class="toast-header">
<img src="..." class="rounded mr-2" alt="..." />
<strong class="mr-auto">Bootstrap</strong>
<small>11 mins ago</small>
<button
type="button"
class="ml-2 mb-1 close"
data-dismiss="toast"
aria-label="Close"
>
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
</div>
</div>
</div>
<script>
var HOST_URL =
"https://preview.keenthemes.com/metronic/theme/html/tools/preview";

View File

@@ -4,7 +4,14 @@ import "cpone/models"
templ CustomTextFieldv2(inp models.CustomTextFieldv2Prm) {
<div class="form-group">
<label class="text-black" style="font-family: Poppins; font-weight: 600;">{ inp.Label } </label>
<label
if inp.Type == "hidden" {
class="text-black d-none"
} else {
class="text-black"
}
style="font-family: Poppins; font-weight: 600;"
>{ inp.Label } </label>
<input
id={ inp.Name }
name={ inp.Name }
@@ -14,7 +21,7 @@ templ CustomTextFieldv2(inp models.CustomTextFieldv2Prm) {
if inp.ErrorMsg =="" {
class="form-control bg-field border-0 h-auto py-6 px-6 rounded-lg"
} else {
class="form-control bg-field border-0 h-auto py-6 px-6 rounded-lg is-invalid"
class="form-control bg-field border-1 h-auto py-6 px-6 rounded-lg is-invalid"
}
/>
<div class="invalid-feedback text-danger mt-3 ml-2">

View File

@@ -25,14 +25,29 @@ func CustomTextFieldv2(inp models.CustomTextFieldv2Prm) templ.Component {
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"form-group\"><label class=\"text-black\" style=\"font-family: Poppins; font-weight: 600;\">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"form-group\"><label")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if inp.Type == "hidden" {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" class=\"text-black d-none\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" class=\"text-black\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" style=\"font-family: Poppins; font-weight: 600;\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(inp.Label)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfield\customtextfieldv2.templ`, Line: 7, Col: 87}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfield\customtextfieldv2.templ`, Line: 14, Col: 14}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
if templ_7745c5c3_Err != nil {
@@ -45,7 +60,7 @@ func CustomTextFieldv2(inp models.CustomTextFieldv2Prm) templ.Component {
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(inp.Name)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfield\customtextfieldv2.templ`, Line: 9, Col: 16}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfield\customtextfieldv2.templ`, Line: 16, Col: 16}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
@@ -58,7 +73,7 @@ func CustomTextFieldv2(inp models.CustomTextFieldv2Prm) templ.Component {
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(inp.Name)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfield\customtextfieldv2.templ`, Line: 10, Col: 18}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfield\customtextfieldv2.templ`, Line: 17, Col: 18}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
@@ -71,7 +86,7 @@ func CustomTextFieldv2(inp models.CustomTextFieldv2Prm) templ.Component {
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(inp.Type)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfield\customtextfieldv2.templ`, Line: 11, Col: 18}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfield\customtextfieldv2.templ`, Line: 18, Col: 18}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
@@ -84,7 +99,7 @@ func CustomTextFieldv2(inp models.CustomTextFieldv2Prm) templ.Component {
var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(inp.Placeholder)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfield\customtextfieldv2.templ`, Line: 12, Col: 32}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfield\customtextfieldv2.templ`, Line: 19, Col: 32}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
if templ_7745c5c3_Err != nil {
@@ -97,7 +112,7 @@ func CustomTextFieldv2(inp models.CustomTextFieldv2Prm) templ.Component {
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(inp.Value)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfield\customtextfieldv2.templ`, Line: 13, Col: 20}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfield\customtextfieldv2.templ`, Line: 20, Col: 20}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
if templ_7745c5c3_Err != nil {
@@ -113,7 +128,7 @@ func CustomTextFieldv2(inp models.CustomTextFieldv2Prm) templ.Component {
return templ_7745c5c3_Err
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" class=\"form-control bg-field border-0 h-auto py-6 px-6 rounded-lg is-invalid\"")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" class=\"form-control bg-field border-1 h-auto py-6 px-6 rounded-lg is-invalid\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -125,7 +140,7 @@ func CustomTextFieldv2(inp models.CustomTextFieldv2Prm) templ.Component {
var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(inp.ErrorMsg)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfield\customtextfieldv2.templ`, Line: 21, Col: 17}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfield\customtextfieldv2.templ`, Line: 28, Col: 17}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil {

View File

@@ -45,6 +45,41 @@ templ MainCustomTextFieldSearchV1(
hx-indicator={ hxIndicator }
value={ value }
hx-ext={ hxExt }
autocomplete="off"
autocomplete="off"
/>
}
templ MainCustomTextFieldSearchV2(
inpId,
inpName,
inpPlaceHolder,
inpType,
hxGet,
hxTrigger,
hxTarget,
hxIndicator,
value,
hxSwap string,
hxInclude string) {
<input
class="form-control bg-field border-0 h-auto py-6 px-6 rounded-lg"
type={ inpType }
name={ inpName }
id={ inpId }
placeholder={ inpPlaceHolder }
hx-get={ hxGet }
hx-trigger={ hxTrigger }
hx-target={ hxTarget }
hx-indicator={ hxIndicator }
value={ value }
hx-include={ hxInclude }
hx-swap={ hxSwap }
autocomplete="off"
/>
<script>
document.body.addEventListener('htmx:targetError', function(event) {
console.error('Error updating target element:', event.detail);
alert('There was an error updating the target element.');
});
</script>
}

View File

@@ -308,3 +308,181 @@ func MainCustomTextFieldSearchV1(
return templ_7745c5c3_Err
})
}
func MainCustomTextFieldSearchV2(
inpId,
inpName,
inpPlaceHolder,
inpType,
hxGet,
hxTrigger,
hxTarget,
hxIndicator,
value,
hxSwap string,
hxInclude string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var21 := templ.GetChildren(ctx)
if templ_7745c5c3_Var21 == nil {
templ_7745c5c3_Var21 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<input class=\"form-control bg-field border-0 h-auto py-6 px-6 rounded-lg\" type=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var22 string
templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(inpType)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 66, Col: 16}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" name=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var23 string
templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinStringErrs(inpName)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 67, Col: 16}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var24 string
templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(inpId)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 68, Col: 12}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" placeholder=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var25 string
templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.JoinStringErrs(inpPlaceHolder)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 69, Col: 30}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var25))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-get=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var26 string
templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.JoinStringErrs(hxGet)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 70, Col: 16}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var26))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-trigger=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var27 string
templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(hxTrigger)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 71, Col: 24}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-target=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var28 string
templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.JoinStringErrs(hxTarget)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 72, Col: 22}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var28))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-indicator=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var29 string
templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinStringErrs(hxIndicator)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 73, Col: 28}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" value=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var30 string
templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(value)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 74, Col: 15}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-include=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var31 string
templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(hxInclude)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 75, Col: 24}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-swap=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var32 string
templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(hxSwap)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\customtextfieldsearch\customtextfieldsearch.templ`, Line: 76, Col: 18}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" autocomplete=\"off\"><script>\r\n document.body.addEventListener('htmx:targetError', function(event) {\r\n console.error('Error updating target element:', event.detail);\r\n alert('There was an error updating the target element.');\r\n });\r\n</script>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}

View File

@@ -2,7 +2,7 @@ package navbar
import (
"cpone/component/sidebarmaster"
services "cpone/services/dev"
"cpone/models"
)
@@ -40,7 +40,7 @@ templ Navbar(dataUser models.User) {
</div>
}
templ NavbarMenu(datamenu []services.MasterMenu) {
templ NavbarMenu(datamenu []models.Menu) {
<div class="aside-menu-wrapper flex-column-fluid" id="kt_aside_menu_wrapper">
<!--begin::Menu Container-->
<div

View File

@@ -12,8 +12,8 @@ import "bytes"
import (
"cpone/component/sidebarmaster"
"cpone/models"
services "cpone/services/dev"
)
func Navbar(dataUser models.User) templ.Component {
@@ -53,7 +53,7 @@ func Navbar(dataUser models.User) templ.Component {
})
}
func NavbarMenu(datamenu []services.MasterMenu) templ.Component {
func NavbarMenu(datamenu []models.Menu) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {

View File

@@ -0,0 +1,49 @@
package pagination
import "strconv"
import "cpone/component/customtextfield"
import "cpone/models"
templ PaginationV2(length int,
currentPage int,
link string,
paginationID string,
hxInclude string,
hxTarget string,
hxSwap string,
hxIndicator string) {
// hx-on::before-request={ HideContent(contentID) }
// hx-on::after-request="alert('Done making a request!')"
<div class="d-flex justify-content-between align-items-center flex-wrap" id={ paginationID }>
<div class="d-flex flex-wrap py-2 mr-3">
for i:=0; i<length; i++ {
if (i+1) == currentPage {
<a
hx-get={ link + "?" + "page=" + strconv.Itoa(i+1) }
class="btn btn-icon btn-sm border-0 btn-light btn-hover-primary active mr-2 my-1"
hx-swap={ hxSwap }
hx-indicator={ hxIndicator }
hx-trigger="click"
hx-target={ hxTarget }
hx-include={ hxInclude }
hx-disabled-elt=".btneditug, .btndeleteug"
>{ strconv.Itoa(i+1) }</a>
} else {
<a
hx-get={ link + "?" + "page=" + strconv.Itoa(i+1) }
class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1"
hx-swap={ hxSwap }
hx-indicator={ hxIndicator }
hx-trigger="click"
hx-target={ hxTarget }
hx-include={ hxInclude }
hx-disabled-elt=".btneditug, .btndeleteug"
>{ strconv.Itoa(i+1) }</a>
}
}
</div>
</div>
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "currpage" + paginationID,
Type: "hidden",
Value: strconv.Itoa(currentPage)})
}

View File

@@ -0,0 +1,238 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.663
package pagination
//lint:file-ignore SA4006 This context is only used if a nested component is present.
import "github.com/a-h/templ"
import "context"
import "io"
import "bytes"
import "strconv"
import "cpone/component/customtextfield"
import "cpone/models"
func PaginationV2(length int,
currentPage int,
link string,
paginationID string,
hxInclude string,
hxTarget string,
hxSwap string,
hxIndicator string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
if templ_7745c5c3_Var1 == nil {
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"d-flex justify-content-between align-items-center flex-wrap\" id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(paginationID)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 17, Col: 91}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><div class=\"d-flex flex-wrap py-2 mr-3\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for i := 0; i < length; i++ {
if (i + 1) == currentPage {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<a hx-get=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(link + "?" + "page=" + strconv.Itoa(i+1))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 22, Col: 55}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"btn btn-icon btn-sm border-0 btn-light btn-hover-primary active mr-2 my-1\" hx-swap=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(hxSwap)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 24, Col: 22}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-indicator=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(hxIndicator)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 25, Col: 32}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-trigger=\"click\" hx-target=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(hxTarget)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 27, Col: 26}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-include=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(hxInclude)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 28, Col: 28}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-disabled-elt=\".btneditug, .btndeleteug\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(i + 1))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 30, Col: 25}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<a hx-get=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var9 string
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(link + "?" + "page=" + strconv.Itoa(i+1))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 33, Col: 55}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\" hx-swap=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var10 string
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(hxSwap)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 35, Col: 22}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-indicator=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var11 string
templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(hxIndicator)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 36, Col: 32}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-trigger=\"click\" hx-target=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var12 string
templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(hxTarget)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 38, Col: 26}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-include=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var13 string
templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(hxInclude)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 39, Col: 28}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-disabled-elt=\".btneditug, .btndeleteug\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var14 string
templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(i + 1))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\pagination\paginationv2.templ`, Line: 41, Col: 25}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "currpage" + paginationID,
Type: "hidden",
Value: strconv.Itoa(currentPage)}).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}

View File

@@ -1,7 +1,7 @@
package sidebarmaster
import (
services "cpone/services/dev"
"cpone/models"
)
templ MenuDashboard(ParentMenuName string, ParentMenuUrl string) {
@@ -50,7 +50,7 @@ templ ListMenuChildren(ChildrenMenuURL string, ChildrenMenuName string) {
</li>
}
templ ListMenuNavbar(ParentMenuName string, datamenuchildren []services.ChildrenMenu) {
templ ListMenuNavbar(ParentMenuName string, datamenuchildren []models.ChildrenMenu) {
<li class="menu-item menu-item-submenu" aria-haspopup="true" data-menu-toggle="hover">
<a
href="javascript:;"

View File

@@ -11,7 +11,7 @@ import "io"
import "bytes"
import (
services "cpone/services/dev"
"cpone/models"
)
func MenuDashboard(ParentMenuName string, ParentMenuUrl string) templ.Component {
@@ -106,7 +106,7 @@ func ListMenuChildren(ChildrenMenuURL string, ChildrenMenuName string) templ.Com
})
}
func ListMenuNavbar(ParentMenuName string, datamenuchildren []services.ChildrenMenu) templ.Component {
func ListMenuNavbar(ParentMenuName string, datamenuchildren []models.ChildrenMenu) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {

View File

@@ -27,6 +27,5 @@ templ TableV2(thName []string, thWidth []string, trComponent templ.Component, pa
}
templ DivEmpty() {
<div>
</div>
}
<div></div>
}

View File

@@ -0,0 +1,27 @@
package tablecomponent
templ TableV3(thName []string, thWidth []string, trComponent templ.Component) {
<div>
if len(thName) != len(thWidth) {
<div>length array thname berbeda dengan array thwidth</div>
} else {
<div class="mt-7"></div>
<table class="table table-hover table-borderless">
<thead>
<tr class="rounded-lg bg-header-table">
for i, item := range thName {
<th scope="col" width={ thWidth[i] }>{ item }</th>
}
</tr>
</thead>
<tbody>
@trComponent
</tbody>
</table>
}
</div>
}
templ DivEmptyV3() {
<div></div>
}

View File

@@ -0,0 +1,118 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.663
package tablecomponent
//lint:file-ignore SA4006 This context is only used if a nested component is present.
import "github.com/a-h/templ"
import "context"
import "io"
import "bytes"
func TableV3(thName []string, thWidth []string, trComponent templ.Component) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
if templ_7745c5c3_Var1 == nil {
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(thName) != len(thWidth) {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div>length array thname berbeda dengan array thwidth</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"mt-7\"></div><table class=\"table table-hover table-borderless\"><thead><tr class=\"rounded-lg bg-header-table\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for i, item := range thName {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<th scope=\"col\" width=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(thWidth[i])
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\table\tablev3.templ`, Line: 13, Col: 41}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(item)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\table\tablev3.templ`, Line: 13, Col: 50}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</th>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</tr></thead> <tbody>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = trComponent.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</tbody></table>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func DivEmptyV3() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var4 := templ.GetChildren(ctx)
if templ_7745c5c3_Var4 == nil {
templ_7745c5c3_Var4 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}

View File

@@ -0,0 +1,86 @@
package customtoastv1
// kalau eror => bg nya danger
// kalau sukses => bgnya success
// kalau warning => bgnya warning
func toastBackground(typeToast string) string {
return "bg-" + typeToast
}
func toastBody(typeToastBody string) string {
return "bg-" + typeToastBody + "-transparent"
}
func toastIcon(typeToast string) string {
var stringx string
if typeToast == "success" {
stringx = "solar:check-circle-broken"
} else {
if typeToast == "danger" {
stringx = "solar:close-circle-broken"
} else {
if typeToast == "warning" {
stringx = "solar:shield-warning-bold"
} else {
if typeToast == "information" {
stringx = "solar:info-square-broken"
}
}
}
}
return stringx
}
templ CustomToastV2Show(title string, message string, typeToast string) {
<div
class="toast fade show"
role="alert"
aria-live="assertive"
aria-atomic="true"
id="notification-001"
hx-swap-oob="true"
hx-get="/dev/hidetoast"
hx-trigger="load delay:3s"
hx-target="this"
style="border-radius: 8px 8px 8px 8px;"
>
<div class={ "toast-header", toastBackground(typeToast) , "text-white" }>
<span
class="iconify mr-2"
data-icon={ toastIcon(typeToast) }
></span>
<strong class="mr-auto">{ title }</strong>
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class={ "toast-body",toastBody(typeToast) }>
{ message }
</div>
</div>
}
templ CustomToastV2Hide() {
<div id="notification-001"
class="toast fade hide"
role="alert"
aria-live="assertive"
aria-atomic="true"
style="opacity: 0"
hx-swap-oob="true"
>
<div class="toast-header bg-success text-white">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--ep mr-2 icon-xl" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 1024 1024" data-icon="ep:success-filled"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896a448 448 0 0 1 0-896m-55.808 536.384l-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"></path></svg>
<strong class="mr-auto">Success</strong>
<small class="text-muted text-white">just now</small>
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="toast-body bg-success-transparent">
This is a success toast.
</div>
</div>
}

View File

@@ -0,0 +1,175 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.663
package customtoastv1
//lint:file-ignore SA4006 This context is only used if a nested component is present.
import "github.com/a-h/templ"
import "context"
import "io"
import "bytes"
// kalau eror => bg nya danger
// kalau sukses => bgnya success
// kalau warning => bgnya warning
func toastBackground(typeToast string) string {
return "bg-" + typeToast
}
func toastBody(typeToastBody string) string {
return "bg-" + typeToastBody + "-transparent"
}
func toastIcon(typeToast string) string {
var stringx string
if typeToast == "success" {
stringx = "solar:check-circle-broken"
} else {
if typeToast == "danger" {
stringx = "solar:close-circle-broken"
} else {
if typeToast == "warning" {
stringx = "solar:shield-warning-bold"
} else {
if typeToast == "information" {
stringx = "solar:info-square-broken"
}
}
}
}
return stringx
}
func CustomToastV2Show(title string, message string, typeToast string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
if templ_7745c5c3_Var1 == nil {
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"toast fade show\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" id=\"notification-001\" hx-swap-oob=\"true\" hx-get=\"/dev/hidetoast\" hx-trigger=\"load delay:3s\" hx-target=\"this\" style=\"border-radius: 8px 8px 8px 8px;\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var2 = []any{"toast-header", toastBackground(typeToast), "text-white"}
templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var2...)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var2).String())
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\toastbootstrap\customtoastv2.templ`, Line: 1, Col: 0}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><span class=\"iconify mr-2\" data-icon=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(toastIcon(typeToast))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\toastbootstrap\customtoastv2.templ`, Line: 52, Col: 36}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"></span> <strong class=\"mr-auto\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(title)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\toastbootstrap\customtoastv2.templ`, Line: 54, Col: 34}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</strong> <button type=\"button\" class=\"ml-2 mb-1 close\" data-dismiss=\"toast\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var6 = []any{"toast-body", toastBody(typeToast)}
templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var6...)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var6).String())
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\toastbootstrap\customtoastv2.templ`, Line: 1, Col: 0}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(message)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\toastbootstrap\customtoastv2.templ`, Line: 60, Col: 12}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func CustomToastV2Hide() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var9 := templ.GetChildren(ctx)
if templ_7745c5c3_Var9 == nil {
templ_7745c5c3_Var9 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"notification-001\" class=\"toast fade hide\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" style=\"opacity: 0\" hx-swap-oob=\"true\"><div class=\"toast-header bg-success text-white\"><svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-hidden=\"true\" role=\"img\" class=\"iconify iconify--ep mr-2 icon-xl\" width=\"1em\" height=\"1em\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 1024 1024\" data-icon=\"ep:success-filled\"><path fill=\"currentColor\" d=\"M512 64a448 448 0 1 1 0 896a448 448 0 0 1 0-896m-55.808 536.384l-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z\"></path></svg> <strong class=\"mr-auto\">Success</strong> <small class=\"text-muted text-white\">just now</small> <button type=\"button\" class=\"ml-2 mb-1 close\" data-dismiss=\"toast\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button></div><div class=\"toast-body bg-success-transparent\">This is a success toast.\r</div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}

View File

@@ -0,0 +1,69 @@
package dev_handlers
import (
"cpone/models"
"cpone/utils"
kartukontrol "cpone/views/dev/kartukontrol"
"github.com/a-h/templ"
"github.com/labstack/echo/v4"
"go.uber.org/zap"
)
type KartuKontrolService interface {
GetkartuKontrolById(nomorRegistrasi string) ([]models.KartuKontrolModel, error)
}
func NewKartuKontrolHandler(us KartuKontrolService) *KartuKontrolHandler {
return &KartuKontrolHandler{
KartuKontrolService: us,
}
}
type KartuKontrolHandler struct {
KartuKontrolService KartuKontrolService
}
func (lh *KartuKontrolHandler) HandlerShowKartuKontrol(c echo.Context) error {
nomorRegistrasi := c.Param("nomorRegistrasi")
// nomorRegistrasi := "1"
logger, _ := zap.NewProduction()
defer logger.Sync()
dataKartuKontrol, err := lh.KartuKontrolService.GetkartuKontrolById(nomorRegistrasi)
if err != nil {
logger.Info("Error",
zap.Any("Error", err),
zap.Any("prm", nomorRegistrasi),
)
return err
}
logger.Info("SHOW DATA KARTU KONTROL handler",
zap.Any("return", dataKartuKontrol),
zap.Any("prm", nomorRegistrasi),
)
var si templ.Component
var isShowSurveyMcu bool = true
if isShowSurveyMcu {
si = kartukontrol.ShowKartuKontrol("Kartu Kontrol", kartukontrol.MainContentKartuKontrolLayout(dataKartuKontrol, "/dev/modalsurveykartukontrol", "load delay:3s", "modalWordingSurveyMcu"), kartukontrol.CssKartuKontrol(), kartukontrol.JsKartuKontrol())
} else {
si = kartukontrol.ShowKartuKontrol("Kartu Kontrol",
kartukontrol.MainContentKartuKontrolLayout(dataKartuKontrol, "", "", "modalWordingSurveyMcu"), kartukontrol.CssKartuKontrol(), kartukontrol.JsKartuKontrol())
}
return utils.View(c, si)
}
func (lh *KartuKontrolHandler) HandlerShowWordingModalSurveyMcu(c echo.Context) error {
// var dataKartuKontrol []models.KartuKontrolModel
si := kartukontrol.ShowKartuKontrol(
"Kartu Kontrol",
kartukontrol.ModalMcuWordingShow("modalWordingSurveyMcu", "Silahkan isi questioner untuk membantu peningkatan layanan kami. Terima kasih."), kartukontrol.CssKartuKontrol(), kartukontrol.JsKartuKontrol())
return utils.View(c, si)
}

View File

@@ -2,7 +2,6 @@ package dev_handlers
import (
"fmt"
"math"
"strings"
"strconv"
@@ -15,6 +14,7 @@ import (
mastermenuusergroup "cpone/views/dev/mastermenuusergroup"
"cpone/views/dev/mastermenuusergrouptryandy"
globalservices "cpone/services"
services "cpone/services/dev"
"github.com/a-h/templ"
@@ -25,6 +25,7 @@ import (
customtextfieldsearch "cpone/component/customtextfieldsearch"
navbarmenu "cpone/component/navbar"
sidebaruserprofile "cpone/component/sidebar_user_profile"
customtoastv2 "cpone/component/toastbootstrap"
)
type MasterMenuUserGroupService interface {
@@ -40,6 +41,7 @@ type MasterMenuUserGroupService interface {
GetListMasterUserGroupBySearch(search string) ([]models.UserGroupV1, error)
GetListMasterUserGroupPagination(search string, currentPage int, rowPerPage int) ([]models.UserGroupV1, error)
GetListMasterUserGroupFilteredBySearch(search string) ([]models.UserGroupV1, error)
GetListMasterUserGroupV2(search string, currentPage int, rowPerPage int) ([]models.UserGroupV1, int, error)
}
func NewMasterMenuUserGroupHandler(us MasterMenuUserGroupService) *MasterMenuUserGroupHandler {
@@ -155,11 +157,11 @@ func (uh *MasterMenuUserGroupHandler) View(c echo.Context, cmp templ.Component)
// try
func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Context) error {
// var toastComponent templ.Component
contentIDHtmxExtension := utils.GenerateRandomID("htmxExtmgu")
logger, _ := zap.NewProduction()
dataMenu, err := lh.MasterMenuUserGroupService.GetMasterMenus()
//get sidebarmenu
dataMenu, err := globalservices.GetMenu()
fmt.Println(dataMenu)
fmt.Println(err)
if err != nil {
@@ -167,7 +169,8 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
return err
}
dataUser, err := services.GetUser()
//get user login
dataUser, err := globalservices.GetUserLogin()
fmt.Println(dataUser)
fmt.Println(err)
if err != nil {
@@ -175,31 +178,16 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
return err
}
rowPerPage := 2
dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupPagination("", 1, rowPerPage)
fmt.Println(dataUserGroup)
fmt.Println(err)
dataUserGroup, totalpage, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupV2("", 1, 5)
if err != nil {
defer logger.Sync()
logger.Info("ERROR LIST USER GROUP DEV",
logger.Info("ERROR GET USER GROUP",
zap.Any("error", err),
)
fmt.Println(dataUserGroup)
return err
}
dataUserGroupAll, err := lh.MasterMenuUserGroupService.GetListMasterUserGroup()
fmt.Println(dataUserGroupAll)
fmt.Println(err)
if err != nil {
defer logger.Sync()
logger.Info("ERROR LIST USER GROUP ALL DEV",
zap.Any("error", err),
)
fmt.Println(dataUserGroupAll)
return err
}
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataUserGroup)
defer logger.Sync()
@@ -207,16 +195,9 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
zap.Any("data", dataUserGroup),
)
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataUserGroup)
// si := mastermenuusergroup.ShowMasterMenuUserGroupV1(
// "Master Menu",
// mastermenuusergroup.ListMasterUserGroupInitial(dataUserGroup),
// mastermenuusergroup.CssMasterMenuUserGroupV1(),
// mastermenuusergroup.JsMasterMenuUserGroupV1(),
// )
contentID := utils.GenerateRandomID("tablebody")
tableID := utils.GenerateRandomID("tablebody")
paginationID := utils.GenerateRandomID("paginationid")
searchID := utils.GenerateRandomID("searchid")
paramTitleBreadcrumbConvert := "Master User Group"
@@ -232,8 +213,6 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
return err
}
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataBreadCrumb)
defer logger.Sync()
logger.Info("LOAD BREADCRUMB DEV",
zap.Any("data", dataBreadCrumb),
@@ -248,40 +227,35 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupV1(c echo.Co
// sidebar
sidebaruserprofileComponent := sidebaruserprofile.Navbaruserprofile(dataUser)
// inputan search
// inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("q", "Cari User Group", "text", "/dev/searchusergroupv1", "input changed delay:500ms, search", "#idbaru", "#indicator")
// totalPages := int(math.Ceil(float64(len(dataUserGroupAll)) / float64(rowPerPage)))
contentIDSearch := utils.GenerateRandomID("qsearch")
totalPages := int(math.Ceil(float64(len(dataUserGroupAll)) / float64(rowPerPage)))
link := "currentPage=1&page=" + strconv.Itoa(totalPages) + "&contentID=" + contentID
contentUserGroupComponent := mastermenuusergroup.TableUserGroup(
dataUserGroup, tableID)
inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("#"+contentIDSearch, "q", "Cari User Group", "text", "/dev/searchusergroupv1?"+link, "input changed delay:500ms, search", "#"+contentID, "#indicator", "", contentIDHtmxExtension)
// toast
// contentIDToast := utils.GenerateRandomID("toastmgu")
// toastComponent = customtoast.CustomToastV1("", contentIDHtmxExtension)
// table user group
searchQueryParam := "&q="
tabelusergroupComponent := tablecomponent.TableV2(
[]string{"KODE", "USERGROUP", "AKSI"},
[]string{"40%", "40%", "20%"},
mastermenuusergroup.TableRowV1(dataUserGroup),
pagination.PaginationV1(totalPages, 1, "/dev/usergroupv1pagination", contentID, searchQueryParam),
contentID,
inputansearchComponent,
usergroupFilterComponent := customtextfieldsearch.MainCustomTextFieldSearchV2(searchID,
"search",
"Cari Kode/Nama",
"text",
"/dev/searchusergroupv1",
"input changed delay:500ms, search",
"#"+paginationID, "", "", "outerHTML", "#tableID, #paginationID")
// @pagination.PaginationV2(pageLength, 1, paginationLink, contentId, "#search"+contentId+", #contentID")
userGroupPaginationComponent := pagination.PaginationV2(
totalpage,
1,
"/dev/usergroupv1pagination",
paginationID,
"#tableID, #searchID, #paginationID", "#"+paginationID, "outerHTML", "",
)
si := mastermenuusergroup.ShowMasterMenuUserGroupV1x(
"Master Menu",
mastermenuusergroup.ContentMasterMenuUserGroupV1(
contentID,
tableID, paginationID, searchID,
breadcrumbadmin.MainBreadcrumbAdminV1(dataBreadCrumb),
tabelusergroupComponent,
inputansearchComponent,
// toastComponent,
// contentIDToast,
contentUserGroupComponent,
usergroupFilterComponent,
userGroupPaginationComponent,
),
mastermenuusergroup.CssMasterMenuUserGroupV1x(),
@@ -441,94 +415,43 @@ func (lh *MasterMenuUserGroupHandler) DeleteUserGroup(c echo.Context) error {
}
func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupSearchV1(c echo.Context) error {
search := c.QueryParam("q")
search := c.QueryParam("search")
tableID := c.QueryParam("tableID")
paginationID := c.QueryParam("paginationID")
logger, _ := zap.NewProduction()
// dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupBySearch(search)
rowPerPage := 2
pageparam := c.QueryParam("page")
page, err := strconv.Atoi(pageparam)
dataUserGroup, totalpage, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupV2(search, 1, 5)
if err != nil {
defer logger.Sync()
logger.Info("ERROR CONVERT PAGE PARAM",
zap.Any("page", page),
zap.Any("error ", err),
)
return err
}
currentPageParam := c.QueryParam("currentPage")
currentPage, err := strconv.Atoi(currentPageParam)
if err != nil {
defer logger.Sync()
logger.Info("ERROR CONVERT CURRENT PAGE PARAM",
zap.Any("page", page),
zap.Any("error ", err),
)
return err
}
dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupPagination(search, currentPage, rowPerPage)
fmt.Println(dataUserGroup)
fmt.Println(err)
if err != nil {
defer logger.Sync()
logger.Info("ERROR SEARCH USER GROUP DEV",
logger.Info("ERROR GET USER GROUP",
zap.Any("error", err),
zap.Any("search param", search),
)
fmt.Println(dataUserGroup)
return err
}
defer logger.Sync()
logger.Info("LOAD USER GROUP DEV BY SEARCH",
zap.Any("data", dataUserGroup),
)
// totalPages := int(math.Ceil(float64(len(dataUserGroupFiltered)) / float64(rowPerPage)))
// data user filtered
dataUserGroupFiltered, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupFilteredBySearch(search)
fmt.Println(dataUserGroupFiltered)
fmt.Println(err)
if err != nil {
defer logger.Sync()
logger.Info("ERROR SEARCH USER GROUP FILTERED BY SEARCH DEV",
zap.Any("error", err),
zap.Any("search param", search),
)
fmt.Println(dataUserGroupFiltered)
return err
}
contentUserGroupComponent := mastermenuusergroup.TableUserGroup(
dataUserGroup, tableID)
// userGroupPaginationComponent := pagination.PaginationV2(
// totalpage,
// 1,
// "/dev/usergroupv1pagination",
// paginationID,
// "#tableID, #"+searchID, "#"+tableID, "outerHTML", "",
// )
defer logger.Sync()
logger.Info("LOAD SEARCH USER GROUP FILTERED BY SEARCH DEV",
zap.Any("data", dataUserGroupFiltered),
)
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataUserGroup)
userGroupPaginationComponent := pagination.PaginationV2(totalpage,
1,
"/dev/usergroupv1pagination",
paginationID,
"#tableID, #searchID, #paginationID", "#"+paginationID, "outerHTML", "")
contentID := utils.GenerateRandomID("tablebody")
swapTable :=
mastermenuusergroup.SwapTableUserGroup(userGroupPaginationComponent, contentUserGroupComponent)
// tabelusergroupComponent := mastermenuusergroup.TableRowV1(dataUserGroup)
totalPages := int(math.Ceil(float64(len(dataUserGroupFiltered)) / float64(rowPerPage)))
searchQueryParam := "&q=" + search
// contentIDSearch := utils.GenerateRandomID("qsearch")
// link := "currentPage=1&page=" + strconv.Itoa(totalPages) + "&contentID=" + contentID
// contentIDHtmxExtension := utils.GenerateRandomID("htmxExtmgu")
// inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("#"+contentIDSearch, "q", "Cari User Group", "text", "/dev/searchusergroupv1?"+link, "input changed delay:500ms, search", "#"+contentID, "#indicator", search, contentIDHtmxExtension)
inputansearchComponent := tablecomponent.DivEmpty()
tabelusergroupComponent := tablecomponent.TableV2(
[]string{"KODE", "USERGROUP", "AKSI"},
[]string{"40%", "40%", "20%"},
mastermenuusergroup.TableRowV1(dataUserGroup),
pagination.PaginationV1(totalPages, 1, "/dev/usergroupv1pagination", contentID, searchQueryParam),
contentID,
inputansearchComponent,
)
si := tabelusergroupComponent
si := swapTable
return utils.View(c, si)
}
@@ -536,8 +459,11 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupSearchV1(c e
func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupPaginationV1(c echo.Context) error {
logger, _ := zap.NewProduction()
search := c.QueryParam("q")
search := c.QueryParam("search")
pageparam := c.QueryParam("page")
tableID := c.QueryParam("tableID")
// searchID := c.QueryParam("searchID")
paginationID := c.QueryParam("paginationID")
page, err := strconv.Atoi(pageparam)
if err != nil {
defer logger.Sync()
@@ -548,93 +474,29 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupPaginationV1
return err
}
dataUserGroupAll, err := lh.MasterMenuUserGroupService.GetListMasterUserGroup()
fmt.Println(dataUserGroupAll)
fmt.Println(err)
dataUserGroup, totalpage, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupV2(search, page, 5)
if err != nil {
defer logger.Sync()
logger.Info("ERROR LIST USER GROUP ALL DEV",
logger.Info("ERROR GET USER GROUP",
zap.Any("error", err),
)
fmt.Println(dataUserGroupAll)
return err
}
currentPageParam := c.QueryParam("currentPage")
currentPage, err := strconv.Atoi(currentPageParam)
if err != nil {
defer logger.Sync()
logger.Info("ERROR CONVERT CURRENT PAGE PARAM",
zap.Any("page", page),
zap.Any("error ", err),
)
return err
}
rowPerPage := 2
dataUserGroup, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupPagination(search, currentPage, rowPerPage)
fmt.Println(dataUserGroup)
fmt.Println(err)
if err != nil {
defer logger.Sync()
logger.Info("ERROR SEARCH USER GROUP DEV",
zap.Any("error", err),
zap.Any("search param", search),
)
fmt.Println(dataUserGroup)
return err
}
// si := mastermenuusergroup.ListMasterUserGroupInitial(dataUserGroup)
contentUserGroupComponent := mastermenuusergroup.TableUserGroup(
dataUserGroup, tableID)
defer logger.Sync()
logger.Info("LOAD USER GROUP DEV BY SEARCH",
zap.Any("data", dataUserGroup),
)
userGroupPaginationComponent := pagination.PaginationV2(totalpage,
page,
"/dev/usergroupv1pagination",
paginationID,
"#tableID, #searchID, #paginationID", "#"+paginationID, "outerHTML", "")
// data user filtered
dataUserGroupFiltered, err := lh.MasterMenuUserGroupService.GetListMasterUserGroupFilteredBySearch(search)
fmt.Println(dataUserGroupFiltered)
fmt.Println(err)
if err != nil {
defer logger.Sync()
logger.Info("ERROR SEARCH USER GROUP FILTERED BY SEARCH DEV",
zap.Any("error", err),
zap.Any("search param", search),
)
fmt.Println(dataUserGroupFiltered)
return err
}
swapTable :=
mastermenuusergroup.SwapTableUserGroup(userGroupPaginationComponent, contentUserGroupComponent)
defer logger.Sync()
logger.Info("LOAD SEARCH USER GROUP FILTERED BY SEARCH DEV",
zap.Any("data", dataUserGroupFiltered),
)
contentID := utils.GenerateRandomID("tablebody")
// table user group
searchQueryParam := "&q=" + search
totalPages := int(math.Ceil(float64(len(dataUserGroupFiltered)) / float64(rowPerPage)))
// contentIDSearch := utils.GenerateRandomID("qsearch")
// link := "currentPage=1&page=" + strconv.Itoa(totalPages) + "&contentID=" + contentID
// contentIDHtmxExtension := utils.GenerateRandomID("htmxExtmgu")
// inputansearchComponent := customtextfieldsearch.MainCustomTextFieldSearchV1("#"+contentIDSearch, "q", "Cari User Group", "text", "/dev/searchusergroupv1?"+link, "input changed delay:500ms, search", "#"+contentID, "#indicator", search, contentIDHtmxExtension)
inputansearchComponent := tablecomponent.DivEmpty()
tabelusergroupComponent := tablecomponent.TableV2(
[]string{"KODE", "USERGROUP", "AKSI"},
[]string{"40%", "40%", "20%"},
mastermenuusergroup.TableRowV1(dataUserGroup),
pagination.PaginationV1(totalPages, currentPage, "/dev/usergroupv1pagination", contentID, searchQueryParam),
contentID,
inputansearchComponent,
)
// tabelusergroupComponent := mastermenuusergroup.TableRowV1(dataUserGroup)
si := tabelusergroupComponent
si := swapTable
return utils.View(c, si)
}
@@ -642,7 +504,7 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupPaginationV1
// Coba Anndy
func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupTryAndy(c echo.Context) error {
logger, _ := zap.NewProduction()
dataMenu, err := lh.MasterMenuUserGroupService.GetMasterMenus()
dataMenu, err := globalservices.GetMenu()
fmt.Println(dataMenu)
fmt.Println(err)
if err != nil {
@@ -747,3 +609,11 @@ func (lh *MasterMenuUserGroupHandler) HandlerShowMasterMenuUserGroupTryAndy(c ec
return utils.View(c, si)
}
func (lh *MasterMenuUserGroupHandler) HandlerHideToast(c echo.Context) error {
toastComponent := customtoastv2.CustomToastV2Hide()
si := toastComponent
return utils.View(c, si)
}

View File

@@ -0,0 +1,118 @@
package public_handlers
import (
"cpone/models"
"cpone/utils"
kartukontrol "cpone/views/public/kartukontrol"
public_toast "cpone/views/public/toast"
"github.com/a-h/templ"
"github.com/labstack/echo/v4"
"go.uber.org/zap"
)
type KartuKontrolService interface {
GetkartuKontrolById(nomorRegistrasi string) ([]models.KartuKontrolModel, error)
}
func NewKartuKontrolHandler(us KartuKontrolService) *KartuKontrolHandler {
return &KartuKontrolHandler{
KartuKontrolService: us,
}
}
type KartuKontrolHandler struct {
KartuKontrolService KartuKontrolService
}
func (lh *KartuKontrolHandler) HandlerHideToast(c echo.Context) error {
toastComponent := public_toast.PublicToastV1KartuKontrolHide()
si := toastComponent
return utils.View(c, si)
}
func (lh *KartuKontrolHandler) HandlerShowKartuKontrol(c echo.Context) error {
var flagxError bool = true
var msgx string = ""
nomorRegistrasi := c.Param("nomorRegistrasi")
urlSurveyMcu := "redirectsurveymcu"
// urlSurveyMcu := "redirectsurveymcu"
// nomorRegistrasi := "1"
logger, _ := zap.NewProduction()
defer logger.Sync()
dataKartuKontrol, err := lh.KartuKontrolService.GetkartuKontrolById(nomorRegistrasi)
if err != nil {
logger.Info("Error",
zap.Any("Error", err),
zap.Any("prm", nomorRegistrasi),
)
// return err
if flagxError {
msgx = "Error Get Kartu Kontrol"
si := public_toast.PublicToastV1KartuKontrolShow("Error", msgx, "danger")
return utils.View(c, si)
}
}
logger.Info("SHOW DATA KARTU KONTROL handler",
zap.Any("return", dataKartuKontrol),
zap.Any("prm", nomorRegistrasi),
)
flagxError = false
var si templ.Component
var isShowSurveyMcu bool = true
if isShowSurveyMcu {
si = kartukontrol.ShowKartuKontrol("Kartu Kontrol", kartukontrol.MainContentKartuKontrolLayout(dataKartuKontrol, "/modalsurveykartukontrol", "load delay:3s", "modalWordingSurveyMcu", urlSurveyMcu, nomorRegistrasi), kartukontrol.CssKartuKontrol(), kartukontrol.JsKartuKontrol())
} else {
si = kartukontrol.ShowKartuKontrol("Kartu Kontrol",
kartukontrol.MainContentKartuKontrolLayout(dataKartuKontrol, "", "", "modalWordingSurveyMcu", urlSurveyMcu, nomorRegistrasi), kartukontrol.CssKartuKontrol(), kartukontrol.JsKartuKontrol())
}
return utils.View(c, si)
}
func (lh *KartuKontrolHandler) HandlerShowWordingModalSurveyMcu(c echo.Context) error {
stringUrlToSurveyMcu := c.QueryParam("urlSurveyMcu")
// var dataKartuKontrol []models.KartuKontrolModel
si := kartukontrol.ShowKartuKontrol(
"Kartu Kontrol",
kartukontrol.ModalMcuWordingShow("modalWordingSurveyMcu", "Silahkan isi questioner untuk membantu peningkatan layanan kami. Terima kasih.", stringUrlToSurveyMcu), kartukontrol.CssKartuKontrol(), kartukontrol.JsKartuKontrol())
return utils.View(c, si)
}
func (lh *KartuKontrolHandler) HandlerRedirectToSurveyMcu(c echo.Context) error {
nomorRegistrasi := c.QueryParam("nomorRegistrasi")
stringUrlToSurveyMcu := "/surveymcu/" + nomorRegistrasi
logger, _ := zap.NewProduction()
defer logger.Sync()
if len(stringUrlToSurveyMcu) > 0 {
// redirect ke kartu kontrol
logger.Info("redirect SURVEY MCU",
zap.Any("redirect SURVEY MCU", stringUrlToSurveyMcu),
)
c.Response().Header().Set("HX-Redirect", stringUrlToSurveyMcu)
// return c.NoContent(http.StatusOK)
}
si := kartukontrol.ShowKartuKontrol(
"Kartu Kontrol",
kartukontrol.ModalMcuWordingShow("modalWordingSurveyMcu", "Silahkan isi questioner untuk membantu peningkatan layanan kami. Terima kasih.", ""), kartukontrol.CssKartuKontrol(), kartukontrol.JsKartuKontrol())
return utils.View(c, si)
}

View File

@@ -0,0 +1,194 @@
package public_handlers
import (
"cpone/models"
"cpone/utils"
surveymcu "cpone/views/public/surveymcu"
public_toast "cpone/views/public/toast"
"github.com/a-h/templ"
"github.com/labstack/echo/v4"
"go.uber.org/zap"
)
type SurveyMcuService interface {
GetSurveyMcuByNoreg(nomorRegistrasi string) ([]models.SurveyMcu, error)
}
func NewSurveyMcuHandler(us SurveyMcuService) *SurveyMcuHandler {
return &SurveyMcuHandler{
SurveyMcuService: us,
}
}
type SurveyMcuHandler struct {
SurveyMcuService SurveyMcuService
}
func (lh *SurveyMcuHandler) HandlerShowSurveyMcu(c echo.Context) error {
var flagxError bool = true
var msgx string = ""
nomorRegistrasi := c.Param("nomorRegistrasi")
// nomorRegistrasi := "1"
logger, _ := zap.NewProduction()
defer logger.Sync()
dataSurveyMcu, err := lh.SurveyMcuService.GetSurveyMcuByNoreg(nomorRegistrasi)
if err != nil {
logger.Info("Error",
zap.Any("Error", err),
zap.Any("prm", nomorRegistrasi),
)
// return err
if flagxError {
msgx = "Error Get Survey MCU By No Reg"
si := public_toast.PublicToastV1KartuKontrolShow("Error", msgx, "danger")
return utils.View(c, si)
}
}
flagxError = false
logger.Info("SHOW DATA SURVEY MCU handler",
zap.Any("return", dataSurveyMcu),
zap.Any("prm", nomorRegistrasi),
)
stringUrl := "surveymcuproses/" + nomorRegistrasi
var hxInclude string = ""
var idClearMsg []models.IdClearErrorMessage
if len(dataSurveyMcu) > 0 {
hxInclude = utils.ConcatHxIncludeSurveyMcu(dataSurveyMcu)
}
si := surveymcu.ShowSurveyMcu("Survey Mcu",
surveymcu.MainContentSurveyMcuLayout(dataSurveyMcu, stringUrl, surveymcu.ErrorMessageSurveyMcu("", "", idClearMsg, "alertSaranMcu", public_toast.PublicToastV1KartuKontrolHide()), hxInclude), surveymcu.CssSurveyMcu(), surveymcu.JsSurveyMcu())
return utils.View(c, si)
}
func (lh *SurveyMcuHandler) HandlerProcessSurveyMcu(c echo.Context) error {
var flagxError bool = true
var msgx string = ""
nomorRegistrasi := c.Param("nomorRegistrasi")
stringUrlBackToKartuKontrol := "/kartukontrol/" + nomorRegistrasi
// nomorRegistrasi := "1"
logger, _ := zap.NewProduction()
defer logger.Sync()
dataSurveyMcu, err := lh.SurveyMcuService.GetSurveyMcuByNoreg(nomorRegistrasi)
if err != nil {
logger.Info("Error",
zap.Any("Error", err),
zap.Any("prm", nomorRegistrasi),
)
// return err
if flagxError {
msgx = "Error Get Survey MCU By No Reg"
si := public_toast.PublicToastV1KartuKontrolShow("Error", msgx, "danger")
return utils.View(c, si)
}
}
logger.Info("SHOW DATA SURVEY MCU handler",
zap.Any("return", dataSurveyMcu),
zap.Any("prm", nomorRegistrasi),
)
// form := c.Request().PostForm
// stringUrl := "surveymcuproses/" + nomorRegistrasi
logger.Info("CEK POST handler",
zap.Any("c.FormValue Saran", c.FormValue("saranmcu-11")),
)
// proses validasi
var si templ.Component
var idFormKosong string = ""
var stringMessage string = ""
var isFormEmpty bool = false
var idClearMsg []models.IdClearErrorMessage
var idSaranMcuAlert string = ""
// var idSaranMcuClear string = ""
hasError := false
if len(dataSurveyMcu) > 0 {
for _, v := range dataSurveyMcu {
// radio button
if len(v.DataListItemSurveyMcu) > 0 {
for _, x := range v.DataListItemSurveyMcu {
if len(c.FormValue("radio-"+x.IDItemSurvey)) > 0 {
idClearMsg = append(idClearMsg, models.IdClearErrorMessage{IdItem: x.IDItemSurvey})
}
if "default-"+x.NameRadioButton == c.FormValue("default-"+x.NameRadioButton) && len(c.FormValue("radio-"+x.IDItemSurvey)) == 0 {
stringMessage = "Pertanyaan ke-" + x.IDItemSurvey + " wajib diisi"
idFormKosong = utils.GetIdSurveyMcu(x.IDItemSurvey)
isFormEmpty = true
hasError = true
flagxError = true
break
}
}
}
if hasError {
break
}
}
}
// saran mcu
if !hasError && len(dataSurveyMcu) > 0 {
for _, v := range dataSurveyMcu {
if len(v.DataListItemSurveyMcuSaran) > 0 {
for _, x := range v.DataListItemSurveyMcuSaran {
if len(c.FormValue("saranmcu-"+x.IDItemSurveyMcuSaran)) > 0 {
idClearMsg = append(idClearMsg, models.IdClearErrorMessage{IdItem: x.IDItemSurveyMcuSaran})
}
if "default-"+x.NameSurveyMcuSaran == c.FormValue("default-"+x.NameSurveyMcuSaran) && len(c.FormValue("saranmcu-"+x.IDItemSurveyMcuSaran)) == 0 {
stringMessage = "Saran Wajib Diisi"
idFormKosong = utils.GetIdSurveyMcu(x.IDItemSurveyMcuSaran)
isFormEmpty = true
hasError = true
break
}
}
}
if hasError {
break
}
}
}
if isFormEmpty {
// if flagxError {
// msgx = "Error Get Survey MCU By No Reg"
// si := public_toast.PublicToastV1KartuKontrolShow("Error", msgx, "danger")
// return utils.View(c, si)
// }
si = surveymcu.ErrorMessageSurveyMcu(stringMessage, idFormKosong, idClearMsg, idSaranMcuAlert, public_toast.PublicToastV1KartuKontrolShow("Warning", stringMessage, "warning"))
} else {
flagxError = false
si = surveymcu.ErrorMessageSurveyMcu("", "", idClearMsg, "", public_toast.PublicToastV1KartuKontrolHide())
logger.Info("redirect",
zap.Any("redirect", stringUrlBackToKartuKontrol),
)
// redirect ke kartu kontrol
c.Response().Header().Set("HX-Redirect", stringUrlBackToKartuKontrol)
}
return utils.View(c, si)
}

View File

@@ -0,0 +1,73 @@
package public_handlers
import (
"cpone/models"
"cpone/utils"
"cpone/views/dev/mastermenuusergroup"
tablecomponent "cpone/component/table"
public_toast "cpone/views/public/toast"
"github.com/labstack/echo/v4"
)
type ToolsService interface {
}
func NewToolsHandler(us ToolsService) *ToolsHandler {
return &ToolsHandler{
ToolsService: us,
}
}
type ToolsHandler struct {
ToolsService ToolsService
}
func (lh *ToolsHandler) HandlerHideToast(c echo.Context) error {
toastComponent := public_toast.PublicToastV1Hide()
si := toastComponent
return utils.View(c, si)
}
func (lh *ToolsHandler) HandlerShowToast(c echo.Context) error {
inputansearchComponent := tablecomponent.DivEmpty()
// toastComponent := public_toast.PublicToastV1Show("Success", "Success Loaded", "success")
pagination := tablecomponent.DivEmpty()
dummyData := []models.UserGroupV1{
{
Nomor: "1",
M_UserGroupID: 1,
M_UserGroupCode: "group1",
M_UserGroupName: "Group 1",
M_UserGroupCreated: "2024-05-16",
M_UserGroupLastUpdated: "2024-05-16",
M_UserGroupIsActive: "Active",
},
}
tabelusergroupComponent := tablecomponent.TableV2(
[]string{"KODE", "USERGROUP", "AKSI"},
[]string{"40%", "40%", "20%"},
mastermenuusergroup.TableRowV1(dummyData),
pagination,
"",
inputansearchComponent,
)
si := public_toast.ShowToast("",
tabelusergroupComponent,
tabelusergroupComponent,
tabelusergroupComponent,
tabelusergroupComponent,
tabelusergroupComponent,
tabelusergroupComponent,
)
return utils.View(c, si)
}

View File

@@ -70,6 +70,26 @@ func SetupRoutesPublic(app *echo.Echo, appStore db.AppStore) {
public.GET("landingpage", lh.ShowLandingPage)
loginHdr := public_handlers.NewLoginHandler(l)
public.GET("login", loginHdr.HandlerShowLogin)
// kartu kontrol
publicKartuKontrolServices := public_services.NewServicesKartuKontrol(appStore)
publicKartuKontrolhandlers := public_handlers.NewKartuKontrolHandler(publicKartuKontrolServices)
public.GET("kartukontrol/:nomorRegistrasi", publicKartuKontrolhandlers.HandlerShowKartuKontrol)
public.GET("modalsurveykartukontrol", publicKartuKontrolhandlers.HandlerShowWordingModalSurveyMcu)
// survey mcu page (pertanyaan dan jawaban)
publicSurveyMcuServices := public_services.NewServicesSurveyMcu(appStore)
publicSurveyMcuhandlers := public_handlers.NewSurveyMcuHandler(publicSurveyMcuServices)
public.GET("surveymcu/:nomorRegistrasi", publicSurveyMcuhandlers.HandlerShowSurveyMcu)
// hide toast
public.GET("hidetoastkartukontrol", publicKartuKontrolhandlers.HandlerHideToast)
// surveymcuproses
public.POST("surveymcuproses/:nomorRegistrasi", publicSurveyMcuhandlers.HandlerProcessSurveyMcu)
// redirect to survey mcu page
public.GET("redirectsurveymcu", publicKartuKontrolhandlers.HandlerRedirectToSurveyMcu)
}
func SetupRoutesCorporate(app *echo.Echo, appStore db.AppStore) {
public := app.Group("/corp")
@@ -202,6 +222,14 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
//ugcobanady
dev.GET("/usergrouptryandy", devUGhandlers.HandlerShowMasterMenuUserGroupTryAndy)
dev.GET("/hidetoast", devUGhandlers.HandlerHideToast)
// clientgroup.GET("/usergroup/edit", mastermenuusergroupHandler.ChangeFormEdit)
// clientgroup.GET("/usergroup/pagination", mastermenuusergroupHandler.HandleChangePage)
// kartu kontrol
devKartuKontrolServices := dev_services.NewServicesKartuKontrol(appStore)
devKartuKontrolhandlers := dev_handlers.NewKartuKontrolHandler(devKartuKontrolServices)
dev.GET("/kartukontrol/:nomorRegistrasi", devKartuKontrolhandlers.HandlerShowKartuKontrol)
dev.GET("/modalsurveykartukontrol", devKartuKontrolhandlers.HandlerShowWordingModalSurveyMcu)
}

View File

@@ -1,7 +1,7 @@
package layout
// LAYOUT PLAYGROUND
templ CorporateLayout(title string, css templ.Component, js templ.Component, navbarmenu templ.Component,
templ CorporateLayout(title string, css templ.Component, js templ.Component, navbarmenu templ.Component,
navbaruser templ.Component, sidebaruserprofile templ.Component) {
<!DOCTYPE html>
<!--
@@ -223,6 +223,30 @@ templ CorporateLayout(title string, css templ.Component, js templ.Component, nav
<!--end::Header-->
<!--begin::Content-->
<div class="container-fluid">
// toast
<div class="toast-top-right" id="container-system-notification" style="position: absolute; top: 1vh; right: 0vw; z-index: 999;">
<!-- toast success -->
<div
id="notification-001"
class="toast fade hide"
role="alert"
aria-live="assertive"
aria-atomic="true"
>
<div class="toast-header bg-success text-white">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--ep mr-2 icon-xl" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 1024 1024" data-icon="ep:success-filled"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896a448 448 0 0 1 0-896m-55.808 536.384l-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"></path></svg>
<strong class="mr-auto">Success</strong>
<small class="text-muted text-white">just now</small>
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="toast-body bg-success-transparent">
This is a success toast.
</div>
</div>
</div>
// end toast
{ children... }
</div>
<!--end::Content-->

View File

@@ -62,7 +62,7 @@ func CorporateLayout(title string, css templ.Component, js templ.Component, navb
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!--end::Header--><!--begin::Content--><div class=\"container-fluid\">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!--end::Header--><!--begin::Content--><div class=\"container-fluid\"><div class=\"toast-top-right\" id=\"container-system-notification\" style=\"position: absolute; top: 1vh; right: 0vw; z-index: 999;\"><!-- toast success --><div id=\"notification-001\" class=\"toast fade hide\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\"><div class=\"toast-header bg-success text-white\"><svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-hidden=\"true\" role=\"img\" class=\"iconify iconify--ep mr-2 icon-xl\" width=\"1em\" height=\"1em\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 1024 1024\" data-icon=\"ep:success-filled\"><path fill=\"currentColor\" d=\"M512 64a448 448 0 1 1 0 896a448 448 0 0 1 0-896m-55.808 536.384l-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z\"></path></svg> <strong class=\"mr-auto\">Success</strong> <small class=\"text-muted text-white\">just now</small> <button type=\"button\" class=\"ml-2 mb-1 close\" data-dismiss=\"toast\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button></div><div class=\"toast-body bg-success-transparent\">This is a success toast.\r</div></div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}

View File

@@ -12,4 +12,5 @@ type CustomTextFieldv2Prm struct {
Type string `default:"text"`
Value string `default:""`
ErrorMsg string `default:""`
ID string
}

View File

@@ -0,0 +1,33 @@
package models
type KartuKontrolModel struct {
KartuKontrolDataPasienList []DataPasien `json:"kartuKontrolDataPasien"`
KartuKontrolDataPemeriksaanList []DataPemeriksaanList `json:"kartuKontrolDataPemeriksaanList"`
KartuKontrolDataPemeriksaanPengambilanSample []DataPemeriksaanPengambilanSample `json:"kartuKontrolDataPemeriksaanPengambilanSample"`
}
type DataPasien struct {
NomorRegistrasi string `json:"nomorRegistrasi"`
NomorLab string `json:"nomorLab"`
NamaPasien string `json:"namaPasien"`
TanggalLahir string `json:"tanggalLahir"`
Umur string `json:"umur"`
JenisKelamin string `json:"jenisKelamin"`
NamaDivisi string `json:"namaDivisi"`
NamaCompany string `json:"namaCompany"`
}
type DataPemeriksaanList struct {
NamaPemeriksaanList string `json:"namaPemeriksaanList"`
}
type SampleTypeList struct {
SampleTypeName string `json:"sampleTypeName"`
SampleTypeDateTime string `json:"sampleTypeDateTime"`
SampleTypeStatus string `json:"sampleTypeStatus"`
}
type DataPemeriksaanPengambilanSample struct {
NamaPemeriksaanPengambilanSample string `json:"namaPemeriksaanPengambilanSample"`
SampleTypeListData []SampleTypeList `json:"sampleTypeListData"`
}

17
models/menu.models.go Normal file
View File

@@ -0,0 +1,17 @@
package models
type Menu struct {
ID string `json:"id"`
ParentMenuID string `json:"parent_menu_id"`
ParentMenuName string `json:"parent_menu_name"`
ParentUrl string `json:"parent_url"`
ParentIcon string `json:"parent_icon"`
Children []ChildrenMenu `json:"children"`
}
type ChildrenMenu struct {
ChildrenParentID string `json:"children_parent_id"`
ChildrenMenuID string `json:"children_menu_id"`
ChildrenMenuName string `json:"children_menu_name"`
ChildrenMenuURL string `json:"children_menu_url"`
// Breadcrumb []Breadcrumb `json:"breadcrumb"`
}

View File

@@ -0,0 +1,24 @@
package models
type SurveyMcu struct {
DataListItemSurveyMcu []ItemSurveyMcu `json:"dataListItemSurveyMcu"`
DataListItemSurveyMcuSaran []ItemSurveyMcuSaran `json:"datalistitemsurveymcusaran"`
}
type ItemSurveyMcu struct {
IDItemSurvey string `json:"iditemsurvey"`
Nomor string `json:"nomor"`
Pertanyaan string `json:"pertanyaan"`
NameRadioButton string `json:"nameradiobutton"`
ErrorMessage string `json:"errorMessage"`
}
type ItemSurveyMcuSaran struct {
IDItemSurveyMcuSaran string `json:"iditemsurveymcusaran"`
NameSurveyMcuSaran string `json:"namesurveymcusaran"`
ErrorMessageSurveyMcuSaran string `json:"errormessagesurveymcusaran"`
}
type IdClearErrorMessage struct {
IdItem string `json:"iditem"`
}

516
services/app.services.go Normal file
View File

@@ -0,0 +1,516 @@
package services
import "cpone/models"
//Func get menu sidebar
func GetMenu() ([]models.Menu, error) {
// dummyBreadcrumb := []Breadcrumb{
// {
// Name: "Dashboard",
// Url: "/client/dashboard",
// },
// {
// Name: "Front Office",
// Url: "/client/usermanagement",
// },
// }
dummyMenu := []models.Menu{
// 1. Dashboard
{
ID: "1",
ParentMenuID: "0",
ParentMenuName: "Dashboard",
ParentUrl: "/client/md/dashboard",
ParentIcon: "",
Children: []models.ChildrenMenu{
{
ChildrenParentID: "1",
ChildrenMenuID: "1",
ChildrenMenuName: "Master User",
ChildrenMenuURL: "/client/md/user",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "Y",
// },
// },
},
},
},
// 2. Front Office
{
ID: "2",
ParentMenuID: "1",
ParentMenuName: "Front Office",
ParentUrl: "#",
ParentIcon: "",
Children: []models.ChildrenMenu{
{
ChildrenParentID: "1",
ChildrenMenuID: "1",
ChildrenMenuName: "Registrasi",
ChildrenMenuURL: "/fo/registrasi",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User",
// IsActive: "Y",
// },
// },
},
},
},
// 3. Station
{
ID: "3",
ParentMenuID: "2",
ParentMenuName: "Station",
ParentUrl: "#",
ParentIcon: "",
Children: []models.ChildrenMenu{
{
ChildrenParentID: "2",
ChildrenMenuID: "1",
ChildrenMenuName: "Sample Station",
ChildrenMenuURL: "/station/sample",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User",
// IsActive: "Y",
// },
// },
},
},
},
// 4. Management MCU
{
ID: "4",
ParentMenuID: "3",
ParentMenuName: "Management MCU",
ParentUrl: "#",
ParentIcon: "",
Children: []models.ChildrenMenu{
{
ChildrenParentID: "3",
ChildrenMenuID: "1",
ChildrenMenuName: "Setup MCU",
ChildrenMenuURL: "/mcu/setup",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User",
// IsActive: "Y",
// },
// },
},
{
ChildrenParentID: "3",
ChildrenMenuID: "2",
ChildrenMenuName: "Pre-Registrasi",
ChildrenMenuURL: "/mcu/preregister",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User",
// IsActive: "Y",
// },
// },
},
},
},
// 5. Master Data
{
ID: "5",
ParentMenuID: "4",
ParentMenuName: "Master Data",
ParentUrl: "#",
ParentIcon: "",
Children: []models.ChildrenMenu{
// * Master User
{
ChildrenParentID: "4",
ChildrenMenuID: "1",
ChildrenMenuName: "Master User",
ChildrenMenuURL: "/client/md/user",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User",
// IsActive: "Y",
// },
// },
},
// * Master User Group
{
ChildrenParentID: "4",
ChildrenMenuID: "2",
ChildrenMenuName: "Master User Group",
ChildrenMenuURL: "/client/md/usergroup",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User Group",
// IsActive: "Y",
// },
// },
},
// * Master Corporate
{
ChildrenParentID: "4",
ChildrenMenuID: "3",
ChildrenMenuName: "Corporate",
ChildrenMenuURL: "/client/md/corp",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User Group",
// IsActive: "Y",
// },
// },
},
// * Test
{
ChildrenParentID: "4",
ChildrenMenuID: "4",
ChildrenMenuName: "Test",
ChildrenMenuURL: "/client/md/test",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User Group",
// IsActive: "Y",
// },
// },
},
// * Bahan
{
ChildrenParentID: "4",
ChildrenMenuID: "5",
ChildrenMenuName: "Bahan",
ChildrenMenuURL: "/client/md/bahan",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User Group",
// IsActive: "Y",
// },
// },
},
// * Sample Type
{
ChildrenParentID: "4",
ChildrenMenuID: "6",
ChildrenMenuName: "Sample Type",
ChildrenMenuURL: "/client/sample/type",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User Group",
// IsActive: "Y",
// },
// },
},
// * Sample Station
{
ChildrenParentID: "4",
ChildrenMenuID: "7",
ChildrenMenuName: "Sample Station",
ChildrenMenuURL: "/station/sample",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User Group",
// IsActive: "Y",
// },
// },
},
// * Result Non Lab
{
ChildrenParentID: "4",
ChildrenMenuID: "8",
ChildrenMenuName: "Result Non Lab",
ChildrenMenuURL: "/client/md/resultnonlab",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User Group",
// IsActive: "Y",
// },
// },
},
// * Template Fisik
{
ChildrenParentID: "4",
ChildrenMenuID: "9",
ChildrenMenuName: "Template Fisik",
ChildrenMenuURL: "/client/md/template-fisik",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User Group",
// IsActive: "Y",
// },
// },
},
// * Pasien
{
ChildrenParentID: "4",
ChildrenMenuID: "10",
ChildrenMenuName: "Pasien",
ChildrenMenuURL: "/client/md/pasien",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User Group",
// IsActive: "Y",
// },
// },
},
// * Dokter
{
ChildrenParentID: "4",
ChildrenMenuID: "11",
ChildrenMenuName: "Dokter",
ChildrenMenuURL: "/client/md/dokter",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User Group",
// IsActive: "Y",
// },
// },
},
// * Paket
{
ChildrenParentID: "4",
ChildrenMenuID: "12",
ChildrenMenuName: "Paket",
ChildrenMenuURL: "/client/md/paket",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User Group",
// IsActive: "Y",
// },
// },
},
// * Harga Single
{
ChildrenParentID: "4",
ChildrenMenuID: "13",
ChildrenMenuName: "Harga Single",
ChildrenMenuURL: "/client/md/hargasingle",
// Breadcrumb: []Breadcrumb{
// {
// IDBreadcrumb: "1",
// Title: "Dashboard",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "2",
// Title: "Master",
// IsActive: "N",
// },
// {
// IDBreadcrumb: "3",
// Title: "User Group",
// IsActive: "Y",
// },
// },
},
},
},
}
return dummyMenu, nil
}
func GetUserLogin() (models.User, error) {
a := models.User{
UserID: 1,
Username: "andy",
UserFullName: "Alfianto Andy P",
UserPosition: "Software Developer",
}
return a, nil
}

View File

@@ -0,0 +1,112 @@
package dev_services
import (
"cpone/db"
"cpone/models"
"go.uber.org/zap"
)
func NewServicesKartuKontrol(uStore db.AppStore) *ServicesKartuKontrol {
return &ServicesKartuKontrol{
KartuKontrolStore: uStore,
}
}
type ServicesKartuKontrol struct {
KartuKontrolStore db.AppStore
}
func (su *ServicesKartuKontrol) GetkartuKontrolById(nomorRegistrasi string) ([]models.KartuKontrolModel, error) {
logger, _ := zap.NewProduction()
defer logger.Sync()
logger.Info("QUERY SEARCH GET KARTU KONTROL",
zap.String("query search", ""),
)
dataPasien := []models.DataPasien{
{
NomorRegistrasi: "00234",
NomorLab: "LA90002",
NamaPasien: "Hendra Setiawan",
TanggalLahir: "2000-01-01",
Umur: "24 tahun",
JenisKelamin: "Laki-laki",
NamaDivisi: "Development",
NamaCompany: "PT. Sadhana Abiyasa Sampoerna",
},
}
dataPemeriksaanList := []models.DataPemeriksaanList{
{NamaPemeriksaanList: "Hematologi Lengkap"},
{NamaPemeriksaanList: "Urine Lengkap"},
{NamaPemeriksaanList: "ACG"},
{NamaPemeriksaanList: "Treadmill"},
{NamaPemeriksaanList: "Pemeriksaan Fisik"},
{NamaPemeriksaanList: "Hematologi Lengkap"},
{NamaPemeriksaanList: "Urine Lengkap"},
{NamaPemeriksaanList: "ACG"},
{NamaPemeriksaanList: "Treadmill"},
{NamaPemeriksaanList: "Pemeriksaan Fisik"},
{NamaPemeriksaanList: "Hematologi Lengkap"},
{NamaPemeriksaanList: "Urine Lengkap"},
{NamaPemeriksaanList: "ACG"},
{NamaPemeriksaanList: "Treadmill"},
{NamaPemeriksaanList: "Pemeriksaan Fisik"},
{NamaPemeriksaanList: "Hematologi Lengkap"},
{NamaPemeriksaanList: "Urine Lengkap"},
{NamaPemeriksaanList: "ACG"},
{NamaPemeriksaanList: "Treadmill"},
{NamaPemeriksaanList: "Pemeriksaan Fisik"},
}
dataPemeriksaanPengambilanSample := []models.DataPemeriksaanPengambilanSample{
{
NamaPemeriksaanPengambilanSample: "Laboratorium",
SampleTypeListData: []models.SampleTypeList{
{
SampleTypeName: "Darah",
SampleTypeDateTime: "15-05-2024 10:00",
SampleTypeStatus: "Sudah",
},
{
SampleTypeName: "Urine",
SampleTypeDateTime: "15-05-2024 10:00",
SampleTypeStatus: "Sudah",
},
},
},
{
NamaPemeriksaanPengambilanSample: "Rontgen",
SampleTypeListData: []models.SampleTypeList{
{
SampleTypeName: "Thorax AP (PCR)",
SampleTypeDateTime: "",
SampleTypeStatus: "Sudah",
},
},
},
{
NamaPemeriksaanPengambilanSample: "Elektromedis",
SampleTypeListData: []models.SampleTypeList{
{
SampleTypeName: "ECG",
SampleTypeStatus: "Belum",
SampleTypeDateTime: "",
},
},
},
}
kartuKontrol := []models.KartuKontrolModel{
{
KartuKontrolDataPasienList: dataPasien,
KartuKontrolDataPemeriksaanList: dataPemeriksaanList,
KartuKontrolDataPemeriksaanPengambilanSample: dataPemeriksaanPengambilanSample,
},
}
return kartuKontrol, nil
}

View File

@@ -2,7 +2,9 @@ package dev_services
import (
"fmt"
"math"
"strconv"
"strings"
"cpone/db"
"cpone/models"
@@ -913,3 +915,41 @@ func (su *ServicesMasterMenuUserGroup) GetListMasterUserGroupPagination(search s
return userGroupList, nil
}
func (su *ServicesMasterMenuUserGroup) GetListMasterUserGroupV2(search string, currentPage int, rowPerPage int) ([]models.UserGroupV1, int, error) {
var userGroupList []models.UserGroupV1
var totalData int
offset := (currentPage - 1) * rowPerPage
prm := "%" + strings.TrimSpace(search) + "%"
querytotal := `
SELECT COUNT(*)
FROM m_usergroup
WHERE M_UserGroupIsActive = 'Y'
AND (M_UserGroupCode LIKE ? OR M_UserGroupName LIKE ?)
`
if err := dbx.Handlex.Get(&totalData, querytotal, prm, prm); err != nil {
return nil, 0, fmt.Errorf("error querying database: %v", err)
}
query := `
SELECT
ROW_NUMBER() OVER () AS nomor,
M_UserGroupID,
M_UserGroupCode,
M_UserGroupName,
M_UserGroupCreated,
M_UserGroupLastUpdated,
M_UserGroupIsActive
FROM m_usergroup
WHERE M_UserGroupIsActive = 'Y'
AND (M_UserGroupCode LIKE ? OR M_UserGroupName LIKE ?)
order by M_UserGroupID ASC
LIMIT ? OFFSET ?
`
if err := dbx.Handlex.Select(&userGroupList, query, prm, prm, rowPerPage, offset); err != nil {
return nil, 0, fmt.Errorf("error querying database: %v", err)
}
totalPage := int(math.Ceil(float64(totalData) / float64(rowPerPage)))
return userGroupList, totalPage, nil
}

View File

@@ -0,0 +1,112 @@
package public_services
import (
"cpone/db"
"cpone/models"
"go.uber.org/zap"
)
func NewServicesKartuKontrol(uStore db.AppStore) *ServicesKartuKontrol {
return &ServicesKartuKontrol{
KartuKontrolStore: uStore,
}
}
type ServicesKartuKontrol struct {
KartuKontrolStore db.AppStore
}
func (su *ServicesKartuKontrol) GetkartuKontrolById(nomorRegistrasi string) ([]models.KartuKontrolModel, error) {
logger, _ := zap.NewProduction()
defer logger.Sync()
logger.Info("QUERY SEARCH GET KARTU KONTROL",
zap.String("query search", ""),
)
dataPasien := []models.DataPasien{
{
NomorRegistrasi: "00234",
NomorLab: "LA90002",
NamaPasien: "Hendra Setiawan",
TanggalLahir: "2000-01-01",
Umur: "24 tahun",
JenisKelamin: "Laki-laki",
NamaDivisi: "Development",
NamaCompany: "PT. Sadhana Abiyasa Sampoerna",
},
}
dataPemeriksaanList := []models.DataPemeriksaanList{
{NamaPemeriksaanList: "Hematologi Lengkap"},
{NamaPemeriksaanList: "Urine Lengkap"},
{NamaPemeriksaanList: "ACG"},
{NamaPemeriksaanList: "Treadmill"},
{NamaPemeriksaanList: "Pemeriksaan Fisik"},
{NamaPemeriksaanList: "Hematologi Lengkap"},
{NamaPemeriksaanList: "Urine Lengkap"},
{NamaPemeriksaanList: "ACG"},
{NamaPemeriksaanList: "Treadmill"},
{NamaPemeriksaanList: "Pemeriksaan Fisik"},
{NamaPemeriksaanList: "Hematologi Lengkap"},
{NamaPemeriksaanList: "Urine Lengkap"},
{NamaPemeriksaanList: "ACG"},
{NamaPemeriksaanList: "Treadmill"},
{NamaPemeriksaanList: "Pemeriksaan Fisik"},
{NamaPemeriksaanList: "Hematologi Lengkap"},
{NamaPemeriksaanList: "Urine Lengkap"},
{NamaPemeriksaanList: "ACG"},
{NamaPemeriksaanList: "Treadmill"},
{NamaPemeriksaanList: "Pemeriksaan Fisik"},
}
dataPemeriksaanPengambilanSample := []models.DataPemeriksaanPengambilanSample{
{
NamaPemeriksaanPengambilanSample: "Laboratorium",
SampleTypeListData: []models.SampleTypeList{
{
SampleTypeName: "Darah",
SampleTypeDateTime: "15-05-2024 10:00",
SampleTypeStatus: "Sudah",
},
{
SampleTypeName: "Urine",
SampleTypeDateTime: "15-05-2024 10:00",
SampleTypeStatus: "Sudah",
},
},
},
{
NamaPemeriksaanPengambilanSample: "Rontgen",
SampleTypeListData: []models.SampleTypeList{
{
SampleTypeName: "Thorax AP (PCR)",
SampleTypeDateTime: "",
SampleTypeStatus: "Sudah",
},
},
},
{
NamaPemeriksaanPengambilanSample: "Elektromedis",
SampleTypeListData: []models.SampleTypeList{
{
SampleTypeName: "ECG",
SampleTypeStatus: "Belum",
SampleTypeDateTime: "",
},
},
},
}
kartuKontrol := []models.KartuKontrolModel{
{
KartuKontrolDataPasienList: dataPasien,
KartuKontrolDataPemeriksaanList: dataPemeriksaanList,
KartuKontrolDataPemeriksaanPengambilanSample: dataPemeriksaanPengambilanSample,
},
}
return kartuKontrol, nil
}

View File

@@ -0,0 +1,120 @@
package public_services
import (
"cpone/db"
"cpone/models"
"go.uber.org/zap"
)
func NewServicesSurveyMcu(uStore db.AppStore) *SurveyMcuService {
return &SurveyMcuService{
SurveyMcuStore: uStore,
}
}
type SurveyMcuService struct {
SurveyMcuStore db.AppStore
}
func (su *SurveyMcuService) GetSurveyMcuByNoreg(nomorRegistrasi string) ([]models.SurveyMcu, error) {
logger, _ := zap.NewProduction()
defer logger.Sync()
logger.Info("QUERY SEARCH GET SURVEY MCU BY NOMOR REGISTRASI",
zap.String("query search", ""),
)
// radio button
dataItemSurveyMcu := []models.ItemSurveyMcu{
{
IDItemSurvey: "1",
Nomor: "1",
Pertanyaan: "Bagaimana Penilaian Sikap & Keramahan Petugas?",
ErrorMessage: "",
NameRadioButton: "radio-1",
},
{
IDItemSurvey: "2",
Nomor: "2",
Pertanyaan: "Bagaimana Penilaian Penampilan Petugas?",
ErrorMessage: "",
NameRadioButton: "radio-2",
},
{
IDItemSurvey: "3",
Nomor: "3",
Pertanyaan: "Bagaimana Penilaian Ketrampilan Petugas?",
ErrorMessage: "",
NameRadioButton: "radio-3",
},
{
IDItemSurvey: "4",
Nomor: "4",
Pertanyaan: "Bagaimana Penilaian Pemberian Informasi Petugas?",
ErrorMessage: "",
NameRadioButton: "radio-4",
},
{
IDItemSurvey: "5",
Nomor: "5",
Pertanyaan: "Bagaimana Penilaian Kelengkapan Alat?",
ErrorMessage: "",
NameRadioButton: "radio-5",
},
{
IDItemSurvey: "6",
Nomor: "6",
Pertanyaan: "Bagaimana Penilaian Kelayakan Alat?",
ErrorMessage: "",
NameRadioButton: "radio-6",
},
{
IDItemSurvey: "7",
Nomor: "7",
Pertanyaan: "Bagaimana Penilaian Kebersihan Ruangan?",
ErrorMessage: "",
NameRadioButton: "radio-7",
},
{
IDItemSurvey: "8",
Nomor: "8",
Pertanyaan: "Bagaimana Penilaian Kebersihan Ruangan?",
ErrorMessage: "",
NameRadioButton: "radio-8",
},
{
IDItemSurvey: "9",
Nomor: "9",
Pertanyaan: "Bagaimana Penilaian Alur Pelayanan?",
ErrorMessage: "",
NameRadioButton: "radio-9",
},
{
IDItemSurvey: "10",
Nomor: "10",
Pertanyaan: "Bagaimana Penilaian Ketepatan Waktu?",
ErrorMessage: "",
NameRadioButton: "radio-10",
},
}
// saran
dataItemSurveyMcuSaran := []models.ItemSurveyMcuSaran{
{
IDItemSurveyMcuSaran: "11",
NameSurveyMcuSaran: "saranmcu-11",
ErrorMessageSurveyMcuSaran: "",
},
}
surveymcu := []models.SurveyMcu{
{
DataListItemSurveyMcu: dataItemSurveyMcu,
DataListItemSurveyMcuSaran: dataItemSurveyMcuSaran,
},
}
return surveymcu, nil
}

35
utils/surveymcu.utils.go Normal file
View File

@@ -0,0 +1,35 @@
package utils
import (
"cpone/models"
"strings"
)
func GetIdSurveyMcu(id string) string {
return id
}
func ConcatHxIncludeSurveyMcu(dataSurveyMcu []models.SurveyMcu) string {
var elements []string
if len(dataSurveyMcu) > 0 {
for _, x := range dataSurveyMcu {
// radio button
if len(x.DataListItemSurveyMcu) > 0 {
for _, v := range x.DataListItemSurveyMcu {
elements = append(elements, "[name='radio-"+v.IDItemSurvey+"']", "[name='default-radio-"+v.IDItemSurvey+"']", "[name='id-radio']")
}
}
// saran
if len(x.DataListItemSurveyMcuSaran) > 0 {
for _, v := range x.DataListItemSurveyMcuSaran {
elements = append(elements, "[name='saranmcu-"+v.IDItemSurveyMcuSaran+"']", "[name='default-saranmcu-"+v.IDItemSurveyMcuSaran+"']", "[name='id-saran']")
}
}
}
}
// Gabungkan semua elemen dengan koma
return strings.Join(elements, ", ")
}

View File

@@ -0,0 +1,247 @@
package kartukontrol
import (
"cpone/models"
"cpone/layout"
)
templ MainContentKartuKontrolLayout(dataKartuKontrol []models.KartuKontrolModel, hxGet string, hxTrigger string, idModal string) {
<div class="content-fluid bg-white">
<div class="card-control py-19 px-9">
if len(dataKartuKontrol) > 0 {
@ContentDataPasienList(dataKartuKontrol[0].KartuKontrolDataPasienList)
@ContentPemeriksaanLayout(dataKartuKontrol[0].KartuKontrolDataPemeriksaanList, dataKartuKontrol[0].KartuKontrolDataPemeriksaanPengambilanSample)
}
</div>
</div>
@ModalMcuWordingProcessShow(hxTrigger, hxGet, idModal)
}
templ ContentDataPasienList(dataPasienList []models.DataPasien) {
<!-- begin::Data Pasien -->
<div class="left pt-6 pl-7" style="position: relative">
<div class="foto top-right mt-7 mr-6"></div>
<div class="card-label">
<h4>Data Pasien</h4>
</div>
<div class="pt-4">
<h5 class="text-primary">No Registrasi</h5>
<h5>{ dataPasienList[0].NomorRegistrasi }</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Nomor Lab</h5>
<h5>{ dataPasienList[0].NomorLab }</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Nama Pasien</h5>
<h5>{ dataPasienList[0].NamaPasien }</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Tanggal Lahir / Umur</h5>
<h5>{ dataPasienList[0].TanggalLahir } / { dataPasienList[0].Umur }</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Jenis Kelamin</h5>
<h5>{ dataPasienList[0].JenisKelamin }</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Divisi</h5>
<h5>{ dataPasienList[0].NamaDivisi }</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Company</h5>
<h5>{ dataPasienList[0].NamaCompany }</h5>
</div>
</div>
<!-- end::Data Pasien -->
}
templ ContentPemeriksaanLayout(dataPemeriksaanList []models.DataPemeriksaanList, dataPemeriksaanPengambilanSample []models.DataPemeriksaanPengambilanSample) {
<div class="card shadow-sm py-2 mt-29">
@ContentPemeriksaanList(dataPemeriksaanList)
</div>
@ContentPengambilanSampleList(dataPemeriksaanPengambilanSample)
}
templ ContentPemeriksaanList(dataPemeriksaan []models.DataPemeriksaanList) {
<div class="card-body px-3 py-2">
<h5 class="card-title">Daftar Pemeriksaan</h5>
if len(dataPemeriksaan) > 0 {
<ul class="list-group text-grey ml-7 mt-1">
for _, v := range dataPemeriksaan {
<li><h6>{ v.NamaPemeriksaanList }</h6></li>
}
</ul>
} else {
<h6>Belum Ada Daftar Pemeriksaan</h6>
}
</div>
}
templ ContentPengambilanSampleList(dataPemeriksaanPengambilanSample []models.DataPemeriksaanPengambilanSample) {
<div class="card shadow-sm py-2 mt-6">
<div class="card-body px-3 py-2">
<!-- begin::Pemeriksaan/Pengambilan Sample -->
<h5 class="card-title">Pemeriksaan / Pengambilan Sample</h5>
if len(dataPemeriksaanPengambilanSample) > 0 {
for _, v := range dataPemeriksaanPengambilanSample {
<div class="text-grey mb-3">
<h5>{ v.NamaPemeriksaanPengambilanSample }</h5>
if len(v.SampleTypeListData) > 0 {
<ul class="list-group ml-7 mt-1">
for _, k := range v.SampleTypeListData {
<li class="justify-content-center align-items-center mb-3">
<div class="row">
<div class="col-9 d-flex">
<h6>{ k.SampleTypeName }</h6>
if len(k.SampleTypeDateTime) > 0 {
<span class="smallf pl-5 vertical">{ k.SampleTypeDateTime }</span>
}
</div>
<div class="col-3">
<span class="label label-inline font-weight-bold kartukontrol-sudah-label mr-2 shadow-sm">{ k.SampleTypeStatus }</span>
</div>
</div>
</li>
}
</ul>
} else {
<h6>Belum Ada Data Pengambilan Sample</h6>
}
</div>
}
} else {
<h6>Belum Ada Data Pemeriksaan & Pengambilan Sample</h6>
}
<!-- end::Pemeriksaan/Pengambilan Sample -->
</div>
</div>
<div style="height: 14vh;"></div>
}
templ ModalMcuWordingProcessShow(hxTrigger string, hxGet string, idModal string) {
<div hx-trigger={ hxTrigger } hx-get={ hxGet }></div>
<div id={ idModal }></div>
}
templ ModalMcuWordingShow(idModal string, messageWording string) {
<!-- modal wording start -->
<div
class="modal fade show modalcover"
id={ idModal }
hx-swap-oob="true"
tabindex="-1"
role="dialog"
data-backdrop="static"
aria-hidden="true"
style="display: block;"
>
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content rounded-lg">
<div class="modal-header border-bottom-0">
<h1 class="text-black font-weight-bolder">Perhatian</h1>
</div>
<div class="modal-body border-bottom-0">
<div id="spinnerDiv" class="d-flex justify-content-center align-items-center">
<div id="spinnerLoading" class="spinner-border text-primary" role="status">
<span class="sr-only">Loading...</span>
</div>
</div>
<h6 id="modal-text" class="text-black" style="display: none;">
{ messageWording }
</h6>
</div>
<div class="modal-footer border-top-0">
<button
id="redirectToSurveyMcu"
type="button"
class="btn btn-primary btn-shadow font-weight-bold rounded-lg"
style="display:none"
>
OK
</button>
</div>
</div>
</div>
</div>
<script>
document.body.addEventListener('click', function() {
var modal = document.getElementById('modalWordingSurveyMcu');
modal.className = 'modal fade show modal-static modalcover';
setTimeout(function() {
modal.className = 'modal fade show modalcover';
}, 50); // 50 dalam milidetik
});
// show spinner
setTimeout(function() {
document.getElementById('spinnerDiv').style.display = 'none';
document.getElementById('spinnerLoading').style.display = 'none';
document.getElementById('modal-text').style.display = 'block';
document.getElementById('redirectToSurveyMcu').style.display = 'block';
}, 2000); // 2000 milidetik atau 2 detik
</script>
}
templ CssKartuKontrol() {
<link
rel="stylesheet"
href="assets/css/googlefont/poppins.css"
/>
<link
rel="stylesheet"
href="assets/css/googlefont/publicsans.css"
/>
<link
rel="stylesheet"
href="assets/css/googlefont/roboto.css"
/>
<style>
body {
background-color: var(--white)
}
.card-control {
width: 390px;
height: 1212px;
background-image: url("asset-corporate-portal/media/kartukontrol/bg-kartuKontrol.svg");
background-size: 390px 1212px;
background-repeat: no-repeat;
margin: auto;
}
.foto {
width: 70px;
height: 79px;
background-image: url("assets/media/svg/avatars/001-boy.svg");
background-size: 70px 79px;
background-repeat: no-repeat;
}
.top-right {
position: absolute;
top: 0;
right: 0;
}
h5 {
font-size: 14px;
}
h6 {
font-size: 12px;
}
.smallf {
font-size: 10px;
}
.modalcover {
background-color: #00000073;
}
</style>
}
templ JsKartuKontrol() {
}
templ ShowKartuKontrol(title string, cmp templ.Component, css templ.Component, js templ.Component) {
@layout.PlaygroundLayout(title, css, js) {
@cmp
}
}

View File

@@ -0,0 +1,612 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.663
package kartukontrol
//lint:file-ignore SA4006 This context is only used if a nested component is present.
import "github.com/a-h/templ"
import "context"
import "io"
import "bytes"
import (
"cpone/layout"
"cpone/models"
)
func MainContentKartuKontrolLayout(dataKartuKontrol []models.KartuKontrolModel, hxGet string, hxTrigger string, idModal string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
if templ_7745c5c3_Var1 == nil {
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"content-fluid bg-white\"><div class=\"card-control py-19 px-9\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(dataKartuKontrol) > 0 {
templ_7745c5c3_Err = ContentDataPasienList(dataKartuKontrol[0].KartuKontrolDataPasienList).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = ContentPemeriksaanLayout(dataKartuKontrol[0].KartuKontrolDataPemeriksaanList, dataKartuKontrol[0].KartuKontrolDataPemeriksaanPengambilanSample).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = ModalMcuWordingProcessShow(hxTrigger, hxGet, idModal).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ContentDataPasienList(dataPasienList []models.DataPasien) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var2 := templ.GetChildren(ctx)
if templ_7745c5c3_Var2 == nil {
templ_7745c5c3_Var2 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- begin::Data Pasien --><div class=\"left pt-6 pl-7\" style=\"position: relative\"><div class=\"foto top-right mt-7 mr-6\"></div><div class=\"card-label\"><h4>Data Pasien</h4></div><div class=\"pt-4\"><h5 class=\"text-primary\">No Registrasi</h5><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].NomorRegistrasi)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 29, Col: 42}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div><div class=\"pt-4\"><h5 class=\"text-primary\">Nomor Lab</h5><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].NomorLab)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 33, Col: 35}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div><div class=\"pt-4\"><h5 class=\"text-primary\">Nama Pasien</h5><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].NamaPasien)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 37, Col: 37}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div><div class=\"pt-4\"><h5 class=\"text-primary\">Tanggal Lahir / Umur</h5><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].TanggalLahir)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 41, Col: 39}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" / ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].Umur)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 41, Col: 68}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div><div class=\"pt-4\"><h5 class=\"text-primary\">Jenis Kelamin</h5><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].JenisKelamin)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 45, Col: 39}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div><div class=\"pt-4\"><h5 class=\"text-primary\">Divisi</h5><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var9 string
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].NamaDivisi)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 49, Col: 37}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div><div class=\"pt-4\"><h5 class=\"text-primary\">Company</h5><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var10 string
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].NamaCompany)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 53, Col: 38}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div></div><!-- end::Data Pasien -->")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ContentPemeriksaanLayout(dataPemeriksaanList []models.DataPemeriksaanList, dataPemeriksaanPengambilanSample []models.DataPemeriksaanPengambilanSample) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var11 := templ.GetChildren(ctx)
if templ_7745c5c3_Var11 == nil {
templ_7745c5c3_Var11 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"card shadow-sm py-2 mt-29\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = ContentPemeriksaanList(dataPemeriksaanList).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = ContentPengambilanSampleList(dataPemeriksaanPengambilanSample).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ContentPemeriksaanList(dataPemeriksaan []models.DataPemeriksaanList) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var12 := templ.GetChildren(ctx)
if templ_7745c5c3_Var12 == nil {
templ_7745c5c3_Var12 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"card-body px-3 py-2\"><h5 class=\"card-title\">Daftar Pemeriksaan</h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(dataPemeriksaan) > 0 {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<ul class=\"list-group text-grey ml-7 mt-1\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for _, v := range dataPemeriksaan {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<li><h6>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var13 string
templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(v.NamaPemeriksaanList)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 72, Col: 36}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h6></li>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</ul>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<h6>Belum Ada Daftar Pemeriksaan</h6>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ContentPengambilanSampleList(dataPemeriksaanPengambilanSample []models.DataPemeriksaanPengambilanSample) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var14 := templ.GetChildren(ctx)
if templ_7745c5c3_Var14 == nil {
templ_7745c5c3_Var14 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"card shadow-sm py-2 mt-6\"><div class=\"card-body px-3 py-2\"><!-- begin::Pemeriksaan/Pengambilan Sample --><h5 class=\"card-title\">Pemeriksaan / Pengambilan Sample</h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(dataPemeriksaanPengambilanSample) > 0 {
for _, v := range dataPemeriksaanPengambilanSample {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"text-grey mb-3\"><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var15 string
templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(v.NamaPemeriksaanPengambilanSample)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 89, Col: 46}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(v.SampleTypeListData) > 0 {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<ul class=\"list-group ml-7 mt-1\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for _, k := range v.SampleTypeListData {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<li class=\"justify-content-center align-items-center mb-3\"><div class=\"row\"><div class=\"col-9 d-flex\"><h6>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var16 string
templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(k.SampleTypeName)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 96, Col: 34}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h6>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(k.SampleTypeDateTime) > 0 {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<span class=\"smallf pl-5 vertical\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var17 string
templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(k.SampleTypeDateTime)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 98, Col: 70}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</span>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div><div class=\"col-3\"><span class=\"label label-inline font-weight-bold kartukontrol-sudah-label mr-2 shadow-sm\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var18 string
templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(k.SampleTypeStatus)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 102, Col: 122}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</span></div></div></li>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</ul>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<h6>Belum Ada Data Pengambilan Sample</h6>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<h6>Belum Ada Data Pemeriksaan & Pengambilan Sample</h6>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- end::Pemeriksaan/Pengambilan Sample --></div></div><div style=\"height: 14vh;\"></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ModalMcuWordingProcessShow(hxTrigger string, hxGet string, idModal string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var19 := templ.GetChildren(ctx)
if templ_7745c5c3_Var19 == nil {
templ_7745c5c3_Var19 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div hx-trigger=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var20 string
templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(hxTrigger)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 123, Col: 28}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-get=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var21 string
templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(hxGet)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 123, Col: 45}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"></div><div id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var22 string
templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(idModal)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 124, Col: 18}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ModalMcuWordingShow(idModal string, messageWording string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var23 := templ.GetChildren(ctx)
if templ_7745c5c3_Var23 == nil {
templ_7745c5c3_Var23 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- modal wording start --><div class=\"modal fade show modalcover\" id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var24 string
templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(idModal)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 131, Col: 14}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-swap-oob=\"true\" tabindex=\"-1\" role=\"dialog\" data-backdrop=\"static\" aria-hidden=\"true\" style=\"display: block;\"><div class=\"modal-dialog modal-dialog-centered\" role=\"document\"><div class=\"modal-content rounded-lg\"><div class=\"modal-header border-bottom-0\"><h1 class=\"text-black font-weight-bolder\">Perhatian</h1></div><div class=\"modal-body border-bottom-0\"><div id=\"spinnerDiv\" class=\"d-flex justify-content-center align-items-center\"><div id=\"spinnerLoading\" class=\"spinner-border text-primary\" role=\"status\"><span class=\"sr-only\">Loading...</span></div></div><h6 id=\"modal-text\" class=\"text-black\" style=\"display: none;\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var25 string
templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.JoinStringErrs(messageWording)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\kartukontrol\kartukontrol.templ`, Line: 151, Col: 22}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var25))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h6></div><div class=\"modal-footer border-top-0\"><button id=\"redirectToSurveyMcu\" type=\"button\" class=\"btn btn-primary btn-shadow font-weight-bold rounded-lg\" style=\"display:none\">OK\r</button></div></div></div></div><script>\r\n\tdocument.body.addEventListener('click', function() {\r\n var modal = document.getElementById('modalWordingSurveyMcu');\r\n modal.className = 'modal fade show modal-static modalcover';\r\n \r\n setTimeout(function() {\r\n modal.className = 'modal fade show modalcover';\r\n }, 50); // 50 dalam milidetik\r\n });\r\n\r\n\t// show spinner\r\n\r\n\tsetTimeout(function() {\r\n\t\tdocument.getElementById('spinnerDiv').style.display = 'none';\r\n\t\tdocument.getElementById('spinnerLoading').style.display = 'none';\r\n\t\tdocument.getElementById('modal-text').style.display = 'block';\r\n\t\tdocument.getElementById('redirectToSurveyMcu').style.display = 'block';\r\n\t}, 2000); // 2000 milidetik atau 2 detik\r\n\t</script>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func CssKartuKontrol() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var26 := templ.GetChildren(ctx)
if templ_7745c5c3_Var26 == nil {
templ_7745c5c3_Var26 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<link rel=\"stylesheet\" href=\"assets/css/googlefont/poppins.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/publicsans.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/roboto.css\"><style>\r\n body {\r\n background-color: var(--white)\r\n }\r\n\t\t.card-control {\r\n\t\t\twidth: 390px;\r\n\t\t\theight: 1212px;\r\n\t\t\tbackground-image: url(\"asset-corporate-portal/media/kartukontrol/bg-kartuKontrol.svg\");\r\n\t\t\tbackground-size: 390px 1212px;\r\n\t\t\tbackground-repeat: no-repeat;\r\n margin: auto;\r\n\t\t}\r\n\t\t.foto {\r\n\t\t\twidth: 70px;\r\n\t\t\theight: 79px;\r\n\t\t\tbackground-image: url(\"assets/media/svg/avatars/001-boy.svg\");\r\n\t\t\tbackground-size: 70px 79px;\r\n\t\t\tbackground-repeat: no-repeat;\r\n\t\t}\r\n\t\t.top-right {\r\n\t\t\tposition: absolute;\r\n\t\t\ttop: 0;\r\n\t\t\tright: 0;\r\n\t\t}\r\n\t\th5 {\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\t\th6 {\r\n\t\t\tfont-size: 12px;\r\n\t\t}\r\n\t\t.smallf {\r\n\t\t\tfont-size: 10px;\r\n\t\t}\r\n\t\t.modalcover {\r\n\t\t\tbackground-color: #00000073;\r\n\t\t}\r\n\t</style>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func JsKartuKontrol() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var27 := templ.GetChildren(ctx)
if templ_7745c5c3_Var27 == nil {
templ_7745c5c3_Var27 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ShowKartuKontrol(title string, cmp templ.Component, css templ.Component, js templ.Component) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var28 := templ.GetChildren(ctx)
if templ_7745c5c3_Var28 == nil {
templ_7745c5c3_Var28 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Var29 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
templ_7745c5c3_Err = cmp.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = io.Copy(templ_7745c5c3_W, templ_7745c5c3_Buffer)
}
return templ_7745c5c3_Err
})
templ_7745c5c3_Err = layout.PlaygroundLayout(title, css, js).Render(templ.WithChildren(ctx, templ_7745c5c3_Var29), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}

View File

@@ -39,7 +39,7 @@ templ ContentMasterMenuUserGroup(ugData []models.UserGroup, contentID string) {
<span class="sr-only"></span>
</div>
</div>
@modalcomponent.Modal("dialogNew", "New - User Group", DialogNewBody("", ""), DialogNewAction(), BtnCloseNew())
@modalcomponent.Modal("dialogNew", "New - User Group", DialogNewBody("", "", "", "", ""), DialogNewAction(), BtnCloseNew())
@modalcomponent.Modal("dialogEdit", "Edit - User Group", DialogEditBody("", ""), DialogEditAction(), BtnCloseNew())
@JSku()
</div>

View File

@@ -66,7 +66,7 @@ func ContentMasterMenuUserGroup(ugData []models.UserGroup, contentID string) tem
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = modalcomponent.Modal("dialogNew", "New - User Group", DialogNewBody("", ""), DialogNewAction(), BtnCloseNew()).Render(ctx, templ_7745c5c3_Buffer)
templ_7745c5c3_Err = modalcomponent.Modal("dialogNew", "New - User Group", DialogNewBody("", "", "", "", ""), DialogNewAction(), BtnCloseNew()).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}

View File

@@ -5,11 +5,33 @@ import (
"cpone/models"
"cpone/component/modal"
"strconv"
"cpone/component/table"
"cpone/component/customtextfield"
)
// "cpone/component/sidebar_user_profile"
templ ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component, tablecontent templ.Component, inputanSearch templ.Component) {
templ ContentMasterMenuUserGroupV1(
tableID string,
paginationID string,
searchID string,
breadcrumb templ.Component,
tablecontent templ.Component,
filterUserGroup templ.Component,
paginationUserGroup templ.Component,
) {
<div class="container-fluid">
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "tableID",
Name: "tableID",
Type: "hidden",
Value: tableID})
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "paginationID",
Name: "paginationID",
Type: "hidden",
Value: paginationID})
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "searchID",
Name: "searchID",
Type: "hidden",
Value: searchID})
<div class="row align-items-center mb-10">
<div class="col-md-10 col-sm-12 p-0 ">
@breadcrumb
@@ -29,14 +51,30 @@ templ ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component,
<button type="button" class="btn btn-primary btn-block">Add New</button>
</div>
</div>
@filterUserGroup
// table content
@tablecontent
@paginationUserGroup
<div class="d-flex justify-content-center text-primary">
<div class="htmx-indicator spinner-border" role="status" id="indicator">
<span class="sr-only"></span>
</div>
</div>
@modalcomponent.Modal("dialogNew", "New - User Group", DialogNewBody("", ""), DialogNewAction(), BtnCloseNew())
// hx-on::after-request="showtoast()"
// hx-on::reponse-error="cobaerror()"
// hx-on::send-error="cobaerror()"
<form
hx-post="/dev/usergroup/add"
class="form"
hx-target="#dialogNew"
hx-swap="innerHTML"
>
@modalcomponent.Modal("dialogNew",
"New - User Group",
DialogNewBody("", "", "New", "", ""),
DialogNewAction(),
BtnCloseNew())
</form>
@modalcomponent.Modal("dialogEdit", "Edit - User Group", DialogEditBody("", ""), DialogEditAction(), BtnCloseNew())
@JSku()
</div>
@@ -73,15 +111,16 @@ templ TableRowV1(data []models.UserGroupV1) {
<a
id="btneditug"
type="button"
class="btneditusgp col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-tosca mb-2"
class="btneditug col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-tosca mb-2"
data-toggle="modal"
data-target={ "#dialogEdit" + strconv.Itoa(v.M_UserGroupID) }
>
Edit
</a>
<a
id="btndeleteug"
type="button"
class="col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-danger mb-2"
class=" btndeleteug col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-danger mb-2"
data-toggle="modal"
data-target={ "#dialogDelete" + strconv.Itoa(v.M_UserGroupID) }
>Hapus</a>
@@ -152,25 +191,6 @@ templ JSkuV1() {
</script>
}
templ PaginationV1() {
<div class="d-flex justify-content-between align-items-center flex-wrap">
<div class="d-flex flex-wrap py-2 mr-3">
<a href="#" class="btn btn-icon btn-sm btn-light mr-2 my-1"><i class="ki ki-bold-double-arrow-back icon-xs"></i></a>
<a href="#" class="btn btn-icon btn-sm btn-light mr-2 my-1"><i class="ki ki-bold-arrow-back icon-xs"></i></a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">...</a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">23</a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light btn-hover-primary active mr-2 my-1">24</a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">25</a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">26</a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">27</a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">28</a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">...</a>
<a href="#" class="btn btn-icon btn-sm btn-light mr-2 my-1"><i class="ki ki-bold-arrow-next icon-xs"></i></a>
<a href="#" class="btn btn-icon btn-sm btn-light mr-2 my-1"><i class="ki ki-bold-double-arrow-next icon-xs"></i></a>
</div>
</div>
}
templ CssMasterMenuUserGroupV1x() {
<link
rel="stylesheet"
@@ -216,3 +236,18 @@ templ ShowMasterMenuUserGroupV1x(title string, cmp templ.Component, css templ.Co
@cmp
}
}
// []string{"KODE", "USERGROUP", "AKSI"},
// []string{"40%", "40%", "20%"},
templ TableUserGroup(data []models.UserGroupV1, tableID string) {
<div id={ tableID } hx-swap-oob={ "#" + tableID }>
@tablecomponent.TableV3([]string{"KODE", "USERGROUP", "AKSI"},
[]string{"40%", "40%", "20%"},
TableRowV1(data))
</div>
}
templ SwapTableUserGroup(pagination templ.Component, table templ.Component) {
@pagination
@table
}

View File

@@ -11,14 +11,24 @@ import "io"
import "bytes"
import (
"cpone/component/customtextfield"
"cpone/component/modal"
"cpone/component/table"
"cpone/layout"
"cpone/models"
"strconv"
)
// "cpone/component/sidebar_user_profile"
func ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component, tablecontent templ.Component, inputanSearch templ.Component) templ.Component {
func ContentMasterMenuUserGroupV1(
tableID string,
paginationID string,
searchID string,
breadcrumb templ.Component,
tablecontent templ.Component,
filterUserGroup templ.Component,
paginationUserGroup templ.Component,
) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
@@ -31,7 +41,32 @@ func ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component,
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"container-fluid\"><div class=\"row align-items-center mb-10\"><div class=\"col-md-10 col-sm-12 p-0 \">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"container-fluid\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "tableID",
Name: "tableID",
Type: "hidden",
Value: tableID}).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "paginationID",
Name: "paginationID",
Type: "hidden",
Value: paginationID}).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "searchID",
Name: "searchID",
Type: "hidden",
Value: searchID}).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"row align-items-center mb-10\"><div class=\"col-md-10 col-sm-12 p-0 \">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -43,15 +78,31 @@ func ContentMasterMenuUserGroupV1(contentID string, breadcrumb templ.Component,
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = filterUserGroup.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = tablecontent.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"d-flex justify-content-center text-primary\"><div class=\"htmx-indicator spinner-border\" role=\"status\" id=\"indicator\"><span class=\"sr-only\"></span></div></div>")
templ_7745c5c3_Err = paginationUserGroup.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = modalcomponent.Modal("dialogNew", "New - User Group", DialogNewBody("", ""), DialogNewAction(), BtnCloseNew()).Render(ctx, templ_7745c5c3_Buffer)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"d-flex justify-content-center text-primary\"><div class=\"htmx-indicator spinner-border\" role=\"status\" id=\"indicator\"><span class=\"sr-only\"></span></div></div><form hx-post=\"/dev/usergroup/add\" class=\"form\" hx-target=\"#dialogNew\" hx-swap=\"innerHTML\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = modalcomponent.Modal("dialogNew",
"New - User Group",
DialogNewBody("", "", "New", "", ""),
DialogNewAction(),
BtnCloseNew()).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</form>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -101,7 +152,7 @@ func TableRowV1(data []models.UserGroupV1) templ.Component {
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(v.M_UserGroupCode)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 69, Col: 26}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 107, Col: 26}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
@@ -114,33 +165,33 @@ func TableRowV1(data []models.UserGroupV1) templ.Component {
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(v.M_UserGroupName)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 70, Col: 26}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 108, Col: 26}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</td><td><div class=\"row px-5 d-flex justify-content-around\"><a id=\"btneditug\" type=\"button\" class=\"btneditusgp col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-tosca mb-2\" data-toggle=\"modal\" data-target=\"")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</td><td><div class=\"row px-5 d-flex justify-content-around\"><a id=\"btneditug\" type=\"button\" class=\"btneditug col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-tosca mb-2\" data-toggle=\"modal\" data-target=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs("#dialogEdit" + strconv.Itoa(v.M_UserGroupID))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 78, Col: 65}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 116, Col: 65}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">Edit\r</a> <a type=\"button\" class=\"col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-danger mb-2\" data-toggle=\"modal\" data-target=\"")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">Edit\r</a> <a id=\"btndeleteug\" type=\"button\" class=\" btndeleteug col-12 col-sm-12 col-md-12 col-lg-5 col-xl-5 col-xxl-5 btn btn-light-danger mb-2\" data-toggle=\"modal\" data-target=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs("#dialogDelete" + strconv.Itoa(v.M_UserGroupID))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 86, Col: 67}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 125, Col: 67}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
if templ_7745c5c3_Err != nil {
@@ -250,7 +301,7 @@ func JSkuV1() templ.Component {
})
}
func PaginationV1() templ.Component {
func CssMasterMenuUserGroupV1x() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
@@ -263,30 +314,6 @@ func PaginationV1() templ.Component {
templ_7745c5c3_Var10 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"d-flex justify-content-between align-items-center flex-wrap\"><div class=\"d-flex flex-wrap py-2 mr-3\"><a href=\"#\" class=\"btn btn-icon btn-sm btn-light mr-2 my-1\"><i class=\"ki ki-bold-double-arrow-back icon-xs\"></i></a> <a href=\"#\" class=\"btn btn-icon btn-sm btn-light mr-2 my-1\"><i class=\"ki ki-bold-arrow-back icon-xs\"></i></a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">...</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">23</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light btn-hover-primary active mr-2 my-1\">24</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">25</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">26</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">27</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">28</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">...</a> <a href=\"#\" class=\"btn btn-icon btn-sm btn-light mr-2 my-1\"><i class=\"ki ki-bold-arrow-next icon-xs\"></i></a> <a href=\"#\" class=\"btn btn-icon btn-sm btn-light mr-2 my-1\"><i class=\"ki ki-bold-double-arrow-next icon-xs\"></i></a></div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func CssMasterMenuUserGroupV1x() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var11 := templ.GetChildren(ctx)
if templ_7745c5c3_Var11 == nil {
templ_7745c5c3_Var11 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<link rel=\"stylesheet\" href=\"assets/css/googlefont/poppins.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/publicsans.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/roboto.css\"><style>\r\n body {\r\n background-color: white;\r\n /* padding-right: 100px;\r\n padding-left: 100px; */\r\n }\r\n #div-chart {\r\n /* overflow-x: scroll; */\r\n margin: 40px 10vw 40px 10vw;\r\n }\r\n .title {\r\n font-size:20px;\r\n font-weight: bold;\r\n }\r\n #title {\r\n font-weight: 600;\r\n }\r\n \r\n</style>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
@@ -306,9 +333,9 @@ func JsMasterMenuUserGroupV1x() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var12 := templ.GetChildren(ctx)
if templ_7745c5c3_Var12 == nil {
templ_7745c5c3_Var12 = templ.NopComponent
templ_7745c5c3_Var11 := templ.GetChildren(ctx)
if templ_7745c5c3_Var11 == nil {
templ_7745c5c3_Var11 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
if !templ_7745c5c3_IsBuffer {
@@ -329,12 +356,12 @@ func ShowMasterMenuUserGroupV1x(title string, cmp templ.Component, css templ.Com
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var13 := templ.GetChildren(ctx)
if templ_7745c5c3_Var13 == nil {
templ_7745c5c3_Var13 = templ.NopComponent
templ_7745c5c3_Var12 := templ.GetChildren(ctx)
if templ_7745c5c3_Var12 == nil {
templ_7745c5c3_Var12 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Var14 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Var13 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
@@ -349,7 +376,98 @@ func ShowMasterMenuUserGroupV1x(title string, cmp templ.Component, css templ.Com
}
return templ_7745c5c3_Err
})
templ_7745c5c3_Err = layout.CorporateLayout(title, css, js, navbarmenu, navbaruser, userprofile).Render(templ.WithChildren(ctx, templ_7745c5c3_Var14), templ_7745c5c3_Buffer)
templ_7745c5c3_Err = layout.CorporateLayout(title, css, js, navbarmenu, navbaruser, userprofile).Render(templ.WithChildren(ctx, templ_7745c5c3_Var13), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
// []string{"KODE", "USERGROUP", "AKSI"},
//
// []string{"40%", "40%", "20%"},
func TableUserGroup(data []models.UserGroupV1, tableID string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var14 := templ.GetChildren(ctx)
if templ_7745c5c3_Var14 == nil {
templ_7745c5c3_Var14 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var15 string
templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(tableID)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 243, Col: 18}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-swap-oob=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var16 string
templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs("#" + tableID)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\dev\mastermenuusergroup\mastermenuusergroupv1.templ`, Line: 243, Col: 48}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = tablecomponent.TableV3([]string{"KODE", "USERGROUP", "AKSI"},
[]string{"40%", "40%", "20%"},
TableRowV1(data)).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func SwapTableUserGroup(pagination templ.Component, table templ.Component) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var17 := templ.GetChildren(ctx)
if templ_7745c5c3_Var17 == nil {
templ_7745c5c3_Var17 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Err = pagination.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = table.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}

View File

@@ -5,8 +5,17 @@ import (
"cpone/component/customtextfield"
)
templ DialogNewBody(code string, name string) {
templ DialogNewBody(code string, name string, id string, codeErrorMsg string, nameErrorMsg string) {
<div id="modalbdy">
@customtextfield.CustomTextFieldv2(
models.CustomTextFieldv2Prm{
Label: "id user group",
Name: "usergroupid",
Placeholder: "id user Group",
Type: "hidden",
Value: code,
ErrorMsg: codeErrorMsg,
})
@customtextfield.CustomTextFieldv2(
models.CustomTextFieldv2Prm{
Label: "Kode user group",
@@ -14,6 +23,7 @@ templ DialogNewBody(code string, name string) {
Placeholder: "Kode user Group",
Type: "text",
Value: code,
ErrorMsg: codeErrorMsg,
})
@customtextfield.CustomTextFieldv2(
models.CustomTextFieldv2Prm{
@@ -22,6 +32,7 @@ templ DialogNewBody(code string, name string) {
Placeholder: "Nama User Group",
Type: "text",
Value: name,
ErrorMsg: nameErrorMsg,
})
</div>
}

View File

@@ -15,7 +15,7 @@ import (
"cpone/models"
)
func DialogNewBody(code string, name string) templ.Component {
func DialogNewBody(code string, name string, id string, codeErrorMsg string, nameErrorMsg string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
@@ -32,6 +32,18 @@ func DialogNewBody(code string, name string) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(
models.CustomTextFieldv2Prm{
Label: "id user group",
Name: "usergroupid",
Placeholder: "id user Group",
Type: "hidden",
Value: code,
ErrorMsg: codeErrorMsg,
}).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(
models.CustomTextFieldv2Prm{
Label: "Kode user group",
@@ -39,6 +51,7 @@ func DialogNewBody(code string, name string) templ.Component {
Placeholder: "Kode user Group",
Type: "text",
Value: code,
ErrorMsg: codeErrorMsg,
}).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
@@ -50,6 +63,7 @@ func DialogNewBody(code string, name string) templ.Component {
Placeholder: "Nama User Group",
Type: "text",
Value: name,
ErrorMsg: nameErrorMsg,
}).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err

View File

@@ -152,25 +152,6 @@ templ JSkuV1() {
</script>
}
templ PaginationV1() {
<div class="d-flex justify-content-between align-items-center flex-wrap">
<div class="d-flex flex-wrap py-2 mr-3">
<a href="#" class="btn btn-icon btn-sm btn-light mr-2 my-1"><i class="ki ki-bold-double-arrow-back icon-xs"></i></a>
<a href="#" class="btn btn-icon btn-sm btn-light mr-2 my-1"><i class="ki ki-bold-arrow-back icon-xs"></i></a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">...</a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">23</a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light btn-hover-primary active mr-2 my-1">24</a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">25</a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">26</a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">27</a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">28</a>
<a href="#" class="btn btn-icon btn-sm border-0 btn-light mr-2 my-1">...</a>
<a href="#" class="btn btn-icon btn-sm btn-light mr-2 my-1"><i class="ki ki-bold-arrow-next icon-xs"></i></a>
<a href="#" class="btn btn-icon btn-sm btn-light mr-2 my-1"><i class="ki ki-bold-double-arrow-next icon-xs"></i></a>
</div>
</div>
}
templ CssMasterMenuUserGroupV1x() {
<link
rel="stylesheet"

View File

@@ -252,7 +252,7 @@ func JSkuV1() templ.Component {
})
}
func PaginationV1() templ.Component {
func CssMasterMenuUserGroupV1x() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
@@ -265,30 +265,6 @@ func PaginationV1() templ.Component {
templ_7745c5c3_Var10 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"d-flex justify-content-between align-items-center flex-wrap\"><div class=\"d-flex flex-wrap py-2 mr-3\"><a href=\"#\" class=\"btn btn-icon btn-sm btn-light mr-2 my-1\"><i class=\"ki ki-bold-double-arrow-back icon-xs\"></i></a> <a href=\"#\" class=\"btn btn-icon btn-sm btn-light mr-2 my-1\"><i class=\"ki ki-bold-arrow-back icon-xs\"></i></a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">...</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">23</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light btn-hover-primary active mr-2 my-1\">24</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">25</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">26</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">27</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">28</a> <a href=\"#\" class=\"btn btn-icon btn-sm border-0 btn-light mr-2 my-1\">...</a> <a href=\"#\" class=\"btn btn-icon btn-sm btn-light mr-2 my-1\"><i class=\"ki ki-bold-arrow-next icon-xs\"></i></a> <a href=\"#\" class=\"btn btn-icon btn-sm btn-light mr-2 my-1\"><i class=\"ki ki-bold-double-arrow-next icon-xs\"></i></a></div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func CssMasterMenuUserGroupV1x() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var11 := templ.GetChildren(ctx)
if templ_7745c5c3_Var11 == nil {
templ_7745c5c3_Var11 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<link rel=\"stylesheet\" href=\"assets/css/googlefont/poppins.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/publicsans.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/roboto.css\"><style>\r\n body {\r\n background-color: white;\r\n /* padding-right: 100px;\r\n padding-left: 100px; */\r\n }\r\n #div-chart {\r\n /* overflow-x: scroll; */\r\n margin: 40px 10vw 40px 10vw;\r\n }\r\n .title {\r\n font-size:20px;\r\n font-weight: bold;\r\n }\r\n #title {\r\n font-weight: 600;\r\n }\r\n \r\n</style>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
@@ -308,9 +284,9 @@ func JsMasterMenuUserGroupV1x() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var12 := templ.GetChildren(ctx)
if templ_7745c5c3_Var12 == nil {
templ_7745c5c3_Var12 = templ.NopComponent
templ_7745c5c3_Var11 := templ.GetChildren(ctx)
if templ_7745c5c3_Var11 == nil {
templ_7745c5c3_Var11 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
if !templ_7745c5c3_IsBuffer {
@@ -331,12 +307,12 @@ func ShowMasterMenuUserGroupV1x(title string, cmp templ.Component, css templ.Com
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var13 := templ.GetChildren(ctx)
if templ_7745c5c3_Var13 == nil {
templ_7745c5c3_Var13 = templ.NopComponent
templ_7745c5c3_Var12 := templ.GetChildren(ctx)
if templ_7745c5c3_Var12 == nil {
templ_7745c5c3_Var12 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Var14 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Var13 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
@@ -351,7 +327,7 @@ func ShowMasterMenuUserGroupV1x(title string, cmp templ.Component, css templ.Com
}
return templ_7745c5c3_Err
})
templ_7745c5c3_Err = layout.CorporateLayout(title, css, js, navbarmenu, navbaruser, userprofile).Render(templ.WithChildren(ctx, templ_7745c5c3_Var14), templ_7745c5c3_Buffer)
templ_7745c5c3_Err = layout.CorporateLayout(title, css, js, navbarmenu, navbaruser, userprofile).Render(templ.WithChildren(ctx, templ_7745c5c3_Var13), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}

View File

@@ -0,0 +1,267 @@
package public_kartukontrol
import (
"cpone/models"
"cpone/layout"
)
templ MainContentKartuKontrolLayout(dataKartuKontrol []models.KartuKontrolModel, hxGet string, hxTrigger string, idModal string, urlSurveyMcu string, nomorRegistrasi string) {
// toast
<div class="toast-top-right" id="container-system-notification-x01" style="position: fixed; top: 1vh; right: 0vw; z-index: 999;">
<!-- toast success -->
<div
id="notification-kartukontrol-001"
class="toast fade hide"
role="alert"
aria-live="assertive"
aria-atomic="true"
>
<div class="toast-header bg-success text-white">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--ep mr-2 icon-xl" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 1024 1024" data-icon="ep:success-filled"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896a448 448 0 0 1 0-896m-55.808 536.384l-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"></path></svg>
<strong class="mr-auto">Success</strong>
<small class="text-muted text-white">just now</small>
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="toast-body bg-success-transparent">
This is a success toast.
</div>
</div>
</div>
// end toast
<div class="content-fluid bg-white">
<div class="card-control py-19 px-9">
if len(dataKartuKontrol) > 0 {
@ContentDataPasienList(dataKartuKontrol[0].KartuKontrolDataPasienList)
@ContentPemeriksaanLayout(dataKartuKontrol[0].KartuKontrolDataPemeriksaanList, dataKartuKontrol[0].KartuKontrolDataPemeriksaanPengambilanSample)
}
</div>
</div>
@ModalMcuWordingProcessShow(hxTrigger, hxGet, idModal, urlSurveyMcu, nomorRegistrasi)
}
templ ContentDataPasienList(dataPasienList []models.DataPasien) {
<!-- begin::Data Pasien -->
<div class="left pt-6 pl-7" style="position: relative">
<div class="foto top-right mt-7 mr-6"></div>
<div class="card-label">
<h4>Data Pasien</h4>
</div>
<div class="pt-4">
<h5 class="text-primary">No Registrasi</h5>
<h5>{ dataPasienList[0].NomorRegistrasi }</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Nomor Lab</h5>
<h5>{ dataPasienList[0].NomorLab }</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Nama Pasien</h5>
<h5>{ dataPasienList[0].NamaPasien }</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Tanggal Lahir / Umur</h5>
<h5>{ dataPasienList[0].TanggalLahir } / { dataPasienList[0].Umur }</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Jenis Kelamin</h5>
<h5>{ dataPasienList[0].JenisKelamin }</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Divisi</h5>
<h5>{ dataPasienList[0].NamaDivisi }</h5>
</div>
<div class="pt-4">
<h5 class="text-primary">Company</h5>
<h5>{ dataPasienList[0].NamaCompany }</h5>
</div>
</div>
<!-- end::Data Pasien -->
}
templ ContentPemeriksaanLayout(dataPemeriksaanList []models.DataPemeriksaanList, dataPemeriksaanPengambilanSample []models.DataPemeriksaanPengambilanSample) {
<div class="card shadow-sm py-2 mt-29">
@ContentPemeriksaanList(dataPemeriksaanList)
</div>
@ContentPengambilanSampleList(dataPemeriksaanPengambilanSample)
}
templ ContentPemeriksaanList(dataPemeriksaan []models.DataPemeriksaanList) {
<div class="card-body px-3 py-2">
<h5 class="card-title">Daftar Pemeriksaan</h5>
if len(dataPemeriksaan) > 0 {
<ul class="list-group text-grey ml-7 mt-1">
for _, v := range dataPemeriksaan {
<li><h6>{ v.NamaPemeriksaanList }</h6></li>
}
</ul>
} else {
<h6>Belum Ada Daftar Pemeriksaan</h6>
}
</div>
}
templ ContentPengambilanSampleList(dataPemeriksaanPengambilanSample []models.DataPemeriksaanPengambilanSample) {
<div class="card shadow-sm py-2 mt-6">
<div class="card-body px-3 py-2">
<!-- begin::Pemeriksaan/Pengambilan Sample -->
<h5 class="card-title">Pemeriksaan / Pengambilan Sample</h5>
if len(dataPemeriksaanPengambilanSample) > 0 {
for _, v := range dataPemeriksaanPengambilanSample {
<div class="text-grey mb-3">
<h5>{ v.NamaPemeriksaanPengambilanSample }</h5>
if len(v.SampleTypeListData) > 0 {
<ul class="list-group ml-7 mt-1">
for _, k := range v.SampleTypeListData {
<li class="justify-content-center align-items-center mb-3">
<div class="row">
<div class="col-9 d-flex">
<h6>{ k.SampleTypeName }</h6>
if len(k.SampleTypeDateTime) > 0 {
<span class="smallf pl-5 vertical">{ k.SampleTypeDateTime }</span>
}
</div>
<div class="col-3">
<span class="label label-inline font-weight-bold kartukontrol-sudah-label mr-2 shadow-sm">{ k.SampleTypeStatus }</span>
</div>
</div>
</li>
}
</ul>
} else {
<h6>Belum Ada Data Pengambilan Sample</h6>
}
</div>
}
} else {
<h6>Belum Ada Data Pemeriksaan & Pengambilan Sample</h6>
}
<!-- end::Pemeriksaan/Pengambilan Sample -->
</div>
</div>
<div style="height: 14vh;"></div>
}
templ ModalMcuWordingProcessShow(hxTrigger string, hxGet string, idModal string, urlSurveyMcu string, nomorRegistrasi string) {
<input type="hidden" name="nomorRegistrasi" value={ nomorRegistrasi }/>
<input type="hidden" name="urlSurveyMcu" value={ urlSurveyMcu }/>
<div hx-trigger={ hxTrigger } hx-get={ hxGet } hx-include="[name='urlSurveyMcu'], [name='nomorRegistrasi']"></div>
<div id={ idModal }></div>
}
templ ModalMcuWordingShow(idModal string, messageWording string, urlSurvey string) {
<!-- modal wording start -->
<div
class="modal fade show modalcover"
id={ idModal }
hx-swap-oob="true"
tabindex="-1"
role="dialog"
data-backdrop="static"
aria-hidden="true"
style="display: block;"
>
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content rounded-lg">
<div class="modal-header border-bottom-0">
<h1 class="text-black font-weight-bolder">Perhatian</h1>
</div>
<div class="modal-body border-bottom-0">
<div id="spinnerDiv" class="d-flex justify-content-center align-items-center">
<div id="spinnerLoading" class="spinner-border text-primary" role="status">
<span class="sr-only">Loading...</span>
</div>
</div>
<h6 id="modal-text" class="text-black" style="display: none;">
{ messageWording }
</h6>
</div>
<div class="modal-footer border-top-0">
<button
id="redirectToSurveyMcu"
type="submit"
class="btn btn-primary btn-shadow font-weight-bold rounded-lg"
style="display:none"
hx-get={ urlSurvey }
hx-swap="none"
hx-include="[name='urlSurveyMcu'], [name='nomorRegistrasi']"
>
OK
</button>
</div>
</div>
</div>
</div>
<script>
// show spinner
setTimeout(function() {
document.getElementById('spinnerDiv').style.display = 'none';
document.getElementById('spinnerLoading').style.display = 'none';
document.getElementById('modal-text').style.display = 'block';
document.getElementById('redirectToSurveyMcu').style.display = 'block';
}, 2000); // 2000 milidetik atau 2 detik
</script>
}
templ CssKartuKontrol() {
<link
rel="stylesheet"
href="assets/css/googlefont/poppins.css"
/>
<link
rel="stylesheet"
href="assets/css/googlefont/publicsans.css"
/>
<link
rel="stylesheet"
href="assets/css/googlefont/roboto.css"
/>
<style>
body {
background-color: var(--white)
}
.card-control {
width: 390px;
height: 1212px;
background-image: url("asset-corporate-portal/media/kartukontrol/bg-kartuKontrol.svg");
background-size: 390px 1212px;
background-repeat: no-repeat;
margin: auto;
}
.foto {
width: 70px;
height: 79px;
background-image: url("assets/media/svg/avatars/001-boy.svg");
background-size: 70px 79px;
background-repeat: no-repeat;
}
.top-right {
position: absolute;
top: 0;
right: 0;
}
h5 {
font-size: 14px;
}
h6 {
font-size: 12px;
}
.smallf {
font-size: 10px;
}
.modalcover {
background-color: #00000073;
}
</style>
}
templ JsKartuKontrol() {
}
templ ShowKartuKontrol(title string, cmp templ.Component, css templ.Component, js templ.Component) {
@layout.PlaygroundLayout(title, css, js) {
@cmp
}
}

View File

@@ -0,0 +1,651 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.663
package public_kartukontrol
//lint:file-ignore SA4006 This context is only used if a nested component is present.
import "github.com/a-h/templ"
import "context"
import "io"
import "bytes"
import (
"cpone/layout"
"cpone/models"
)
func MainContentKartuKontrolLayout(dataKartuKontrol []models.KartuKontrolModel, hxGet string, hxTrigger string, idModal string, urlSurveyMcu string, nomorRegistrasi string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
if templ_7745c5c3_Var1 == nil {
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"toast-top-right\" id=\"container-system-notification-x01\" style=\"position: fixed; top: 1vh; right: 0vw; z-index: 999;\"><!-- toast success --><div id=\"notification-kartukontrol-001\" class=\"toast fade hide\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\"><div class=\"toast-header bg-success text-white\"><svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-hidden=\"true\" role=\"img\" class=\"iconify iconify--ep mr-2 icon-xl\" width=\"1em\" height=\"1em\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 1024 1024\" data-icon=\"ep:success-filled\"><path fill=\"currentColor\" d=\"M512 64a448 448 0 1 1 0 896a448 448 0 0 1 0-896m-55.808 536.384l-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z\"></path></svg> <strong class=\"mr-auto\">Success</strong> <small class=\"text-muted text-white\">just now</small> <button type=\"button\" class=\"ml-2 mb-1 close\" data-dismiss=\"toast\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button></div><div class=\"toast-body bg-success-transparent\">This is a success toast.\r</div></div></div><div class=\"content-fluid bg-white\"><div class=\"card-control py-19 px-9\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(dataKartuKontrol) > 0 {
templ_7745c5c3_Err = ContentDataPasienList(dataKartuKontrol[0].KartuKontrolDataPasienList).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = ContentPemeriksaanLayout(dataKartuKontrol[0].KartuKontrolDataPemeriksaanList, dataKartuKontrol[0].KartuKontrolDataPemeriksaanPengambilanSample).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = ModalMcuWordingProcessShow(hxTrigger, hxGet, idModal, urlSurveyMcu, nomorRegistrasi).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ContentDataPasienList(dataPasienList []models.DataPasien) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var2 := templ.GetChildren(ctx)
if templ_7745c5c3_Var2 == nil {
templ_7745c5c3_Var2 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- begin::Data Pasien --><div class=\"left pt-6 pl-7\" style=\"position: relative\"><div class=\"foto top-right mt-7 mr-6\"></div><div class=\"card-label\"><h4>Data Pasien</h4></div><div class=\"pt-4\"><h5 class=\"text-primary\">No Registrasi</h5><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].NomorRegistrasi)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 53, Col: 42}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div><div class=\"pt-4\"><h5 class=\"text-primary\">Nomor Lab</h5><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].NomorLab)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 57, Col: 35}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div><div class=\"pt-4\"><h5 class=\"text-primary\">Nama Pasien</h5><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].NamaPasien)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 61, Col: 37}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div><div class=\"pt-4\"><h5 class=\"text-primary\">Tanggal Lahir / Umur</h5><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].TanggalLahir)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 65, Col: 39}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" / ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].Umur)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 65, Col: 68}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div><div class=\"pt-4\"><h5 class=\"text-primary\">Jenis Kelamin</h5><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].JenisKelamin)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 69, Col: 39}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div><div class=\"pt-4\"><h5 class=\"text-primary\">Divisi</h5><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var9 string
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].NamaDivisi)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 73, Col: 37}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div><div class=\"pt-4\"><h5 class=\"text-primary\">Company</h5><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var10 string
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(dataPasienList[0].NamaCompany)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 77, Col: 38}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div></div><!-- end::Data Pasien -->")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ContentPemeriksaanLayout(dataPemeriksaanList []models.DataPemeriksaanList, dataPemeriksaanPengambilanSample []models.DataPemeriksaanPengambilanSample) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var11 := templ.GetChildren(ctx)
if templ_7745c5c3_Var11 == nil {
templ_7745c5c3_Var11 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"card shadow-sm py-2 mt-29\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = ContentPemeriksaanList(dataPemeriksaanList).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = ContentPengambilanSampleList(dataPemeriksaanPengambilanSample).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ContentPemeriksaanList(dataPemeriksaan []models.DataPemeriksaanList) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var12 := templ.GetChildren(ctx)
if templ_7745c5c3_Var12 == nil {
templ_7745c5c3_Var12 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"card-body px-3 py-2\"><h5 class=\"card-title\">Daftar Pemeriksaan</h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(dataPemeriksaan) > 0 {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<ul class=\"list-group text-grey ml-7 mt-1\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for _, v := range dataPemeriksaan {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<li><h6>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var13 string
templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(v.NamaPemeriksaanList)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 96, Col: 36}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h6></li>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</ul>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<h6>Belum Ada Daftar Pemeriksaan</h6>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ContentPengambilanSampleList(dataPemeriksaanPengambilanSample []models.DataPemeriksaanPengambilanSample) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var14 := templ.GetChildren(ctx)
if templ_7745c5c3_Var14 == nil {
templ_7745c5c3_Var14 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"card shadow-sm py-2 mt-6\"><div class=\"card-body px-3 py-2\"><!-- begin::Pemeriksaan/Pengambilan Sample --><h5 class=\"card-title\">Pemeriksaan / Pengambilan Sample</h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(dataPemeriksaanPengambilanSample) > 0 {
for _, v := range dataPemeriksaanPengambilanSample {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"text-grey mb-3\"><h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var15 string
templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(v.NamaPemeriksaanPengambilanSample)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 113, Col: 46}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(v.SampleTypeListData) > 0 {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<ul class=\"list-group ml-7 mt-1\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for _, k := range v.SampleTypeListData {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<li class=\"justify-content-center align-items-center mb-3\"><div class=\"row\"><div class=\"col-9 d-flex\"><h6>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var16 string
templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(k.SampleTypeName)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 120, Col: 34}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h6>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(k.SampleTypeDateTime) > 0 {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<span class=\"smallf pl-5 vertical\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var17 string
templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(k.SampleTypeDateTime)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 122, Col: 70}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</span>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div><div class=\"col-3\"><span class=\"label label-inline font-weight-bold kartukontrol-sudah-label mr-2 shadow-sm\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var18 string
templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(k.SampleTypeStatus)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 126, Col: 122}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</span></div></div></li>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</ul>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<h6>Belum Ada Data Pengambilan Sample</h6>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<h6>Belum Ada Data Pemeriksaan & Pengambilan Sample</h6>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- end::Pemeriksaan/Pengambilan Sample --></div></div><div style=\"height: 14vh;\"></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ModalMcuWordingProcessShow(hxTrigger string, hxGet string, idModal string, urlSurveyMcu string, nomorRegistrasi string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var19 := templ.GetChildren(ctx)
if templ_7745c5c3_Var19 == nil {
templ_7745c5c3_Var19 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<input type=\"hidden\" name=\"nomorRegistrasi\" value=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var20 string
templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(nomorRegistrasi)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 147, Col: 68}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"> <input type=\"hidden\" name=\"urlSurveyMcu\" value=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var21 string
templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(urlSurveyMcu)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 148, Col: 62}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><div hx-trigger=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var22 string
templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(hxTrigger)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 149, Col: 28}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-get=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var23 string
templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinStringErrs(hxGet)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 149, Col: 45}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-include=\"[name=&#39;urlSurveyMcu&#39;], [name=&#39;nomorRegistrasi&#39;]\"></div><div id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var24 string
templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(idModal)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 150, Col: 18}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ModalMcuWordingShow(idModal string, messageWording string, urlSurvey string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var25 := templ.GetChildren(ctx)
if templ_7745c5c3_Var25 == nil {
templ_7745c5c3_Var25 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- modal wording start --><div class=\"modal fade show modalcover\" id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var26 string
templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.JoinStringErrs(idModal)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 157, Col: 14}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var26))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-swap-oob=\"true\" tabindex=\"-1\" role=\"dialog\" data-backdrop=\"static\" aria-hidden=\"true\" style=\"display: block;\"><div class=\"modal-dialog modal-dialog-centered\" role=\"document\"><div class=\"modal-content rounded-lg\"><div class=\"modal-header border-bottom-0\"><h1 class=\"text-black font-weight-bolder\">Perhatian</h1></div><div class=\"modal-body border-bottom-0\"><div id=\"spinnerDiv\" class=\"d-flex justify-content-center align-items-center\"><div id=\"spinnerLoading\" class=\"spinner-border text-primary\" role=\"status\"><span class=\"sr-only\">Loading...</span></div></div><h6 id=\"modal-text\" class=\"text-black\" style=\"display: none;\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var27 string
templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(messageWording)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 177, Col: 22}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h6></div><div class=\"modal-footer border-top-0\"><button id=\"redirectToSurveyMcu\" type=\"submit\" class=\"btn btn-primary btn-shadow font-weight-bold rounded-lg\" style=\"display:none\" hx-get=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var28 string
templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.JoinStringErrs(urlSurvey)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\kartukontrol\kartukontrol.templ`, Line: 186, Col: 24}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var28))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-swap=\"none\" hx-include=\"[name=&#39;urlSurveyMcu&#39;], [name=&#39;nomorRegistrasi&#39;]\">OK\r</button></div></div></div></div><script>\r\n\r\n\t// show spinner\r\n\tsetTimeout(function() {\r\n\t\tdocument.getElementById('spinnerDiv').style.display = 'none';\r\n\t\tdocument.getElementById('spinnerLoading').style.display = 'none';\r\n\t\tdocument.getElementById('modal-text').style.display = 'block';\r\n\t\tdocument.getElementById('redirectToSurveyMcu').style.display = 'block';\r\n\t}, 2000); // 2000 milidetik atau 2 detik\r\n\t</script>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func CssKartuKontrol() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var29 := templ.GetChildren(ctx)
if templ_7745c5c3_Var29 == nil {
templ_7745c5c3_Var29 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<link rel=\"stylesheet\" href=\"assets/css/googlefont/poppins.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/publicsans.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/roboto.css\"><style>\r\n body {\r\n background-color: var(--white)\r\n }\r\n\t\t.card-control {\r\n\t\t\twidth: 390px;\r\n\t\t\theight: 1212px;\r\n\t\t\tbackground-image: url(\"asset-corporate-portal/media/kartukontrol/bg-kartuKontrol.svg\");\r\n\t\t\tbackground-size: 390px 1212px;\r\n\t\t\tbackground-repeat: no-repeat;\r\n margin: auto;\r\n\t\t}\r\n\t\t.foto {\r\n\t\t\twidth: 70px;\r\n\t\t\theight: 79px;\r\n\t\t\tbackground-image: url(\"assets/media/svg/avatars/001-boy.svg\");\r\n\t\t\tbackground-size: 70px 79px;\r\n\t\t\tbackground-repeat: no-repeat;\r\n\t\t}\r\n\t\t.top-right {\r\n\t\t\tposition: absolute;\r\n\t\t\ttop: 0;\r\n\t\t\tright: 0;\r\n\t\t}\r\n\t\th5 {\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\t\th6 {\r\n\t\t\tfont-size: 12px;\r\n\t\t}\r\n\t\t.smallf {\r\n\t\t\tfont-size: 10px;\r\n\t\t}\r\n\t\t.modalcover {\r\n\t\t\tbackground-color: #00000073;\r\n\t\t}\r\n\t</style>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func JsKartuKontrol() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var30 := templ.GetChildren(ctx)
if templ_7745c5c3_Var30 == nil {
templ_7745c5c3_Var30 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ShowKartuKontrol(title string, cmp templ.Component, css templ.Component, js templ.Component) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var31 := templ.GetChildren(ctx)
if templ_7745c5c3_Var31 == nil {
templ_7745c5c3_Var31 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Var32 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
templ_7745c5c3_Err = cmp.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = io.Copy(templ_7745c5c3_W, templ_7745c5c3_Buffer)
}
return templ_7745c5c3_Err
})
templ_7745c5c3_Err = layout.PlaygroundLayout(title, css, js).Render(templ.WithChildren(ctx, templ_7745c5c3_Var32), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}

View File

@@ -0,0 +1,305 @@
package public_surveymcu
import (
"cpone/models"
"cpone/layout"
)
func concatIdErrorMessage(idPertanyaan string) string {
return "errorMessage-" + idPertanyaan
}
func concatNameDefault(NameRadioButton string) string {
return "default-" + NameRadioButton
}
func isIDInClearList(IDItemSurvey string, idclear []models.IdClearErrorMessage) bool {
for _, item := range idclear {
if item.IdItem == IDItemSurvey {
return true
}
}
return false
}
templ MainContentSurveyMcuLayout(dataSurveyMcu []models.SurveyMcu, urlPost string, errorComp templ.Component, hxInclude string) {
// toast
<div class="toast-top-right" id="container-system-notification-x01" style="position: fixed; top: 1vh; right: 0vw; z-index: 999;">
<!-- toast success -->
<div
id="notification-kartukontrol-001"
class="toast fade fade"
role="alert"
aria-live="assertive"
aria-atomic="true"
>
<div class="toast-header bg-success text-white">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--ep mr-2 icon-xl" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 1024 1024" data-icon="ep:success-filled"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896a448 448 0 0 1 0-896m-55.808 536.384l-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"></path></svg>
<strong class="mr-auto">Success</strong>
<small class="text-muted text-white">just now</small>
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="toast-body bg-success-transparent">
This is a success toast.
</div>
</div>
</div>
// end toast
<div class="content-fluid bg-field">
<!-- judul start -->
<div class="py-15 px-9">
<h1 class="title text-primary text-center">Survey MCU</h1>
</div>
<!-- judul end -->
<div class="mb-2"></div>
// <form hx-post={ urlPost }>
<div class="px-10">
if len(dataSurveyMcu) > 0 {
for _, v := range dataSurveyMcu {
// radio button
if len(v.DataListItemSurveyMcu) > 0 {
for _, k := range v.DataListItemSurveyMcu {
<!-- pertanyaan 1 start -->
<div class="card shadow-sm py-2 mb-8" style="border-radius: 12px">
<div class="card-body px-10 py-10">
<!-- pertanyaan -->
<div class="flex-container">
<h5
class="title-pertanyaan text-black no-margin-padding flex-number"
>
{ k.Nomor }.&nbsp;
</h5>
<h5
class="title-pertanyaan text-black no-margin-padding flex-question"
>
{ k.Pertanyaan }
</h5>
</div>
<!-- jawaban start -->
<div class="mt-5">
<div class="row">
<div class="col-12">
<div class="form-group">
<input type="hidden" name={ concatNameDefault(k.NameRadioButton) } value={ concatNameDefault(k.NameRadioButton) }/>
<input type="hidden" name="id-radio" value={ k.IDItemSurvey }/>
<div class="radio-list">
<label class="radio">
<input type="radio" name={ k.NameRadioButton } value="Baik"/>
<span></span>
<h3 class="text-jawaban">Baik</h3>
</label>
<label class="radio">
<input type="radio" name={ k.NameRadioButton } value="Kurang"/>
<span></span>
<h3 class="text-jawaban">Kurang</h3>
</label>
</div>
</div>
</div>
</div>
</div>
<!-- jawaban end -->
<div
id={ concatIdErrorMessage(k.IDItemSurvey) }
class="form-group validated"
style="display: none"
>
<div class="invalid-feedback">
hello
</div>
</div>
</div>
</div>
<!-- pertanyaan 1 end -->
}
}
// text area
if len(v.DataListItemSurveyMcuSaran) > 0 {
for _, q := range v.DataListItemSurveyMcuSaran {
<input type="hidden" name={ concatNameDefault(q.NameSurveyMcuSaran) } value={ concatNameDefault(q.NameSurveyMcuSaran) }/>
<input type="hidden" name="id-saran" value={ q.IDItemSurveyMcuSaran }/>
<!-- text area saran start -->
<textarea
class="form-control saran-mcu mb-10"
name={ q.NameSurveyMcuSaran }
rows="9"
placeholder="Saran"
></textarea>
<div
id={ concatIdErrorMessage(q.IDItemSurveyMcuSaran) }
class="form-group validated"
style="display: none"
>
<div class="invalid-feedback">
hello
</div>
</div>
<!-- text area saran end -->
}
}
}
}
<!-- button submit start -->
<button
class="btn btn-lg btn-primary text-white"
style="border-radius: 8px; width: 100%"
type="submit"
hx-swap="none"
hx-post={ urlPost }
hx-include={ hxInclude }
>
<span class="title-button text-center">Submit</span>
</button>
<!-- button submit end -->
<!-- atur spacing bottom -->
<div style="height: 14vh"></div>
</div>
// </form>
</div>
}
templ ErrorMessageSurveyMcu(ErrorMessage string, IDItemSurvey string, idclear []models.IdClearErrorMessage, idSaranMcuAlert string, toast templ.Component) {
if len(idclear) > 0 {
for _, v := range idclear {
<!-- error pertanyaan kosong start -->
<div
id={ concatIdErrorMessage(v.IdItem) }
hx-swap-oob="true"
class="form-group validated"
style="display:none"
>
<div class="invalid-feedback">
{ ErrorMessage }
</div>
</div>
<!-- error pertanyaan kosong end -->
}
}
<!-- error pertanyaan kosong start -->
<div
id={ concatIdErrorMessage(IDItemSurvey) }
hx-swap-oob="true"
class="form-group validated"
>
<div class="invalid-feedback">
{ ErrorMessage }
</div>
</div>
@toast
}
templ CssSurveyMcu() {
<link
rel="stylesheet"
href="assets/css/googlefont/poppins.css"
/>
<link
rel="stylesheet"
href="assets/css/googlefont/publicsans.css"
/>
<link
rel="stylesheet"
href="assets/css/googlefont/roboto.css"
/>
<style>
body {
background-color: var(--fieldbg);
}
.card-control {
width: 390px;
height: 1212px;
/* background-image: url("asset-corporate-portal/media/kartukontrol/bg-kartuKontrol.svg");
background-size: 390px 1212px;
background-repeat: no-repeat; */
margin: auto;
}
.title {
font-family: Poppins;
font-size: 24px;
font-style: normal;
font-weight: 600;
line-height: normal;
}
.title-pertanyaan {
font-family: Poppins;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 24px;
}
.no-margin-padding {
margin: 0;
padding: 0;
}
.flex-container {
display: flex;
align-items: center;
align-items: flex-start;
}
.flex-number {
margin-right: 5px;
}
.flex-question {
flex-grow: 1;
}
.text-jawaban {
color: var(--textjawabansurveymcu);
font-family: Poppins;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 22px;
}
.radio-list {
display: flex;
flex-direction: column;
}
.radio {
display: flex;
align-items: center;
margin-bottom: 10px;
}
.radio h3 {
margin: 0;
padding-left: 10px;
}
.saran-mcu::placeholder {
color: var(--text-disabled);
font-family: Poppins, sans-serif;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: normal;
}
.title-button {
font-family: "Public Sans";
font-size: 15px;
font-style: normal;
font-weight: 700;
line-height: 26px;
}
</style>
}
templ JsSurveyMcu() {
}
templ ShowSurveyMcu(title string, cmp templ.Component, css templ.Component, js templ.Component) {
@layout.PlaygroundLayout(title, css, js) {
@cmp
}
}

View File

@@ -0,0 +1,455 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.663
package public_surveymcu
//lint:file-ignore SA4006 This context is only used if a nested component is present.
import "github.com/a-h/templ"
import "context"
import "io"
import "bytes"
import (
"cpone/layout"
"cpone/models"
)
func concatIdErrorMessage(idPertanyaan string) string {
return "errorMessage-" + idPertanyaan
}
func concatNameDefault(NameRadioButton string) string {
return "default-" + NameRadioButton
}
func isIDInClearList(IDItemSurvey string, idclear []models.IdClearErrorMessage) bool {
for _, item := range idclear {
if item.IdItem == IDItemSurvey {
return true
}
}
return false
}
func MainContentSurveyMcuLayout(dataSurveyMcu []models.SurveyMcu, urlPost string, errorComp templ.Component, hxInclude string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
if templ_7745c5c3_Var1 == nil {
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"toast-top-right\" id=\"container-system-notification-x01\" style=\"position: fixed; top: 1vh; right: 0vw; z-index: 999;\"><!-- toast success --><div id=\"notification-kartukontrol-001\" class=\"toast fade fade\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\"><div class=\"toast-header bg-success text-white\"><svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-hidden=\"true\" role=\"img\" class=\"iconify iconify--ep mr-2 icon-xl\" width=\"1em\" height=\"1em\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 1024 1024\" data-icon=\"ep:success-filled\"><path fill=\"currentColor\" d=\"M512 64a448 448 0 1 1 0 896a448 448 0 0 1 0-896m-55.808 536.384l-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z\"></path></svg> <strong class=\"mr-auto\">Success</strong> <small class=\"text-muted text-white\">just now</small> <button type=\"button\" class=\"ml-2 mb-1 close\" data-dismiss=\"toast\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button></div><div class=\"toast-body bg-success-transparent\">This is a success toast.\r</div></div></div><div class=\"content-fluid bg-field\"><!-- judul start --><div class=\"py-15 px-9\"><h1 class=\"title text-primary text-center\">Survey MCU</h1></div><!-- judul end --><div class=\"mb-2\"></div><div class=\"px-10\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(dataSurveyMcu) > 0 {
for _, v := range dataSurveyMcu {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(v.DataListItemSurveyMcu) > 0 {
for _, k := range v.DataListItemSurveyMcu {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- pertanyaan 1 start --> <div class=\"card shadow-sm py-2 mb-8\" style=\"border-radius: 12px\"><div class=\"card-body px-10 py-10\"><!-- pertanyaan --><div class=\"flex-container\"><h5 class=\"title-pertanyaan text-black no-margin-padding flex-number\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(k.Nomor)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 72, Col: 20}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(".&nbsp;\r</h5><h5 class=\"title-pertanyaan text-black no-margin-padding flex-question\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(k.Pertanyaan)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 77, Col: 25}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h5></div><!-- jawaban start --><div class=\"mt-5\"><div class=\"row\"><div class=\"col-12\"><div class=\"form-group\"><input type=\"hidden\" name=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(concatNameDefault(k.NameRadioButton))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 85, Col: 77}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" value=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(concatNameDefault(k.NameRadioButton))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 85, Col: 124}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"> <input type=\"hidden\" name=\"id-radio\" value=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(k.IDItemSurvey)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 86, Col: 72}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><div class=\"radio-list\"><label class=\"radio\"><input type=\"radio\" name=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(k.NameRadioButton)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 89, Col: 59}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" value=\"Baik\"> <span></span><h3 class=\"text-jawaban\">Baik</h3></label> <label class=\"radio\"><input type=\"radio\" name=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(k.NameRadioButton)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 94, Col: 59}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" value=\"Kurang\"> <span></span><h3 class=\"text-jawaban\">Kurang</h3></label></div></div></div></div></div><!-- jawaban end --><div id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var9 string
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(concatIdErrorMessage(k.IDItemSurvey))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 105, Col: 51}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"form-group validated\" style=\"display: none\"><div class=\"invalid-feedback\">hello\r</div></div></div></div><!-- pertanyaan 1 end -->")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(v.DataListItemSurveyMcuSaran) > 0 {
for _, q := range v.DataListItemSurveyMcuSaran {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<input type=\"hidden\" name=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var10 string
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(concatNameDefault(q.NameSurveyMcuSaran))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 121, Col: 74}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" value=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var11 string
templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(concatNameDefault(q.NameSurveyMcuSaran))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 121, Col: 124}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"> <input type=\"hidden\" name=\"id-saran\" value=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var12 string
templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(q.IDItemSurveyMcuSaran)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 122, Col: 74}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><!-- text area saran start --> <textarea class=\"form-control saran-mcu mb-10\" name=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var13 string
templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(q.NameSurveyMcuSaran)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 126, Col: 35}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" rows=\"9\" placeholder=\"Saran\"></textarea><div id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var14 string
templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(concatIdErrorMessage(q.IDItemSurveyMcuSaran))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 131, Col: 57}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"form-group validated\" style=\"display: none\"><div class=\"invalid-feedback\">hello\r</div></div><!-- text area saran end -->")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
}
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- button submit start --><button class=\"btn btn-lg btn-primary text-white\" style=\"border-radius: 8px; width: 100%\" type=\"submit\" hx-swap=\"none\" hx-post=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var15 string
templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(urlPost)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 150, Col: 21}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-include=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var16 string
templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(hxInclude)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 151, Col: 26}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><span class=\"title-button text-center\">Submit</span></button><!-- button submit end --><!-- atur spacing bottom --><div style=\"height: 14vh\"></div></div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ErrorMessageSurveyMcu(ErrorMessage string, IDItemSurvey string, idclear []models.IdClearErrorMessage, idSaranMcuAlert string, toast templ.Component) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var17 := templ.GetChildren(ctx)
if templ_7745c5c3_Var17 == nil {
templ_7745c5c3_Var17 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
if len(idclear) > 0 {
for _, v := range idclear {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- error pertanyaan kosong start --> <div id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var18 string
templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(concatIdErrorMessage(v.IdItem))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 168, Col: 39}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-swap-oob=\"true\" class=\"form-group validated\" style=\"display:none\"><div class=\"invalid-feedback\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var19 string
templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(ErrorMessage)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 174, Col: 19}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div><!-- error pertanyaan kosong end -->")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- error pertanyaan kosong start --><div id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var20 string
templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(concatIdErrorMessage(IDItemSurvey))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 182, Col: 41}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-swap-oob=\"true\" class=\"form-group validated\"><div class=\"invalid-feedback\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var21 string
templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(ErrorMessage)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\surveymcu\surveymcu.templ`, Line: 187, Col: 17}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = toast.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func CssSurveyMcu() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var22 := templ.GetChildren(ctx)
if templ_7745c5c3_Var22 == nil {
templ_7745c5c3_Var22 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<link rel=\"stylesheet\" href=\"assets/css/googlefont/poppins.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/publicsans.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/roboto.css\"><style>\r\n body {\r\n background-color: var(--fieldbg);\r\n }\r\n .card-control {\r\n width: 390px;\r\n height: 1212px;\r\n /* background-image: url(\"asset-corporate-portal/media/kartukontrol/bg-kartuKontrol.svg\");\r\n background-size: 390px 1212px;\r\n background-repeat: no-repeat; */\r\n margin: auto;\r\n }\r\n\r\n .title {\r\n font-family: Poppins;\r\n font-size: 24px;\r\n font-style: normal;\r\n font-weight: 600;\r\n line-height: normal;\r\n }\r\n\r\n .title-pertanyaan {\r\n font-family: Poppins;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 24px;\r\n }\r\n\r\n .no-margin-padding {\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n .flex-container {\r\n display: flex;\r\n align-items: center;\r\n align-items: flex-start;\r\n }\r\n\r\n .flex-number {\r\n margin-right: 5px;\r\n }\r\n\r\n .flex-question {\r\n flex-grow: 1;\r\n }\r\n\r\n .text-jawaban {\r\n color: var(--textjawabansurveymcu);\r\n font-family: Poppins;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 22px;\r\n }\r\n\r\n .radio-list {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .radio {\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 10px;\r\n }\r\n\r\n .radio h3 {\r\n margin: 0;\r\n padding-left: 10px;\r\n }\r\n\r\n .saran-mcu::placeholder {\r\n color: var(--text-disabled);\r\n font-family: Poppins, sans-serif;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: normal;\r\n }\r\n\r\n .title-button {\r\n font-family: \"Public Sans\";\r\n font-size: 15px;\r\n font-style: normal;\r\n font-weight: 700;\r\n line-height: 26px;\r\n }\r\n\t</style>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func JsSurveyMcu() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var23 := templ.GetChildren(ctx)
if templ_7745c5c3_Var23 == nil {
templ_7745c5c3_Var23 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ShowSurveyMcu(title string, cmp templ.Component, css templ.Component, js templ.Component) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var24 := templ.GetChildren(ctx)
if templ_7745c5c3_Var24 == nil {
templ_7745c5c3_Var24 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Var25 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
templ_7745c5c3_Err = cmp.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = io.Copy(templ_7745c5c3_W, templ_7745c5c3_Buffer)
}
return templ_7745c5c3_Err
})
templ_7745c5c3_Err = layout.PlaygroundLayout(title, css, js).Render(templ.WithChildren(ctx, templ_7745c5c3_Var25), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}

View File

@@ -0,0 +1,101 @@
package public_toast
import (
"cpone/layout"
)
// kalau eror => bg nya danger
// kalau sukses => bgnya success
// kalau warning => bgnya warning
func toastBackgroundKartuKontrol(typeToast string) string {
return "bg-" + typeToast
}
func toastBodyKartuKontrol(typeToastBody string) string {
return "bg-" + typeToastBody + "-transparent"
}
func toastIconKartuKontrol(typeToast string) string {
var stringx string
if typeToast == "success" {
stringx = "solar:check-circle-broken"
} else {
if typeToast == "danger" {
stringx = "solar:close-circle-broken"
} else {
if typeToast == "warning" {
stringx = "solar:shield-warning-bold"
} else {
if typeToast == "information" {
stringx = "solar:info-square-broken"
}
}
}
}
return stringx
}
templ PublicToastV1KartuKontrolShow(title string, message string, typeToast string) {
<div
class="toast fade show"
role="alert"
aria-live="assertive"
aria-atomic="true"
id="notification-kartukontrol-001"
hx-swap-oob="true"
hx-get="hidetoastkartukontrol"
hx-trigger="load delay:3s"
hx-target="this"
style="border-radius: 8px 8px 8px 8px;"
>
<div class={ "toast-header", toastBackgroundKartuKontrol(typeToast) , "text-white" }>
<span
class="iconify mr-2"
data-icon={ toastIconKartuKontrol(typeToast) }
></span>
<strong class="mr-auto">{ title }</strong>
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class={ "toast-body",toastBodyKartuKontrol(typeToast) }>
{ message }
</div>
</div>
}
templ PublicToastV1KartuKontrolHide() {
<div
id="notification-kartukontrol-001"
class="toast fade hide"
role="alert"
aria-live="assertive"
aria-atomic="true"
style="opacity: 0"
hx-swap-oob="true"
>
<div class="toast-header bg-success text-white">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--ep mr-2 icon-xl" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 1024 1024" data-icon="ep:success-filled"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896a448 448 0 0 1 0-896m-55.808 536.384l-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"></path></svg>
<strong class="mr-auto">Success</strong>
<small class="text-muted text-white">just now</small>
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="toast-body bg-success-transparent">
This is a success toast.
</div>
</div>
}
templ EmptyDiv() {
<div></div>
}
templ ShowToastKartuKontrol(title string, cmp templ.Component, css templ.Component, js templ.Component) {
@layout.CorporateLayout(title, css, js, EmptyDiv(), EmptyDiv(), EmptyDiv()) {
@cmp
}
}

View File

@@ -0,0 +1,242 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.663
package public_toast
//lint:file-ignore SA4006 This context is only used if a nested component is present.
import "github.com/a-h/templ"
import "context"
import "io"
import "bytes"
import (
"cpone/layout"
)
// kalau eror => bg nya danger
// kalau sukses => bgnya success
// kalau warning => bgnya warning
func toastBackgroundKartuKontrol(typeToast string) string {
return "bg-" + typeToast
}
func toastBodyKartuKontrol(typeToastBody string) string {
return "bg-" + typeToastBody + "-transparent"
}
func toastIconKartuKontrol(typeToast string) string {
var stringx string
if typeToast == "success" {
stringx = "solar:check-circle-broken"
} else {
if typeToast == "danger" {
stringx = "solar:close-circle-broken"
} else {
if typeToast == "warning" {
stringx = "solar:shield-warning-bold"
} else {
if typeToast == "information" {
stringx = "solar:info-square-broken"
}
}
}
}
return stringx
}
func PublicToastV1KartuKontrolShow(title string, message string, typeToast string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
if templ_7745c5c3_Var1 == nil {
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"toast fade show\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" id=\"notification-kartukontrol-001\" hx-swap-oob=\"true\" hx-get=\"hidetoastkartukontrol\" hx-trigger=\"load delay:3s\" hx-target=\"this\" style=\"border-radius: 8px 8px 8px 8px;\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var2 = []any{"toast-header", toastBackgroundKartuKontrol(typeToast), "text-white"}
templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var2...)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var2).String())
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\toast\toastpublickartukontrol.templ`, Line: 1, Col: 0}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><span class=\"iconify mr-2\" data-icon=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(toastIconKartuKontrol(typeToast))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\toast\toastpublickartukontrol.templ`, Line: 56, Col: 48}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"></span> <strong class=\"mr-auto\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(title)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\toast\toastpublickartukontrol.templ`, Line: 58, Col: 34}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</strong> <button type=\"button\" class=\"ml-2 mb-1 close\" data-dismiss=\"toast\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var6 = []any{"toast-body", toastBodyKartuKontrol(typeToast)}
templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var6...)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var6).String())
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\toast\toastpublickartukontrol.templ`, Line: 1, Col: 0}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(message)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\toast\toastpublickartukontrol.templ`, Line: 64, Col: 12}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func PublicToastV1KartuKontrolHide() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var9 := templ.GetChildren(ctx)
if templ_7745c5c3_Var9 == nil {
templ_7745c5c3_Var9 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"notification-kartukontrol-001\" class=\"toast fade hide\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" style=\"opacity: 0\" hx-swap-oob=\"true\"><div class=\"toast-header bg-success text-white\"><svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-hidden=\"true\" role=\"img\" class=\"iconify iconify--ep mr-2 icon-xl\" width=\"1em\" height=\"1em\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 1024 1024\" data-icon=\"ep:success-filled\"><path fill=\"currentColor\" d=\"M512 64a448 448 0 1 1 0 896a448 448 0 0 1 0-896m-55.808 536.384l-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z\"></path></svg> <strong class=\"mr-auto\">Success</strong> <small class=\"text-muted text-white\">just now</small> <button type=\"button\" class=\"ml-2 mb-1 close\" data-dismiss=\"toast\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button></div><div class=\"toast-body bg-success-transparent\">This is a success toast.\r</div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func EmptyDiv() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var10 := templ.GetChildren(ctx)
if templ_7745c5c3_Var10 == nil {
templ_7745c5c3_Var10 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ShowToastKartuKontrol(title string, cmp templ.Component, css templ.Component, js templ.Component) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var11 := templ.GetChildren(ctx)
if templ_7745c5c3_Var11 == nil {
templ_7745c5c3_Var11 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Var12 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
templ_7745c5c3_Err = cmp.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = io.Copy(templ_7745c5c3_W, templ_7745c5c3_Buffer)
}
return templ_7745c5c3_Err
})
templ_7745c5c3_Err = layout.CorporateLayout(title, css, js, EmptyDiv(), EmptyDiv(), EmptyDiv()).Render(templ.WithChildren(ctx, templ_7745c5c3_Var12), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}

View File

@@ -0,0 +1,100 @@
package public_toast
import (
"cpone/layout"
)
// kalau eror => bg nya danger
// kalau sukses => bgnya success
// kalau warning => bgnya warning
func toastBackground(typeToast string) string {
return "bg-" + typeToast
}
func toastBody(typeToastBody string) string {
return "bg-" + typeToastBody + "-transparent"
}
func toastIcon(typeToast string) string {
var stringx string
if typeToast == "success" {
stringx = "solar:check-circle-broken"
} else {
if typeToast == "danger" {
stringx = "solar:close-circle-broken"
} else {
if typeToast == "warning" {
stringx = "solar:shield-warning-bold"
} else {
if typeToast == "information" {
stringx = "solar:info-square-broken"
}
}
}
}
return stringx
}
templ PublicToastV1Show(title string, message string, typeToast string) {
<div
class="toast fade show"
role="alert"
aria-live="assertive"
aria-atomic="true"
id="notification-001"
hx-swap-oob="true"
hx-get="/hidetoastpublic"
hx-trigger="load delay:3s"
hx-target="this"
style="border-radius: 8px 8px 8px 8px;"
>
<div class={ "toast-header", toastBackground(typeToast) , "text-white" }>
<span
class="iconify mr-2"
data-icon={ toastIcon(typeToast) }
></span>
<strong class="mr-auto">{ title }</strong>
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class={ "toast-body",toastBody(typeToast) }>
{ message }
</div>
</div>
}
templ PublicToastV1Hide() {
<div
id="notification-001"
class="toast fade hide"
role="alert"
aria-live="assertive"
aria-atomic="true"
style="opacity: 0"
hx-swap-oob="true"
>
<div class="toast-header bg-success text-white">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--ep mr-2 icon-xl" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 1024 1024" data-icon="ep:success-filled"><path fill="currentColor" d="M512 64a448 448 0 1 1 0 896a448 448 0 0 1 0-896m-55.808 536.384l-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"></path></svg>
<strong class="mr-auto">Success</strong>
<small class="text-muted text-white">just now</small>
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="toast-body bg-success-transparent">
This is a success toast.
</div>
</div>
}
templ ShowToast(title string, cmp templ.Component, css templ.Component, js templ.Component,
navbarmenu templ.Component,
navbaruser templ.Component,
userprofile templ.Component) {
@layout.CorporateLayout(title, css, js, navbarmenu, navbaruser, userprofile) {
@cmp
}
}

View File

@@ -0,0 +1,221 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.663
package public_toast
//lint:file-ignore SA4006 This context is only used if a nested component is present.
import "github.com/a-h/templ"
import "context"
import "io"
import "bytes"
import (
"cpone/layout"
)
// kalau eror => bg nya danger
// kalau sukses => bgnya success
// kalau warning => bgnya warning
func toastBackground(typeToast string) string {
return "bg-" + typeToast
}
func toastBody(typeToastBody string) string {
return "bg-" + typeToastBody + "-transparent"
}
func toastIcon(typeToast string) string {
var stringx string
if typeToast == "success" {
stringx = "solar:check-circle-broken"
} else {
if typeToast == "danger" {
stringx = "solar:close-circle-broken"
} else {
if typeToast == "warning" {
stringx = "solar:shield-warning-bold"
} else {
if typeToast == "information" {
stringx = "solar:info-square-broken"
}
}
}
}
return stringx
}
func PublicToastV1Show(title string, message string, typeToast string) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
if templ_7745c5c3_Var1 == nil {
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"toast fade show\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" id=\"notification-001\" hx-swap-oob=\"true\" hx-get=\"/hidetoastpublic\" hx-trigger=\"load delay:3s\" hx-target=\"this\" style=\"border-radius: 8px 8px 8px 8px;\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var2 = []any{"toast-header", toastBackground(typeToast), "text-white"}
templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var2...)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var2).String())
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\toast\toastpublicv1.templ`, Line: 1, Col: 0}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><span class=\"iconify mr-2\" data-icon=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(toastIcon(typeToast))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\toast\toastpublicv1.templ`, Line: 56, Col: 36}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"></span> <strong class=\"mr-auto\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(title)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\toast\toastpublicv1.templ`, Line: 58, Col: 34}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</strong> <button type=\"button\" class=\"ml-2 mb-1 close\" data-dismiss=\"toast\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var6 = []any{"toast-body", toastBody(typeToast)}
templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var6...)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var6).String())
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\toast\toastpublicv1.templ`, Line: 1, Col: 0}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(message)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\public\toast\toastpublicv1.templ`, Line: 64, Col: 12}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func PublicToastV1Hide() templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var9 := templ.GetChildren(ctx)
if templ_7745c5c3_Var9 == nil {
templ_7745c5c3_Var9 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"notification-001\" class=\"toast fade hide\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" style=\"opacity: 0\" hx-swap-oob=\"true\"><div class=\"toast-header bg-success text-white\"><svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-hidden=\"true\" role=\"img\" class=\"iconify iconify--ep mr-2 icon-xl\" width=\"1em\" height=\"1em\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 1024 1024\" data-icon=\"ep:success-filled\"><path fill=\"currentColor\" d=\"M512 64a448 448 0 1 1 0 896a448 448 0 0 1 0-896m-55.808 536.384l-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z\"></path></svg> <strong class=\"mr-auto\">Success</strong> <small class=\"text-muted text-white\">just now</small> <button type=\"button\" class=\"ml-2 mb-1 close\" data-dismiss=\"toast\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button></div><div class=\"toast-body bg-success-transparent\">This is a success toast.\r</div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}
func ShowToast(title string, cmp templ.Component, css templ.Component, js templ.Component,
navbarmenu templ.Component,
navbaruser templ.Component,
userprofile templ.Component) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var10 := templ.GetChildren(ctx)
if templ_7745c5c3_Var10 == nil {
templ_7745c5c3_Var10 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Var11 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
templ_7745c5c3_Err = cmp.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = io.Copy(templ_7745c5c3_W, templ_7745c5c3_Buffer)
}
return templ_7745c5c3_Err
})
templ_7745c5c3_Err = layout.CorporateLayout(title, css, js, navbarmenu, navbaruser, userprofile).Render(templ.WithChildren(ctx, templ_7745c5c3_Var11), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
return templ_7745c5c3_Err
})
}