Skip to content

Commit

Permalink
base-sql
Browse files Browse the repository at this point in the history
  • Loading branch information
joelsholland committed Sep 3, 2023
1 parent 765d192 commit 8f8af86
Show file tree
Hide file tree
Showing 3 changed files with 112 additions and 0 deletions.
30 changes: 30 additions & 0 deletions sql-list/Fetchxml-generator.htm
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html>

<head>
<link href="styles.css" rel="stylesheet">

<title>Generate SQL filter</title>
</head>


<body>

<h1>Generate SQL Filter</h1>

<div class="firstBlock">
<h2>
Paste a list of values to filter on
</h2>
<textarea type="text" class="inputarea" name="longinput" rows="10" cols="22"></textarea>
</div>

<div class="secondBlock">
<h2>SQL Result</h2>
<textarea type="text" class="outputarea" name="longinput" rows="10" cols="70"></textarea>
</div>

<script src="sqlcode.js"></script>
</body>

</html>
45 changes: 45 additions & 0 deletions sql-list/sqlcode.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
const colField = document.querySelector('.inputCol');
const inputField = document.querySelector('.inputarea');
const btn = document.querySelector('button');
const checkbox = document.querySelector('.filterCheckbox');
const output = document.querySelector('.outputarea');

colField.addEventListener("input", generateFetch);
inputField.addEventListener("input", generateFetch);
checkbox.addEventListener("click", generateFetch);

function generateFetch() {
//set focus on column field
//colField.focus()

const attribute = colField.value.trim();
const entryString = inputField.value;

let arr = entryString.split(/\r?\n/);
arr = arr.map((x) => x.trim());
arr = arr.filter((x) => x.length > 0);

const outputArr = [];

for (const name of arr) {

let converted = ` <value>${name}</value>`;
outputArr.push(converted);
};

//add condition filter

outputArr.unshift(`<condition attribute="${attribute}" operator="in">`);
outputArr.push('</condition>');

//add filter tags before and after
if (checkbox.checked) {
outputArr.unshift('<filter>');
outputArr.push('</filter>');
};

const outputString = outputArr.join('\n');

output.value = outputString;

}
37 changes: 37 additions & 0 deletions sql-list/styles.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
html,textarea {
font-family: sans-serif;
}

h2 {
font-size: 16px;
}

body {
margin: 0 auto;
margin-top: 20px;
background: #f5f9fa;
width: 450px;
padding: 0 20px 20px 20px;
border: 1px solid black;
}

.firstBlock,.checkbox{
margin-bottom: 20px;
}

button{
margin-left: 5px;
font-size: 16px;
}

.checkbox{font-size: 14px;}

.outputarea{
width: 100%;
box-sizing: border-box;
height: 200px;
}

textarea,input{
font-size: 14px;
}

0 comments on commit 8f8af86

Please sign in to comment.