spotlibs-components 0.1.9 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-J3F77MZN.mjs → chunk-F6KSEYVB.mjs} +4 -35
- package/dist/chunk-F6KSEYVB.mjs.map +1 -0
- package/dist/chunk-UFE7HFT2.mjs +60 -0
- package/dist/chunk-UFE7HFT2.mjs.map +1 -0
- package/dist/chunk-YOSPWY5K.mjs +36 -0
- package/dist/chunk-YOSPWY5K.mjs.map +1 -0
- package/dist/{atoms → components/atoms}/icons/index.mjs +2 -1
- package/dist/components/index.d.mts +449 -0
- package/dist/components/index.mjs +7241 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/components/mui/index.d.mts +23 -0
- package/dist/components/mui/index.mjs +27 -0
- package/dist/components/mui/index.mjs.map +1 -0
- package/dist/components/types.d.mts +4 -0
- package/dist/{types-qsnVqq6_.d.mts → types-BkrxwBFm.d.mts} +443 -292
- package/dist/utils/index.d.mts +186 -0
- package/dist/utils/index.mjs +477 -0
- package/dist/utils/index.mjs.map +1 -0
- package/package.json +17 -2
- package/src/utils/admin-kuota-nasional/constant.js +95 -0
- package/src/utils/asset.js +10 -0
- package/src/utils/booleanUtils.js +19 -0
- package/src/utils/briguna-digital/constant.js +12 -0
- package/src/utils/compress.js +24 -0
- package/src/utils/compressImage.js +20 -0
- package/src/utils/constants.js +20 -0
- package/src/utils/cookies.js +102 -0
- package/src/utils/crypto.js +104 -0
- package/src/utils/decodeString.js +17 -0
- package/src/utils/disableFormElements.js +19 -0
- package/src/utils/excelUtils.js +60 -0
- package/src/utils/exception.js +86 -0
- package/src/utils/formatString.js +151 -0
- package/src/utils/formatters/account.js +98 -0
- package/src/utils/formatters/currency.js +125 -0
- package/src/utils/formatters/date.js +219 -0
- package/src/utils/formatters/index.js +47 -0
- package/src/utils/formatters/string.js +114 -0
- package/src/utils/generateImportExcel.js +546 -0
- package/src/utils/generateTimestamp.js +4 -0
- package/src/utils/handleApiError.js +17 -0
- package/src/utils/index.js +92 -0
- package/src/utils/json.js +55 -0
- package/src/utils/localStorage.js +8 -0
- package/src/utils/logger.js +46 -0
- package/src/utils/schema/globalSchema.js +10 -0
- package/src/utils/signature.js +75 -0
- package/src/utils/specifics/korporasi/prakarsaKorporasiUtils.js +87 -0
- package/src/utils/specifics/mikro/validationMaintenanceAgunanUtils.js +214 -0
- package/src/utils/static-data/korporasi/prakarsa/analisa-risiko-kredit-nasabah/analisa-kinerja-keuangan/listStaticData.js +290 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/proyeksi-laporan-arus-kas/listStaticData.js +7 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/proyeksi-laporan-keuangan/listStaticData.js +75 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/total-exposure-group/listStaticData.js +7 -0
- package/src/utils/static-data/korporasi/prakarsa/create/listStaticData.js +21 -0
- package/src/utils/static-data/korporasi/prakarsa/generals/listExcelConfigData.js +11 -0
- package/src/utils/static-data/korporasi/prakarsa/pengajuan-fasilitas-kredit/fasilitas-kredit/listStaticData.js +69 -0
- package/src/utils/static-data/korporasi-internasional/eksternal/listStaticData.js +193 -0
- package/src/utils/static-data/korporasi-internasional/master/listStaticData.js +24 -0
- package/src/utils/static-data/korporasi-internasional/uji-kepatuhan/listStaticData.js +250 -0
- package/src/utils/status.js +160 -0
- package/src/utils/store/adminKuotaNasional.js +7 -0
- package/src/utils/store/authStore.js +13 -0
- package/src/utils/store/bankGaransiStore.js +10 -0
- package/src/utils/store/korporasi/approval/interface/interfaceStore.js +10 -0
- package/src/utils/store/korporasi/general/generalKorporasiStore.js +13 -0
- package/src/utils/store/korporasi/loan-disbursement/loanDisbursementStore.js +77 -0
- package/src/utils/store/korporasi/prakarsa/fasilitas-kredit/fasilitasKreditStore.js +141 -0
- package/src/utils/store/migrasi-mandiri/migrasiMandiriStore.js +53 -0
- package/src/utils/store/monitoring-konsumer/monitoring-leads-KPP/monitoring-leads-kpp-internal.js +34 -0
- package/src/utils/store/prakarsaBankGaransiStore.js +21 -0
- package/src/utils/store/prognosa-crr/settingPrognosaROStore.js +9 -0
- package/src/utils/store/prognosaRMStore.js +30 -0
- package/src/utils/store/restrukStore.js +26 -0
- package/src/utils/store/verificationAccessLink.js +11 -0
- package/src/utils/store/warkat-bg-wholesale/warkatBgWholesaleStore.js +22 -0
- package/src/utils/stringUtils.js +226 -0
- package/src/utils/tipeBank.js +14 -0
- package/dist/chunk-J3F77MZN.mjs.map +0 -1
- package/dist/index.css +0 -32
- package/dist/index.css.map +0 -1
- package/dist/index.d.mts +0 -1726
- package/dist/index.mjs +0 -18584
- package/dist/index.mjs.map +0 -1
- package/dist/types.d.mts +0 -4
- /package/dist/{atoms → components/atoms}/icons/index.d.mts +0 -0
- /package/dist/{atoms → components/atoms}/icons/index.mjs.map +0 -0
- /package/dist/{types.mjs → components/types.mjs} +0 -0
- /package/dist/{types.mjs.map → components/types.mjs.map} +0 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/* eslint-disable no-unused-vars */
|
|
2
|
+
import { create } from "zustand"
|
|
3
|
+
|
|
4
|
+
export const defaultSubFasilitasKreditValue = {
|
|
5
|
+
id_sub_fasilitas: null,
|
|
6
|
+
kategori_pengajuan: null,
|
|
7
|
+
jenis_fasilitas: null,
|
|
8
|
+
fasilitas: null,
|
|
9
|
+
group_usaha: [],
|
|
10
|
+
list_rekening_pinjaman: [],
|
|
11
|
+
plafond_pengajuan: '',
|
|
12
|
+
plafond_rekomendasi: '',
|
|
13
|
+
exposure_semula: '',
|
|
14
|
+
exposure_menjadi: '',
|
|
15
|
+
baki_debit: '',
|
|
16
|
+
jangka_waktu_fasilitas: '',
|
|
17
|
+
tanggal_jatuh_tempo: '',
|
|
18
|
+
provisi_kredit: '',
|
|
19
|
+
penalty: '',
|
|
20
|
+
biaya_administrasi: '',
|
|
21
|
+
review_suku_bunga: '',
|
|
22
|
+
suku_bunga: '',
|
|
23
|
+
servicing_fee: '',
|
|
24
|
+
commitment_fee: '',
|
|
25
|
+
perjanjian_kredit: '',
|
|
26
|
+
bentuk_kredit: '',
|
|
27
|
+
objek_dibiayai: '',
|
|
28
|
+
alasan_permohonan_kredit: '',
|
|
29
|
+
agunan: '',
|
|
30
|
+
tujuan: '',
|
|
31
|
+
catatan: '',
|
|
32
|
+
list_of_kbli: null,
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export const defaultValueFormFasilitasKredit = {
|
|
36
|
+
joint_borrower: 'Tidak',
|
|
37
|
+
sub_limit: 'Tidak',
|
|
38
|
+
kategori_pengajuan: null,
|
|
39
|
+
jenis_fasilitas: null,
|
|
40
|
+
fasilitas: null,
|
|
41
|
+
group_usaha: [],
|
|
42
|
+
list_rekening_pinjaman: [],
|
|
43
|
+
currency: '',
|
|
44
|
+
nominal_currency: '',
|
|
45
|
+
sumber_info_currency: '',
|
|
46
|
+
plafond_pengajuan: '',
|
|
47
|
+
plafond_rekomendasi: '',
|
|
48
|
+
exposure_semula: '',
|
|
49
|
+
exposure_menjadi: '',
|
|
50
|
+
baki_debit: '',
|
|
51
|
+
jenis_kredit: 'Bilateral',
|
|
52
|
+
jangka_waktu_fasilitas: '',
|
|
53
|
+
tanggal_jatuh_tempo: '',
|
|
54
|
+
provisi_kredit: '',
|
|
55
|
+
penalty: '',
|
|
56
|
+
biaya_administrasi: '',
|
|
57
|
+
review_suku_bunga: '',
|
|
58
|
+
suku_bunga: '',
|
|
59
|
+
servicing_fee: '',
|
|
60
|
+
commitment_fee: '',
|
|
61
|
+
perjanjian_kredit: '',
|
|
62
|
+
bentuk_kredit: '',
|
|
63
|
+
objek_dibiayai: '',
|
|
64
|
+
alasan_permohonan_kredit: '',
|
|
65
|
+
agunan: '',
|
|
66
|
+
tujuan: '',
|
|
67
|
+
catatan: '',
|
|
68
|
+
list_of_kbli: null,
|
|
69
|
+
sub_fasilitas: [defaultSubFasilitasKreditValue],
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export const defaultValueNewKategoriPengajuan = ['Debitur Baru', 'Fasilitas Baru']
|
|
73
|
+
|
|
74
|
+
export const defaultValueFacilityDependsKategoriPengajuan = ['Kredit Investasi (KI)', 'KMK', 'Term Loan Facility (TLF)', ]
|
|
75
|
+
|
|
76
|
+
export const defaultValueForbiddenFacility = ['Kredit Jangka Pendek (KJP)', 'KMK Konstruksi', 'KMK Buyer Financing', 'CashColl']
|
|
77
|
+
|
|
78
|
+
const useFasilitasKreditKorporasiStore = create((set) => ({
|
|
79
|
+
dataDefaultFasilitasKreditForm: defaultValueFormFasilitasKredit,
|
|
80
|
+
dataDefaultSubFasilitasKreditForm: defaultSubFasilitasKreditValue,
|
|
81
|
+
dataPerusahaan: [],
|
|
82
|
+
dataDropdownKorporasi: {
|
|
83
|
+
jenisFasilitas: [],
|
|
84
|
+
jenisKredit: [],
|
|
85
|
+
kategoriPengajuan: [],
|
|
86
|
+
reviewSukuBunga: [],
|
|
87
|
+
perjanjianKredit: [],
|
|
88
|
+
bentukKredit: [],
|
|
89
|
+
cashLoan: [],
|
|
90
|
+
nonCashLoan: []
|
|
91
|
+
},
|
|
92
|
+
dataCIFByVCIF: [],
|
|
93
|
+
dataPinjamanByCIF: [],
|
|
94
|
+
dataLabelCurrency: '-',
|
|
95
|
+
dataHandleDisabled: {
|
|
96
|
+
dataNewKategoriPengajuan: defaultValueNewKategoriPengajuan,
|
|
97
|
+
dataFacilityDependsKategoriPengajuan: defaultValueFacilityDependsKategoriPengajuan,
|
|
98
|
+
dataForbiddenFacility: defaultValueForbiddenFacility,
|
|
99
|
+
},
|
|
100
|
+
dataDropdownKBLI: {
|
|
101
|
+
kbli_1: [],
|
|
102
|
+
kbli_2: [],
|
|
103
|
+
kbli_3: [],
|
|
104
|
+
kbli_4: [],
|
|
105
|
+
kbli_5: []
|
|
106
|
+
},
|
|
107
|
+
flagSubLimit: false,
|
|
108
|
+
setDataDropdownKorporasi: (data) => set({ dataDropdownKorporasi: data }),
|
|
109
|
+
setDataPerusahaan: (data) => set({dataPerusahaan: data}),
|
|
110
|
+
setDataCIFByVCIF: (data) => set({dataCIFByVCIF: data}),
|
|
111
|
+
setDataPinjamanByCIF: (data) => set({dataPinjamanByCIF: data}),
|
|
112
|
+
setDataLabelCurrency: (data) => set({dataLabelCurrency: data}),
|
|
113
|
+
setDataDropdownKBLI: (data) => set({dataDropdownKBLI: data}),
|
|
114
|
+
setFlagSubLimit: (data) => set({flagSubLimit: data}),
|
|
115
|
+
clearAllStore: () => set({
|
|
116
|
+
dataPerusahaan: [],
|
|
117
|
+
dataDropdownKorporasi: {
|
|
118
|
+
jenisFasilitas: [],
|
|
119
|
+
jenisKredit: [],
|
|
120
|
+
kategoriPengajuan: [],
|
|
121
|
+
reviewSukuBunga: [],
|
|
122
|
+
perjanjianKredit: [],
|
|
123
|
+
bentukKredit: [],
|
|
124
|
+
cashLoan: [],
|
|
125
|
+
nonCashLoan: []
|
|
126
|
+
},
|
|
127
|
+
dataCIFByVCIF: [],
|
|
128
|
+
dataPinjamanByCIF: [],
|
|
129
|
+
dataLabelCurrency: '-',
|
|
130
|
+
dataDropdownKBLI: {
|
|
131
|
+
kbli_1: [],
|
|
132
|
+
kbli_2: [],
|
|
133
|
+
kbli_3: [],
|
|
134
|
+
kbli_4: [],
|
|
135
|
+
kbli_5: []
|
|
136
|
+
},
|
|
137
|
+
flagSubLimit: false,
|
|
138
|
+
})
|
|
139
|
+
}))
|
|
140
|
+
|
|
141
|
+
export default useFasilitasKreditKorporasiStore
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { create } from "zustand"
|
|
2
|
+
|
|
3
|
+
export const tablePropertyUtils = {
|
|
4
|
+
tableListHeader: ['No', 'Nama Debitur', 'No. Rekening', 'CIF', 'Maker', 'Status', 'Aksi'],
|
|
5
|
+
tableLimitDataDropdown: [10, 25, 50],
|
|
6
|
+
statusPengajuanStyle: [{
|
|
7
|
+
status: 1,
|
|
8
|
+
description: 'Menunggu Approval',
|
|
9
|
+
approvalDescription: 'Menunggu Approval',
|
|
10
|
+
backGroundColor: '#EAF5FF',
|
|
11
|
+
textColor: '#00529C'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
status: 2,
|
|
15
|
+
description: 'Disetujui',
|
|
16
|
+
approvalDescription: 'Disetujui',
|
|
17
|
+
backGroundColor: '#E0FAEC',
|
|
18
|
+
textColor: '#27AE60'
|
|
19
|
+
},{
|
|
20
|
+
status: 3,
|
|
21
|
+
description: 'Dikembalikan',
|
|
22
|
+
approvalDescription: 'Dikembalikan ke RM',
|
|
23
|
+
backGroundColor: '#FFF5D9',
|
|
24
|
+
textColor: '#E8C046'
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export const dialogDetailStyle = [{
|
|
30
|
+
status: 2,
|
|
31
|
+
backgroundColor: '#E0FAEC',
|
|
32
|
+
iconColor: '#27AE60',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
status: 3,
|
|
36
|
+
backgroundColor: '#FFF5D9',
|
|
37
|
+
iconColor: '#E8C046'
|
|
38
|
+
},
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
const useMigrasiMandiriStore = create((set) => ({
|
|
42
|
+
dataSession: null,
|
|
43
|
+
tablePropertyUtils: tablePropertyUtils,
|
|
44
|
+
dialogDetailStyle: dialogDetailStyle,
|
|
45
|
+
dataMigrasiMandiriResponse: null,
|
|
46
|
+
setDataMigrasiMandiriResponse: (data) => set({ dataMigrasiMandiriResponse: data}),
|
|
47
|
+
setDataSession: (data) => set({ dataSession: data }),
|
|
48
|
+
resetDataStore: () => set({
|
|
49
|
+
dataMigrasiMandiriResponse: null
|
|
50
|
+
})
|
|
51
|
+
}))
|
|
52
|
+
|
|
53
|
+
export default useMigrasiMandiriStore
|
package/src/utils/store/monitoring-konsumer/monitoring-leads-KPP/monitoring-leads-kpp-internal.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { create } from 'zustand';
|
|
2
|
+
|
|
3
|
+
export const useLeadsStore = create((set) => ({
|
|
4
|
+
filter: {
|
|
5
|
+
kanwil: null,
|
|
6
|
+
cabang: null,
|
|
7
|
+
tanggal_awal: null,
|
|
8
|
+
tanggal_akhir: null,
|
|
9
|
+
status: null,
|
|
10
|
+
channel: null
|
|
11
|
+
},
|
|
12
|
+
listData: null,
|
|
13
|
+
summaryData: null,
|
|
14
|
+
listGenerate: null,
|
|
15
|
+
setFilter: (newFilter) =>
|
|
16
|
+
set((state) => ({ filter: { ...state.filter, ...newFilter } })),
|
|
17
|
+
setListData: (listData) => set({ listData }),
|
|
18
|
+
setSummaryData: (summaryData) => set({ summaryData }),
|
|
19
|
+
setListGenerate: (listGenerate) => set({ listGenerate }),
|
|
20
|
+
resetFilter: () =>
|
|
21
|
+
set({
|
|
22
|
+
filter: {
|
|
23
|
+
kanwil: null,
|
|
24
|
+
cabang: null,
|
|
25
|
+
tanggal_awal: null,
|
|
26
|
+
tanggal_akhir: null,
|
|
27
|
+
status: null,
|
|
28
|
+
channel: null
|
|
29
|
+
},
|
|
30
|
+
listData: null,
|
|
31
|
+
summaryData: null,
|
|
32
|
+
listGenerate: null
|
|
33
|
+
}),
|
|
34
|
+
}));
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { create } from "zustand";
|
|
2
|
+
import { persist } from "zustand/middleware";
|
|
3
|
+
|
|
4
|
+
export const usePrakarsaBankGaransiStore = create(
|
|
5
|
+
persist(
|
|
6
|
+
(set) => ({
|
|
7
|
+
selectedPrakarsaBG: {},
|
|
8
|
+
setSelectedPrakarsaBG: (data) =>
|
|
9
|
+
set((state) => ({
|
|
10
|
+
selectedPrakarsaBG: {
|
|
11
|
+
...state.selectedPrakarsaBG,
|
|
12
|
+
...data,
|
|
13
|
+
},
|
|
14
|
+
})),
|
|
15
|
+
resetSelectedPrakarsaBG: () => set({ selectedPrakarsaBG: {} }),
|
|
16
|
+
}),
|
|
17
|
+
{
|
|
18
|
+
name: "prakarsaBankGaransi-storage",
|
|
19
|
+
}
|
|
20
|
+
)
|
|
21
|
+
);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { create } from "zustand";
|
|
2
|
+
|
|
3
|
+
export const useSettingPrognosaROStore = create((set) => ({
|
|
4
|
+
intrakomForm: null,
|
|
5
|
+
ekstrakomForm: null,
|
|
6
|
+
setIntrakomForm: (data) => set({ intrakomForm: data }),
|
|
7
|
+
setEkstrakomForm: (data) => set({ ekstrakomForm: data }),
|
|
8
|
+
clearAll: () => set({ intrakomForm: null, ekstrakomForm: null }),
|
|
9
|
+
}));
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* eslint-disable no-unused-vars */
|
|
2
|
+
import { create } from "zustand";
|
|
3
|
+
|
|
4
|
+
const usePrognosaRMStore = create((set) => ({
|
|
5
|
+
dataPrognosaRM: [],
|
|
6
|
+
isPage: null,
|
|
7
|
+
isLimit: null,
|
|
8
|
+
isOptionKanwil: [],
|
|
9
|
+
isKanwil: null,
|
|
10
|
+
isOptionKanca: [],
|
|
11
|
+
isKanca: null,
|
|
12
|
+
isStatus: null,
|
|
13
|
+
detailPrognosaRM: null,
|
|
14
|
+
flagApproval: false,
|
|
15
|
+
flagBack: true,
|
|
16
|
+
|
|
17
|
+
setDataPrognosaRM: (data) => set({ dataPrognosaRM: data }),
|
|
18
|
+
setIsPage: (data) => set({ isPage: data }),
|
|
19
|
+
setIsLimit: (data) => set({ isLimit: data }),
|
|
20
|
+
setIsOptionKanwil: (data) => set({ isOptionKanwil: data }),
|
|
21
|
+
setIsKanwil: (data) => set({ isKanwil: data }),
|
|
22
|
+
setIsOptionKanca: (data) => set({ isOptionKanca: data }),
|
|
23
|
+
setIsKanca: (data) => set({ isKanca: data }),
|
|
24
|
+
setIsStatus: (data) => set({ isStatus: data }),
|
|
25
|
+
setDetailPrognosaRM: (data) => set({ detailPrognosaRM: data }),
|
|
26
|
+
setFlagApproval: (data) => set({ flagApproval: data }),
|
|
27
|
+
setFlagBack: (data) => set({ flagBack: data }),
|
|
28
|
+
}));
|
|
29
|
+
|
|
30
|
+
export default usePrognosaRMStore;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/* eslint-disable no-unused-vars */
|
|
2
|
+
import { create } from "zustand";
|
|
3
|
+
|
|
4
|
+
const useRestrukStore = create((set) => ({
|
|
5
|
+
tabRestruk: [],
|
|
6
|
+
dataStatisRestruk: [],
|
|
7
|
+
dataPengajuanRestruk: [],
|
|
8
|
+
dataJSONStatis: [],
|
|
9
|
+
isBack: false,
|
|
10
|
+
isStatus: {},
|
|
11
|
+
isRestrukS1: [],
|
|
12
|
+
dataPaymentCode: [],
|
|
13
|
+
listDataPengajuan: null,
|
|
14
|
+
|
|
15
|
+
setTabRestruk: (data) => set({ tabRestruk: data }),
|
|
16
|
+
setDataStatisRestruk: (data) => set({ dataStatisRestruk: data }),
|
|
17
|
+
setDataPengajuanRestruk: (data) => set({ dataPengajuanRestruk: data }),
|
|
18
|
+
setDataJSONStatis: (data) => set({ dataJSONStatis: data }),
|
|
19
|
+
setIsBack: (data) => set({ isBack: data }),
|
|
20
|
+
setIsStatus: (data) => set({ isStatus: data }),
|
|
21
|
+
setIsRestrukS1: (data) => set({ isRestrukS1: data }),
|
|
22
|
+
setPaymentCode: (data) => set({ dataPaymentCode: data }),
|
|
23
|
+
setListDataPengajuan: (data) => set({ listDataPengajuan: data })
|
|
24
|
+
}));
|
|
25
|
+
|
|
26
|
+
export default useRestrukStore;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { create } from "zustand";
|
|
2
|
+
import { persist } from "zustand/middleware";
|
|
3
|
+
|
|
4
|
+
export const useWarkatBgWholesaleStore = create(
|
|
5
|
+
persist(
|
|
6
|
+
(set) => ({
|
|
7
|
+
selectedWarkatBgWholesale: {},
|
|
8
|
+
setSelectedWarkatBgWholesale: (data) =>
|
|
9
|
+
set((state) => ({
|
|
10
|
+
selectedWarkatBgWholesale: {
|
|
11
|
+
...state.selectedWarkatBgWholesale,
|
|
12
|
+
...data,
|
|
13
|
+
},
|
|
14
|
+
})),
|
|
15
|
+
resetSelectedWarkatBgWholesale: () =>
|
|
16
|
+
set({ selectedWarkatBgWholesale: {} }),
|
|
17
|
+
}),
|
|
18
|
+
{
|
|
19
|
+
name: "warkatBgWholesale-storage",
|
|
20
|
+
}
|
|
21
|
+
)
|
|
22
|
+
);
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
export function matchWiths(targetStr, values = []) {
|
|
2
|
+
return values.some((v) => targetStr.includes(v));
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
export const toCurrency = (money) => {
|
|
6
|
+
const num = Number(money);
|
|
7
|
+
return new Intl.NumberFormat('id-ID', { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }).format(num || 0);
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export const digitFormatter = (value) => {
|
|
11
|
+
const num = Number(value);
|
|
12
|
+
return new Intl.NumberFormat('id-ID', { minimumFractionDigits: 0 }).format(num || 0);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export const npwpFormatter = (value) => {
|
|
16
|
+
if (!value) return;
|
|
17
|
+
const npwp = value
|
|
18
|
+
.toString()
|
|
19
|
+
.replace(/\D/g, '')
|
|
20
|
+
.replace(/(\d{2})(\d{3})(\d{3})(\d{1})(\d{3})(\d{3})/, '$1.$2.$3-$4.$5.$6');
|
|
21
|
+
return npwp;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const rekeningFormatter = (value) => {
|
|
25
|
+
if (!value) return;
|
|
26
|
+
const rekening = value
|
|
27
|
+
.toString()
|
|
28
|
+
.replace(/\D/g, '')
|
|
29
|
+
.replace(/(\d{4})(\d{2})(\d{6})(\d{2})(\d{1})/, '$1-$2-$3-$4-$5');
|
|
30
|
+
return rekening;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export const needToHide = (descModified, typeHide) => {
|
|
34
|
+
const tempArr = descModified.split('');
|
|
35
|
+
let len = tempArr.length - 3;
|
|
36
|
+
|
|
37
|
+
if (typeHide === 'email') {
|
|
38
|
+
len = tempArr.indexOf('@');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
tempArr.splice(3 - tempArr.length, len - 3, ...'*'.repeat(len - 3).split(''));
|
|
42
|
+
descModified = tempArr.join('');
|
|
43
|
+
|
|
44
|
+
return descModified;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export const fileToBase64 = (file) => {
|
|
48
|
+
// eslint-disable-next-line no-undef
|
|
49
|
+
return new Promise((resolve) => {
|
|
50
|
+
let fileInfo;
|
|
51
|
+
let baseURL = '';
|
|
52
|
+
// Make new FileReader
|
|
53
|
+
let reader = new FileReader();
|
|
54
|
+
|
|
55
|
+
// Convert the file to base64 text
|
|
56
|
+
reader.readAsDataURL(file);
|
|
57
|
+
|
|
58
|
+
// on reader load somthing...
|
|
59
|
+
reader.onload = () => {
|
|
60
|
+
baseURL = reader.result;
|
|
61
|
+
resolve(baseURL);
|
|
62
|
+
};
|
|
63
|
+
console.log(fileInfo);
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export const dateDashToSlashFormatter = (value) => {
|
|
68
|
+
const date = new Date(value);
|
|
69
|
+
|
|
70
|
+
const year = date.getFullYear();
|
|
71
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
72
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
73
|
+
|
|
74
|
+
const formattedDate = `${year}-${month}-${day}`;
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
return formattedDate;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export const date7DigitsToSlashFormatter = (value) => {
|
|
81
|
+
const actualDate = value.substring(1);
|
|
82
|
+
|
|
83
|
+
const day = actualDate.substring(0, 2);
|
|
84
|
+
const month = actualDate.substring(2, 4);
|
|
85
|
+
const yearLastTwoDigits = actualDate.substring(4, 8);
|
|
86
|
+
const yearPrefix = parseInt(yearLastTwoDigits, 10) >= 70 ? "19" : "20";
|
|
87
|
+
const year = yearPrefix + yearLastTwoDigits;
|
|
88
|
+
|
|
89
|
+
const formattedDate = `${day}/${month}/${year}`;
|
|
90
|
+
|
|
91
|
+
return formattedDate;
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
export const date7DigitsToDashFormatter = (value) => {
|
|
95
|
+
const actualDate = value.substring(1);
|
|
96
|
+
|
|
97
|
+
const day = actualDate.slice(0, 2);
|
|
98
|
+
const month = actualDate.slice(2, 4);
|
|
99
|
+
const yearLastTwoDigits = actualDate.slice(4, 8);
|
|
100
|
+
const yearPrefix = parseInt(yearLastTwoDigits, 10) >= 70 ? "19" : "20";
|
|
101
|
+
const year = yearPrefix + yearLastTwoDigits;
|
|
102
|
+
|
|
103
|
+
const formattedDate = `${year}-${month}-${day}`;
|
|
104
|
+
|
|
105
|
+
return formattedDate;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export const dateObjectToDashFormatter = (value) => {
|
|
109
|
+
const date = new Date(value);
|
|
110
|
+
|
|
111
|
+
const year = date.getFullYear();
|
|
112
|
+
const month = String(date.getMonth() + 1).padStart(2, '0'); // getMonth() mengembalikan bulan dari 0-11, jadi tambahkan 1 dan tambahkan leading zero
|
|
113
|
+
const day = String(date.getDate()).padStart(2, '0'); // getDate() mengembalikan hari dari 1-31, tambahkan leading zero
|
|
114
|
+
|
|
115
|
+
const formattedDate = `${year}-${month}-${day}`;
|
|
116
|
+
|
|
117
|
+
return formattedDate
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
// dari 31/12/2024 ke 12-31-2024
|
|
121
|
+
export const dateYearToDateFirst = (value) => {
|
|
122
|
+
const [year, month, day] = value.split("-");
|
|
123
|
+
return `${day}-${month}-${year}`;
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
// dari 19/07/2024 ke 2024-07-19
|
|
127
|
+
export const dateSlashToDashYearFirst = (value) => {
|
|
128
|
+
const [day, month, year] = value.split("/");
|
|
129
|
+
const formattedDate = `${year}-${month.padStart(2, "0")}-${day.padStart(2, "0")}`;
|
|
130
|
+
|
|
131
|
+
return formattedDate;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
// Konversi dari 2024-07-26 ke 26-07-2024
|
|
135
|
+
export const dateDashYearFirstToDateFirst = (value) => {
|
|
136
|
+
if (!value) return;
|
|
137
|
+
const [year, month, day] = value.split("-");
|
|
138
|
+
return `${day}-${month}-${year}`;
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
// Konversi 2025-01-13 16:39:39 ke 13-01-2025 16:39
|
|
142
|
+
export const dateTimeHourMinute = (value) => {
|
|
143
|
+
const date = new Date(value);
|
|
144
|
+
|
|
145
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
146
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
147
|
+
const year = date.getFullYear();
|
|
148
|
+
const hours = String(date.getHours()).padStart(2, '0');
|
|
149
|
+
const minutes = String(date.getMinutes()).padStart(2, '0');
|
|
150
|
+
|
|
151
|
+
return `${day}-${month}-${year} ${hours}:${minutes}`;
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
// Konversi 0041125 ke 04-11-2025
|
|
155
|
+
export const date7DigitsToSlashDateFirstFormatter = (value) => {
|
|
156
|
+
const actualDate = value.substring(1);
|
|
157
|
+
|
|
158
|
+
const day = actualDate.slice(0, 2);
|
|
159
|
+
const month = actualDate.slice(2, 4);
|
|
160
|
+
const yearLastTwoDigits = actualDate.slice(4, 8);
|
|
161
|
+
const yearPrefix = parseInt(yearLastTwoDigits, 10) >= 70 ? "19" : "20";
|
|
162
|
+
const year = yearPrefix + yearLastTwoDigits;
|
|
163
|
+
|
|
164
|
+
const formattedDate = `${day}-${month}-${year}`;
|
|
165
|
+
|
|
166
|
+
return formattedDate;
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
// Konversi 2025-03-10 ke 10-03-2025
|
|
170
|
+
export const dateSlashToSlashDateFirstFormatter = (value) => {
|
|
171
|
+
const [year, month, day] = value.split("-");
|
|
172
|
+
const formattedDate = `${day}-${month}-${year}`;
|
|
173
|
+
|
|
174
|
+
return formattedDate;
|
|
175
|
+
};
|
|
176
|
+
// Konversi New Date ke 31032025
|
|
177
|
+
export const formatDateToDDMMYYYY = (date) => {
|
|
178
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
179
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
180
|
+
const year = date.getFullYear();
|
|
181
|
+
return `${day}${month}${year}`;
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
// Konversi New Date ke 31/03/2025
|
|
185
|
+
export const formatDateToDDSlashMMSlashYYYY = (date) => {
|
|
186
|
+
const day = date.getDate();
|
|
187
|
+
const month = date.getMonth() + 1;
|
|
188
|
+
const year = date.getFullYear();
|
|
189
|
+
|
|
190
|
+
const dayStr = (day < 10 ? "0" : "") + day;
|
|
191
|
+
const monthStr = (month < 10 ? "0" : "") + month;
|
|
192
|
+
|
|
193
|
+
return `${dayStr}/${monthStr}/${year}`;
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
//Konversi 2024-02-01 ke 01/02/2024
|
|
197
|
+
export const dateDashToSlash = (value) => {
|
|
198
|
+
const date = new Date(value);
|
|
199
|
+
|
|
200
|
+
const year = date.getFullYear();
|
|
201
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
202
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
203
|
+
|
|
204
|
+
return `${day}/${month}/${year}`;
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
// Konversi dari ddmmyy ke dd/mm/yyyy
|
|
208
|
+
export const ddmmyyToSlashDate = (value) => {
|
|
209
|
+
if (!value || value.length !== 6) return "";
|
|
210
|
+
const day = value.substring(0, 2);
|
|
211
|
+
const month = value.substring(2, 4);
|
|
212
|
+
const yearSuffix = value.substring(4, 6);
|
|
213
|
+
const year = parseInt(yearSuffix, 10) >= 70 ? "19" + yearSuffix : "20" + yearSuffix;
|
|
214
|
+
return `${day}/${month}/${year}`;
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
// Konversi YYYY-MM-DD ke DD/MM/YYYY
|
|
218
|
+
export const formatDateDashReverseToSlash = (value) => {
|
|
219
|
+
const parts = value.split('-');
|
|
220
|
+
if (parts.length === 3) {
|
|
221
|
+
const [year, month, day] = parts;
|
|
222
|
+
return `${day}/${month}/${year}`;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
return value;
|
|
226
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const getTipeBankKorporasi = (data) => {
|
|
2
|
+
const adaInduk = data?.some(item => item.status_perusahaan === "Induk");
|
|
3
|
+
const dataInduk = data?.filter(item => item.status_perusahaan === "Induk");
|
|
4
|
+
let tipeBank = '';
|
|
5
|
+
|
|
6
|
+
// Menampilkan hasil
|
|
7
|
+
if (adaInduk) {
|
|
8
|
+
tipeBank = dataInduk[0]?.tipe_bank
|
|
9
|
+
} else {
|
|
10
|
+
tipeBank = data?.find(item => item.tipe_bank === "B")?.tipe_bank || "A";
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return tipeBank
|
|
14
|
+
}
|