UNPKG

drapcode-constant

Version:

Drapcode Constants

371 lines 16.5 kB
"use strict"; 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"/> &nbsp; ${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