Skip to content

setup.json example

Damian Dominella edited this page Apr 19, 2018 · 7 revisions

NOTE: MUST BE UPDATED, some properties may not work

{
  "contentLanguages": [
    {
      "id": 1,
      "name": "Italiano",
      "isoCode": "it",
      "isDefault": false
    },
    {
      "id": 2,
      "name": "English",
      "isoCode": "en",
      "isDefault": true
    }
  ],
  "pages": [
    {
      "path": "dashboard",
      "type": "dashboard",
      "params": {
        "menu": {
          "title": "Dashboard",
          "icon": "fa fa-home",
          "breadcrumbLevel": 1,
          "sidebar": true,
          "order": 0
        },
        "components": [
          {
            "type": "simpleStats",
            "config": {
              "items": [
                {
                  "title": "Totale utenti",
                  "stats": "/devices/stats/total",
                  "icon": "fa fa-users",
                  "class": "col-sm-12"
                }
              ]
            }
          },
          {
            "type": "doughnutChart",
            "config": {
              "id": "x",
              "title": "Utenti per zone - commerciali",
              "data": "zone/stats/COMM"
            }
          },
          {
            "type": "doughnutChart",
            "config": {
              "id": "y",
              "title": "Utenti per zone - privati",
              "data": "zone/stats/PRIV"
            }
          }
        ]
      }
    },
    {
      "type": "group",
      "params": {
        "menu": {
          "title": "Castelli",
          "sidebar": true,
          "icon": "fa fa-bank",
          "order": 100
        }
      },
      "children": [
        {
          "path": "castelli/list",
          "type": "table",
          "params": {
            "menu": {
              "title": "Lista castelli",
              "sidebar": true,
              "breadcrumbLevel": 1
            },
            "tables": [
              {
                "api": {
                  "endpoint": "castelli/list"
                },
                "exportCsv": {
                  "endpoint": "castelli/list/export_csv"
                },
                "drag": {
                  "sortField": "weight",
                  "endpoint": "castelli/sort"
                },
                "noDataLabel": "Nessun castello trovato",
                "generalActions": [
                  {
                    "name": "Export csv",
                    "content": "Export CSV <i class='fa fa-download'></i> ",
                    "class": "success",
                    "config": {
                      "endpoint": "export_csv",
                      "method": "get",
                      "responseType": "file_download",
                      "file": {
                        "name": "castelli_list",
                        "extension": "csv"
                      },
                      "refreshAfter": false
                    }
                  }
                ],
                "actions": {
                  "columnTitle": "Azioni",
                  "add": {
                    "name": "Add",
                    "content": "<i class='fa fa-plus'></i>",
                    "class": "success",
                    "config": {
                      "path": "castelli/create"
                    }
                  },
                  "list": [
                    {
                      "name": "Duplicate",
                      "content": "<i class='fa fa-copy'></i>",
                      "class": "default",
                      "config": {
                        "path": "castelli/create",
                        "params": {
                          "loadData": true,
                          "endpoint": "castelli"
                        },
                        "titleField": "nome"
                      }
                    },
                    {
                      "name": "Edit",
                      "content": "<i class='fa fa-edit'></i>",
                      "class": "warning",
                      "config": {
                        "path": "castelli/edit/:id/:title",
                        "titleField": "nome"
                      }
                    },
                    {
                      "name": "Delete",
                      "content": "<i class='fa fa-trash'></i>",
                      "class": "danger",
                      "config": {
                        "endpoint": "castelli/:id",
                        "method": "delete",
                        "confirm": true
                      }
                    }
                  ]
                },
                "columns": {
                  "id": {
                    "title": "ID",
                    "type": "number",
                    "width": "10%"
                  },
                  "logo": {
                    "title": "Logo",
                    "type": "image",
                    "width": "20%",
                    "filter": false
                  },
                  "nome": {
                    "title": "Nome",
                    "type": "string"
                  },
                  "codice": {
                    "title": "Codice",
                    "type": "string"
                  }
                },
                "pager": {
                  "perPage": 5
                }
              }
            ]
          }
        },
        {
          "path": "castelli/create",
          "type": "form",
          "params": {
            "menu": {
              "title": "Nuovo castello",
              "breadcrumbLevel": 1,
              "sidebar": true
            },
            "forms": [
              {
                "api": {
                  "endpoint": "castelli/create"
                },
                "submit": {
                  "confirm": true,
                  "redirectAfter": "castelli/list"
                },
                "fields": {
                  "it": [
                    {
                      "key": "nome",
                      "type": "text",
                      "label": "Nome (it)",
                      "validators": {
                        "required": true
                      }
                    },
                    {
                      "key": "immagine",
                      "type": "file",
                      "label": "Logo (it)",
                      "options": {
                        "api": {
                          "upload": "documenti/upload?container=news_images",
                          "delete": "documenti"
                        },
                        "allowedContentTypes": [
                          ".png",
                          ".jpg",
                          ".jpeg"
                        ]
                      }
                    }
                  ],
                  "en": [
                    {
                      "key": "nome",
                      "type": "text",
                      "label": "Nome (en)",
                      "validators": {
                        "required": true
                      }
                    },
                    {
                      "key": "immagine",
                      "type": "file",
                      "label": "Logo (en)",
                      "options": {
                        "api": {
                          "upload": "documenti/upload?container=news_images",
                          "delete": "documenti"
                        },
                        "allowedContentTypes": [
                          ".png",
                          ".jpg",
                          ".jpeg"
                        ]
                      }
                    }
                  ],
                  "base": [
                    {
                      "key": "codice",
                      "type": "text",
                      "label": "Codice",
                      "validators": {
                        "required": true
                      }
                    },
                    {
                      "type": "select",
                      "key": "aziendaId",
                      "label": "Seleziona azienda",
                      "placeholder": "Nessun azienda selezionata",
                      "options": "aziende/select/options"
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "path": "castelli/edit/:id/:title",
          "type": "form",
          "params": {
            "menu": {
              "title": "",
              "breadcrumbLevel": 2,
              "sidebar": false
            },
            "forms": [
              {
                "isEdit": true,
                "api": {
                  "endpoint": "castelli/edit",
                  "filter": "{\"include\": \"immagine\"}"
                },
                "submit": {
                  "label": "Salva",
                  "confirm": true,
                  "redirectAfter": "castelli/list"
                },
                "fields": {
                  "base": [
                    {
                      "key": "nome",
                      "type": "text",
                      "label": "Nome",
                      "validators": {
                        "required": true
                      }
                    },
                    {
                      "key": "codice",
                      "type": "text",
                      "label": "Codice",
                      "validators": {
                        "required": true
                      }
                    },
                    {
                      "type": "select",
                      "key": "aziendaId",
                      "label": "Seleziona azienda",
                      "placeholder": "Nessun azienda selezionata",
                      "options": "aziende/select/options"
                    },
                    {
                      "key": "immagine",
                      "type": "file",
                      "label": "Logo",
                      "options": {
                        "api": {
                          "upload": "documenti/upload?container=news_images",
                          "delete": "documenti"
                        },
                        "allowedContentTypes": [
                          ".png",
                          ".jpg",
                          ".jpeg"
                        ]
                      }
                    }
                  ]
                }
              }
            ]
          }
        }
      ]
    },
    {
      "type": "group",
      "params": {
        "menu": {
          "title": "Zone",
          "sidebar": true,
          "icon": "fa fa-map-marker",
          "order": 200
        }
      },
      "children": [
        {
          "path": "zone/list",
          "type": "table",
          "params": {
            "menu": {
              "title": "Lista zone",
              "sidebar": true,
              "breadcrumbLevel": 1
            },
            "tables": [
              {
                "api": {
                  "endpoint": "zone"
                },
                "actions": {
                  "columnTitle": "Azioni",
                  "add": {
                    "content": "<i class='fa fa-plus'></i>",
                    "class": "success",
                    "config": {
                      "path": "zone/create"
                    }
                  },
                  "list": [
                    {
                      "name": "edit",
                      "content": "<i class='fa fa-edit'></i>",
                      "class": "warning",
                      "config": {
                        "path": "zone/edit/:id/:title",
                        "titleField": "nome"
                      }
                    },
                    {
                      "name": "delete",
                      "content": "<i class='fa fa-trash'></i>",
                      "class": "danger",
                      "config": {
                        "endpoint": "zone/:id",
                        "method": "delete",
                        "confirm": true
                      }
                    }
                  ]
                },
                "columns": {
                  "id": {
                    "title": "ID",
                    "type": "number",
                    "width": "10%"
                  },
                  "nome": {
                    "title": "Nome",
                    "type": "text"
                  },
                  "codice": {
                    "title": "Codice",
                    "type": "text"
                  }
                }
              }
            ]
          }
        },
        {
          "path": "zone/create",
          "type": "form",
          "params": {
            "menu": {
              "title": "Nuova zona",
              "breadcrumbLevel": 1,
              "sidebar": true
            },
            "forms": [
              {
                "api": {
                  "endpoint": "zone"
                },
                "submit": {
                  "confirm": true,
                  "label": "Salva",
                  "redirectAfter": "zone/list"
                },
                "fields": {
                  "base": [
                    {
                      "key": "nome",
                      "type": "text",
                      "label": "Nome",
                      "validators": {
                        "required": true
                      }
                    },
                    {
                      "key": "codice",
                      "type": "text",
                      "label": "Codice",
                      "validators": {
                        "required": true
                      }
                    },
                    {
                      "type": "select",
                      "key": "castelloId",
                      "label": "Seleziona castello di appartenenza",
                      "placeholder": "Nessun castello selezionato",
                      "options": "castelli/select/options",
                      "validators": {
                        "required": true
                      }
                    },
                    {
                      "type": "select",
                      "key": "typeId",
                      "label": "Seleziona tipo",
                      "placeholder": "Nessun tipo selezionato",
                      "options": "zonaTypes/select/options",
                      "validators": {
                        "required": true
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "path": "zone/edit/:id/:title",
          "type": "form",
          "params": {
            "menu": {
              "title": "Modifica zona:",
              "breadcrumbLevel": 2,
              "sidebar": false
            },
            "forms": [
              {
                "isEdit": true,
                "api": {
                  "endpoint": "zone"
                },
                "submit": {
                  "confirm": true,
                  "label": "Salva",
                  "redirectAfter": "zone/list"
                },
                "fields": {
                  "base": [
                    {
                      "key": "nome",
                      "type": "text",
                      "label": "Nome",
                      "validators": {
                        "required": true
                      }
                    },
                    {
                      "key": "codice",
                      "type": "text",
                      "label": "Codice",
                      "validators": {
                        "required": true
                      }
                    },
                    {
                      "type": "select",
                      "key": "castelloId",
                      "label": "Seleziona castello di appartenenza",
                      "placeholder": "Nessun castello selezionato",
                      "options": "castelli/select/options",
                      "validators": {
                        "required": true
                      }
                    },
                    {
                      "type": "select",
                      "key": "typeId",
                      "label": "Seleziona tipo",
                      "placeholder": "Nessun tipo selezionato",
                      "options": "zonaTypes/select/options",
                      "validators": {
                        "required": true
                      }
                    }
                  ]
                }
              }
            ]
          }
        }
      ]
    },
    {
      "type": "group",
      "params": {
        "menu": {
          "title": "Notifiche",
          "sidebar": true,
          "icon": "fa fa-bell",
          "selected": "false",
          "order": 500
        }
      },
      "children": [
        {
          "path": "notifiche/list",
          "type": "table",
          "params": {
            "menu": {
              "title": "Lista notifiche",
              "sidebar": true,
              "breadcrumbLevel": 1
            },
            "tables": [
              {
                "api": {
                  "endpoint": "notifiche"
                },
                "actions": {
                  "columnTitle": "Azioni",
                  "add": {
                    "content": "<i class='fa fa-plus'></i>",
                    "class": "success",
                    "config": {
                      "path": "notifiche/create"
                    }
                  },
                  "list": [
                    {
                      "name": "edit",
                      "content": "<i class='fa fa-edit'></i>",
                      "class": "warning",
                      "config": {
                        "path": "notifiche/edit/:id"
                      }
                    },
                    {
                      "name": "delete",
                      "content": "<i class='fa fa-trash'></i>",
                      "class": "danger",
                      "config": {
                        "endpoint": "notifiche/:id",
                        "method": "delete",
                        "confirm": true
                      }
                    }
                  ]
                },
                "columns": {
                  "id": {
                    "title": "ID",
                    "type": "number",
                    "width": "10%"
                  },
                  "testo": {
                    "title": "Testo",
                    "type": "string"
                  },
                  "generale": {
                    "title": "Generale",
                    "type": "boolean",
                    "filter": {
                      "type": "checkbox",
                      "config": {
                        "true": true,
                        "false": false
                      }
                    },
                    "sort": false
                  }
                }
              }
            ]
          }
        },
        {
          "path": "notifiche/create",
          "type": "form",
          "params": {
            "menu": {
              "title": "Nuova notifica",
              "breadcrumbLevel": 1,
              "sidebar": true
            },
            "forms": [
              {
                "api": {
                  "endpoint": "notifiche/create"
                },
                "submit": {
                  "label": "Invia notifica",
                  "redirectAfter": "notifiche/list"
                },
                "fields": {
                  "it": [
                    {
                      "type": "select",
                      "key": "zona",
                      "label": "Seleziona zone (it)",
                      "placeholder": "Nessun zone selezionata",
                      "options": "zone/select/options",
                      "multiple": true
                    }
                  ],
                  "en": [
                    {
                      "type": "select",
                      "key": "zona",
                      "label": "Seleziona zone (en)",
                      "placeholder": "Nessun zone selezionata",
                      "options": "zone/select/options",
                      "multiple": true
                    },
                    {
                      "key": "immagine",
                      "type": "file",
                      "label": "Logo (en)",
                      "options": {
                        "api": {
                          "upload": "documenti/upload?container=news_images",
                          "delete": "documenti"
                        },
                        "allowedContentTypes": [
                          ".png",
                          ".jpg",
                          ".jpeg"
                        ]
                      }
                    }
                  ],
                  "base": [
                    {
                      "key": "testo",
                      "type": "textarea",
                      "label": "Testo notifica",
                      "validators": {
                        "required": true
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "path": "notifiche/edit/:id",
          "type": "form",
          "params": {
            "menu": {
              "title": "Modifica notifica",
              "breadcrumbLevel": 2,
              "sidebar": false
            },
            "forms": [
              {
                "isEdit": true,
                "api": {
                  "endpoint": "notifiche",
                  "filter": "{\"include\": \"zona\"}"
                },
                "submit": {
                  "label": "Invia notifica",
                  "redirectAfter": "notifiche/list"
                },
                "fields": {
                  "it": [
                    {
                      "type": "select",
                      "key": "zona",
                      "label": "Seleziona zone (it)",
                      "placeholder": "Nessun zone selezionata",
                      "options": "zone/select/options",
                      "multiple": true
                    }
                  ],
                  "en": [
                    {
                      "type": "select",
                      "key": "zona",
                      "label": "Seleziona zone (en)",
                      "placeholder": "Nessun zone selezionata",
                      "options": "zone/select/options",
                      "multiple": true
                    },
                    {
                      "key": "immagine",
                      "type": "file",
                      "label": "Logo (en)",
                      "options": {
                        "api": {
                          "upload": "documenti/upload?container=news_images",
                          "delete": "documenti"
                        },
                        "allowedContentTypes": [
                          ".png",
                          ".jpg",
                          ".jpeg"
                        ]
                      }
                    }
                  ],
                  "base": [
                    {
                      "key": "testo",
                      "type": "textarea",
                      "label": "Testo notifica",
                      "validators": {
                        "required": true
                      }
                    }
                  ]
                }
              }
            ]
          }
        }
      ]
    }
  ]
}
Clone this wiki locally