From 89dbd1d2c62ef915257e72af3d3be9e86edbc391 Mon Sep 17 00:00:00 2001 From: jndaniels Date: Tue, 29 Oct 2024 20:52:55 -0500 Subject: [PATCH] UI Improvement DataStore to SQLlite --- ERTSQlite.db | Bin 0 -> 8192 bytes app/api/DSremove.json | 3 + public/dmxAppConnect/config.js | 20 ++++- .../dmxBootstrap5TableGenerator.css | 78 ++++++++++++++++++ .../dmxBootstrap5Toasts.js | 8 ++ .../dmxBootstrap5Toasts.js.map | 1 + views/index.ejs | 50 +++++++++-- views/layouts/main.ejs | 5 +- 8 files changed, 158 insertions(+), 7 deletions(-) create mode 100644 ERTSQlite.db create mode 100644 app/api/DSremove.json create mode 100644 public/dmxAppConnect/dmxBootstrap5TableGenerator/dmxBootstrap5TableGenerator.css create mode 100644 public/dmxAppConnect/dmxBootstrap5Toasts/dmxBootstrap5Toasts.js create mode 100644 public/dmxAppConnect/dmxBootstrap5Toasts/dmxBootstrap5Toasts.js.map diff --git a/ERTSQlite.db b/ERTSQlite.db new file mode 100644 index 0000000000000000000000000000000000000000..010f5ef4ec0995d37742323dc4de666566a9f91c GIT binary patch literal 8192 zcmeI#&r8EF6bJC62*RZ3PF^25ZJ=H}da-JdVy&}Aa3@La8w}c2))e(9{>A@9R$c_BBG!RE8pP^s8 zdnmesfB*y_009U<00Izz00bZa0SNqkf%l2r-X9L-$Bwgk$%QR!aGvSNXfn}RqDd82 z(I^}csrW)soEm+pGfHm^rT0m4u$n3I$5~sJsjXO%(GR8{F6U3YXgF=FoR^9mzq)>| zan^C%H0{q#Ts@cd8}r76-<#@}g+HagVUoqyQ8uM3J*AO<-#8qM{olO%^dleu0SG_< U0uX=z1Rwwb2tWV=5ctOeUqq`w8~^|S literal 0 HcmV?d00001 diff --git a/app/api/DSremove.json b/app/api/DSremove.json new file mode 100644 index 0000000..18cca0a --- /dev/null +++ b/app/api/DSremove.json @@ -0,0 +1,3 @@ +{ + "exec": {} +} \ No newline at end of file diff --git a/public/dmxAppConnect/config.js b/public/dmxAppConnect/config.js index 4450c90..d9cf58b 100644 --- a/public/dmxAppConnect/config.js +++ b/public/dmxAppConnect/config.js @@ -21,6 +21,24 @@ dmx.config({ "type": "text", "name": "da_driverLicenseState" } - ] + ], + "dataID": { + "outputType": "text" + }, + "DSflow1": { + "meta": {}, + "local": [ + { + "name": "DSConfirm", + "type": "boolean", + "metaData": { + "confirmMessage": { + "meta": null, + "outputType": "text" + } + } + } + ] + } } }); diff --git a/public/dmxAppConnect/dmxBootstrap5TableGenerator/dmxBootstrap5TableGenerator.css b/public/dmxAppConnect/dmxBootstrap5TableGenerator/dmxBootstrap5TableGenerator.css new file mode 100644 index 0000000..fa878d2 --- /dev/null +++ b/public/dmxAppConnect/dmxBootstrap5TableGenerator/dmxBootstrap5TableGenerator.css @@ -0,0 +1,78 @@ + table.table thead>tr>th.sorting_asc, + table.table thead>tr>th.sorting_desc, + table.table thead>tr>th.sorting, + table.table thead>tr>td.sorting_asc, + table.table thead>tr>td.sorting_desc, + table.table thead>tr>td.sorting { + padding-right: 30px + } + + table.table thead>tr>th:active, + table.table thead>tr>td:active { + outline: none + } + + table.table thead .sorting, + table.table thead .sorting_asc, + table.table thead .sorting_desc, + table.table thead .sorting_asc_disabled, + table.table thead .sorting_desc_disabled { + cursor: pointer; + position: relative + } + + table.table thead .sorting:before, + table.table thead .sorting:after, + table.table thead .sorting_asc:before, + table.table thead .sorting_asc:after, + table.table thead .sorting_desc:before, + table.table thead .sorting_desc:after, + table.table thead .sorting_asc_disabled:before, + table.table thead .sorting_asc_disabled:after, + table.table thead .sorting_desc_disabled:before, + table.table thead .sorting_desc_disabled:after { + position: absolute; + bottom: 0.9em; + display: block; + opacity: 0.3 + } + table.table-sm thead .sorting:before, + table.table-sm thead .sorting:after, + table.table-sm thead .sorting_asc:before, + table.table-sm thead .sorting_asc:after, + table.table-sm thead .sorting_desc:before, + table.table-sm thead .sorting_desc:after, + table.table-sm thead .sorting_asc_disabled:before, + table.table-sm thead .sorting_asc_disabled:after, + table.table-sm thead .sorting_desc_disabled:before, + table.table-sm thead .sorting_desc_disabled:after { + bottom: 0.3em; + } + + table.table thead .sorting:before, + table.table thead .sorting_asc:before, + table.table thead .sorting_desc:before, + table.table thead .sorting_asc_disabled:before, + table.table thead .sorting_desc_disabled:before { + right: 1em; + content: "\2191" + } + + table.table thead .sorting:after, + table.table thead .sorting_asc:after, + table.table thead .sorting_desc:after, + table.table thead .sorting_asc_disabled:after, + table.table thead .sorting_desc_disabled:after { + right: 0.5em; + content: "\2193" + } + + table.table thead .sorting_asc:before, + table.table thead .sorting_desc:after { + opacity: 1 + } + + table.table thead .sorting_asc_disabled:before, + table.table thead .sorting_desc_disabled:after { + opacity: 0 + } \ No newline at end of file diff --git a/public/dmxAppConnect/dmxBootstrap5Toasts/dmxBootstrap5Toasts.js b/public/dmxAppConnect/dmxBootstrap5Toasts/dmxBootstrap5Toasts.js new file mode 100644 index 0000000..565e174 --- /dev/null +++ b/public/dmxAppConnect/dmxBootstrap5Toasts/dmxBootstrap5Toasts.js @@ -0,0 +1,8 @@ +/*! + App Connect Bootstrap 5 Toasts + Version: 2.0.6 + (c) 2024 Wappler.io + @build 2024-07-09 16:56:29 + */ +dmx.bs5toast={defaults:{iconType:"image",position:"top",align:"right",offsetX:15,offsetY:15,minWidth:240,maxWidth:350,animation:!0,autohide:!0,closable:!0,delay:5e3,headerClass:"",bodyClass:"",color:""},container:null,setup(t){t=Object.assign(dmx.bs5toast.defaults,t),dmx.bs5toast.container||(dmx.bs5toast.container=document.createElement("div"),document.body.appendChild(dmx.bs5toast.container));const e=dmx.bs5toast.container;e.className="toast-container",e.removeAttribute("style"),e.style.setProperty("position","fixed"),e.style.setProperty(t.align,t.offsetX+"px"),e.style.setProperty(t.position,t.offsetY+"px"),t.maxWidth&&e.style.setProperty("max-width",t.maxWidth+"px")},clear(){dmx.bs5toast.container&&(dmx.bs5toast.container.textContent="")},show(t){t=Object.assign({},dmx.bs5toast.defaults,t),dmx.bs5toast.container||dmx.bs5toast.setup();const e=dmx.bs5toast.create(t);dmx.bs5toast.container.appendChild(e);const s=new bootstrap.Toast(e,t);e.addEventListener("hidden.bs.toast",(()=>dmx.bs5toast.container.removeChild(e)),{once:!0}),s.show()},showSimple(t){t=Object.assign({},dmx.bs5toast.defaults,t),dmx.bs5toast.container||dmx.bs5toast.setup();const e=dmx.bs5toast.createSimple(t);dmx.bs5toast.container.appendChild(e);const s=new bootstrap.Toast(e,t);e.addEventListener("hidden.bs.toast",(()=>dmx.bs5toast.container.removeChild(e)),{once:!0}),s.show()},create(t){const e=document.createElement("div");if(e.className="toast",e.setAttribute("role","alert"),e.setAttribute("aria-live","assertive"),e.setAttribute("aria-atomic","true"),e.setAttribute("data-delay",t.delay),t.minWidth&&e.style.setProperty("min-width",t.minWidth+"px"),t.icon||t.title||t.subtitle||t.closable){const s=document.createElement("div");if(s.className="toast-header",t.headerClass&&(s.className+=" "+t.headerClass),t.icon){(t=>/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(t))(t.icon)?s.innerHTML=`${t.alt||`:s.innerHTML=``}if(t.title||t.subtitle||t.closable){const e=document.createElement("strong");e.className="me-auto",e.textContent=t.title||"",s.appendChild(e)}if(t.subtitle){const e=document.createElement("small");e.textContent=t.subtitle,s.appendChild(e)}if(t.closable){const t=document.createElement("button");t.type="button",t.className="btn-close",t.setAttribute("data-bs-dismiss","toast"),t.setAttribute("aria-label","Close"),s.appendChild(t)}e.appendChild(s)}if(t.message){const s=document.createElement("div");s.className="toast-body",t.bodyClass&&(s.className+=" "+t.bodyClass),t.useHTML?s.innerHTML=t.message:s.textContent=t.message,e.appendChild(s)}return e},createSimple(t){const e=document.createElement("div");e.className="toast align-items-center",e.setAttribute("role","alert"),e.setAttribute("aria-live","assertive"),e.setAttribute("aria-atomic","true"),e.setAttribute("data-delay",t.delay),t.minWidth&&e.style.setProperty("min-width",t.minWidth+"px"),t.type&&e.classList.add("border-0",`bg-${t.type}-subtle`,`text-${t.type}-emphasis`);const s=document.createElement("div");s.className="d-flex";const a=document.createElement("div");if(a.className="toast-body "+t.bodyClass,t.useHTML?a.innerHTML=t.message:a.textContent=t.message,s.appendChild(a),t.closable){const t=document.createElement("button");t.type="button",t.className="btn-close me-2 m-auto",t.setAttribute("data-bs-dismiss","toast"),t.setAttribute("aria-label","Close"),s.appendChild(t)}return e.appendChild(s),e}},dmx.Actions({"toast.setup"(t){dmx.bs5toast.setup(this.parse(t))},"toast.show"(t){dmx.bs5toast.show(this.parse(t))},"toast.showSimple"(t){dmx.bs5toast.showSimple(this.parse(t))},"toast.clear"(){dmx.bs5toast.clear()}}),dmx.Component("bs5-toasts",{attributes:{position:{type:String,default:"top",enum:["top","bottom"]},align:{type:String,default:"right",enum:["left","right"]},offsetX:{type:Number,default:15},offsetY:{type:Number,default:15},minWidth:{type:Number,default:240},maxWidth:{type:Number,default:350},zIndex:{type:Number,default:1e4},delay:{type:Number,default:5e3}},methods:{clear(){this._clear()},show(t){this._show(t)},showSimple(t){this._showSimple(t)}},init(t){dmx.bs5toast.setup(this.props)},performUpdate(t){dmx.bs5toast.setup(this.props)},_clear(){dmx.bs5toast.clear()},_show(t){dmx.bs5toast.show(t)},_showSimple(t){dmx.bs5toast.showSimple(t)}}); +//# sourceMappingURL=dmxBootstrap5Toasts.js.map diff --git a/public/dmxAppConnect/dmxBootstrap5Toasts/dmxBootstrap5Toasts.js.map b/public/dmxAppConnect/dmxBootstrap5Toasts/dmxBootstrap5Toasts.js.map new file mode 100644 index 0000000..f6d3ee3 --- /dev/null +++ b/public/dmxAppConnect/dmxBootstrap5Toasts/dmxBootstrap5Toasts.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["core/toasts.js","actions/toasts.js","components/toasts.js"],"names":["dmx","bs5toast","defaults","iconType","position","align","offsetX","offsetY","minWidth","maxWidth","animation","autohide","closable","delay","headerClass","bodyClass","color","container","setup","options","Object","assign","document","createElement","body","appendChild","className","removeAttribute","style","setProperty","clear","textContent","show","node","create","toast","bootstrap","Toast","addEventListener","removeChild","once","showSimple","createSimple","setAttribute","icon","title","subtitle","header","test","isImageFile","innerHTML","alt","strong","small","button","type","message","useHTML","classList","add","Actions","this","parse","Component","attributes","String","default","enum","Number","zIndex","methods","_clear","_show","_showSimple","init","props","performUpdate","updatedProps"],"mappings":"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","file":"dmxBootstrap5Toasts.js","sourcesContent":["dmx.bs5toast = {\r\n defaults: {\r\n iconType: 'image',\r\n position: 'top',\r\n align: 'right',\r\n offsetX: 15,\r\n offsetY: 15,\r\n //zIndex: 10000,\r\n minWidth: 240,\r\n maxWidth: 350,\r\n animation: true,\r\n autohide: true,\r\n closable: true,\r\n delay: 5000,\r\n headerClass: '',\r\n bodyClass: '',\r\n color: '',\r\n },\r\n\r\n container: null,\r\n\r\n setup (options) {\r\n options = Object.assign(dmx.bs5toast.defaults, options);\r\n\r\n if (!dmx.bs5toast.container) {\r\n dmx.bs5toast.container = document.createElement('div');\r\n document.body.appendChild(dmx.bs5toast.container);\r\n }\r\n\r\n const container = dmx.bs5toast.container;\r\n container.className = 'toast-container';\r\n container.removeAttribute('style');\r\n\r\n container.style.setProperty('position', 'fixed');\r\n //container.style.setProperty('z-index', options.zIndex);\r\n container.style.setProperty(options.align, options.offsetX + 'px');\r\n container.style.setProperty(options.position, options.offsetY + 'px');\r\n if (options.maxWidth) {\r\n container.style.setProperty('max-width', options.maxWidth + 'px');\r\n }\r\n },\r\n\r\n clear () {\r\n if (dmx.bs5toast.container) {\r\n dmx.bs5toast.container.textContent = '';\r\n }\r\n },\r\n\r\n show (options) {\r\n options = Object.assign({}, dmx.bs5toast.defaults, options);\r\n\r\n if (!dmx.bs5toast.container) {\r\n dmx.bs5toast.setup();\r\n }\r\n\r\n const node = dmx.bs5toast.create(options);\r\n dmx.bs5toast.container.appendChild(node);\r\n\r\n const toast = new bootstrap.Toast(node, options);\r\n node.addEventListener('hidden.bs.toast', () => dmx.bs5toast.container.removeChild(node), { once: true });\r\n toast.show();\r\n },\r\n\r\n showSimple (options) {\r\n options = Object.assign({}, dmx.bs5toast.defaults, options);\r\n\r\n if (!dmx.bs5toast.container) {\r\n dmx.bs5toast.setup();\r\n }\r\n\r\n const node = dmx.bs5toast.createSimple(options);\r\n dmx.bs5toast.container.appendChild(node);\r\n\r\n const toast = new bootstrap.Toast(node, options);\r\n node.addEventListener('hidden.bs.toast', () => dmx.bs5toast.container.removeChild(node), { once: true });\r\n toast.show();\r\n },\r\n\r\n create (options) {\r\n const node = document.createElement('div');\r\n node.className = 'toast';\r\n node.setAttribute('role', 'alert');\r\n node.setAttribute('aria-live', 'assertive');\r\n node.setAttribute('aria-atomic', 'true');\r\n node.setAttribute('data-delay', options.delay);\r\n\r\n if (options.minWidth) {\r\n node.style.setProperty('min-width', options.minWidth + 'px');\r\n }\r\n\r\n if (options.icon || options.title || options.subtitle || options.closable) {\r\n const header = document.createElement('div');\r\n header.className = 'toast-header';\r\n if (options.headerClass) header.className += ' ' + options.headerClass;\r\n\r\n if (options.icon) {\r\n const isImageFile = (icon) => /\\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(icon);\r\n\r\n if (isImageFile(options.icon)) {\r\n header.innerHTML = `\"${options.alt`;\r\n } else {\r\n header.innerHTML = ``;\r\n }\r\n }\r\n\r\n if (options.title || options.subtitle || options.closable) {\r\n const strong = document.createElement('strong');\r\n strong.className = 'me-auto';\r\n strong.textContent = options.title || '';\r\n \r\n header.appendChild(strong);\r\n }\r\n\r\n if (options.subtitle) {\r\n const small = document.createElement('small');\r\n small.textContent = options.subtitle;\r\n\r\n header.appendChild(small);\r\n }\r\n\r\n if (options.closable) {\r\n const button = document.createElement('button');\r\n button.type = 'button';\r\n button.className = 'btn-close';\r\n button.setAttribute('data-bs-dismiss', 'toast');\r\n button.setAttribute('aria-label', 'Close');\r\n\r\n header.appendChild(button);\r\n }\r\n\r\n node.appendChild(header);\r\n }\r\n\r\n if (options.message) {\r\n const body = document.createElement('div');\r\n body.className = 'toast-body';\r\n if (options.bodyClass) body.className += ' ' + options.bodyClass;\r\n if (options.useHTML) {\r\n body.innerHTML = options.message;\r\n } else {\r\n body.textContent = options.message;\r\n }\r\n\r\n node.appendChild(body);\r\n }\r\n \r\n return node;\r\n },\r\n\r\n createSimple (options) {\r\n const node = document.createElement('div');\r\n node.className = 'toast align-items-center';\r\n node.setAttribute('role', 'alert');\r\n node.setAttribute('aria-live', 'assertive');\r\n node.setAttribute('aria-atomic', 'true');\r\n node.setAttribute('data-delay', options.delay);\r\n\r\n if (options.minWidth) {\r\n node.style.setProperty('min-width', options.minWidth + 'px');\r\n }\r\n\r\n if (options.type) {\r\n node.classList.add('border-0', `bg-${options.type}-subtle`, `text-${options.type}-emphasis`);\r\n }\r\n \r\n const container = document.createElement('div');\r\n container.className = 'd-flex';\r\n\r\n const body = document.createElement('div');\r\n body.className = 'toast-body ' + options.bodyClass;\r\n if (options.useHTML) {\r\n body.innerHTML = options.message;\r\n } else {\r\n body.textContent = options.message;\r\n }\r\n container.appendChild(body);\r\n\r\n if (options.closable) {\r\n const button = document.createElement('button');\r\n button.type = 'button';\r\n button.className = 'btn-close me-2 m-auto';\r\n button.setAttribute('data-bs-dismiss', 'toast');\r\n button.setAttribute('aria-label', 'Close');\r\n\r\n container.appendChild(button);\r\n }\r\n\r\n node.appendChild(container);\r\n\r\n return node;\r\n },\r\n \r\n};","dmx.Actions({\r\n\r\n 'toast.setup' (options) {\r\n dmx.bs5toast.setup(this.parse(options));\r\n },\r\n\r\n 'toast.show' (options) {\r\n dmx.bs5toast.show(this.parse(options));\r\n },\r\n\r\n 'toast.showSimple' (options) {\r\n dmx.bs5toast.showSimple(this.parse(options));\r\n },\r\n\r\n 'toast.clear' () {\r\n dmx.bs5toast.clear();\r\n },\r\n\r\n});","dmx.Component('bs5-toasts', {\r\n\r\n attributes: {\r\n position: {\r\n type: String,\r\n default: 'top',\r\n enum: ['top', 'bottom'],\r\n },\r\n\r\n align: {\r\n type: String,\r\n default: 'right',\r\n enum: ['left', 'right'],\r\n },\r\n\r\n offsetX: {\r\n type: Number,\r\n default: 15,\r\n },\r\n\r\n offsetY: {\r\n type: Number,\r\n default: 15,\r\n },\r\n\r\n minWidth: {\r\n type: Number,\r\n default: 240,\r\n },\r\n\r\n maxWidth: {\r\n type: Number,\r\n default: 350,\r\n },\r\n\r\n zIndex: {\r\n type: Number,\r\n default: 10000,\r\n },\r\n\r\n delay: {\r\n type: Number,\r\n default: 5000,\r\n },\r\n },\r\n\r\n methods: {\r\n clear () {\r\n this._clear();\r\n },\r\n\r\n show (options) {\r\n this._show(options);\r\n },\r\n\r\n showSimple (options) {\r\n this._showSimple(options);\r\n },\r\n },\r\n\r\n init (node) {\r\n dmx.bs5toast.setup(this.props);\r\n },\r\n\r\n performUpdate (updatedProps) {\r\n dmx.bs5toast.setup(this.props);\r\n },\r\n\r\n _clear () {\r\n dmx.bs5toast.clear();\r\n },\r\n\r\n _show (options) { // options: title, message, delay, closable\r\n dmx.bs5toast.show(options);\r\n },\r\n\r\n _showSimple (options) { // options: message, delay, closable\r\n dmx.bs5toast.showSimple(options);\r\n },\r\n\r\n});"]} \ No newline at end of file diff --git a/views/index.ejs b/views/index.ejs index 0afe830..7d876a0 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -1,10 +1,24 @@ - + + + + - +

Lets Begin. What is your Role?

@@ -62,6 +76,32 @@ +
+ + + + + + + + + + + + + + + + + +
$idDa full nameDa driver licenseDa driver license state
+ + +
+
+
+

No Records

+
\ No newline at end of file diff --git a/views/layouts/main.ejs b/views/layouts/main.ejs index 365a3ff..049b684 100644 --- a/views/layouts/main.ejs +++ b/views/layouts/main.ejs @@ -19,9 +19,12 @@ + + +