Procházet zdrojové kódy

#feat 添加mqtt

master
ocean2 před 1 rokem
rodič
revize
65e3485a29
8 změnil soubory, kde provedl 1845 přidání a 780 odebrání
  1. +524
    -47
      package-lock.json
  2. +5
    -1
      package.json
  3. +23
    -3
      src/app/app.config.ts
  4. +3
    -2
      src/app/routes/data-v/workstation/workstation.component.html
  5. +225
    -36
      src/app/routes/data-v/workstation/workstation.component.ts
  6. +3
    -1
      src/styles.less
  7. +9
    -3
      src/styles/theme.less
  8. +1053
    -687
      yarn.lock

+ 524
- 47
package-lock.json Zobrazit soubor

@@ -25,11 +25,15 @@
"@delon/mock": "^17.1.0",
"@delon/theme": "^17.1.0",
"@delon/util": "^17.1.0",
"ag-grid-angular": "^31.0.2",
"ag-grid-angular": "^31.1.1",
"echarts": "^5.5.0",
"moment": "^2.30.1",
"mqtt": "^5.3.6",
"ng-alain": "^17.1.0",
"ng-zorro-antd": "^17.1.0",
"ng2-mqtt": "^0.1.2",
"ngx-mqtt": "^17.0.0",
"paho-mqtt": "^1.1.0",
"rxjs": "~7.8.0",
"screenfull": "^6.0.2",
"tslib": "^2.3.0",
@@ -4621,7 +4625,6 @@
"version": "20.11.5",
"resolved": "https://registry.npmmirror.com/@types/node/-/node-20.11.5.tgz",
"integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==",
"dev": true,
"dependencies": {
"undici-types": "~5.26.4"
}
@@ -4659,6 +4662,20 @@
"integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
"dev": true
},
"node_modules/@types/readable-stream": {
"version": "4.0.10",
"resolved": "https://registry.npmmirror.com/@types/readable-stream/-/readable-stream-4.0.10.tgz",
"integrity": "sha512-AbUKBjcC8SHmImNi4yK2bbjogQlkFSg7shZCcicxPQapniOlajG8GCc39lvXzCWX4lLRRs7DM3VAeSlqmEVZUA==",
"dependencies": {
"@types/node": "*",
"safe-buffer": "~5.1.1"
}
},
"node_modules/@types/readable-stream/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"node_modules/@types/retry": {
"version": "0.12.0",
"resolved": "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz",
@@ -4720,7 +4737,6 @@
"version": "8.5.10",
"resolved": "https://registry.npmmirror.com/@types/ws/-/ws-8.5.10.tgz",
"integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==",
"dev": true,
"dependencies": {
"@types/node": "*"
}
@@ -5152,6 +5168,17 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
"node_modules/abort-controller": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/abort-controller/-/abort-controller-3.0.0.tgz",
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
"dependencies": {
"event-target-shim": "^5.0.0"
},
"engines": {
"node": ">=6.5"
}
},
"node_modules/abs-svg-path": {
"version": "0.1.1",
"resolved": "https://registry.npmmirror.com/abs-svg-path/-/abs-svg-path-0.1.1.tgz",
@@ -5236,11 +5263,11 @@
}
},
"node_modules/ag-grid-angular": {
"version": "31.0.2",
"resolved": "https://registry.npmmirror.com/ag-grid-angular/-/ag-grid-angular-31.0.2.tgz",
"integrity": "sha512-TCoEA1t1od4Zt2WcHC7umuEF3mZmj6jgHmjBI8Hp2c1rb6OcnTGgAbCSulBCj18amT8Ithq+d5/UsmIKBgBddw==",
"version": "31.1.1",
"resolved": "https://registry.npmmirror.com/ag-grid-angular/-/ag-grid-angular-31.1.1.tgz",
"integrity": "sha512-HVnBwfagTOMBcDEqXBYcvSv8UDOlDl6EzgbotX8ggh45dsCOYNdrTcEmx72fLQF7tj1OhuzLFzEgdDhfoD++4Q==",
"dependencies": {
"ag-grid-community": "~31.0.2",
"ag-grid-community": "31.1.1",
"tslib": "^2.3.0"
},
"peerDependencies": {
@@ -5249,9 +5276,9 @@
}
},
"node_modules/ag-grid-community": {
"version": "31.0.2",
"resolved": "https://registry.npmmirror.com/ag-grid-community/-/ag-grid-community-31.0.2.tgz",
"integrity": "sha512-gxUdHeAZUV2TDHqnDax5QSQgUxIvJ1zaFxUuPzcfiiPwbN6btz6kxg/KNrDfEjQi70JBfJV46BMR9KTG6iAVmQ=="
"version": "31.1.1",
"resolved": "https://registry.npmmirror.com/ag-grid-community/-/ag-grid-community-31.1.1.tgz",
"integrity": "sha512-tiQZ7VQ07yJScTMIQpaYoUMPgiyXMwYDcwTxe4riRrcYGTg0e258XEihoPUZFejR60P1fYWMxdJaR2JUnyhGrg=="
},
"node_modules/agent-base": {
"version": "7.1.0",
@@ -5725,14 +5752,12 @@
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
"node_modules/base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"dev": true
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
},
"node_modules/base64id": {
"version": "2.0.0",
@@ -5771,7 +5796,6 @@
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"dev": true,
"dependencies": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
@@ -5837,7 +5861,6 @@
"version": "1.1.11",
"resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -5889,7 +5912,6 @@
"version": "5.7.1",
"resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"dev": true,
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
@@ -5898,8 +5920,7 @@
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz",
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"dev": true
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
},
"node_modules/builtin-modules": {
"version": "3.3.0",
@@ -6401,6 +6422,11 @@
"node": ">= 12.0.0"
}
},
"node_modules/commist": {
"version": "3.2.0",
"resolved": "https://registry.npmmirror.com/commist/-/commist-3.2.0.tgz",
"integrity": "sha512-4PIMoPniho+LqXmpS5d3NuGYncG6XWlkBSVGiWycL22dd42OYdUGil2CWuzklaJoNxyxUSpO4MKIBU94viWNAw=="
},
"node_modules/common-path-prefix": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
@@ -6470,8 +6496,21 @@
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"dev": true
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
"node_modules/concat-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/concat-stream/-/concat-stream-2.0.0.tgz",
"integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
"engines": [
"node >= 6.0"
],
"dependencies": {
"buffer-from": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.0.2",
"typedarray": "^0.0.6"
}
},
"node_modules/connect": {
"version": "3.7.0",
@@ -7091,7 +7130,6 @@
"version": "4.3.4",
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"dependencies": {
"ms": "2.1.2"
},
@@ -7380,6 +7418,17 @@
"integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
"dev": true
},
"node_modules/duplexify": {
"version": "4.1.2",
"resolved": "https://registry.npmmirror.com/duplexify/-/duplexify-4.1.2.tgz",
"integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==",
"dependencies": {
"end-of-stream": "^1.4.1",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1",
"stream-shift": "^1.0.0"
}
},
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -7478,7 +7527,6 @@
"version": "1.4.4",
"resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"dev": true,
"dependencies": {
"once": "^1.4.0"
}
@@ -8376,6 +8424,14 @@
"node": ">= 0.6"
}
},
"node_modules/event-target-shim": {
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/event-target-shim/-/event-target-shim-5.0.1.tgz",
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
"engines": {
"node": ">=6"
}
},
"node_modules/eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz",
@@ -8386,7 +8442,6 @@
"version": "3.3.0",
"resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz",
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
"dev": true,
"engines": {
"node": ">=0.8.x"
}
@@ -8613,6 +8668,29 @@
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
"dev": true
},
"node_modules/fast-unique-numbers": {
"version": "9.0.1",
"resolved": "https://registry.npmmirror.com/fast-unique-numbers/-/fast-unique-numbers-9.0.1.tgz",
"integrity": "sha512-WYR7YspMPkmVcmftJYK/ISOkUIKFBJ9/3y8QLgRfsi5RXuFJirn+Z5xe1aCvX8sYq491CkdCSHhxaMStbE0W9w==",
"dependencies": {
"@babel/runtime": "^7.24.0",
"tslib": "^2.6.2"
},
"engines": {
"node": ">=18.2.0"
}
},
"node_modules/fast-unique-numbers/node_modules/@babel/runtime": {
"version": "7.24.0",
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.0.tgz",
"integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/fastest-levenshtein": {
"version": "1.0.16",
"resolved": "https://registry.npmmirror.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
@@ -8989,8 +9067,7 @@
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
},
"node_modules/fsevents": {
"version": "2.3.3",
@@ -9112,7 +9189,6 @@
"version": "7.2.3",
"resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -9363,6 +9439,11 @@
"integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==",
"dev": true
},
"node_modules/help-me": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/help-me/-/help-me-5.0.0.tgz",
"integrity": "sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg=="
},
"node_modules/hosted-git-info": {
"version": "7.0.1",
"resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-7.0.1.tgz",
@@ -9607,8 +9688,7 @@
"node_modules/ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"dev": true
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
},
"node_modules/ignore": {
"version": "5.3.0",
@@ -9720,7 +9800,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"dev": true,
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -10499,6 +10578,11 @@
"jiti": "bin/jiti.js"
}
},
"node_modules/js-sdsl": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/js-sdsl/-/js-sdsl-4.3.0.tgz",
"integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ=="
},
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -11006,6 +11090,14 @@
"node": ">=0.10.0"
}
},
"node_modules/leven": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/leven/-/leven-2.1.0.tgz",
"integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/levn": {
"version": "0.4.1",
"resolved": "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz",
@@ -11976,7 +12068,6 @@
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -11987,8 +12078,7 @@
"node_modules/minimist": {
"version": "1.2.8",
"resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="
},
"node_modules/minimist-options": {
"version": "4.1.0",
@@ -12231,6 +12321,247 @@
"node": "*"
}
},
"node_modules/mqtt": {
"version": "5.3.6",
"resolved": "https://registry.npmmirror.com/mqtt/-/mqtt-5.3.6.tgz",
"integrity": "sha512-3XeyCdHRFf3zZdUUBt/pqprKPtUABc8O4ZGPGs2QPO4sPNTnJels8U2UtBtMt09QCgpUmw8gLTLy2R7verR7kQ==",
"dependencies": {
"@types/readable-stream": "^4.0.5",
"@types/ws": "^8.5.9",
"commist": "^3.2.0",
"concat-stream": "^2.0.0",
"debug": "^4.3.4",
"help-me": "^5.0.0",
"lru-cache": "^10.0.1",
"minimist": "^1.2.8",
"mqtt": "^5.2.0",
"mqtt-packet": "^9.0.0",
"number-allocator": "^1.0.14",
"readable-stream": "^4.4.2",
"reinterval": "^1.1.0",
"rfdc": "^1.3.0",
"split2": "^4.2.0",
"worker-timers": "^7.0.78",
"ws": "^8.14.2"
},
"bin": {
"mqtt": "build/bin/mqtt.js",
"mqtt_pub": "build/bin/pub.js",
"mqtt_sub": "build/bin/sub.js"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/mqtt-browser": {
"version": "4.3.7",
"resolved": "https://registry.npmmirror.com/mqtt-browser/-/mqtt-browser-4.3.7.tgz",
"integrity": "sha512-4pxHxa3avIILr2CXhTKlArVpATqfyTu4zr5u2PoUwzgw0GDr5dpzZ0pmPgZyOoQBVgrVDEboCzb/b1Q0yWOm7g==",
"dependencies": {
"mqtt": "4.3.7"
}
},
"node_modules/mqtt-browser/node_modules/commist": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/commist/-/commist-1.1.0.tgz",
"integrity": "sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==",
"dependencies": {
"leven": "^2.1.0",
"minimist": "^1.1.0"
}
},
"node_modules/mqtt-browser/node_modules/help-me": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/help-me/-/help-me-3.0.0.tgz",
"integrity": "sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==",
"dependencies": {
"glob": "^7.1.6",
"readable-stream": "^3.6.0"
}
},
"node_modules/mqtt-browser/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/mqtt-browser/node_modules/mqtt": {
"version": "4.3.7",
"resolved": "https://registry.npmmirror.com/mqtt/-/mqtt-4.3.7.tgz",
"integrity": "sha512-ew3qwG/TJRorTz47eW46vZ5oBw5MEYbQZVaEji44j5lAUSQSqIEoul7Kua/BatBW0H0kKQcC9kwUHa1qzaWHSw==",
"dependencies": {
"commist": "^1.0.0",
"concat-stream": "^2.0.0",
"debug": "^4.1.1",
"duplexify": "^4.1.1",
"help-me": "^3.0.0",
"inherits": "^2.0.3",
"lru-cache": "^6.0.0",
"minimist": "^1.2.5",
"mqtt-packet": "^6.8.0",
"number-allocator": "^1.0.9",
"pump": "^3.0.0",
"readable-stream": "^3.6.0",
"reinterval": "^1.1.0",
"rfdc": "^1.3.0",
"split2": "^3.1.0",
"ws": "^7.5.5",
"xtend": "^4.0.2"
},
"bin": {
"mqtt": "bin/mqtt.js",
"mqtt_pub": "bin/pub.js",
"mqtt_sub": "bin/sub.js"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/mqtt-browser/node_modules/mqtt-packet": {
"version": "6.10.0",
"resolved": "https://registry.npmmirror.com/mqtt-packet/-/mqtt-packet-6.10.0.tgz",
"integrity": "sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==",
"dependencies": {
"bl": "^4.0.2",
"debug": "^4.1.1",
"process-nextick-args": "^2.0.1"
}
},
"node_modules/mqtt-browser/node_modules/split2": {
"version": "3.2.2",
"resolved": "https://registry.npmmirror.com/split2/-/split2-3.2.2.tgz",
"integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==",
"dependencies": {
"readable-stream": "^3.0.0"
}
},
"node_modules/mqtt-browser/node_modules/ws": {
"version": "7.5.9",
"resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz",
"integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
"engines": {
"node": ">=8.3.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
"utf-8-validate": "^5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
"optional": true
},
"utf-8-validate": {
"optional": true
}
}
},
"node_modules/mqtt-browser/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"node_modules/mqtt-packet": {
"version": "9.0.0",
"resolved": "https://registry.npmmirror.com/mqtt-packet/-/mqtt-packet-9.0.0.tgz",
"integrity": "sha512-8v+HkX+fwbodsWAZIZTI074XIoxVBOmPeggQuDFCGg1SqNcC+uoRMWu7J6QlJPqIUIJXmjNYYHxBBLr1Y/Df4w==",
"dependencies": {
"bl": "^6.0.8",
"debug": "^4.3.4",
"process-nextick-args": "^2.0.1"
}
},
"node_modules/mqtt-packet/node_modules/bl": {
"version": "6.0.11",
"resolved": "https://registry.npmmirror.com/bl/-/bl-6.0.11.tgz",
"integrity": "sha512-Ok/NWrEA0mlEEbWzckkZVLq6Nv1m2xZ+i9Jq5hZ9Ph/YEcP5dExqls9wUzpluhQRPzdeT8oZNOXAytta6YN8pQ==",
"dependencies": {
"@types/readable-stream": "^4.0.0",
"buffer": "^6.0.3",
"inherits": "^2.0.4",
"readable-stream": "^4.2.0"
}
},
"node_modules/mqtt-packet/node_modules/buffer": {
"version": "6.0.3",
"resolved": "https://registry.npmmirror.com/buffer/-/buffer-6.0.3.tgz",
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.2.1"
}
},
"node_modules/mqtt-packet/node_modules/readable-stream": {
"version": "4.5.2",
"resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-4.5.2.tgz",
"integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
"dependencies": {
"abort-controller": "^3.0.0",
"buffer": "^6.0.3",
"events": "^3.3.0",
"process": "^0.11.10",
"string_decoder": "^1.3.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/mqtt/node_modules/buffer": {
"version": "6.0.3",
"resolved": "https://registry.npmmirror.com/buffer/-/buffer-6.0.3.tgz",
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.2.1"
}
},
"node_modules/mqtt/node_modules/lru-cache": {
"version": "10.2.0",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.2.0.tgz",
"integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==",
"engines": {
"node": "14 || >=16.14"
}
},
"node_modules/mqtt/node_modules/readable-stream": {
"version": "4.5.2",
"resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-4.5.2.tgz",
"integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
"dependencies": {
"abort-controller": "^3.0.0",
"buffer": "^6.0.3",
"events": "^3.3.0",
"process": "^0.11.10",
"string_decoder": "^1.3.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/mqtt/node_modules/ws": {
"version": "8.16.0",
"resolved": "https://registry.npmmirror.com/ws/-/ws-8.16.0.tgz",
"integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
"utf-8-validate": ">=5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
"optional": true
},
"utf-8-validate": {
"optional": true
}
}
},
"node_modules/mrmime": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/mrmime/-/mrmime-2.0.0.tgz",
@@ -12243,8 +12574,7 @@
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/multicast-dns": {
"version": "7.2.5",
@@ -12668,6 +12998,11 @@
"@angular/router": "^17.0.0"
}
},
"node_modules/ng2-mqtt": {
"version": "0.1.2",
"resolved": "https://registry.npmmirror.com/ng2-mqtt/-/ng2-mqtt-0.1.2.tgz",
"integrity": "sha512-UqYCCHHC44WFvGg95LG4p2Duct3VoFFOFAtNlrgOtMp8xZT6UG4MGsT7CySsFsf9S3VoE96SNsgu8iDdq+20/g=="
},
"node_modules/ngx-countdown": {
"version": "17.1.1",
"resolved": "https://registry.npmmirror.com/ngx-countdown/-/ngx-countdown-17.1.1.tgz",
@@ -12676,6 +13011,30 @@
"tslib": "^2.3.0"
}
},
"node_modules/ngx-mqtt": {
"version": "17.0.0",
"resolved": "https://registry.npmmirror.com/ngx-mqtt/-/ngx-mqtt-17.0.0.tgz",
"integrity": "sha512-54wVMyDOZkpTZEs0rTMWPP1Yz+6q3rRnHzIBnpqnBkDcyMfNrti45C7ijwnEIaPDzQHMOqVrDgh/6C4ocPPLJQ==",
"dependencies": {
"mqtt-browser": "4.3.7",
"mqtt-packet": "^6.10.0",
"tslib": "^2.3.0"
},
"peerDependencies": {
"@angular/common": ">=14",
"@angular/core": ">=14"
}
},
"node_modules/ngx-mqtt/node_modules/mqtt-packet": {
"version": "6.10.0",
"resolved": "https://registry.npmmirror.com/mqtt-packet/-/mqtt-packet-6.10.0.tgz",
"integrity": "sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==",
"dependencies": {
"bl": "^4.0.2",
"debug": "^4.1.1",
"process-nextick-args": "^2.0.1"
}
},
"node_modules/ngx-tinymce": {
"version": "17.0.0",
"resolved": "https://registry.npmmirror.com/ngx-tinymce/-/ngx-tinymce-17.0.0.tgz",
@@ -13044,6 +13403,15 @@
"boolbase": "^1.0.0"
}
},
"node_modules/number-allocator": {
"version": "1.0.14",
"resolved": "https://registry.npmmirror.com/number-allocator/-/number-allocator-1.0.14.tgz",
"integrity": "sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==",
"dependencies": {
"debug": "^4.3.1",
"js-sdsl": "4.3.0"
}
},
"node_modules/nx": {
"version": "17.2.8",
"resolved": "https://registry.npmmirror.com/nx/-/nx-17.2.8.tgz",
@@ -13518,7 +13886,6 @@
"version": "1.4.0",
"resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dev": true,
"dependencies": {
"wrappy": "1"
}
@@ -13767,6 +14134,11 @@
"node": "^16.14.0 || >=18.0.0"
}
},
"node_modules/paho-mqtt": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/paho-mqtt/-/paho-mqtt-1.1.0.tgz",
"integrity": "sha512-KPbL9KAB0ASvhSDbOrZBaccXS+/s7/LIofbPyERww8hM5Ko71GUJQ6Nmg0BWqj8phAIT8zdf/Sd/RftHU9i2HA=="
},
"node_modules/pako": {
"version": "1.0.11",
"resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz",
@@ -13864,7 +14236,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -14291,6 +14662,14 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
"node_modules/process": {
"version": "0.11.10",
"resolved": "https://registry.npmmirror.com/process/-/process-0.11.10.tgz",
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
"engines": {
"node": ">= 0.6.0"
}
},
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -14350,6 +14729,15 @@
"dev": true,
"optional": true
},
"node_modules/pump": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
},
"node_modules/punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz",
@@ -14602,7 +14990,6 @@
"version": "3.6.2",
"resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -14753,6 +15140,11 @@
"resolved": "https://registry.npmmirror.com/regression/-/regression-2.0.1.tgz",
"integrity": "sha512-A4XYsc37dsBaNOgEjkJKzfJlE394IMmUPlI/p3TTI9u3T+2a+eox5Pr/CPUqF0eszeWZJPAc6QkroAhuUpWDJQ=="
},
"node_modules/reinterval": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/reinterval/-/reinterval-1.1.0.tgz",
"integrity": "sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ=="
},
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz",
@@ -14873,8 +15265,7 @@
"node_modules/rfdc": {
"version": "1.3.1",
"resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.3.1.tgz",
"integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==",
"dev": true
"integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg=="
},
"node_modules/rimraf": {
"version": "3.0.2",
@@ -14975,8 +15366,7 @@
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"node_modules/safe-regex-test": {
"version": "1.0.2",
@@ -15876,6 +16266,14 @@
"wbuf": "^1.7.3"
}
},
"node_modules/split2": {
"version": "4.2.0",
"resolved": "https://registry.npmmirror.com/split2/-/split2-4.2.0.tgz",
"integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
"engines": {
"node": ">= 10.x"
}
},
"node_modules/sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz",
@@ -15914,6 +16312,11 @@
"node": ">= 0.6"
}
},
"node_modules/stream-shift": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/stream-shift/-/stream-shift-1.0.3.tgz",
"integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ=="
},
"node_modules/streamroller": {
"version": "3.1.5",
"resolved": "https://registry.npmmirror.com/streamroller/-/streamroller-3.1.5.tgz",
@@ -15932,7 +16335,6 @@
"version": "1.3.0",
"resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dev": true,
"dependencies": {
"safe-buffer": "~5.2.0"
}
@@ -17214,6 +17616,11 @@
"integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==",
"dev": true
},
"node_modules/typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
},
"node_modules/typescript": {
"version": "5.3.3",
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.3.3.tgz",
@@ -17263,8 +17670,7 @@
"node_modules/undici-types": {
"version": "5.26.5",
"resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz",
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
"dev": true
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
},
"node_modules/unicode-canonical-property-names-ecmascript": {
"version": "2.0.0",
@@ -17886,6 +18292,70 @@
"node": ">=0.8"
}
},
"node_modules/worker-timers": {
"version": "7.1.3",
"resolved": "https://registry.npmmirror.com/worker-timers/-/worker-timers-7.1.3.tgz",
"integrity": "sha512-lNZNDecNDmk6X2fnEU4KUufLV96XUZMqXeJlUxwcE6wDzNQb3TLQMY1ky5uueKAnoXxS36P5gvnylCyZyC4rRA==",
"dependencies": {
"@babel/runtime": "^7.24.0",
"tslib": "^2.6.2",
"worker-timers-broker": "^6.1.3",
"worker-timers-worker": "^7.0.67"
}
},
"node_modules/worker-timers-broker": {
"version": "6.1.3",
"resolved": "https://registry.npmmirror.com/worker-timers-broker/-/worker-timers-broker-6.1.3.tgz",
"integrity": "sha512-hgnwGcp/y+3mewIed9v/eQl/XDBt54fKq2VWarMLpoxfXMx2XDGzOhIkgbVlBTLH3KwyRmVkdwWMTG73a9ZF3w==",
"dependencies": {
"@babel/runtime": "^7.24.0",
"fast-unique-numbers": "^9.0.1",
"tslib": "^2.6.2",
"worker-timers-worker": "^7.0.67"
}
},
"node_modules/worker-timers-broker/node_modules/@babel/runtime": {
"version": "7.24.0",
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.0.tgz",
"integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/worker-timers-worker": {
"version": "7.0.67",
"resolved": "https://registry.npmmirror.com/worker-timers-worker/-/worker-timers-worker-7.0.67.tgz",
"integrity": "sha512-0ZP2+v2fyiiiGaCEdWxMRUk5YxGFwWdRGB12ZfQy13vw8/27Xd+MW3ua56qlcM30nzjpddXXzLuEpHhGW+Pz7w==",
"dependencies": {
"@babel/runtime": "^7.24.0",
"tslib": "^2.6.2"
}
},
"node_modules/worker-timers-worker/node_modules/@babel/runtime": {
"version": "7.24.0",
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.0.tgz",
"integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/worker-timers/node_modules/@babel/runtime": {
"version": "7.24.0",
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.0.tgz",
"integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
@@ -17978,8 +18448,7 @@
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"dev": true
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
"node_modules/write-file-atomic": {
"version": "5.0.1",
@@ -18044,6 +18513,14 @@
"node": ">=0.8"
}
},
"node_modules/xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz",
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"engines": {
"node": ">=0.4"
}
},
"node_modules/y18n": {
"version": "5.0.8",
"resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz",


+ 5
- 1
package.json Zobrazit soubor

@@ -38,11 +38,15 @@
"@delon/mock": "^17.1.0",
"@delon/theme": "^17.1.0",
"@delon/util": "^17.1.0",
"ag-grid-angular": "^31.0.2",
"ag-grid-angular": "^31.1.1",
"echarts": "^5.5.0",
"moment": "^2.30.1",
"mqtt": "^5.3.6",
"ng-alain": "^17.1.0",
"ng-zorro-antd": "^17.1.0",
"ng2-mqtt": "^0.1.2",
"ngx-mqtt": "^17.0.0",
"paho-mqtt": "^1.1.0",
"rxjs": "~7.8.0",
"screenfull": "^6.0.2",
"tslib": "^2.3.0",


+ 23
- 3
src/app/app.config.ts Zobrazit soubor

@@ -2,7 +2,14 @@ import { provideHttpClient, withInterceptors } from '@angular/common/http';
import { default as ngLang } from '@angular/common/locales/zh';
import { ApplicationConfig, EnvironmentProviders, Provider } from '@angular/core';
import { provideAnimations } from '@angular/platform-browser/animations';
import { provideRouter, withComponentInputBinding, withViewTransitions, withInMemoryScrolling, withHashLocation, RouterFeatures } from '@angular/router';
import {
provideRouter,
withComponentInputBinding,
withViewTransitions,
withInMemoryScrolling,
withHashLocation,
RouterFeatures
} from '@angular/router';
import { defaultInterceptor, provideStartup } from '@core';
import { provideCellWidgets } from '@delon/abc/cell';
import { provideSTWidgets } from '@delon/abc/st';
@@ -16,12 +23,19 @@ import { zhCN as dateLang } from 'date-fns/locale';
import { NzConfig, provideNzConfig } from 'ng-zorro-antd/core/config';
import { zh_CN as zorroLang } from 'ng-zorro-antd/i18n';



import { provideBindAuthRefresh } from './core/net';
import { routes } from './routes/routes';
import { ICONS } from '../style-icons';
import { ICONS_AUTO } from '../style-icons-auto';
import { IMqttServiceOptions, MqttService } from 'ngx-mqtt';

export const MQTT_SERVICE_OPTIONS: IMqttServiceOptions = {
hostname: '127.0.0.1',
port: 1883,
path: '/mqtt',
protocol: 'ws'
// ...其他配置项,例如用户名和密码
};

const defaultLang: AlainProvideLang = {
abbr: 'zh-CN',
@@ -57,6 +71,12 @@ const providers: Array<Provider | EnvironmentProviders> = [
widgets: [...SF_WIDGETS]
}),
provideStartup(),
{
provide: MqttService,
useFactory: () => {
return new MqttService(MQTT_SERVICE_OPTIONS);
}
},
...(environment.providers || [])
];



+ 3
- 2
src/app/routes/data-v/workstation/workstation.component.html Zobrazit soubor

@@ -8,11 +8,12 @@
</ag-grid-angular>
</data-v-card>
<data-v-card nz-col nzSpan="12" title="报警信息">
<ag-grid-angular [rowData]="rowData" [columnDefs]="colDefs3" class="ag-theme-datav">
<ag-grid-angular [rowData]="rowData" [columnDefs]="colDefs3" class="ag-theme-datav" [pagination]="true"
[paginationAutoPageSize]="true" [paginationPageSize]="10">
</ag-grid-angular>
</data-v-card>
<data-v-card nz-col nzSpan="12" title="通知">
<ag-grid-angular [rowData]="rowData" [columnDefs]="colDefs4" class="ag-theme-datav">
</ag-grid-angular>
</data-v-card>
</div>
</div>

+ 225
- 36
src/app/routes/data-v/workstation/workstation.component.ts Zobrazit soubor

@@ -7,6 +7,9 @@ import { AgGridAngular } from 'ag-grid-angular'; // AG Grid Component
import { ColDef } from 'ag-grid-community'; // Column Definition Type Interface
import { DataVCardComponent } from '../card/card.component';
import { DataVTitleComponent } from '../title/title.component';
import { MqttModule, IMqttServiceOptions } from 'ngx-mqtt';
import mqtt from 'mqtt';
import { IMqttMessage, MqttService } from 'ngx-mqtt';

@Component({
selector: 'app-data-v-workstation',
@@ -20,71 +23,257 @@ export class DataVWorkstationComponent implements OnInit, AfterViewInit {
private readonly modal = inject(ModalHelper);
private readonly elementRef = inject(ElementRef);

private readonly topic = 'test/topic';

dataSet: any;

rowData = [
{
rwmc: "任务1", rwms: "任务描述1", kssj: "2024-1-1", jhwcsj: "2024-1-2", sfcq: '否', dqzt: "正常", dqjd: "节点1", sjwcsj: "2024-1-2",
bjmc: "报警1", bjms: "报警描述1", bjsj: "2024-1-1", gzyy: "-", clff: "-", tzsj: "2024-1-2", zycd: "一般", tzmc: '系统提示',
tznr: '账户登录', fj: "-"
rwmc: '任务1',
rwms: '任务描述1',
kssj: '2024-1-1',
jhwcsj: '2024-1-2',
sfcq: '否',
dqzt: '正常',
dqjd: '节点1',
sjwcsj: '2024-1-2',
bjmc: '报警1',
bjms: '报警描述1',
bjsj: '2024-1-1',
gzyy: '-',
clff: '-',
tzsj: '2024-1-2',
zycd: '一般',
tzmc: '系统提示',
tznr: '账户登录',
fj: '-'
},
{
rwmc: '任务2',
rwms: '任务描述2',
kssj: '2024-1-2',
jhwcsj: '2024-1-3',
sfcq: '否',
dqzt: '正常',
dqjd: '节点2',
sjwcsj: '2024-1-2',
bjmc: '报警2',
bjms: '报警描述2',
bjsj: '2024-1-2',
gzyy: '-',
clff: '-',
tzsj: '2024-1-2',
zycd: '一般',
tzmc: '系统提示',
tznr: '账户登录',
fj: '-'
},
{
rwmc: '任务3',
rwms: '任务描述3',
kssj: '2024-1-3',
jhwcsj: '2024-1-4',
sfcq: '否',
dqzt: '正常',
dqjd: '节点3',
sjwcsj: '2024-1-2',
bjmc: '报警3',
bjms: '报警描述3',
bjsj: '2024-1-3',
gzyy: '-',
clff: '-',
tzsj: '2024-1-2',
zycd: '一般',
tzmc: '系统提示',
tznr: '账户登录',
fj: '-'
},
{
rwmc: '任务4',
rwms: '任务描述4',
kssj: '2024-1-4',
jhwcsj: '2024-1-5',
sfcq: '否',
dqzt: '正常',
dqjd: '节点4',
sjwcsj: '2024-1-2',
bjmc: '报警4',
bjms: '报警描述4',
bjsj: '2024-1-4',
gzyy: '-',
clff: '-',
tzsj: '2024-1-2',
zycd: '一般',
tzmc: '系统提示',
tznr: '账户登录',
fj: '-'
},
{
rwmc: "任务2", rwms: "任务描述2", kssj: "2024-1-2", jhwcsj: "2024-1-3", sfcq: '否', dqzt: "正常", dqjd: "节点2", sjwcsj: "2024-1-2",
bjmc: "报警2", bjms: "报警描述2", bjsj: "2024-1-2", gzyy: "-", clff: "-", tzsj: "2024-1-2", zycd: "一般", tzmc: '系统提示',
tznr: '账户登录', fj: "-"
rwmc: '任务5',
rwms: '任务描述5',
kssj: '2024-1-5',
jhwcsj: '2024-1-6',
sfcq: '否',
dqzt: '正常',
dqjd: '节点5',
sjwcsj: '2024-1-2',
bjmc: '报警5',
bjms: '报警描述5',
bjsj: '2024-1-5',
gzyy: '-',
clff: '-',
tzsj: '2024-1-2',
zycd: '一般',
tzmc: '系统提示',
tznr: '账户登录',
fj: '-'
},
{
rwmc: "任务3", rwms: "任务描述3", kssj: "2024-1-3", jhwcsj: "2024-1-4", sfcq: '否', dqzt: "正常", dqjd: "节点3", sjwcsj: "2024-1-2",
bjmc: "报警3", bjms: "报警描述3", bjsj: "2024-1-3", gzyy: "-", clff: "-", tzsj: "2024-1-2", zycd: "一般", tzmc: '系统提示',
tznr: '账户登录', fj: "-"
rwmc: '任务1',
rwms: '任务描述1',
kssj: '2024-1-1',
jhwcsj: '2024-1-2',
sfcq: '否',
dqzt: '正常',
dqjd: '节点1',
sjwcsj: '2024-1-2',
bjmc: '报警1',
bjms: '报警描述1',
bjsj: '2024-1-1',
gzyy: '-',
clff: '-',
tzsj: '2024-1-2',
zycd: '一般',
tzmc: '系统提示',
tznr: '账户登录',
fj: '-'
},
{
rwmc: "任务4", rwms: "任务描述4", kssj: "2024-1-4", jhwcsj: "2024-1-5", sfcq: '否', dqzt: "正常", dqjd: "节点4", sjwcsj: "2024-1-2",
bjmc: "报警4", bjms: "报警描述4", bjsj: "2024-1-4", gzyy: "-", clff: "-", tzsj: "2024-1-2", zycd: "一般", tzmc: '系统提示',
tznr: '账户登录', fj: "-"
rwmc: '任务2',
rwms: '任务描述2',
kssj: '2024-1-2',
jhwcsj: '2024-1-3',
sfcq: '否',
dqzt: '正常',
dqjd: '节点2',
sjwcsj: '2024-1-2',
bjmc: '报警2',
bjms: '报警描述2',
bjsj: '2024-1-2',
gzyy: '-',
clff: '-',
tzsj: '2024-1-2',
zycd: '一般',
tzmc: '系统提示',
tznr: '账户登录',
fj: '-'
},
{
rwmc: "任务5", rwms: "任务描述5", kssj: "2024-1-5", jhwcsj: "2024-1-6", sfcq: '否', dqzt: "正常", dqjd: "节点5", sjwcsj: "2024-1-2",
bjmc: "报警5", bjms: "报警描述5", bjsj: "2024-1-5", gzyy: "-", clff: "-", tzsj: "2024-1-2", zycd: "一般", tzmc: '系统提示',
tznr: '账户登录', fj: "-"
rwmc: '任务3',
rwms: '任务描述3',
kssj: '2024-1-3',
jhwcsj: '2024-1-4',
sfcq: '否',
dqzt: '正常',
dqjd: '节点3',
sjwcsj: '2024-1-2',
bjmc: '报警3',
bjms: '报警描述3',
bjsj: '2024-1-3',
gzyy: '-',
clff: '-',
tzsj: '2024-1-2',
zycd: '一般',
tzmc: '系统提示',
tznr: '账户登录',
fj: '-'
},
{
rwmc: '任务4',
rwms: '任务描述4',
kssj: '2024-1-4',
jhwcsj: '2024-1-5',
sfcq: '否',
dqzt: '正常',
dqjd: '节点4',
sjwcsj: '2024-1-2',
bjmc: '报警4',
bjms: '报警描述4',
bjsj: '2024-1-4',
gzyy: '-',
clff: '-',
tzsj: '2024-1-2',
zycd: '一般',
tzmc: '系统提示',
tznr: '账户登录',
fj: '-'
},
{
rwmc: '任务5',
rwms: '任务描述5',
kssj: '2024-1-5',
jhwcsj: '2024-1-6',
sfcq: '否',
dqzt: '正常',
dqjd: '节点5',
sjwcsj: '2024-1-2',
bjmc: '报警5',
bjms: '报警描述5',
bjsj: '2024-1-5',
gzyy: '-',
clff: '-',
tzsj: '2024-1-2',
zycd: '一般',
tzmc: '系统提示',
tznr: '账户登录',
fj: '-'
}
];

colDefs1: ColDef[] = [
{ headerName: '任务名称', field: "rwmc", flex: 1 },
{ headerName: '任务描述', field: "rwms", flex: 2 },
{ headerName: '开始时间', field: "kssj", flex: 1 },
{ headerName: '计划完成时间', field: "jhwcsj", flex: 1.5 },
{ headerName: '是否超期', field: "sfcq", flex: 1 },
{ headerName: '任务名称', field: 'rwmc', flex: 1 },
{ headerName: '任务描述', field: 'rwms', flex: 2 },
{ headerName: '开始时间', field: 'kssj', flex: 1 },
{ headerName: '计划完成时间', field: 'jhwcsj', flex: 1.5 },
{ headerName: '是否超期', field: 'sfcq', flex: 1 }
];

colDefs2: ColDef[] = [
{ headerName: '任务名称', field: "rwmc", flex: 1 },
{ headerName: '任务描述', field: "rwms", flex: 1 },
{ headerName: '开始时间', field: "kssj", flex: 1 },
{ headerName: '当前状态', field: "dqzt", flex: 1 },
{ headerName: '当前节点', field: "dqjd", flex: 1 },
{ headerName: '实际完成时间', field: "sjwcsj", flex: 1 },
{ headerName: '任务名称', field: 'rwmc', flex: 1 },
{ headerName: '任务描述', field: 'rwms', flex: 1 },
{ headerName: '开始时间', field: 'kssj', flex: 1 },
{ headerName: '当前状态', field: 'dqzt', flex: 1 },
{ headerName: '当前节点', field: 'dqjd', flex: 1 },
{ headerName: '实际完成时间', field: 'sjwcsj', flex: 1 }
];

colDefs3: ColDef[] = [
{ headerName: '报警名称', field: "bjmc", flex: 1 },
{ headerName: '报警描述', field: "bjms", flex: 1 },
{ headerName: '报警时间', field: "bjsj", flex: 1 },
{ headerName: '故障原因', field: "gzyy", flex: 1.5 },
{ headerName: '处理方法', field: "clff", flex: 1 },
{ headerName: '报警名称', field: 'bjmc', flex: 1 },
{ headerName: '报警描述', field: 'bjms', flex: 1 },
{ headerName: '报警时间', field: 'bjsj', flex: 1 },
{ headerName: '故障原因', field: 'gzyy', flex: 1.5 },
{ headerName: '处理方法', field: 'clff', flex: 1 }
];

// Column Definitions: Defines the columns to be displayed.
colDefs4: ColDef[] = [
{ headerName: '通知时间', field: "tzsj", flex: 1 },
{ headerName: '重要程度', field: "zycd", flex: 1 },
{ headerName: '通知名称', field: "tzmc", flex: 1 },
{ headerName: '通知内容', field: "tznr", flex: 1 },
{ headerName: '附件', field: "fj", flex: 1 }
{ headerName: '通知时间', field: 'tzsj', flex: 1 },
{ headerName: '重要程度', field: 'zycd', flex: 1 },
{ headerName: '通知名称', field: 'tzmc', flex: 1 },
{ headerName: '通知内容', field: 'tznr', flex: 1 },
{ headerName: '附件', field: 'fj', flex: 1 }
];

client: any;

constructor(private _mqttService: MqttService) {
this.client = _mqttService;
}

ngOnInit(): void {
this._mqttService.observe('test/topic').subscribe((message: IMqttMessage) => {
console.log(message.payload.toString());
});
}

ngAfterViewInit(): void {


+ 3
- 1
src/styles.less Zobrazit soubor

@@ -6,7 +6,9 @@
@import './styles/index';
@import './styles/theme';
@import 'ag-grid-community/styles/ag-grid.css';
@import 'ag-grid-community/styles/ag-theme-material.css';
@import 'ag-grid-community/styles/ag-theme-quartz.css';

@font-family: 'メイリオ', 'Helvetica Neue', helvetica, arial, sans-serif;

.dis-flex {
display: flex;


+ 9
- 3
src/styles/theme.less Zobrazit soubor

@@ -6,7 +6,7 @@

// ==========The following is the custom theme variable area==========
// The theme paraments can be generated at https://ng-alain.github.io/ng-alain/
// @primary-color: #f50;==========Thefollowingisthecustomthemevariablearea==========Thethemeparamentscanbegeneratedathttps
// @primary-color: #f50;==========Thefollowingisthecustomthemevariablearea==========Thethemeparamentscanbegeneratedathttps==========Thefollowingisthecustomthemevariablearea==========Thethemeparamentscanbegeneratedathttps


@primary-color: #13C2C2;
@@ -23,28 +23,34 @@
/* 设置滚动条滑块的样式 */
.ag-theme-datav ::ng-deep .ag-body-vertical-scroll-viewport::-webkit-scrollbar-thumb {
background-color: red;
/* 滚动条滑块的背景颜色 */
border-radius: 6px;

/* 圆角 */
border: 2px solid orange;

/* 滚动条滑块的背景颜色 */
border-radius: 6px;

/* 滚动条滑块的边框 */
}

/* 设置滚动条轨道的样式 */
.ag-theme-datav ::ng-deep .ag-body-vertical-scroll-viewport::-webkit-scrollbar-track {
background-color: yellow;

/* 滚动条轨道的背景颜色 */
}

/* 设置滚动条滑块悬浮时的样式 */
.ag-theme-datav ::ng-deep .ag-body-vertical-scroll-viewport::-webkit-scrollbar-thumb:hover {
background-color: darkred;

/* 滚动条滑块悬浮时的背景颜色 */
}

/* 设置滚动条滑块激活(即正在拖动滑块)时的样式 */
.ag-theme-datav ::ng-deep .ag-body-vertical-scroll-viewport::-webkit-scrollbar-thumb:active {
background-color: #a00;

/* 滚动条滑块激活时的背景颜色 */
}



+ 1053
- 687
yarn.lock
Diff nebyl zobrazen, protože je příliš veliký
Zobrazit soubor


Načítá se…
Zrušit
Uložit