Merge branch 'anis' of ssh://git.marbelium.com:10023/Viiciouss/Sup_File into thierry
This commit is contained in:
commit
da96cc7f0e
420
package-lock.json
generated
420
package-lock.json
generated
@ -2010,6 +2010,381 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@angular-devkit/core": {
|
||||||
|
"version": "0.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.6.0.tgz",
|
||||||
|
"integrity": "sha512-hM1AOSF/+XZpv350pODPgoO/2QL61tfRlCXf3u4zHxkXdcboFKGCIi7VEu7TYMWSQzujcTFJciVBrgf/IfQ3cA==",
|
||||||
|
"requires": {
|
||||||
|
"ajv": "6.4.0",
|
||||||
|
"chokidar": "2.0.3",
|
||||||
|
"rxjs": "6.0.0",
|
||||||
|
"source-map": "0.5.7"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"anymatch": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
|
||||||
|
"requires": {
|
||||||
|
"micromatch": "3.1.10",
|
||||||
|
"normalize-path": "2.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"arr-diff": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
|
||||||
|
"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
|
||||||
|
},
|
||||||
|
"array-unique": {
|
||||||
|
"version": "0.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
|
||||||
|
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
|
||||||
|
},
|
||||||
|
"braces": {
|
||||||
|
"version": "2.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
|
||||||
|
"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
|
||||||
|
"requires": {
|
||||||
|
"arr-flatten": "1.1.0",
|
||||||
|
"array-unique": "0.3.2",
|
||||||
|
"extend-shallow": "2.0.1",
|
||||||
|
"fill-range": "4.0.0",
|
||||||
|
"isobject": "3.0.1",
|
||||||
|
"repeat-element": "1.1.2",
|
||||||
|
"snapdragon": "0.8.1",
|
||||||
|
"snapdragon-node": "2.1.1",
|
||||||
|
"split-string": "3.1.0",
|
||||||
|
"to-regex": "3.0.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"extend-shallow": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
||||||
|
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
||||||
|
"requires": {
|
||||||
|
"is-extendable": "0.1.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chokidar": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz",
|
||||||
|
"integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==",
|
||||||
|
"requires": {
|
||||||
|
"anymatch": "2.0.0",
|
||||||
|
"async-each": "1.0.1",
|
||||||
|
"braces": "2.3.2",
|
||||||
|
"fsevents": "1.1.3",
|
||||||
|
"glob-parent": "3.1.0",
|
||||||
|
"inherits": "2.0.3",
|
||||||
|
"is-binary-path": "1.0.1",
|
||||||
|
"is-glob": "4.0.0",
|
||||||
|
"normalize-path": "2.1.1",
|
||||||
|
"path-is-absolute": "1.0.1",
|
||||||
|
"readdirp": "2.1.0",
|
||||||
|
"upath": "1.0.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"define-property": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
|
||||||
|
"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
|
||||||
|
"requires": {
|
||||||
|
"is-descriptor": "1.0.2",
|
||||||
|
"isobject": "3.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"expand-brackets": {
|
||||||
|
"version": "2.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
|
||||||
|
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
|
||||||
|
"requires": {
|
||||||
|
"debug": "2.6.9",
|
||||||
|
"define-property": "0.2.5",
|
||||||
|
"extend-shallow": "2.0.1",
|
||||||
|
"posix-character-classes": "0.1.1",
|
||||||
|
"regex-not": "1.0.0",
|
||||||
|
"snapdragon": "0.8.1",
|
||||||
|
"to-regex": "3.0.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"define-property": {
|
||||||
|
"version": "0.2.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
|
||||||
|
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
|
||||||
|
"requires": {
|
||||||
|
"is-descriptor": "0.1.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extend-shallow": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
||||||
|
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
||||||
|
"requires": {
|
||||||
|
"is-extendable": "0.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"is-descriptor": {
|
||||||
|
"version": "0.1.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
|
||||||
|
"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
|
||||||
|
"requires": {
|
||||||
|
"is-accessor-descriptor": "0.1.6",
|
||||||
|
"is-data-descriptor": "0.1.4",
|
||||||
|
"kind-of": "5.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"kind-of": {
|
||||||
|
"version": "5.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extend-shallow": {
|
||||||
|
"version": "3.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
|
||||||
|
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
|
||||||
|
"requires": {
|
||||||
|
"assign-symbols": "1.0.0",
|
||||||
|
"is-extendable": "1.0.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"is-extendable": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
|
||||||
|
"requires": {
|
||||||
|
"is-plain-object": "2.0.4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extglob": {
|
||||||
|
"version": "2.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
|
||||||
|
"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
|
||||||
|
"requires": {
|
||||||
|
"array-unique": "0.3.2",
|
||||||
|
"define-property": "1.0.0",
|
||||||
|
"expand-brackets": "2.1.4",
|
||||||
|
"extend-shallow": "2.0.1",
|
||||||
|
"fragment-cache": "0.2.1",
|
||||||
|
"regex-not": "1.0.0",
|
||||||
|
"snapdragon": "0.8.1",
|
||||||
|
"to-regex": "3.0.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"define-property": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
|
||||||
|
"requires": {
|
||||||
|
"is-descriptor": "1.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extend-shallow": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
||||||
|
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
||||||
|
"requires": {
|
||||||
|
"is-extendable": "0.1.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fill-range": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
|
||||||
|
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
|
||||||
|
"requires": {
|
||||||
|
"extend-shallow": "2.0.1",
|
||||||
|
"is-number": "3.0.0",
|
||||||
|
"repeat-string": "1.6.1",
|
||||||
|
"to-regex-range": "2.1.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"extend-shallow": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
||||||
|
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
||||||
|
"requires": {
|
||||||
|
"is-extendable": "0.1.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"glob-parent": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
|
||||||
|
"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
|
||||||
|
"requires": {
|
||||||
|
"is-glob": "3.1.0",
|
||||||
|
"path-dirname": "1.0.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"is-glob": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
|
||||||
|
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
|
||||||
|
"requires": {
|
||||||
|
"is-extglob": "2.1.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"is-accessor-descriptor": {
|
||||||
|
"version": "0.1.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
|
||||||
|
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
|
||||||
|
"requires": {
|
||||||
|
"kind-of": "3.2.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"kind-of": {
|
||||||
|
"version": "3.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
||||||
|
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
||||||
|
"requires": {
|
||||||
|
"is-buffer": "1.1.6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"is-data-descriptor": {
|
||||||
|
"version": "0.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
|
||||||
|
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
|
||||||
|
"requires": {
|
||||||
|
"kind-of": "3.2.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"kind-of": {
|
||||||
|
"version": "3.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
||||||
|
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
||||||
|
"requires": {
|
||||||
|
"is-buffer": "1.1.6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"is-number": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
|
||||||
|
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
|
||||||
|
"requires": {
|
||||||
|
"kind-of": "3.2.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"kind-of": {
|
||||||
|
"version": "3.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
||||||
|
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
||||||
|
"requires": {
|
||||||
|
"is-buffer": "1.1.6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"is-odd": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
|
||||||
|
"requires": {
|
||||||
|
"is-number": "4.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"is-number": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"is-windows": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
|
||||||
|
},
|
||||||
|
"kind-of": {
|
||||||
|
"version": "6.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
|
||||||
|
"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
|
||||||
|
},
|
||||||
|
"micromatch": {
|
||||||
|
"version": "3.1.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
|
||||||
|
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
|
||||||
|
"requires": {
|
||||||
|
"arr-diff": "4.0.0",
|
||||||
|
"array-unique": "0.3.2",
|
||||||
|
"braces": "2.3.2",
|
||||||
|
"define-property": "2.0.2",
|
||||||
|
"extend-shallow": "3.0.2",
|
||||||
|
"extglob": "2.0.4",
|
||||||
|
"fragment-cache": "0.2.1",
|
||||||
|
"kind-of": "6.0.2",
|
||||||
|
"nanomatch": "1.2.9",
|
||||||
|
"object.pick": "1.3.0",
|
||||||
|
"regex-not": "1.0.0",
|
||||||
|
"snapdragon": "0.8.1",
|
||||||
|
"to-regex": "3.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nanomatch": {
|
||||||
|
"version": "1.2.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
|
||||||
|
"integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
|
||||||
|
"requires": {
|
||||||
|
"arr-diff": "4.0.0",
|
||||||
|
"array-unique": "0.3.2",
|
||||||
|
"define-property": "2.0.2",
|
||||||
|
"extend-shallow": "3.0.2",
|
||||||
|
"fragment-cache": "0.2.1",
|
||||||
|
"is-odd": "2.0.0",
|
||||||
|
"is-windows": "1.0.2",
|
||||||
|
"kind-of": "6.0.2",
|
||||||
|
"object.pick": "1.3.0",
|
||||||
|
"regex-not": "1.0.0",
|
||||||
|
"snapdragon": "0.8.1",
|
||||||
|
"to-regex": "3.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"to-regex": {
|
||||||
|
"version": "3.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
|
||||||
|
"integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
|
||||||
|
"requires": {
|
||||||
|
"define-property": "2.0.2",
|
||||||
|
"extend-shallow": "3.0.2",
|
||||||
|
"regex-not": "1.0.2",
|
||||||
|
"safe-regex": "1.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"regex-not": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
|
||||||
|
"requires": {
|
||||||
|
"extend-shallow": "3.0.2",
|
||||||
|
"safe-regex": "1.1.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@angular-devkit/schematics": {
|
||||||
|
"version": "0.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.6.0.tgz",
|
||||||
|
"integrity": "sha512-TK1wdBMXt6N2T8SUyqx45+HntvFknHyNQpGWvnQZLE/f0y9otCOAarVGxbDaxznc1SNYSPNckSQi8rjEsUNVsw==",
|
||||||
|
"requires": {
|
||||||
|
"@angular-devkit/core": "0.6.0",
|
||||||
|
"rxjs": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@angular/animations": {
|
"@angular/animations": {
|
||||||
"version": "6.0.0-rc.6",
|
"version": "6.0.0-rc.6",
|
||||||
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.0.0-rc.6.tgz",
|
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.0.0-rc.6.tgz",
|
||||||
@ -2669,6 +3044,16 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@schematics/angular": {
|
||||||
|
"version": "0.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.6.0.tgz",
|
||||||
|
"integrity": "sha512-mgDCNHF/41934HGMU4PCY3nk19kTBvUBZ5PLQEkZ6Q+wLDs2WigjuJqcYrUluC1T0Z3SvVDKrwSbC2RRMC/oFA==",
|
||||||
|
"requires": {
|
||||||
|
"@angular-devkit/core": "0.6.0",
|
||||||
|
"@angular-devkit/schematics": "0.6.0",
|
||||||
|
"typescript": "2.7.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@schematics/update": {
|
"@schematics/update": {
|
||||||
"version": "0.5.13",
|
"version": "0.5.13",
|
||||||
"resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.5.13.tgz",
|
"resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.5.13.tgz",
|
||||||
@ -3213,6 +3598,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ajv": {
|
||||||
|
"version": "6.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz",
|
||||||
|
"integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=",
|
||||||
|
"requires": {
|
||||||
|
"fast-deep-equal": "1.0.0",
|
||||||
|
"fast-json-stable-stringify": "2.0.0",
|
||||||
|
"json-schema-traverse": "0.3.1",
|
||||||
|
"uri-js": "3.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"align-text": {
|
"align-text": {
|
||||||
"version": "0.1.4",
|
"version": "0.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
|
||||||
@ -6009,14 +6405,12 @@
|
|||||||
"fast-deep-equal": {
|
"fast-deep-equal": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
|
||||||
"integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=",
|
"integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"fast-json-stable-stringify": {
|
"fast-json-stable-stringify": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
|
||||||
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
|
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"fast-levenshtein": {
|
"fast-levenshtein": {
|
||||||
"version": "2.0.6",
|
"version": "2.0.6",
|
||||||
@ -8488,7 +8882,6 @@
|
|||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
|
||||||
"integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
|
"integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-extglob": "2.1.1"
|
"is-extglob": "2.1.1"
|
||||||
}
|
}
|
||||||
@ -9206,8 +9599,7 @@
|
|||||||
"json-schema-traverse": {
|
"json-schema-traverse": {
|
||||||
"version": "0.3.1",
|
"version": "0.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
|
||||||
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
|
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"json-stable-stringify": {
|
"json-stable-stringify": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
@ -11753,8 +12145,7 @@
|
|||||||
"path-dirname": {
|
"path-dirname": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
|
||||||
"integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
|
"integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"path-exists": {
|
"path-exists": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
@ -12730,8 +13121,7 @@
|
|||||||
"ret": {
|
"ret": {
|
||||||
"version": "0.1.15",
|
"version": "0.1.15",
|
||||||
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
|
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
|
||||||
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
|
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"retry": {
|
"retry": {
|
||||||
"version": "0.10.1",
|
"version": "0.10.1",
|
||||||
@ -12815,7 +13205,6 @@
|
|||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
|
||||||
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
|
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"ret": "0.1.15"
|
"ret": "0.1.15"
|
||||||
}
|
}
|
||||||
@ -14396,8 +14785,7 @@
|
|||||||
"upath": {
|
"upath": {
|
||||||
"version": "1.0.5",
|
"version": "1.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/upath/-/upath-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/upath/-/upath-1.0.5.tgz",
|
||||||
"integrity": "sha512-qbKn90aDQ0YEwvXoLqj0oiuUYroLX2lVHZ+b+xwjozFasAOC4GneDq5+OaIG5Zj+jFmbz/uO+f7a9qxjktJQww==",
|
"integrity": "sha512-qbKn90aDQ0YEwvXoLqj0oiuUYroLX2lVHZ+b+xwjozFasAOC4GneDq5+OaIG5Zj+jFmbz/uO+f7a9qxjktJQww=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"update-notifier": {
|
"update-notifier": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
@ -14448,7 +14836,6 @@
|
|||||||
"version": "3.0.2",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz",
|
||||||
"integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=",
|
"integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"punycode": "2.1.0"
|
"punycode": "2.1.0"
|
||||||
},
|
},
|
||||||
@ -14456,8 +14843,7 @@
|
|||||||
"punycode": {
|
"punycode": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz",
|
||||||
"integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=",
|
"integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0="
|
||||||
"dev": true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
"@angular/platform-browser": "^6.0.0-rc.1",
|
"@angular/platform-browser": "^6.0.0-rc.1",
|
||||||
"@angular/platform-browser-dynamic": "^6.0.0-rc.1",
|
"@angular/platform-browser-dynamic": "^6.0.0-rc.1",
|
||||||
"@angular/router": "^6.0.0-rc.1",
|
"@angular/router": "^6.0.0-rc.1",
|
||||||
|
"@schematics/angular": "^0.6.0",
|
||||||
"@types/form-data": "^2.2.1",
|
"@types/form-data": "^2.2.1",
|
||||||
"bcrypt-nodejs": "0.0.3",
|
"bcrypt-nodejs": "0.0.3",
|
||||||
"bluebird": "^3.5.1",
|
"bluebird": "^3.5.1",
|
||||||
|
BIN
public/23460.jpg
BIN
public/23460.jpg
Binary file not shown.
Before Width: | Height: | Size: 179 KiB |
@ -16,10 +16,16 @@ import { SignupComponent } from './signup/signup.component';
|
|||||||
import { BookComponent } from './book/book.component';
|
import { BookComponent } from './book/book.component';
|
||||||
|
|
||||||
import { RouterModule, Routes } from '@angular/router';
|
import { RouterModule, Routes } from '@angular/router';
|
||||||
|
import { MainComponent } from './main/main.component';
|
||||||
|
|
||||||
const appRoutes: Routes = [
|
const appRoutes: Routes = [
|
||||||
{
|
{
|
||||||
path: 'books/:tokenFromLogin',
|
path: 'main',
|
||||||
|
component: MainComponent,
|
||||||
|
data: { title: 'Home Main' }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'books',
|
||||||
component: BookComponent,
|
component: BookComponent,
|
||||||
data: { title: 'Book List' }
|
data: { title: 'Book List' }
|
||||||
},
|
},
|
||||||
@ -44,6 +50,7 @@ const appRoutes: Routes = [
|
|||||||
AppComponent,
|
AppComponent,
|
||||||
LoginComponent,
|
LoginComponent,
|
||||||
SignupComponent,
|
SignupComponent,
|
||||||
|
MainComponent,
|
||||||
BookComponent
|
BookComponent
|
||||||
],
|
],
|
||||||
imports: [
|
imports: [
|
||||||
|
@ -1,54 +1,47 @@
|
|||||||
<div class="container">
|
<div class="container-fluid">
|
||||||
<h1>File Listttt <button class="btn btn-success" (click)="logout()">Logout</button></h1>
|
|
||||||
<table class="table">
|
<label class="btn btn-danger col-sm-2 col-md-2" >
|
||||||
|
Fichier à ajouter<input type="file" style="display: none;" #myPicture name="myPicture" (change)="fileChangeEvent($event)">
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<button type="button" class="btn btn-warning" (click)="upload()">Ajouter le fichier {{fileChooseName}}</button>
|
||||||
|
|
||||||
|
<label> Vous avez choisi : {{fileChooseName}}</label>
|
||||||
|
</div>
|
||||||
|
<table class="table table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>ISBN</th>
|
<th>#</th>
|
||||||
<th>Title</th>
|
<th>Nom</th>
|
||||||
<th>Author</th>
|
<th>Taille</th>
|
||||||
<th>Publisher</th>
|
<th>Type</th>
|
||||||
|
<th>Date d'ajout</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr *ngFor="let book of books">
|
<tr *ngFor="let file of allUserFile; let i = index;">
|
||||||
<td>{{ book.isbn }}</td>
|
<th scope="row">{{ i + 1 }}</th>
|
||||||
<td>{{ book.title }}</td>
|
<td>{{ file.name }}</td>
|
||||||
<td>{{ book.author }}</td>
|
<td>{{ file.taille / ( 1024 * 1024 ) | number : '1.2-2'}} Mo</td>
|
||||||
<td>{{ book.publisher }}</td>
|
<td>{{ file.extention }}</td>
|
||||||
|
<td>{{ file.path }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
|
||||||
|
<img src="../../../public/23460.jpg" class="img-fluid flex-center">
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<form enctype="multipart/form-data" method="post" name="fileinfo">
|
||||||
|
<label>Fichier à mettre de côté :</label>
|
||||||
|
<input type="file" name="file" (change)="fileChangeEvent($event)" required />
|
||||||
|
<input type="submit" (click)="upload2()" value="Mettez le fichier de côté." />
|
||||||
|
</form>
|
||||||
|
<div></div>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1>
|
|
||||||
Hey here, Upload a file here
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<label class="btn btn-info col-sm-2 col-md-2" >
|
|
||||||
Fichier à ajouter<input type="file" style="display: none;" #myPicture name="myPicture" (change)="fileChangeEvent($event)">
|
|
||||||
</label>
|
|
||||||
|
|
||||||
<button type="button" class="btn btn-success" (click)="upload()">Ajouter le fichier {{fileChooseName}}</button>
|
|
||||||
|
|
||||||
<h3> Vous avez choisi : {{fileChooseName}}</h3>
|
|
||||||
|
|
||||||
|
|
||||||
<div *ngIf="allUserFile">
|
|
||||||
Votre <strong>liste de fichier</strong> ci-dessous:
|
|
||||||
<li *ngFor="let file of allUserFile">
|
|
||||||
nom : {{ file.name }} / owner: {{ file.owner }} / path : {{ file.path }}
|
|
||||||
<!--<img src="../../../public/GOPR0034.jpg">-->
|
|
||||||
</li>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
<form enctype="multipart/form-data" method="post" name="fileinfo">
|
|
||||||
<label>Fichier à mettre de côté :</label>
|
|
||||||
<input type="file" name="file" (change)="fileChangeEvent($event)" required />
|
|
||||||
<input type="submit" (click)="upload2()" value="Mettez le fichier de côté." />
|
|
||||||
</form>
|
|
||||||
<div></div>
|
|
||||||
-->
|
|
||||||
|
@ -20,7 +20,7 @@ export class BookComponent implements OnInit, OnDestroy {
|
|||||||
filesToUpload: Array<File>;
|
filesToUpload: Array<File>;
|
||||||
fileChooseName: string;
|
fileChooseName: string;
|
||||||
httpOptions: any;
|
httpOptions: any;
|
||||||
tokenFromLogin: any;
|
// tokenFromLogin: any;
|
||||||
constructor(private http: HttpClient, private router: Router, private route: ActivatedRoute) {
|
constructor(private http: HttpClient, private router: Router, private route: ActivatedRoute) {
|
||||||
|
|
||||||
this.fileChooseName = 'None';
|
this.fileChooseName = 'None';
|
||||||
@ -30,7 +30,7 @@ export class BookComponent implements OnInit, OnDestroy {
|
|||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
|
||||||
this.route.params.subscribe(params => {
|
this.route.params.subscribe(params => {
|
||||||
this.tokenFromLogin = params['tokenFromLogin'];
|
// this.tokenFromLogin = params['tokenFromLogin'];
|
||||||
|
|
||||||
this.httpOptions = {
|
this.httpOptions = {
|
||||||
headers: new HttpHeaders({ 'Authorization': localStorage.getItem('jwtToken') })
|
headers: new HttpHeaders({ 'Authorization': localStorage.getItem('jwtToken') })
|
||||||
@ -44,22 +44,23 @@ export class BookComponent implements OnInit, OnDestroy {
|
|||||||
this.router.navigate(['login']);
|
this.router.navigate(['login']);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this.http.get('/api/allUserFile', this.httpOptions).subscribe(files => {
|
|
||||||
this.allUserFile = files;
|
|
||||||
console.log('mothafuka cureent user : ' + JSON.stringify(this.allUserFile));
|
|
||||||
}, err => {
|
|
||||||
if (err.status === 401) {
|
|
||||||
this.router.navigate(['login']);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
this.getfile();
|
||||||
|
|
||||||
|
}
|
||||||
|
getfile() {
|
||||||
|
this.http.get('/api/allUserFile', this.httpOptions).subscribe(files => {
|
||||||
|
this.allUserFile = files;
|
||||||
|
console.log('mothafuka cureent user : ' + JSON.stringify(this.allUserFile));
|
||||||
|
}, err => {
|
||||||
|
if (err.status === 401) {
|
||||||
|
this.router.navigate(['login']);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
ngOnDestroy() {
|
ngOnDestroy() {
|
||||||
localStorage.removeItem('jwtToken');
|
localStorage.removeItem('jwtToken');
|
||||||
this.tokenFromLogin = '';
|
// this.tokenFromLogin = '';
|
||||||
this.httpOptions = null;
|
this.httpOptions = null;
|
||||||
this.currentUser = null;
|
this.currentUser = null;
|
||||||
}
|
}
|
||||||
@ -77,6 +78,7 @@ export class BookComponent implements OnInit, OnDestroy {
|
|||||||
if(this.currentUser.username)
|
if(this.currentUser.username)
|
||||||
this.http.post('api/uploadFileMongo', { name: result[0].filename.toString(), path: result[0].path.toString(), extention: this.filesToUpload[0].type.toString(), taille: this.filesToUpload[0].size.toString(), idUser: this.currentUser._id.toString(), owner: this.currentUser.username.toString() }).subscribe(resp => {
|
this.http.post('api/uploadFileMongo', { name: result[0].filename.toString(), path: result[0].path.toString(), extention: this.filesToUpload[0].type.toString(), taille: this.filesToUpload[0].size.toString(), idUser: this.currentUser._id.toString(), owner: this.currentUser.username.toString() }).subscribe(resp => {
|
||||||
console.log('ok db !!' + resp.toString());
|
console.log('ok db !!' + resp.toString());
|
||||||
|
this.getfile();
|
||||||
}, err => {
|
}, err => {
|
||||||
console.log('errrrr : ' + err);
|
console.log('errrrr : ' + err);
|
||||||
message = err.error.msg;
|
message = err.error.msg;
|
||||||
|
@ -17,10 +17,10 @@ export class LoginComponent implements OnInit {
|
|||||||
constructor(private http: HttpClient, private router: Router) { }
|
constructor(private http: HttpClient, private router: Router) { }
|
||||||
|
|
||||||
login() {
|
login() {
|
||||||
this.http.post('/api/signin',this.loginData).subscribe(resp => {
|
this.http.post('/api/signin', this.loginData).subscribe(resp => {
|
||||||
this.data = resp;
|
this.data = resp;
|
||||||
localStorage.setItem('jwtToken', this.data.token);
|
localStorage.setItem('jwtToken', this.data.token);
|
||||||
this.router.navigate(['books', this.data.token]);
|
this.router.navigate(['main']);
|
||||||
}, err => {
|
}, err => {
|
||||||
this.message = err.error.msg;
|
this.message = err.error.msg;
|
||||||
});
|
});
|
||||||
|
144
src/app/main/main.component.html
Normal file
144
src/app/main/main.component.html
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
<body class="grey-skin">
|
||||||
|
|
||||||
|
|
||||||
|
<!--Double navigation-->
|
||||||
|
<header>
|
||||||
|
|
||||||
|
<!-- Sidebar navigation -->
|
||||||
|
<mdb-sidenav #sidenav class="sn-bg-1 fixed" [fixed]="true">
|
||||||
|
|
||||||
|
<logo>
|
||||||
|
<!-- Logo -->
|
||||||
|
<li>
|
||||||
|
<div class="logo-wrapper waves-light">
|
||||||
|
<a href="#"><img style="height: 90px; margin-left: 13%;"src="https://openclipart.org/image/2400px/svg_to_png/190248/slogonormal.png" class="img-fluid flex-center"></a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<!--/. Logo -->
|
||||||
|
</logo>
|
||||||
|
|
||||||
|
<links>
|
||||||
|
<!--Social-->
|
||||||
|
<li>
|
||||||
|
<ul class="social">
|
||||||
|
<li><a class="icons-sm fb-ic"><i class="fa fa-facebook"> </i></a></li>
|
||||||
|
<li><a class="icons-sm pin-ic"><i class="fa fa-pinterest"> </i></a></li>
|
||||||
|
<li><a class="icons-sm gplus-ic"><i class="fa fa-google-plus"> </i></a></li>
|
||||||
|
<li><a class="icons-sm tw-ic"><i class="fa fa-twitter"> </i></a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<!--/Social-->
|
||||||
|
<!--Search Form-->
|
||||||
|
<li>
|
||||||
|
<form class="search-form" role="search">
|
||||||
|
<div class="form-group md-form mt-0 pt-1 waves-light" mdbWavesEffect>
|
||||||
|
<input type="text" class="form-control" placeholder="Search">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</li>
|
||||||
|
<!--/.Search Form-->
|
||||||
|
<!-- Side navigation links -->
|
||||||
|
<li>
|
||||||
|
<ul class="collapsible collapsible-accordion">
|
||||||
|
<mdb-squeezebox [multiple]="false" aria-multiselectable="false">
|
||||||
|
|
||||||
|
<!-- Collapsible link -->
|
||||||
|
<mdb-item>
|
||||||
|
<mdb-item-head mdbWavesEffect><i class="fa fa-chevron-right"></i> Collapsible menu</mdb-item-head>
|
||||||
|
<mdb-item-body>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#" class="waves-effect" mdbWavesEffect>Link 1</a></li>
|
||||||
|
<li><a href="#" class="waves-effect" mdbWavesEffect>Link 2</a></li>
|
||||||
|
</ul>
|
||||||
|
</mdb-item-body>
|
||||||
|
</mdb-item>
|
||||||
|
|
||||||
|
<!-- Simple link -->
|
||||||
|
<mdb-item class="no-collase">
|
||||||
|
<mdb-item-head mdbWavesEffect><i class="fa fa-hand-pointer-o"></i> Simple link</mdb-item-head>
|
||||||
|
<mdb-item-body></mdb-item-body>
|
||||||
|
</mdb-item>
|
||||||
|
|
||||||
|
<!-- Collapsible link -->
|
||||||
|
<mdb-item>
|
||||||
|
<mdb-item-head mdbWavesEffect><i class="fa fa-eye"></i> Collapsible menu 2</mdb-item-head>
|
||||||
|
<mdb-item-body>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#" class="waves-effect" mdbWavesEffect>Link 1</a></li>
|
||||||
|
<li><a href="#" class="waves-effect" mdbWavesEffect>Link 2</a></li>
|
||||||
|
</ul>
|
||||||
|
</mdb-item-body>
|
||||||
|
</mdb-item>
|
||||||
|
|
||||||
|
<!-- Simple link -->
|
||||||
|
<mdb-item class="no-collase">
|
||||||
|
<mdb-item-head mdbWavesEffect><i class="fa fa-diamond"></i> Simple link 2</mdb-item-head>
|
||||||
|
<mdb-item-body></mdb-item-body>
|
||||||
|
</mdb-item>
|
||||||
|
|
||||||
|
</mdb-squeezebox>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<!--/. Side navigation links -->
|
||||||
|
</links>
|
||||||
|
<div class="sidenav-bg mask-strong"></div>
|
||||||
|
</mdb-sidenav>
|
||||||
|
<!--/. Sidebar navigation -->
|
||||||
|
|
||||||
|
<!-- Navbar -->
|
||||||
|
<mdb-navbar SideClass="navbar fixed-top navbar-toggleable-md navbar-expand-lg scrolling-navbar double-nav" [containerInside]="false">
|
||||||
|
|
||||||
|
<navlinks class="navbar-container">
|
||||||
|
<!-- SideNav slide-out button -->
|
||||||
|
<div class="float-left">
|
||||||
|
<a (click)="sidenav.show()" class="button-collapse"><i class="fa fa-bars"></i></a>
|
||||||
|
</div>
|
||||||
|
<!--/. SideNav slide-out button -->
|
||||||
|
</navlinks>
|
||||||
|
|
||||||
|
<logo>
|
||||||
|
<!-- Breadcrumb-->
|
||||||
|
<div class="breadcrumbs breadcrumb-dn mr-auto">
|
||||||
|
<p>Welcome</p>
|
||||||
|
</div>
|
||||||
|
<!--/. Breadcrumb-->
|
||||||
|
</logo>
|
||||||
|
|
||||||
|
<navlinks>
|
||||||
|
<ul class="nav navbar-nav nav-flex-icons ml-auto ie-double-nav">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link waves-light" mdbWavesEffect><i class="fa fa-envelope"></i> <span class="clearfix d-none d-sm-inline-block">Contact</span></a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link waves-light" mdbWavesEffect><i class="fa fa-user"></i> <span class="clearfix d-none d-sm-inline-block">Account</span></a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" (click)="logout()">
|
||||||
|
<a class="nav-link waves-light" mdbWavesEffect><i class="fa fa-sign-out mr-1"></i> <span class="clearfix d-none d-sm-inline-block">Log out</span></a>
|
||||||
|
</li>
|
||||||
|
<!--<li class="nav-item dropdown btn-group" dropdown>-->
|
||||||
|
<!--<a dropdownToggle type="button" class="nav-link dropdown-toggle waves-light" mdbWavesEffect>-->
|
||||||
|
<!--Dropdown-->
|
||||||
|
<!--</a>-->
|
||||||
|
<!--<div class="dropdown-menu dropdown-primary dropdown-menu-right" role="menu">-->
|
||||||
|
<!--<a class="dropdown-item" href="#">Action</a>-->
|
||||||
|
<!--<a class="dropdown-item" href="#">Another action</a>-->
|
||||||
|
<!--<a class="dropdown-item" href="#">Something else here</a>-->
|
||||||
|
<!--</div>-->
|
||||||
|
<!--</li>-->
|
||||||
|
</ul>
|
||||||
|
</navlinks>
|
||||||
|
</mdb-navbar>
|
||||||
|
<!--/. Navbar -->
|
||||||
|
|
||||||
|
</header>
|
||||||
|
<!--/.Double navigation-->
|
||||||
|
|
||||||
|
<!--Main Layout-->
|
||||||
|
<main style="margin-left: 0%; margin-right: 0%;">
|
||||||
|
<div class="container-fluid" style="margin:0%; padding: 0%">
|
||||||
|
<app-book></app-book>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</main>
|
||||||
|
<!--/Main layout-->
|
0
src/app/main/main.component.scss
Normal file
0
src/app/main/main.component.scss
Normal file
25
src/app/main/main.component.spec.ts
Normal file
25
src/app/main/main.component.spec.ts
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { MainComponent } from './main.component';
|
||||||
|
|
||||||
|
describe('MainComponent', () => {
|
||||||
|
let component: MainComponent;
|
||||||
|
let fixture: ComponentFixture<MainComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ MainComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(MainComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
21
src/app/main/main.component.ts
Normal file
21
src/app/main/main.component.ts
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
import { Router, ActivatedRoute } from '@angular/router';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-main',
|
||||||
|
templateUrl: './main.component.html',
|
||||||
|
styleUrls: ['./main.component.scss']
|
||||||
|
})
|
||||||
|
export class MainComponent implements OnInit {
|
||||||
|
|
||||||
|
constructor(private router: Router, private route: ActivatedRoute) { }
|
||||||
|
|
||||||
|
logout() {
|
||||||
|
localStorage.removeItem('jwtToken');
|
||||||
|
this.router.navigate(['login']);
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user