@jsg-developer/vue-pack 0.0.9-beta-7 → 0.0.9-beta-9
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/README.md +85 -49
- package/THIRD_PARTY_LICENSES.json +2 -1
- package/THIRD_PARTY_LICENSES.md +1 -1
- package/dist/TabelData-DVOxNsS5.cjs +15 -0
- package/dist/TabelData-SXpPUn-t.js +8774 -0
- package/dist/components.cjs.js +1 -0
- package/dist/components.es.js +42 -0
- package/dist/index-CsEbGlOa.js +46 -0
- package/dist/index-D9djqelm.cjs +1 -0
- package/dist/indexedDB.cjs.js +1 -0
- package/dist/indexedDB.es.js +141 -0
- package/dist/init.cjs.js +1 -1
- package/dist/init.es.js +6 -5
- package/dist/jsgd-vue-pack.cjs.js +1 -1
- package/dist/jsgd-vue-pack.es.js +101 -2442
- package/dist/{resize-dgEcQ7xe.js → labels-B588RfM1.js} +6 -161
- package/dist/{resize-Cp7HnMN4.cjs → labels-BSx9XJ02.cjs} +1 -1
- package/dist/register-BG47SL5y.js +15 -0
- package/dist/register-D85E754B.cjs +1 -0
- package/dist/secureFetch.cjs.js +1 -0
- package/dist/secureFetch.es.js +30 -0
- package/dist/style.css +1 -1
- package/dist/types/components/Form/FormFieldRenderer.vue.d.ts +1 -0
- package/dist/types/components/Form/FormFieldRenderer.vue.d.ts.map +1 -0
- package/dist/types/components/Form/FormModal.vue.d.ts +1 -0
- package/dist/types/components/Form/FormModal.vue.d.ts.map +1 -0
- package/dist/types/components/Form/composables/index.d.ts +1 -0
- package/dist/types/components/Form/composables/index.d.ts.map +1 -0
- package/dist/types/components/Form/composables/useFormFieldRenderer.d.ts +1 -0
- package/dist/types/components/Form/composables/useFormFieldRenderer.d.ts.map +1 -0
- package/dist/types/components/Form/composables/useFormModal.d.ts +1 -0
- package/dist/types/components/Form/composables/useFormModal.d.ts.map +1 -0
- package/dist/types/components/Form/index.d.ts +1 -0
- package/dist/types/components/Form/index.d.ts.map +1 -0
- package/dist/types/components/Tabel/TabelData.vue.d.ts +1 -0
- package/dist/types/components/Tabel/TabelData.vue.d.ts.map +1 -0
- package/dist/types/components/Tabel/composables/index.d.ts +1 -0
- package/dist/types/components/Tabel/composables/index.d.ts.map +1 -0
- package/dist/types/components/Tabel/composables/useDataNormalization.d.ts +1 -0
- package/dist/types/components/Tabel/composables/useDataNormalization.d.ts.map +1 -0
- package/dist/types/components/Tabel/composables/useDisplayHelpers.d.ts +1 -0
- package/dist/types/components/Tabel/composables/useDisplayHelpers.d.ts.map +1 -0
- package/dist/types/components/Tabel/composables/useFormHandling.d.ts +1 -0
- package/dist/types/components/Tabel/composables/useFormHandling.d.ts.map +1 -0
- package/dist/types/components/Tabel/composables/useTableLogic.d.ts +1 -0
- package/dist/types/components/Tabel/composables/useTableLogic.d.ts.map +1 -0
- package/dist/types/components/Tabel/index.d.ts +1 -0
- package/dist/types/components/Tabel/index.d.ts.map +1 -0
- package/dist/types/components/UI/Display/BaseImage.vue.d.ts +1 -0
- package/dist/types/components/UI/Display/BaseImage.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Display/BaseLabel.vue.d.ts +1 -0
- package/dist/types/components/UI/Display/BaseLabel.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Display/FieldDetailRenderer.vue.d.ts +1 -0
- package/dist/types/components/UI/Display/FieldDetailRenderer.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Display/ImagePreview.vue.d.ts +1 -0
- package/dist/types/components/UI/Display/ImagePreview.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Display/ModalDetailData.vue.d.ts +1 -0
- package/dist/types/components/UI/Display/ModalDetailData.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Display/SafeHtml.vue.d.ts +1 -0
- package/dist/types/components/UI/Display/SafeHtml.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Display/Tooltip.vue.d.ts +1 -0
- package/dist/types/components/UI/Display/Tooltip.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Display/index.d.ts +1 -0
- package/dist/types/components/UI/Display/index.d.ts.map +1 -0
- package/dist/types/components/UI/Feedback/AlertApp.vue.d.ts +1 -0
- package/dist/types/components/UI/Feedback/AlertApp.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Feedback/LoaderSuccessError.vue.d.ts +1 -0
- package/dist/types/components/UI/Feedback/LoaderSuccessError.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Feedback/WarningForm.vue.d.ts +1 -0
- package/dist/types/components/UI/Feedback/WarningForm.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Feedback/index.d.ts +1 -0
- package/dist/types/components/UI/Feedback/index.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/ArrayObject.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/ArrayObject.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/ColorPicker.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/ColorPicker.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/ComboboxComponent.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/ComboboxComponent.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/CurrencyInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/CurrencyInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/DateInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/DateInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/DateTimeInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/DateTimeInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/EmailInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/EmailInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/FileArrayInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/FileArrayInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/FileInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/FileInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/GroupRenderer.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/GroupRenderer.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/ImageArrayInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/ImageArrayInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/ImageInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/ImageInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/LocationPicker.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/LocationPicker.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/NumberInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/NumberInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/ObjectInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/ObjectInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/PasswordInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/PasswordInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/RateInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/RateInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/TagInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/TagInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/TelInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/TelInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/TextAreaInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/TextAreaInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/TextAreaQuill.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/TextAreaQuill.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/TextInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/TextInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/TimeInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/TimeInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/ToggleInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/ToggleInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/UrlInput.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/UrlInput.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/components/QuillAltModal.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/components/QuillAltModal.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/components/QuillEmbedModal.vue.d.ts +1 -0
- package/dist/types/components/UI/Inputs/components/QuillEmbedModal.vue.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/composables/index.d.ts +1 -0
- package/dist/types/components/UI/Inputs/composables/index.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/composables/useArrayObject.d.ts +1 -0
- package/dist/types/components/UI/Inputs/composables/useArrayObject.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/composables/useCurrencyInput.d.ts +1 -0
- package/dist/types/components/UI/Inputs/composables/useCurrencyInput.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/composables/useSchemaGroupRenderer.d.ts +1 -0
- package/dist/types/components/UI/Inputs/composables/useSchemaGroupRenderer.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/composables/useSingleObject.d.ts +1 -0
- package/dist/types/components/UI/Inputs/composables/useSingleObject.d.ts.map +1 -0
- package/dist/types/components/UI/Inputs/index.d.ts +1 -0
- package/dist/types/components/UI/Inputs/index.d.ts.map +1 -0
- package/dist/types/components/UI/index.d.ts +1 -0
- package/dist/types/components/UI/index.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/config.d.ts +1 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/configs/defaults/index.d.ts +1 -0
- package/dist/types/configs/defaults/index.d.ts.map +1 -0
- package/dist/types/configs/defaults/table.d.ts +1 -0
- package/dist/types/configs/defaults/table.d.ts.map +1 -0
- package/dist/types/configs/i18n/errors.d.ts +1 -0
- package/dist/types/configs/i18n/errors.d.ts.map +1 -0
- package/dist/types/configs/i18n/index.d.ts +1 -0
- package/dist/types/configs/i18n/index.d.ts.map +1 -0
- package/dist/types/configs/i18n/inputs.d.ts +1 -0
- package/dist/types/configs/i18n/inputs.d.ts.map +1 -0
- package/dist/types/configs/i18n/labels.d.ts +1 -0
- package/dist/types/configs/i18n/labels.d.ts.map +1 -0
- package/dist/types/configs/i18n/register.d.ts +1 -0
- package/dist/types/configs/i18n/register.d.ts.map +1 -0
- package/dist/types/configs/index.d.ts +1 -0
- package/dist/types/configs/index.d.ts.map +1 -0
- package/dist/types/configs/types/base.types.d.ts +1 -0
- package/dist/types/configs/types/base.types.d.ts.map +1 -0
- package/dist/types/configs/types/date.types.d.ts +1 -0
- package/dist/types/configs/types/date.types.d.ts.map +1 -0
- package/dist/types/configs/types/field.types.d.ts +1 -0
- package/dist/types/configs/types/field.types.d.ts.map +1 -0
- package/dist/types/configs/types/globalText.types.d.ts +1 -0
- package/dist/types/configs/types/globalText.types.d.ts.map +1 -0
- package/dist/types/configs/types/index.d.ts +1 -0
- package/dist/types/configs/types/index.d.ts.map +1 -0
- package/dist/types/configs/types/modal-text.types.d.ts +1 -0
- package/dist/types/configs/types/modal-text.types.d.ts.map +1 -0
- package/dist/types/configs/types/plugin-config.types.d.ts +1 -0
- package/dist/types/configs/types/plugin-config.types.d.ts.map +1 -0
- package/dist/types/configs/types/props.types.d.ts +1 -0
- package/dist/types/configs/types/props.types.d.ts.map +1 -0
- package/dist/types/configs/types/schema.types.d.ts +1 -0
- package/dist/types/configs/types/schema.types.d.ts.map +1 -0
- package/dist/types/configs/types/seo.types.d.ts +1 -0
- package/dist/types/configs/types/seo.types.d.ts.map +1 -0
- package/dist/types/configs/types/submit-options.types.d.ts +1 -0
- package/dist/types/configs/types/submit-options.types.d.ts.map +1 -0
- package/dist/types/configs/types/table-data.types.d.ts +1 -0
- package/dist/types/configs/types/table-data.types.d.ts.map +1 -0
- package/dist/types/fetch/index.d.ts +1 -0
- package/dist/types/fetch/index.d.ts.map +1 -0
- package/dist/types/fetch/submitData.d.ts +1 -0
- package/dist/types/fetch/submitData.d.ts.map +1 -0
- package/dist/types/helpers/clientInfo.d.ts +1 -0
- package/dist/types/helpers/clientInfo.d.ts.map +1 -0
- package/dist/types/helpers/index.d.ts +1 -0
- package/dist/types/helpers/index.d.ts.map +1 -0
- package/dist/types/helpers/locale.d.ts +1 -0
- package/dist/types/helpers/locale.d.ts.map +1 -0
- package/dist/types/helpers/message.d.ts +1 -0
- package/dist/types/helpers/message.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/init.d.ts +1 -0
- package/dist/types/init.d.ts.map +1 -0
- package/dist/types/lib/index.d.ts +1 -1
- package/dist/types/lib/index.d.ts.map +1 -0
- package/dist/types/lib/indexedDB.d.ts +1 -0
- package/dist/types/lib/indexedDB.d.ts.map +1 -0
- package/dist/types/lib/secureFetch.d.ts +1 -0
- package/dist/types/lib/secureFetch.d.ts.map +1 -0
- package/dist/types/plugin/vue.plugin.d.ts +1 -0
- package/dist/types/plugin/vue.plugin.d.ts.map +1 -0
- package/dist/types/untils/index.d.ts +1 -0
- package/dist/types/untils/index.d.ts.map +1 -0
- package/dist/types/untils/math.d.ts +1 -0
- package/dist/types/untils/math.d.ts.map +1 -0
- package/dist/types/untils/misc.d.ts +1 -0
- package/dist/types/untils/misc.d.ts.map +1 -0
- package/dist/types/untils/objectPath.d.ts +1 -0
- package/dist/types/untils/objectPath.d.ts.map +1 -0
- package/dist/types/untils/regex.d.ts +1 -0
- package/dist/types/untils/regex.d.ts.map +1 -0
- package/dist/types/untils/seo.d.ts +1 -0
- package/dist/types/untils/seo.d.ts.map +1 -0
- package/dist/types/validate/index.d.ts +1 -0
- package/dist/types/validate/index.d.ts.map +1 -0
- package/dist/types/validate/validate.d.ts +1 -0
- package/dist/types/validate/validate.d.ts.map +1 -0
- package/dist/vue.cjs.js +1 -1
- package/dist/vue.es.js +9 -49
- package/package.json +38 -1
- package/dist/TabelData-BNaePRCW.cjs +0 -15
- package/dist/TabelData-BxQVnwZT.js +0 -8936
- package/dist/types/lib/demoData.d.ts +0 -313
- package/dist/types/schemas/CQ.d.ts +0 -2
- package/dist/types/schemas/TestSchema.d.ts +0 -3
- package/dist/types/schemas/categories.d.ts +0 -2
- package/dist/types/schemas/colors.d.ts +0 -2
- package/dist/types/schemas/expenditure.d.ts +0 -2
- package/dist/types/schemas/income.d.ts +0 -9
- package/dist/types/schemas/index.d.ts +0 -17
- package/dist/types/schemas/model.d.ts +0 -2
- package/dist/types/schemas/news.d.ts +0 -2
- package/dist/types/schemas/order.d.ts +0 -2
- package/dist/types/schemas/page.d.ts +0 -2
- package/dist/types/schemas/promo.d.ts +0 -2
- package/dist/types/schemas/qna.d.ts +0 -2
- package/dist/types/schemas/rate.d.ts +0 -2
- package/dist/types/schemas/service.d.ts +0 -2
- package/dist/types/schemas/shipping.d.ts +0 -2
- package/dist/types/schemas/subTools.d.ts +0 -2
- package/dist/types/schemas/tools.d.ts +0 -2
package/dist/jsgd-vue-pack.es.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
1
|
+
import { d as o, a as i, i as n } from "./labels-B588RfM1.js";
|
|
2
|
+
import { _ as u, a as d, b as m, c as p, d as g, e as I, D as f, f as c, g as T, h as D, i as x, F as y, j as A, k as E, l as b, m as F, n as M, o as R, p as S, q as B, L as h, r as j, M as v, s as C, t as O, u as w, v as G, w as L, x as N, T as P, y as q, z as X, A as _, B as k, C as K, E as U, G as V, H as z, I as H, J as Q, W, K as Z, N as J, O as Y, P as $, Q as ee, R as ae, S as te, U as se, V as re, X as oe, Y as ie, Z as ne, $ as le, a0 as ue, a1 as de, a2 as me, a3 as pe, a4 as ge, a5 as Ie, a6 as fe, a7 as ce, a8 as Te, a9 as De, aa as xe, ab as ye, ac as Ae, ad as Ee, ae as be, af as Fe, ag as Me, ah as Re, ai as Se } from "./TabelData-SXpPUn-t.js";
|
|
3
|
+
import { clearStore as he, configureIndexedDB as je, deleteItemFromStore as ve, getFromIndexedDB as Ce, getItemById as Oe, getSingleFromIndexedDB as we, isStoreArray as Ge, removeFromIndexedDB as Le, saveToIndexedDB as Ne, updateItemInStore as Pe } from "./indexedDB.es.js";
|
|
4
|
+
import { r as Xe, a as _e, b as ke } from "./register-BG47SL5y.js";
|
|
5
|
+
import { secureFetch as Ue } from "./secureFetch.es.js";
|
|
6
|
+
const e = [
|
|
6
7
|
"png",
|
|
7
8
|
"jpg",
|
|
8
9
|
"jpeg",
|
|
@@ -17,7 +18,7 @@ const O = [
|
|
|
17
18
|
"avif",
|
|
18
19
|
"ico",
|
|
19
20
|
"jfif"
|
|
20
|
-
],
|
|
21
|
+
], a = [
|
|
21
22
|
"text",
|
|
22
23
|
"email",
|
|
23
24
|
"password",
|
|
@@ -45,2441 +46,99 @@ const O = [
|
|
|
45
46
|
"rate",
|
|
46
47
|
"tel",
|
|
47
48
|
"mapPicker"
|
|
48
|
-
],
|
|
49
|
-
id: 1,
|
|
50
|
-
username: "admin",
|
|
51
|
-
password: "bcrypt_hashed_password_placeholder",
|
|
52
|
-
token: null,
|
|
53
|
-
limitToken: null
|
|
54
|
-
}, I = {
|
|
55
|
-
id: 1,
|
|
56
|
-
name: "Solusi Pesta Surabaya",
|
|
57
|
-
icon: "https://picsum.photos/300/300?random=1",
|
|
58
|
-
aboutUs: "<p><strong>Solusi Pesta Surabaya</strong> adalah penyedia jasa persewaan alat pesta terpercaya di Surabaya yang telah melayani berbagai kebutuhan acara sejak tahun 2007.</p>",
|
|
59
|
-
aboutUsBrief: "Solusi Pesta Surabaya adalah penyedia jasa persewaan alat pesta terpercaya di Surabaya sejak 2007.",
|
|
60
|
-
vision: "Menjadi penyedia jasa persewaan alat pesta terkemuka di Surabaya yang dikenal akan kualitas, inovasi, dan pelayanan prima.",
|
|
61
|
-
mission: "Menyediakan berbagai perlengkapan pesta berkualitas tinggi, memberikan layanan pelanggan yang unggul, serta mendukung kesuksesan setiap acara dengan solusi yang tepat dan andal.",
|
|
62
|
-
termsAndConditions: "<h3><strong>1. Pemesanan</strong></h3><ol><li>Pemesanan dapat dilakukan melalui WhatsApp, telepon, atau langsung ke kantor kami.</li></ol>",
|
|
63
|
-
privacyPolicy: "<p>Solusi Pesta Surabaya berkomitmen untuk menjaga privasi dan keamanan data pribadi pelanggan kami.</p>",
|
|
64
|
-
warehouseAddress: "Jl. Balas Klumprik No.77, Balas Klumprik, Kec. Wiyung, Surabaya, Jawa Timur 60222",
|
|
65
|
-
officeAddress: "Jl. Wiyung 1 Gg. Mawar No.14, Wiyung, Kec. Wiyung, Surabaya, Jawa Timur 60228",
|
|
66
|
-
officeGMap: "https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d4833.366718003127!2d112.6903878845809!3d-7.310752273867309!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x2dd7fd0048c4860b%3A0x402648a37f7bd8d3!2sSolusi%20Pesta%20Surabaya!5e1!3m2!1sid!2sid!4v1761045562354!5m2!1sid!2sid",
|
|
67
|
-
warehouseGMap: "https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d506.24336454761436!2d112.68692673049173!3d-7.331416947288534!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x2dd7fcc1c060967f%3A0xb4a9c2c101a99cd7!2sJl.%20Balas%20Klumprik%20No.77%2C%20Balas%20Klumprik%2C%20Kec.%20Wiyung%2C%20Surabaya%2C%20Jawa%20Timur%2060222!5e1!3m2!1sid!2sid!4v1747401328589!5m2!1sid!2sid",
|
|
68
|
-
phoneNumber: "6281555318254",
|
|
69
|
-
email: "info@pestaselalu.com",
|
|
70
|
-
facebook: "https://facebook.com/pestaselalu",
|
|
71
|
-
twitter: "https://twitter.com/pestaselalu",
|
|
72
|
-
instagram: "https://instagram.com/pestaselalu",
|
|
73
|
-
linkedIn: null,
|
|
74
|
-
youtube: "https://youtube.com/pestaselalu",
|
|
75
|
-
shopee: "https://shopee.co.id/pestaselalu",
|
|
76
|
-
tiktok: "https://tiktok.com/@pestaselalu",
|
|
77
|
-
lazada: null,
|
|
78
|
-
tokoPedia: "https://tokopedia.com/pestaselalu",
|
|
79
|
-
createAt: /* @__PURE__ */ new Date("2025-01-01T00:00:00.000Z"),
|
|
80
|
-
updateAt: /* @__PURE__ */ new Date()
|
|
81
|
-
}, N = {
|
|
82
|
-
id: 1,
|
|
83
|
-
name: "Bapak Wijaya",
|
|
84
|
-
photo: "https://picsum.photos/300/300?random=2",
|
|
85
|
-
bio: "Owner PT Pesta Selalu. Siap melayani kebutuhan acara Anda dengan profesional.",
|
|
86
|
-
createdAt: /* @__PURE__ */ new Date("2025-01-01T00:00:00.000Z"),
|
|
87
|
-
updatedAt: /* @__PURE__ */ new Date()
|
|
88
|
-
}, x = {
|
|
89
|
-
id: 1,
|
|
90
|
-
type: "PriceDistance",
|
|
91
|
-
coordinateX: -7.289167,
|
|
92
|
-
coordinateY: 112.73439,
|
|
93
|
-
price: 5e3,
|
|
94
|
-
distance: 1
|
|
95
|
-
}, v = Array.from({ length: 20 }, (a, e) => ({
|
|
96
|
-
id: e + 1,
|
|
97
|
-
category: r(["Pemesanan", "Pembayaran", "Pengiriman", "Lainnya"]),
|
|
98
|
-
question: `Ini adalah pertanyaan umum nomor ${e + 1}?`,
|
|
99
|
-
answer: `Ini adalah jawaban untuk pertanyaan umum nomor ${e + 1}.`,
|
|
100
|
-
createAt: P(new Date(2024, 0, 1), /* @__PURE__ */ new Date()),
|
|
101
|
-
updateAt: /* @__PURE__ */ new Date()
|
|
102
|
-
})), b = Array.from({ length: 20 }, (a, e) => ({
|
|
103
|
-
id: e + 1,
|
|
104
|
-
name: `Tipe Alat ${e + 1}`,
|
|
105
|
-
createAt: /* @__PURE__ */ new Date(),
|
|
106
|
-
updateAt: /* @__PURE__ */ new Date()
|
|
107
|
-
})), g = Array.from({ length: 20 }, (a, e) => ({
|
|
108
|
-
id: e + 1,
|
|
109
|
-
name: `Model Alat ${e + 1}`,
|
|
110
|
-
createAt: /* @__PURE__ */ new Date(),
|
|
111
|
-
updateAt: /* @__PURE__ */ new Date()
|
|
112
|
-
})), h = Array.from({ length: 20 }, (a, e) => ({
|
|
113
|
-
id: e + 1,
|
|
114
|
-
name: `Alat Pesta ${e + 1}`,
|
|
115
|
-
image: `https://picsum.photos/300/300?random=${100 + e}`,
|
|
116
|
-
description: `Deskripsi detail untuk Alat Pesta ${e + 1}.`,
|
|
117
|
-
price: (Math.floor(Math.random() * 100) + 1) * 1e4,
|
|
118
|
-
sizeX: parseFloat((Math.random() * 10).toFixed(2)),
|
|
119
|
-
sizeY: parseFloat((Math.random() * 10).toFixed(2)),
|
|
120
|
-
sizeZ: parseFloat((Math.random() * 5).toFixed(2)),
|
|
121
|
-
unitOfMeasure: r(["cm", "m", "inch"]),
|
|
122
|
-
dimensions: parseFloat((Math.random() * 100).toFixed(2)),
|
|
123
|
-
modelId: r(g).id,
|
|
124
|
-
typeId: r(b).id,
|
|
125
|
-
createAt: /* @__PURE__ */ new Date(),
|
|
126
|
-
updateAt: /* @__PURE__ */ new Date()
|
|
127
|
-
})), A = Array.from({ length: 20 }, (a, e) => {
|
|
128
|
-
const t = Math.floor(Math.random() * 3) + 1, i = t + Math.floor(Math.random() * 3) + 1, o = Array.from(
|
|
129
|
-
{ length: i },
|
|
130
|
-
() => `#${Math.floor(Math.random() * 16777215).toString(16).padStart(6, "0")}`
|
|
131
|
-
);
|
|
132
|
-
return {
|
|
133
|
-
id: e + 1,
|
|
134
|
-
name: `Palet Warna ${e + 1}`,
|
|
135
|
-
colors: o,
|
|
136
|
-
options: t,
|
|
137
|
-
createAt: /* @__PURE__ */ new Date(),
|
|
138
|
-
updateAt: /* @__PURE__ */ new Date()
|
|
139
|
-
};
|
|
140
|
-
}), f = Array.from({ length: 20 }, (a, e) => {
|
|
141
|
-
const t = e % 3;
|
|
142
|
-
return {
|
|
143
|
-
id: e + 1,
|
|
144
|
-
name: `Aksesoris ${e + 1}`,
|
|
145
|
-
price: (Math.floor(Math.random() * 20) + 1) * 1e3,
|
|
146
|
-
description: `Deskripsi untuk Aksesoris ${e + 1}.`,
|
|
147
|
-
typeId: t === 2 ? r(b).id : null,
|
|
148
|
-
modelId: t === 1 ? r(g).id : null,
|
|
149
|
-
toolsId: t === 0 ? r(h).id : null,
|
|
150
|
-
createAt: /* @__PURE__ */ new Date(),
|
|
151
|
-
updateAt: /* @__PURE__ */ new Date()
|
|
152
|
-
};
|
|
153
|
-
}), E = Array.from({ length: 40 }, (a, e) => {
|
|
154
|
-
const t = Math.random() > 0.5, i = Math.floor(e / 2) + 1;
|
|
155
|
-
return {
|
|
156
|
-
id: e + 1,
|
|
157
|
-
image: `https://picsum.photos/300/300?random=${200 + e}`,
|
|
158
|
-
name: `Varian Gambar ${e + 1}`,
|
|
159
|
-
subToolsId: i,
|
|
160
|
-
colors: t ? null : [
|
|
161
|
-
`#${Math.floor(Math.random() * 16777215).toString(16).padStart(6, "0")}`
|
|
162
|
-
],
|
|
163
|
-
colorToolsId: t ? r(A).id : null,
|
|
164
|
-
createAt: /* @__PURE__ */ new Date()
|
|
165
|
-
};
|
|
166
|
-
}), u = Array.from({ length: 20 }, (a, e) => {
|
|
167
|
-
const t = `Promo Heboh #${e + 1}`, i = r(["DISCOUNT", "DAY_RENT", "FREE_SHIPPING"]), o = r(["RateDiscount", "NominalDiscount"]);
|
|
168
|
-
let n;
|
|
169
|
-
return i === "DISCOUNT" ? n = {
|
|
170
|
-
discountModel: o,
|
|
171
|
-
discount: o === "RateDiscount" ? Math.floor(Math.random() * 50) + 5 : (Math.floor(Math.random() * 10) + 1) * 1e4,
|
|
172
|
-
maximumDiscount: o === "RateDiscount" ? (Math.floor(Math.random() * 20) + 5) * 1e4 : null,
|
|
173
|
-
minPrice: (Math.floor(Math.random() * 10) + 1) * 5e4,
|
|
174
|
-
minDay: null,
|
|
175
|
-
maxDistance: null
|
|
176
|
-
} : i === "DAY_RENT" ? n = {
|
|
177
|
-
discountModel: "RateDiscount",
|
|
178
|
-
discount: 0,
|
|
179
|
-
maximumDiscount: null,
|
|
180
|
-
minPrice: 0,
|
|
181
|
-
minDay: Math.floor(Math.random() * 3) + 2,
|
|
182
|
-
maxDistance: null
|
|
183
|
-
} : n = {
|
|
184
|
-
discountModel: "RateDiscount",
|
|
185
|
-
discount: 100,
|
|
186
|
-
maximumDiscount: (Math.floor(Math.random() * 10) + 5) * 1e4,
|
|
187
|
-
minPrice: (Math.floor(Math.random() * 10) + 1) * 1e5,
|
|
188
|
-
minDay: null,
|
|
189
|
-
maxDistance: Math.floor(Math.random() * 20) + 5
|
|
190
|
-
}, {
|
|
191
|
-
id: e + 1,
|
|
192
|
-
title: t,
|
|
193
|
-
slug: y(t),
|
|
194
|
-
keywords: ["promo", `promo-${e + 1}`],
|
|
195
|
-
description: `Deskripsi lengkap untuk ${t}.`,
|
|
196
|
-
type: i,
|
|
197
|
-
image: `https://picsum.photos/300/300?random=${300 + e}`,
|
|
198
|
-
promoStartDate: /* @__PURE__ */ new Date(),
|
|
199
|
-
promoEndDate: new Date((/* @__PURE__ */ new Date()).setFullYear((/* @__PURE__ */ new Date()).getFullYear() + 1)),
|
|
200
|
-
couponCode: `PROMO${e + 1}`,
|
|
201
|
-
tags: ["sale", "special"],
|
|
202
|
-
createdAt: /* @__PURE__ */ new Date(),
|
|
203
|
-
updatedAt: /* @__PURE__ */ new Date(),
|
|
204
|
-
details: {
|
|
205
|
-
id: e + 1,
|
|
206
|
-
promoId: e + 1,
|
|
207
|
-
...n
|
|
208
|
-
}
|
|
209
|
-
};
|
|
210
|
-
}), B = Array.from({ length: 20 }, (a, e) => {
|
|
211
|
-
const t = `Berita Terkini Edisi ke-${e + 1}`, i = y(t), o = r(["Buku", "Artikel", "Jurnal"]);
|
|
212
|
-
return {
|
|
213
|
-
id: e + 1,
|
|
214
|
-
title: t,
|
|
215
|
-
slug: i,
|
|
216
|
-
news: `<h1>${t}</h1><p>Ini adalah isi dari berita edisi ke-${e + 1}.</p>`,
|
|
217
|
-
image: `https://picsum.photos/300/300?random=${400 + e}`,
|
|
218
|
-
altImage: `Gambar ilustrasi untuk ${t}`,
|
|
219
|
-
category: r(["Tips & Trik", "Panduan", "Promosi", "Portofolio"]),
|
|
220
|
-
author: `Penulis ${e + 1}`,
|
|
221
|
-
seo: {
|
|
222
|
-
metaTitle: `${t} | Solusi Pesta`,
|
|
223
|
-
metaDescription: `Baca selengkapnya tentang ${t} hanya di sini.`,
|
|
224
|
-
keywords: `berita, ${i.replace(/-/g, ", ")}`,
|
|
225
|
-
tag: ["berita", "terbaru", `edisi-${e + 1}`]
|
|
226
|
-
},
|
|
227
|
-
seoScore: Math.random() * 100,
|
|
228
|
-
source: [
|
|
229
|
-
{
|
|
230
|
-
category: o,
|
|
231
|
-
name: `Sumber Referensi ${e + 1}`,
|
|
232
|
-
author: `Author ${e + 1}`,
|
|
233
|
-
url: o !== "Buku" ? `https://source.example.com/${e + 1}` : null,
|
|
234
|
-
identifier: o === "Buku" ? `ISBN-978-3-16-148410-${e}` : null
|
|
235
|
-
}
|
|
236
|
-
],
|
|
237
|
-
show: !0,
|
|
238
|
-
orderCode: null,
|
|
239
|
-
createdAt: P(new Date(2024, 0, 1), /* @__PURE__ */ new Date()),
|
|
240
|
-
updatedAt: /* @__PURE__ */ new Date()
|
|
241
|
-
};
|
|
242
|
-
}), S = Array.from({ length: 20 }, (a, e) => {
|
|
243
|
-
const t = `Halaman ${e + 1}`;
|
|
244
|
-
return {
|
|
245
|
-
id: e + 1,
|
|
246
|
-
name: t,
|
|
247
|
-
image: `https://picsum.photos/300/300?random=${500 + e}`,
|
|
248
|
-
slug: y(t),
|
|
249
|
-
description: `Deskripsi untuk ${t}`,
|
|
250
|
-
active: Math.random() > 0.2,
|
|
251
|
-
createAt: /* @__PURE__ */ new Date(),
|
|
252
|
-
updateAt: /* @__PURE__ */ new Date()
|
|
253
|
-
};
|
|
254
|
-
}), _ = Array.from({ length: 20 }, (a, e) => ({
|
|
255
|
-
id: e + 1,
|
|
256
|
-
title: `Layanan Unggulan ${e + 1}`,
|
|
257
|
-
image: `https://picsum.photos/300/300?random=${600 + e}`,
|
|
258
|
-
description: `Deskripsi lengkap untuk layanan unggulan kami nomor ${e + 1}.`,
|
|
259
|
-
createdAt: /* @__PURE__ */ new Date(),
|
|
260
|
-
updatedAt: /* @__PURE__ */ new Date()
|
|
261
|
-
})), $ = Array.from({ length: 20 }, (a, e) => ({
|
|
262
|
-
id: e + 1,
|
|
263
|
-
email: `subscriber${e + 1}@example.com`,
|
|
264
|
-
number: `089876543${(21 + e).toString().padStart(2, "0")}`,
|
|
265
|
-
createAt: /* @__PURE__ */ new Date(),
|
|
266
|
-
updatedAt: /* @__PURE__ */ new Date()
|
|
267
|
-
})), C = Array.from({ length: 20 }, (a, e) => ({
|
|
268
|
-
id: e + 1,
|
|
269
|
-
pageId: r(S).id,
|
|
270
|
-
device: r(["Desktop", "Mobile", "Tablet"]),
|
|
271
|
-
ip: `192.168.1.${e + 1}`,
|
|
272
|
-
userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
|
|
273
|
-
createAt: /* @__PURE__ */ new Date()
|
|
274
|
-
})), j = Array.from({ length: 20 }, (a, e) => ({
|
|
275
|
-
id: e + 1,
|
|
276
|
-
name: `Pengunjung ${e + 1}`,
|
|
277
|
-
email: `visitor${e + 1}@example.com`,
|
|
278
|
-
phone: `081122334${(45 + e).toString().padStart(2, "0")}`,
|
|
279
|
-
subject: `Perihal: ${e + 1}`,
|
|
280
|
-
message: `Ini adalah pesan dari pengunjung ${e + 1}.`,
|
|
281
|
-
reply: Math.random() > 0.5 ? `Ini adalah balasan untuk pengunjung ${e + 1}.` : null,
|
|
282
|
-
published: Math.random() > 0.5,
|
|
283
|
-
createdAt: /* @__PURE__ */ new Date(),
|
|
284
|
-
updatedAt: /* @__PURE__ */ new Date()
|
|
285
|
-
})), G = Array.from({ length: 20 }, (a, e) => ({
|
|
286
|
-
id: e + 1,
|
|
287
|
-
pay: (Math.floor(Math.random() * 50) + 1) * 1e4,
|
|
288
|
-
note: `Pengeluaran untuk item ${e + 1}.`,
|
|
289
|
-
createdAt: /* @__PURE__ */ new Date(),
|
|
290
|
-
updatedAt: /* @__PURE__ */ new Date()
|
|
291
|
-
})), q = [], p = [], m = [], d = [], c = [];
|
|
292
|
-
for (let a = 0; a < 20; a++) {
|
|
293
|
-
const e = `ORD-${Date.now()}-${a}`, t = (Math.floor(Math.random() * 200) + 50) * 1e4, i = Math.random() > 0.7 ? Math.random() * 5e4 : 0, o = Math.random() > 0.7 ? Math.random() * 2e4 : 0, n = 5e4, s = t - i + (n - o), l = r([
|
|
294
|
-
"verify",
|
|
295
|
-
"pending",
|
|
296
|
-
"completed",
|
|
297
|
-
"canceled",
|
|
298
|
-
"dpPaid",
|
|
299
|
-
"installing",
|
|
300
|
-
"waitingDpPayment",
|
|
301
|
-
"eventOngoing"
|
|
302
|
-
]);
|
|
303
|
-
q.push({
|
|
304
|
-
id: a + 1,
|
|
305
|
-
orderCode: e,
|
|
306
|
-
firstName: "Pelanggan",
|
|
307
|
-
lastName: `${a + 1}`,
|
|
308
|
-
address: `Jalan Bahagia No. ${a + 1}, Surabaya`,
|
|
309
|
-
phone: `081234567${(100 + a).toString().padStart(3, "0")}`,
|
|
310
|
-
phoneCode: null,
|
|
311
|
-
phoneVerified: Math.random() > 0.2,
|
|
312
|
-
totalPriceOrder: t,
|
|
313
|
-
totalPrice: s,
|
|
314
|
-
discountOrderAmount: i,
|
|
315
|
-
discountShippingAmount: o,
|
|
316
|
-
downPayment: s * 0.3,
|
|
317
|
-
finalPayment: s,
|
|
318
|
-
shippingCost: n,
|
|
319
|
-
status: l,
|
|
320
|
-
eventDate: new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + a + 10)),
|
|
321
|
-
eventEnd: new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + a + 11)),
|
|
322
|
-
installationDate: new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + a + 9)),
|
|
323
|
-
demolitionDate: new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + a + 12)),
|
|
324
|
-
invoice: `INV/2025/10/${a + 1}`,
|
|
325
|
-
promoShippingId: Math.random() > 0.8 ? r(u).id : null,
|
|
326
|
-
promoDiscountId: Math.random() > 0.8 ? r(u).id : null,
|
|
327
|
-
message: `Catatan khusus untuk pesanan ${a + 1}.`,
|
|
328
|
-
additionalCharges: Math.random() > 0.9 ? [{ name: "Biaya Kebersihan", price: 1e5 }] : null,
|
|
329
|
-
read: Math.random() > 0.5,
|
|
330
|
-
createAt: /* @__PURE__ */ new Date(),
|
|
331
|
-
updateAt: /* @__PURE__ */ new Date()
|
|
332
|
-
}), l === "completed" && c.push({
|
|
333
|
-
id: c.length + 1,
|
|
334
|
-
nameCustomer: `Pelanggan ${a + 1}`,
|
|
335
|
-
photoCustomer: `https://picsum.photos/300/300?random=${700 + a}`,
|
|
336
|
-
rate: r([3, 4, 5]),
|
|
337
|
-
message: `Ulasan yang bagus untuk pesanan ${e}.`,
|
|
338
|
-
photoProject: `https://picsum.photos/300/300?random=${800 + a}`,
|
|
339
|
-
published: !0,
|
|
340
|
-
newsPublished: !1,
|
|
341
|
-
orderCode: e,
|
|
342
|
-
read: !0,
|
|
343
|
-
createAt: /* @__PURE__ */ new Date(),
|
|
344
|
-
updateAt: /* @__PURE__ */ new Date()
|
|
345
|
-
});
|
|
346
|
-
for (let k = 0; k < Math.floor(Math.random() * 2) + 1; k++) {
|
|
347
|
-
const D = p.length + 1;
|
|
348
|
-
if (p.push({
|
|
349
|
-
id: D,
|
|
350
|
-
orderId: a + 1,
|
|
351
|
-
toolId: r(h).id,
|
|
352
|
-
quantity: Math.floor(Math.random() * 10) + 1,
|
|
353
|
-
subTotal: (Math.floor(Math.random() * 100) + 1) * 1e3
|
|
354
|
-
}), Math.random() > 0.5)
|
|
355
|
-
for (let M = 0; M < Math.floor(Math.random() * 2); M++)
|
|
356
|
-
m.push({
|
|
357
|
-
id: m.length + 1,
|
|
358
|
-
orderToolsId: D,
|
|
359
|
-
subToolId: r(f).id,
|
|
360
|
-
quantity: Math.floor(Math.random() * 5) + 1,
|
|
361
|
-
subTotal: (Math.floor(Math.random() * 20) + 1) * 1e3
|
|
362
|
-
});
|
|
363
|
-
}
|
|
364
|
-
l !== "pending" && l !== "canceled" && d.push({
|
|
365
|
-
id: d.length + 1,
|
|
366
|
-
orderId: a + 1,
|
|
367
|
-
source: "DP",
|
|
368
|
-
image: `https://picsum.photos/300/300?random=${900 + a}`,
|
|
369
|
-
pay: s * 0.3,
|
|
370
|
-
status: "paid",
|
|
371
|
-
currency: "IDR",
|
|
372
|
-
note: `DP untuk ${e}`,
|
|
373
|
-
createdAt: /* @__PURE__ */ new Date(),
|
|
374
|
-
updatedAt: /* @__PURE__ */ new Date()
|
|
375
|
-
}), (l === "completed" || l === "waitingRepayment") && d.push({
|
|
376
|
-
id: d.length + 1,
|
|
377
|
-
orderId: a + 1,
|
|
378
|
-
source: "Pelunasan",
|
|
379
|
-
image: `https://picsum.photos/300/300?random=${1e3 + a}`,
|
|
380
|
-
pay: s * 0.7,
|
|
381
|
-
status: "paid",
|
|
382
|
-
currency: "IDR",
|
|
383
|
-
note: `Pelunasan untuk ${e}`,
|
|
384
|
-
createdAt: /* @__PURE__ */ new Date(),
|
|
385
|
-
updatedAt: /* @__PURE__ */ new Date()
|
|
386
|
-
});
|
|
387
|
-
}
|
|
388
|
-
const W = {
|
|
389
|
-
admin: K,
|
|
390
|
-
company: I,
|
|
391
|
-
profil: N,
|
|
392
|
-
shippingPrice: x,
|
|
393
|
-
QandA: v,
|
|
394
|
-
promo: u,
|
|
395
|
-
news: B,
|
|
396
|
-
type: b,
|
|
397
|
-
model: g,
|
|
398
|
-
tools: h,
|
|
399
|
-
subTool: f,
|
|
400
|
-
subToolsImages: E,
|
|
401
|
-
color: A,
|
|
402
|
-
pages: S,
|
|
403
|
-
rateCustomerOrder: c,
|
|
404
|
-
incomes: d,
|
|
405
|
-
expenditure: G,
|
|
406
|
-
services: _,
|
|
407
|
-
subscribe: $,
|
|
408
|
-
visitors: C,
|
|
409
|
-
cqs: j,
|
|
410
|
-
orders: q,
|
|
411
|
-
orderTools: p,
|
|
412
|
-
orderAccessories: m
|
|
413
|
-
// Note: orderDistances would likely be nested in a real app, but following a flat structure for this file.
|
|
414
|
-
}, L = {
|
|
415
|
-
keys: {
|
|
416
|
-
idKey: "id",
|
|
417
|
-
idsKey: "ids",
|
|
418
|
-
nameKey: "name"
|
|
419
|
-
},
|
|
420
|
-
base: {
|
|
421
|
-
source: {
|
|
422
|
-
DB_NAME: "tools",
|
|
423
|
-
connect: [
|
|
424
|
-
{
|
|
425
|
-
key: "typeId",
|
|
426
|
-
connectKey: "id",
|
|
427
|
-
DB_NAME: "type"
|
|
428
|
-
},
|
|
429
|
-
{
|
|
430
|
-
DB_NAME: "model",
|
|
431
|
-
connectKey: "id",
|
|
432
|
-
key: "modelId"
|
|
433
|
-
},
|
|
434
|
-
{
|
|
435
|
-
DB_NAME: "color",
|
|
436
|
-
connectKey: "id",
|
|
437
|
-
key: "colorId"
|
|
438
|
-
}
|
|
439
|
-
]
|
|
440
|
-
},
|
|
441
|
-
dataTabelDisplay: {
|
|
442
|
-
Nama: "name",
|
|
443
|
-
Gambar: { valueKey: "image", type: "image" },
|
|
444
|
-
Harga: { valueKey: "price", type: "currency" },
|
|
445
|
-
Kategory: "type.name",
|
|
446
|
-
Model: "model.name"
|
|
447
|
-
},
|
|
448
|
-
lang: "id",
|
|
449
|
-
seoDisplay: "seoScore",
|
|
450
|
-
schema: {
|
|
451
|
-
SeoDisplay: {
|
|
452
|
-
contentType: "product",
|
|
453
|
-
scorePath: "seoScore",
|
|
454
|
-
meta: {
|
|
455
|
-
title: "seo.metaTitle",
|
|
456
|
-
description: "seo.metaDescription",
|
|
457
|
-
focusKeyword: "seo.metaFocusKeyword"
|
|
458
|
-
},
|
|
459
|
-
content: {
|
|
460
|
-
image: "image",
|
|
461
|
-
body: "description",
|
|
462
|
-
tags: "seo.metaTags",
|
|
463
|
-
author: "author"
|
|
464
|
-
}
|
|
465
|
-
},
|
|
466
|
-
global: {
|
|
467
|
-
name: {
|
|
468
|
-
type: "text",
|
|
469
|
-
label: "Nama Produk",
|
|
470
|
-
placeholder: "Masukkan nama produk",
|
|
471
|
-
validate: {
|
|
472
|
-
duplicate: !0
|
|
473
|
-
},
|
|
474
|
-
required: !0
|
|
475
|
-
},
|
|
476
|
-
typeName: {
|
|
477
|
-
type: "select",
|
|
478
|
-
label: "Kategory",
|
|
479
|
-
placeholder: "Pilih Kategory",
|
|
480
|
-
options: {
|
|
481
|
-
DB_NAME: "type",
|
|
482
|
-
valueKey: "name"
|
|
483
|
-
},
|
|
484
|
-
required: !0,
|
|
485
|
-
DB_NAME: "type",
|
|
486
|
-
baseKey: {
|
|
487
|
-
base: "typeId",
|
|
488
|
-
name: "name"
|
|
489
|
-
},
|
|
490
|
-
withCreate: {
|
|
491
|
-
DB_NAME: "type",
|
|
492
|
-
endPoint: "/api/admin/type/create",
|
|
493
|
-
schema: {
|
|
494
|
-
name: {
|
|
495
|
-
type: "text",
|
|
496
|
-
label: "Nama Kategori Produk",
|
|
497
|
-
placeholder: "Masukkan nama kategori",
|
|
498
|
-
validate: {
|
|
499
|
-
duplicate: !0
|
|
500
|
-
},
|
|
501
|
-
required: !0
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
}
|
|
505
|
-
},
|
|
506
|
-
modelName: {
|
|
507
|
-
type: "select",
|
|
508
|
-
placeholder: "Pilih Model",
|
|
509
|
-
label: "Model",
|
|
510
|
-
required: !0,
|
|
511
|
-
DB_NAME: "model",
|
|
512
|
-
options: {
|
|
513
|
-
DB_NAME: "model",
|
|
514
|
-
valueKey: "name"
|
|
515
|
-
},
|
|
516
|
-
baseKey: {
|
|
517
|
-
base: "modelId",
|
|
518
|
-
name: "name"
|
|
519
|
-
},
|
|
520
|
-
withCreate: {
|
|
521
|
-
DB_NAME: "model",
|
|
522
|
-
endPoint: "/api/admin/model/create",
|
|
523
|
-
schema: {
|
|
524
|
-
name: {
|
|
525
|
-
type: "text",
|
|
526
|
-
label: "Nama Model Produk",
|
|
527
|
-
placeholder: "Masukkan nama model",
|
|
528
|
-
validate: {
|
|
529
|
-
duplicate: !0
|
|
530
|
-
},
|
|
531
|
-
required: !0
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
},
|
|
536
|
-
description: {
|
|
537
|
-
type: "quillEditor",
|
|
538
|
-
label: "Description",
|
|
539
|
-
placeholder: "Masukkan deskripsi",
|
|
540
|
-
required: !1
|
|
541
|
-
},
|
|
542
|
-
price: {
|
|
543
|
-
type: "currency",
|
|
544
|
-
label: "Harga",
|
|
545
|
-
placeholder: "Masukkan harga",
|
|
546
|
-
required: !0
|
|
547
|
-
},
|
|
548
|
-
image: {
|
|
549
|
-
type: "image",
|
|
550
|
-
label: "Gambar Produk",
|
|
551
|
-
validate: {
|
|
552
|
-
maxSize: 1048,
|
|
553
|
-
ratio: {
|
|
554
|
-
Width: 3,
|
|
555
|
-
Height: 2
|
|
556
|
-
}
|
|
557
|
-
},
|
|
558
|
-
watermark: {
|
|
559
|
-
url: "upload",
|
|
560
|
-
position: "bottom-right",
|
|
561
|
-
size: 100
|
|
562
|
-
},
|
|
563
|
-
required: !0
|
|
564
|
-
},
|
|
565
|
-
images: {
|
|
566
|
-
type: "imageArray",
|
|
567
|
-
label: "Gambar Spesial"
|
|
568
|
-
},
|
|
569
|
-
note: {
|
|
570
|
-
type: "textArea",
|
|
571
|
-
label: "Catatan Untuk Penyewa",
|
|
572
|
-
required: !1
|
|
573
|
-
},
|
|
574
|
-
optionGroup: {
|
|
575
|
-
type: "optionGroupSchema",
|
|
576
|
-
label: "Pilihan Warna Produk",
|
|
577
|
-
typeDesign: "select",
|
|
578
|
-
options: {
|
|
579
|
-
"Warna Tetap": {
|
|
580
|
-
color: {
|
|
581
|
-
type: "color",
|
|
582
|
-
label: "Pilih Warna",
|
|
583
|
-
required: !0
|
|
584
|
-
}
|
|
585
|
-
},
|
|
586
|
-
"Warna Dengan Opsi Pilihan": {
|
|
587
|
-
colorId: {
|
|
588
|
-
type: "select",
|
|
589
|
-
label: "Warna",
|
|
590
|
-
placeholder: "Pilih warna",
|
|
591
|
-
required: !0,
|
|
592
|
-
DB_NAME: "color",
|
|
593
|
-
baseKey: {
|
|
594
|
-
base: "colorId",
|
|
595
|
-
name: "name"
|
|
596
|
-
},
|
|
597
|
-
options: {
|
|
598
|
-
DB_NAME: "color",
|
|
599
|
-
valueKey: "id",
|
|
600
|
-
viewKey: "name"
|
|
601
|
-
},
|
|
602
|
-
withCreate: {
|
|
603
|
-
DB_NAME: "color",
|
|
604
|
-
endPoint: "/api/admin/tool/color/create",
|
|
605
|
-
schema: {
|
|
606
|
-
name: {
|
|
607
|
-
type: "text",
|
|
608
|
-
label: "Nama Grup Warna",
|
|
609
|
-
validate: {
|
|
610
|
-
duplicate: !0
|
|
611
|
-
},
|
|
612
|
-
required: !0
|
|
613
|
-
},
|
|
614
|
-
options: {
|
|
615
|
-
type: "number",
|
|
616
|
-
label: "Opsi memilih warna",
|
|
617
|
-
required: !0,
|
|
618
|
-
validate: {
|
|
619
|
-
min: 1,
|
|
620
|
-
max: 10,
|
|
621
|
-
integer: !0
|
|
622
|
-
}
|
|
623
|
-
},
|
|
624
|
-
colors: {
|
|
625
|
-
type: "color",
|
|
626
|
-
label: "Pilih Warna",
|
|
627
|
-
required: !0
|
|
628
|
-
}
|
|
629
|
-
}
|
|
630
|
-
}
|
|
631
|
-
}
|
|
632
|
-
}
|
|
633
|
-
}
|
|
634
|
-
},
|
|
635
|
-
optionGroupSchema: {
|
|
636
|
-
label: "Pilihan Tipe Barang",
|
|
637
|
-
typeDesign: "cekbox",
|
|
638
|
-
type: "optionGroupSchema",
|
|
639
|
-
options: {
|
|
640
|
-
"Input Ukuran Produk?": {
|
|
641
|
-
sizeX: {
|
|
642
|
-
type: "number",
|
|
643
|
-
label: "Panjang Produk",
|
|
644
|
-
placeholder: "Masukkan panjang produk",
|
|
645
|
-
required: !0
|
|
646
|
-
},
|
|
647
|
-
sizeY: {
|
|
648
|
-
type: "number",
|
|
649
|
-
label: "Lebar Produk",
|
|
650
|
-
placeholder: "Masukkan lebar produk",
|
|
651
|
-
required: !0
|
|
652
|
-
},
|
|
653
|
-
sizeZ: {
|
|
654
|
-
type: "number",
|
|
655
|
-
label: "Tebal Produk",
|
|
656
|
-
placeholder: "Masukkan tebal produk",
|
|
657
|
-
required: !1
|
|
658
|
-
},
|
|
659
|
-
unitOfMeasure: {
|
|
660
|
-
type: "select",
|
|
661
|
-
label: "Satuan Ukuran",
|
|
662
|
-
placeholder: "Pilih satuan ukuran",
|
|
663
|
-
options: ["cm", "m", "inch", "feet", "yard"],
|
|
664
|
-
optionsView: ["Sentimeter", "Meter", "Inci", "Kaki", "Yard"],
|
|
665
|
-
required: !0
|
|
666
|
-
}
|
|
667
|
-
},
|
|
668
|
-
"Input Dimensi Produk?": {
|
|
669
|
-
dimensions: {
|
|
670
|
-
type: "number",
|
|
671
|
-
placeholder: "Masukkan dimensi produk",
|
|
672
|
-
label: "Dimensi Produk",
|
|
673
|
-
required: !0
|
|
674
|
-
}
|
|
675
|
-
}
|
|
676
|
-
}
|
|
677
|
-
},
|
|
678
|
-
seo: {
|
|
679
|
-
type: "object",
|
|
680
|
-
label: "SEO",
|
|
681
|
-
schema: {
|
|
682
|
-
optionsGroup: {
|
|
683
|
-
type: "optionGroupSchema",
|
|
684
|
-
label: "Konfigurasi SEO",
|
|
685
|
-
typeDesign: "cekbox",
|
|
686
|
-
options: {
|
|
687
|
-
meta: {
|
|
688
|
-
metaTitle: {
|
|
689
|
-
type: "text",
|
|
690
|
-
label: "Judul Halaman",
|
|
691
|
-
placeholder: "Masukkan judul halaman",
|
|
692
|
-
required: !1
|
|
693
|
-
},
|
|
694
|
-
metaDescription: {
|
|
695
|
-
type: "textArea",
|
|
696
|
-
label: "Deskripsi Singkat",
|
|
697
|
-
placeholder: "Masukkan deskripsi singkat",
|
|
698
|
-
required: !1
|
|
699
|
-
},
|
|
700
|
-
metaFocusKeyword: {
|
|
701
|
-
type: "text",
|
|
702
|
-
label: "Kata Kunci",
|
|
703
|
-
placeholder: "Masukkan kata kunci",
|
|
704
|
-
required: !1
|
|
705
|
-
},
|
|
706
|
-
metaTags: {
|
|
707
|
-
type: "tag",
|
|
708
|
-
label: "Tags",
|
|
709
|
-
placeholder: "Masukkan tag",
|
|
710
|
-
required: !1
|
|
711
|
-
}
|
|
712
|
-
},
|
|
713
|
-
twitter: {
|
|
714
|
-
twitterTitle: {
|
|
715
|
-
type: "text",
|
|
716
|
-
label: "Judul Halaman",
|
|
717
|
-
placeholder: "Masukkan judul halaman",
|
|
718
|
-
required: !1
|
|
719
|
-
},
|
|
720
|
-
twitterDescription: {
|
|
721
|
-
type: "textArea",
|
|
722
|
-
label: "Deskripsi singkat",
|
|
723
|
-
placeholder: "Masukkan deskripsi singkat",
|
|
724
|
-
required: !1
|
|
725
|
-
},
|
|
726
|
-
twitterImage: {
|
|
727
|
-
type: "image",
|
|
728
|
-
label: "Gambar Halaman",
|
|
729
|
-
required: !1
|
|
730
|
-
}
|
|
731
|
-
},
|
|
732
|
-
openGraph: {
|
|
733
|
-
ogTitle: {
|
|
734
|
-
type: "text",
|
|
735
|
-
label: "Judul Halaman",
|
|
736
|
-
placeholder: "Masukkan judul halaman",
|
|
737
|
-
required: !1
|
|
738
|
-
},
|
|
739
|
-
ogDescription: {
|
|
740
|
-
type: "textArea",
|
|
741
|
-
label: "Deskripsi singkat",
|
|
742
|
-
placeholder: "Masukkan deskripsi singkat",
|
|
743
|
-
required: !1
|
|
744
|
-
},
|
|
745
|
-
ogImage: {
|
|
746
|
-
type: "image",
|
|
747
|
-
label: "Gambar Halaman",
|
|
748
|
-
required: !1
|
|
749
|
-
}
|
|
750
|
-
}
|
|
751
|
-
}
|
|
752
|
-
}
|
|
753
|
-
}
|
|
754
|
-
},
|
|
755
|
-
lokasi_toko: {
|
|
756
|
-
type: "mapPicker",
|
|
757
|
-
label: "Lokasi Toko",
|
|
758
|
-
required: !0,
|
|
759
|
-
key: { lat: "latitude", lng: "longitude" },
|
|
760
|
-
validate: {
|
|
761
|
-
geoJson: "http://localhost:4321/surabaya.geojson"
|
|
762
|
-
},
|
|
763
|
-
geocodeApi: {
|
|
764
|
-
geoapify: "4537c50fbc8946148bafa8ca0ffae4aa"
|
|
765
|
-
},
|
|
766
|
-
searchCity: "Surabaya",
|
|
767
|
-
searchCountry: "Indonesia"
|
|
768
|
-
},
|
|
769
|
-
Group: {
|
|
770
|
-
type: "optionGroupSchema",
|
|
771
|
-
label: "Apakah Produk ini juga Aksesoris?",
|
|
772
|
-
typeDesign: "select",
|
|
773
|
-
required: !0,
|
|
774
|
-
value: "TIDAK",
|
|
775
|
-
options: {
|
|
776
|
-
TIDAK: {},
|
|
777
|
-
YA: {
|
|
778
|
-
subPrice: {
|
|
779
|
-
type: "currency",
|
|
780
|
-
label: "Harga Produk",
|
|
781
|
-
placeholder: "Masukkan harga produk"
|
|
782
|
-
},
|
|
783
|
-
GroupSub: {
|
|
784
|
-
label: "Pilihan Sub Produk Untuk ?",
|
|
785
|
-
typeDesign: "cekbox",
|
|
786
|
-
type: "optionGroupSchema",
|
|
787
|
-
withValue: !0,
|
|
788
|
-
required: !0,
|
|
789
|
-
options: {
|
|
790
|
-
"Tautkan dengan Kategori": {
|
|
791
|
-
subTypeId: {
|
|
792
|
-
type: "select",
|
|
793
|
-
label: "Sub Produk untuk Kategory",
|
|
794
|
-
options: {
|
|
795
|
-
DB_NAME: "type",
|
|
796
|
-
valueKey: "id",
|
|
797
|
-
viewKey: "name"
|
|
798
|
-
},
|
|
799
|
-
optionsIsNumber: !0,
|
|
800
|
-
required: !0
|
|
801
|
-
}
|
|
802
|
-
},
|
|
803
|
-
"Tautkan dengan Model": {
|
|
804
|
-
subModelId: {
|
|
805
|
-
type: "select",
|
|
806
|
-
label: "Sub Produk untuk Model",
|
|
807
|
-
options: {
|
|
808
|
-
DB_NAME: "model",
|
|
809
|
-
valueKey: "id",
|
|
810
|
-
viewKey: "name"
|
|
811
|
-
},
|
|
812
|
-
required: !0
|
|
813
|
-
}
|
|
814
|
-
},
|
|
815
|
-
"Tautkan dengan Produk": {
|
|
816
|
-
subToolId: {
|
|
817
|
-
type: "select",
|
|
818
|
-
label: "Sub Produk untuk Produk",
|
|
819
|
-
DB_NAME: "tools",
|
|
820
|
-
options: {
|
|
821
|
-
DB_NAME: "tools",
|
|
822
|
-
valueKey: "id",
|
|
823
|
-
viewKey: "name"
|
|
824
|
-
},
|
|
825
|
-
required: !0
|
|
826
|
-
}
|
|
827
|
-
}
|
|
828
|
-
}
|
|
829
|
-
},
|
|
830
|
-
noteSub: {
|
|
831
|
-
type: "textArea",
|
|
832
|
-
label: "Catatan Untuk Penyewa",
|
|
833
|
-
placeholder: "Masukkan catatan untuk penyewa"
|
|
834
|
-
},
|
|
835
|
-
count: {
|
|
836
|
-
type: "number",
|
|
837
|
-
label: "Jumlah Produk",
|
|
838
|
-
placeholder: "Masukkan jumlah produk"
|
|
839
|
-
},
|
|
840
|
-
subOption: {
|
|
841
|
-
type: "object",
|
|
842
|
-
label: "Pengaturan Aksesoris",
|
|
843
|
-
schema: {
|
|
844
|
-
groupId: {
|
|
845
|
-
type: "number",
|
|
846
|
-
label: "ID Grup (Hanya boleh pilih 1 item dalam grup yang sama)",
|
|
847
|
-
placeholder: "Masukan Nomer Grup"
|
|
848
|
-
},
|
|
849
|
-
allowExceedParent: {
|
|
850
|
-
type: "toggle",
|
|
851
|
-
label: "Boleh Melebihi Jumlah Produk Utama?"
|
|
852
|
-
}
|
|
853
|
-
}
|
|
854
|
-
}
|
|
855
|
-
}
|
|
856
|
-
}
|
|
857
|
-
}
|
|
858
|
-
}
|
|
859
|
-
}
|
|
860
|
-
},
|
|
861
|
-
endPoints: {
|
|
862
|
-
create: "/api/admin/tool/create",
|
|
863
|
-
update: "/api/admin/tool/update",
|
|
864
|
-
delete: "/api/admin/tool/delete/:id",
|
|
865
|
-
deleteMany: "/api/admin/tool/delete"
|
|
866
|
-
}
|
|
867
|
-
}, U = {
|
|
868
|
-
keys: {
|
|
869
|
-
idKey: "id",
|
|
870
|
-
idsKey: "ids"
|
|
871
|
-
},
|
|
872
|
-
base: {
|
|
873
|
-
source: {
|
|
874
|
-
DB_NAME: "type",
|
|
875
|
-
connect: [
|
|
876
|
-
{
|
|
877
|
-
key: "id",
|
|
878
|
-
DB_NAME: "tools",
|
|
879
|
-
connectKey: "typeId"
|
|
880
|
-
},
|
|
881
|
-
{
|
|
882
|
-
key: "id",
|
|
883
|
-
DB_NAME: "subTool",
|
|
884
|
-
connectKey: "typeId"
|
|
885
|
-
}
|
|
886
|
-
]
|
|
887
|
-
},
|
|
888
|
-
lang: "id",
|
|
889
|
-
dataTabelDisplay: {
|
|
890
|
-
Nama: "name",
|
|
891
|
-
"Terhubung Dengan Produk": "tools.name",
|
|
892
|
-
"Sub Barang yang terhubung": "subTool.name"
|
|
893
|
-
},
|
|
894
|
-
schema: {
|
|
895
|
-
global: {
|
|
896
|
-
name: {
|
|
897
|
-
type: "text",
|
|
898
|
-
label: "Nama Kategori Produk",
|
|
899
|
-
validate: {
|
|
900
|
-
duplicate: !0
|
|
901
|
-
},
|
|
902
|
-
required: !0
|
|
903
|
-
}
|
|
904
|
-
}
|
|
905
|
-
}
|
|
906
|
-
},
|
|
907
|
-
endPoints: {
|
|
908
|
-
create: "/api/admin/type/create",
|
|
909
|
-
update: "/api/admin/type/update",
|
|
910
|
-
delete: "/api/admin/type/delete/:id",
|
|
911
|
-
deleteMany: "/api/admin/type/delete"
|
|
912
|
-
}
|
|
913
|
-
}, z = {
|
|
914
|
-
keys: {
|
|
915
|
-
idKey: "id",
|
|
916
|
-
idsKey: "ids"
|
|
917
|
-
},
|
|
918
|
-
base: {
|
|
919
|
-
source: {
|
|
920
|
-
DB_NAME: "color",
|
|
921
|
-
connect: [
|
|
922
|
-
{
|
|
923
|
-
key: "id",
|
|
924
|
-
DB_NAME: "subTool",
|
|
925
|
-
connectKey: "images.colorToolsId"
|
|
926
|
-
}
|
|
927
|
-
]
|
|
928
|
-
},
|
|
929
|
-
lang: "id",
|
|
930
|
-
dataTabelDisplay: {
|
|
931
|
-
Nama: "name",
|
|
932
|
-
"Opsi pilih warna": "options",
|
|
933
|
-
Warna: "colors",
|
|
934
|
-
"Sub Barang yang tehubung": "subTool.name"
|
|
935
|
-
},
|
|
936
|
-
schema: {
|
|
937
|
-
global: {
|
|
938
|
-
name: {
|
|
939
|
-
type: "text",
|
|
940
|
-
label: "Nama Grup Warna",
|
|
941
|
-
validate: {
|
|
942
|
-
duplicate: !0
|
|
943
|
-
},
|
|
944
|
-
required: !0
|
|
945
|
-
},
|
|
946
|
-
options: {
|
|
947
|
-
type: "number",
|
|
948
|
-
label: "Opsi memilih warna",
|
|
949
|
-
required: !0,
|
|
950
|
-
validate: {
|
|
951
|
-
min: 1,
|
|
952
|
-
max: 10,
|
|
953
|
-
integer: !0
|
|
954
|
-
}
|
|
955
|
-
},
|
|
956
|
-
colors: {
|
|
957
|
-
type: "color",
|
|
958
|
-
label: "Pilih Warna",
|
|
959
|
-
required: !0
|
|
960
|
-
}
|
|
961
|
-
}
|
|
962
|
-
}
|
|
963
|
-
},
|
|
964
|
-
endPoints: {
|
|
965
|
-
create: "/api/admin/tool/color/create",
|
|
966
|
-
update: "/api/admin/tool/color/update",
|
|
967
|
-
delete: "/api/admin/tool/color/delete/:id",
|
|
968
|
-
deleteMany: "/api/admin/tool/color/delete"
|
|
969
|
-
}
|
|
970
|
-
}, V = {
|
|
971
|
-
keys: {
|
|
972
|
-
idKey: "id",
|
|
973
|
-
idsKey: "ids"
|
|
974
|
-
},
|
|
975
|
-
base: {
|
|
976
|
-
source: {
|
|
977
|
-
DB_NAME: "subTool",
|
|
978
|
-
connect: [
|
|
979
|
-
{
|
|
980
|
-
key: "toolsId",
|
|
981
|
-
DB_NAME: "tools",
|
|
982
|
-
connectKey: "id"
|
|
983
|
-
},
|
|
984
|
-
{
|
|
985
|
-
key: "modelId",
|
|
986
|
-
DB_NAME: "model",
|
|
987
|
-
connectKey: "id"
|
|
988
|
-
},
|
|
989
|
-
{
|
|
990
|
-
key: "typeId",
|
|
991
|
-
DB_NAME: "type",
|
|
992
|
-
connectKey: "id"
|
|
993
|
-
}
|
|
994
|
-
]
|
|
995
|
-
},
|
|
996
|
-
dataTabelDisplay: {
|
|
997
|
-
Nama: "name",
|
|
998
|
-
Harga: "price",
|
|
999
|
-
Deskripsi: "description",
|
|
1000
|
-
"🔗 Produk": "tools.name",
|
|
1001
|
-
"🔗 Model": "model.name",
|
|
1002
|
-
"🔗 Kategori": "type.name",
|
|
1003
|
-
"Gambar Sub Produk": "images.image"
|
|
1004
|
-
},
|
|
1005
|
-
lang: "id",
|
|
1006
|
-
schema: {
|
|
1007
|
-
global: {
|
|
1008
|
-
name: { type: "text", label: "Nama", required: !0 },
|
|
1009
|
-
price: {
|
|
1010
|
-
type: "number",
|
|
1011
|
-
label: "Harga",
|
|
1012
|
-
required: !0
|
|
1013
|
-
},
|
|
1014
|
-
description: { type: "textArea", label: "Deskripsi", required: !1 },
|
|
1015
|
-
optionGroupSchema: {
|
|
1016
|
-
label: "Pilihan Sub Produk Untuk ?",
|
|
1017
|
-
typeDesign: "cekbox",
|
|
1018
|
-
type: "optionGroupSchema",
|
|
1019
|
-
required: !0,
|
|
1020
|
-
options: {
|
|
1021
|
-
"Tautkan dengan Kategori": {
|
|
1022
|
-
typeName: {
|
|
1023
|
-
type: "select",
|
|
1024
|
-
label: "Sub Produk untuk Kategory",
|
|
1025
|
-
DB_NAME: "type",
|
|
1026
|
-
baseKey: {
|
|
1027
|
-
base: "typeId",
|
|
1028
|
-
name: "name"
|
|
1029
|
-
},
|
|
1030
|
-
options: {
|
|
1031
|
-
DB_NAME: "type",
|
|
1032
|
-
valueKey: "name"
|
|
1033
|
-
},
|
|
1034
|
-
required: !0
|
|
1035
|
-
}
|
|
1036
|
-
},
|
|
1037
|
-
"Tautkan dengan Model": {
|
|
1038
|
-
modelName: {
|
|
1039
|
-
type: "select",
|
|
1040
|
-
label: "Sub Produk untuk Model",
|
|
1041
|
-
DB_NAME: "model",
|
|
1042
|
-
baseKey: {
|
|
1043
|
-
base: "modelId",
|
|
1044
|
-
name: "name"
|
|
1045
|
-
},
|
|
1046
|
-
options: {
|
|
1047
|
-
DB_NAME: "model",
|
|
1048
|
-
valueKey: "name"
|
|
1049
|
-
},
|
|
1050
|
-
required: !0
|
|
1051
|
-
}
|
|
1052
|
-
},
|
|
1053
|
-
"Tautkan dengan Produk": {
|
|
1054
|
-
toolName: {
|
|
1055
|
-
type: "select",
|
|
1056
|
-
label: "Sub Produk untuk Produk",
|
|
1057
|
-
DB_NAME: "tools",
|
|
1058
|
-
baseKey: {
|
|
1059
|
-
base: "toolsId",
|
|
1060
|
-
name: "name"
|
|
1061
|
-
},
|
|
1062
|
-
options: {
|
|
1063
|
-
DB_NAME: "tools",
|
|
1064
|
-
valueKey: "name"
|
|
1065
|
-
},
|
|
1066
|
-
required: !0
|
|
1067
|
-
}
|
|
1068
|
-
}
|
|
1069
|
-
}
|
|
1070
|
-
},
|
|
1071
|
-
images: {
|
|
1072
|
-
type: "arrayObject",
|
|
1073
|
-
label: "List Sub Gambar",
|
|
1074
|
-
endPoint: {
|
|
1075
|
-
deleteMany: "/api/admin/tool/sub/sti/delete"
|
|
1076
|
-
},
|
|
1077
|
-
required: !0,
|
|
1078
|
-
schema: {
|
|
1079
|
-
name: { type: "text", label: "Nama Gambar", required: !0 },
|
|
1080
|
-
optionGroupSchema: {
|
|
1081
|
-
label: "Pilihan Type Warna",
|
|
1082
|
-
typeDesign: "select",
|
|
1083
|
-
type: "optionGroupSchema",
|
|
1084
|
-
required: !0,
|
|
1085
|
-
options: {
|
|
1086
|
-
"Tautkan Dengan Grup Warna": {
|
|
1087
|
-
colorToolsId: {
|
|
1088
|
-
type: "select",
|
|
1089
|
-
label: "Pilih Grup Warna",
|
|
1090
|
-
options: {
|
|
1091
|
-
DB_NAME: "color",
|
|
1092
|
-
valueKey: "id",
|
|
1093
|
-
viewKey: "name"
|
|
1094
|
-
},
|
|
1095
|
-
withCreate: {
|
|
1096
|
-
DB_NAME: "color",
|
|
1097
|
-
endPoint: "/api/admin/tool/color/create",
|
|
1098
|
-
schema: {
|
|
1099
|
-
name: {
|
|
1100
|
-
type: "text",
|
|
1101
|
-
label: "Nama Grup Warna",
|
|
1102
|
-
validate: { duplicate: !0 },
|
|
1103
|
-
required: !0
|
|
1104
|
-
},
|
|
1105
|
-
options: {
|
|
1106
|
-
type: "number",
|
|
1107
|
-
label: "Opsi memilih warna",
|
|
1108
|
-
required: !0
|
|
1109
|
-
},
|
|
1110
|
-
colors: {
|
|
1111
|
-
type: "color",
|
|
1112
|
-
label: "Pilih Warna",
|
|
1113
|
-
required: !0
|
|
1114
|
-
}
|
|
1115
|
-
}
|
|
1116
|
-
},
|
|
1117
|
-
optionsIsNumber: !0,
|
|
1118
|
-
required: !0
|
|
1119
|
-
}
|
|
1120
|
-
},
|
|
1121
|
-
"Warna Tetap": {
|
|
1122
|
-
colors: {
|
|
1123
|
-
type: "color",
|
|
1124
|
-
label: "Pilih Warna",
|
|
1125
|
-
required: !0
|
|
1126
|
-
}
|
|
1127
|
-
}
|
|
1128
|
-
}
|
|
1129
|
-
},
|
|
1130
|
-
image: {
|
|
1131
|
-
type: "image",
|
|
1132
|
-
label: "Gambar Sub Produk",
|
|
1133
|
-
validate: {
|
|
1134
|
-
maxSize: 1048,
|
|
1135
|
-
ratio: {
|
|
1136
|
-
Width: 1,
|
|
1137
|
-
Height: 1
|
|
1138
|
-
}
|
|
1139
|
-
},
|
|
1140
|
-
required: !0
|
|
1141
|
-
}
|
|
1142
|
-
}
|
|
1143
|
-
}
|
|
1144
|
-
}
|
|
1145
|
-
}
|
|
1146
|
-
},
|
|
1147
|
-
endPoints: {
|
|
1148
|
-
create: "/api/admin/tool/sub/create",
|
|
1149
|
-
update: "/api/admin/tool/sub/update",
|
|
1150
|
-
delete: "/api/admin/tool/sub/delete/:id",
|
|
1151
|
-
deleteMany: "/api/admin/tool/sub/delete"
|
|
1152
|
-
}
|
|
1153
|
-
}, Y = {
|
|
1154
|
-
keys: {
|
|
1155
|
-
idKey: "id",
|
|
1156
|
-
idsKey: "ids"
|
|
1157
|
-
},
|
|
1158
|
-
base: {
|
|
1159
|
-
source: {
|
|
1160
|
-
DB_NAME: "model",
|
|
1161
|
-
connect: [
|
|
1162
|
-
{
|
|
1163
|
-
key: "id",
|
|
1164
|
-
DB_NAME: "tools",
|
|
1165
|
-
connectKey: "modelId"
|
|
1166
|
-
},
|
|
1167
|
-
{
|
|
1168
|
-
key: "id",
|
|
1169
|
-
DB_NAME: "subTool",
|
|
1170
|
-
connectKey: "modelId"
|
|
1171
|
-
}
|
|
1172
|
-
]
|
|
1173
|
-
},
|
|
1174
|
-
dataTabelDisplay: {
|
|
1175
|
-
Nama: "name",
|
|
1176
|
-
"Terhubung Dengan Produk": "tools.name",
|
|
1177
|
-
"Sub Barang yang terhubung": "subTool.name"
|
|
1178
|
-
},
|
|
1179
|
-
lang: "id",
|
|
1180
|
-
schema: {
|
|
1181
|
-
global: {
|
|
1182
|
-
name: {
|
|
1183
|
-
type: "text",
|
|
1184
|
-
label: "Nama Kategori Produk",
|
|
1185
|
-
validate: {
|
|
1186
|
-
duplicate: !0
|
|
1187
|
-
},
|
|
1188
|
-
required: !0
|
|
1189
|
-
}
|
|
1190
|
-
}
|
|
1191
|
-
}
|
|
1192
|
-
},
|
|
1193
|
-
endPoints: {
|
|
1194
|
-
create: "/api/admin/model/create",
|
|
1195
|
-
update: "/api/admin/model/update",
|
|
1196
|
-
delete: "/api/admin/model/delete/:id",
|
|
1197
|
-
deleteMany: "/api/admin/model/delete"
|
|
1198
|
-
}
|
|
1199
|
-
}, X = {
|
|
1200
|
-
keys: {
|
|
1201
|
-
idKey: "id",
|
|
1202
|
-
idsKey: "ids"
|
|
1203
|
-
},
|
|
1204
|
-
base: {
|
|
1205
|
-
source: {
|
|
1206
|
-
DB_NAME: "news"
|
|
1207
|
-
},
|
|
1208
|
-
dataTabelDisplay: {
|
|
1209
|
-
Judul: "title",
|
|
1210
|
-
"Gambar Berita": { valueKey: "image", type: "image" },
|
|
1211
|
-
Berita: { valueKey: "news", type: "richtext" }
|
|
1212
|
-
},
|
|
1213
|
-
seoDisplay: "seoScore",
|
|
1214
|
-
lang: "id",
|
|
1215
|
-
schema: {
|
|
1216
|
-
SeoDisplay: {
|
|
1217
|
-
contentType: "article",
|
|
1218
|
-
scorePath: "seoScore",
|
|
1219
|
-
meta: {
|
|
1220
|
-
title: "seo.metaTitle",
|
|
1221
|
-
description: "seo.metaDescription",
|
|
1222
|
-
focusKeyword: "seo.metaFocusKeyword"
|
|
1223
|
-
},
|
|
1224
|
-
content: {
|
|
1225
|
-
image: "image",
|
|
1226
|
-
body: "news",
|
|
1227
|
-
tags: "seo.metaTags",
|
|
1228
|
-
author: "author"
|
|
1229
|
-
}
|
|
1230
|
-
},
|
|
1231
|
-
global: {
|
|
1232
|
-
title: {
|
|
1233
|
-
type: "text",
|
|
1234
|
-
label: "Judul Berita",
|
|
1235
|
-
placeholder: "Masukkan judul berita",
|
|
1236
|
-
validate: {
|
|
1237
|
-
duplicate: !0
|
|
1238
|
-
},
|
|
1239
|
-
required: !0
|
|
1240
|
-
},
|
|
1241
|
-
image: {
|
|
1242
|
-
type: "image",
|
|
1243
|
-
label: "Gambar Berita",
|
|
1244
|
-
validate: {
|
|
1245
|
-
maxSize: 2048,
|
|
1246
|
-
allowedTypes: ["jpeg", "png", "jpg"]
|
|
1247
|
-
},
|
|
1248
|
-
required: !0
|
|
1249
|
-
},
|
|
1250
|
-
news: {
|
|
1251
|
-
type: "quillEditor",
|
|
1252
|
-
label: "Berita",
|
|
1253
|
-
placeholder: "Masukkan isi berita",
|
|
1254
|
-
required: !0,
|
|
1255
|
-
apiUploadImage: "http://localhost:3000/admin/image/upload",
|
|
1256
|
-
apiUploadVideo: "http://localhost:3000/admin/image/upload",
|
|
1257
|
-
apiListImages: "http://localhost:3000/image",
|
|
1258
|
-
apiDeleteImage: "http://localhost:3000/image"
|
|
1259
|
-
},
|
|
1260
|
-
category: {
|
|
1261
|
-
type: "select",
|
|
1262
|
-
options: [
|
|
1263
|
-
"Berita",
|
|
1264
|
-
"Artikel",
|
|
1265
|
-
"Testimoni",
|
|
1266
|
-
"Penghargaan",
|
|
1267
|
-
"Pengumuman",
|
|
1268
|
-
"Karir",
|
|
1269
|
-
"CSR",
|
|
1270
|
-
"Siaran Pers",
|
|
1271
|
-
"Inspirasi",
|
|
1272
|
-
"Studi Kasus",
|
|
1273
|
-
"Porfolio",
|
|
1274
|
-
"Tips",
|
|
1275
|
-
"Prduk Baru",
|
|
1276
|
-
"Event",
|
|
1277
|
-
"Promo",
|
|
1278
|
-
"Lainnya"
|
|
1279
|
-
],
|
|
1280
|
-
label: "Kategori",
|
|
1281
|
-
placeholder: "Pilih kategori",
|
|
1282
|
-
required: !0
|
|
1283
|
-
},
|
|
1284
|
-
author: {
|
|
1285
|
-
type: "text",
|
|
1286
|
-
label: "Author",
|
|
1287
|
-
placeholder: "Masukkan nama author",
|
|
1288
|
-
value: "Admin",
|
|
1289
|
-
required: !1
|
|
1290
|
-
},
|
|
1291
|
-
seo: {
|
|
1292
|
-
type: "object",
|
|
1293
|
-
label: "SEO",
|
|
1294
|
-
schema: {
|
|
1295
|
-
optionsGroup: {
|
|
1296
|
-
type: "optionGroupSchema",
|
|
1297
|
-
label: "Konfigurasi SEO",
|
|
1298
|
-
typeDesign: "cekbox",
|
|
1299
|
-
options: {
|
|
1300
|
-
meta: {
|
|
1301
|
-
metaTitle: {
|
|
1302
|
-
type: "text",
|
|
1303
|
-
label: "Judul Halaman",
|
|
1304
|
-
placeholder: "Masukkan judul halaman"
|
|
1305
|
-
},
|
|
1306
|
-
metaDescription: {
|
|
1307
|
-
type: "textArea",
|
|
1308
|
-
label: "Deskripsi Singkat",
|
|
1309
|
-
placeholder: "Masukkan deskripsi singkat"
|
|
1310
|
-
},
|
|
1311
|
-
metaFocusKeyword: {
|
|
1312
|
-
type: "text",
|
|
1313
|
-
label: "Kata Kunci",
|
|
1314
|
-
placeholder: "Masukkan kata kunci",
|
|
1315
|
-
required: !1
|
|
1316
|
-
},
|
|
1317
|
-
metaTags: {
|
|
1318
|
-
type: "tag",
|
|
1319
|
-
label: "Tags",
|
|
1320
|
-
placeholder: "Masukkan tag",
|
|
1321
|
-
required: !1
|
|
1322
|
-
}
|
|
1323
|
-
},
|
|
1324
|
-
"Open Graph": {
|
|
1325
|
-
title: {
|
|
1326
|
-
type: "text",
|
|
1327
|
-
label: "Judul Halaman",
|
|
1328
|
-
placeholder: "Masukkan judul halaman",
|
|
1329
|
-
required: !1
|
|
1330
|
-
},
|
|
1331
|
-
description: {
|
|
1332
|
-
type: "textArea",
|
|
1333
|
-
label: "Deskripsi Singkat",
|
|
1334
|
-
placeholder: "Masukkan deskripsi singkat",
|
|
1335
|
-
required: !1
|
|
1336
|
-
},
|
|
1337
|
-
ogImage: {
|
|
1338
|
-
type: "image",
|
|
1339
|
-
label: "Gambar Halaman",
|
|
1340
|
-
required: !1
|
|
1341
|
-
}
|
|
1342
|
-
},
|
|
1343
|
-
twitter: {
|
|
1344
|
-
title: {
|
|
1345
|
-
type: "text",
|
|
1346
|
-
label: "Judul Halaman",
|
|
1347
|
-
placeholder: "Masukkan judul halaman",
|
|
1348
|
-
required: !1
|
|
1349
|
-
},
|
|
1350
|
-
description: {
|
|
1351
|
-
type: "textArea",
|
|
1352
|
-
label: "Deskripsi singkat",
|
|
1353
|
-
placeholder: "Masukkan deskripsi singkat",
|
|
1354
|
-
required: !1
|
|
1355
|
-
},
|
|
1356
|
-
twitterImage: {
|
|
1357
|
-
type: "image",
|
|
1358
|
-
label: "Gambar Halaman",
|
|
1359
|
-
required: !1
|
|
1360
|
-
}
|
|
1361
|
-
}
|
|
1362
|
-
}
|
|
1363
|
-
}
|
|
1364
|
-
}
|
|
1365
|
-
},
|
|
1366
|
-
source: {
|
|
1367
|
-
type: "arrayObject",
|
|
1368
|
-
label: "Daftar Referensi",
|
|
1369
|
-
schema: {
|
|
1370
|
-
category: {
|
|
1371
|
-
type: "select",
|
|
1372
|
-
label: "Jenis Sumber",
|
|
1373
|
-
placeholder: "Pilih jenis sumber",
|
|
1374
|
-
options: ["Buku", "Jurnal", "Berita/Artikel Web", "Lainnya"],
|
|
1375
|
-
required: !0
|
|
1376
|
-
},
|
|
1377
|
-
tittle: {
|
|
1378
|
-
type: "text",
|
|
1379
|
-
label: "Judul (Buku/Artikel/Jurnal)",
|
|
1380
|
-
placeholder: "Masukkan judul sumber",
|
|
1381
|
-
required: !0
|
|
1382
|
-
},
|
|
1383
|
-
author: {
|
|
1384
|
-
type: "text",
|
|
1385
|
-
label: "Penulis / Kontributor",
|
|
1386
|
-
placeholder: "Masukkan penulis/kontributor",
|
|
1387
|
-
required: !0
|
|
1388
|
-
},
|
|
1389
|
-
url: {
|
|
1390
|
-
type: "url",
|
|
1391
|
-
label: "Link (Kosongkan jika Buku Fisik)",
|
|
1392
|
-
placeholder: "Masukkan link sumber",
|
|
1393
|
-
required: !1
|
|
1394
|
-
},
|
|
1395
|
-
identifier: {
|
|
1396
|
-
type: "text",
|
|
1397
|
-
label: "Identitas Tambahan (ISBN/DOI/Penerbit)",
|
|
1398
|
-
placeholder: "Masukkan identitas tambahan",
|
|
1399
|
-
required: !1
|
|
1400
|
-
}
|
|
1401
|
-
}
|
|
1402
|
-
},
|
|
1403
|
-
orderCode: {
|
|
1404
|
-
type: "select",
|
|
1405
|
-
label: "Terhubung dengan Pesanan",
|
|
1406
|
-
options: {
|
|
1407
|
-
DB_NAME: "rate",
|
|
1408
|
-
valueKey: "orderCode"
|
|
1409
|
-
}
|
|
1410
|
-
},
|
|
1411
|
-
show: {
|
|
1412
|
-
type: "toggle",
|
|
1413
|
-
label: "Tampilkan Berita",
|
|
1414
|
-
value: !0
|
|
1415
|
-
}
|
|
1416
|
-
}
|
|
1417
|
-
}
|
|
1418
|
-
},
|
|
1419
|
-
endPoints: {
|
|
1420
|
-
create: "http://localhost:3000/admin/news/create",
|
|
1421
|
-
update: "http://localhost:3000/admin/news/update",
|
|
1422
|
-
delete: "http://localhost:3000/admin/news/delete/:id",
|
|
1423
|
-
deleteMany: "http://localhost:3000/admin/news/delete"
|
|
1424
|
-
}
|
|
1425
|
-
}, Q = {
|
|
1426
|
-
keys: {
|
|
1427
|
-
idKey: "id",
|
|
1428
|
-
idsKey: "ids"
|
|
1429
|
-
},
|
|
1430
|
-
base: {
|
|
1431
|
-
source: {
|
|
1432
|
-
DB_NAME: "promo"
|
|
1433
|
-
},
|
|
1434
|
-
dataTabelDisplay: {
|
|
1435
|
-
Judul: "title",
|
|
1436
|
-
"Gambar Promo": "image",
|
|
1437
|
-
Deskripsi: "description",
|
|
1438
|
-
Mulai: "promoStartDate",
|
|
1439
|
-
Selesai: "promoEndDate",
|
|
1440
|
-
"Tipe Promo": "type"
|
|
1441
|
-
},
|
|
1442
|
-
lang: "id",
|
|
1443
|
-
schema: {
|
|
1444
|
-
global: {
|
|
1445
|
-
title: {
|
|
1446
|
-
type: "text",
|
|
1447
|
-
label: "Judul Promo",
|
|
1448
|
-
validate: {
|
|
1449
|
-
duplicate: !0,
|
|
1450
|
-
maxLength: 50
|
|
1451
|
-
},
|
|
1452
|
-
required: !0
|
|
1453
|
-
},
|
|
1454
|
-
image: {
|
|
1455
|
-
type: "image",
|
|
1456
|
-
label: "Gambar Promo",
|
|
1457
|
-
required: !0,
|
|
1458
|
-
validate: {
|
|
1459
|
-
maxSize: 2048,
|
|
1460
|
-
allowedTypes: ["jpeg", "png", "jpg"],
|
|
1461
|
-
ratio: {
|
|
1462
|
-
Width: 13,
|
|
1463
|
-
Height: 6
|
|
1464
|
-
}
|
|
1465
|
-
}
|
|
1466
|
-
},
|
|
1467
|
-
description: {
|
|
1468
|
-
type: "textArea",
|
|
1469
|
-
label: "Deskripsi Promo",
|
|
1470
|
-
required: !0,
|
|
1471
|
-
validate: {
|
|
1472
|
-
maxLength: 300
|
|
1473
|
-
}
|
|
1474
|
-
},
|
|
1475
|
-
keywords: {
|
|
1476
|
-
type: "tag",
|
|
1477
|
-
label: "Kata Kunci Promo",
|
|
1478
|
-
required: !1
|
|
1479
|
-
},
|
|
1480
|
-
tags: {
|
|
1481
|
-
type: "tag",
|
|
1482
|
-
label: "Tags Promo",
|
|
1483
|
-
required: !1
|
|
1484
|
-
},
|
|
1485
|
-
couponCode: {
|
|
1486
|
-
type: "text",
|
|
1487
|
-
label: "Kode Coupon",
|
|
1488
|
-
required: !1
|
|
1489
|
-
},
|
|
1490
|
-
type: {
|
|
1491
|
-
type: "optionGroupSchema",
|
|
1492
|
-
label: "Tipe Promo",
|
|
1493
|
-
typeDesign: "select",
|
|
1494
|
-
required: !0,
|
|
1495
|
-
withValue: !0,
|
|
1496
|
-
optionsLabels: {
|
|
1497
|
-
DISCOUNT: "Diskon",
|
|
1498
|
-
DAY_RENT: "Promo Sewa Harian",
|
|
1499
|
-
FREE_SHIPPING: "Ongkir Gratis"
|
|
1500
|
-
},
|
|
1501
|
-
options: {
|
|
1502
|
-
DISCOUNT: {
|
|
1503
|
-
details: {
|
|
1504
|
-
type: "object",
|
|
1505
|
-
label: "Detail",
|
|
1506
|
-
schema: {
|
|
1507
|
-
discountModel: {
|
|
1508
|
-
type: "optionGroupSchema",
|
|
1509
|
-
label: "Tipe Diskon",
|
|
1510
|
-
typeDesign: "select",
|
|
1511
|
-
required: !0,
|
|
1512
|
-
withValue: !0,
|
|
1513
|
-
optionsLabels: {
|
|
1514
|
-
RateDiscount: "Diskon Persen",
|
|
1515
|
-
NominalDiscount: "Diskon Nominal"
|
|
1516
|
-
},
|
|
1517
|
-
options: {
|
|
1518
|
-
RateDiscount: {
|
|
1519
|
-
discount: {
|
|
1520
|
-
type: "number",
|
|
1521
|
-
label: "Diskon (%)",
|
|
1522
|
-
required: !0
|
|
1523
|
-
},
|
|
1524
|
-
minPrice: {
|
|
1525
|
-
type: "number",
|
|
1526
|
-
label: "Minimal Total Harga",
|
|
1527
|
-
required: !0
|
|
1528
|
-
},
|
|
1529
|
-
maximumDiscount: {
|
|
1530
|
-
type: "number",
|
|
1531
|
-
label: "Maksimal Diskon (Rp)",
|
|
1532
|
-
required: !1
|
|
1533
|
-
}
|
|
1534
|
-
},
|
|
1535
|
-
NominalDiscount: {
|
|
1536
|
-
discount: {
|
|
1537
|
-
type: "number",
|
|
1538
|
-
label: "Diskon (Rp)",
|
|
1539
|
-
required: !0
|
|
1540
|
-
},
|
|
1541
|
-
minPrice: {
|
|
1542
|
-
type: "number",
|
|
1543
|
-
label: "Minimal Total Harga",
|
|
1544
|
-
required: !0
|
|
1545
|
-
}
|
|
1546
|
-
}
|
|
1547
|
-
}
|
|
1548
|
-
}
|
|
1549
|
-
}
|
|
1550
|
-
}
|
|
1551
|
-
},
|
|
1552
|
-
DAY_RENT: {
|
|
1553
|
-
details: {
|
|
1554
|
-
type: "object",
|
|
1555
|
-
label: "Detail",
|
|
1556
|
-
schema: {
|
|
1557
|
-
discountModel: {
|
|
1558
|
-
type: "optionGroupSchema",
|
|
1559
|
-
label: "Tipe Diskon",
|
|
1560
|
-
typeDesign: "select",
|
|
1561
|
-
withValue: !0,
|
|
1562
|
-
required: !0,
|
|
1563
|
-
optionsLabels: {
|
|
1564
|
-
RateDiscount: "Diskon Persen",
|
|
1565
|
-
NominalDiscount: "Diskon Nominal"
|
|
1566
|
-
},
|
|
1567
|
-
options: {
|
|
1568
|
-
RateDiscount: {
|
|
1569
|
-
discount: {
|
|
1570
|
-
type: "number",
|
|
1571
|
-
label: "Diskon (%)",
|
|
1572
|
-
required: !0
|
|
1573
|
-
},
|
|
1574
|
-
minPrice: {
|
|
1575
|
-
type: "number",
|
|
1576
|
-
label: "Minimal Total Harga",
|
|
1577
|
-
required: !0
|
|
1578
|
-
},
|
|
1579
|
-
maximumDiscount: {
|
|
1580
|
-
type: "number",
|
|
1581
|
-
label: "Maksimal Diskon (Rp)",
|
|
1582
|
-
required: !1
|
|
1583
|
-
},
|
|
1584
|
-
minDay: {
|
|
1585
|
-
type: "number",
|
|
1586
|
-
label: "Minimal Hari Sewa",
|
|
1587
|
-
required: !0
|
|
1588
|
-
}
|
|
1589
|
-
},
|
|
1590
|
-
NominalDiscount: {
|
|
1591
|
-
discount: {
|
|
1592
|
-
type: "number",
|
|
1593
|
-
label: "Diskon (Rp)",
|
|
1594
|
-
required: !0
|
|
1595
|
-
},
|
|
1596
|
-
minPrice: {
|
|
1597
|
-
type: "number",
|
|
1598
|
-
label: "Minimal Total Harga",
|
|
1599
|
-
required: !0
|
|
1600
|
-
},
|
|
1601
|
-
minDay: {
|
|
1602
|
-
type: "number",
|
|
1603
|
-
label: "Minimal Hari Sewa",
|
|
1604
|
-
required: !0
|
|
1605
|
-
}
|
|
1606
|
-
}
|
|
1607
|
-
}
|
|
1608
|
-
}
|
|
1609
|
-
}
|
|
1610
|
-
}
|
|
1611
|
-
},
|
|
1612
|
-
FREE_SHIPPING: {
|
|
1613
|
-
details: {
|
|
1614
|
-
type: "object",
|
|
1615
|
-
label: "Detail",
|
|
1616
|
-
schema: {
|
|
1617
|
-
discountModel: {
|
|
1618
|
-
type: "optionGroupSchema",
|
|
1619
|
-
label: "Tipe Diskon",
|
|
1620
|
-
typeDesign: "select",
|
|
1621
|
-
required: !0,
|
|
1622
|
-
withValue: !0,
|
|
1623
|
-
optionsLabels: {
|
|
1624
|
-
RateDiscount: "Diskon Persen",
|
|
1625
|
-
NominalDiscount: "Diskon Nominal"
|
|
1626
|
-
},
|
|
1627
|
-
options: {
|
|
1628
|
-
RateDiscount: {
|
|
1629
|
-
discount: {
|
|
1630
|
-
type: "number",
|
|
1631
|
-
label: "Diskon (%)",
|
|
1632
|
-
required: !0
|
|
1633
|
-
},
|
|
1634
|
-
minPrice: {
|
|
1635
|
-
type: "number",
|
|
1636
|
-
label: "Minimal Total Harga",
|
|
1637
|
-
required: !0
|
|
1638
|
-
},
|
|
1639
|
-
maximumDiscount: {
|
|
1640
|
-
type: "number",
|
|
1641
|
-
label: "Maksimal Diskon (Rp)",
|
|
1642
|
-
required: !1
|
|
1643
|
-
},
|
|
1644
|
-
maxDistance: {
|
|
1645
|
-
type: "number",
|
|
1646
|
-
label: "Maksimal Jarak (Km)",
|
|
1647
|
-
required: !0
|
|
1648
|
-
}
|
|
1649
|
-
},
|
|
1650
|
-
NominalDiscount: {
|
|
1651
|
-
discount: {
|
|
1652
|
-
type: "number",
|
|
1653
|
-
label: "Diskon (Rp)",
|
|
1654
|
-
required: !0
|
|
1655
|
-
},
|
|
1656
|
-
minPrice: {
|
|
1657
|
-
type: "number",
|
|
1658
|
-
label: "Minimal Total Harga",
|
|
1659
|
-
required: !0
|
|
1660
|
-
},
|
|
1661
|
-
maxDistance: {
|
|
1662
|
-
type: "number",
|
|
1663
|
-
label: "Maksimal Jarak (Km)",
|
|
1664
|
-
required: !0
|
|
1665
|
-
}
|
|
1666
|
-
}
|
|
1667
|
-
}
|
|
1668
|
-
}
|
|
1669
|
-
}
|
|
1670
|
-
}
|
|
1671
|
-
}
|
|
1672
|
-
}
|
|
1673
|
-
},
|
|
1674
|
-
promoStartDate: {
|
|
1675
|
-
type: "dateTime",
|
|
1676
|
-
label: "Tanggal Mulai Promo",
|
|
1677
|
-
required: !1,
|
|
1678
|
-
outputFormat: "utc"
|
|
1679
|
-
},
|
|
1680
|
-
promoEndDate: {
|
|
1681
|
-
type: "dateTime",
|
|
1682
|
-
label: "Tanggal Selesai Promo",
|
|
1683
|
-
required: !1,
|
|
1684
|
-
outputFormat: "utc"
|
|
1685
|
-
}
|
|
1686
|
-
}
|
|
1687
|
-
}
|
|
1688
|
-
},
|
|
1689
|
-
endPoints: {
|
|
1690
|
-
create: "/api/admin/promo/create",
|
|
1691
|
-
update: "/api/admin/promo/update",
|
|
1692
|
-
delete: "/api/admin/promo/delete/:id",
|
|
1693
|
-
deleteMany: "/api/admin/promo/delete"
|
|
1694
|
-
}
|
|
1695
|
-
}, Z = {
|
|
1696
|
-
keys: {
|
|
1697
|
-
idKey: "id",
|
|
1698
|
-
idsKey: "ids"
|
|
1699
|
-
},
|
|
1700
|
-
base: {
|
|
1701
|
-
source: {
|
|
1702
|
-
DB_NAME: "QandA"
|
|
1703
|
-
},
|
|
1704
|
-
dataTabelDisplay: {
|
|
1705
|
-
judul: "title",
|
|
1706
|
-
Pertanyaan: "question",
|
|
1707
|
-
Jawaban: "answer"
|
|
1708
|
-
},
|
|
1709
|
-
lang: "id",
|
|
1710
|
-
schema: {
|
|
1711
|
-
global: {
|
|
1712
|
-
category: {
|
|
1713
|
-
type: "text",
|
|
1714
|
-
label: "Kategori",
|
|
1715
|
-
required: !0
|
|
1716
|
-
},
|
|
1717
|
-
question: {
|
|
1718
|
-
type: "textArea",
|
|
1719
|
-
label: "Pertanyaan",
|
|
1720
|
-
required: !0
|
|
1721
|
-
},
|
|
1722
|
-
answer: {
|
|
1723
|
-
type: "textArea",
|
|
1724
|
-
label: "Jawaban",
|
|
1725
|
-
required: !0
|
|
1726
|
-
}
|
|
1727
|
-
}
|
|
1728
|
-
}
|
|
1729
|
-
},
|
|
1730
|
-
endPoints: {
|
|
1731
|
-
create: "/api/admin/qanda/create",
|
|
1732
|
-
update: "/api/admin/qanda/update",
|
|
1733
|
-
delete: "/api/admin/qanda/delete/:id",
|
|
1734
|
-
deleteMany: "/api/admin/qanda/delete"
|
|
1735
|
-
}
|
|
1736
|
-
}, ee = {
|
|
1737
|
-
feature: {
|
|
1738
|
-
createActive: !1,
|
|
1739
|
-
deleteActive: !1,
|
|
1740
|
-
updateActive: !0,
|
|
1741
|
-
displayActive: !0,
|
|
1742
|
-
searchQueryActive: !0
|
|
1743
|
-
},
|
|
1744
|
-
keys: {
|
|
1745
|
-
idKey: "id",
|
|
1746
|
-
idsKey: "ids"
|
|
1747
|
-
},
|
|
1748
|
-
base: {
|
|
1749
|
-
source: {
|
|
1750
|
-
DB_NAME: "page"
|
|
1751
|
-
},
|
|
1752
|
-
dataTabelDisplay: {
|
|
1753
|
-
Nama: "name",
|
|
1754
|
-
"Gambar Hero Halaman": "image",
|
|
1755
|
-
"Slug Halaman": "slug",
|
|
1756
|
-
Deskripsi: "description"
|
|
1757
|
-
},
|
|
1758
|
-
lang: "id",
|
|
1759
|
-
schema: {
|
|
1760
|
-
global: {
|
|
1761
|
-
name: {
|
|
1762
|
-
type: "text",
|
|
1763
|
-
label: "Nama Halaman",
|
|
1764
|
-
placeholder: "Masukkan nama halaman",
|
|
1765
|
-
validate: {
|
|
1766
|
-
duplicate: !0
|
|
1767
|
-
},
|
|
1768
|
-
required: !0
|
|
1769
|
-
},
|
|
1770
|
-
image: {
|
|
1771
|
-
type: "image",
|
|
1772
|
-
label: "Gambar Halaman",
|
|
1773
|
-
required: !0
|
|
1774
|
-
},
|
|
1775
|
-
slug: {
|
|
1776
|
-
type: "text",
|
|
1777
|
-
label: "Slug (URL)",
|
|
1778
|
-
placeholder: "contoh: /beranda",
|
|
1779
|
-
validate: {
|
|
1780
|
-
duplicate: !0
|
|
1781
|
-
},
|
|
1782
|
-
required: !0
|
|
1783
|
-
},
|
|
1784
|
-
description: {
|
|
1785
|
-
type: "textArea",
|
|
1786
|
-
label: "Deskripsi Singkat",
|
|
1787
|
-
placeholder: "Masukkan deskripsi singkat halaman",
|
|
1788
|
-
required: !0
|
|
1789
|
-
},
|
|
1790
|
-
active: {
|
|
1791
|
-
type: "toggle",
|
|
1792
|
-
label: "Tampilkan di Website",
|
|
1793
|
-
value: !0
|
|
1794
|
-
}
|
|
1795
|
-
}
|
|
1796
|
-
}
|
|
1797
|
-
},
|
|
1798
|
-
endPoints: {
|
|
1799
|
-
update: "/api/admin/page/update"
|
|
1800
|
-
}
|
|
1801
|
-
}, ae = {
|
|
1802
|
-
keys: {
|
|
1803
|
-
idKey: "id",
|
|
1804
|
-
idsKey: "ids"
|
|
1805
|
-
},
|
|
1806
|
-
base: {
|
|
1807
|
-
source: {
|
|
1808
|
-
DB_NAME: "orders"
|
|
1809
|
-
},
|
|
1810
|
-
dataTabelDisplay: {
|
|
1811
|
-
"Nama Pelanggan": "customer",
|
|
1812
|
-
Status: "status",
|
|
1813
|
-
Acara: "eventDate",
|
|
1814
|
-
"Acara Selesai": "eventEnds",
|
|
1815
|
-
Total: { valueKey: "totalPrice", type: "currency" }
|
|
1816
|
-
},
|
|
1817
|
-
lang: "id",
|
|
1818
|
-
schema: {
|
|
1819
|
-
global: {
|
|
1820
|
-
customer: {
|
|
1821
|
-
type: "text",
|
|
1822
|
-
label: "Nama Pelanggan",
|
|
1823
|
-
required: !0
|
|
1824
|
-
},
|
|
1825
|
-
address: {
|
|
1826
|
-
type: "textArea",
|
|
1827
|
-
label: "Alamat",
|
|
1828
|
-
required: !0
|
|
1829
|
-
},
|
|
1830
|
-
phone: {
|
|
1831
|
-
type: "tel",
|
|
1832
|
-
label: "Nomor Telepon",
|
|
1833
|
-
required: !0
|
|
1834
|
-
},
|
|
1835
|
-
promoShippingCode: {
|
|
1836
|
-
type: "text",
|
|
1837
|
-
label: "Kode Promo",
|
|
1838
|
-
required: !1
|
|
1839
|
-
},
|
|
1840
|
-
promoDiscountCode: {
|
|
1841
|
-
type: "text",
|
|
1842
|
-
label: "Kode Diskon",
|
|
1843
|
-
required: !1
|
|
1844
|
-
},
|
|
1845
|
-
email: {
|
|
1846
|
-
type: "email",
|
|
1847
|
-
label: "Email"
|
|
1848
|
-
},
|
|
1849
|
-
orderTools: {
|
|
1850
|
-
type: "arrayObject",
|
|
1851
|
-
label: "Daftar Pesanan",
|
|
1852
|
-
schema: {
|
|
1853
|
-
toolId: {
|
|
1854
|
-
type: "select",
|
|
1855
|
-
label: "Nama Produk",
|
|
1856
|
-
DB_NAME: "tools",
|
|
1857
|
-
baseKey: {
|
|
1858
|
-
base: "toolId",
|
|
1859
|
-
name: "name"
|
|
1860
|
-
},
|
|
1861
|
-
options: {
|
|
1862
|
-
DB_NAME: "tools",
|
|
1863
|
-
valueKey: "name"
|
|
1864
|
-
},
|
|
1865
|
-
required: !0
|
|
1866
|
-
},
|
|
1867
|
-
quantity: {
|
|
1868
|
-
type: "number",
|
|
1869
|
-
label: "Jumlah",
|
|
1870
|
-
required: !0
|
|
1871
|
-
},
|
|
1872
|
-
accessories: {
|
|
1873
|
-
type: "arrayObject",
|
|
1874
|
-
label: "Aksesoris",
|
|
1875
|
-
schema: {
|
|
1876
|
-
subToolId: {
|
|
1877
|
-
type: "select",
|
|
1878
|
-
label: "Nama Aksesoris",
|
|
1879
|
-
DB_NAME: "subtool",
|
|
1880
|
-
baseKey: {
|
|
1881
|
-
base: "subToolId",
|
|
1882
|
-
name: "name"
|
|
1883
|
-
},
|
|
1884
|
-
options: {
|
|
1885
|
-
DB_NAME: "subtool",
|
|
1886
|
-
valueKey: "name"
|
|
1887
|
-
},
|
|
1888
|
-
required: !0
|
|
1889
|
-
},
|
|
1890
|
-
quantity: {
|
|
1891
|
-
type: "number",
|
|
1892
|
-
label: "Jumlah",
|
|
1893
|
-
required: !0
|
|
1894
|
-
}
|
|
1895
|
-
}
|
|
1896
|
-
}
|
|
1897
|
-
}
|
|
1898
|
-
},
|
|
1899
|
-
distance: {
|
|
1900
|
-
type: "number",
|
|
1901
|
-
label: "Jarak (Km)",
|
|
1902
|
-
required: !1
|
|
1903
|
-
},
|
|
1904
|
-
image: {
|
|
1905
|
-
type: "image",
|
|
1906
|
-
label: "Gambar Jarak",
|
|
1907
|
-
required: !1
|
|
1908
|
-
},
|
|
1909
|
-
status: {
|
|
1910
|
-
type: "select",
|
|
1911
|
-
options: [
|
|
1912
|
-
"pending",
|
|
1913
|
-
"checkStok",
|
|
1914
|
-
"survey",
|
|
1915
|
-
"waitingDpPayment",
|
|
1916
|
-
"dpPaid",
|
|
1917
|
-
"installing",
|
|
1918
|
-
"eventOngoing",
|
|
1919
|
-
"eventEnds",
|
|
1920
|
-
"unloading",
|
|
1921
|
-
"waitingRepayment",
|
|
1922
|
-
"completed",
|
|
1923
|
-
"canceled",
|
|
1924
|
-
"failedPayment"
|
|
1925
|
-
],
|
|
1926
|
-
optionsView: [
|
|
1927
|
-
"Pending",
|
|
1928
|
-
"Check Stok",
|
|
1929
|
-
"Survey",
|
|
1930
|
-
"Waiting DP Payment",
|
|
1931
|
-
"DP Paid",
|
|
1932
|
-
"Installing",
|
|
1933
|
-
"Event Ongoing",
|
|
1934
|
-
"Event Ends",
|
|
1935
|
-
"Unloading",
|
|
1936
|
-
"Waiting Repayment",
|
|
1937
|
-
"Completed",
|
|
1938
|
-
"Canceled",
|
|
1939
|
-
"Failed Payment"
|
|
1940
|
-
],
|
|
1941
|
-
label: "Status",
|
|
1942
|
-
required: !0
|
|
1943
|
-
},
|
|
1944
|
-
eventDate: {
|
|
1945
|
-
type: "dateTime",
|
|
1946
|
-
label: "Tanggal Acara",
|
|
1947
|
-
required: !0
|
|
1948
|
-
},
|
|
1949
|
-
eventEnds: {
|
|
1950
|
-
type: "dateTime",
|
|
1951
|
-
label: "Tanggal Selesai",
|
|
1952
|
-
required: !0
|
|
1953
|
-
}
|
|
1954
|
-
}
|
|
1955
|
-
}
|
|
1956
|
-
},
|
|
1957
|
-
endPoints: {
|
|
1958
|
-
create: "/api/admin/order/create",
|
|
1959
|
-
update: "/api/admin/order/update",
|
|
1960
|
-
delete: "/api/admin/order/delete/:id",
|
|
1961
|
-
deleteMany: "/api/admin/order/delete"
|
|
1962
|
-
}
|
|
1963
|
-
}, te = {
|
|
1964
|
-
keys: {
|
|
1965
|
-
idKey: "id",
|
|
1966
|
-
idsKey: "ids"
|
|
1967
|
-
},
|
|
1968
|
-
base: {
|
|
1969
|
-
source: {
|
|
1970
|
-
fetchApi: {
|
|
1971
|
-
get: "/api/admin/order/income",
|
|
1972
|
-
getAll: "/api/admin/order/income"
|
|
1973
|
-
// autoRefresh: {
|
|
1974
|
-
// time: 60000
|
|
1975
|
-
// }
|
|
1976
|
-
}
|
|
1977
|
-
},
|
|
1978
|
-
lang: "id",
|
|
1979
|
-
dataTabelDisplay: {
|
|
1980
|
-
"Kode Pesanan": "order.orderCode",
|
|
1981
|
-
nominal: "pay",
|
|
1982
|
-
"Status Pembayaran": "status",
|
|
1983
|
-
"di Bayar": "createdAt",
|
|
1984
|
-
"di Acc": "updatedAt"
|
|
1985
|
-
},
|
|
1986
|
-
schema: {
|
|
1987
|
-
global: {
|
|
1988
|
-
orderId: {
|
|
1989
|
-
type: "select",
|
|
1990
|
-
label: "Kode Pesanan",
|
|
1991
|
-
required: !0,
|
|
1992
|
-
baseKey: {
|
|
1993
|
-
base: "orderId",
|
|
1994
|
-
name: "orderCode"
|
|
1995
|
-
},
|
|
1996
|
-
options: {
|
|
1997
|
-
DB_NAME: "orders",
|
|
1998
|
-
valueKey: "id",
|
|
1999
|
-
viewKey: "orderCode"
|
|
2000
|
-
},
|
|
2001
|
-
optionsIsNumber: !0
|
|
2002
|
-
},
|
|
2003
|
-
pay: {
|
|
2004
|
-
label: "Nominal",
|
|
2005
|
-
type: "number",
|
|
2006
|
-
required: !0
|
|
2007
|
-
},
|
|
2008
|
-
source: {
|
|
2009
|
-
label: "Sumber Pendapatan",
|
|
2010
|
-
type: "text"
|
|
2011
|
-
},
|
|
2012
|
-
image: {
|
|
2013
|
-
type: "image",
|
|
2014
|
-
label: "Bukti Pembayaran",
|
|
2015
|
-
required: !0
|
|
2016
|
-
},
|
|
2017
|
-
note: {
|
|
2018
|
-
type: "textArea",
|
|
2019
|
-
label: "Catatan"
|
|
2020
|
-
},
|
|
2021
|
-
status: {
|
|
2022
|
-
type: "select",
|
|
2023
|
-
options: ["pending", "paid", "failed", "canceled"],
|
|
2024
|
-
value: "paid",
|
|
2025
|
-
required: !0
|
|
2026
|
-
}
|
|
2027
|
-
}
|
|
2028
|
-
}
|
|
2029
|
-
},
|
|
2030
|
-
customActions: [
|
|
2031
|
-
{
|
|
2032
|
-
key: "acceptPayment",
|
|
2033
|
-
label: "Acc Pembayaran",
|
|
2034
|
-
icon: '<span class="i-mdi:check-circle-outline inline-block align-middle text-md"/>',
|
|
2035
|
-
class: "bg-green-500 text-white text-md"
|
|
2036
|
-
}
|
|
2037
|
-
],
|
|
2038
|
-
endPoints: {
|
|
2039
|
-
create: "/api/admin/order/payment/create",
|
|
2040
|
-
update: "/api/admin/order/payment/update"
|
|
2041
|
-
}
|
|
2042
|
-
}, re = async (a) => {
|
|
2043
|
-
switch (a.key) {
|
|
2044
|
-
case "acceptPayment":
|
|
2045
|
-
try {
|
|
2046
|
-
if (a.item["Status Pembayaran"] === "paid")
|
|
2047
|
-
return {
|
|
2048
|
-
mode: "error",
|
|
2049
|
-
message: "Pembayaran Sudah Di ACC"
|
|
2050
|
-
};
|
|
2051
|
-
const e = {
|
|
2052
|
-
id: a.item.id,
|
|
2053
|
-
status: "paid"
|
|
2054
|
-
}, t = await T("/api/admin/order/payment/update/status", {
|
|
2055
|
-
method: "PATCH",
|
|
2056
|
-
headers: {
|
|
2057
|
-
"Content-Type": "application/json"
|
|
2058
|
-
},
|
|
2059
|
-
body: JSON.stringify(e)
|
|
2060
|
-
});
|
|
2061
|
-
if (!t.ok)
|
|
2062
|
-
return {
|
|
2063
|
-
mode: "error",
|
|
2064
|
-
message: "Gagal Mengupdate Status Pembayaran"
|
|
2065
|
-
};
|
|
2066
|
-
const i = await t.json();
|
|
2067
|
-
return await w("income", i.data), {
|
|
2068
|
-
mode: "success",
|
|
2069
|
-
message: "Status Pembayaran Berhasil Diupdate"
|
|
2070
|
-
};
|
|
2071
|
-
} catch (e) {
|
|
2072
|
-
return console.error(e), {
|
|
2073
|
-
mode: "error",
|
|
2074
|
-
message: "Terjadi Kesalahan"
|
|
2075
|
-
};
|
|
2076
|
-
}
|
|
2077
|
-
default:
|
|
2078
|
-
return {
|
|
2079
|
-
mode: "success",
|
|
2080
|
-
message: "Status Pembayaran Berhasil Diupdate"
|
|
2081
|
-
};
|
|
2082
|
-
}
|
|
2083
|
-
}, ie = {
|
|
2084
|
-
keys: {
|
|
2085
|
-
idKey: "id",
|
|
2086
|
-
idsKey: "ids"
|
|
2087
|
-
},
|
|
2088
|
-
base: {
|
|
2089
|
-
source: {
|
|
2090
|
-
DB_NAME: "cqs"
|
|
2091
|
-
},
|
|
2092
|
-
lang: "id",
|
|
2093
|
-
dataTabelDisplay: {
|
|
2094
|
-
name: "name",
|
|
2095
|
-
subject: { valueKey: "subject", type: "select" },
|
|
2096
|
-
pertanyaan: "message",
|
|
2097
|
-
jawaban: "reply",
|
|
2098
|
-
publikasi: { valueKey: "published", type: "boolean" }
|
|
2099
|
-
},
|
|
2100
|
-
schema: {
|
|
2101
|
-
global: {
|
|
2102
|
-
name: {
|
|
2103
|
-
label: "Nama",
|
|
2104
|
-
type: "text",
|
|
2105
|
-
required: !0
|
|
2106
|
-
},
|
|
2107
|
-
phone: {
|
|
2108
|
-
label: "Telepon",
|
|
2109
|
-
type: "tel",
|
|
2110
|
-
required: !0
|
|
2111
|
-
},
|
|
2112
|
-
email: {
|
|
2113
|
-
label: "Email",
|
|
2114
|
-
type: "email",
|
|
2115
|
-
required: !0
|
|
2116
|
-
},
|
|
2117
|
-
subject: {
|
|
2118
|
-
label: "Subjek",
|
|
2119
|
-
type: "text",
|
|
2120
|
-
required: !0
|
|
2121
|
-
},
|
|
2122
|
-
message: {
|
|
2123
|
-
type: "textArea",
|
|
2124
|
-
label: "Pertanyaan",
|
|
2125
|
-
required: !0
|
|
2126
|
-
},
|
|
2127
|
-
reply: {
|
|
2128
|
-
label: "Jawaban",
|
|
2129
|
-
type: "textArea",
|
|
2130
|
-
required: !0
|
|
2131
|
-
}
|
|
2132
|
-
}
|
|
2133
|
-
}
|
|
2134
|
-
},
|
|
2135
|
-
endPoints: {
|
|
2136
|
-
create: "/api/admin/questions/create",
|
|
2137
|
-
update: "/api/admin/questions/update",
|
|
2138
|
-
delete: "/api/admin/questions/delete/:id",
|
|
2139
|
-
deleteMany: "/api/admin/questions/delete"
|
|
2140
|
-
}
|
|
2141
|
-
}, oe = {
|
|
2142
|
-
keys: {
|
|
2143
|
-
idKey: "id",
|
|
2144
|
-
idsKey: "ids"
|
|
2145
|
-
},
|
|
2146
|
-
base: {
|
|
2147
|
-
source: {
|
|
2148
|
-
DB_NAME: "expenditure"
|
|
2149
|
-
},
|
|
2150
|
-
lang: "id",
|
|
2151
|
-
dataTabelDisplay: {
|
|
2152
|
-
pengeluaran: "pay",
|
|
2153
|
-
catatan: "note",
|
|
2154
|
-
"di Buat": "createdAt",
|
|
2155
|
-
"di Update": "updatedAt"
|
|
2156
|
-
},
|
|
2157
|
-
schema: {
|
|
2158
|
-
global: {
|
|
2159
|
-
pay: {
|
|
2160
|
-
label: "Nominal",
|
|
2161
|
-
type: "number",
|
|
2162
|
-
required: !0
|
|
2163
|
-
},
|
|
2164
|
-
note: {
|
|
2165
|
-
type: "textArea",
|
|
2166
|
-
label: "Catatan"
|
|
2167
|
-
}
|
|
2168
|
-
}
|
|
2169
|
-
}
|
|
2170
|
-
},
|
|
2171
|
-
endPoints: {
|
|
2172
|
-
create: "/api/admin/expenditure/create",
|
|
2173
|
-
update: "/api/admin/expenditure/update",
|
|
2174
|
-
delete: "/api/admin/expenditure/delete/:id",
|
|
2175
|
-
deleteMany: "/api/admin/expenditure/delete"
|
|
2176
|
-
}
|
|
2177
|
-
}, ne = {
|
|
2178
|
-
keys: {
|
|
2179
|
-
idKey: "id",
|
|
2180
|
-
idsKey: "ids"
|
|
2181
|
-
},
|
|
2182
|
-
base: {
|
|
2183
|
-
source: {
|
|
2184
|
-
DB_NAME: "service"
|
|
2185
|
-
},
|
|
2186
|
-
lang: "id",
|
|
2187
|
-
dataTabelDisplay: {
|
|
2188
|
-
Judul: "title",
|
|
2189
|
-
Gambar: "image",
|
|
2190
|
-
deskripsi: "description"
|
|
2191
|
-
},
|
|
2192
|
-
schema: {
|
|
2193
|
-
global: {
|
|
2194
|
-
title: {
|
|
2195
|
-
type: "text",
|
|
2196
|
-
label: "Judul",
|
|
2197
|
-
required: !0,
|
|
2198
|
-
validate: {
|
|
2199
|
-
maxLength: 20,
|
|
2200
|
-
minLength: 5,
|
|
2201
|
-
duplicate: !0
|
|
2202
|
-
}
|
|
2203
|
-
},
|
|
2204
|
-
image: {
|
|
2205
|
-
type: "image",
|
|
2206
|
-
label: "Gambar",
|
|
2207
|
-
required: !0
|
|
2208
|
-
},
|
|
2209
|
-
description: {
|
|
2210
|
-
type: "textArea",
|
|
2211
|
-
label: "Deskripsi",
|
|
2212
|
-
required: !0,
|
|
2213
|
-
validate: {
|
|
2214
|
-
maxLength: 200,
|
|
2215
|
-
minLength: 10
|
|
2216
|
-
}
|
|
2217
|
-
}
|
|
2218
|
-
}
|
|
2219
|
-
}
|
|
2220
|
-
},
|
|
2221
|
-
endPoints: {
|
|
2222
|
-
create: "/api/admin/service/create",
|
|
2223
|
-
update: "/api/admin/service/update",
|
|
2224
|
-
delete: "/api/admin/service/delete/:id",
|
|
2225
|
-
deleteMany: "/api/admin/service/delete"
|
|
2226
|
-
}
|
|
2227
|
-
}, le = {
|
|
2228
|
-
keys: {
|
|
2229
|
-
idKey: "id",
|
|
2230
|
-
idsKey: "ids"
|
|
2231
|
-
},
|
|
2232
|
-
base: {
|
|
2233
|
-
source: {
|
|
2234
|
-
DB_NAME: "rate"
|
|
2235
|
-
},
|
|
2236
|
-
dataTabelDisplay: {
|
|
2237
|
-
"Code Pesanan": { valueKey: "orderCode", type: "text" },
|
|
2238
|
-
"Rating Kepuasan": { valueKey: "rate", type: "rate" }
|
|
2239
|
-
},
|
|
2240
|
-
lang: "id",
|
|
2241
|
-
schema: {
|
|
2242
|
-
global: {
|
|
2243
|
-
orderCode: {
|
|
2244
|
-
type: "select",
|
|
2245
|
-
label: "Terhubung dengan Pesanan",
|
|
2246
|
-
options: {
|
|
2247
|
-
DB_NAME: "orders",
|
|
2248
|
-
valueKey: "orderCode"
|
|
2249
|
-
}
|
|
2250
|
-
},
|
|
2251
|
-
photoCustomer: {
|
|
2252
|
-
type: "image",
|
|
2253
|
-
label: "Foto Customer",
|
|
2254
|
-
required: !1
|
|
2255
|
-
},
|
|
2256
|
-
photoProject: {
|
|
2257
|
-
type: "image",
|
|
2258
|
-
label: "Foto Proyek",
|
|
2259
|
-
required: !1
|
|
2260
|
-
},
|
|
2261
|
-
rate: {
|
|
2262
|
-
type: "rate",
|
|
2263
|
-
label: "Rating",
|
|
2264
|
-
required: !0,
|
|
2265
|
-
validate: {
|
|
2266
|
-
min: 1,
|
|
2267
|
-
max: 5
|
|
2268
|
-
}
|
|
2269
|
-
},
|
|
2270
|
-
message: {
|
|
2271
|
-
type: "text",
|
|
2272
|
-
label: "Pesan",
|
|
2273
|
-
required: !1
|
|
2274
|
-
},
|
|
2275
|
-
published: {
|
|
2276
|
-
type: "toggle",
|
|
2277
|
-
label: "Diterbitkan",
|
|
2278
|
-
value: !1
|
|
2279
|
-
},
|
|
2280
|
-
newsPublished: {
|
|
2281
|
-
type: "toggle",
|
|
2282
|
-
label: "Diterbitkan di Berita",
|
|
2283
|
-
value: !1
|
|
2284
|
-
}
|
|
2285
|
-
}
|
|
2286
|
-
}
|
|
2287
|
-
},
|
|
2288
|
-
endPoints: {
|
|
2289
|
-
create: "/api/admin/rate/create",
|
|
2290
|
-
update: "/api/admin/rate/update",
|
|
2291
|
-
delete: "/api/admin/rate/delete/:id",
|
|
2292
|
-
deleteMany: "/api/admin/rate/delete"
|
|
2293
|
-
}
|
|
2294
|
-
}, se = {
|
|
2295
|
-
keys: {
|
|
2296
|
-
idKey: "id",
|
|
2297
|
-
idsKey: "ids"
|
|
2298
|
-
},
|
|
2299
|
-
base: {
|
|
2300
|
-
source: {
|
|
2301
|
-
DB_NAME: "shippingPrice"
|
|
2302
|
-
},
|
|
2303
|
-
dataTabelDisplay: {
|
|
2304
|
-
tipe: "type",
|
|
2305
|
-
Harga: "Price",
|
|
2306
|
-
"Harga Perjarak": "PriceDistance"
|
|
2307
|
-
},
|
|
2308
|
-
lang: "id",
|
|
2309
|
-
schema: {
|
|
2310
|
-
global: {
|
|
2311
|
-
type: {
|
|
2312
|
-
type: "optionGroupSchema",
|
|
2313
|
-
label: "Tipe Harga",
|
|
2314
|
-
typeDesign: "select",
|
|
2315
|
-
withValue: !0,
|
|
2316
|
-
required: !0,
|
|
2317
|
-
optionsLabels: {
|
|
2318
|
-
PriceDistance: "Per Jarak",
|
|
2319
|
-
FixedPrice: "Harga Tetap"
|
|
2320
|
-
},
|
|
2321
|
-
options: {
|
|
2322
|
-
PriceDistance: {
|
|
2323
|
-
price: {
|
|
2324
|
-
type: "number",
|
|
2325
|
-
required: !0,
|
|
2326
|
-
label: "Harga Dasar (Rp)",
|
|
2327
|
-
placeholder: "Masukkan harga dasar"
|
|
2328
|
-
},
|
|
2329
|
-
distance: {
|
|
2330
|
-
type: "number",
|
|
2331
|
-
required: !0,
|
|
2332
|
-
label: "Jarak Maksimum (km)",
|
|
2333
|
-
placeholder: "Masukkan jarak maksimum"
|
|
2334
|
-
},
|
|
2335
|
-
maps: {
|
|
2336
|
-
type: "mapPicker",
|
|
2337
|
-
label: "Lokasi Toko",
|
|
2338
|
-
required: !0,
|
|
2339
|
-
key: { lat: "coordinateY", lng: "coordinateX" },
|
|
2340
|
-
geocodeApi: {
|
|
2341
|
-
geoapify: "4537c50fbc8946148bafa8ca0ffae4aa"
|
|
2342
|
-
},
|
|
2343
|
-
view: {
|
|
2344
|
-
geoJsonKey: "mygeojson"
|
|
2345
|
-
},
|
|
2346
|
-
searchCity: "Surabaya",
|
|
2347
|
-
searchCountry: "Indonesia",
|
|
2348
|
-
validate: {
|
|
2349
|
-
geoJson: "http://localhost:4321/surabaya.geojson"
|
|
2350
|
-
}
|
|
2351
|
-
}
|
|
2352
|
-
},
|
|
2353
|
-
FixedPrice: {
|
|
2354
|
-
price: {
|
|
2355
|
-
type: "number",
|
|
2356
|
-
required: !0,
|
|
2357
|
-
label: "Harga Dasar (Rp)",
|
|
2358
|
-
placeholder: "Masukkan harga dasar"
|
|
2359
|
-
}
|
|
2360
|
-
}
|
|
2361
|
-
}
|
|
2362
|
-
}
|
|
2363
|
-
}
|
|
2364
|
-
}
|
|
2365
|
-
},
|
|
2366
|
-
endPoints: {
|
|
2367
|
-
create: "/api/admin/tool/create",
|
|
2368
|
-
update: "/api/admin/tool/update",
|
|
2369
|
-
delete: "/api/admin/tool/delete/:id",
|
|
2370
|
-
deleteMany: "/api/admin/tool/delete"
|
|
2371
|
-
}
|
|
2372
|
-
};
|
|
49
|
+
], t = ["form", "news"];
|
|
2373
50
|
export {
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
Pe as registerErrorMessageRequired,
|
|
2468
|
-
Ae as registerInputMessages,
|
|
2469
|
-
fe as registerLanguage,
|
|
2470
|
-
Se as removeFromIndexedDB,
|
|
2471
|
-
_a as safeValidate,
|
|
2472
|
-
qe as saveToIndexedDB,
|
|
2473
|
-
T as secureFetch,
|
|
2474
|
-
$a as setNested,
|
|
2475
|
-
Ca as setUID,
|
|
2476
|
-
ja as simplifyRatio,
|
|
2477
|
-
Ga as submitData,
|
|
2478
|
-
Ra as telRegex,
|
|
2479
|
-
Ha as toDateOnly,
|
|
2480
|
-
Oa as toDateTimeString,
|
|
2481
|
-
Ja as toTimeOnly,
|
|
2482
|
-
Fa as unsetNested,
|
|
2483
|
-
w as updateItemInStore,
|
|
2484
|
-
Wa as validate
|
|
51
|
+
u as AlertApp,
|
|
52
|
+
d as ArrayObjectInput,
|
|
53
|
+
m as BaseImage,
|
|
54
|
+
p as BaseLabel,
|
|
55
|
+
g as ColorInput,
|
|
56
|
+
I as CurrencyInput,
|
|
57
|
+
f as DATETIME_REGEX,
|
|
58
|
+
c as DATE_REGEX,
|
|
59
|
+
T as DateInput,
|
|
60
|
+
D as DateTimeInput,
|
|
61
|
+
x as EmailInput,
|
|
62
|
+
y as FieldDetailRenderer,
|
|
63
|
+
A as FileArrayInput,
|
|
64
|
+
E as FileInput,
|
|
65
|
+
b as FormFieldRenderer,
|
|
66
|
+
F as FormModal,
|
|
67
|
+
M as GroupRendererInput,
|
|
68
|
+
R as ImageArrayInput,
|
|
69
|
+
S as ImageInput,
|
|
70
|
+
B as ImagePreview,
|
|
71
|
+
e as ImageTypes,
|
|
72
|
+
h as Loader,
|
|
73
|
+
j as MapPicker,
|
|
74
|
+
v as ModalDetailData,
|
|
75
|
+
C as NumberInput,
|
|
76
|
+
O as ObjectInput,
|
|
77
|
+
w as PasswordInput,
|
|
78
|
+
G as RateInput,
|
|
79
|
+
L as SafeHtml,
|
|
80
|
+
N as SelectedOptions,
|
|
81
|
+
P as TIME_REGEX,
|
|
82
|
+
q as TabelData,
|
|
83
|
+
X as TagInput,
|
|
84
|
+
_ as TelInput,
|
|
85
|
+
k as TextAreaInput,
|
|
86
|
+
K as TextAreaQuillInput,
|
|
87
|
+
U as TextInput,
|
|
88
|
+
V as TimeInput,
|
|
89
|
+
z as ToggleInput,
|
|
90
|
+
H as Tooltip,
|
|
91
|
+
Q as UrlInput,
|
|
92
|
+
W as WarningForm,
|
|
93
|
+
Z as calculateSeo,
|
|
94
|
+
he as clearStore,
|
|
95
|
+
je as configureIndexedDB,
|
|
96
|
+
J as defaultEndpoints,
|
|
97
|
+
Y as defaultFeatureToggles,
|
|
98
|
+
$ as defaultKeys,
|
|
99
|
+
ee as defaultManualControl,
|
|
100
|
+
o as defaultMessagesErrorRequired,
|
|
101
|
+
ae as defaultPagination,
|
|
102
|
+
te as defaultSubmitAuth,
|
|
103
|
+
i as defaultTextLabelsMap,
|
|
104
|
+
se as defaultValidation,
|
|
105
|
+
ve as deleteItemFromStore,
|
|
106
|
+
re as deleteNestedAndCleanup,
|
|
107
|
+
oe as emailRegex,
|
|
108
|
+
a as fieldTypes,
|
|
109
|
+
t as formDesign,
|
|
110
|
+
ie as formatDate,
|
|
111
|
+
ne as formatDateTime,
|
|
112
|
+
le as formatTime,
|
|
113
|
+
ue as gcd,
|
|
114
|
+
de as getClientLocaleAndTimeZone,
|
|
115
|
+
me as getCommonRatio,
|
|
116
|
+
Ce as getFromIndexedDB,
|
|
117
|
+
Oe as getItemById,
|
|
118
|
+
pe as getMessage,
|
|
119
|
+
ge as getNested,
|
|
120
|
+
we as getSingleFromIndexedDB,
|
|
121
|
+
Ie as hasAnyError,
|
|
122
|
+
n as inputMessages,
|
|
123
|
+
fe as isSameMessage,
|
|
124
|
+
Ge as isStoreArray,
|
|
125
|
+
ce as normalizeKey,
|
|
126
|
+
Xe as registerErrorMessageRequired,
|
|
127
|
+
_e as registerInputMessages,
|
|
128
|
+
ke as registerLanguage,
|
|
129
|
+
Le as removeFromIndexedDB,
|
|
130
|
+
Te as safeValidate,
|
|
131
|
+
Ne as saveToIndexedDB,
|
|
132
|
+
Ue as secureFetch,
|
|
133
|
+
De as setNested,
|
|
134
|
+
xe as setUID,
|
|
135
|
+
ye as simplifyRatio,
|
|
136
|
+
Ae as submitData,
|
|
137
|
+
Ee as telRegex,
|
|
138
|
+
be as toDateOnly,
|
|
139
|
+
Fe as toDateTimeString,
|
|
140
|
+
Me as toTimeOnly,
|
|
141
|
+
Re as unsetNested,
|
|
142
|
+
Pe as updateItemInStore,
|
|
143
|
+
Se as validate
|
|
2485
144
|
};
|