admin panel changes

This commit is contained in:
yuri
2017-10-04 11:26:35 +03:00
parent 827b69076a
commit 37827dfda1
5 changed files with 81 additions and 37 deletions

View File

@@ -1,7 +1,7 @@
{
"system":{
"label":"System",
"items":[
"system": {
"label": "System",
"itemList": [
{
"url":"#Admin/settings",
"label":"Settings",
@@ -52,11 +52,12 @@
"label":"Rebuild",
"description":"rebuild"
}
]
],
"order": 0
},
"users":{
"label":"Users",
"items":[
"label": "Users",
"itemList": [
{
"url":"#User",
"label":"Users",
@@ -82,11 +83,12 @@
"label": "Action History",
"description": "actionHistory"
}
]
],
"order": 5
},
"customization":{
"label":"Customization",
"items":[
"label": "Customization",
"itemList": [
{
"url":"#Admin/layouts",
"label":"Layout Manager",
@@ -107,11 +109,12 @@
"label":"Extensions",
"description":"extensions"
}
]
],
"order": 10
},
"email":{
"label":"Email",
"items":[
"label": "Email",
"itemList": [
{
"url":"#Admin/outboundEmails",
"label":"Outbound Emails",
@@ -142,11 +145,12 @@
"label":"Email Templates",
"description":"emailTemplates"
}
]
],
"order": 15
},
"portal": {
"label":"Portal",
"items":[
"label": "Portal",
"itemList": [
{
"url":"#Portal",
"label":"Portals",
@@ -162,16 +166,18 @@
"label":"Portal Roles",
"description":"portalRoles"
}
]
],
"order": 20
},
"data":{
"label":"Data",
"items":[
"label": "Data",
"itemList": [
{
"url":"#Import",
"label":"Import",
"description":"import"
}
]
],
"order": 25
}
}

View File

@@ -3,23 +3,26 @@
<div class="admin-content">
<div class="row">
<div class="col-md-7">
{{#each links}}
<h4>{{translate label scope='Admin'}}</h4>
<table class="table table-bordered">
{{#each items}}
<tr>
<td width="200">
<a href="{{url}}">{{translate label scope='Admin' category='labels'}}</a>
</td>
<td>{{translate description scope='Admin' category='descriptions'}}</td>
</tr>
{{/each}}
</table>
{{/each}}
<div class="admin-tables-container">
{{#each panelDataList}}
<div>
<h4>{{translate label scope='Admin'}}</h4>
<table class="table table-bordered table-admin-panel" data-name="{{name}}">
{{#each itemList}}
<tr>
<td>
<a href="{{url}}">{{translate label scope='Admin' category='labels'}}</a>
</td>
<td>{{translate description scope='Admin' category='descriptions'}}</td>
</tr>
{{/each}}
</table>
</div>
{{/each}}
</div>
</div>
<div class="col-md-5">
<div class="col-md-5 admin-right-column">
<div class="notifications-panel-container">{{{notificationsPanel}}}</div>
<iframe src="{{iframeUrl}}" style="width: 100%; height: 874px;" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
</div>
</div>

View File

@@ -2,7 +2,7 @@
<div class="panel panel-danger">
<div class="panel-body">
<div class="list-container">
<div class="list-group list">
<div class="list-group list list-expanded">
{{#each notificationList}}
<div data-id="{{id}}" class="list-group-item notificatin-item">
<div class="text-danger">{{{message}}}</div>

View File

@@ -33,13 +33,28 @@ Espo.define('views/admin/index', 'view', function (Dep) {
data: function () {
return {
links: this.links,
panelDataList: this.panelDataList,
iframeUrl: this.iframeUrl
};
},
setup: function () {
this.links = this.getMetadata().get('app.adminPanel');
this.panelDataList = [];
var panels = this.getMetadata().get('app.adminPanel') || {};
for (var name in panels) {
var item = Espo.Utils.clone(panels[name]);
item.name = name;
item.itemList = item.itemList || item.items || [];
this.panelDataList.push(item);
}
this.panelDataList.sort(function (v1, v2) {
if (!('order' in v1) && ('order' in v2)) return true;
if (!('order' in v2)) return false;
return v1.order > v2.order;
}.bind(this));
this.iframeUrl = this.getConfig().get('adminPanelIframeUrl') || 'https://s.espocrm.com/';
if (!this.getConfig().get('adminNotificationsDisabled')) {

View File

@@ -1432,12 +1432,32 @@ pre > code {
font-style: normal;
}
.table-admin-panel tr > td:first-child {
width: 200px;
}
.admin-tables-container > div {
margin-bottom: 20px;
.table-admin-panel {
margin-bottom: 0;
}
> h4 {
margin-top: 0;
}
}
@media screen and (min-width: @screen-sm-min) {
#global-search-panel {
margin-top: 5px;
}
}
@media screen and (min-width: @screen-md-min) {
.admin-content .admin-right-column {
padding-top: 28px;
}
}
@media screen and (max-width: @screen-sm-min) {
#notifications-panel {
position: fixed;