Browse Source

pembatasan pilihan zona

main^2
pecintaseni 7 months ago committed by =
parent
commit
a8152f85a2
  1. 5
      .prettierrc
  2. 78
      app/Controllers/Kewilayahan/Ref.php
  3. 19
      app/Helpers/KpdlHelper_helper.php
  4. 2
      app/Views/kewilayahan/dist/kpdl.js
  5. 268
      app/Views/kewilayahan/kytp/kpdl.js
  6. 1
      app/Views/kewilayahan/kytp/kpdl.php
  7. 18
      webpack.config.js

5
.prettierrc

@ -5,5 +5,6 @@
"trailingComma": "none",
"comma-dangle": false,
"printWidth": 160,
"bracketSpacing": true
}
"bracketSpacing": true,
"singleQuote": true
}

78
app/Controllers/Kewilayahan/Ref.php

@ -135,7 +135,13 @@ class Ref extends Controller
$data = $db->table('KPDL_ZP_NAS_DIFF')
->select('KD_KANWIL as value, NM_KANWIL as label')
->distinct()
->orderBy('NM_KANWIL')->get()->getResult();
->orderBy('NM_KANWIL');
if (session('kppadm') !== '000') {
$data->where('KD_KANWIL', session('kwladm'));
}
$data = $data->get()->getResult();
foreach ($data as $key => $val) {
$val->value = $Ald->encryptMe($val->value, $username);
@ -156,7 +162,19 @@ class Ref extends Controller
->select('KD_KPP as value, NM_KPP as label')
->distinct()
->where('KD_KANWIL', $kanwil)
->orderBy('NM_KPP')->get()->getResult();
->orderBy('NM_KPP');
if (session('kppadm') !== '000') {
if (session('kppadm') != session('kwladm')) {
$data->where('KD_KPP', session('kppadm'));
}
if (session('kppadm') == session('kwladm')) {
$data->where("KD_KPP in (select KD_KPP from REF_KPP where KD_KANWIL ='" . session('kwladm') . "')");
}
}
$data = $data->get()->getResult();
foreach ($data as $key => $val) {
$val->value = $Ald->encryptMe($val->value, $username);
}
@ -165,17 +183,45 @@ class Ref extends Controller
public function zpseksi()
{
$Ald = new AldLibrary;
$username = session('nip');
$kpp = $Ald->decryptMe($this->request->getPost('kpp'), $username);
$db = \Config\Database::connect();
$db = \Config\Database::connect();
$currentPegawai = currentPegawai();
$data = $db->table('KPDL_ZP_NAS_DIFF')
->select('KD_UNIT_OR as value, SEKSI as label')
->distinct()
->where('KD_KPP', $kpp)
->orderBy('SEKSI')->get()->getResult();
->orderBy('SEKSI');
//constrain user
if (session('kppadm') !== '000') {
if (session('kppadm') != session('kwladm')) { //kpp
$data->where('KD_KPP', session('kppadm'));
//hanya kasi dan AR seksi was || kepala kantor
if (!((in_array($currentPegawai->KD_JAB_STRUKTURAL, ['602', '401']) && substr($currentPegawai->NAMA_UNIT_ES4, 0, 16) == 'Seksi Pengawasan')
|| (substr($currentPegawai->KD_JAB_STRUKTURAL, 0, 1) == '3'))) {
return $this->respond([], 200);
}
//kasi / AR
if (in_array($currentPegawai->KD_JAB_STRUKTURAL, ['602', '401'])) {
$data->where('KD_UNIT_OR', $currentPegawai->KD_UNIT_ORGANISASI);
}
}
if (session('kppadm') == session('kwladm')) { //kanwil
$data->where("KD_KPP in (select KD_KPP from REF_KPP where KD_KANWIL ='" . session('kwladm') . "')");
}
}
$data = $data->get()->getResult();
foreach ($data as $key => $val) {
$val->value = $Ald->encryptKpdl($val->value, $username);
@ -197,20 +243,40 @@ class Ref extends Controller
$seksi[] = $Ald->decryptKpdl($value, $username);
}
$db = \Config\Database::connect();
$data = $db->table('KPDL_ZP_NAS_DIFF')
$db = \Config\Database::connect();
$currentPegawai = currentPegawai();
$data = $db->table('KPDL_ZP_NAS_DIFF')
->select('NIP_AR as value, NM_AR as label')
->distinct()
->where('KD_KPP', $kpp)
->whereIn('KD_UNIT_OR', $seksi)
->orderBy('NM_AR');
//constrain user
if (session('kppadm') !== '000') {
if (session('kppadm') != session('kwladm')) { //kpp
$data->where('KD_KPP', session('kppadm'));
//hanya kasi dan AR seksi was || kepala kantor
if (!((in_array($currentPegawai->KD_JAB_STRUKTURAL, ['602', '401']) && substr($currentPegawai->NAMA_UNIT_ES4, 0, 16) == 'Seksi Pengawasan')
|| (substr($currentPegawai->KD_JAB_STRUKTURAL, 0, 1) == '3'))) {
return $this->respond([], 200);
}
//kasi
if (in_array($currentPegawai->KD_JAB_STRUKTURAL, ['602'])) {
$data->where('NIP_AR', session('nip'));
}
}
}
$data = $data->get()->getResult();
foreach ($data as $key => $val) {
$val->value = $Ald->encryptMe($val->value, $username);
}
return json_encode($data);
}
public function zpzp()
{
$Ald = new AldLibrary;

19
app/Helpers/KpdlHelper_helper.php

@ -1,6 +1,8 @@
<?php
use App\Libraries\AldLibrary;
use SebastianBergmann\Type\ObjectType;
if (!function_exists('currentMonth')) {
function currentMonth()
{
@ -27,3 +29,20 @@ if (!function_exists('encryptData')) {
return $Ald->encryptMe($text, $username);
}
}
if (!function_exists('getSession')) {
function getSession()
{
$session = session();
return json_encode($session->get());
}
}
if (!function_exists('currentPegawai')) {
function currentPegawai(): object
{
$db = \Config\Database::connect();
$ret = $db->table('PEGAWAI')->where('NIP9', session('nip'))->get()->getFirstRow();
return $ret;
}
}

2
app/Views/kewilayahan/dist/kpdl.js vendored

File diff suppressed because one or more lines are too long

268
app/Views/kewilayahan/kytp/kpdl.js

@ -1,35 +1,35 @@
import React, { useEffect, useRef, useState } from "react"
import ReactDOM from "react-dom"
import { Button, Card, CardBody, CardHeader, CardText, CardTitle, Col, Label, Nav, NavItem, NavLink, Row, TabContent, TabPane } from "reactstrap"
import Select from "react-select"
import jquery, { data, getJSON } from "jquery"
import collect from "collect.js"
import { format_angka, isObjEmpty } from "./util"
import { MultiSelect } from "react-multi-select-component"
import Highcharts from "highcharts"
import HighchartsReact from "highcharts-react-official"
import { Toast } from "primereact/toast"
import { Button as ButtonP } from "primereact/button"
import "primereact/resources/themes/bootstrap4-light-blue/theme.css"
import "primeflex/primeflex.css"
import TabProgresifitas from "./TabProgresifitas"
import TabPenugasan from "./TabPenugasan"
import NipPerekam from "./componentDepan/NipPerekam"
import NipPengampu from "./componentDepan/NipPengampu"
import { Provider, useDispatch, useSelector } from "react-redux"
import { store } from "./store/store"
import { setSelectedOpsi } from "./store/KpdlStore"
import React, { useEffect, useRef, useState } from 'react'
import ReactDOM from 'react-dom'
import { Button, Card, CardBody, CardHeader, CardText, CardTitle, Col, Label, Nav, NavItem, NavLink, Row, TabContent, TabPane } from 'reactstrap'
import Select from 'react-select'
import jquery, { data, getJSON } from 'jquery'
import collect from 'collect.js'
import { format_angka, isObjEmpty } from './util'
import { MultiSelect } from 'react-multi-select-component'
import Highcharts from 'highcharts'
import HighchartsReact from 'highcharts-react-official'
import { Toast } from 'primereact/toast'
import { Button as ButtonP } from 'primereact/button'
import 'primereact/resources/themes/bootstrap4-light-blue/theme.css'
import 'primeflex/primeflex.css'
import TabProgresifitas from './TabProgresifitas'
import TabPenugasan from './TabPenugasan'
import NipPerekam from './componentDepan/NipPerekam'
import NipPengampu from './componentDepan/NipPengampu'
import { Provider, useDispatch, useSelector } from 'react-redux'
import { store } from './store/store'
import { setSelectedOpsi } from './store/KpdlStore'
// import 'bootstrap/dist/css/bootstrap.m in.css';
// let datasend = {}
const Root = () => {
const base_url = "<?=base_url()?>"
const base_url = '<?=base_url()?>'
const refChart1 = useRef(null)
const toast = useRef(null)
const dispatch = useDispatch()
const storeKpdl = useSelector((state) => state.kpdl)
const [dataOpsi, setDataOpsi] = useState({})
const [active, setActive] = useState("wilayah")
const [active, setActive] = useState('zona')
const [hiddenGraphMatoa, setHiddenGraphMatoa] = useState(false)
@ -61,34 +61,44 @@ const Root = () => {
const [dataSend, setDataSend] = useState({ opsiWilZona: null, adm4_pcode: [], id_poly_zona: [], nip_ar_perekam: [], nip_ar_pengampu: [] })
const [dataGraphMatoa, setDataGraphMatoa] = useState({ poi_agg: [], kpdl_agg: [] })
useEffect(() => {}, [])
// let session = null
const [session, setSession] = useState({})
useEffect(() => {
setTimeout(() => {
const session1 = JSON.parse('<?=getSession()?>')
setSession(session1)
if (session1.kppadm === '000') {
toggle('wilayah')
} else {
toggle('zona')
}
}, 2000)
jquery.ajax({
url: base_url + "kewilayahan/ref/propinsi",
method: "GET",
dataType: "json",
url: base_url + 'kewilayahan/ref/propinsi',
method: 'GET',
dataType: 'json',
success: (data) => {
setProp(data)
}
})
jquery.ajax({
url: base_url + "kewilayahan/ref/zpkanwil",
method: "GET",
dataType: "json",
url: base_url + 'kewilayahan/ref/zpkanwil',
method: 'GET',
dataType: 'json',
success: (data) => {
setKanwil(data)
}
})
jquery.getJSON(base_url + "kewilayahan/ref/opsi").then((response) => {
jquery.getJSON(base_url + 'kewilayahan/ref/opsi').then((response) => {
setDataOpsi(response)
dispatch(setSelectedOpsi(response.default))
})
let judul = document.getElementById("judul")
judul.innerHTML = "<h3><b><strong>E-Geospatial Thematic Tax</strong></b></h3>"
let judul = document.getElementById('judul')
judul.innerHTML = '<h3><b><strong>E-Geospatial Thematic Tax</strong></b></h3>'
}, [])
useEffect(() => {
@ -101,9 +111,9 @@ const Root = () => {
if (propSelected && !isObjEmpty(propSelected)) {
const prop = propSelected.value
jquery.ajax({
url: base_url + "kewilayahan/ref/kota",
method: "GET",
dataType: "json",
url: base_url + 'kewilayahan/ref/kota',
method: 'GET',
dataType: 'json',
data: { prop },
success: (data) => {
setKota(data)
@ -120,9 +130,9 @@ const Root = () => {
if (kotaSelected && !isObjEmpty(kotaSelected)) {
const kota = kotaSelected.value
jquery.ajax({
url: base_url + "kewilayahan/ref/kecamatan",
method: "GET",
dataType: "json",
url: base_url + 'kewilayahan/ref/kecamatan',
method: 'GET',
dataType: 'json',
data: { kota },
success: (data) => {
setKec(data)
@ -135,11 +145,11 @@ const Root = () => {
setKel([])
setKelSelected([])
if (kecSelected.length && !isObjEmpty(kecSelected)) {
const kec = collect(kecSelected).pluck("value").all()
const kec = collect(kecSelected).pluck('value').all()
jquery.ajax({
url: base_url + "kewilayahan/ref/kelurahan",
method: "POST",
dataType: "json",
url: base_url + 'kewilayahan/ref/kelurahan',
method: 'POST',
dataType: 'json',
data: { kec },
success: (data) => {
setKel(data)
@ -160,9 +170,9 @@ const Root = () => {
if (kanwilSelected && !isObjEmpty(kanwilSelected)) {
const kanwil = kanwilSelected.value
jquery.ajax({
url: base_url + "kewilayahan/ref/zpkpp",
method: "POST",
dataType: "json",
url: base_url + 'kewilayahan/ref/zpkpp',
method: 'POST',
dataType: 'json',
data: { kanwil },
success: (data) => {
setKpp(data)
@ -181,9 +191,9 @@ const Root = () => {
if (kppSelected && !isObjEmpty(kppSelected)) {
const kpp = kppSelected.value
jquery.ajax({
url: base_url + "kewilayahan/ref/zpseksi",
method: "POST",
dataType: "json",
url: base_url + 'kewilayahan/ref/zpseksi',
method: 'POST',
dataType: 'json',
data: { kpp },
success: (data) => {
setSeksi(data)
@ -199,12 +209,12 @@ const Root = () => {
setZpSelected([])
if (seksiSelected && !isObjEmpty(seksiSelected)) {
const kpp = kppSelected.value
const seksi = collect(seksiSelected).pluck("value").all()
const seksi = collect(seksiSelected).pluck('value').all()
jquery.ajax({
url: base_url + "kewilayahan/ref/zpar",
method: "POST",
dataType: "json",
url: base_url + 'kewilayahan/ref/zpar',
method: 'POST',
dataType: 'json',
data: { kpp, seksi },
success: (data) => {
setAr(data)
@ -218,12 +228,12 @@ const Root = () => {
setZpSelected([])
if (arSelected && !isObjEmpty(arSelected)) {
const kpp = kppSelected.value
const seksi = collect(seksiSelected).pluck("value").all()
const ar = collect(arSelected).pluck("value").all()
const seksi = collect(seksiSelected).pluck('value').all()
const ar = collect(arSelected).pluck('value').all()
jquery.ajax({
url: base_url + "kewilayahan/ref/zpzp",
method: "POST",
dataType: "json",
url: base_url + 'kewilayahan/ref/zpzp',
method: 'POST',
dataType: 'json',
data: { kpp, seksi, ar },
success: (data) => {
setZp(data)
@ -234,27 +244,27 @@ const Root = () => {
const buttonProsesOnClick = () => {
const opsiWilZona = active
const adm4_pcode = collect(kelSelected).pluck("value").all()
const id_poly_zona = collect(zpSelected).pluck("value").all()
const nip_ar_pengampu = collect().pluck("value").all()
const adm4_pcode = collect(kelSelected).pluck('value').all()
const id_poly_zona = collect(zpSelected).pluck('value').all()
const nip_ar_pengampu = collect().pluck('value').all()
console.log(dataOpsi)
switch (opsiWilZona) {
case "wilayah":
case 'wilayah':
if (adm4_pcode.length) {
dispatch(setSelectedOpsi(dataOpsi.wilayah))
setDataSend({ opsiWilZona: dataOpsi.wilayah.key, adm4_pcode, id_poly_zona: [] })
setHiddenGraphMatoa(false)
} else {
toast.current.show({ severity: "info", summary: "Info", detail: "Kelurahan harus dipilih" })
toast.current.show({ severity: 'info', summary: 'Info', detail: 'Kelurahan harus dipilih' })
}
break
case "zona":
case 'zona':
if (id_poly_zona.length) {
dispatch(setSelectedOpsi(dataOpsi.zona))
setDataSend({ opsiWilZona: dataOpsi.zona.key, adm4_pcode: [], id_poly_zona })
setHiddenGraphMatoa(false)
} else {
toast.current.show({ severity: "info", summary: "Info", detail: "Zona harus dipilih" })
toast.current.show({ severity: 'info', summary: 'Info', detail: 'Zona harus dipilih' })
}
break
@ -271,9 +281,9 @@ const Root = () => {
Highcharts.setOptions({
accessibility: false,
lang: {
decimalPoint: ",",
thousandsSep: ".",
numericSymbols: ["rb", "jt", "M", "T", "P", "E"]
decimalPoint: ',',
thousandsSep: '.',
numericSymbols: ['rb', 'jt', 'M', 'T', 'P', 'E']
},
tooltip: {
@ -281,9 +291,9 @@ const Root = () => {
}
})
jquery.ajax({
url: base_url + "kewilayahan/kytp/graph_matoa",
dataType: "json",
type: "POST",
url: base_url + 'kewilayahan/kytp/graph_matoa',
dataType: 'json',
type: 'POST',
data: { ...dataSend },
success: (data) => {
setDataGraphMatoa(data)
@ -293,17 +303,17 @@ const Root = () => {
const optionsGraphMatoaAgg = {
chart: {
zoomType: "xy",
height: "320"
zoomType: 'xy',
height: '320'
},
title: {
text: "Poi Google Vs Matoa",
style: { fontSize: "14px" }
text: 'Poi Google Vs Matoa',
style: { fontSize: '14px' }
},
xAxis: [
{
categories: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
crosshair: true
}
],
@ -311,7 +321,7 @@ const Root = () => {
{
gridLineWidth: 0,
title: {
text: "",
text: '',
style: {
color: Highcharts.getOptions().colors[0]
}
@ -332,7 +342,7 @@ const Root = () => {
}
},
title: {
text: "NPWP Work True",
text: 'NPWP Work True',
style: {
color: Highcharts.getOptions().colors[1]
}
@ -343,7 +353,7 @@ const Root = () => {
{
gridLineWidth: 0,
title: {
text: "Rupiah",
text: 'Rupiah',
style: {
color: Highcharts.getOptions().colors[2]
}
@ -360,15 +370,15 @@ const Root = () => {
{
gridLineWidth: 0,
title: {
text: "",
text: '',
style: {
color: "#FF0000"
color: '#FF0000'
}
},
labels: {
//format: '{value}',
style: {
color: "##FF0000"
color: '##FF0000'
}
},
opposite: true
@ -378,33 +388,33 @@ const Root = () => {
shared: true
},
legend: {
layout: "horizontal",
align: "center",
layout: 'horizontal',
align: 'center',
//x: 80,
verticalAlign: "top",
verticalAlign: 'top',
//y: 55,
//floating: true,
backgroundColor:
Highcharts.defaultOptions.legend.backgroundColor || // theme
"rgba(255,255,255,0.25)"
'rgba(255,255,255,0.25)'
},
series: [
{
color: "#FF0000",
name: "Jml PoI",
type: "column",
color: '#FF0000',
name: 'Jml PoI',
type: 'column',
yAxis: 3,
data: dataGraphMatoa.poi_agg,
marker: {
enabled: true
},
tooltip: {
valueSuffix: " PoI"
valueSuffix: ' PoI'
}
},
{
name: "Matoa",
type: "spline",
name: 'Matoa',
type: 'spline',
yAxis: 3,
data: dataGraphMatoa.kpdl_agg,
marker: {
@ -416,7 +426,7 @@ const Root = () => {
let pct_coverage
const jml_poi_agg = dataGraphMatoa.poi_agg
if (jml_poi_agg[idx] && jml_poi_agg[idx] !== 0) {
pct_coverage = format_angka(parseFloat((parseFloat(this.y) / jml_poi_agg[idx]) * 100).toFixed(2)) + "%"
pct_coverage = format_angka(parseFloat((parseFloat(this.y) / jml_poi_agg[idx]) * 100).toFixed(2)) + '%'
}
let s =
@ -424,16 +434,16 @@ const Root = () => {
this.color +
'">\u25CF</span> ' +
this.series.name +
": <b>" +
': <b>' +
format_angka(this.y) +
" lokasi kpdl</b> " +
(pct_coverage ? "(" + pct_coverage + ")<br>\n" : "<br>")
' lokasi kpdl</b> ' +
(pct_coverage ? '(' + pct_coverage + ')<br>\n' : '<br>')
return s
},
shared: false
},
visible: true,
color: "#8000ff"
color: '#8000ff'
}
]
}
@ -445,23 +455,25 @@ const Root = () => {
<Card>
<CardBody>
<Nav tabs>
{session.kppadm === '000' ? (
<NavItem>
<NavLink
style={{ cursor: 'pointer' }}
active={active === 'wilayah'}
onClick={() => {
toggle('wilayah')
}}
>
Wilayah Adm.
</NavLink>
</NavItem>
) : null}
<NavItem>
<NavLink
style={{ cursor: "pointer" }}
active={active === "wilayah"}
onClick={() => {
toggle("wilayah")
}}
>
Wilayah Adm.
</NavLink>
</NavItem>
<NavItem>
<NavLink
style={{ cursor: "pointer" }}
active={active === "zona"}
style={{ cursor: 'pointer' }}
active={active === 'zona'}
onClick={() => {
toggle("zona")
toggle('zona')
}}
>
Zona Pengawasan
@ -469,10 +481,10 @@ const Root = () => {
</NavItem>
<NavItem>
<NavLink
style={{ cursor: "pointer" }}
active={active === "perekam"}
style={{ cursor: 'pointer' }}
active={active === 'perekam'}
onClick={() => {
toggle("perekam")
toggle('perekam')
}}
>
Perekam
@ -480,17 +492,17 @@ const Root = () => {
</NavItem>
<NavItem>
<NavLink
style={{ cursor: "pointer" }}
active={active === "pengampu"}
style={{ cursor: 'pointer' }}
active={active === 'pengampu'}
onClick={() => {
toggle("pengampu")
toggle('pengampu')
}}
>
Pengampu
</NavLink>
</NavItem>
</Nav>
<TabContent className="py-3" activeTab={active}>
<TabContent className="py-3" activeTab={session.kppadm === '000' ? active : 'zona'}>
<TabPane tabId="wilayah">
<Row>
<Col md="3">
@ -541,7 +553,7 @@ const Root = () => {
setKecSelected(e)
}}
labelledBy="Pilih Kecamatan"
overrideStrings={{ allItemsAreSelected: "Semua dipilih", selectSomeItems: "Pilih Kecamatan" }}
overrideStrings={{ allItemsAreSelected: 'Semua dipilih', selectSomeItems: 'Pilih Kecamatan' }}
/>
</Col>
<Col md="3">
@ -558,7 +570,7 @@ const Root = () => {
setKelSelected(e)
}}
labelledBy="Pilih Kelurahan"
overrideStrings={{ allItemsAreSelected: "Semua dipilih", selectSomeItems: "Pilih Kelurahan" }}
overrideStrings={{ allItemsAreSelected: 'Semua dipilih', selectSomeItems: 'Pilih Kelurahan' }}
/>
</Col>
</Row>
@ -618,7 +630,7 @@ const Root = () => {
setSeksiSelected(e)
}}
labelledBy="Pilih Seksi"
overrideStrings={{ allItemsAreSelected: "Semua dipilih", selectSomeItems: "Pilih Seksi" }}
overrideStrings={{ allItemsAreSelected: 'Semua dipilih', selectSomeItems: 'Pilih Seksi' }}
/>
</Col>
<Col md="3">
@ -635,7 +647,7 @@ const Root = () => {
setArSelected(e)
}}
labelledBy="Pilih AR"
overrideStrings={{ allItemsAreSelected: "Semua dipilih", selectSomeItems: "Pilih AR" }}
overrideStrings={{ allItemsAreSelected: 'Semua dipilih', selectSomeItems: 'Pilih AR' }}
/>
</Col>
</Row>
@ -654,7 +666,7 @@ const Root = () => {
setZpSelected(e)
}}
labelledBy="Pilih Zona"
overrideStrings={{ allItemsAreSelected: "Semua dipilih", selectSomeItems: "Pilih Zona" }}
overrideStrings={{ allItemsAreSelected: 'Semua dipilih', selectSomeItems: 'Pilih Zona' }}
/>
</Col>
<Col md="3" className="pt-4">
@ -688,11 +700,11 @@ const Root = () => {
</Col>
</Row>
<Row hidden={["pengampu", "perekam"].includes(storeKpdl.selectedOpsi?.name)}>
<Row hidden={['pengampu', 'perekam'].includes(storeKpdl.selectedOpsi?.name)}>
<Col sm="12">
<Card>
<CardHeader className="d-flex justify-content-center p-2">
<CardTitle tag={"h1"} className="font-weight-bold">
<CardTitle tag={'h1'} className="font-weight-bold">
Statistik Penguasaan Wilayah
</CardTitle>
</CardHeader>
@ -708,7 +720,7 @@ const Root = () => {
<Col sm="12">
<Card>
<CardHeader className="d-flex justify-content-center p-2">
<CardTitle tag={"h1"} className="font-weight-bold">
<CardTitle tag={'h1'} className="font-weight-bold">
Statistik Progresifitas & Sebaran Data Hasil Kegiatan Matoa
</CardTitle>
</CardHeader>
@ -728,7 +740,7 @@ const Root = () => {
)
}
const container = document.getElementById("app")
const container = document.getElementById('app')
const component = (
<Provider store={store}>
<Root />

1
app/Views/kewilayahan/kytp/kpdl.php

@ -5,7 +5,6 @@
}
</style>
<?php
helper('Kpdl');
?>

18
webpack.config.js

@ -1,13 +1,13 @@
const path = require("path")
const path = require('path')
//__dirname,
module.exports = {
// entry: "./App.js",
entry: {
kpdl: "./app/Views/kewilayahan/kytp/kpdl.js"
kpdl: './app/Views/kewilayahan/kytp/kpdl.js'
},
output: {
path: path.resolve("./app/Views/kewilayahan/dist"),
filename: "[name].js"
path: path.resolve('./app/Views/kewilayahan/dist'),
filename: '[name].js'
},
optimization: {
minimize: true
@ -17,19 +17,19 @@ module.exports = {
{
exclude: /node_modules/,
use: {
loader: "babel-loader",
loader: 'babel-loader',
options: {
presets: ["@babel/preset-react"],
plugins: ["@babel/plugin-proposal-optional-chaining", "@babel/plugin-proposal-nullish-coalescing-operator"]
presets: ['@babel/preset-react'],
plugins: ['@babel/plugin-proposal-optional-chaining', '@babel/plugin-proposal-nullish-coalescing-operator']
}
}
},
{
test: /\.css$/i,
// type: "asset"
use: ["style-loader", "css-loader"]
use: ['style-loader', 'css-loader']
}
]
},
mode: "production"
mode: 'production'
}

Loading…
Cancel
Save