Compare commits
	
		
			33 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					5114ff40aa | ||
| 
						 | 
					908b337797 | ||
| 
						 | 
					fea5258903 | ||
| 
						 | 
					5521e4ea3e | ||
| 
						 | 
					6cc01596cb | ||
| 
						 | 
					0694538482 | ||
| 
						 | 
					6ea7c92b20 | ||
| 
						 | 
					ac05ad40c0 | ||
| 
						 | 
					239b0182fb | ||
| 
						 | 
					4c57e5da4b | ||
| 
						 | 
					20d534eab0 | ||
| 
						 | 
					1b2286c4f8 | ||
| 
						 | 
					8207f30234 | ||
| 
						 | 
					68036f6837 | ||
| 
						 | 
					03fae45ac5 | ||
| 
						 | 
					c2591c9e7d | ||
| 
						 | 
					7fcbe6fbd8 | ||
| 
						 | 
					a2f472ef9c | ||
| 
						 | 
					8403ac0e93 | ||
| 
						 | 
					b7a91563b0 | ||
| 
						 | 
					ab19afca16 | ||
| 
						 | 
					f24c6a7a80 | ||
| 
						 | 
					99490bf859 | ||
| 
						 | 
					72cdeeaa6a | ||
| 
						 | 
					1eca4d605b | ||
| 
						 | 
					52ee98f6f8 | ||
| 
						 | 
					d270b877c9 | ||
| 
						 | 
					fd8b2a1d98 | ||
| 
						 | 
					f518043d8d | ||
| 
						 | 
					cc2335558d | ||
| 
						 | 
					a8a171ba2c | ||
| 
						 | 
					24a63f477e | ||
| 
						 | 
					ddeb6293a1 | 
							
								
								
									
										250
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										250
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -1,12 +1,12 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "web",
 | 
			
		||||
  "version": "0.101.32",
 | 
			
		||||
  "version": "0.101.34",
 | 
			
		||||
  "lockfileVersion": 3,
 | 
			
		||||
  "requires": true,
 | 
			
		||||
  "packages": {
 | 
			
		||||
    "": {
 | 
			
		||||
      "name": "web",
 | 
			
		||||
      "version": "0.101.32",
 | 
			
		||||
      "version": "0.101.34",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@quasar/extras": "1.16.7",
 | 
			
		||||
        "@vueuse/core": "10.5.0",
 | 
			
		||||
@@ -17,22 +17,22 @@
 | 
			
		||||
        "monaco-editor": "0.44.0",
 | 
			
		||||
        "qrcode.vue": "3.4.1",
 | 
			
		||||
        "quasar": "2.13.0",
 | 
			
		||||
        "vue": "3.3.7",
 | 
			
		||||
        "vue": "3.3.8",
 | 
			
		||||
        "vue-router": "4.2.5",
 | 
			
		||||
        "vue3-apexcharts": "1.4.4",
 | 
			
		||||
        "vuedraggable": "4.1.0",
 | 
			
		||||
        "vuex": "4.1.0",
 | 
			
		||||
        "yaml": "2.3.3"
 | 
			
		||||
        "yaml": "2.3.4"
 | 
			
		||||
      },
 | 
			
		||||
      "devDependencies": {
 | 
			
		||||
        "@intlify/unplugin-vue-i18n": "1.4.0",
 | 
			
		||||
        "@quasar/app-vite": "1.6.2",
 | 
			
		||||
        "@quasar/cli": "2.3.0",
 | 
			
		||||
        "@types/node": "20.8.9",
 | 
			
		||||
        "@typescript-eslint/eslint-plugin": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/parser": "6.9.0",
 | 
			
		||||
        "@types/node": "20.8.10",
 | 
			
		||||
        "@typescript-eslint/eslint-plugin": "6.10.0",
 | 
			
		||||
        "@typescript-eslint/parser": "6.10.0",
 | 
			
		||||
        "autoprefixer": "10.4.16",
 | 
			
		||||
        "eslint": "8.52.0",
 | 
			
		||||
        "eslint": "8.53.0",
 | 
			
		||||
        "eslint-config-prettier": "9.0.0",
 | 
			
		||||
        "eslint-plugin-vue": "8.7.1",
 | 
			
		||||
        "prettier": "3.0.3",
 | 
			
		||||
@@ -84,9 +84,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@eslint/eslintrc": {
 | 
			
		||||
      "version": "2.1.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
 | 
			
		||||
      "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
 | 
			
		||||
      "version": "2.1.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz",
 | 
			
		||||
      "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "ajv": "^6.12.4",
 | 
			
		||||
@@ -107,9 +107,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@eslint/js": {
 | 
			
		||||
      "version": "8.52.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz",
 | 
			
		||||
      "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==",
 | 
			
		||||
      "version": "8.53.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz",
 | 
			
		||||
      "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
 | 
			
		||||
@@ -740,9 +740,9 @@
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@types/node": {
 | 
			
		||||
      "version": "20.8.9",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz",
 | 
			
		||||
      "integrity": "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==",
 | 
			
		||||
      "version": "20.8.10",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz",
 | 
			
		||||
      "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "undici-types": "~5.26.4"
 | 
			
		||||
@@ -802,16 +802,16 @@
 | 
			
		||||
      "integrity": "sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@typescript-eslint/eslint-plugin": {
 | 
			
		||||
      "version": "6.9.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.0.tgz",
 | 
			
		||||
      "integrity": "sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==",
 | 
			
		||||
      "version": "6.10.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.10.0.tgz",
 | 
			
		||||
      "integrity": "sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@eslint-community/regexpp": "^4.5.1",
 | 
			
		||||
        "@typescript-eslint/scope-manager": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/type-utils": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/utils": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/visitor-keys": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/scope-manager": "6.10.0",
 | 
			
		||||
        "@typescript-eslint/type-utils": "6.10.0",
 | 
			
		||||
        "@typescript-eslint/utils": "6.10.0",
 | 
			
		||||
        "@typescript-eslint/visitor-keys": "6.10.0",
 | 
			
		||||
        "debug": "^4.3.4",
 | 
			
		||||
        "graphemer": "^1.4.0",
 | 
			
		||||
        "ignore": "^5.2.4",
 | 
			
		||||
@@ -837,15 +837,15 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@typescript-eslint/parser": {
 | 
			
		||||
      "version": "6.9.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.9.0.tgz",
 | 
			
		||||
      "integrity": "sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==",
 | 
			
		||||
      "version": "6.10.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.10.0.tgz",
 | 
			
		||||
      "integrity": "sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@typescript-eslint/scope-manager": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/types": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/typescript-estree": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/visitor-keys": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/scope-manager": "6.10.0",
 | 
			
		||||
        "@typescript-eslint/types": "6.10.0",
 | 
			
		||||
        "@typescript-eslint/typescript-estree": "6.10.0",
 | 
			
		||||
        "@typescript-eslint/visitor-keys": "6.10.0",
 | 
			
		||||
        "debug": "^4.3.4"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
@@ -865,13 +865,13 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@typescript-eslint/scope-manager": {
 | 
			
		||||
      "version": "6.9.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.9.0.tgz",
 | 
			
		||||
      "integrity": "sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==",
 | 
			
		||||
      "version": "6.10.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.10.0.tgz",
 | 
			
		||||
      "integrity": "sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@typescript-eslint/types": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/visitor-keys": "6.9.0"
 | 
			
		||||
        "@typescript-eslint/types": "6.10.0",
 | 
			
		||||
        "@typescript-eslint/visitor-keys": "6.10.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": "^16.0.0 || >=18.0.0"
 | 
			
		||||
@@ -882,13 +882,13 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@typescript-eslint/type-utils": {
 | 
			
		||||
      "version": "6.9.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.9.0.tgz",
 | 
			
		||||
      "integrity": "sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==",
 | 
			
		||||
      "version": "6.10.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.10.0.tgz",
 | 
			
		||||
      "integrity": "sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@typescript-eslint/typescript-estree": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/utils": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/typescript-estree": "6.10.0",
 | 
			
		||||
        "@typescript-eslint/utils": "6.10.0",
 | 
			
		||||
        "debug": "^4.3.4",
 | 
			
		||||
        "ts-api-utils": "^1.0.1"
 | 
			
		||||
      },
 | 
			
		||||
@@ -909,9 +909,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@typescript-eslint/types": {
 | 
			
		||||
      "version": "6.9.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.9.0.tgz",
 | 
			
		||||
      "integrity": "sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==",
 | 
			
		||||
      "version": "6.10.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.10.0.tgz",
 | 
			
		||||
      "integrity": "sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": "^16.0.0 || >=18.0.0"
 | 
			
		||||
@@ -922,13 +922,13 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@typescript-eslint/typescript-estree": {
 | 
			
		||||
      "version": "6.9.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.0.tgz",
 | 
			
		||||
      "integrity": "sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==",
 | 
			
		||||
      "version": "6.10.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.10.0.tgz",
 | 
			
		||||
      "integrity": "sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@typescript-eslint/types": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/visitor-keys": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/types": "6.10.0",
 | 
			
		||||
        "@typescript-eslint/visitor-keys": "6.10.0",
 | 
			
		||||
        "debug": "^4.3.4",
 | 
			
		||||
        "globby": "^11.1.0",
 | 
			
		||||
        "is-glob": "^4.0.3",
 | 
			
		||||
@@ -949,17 +949,17 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@typescript-eslint/utils": {
 | 
			
		||||
      "version": "6.9.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.9.0.tgz",
 | 
			
		||||
      "integrity": "sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==",
 | 
			
		||||
      "version": "6.10.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.10.0.tgz",
 | 
			
		||||
      "integrity": "sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@eslint-community/eslint-utils": "^4.4.0",
 | 
			
		||||
        "@types/json-schema": "^7.0.12",
 | 
			
		||||
        "@types/semver": "^7.5.0",
 | 
			
		||||
        "@typescript-eslint/scope-manager": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/types": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/typescript-estree": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/scope-manager": "6.10.0",
 | 
			
		||||
        "@typescript-eslint/types": "6.10.0",
 | 
			
		||||
        "@typescript-eslint/typescript-estree": "6.10.0",
 | 
			
		||||
        "semver": "^7.5.4"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
@@ -974,12 +974,12 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@typescript-eslint/visitor-keys": {
 | 
			
		||||
      "version": "6.9.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.0.tgz",
 | 
			
		||||
      "integrity": "sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==",
 | 
			
		||||
      "version": "6.10.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.10.0.tgz",
 | 
			
		||||
      "integrity": "sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@typescript-eslint/types": "6.9.0",
 | 
			
		||||
        "@typescript-eslint/types": "6.10.0",
 | 
			
		||||
        "eslint-visitor-keys": "^3.4.1"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
@@ -1010,36 +1010,36 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/compiler-core": {
 | 
			
		||||
      "version": "3.3.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.7.tgz",
 | 
			
		||||
      "integrity": "sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==",
 | 
			
		||||
      "version": "3.3.8",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.8.tgz",
 | 
			
		||||
      "integrity": "sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/parser": "^7.23.0",
 | 
			
		||||
        "@vue/shared": "3.3.7",
 | 
			
		||||
        "@vue/shared": "3.3.8",
 | 
			
		||||
        "estree-walker": "^2.0.2",
 | 
			
		||||
        "source-map-js": "^1.0.2"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/compiler-dom": {
 | 
			
		||||
      "version": "3.3.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.7.tgz",
 | 
			
		||||
      "integrity": "sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==",
 | 
			
		||||
      "version": "3.3.8",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz",
 | 
			
		||||
      "integrity": "sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@vue/compiler-core": "3.3.7",
 | 
			
		||||
        "@vue/shared": "3.3.7"
 | 
			
		||||
        "@vue/compiler-core": "3.3.8",
 | 
			
		||||
        "@vue/shared": "3.3.8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/compiler-sfc": {
 | 
			
		||||
      "version": "3.3.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.7.tgz",
 | 
			
		||||
      "integrity": "sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==",
 | 
			
		||||
      "version": "3.3.8",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz",
 | 
			
		||||
      "integrity": "sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/parser": "^7.23.0",
 | 
			
		||||
        "@vue/compiler-core": "3.3.7",
 | 
			
		||||
        "@vue/compiler-dom": "3.3.7",
 | 
			
		||||
        "@vue/compiler-ssr": "3.3.7",
 | 
			
		||||
        "@vue/reactivity-transform": "3.3.7",
 | 
			
		||||
        "@vue/shared": "3.3.7",
 | 
			
		||||
        "@vue/compiler-core": "3.3.8",
 | 
			
		||||
        "@vue/compiler-dom": "3.3.8",
 | 
			
		||||
        "@vue/compiler-ssr": "3.3.8",
 | 
			
		||||
        "@vue/reactivity-transform": "3.3.8",
 | 
			
		||||
        "@vue/shared": "3.3.8",
 | 
			
		||||
        "estree-walker": "^2.0.2",
 | 
			
		||||
        "magic-string": "^0.30.5",
 | 
			
		||||
        "postcss": "^8.4.31",
 | 
			
		||||
@@ -1047,12 +1047,12 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/compiler-ssr": {
 | 
			
		||||
      "version": "3.3.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.7.tgz",
 | 
			
		||||
      "integrity": "sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==",
 | 
			
		||||
      "version": "3.3.8",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz",
 | 
			
		||||
      "integrity": "sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@vue/compiler-dom": "3.3.7",
 | 
			
		||||
        "@vue/shared": "3.3.7"
 | 
			
		||||
        "@vue/compiler-dom": "3.3.8",
 | 
			
		||||
        "@vue/shared": "3.3.8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/devtools-api": {
 | 
			
		||||
@@ -1061,60 +1061,60 @@
 | 
			
		||||
      "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/reactivity": {
 | 
			
		||||
      "version": "3.3.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.7.tgz",
 | 
			
		||||
      "integrity": "sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==",
 | 
			
		||||
      "version": "3.3.8",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.8.tgz",
 | 
			
		||||
      "integrity": "sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@vue/shared": "3.3.7"
 | 
			
		||||
        "@vue/shared": "3.3.8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/reactivity-transform": {
 | 
			
		||||
      "version": "3.3.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.7.tgz",
 | 
			
		||||
      "integrity": "sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA==",
 | 
			
		||||
      "version": "3.3.8",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz",
 | 
			
		||||
      "integrity": "sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@babel/parser": "^7.23.0",
 | 
			
		||||
        "@vue/compiler-core": "3.3.7",
 | 
			
		||||
        "@vue/shared": "3.3.7",
 | 
			
		||||
        "@vue/compiler-core": "3.3.8",
 | 
			
		||||
        "@vue/shared": "3.3.8",
 | 
			
		||||
        "estree-walker": "^2.0.2",
 | 
			
		||||
        "magic-string": "^0.30.5"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/runtime-core": {
 | 
			
		||||
      "version": "3.3.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.7.tgz",
 | 
			
		||||
      "integrity": "sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ==",
 | 
			
		||||
      "version": "3.3.8",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.8.tgz",
 | 
			
		||||
      "integrity": "sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@vue/reactivity": "3.3.7",
 | 
			
		||||
        "@vue/shared": "3.3.7"
 | 
			
		||||
        "@vue/reactivity": "3.3.8",
 | 
			
		||||
        "@vue/shared": "3.3.8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/runtime-dom": {
 | 
			
		||||
      "version": "3.3.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.7.tgz",
 | 
			
		||||
      "integrity": "sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw==",
 | 
			
		||||
      "version": "3.3.8",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.8.tgz",
 | 
			
		||||
      "integrity": "sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@vue/runtime-core": "3.3.7",
 | 
			
		||||
        "@vue/shared": "3.3.7",
 | 
			
		||||
        "@vue/runtime-core": "3.3.8",
 | 
			
		||||
        "@vue/shared": "3.3.8",
 | 
			
		||||
        "csstype": "^3.1.2"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/server-renderer": {
 | 
			
		||||
      "version": "3.3.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.7.tgz",
 | 
			
		||||
      "integrity": "sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw==",
 | 
			
		||||
      "version": "3.3.8",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.8.tgz",
 | 
			
		||||
      "integrity": "sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@vue/compiler-ssr": "3.3.7",
 | 
			
		||||
        "@vue/shared": "3.3.7"
 | 
			
		||||
        "@vue/compiler-ssr": "3.3.8",
 | 
			
		||||
        "@vue/shared": "3.3.8"
 | 
			
		||||
      },
 | 
			
		||||
      "peerDependencies": {
 | 
			
		||||
        "vue": "3.3.7"
 | 
			
		||||
        "vue": "3.3.8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vue/shared": {
 | 
			
		||||
      "version": "3.3.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.7.tgz",
 | 
			
		||||
      "integrity": "sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg=="
 | 
			
		||||
      "version": "3.3.8",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.8.tgz",
 | 
			
		||||
      "integrity": "sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@vueuse/core": {
 | 
			
		||||
      "version": "10.5.0",
 | 
			
		||||
@@ -3103,15 +3103,15 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/eslint": {
 | 
			
		||||
      "version": "8.52.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz",
 | 
			
		||||
      "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==",
 | 
			
		||||
      "version": "8.53.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz",
 | 
			
		||||
      "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@eslint-community/eslint-utils": "^4.2.0",
 | 
			
		||||
        "@eslint-community/regexpp": "^4.6.1",
 | 
			
		||||
        "@eslint/eslintrc": "^2.1.2",
 | 
			
		||||
        "@eslint/js": "8.52.0",
 | 
			
		||||
        "@eslint/eslintrc": "^2.1.3",
 | 
			
		||||
        "@eslint/js": "8.53.0",
 | 
			
		||||
        "@humanwhocodes/config-array": "^0.11.13",
 | 
			
		||||
        "@humanwhocodes/module-importer": "^1.0.1",
 | 
			
		||||
        "@nodelib/fs.walk": "^1.2.8",
 | 
			
		||||
@@ -6985,15 +6985,15 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/vue": {
 | 
			
		||||
      "version": "3.3.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.7.tgz",
 | 
			
		||||
      "integrity": "sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA==",
 | 
			
		||||
      "version": "3.3.8",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.8.tgz",
 | 
			
		||||
      "integrity": "sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@vue/compiler-dom": "3.3.7",
 | 
			
		||||
        "@vue/compiler-sfc": "3.3.7",
 | 
			
		||||
        "@vue/runtime-dom": "3.3.7",
 | 
			
		||||
        "@vue/server-renderer": "3.3.7",
 | 
			
		||||
        "@vue/shared": "3.3.7"
 | 
			
		||||
        "@vue/compiler-dom": "3.3.8",
 | 
			
		||||
        "@vue/compiler-sfc": "3.3.8",
 | 
			
		||||
        "@vue/runtime-dom": "3.3.8",
 | 
			
		||||
        "@vue/server-renderer": "3.3.8",
 | 
			
		||||
        "@vue/shared": "3.3.8"
 | 
			
		||||
      },
 | 
			
		||||
      "peerDependencies": {
 | 
			
		||||
        "typescript": "*"
 | 
			
		||||
@@ -7257,9 +7257,9 @@
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/yaml": {
 | 
			
		||||
      "version": "2.3.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz",
 | 
			
		||||
      "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==",
 | 
			
		||||
      "version": "2.3.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz",
 | 
			
		||||
      "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 14"
 | 
			
		||||
      }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								package.json
									
									
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "web",
 | 
			
		||||
  "version": "0.101.33",
 | 
			
		||||
  "version": "0.101.35",
 | 
			
		||||
  "private": true,
 | 
			
		||||
  "productName": "Tactical RMM",
 | 
			
		||||
  "scripts": {
 | 
			
		||||
@@ -16,7 +16,7 @@
 | 
			
		||||
    "dotenv": "16.3.1",
 | 
			
		||||
    "qrcode.vue": "3.4.1",
 | 
			
		||||
    "quasar": "2.13.0",
 | 
			
		||||
    "vue": "3.3.7",
 | 
			
		||||
    "vue": "3.3.8",
 | 
			
		||||
    "vue3-apexcharts": "1.4.4",
 | 
			
		||||
    "vuedraggable": "4.1.0",
 | 
			
		||||
    "vue-router": "4.2.5",
 | 
			
		||||
@@ -24,17 +24,17 @@
 | 
			
		||||
    "@vueuse/shared": "10.5.0",
 | 
			
		||||
    "monaco-editor": "0.44.0",
 | 
			
		||||
    "vuex": "4.1.0",
 | 
			
		||||
    "yaml": "2.3.3"
 | 
			
		||||
    "yaml": "2.3.4"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@quasar/cli": "2.3.0",
 | 
			
		||||
    "@intlify/unplugin-vue-i18n": "1.4.0",
 | 
			
		||||
    "@quasar/app-vite": "1.6.2",
 | 
			
		||||
    "@types/node": "20.8.9",
 | 
			
		||||
    "@typescript-eslint/eslint-plugin": "6.9.0",
 | 
			
		||||
    "@typescript-eslint/parser": "6.9.0",
 | 
			
		||||
    "@types/node": "20.8.10",
 | 
			
		||||
    "@typescript-eslint/eslint-plugin": "6.10.0",
 | 
			
		||||
    "@typescript-eslint/parser": "6.10.0",
 | 
			
		||||
    "autoprefixer": "10.4.16",
 | 
			
		||||
    "eslint": "8.52.0",
 | 
			
		||||
    "eslint": "8.53.0",
 | 
			
		||||
    "eslint-config-prettier": "9.0.0",
 | 
			
		||||
    "eslint-plugin-vue": "8.7.1",
 | 
			
		||||
    "prettier": "3.0.3",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,17 +1,12 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <q-dialog
 | 
			
		||||
    ref="dialogRef"
 | 
			
		||||
    persistent
 | 
			
		||||
    @keydown.esc.stop="onDialogHide"
 | 
			
		||||
    :maximized="maximized"
 | 
			
		||||
    maximized
 | 
			
		||||
    @hide="onDialogHide"
 | 
			
		||||
    @show="loadEditor"
 | 
			
		||||
    @before-hide="unloadEditor"
 | 
			
		||||
  >
 | 
			
		||||
    <q-card
 | 
			
		||||
      class="q-dialog-plugin"
 | 
			
		||||
      :style="maximized ? '' : 'width: 90vw; max-width: 90vw'"
 | 
			
		||||
    >
 | 
			
		||||
    <q-card class="q-dialog-plugin">
 | 
			
		||||
      <q-bar>
 | 
			
		||||
        <span class="q-pr-sm">{{ title }}</span>
 | 
			
		||||
        <q-btn
 | 
			
		||||
@@ -25,28 +20,6 @@
 | 
			
		||||
          @click="generateScriptOpenAI"
 | 
			
		||||
        />
 | 
			
		||||
        <q-space />
 | 
			
		||||
        <q-btn
 | 
			
		||||
          dense
 | 
			
		||||
          flat
 | 
			
		||||
          icon="minimize"
 | 
			
		||||
          @click="maximized = false"
 | 
			
		||||
          :disable="!maximized"
 | 
			
		||||
        >
 | 
			
		||||
          <q-tooltip v-if="maximized" class="bg-white text-primary"
 | 
			
		||||
            >Minimize</q-tooltip
 | 
			
		||||
          >
 | 
			
		||||
        </q-btn>
 | 
			
		||||
        <q-btn
 | 
			
		||||
          dense
 | 
			
		||||
          flat
 | 
			
		||||
          icon="crop_square"
 | 
			
		||||
          @click="maximized = true"
 | 
			
		||||
          :disable="maximized"
 | 
			
		||||
        >
 | 
			
		||||
          <q-tooltip v-if="!maximized" class="bg-white text-primary"
 | 
			
		||||
            >Maximize</q-tooltip
 | 
			
		||||
          >
 | 
			
		||||
        </q-btn>
 | 
			
		||||
        <q-btn dense flat icon="close" v-close-popup>
 | 
			
		||||
          <q-tooltip class="bg-white text-primary">Close</q-tooltip>
 | 
			
		||||
        </q-btn>
 | 
			
		||||
@@ -78,7 +51,7 @@
 | 
			
		||||
            opacity: '0.2',
 | 
			
		||||
          }"
 | 
			
		||||
          class="col-4 q-mb-none q-pb-none"
 | 
			
		||||
          :style="{ height: `${maximized ? '82vh' : '64vh'}` }"
 | 
			
		||||
          :style="{ height: `${$q.screen.height - 106}px` }"
 | 
			
		||||
        >
 | 
			
		||||
          <div class="q-gutter-sm q-pr-sm">
 | 
			
		||||
            <q-input
 | 
			
		||||
@@ -187,7 +160,7 @@
 | 
			
		||||
        <div
 | 
			
		||||
          ref="scriptEditor"
 | 
			
		||||
          class="col-8 q-mb-none q-pb-none"
 | 
			
		||||
          :style="{ height: `${maximized ? '82vh' : '64vh'}` }"
 | 
			
		||||
          :style="{ height: `${$q.screen.height - 106}px` }"
 | 
			
		||||
        ></div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <q-card-actions>
 | 
			
		||||
@@ -296,7 +269,6 @@ const script: Script = props.script
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
if (props.clone) script.name = `(Copy) ${script.name}`;
 | 
			
		||||
const maximized = ref(false);
 | 
			
		||||
const loading = ref(false);
 | 
			
		||||
const agentLoading = ref(false);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,17 +1,12 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <q-dialog
 | 
			
		||||
    ref="dialogRef"
 | 
			
		||||
    persistent
 | 
			
		||||
    @keydown.esc.stop="onDialogHide"
 | 
			
		||||
    :maximized="maximized"
 | 
			
		||||
    maximized
 | 
			
		||||
    @hide="onDialogHide"
 | 
			
		||||
    @show="loadEditor"
 | 
			
		||||
    @before-hide="unloadEditor"
 | 
			
		||||
  >
 | 
			
		||||
    <q-card
 | 
			
		||||
      class="q-dialog-plugin"
 | 
			
		||||
      :style="maximized ? '' : 'width: 70vw; max-width: 90vw'"
 | 
			
		||||
    >
 | 
			
		||||
    <q-card class="q-dialog-plugin">
 | 
			
		||||
      <q-bar>
 | 
			
		||||
        <span class="q-pr-sm">{{ title }}</span>
 | 
			
		||||
        <q-btn
 | 
			
		||||
@@ -25,35 +20,13 @@
 | 
			
		||||
          @click="generateScriptOpenAI"
 | 
			
		||||
        />
 | 
			
		||||
        <q-space />
 | 
			
		||||
        <q-btn
 | 
			
		||||
          dense
 | 
			
		||||
          flat
 | 
			
		||||
          icon="minimize"
 | 
			
		||||
          @click="maximized = false"
 | 
			
		||||
          :disable="!maximized"
 | 
			
		||||
        >
 | 
			
		||||
          <q-tooltip v-if="maximized" class="bg-white text-primary"
 | 
			
		||||
            >Minimize</q-tooltip
 | 
			
		||||
          >
 | 
			
		||||
        </q-btn>
 | 
			
		||||
        <q-btn
 | 
			
		||||
          dense
 | 
			
		||||
          flat
 | 
			
		||||
          icon="crop_square"
 | 
			
		||||
          @click="maximized = true"
 | 
			
		||||
          :disable="maximized"
 | 
			
		||||
        >
 | 
			
		||||
          <q-tooltip v-if="!maximized" class="bg-white text-primary"
 | 
			
		||||
            >Maximize</q-tooltip
 | 
			
		||||
          >
 | 
			
		||||
        </q-btn>
 | 
			
		||||
        <q-btn dense flat icon="close" v-close-popup>
 | 
			
		||||
          <q-tooltip class="bg-white text-primary">Close</q-tooltip>
 | 
			
		||||
        </q-btn>
 | 
			
		||||
      </q-bar>
 | 
			
		||||
      <div class="row">
 | 
			
		||||
        <q-input
 | 
			
		||||
          :rules="[(val) => !!val || '*Required']"
 | 
			
		||||
          :rules="[(val: string) => !!val || '*Required']"
 | 
			
		||||
          class="q-pa-sm col-4"
 | 
			
		||||
          v-model="snippet.name"
 | 
			
		||||
          label="Name"
 | 
			
		||||
@@ -82,7 +55,7 @@
 | 
			
		||||
 | 
			
		||||
      <div
 | 
			
		||||
        ref="snippetEditor"
 | 
			
		||||
        :style="{ height: `${maximized ? '82vh' : '64vh'}` }"
 | 
			
		||||
        :style="{ height: `${$q.screen.height - 132}px` }"
 | 
			
		||||
      ></div>
 | 
			
		||||
 | 
			
		||||
      <q-card-actions align="right">
 | 
			
		||||
@@ -139,7 +112,6 @@ const openAIEnabled = computed(() => store.state.openAIIntegrationEnabled);
 | 
			
		||||
const snippet: ScriptSnippet = props.snippet
 | 
			
		||||
  ? reactive(Object.assign({}, props.snippet))
 | 
			
		||||
  : reactive({ name: "", code: "", shell: "powershell" });
 | 
			
		||||
const maximized = ref(false);
 | 
			
		||||
const loading = ref(false);
 | 
			
		||||
 | 
			
		||||
const title = computed(() => {
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,7 @@ For details, see: https://license.tacticalrmm.com/ee
 | 
			
		||||
          class="q-pr-sm"
 | 
			
		||||
          filled
 | 
			
		||||
          dense
 | 
			
		||||
          style="width: 250px"
 | 
			
		||||
          style="width: 425px"
 | 
			
		||||
          :error="!isNameValid"
 | 
			
		||||
          hide-bottom-space
 | 
			
		||||
        />
 | 
			
		||||
 
 | 
			
		||||
@@ -54,6 +54,9 @@ For details, see: https://license.tacticalrmm.com/ee
 | 
			
		||||
                clickable
 | 
			
		||||
                @click="openNewReportTemplateForm('markdown')"
 | 
			
		||||
              >
 | 
			
		||||
                <q-item-section avatar>
 | 
			
		||||
                  <q-icon name="fa-brands fa-markdown" />
 | 
			
		||||
                </q-item-section>
 | 
			
		||||
                <q-item-section>
 | 
			
		||||
                  <q-item-label>Markdown Template</q-item-label>
 | 
			
		||||
                </q-item-section>
 | 
			
		||||
@@ -64,8 +67,11 @@ For details, see: https://license.tacticalrmm.com/ee
 | 
			
		||||
                clickable
 | 
			
		||||
                @click="openNewReportTemplateForm('html')"
 | 
			
		||||
              >
 | 
			
		||||
                <q-item-section avatar>
 | 
			
		||||
                  <q-icon name="fa-brands fa-html5" />
 | 
			
		||||
                </q-item-section>
 | 
			
		||||
                <q-item-section>
 | 
			
		||||
                  <q-item-label>Html Template</q-item-label>
 | 
			
		||||
                  <q-item-label>HTML Template</q-item-label>
 | 
			
		||||
                </q-item-section>
 | 
			
		||||
              </q-item>
 | 
			
		||||
 | 
			
		||||
@@ -74,6 +80,9 @@ For details, see: https://license.tacticalrmm.com/ee
 | 
			
		||||
                clickable
 | 
			
		||||
                @click="openNewReportTemplateForm('plaintext')"
 | 
			
		||||
              >
 | 
			
		||||
                <q-item-section avatar>
 | 
			
		||||
                  <q-icon name="fa-solid fa-file-csv" />
 | 
			
		||||
                </q-item-section>
 | 
			
		||||
                <q-item-section>
 | 
			
		||||
                  <q-item-label>Plain Text Template</q-item-label>
 | 
			
		||||
                </q-item-section>
 | 
			
		||||
@@ -82,6 +91,9 @@ For details, see: https://license.tacticalrmm.com/ee
 | 
			
		||||
              <q-separator />
 | 
			
		||||
 | 
			
		||||
              <q-item clickable v-close-popup @click="importReportTemplate">
 | 
			
		||||
                <q-item-section avatar>
 | 
			
		||||
                  <q-icon name="fa-solid fa-file-import" />
 | 
			
		||||
                </q-item-section>
 | 
			
		||||
                <q-item-section>
 | 
			
		||||
                  <q-item-label>Import Report Template</q-item-label>
 | 
			
		||||
                </q-item-section>
 | 
			
		||||
@@ -91,6 +103,7 @@ For details, see: https://license.tacticalrmm.com/ee
 | 
			
		||||
          <q-btn
 | 
			
		||||
            class="q-ml-sm"
 | 
			
		||||
            label="Base Templates"
 | 
			
		||||
            icon="fa-regular fa-file-code"
 | 
			
		||||
            no-caps
 | 
			
		||||
            dense
 | 
			
		||||
            flat
 | 
			
		||||
@@ -99,6 +112,7 @@ For details, see: https://license.tacticalrmm.com/ee
 | 
			
		||||
          <q-btn
 | 
			
		||||
            class="q-ml-sm"
 | 
			
		||||
            label="Report Assets"
 | 
			
		||||
            icon="fa-regular fa-folder-closed"
 | 
			
		||||
            no-caps
 | 
			
		||||
            dense
 | 
			
		||||
            flat
 | 
			
		||||
@@ -107,6 +121,7 @@ For details, see: https://license.tacticalrmm.com/ee
 | 
			
		||||
          <q-btn
 | 
			
		||||
            class="q-ml-sm"
 | 
			
		||||
            label="Data Queries"
 | 
			
		||||
            icon="fa-solid fa-database"
 | 
			
		||||
            no-caps
 | 
			
		||||
            dense
 | 
			
		||||
            flat
 | 
			
		||||
@@ -115,6 +130,7 @@ For details, see: https://license.tacticalrmm.com/ee
 | 
			
		||||
          <q-btn
 | 
			
		||||
            class="q-ml-sm"
 | 
			
		||||
            label="Shared Templates"
 | 
			
		||||
            icon="fa-solid fa-share"
 | 
			
		||||
            no-caps
 | 
			
		||||
            dense
 | 
			
		||||
            flat
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,7 @@ For details, see: https://license.tacticalrmm.com/ee
 | 
			
		||||
        :rows="sharedTemplates"
 | 
			
		||||
        :columns="columns"
 | 
			
		||||
        :loading="isLoading"
 | 
			
		||||
        :pagination="{ rowsPerPage: 0, sortBy: 'name', descending: true }"
 | 
			
		||||
        :pagination="{ rowsPerPage: 0, sortBy: 'name', descending: false }"
 | 
			
		||||
        :filter="search"
 | 
			
		||||
        selection="multiple"
 | 
			
		||||
        v-model:selected="selected"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user