initial commit

This commit is contained in:
equippedcoding-master
2025-09-17 09:37:06 -05:00
parent 86108ca47e
commit e2c98790b2
55389 changed files with 6206730 additions and 0 deletions
@@ -0,0 +1,364 @@
:root {
--border-color: #cacaca;
--background-color: #ffffff;
--background-box-title: #f7f7f7;
}
html, body {
margin: 0px;
padding: 0px;
width: 100vw;
height: 100vh;
overflow: hidden;
font-family: 'Roboto', sans-serif;
}
header {
height: 66px;
border-bottom: 1px solid var(--border-color);
padding-left: 20px;
}
header h2 {
margin: 0px;
line-height: 66px;
}
header a {
color: black;
}
.them-edit-link {
position: absolute;
top: 10px;
right: 100px;
color: black;
font-size: 40px;
}
.them-edit-link a {
text-decoration: none;
}
.github-link{
position: absolute;
top: 10px;
right: 20px;
color: black;
}
.wrapper {
width: 100%;
height: calc(100vh - 67px);
display: flex;
}
.col {
overflow: auto;
width: 300px;
height: 100%;
border-right: 1px solid var(--border-color);
}
.drag-drawflow {
line-height: 50px;
border-bottom: 1px solid var(--border-color);
padding-left: 20px;
cursor: move;
user-select: none;
}
.menu {
position: absolute;
height: 40px;
display: block;
background: white;
width: 100%;
}
.menu ul {
padding: 0px;
margin: 0px;
line-height: 40px;
}
.menu ul li {
display: inline-block;
margin-left: 10px;
border-right: 1px solid var(--border-color);
padding-right: 10px;
line-height: 40px;
cursor: pointer;
}
.menu ul li.selected {
font-weight: bold;
}
.btn-export {
float: right;
position: absolute;
top: 10px;
right: 10px;
color: white;
font-weight: bold;
border: 1px solid #0e5ba3;
background: #4ea9ff;
padding: 5px 10px;
border-radius: 4px;
cursor: pointer;
z-index: 5;
}
.btn-clear {
float: right;
position: absolute;
top: 10px;
right: 85px;
color: white;
font-weight: bold;
border: 1px solid #96015b;
background: #e3195a;
padding: 5px 10px;
border-radius: 4px;
cursor: pointer;
z-index: 5;
}
.swal-wide{
width:80% !important;
}
.btn-lock {
float: right;
position: absolute;
bottom: 10px;
right: 140px;
display: flex;
font-size: 24px;
color: white;
padding: 5px 10px;
background: #555555;
border-radius: 4px;
border-right: 1px solid var(--border-color);
z-index: 5;
cursor: pointer;
}
.bar-zoom {
float: right;
position: absolute;
bottom: 10px;
right: 10px;
display: flex;
font-size: 24px;
color: white;
padding: 5px 10px;
background: #555555;
border-radius: 4px;
border-right: 1px solid var(--border-color);
z-index: 5;
}
.bar-zoom svg {
cursor: pointer;
padding-left: 10px;
}
.bar-zoom svg:nth-child(1) {
padding-left: 0px;
}
#drawflow {
position: relative;
width: calc(100vw - 301px);
height: calc(100% - 50px);
top: 40px;
background: var(--background-color);
background-size: 25px 25px;
background-image:
linear-gradient(to right, #f1f1f1 1px, transparent 1px),
linear-gradient(to bottom, #f1f1f1 1px, transparent 1px);
}
@media only screen and (max-width: 768px) {
.col {
width: 50px;
}
.col .drag-drawflow span {
display:none;
}
#drawflow {
width: calc(100vw - 51px);
}
}
/* Editing Drawflow */
.drawflow .drawflow-node {
background: var(--background-color);
border: 1px solid var(--border-color);
-webkit-box-shadow: 0 2px 15px 2px var(--border-color);
box-shadow: 0 2px 15px 2px var(--border-color);
padding: 0px;
width: 200px;
}
.drawflow .drawflow-node.selected {
background: white;
border: 1px solid #4ea9ff;
-webkit-box-shadow: 0 2px 20px 2px #4ea9ff;
box-shadow: 0 2px 20px 2px #4ea9ff;
}
.drawflow .drawflow-node.selected .title-box {
color: #22598c;
/*border-bottom: 1px solid #4ea9ff;*/
}
.drawflow .connection .main-path {
stroke: #4ea9ff;
stroke-width: 3px;
}
.drawflow .drawflow-node .input, .drawflow .drawflow-node .output {
height: 15px;
width: 15px;
border: 2px solid var(--border-color);
}
.drawflow .drawflow-node .input:hover, .drawflow .drawflow-node .output:hover {
background: #4ea9ff;
}
.drawflow .drawflow-node .output {
right: 10px;
}
.drawflow .drawflow-node .input {
left: -10px;
background: white;
}
.drawflow > .drawflow-delete {
border: 2px solid #43b993;
background: white;
color: #43b993;
-webkit-box-shadow: 0 2px 20px 2px #43b993;
box-shadow: 0 2px 20px 2px #43b993;
}
.drawflow-delete {
border: 2px solid #4ea9ff;
background: white;
color: #4ea9ff;
-webkit-box-shadow: 0 2px 20px 2px #4ea9ff;
box-shadow: 0 2px 20px 2px #4ea9ff;
}
.drawflow-node .title-box {
height: 50px;
line-height: 50px;
background: var(--background-box-title);
border-bottom: 1px solid #e9e9e9;
border-radius: 4px 4px 0px 0px;
padding-left: 10px;
}
.drawflow .title-box svg {
position: initial;
}
.drawflow-node .box {
padding: 10px 20px 20px 20px;
font-size: 14px;
color: #555555;
}
.drawflow-node .box p {
margin-top: 5px;
margin-bottom: 5px;
}
.drawflow-node.welcome {
width: 250px;
}
.drawflow-node.slack .title-box {
border-radius: 4px;
}
.drawflow-node input, .drawflow-node select, .drawflow-node textarea {
border-radius: 4px;
border: 1px solid var(--border-color);
height: 30px;
line-height: 30px;
font-size: 16px;
width: 158px;
color: #555555;
}
.drawflow-node textarea {
height: 100px;
}
.drawflow-node.personalized {
background: red;
height: 200px;
text-align: center;
color: white;
}
.drawflow-node.personalized .input {
background: yellow;
}
.drawflow-node.personalized .output {
background: green;
}
.drawflow-node.personalized.selected {
background: blue;
}
.drawflow .connection .point {
stroke: var(--border-color);
stroke-width: 2;
fill: white;
}
.drawflow .connection .point.selected, .drawflow .connection .point:hover {
fill: #4ea9ff;
}
/* Modal */
.modal {
display: none;
position: fixed;
z-index: 7;
left: 0;
top: 0;
width: 100vw;
height: 100vh;
overflow: auto;
background-color: rgb(0,0,0);
background-color: rgba(0,0,0,0.7);
}
.modal-content {
position: relative;
background-color: #fefefe;
margin: 15% auto; /* 15% from the top and centered */
padding: 20px;
border: 1px solid #888;
width: 400px; /* Could be more or less, depending on screen size */
}
/* The Close Button */
.modal .close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
cursor:pointer;
}
@media only screen and (max-width: 768px) {
.modal-content {
width: 80%;
}
}
@@ -0,0 +1,10 @@
<!doctype html>
<html>
<head>
<script type="module" src="drawflow-element.js"></script>
<title>Drawflow Element</title>
</head>
<body>
<drawflow-element></drawflow-element>
</body>
</html>
@@ -0,0 +1,51 @@
class DrawflowElement extends LitElement {
static get styles() {
return [
style,
css`
#drawflow {
display: block;
position: relative;
width: 100%;
height: 800px;
}
`
];
}
render() {
return html`
<div id="drawflow"></div>
`;
}
firstUpdated() {
const container = this.shadowRoot?.getElementById('drawflow');
const editor = new Drawflow(container);
editor.reroute = true;
editor.reroute_fix_curvature = true;
editor.start();
const data = {
name: ''
};
editor.addNode('foo', 1, 1, 100, 200, 'foo', data, 'Foo');
editor.addNode('bar', 1, 1, 400, 100, 'bar', data, 'Bar A');
editor.addNode('bar', 1, 1, 400, 300, 'bar', data, 'Bar B');
editor.addConnection(1, 2, "output_1", "input_1");
editor.addConnection(1, 3, "output_1", "input_1");
}
}
customElements.define("drawflow-element", DrawflowElement);
@@ -0,0 +1,128 @@
<?php
?>
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<title>Drawflow Test</title>
<!-- Boxiocns CDN Link -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href='https://unpkg.com/boxicons@2.0.7/css/boxicons.min.css' rel='stylesheet'>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta2/css/all.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.6.3.min.js" integrity="sha256-pvPw+upLPUjgMXY0G+8O0xUf+/Im1MZjXxxgOcBQBXU=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.13.6/underscore-min.js" integrity="sha512-2V49R8ndaagCOnwmj8QnbT1Gz/rie17UouD9Re5WxbzRVUGoftCu5IuqqtAM9+UC3fwfHCSJR1hkzNQh/2wdtg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.4.1/backbone-min.js" integrity="sha512-TztyCWDNoN0YKl30gDCMKsiWs35juID+W7ZM2uvPeLLmiNvZg789SglgB/QeUbewqIF2Z4mVq3PyIEa+YXXADQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/moment.min.js"></script>
<script src="/portal/admin/core/api/js/libs/appfactory/appfactory3.js"></script>
<script src="/portal/admin/core/api/js/libs/appfactory/afssponsorship.js"></script>
<script src="/portal/admin/core/api/js/libs/appfactory/afssubscriber.js"></script>
<script src="/portal/admin/core/api/js/libs/appfactory/afsnotifications.js"></script>
<script src="/portal/admin/core/api/js/libs/appfactory/afspayments.js"></script>
<script src="/portal/admin/core/api/js/libs/appfactory/afsform.js"></script>
<script src="/portal/admin/core/api/js/libs/appfactory/afsextras.js"></script>
<script src="/portal/admin/core/api/js/libs/appfactory/afsevents.js"></script>
<script src="/portal/admin/core/api/js/libs/appfactory/afsdocuments.js"></script>
<script src="/portal/admin/core/api/js/libs/appfactory/afsaccount.js"></script>
<script src="/portal/admin/core/api/js/libs/appfactory/afsemail.js"></script>
<script src="/portal/admin/core/api/js/libs/appfactory/afsanalytics.js"></script>
<script src="/portal/admin/core/api/js/libs/appfactory/afsdonations.js"></script>
<script src="/portal/admin/core/api/js/libs/appfactory/afsspinner.js"></script>
<link href="/portal/admin/core/api/styles/tabler/tabler.min.css" rel="stylesheet"/>
<script src="/portal/admin/core/api/js/libs/tabler/tabler.js"></script>
<script src="https://cdn.jsdelivr.net/npm/lit-element@4.0.4/lit-element.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jerosoler/Drawflow/dist/drawflow.min.css">
<script src="https://cdn.jsdelivr.net/gh/jerosoler/Drawflow/dist/drawflow.min.js"></script>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div id="drawflow"></div>
<script data-main="main" src="/portal/admin/core/api/js/libs/require.js"></script>
<!--
<style>
.square {
margin-top: 50px;
width: 350px;
height: 350px;
background-color: pink;
}
</style>
<div class="container">
<div class="row justify-content-center">
<div class="col-6 square" id="square">
<h3>GrapeJS</h3>
<button id="press_me">Grape JS</button>
</div>
</div>
</div>
<script>
// let x = new AFSSpinner();
$('#press_me').on('click',function(e){
e.preventDefault();
let spin = AFSSpinner.create({
type: "default",
id: "square",
width: "350px",
height: "350px",
opacity: ".35",
top: "0px",
left: "-12px",
spin_color: "blue",
spin_color_bg: "green"
});
spin.show();
});
</script>
-->
</body>
</html>
File diff suppressed because one or more lines are too long
@@ -0,0 +1,63 @@
(function(){
const REQUEST_URL = "request.php";
class DrawflowElement extends LitElement {
static get styles() {
return [
style,
css`
#drawflow {
display: block;
position: relative;
width: 100%;
height: 800px;
}
`
];
}
render() {
return html`
<div id="drawflow"></div>
`;
}
firstUpdated() {
const container = this.shadowRoot?.getElementById('drawflow');
const editor = new Drawflow(container);
editor.reroute = true;
editor.reroute_fix_curvature = true;
editor.start();
const data = {
name: ''
};
editor.addNode('foo', 1, 1, 100, 200, 'foo', data, 'Foo');
editor.addNode('bar', 1, 1, 400, 100, 'bar', data, 'Bar A');
editor.addNode('bar', 1, 1, 400, 300, 'bar', data, 'Bar B');
editor.addConnection(1, 2, "output_1", "input_1");
editor.addConnection(1, 3, "output_1", "input_1");
}
}
customElements.define("drawflow-element", DrawflowElement);
})();
@@ -0,0 +1,14 @@
<?php
date_default_timezone_set('America/Chicago');
require dirname( __DIR__, 5 ) . "/includes/init.php";
require dirname( __DIR__, 5 ) . "/includes/functions.php";
if(Input::get("init")){
init();
}
function init(){
echo json_encode(array("success" => true));
}
?>
@@ -0,0 +1,368 @@
:root {
--border-color: #cacaca;
--background-color: #ffffff;
--background-box-title: #f7f7f7;
}
html, body {
margin: 0px;
padding: 0px;
width: 100vw;
height: 100vh;
overflow: hidden;
font-family: 'Roboto', sans-serif;
}
header {
height: 66px;
border-bottom: 1px solid var(--border-color);
padding-left: 20px;
}
header h2 {
margin: 0px;
line-height: 66px;
}
header a {
color: black;
}
.them-edit-link {
position: absolute;
top: 10px;
right: 100px;
color: black;
font-size: 40px;
}
.them-edit-link a {
text-decoration: none;
}
.github-link{
position: absolute;
top: 10px;
right: 20px;
color: black;
}
.wrapper {
width: 100%;
height: calc(100vh - 67px);
display: flex;
}
.col {
overflow: auto;
width: 300px;
height: 100%;
border-right: 1px solid var(--border-color);
}
.drag-drawflow {
line-height: 50px;
border-bottom: 1px solid var(--border-color);
padding-left: 20px;
cursor: move;
user-select: none;
}
.menu {
position: absolute;
height: 40px;
display: block;
background: white;
width: 100%;
}
.menu ul {
padding: 0px;
margin: 0px;
line-height: 40px;
}
.menu ul li {
display: inline-block;
margin-left: 10px;
border-right: 1px solid var(--border-color);
padding-right: 10px;
line-height: 40px;
cursor: pointer;
}
.menu ul li.selected {
font-weight: bold;
}
.btn-export {
float: right;
position: absolute;
top: 10px;
right: 10px;
color: white;
font-weight: bold;
border: 1px solid #0e5ba3;
background: #4ea9ff;
padding: 5px 10px;
border-radius: 4px;
cursor: pointer;
z-index: 5;
}
.btn-clear {
float: right;
position: absolute;
top: 10px;
right: 85px;
color: white;
font-weight: bold;
border: 1px solid #96015b;
background: #e3195a;
padding: 5px 10px;
border-radius: 4px;
cursor: pointer;
z-index: 5;
}
.swal-wide{
width:80% !important;
}
.btn-lock {
float: right;
position: absolute;
bottom: 10px;
right: 140px;
display: flex;
font-size: 24px;
color: white;
padding: 5px 10px;
background: #555555;
border-radius: 4px;
border-right: 1px solid var(--border-color);
z-index: 5;
cursor: pointer;
}
.bar-zoom {
float: right;
position: absolute;
bottom: 10px;
right: 10px;
display: flex;
font-size: 24px;
color: white;
padding: 5px 10px;
background: #555555;
border-radius: 4px;
border-right: 1px solid var(--border-color);
z-index: 5;
}
.bar-zoom svg {
cursor: pointer;
padding-left: 10px;
}
.bar-zoom svg:nth-child(1) {
padding-left: 0px;
}
#drawflow {
position: relative;
width: calc(100vw - 301px);
height: calc(100% - 50px);
top: 40px;
background: var(--background-color);
background-size: 25px 25px;
background-image:
linear-gradient(to right, #f1f1f1 1px, transparent 1px),
linear-gradient(to bottom, #f1f1f1 1px, transparent 1px);
}
@media only screen and (max-width: 768px) {
.col {
width: 50px;
}
.col .drag-drawflow span {
display:none;
}
#drawflow {
width: calc(100vw - 51px);
}
}
/* Editing Drawflow */
.drawflow .drawflow-node {
background: var(--background-color);
border: 1px solid var(--border-color);
-webkit-box-shadow: 0 2px 15px 2px var(--border-color);
box-shadow: 0 2px 15px 2px var(--border-color);
padding: 0px;
width: 200px;
}
.drawflow .drawflow-node.selected {
background: white;
border: 1px solid #4ea9ff;
-webkit-box-shadow: 0 2px 20px 2px #4ea9ff;
box-shadow: 0 2px 20px 2px #4ea9ff;
}
.drawflow .drawflow-node.selected .title-box {
color: #22598c;
/*border-bottom: 1px solid #4ea9ff;*/
}
.drawflow .connection .main-path {
stroke: #4ea9ff;
stroke-width: 3px;
}
.drawflow .drawflow-node .input, .drawflow .drawflow-node .output {
height: 15px;
width: 15px;
border: 2px solid var(--border-color);
}
.drawflow .drawflow-node .input:hover, .drawflow .drawflow-node .output:hover {
background: #4ea9ff;
}
.drawflow .drawflow-node .output {
right: 10px;
}
.drawflow .drawflow-node .input {
left: -10px;
background: white;
}
.drawflow > .drawflow-delete {
border: 2px solid #43b993;
background: white;
color: #43b993;
-webkit-box-shadow: 0 2px 20px 2px #43b993;
box-shadow: 0 2px 20px 2px #43b993;
}
.drawflow-delete {
border: 2px solid #4ea9ff;
background: white;
color: #4ea9ff;
-webkit-box-shadow: 0 2px 20px 2px #4ea9ff;
box-shadow: 0 2px 20px 2px #4ea9ff;
}
.drawflow-node .title-box {
height: 50px;
line-height: 50px;
background: var(--background-box-title);
border-bottom: 1px solid #e9e9e9;
border-radius: 4px 4px 0px 0px;
padding-left: 10px;
}
.drawflow .title-box svg {
position: initial;
}
.drawflow-node .box {
padding: 10px 20px 20px 20px;
font-size: 14px;
color: #555555;
}
.drawflow-node .box p {
margin-top: 5px;
margin-bottom: 5px;
}
.drawflow-node.welcome {
width: 250px;
}
.drawflow-node.slack .title-box {
border-radius: 4px;
}
.drawflow-node input, .drawflow-node select, .drawflow-node textarea {
border-radius: 4px;
border: 1px solid var(--border-color);
height: 30px;
line-height: 30px;
font-size: 16px;
width: 158px;
color: #555555;
}
.drawflow-node textarea {
height: 100px;
}
.drawflow-node.personalized {
background: red;
height: 200px;
text-align: center;
color: white;
}
.drawflow-node.personalized .input {
background: yellow;
}
.drawflow-node.personalized .output {
background: green;
}
.drawflow-node.personalized.selected {
background: blue;
}
.drawflow .connection .point {
stroke: var(--border-color);
stroke-width: 2;
fill: white;
}
.drawflow .connection .point.selected, .drawflow .connection .point:hover {
fill: #4ea9ff;
}
/* Modal */
.modal {
display: none;
position: fixed;
z-index: 7;
left: 0;
top: 0;
width: 100vw;
height: 100vh;
overflow: auto;
background-color: rgb(0,0,0);
background-color: rgba(0,0,0,0.7);
}
.modal-content {
position: relative;
background-color: #fefefe;
margin: 15% auto; /* 15% from the top and centered */
padding: 20px;
border: 1px solid #888;
width: 400px; /* Could be more or less, depending on screen size */
}
/* The Close Button */
.modal .close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
cursor:pointer;
}
@media only screen and (max-width: 768px) {
.modal-content {
width: 80%;
}
}