| | |
| | | "tslib": "^1.10.0" |
| | | } |
| | | }, |
| | | "@antv/algorithm": { |
| | | "version": "0.1.23", |
| | | "resolved": "https://registry.npmjs.org/@antv/algorithm/-/algorithm-0.1.23.tgz", |
| | | "integrity": "sha512-ncAfXwpO9angkGlZ/4LYsFk+T2hvQI6A+mEEGMslj8wF7ddPdtZ+DK3KFbhfJvQ4iz9Z44sJfdJ/fybwt0g0kA==", |
| | | "requires": { |
| | | "@antv/util": "^2.0.13", |
| | | "tslib": "^2.0.0" |
| | | }, |
| | | "dependencies": { |
| | | "tslib": { |
| | | "version": "2.4.0", |
| | | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", |
| | | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" |
| | | } |
| | | } |
| | | }, |
| | | "@antv/attr": { |
| | | "version": "0.3.2", |
| | | "resolved": "https://registry.npmjs.org/@antv/attr/-/attr-0.3.2.tgz", |
| | |
| | | } |
| | | } |
| | | }, |
| | | "@antv/g-webgpu": { |
| | | "version": "0.5.5", |
| | | "resolved": "https://registry.npmjs.org/@antv/g-webgpu/-/g-webgpu-0.5.5.tgz", |
| | | "integrity": "sha512-TxtBniINFq1jFGEPo46xjJfrbJbUqkFd5wmsRs3tcg/7J7xoldOP1kEadpI3AJG9knMYdE92VpILw1VPd6DgzQ==", |
| | | "requires": { |
| | | "@antv/g-webgpu-core": "^0.5.5", |
| | | "@antv/g-webgpu-engine": "^0.5.5", |
| | | "@webgpu/types": "^0.0.31", |
| | | "gl-matrix": "^3.1.0", |
| | | "gl-vec2": "^1.3.0", |
| | | "hammerjs": "^2.0.8", |
| | | "inversify": "^5.0.1", |
| | | "inversify-inject-decorators": "^3.1.0", |
| | | "polyline-miter-util": "^1.0.1", |
| | | "polyline-normals": "^2.0.2", |
| | | "probe.gl": "^3.1.1", |
| | | "reflect-metadata": "^0.1.13" |
| | | } |
| | | }, |
| | | "@antv/g-webgpu-core": { |
| | | "version": "0.5.6", |
| | | "resolved": "https://registry.npmjs.org/@antv/g-webgpu-core/-/g-webgpu-core-0.5.6.tgz", |
| | | "integrity": "sha512-DPiH3GkAUiT0Q+LAKeImpI+IOQ/gP2w6HstYKivpFIpBPIvZ/9equM3icVrn1iDfDkZANVXQ1PppcO3xBv1ZTw==", |
| | | "requires": { |
| | | "eventemitter3": "^4.0.0", |
| | | "gl-matrix": "^3.1.0", |
| | | "inversify": "^5.0.1", |
| | | "inversify-inject-decorators": "^3.1.0", |
| | | "probe.gl": "^3.1.1", |
| | | "reflect-metadata": "^0.1.13" |
| | | } |
| | | }, |
| | | "@antv/g-webgpu-engine": { |
| | | "version": "0.5.6", |
| | | "resolved": "https://registry.npmjs.org/@antv/g-webgpu-engine/-/g-webgpu-engine-0.5.6.tgz", |
| | | "integrity": "sha512-D311qYUefdEFwLayutIHqucrAY3cAGH3BdnXS37nq+0nsglrHcNP0Ab1YTinn9RihLoY3yXFTLzrYkJHJbZXDg==", |
| | | "requires": { |
| | | "@antv/g-webgpu-core": "^0.5.6", |
| | | "@webgpu/glslang": "^0.0.15", |
| | | "@webgpu/types": "^0.0.31", |
| | | "gl-matrix": "^3.1.0", |
| | | "hammerjs": "^2.0.8", |
| | | "inversify": "^5.0.1", |
| | | "inversify-inject-decorators": "^3.1.0", |
| | | "probe.gl": "^3.1.1", |
| | | "reflect-metadata": "^0.1.13", |
| | | "regl": "^1.3.11" |
| | | } |
| | | }, |
| | | "@antv/g2": { |
| | | "version": "4.1.34", |
| | | "resolved": "https://registry.npmjs.org/@antv/g2/-/g2-4.1.34.tgz", |
| | |
| | | } |
| | | } |
| | | }, |
| | | "@antv/g6": { |
| | | "version": "4.6.4", |
| | | "resolved": "https://registry.npmjs.org/@antv/g6/-/g6-4.6.4.tgz", |
| | | "integrity": "sha512-8xU96NISJ7G3Gwo6m1BTtqzfBeRd23BWcLDIpwX4v1KoE3NMHZlJkUaNvnKsoeoEoLNCDYBvTfBfEwV4C5gWfw==", |
| | | "requires": { |
| | | "@antv/g6-pc": "0.6.4" |
| | | } |
| | | }, |
| | | "@antv/g6-core": { |
| | | "version": "0.6.4", |
| | | "resolved": "https://registry.npmjs.org/@antv/g6-core/-/g6-core-0.6.4.tgz", |
| | | "integrity": "sha512-8JYIZME7zaQJImlPOatmlTe/tKPxRaq8/wV2f61/7mfKON3LF9kEVvTrpJexMnXoCBuM+puxx3DbiPb64gL4LQ==", |
| | | "requires": { |
| | | "@antv/algorithm": "^0.1.8", |
| | | "@antv/dom-util": "^2.0.1", |
| | | "@antv/event-emitter": "~0.1.0", |
| | | "@antv/g-base": "^0.5.1", |
| | | "@antv/g-math": "^0.1.1", |
| | | "@antv/matrix-util": "^3.1.0-beta.3", |
| | | "@antv/path-util": "^2.0.3", |
| | | "@antv/util": "~2.0.5", |
| | | "ml-matrix": "^6.5.0", |
| | | "tslib": "^2.1.0" |
| | | }, |
| | | "dependencies": { |
| | | "tslib": { |
| | | "version": "2.4.0", |
| | | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", |
| | | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" |
| | | } |
| | | } |
| | | }, |
| | | "@antv/g6-element": { |
| | | "version": "0.6.4", |
| | | "resolved": "https://registry.npmjs.org/@antv/g6-element/-/g6-element-0.6.4.tgz", |
| | | "integrity": "sha512-9wKogi6LnA4IoiVEWv8HmvHgHOXzbT73jDi4QrdSWjrttu7cyR2wQeKRYDp2lL2OPkHzzuNcI+ULQxbLKl3Oqg==", |
| | | "requires": { |
| | | "@antv/g-base": "^0.5.1", |
| | | "@antv/g6-core": "0.6.4", |
| | | "@antv/util": "~2.0.5" |
| | | } |
| | | }, |
| | | "@antv/g6-pc": { |
| | | "version": "0.6.4", |
| | | "resolved": "https://registry.npmjs.org/@antv/g6-pc/-/g6-pc-0.6.4.tgz", |
| | | "integrity": "sha512-bEQ3pqHzkqDvk2aWRghj9cB73qXx0n4NRJFmL4cSJnB1SQyk7akfBHgLBzw5aqsYviL9WK7VR6uCCZRPK3PoXA==", |
| | | "requires": { |
| | | "@ant-design/colors": "^4.0.5", |
| | | "@antv/algorithm": "^0.1.8", |
| | | "@antv/dom-util": "^2.0.1", |
| | | "@antv/event-emitter": "~0.1.0", |
| | | "@antv/g-base": "^0.5.1", |
| | | "@antv/g-canvas": "^0.5.2", |
| | | "@antv/g-math": "^0.1.1", |
| | | "@antv/g-svg": "^0.5.1", |
| | | "@antv/g6-core": "0.6.4", |
| | | "@antv/g6-element": "0.6.4", |
| | | "@antv/g6-plugin": "0.6.4", |
| | | "@antv/hierarchy": "^0.6.7", |
| | | "@antv/layout": "^0.2.1", |
| | | "@antv/matrix-util": "^3.1.0-beta.3", |
| | | "@antv/path-util": "^2.0.3", |
| | | "@antv/util": "~2.0.5", |
| | | "color": "^3.1.3", |
| | | "d3-force": "^2.0.1", |
| | | "dagre": "^0.8.5", |
| | | "insert-css": "^2.0.0", |
| | | "ml-matrix": "^6.5.0" |
| | | }, |
| | | "dependencies": { |
| | | "@ant-design/colors": { |
| | | "version": "4.0.5", |
| | | "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-4.0.5.tgz", |
| | | "integrity": "sha512-3mnuX2prnWOWvpFTS2WH2LoouWlOgtnIpc6IarWN6GOzzLF8dW/U8UctuvIPhoboETehZfJ61XP+CGakBEPJ3Q==", |
| | | "requires": { |
| | | "tinycolor2": "^1.4.1" |
| | | } |
| | | }, |
| | | "@antv/hierarchy": { |
| | | "version": "0.6.8", |
| | | "resolved": "https://registry.npmjs.org/@antv/hierarchy/-/hierarchy-0.6.8.tgz", |
| | | "integrity": "sha512-wVzUl+pxny5gyGJ2mkWx8IiEypX6bnMHgr/NILgbxY6shoy0Vf4FhZpI3CY8Ez7bQT6js8fMkB2NymPW7d7i8A==", |
| | | "requires": { |
| | | "@antv/util": "^2.0.7" |
| | | } |
| | | }, |
| | | "color": { |
| | | "version": "3.2.1", |
| | | "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", |
| | | "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", |
| | | "requires": { |
| | | "color-convert": "^1.9.3", |
| | | "color-string": "^1.6.0" |
| | | } |
| | | }, |
| | | "color-string": { |
| | | "version": "1.9.1", |
| | | "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", |
| | | "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", |
| | | "requires": { |
| | | "color-name": "^1.0.0", |
| | | "simple-swizzle": "^0.2.2" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "@antv/g6-plugin": { |
| | | "version": "0.6.4", |
| | | "resolved": "https://registry.npmjs.org/@antv/g6-plugin/-/g6-plugin-0.6.4.tgz", |
| | | "integrity": "sha512-eStD6j3nB54owXdYcA6/vxVCxJfBiMUfc33p4cKnRJnomSvEHYG/7i21SbyzMQQq7dRc0RDIPubYVwSilKzLCA==", |
| | | "requires": { |
| | | "@antv/dom-util": "^2.0.2", |
| | | "@antv/g-base": "^0.5.1", |
| | | "@antv/g-canvas": "^0.5.2", |
| | | "@antv/g-svg": "^0.5.2", |
| | | "@antv/g6-core": "0.6.4", |
| | | "@antv/matrix-util": "^3.1.0-beta.3", |
| | | "@antv/scale": "^0.3.4", |
| | | "@antv/util": "^2.0.9", |
| | | "insert-css": "^2.0.0" |
| | | } |
| | | }, |
| | | "@antv/graphlib": { |
| | | "version": "1.2.0", |
| | | "resolved": "https://registry.npmjs.org/@antv/graphlib/-/graphlib-1.2.0.tgz", |
| | | "integrity": "sha512-hhJOMThec51nU4Fe5p/viLlNIL71uDEgYFzKPajWjr2715SFG1HAgiP6AVylIeqBcAZ04u3Lw7usjl/TuI5RuQ==" |
| | | }, |
| | | "@antv/hierarchy": { |
| | | "version": "0.6.3", |
| | | "resolved": "https://registry.npmjs.org/@antv/hierarchy/-/hierarchy-0.6.3.tgz", |
| | | "integrity": "sha512-91YZUiZFXK8zp2nC2C+4FEc1LDIPZ5Q4YQbzMnKhH+7nei4QCfIdXPrPh0EKRws78CVt2hxR5gHD7zq6UlokAQ==", |
| | | "requires": { |
| | | "@antv/util": "^2.0.7" |
| | | } |
| | | }, |
| | | "@antv/layout": { |
| | | "version": "0.2.2", |
| | | "resolved": "https://registry.npmjs.org/@antv/layout/-/layout-0.2.2.tgz", |
| | | "integrity": "sha512-J2qRZwhA6NbR3gPrbw8Vw+6TpXtMmpW86q8LnwtCnNvdRNQQ7wSfvWAiphtFRfHqwL9ky44J51v4ysCENgTGDQ==", |
| | | "requires": { |
| | | "@antv/g-webgpu": "0.5.5", |
| | | "@antv/graphlib": "^1.0.0", |
| | | "d3-force": "^2.0.1", |
| | | "dagre-compound": "^0.0.11", |
| | | "ml-matrix": "^6.5.0" |
| | | } |
| | | }, |
| | | "@antv/matrix-util": { |
| | |
| | | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", |
| | | "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" |
| | | }, |
| | | "@probe.gl/env": { |
| | | "version": "3.5.0", |
| | | "resolved": "https://registry.npmjs.org/@probe.gl/env/-/env-3.5.0.tgz", |
| | | "integrity": "sha512-YdlpZZshhyYxvWDBmZ5RIW2pTR14Pw4p9czMlt/v7F6HbFzWfAdmH7q6xVwFRYxUpQLwhWensWyv4aFysiWl4g==", |
| | | "requires": { |
| | | "@babel/runtime": "^7.0.0" |
| | | } |
| | | }, |
| | | "@probe.gl/log": { |
| | | "version": "3.5.0", |
| | | "resolved": "https://registry.npmjs.org/@probe.gl/log/-/log-3.5.0.tgz", |
| | | "integrity": "sha512-nW/qz2X1xY08WU/TsmJP6/6IPNcaY5fS/vLjpC4ahJuE2Mezga4hGM/R2X5JWE/nkPc+BsC5GnAnD13rwAxS7g==", |
| | | "requires": { |
| | | "@babel/runtime": "^7.0.0", |
| | | "@probe.gl/env": "3.5.0" |
| | | } |
| | | }, |
| | | "@probe.gl/stats": { |
| | | "version": "3.5.0", |
| | | "resolved": "https://registry.npmjs.org/@probe.gl/stats/-/stats-3.5.0.tgz", |
| | | "integrity": "sha512-IH2M+F3c8HR1DTroBARePUFG7wIewumtKA0UFqx51Z7S4hKrD60wFbpMmg0AcF4FvHAXMBoC+kYi1UKW9XbAOw==", |
| | | "requires": { |
| | | "@babel/runtime": "^7.0.0" |
| | | } |
| | | }, |
| | | "@react-native-community/cli-debugger-ui": { |
| | | "version": "4.9.0", |
| | | "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-4.9.0.tgz", |
| | |
| | | "@webassemblyjs/wast-parser": "1.8.5", |
| | | "@xtuc/long": "4.2.2" |
| | | } |
| | | }, |
| | | "@webgpu/glslang": { |
| | | "version": "0.0.15", |
| | | "resolved": "https://registry.npmjs.org/@webgpu/glslang/-/glslang-0.0.15.tgz", |
| | | "integrity": "sha512-niT+Prh3Aff8Uf1MVBVUsaNjFj9rJAKDXuoHIKiQbB+6IUP/3J3JIhBNyZ7lDhytvXxw6ppgnwKZdDJ08UMj4Q==" |
| | | }, |
| | | "@webgpu/types": { |
| | | "version": "0.0.31", |
| | | "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.0.31.tgz", |
| | | "integrity": "sha512-cvvCMSZBT4VsRNtt0lI6XQqvOIIWw6+NRUtnPUMDVDgsI4pCZColz3qzF5QcP9wIYOHEc3jssIBse8UWONKhlQ==" |
| | | }, |
| | | "@xmldom/xmldom": { |
| | | "version": "0.7.5", |
| | |
| | | } |
| | | } |
| | | }, |
| | | "d3-dispatch": { |
| | | "version": "2.0.0", |
| | | "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-2.0.0.tgz", |
| | | "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==" |
| | | }, |
| | | "d3-dsv": { |
| | | "version": "1.2.0", |
| | | "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz", |
| | |
| | | "version": "1.0.7", |
| | | "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.7.tgz", |
| | | "integrity": "sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==" |
| | | }, |
| | | "d3-force": { |
| | | "version": "2.1.1", |
| | | "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-2.1.1.tgz", |
| | | "integrity": "sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==", |
| | | "requires": { |
| | | "d3-dispatch": "1 - 2", |
| | | "d3-quadtree": "1 - 2", |
| | | "d3-timer": "1 - 2" |
| | | } |
| | | }, |
| | | "d3-geo": { |
| | | "version": "1.6.4", |
| | |
| | | "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", |
| | | "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" |
| | | }, |
| | | "d3-quadtree": { |
| | | "version": "2.0.0", |
| | | "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-2.0.0.tgz", |
| | | "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==" |
| | | }, |
| | | "d3-sankey": { |
| | | "version": "0.9.1", |
| | | "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.9.1.tgz", |
| | |
| | | "graphlib": "^2.1.8", |
| | | "lodash": "^4.17.15" |
| | | } |
| | | }, |
| | | "dagre-compound": { |
| | | "version": "0.0.11", |
| | | "resolved": "https://registry.npmjs.org/dagre-compound/-/dagre-compound-0.0.11.tgz", |
| | | "integrity": "sha512-UrSgRP9LtOZCYb9e5doolZXpc7xayyszgyOs7uakTK4n4KsLegLVTRRtq01GpQd/iZjYw5fWMapx9ed+c80MAQ==" |
| | | }, |
| | | "damerau-levenshtein": { |
| | | "version": "1.0.5", |
| | |
| | | "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", |
| | | "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==" |
| | | }, |
| | | "gl-vec2": { |
| | | "version": "1.3.0", |
| | | "resolved": "https://registry.npmjs.org/gl-vec2/-/gl-vec2-1.3.0.tgz", |
| | | "integrity": "sha512-YiqaAuNsheWmUV0Sa8k94kBB0D6RWjwZztyO+trEYS8KzJ6OQB/4686gdrf59wld4hHFIvaxynO3nRxpk1Ij/A==" |
| | | }, |
| | | "glob": { |
| | | "version": "7.1.4", |
| | | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", |
| | |
| | | } |
| | | } |
| | | }, |
| | | "insert-css": { |
| | | "version": "2.0.0", |
| | | "resolved": "https://registry.npmjs.org/insert-css/-/insert-css-2.0.0.tgz", |
| | | "integrity": "sha1-610Ql7dUL0x56jBg067gfQU4gPQ=" |
| | | }, |
| | | "internal-ip": { |
| | | "version": "4.3.0", |
| | | "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", |
| | |
| | | "requires": { |
| | | "loose-envify": "^1.0.0" |
| | | } |
| | | }, |
| | | "inversify": { |
| | | "version": "5.1.1", |
| | | "resolved": "https://registry.npmjs.org/inversify/-/inversify-5.1.1.tgz", |
| | | "integrity": "sha512-j8grHGDzv1v+8T1sAQ+3boTCntFPfvxLCkNcxB1J8qA0lUN+fAlSyYd+RXKvaPRL4AGyPxViutBEJHNXOyUdFQ==" |
| | | }, |
| | | "inversify-inject-decorators": { |
| | | "version": "3.1.0", |
| | | "resolved": "https://registry.npmjs.org/inversify-inject-decorators/-/inversify-inject-decorators-3.1.0.tgz", |
| | | "integrity": "sha512-/seBlVp5bXrLQS3DpKEmlgeZL6C7Tf/QITd+IMQrbBBGuCbxb7k3hRAWu9XSreNpFzLgSboz3sClLSEmGwHphw==" |
| | | }, |
| | | "invert-kv": { |
| | | "version": "1.0.0", |
| | |
| | | "requires": { |
| | | "kind-of": "^3.0.2" |
| | | } |
| | | }, |
| | | "is-any-array": { |
| | | "version": "2.0.0", |
| | | "resolved": "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.0.tgz", |
| | | "integrity": "sha512-WdPV58rT3aOWXvvyuBydnCq4S2BM1Yz8shKxlEpk/6x+GX202XRvXOycEFtNgnHVLoc46hpexPFx8Pz1/sMS0w==" |
| | | }, |
| | | "is-arguments": { |
| | | "version": "1.0.4", |
| | |
| | | } |
| | | } |
| | | }, |
| | | "ml-array-max": { |
| | | "version": "1.2.4", |
| | | "resolved": "https://registry.npmjs.org/ml-array-max/-/ml-array-max-1.2.4.tgz", |
| | | "integrity": "sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ==", |
| | | "requires": { |
| | | "is-any-array": "^2.0.0" |
| | | } |
| | | }, |
| | | "ml-array-min": { |
| | | "version": "1.2.3", |
| | | "resolved": "https://registry.npmjs.org/ml-array-min/-/ml-array-min-1.2.3.tgz", |
| | | "integrity": "sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q==", |
| | | "requires": { |
| | | "is-any-array": "^2.0.0" |
| | | } |
| | | }, |
| | | "ml-array-rescale": { |
| | | "version": "1.3.7", |
| | | "resolved": "https://registry.npmjs.org/ml-array-rescale/-/ml-array-rescale-1.3.7.tgz", |
| | | "integrity": "sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ==", |
| | | "requires": { |
| | | "is-any-array": "^2.0.0", |
| | | "ml-array-max": "^1.2.4", |
| | | "ml-array-min": "^1.2.3" |
| | | } |
| | | }, |
| | | "ml-matrix": { |
| | | "version": "6.10.0", |
| | | "resolved": "https://registry.npmjs.org/ml-matrix/-/ml-matrix-6.10.0.tgz", |
| | | "integrity": "sha512-wU+jacx1dcP1QArV1/Kv49Ah6y2fq+BiQl2BnNVBC+hoCW7KgBZ4YZrowPopeoY164TB6Kes5wMeDjY8ODHYDg==", |
| | | "requires": { |
| | | "is-any-array": "^2.0.0", |
| | | "ml-array-rescale": "^1.3.7" |
| | | } |
| | | }, |
| | | "moment": { |
| | | "version": "2.24.0", |
| | | "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", |
| | |
| | | "parse-svg-path": "~0.1.1" |
| | | } |
| | | }, |
| | | "polyline-miter-util": { |
| | | "version": "1.0.1", |
| | | "resolved": "https://registry.npmjs.org/polyline-miter-util/-/polyline-miter-util-1.0.1.tgz", |
| | | "integrity": "sha1-tpPyOJ6g3tNqa89ezS7OS2kX2Vc=", |
| | | "requires": { |
| | | "gl-vec2": "^1.0.0" |
| | | } |
| | | }, |
| | | "polyline-normals": { |
| | | "version": "2.0.2", |
| | | "resolved": "https://registry.npmjs.org/polyline-normals/-/polyline-normals-2.0.2.tgz", |
| | | "integrity": "sha1-oXN+ddjA3MsaWR+csn8J7vS30TU=", |
| | | "requires": { |
| | | "polyline-miter-util": "^1.0.1" |
| | | } |
| | | }, |
| | | "portfinder": { |
| | | "version": "1.0.24", |
| | | "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz", |
| | |
| | | "version": "0.1.8", |
| | | "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", |
| | | "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" |
| | | }, |
| | | "probe.gl": { |
| | | "version": "3.5.0", |
| | | "resolved": "https://registry.npmjs.org/probe.gl/-/probe.gl-3.5.0.tgz", |
| | | "integrity": "sha512-KWj8u0PNytr/rVwcQFcN7O8SK7n/ITOsUZ91l4fSX95oHhKvVCI7eadrzFUzFRlXkFfBWpMWZXFHITsHHHUctw==", |
| | | "requires": { |
| | | "@babel/runtime": "^7.0.0", |
| | | "@probe.gl/env": "3.5.0", |
| | | "@probe.gl/log": "3.5.0", |
| | | "@probe.gl/stats": "3.5.0" |
| | | } |
| | | }, |
| | | "process": { |
| | | "version": "0.11.10", |
| | |
| | | "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", |
| | | "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" |
| | | }, |
| | | "reflect-metadata": { |
| | | "version": "0.1.13", |
| | | "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", |
| | | "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" |
| | | }, |
| | | "regenerate": { |
| | | "version": "1.4.0", |
| | | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", |
| | |
| | | } |
| | | } |
| | | }, |
| | | "regl": { |
| | | "version": "1.7.0", |
| | | "resolved": "https://registry.npmjs.org/regl/-/regl-1.7.0.tgz", |
| | | "integrity": "sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w==" |
| | | }, |
| | | "regression": { |
| | | "version": "2.0.1", |
| | | "resolved": "https://registry.npmjs.org/regression/-/regression-2.0.1.tgz", |
| | |
| | | "@ant-design/icons": "^4.6.2", |
| | | "@antv/data-set": "^0.11.4", |
| | | "@antv/g2": "^4.1.34", |
| | | "@antv/g6": "^4.6.4", |
| | | "@antv/util": "^2.0.17", |
| | | "@babel/core": "7.5.5", |
| | | "@svgr/webpack": "4.3.2", |
| | |
| | | index = i |
| | | } |
| | | |
| | | let label = item.label || '' |
| | | if (item.field && item.field.toLowerCase() !== label.toLowerCase()) { |
| | | label = label + ' (' + item.field + ')' |
| | | } |
| | | |
| | | if (['text', 'number', 'textarea', 'color'].includes(item.type) && _item.field !== item.field) { |
| | | _inputfields.push({ |
| | | field: item.field, |
| | | label: _inputIndex + '、' + item.label |
| | | label: _inputIndex + '、' + label |
| | | }) |
| | | _inputIndex++ |
| | | } |
| | | if (appType === 'mob') { |
| | | if (_form.field !== item.field && item.hidden !== 'true' && ['text', 'number'].includes(item.type)) { |
| | | _tabfields.push({ |
| | | field: item.field, |
| | | label: _tabIndex + '、' + item.label |
| | | }) |
| | | _tabIndex++ |
| | | } |
| | | } else { |
| | | if (_form.field !== item.field && item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) { |
| | | _tabfields.push({ |
| | | field: item.field, |
| | | label: _tabIndex + '、' + item.label |
| | | }) |
| | | _tabIndex++ |
| | | } |
| | | |
| | | if (_item.field !== item.field && item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) { |
| | | _tabfields.push({ |
| | | field: item.field, |
| | | label: _tabIndex + '、' + label |
| | | }) |
| | | _tabIndex++ |
| | | } |
| | | |
| | | if (item.type === 'switch') { |
| | | _linksupFields.push({ |
| | | field: item.field, |
| | | label: _linkIndex + '、' + item.label |
| | | label: _linkIndex + '、' + label |
| | | }) |
| | | } |
| | | |
| | |
| | | }) |
| | | _linksupFields.push({ |
| | | field: item.field, |
| | | label: _linkIndex + '、' + item.label |
| | | label: _linkIndex + '、' + label |
| | | }) |
| | | _linkIndex++ |
| | | } |
| | |
| | | index = i |
| | | } |
| | | |
| | | let label = item.label || '' |
| | | if (item.field && item.field.toLowerCase() !== label.toLowerCase()) { |
| | | label = label + ' (' + item.field + ')' |
| | | } |
| | | |
| | | if (['text', 'number', 'textarea', 'color'].includes(item.type) && _item.field !== item.field) { |
| | | _inputfields.push({ |
| | | field: item.field, |
| | | label: _inputIndex + '、' + item.label |
| | | label: _inputIndex + '、' + label |
| | | }) |
| | | _inputIndex++ |
| | | } |
| | | if (appType === 'mob') { |
| | | if (_form.field !== item.field && item.hidden !== 'true' && ['text', 'number'].includes(item.type)) { |
| | | _tabfields.push({ |
| | | field: item.field, |
| | | label: _tabIndex + '、' + item.label |
| | | }) |
| | | _tabIndex++ |
| | | } |
| | | } else { |
| | | if (_form.field !== item.field && item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) { |
| | | _tabfields.push({ |
| | | field: item.field, |
| | | label: _tabIndex + '、' + item.label |
| | | }) |
| | | _tabIndex++ |
| | | } |
| | | if (_form.field !== item.field && item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) { |
| | | _tabfields.push({ |
| | | field: item.field, |
| | | label: _tabIndex + '、' + label |
| | | }) |
| | | _tabIndex++ |
| | | } |
| | | |
| | | if (item.type === 'switch') { |
| | | _linksupFields.push({ |
| | | field: item.field, |
| | | label: _linkIndex + '、' + item.label |
| | | label: _linkIndex + '、' + label |
| | | }) |
| | | } |
| | | |
| | |
| | | }) |
| | | _linksupFields.push({ |
| | | value: item.field, |
| | | text: _linkIndex + '、' + item.label |
| | | text: _linkIndex + '、' + label |
| | | }) |
| | | |
| | | _linkIndex++ |
| | |
| | | index = i |
| | | } |
| | | |
| | | let label = item.label || '' |
| | | if (item.field && item.field.toLowerCase() !== label.toLowerCase()) { |
| | | label = label + ' (' + item.field + ')' |
| | | } |
| | | |
| | | if (['text', 'number', 'textarea', 'color'].includes(item.type) && card.field !== item.field) { |
| | | _inputfields.push({ |
| | | field: item.field, |
| | | label: _inputIndex + '、' + item.label |
| | | label: _inputIndex + '、' + label |
| | | }) |
| | | _inputIndex++ |
| | | } |
| | | if (card.field !== item.field && item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) { |
| | | _tabfields.push({ |
| | | field: item.field, |
| | | label: _tabIndex + '、' + item.label |
| | | label: _tabIndex + '、' + label |
| | | }) |
| | | _tabIndex++ |
| | | } |
| | |
| | | if (item.type === 'switch') { |
| | | _linksupFields.push({ |
| | | field: item.field, |
| | | label: _linkIndex + '、' + item.label |
| | | label: _linkIndex + '、' + label |
| | | }) |
| | | } |
| | | |
| | |
| | | }) |
| | | _linksupFields.push({ |
| | | field: item.field, |
| | | label: _linkIndex + '、' + item.label |
| | | label: _linkIndex + '、' + label |
| | | }) |
| | | _linkIndex++ |
| | | } |
New file |
| | |
| | | import React, {Component} from 'react' |
| | | import PropTypes from 'prop-types' |
| | | import { is, fromJS } from 'immutable' |
| | | import { Modal, Button, notification, Spin } from 'antd' |
| | | import { ForkOutlined } from '@ant-design/icons' |
| | | |
| | | import Api from '@/api' |
| | | import G6 from "@antv/g6" |
| | | import MKEmitter from '@/utils/events.js' |
| | | import './index.scss' |
| | | |
| | | class Versions extends Component { |
| | | static propTpyes = { |
| | | config: PropTypes.object, |
| | | MenuId: PropTypes.string |
| | | } |
| | | |
| | | state = { |
| | | visible: false, |
| | | loading: false, |
| | | empty: false |
| | | } |
| | | |
| | | shouldComponentUpdate (nextProps, nextState) { |
| | | return !is(fromJS(this.state), fromJS(nextState)) |
| | | } |
| | | |
| | | trigger = () => { |
| | | const { MenuId, config } = this.props |
| | | |
| | | this.setState({visible: true, loading: true, empty: false}, () => { |
| | | let param = { |
| | | func: 's_get_menu_used_list', |
| | | TypeCharOne: sessionStorage.getItem('kei_no'), |
| | | typename: sessionStorage.getItem('typename'), |
| | | par_menuid: MenuId |
| | | } |
| | | |
| | | Api.getSystemConfig(param).then(result => { |
| | | if (!result.status) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: result.message, |
| | | duration: 5 |
| | | }) |
| | | |
| | | this.setState({empty: true, loading: false}) |
| | | |
| | | return |
| | | } |
| | | |
| | | let data = { |
| | | label: config.MenuName || '空', |
| | | id: MenuId, |
| | | MenuID: config.MenuID, |
| | | MenuName: config.MenuName, |
| | | MenuNo: config.MenuNo, |
| | | children: [] |
| | | } |
| | | |
| | | let allMenus = JSON.parse(sessionStorage.getItem('allMenus')) |
| | | let menuObj = {} |
| | | |
| | | allMenus.forEach(item => { |
| | | menuObj[item.MenuID] = item |
| | | }) |
| | | |
| | | if (result.par_data) { |
| | | result.par_data.forEach((item, i) => { |
| | | |
| | | let cell = { |
| | | label: item.par_menuname, |
| | | id: 'par' + i, |
| | | MenuID: item.par_menuid, |
| | | MenuName: item.par_menuname, |
| | | MenuNo: item.par_menuno, |
| | | deleted: false, |
| | | direction: 'left' |
| | | } |
| | | |
| | | if (menuObj[item.par_menuid]) { |
| | | cell.color = '#5AD8A6' |
| | | |
| | | cell.label = menuObj[item.par_menuid].MenuName || item.par_menuname |
| | | cell.MenuName = menuObj[item.par_menuid].MenuName || item.par_menuname |
| | | cell.MenuNo = menuObj[item.par_menuid].MenuNo || item.par_menuno |
| | | } else { |
| | | cell.color = '#dddddd' |
| | | cell.deleted = true |
| | | } |
| | | |
| | | data.children.push(cell) |
| | | }) |
| | | } |
| | | |
| | | if (result.used_data) { |
| | | result.used_data.forEach((item, i) => { |
| | | |
| | | let cell = { |
| | | label: item.used_menuname, |
| | | id: 'sub' + i, |
| | | MenuID: item.used_menuid, |
| | | MenuName: item.used_menuname, |
| | | MenuNo: '', |
| | | deleted: false, |
| | | direction: 'right' |
| | | } |
| | | |
| | | if (menuObj[item.used_menuid]) { |
| | | cell.color = '#5AD8A6' |
| | | |
| | | cell.label = menuObj[item.used_menuid].MenuName || item.used_menuname |
| | | cell.MenuName = menuObj[item.used_menuid].MenuName || item.used_menuname |
| | | cell.MenuNo = menuObj[item.used_menuid].MenuNo |
| | | } else { |
| | | cell.color = '#dddddd' |
| | | cell.deleted = true |
| | | } |
| | | |
| | | data.children.push(cell) |
| | | }) |
| | | } |
| | | |
| | | if (data.children.length === 0) { |
| | | this.setState({empty: true, loading: false}) |
| | | } else { |
| | | this.setState({loading: false}) |
| | | this.getForks(data) |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | changeMenu = (menu) => { |
| | | if (menu.depth === 0) return |
| | | |
| | | MKEmitter.emit('changeEditMenu', menu) |
| | | } |
| | | |
| | | getForks = (data) => { |
| | | const { Util } = G6 |
| | | const that = this |
| | | |
| | | G6.registerNode( |
| | | 'dice-mind-map-root', { |
| | | jsx: (cfg) => { |
| | | const width = Util.getTextSize(cfg.label, 16)[0] + 24; |
| | | const stroke = cfg.style.stroke || '#096dd9'; |
| | | |
| | | return ` |
| | | <group> |
| | | <rect draggable="true" style={{width: ${width}, height: 42, stroke: ${stroke}, radius: 4}} keyshape> |
| | | <text style={{ fontSize: 16, marginLeft: 12, marginTop: 12 }}>${cfg.label}</text> |
| | | </rect> |
| | | </group> |
| | | `; |
| | | }, |
| | | getAnchorPoints() { |
| | | return [ |
| | | [0, 0.5], |
| | | [1, 0.5], |
| | | ]; |
| | | }, |
| | | }, |
| | | 'single-node', |
| | | ); |
| | | |
| | | G6.registerNode( |
| | | 'dice-mind-map-leaf', { |
| | | jsx: (cfg) => { |
| | | const width = Util.getTextSize(cfg.label, 12)[0] + 24; |
| | | const color = cfg.color; |
| | | |
| | | return ` |
| | | <group> |
| | | <rect draggable="true" style={{width: ${width}, height: 26, cursor: 'pointer', fill: 'transparent' }}> |
| | | <text style={{ fontSize: 12, fill: ${cfg.deleted ? '#959595' : 'black'}, marginLeft: 12, marginTop: 6 }}>${cfg.label}</text> |
| | | </rect> |
| | | <rect style={{ fill: ${color}, width: ${width}, cursor: 'pointer', height: 2, x: 0, y: 32 }} /> |
| | | </group> |
| | | `; |
| | | }, |
| | | getAnchorPoints() { |
| | | return [ |
| | | [0, 0.965], |
| | | [1, 0.965], |
| | | ]; |
| | | }, |
| | | }, |
| | | 'single-node', |
| | | ); |
| | | G6.registerBehavior('dice-mindmap', { |
| | | getEvents() { |
| | | return { |
| | | 'node:dblclick': 'editNode', |
| | | }; |
| | | }, |
| | | editNode(evt) { |
| | | const item = evt.item; |
| | | const model = item.get('model'); |
| | | |
| | | that.changeMenu(model) |
| | | } |
| | | }); |
| | | G6.registerBehavior('scroll-canvas', { |
| | | getEvents: function getEvents() { |
| | | return { |
| | | wheel: 'onWheel', |
| | | }; |
| | | }, |
| | | |
| | | onWheel: function onWheel(ev) { |
| | | const { |
| | | graph |
| | | } = this; |
| | | if (!graph) { |
| | | return; |
| | | } |
| | | if (ev.ctrlKey) { |
| | | const canvas = graph.get('canvas'); |
| | | const point = canvas.getPointByClient(ev.clientX, ev.clientY); |
| | | let ratio = graph.getZoom(); |
| | | if (ev.wheelDelta > 0) { |
| | | ratio += ratio * 0.05; |
| | | } else { |
| | | ratio *= ratio * 0.05; |
| | | } |
| | | graph.zoomTo(ratio, { |
| | | x: point.x, |
| | | y: point.y, |
| | | }); |
| | | } else { |
| | | const x = ev.deltaX || ev.movementX; |
| | | const y = ev.deltaY || ev.movementY || (-ev.wheelDelta * 125) / 3; |
| | | graph.translate(-x, -y); |
| | | } |
| | | ev.preventDefault(); |
| | | }, |
| | | }); |
| | | |
| | | const dataTransform = (data) => { |
| | | const changeData = (d, level = 0, color) => { |
| | | const data = { |
| | | ...d, |
| | | }; |
| | | switch (level) { |
| | | case 0: |
| | | data.type = 'dice-mind-map-root'; |
| | | break; |
| | | default: |
| | | data.type = 'dice-mind-map-leaf'; |
| | | break; |
| | | } |
| | | |
| | | data.hover = false; |
| | | |
| | | if (color) { |
| | | data.color = color; |
| | | } |
| | | |
| | | if (d.children) { |
| | | data.children = d.children.map((child) => changeData(child, level + 1, data.color)); |
| | | } |
| | | return data; |
| | | }; |
| | | return changeData(data); |
| | | }; |
| | | |
| | | const tree = new G6.TreeGraph({ |
| | | container: 'mountNode', |
| | | width: 750, |
| | | height: 500, |
| | | fitView: true, |
| | | fitViewPadding: [10, 20], |
| | | layout: { |
| | | type: 'mindmap', |
| | | direction: 'H', |
| | | getHeight: () => { |
| | | return 16; |
| | | }, |
| | | getWidth: (node) => { |
| | | return node.level === 0 ? |
| | | Util.getTextSize(node.label, 16)[0] + 12 : |
| | | Util.getTextSize(node.label, 12)[0]; |
| | | }, |
| | | getVGap: () => { |
| | | return 10; |
| | | }, |
| | | getHGap: () => { |
| | | return 60; |
| | | }, |
| | | getSide: (node) => { |
| | | return node.data.direction; |
| | | }, |
| | | }, |
| | | defaultEdge: { |
| | | type: 'cubic-horizontal', |
| | | style: { |
| | | lineWidth: 2, |
| | | }, |
| | | }, |
| | | minZoom: 0.5, |
| | | modes: { |
| | | default: ['drag-canvas', 'zoom-canvas', 'dice-mindmap'], |
| | | }, |
| | | }); |
| | | |
| | | tree.data(dataTransform(data)); |
| | | |
| | | tree.render(); |
| | | } |
| | | |
| | | render() { |
| | | const { visible, loading, empty } = this.state |
| | | |
| | | return ( |
| | | <div style={{display: 'inline-block'}}> |
| | | <Button style={{borderColor: 'orange', color: 'orange'}} onClick={this.trigger}><ForkOutlined /> 页面关系图</Button> |
| | | <Modal |
| | | title="" |
| | | wrapClassName="view-nodes-modal" |
| | | visible={visible} |
| | | width={850} |
| | | closable={false} |
| | | maskClosable={false} |
| | | footer={[]} |
| | | destroyOnClose |
| | | > |
| | | <div className="header">页面关系图</div> |
| | | <div className="wrap"> |
| | | {loading ? <Spin size="large" /> : null} |
| | | {empty ? <div className="empty">未查询到页面关联菜单。</div> : null} |
| | | <div className="mountNode" id="mountNode"></div> |
| | | </div> |
| | | <div className="footer"> |
| | | <Button key="cancel" onClick={() => { this.setState({ visible: false })}}>关闭</Button> |
| | | </div> |
| | | </Modal> |
| | | </div> |
| | | ) |
| | | } |
| | | } |
| | | |
| | | export default Versions |
New file |
| | |
| | | .view-nodes-modal { |
| | | .ant-modal-body { |
| | | padding: 20px 50px 20px; |
| | | user-select: none; |
| | | } |
| | | .ant-modal-footer { |
| | | display: none; |
| | | } |
| | | .wrap { |
| | | position: relative; |
| | | height: 505px; |
| | | margin: 10px 0px; |
| | | overflow: hidden; |
| | | |
| | | .ant-spin { |
| | | position: absolute; |
| | | top: calc(50% - 16px); |
| | | left: calc(50% - 16px); |
| | | } |
| | | .empty { |
| | | position: relative; |
| | | text-align: center; |
| | | color: #959595; |
| | | padding-top: 200px; |
| | | } |
| | | .empty + .mountNode { |
| | | opacity: 0; |
| | | } |
| | | } |
| | | .header { |
| | | color: #1890ff; |
| | | font-weight: 500; |
| | | text-align: center; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .footer { |
| | | text-align: center; |
| | | } |
| | | } |
| | |
| | | index = i |
| | | } |
| | | |
| | | let label = item.label || '' |
| | | if (item.field && item.field.toLowerCase() !== label.toLowerCase()) { |
| | | label = label + ' (' + item.field + ')' |
| | | } |
| | | |
| | | if (['text', 'number', 'textarea', 'color'].includes(item.type) && card.field !== item.field) { |
| | | _inputfields.push({ |
| | | field: item.field, |
| | | label: _inputIndex + '、' + item.label |
| | | label: _inputIndex + '、' + label |
| | | }) |
| | | _inputIndex++ |
| | | } |
| | | if (card.field !== item.field && item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) { |
| | | _tabfields.push({ |
| | | field: item.field, |
| | | label: _tabIndex + '、' + item.label |
| | | label: _tabIndex + '、' + label |
| | | }) |
| | | _tabIndex++ |
| | | } |
| | |
| | | if (item.type === 'switch') { |
| | | _linksupFields.push({ |
| | | field: item.field, |
| | | label: _linkIndex + '、' + item.label |
| | | label: _linkIndex + '、' + label |
| | | }) |
| | | } |
| | | |
| | |
| | | }) |
| | | _linksupFields.push({ |
| | | field: item.field, |
| | | label: _linkIndex + '、' + item.label |
| | | label: _linkIndex + '、' + label |
| | | }) |
| | | _linkIndex++ |
| | | } |
| | |
| | | delete item.style.shadowColor |
| | | } |
| | | |
| | | item.$menuname = this.props.MenuName + '-' + (item.name || '') |
| | | item.$menuname = (this.props.MenuName || '') + '-' + (item.name || '') |
| | | |
| | | if (item.type === 'tabs') { |
| | | if ( |
| | |
| | | */ |
| | | improveAction = () => { |
| | | const { btn } = this.props |
| | | const { btnconfig, autoMatic } = this.state |
| | | const { btnconfig } = this.state |
| | | |
| | | if (btnconfig) { |
| | | if (!autoMatic && (btnconfig.setting.display === 'prompt' || btnconfig.setting.display === 'exec')) { // 如果表单以是否框展示 |
| | | if (btnconfig.setting.display === 'prompt' || btnconfig.setting.display === 'exec') { // 如果表单以是否框展示 |
| | | this.modelconfirm() |
| | | } else { |
| | | this.setState({ |
| | |
| | | this.setState({ |
| | | btnconfig: _LongParam |
| | | }, () => { |
| | | if (!autoMatic && (_LongParam.setting.display === 'prompt' || _LongParam.setting.display === 'exec')) { // 如果表单以是否框展示 |
| | | if (_LongParam.setting.display === 'prompt' || _LongParam.setting.display === 'exec') { // 如果表单以是否框展示 |
| | | this.modelconfirm() |
| | | } else { |
| | | this.setState({ |
| | |
| | | */ |
| | | handleOk = () => { |
| | | if (!this.formRef) return |
| | | |
| | | this.formRef.handleConfirm().then(res => { |
| | | this.setState({ confirmLoading: true }) |
| | | |
| | |
| | | BID={popData ? primaryId : this.props.BID} |
| | | BData={popData || this.props.BData} |
| | | /> : null} |
| | | {btn.$view === 'CustomPage' ? <CustomPage Tab={btn} MenuID={btn.uuid} param={{$BID: (popData ? primaryId : this.props.BID), ...(popData || this.props.BData || {})}} /> : null} |
| | | {btn.$view === 'CustomPage' ? <CustomPage Tab={btn} MenuID={btn.uuid} MenuName={btn.label} param={{$BID: (popData ? primaryId : this.props.BID), ...(popData || this.props.BData || {})}} /> : null} |
| | | </Modal> |
| | | } else { |
| | | let height = '100vh' |
| | |
| | | let node = document.querySelector('.ant-modal-confirm-btns >.ant-btn-primary') |
| | | node && node.click() |
| | | } else if (autoMatic.OpenType === 'pop') { |
| | | MKEmitter.emit('triggerBtnPopSubmit', autoMatic.action) |
| | | let node = document.querySelector('.ant-modal-confirm-btns >.ant-btn-primary') |
| | | |
| | | if (node) { |
| | | node.click() |
| | | } else { |
| | | MKEmitter.emit('triggerBtnPopSubmit', autoMatic.action) |
| | | } |
| | | } |
| | | }, delay) |
| | | } |
| | |
| | | index = i |
| | | } |
| | | |
| | | let label = item.label || '' |
| | | if (item.field && item.field.toLowerCase() !== label.toLowerCase()) { |
| | | label = label + ' (' + item.field + ')' |
| | | } |
| | | |
| | | if (['text', 'number', 'textarea', 'color'].includes(item.type) && card.field !== item.field) { |
| | | _inputfields.push({ |
| | | field: item.field, |
| | | label: _inputIndex + '、' + item.label |
| | | label: _inputIndex + '、' + label |
| | | }) |
| | | _inputIndex++ |
| | | } |
| | | if (card.field !== item.field && item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) { |
| | | _tabfields.push({ |
| | | field: item.field, |
| | | label: _tabIndex + '、' + item.label |
| | | label: _tabIndex + '、' + label |
| | | }) |
| | | _tabIndex++ |
| | | } |
| | |
| | | if (item.type === 'switch') { |
| | | _linksupFields.push({ |
| | | field: item.field, |
| | | label: _linkIndex + '、' + item.label |
| | | label: _linkIndex + '、' + label |
| | | }) |
| | | } |
| | | |
| | |
| | | }) |
| | | _linksupFields.push({ |
| | | field: item.field, |
| | | label: _linkIndex + '、' + item.label |
| | | label: _linkIndex + '、' + label |
| | | }) |
| | | _linkIndex++ |
| | | } |
| | |
| | | </TabPane> |
| | | {card.intertype === 'system' ? <TabPane tab={ |
| | | <span> |
| | | 自定义脚本 |
| | | 回调脚本 |
| | | {verify.enable === 'true' ? <span className="count-tip">1</span> : null} |
| | | </span> |
| | | } key="6"> |
| | |
| | | |
| | | state = { |
| | | enable: this.props.autoMatic.enable, |
| | | onFinish: this.props.autoMatic.onFinish || 'over' |
| | | onFinish: this.props.autoMatic.onFinish || 'restart' |
| | | } |
| | | |
| | | handleConfirm = () => { |
| | |
| | | {enable === 'true' ? <Col span={12}> |
| | | <Form.Item label="完成后"> |
| | | {getFieldDecorator('onFinish', { |
| | | initialValue: autoMatic.onFinish || 'over', |
| | | initialValue: autoMatic.onFinish || 'restart', |
| | | })( |
| | | <Radio.Group onChange={(e) => this.setState({onFinish: e.target.value})}> |
| | | <Radio value="over">结束</Radio> |
| | | <Radio value="restart">重新启动</Radio> |
| | | <Radio value="over">结束</Radio> |
| | | </Radio.Group> |
| | | )} |
| | | </Form.Item> |
| | |
| | | Declare @tbid nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@BillCode nvarchar(50),@BVoucher nvarchar(50),@FIBVoucherDate nvarchar(50), @FiYear nvarchar(50), @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(50),@mk_organization nvarchar(50),@login_city nvarchar(50),@bid nvarchar(50),@ModularDetailCode nvarchar(50)${_declarefields} |
| | | ` |
| | | |
| | | let userName = sessionStorage.getItem('User_Name') || '' |
| | | let fullName = sessionStorage.getItem('Full_Name') || '' |
| | | let RoleID = sessionStorage.getItem('role_id') || '' |
| | | let departmentcode = sessionStorage.getItem('departmentcode') || '' |
| | | let organization = sessionStorage.getItem('organization') || '' |
| | | let city = sessionStorage.getItem('city') || '' |
| | | |
| | | if (sessionStorage.getItem('isEditState') === 'true') { |
| | | userName = sessionStorage.getItem('CloudUserName') || '' |
| | | fullName = sessionStorage.getItem('CloudFullName') || '' |
| | | } |
| | | |
| | | // 初始化凭证及用户信息字段 |
| | | _sql += ` |
| | | /* 凭证及用户信息初始化赋值 */ |
| | | select @BVoucher='',@FIBVoucherDate='',@FiYear='',@ErrorCode='',@retmsg='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @login_city='${city}', @BillCode='', @ModularDetailCode='' |
| | | ` |
| | | |
| | | // 表单变量赋值 |
| | | if (_initFormfields.length > 0) { |
| | | _sql += ` |
| | |
| | | if (verify.billcodes) { |
| | | verify.billcodes = verify.billcodes.filter(item => item.status !== 'false') |
| | | } |
| | | |
| | | let userName = sessionStorage.getItem('User_Name') || '' |
| | | let fullName = sessionStorage.getItem('Full_Name') || '' |
| | | let RoleID = sessionStorage.getItem('role_id') || '' |
| | | let departmentcode = sessionStorage.getItem('departmentcode') || '' |
| | | let organization = sessionStorage.getItem('organization') || '' |
| | | let city = sessionStorage.getItem('city') || '' |
| | | |
| | | if (sessionStorage.getItem('isEditState') === 'true') { |
| | | userName = sessionStorage.getItem('CloudUserName') || '' |
| | | fullName = sessionStorage.getItem('CloudFullName') || '' |
| | | } |
| | | |
| | | // 初始化凭证及用户信息字段 |
| | | _sql += ` |
| | | /* 凭证及用户信息初始化赋值 */ |
| | | select @BVoucher='',@FIBVoucherDate='',@FiYear='',@ErrorCode='',@retmsg='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @login_city='${city}', @BillCode='', @ModularDetailCode='' |
| | | ` |
| | | |
| | | if (retmsg) { |
| | | _callbacksql = _sql |
| | |
| | | const CreateView = asyncComponent(() => import('@/pc/createview')) |
| | | const Transfer = asyncComponent(() => import('@/pc/transfer')) |
| | | const Versions = asyncComponent(() => import('@/menu/versions')) |
| | | const ViewNodes = asyncComponent(() => import('@/menu/viewnodes')) |
| | | const SourceWrap = asyncComponent(() => import('@/mob/modulesource')) |
| | | const BgController = asyncComponent(() => import('@/pc/bgcontroller')) |
| | | const ReplaceField = asyncComponent(() => import('@/menu/replaceField')) |
| | |
| | | viewType: /^userbind/.test(param.MenuID) ? 'userbind' : 'menu' |
| | | }, () => { |
| | | this.getMenuParam(param) |
| | | this.getRelationMenus() |
| | | }) |
| | | } |
| | | } catch (e) { |
| | |
| | | this.getAppMenus() |
| | | } |
| | | |
| | | getRelationMenus = () => { |
| | | const { MenuId } = this.state |
| | | |
| | | let param = { |
| | | func: 's_get_menu_used_list', |
| | | TypeCharOne: sessionStorage.getItem('kei_no'), |
| | | typename: sessionStorage.getItem('typename'), |
| | | par_menuid: MenuId, |
| | | // used_menuid: MenuId |
| | | } |
| | | |
| | | Api.getSystemConfig(param).then(result => { |
| | | if (!result.status) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: result.message, |
| | | duration: 5 |
| | | }) |
| | | return |
| | | } |
| | | }) |
| | | } |
| | | |
| | | setUserBindMenu = (config, result) => { |
| | | const { MenuId } = this.state |
| | | let isCreate = !config |
| | |
| | | return item |
| | | }) |
| | | sessionStorage.setItem('appMenus', JSON.stringify(menus)) |
| | | sessionStorage.setItem('allMenus', JSON.stringify(res.menus || [])) |
| | | }) |
| | | } |
| | | |
| | |
| | | return trees |
| | | } |
| | | |
| | | getSubMenus = () => { |
| | | const { config } = this.state |
| | | let menus = [] |
| | | let menuObj = {} |
| | | let allMenus = JSON.parse(sessionStorage.getItem('allMenus')) |
| | | |
| | | allMenus.forEach(item => { |
| | | menuObj[item.MenuID] = item |
| | | }) |
| | | |
| | | let traversal = (components) => { |
| | | components.forEach(item => { |
| | | if (item.type === 'topbar') { |
| | | if (item.wrap.linkmenu && menuObj[item.wrap.linkmenu]) { |
| | | menus.push(menuObj[item.wrap.linkmenu]) |
| | | } |
| | | if (item.wrap.menus) { |
| | | item.wrap.menus.forEach(m => { |
| | | if (!menuObj[m.menu]) return |
| | | |
| | | menus.push(menuObj[m.menu]) |
| | | }) |
| | | } |
| | | } else if (item.type === 'login') { |
| | | if (item.wrap.linkmenu && menuObj[item.wrap.linkmenu]) { |
| | | menus.push(menuObj[item.wrap.linkmenu]) |
| | | } |
| | | } else if (item.type === 'menubar' && item.subtype !== 'commonbar') { |
| | | item.subMenus.forEach(m => { |
| | | if (m.setting.type === 'menu') { |
| | | if (menuObj[m.uuid]) { |
| | | menus.push(menuObj[m.uuid]) |
| | | } else { |
| | | menus.push({ |
| | | MenuID: m.uuid, |
| | | MenuName: m.setting.name, |
| | | MenuNo: m.setting.MenuNo |
| | | }) |
| | | } |
| | | } else if (m.setting.type === 'linkmenu' && menuObj[m.setting.linkMenuId]) { |
| | | menus.push(menuObj[m.setting.linkMenuId]) |
| | | } |
| | | }) |
| | | } else if (item.type === 'tabs') { |
| | | item.subtabs.forEach(tab => { |
| | | traversal(tab.components) |
| | | }) |
| | | } else if (item.type === 'group') { |
| | | traversal(item.components) |
| | | } else if (item.type === 'card' || (item.type === 'table' && item.subtype === 'tablecard')) { |
| | | item.action && item.action.forEach(btn => { |
| | | if (btn.linkmenu && menuObj[btn.linkmenu]) { |
| | | menus.push(menuObj[btn.linkmenu]) |
| | | } else if (btn.openmenu && menuObj[btn.openmenu]) { |
| | | menus.push(menuObj[btn.openmenu]) |
| | | } |
| | | }) |
| | | item.subcards.forEach(card => { |
| | | if (card.setting.click === 'menu' && menuObj[card.setting.menu]) { |
| | | menus.push(menuObj[card.setting.menu]) |
| | | } else if (card.setting.click === 'menus' && card.menus) { |
| | | card.menus.forEach(m => { |
| | | if (menuObj[m.menu]) { |
| | | menus.push(menuObj[m.menu]) |
| | | } |
| | | }) |
| | | } |
| | | card.elements && card.elements.forEach(cell => { |
| | | if (cell.eleType !== 'button') return |
| | | |
| | | if (cell.linkmenu && menuObj[cell.linkmenu]) { |
| | | menus.push(menuObj[cell.linkmenu]) |
| | | } else if (cell.openmenu && menuObj[cell.openmenu]) { |
| | | menus.push(menuObj[cell.openmenu]) |
| | | } |
| | | }) |
| | | }) |
| | | } else if (item.type === 'carousel' || item.type === 'timeline') { |
| | | item.subcards.forEach(card => { |
| | | if (card.setting.click === 'menu' && menuObj[card.setting.menu]) { |
| | | menus.push(menuObj[card.setting.menu]) |
| | | } |
| | | card.elements && card.elements.forEach(cell => { |
| | | if (cell.eleType !== 'button') return |
| | | |
| | | if (cell.linkmenu && menuObj[cell.linkmenu]) { |
| | | menus.push(menuObj[cell.linkmenu]) |
| | | } else if (cell.openmenu && menuObj[cell.openmenu]) { |
| | | menus.push(menuObj[cell.openmenu]) |
| | | } |
| | | }) |
| | | }) |
| | | } else if (item.type === 'balcony') { |
| | | item.elements && item.elements.forEach(cell => { |
| | | if (cell.eleType !== 'button') return |
| | | |
| | | if (cell.linkmenu && menuObj[cell.linkmenu]) { |
| | | menus.push(menuObj[cell.linkmenu]) |
| | | } else if (cell.openmenu && menuObj[cell.openmenu]) { |
| | | menus.push(menuObj[cell.openmenu]) |
| | | } |
| | | }) |
| | | } else if (item.type === 'form') { |
| | | item.subcards.forEach(m => { |
| | | if (m.subButton && m.subButton.linkmenu && menuObj[m.subButton.linkmenu]) { |
| | | menus.push(menuObj[m.subButton.linkmenu]) |
| | | } |
| | | }) |
| | | } else if (item.type === 'table' && item.subtype === 'normaltable') { |
| | | item.action && item.action.forEach(btn => { |
| | | if (btn.linkmenu && menuObj[btn.linkmenu]) { |
| | | menus.push(menuObj[btn.linkmenu]) |
| | | } else if (btn.openmenu && menuObj[btn.openmenu]) { |
| | | menus.push(menuObj[btn.openmenu]) |
| | | } |
| | | }) |
| | | item.cols && item.cols.forEach(col => { |
| | | if (col.type !== 'action') return |
| | | col.elements.forEach(btn => { |
| | | if (btn.linkmenu && menuObj[btn.linkmenu]) { |
| | | menus.push(menuObj[btn.linkmenu]) |
| | | } else if (btn.openmenu && menuObj[btn.openmenu]) { |
| | | menus.push(menuObj[btn.openmenu]) |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | traversal(config.components) |
| | | |
| | | let map = new Map() |
| | | menus = menus.filter(m => { |
| | | if (map.has(m.MenuID)) return false |
| | | map.set(m.MenuID, true) |
| | | return true |
| | | }) |
| | | |
| | | return menus |
| | | } |
| | | |
| | | checkBtn = (btn) => { |
| | | if (['prompt', 'exec', 'pop'].includes(btn.OpenType) && btn.Ot === 'required' && btn.verify && btn.verify.scripts && btn.verify.scripts.length > 0) { |
| | | let hascheck = false |
| | |
| | | config = this.getMiniStyle(config) |
| | | } |
| | | |
| | | let subMenus = this.getSubMenus() |
| | | let menus_used_list = subMenus.map(m => `'${config.uuid}','${config.MenuName || ''}','${config.MenuNo || ''}','${m.MenuID}','${m.MenuName}'`).join(';') |
| | | menus_used_list = window.btoa(window.encodeURIComponent(menus_used_list || 'del')) |
| | | |
| | | let param = { |
| | | func: 'sPC_TrdMenu_AddUpt', |
| | | FstID: 'mk_app', |
| | |
| | | open_edition: config.open_edition, |
| | | menus_rolelist: window.btoa(window.encodeURIComponent(JSON.stringify(roleParam))), |
| | | LText: '', |
| | | LTexttb: '' |
| | | LTexttb: '', |
| | | menus_used_list |
| | | } |
| | | |
| | | param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') |
| | |
| | | <ArrowLeftOutlined title="后退" className="back-view" onClick={this.backView}/> |
| | | <CreateView resetmenu={this.getAppMenus} /> |
| | | <PasteController insert={this.insert} /> |
| | | <StyleCombControlButton menu={config} /> |
| | | <ViewNodes config={config} MenuId={MenuId}/> |
| | | <SysInterface config={config} updateConfig={this.updateConfig}/> |
| | | <PictureController/> |
| | | <Quotecomponent config={config} updateConfig={this.updateConfig}/> |
| | |
| | | <ReplaceField type="custom" config={config} updateConfig={this.resetConfig}/> |
| | | <Transfer MenuID={MenuId} /> |
| | | <Versions MenuId={MenuId} open_edition={config ? config.open_edition : ''}/> |
| | | <StyleCombControlButton menu={config} /> |
| | | <Button className="mk-border-danger" onClick={this.refreshView}><RedoOutlined /> 强制刷新</Button> |
| | | <Button type="default" onClick={this.closeView}>关闭</Button> |
| | | </div> |