drapcode-constant
Version:
Drapcode Constants
371 lines • 16.5 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GITHUB_EXPORT = exports.SNIPPET_SNAPSHOT = exports.PAGE_SNAPSHOT = exports.CONSTRAINT = exports.CONSTANT = exports.APP_CONSTANT = exports.ENV_VARIABLE = exports.ENVIRONMENT = exports.RESOURCE = exports.DERIVED_FIELD = exports.CONSTRUCTOR = exports.HTML_THEME = exports.CUSTOM_JS = exports.CUSTOM_CSS = exports.PWA_CONFIG = exports.LOCALIZATION = exports.CODE_EXPORT = exports.DATABASE_EXPORT = exports.DEVELOPER_API = exports.PROJECT_VERSION = exports.BACKGROUND_TASK = exports.WEBHOOK = exports.FIELD = exports.ACTION = exports.DATA_SOURCE = exports.TOOLTIP_TEMPLATE_PER = exports.SMS_TEMPLATE_PER = exports.EMAIL_TEMPLATE_PER = exports.PLUGIN = exports.COLLECTION_ITEM = exports.CUSTOM_DATA_MAPPING = exports.CUSTOM_COMPONENT = exports.EXTERNAL_API = exports.EVENT = exports.SNIPPET = exports.PAGE = exports.VALIDATION = exports.FILTER = exports.RECORD = exports.COLLECTION = exports.primaryBodyJS = exports.brandMessage = exports.defaultFonts = exports.defaultHeaderCSS = exports.defaultHeaderJS = exports.getAssetLink = exports.defaultMetaTags = exports.replaceNbsps = exports.getTimezoneOffset = exports.pageNotFound = void 0;
exports.SNIPPET_TYPE_OPTIONS = exports.SNIPPET_TYPES = exports.falsyValues = exports.truthyValues = exports.PERMISSION_TYPES = void 0;
const moment_1 = __importDefault(require("moment"));
const externalApi_1 = require("./externalApi");
/**
* Returns the HTML template for a 204 No Content page
*/
const pageNotFound = () => `
<div data-js="drapcode-sections" id="ioob" class="dc-sections">
<div id="i45i" class="container">
<div id="ip9d" class="row">
<div id="i5t6" class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
<div id="ipmr" class="container">
<div id="iwzs" class="row">
<div id="i8j4" class="col">
<h1 id="il68" class="display-1">204</h1>
</div>
</div>
<div id="ic9ma" class="row">
<div id="iz54g" class="col">
<h3 id="igrlf">No Content<br/></h3>
<p id="iwq91">There's no page content available<br/></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>`;
exports.pageNotFound = pageNotFound;
/**
* Gets the timezone offset in minutes from a timezone string
* @param time - Timezone string in format "(GMT+X:XX)" (default: "(GMT+5:30)")
* @returns The timezone offset in minutes
*/
const getTimezoneOffset = (time = "(GMT+5:30)") => {
if (!time) {
time = "(GMT+5:30)";
}
const str = time.substring(4, 10);
return (0, moment_1.default)().utcOffset(str).utcOffset();
};
exports.getTimezoneOffset = getTimezoneOffset;
/**
* Replaces non-breaking spaces with regular spaces in a string
* @param str - The input string
* @returns The string with non-breaking spaces replaced
*/
const replaceNbsps = (str) => {
const re = new RegExp(String.fromCharCode(160), "g");
return str.replace(re, " ");
};
exports.replaceNbsps = replaceNbsps;
/**
* Default meta tags for HTML pages
*/
exports.defaultMetaTags = [
'<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">',
];
/**
* Generates a full asset URL
* @param path - The asset path
* @returns The complete asset URL
*/
const getAssetLink = (path) => {
return `https://asset.drapcode.com/${path}`;
};
exports.getAssetLink = getAssetLink;
/**
* Generates script tags for JavaScript files
* @param paths - Array of JavaScript file paths
* @param isDefer - Whether to add the defer attribute
* @returns Array of script tags
*/
const getScriptTag = (paths, isDefer = false) => {
return paths.map((path) => `<script type="text/javascript" src="${(0, exports.getAssetLink)(`js/${path}`)}" ${isDefer ? "defer" : ""}></script>`);
};
/**
* Generates CSS link tags
* @param paths - Array of CSS file paths
* @param loadAsync - Whether to load CSS asynchronously
* @returns Array of CSS link tags
*/
const getCssTag = (paths, loadAsync = false) => {
if (loadAsync) {
return paths.map((path) => `<link rel="preload" href="${(0, exports.getAssetLink)(`css/${path}`)}" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="${(0, exports.getAssetLink)(`css/${path}`)}"></noscript>`);
}
else {
return paths.map((path) => `<link rel='stylesheet' type='text/css' href="${(0, exports.getAssetLink)(`css/${path}`)}">`);
}
};
exports.defaultHeaderJS = [
...getScriptTag(["popper.min.js", "bootstrap.min.js", "feather.min.js"], true),
'<script type="text/javascript" src="https://polyfill.io/v3/polyfill.min.js?features=default" defer></script>',
];
exports.defaultHeaderCSS = [
...getCssTag([
"bootstrap.min.css",
"toastr.min.css",
"sweetalert2.min.css",
"select2.min.css",
"flatpickr.min.css",
"loader.css",
"all.min.css",
"dc-custom.min.css",
"coloris.min.css",
], true),
`<link rel='stylesheet' type='text/css' href='${(0, exports.getAssetLink)("intl-tel-input/intlTelInput.min.css")}'>`,
"<link rel='stylesheet' type='text/css' href='https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css'>",
"<link rel='stylesheet' type='text/css' href='https://unpkg.com/dropzone@5/dist/min/dropzone.min.css'>",
"<link rel='stylesheet' type='text/css' href='https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css'>",
"<link href='https://cdn.jsdelivr.net/npm/summernote@0.9.0/dist/summernote-lite.min.css' rel='stylesheet'>",
];
exports.defaultFonts = [
'<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>',
...getCssTag(["googlefonts.css"], true),
];
const brandMessage = (brand_msg) => {
return `<div style="background-color:white;padding:5px; position: fixed;right: 15px;bottom: 15px;font-size: 15px;font-weight: 600;border-radius: 5px;border: 1px solid #223049;z-index:9999;">
<a target="_blank" href="https://drapcode.com" style="text-decoration: none;color: #223049;display: flex;align-items: center">
<img src="https://drapcode.com/favicon.png" alt="DrapCode" style="object-fit: contain;width: 20px"/>
${brand_msg}
</a>
</div>`;
};
exports.brandMessage = brandMessage;
exports.primaryBodyJS = [
'<script type="text/javascript" src="/resources/constant.js"></script>',
'<script type="text/javascript" src="/resources/drapcode.min.js"></script>',
...getScriptTag([
"jquery.validate.min.js",
"math.min.js",
"moment.js",
"numeral.min.js",
"voca.min.js",
"additional-methods.min.js",
"select2.min.js",
"bootbox.min.js",
"papaparse.min.js",
"flatpickr.min.js",
"toastr.min.js",
"axios.js",
"sweetalert2.all.min.js",
"coloris.min.js",
]),
`<script type="text/javascript" src="${(0, exports.getAssetLink)("intl-tel-input/intlTelInput-jquery.min.js")}"></script>`,
`<script type="text/javascript" src="${(0, exports.getAssetLink)("intl-tel-input/utils.js")}"></script>`,
'<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>',
'<script type="text/javascript" src="https://unpkg.com/dropzone@5/dist/min/dropzone.min.js"></script>',
'<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js"></script>',
'<script type="text/javascript" src="/resources/action/emailActions.js"></script>',
'<script type="text/javascript" src="/resources/action/smsActions.js"></script>',
'<script type="text/javascript" src="/resources/action/fileUploadActions.js"></script>',
'<script type="text/javascript" src="/resources/action/modalActions.js"></script>',
// '<script type="text/javascript" src="/resources/action/dataSourceActions.js"></script>',
'<script type="text/javascript" src="/resources/webconnect.js"></script>',
'<script type="text/javascript" src="/resources/dataLoader.min.js"></script>',
'<script type="text/javascript" src="/resources/drapcode.body.min.js"></script>',
'<script type="text/javascript" src="/resources/drapcode.modal.min.js"></script>',
'<script type="text/javascript" src="/resources/action/docusignActions.js"></script>',
'<script type="text/javascript" src="/resources/action/anyFileToTextActions.js"></script>',
'<script type="text/javascript" src="/resources/action/textAnonymizationActions.js"></script>',
'<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/showdown/2.1.0/showdown.min.js"></script>',
'<script src="https://unpkg.com/@popperjs/core@2"></script>',
'<script src="https://unpkg.com/tippy.js@6"></script>',
'<script src="https://cdn.jsdelivr.net/npm/summernote@0.9.0/dist/summernote-lite.min.js"></script>',
`<script src="https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.9.2/html2pdf.bundle.min.js"></script>`,
`<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>`,
`<script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-annotation@3.1.0/dist/chartjs-plugin-annotation.min.js"></script>`,
`<script src="https://cdn.jsdelivr.net/npm/tinycolor2@1.6.0/cjs/tinycolor.min.js"></script>`,
`<script src="https://cdn.socket.io/4.7.5/socket.io.min.js"></script>`,
];
exports.COLLECTION = "COLLECTION";
exports.RECORD = "RECORD";
exports.FILTER = "FILTER";
exports.VALIDATION = "VALIDATION";
exports.PAGE = "PAGE";
exports.SNIPPET = "SNIPPET";
exports.EVENT = "EVENT";
exports.EXTERNAL_API = "EXTERNAL_API";
exports.CUSTOM_COMPONENT = "CUSTOM_COMPONENT";
exports.CUSTOM_DATA_MAPPING = "CUSTOM_DATA_MAPPING";
exports.COLLECTION_ITEM = "COLLECTION_ITEM";
exports.PLUGIN = "PLUGIN";
exports.EMAIL_TEMPLATE_PER = "EMAIL_TEMPLATE";
exports.SMS_TEMPLATE_PER = "SMS_TEMPLATE";
exports.TOOLTIP_TEMPLATE_PER = "TOOLTIP_TEMPLATE";
exports.DATA_SOURCE = "DATA_SOURCE";
exports.ACTION = "ACTION";
exports.FIELD = "FIELD";
exports.WEBHOOK = "WEBHOOK";
exports.BACKGROUND_TASK = "BACKGROUND_TASK";
exports.PROJECT_VERSION = "PROJECT_VERSION";
exports.DEVELOPER_API = "DEVELOPER_API";
exports.DATABASE_EXPORT = "DATABASE_EXPORT";
exports.CODE_EXPORT = "CODE_EXPORT";
exports.LOCALIZATION = "LOCALIZATION";
exports.PWA_CONFIG = "PWA_CONFIG";
exports.CUSTOM_CSS = "CUSTOM_CSS";
exports.CUSTOM_JS = "CUSTOM_JS";
exports.HTML_THEME = "HTML_THEME";
exports.CONSTRUCTOR = "CONSTRUCTOR";
exports.DERIVED_FIELD = "DERIVED_FIELD";
exports.RESOURCE = "RESOURCE";
exports.ENVIRONMENT = "ENVIRONMENT";
exports.ENV_VARIABLE = "ENV_VARIABLE";
exports.APP_CONSTANT = "APP_CONSTANT";
exports.CONSTANT = "CONSTANT";
exports.CONSTRAINT = "CONSTRAINT";
exports.PAGE_SNAPSHOT = "PAGE_SNAPSHOT";
exports.SNIPPET_SNAPSHOT = "SNIPPET_SNAPSHOT";
exports.GITHUB_EXPORT = "GITHUB_EXPORT";
exports.PERMISSION_TYPES = [
{ key: exports.RECORD, label: "All Records", category: "Collection" },
{ key: exports.ACTION, label: "Actions", category: "Action" },
{ key: exports.APP_CONSTANT, label: "App Constants", category: "App Settings" },
{ key: exports.BACKGROUND_TASK, label: "Background Task", category: "App Settings" },
{ key: exports.CODE_EXPORT, label: "Code Export", category: "App Settings" },
{ key: exports.COLLECTION, label: "Collections", category: "Collection" },
{ key: exports.COLLECTION_ITEM, label: "Collection Items", category: "Collection" },
{
key: externalApi_1.COLLECTION_SNAPSHOT,
label: "Collection Snapshots",
category: "App Settings",
},
{ key: exports.CONSTANT, label: "Collection Constants", category: "Collection" },
{ key: exports.CONSTRAINT, label: "Constraints", category: "Collection" },
{ key: exports.CONSTRUCTOR, label: "Constructors", category: "Collection" },
{
key: exports.CUSTOM_COMPONENT,
label: "Custom Components",
category: "App Settings",
},
{ key: exports.CUSTOM_CSS, label: "Custom CSS", category: "App Settings" },
{
key: exports.CUSTOM_DATA_MAPPING,
label: "Custom Data Mappings",
category: "App Settings",
},
{ key: exports.CUSTOM_JS, label: "Custom JS", category: "App Settings" },
{ key: exports.GITHUB_EXPORT, label: "Github Export", category: "App Settings" },
{ key: exports.DATABASE_EXPORT, label: "Database Export", category: "App Settings" },
{ key: exports.DATA_SOURCE, label: "Data Sources", category: "Data Sources" },
{ key: exports.DERIVED_FIELD, label: "Derived Fields", category: "Collection" },
{ key: exports.DEVELOPER_API, label: "Developer API", category: "App Settings" },
{ key: exports.EMAIL_TEMPLATE_PER, label: "Email Templates", category: "Templates" },
{ key: exports.ENVIRONMENT, label: "Environment", category: "App Settings" },
{
key: exports.ENV_VARIABLE,
label: "Environment Variables",
category: "App Settings",
},
{ key: exports.EVENT, label: "Events", category: "Event" },
{ key: exports.EXTERNAL_API, label: "External APIs", catgeory: "External API" },
{ key: exports.FIELD, label: "Fields", category: "Collection" },
{ key: exports.FILTER, label: "Filters", category: "Collection" },
{ key: exports.HTML_THEME, label: "HTML Theme", category: "App Settings" },
{ key: exports.LOCALIZATION, label: "Localization", category: "App Settings" },
{ key: exports.PAGE, label: "Pages", category: "App Settings" },
{ key: exports.PLUGIN, label: "Plugins", category: "Plugin" },
{ key: exports.PROJECT_VERSION, label: "Project Version", category: "App Settings" },
{ key: exports.PWA_CONFIG, label: "PWA Config", category: "App Settings" },
{ key: exports.PAGE_SNAPSHOT, label: "Page Snapshots", category: "App Settings" },
{ key: exports.RESOURCE, label: "Resources", category: "App Settings" },
{ key: exports.SMS_TEMPLATE_PER, label: "SMS Templates", category: "Templates" },
{ key: exports.SNIPPET, label: "Snippets", category: "App Settings" },
{
key: exports.SNIPPET_SNAPSHOT,
label: "Snippet Snapshots",
category: "App Settings",
},
{
key: exports.TOOLTIP_TEMPLATE_PER,
label: "Tooltip Templates",
category: "Templates",
},
{ key: exports.VALIDATION, label: "Validations", category: "Collection" },
{ key: exports.WEBHOOK, label: "Webhooks", category: "Webhook" },
{
key: externalApi_1.AGREEMENT_TEMPLATE,
label: "Agreement Templates",
category: "Templates",
},
{
key: externalApi_1.TYPESENSE_SEARCH_TEMPLATE,
label: "Typesense Search Template",
category: "Templates",
},
{
key: externalApi_1.SOCKET_IO_TEMPLATE,
label: "Socket IO Template",
category: "Templates",
},
];
exports.truthyValues = [
1,
"1",
true,
"true",
"True",
"TRUE",
"yes",
"Yes",
"YES",
"y",
"Y",
"t",
"T",
"on",
"On",
"ON",
"enable",
"Enable",
"ENABLE",
"enabled",
"Enabled",
"ENABLED",
];
exports.falsyValues = [
0,
"0",
false,
"false",
"False",
"FALSE",
"no",
"No",
"NO",
"n",
"N",
"f",
"F",
"off",
"Off",
"OFF",
"disable",
"Disable",
"DISABLE",
"disabled",
"Disabled",
"DISABLED",
"",
null,
undefined,
NaN,
];
exports.SNIPPET_TYPES = {
SNIPPET: "SNIPPET",
MODAL: "MODAL",
FLOATING_MODAL: "FLOATING_MODAL",
CUSTOM_SEGMENT: "CUSTOM_SEGMENT",
SUB_PAGE: "SUB_PAGE",
PDF_TEMPLATE: "PDF_TEMPLATE",
PAGE_LAYOUT: "PAGE_LAYOUT",
};
exports.SNIPPET_TYPE_OPTIONS = [
{ value: exports.SNIPPET_TYPES.SNIPPET, label: 'Snippet' },
{ value: exports.SNIPPET_TYPES.MODAL, label: 'Modal' },
{ value: exports.SNIPPET_TYPES.FLOATING_MODAL, label: 'Floating Modal' },
{ value: exports.SNIPPET_TYPES.CUSTOM_SEGMENT, label: 'Custom Segment' },
{ value: exports.SNIPPET_TYPES.SUB_PAGE, label: 'Sub Page' },
{ value: exports.SNIPPET_TYPES.PDF_TEMPLATE, label: 'PDF Template' },
{ value: exports.SNIPPET_TYPES.PAGE_LAYOUT, label: 'Page Layout' },
];
//# sourceMappingURL=builder.js.map
;