VerticalNavbarPackage.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import React from 'react';
  2. import Modularity from 'modularity-front';
  3. import {Row,CardTitle,Button,Col,Card} from 'react-materialize';
  4. import VerticalNavbar from '../Modules/VerticalNavbar.js';
  5. import LoadedModules from '../Services/LoadedModulesService.js';
  6. let Module = Modularity.Module;
  7. class VerticalNavbarPackage extends Modularity.Module {
  8. constructor(props) {
  9. super(props);
  10. this.state = {
  11. modules: this.NavItems.value,
  12. APIModules: []
  13. }
  14. let propertiesService = {
  15. APIURL: 'CrudModules',
  16. Modules: (modules) => this.setState({ APIModules: modules ||[] })
  17. }
  18. this.NavItems.onUpdate((modules) => this.setState({modules}));
  19. this.back_service = new LoadedModules(propertiesService);
  20. }
  21. render() {
  22. let allmods = [...this.state.modules, ...this.state.APIModules ];
  23. return [<VerticalNavbar key={Math.random()} NavItems={allmods}/>,
  24. super.render()];
  25. }
  26. }
  27. VerticalNavbarPackage.Inputs = {
  28. Expanded: {
  29. type: Module.Types.Boolean,
  30. defaultValue: true
  31. },
  32. NavItems: {
  33. type:Module.Types.Array,
  34. defaultValue: [
  35. {
  36. link:"home",
  37. text:"Home",
  38. icon:"fa-home",
  39. }
  40. ],
  41. arrType:Module.Types.Object
  42. }
  43. }
  44. VerticalNavbarPackage.Outputs = {
  45. }
  46. VerticalNavbarPackage.Category = "NikatlasPackages";
  47. VerticalNavbarPackage.EditPosition = "center";
  48. export default VerticalNavbarPackage;