| @@ -1,3 +1,7 @@ | |||
| .columnVisibility:last-child { | |||
| display: none; | |||
| } | |||
| /* FONT */ | |||
| /* latin */ | |||
| @@ -16,7 +16,7 @@ | |||
| </head> | |||
| <body> | |||
| <body class="bg-white h-full"> | |||
| <script type="text/javascript" src="jsonic/js/jsonic.min.js"></script> | |||
| <script> | |||
| @@ -41,8 +41,8 @@ var UI = { | |||
| apiPost: function (args) { | |||
| if (!args.db) { console.log('apiPost requires db parameter'); } | |||
| let methodName = this.apiMethodName(args); | |||
| let item = js.replaceProperties('{formDataToJson:.form'+args.db+'}'); | |||
| let item = js.replaceProperties('{formDataToJson:.form' + args.db + '}'); | |||
| console.log(item); | |||
| //window.args = args; | |||
| window[methodName](item) | |||
| @@ -63,6 +63,16 @@ var UI = { | |||
| .catch(function (err) { | |||
| console.log('apiCall error'); | |||
| console.log(err); | |||
| let apiCallback = [ | |||
| { | |||
| "rl:apiPostCallback": { | |||
| "db": args.db, | |||
| "template": args.template, | |||
| "data": err | |||
| } | |||
| } | |||
| ]; | |||
| js.callback({ do: apiCallback }); | |||
| }); | |||
| }, | |||
| @@ -121,6 +131,37 @@ var UI = { | |||
| return String(val).charAt(0).toUpperCase() + String(val).slice(1); | |||
| }, | |||
| getVisibleColumns: function (db) { | |||
| if (window.table && window.table[db]) { | |||
| const visibility = {}; | |||
| window.table[db].table.getAllLeafColumns().forEach(column => { | |||
| visibility[column.id] = column.getIsVisible(); | |||
| }); | |||
| return visibility; | |||
| } | |||
| }, | |||
| setVisibleColumns: function (db, columns) { | |||
| if (window.table && window.table[db]) { | |||
| const table = window.table[db].table; | |||
| const visibility = {}; | |||
| const pinning = { left: [], right: [] }; | |||
| for (const [id, val] of Object.entries(columns)) { | |||
| if (val === 'left' || val === 'right') { | |||
| visibility[id] = true; | |||
| pinning[val].push(id); | |||
| } else { | |||
| visibility[id] = !!val; | |||
| } | |||
| } | |||
| table.setColumnVisibility(visibility); | |||
| table.setColumnPinning(pinning); | |||
| window.table[db].render(); | |||
| } | |||
| }, | |||
| getToken: function (args) { | |||
| if (args.options.body && typeof args.options.body !== 'string') args.options.body = JSON.stringify(args.options.body); | |||
| fetch(args.url, args.options).then(response => response.json()).then(data => { | |||
| @@ -158,27 +199,24 @@ var UI = { | |||
| const label = prop.description || key; | |||
| const required = params.schema.required && params.schema.required.includes(key) ? 'required' : ''; | |||
| const inputId = `input-${key}`; // Unique ID for accessibility | |||
| const hiddenId = (key == 'id' && jsonApp && jsonApp.json.data.settings && !jsonApp.json.data.settings.debug) ? ' hidden' : ''; | |||
| // && jsonApp && jsonApp.json.data.settings && | |||
| const hiddenId = ((key == 'id' || key == 'status') && !jsonApp.json.data.settings.debug) ? ' hidden' : ''; | |||
| // Create fieldset for each field | |||
| const fieldsetChildren = [ | |||
| { | |||
| "tag": "label", | |||
| "attr": { | |||
| "class": "label text-primary" + hiddenId, | |||
| "class": "label text-primary " + hiddenId, | |||
| "data-value": params.db + "/" + key, | |||
| "for": key | |||
| }, | |||
| "html": [ | |||
| { | |||
| tag: 'span', | |||
| text: label | |||
| } | |||
| ] | |||
| text: label | |||
| } | |||
| ]; | |||
| console.log(fieldsetChildren); | |||
| // Handle different input types | |||
| let inputElement; | |||
| switch (prop.type) { | |||
| @@ -310,7 +348,7 @@ var UI = { | |||
| type: 'number', | |||
| value: (params.fields && params.fields[key]) ? params.fields[key] : false, | |||
| placeholder: prop.description || ' ', | |||
| class: 'field input w-full input-primary', | |||
| class: 'field input w-full input-primary' + hiddenId, | |||
| ...(required && { required: '' }) | |||
| } | |||
| }; | |||
| @@ -324,7 +362,7 @@ var UI = { | |||
| "data-value": params.db + "/" + key, | |||
| "name": key, | |||
| type: 'checkbox', | |||
| class: 'field toggle toggle-info', | |||
| class: 'field toggle toggle-info' + hiddenId, | |||
| ...(required && { required: '' }) | |||
| } | |||
| }; | |||
| @@ -340,7 +378,7 @@ var UI = { | |||
| "name": key, | |||
| value: (params.fields && params.fields[key]) ? params.fields[key] : false, | |||
| placeholder: prop.description || 'Enter values separated by commas', | |||
| class: 'field textarea w-full input-primary', | |||
| class: 'field textarea w-full input-primary' + hiddenId, | |||
| ...(required && { required: '' }) | |||
| } | |||
| }; | |||
| @@ -354,7 +392,7 @@ var UI = { | |||
| "data-value": params.db + "/" + key, | |||
| "name": key, | |||
| placeholder: prop.description || 'Enter JSON object', | |||
| class: 'field textarea w-full input-primary', | |||
| class: 'field textarea w-full input-primary' + hiddenId, | |||
| ...(required && { required: '' }) | |||
| } | |||
| }; | |||
| @@ -370,7 +408,7 @@ var UI = { | |||
| type: 'text', | |||
| value: (params.fields && params.fields[key]) ? params.fields[key] : false, | |||
| placeholder: prop.description || ' ', | |||
| class: 'field input w-full input-primary', | |||
| class: 'field input w-full input-primary' + hiddenId, | |||
| ...(required && { required: '' }) | |||
| } | |||
| }; | |||
| @@ -433,6 +471,17 @@ var UI = { | |||
| appForm.selector = params.selector; | |||
| jsonApp.do(appForm); | |||
| }, | |||
| columnsFromApi: function (db) { | |||
| let dbFields = js.json.data.api.components.schemas[params.db].properties; | |||
| let columns = []; | |||
| for (let key in dbFields) { | |||
| columns.push({ | |||
| "header": key, | |||
| "accessorKey": key | |||
| }); | |||
| } | |||
| return columns; | |||
| }, | |||
| createTable: function (params) { | |||
| /* console.log('createTable'); | |||
| @@ -461,7 +510,14 @@ var UI = { | |||
| let data = getTableData() | |||
| let version = 0 | |||
| let columns = js.json.data.ui.pages[params.db].columns; | |||
| let columns = JSON.parse(JSON.stringify(js.json.data.preferences.tables[params.db].columns)); | |||
| /* | |||
| let columns = this.columnsFromApi(params.db); | |||
| console.log('columns', JSON.stringify(columns)); | |||
| let visibility = js.json.data.preferences.tables[params.db].columns; | |||
| console.log('visibility', JSON.stringify(visibility)); | |||
| */ | |||
| const state = { | |||
| columnPinning: { left: [], right: [] }, | |||
| @@ -495,7 +551,7 @@ var UI = { | |||
| if (!window.table) window.table = {}; | |||
| window.table[params.db] = { | |||
| window.table[params.db] = Alpine.reactive({ | |||
| dbId: params.db, | |||
| version, | |||
| columns, | |||
| @@ -614,7 +670,10 @@ var UI = { | |||
| return column.getIsVisible() | |||
| }, | |||
| toggleColumn(column) { | |||
| column.toggleVisibility() | |||
| column.toggleVisibility(); | |||
| /* let preferences = JSON.parse(localStorage.getItem("preferences")); | |||
| preferences.tables[this.dbId].columns = this.getVisibleColumns(this.dbId); | |||
| localStorage.setItem("preferences", JSON.stringify(preferences)); */ | |||
| this.render() | |||
| }, | |||
| toggleSelectedRow(row) { | |||
| @@ -648,7 +707,7 @@ var UI = { | |||
| this.version++ | |||
| } | |||
| } | |||
| }); | |||
| return window.table[params.db] | |||
| }, | |||
| @@ -657,8 +716,33 @@ var UI = { | |||
| console.log('loadTemplate', params); | |||
| // add to html the parameters {url, to} | |||
| var xmlhttp = new XMLHttpRequest(); | |||
| xmlhttp.onreadystatechange = function () { | |||
| console.log('readyState', this.readyState, 'status', this.status); | |||
| //console.log(this); | |||
| if (this.readyState == 4 && this.status == 200) { | |||
| //console.log(this.responseText); | |||
| } else if (this.readyState == 4 && this.status == 401) { | |||
| // unauthenticated | |||
| window.location.reload(); | |||
| } else { | |||
| if (this.status !== 0) | |||
| console.log('Error loading ' + params.url); | |||
| } | |||
| }; | |||
| xmlhttp.open("GET", params.url, false); | |||
| xmlhttp.send(); | |||
| xmlhttp.send();/* .then(function (data) { | |||
| console.log('loadTemplate success'); | |||
| console.log(data); | |||
| //js.callback({ do: params.success }); | |||
| }).catch((err) => { | |||
| console.log('loadTemplate error'); | |||
| console.log(err); | |||
| window.location.reload(); | |||
| //js.callback({ do: params.error }); | |||
| }); */ | |||
| if (xmlhttp.responseText) { | |||
| var responseText = xmlhttp.responseText; | |||
| if (params.arguments) { | |||
| @@ -4,258 +4,6 @@ | |||
| "id": "", | |||
| "name": "", | |||
| "token": "" | |||
| }, | |||
| "ui": { | |||
| "pages": { | |||
| "building": { | |||
| "columns": [ | |||
| { | |||
| "accessorKey": "name", | |||
| "header": "Name" | |||
| }, | |||
| { | |||
| "accessorKey": "city", | |||
| "header": "City" | |||
| }, | |||
| { | |||
| "accessorKey": "actions", | |||
| "header": "" | |||
| } | |||
| ] | |||
| }, | |||
| "floor": { | |||
| "columns": [ | |||
| { | |||
| "accessorKey": "name", | |||
| "header": "Name" | |||
| }, | |||
| { | |||
| "accessorKey": "BuildingName", | |||
| "header": "Building" | |||
| }, | |||
| { | |||
| "accessorKey": "actions", | |||
| "header": "" | |||
| } | |||
| ] | |||
| }, | |||
| "zone": { | |||
| "columns": [ | |||
| { | |||
| "accessorKey": "name", | |||
| "header": "Name" | |||
| }, | |||
| { | |||
| "accessorKey": "BuildingName", | |||
| "header": "Building" | |||
| }, | |||
| { | |||
| "accessorKey": "FloorName", | |||
| "header": "Floor" | |||
| }, | |||
| { | |||
| "accessorKey": "actions", | |||
| "header": "" | |||
| } | |||
| ] | |||
| }, | |||
| "operator": { | |||
| "columns": [ | |||
| { | |||
| "accessorKey": "name", | |||
| "header": "Name" | |||
| }, | |||
| { | |||
| "accessorKey": "buildingName", | |||
| "header": "Building" | |||
| }, | |||
| { | |||
| "accessorKey": "floorName", | |||
| "header": "Floor" | |||
| }, | |||
| { | |||
| "accessorKey": "zones", | |||
| "header": "Zones" | |||
| }, | |||
| { | |||
| "accessorKey": "actions", | |||
| "header": "" | |||
| } | |||
| ] | |||
| }, | |||
| "subject": { | |||
| "columns": [ | |||
| { | |||
| "accessorKey": "name", | |||
| "header": "Name" | |||
| }, | |||
| { | |||
| "accessorKey": "buildingName", | |||
| "header": "Building" | |||
| }, | |||
| { | |||
| "accessorKey": "floorName", | |||
| "header": "Floor" | |||
| }, | |||
| { | |||
| "accessorKey": "actions", | |||
| "header": "" | |||
| } | |||
| ] | |||
| }, | |||
| "home": { | |||
| "columns": [ | |||
| { | |||
| "accessorKey": "timestamp", | |||
| "header": "Time" | |||
| }, | |||
| { | |||
| "accessorKey": "subjectName", | |||
| "header": "Subject" | |||
| }, | |||
| { | |||
| "accessorKey": "status", | |||
| "header": "Status" | |||
| }, | |||
| { | |||
| "accessorKey": "actions", | |||
| "header": "" | |||
| } | |||
| ] | |||
| }, | |||
| "alarm": { | |||
| "columns": [ | |||
| { | |||
| "accessorKey": "timestamp", | |||
| "header": "Time" | |||
| }, | |||
| { | |||
| "accessorKey": "subjectName", | |||
| "header": "Subject" | |||
| }, | |||
| { | |||
| "accessorKey": "status", | |||
| "header": "Status" | |||
| }, | |||
| { | |||
| "accessorKey": "actions", | |||
| "header": "" | |||
| } | |||
| ] | |||
| }, | |||
| "gateway": { | |||
| "columns": [ | |||
| { | |||
| "accessorKey": "name", | |||
| "header": "Name" | |||
| }, | |||
| { | |||
| "accessorKey": "status", | |||
| "header": "Status" | |||
| }, | |||
| { | |||
| "accessorKey": "model", | |||
| "header": "Model" | |||
| }, | |||
| { | |||
| "accessorKey": "ip", | |||
| "header": "IP" | |||
| }, | |||
| { | |||
| "accessorKey": "position", | |||
| "header": "Position" | |||
| }, | |||
| { | |||
| "accessorKey": "actions", | |||
| "header": "" | |||
| } | |||
| ] | |||
| }, | |||
| "tracker": { | |||
| "columns": [ | |||
| { | |||
| "accessorKey": "name", | |||
| "header": "Name" | |||
| }, | |||
| { | |||
| "accessorKey": "status", | |||
| "header": "Status" | |||
| }, | |||
| { | |||
| "accessorKey": "model", | |||
| "header": "Model" | |||
| }, | |||
| { | |||
| "accessorKey": "actions", | |||
| "header": "" | |||
| } | |||
| ] | |||
| }, | |||
| "trackerZone": { | |||
| "columns": [ | |||
| { | |||
| "accessorKey": "name", | |||
| "header": "Name" | |||
| }, | |||
| { | |||
| "accessorKey": "days", | |||
| "header": "Days" | |||
| }, | |||
| { | |||
| "accessorKey": "hours", | |||
| "header": "Hours" | |||
| }, | |||
| { | |||
| "accessorKey": "actions", | |||
| "header": "" | |||
| } | |||
| ] | |||
| }, | |||
| "track": { | |||
| "columns": [ | |||
| { | |||
| "accessorKey": "timestamp", | |||
| "header": "Time" | |||
| }, | |||
| { | |||
| "accessorKey": "subject", | |||
| "header": "Subject" | |||
| }, | |||
| { | |||
| "accessorKey": "gateway", | |||
| "header": "Gateway" | |||
| }, | |||
| { | |||
| "accessorKey": "status", | |||
| "header": "Status" | |||
| }, | |||
| { | |||
| "accessorKey": "signal", | |||
| "header": "Signal" | |||
| }, | |||
| { | |||
| "accessorKey": "actions", | |||
| "header": "" | |||
| } | |||
| ] | |||
| }, | |||
| "setting": { | |||
| "columns": [ | |||
| { | |||
| "accessorKey": "name", | |||
| "header": "Name" | |||
| }, | |||
| { | |||
| "accessorKey": "role", | |||
| "header": "Role" | |||
| }, | |||
| { | |||
| "accessorKey": "actions", | |||
| "header": "" | |||
| } | |||
| ] | |||
| } | |||
| } | |||
| } | |||
| }, | |||
| "on": { | |||
| @@ -272,6 +20,25 @@ | |||
| } | |||
| ], | |||
| "init": [ | |||
| { | |||
| "if": { | |||
| "is": "{local:preferences}", | |||
| "then": [ | |||
| { | |||
| "set": { | |||
| "data preferences": "{local:preferences}" | |||
| } | |||
| } | |||
| ], | |||
| "else": [ | |||
| { | |||
| "local set": { | |||
| "preferences": "{data preferences}" | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| }, | |||
| { | |||
| "set": { | |||
| "var saveMethod": "POST" | |||
| @@ -494,6 +261,10 @@ | |||
| "language": "en", | |||
| "log": false, | |||
| "modules": [ | |||
| { | |||
| "name": "reslevisData", | |||
| "url": "assets/modules/reslevis.config.json" | |||
| }, | |||
| { | |||
| "name": "reslevisIcons", | |||
| "url": "assets/modules/reslevis.icons.json" | |||
| @@ -610,6 +381,7 @@ | |||
| "tracker", | |||
| "trackerZone", | |||
| "track", | |||
| "fingerprint", | |||
| "setting" | |||
| ], | |||
| "do": [ | |||
| @@ -844,12 +616,7 @@ | |||
| "do": [ | |||
| { | |||
| "set": { | |||
| "var dbUrl": [ | |||
| "{data api servers {arguments:localDb} url}/get{arguments:db}s", | |||
| "{arguments:localPath}/{arguments:db}.json" | |||
| ], | |||
| "var infoText": "{texts info{arguments:db}s}", | |||
| "var token": "{data user token}" | |||
| "var infoText": "{texts info{arguments:db}s}" | |||
| } | |||
| }, | |||
| { | |||
| @@ -858,7 +625,7 @@ | |||
| { | |||
| "fetchJson": { | |||
| "to": "var getResult", | |||
| "url": "{var dbUrl {arguments:localDb}}", | |||
| "url": "{arguments:localPath}/{arguments:db}.json", | |||
| "options": { | |||
| "method": "GET", | |||
| "headers": { | |||
| @@ -903,6 +670,27 @@ | |||
| "openPage": { | |||
| "arguments": "(page, path)", | |||
| "do": [ | |||
| { | |||
| "if2": { | |||
| "is": "'{arguments:page}' === 'home'", | |||
| "then": [ | |||
| { | |||
| "attr": { | |||
| "selector": ".menuleft", | |||
| "addClass": "hidden" | |||
| } | |||
| } | |||
| ], | |||
| "else": [ | |||
| { | |||
| "attr": { | |||
| "selector": ".menuleft", | |||
| "removeClass": "hidden" | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| }, | |||
| { | |||
| "if": { | |||
| "is": "'{arguments:page}' === ''", | |||
| @@ -1201,7 +989,14 @@ | |||
| "selector": "body", | |||
| "tag": "div", | |||
| "attr": { | |||
| "class": "main w-full h-screen" | |||
| "class": "menuleft float-left w-[200px] hidden lg:block" | |||
| } | |||
| }, | |||
| { | |||
| "selector": "body", | |||
| "tag": "div", | |||
| "attr": { | |||
| "class": "main h-screen h-full" | |||
| }, | |||
| "comment": [ | |||
| { | |||
| @@ -1294,6 +1089,15 @@ | |||
| ] | |||
| } | |||
| ] | |||
| }, | |||
| { | |||
| "loadTemplate": { | |||
| "selector": ".menuleft", | |||
| "url": "./assets/templates/menuleft.html", | |||
| "to": "template menuleft", | |||
| "arguments": {}, | |||
| "callback": [] | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| @@ -1918,15 +1918,15 @@ | |||
| }, | |||
| "temperature": { | |||
| "type": "string", | |||
| "description": "Battery" | |||
| "description": "Temperature" | |||
| }, | |||
| "acceleration": { | |||
| "type": "string", | |||
| "description": "Battery" | |||
| "description": "Acceleration" | |||
| }, | |||
| "heartRate": { | |||
| "type": "string", | |||
| "description": "Battery" | |||
| "description": "HeartRate" | |||
| }, | |||
| "building": { | |||
| "type": "string", | |||
| @@ -0,0 +1,72 @@ | |||
| <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none" x="0px" y="0px" width="500px" height="500px" viewBox="0 0 500 500"> | |||
| <defs> | |||
| <g id="Layer0_0_FILL"> | |||
| <path fill="#ffffff" stroke="none" d=" | |||
| M 282.5 221.65 | |||
| L 271.5 221.65 250 278.3 228.5 221.65 217.5 221.65 244.55 292.75 244.55 292.8 250.1 307 282.5 221.65 | |||
| M 250.05 316.9 | |||
| L 250.05 316.95 250.1 316.95 250.05 316.9 | |||
| M 211.5 214.05 | |||
| L 211.5 204.7 172.55 204.7 172.55 289.45 211.5 289.45 211.5 280.15 184.1 280.15 184.1 251.2 205.3 251.2 205.3 242.25 184.1 242.25 184.1 214.05 211.5 214.05 | |||
| M 304.8 204.7 | |||
| L 293.25 204.7 293.25 289.45 304.8 289.45 304.8 204.7 | |||
| M 161.8 279.85 | |||
| L 130.45 279.85 130.45 204.7 118.9 204.7 118.9 289.45 161.8 289.45 161.8 279.85 | |||
| M 242.5 161 | |||
| L 242.5 132.8 269.85 132.8 269.85 123.45 230.95 123.45 230.95 208.2 269.85 208.2 269.85 198.9 242.5 198.9 242.5 169.95 263.65 169.95 263.65 161 242.5 161 | |||
| M 213.2 121.5 | |||
| Q 211.35 117.1 207.55 114.05 203.75 111 197.95 109.4 192.15 107.75 184 107.75 | |||
| L 160.05 107.75 160.05 192.5 171.5 192.5 171.5 157.2 180.2 157.2 | |||
| Q 182.6 157.2 183.7 157.75 184.9 158.4 185.95 159.8 | |||
| L 207.95 190.1 | |||
| Q 209.4 192.5 212.55 192.5 | |||
| L 222.7 192.5 197.95 158.85 | |||
| Q 196.3 156.45 194.25 155.25 199.05 154.05 203.05 151.95 206.9 149.8 209.5 146.65 212.3 143.5 213.65 139.65 215.05 135.75 215.05 131.2 215.05 125.85 213.2 121.5 | |||
| M 203.85 132.05 | |||
| Q 203.85 135.75 202.55 138.8 201.3 141.95 198.8 144.15 196.1 146.4 192.3 147.6 188.5 148.8 183.55 148.8 | |||
| L 171.5 148.8 171.5 116.8 184 116.8 | |||
| Q 193.9 116.8 198.85 120.7 203.85 124.5 203.85 132.05 | |||
| M 358.8 216.55 | |||
| L 359.95 217.3 369.4 212.1 | |||
| Q 365.2 208.1 359.7 206 353.8 203.8 346.75 203.8 340.4 203.8 335.5 205.7 330.6 207.65 327.35 210.9 323.95 214.15 322.25 218.4 320.5 222.55 320.5 227.05 320.5 232.7 322.25 236.5 323.95 240.3 326.8 242.9 329.65 245.35 333.35 247.05 | |||
| L 348.25 252.1 | |||
| Q 351.85 253.3 354.7 255 357.6 256.65 359.25 259.05 361 261.55 361 265.35 361 268.95 359.9 271.7 358.6 274.6 356.45 276.6 354.25 278.65 351 279.75 347.85 280.95 343.7 280.95 338.8 280.95 335.4 279.55 | |||
| L 329.65 276.6 326.35 274.1 316.8 279.4 | |||
| Q 321.6 284.45 328.45 287.45 335.2 290.4 343.35 290.4 350.2 290.4 355.45 288.35 360.7 286.3 364.35 282.6 368.05 279.1 369.9 274.1 371.8 269.3 371.8 263.75 371.8 258.4 370.05 254.9 368.3 251.3 365.45 248.7 362.55 246.3 358.95 244.65 | |||
| L 344 239.2 | |||
| Q 340.4 238 337.5 236.3 334.65 234.75 332.9 232.35 331.15 230.05 331.15 226.45 331.15 223.65 332.15 221.35 333.2 218.85 335.1 217.2 337.15 215.35 340.1 214.3 343.05 213.3 346.95 213.3 350.9 213.3 353.9 214.25 | |||
| L 358.8 216.55 | |||
| M 399.55 227.05 | |||
| L 389.95 232.35 455.75 268.5 249.9 381.7 44.15 268.55 99.05 238.35 89.4 233.1 25 268.55 249.9 392.25 475 268.5 399.55 227.05 | |||
| M 330.95 116.9 | |||
| L 331.1 116.55 | |||
| Q 326.75 112.2 320.9 109.95 315 107.75 308 107.75 301.6 107.75 296.7 109.7 291.8 111.65 288.55 114.85 285.15 118.1 283.5 122.35 281.7 126.5 281.7 131.05 281.7 136.7 283.5 140.45 285.15 144.25 288 146.85 290.9 149.35 294.55 151 | |||
| L 309.45 156.1 | |||
| Q 313.05 157.3 315.95 158.95 318.8 160.6 320.45 163 322.2 165.5 322.2 169.3 322.2 172.9 321.1 175.7 319.8 178.55 317.7 180.6 315.45 182.6 312.25 183.7 309.1 184.95 304.95 184.95 300.05 184.95 296.6 183.55 | |||
| L 290.9 180.6 287.55 178.1 278.05 183.35 | |||
| Q 282.85 188.45 289.65 191.4 296.4 194.35 304.55 194.35 311.4 194.35 316.65 192.3 321.95 190.3 325.55 186.6 329.25 183.1 331.1 178.1 333.05 173.3 333.05 167.75 333.05 162.35 331.25 158.85 329.5 155.25 326.65 152.65 323.8 150.25 320.2 148.6 | |||
| L 305.2 143.15 | |||
| Q 301.6 141.95 298.75 140.3 295.85 138.7 294.1 136.3 292.35 134 292.35 130.4 292.35 127.6 293.35 125.3 294.4 122.8 296.35 121.15 298.35 119.3 301.3 118.3 304.3 117.25 308.15 117.25 312.15 117.25 315.1 118.2 | |||
| L 320 120.5 322.05 121.85 330.95 116.9 Z"/> | |||
| </g> | |||
| <g id="Layer0_1_FILL"> | |||
| <path fill="#008EED" stroke="none" d=" | |||
| M 235.35 319.5 | |||
| Q 228.75 323.5 228.95 328.5 228.8 332.6 232.7 335.85 233.8 336.75 235.35 337.65 241.6 340.85 250 340.85 258.55 340.85 264.5 337.65 266.1 336.75 267.25 335.85 271.25 332.6 271.05 328.5 271.25 323.5 264.5 319.5 260.7 317.4 255.8 316.65 253.05 316.25 250 316.25 247 316.25 244.25 316.65 239.35 317.4 235.35 319.5 | |||
| M 239.7 335.85 | |||
| Q 238.3 335.3 237 334.65 232.45 331.95 232.35 328.5 232.45 325.15 237.05 322.4 242.45 319.55 250 319.55 257.55 319.55 262.85 322.45 267.55 325.15 267.75 328.5 267.55 331.95 262.85 334.65 261.65 335.3 260.3 335.85 255.8 337.45 250 337.45 244.2 337.45 239.7 335.85 | |||
| M 257.05 328.5 | |||
| Q 257.05 326.9 254.95 325.75 252.9 324.7 250 324.7 247.1 324.7 245 325.75 242.9 326.9 242.9 328.5 242.9 330.2 245 331.3 247.1 332.4 250 332.4 252.9 332.4 254.95 331.3 257.05 330.2 257.05 328.5 Z"/> | |||
| </g> | |||
| </defs> | |||
| <g transform="matrix( 1, 0, 0, 1, 0,0) "> | |||
| <use xlink:href="#Layer0_0_FILL"/> | |||
| </g> | |||
| <g transform="matrix( 1.39996337890625, 0, 0, 1.39996337890625, -99.95,-127) "> | |||
| <use xlink:href="#Layer0_1_FILL"/> | |||
| </g> | |||
| </svg> | |||
| @@ -25,7 +25,7 @@ | |||
| <body class="p-6 font-sans"> | |||
| <div class=" w-full flex align-items-center justify-content-center text-center justify-between"> | |||
| <div class="flex align-items-center justify-content-center text-center justify-between"> | |||
| <!-- Floor Selector --> | |||
| <select id="floor-select" class="select select-bordered border-[#008EED] select-primary w-full max-w-xs"> | |||
| <option value="0" selected>Floor 0</option> | |||
| @@ -0,0 +1,109 @@ | |||
| { | |||
| "data": { | |||
| "settings": { | |||
| "version": "1.1.3", | |||
| "debug": false, | |||
| "unit": 1, | |||
| "authRequired": false, | |||
| "localDb": "0", | |||
| "localWebhook": "", | |||
| "localWebhookPlayground": "", | |||
| "localPath": "db/reslevis", | |||
| "serverUrl": "https://10.251.0.30:5050/frontend/api/reslevis", | |||
| "serverTokenUrl": "", | |||
| "serverClientSecret": "", | |||
| "updateInterval": 50000 | |||
| }, | |||
| "preferences": { | |||
| "tables": { | |||
| "building": { | |||
| "columns": { | |||
| "name": true, | |||
| "city": true, | |||
| "address": true | |||
| } | |||
| }, | |||
| "floor": { | |||
| "columns": { | |||
| "name": true, | |||
| "BuildingName": true | |||
| } | |||
| }, | |||
| "zone": { | |||
| "columns": { | |||
| "name": true, | |||
| "BuildingName": true, | |||
| "FloorName": true | |||
| } | |||
| }, | |||
| "operator": { | |||
| "columns": { | |||
| "name": true, | |||
| "buildingName": true, | |||
| "floorName": true, | |||
| "zones": true | |||
| } | |||
| }, | |||
| "subject": { | |||
| "columns": { | |||
| "name": true, | |||
| "buildingName": true, | |||
| "floorName": true | |||
| } | |||
| }, | |||
| "home": { | |||
| "columns": { | |||
| "timestamp": true, | |||
| "subjectName": true, | |||
| "status": true | |||
| } | |||
| }, | |||
| "alarm": { | |||
| "columns": { | |||
| "timestamp": true, | |||
| "subjectName": true, | |||
| "status": true | |||
| } | |||
| }, | |||
| "gateway": { | |||
| "columns": { | |||
| "name": false, | |||
| "status": true, | |||
| "model": true, | |||
| "ip": true, | |||
| "position": true | |||
| } | |||
| }, | |||
| "tracker": { | |||
| "columns": { | |||
| "name": true, | |||
| "status": true, | |||
| "model": true | |||
| } | |||
| }, | |||
| "trackerZone": { | |||
| "columns": { | |||
| "name": true, | |||
| "days": true, | |||
| "hours": true | |||
| } | |||
| }, | |||
| "track": { | |||
| "columns": { | |||
| "timestamp": true, | |||
| "subject": true, | |||
| "gateway": true, | |||
| "status": true, | |||
| "signal": true | |||
| } | |||
| }, | |||
| "setting": { | |||
| "columns": { | |||
| "name": true, | |||
| "role": true | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| @@ -1,19 +1,5 @@ | |||
| { | |||
| "data": { | |||
| "settings": { | |||
| "version": "1.1.2", | |||
| "debug": true, | |||
| "unit": 1, | |||
| "authRequired": false, | |||
| "localDb": "1", | |||
| "localWebhook": "", | |||
| "localWebhookPlayground": "", | |||
| "localPath": "db/reslevis", | |||
| "serverUrl": "https://10.251.0.30:5050/frontend/api/reslevis", | |||
| "serverTokenUrl": "", | |||
| "serverClientSecret": "", | |||
| "updateInterval": 50000 | |||
| }, | |||
| "db": {} | |||
| } | |||
| } | |||
| @@ -1,4 +1,4 @@ | |||
| <div class="h-full lg:min-w-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="h-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="border-base-200 flex items-center justify-between px-5 mb-[10px] space-x-3"> | |||
| @@ -14,37 +14,27 @@ | |||
| placeholder="Search" /> | |||
| </label> | |||
| <!-- <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div | |||
| tabindex="0" | |||
| role="button" | |||
| class="btn btn-outline btn-primary"> | |||
| <span | |||
| class="iconify lucide--columns-3-cog size-4"></span> | |||
| <div class="columnsDropdown dropdown dropdown-bottom dropdown-end"> | |||
| <div tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| <span class="iconify lucide--columns-3-cog size-4"></span> | |||
| </div> | |||
| <div tabindex="0" class="dropdown-content bg-base-100 rounded-box w-44 shadow"> | |||
| <ul class="menu w-full"> | |||
| <template | |||
| x-for="column in allLeafColumns" | |||
| :key="column.id"> | |||
| <li @click="toggleColumn(column)"> | |||
| <div | |||
| class="group gap-2.5" | |||
| :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span | |||
| class="font-medium" | |||
| x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| <ul class="menu w-full"> | |||
| <template x-for="column in allLeafColumns" :key="column.id"> | |||
| <li @click="toggleColumn(column)" class="columnVisibility"> | |||
| <div class="group gap-2.5" :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span class="font-medium" x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| </div> | |||
| </div> --> | |||
| </div> | |||
| <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div aria-label="More actions" tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| @@ -76,10 +66,9 @@ | |||
| </div> | |||
| </div> | |||
| <div class="flex w-full px-[30px]"> | |||
| <div class="flex px-[30px]"> | |||
| <div | |||
| class=" max-h-[calc(100vh-260px)] overflow-y-scroll overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div class=" overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div | |||
| class="min-w-[480px] px-[20px] py-[20px] border-base-200 flex flex-wrap items-center justify-between gap-2"> | |||
| @@ -234,7 +223,7 @@ | |||
| </div> | |||
| <div | |||
| class="post min-w-[400px] max-w-[600px] max-h-[calc(100vh-260px)] overflow-y-scroll border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| class="post min-w-[400px] max-w-[600px] border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| </div> | |||
| </div> | |||
| @@ -1,6 +1,6 @@ | |||
| <div class="h-full lg:min-w-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="h-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="border-base-200 flex items-center justify-between px-5 mb-[10px] space-x-3"> | |||
| <div class="border-base-200 flex items-center justify-between px-5 space-x-3"> | |||
| <div> | |||
| <span class="text-2xl text-[#008EED] leading-[80px] capitalize">{arguments:db}s</span> | |||
| @@ -14,37 +14,27 @@ | |||
| placeholder="Search" /> | |||
| </label> | |||
| <!-- <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div | |||
| tabindex="0" | |||
| role="button" | |||
| class="btn btn-outline btn-primary"> | |||
| <span | |||
| class="iconify lucide--columns-3-cog size-4"></span> | |||
| <div class="columnsDropdown dropdown dropdown-bottom dropdown-end"> | |||
| <div tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| <span class="iconify lucide--columns-3-cog size-4"></span> | |||
| </div> | |||
| <div tabindex="0" class="dropdown-content bg-base-100 rounded-box w-44 shadow"> | |||
| <ul class="menu w-full"> | |||
| <template | |||
| x-for="column in allLeafColumns" | |||
| :key="column.id"> | |||
| <li @click="toggleColumn(column)"> | |||
| <div | |||
| class="group gap-2.5" | |||
| :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span | |||
| class="font-medium" | |||
| x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| <ul class="menu w-full"> | |||
| <template x-for="column in allLeafColumns" :key="column.id"> | |||
| <li @click="toggleColumn(column)" class="columnVisibility"> | |||
| <div class="group gap-2.5" :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span class="font-medium" x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| </div> | |||
| </div> --> | |||
| </div> | |||
| <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div aria-label="More actions" tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| @@ -76,10 +66,9 @@ | |||
| </div> | |||
| </div> | |||
| <div class="flex w-full px-[30px]"> | |||
| <div class="flex px-[30px]"> | |||
| <div | |||
| class=" max-h-[calc(100vh-260px)] overflow-y-scroll overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div class="mb-[30px] overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div | |||
| class="min-w-[480px] px-[20px] py-[20px] border-base-200 flex flex-wrap items-center justify-between gap-2"> | |||
| @@ -177,9 +166,7 @@ | |||
| </div> | |||
| </template> | |||
| <template x-if="cell.column.id === 'city'"> | |||
| <span class="text-base font-medium" x-text="cell.row.original.city"></span> | |||
| </template> | |||
| <template x-if="cell.column.id === 'actions'"> | |||
| <div class="gap-2 text-right"> | |||
| @@ -219,7 +206,7 @@ | |||
| </div> | |||
| <div | |||
| class="post min-w-[400px] max-w-[600px] max-h-[calc(100vh-260px)] overflow-y-scroll border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| class="post min-w-[400px] max-w-[600px] border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| </div> | |||
| </div> | |||
| @@ -1,4 +1,4 @@ | |||
| <div class="table{arguments:db} h-full lg:min-w-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="table{arguments:db} h-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="border-base-200 flex items-center justify-between px-5 mb-[10px] space-x-3"> | |||
| <div> | |||
| @@ -13,37 +13,27 @@ | |||
| placeholder="Search" /> | |||
| </label> | |||
| <!-- <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div | |||
| tabindex="0" | |||
| role="button" | |||
| class="btn btn-outline btn-primary"> | |||
| <span | |||
| class="iconify lucide--columns-3-cog size-4"></span> | |||
| <div class="columnsDropdown dropdown dropdown-bottom dropdown-end"> | |||
| <div tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| <span class="iconify lucide--columns-3-cog size-4"></span> | |||
| </div> | |||
| <div tabindex="0" class="dropdown-content bg-base-100 rounded-box w-44 shadow"> | |||
| <ul class="menu w-full"> | |||
| <template | |||
| x-for="column in allLeafColumns" | |||
| :key="column.id"> | |||
| <li @click="toggleColumn(column)"> | |||
| <div | |||
| class="group gap-2.5" | |||
| :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span | |||
| class="font-medium" | |||
| x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| <ul class="menu w-full"> | |||
| <template x-for="column in allLeafColumns" :key="column.id"> | |||
| <li @click="toggleColumn(column)" class="columnVisibility"> | |||
| <div class="group gap-2.5" :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span class="font-medium" x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| </div> | |||
| </div> --> | |||
| </div> | |||
| <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div aria-label="More actions" tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| @@ -75,10 +65,9 @@ | |||
| </div> | |||
| </div> | |||
| <div class="flex w-full px-[30px]"> | |||
| <div class="flex px-[30px]"> | |||
| <div | |||
| class=" max-h-[calc(100vh-260px)] overflow-y-scroll overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div class="mb-[30px] overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div | |||
| class="min-w-[480px] px-[20px] py-[20px] border-base-200 flex flex-wrap items-center justify-between gap-2"> | |||
| @@ -237,7 +226,7 @@ | |||
| </div> | |||
| <div | |||
| class="post min-w-[400px] max-w-[600px] max-h-[calc(100vh-260px)] overflow-y-scroll border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| class="post min-w-[400px] max-w-[600px] border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| </div> | |||
| </div> | |||
| @@ -1,9 +1,7 @@ | |||
| <div class="h-full xl:min-w-0"> | |||
| <div class="h-full lg:min-w-full xl:min-w-0"> | |||
| <h1>RES LEVIS</h1> | |||
| <h1>RES LEVIS</h1> | |||
| <p>Information</p> | |||
| </div> | |||
| <p>Information</p> | |||
| </div> | |||
| @@ -1,40 +1,51 @@ | |||
| <div class="header w-full flex align-items-center justify-content-center text-center justify-between"> | |||
| <div class="header sticky top-0 left-0 z-50"> | |||
| <div class="w-full flex align-items-center justify-content-center text-center justify-between bg-[#fff]"> | |||
| <div class="text-center"> | |||
| <label class="myDrawerButton pointer" for="my-drawer" aria-label="open sidebar" | |||
| class="btn btn-square btn-ghost lg:hidden "> | |||
| <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" | |||
| viewBox="-50 -50 100 100" data-icon="rl:menu" | |||
| class="iconify text-[60px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| <path fill="currentColor" | |||
| d="M-28.55 19.6q.434.4447 1.05.45h55q.616-.0053 1.05-.45.4447-.434.45-1.05-.0053-.616-.45-1.05-.434-.4447-1.05-.45h-55q-.616.0053-1.05.45-.4447.434-.45 1.05.0053.616.45 1.05m57.1-20.65q-.434-.4447-1.05-.45h-55q-.616.0053-1.05.45-.4447.434-.45 1.05.0053.616.45 1.05.434.4447 1.05.45h55q.616-.0053 1.05-.45Q28.9947.616 29 0q-.0053-.616-.45-1.05m0-18.55q-.434-.4447-1.05-.45h-55q-.616.0053-1.05.45-.4447.434-.45 1.05.0053.616.45 1.05.434.4447 1.05.45h55q.616-.0053 1.05-.45.4447-.434.45-1.05-.0053-.616-.45-1.05Z"> | |||
| </path> | |||
| </svg> | |||
| </label> | |||
| </div> | |||
| <div class="logo m-[10px]"> | |||
| <div class="w-[120px] float-left"><a href="#home"><img class="" src="./assets/images/logo-reslevis.svg"></a> | |||
| <div class="logo"> | |||
| <div class="m-0 p-0 w-[80px] float-right"><a href="#home"><img class="" | |||
| src="./assets/images/logo-reslevis.svg"></a> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <div role="alert" class="alert alert-info alert-soft hidden sm:flex h-[60px] my-auto"> | |||
| <div class="p-[20px] text-center"> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <div role="alert" class="alert alert-info alert-soft h-[60px] w-full my-auto text-center rounded-none"> | |||
| <div class="flex align-items-center justify-content-center gap-2 mx-auto"> | |||
| <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" | |||
| class="stroke-info h-6 w-6 shrink-0 stroke-[#008EED]"> | |||
| <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" | |||
| d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path> | |||
| </svg> | |||
| <span class="text-[#008EED] infoText" js-data="texts tables info">Sustainable integrated nearby low energy | |||
| <span class="text-[#008EED] infoText" js-data="texts tables info">Sustainable integrated nearby low | |||
| energy | |||
| networks and services</span> | |||
| </div> | |||
| <div class="p-[20px] text-center"> | |||
| <label for="my-drawer" aria-label="open sidebar" class="btn btn-square btn-ghost"> | |||
| <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" | |||
| viewBox="-50 -50 100 100" data-icon="rl:menu" | |||
| class="iconify text-[60px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| <path fill="currentColor" | |||
| d="M-28.55 19.6q.434.4447 1.05.45h55q.616-.0053 1.05-.45.4447-.434.45-1.05-.0053-.616-.45-1.05-.434-.4447-1.05-.45h-55q-.616.0053-1.05.45-.4447.434-.45 1.05.0053.616.45 1.05m57.1-20.65q-.434-.4447-1.05-.45h-55q-.616.0053-1.05.45-.4447.434-.45 1.05.0053.616.45 1.05.434.4447 1.05.45h55q.616-.0053 1.05-.45Q28.9947.616 29 0q-.0053-.616-.45-1.05m0-18.55q-.434-.4447-1.05-.45h-55q-.616.0053-1.05.45-.4447.434-.45 1.05.0053.616.45 1.05.434.4447 1.05.45h55q.616-.0053 1.05-.45.4447-.434.45-1.05-.0053-.616-.45-1.05Z"> | |||
| </path> | |||
| </svg> | |||
| </label> | |||
| </div> | |||
| </div> | |||
| <div class="drawer drawer-end"> | |||
| <div class="drawer drawer-start"> | |||
| <input id="my-drawer" type="checkbox" class="drawer-toggle" /> | |||
| <div class="drawer-side"> | |||
| <div class=" drawer-side"> | |||
| <label for="my-drawer" aria-label="close sidebar" class="drawer-overlay"></label> | |||
| <div class="w-[200px] p-[20px] h-[100vh] overflow-y-scroll bg-white"> | |||
| @@ -1,4 +1,4 @@ | |||
| <div class="h-full lg:min-w-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="h-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="border-base-200 flex items-center justify-between px-5 mb-[10px] space-x-3"> | |||
| @@ -13,37 +13,27 @@ | |||
| placeholder="Search" /> | |||
| </label> | |||
| <!-- <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div | |||
| tabindex="0" | |||
| role="button" | |||
| class="btn btn-outline btn-primary"> | |||
| <span | |||
| class="iconify lucide--columns-3-cog size-4"></span> | |||
| <div class="columnsDropdown dropdown dropdown-bottom dropdown-end"> | |||
| <div tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| <span class="iconify lucide--columns-3-cog size-4"></span> | |||
| </div> | |||
| <div tabindex="0" class="dropdown-content bg-base-100 rounded-box w-44 shadow"> | |||
| <ul class="menu w-full"> | |||
| <template | |||
| x-for="column in allLeafColumns" | |||
| :key="column.id"> | |||
| <li @click="toggleColumn(column)"> | |||
| <div | |||
| class="group gap-2.5" | |||
| :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span | |||
| class="font-medium" | |||
| x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| <ul class="menu w-full"> | |||
| <template x-for="column in allLeafColumns" :key="column.id"> | |||
| <li @click="toggleColumn(column)" class="columnVisibility" :data-column="column.id"> | |||
| <div class="group gap-2.5" :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span class="font-medium" x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| </div> | |||
| </div> --> | |||
| </div> | |||
| <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div aria-label="More actions" tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| @@ -75,10 +65,9 @@ | |||
| </div> | |||
| </div> | |||
| <div class="flex w-full px-[30px]"> | |||
| <div class="flex px-[30px]"> | |||
| <div | |||
| class=" max-h-[calc(100vh-260px)] overflow-y-scroll overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div class="overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div | |||
| class="min-w-[480px] px-[20px] py-[20px] border-base-200 flex flex-wrap items-center justify-between gap-2"> | |||
| @@ -183,7 +172,7 @@ | |||
| <template x-if="cell.column.id === 'actions'"> | |||
| <div class="gap-2 text-right"> | |||
| <button aria-label="Show" class="saveButton btn btn-outline btn-primary" | |||
| @click="viewRow(cell.row)">Open</button> | |||
| @click="viewRow(cell.row)">Modify</button> | |||
| <!-- <button | |||
| aria-label="Show" | |||
| class="btn btn-soft btn-xs btn-square" | |||
| @@ -218,7 +207,7 @@ | |||
| </div> | |||
| <div | |||
| class="post min-w-[400px] max-w-[600px] max-h-[calc(100vh-260px)] overflow-y-scroll border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| class="post min-w-[400px] max-w-[600px] border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| </div> | |||
| </div> | |||
| @@ -1,4 +1,4 @@ | |||
| <div class="h-full lg:min-w-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="h-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="border-base-200 flex items-center justify-between px-5 mb-[10px] space-x-3"> | |||
| @@ -13,6 +13,28 @@ | |||
| placeholder="Search" /> | |||
| </label> | |||
| <div class="columnsDropdown dropdown dropdown-bottom dropdown-end"> | |||
| <div tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| <span class="iconify lucide--columns-3-cog size-4"></span> | |||
| </div> | |||
| <div tabindex="0" class="dropdown-content bg-base-100 rounded-box w-44 shadow"> | |||
| <ul class="menu w-full"> | |||
| <template x-for="column in allLeafColumns" :key="column.id"> | |||
| <li @click="toggleColumn(column)" class="columnVisibility"> | |||
| <div class="group gap-2.5" :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span class="font-medium" x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| </div> | |||
| </div> | |||
| <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div aria-label="More actions" tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| <span class="iconify lucide--ellipsis-vertical size-4"></span> | |||
| @@ -43,10 +65,9 @@ | |||
| </div> | |||
| </div> | |||
| <div class="flex w-full px-[30px]"> | |||
| <div class="flex px-[30px]"> | |||
| <div | |||
| class=" max-h-[calc(100vh-260px)] overflow-y-scroll overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div class=" overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div | |||
| class="min-w-[480px] px-[20px] py-[20px] border-base-200 flex flex-wrap items-center justify-between gap-2"> | |||
| @@ -146,7 +167,7 @@ | |||
| <template x-if="cell.column.id === 'actions'"> | |||
| <div class="gap-2 text-right"> | |||
| <button aria-label="Show" class="saveButton btn btn-outline btn-primary" | |||
| @click="viewRow(cell.row)">Open</button> | |||
| @click="viewRow(cell.row)">Modify</button> | |||
| </div> | |||
| </template> | |||
| @@ -166,7 +187,7 @@ | |||
| </div> | |||
| <div | |||
| class="post min-w-[400px] max-w-[600px] max-h-[calc(100vh-260px)] overflow-y-scroll border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| class="post min-w-[400px] max-w-[600px] border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| </div> | |||
| </div> | |||
| @@ -1,4 +1,4 @@ | |||
| <div class="h-full lg:min-w-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="h-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="border-base-200 flex items-center justify-between px-5 mb-[10px] space-x-3"> | |||
| @@ -13,37 +13,27 @@ | |||
| placeholder="Search" /> | |||
| </label> | |||
| <!-- <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div | |||
| tabindex="0" | |||
| role="button" | |||
| class="btn btn-outline btn-primary"> | |||
| <span | |||
| class="iconify lucide--columns-3-cog size-4"></span> | |||
| <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| <span class="iconify lucide--columns-3-cog size-4"></span> | |||
| </div> | |||
| <div tabindex="0" class="dropdown-content bg-base-100 rounded-box w-44 shadow"> | |||
| <ul class="menu w-full"> | |||
| <template | |||
| x-for="column in allLeafColumns" | |||
| :key="column.id"> | |||
| <li @click="toggleColumn(column)"> | |||
| <div | |||
| class="group gap-2.5" | |||
| :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span | |||
| class="font-medium" | |||
| x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| <ul class="menu w-full"> | |||
| <template x-for="column in allLeafColumns" :key="column.id"> | |||
| <li @click="toggleColumn(column)" class="columnVisibility"> | |||
| <div class="group gap-2.5" :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span class="font-medium" x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| </div> | |||
| </div> --> | |||
| </div> | |||
| <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div aria-label="More actions" tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| @@ -75,10 +65,9 @@ | |||
| </div> | |||
| </div> | |||
| <div class="flex w-full px-[30px]"> | |||
| <div class="flex px-[30px]"> | |||
| <div | |||
| class=" max-h-[calc(100vh-260px)] overflow-y-scroll overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div class="columnsDropdown overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div | |||
| class="min-w-[480px] px-[20px] py-[20px] border-base-200 flex flex-wrap items-center justify-between gap-2"> | |||
| @@ -183,7 +172,7 @@ | |||
| <template x-if="cell.column.id === 'actions'"> | |||
| <div class="gap-2 text-right"> | |||
| <button aria-label="Show" class="saveButton btn btn-outline btn-primary" | |||
| @click="viewRow(cell.row)">Open</button> | |||
| @click="viewRow(cell.row)">Modify</button> | |||
| <!-- <button | |||
| aria-label="Show" | |||
| class="btn btn-soft btn-xs btn-square" | |||
| @@ -218,7 +207,7 @@ | |||
| </div> | |||
| <div | |||
| class="post min-w-[400px] max-w-[600px] max-h-[calc(100vh-260px)] overflow-y-scroll border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| class="post min-w-[400px] max-w-[600px] border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| </div> | |||
| </div> | |||
| @@ -13,7 +13,7 @@ | |||
| placeholder="Search" /> | |||
| </label> | |||
| <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div class="columnsDropdown dropdown dropdown-bottom dropdown-end"> | |||
| <div aria-label="More actions" tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| <span class="iconify lucide--ellipsis-vertical size-4"></span> | |||
| </div> | |||
| @@ -138,7 +138,7 @@ | |||
| <template x-if="cell.column.id === 'actions'"> | |||
| <div class="gap-2 text-right"> | |||
| <button aria-label="Show" class="saveButton btn btn-outline btn-primary" | |||
| @click="viewRow(cell.row)">Open</button> | |||
| @click="viewRow(cell.row)">Modify</button> | |||
| </div> | |||
| </template> | |||
| @@ -1,4 +1,4 @@ | |||
| <div class="h-full lg:min-w-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="h-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="border-base-200 flex items-center justify-between px-5 mb-[10px] space-x-3"> | |||
| @@ -13,37 +13,27 @@ | |||
| placeholder="Search" /> | |||
| </label> | |||
| <!-- <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div | |||
| tabindex="0" | |||
| role="button" | |||
| class="btn btn-outline btn-primary"> | |||
| <span | |||
| class="iconify lucide--columns-3-cog size-4"></span> | |||
| <div class="columnsDropdown dropdown dropdown-bottom dropdown-end"> | |||
| <div tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| <span class="iconify lucide--columns-3-cog size-4"></span> | |||
| </div> | |||
| <div tabindex="0" class="dropdown-content bg-base-100 rounded-box w-44 shadow"> | |||
| <ul class="menu w-full"> | |||
| <template | |||
| x-for="column in allLeafColumns" | |||
| :key="column.id"> | |||
| <li @click="toggleColumn(column)"> | |||
| <div | |||
| class="group gap-2.5" | |||
| :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span | |||
| class="font-medium" | |||
| x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| <ul class="menu w-full"> | |||
| <template x-for="column in allLeafColumns" :key="column.id"> | |||
| <li @click="toggleColumn(column)" class="columnVisibility"> | |||
| <div class="group gap-2.5" :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span class="font-medium" x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| </div> | |||
| </div> --> | |||
| </div> | |||
| <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div aria-label="More actions" tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| @@ -75,10 +65,9 @@ | |||
| </div> | |||
| </div> | |||
| <div class="flex w-full px-[30px]"> | |||
| <div class="flex px-[30px]"> | |||
| <div | |||
| class=" max-h-[calc(100vh-260px)] overflow-y-scroll overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div class=" overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div | |||
| class="min-w-[480px] px-[20px] py-[20px] border-base-200 flex flex-wrap items-center justify-between gap-2"> | |||
| @@ -205,7 +194,7 @@ | |||
| <template x-if="cell.column.id === 'actions'"> | |||
| <div class="gap-2 text-right"> | |||
| <button aria-label="Show" class="saveButton btn btn-outline btn-primary" | |||
| @click="viewRow(cell.row)">Open</button> | |||
| @click="viewRow(cell.row)">Modify</button> | |||
| </div> | |||
| </template> | |||
| @@ -226,7 +215,7 @@ | |||
| </div> | |||
| <div | |||
| class="post min-w-[400px] max-w-[600px] max-h-[calc(100vh-260px)] overflow-y-scroll border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| class="post min-w-[400px] max-w-[600px] border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| </div> | |||
| </div> | |||
| @@ -1,4 +1,4 @@ | |||
| <div class="h-full lg:min-w-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="h-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="border-base-200 flex items-center justify-between px-5 mb-[10px] space-x-3"> | |||
| @@ -13,37 +13,27 @@ | |||
| placeholder="Search" /> | |||
| </label> | |||
| <!-- <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div | |||
| tabindex="0" | |||
| role="button" | |||
| class="btn btn-outline btn-primary"> | |||
| <span | |||
| class="iconify lucide--columns-3-cog size-4"></span> | |||
| <div class="columnsDropdown dropdown dropdown-bottom dropdown-end"> | |||
| <div tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| <span class="iconify lucide--columns-3-cog size-4"></span> | |||
| </div> | |||
| <div tabindex="0" class="dropdown-content bg-base-100 rounded-box w-44 shadow"> | |||
| <ul class="menu w-full"> | |||
| <template | |||
| x-for="column in allLeafColumns" | |||
| :key="column.id"> | |||
| <li @click="toggleColumn(column)"> | |||
| <div | |||
| class="group gap-2.5" | |||
| :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span | |||
| class="font-medium" | |||
| x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| <ul class="menu w-full"> | |||
| <template x-for="column in allLeafColumns" :key="column.id"> | |||
| <li @click="toggleColumn(column)" class="columnVisibility"> | |||
| <div class="group gap-2.5" :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span class="font-medium" x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| </div> | |||
| </div> --> | |||
| </div> | |||
| <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div aria-label="More actions" tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| @@ -75,10 +65,9 @@ | |||
| </div> | |||
| </div> | |||
| <div class="flex w-full px-[30px]"> | |||
| <div class="flex px-[30px]"> | |||
| <div | |||
| class=" max-h-[calc(100vh-260px)] overflow-y-scroll overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div class=" overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div | |||
| class="min-w-[480px] px-[20px] py-[20px] border-base-200 flex flex-wrap items-center justify-between gap-2"> | |||
| @@ -202,7 +191,7 @@ | |||
| <template x-if="cell.column.id === 'actions'"> | |||
| <div class="gap-2 text-right"> | |||
| <button aria-label="Show" class="saveButton btn btn-outline btn-primary" | |||
| @click="viewRow(cell.row)">Open</button> | |||
| @click="viewRow(cell.row)">Modify</button> | |||
| <!-- <button | |||
| aria-label="Show" | |||
| class="btn btn-soft btn-xs btn-square" | |||
| @@ -237,7 +226,7 @@ | |||
| </div> | |||
| <div | |||
| class="post min-w-[400px] max-w-[600px] max-h-[calc(100vh-260px)] overflow-y-scroll border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| class="post min-w-[400px] max-w-[600px] border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| </div> | |||
| </div> | |||
| @@ -1,4 +1,4 @@ | |||
| <div class="h-full lg:min-w-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="h-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="border-base-200 flex items-center justify-between px-5 mb-[10px] space-x-3"> | |||
| @@ -13,37 +13,27 @@ | |||
| placeholder="Search" /> | |||
| </label> | |||
| <!-- <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div | |||
| tabindex="0" | |||
| role="button" | |||
| class="btn btn-outline btn-primary"> | |||
| <span | |||
| class="iconify lucide--columns-3-cog size-4"></span> | |||
| <div class="columnsDropdown dropdown dropdown-bottom dropdown-end"> | |||
| <div tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| <span class="iconify lucide--columns-3-cog size-4"></span> | |||
| </div> | |||
| <div tabindex="0" class="dropdown-content bg-base-100 rounded-box w-44 shadow"> | |||
| <ul class="menu w-full"> | |||
| <template | |||
| x-for="column in allLeafColumns" | |||
| :key="column.id"> | |||
| <li @click="toggleColumn(column)"> | |||
| <div | |||
| class="group gap-2.5" | |||
| :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span | |||
| class="font-medium" | |||
| x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| <ul class="menu w-full"> | |||
| <template x-for="column in allLeafColumns" :key="column.id"> | |||
| <li @click="toggleColumn(column)" class="columnVisibility"> | |||
| <div class="group gap-2.5" :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span class="font-medium" x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| </div> | |||
| </div> --> | |||
| </div> | |||
| <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div aria-label="More actions" tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| @@ -55,7 +45,7 @@ | |||
| <li class="update{arguments:db}" @click="updateData()"> | |||
| <div> | |||
| <span class="iconify lucide--refresh-cw size-4"></span> | |||
| Refresh Data | |||
| Refresh | |||
| </div> | |||
| </li> | |||
| <li> | |||
| @@ -75,10 +65,9 @@ | |||
| </div> | |||
| </div> | |||
| <div class="flex w-full px-[30px]"> | |||
| <div class="flex px-[30px]"> | |||
| <div | |||
| class=" max-h-[calc(100vh-260px)] overflow-y-scroll overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div class=" overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div | |||
| class="min-w-[480px] px-[20px] py-[20px] border-base-200 flex flex-wrap items-center justify-between gap-2"> | |||
| @@ -183,7 +172,7 @@ | |||
| <template x-if="cell.column.id === 'actions'"> | |||
| <div class="gap-2 text-right"> | |||
| <button aria-label="Show" class="saveButton btn btn-outline btn-primary" | |||
| @click="viewRow(cell.row)">Open</button> | |||
| @click="viewRow(cell.row)">Modify</button> | |||
| <!-- <button | |||
| aria-label="Show" | |||
| class="btn btn-soft btn-xs btn-square" | |||
| @@ -218,7 +207,7 @@ | |||
| </div> | |||
| <div | |||
| class="post min-w-[400px] max-w-[600px] max-h-[calc(100vh-260px)] overflow-y-scroll border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| class="post min-w-[400px] max-w-[600px] border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| </div> | |||
| </div> | |||
| @@ -1,6 +1,6 @@ | |||
| <div class="h-full w-full"> | |||
| <div class="h-full"> | |||
| <iframe src="assets/maps/" width="100%" height="100%" class="h-[calc(100vh-170px)]"> | |||
| <iframe src="assets/maps/" class="w-[calc(100vw-250px)] h-[calc(100vh-170px)]" class=" h-[calc(100vh-170px)]"> | |||
| </iframe> | |||
| </div> | |||
| @@ -1,4 +1,4 @@ | |||
| <div class="h-full lg:min-w-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="h-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="border-base-200 flex items-center justify-between px-5 mb-[10px] space-x-3"> | |||
| @@ -13,37 +13,27 @@ | |||
| placeholder="Search" /> | |||
| </label> | |||
| <!-- <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div | |||
| tabindex="0" | |||
| role="button" | |||
| class="btn btn-outline btn-primary"> | |||
| <span | |||
| class="iconify lucide--columns-3-cog size-4"></span> | |||
| <div class="columnsDropdown dropdown dropdown-bottom dropdown-end"> | |||
| <div tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| <span class="iconify lucide--columns-3-cog size-4"></span> | |||
| </div> | |||
| <div tabindex="0" class="dropdown-content bg-base-100 rounded-box w-44 shadow"> | |||
| <ul class="menu w-full"> | |||
| <template | |||
| x-for="column in allLeafColumns" | |||
| :key="column.id"> | |||
| <li @click="toggleColumn(column)"> | |||
| <div | |||
| class="group gap-2.5" | |||
| :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span | |||
| class="font-medium" | |||
| x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| <ul class="menu w-full"> | |||
| <template x-for="column in allLeafColumns" :key="column.id"> | |||
| <li @click="toggleColumn(column)" class="columnVisibility"> | |||
| <div class="group gap-2.5" :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span class="font-medium" x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| </div> | |||
| </div> --> | |||
| </div> | |||
| <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div aria-label="More actions" tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| @@ -75,10 +65,9 @@ | |||
| </div> | |||
| </div> | |||
| <div class="flex w-full px-[30px]"> | |||
| <div class="flex px-[30px]"> | |||
| <div | |||
| class=" max-h-[calc(100vh-260px)] overflow-y-scroll overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div class=" overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| <div | |||
| class="min-w-[480px] px-[20px] py-[20px] border-base-200 flex flex-wrap items-center justify-between gap-2"> | |||
| @@ -218,7 +207,7 @@ | |||
| </div> | |||
| <div | |||
| class="post min-w-[400px] max-w-[600px] max-h-[calc(100vh-260px)] overflow-y-scroll border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| class="post min-w-[400px] max-w-[600px] border-solid border-1 border-[#008EED] rounded-none post{arguments:id} ml-[30px] mb-[30px] hidden"> | |||
| </div> | |||
| </div> | |||
| @@ -1,7 +1,7 @@ | |||
| <div class="h-full lg:min-w-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="mt-[30px] xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="flex w-full px-[30px]"> | |||
| <div class="flex px-[30px]"> | |||
| <div | |||
| class="hidden lg:block mr-[30px] max-w-[400px] h-[calc(100vh-170px)] overflow-y-scroll overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| @@ -118,7 +118,7 @@ | |||
| <div | |||
| class="dashboard w-full min-w-[400px] h-[calc(100vh-170px)] overflow-y-scroll border-solid border-1 border-[#008EED] rounded-none mb-[30px] "> | |||
| <div class="w-full cursor-pointer p-2"> | |||
| <!-- <div class="w-full cursor-pointer p-2"> | |||
| <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" | |||
| viewBox="-50 -50 100 100" data-icon="rl:menu" | |||
| class="iconify text-[50px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| @@ -126,7 +126,7 @@ | |||
| d="M-28.55 19.6q.434.4447 1.05.45h55q.616-.0053 1.05-.45.4447-.434.45-1.05-.0053-.616-.45-1.05-.434-.4447-1.05-.45h-55q-.616.0053-1.05.45-.4447.434-.45 1.05.0053.616.45 1.05m57.1-20.65q-.434-.4447-1.05-.45h-55q-.616.0053-1.05.45-.4447.434-.45 1.05.0053.616.45 1.05.434.4447 1.05.45h55q.616-.0053 1.05-.45Q28.9947.616 29 0q-.0053-.616-.45-1.05m0-18.55q-.434-.4447-1.05-.45h-55q-.616.0053-1.05.45-.4447.434-.45 1.05.0053.616.45 1.05.434.4447 1.05.45h55q.616-.0053 1.05-.45.4447-.434.45-1.05-.0053-.616-.45-1.05Z"> | |||
| </path> | |||
| </svg><span class="text-[#008EED] text-[18px] px-[0px] py-[10px]">Index</span> | |||
| </div> | |||
| </div> --> | |||
| <div class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-1 p-1"> | |||
| @@ -0,0 +1,121 @@ | |||
| <div class="w-[200px] p-[20px] h-[100vh] bg-white"> | |||
| <div class="p-1 hover:bg-primary/5 rounded-xl cursor-pointer"> | |||
| <a href="#building"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" | |||
| viewBox="-50 -50 100 100" data-icon="rl:buildings" | |||
| class="iconify text-[50px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| <path fill="currentColor" | |||
| d="M24.3 32v-64h-48.6v64h48.6m-2.45-61.55v59.1h-43.7v-59.1h43.7m-36.15 40.7v11.7h11.7v-11.7h-11.7m2.45 9.2V13.6h6.75v6.75h-6.75M-2.6-5.5h-11.7V6.2h11.7V-5.5m-9.25 2.45h6.75V3.7h-6.75v-6.75m-2.45-8.1h11.7v-11.7h-11.7v11.7m9.2-9.25v6.75h-6.75v-6.75h6.75m7.75 31.55v11.7h11.7v-11.7H2.65m2.45 9.2V13.6h6.75v6.75H5.1M14.35-5.5H2.65V6.2h11.7V-5.5M5.1-3.05h6.75V3.7H5.1v-6.75m-2.45-8.1h11.7v-11.7H2.65v11.7m9.2-9.25v6.75H5.1v-6.75h6.75Z"> | |||
| </path> | |||
| </svg></a><a href="#building"><span class="text-[#008EED] text-[15px] px-[0px] py-[0px]">Buildings</span></a> | |||
| </div> | |||
| <div class="p-1 hover:bg-primary/5 rounded-xl cursor-pointer"> | |||
| <a href="#floor"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" | |||
| viewBox="-50 -50 100 100" data-icon="rl:floors" | |||
| class="iconify text-[50px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| <path fill="currentColor" | |||
| d="M14.7-13.95V-14l-2.15-1.2-.05.05L0-22l-12.45 6.85-.05-.05-2.15 1.2v.05l-4.6 2.5h-.05L-40-.05v.1l20.7 11.4h.05L0 22l17.7-9.7h.05l7.65-4.25h.05L40 .05 39.95 0 40-.05 25.4-8.1l-.05.05-7.6-4.25h-.05l-3-1.65M12.9-1.2 2.25-7.1l10.25-5.65 10.65 5.9L12.9-1.2m-2.6-12.75L.05-8.3l-10.3-5.65L0-19.65l10.3 5.7m-22.75 1.2 10.3 5.65-10.7 5.9-10.25-5.7 10.65-5.85m6.4 10.2H-6l6.05-3.3L10.7 0 .05 5.9-10.65 0l4.6-2.55m-.75 7.1h.05l4.6 2.55-10.3 5.65-10.7-5.85 10.3-5.7 6.05 3.35m-18.55 1.1L-35.65 0l10.35-5.65L-15.05 0l-10.3 5.65m61-5.65-10.3 5.65L15.1 0l10.25-5.65L35.65 0M2.25 7.1 6.8 4.55h.05L12.9 1.2l10.35 5.65-10.7 5.9L2.25 7.1m8.1 6.85L0 19.65l-10.3-5.7L.05 8.3l10.3 5.65Z"> | |||
| </path> | |||
| </svg></a><a href="#floor"><span class="text-[#008EED] text-[15px] px-[0px] py-[0px]">Floors</span></a> | |||
| </div> | |||
| <div class="p-1 hover:bg-primary/5 rounded-xl cursor-pointer"> | |||
| <a href="#zone"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" | |||
| viewBox="-50 -50 100 100" data-icon="rl:zones" | |||
| class="iconify text-[50px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| <path fill="currentColor" | |||
| d="m25.45-8.05-7.7-4.25v.05L.05-22l-17.75 9.75v-.05l-1.5.85h-.05L-40-.05l.05.05-.05.05 20.75 11.35h.05L.05 21.95l25.4-13.9h.05l14.5-8v-.1l-14.5-8h-.05M.05-19.6l11.4 6.25h-.05L35.7 0 11.4 13.35h.05L.05 19.6-17 10.2.9.35l9.2 5.05 2.2-1.2-20-11-2.2 1.2 8.65 4.8L-19.2 9l-16.4-9L.05-19.6Z"> | |||
| </path> | |||
| </svg></a><a href="#zone"><span class="text-[#008EED] text-[15px] px-[0px] py-[0px]">Zones</span></a> | |||
| </div> | |||
| <div class="p-1 hover:bg-primary/5 rounded-xl cursor-pointer"> | |||
| <a href="#operator"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" | |||
| viewBox="-50 -50 100 100" data-icon="rl:operators" | |||
| class="iconify text-[50px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| <path fill="currentColor" | |||
| d="M-24.9-9.1v-.05q2.3-1.65 5.05-1.65 2.85 0 5 1.65l.05.05q.35.25.65.55v-2.65q-2.55-1.7-5.7-1.7-3.55 0-6.3 2.15-3 2.45-3 5.65V-3.45q.1.8.35 1.35-.75 1.25-.75 2.65 0 1.75 1.2 3.45.75 3.2 2.75 6.25.25.95.2 1.8v.1q-.1 1.35-.95 2.3-4.5 1.25-8.4 5.3-.25.4-.25.8t.35.75q.2.2.7.2.45 0 .7-.2 3.6-3.8 7.75-4.9.15-.15.45-.35 1.5-1.55 1.7-3.85.1-1.2-.25-2.7-.05-.15-.2-.35-1.9-2.8-2.6-5.8-.05-.3-.15-.45-.9-1.1-.9-2.35 0-1.05.65-2.1.15-.2.15-.45 0-.3-.1-.55Q-27-3-27.1-3.6v-1.5q.1-2.25 2.2-4m41.35-1q1.55-.7 3.35-.7 1.05 0 2 .2 1.65.35 3.1 1.45v.05q2.15 1.75 2.2 4v1.5q-.1.6-.3 1.05-.15.25-.15.55 0 .25.15.45.7 1.05.7 2.1 0 1.25-.95 2.35-.1.15-.15.45-.65 3-2.6 5.8-.15.2-.15.35-.35 1.5-.3 2.7.2 2.3 1.7 3.85.3.2.5.35 4.1 1.1 7.75 4.9.2.2.6.2.55 0 .75-.2.35-.35.35-.75t-.3-.8q-3.85-4.05-8.35-5.3-.85-.95-.95-2.3v-.1q-.05-.85.2-1.8 2-3.05 2.7-6.25 1.25-1.7 1.25-3.45 0-1.4-.7-2.65.2-.55.3-1.35V-5.1q0-3.2-3-5.65-1.95-1.55-4.35-2-.95-.15-2-.15-3.3 0-5.85 1.85v2.7q.4-.35.85-.75l.05-.05q.75-.55 1.6-.95m-11.1-7.05.05.05q2.5 2.05 2.5 4.7v1.65q-.2.7-.35 1.2-.25.4-.25.7.1.35.25.6.8 1.2.8 2.35Q8.3-4.5 7.3-3.15q-.2.2-.3.5Q6.25.95 3.9 4.2q-.15.2-.15.45-.4 1.7-.25 3.25h.05q.35 2.55 2.2 4.35.15.25.5.3 4.75 1.35 9 5.7.35.35.85.35.55 0 .9-.35t.35-.8q0-.5-.35-.85-4.6-4.7-9.8-6.2-1.05-1.25-1.3-2.85-.1-1.05.15-2.1 2.4-3.5 3.25-7.35 1.45-1.85 1.45-4 0-1.6-.85-3.1.2-.65.4-1.45v-1.95q.05-3.75-3.45-6.65Q3.6-21.5-.5-21.5q-4.15 0-7.35 2.45h-.05q-3.45 2.9-3.45 6.65v1.95q.05.8.35 1.5-.8 1.45-.8 3.05 0 2.15 1.4 3.95.8 3.9 3.25 7.4.15 1.1.1 2.15-.1 1.65-1.1 2.8-5.2 1.4-9.75 6.2-.35.35-.35.85 0 .45.4.8.3.35.85.35.5 0 .8-.35 4.2-4.35 9.05-5.7.25-.05.5-.3 1.85-1.8 2-4.45.15-1.5-.3-3.15Q-5 4.4-5.1 4.2-7.35.9-8.2-2.65q-.05-.3-.2-.5-1-1.3-1-2.75 0-1.15.75-2.4.2-.25.2-.6 0-.3-.15-.65-.3-.5-.35-1.2v-1.65q0-2.65 2.5-4.7v-.05q2.6-2 5.95-2 3.25 0 5.85 2Z"> | |||
| </path> | |||
| </svg></a><a href="#operator"><span class="text-[#008EED] text-[15px] px-[0px] py-[0px]">Operators</span></a> | |||
| </div> | |||
| <div class="p-1 hover:bg-primary/5 rounded-xl cursor-pointer"> | |||
| <a href="#subject"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" | |||
| viewBox="-50 -50 100 100" data-icon="rl:subjects" | |||
| class="iconify text-[50px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| <path fill="currentColor" | |||
| d="M-24.9-12.2h-.05q-3.35 2.7-3.35 6.45v1.85q.05.85.35 1.5-.8 1.45-.8 3 0 2.05 1.3 3.9.85 3.65 3.15 7.15.35 1.1.2 2.05v.1q-.1 1.55-1.05 2.65-5.1 1.45-9.55 6.05-.3.4-.3.9 0 .45.4.8.25.3.8.3.5 0 .8-.3 4.1-4.3 8.8-5.6.25-.1.5-.3 1.75-1.8 1.95-4.35.1-1.4-.3-3.15-.05-.15-.2-.35-2.2-3.2-2.95-6.65-.05-.3-.2-.5-1-1.25-1-2.7 0-1.1.7-2.35.2-.25.2-.55 0-.35-.15-.6-.25-.55-.3-1.2v-1.65q.05-2.6 2.45-4.6v-.05q2.55-1.9 5.7-1.9 3.3 0 5.75 1.9l.05.05q.4.3.75.6v-3q-2.9-1.95-6.55-1.95-4 0-7.1 2.5M28.4-.7q0-4.6-3-8-.2-.9-1.45-.9-.55 0-.9.35-.4.35-.4.9 0 .5.4.85.1.2.35.35Q25.8-4.4 25.8-.7q0 3.75-2.55 6.6-.35.45-.35.9.1.6.45.95t.95.3q.5-.05.9-.4Q28.4 4 28.4-.7m1.95-12.55q-.4-.4-.9-.45-.5-.05-.85.35-.45.35-.5.8-.05.5.3.95 2 2.25 3.05 5.05Q32.5-3.8 32.5-.7q0 2.95-1.05 5.9Q30.4 8 28.4 10.25q-.35.4-.35.95.05.5.45.85.35.35.95.35.45-.1.8-.45Q32.6 9.3 33.8 6.1 35 2.75 35-.7q0-3.55-1.2-6.8-1.2-3.1-3.45-5.75m-19.4-6.2q2.85 2.3 2.85 5.35v1.9q-.2.8-.45 1.35-.2.4-.2.8.1.4.25.65.95 1.35.95 2.7-.05 1.6-1.25 3.1-.2.25-.3.55-.85 4.15-3.55 7.85-.15.2-.15.5-.45 1.9-.3 3.65l.05.05q.4 2.95 2.5 4.95.2.25.6.35 5.35 1.55 10.25 6.5.35.35.95.35t1.05-.35q.35-.4.35-.95 0-.55-.35-.95-5.25-5.35-11.2-7.1-1.2-1.35-1.45-3.25v.1q-.1-1.15.15-2.5 2.7-3.95 3.75-8.3Q17.1-4.3 17.1-6.7q0-1.8-1.05-3.5.3-.75.45-1.7v-.05q.05-.6.05-2.15.05-4.3-3.95-7.55-3.7-2.85-8.35-2.85-4.7 0-8.4 2.85Q-8.1-18.4-8.1-14.1v2.15q.1 1 .4 1.75-.9 1.7-.9 3.5 0 2.4 1.55 4.55.95 4.3 3.7 8.3.25 1.35.15 2.45v.05q-.1 1.85-1.2 3.15-5.95 1.65-11.15 7.1-.35.4-.35.95 0 .55.4.95.4.35 1 .35.55 0 .9-.35 4.8-4.95 10.3-6.5.25-.1.55-.35 2.1-2.05 2.3-5.1.15-1.7-.35-3.55-.05-.3-.2-.5Q-3.55 1-4.5-3.05l-.2-.5q-1.2-1.5-1.2-3.15 0-1.35.9-2.7.2-.35.2-.7t-.15-.75q-.35-.55-.45-1.35v-1.9q.05-3.05 2.9-5.35v-.1Q.45-21.8 4.25-21.8q3.75 0 6.65 2.25l.05.1Z"> | |||
| </path> | |||
| </svg></a><a href="#subject"><span class="text-[#008EED] text-[15px] px-[0px] py-[0px]">Subjects</span></a> | |||
| </div> | |||
| <div class="p-1 hover:bg-primary/5 rounded-xl cursor-pointer"> | |||
| <a href="#alarm"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" | |||
| viewBox="-50 -50 100 100" data-icon="rl:alarms" | |||
| class="iconify text-[50px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| <path fill="currentColor" | |||
| d="m3.8-31.9-.05-.05Q2.252-33.493.05-33.5q-2.212.002-3.8 1.6-1.539 1.528-1.55 3.75.004 1.587.8 2.85-5.24 1.194-9.25 5.2l-.05.05q-5.43 5.42-5.7 13V-7q-.045 18.564-4.65 23.35-3.124 3.122-2.95 5.35-.12 2.711 3.6 4.15.266.1.55.1H-8.4q.3 2.909 2.45 5.05 2.484 2.495 6 2.5 3.516-.005 6-2.5 2.15-2.141 2.45-5.05H23q.284 0 .55-.1 3.72-1.439 3.55-4.15.224-2.228-2.9-5.35Q19.595 11.564 19.55-7v-.05q-.275-7.584-5.7-13-4.047-4.051-9.3-5.25.849-1.264.85-2.85-.007-2.202-1.6-3.75m-2.1 5.45q-.632.609-1.55.65h-.2q-.911-.037-1.6-.65l-.05-.05q-.605-.683-.6-1.65-.012-.978.65-1.65.712-.702 1.7-.7.962-.007 1.6.65l.05.05q.707.688.7 1.65.002.987-.7 1.7M.2-22.8q6.753.059 11.55 4.85 4.575 4.584 4.8 11 .062 20.293 5.55 25.45 1.93 1.93 2.05 3.15-.188.764-1.45 1.3h-45.35q-1.262-.536-1.45-1.3.12-1.22 2.05-3.15 5.488-5.157 5.55-25.45V-7q.247-6.37 4.85-10.95Q-6.886-22.741-.1-22.8q.076.003.15 0 .05.002.1 0H.2m5.25 48.75q-.24 1.681-1.5 2.95-1.616 1.605-3.9 1.6-2.284.005-3.9-1.6-1.26-1.269-1.55-2.95H5.45Z"> | |||
| </path> | |||
| </svg></a><a href="#alarm"><span class="text-[#008EED] text-[15px] px-[0px] py-[0px]">Alarms</span></a> | |||
| </div> | |||
| <div class="p-1 hover:bg-primary/5 rounded-xl cursor-pointer"> | |||
| <a href="#gateway"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" | |||
| viewBox="-50 -50 100 100" data-icon="rl:gateways" | |||
| class="iconify text-[50px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| <path fill="currentColor" | |||
| d="M21.15-21.25Q12.35-30 0-30q-12.45 0-21.25 8.75Q-30-12.4-30 0q0 12.35 8.75 21.15Q-12.5 30 0 30q12.35 0 21.15-8.8l.05-.05Q30 12.35 30 0q0-12.4-8.85-21.25M0-27.3q11.3 0 19.25 7.95v-.05Q27.3-11.35 27.3 0q0 11.25-8.05 19.25-8 8.05-19.25 8.05-11.35 0-19.35-8.05Q-27.3 11.3-27.3 0t7.9-19.35l.05-.05q8-7.9 19.35-7.9m13.85 13.35Q8.1-19.7 0-19.7q-8.15 0-13.95 5.75Q-19.7-8.1-19.7 0q0 8.15 5.75 13.85v.05q5.8 5.8 13.95 5.8 8.1 0 13.85-5.8l.05-.05Q19.7 8.15 19.7 0q0-8.1-5.85-13.95M0-17q7.05 0 11.95 4.9Q17-7.05 17 0t-5.05 11.95Q7 17 0 17q-7.05 0-12.05-5.05h-.05Q-17 7.05-17 0q0-7 4.9-12.05l.05-.05Q-7.05-17 0-17M4.45-3.2Q2.85-4.75.65-4.75q-2.15 0-3.7 1.55-1.6 1.55-1.6 3.75 0 2.25 1.6 3.75Q-1.5 5.9.65 5.9q2.2 0 3.8-1.6Q6 2.8 6 .55q0-2.2-1.55-3.75Z"> | |||
| </path> | |||
| </svg></a><a href="#gateway"><span class="text-[#008EED] text-[15px] px-[0px] py-[0px]">Gateways</span></a> | |||
| </div> | |||
| <div class="p-1 hover:bg-primary/5 rounded-xl cursor-pointer"> | |||
| <a href="#tracker"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" | |||
| viewBox="-50 -50 100 100" data-icon="rl:trackers" | |||
| class="iconify text-[50px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| <path fill="currentColor" | |||
| d="M-10.55-10.35q0 .05-.05.05-3.9 4.55-3.9 10.45 0 6.1 4.15 10.8.35.45 1 .5h.05q.6.05 1.1-.4v.05q.35-.45.35-1.05V10q.15-.6-.25-1.05-3.45-3.8-3.45-8.8 0-4.95 3.35-8.6v-.05q.1-.15.25-.3h.05q.45-.5.45-1 0-.6-.45-1.05h-.05q-.35-.45-1-.45-1.3 0-1.6.95M-21.6-8.6q-.05.05-.05.1-1.6 4.1-1.6 8.65 0 4.5 1.65 8.8V9q1.5 4.2 4.55 7.6.4.45 1.05.5.55 0 1.05-.3v-.05q.4-.4.45-1.05.1-.6-.3-1h-.05q-2.65-3.15-4-6.75-1.4-3.8-1.4-7.8 0-3.95 1.4-7.7v-.05q1.35-3.65 3.95-6.6h.05q.35-.45.3-1.1-.05-.55-.45-1-.5-.4-1.05-.4-.65.1-1.05.6v.05q-3 3.35-4.5 7.45m.35-12.4q-.05-.6-.5-.95-.4-.5-1.05-.45-.6.05-1.05.55-4 4.5-6.05 10.1v.15Q-32-5.9-32 .15t2.05 11.65q0 .05.05.15 1.85 5.45 5.9 10l.3.3q.45.45 1.05.45.55 0 1-.45.5-.5.5-1.05 0-.6-.5-1-.05 0-.05-.1-.05-.05-.05-.15-3.55-4.05-5.3-8.9V11l-.05-.05q-1.95-5.2-1.95-10.8 0-5.3 1.9-10.35h-.05q.05-.2.15-.35 1.75-5.25 5.45-9.35.45-.45.35-1.1m42.45-.35q-.05.6.45 1.1 3.55 4.1 5.4 9.45v-.05q.1.15.1.2v.05q1.9 5.05 1.9 10.5 0 5.5-2 10.65-1.75 4.95-5.3 9.05-.1.1-.1.2v.05q-.5.45-.5 1.05 0 .6.5 1.05.4.4 1 .4.55 0 1-.4.15-.2.35-.35 3.9-4.4 5.85-9.9 0-.05.05-.1Q32 5.9 32-.1q0-6.1-2.1-11.8l-.05-.05q-.05-.1-.05-.2-2.2-5.65-6-10-.4-.55-1-.6-.6-.05-1.05.4-.5.45-.55 1M7.85-9.15q.15.2.4.4.05 0 .05.05 3.2 3.65 3.2 8.6 0 4.9-3.35 8.75-.45.45-.45 1.05.1.6.55 1.05.4.4 1.05.35.65-.05 1.1-.5h-.05Q14.5 5.9 14.5-.1q0-6-3.85-10.4-.05-.05-.05-.1-.25-1.05-1.75-1.05-.65 0-1 .45-.5.4-.5 1.05 0 .55.5 1m-4.3 5.8Q2.1-4.75 0-4.75q-2.1 0-3.45 1.4-1.6 1.45-1.6 3.5 0 2.15 1.6 3.65Q-2.1 5.15 0 5.15T3.55 3.8q1.4-1.5 1.4-3.65 0-2.05-1.4-3.5m11.5-13.2q-.55.35-.55.95-.1.55.35 1.05 2.6 3 3.95 6.7v-.05q1.4 3.65 1.4 7.8 0 3.9-1.4 7.7-1.35 3.7-3.95 6.7-.5.45-.45 1.1.1.6.55 1.05H15q.4.35 1.05.35.6-.1 1-.45H17q3.1-3.55 4.65-7.65 1.5-4.4 1.5-8.8 0-4.65-1.5-8.85-1.55-4.05-4.55-7.5h.05q-.5-.45-1.05-.5-.6-.1-1 .4h-.05Z"> | |||
| </path> | |||
| </svg></a><a href="#tracker"><span class="text-[#008EED] text-[15px] px-[0px] py-[0px]">Trackers</span></a> | |||
| </div> | |||
| <div class="p-1 hover:bg-primary/5 rounded-xl cursor-pointer"> | |||
| <a href="#trackerZone"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" | |||
| height="1em" viewBox="-50 -50 100 100" data-icon="rl:trackerZone" | |||
| class="iconify text-[50px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| <path fill="currentColor" | |||
| d="M23.7-23.7Q13.982-33.494 0-33.5q-13.813-.006-23.7 9.75l-.05.05Q-33.506-13.813-33.5 0q.006 13.917 9.8 23.7 9.887 9.806 23.7 9.8 13.982-.006 23.7-9.8 9.793-9.783 9.8-23.7.006-13.813-9.8-23.7M0-30.5q12.718-.007 21.55 8.9Q30.494-12.587 30.5 0q.006 12.683-8.9 21.6h-.05Q12.718 30.507 0 30.5q-12.587-.006-21.6-8.95v.05q-8.907-8.917-8.9-21.6.006-12.57 8.9-21.6 9.03-8.894 21.6-8.9m2.7 48.35v-25.9h-5.5v25.9h5.5M0-11.9q1.45 0 2.25-.8.8-.85.8-2.25 0-1.45-.8-2.25T0-18q-1.5 0-2.3.8-.85.8-.85 2.25 0 1.4.85 2.25.8.8 2.3.8Z"> | |||
| </path> | |||
| </svg></a><a href="#trackerZone"><span class="text-[#008EED] text-[15px] px-[0px] py-[0px]">Limits</span></a> | |||
| </div> | |||
| <div class="p-1 hover:bg-primary/5 rounded-xl cursor-pointer"> | |||
| <a href="#track"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" | |||
| viewBox="-67 -67 100 100" data-icon="rl:tracks" | |||
| class="iconify text-[50px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| <path fill="currentColor" | |||
| d="M-37.05-26.35q-.55.4-.65 1.1-.1.65.3 1.2.4.55 1.1.7.65.1 1.2-.3 1.65-1.25 2.75-2.5.45-.55.4-1.2 0-.7-.55-1.1-.5-.5-1.2-.45-.7.05-1.1.55-.9 1-2.25 2m2.1-13.25q-.55-.45-1.2-.35-.7.05-1.1.55-.5.55-.4 1.25.05.65.6 1.1 1.2 1 2.05 2.05.45.5 1.15.55.7.05 1.2-.4t.6-1.1q.05-.7-.4-1.2-1-1.2-2.5-2.45M-44.3-4.2q-.4.55-.25 1.25.1.7.65 1.1Q-42.5-1-40.95 0q.55.35 1.2.2.65-.15 1.05-.7.35-.6.2-1.3-.15-.65-.7-1-1.55-.95-2.8-1.8-.6-.4-1.25-.3-.7.15-1.05.7m-6.4-9.2q-.2-.7-.8-1-.65-.3-1.25-.1-.7.2-1 .85-.3.6-.1 1.25.5 1.65 1.95 3.5.4.5 1.1.6.7.05 1.25-.3.5-.45.6-1.15.1-.7-.3-1.2-1.05-1.3-1.45-2.45m7.2-7.6q.25-.6 0-1.25-.2-.65-.85-.9-.6-.3-1.25-.1-1.7.65-3.05 1.35-.6.35-.8.95-.2.7.1 1.3.3.6 1 .8.65.2 1.25-.1 1.15-.6 2.65-1.2.65-.2.95-.85m1.1-22.9q-.2-.65-.8-.95-1.4-.7-2.9-1.4-.65-.3-1.3-.1-.6.25-.9.9-.3.6-.05 1.25.2.65.85.95 1.45.65 2.75 1.35.65.3 1.3.1.65-.25.95-.8.3-.65.1-1.3m47.95 56q0-.5-.35-.9Q.25 6.15-5.35 4.5q-1.15-1.3-1.4-3.05v.1q-.1-1.1.15-2.35 2.55-3.75 3.55-7.85Q-1.5-10.7-1.5-13q0-1.65-1-3.3.3-.7.45-1.6v-.05q.05-.55.05-2 0-4.1-3.75-7.15-3.5-2.7-7.9-2.7-4.45 0-7.9 2.7h-.05q-3.75 3.05-3.7 7.15v2.05q.05.9.35 1.65-.85 1.6-.85 3.25 0 2.3 1.5 4.3.9 4.1 3.45 7.9.25 1.25.2 2.3v.05q-.1 1.75-1.15 2.95-5.65 1.6-10.55 6.7-.35.4-.35.9 0 .55.4.9.35.35.9.35.6 0 .9-.35 4.5-4.65 9.75-6.1.2-.1.5-.35 2-1.95 2.15-4.8.15-1.6-.3-3.4-.05-.25-.2-.45-2.4-3.6-3.3-7.4-.1-.3-.2-.5-1.1-1.45-1.1-3 0-1.25.8-2.55.2-.3.2-.65 0-.35-.15-.7-.3-.5-.4-1.3v-1.75q.05-2.9 2.75-5.1v-.05q2.8-2.15 6.35-2.15t6.3 2.15l.05.05q2.65 2.2 2.65 5.1v1.75q-.15.8-.35 1.3-.2.4-.2.75.05.4.2.65.9 1.25.9 2.5-.05 1.55-1.15 2.95-.2.25-.3.55-.85 3.9-3.35 7.4-.15.2-.15.45Q-9.5.2-9.3 1.85q.4 2.8 2.4 4.7.15.25.5.35 5.1 1.45 9.7 6.1.35.35.95.35.55 0 .95-.35.35-.35.35-.9m-.8-26q.15.15.35.3Q7.4-11 7.4-7.5q0 3.55-2.4 6.25-.35.4-.35.85.1.55.4.85.35.35.9.3.5-.05.85-.4 3-3.4 3-7.85 0-4.35-2.8-7.55-.2-.85-1.4-.85-.5 0-.85.35-.35.3-.35.8 0 .45.35.85m10.2 0q-1.15-2.95-3.3-5.45-.35-.4-.8-.4-.5-.1-.85.3-.4.3-.45.75-.05.5.3.9 1.85 2.15 2.85 4.8 1 2.55 1 5.5 0 2.8-1 5.55-1 2.65-2.9 4.8-.3.4-.3.9.05.5.4.8.4.35.9.3.5-.05.8-.35 2.2-2.55 3.35-5.6 1.1-3.15 1.1-6.4 0-3.35-1.1-6.4Z"> | |||
| </path> | |||
| </svg></a><a href="#track"><span class="text-[#008EED] text-[15px] px-[0px] py-[0px]">Tracking</span></a> | |||
| </div> | |||
| <div class="p-1 hover:bg-primary/5 rounded-xl cursor-pointer"> | |||
| <a href="#fingerprint"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" | |||
| height="1em" viewBox="0 0 512 512" data-icon="rl:settings" | |||
| class="iconify text-[35px] m-[5px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| <path fill="currentColor" | |||
| d="M390.42,75.28a10.45,10.45,0,0,1-5.32-1.44C340.72,50.08,302.35,40,256.35,40c-45.77,0-89.23,11.28-128.76,33.84C122,77,115.11,74.8,111.87,69a12.4,12.4,0,0,1,4.63-16.32A281.81,281.81,0,0,1,256.35,16c49.23,0,92.23,11.28,139.39,36.48a12,12,0,0,1,4.85,16.08A11.3,11.3,0,0,1,390.42,75.28Zm-330.79,126a11.73,11.73,0,0,1-6.7-2.16,12.26,12.26,0,0,1-2.78-16.8c22.89-33.6,52-60,86.69-78.48C209.42,65,302.35,64.72,375.16,103.6c34.68,18.48,63.8,44.64,86.69,78a12.29,12.29,0,0,1-2.78,16.8,11.26,11.26,0,0,1-16.18-2.88c-20.8-30.24-47.15-54-78.36-70.56-66.34-35.28-151.18-35.28-217.29.24-31.44,16.8-57.79,40.8-78.59,71A10,10,0,0,1,59.63,201.28ZM204.1,491a10.66,10.66,0,0,1-8.09-3.6C175.9,466.48,165,453,149.55,424c-16-29.52-24.27-65.52-24.27-104.16,0-71.28,58.71-129.36,130.84-129.36S387,248.56,387,319.84a11.56,11.56,0,1,1-23.11,0c0-58.08-48.32-105.36-107.72-105.36S148.4,261.76,148.4,319.84c0,34.56,7.39,66.48,21.49,92.4,14.8,27.6,25,39.36,42.77,58.08a12.67,12.67,0,0,1,0,17A12.44,12.44,0,0,1,204.1,491Zm165.75-44.4c-27.51,0-51.78-7.2-71.66-21.36a129.1,129.1,0,0,1-55-105.36,11.57,11.57,0,1,1,23.12,0,104.28,104.28,0,0,0,44.84,85.44c16.41,11.52,35.6,17,58.72,17a147.41,147.41,0,0,0,24-2.4c6.24-1.2,12.25,3.12,13.4,9.84a11.92,11.92,0,0,1-9.47,13.92A152.28,152.28,0,0,1,369.85,446.56ZM323.38,496a13,13,0,0,1-3-.48c-36.76-10.56-60.8-24.72-86-50.4-32.37-33.36-50.16-77.76-50.16-125.28,0-38.88,31.9-70.56,71.19-70.56s71.2,31.68,71.2,70.56c0,25.68,21.5,46.56,48.08,46.56s48.08-20.88,48.08-46.56c0-90.48-75.13-163.92-167.59-163.92-65.65,0-125.75,37.92-152.79,96.72-9,19.44-13.64,42.24-13.64,67.2,0,18.72,1.61,48.24,15.48,86.64,2.32,6.24-.69,13.2-6.7,15.36a11.34,11.34,0,0,1-14.79-7,276.39,276.39,0,0,1-16.88-95c0-28.8,5.32-55,15.72-77.76,30.75-67,98.94-110.4,173.6-110.4,105.18,0,190.71,84.24,190.71,187.92,0,38.88-31.9,70.56-71.2,70.56s-71.2-31.68-71.2-70.56C303.5,293.92,282,273,255.42,273s-48.08,20.88-48.08,46.56c0,41,15.26,79.44,43.23,108.24,22,22.56,43,35,75.59,44.4,6.24,1.68,9.71,8.4,8.09,14.64A11.39,11.39,0,0,1,323.38,496Z"> | |||
| </path> | |||
| </svg></a><a href="#fingerprint"><span | |||
| class="text-[#008EED] text-[15px] px-[0px] py-[0px]">Fingerprint</span></a> | |||
| </div> | |||
| <div class="p-1 hover:bg-primary/5 rounded-xl cursor-pointer"> | |||
| <a href="#setting"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" | |||
| viewBox="-50 -50 100 100" data-icon="rl:settings" | |||
| class="iconify text-[50px] bg-[transparent] text-[#008EED] iconify--rl"> | |||
| <path fill="currentColor" | |||
| d="M5.7-29.9q-.05 0-.1.05-.05 0-.05.05v.1q-.05 0-.05.05l-2.75 6.4q-.05.15-.2.25-.1.05-.25.05-2.4-.3-4.55.1-.15 0-.3-.05-.15-.1-.15-.25l-2.55-6.3q-.05-.05-.05-.1-.05-.25-.15-.3-.1-.05-.15-.05-.15-.1-.35.1-.1.05-.2.05l-10.5 4.3q-.15.05-.25.1-.2.05-.25.1-.05.05-.05.1-.05.1.05.4v-.05l2.7 6.55q.05.15 0 .3-.1.15-.2.25-1.7 1.2-3.15 3.1-.1.15-.25.2-.15.05-.25 0l-6.4-2.55q-.1-.05-.1-.1-.1-.05-.15-.05-.1.05-.2.05-.15.05-.2.15-.05.1-.15.25l-4.4 10.5q0 .1-.05.2-.1.15 0 .35l.05.05q.15.15.35.25l.05.05 6.3 2.55q.15.05.25.15v.25q-.25 2.55 0 4.65v.25q-.1.15-.25.25l-6.5 2.55h-.05q-.1 0-.15.1v.2q-.1.15-.1.25.05 0 .05.05l4.65 11q.05.05.25.2H-24.6l6.25-2.6q.15-.05.3 0 .15 0 .25.15 1.25 1.6 3.2 3.2.1 0 .15.2.05.15 0 .25l-2.6 6.4-.1.1q-.05.1-.05.2.05.05.05.1.05.2.3.25.1 0 .2.1l10.45 4.4h.1q.3.05.65 0 .1-.05.15-.15v-.05l2.6-6.35q0-.2.15-.25.1-.05.25-.05 2.5.15 4.6 0 .15 0 .25.05.15.05.2.2l2.65 6.4q0 .05.05.1v.05h.15q.25.05.45.05h.15l10.7-4.5q.2-.05.3-.35v.05q.05-.1.05-.2l-.05-.05-2.65-6.5q-.05-.1 0-.25 0-.2.1-.25 1.75-1.4 3.35-3.25.05-.1.25-.1.1-.05.25 0l6.2 2.65H25.15q.2-.05.3-.3l4.5-10.8v.1q.05-.3 0-.55v-.1q-.05-.15-.15-.15h-.05l-6.4-2.55q-.15-.1-.2-.2-.1-.1-.1-.25.15-2.45 0-4.7 0-.1.1-.25.05-.1.2-.15l6.3-2.6h.1q.1-.2.2-.35.05-.2.05-.35v-.05l-4.45-10.6q-.1-.1-.1-.2-.1-.15-.3-.2-.1-.05-.15-.1-.1-.05-.2.1-.1.1-.3.1l-6.05 2.5q-.15.05-.25.05-.2-.05-.25-.15-1.5-1.8-3.35-3.1-.1-.1-.1-.25-.05-.15 0-.3l2.7-6.4v-.5q-.1-.2-.3-.25-.05 0-.1-.05L6.05-29.9q-.2-.1-.35 0M7-25.8q.05-.15.2-.2.2-.1.35 0l5.5 2.2q.1.05.2.2.1.2.05.35L11-17.4l-.1.1v.1q.05.05.1.15 0 .1.1.15h.1l1.55 1.3v.05q1.7 1.45 2.8 2.8l.05.05 1.15 1.7q.05.05.15.1.05 0 .15.1.05-.05.15-.1.1-.1.2-.1l5.8-2.25q.1-.1.3 0 .15.05.2.2l2.35 5.55q.1.2.05.35-.1.2-.3.25l-5.6 2.35q-.05.1-.25.1-.15 0-.15.1-.05.05-.1.15v.1l.35 1.8v.2q-.05.05-.1.15.25 1.75.1 4.15l-.25 1.9q0 .05-.05.15-.05.05-.05.15.15.1.4.3l5.7 2.45q.2.05.3.25.05.15 0 .35l-2.25 5.5q-.1.2-.3.2-.15.1-.35 0L17.35 11h-.05q-.1-.1-.25-.15-.05.1-.15.15-.05.05-.05.1l-.05.1-1.25 1.55v.05Q14 14.55 12.7 15.6l-1.55 1.2h-.05q-.1.05-.1.15-.05.1-.1.15-.05.1.1.2.1.1.1.25l2.3 5.75q.05.15-.05.3-.1.2-.25.3l-5.55 2.15q-.15.05-.35-.05-.15-.05-.2-.2l-2.5-5.7.05.05q-.1-.2-.15-.25l-.1-.05q-.15-.05-.25-.1L2.1 20h-.2q-1.45.25-3.85.1L-4 19.75q-.15 0-.2-.05v.1l-.3.2q-.05 0-.05.05v.05l-2.5 5.7q-.05.15-.2.25-.2.05-.3 0l-5.4-2.15q-.2-.1-.25-.3-.1-.15 0-.3l2.25-5.85q.05-.2.05-.35-.05-.25-.1-.3l-.05-.05-1.45-1.05q-.1-.1-.15-.2-1.95-1.45-2.95-2.8-.1-.15-.15-.2-.05 0-.05-.05l-.95-1.3-.2-.2h-.1q-.2-.05-.25.05h-.1l-5.7 2.45h-.2q-.15 0-.25-.05-.1-.1-.15-.2l-2.25-5.55q-.05-.2 0-.35.05-.2.25-.25l5.75-2.5.2-.2q.05-.25.2-.3l-.4-1.85q-.05-.1-.05-.25-.15-1.6 0-3.95v-.1l.35-1.9q0-.1.05-.15 0-.05-.05-.15-.05 0-.05-.05-.1-.1-.2-.1h-.05L-25.7-6.8q-.2-.05-.25-.25-.05-.15 0-.3l2.25-5.55q.05-.2.25-.25.15-.1.35 0l5.7 2.35h.05q.05.1.2.05.05-.05.1-.05l.3-.2 1.15-1.7q0-.05.05-.05 1.6-1.65 2.95-2.8v-.05l1.6-1.2h.05v-.6l-2.25-5.85q-.05-.15 0-.35.05-.15.25-.2l5.4-2.2q.2-.1.35 0 .2.05.25.2l2.4 5.7v.2q0 .1.1.2h.05q.1 0 .45.1h.05l1.95-.3q1.6-.2 4.15.05l1.65.15H4q.05 0 .1.05h.35v-.05q.1-.15.1-.2 0-.1.05-.2L7-25.8M4.75-11.3q-1.8-.75-3.7-.85-2.6-.35-5.1.7-.05.05-.1.05-.25.05-.5.15-.2.1-.3.2L-5-11q-2.7.95-4.35 3-1.1 1.3-1.95 3.3-1.1 2.7-.95 5.35.1 1.75.75 3.5.05.25.2.5 0 .05.05.1 1.8 4.7 6.65 6.7 4.6 1.9 9.35 0 4.7-1.95 6.65-6.7V4.7q1.9-4.65 0-9.35-2-4.75-6.6-6.6l-.05-.05m3.8 7.75v-.05q1.55 3.55.1 7.2H8.6Q7.15 7.15 3.5 8.65q-3.4 1.5-6.95 0-3.7-1.5-5.15-5-1.5-3.6 0-7.25v.05q.9-2.2 2.55-3.55 1.1-.85 2.55-1.35h-.05q1.6-.7 3.15-.8 1.9-.15 4 .8 3.55 1.35 4.95 4.9Z"> | |||
| </path> | |||
| </svg></a><a href="#setting"><span class="text-[#008EED] text-[15px] px-[0px] py-[0px]">Settings</span></a> | |||
| </div> | |||
| </div> | |||
| @@ -1,4 +1,4 @@ | |||
| <div class="h-full lg:min-w-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="h-full xl:min-w-0" x-data="UI.createTable({db:'{arguments:db}'})"> | |||
| <div class="border-base-200 flex items-center justify-between px-5 mb-[10px] space-x-3"> | |||
| @@ -13,37 +13,27 @@ | |||
| placeholder="Search" /> | |||
| </label> | |||
| <!-- <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div | |||
| tabindex="0" | |||
| role="button" | |||
| class="btn btn-outline btn-primary"> | |||
| <span | |||
| class="iconify lucide--columns-3-cog size-4"></span> | |||
| <div class="columnsDropdown dropdown dropdown-bottom dropdown-end"> | |||
| <div tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| <span class="iconify lucide--columns-3-cog size-4"></span> | |||
| </div> | |||
| <div tabindex="0" class="dropdown-content bg-base-100 rounded-box w-44 shadow"> | |||
| <ul class="menu w-full"> | |||
| <template | |||
| x-for="column in allLeafColumns" | |||
| :key="column.id"> | |||
| <li @click="toggleColumn(column)"> | |||
| <div | |||
| class="group gap-2.5" | |||
| :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span | |||
| class="font-medium" | |||
| x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| <ul class="menu w-full"> | |||
| <template x-for="column in allLeafColumns" :key="column.id"> | |||
| <li @click="toggleColumn(column)" class="columnVisibility"> | |||
| <div class="group gap-2.5" :data-visible="isColumnVisible(column) ? true : null"> | |||
| <span | |||
| class="iconify lucide--check size-4 scale-50 opacity-0 transition-all duration-300 group-data-visible:scale-100 group-data-visible:opacity-100"></span> | |||
| <span class="font-medium" x-text="column.columnDef.header"></span> | |||
| </div> | |||
| </li> | |||
| </template> | |||
| </ul> | |||
| </div> | |||
| </div> --> | |||
| </div> | |||
| <div class="dropdown dropdown-bottom dropdown-end"> | |||
| <div aria-label="More actions" tabindex="0" role="button" class="btn btn-outline btn-primary"> | |||
| @@ -75,7 +65,7 @@ | |||
| </div> | |||
| </div> | |||
| <div class="flex w-full px-[30px]"> | |||
| <div class="flex px-[30px]"> | |||
| <div | |||
| class=" max-h-[calc(100vh-260px)] overflow-y-scroll overflow-x-auto w-full border-solid border-1 border-[#008EED] rounded-none"> | |||
| @@ -176,7 +166,7 @@ | |||
| <template x-if="cell.column.id === 'actions'"> | |||
| <div class="gap-2 text-right"> | |||
| <button aria-label="Show" class="saveButton btn btn-outline btn-primary" | |||
| @click="viewRow(cell.row)">Open</button> | |||
| @click="viewRow(cell.row)">Modify</button> | |||
| <!-- <button | |||
| aria-label="Show" | |||
| class="btn btn-soft btn-xs btn-square" | |||
| @@ -5,20 +5,27 @@ | |||
| "role": "developer", | |||
| "unit": 1, | |||
| "update": 5000, | |||
| "debug": true | |||
| "debug": true, | |||
| "debugFields": [ | |||
| "id", | |||
| "status" | |||
| ], | |||
| "language": "en" | |||
| }, | |||
| { | |||
| "id": "900000000002", | |||
| "name": "Administrator settings", | |||
| "role": "administrator", | |||
| "unit": 1, | |||
| "debug": false | |||
| "debug": false, | |||
| "language": "en" | |||
| }, | |||
| { | |||
| "id": "900000000003", | |||
| "name": "User settings", | |||
| "role": "user", | |||
| "unit": 1, | |||
| "debug": false | |||
| "debug": false, | |||
| "language": "en" | |||
| } | |||
| ] | |||
| @@ -0,0 +1,22 @@ | |||
| { | |||
| "detail": [ | |||
| { | |||
| "type": "missing", | |||
| "loc": [ | |||
| "body", | |||
| "tracker" | |||
| ], | |||
| "msg": "Field required", | |||
| "input": { | |||
| "id": "b77508ac-dfc7-4171-bae0-7a986cc8bb94", | |||
| "name": "SubjectTest", | |||
| "role": "", | |||
| "phone": "", | |||
| "zones": "", | |||
| "groups": "", | |||
| "building": "665267c5-b466-4351-a27f-044ee24c0ccb", | |||
| "notes": "" | |||
| } | |||
| } | |||
| ] | |||
| } | |||