Merge pull request #714 from mabashian/list-view-and-delete-modal-fixes

List view styling tweaks based on UI/UX feedback
This commit is contained in:
Michael Abashian
2016-01-26 13:42:53 -05:00
26 changed files with 620 additions and 599 deletions

View File

@@ -2012,6 +2012,7 @@ button.dropdown-toggle,
.modal.fade .modal-dialog { .modal.fade .modal-dialog {
transform: translate(0, 0); transform: translate(0, 0);
margin: 100px auto;
} }
.modal-backdrop, .modal-backdrop.fade.in { .modal-backdrop, .modal-backdrop.fade.in {

View File

@@ -81,12 +81,11 @@ table, tbody {
.List-actionButton { .List-actionButton {
font-size: 16px; font-size: 16px;
height: 30px; height: 30px;
width: 30px; min-width: 30px;
color: @list-action-icon; color: @list-action-icon;
background-color: @list-actn-bg; background-color: @list-actn-bg;
border: none; border: none;
border-radius: 50%; border-radius: 50%;
transition: background-color 0.2s, border-color 0.2s;;
} }
.List-actionButton:hover { .List-actionButton:hover {
@@ -108,6 +107,12 @@ table, tbody {
color: @list-pagin-text; color: @list-pagin-text;
text-transform: uppercase; text-transform: uppercase;
height: 22px; height: 22px;
display: flex;
}
.List-paginationPagerHolder {
display: flex;
flex: 1 0 auto;
} }
.List-paginationPager { .List-paginationPager {
@@ -128,13 +133,18 @@ table, tbody {
background-color: @list-pagin-bg-act!important; background-color: @list-pagin-bg-act!important;
} }
.List-paginationItemsOf {
display: flex;
justify-content: flex-end;
}
.List-header { .List-header {
align-items: center;
display: flex; display: flex;
height: 34px; height: 34px;
} }
.List-title { .List-title {
align-items: center;
flex: 1 0 auto; flex: 1 0 auto;
display: flex; display: flex;
} }
@@ -163,7 +173,6 @@ table, tbody {
} }
.List-buttonSubmit { .List-buttonSubmit {
transition: background-color 0.2s;
background-color: @submit-button-bg; background-color: @submit-button-bg;
color: @submit-button-text; color: @submit-button-text;
} }
@@ -175,7 +184,6 @@ table, tbody {
} }
.List-buttonDefault { .List-buttonDefault {
transition: background-color 0.2s;
background-color: @btn-bg; background-color: @btn-bg;
color: @btn-txt; color: @btn-txt;
border-color: @btn-bord; border-color: @btn-bord;
@@ -235,6 +243,10 @@ table, tbody {
color: @list-srch-btn-icon; color: @list-srch-btn-icon;
} }
.List-searchNoResults {
color: @default-interface-txt;
}
.List-noItems { .List-noItems {
display: flex; display: flex;
align-items: center; align-items: center;

View File

@@ -566,7 +566,7 @@ export function CredentialsEdit($scope, $rootScope, $compile, $location, $log,
Prompt({ Prompt({
hdr: 'Delete', hdr: 'Delete',
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove ' + name + ' from ' + $scope.name + ' ' + title + '?</div>', body: '<div class="Prompt-bodyQuery">Are you sure you want to remove the ' + title + ' below from ' + $scope.name + '?</div><div class="Prompt-bodyTarget">' + name + '</div>',
action: action, action: action,
actionText: 'DELETE' actionText: 'DELETE'
}); });

View File

@@ -352,7 +352,7 @@ export function OrganizationsEdit($scope, $rootScope, $compile, $location, $log,
Prompt({ Prompt({
hdr: 'Delete', hdr: 'Delete',
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove ' + name + ' from ' + $scope.name + ' ' + title + '?</div>', body: '<div class="Prompt-bodyQuery">Are you sure you want to remove the ' + title + ' below from ' + $scope.name + '?</div><div class="Prompt-bodyTarget">' + name + '</div>',
action: action, action: action,
actionText: 'DELETE' actionText: 'DELETE'
}); });

View File

@@ -796,7 +796,7 @@ export function ProjectsEdit($scope, $rootScope, $compile, $location, $log,
Prompt({ Prompt({
hdr: 'Delete', hdr: 'Delete',
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove ' + name + ' from ' + $scope.name + ' ' + title + '?</div>', body: '<div class="Prompt-bodyQuery">Are you sure you want to remove the ' + title + ' below from ' + $scope.name + '?</div><div class="Prompt-bodyTarget">' + name + '</div>',
action: action, action: action,
actionText: 'DELETE' actionText: 'DELETE'
}); });

View File

@@ -429,7 +429,7 @@ export function TeamsEdit($scope, $rootScope, $compile, $location, $log,
Prompt({ Prompt({
hdr: 'Delete', hdr: 'Delete',
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove ' + name + ' from ' + $scope.name + ' ' + title + '?</div>', body: '<div class="Prompt-bodyQuery">Are you sure you want to remove the ' + title + ' below from ' + $scope.name + '?</div><div class="Prompt-bodyTarget">' + name + '</div>',
action: action, action: action,
actionText: 'DELETE' actionText: 'DELETE'
}); });

View File

@@ -484,7 +484,7 @@ export function UsersEdit($scope, $rootScope, $compile, $location, $log,
Prompt({ Prompt({
hdr: 'Delete', hdr: 'Delete',
body: '<div class="Prompt-bodyQuery">Are you sure you want to remove ' + name + ' from ' + $scope.username + ' ' + title + '?</div>', body: '<div class="Prompt-bodyQuery">Are you sure you want to remove the ' + title + ' below from ' + $scope.username + '?</div><div class="Prompt-bodyTarget">' + name + '</div>',
action: action, action: action,
actionText: 'DELETE' actionText: 'DELETE'
}); });

View File

@@ -127,6 +127,14 @@ export default
awToolTip: 'Schedule future job template runs', awToolTip: 'Schedule future job template runs',
dataPlacement: 'top', dataPlacement: 'top',
}, },
copy: {
label: 'Copy',
ngClick: "copyScanJobTemplate()",
"class": 'btn-danger btn-xs',
awToolTip: 'Copy template',
dataPlacement: 'top',
ngHide: 'job_template.summary_fields.can_copy === false'
},
edit: { edit: {
label: 'Edit', label: 'Edit',
ngClick: "editScanJob()", ngClick: "editScanJob()",
@@ -140,14 +148,6 @@ export default
icon: 'icon-trash', icon: 'icon-trash',
"class": 'btn-danger', "class": 'btn-danger',
awToolTip: 'Delete the scan job template' awToolTip: 'Delete the scan job template'
},
copy: {
label: 'Copy',
ngClick: "copyScanJobTemplate()",
"class": 'btn-danger btn-xs',
awToolTip: 'Copy template',
dataPlacement: 'top',
ngHide: 'job_template.summary_fields.can_copy === false'
} }
} }
} }

View File

@@ -87,7 +87,7 @@ export default
}, },
"delete": { "delete": {
label: 'Delete', label: 'Delete',
ngClick: "delete('users', user.id, user.username, 'users')", ngClick: "delete('users', user.id, user.username, 'user')",
icon: 'icon-trash', icon: 'icon-trash',
"class": 'btn-danger', "class": 'btn-danger',
awToolTip: 'Remove user' awToolTip: 'Remove user'
@@ -133,7 +133,7 @@ export default
}, },
"delete": { "delete": {
label: 'Delete', label: 'Delete',
ngClick: "delete('admins', admin.id, admin.username, 'administrators')", ngClick: "delete('admins', admin.id, admin.username, 'administrator')",
icon: 'icon-trash', icon: 'icon-trash',
"class": 'btn-danger', "class": 'btn-danger',
awToolTip: 'Remove administrator' awToolTip: 'Remove administrator'

View File

@@ -261,7 +261,7 @@ angular.module('ProjectFormDefinition', ['SchedulesListDefinition'])
}, },
"delete": { "delete": {
label: 'Delete', label: 'Delete',
ngClick: "delete('organizations', organization.id, organization.name, 'organizations')", ngClick: "delete('organizations', organization.id, organization.name, 'organization')",
icon: 'icon-trash', icon: 'icon-trash',
"class": 'btn-danger', "class": 'btn-danger',
awToolTip: 'Delete the organization' awToolTip: 'Delete the organization'

View File

@@ -95,7 +95,7 @@ export default
}, },
"delete": { "delete": {
label: 'Delete', label: 'Delete',
ngClick: "delete('credentials', credential.id, credential.name, 'credentials')", ngClick: "delete('credentials', credential.id, credential.name, 'credential')",
icon: 'icon-trash', icon: 'icon-trash',
"class": 'btn-danger', "class": 'btn-danger',
awToolTip: 'Remove the credential' awToolTip: 'Remove the credential'
@@ -157,7 +157,7 @@ export default
"delete": { "delete": {
label: 'Delete', label: 'Delete',
ngClick: "delete('permissions', permission.id, permission.name, 'permissions')", ngClick: "delete('permissions', permission.id, permission.name, 'permission')",
icon: 'icon-trash', icon: 'icon-trash',
"class": 'btn-danger', "class": 'btn-danger',
awToolTip: 'Delete the permission', awToolTip: 'Delete the permission',
@@ -203,7 +203,7 @@ export default
}, },
"delete": { "delete": {
label: 'Delete', label: 'Delete',
ngClick: "delete('projects', project.id, project.name, 'projects')", ngClick: "delete('projects', project.id, project.name, 'project')",
icon: 'icon-trash', icon: 'icon-trash',
"class": 'btn-danger', "class": 'btn-danger',
awToolTip: 'Remove the project' awToolTip: 'Remove the project'
@@ -251,7 +251,7 @@ export default
}, },
"delete": { "delete": {
label: 'Delete', label: 'Delete',
ngClick: "delete('users', user.id, user.username, 'users')", ngClick: "delete('users', user.id, user.username, 'user')",
icon: 'icon-terash', icon: 'icon-terash',
"class": 'btn-danger', "class": 'btn-danger',
awToolTip: 'Remove user' awToolTip: 'Remove user'

View File

@@ -150,7 +150,7 @@ export default
}, },
"delete": { "delete": {
label: 'Delete', label: 'Delete',
ngClick: "delete('credentials', credential.id, credential.name, 'credentials')", ngClick: "delete('credentials', credential.id, credential.name, 'credential')",
icon: 'icon-trash', icon: 'icon-trash',
"class": 'btn-danger', "class": 'btn-danger',
awToolTip: 'Delete the credential' awToolTip: 'Delete the credential'
@@ -212,7 +212,7 @@ export default
"delete": { "delete": {
label: 'Delete', label: 'Delete',
ngClick: "delete('permissions', permission.id, permission.name, 'permissions')", ngClick: "delete('permissions', permission.id, permission.name, 'permission')",
icon: 'icon-trash', icon: 'icon-trash',
"class": 'btn-danger', "class": 'btn-danger',
awToolTip: 'Delete the permission', awToolTip: 'Delete the permission',

File diff suppressed because it is too large Load Diff

View File

@@ -476,11 +476,11 @@ export default
if (job.status === 'pending' || job.status === 'running' || job.status === 'waiting') { if (job.status === 'pending' || job.status === 'running' || job.status === 'waiting') {
url = job.related.cancel; url = job.related.cancel;
action_label = 'cancel'; action_label = 'cancel';
hdr = 'Cancel Job'; hdr = 'Cancel';
} else { } else {
url = job.url; url = job.url;
action_label = 'delete'; action_label = 'delete';
hdr = 'Delete Job'; hdr = 'Delete';
} }
action = function () { action = function () {
@@ -537,11 +537,11 @@ export default
scope.removeCancelJob(); scope.removeCancelJob();
} }
scope.removeCancelJob = scope.$on('CancelJob', function() { scope.removeCancelJob = scope.$on('CancelJob', function() {
var body; var cancelBody = "<div class=\"Prompt-bodyQuery\">Submit the request to cancel?</div>";
body = (action_label === 'cancel' || job.status === 'new') ? "Submit the request to cancel" : "Delete"; var deleteBody = "<div class=\"Prompt-bodyQuery\">Are you sure you want to delete the job below?</div><div class=\"Prompt-bodyTarget\">#" + id + " " + job.name + "</div>";
Prompt({ Prompt({
hdr: hdr, hdr: hdr,
body: "<div class=\"Prompt-bodyQuery\">" + body + " job #" + id + " " + job.name + "?</div>", body: (action_label === 'cancel' || job.status === 'new') ? cancelBody : deleteBody,
action: action, action: action,
actionText: (action_label === 'cancel' || job.status === 'new') ? "YES" : "DELETE" actionText: (action_label === 'cancel' || job.status === 'new') ? "YES" : "DELETE"
}); });

View File

@@ -27,7 +27,7 @@ export default
}, },
status: { status: {
label: 'Status', label: 'Status',
columnClass: 'col-lg-2 col-md-2 col-sm-2 col-xs-2', columnClass: 'col-lg-2 col-md-2 col-sm-2 col-xs-3',
awToolTip: "{{ all_job.status_tip }}", awToolTip: "{{ all_job.status_tip }}",
awTipPlacement: "top", awTipPlacement: "top",
dataTitle: "{{ all_job.status_popover_title }}", dataTitle: "{{ all_job.status_popover_title }}",
@@ -50,7 +50,7 @@ export default
noLink: true, noLink: true,
searchable: false, searchable: false,
filter: "longDate", filter: "longDate",
columnClass: "col-lg-2 col-md-2 hidden-xs", columnClass: "col-lg-2 col-md-2 col-sm-2 hidden-xs",
key: true, key: true,
desc: true desc: true
}, },
@@ -66,7 +66,7 @@ export default
}, },
name: { name: {
label: 'Name', label: 'Name',
columnClass: 'col-md-3 col-sm-4 col-xs-4', columnClass: 'col-lg-3 col-md-3 col-sm-3 col-xs-3',
ngClick: "viewJobLog(all_job.id, all_job.nameHref)", ngClick: "viewJobLog(all_job.id, all_job.nameHref)",
defaultSearchField: true, defaultSearchField: true,
awToolTip: "{{ all_job.name | sanitize }}", awToolTip: "{{ all_job.name | sanitize }}",
@@ -86,8 +86,15 @@ export default
fieldActions: { fieldActions: {
columnClass: 'col-lg-2 col-md-3 col-sm-4 col-xs-4', columnClass: 'col-lg-2 col-md-2 col-sm-3 col-xs-4',
stdout: {
mode: 'all',
href: '/#/jobs/{{ all_job.id }}/stdout',
awToolTip: 'View standard output',
dataPlacement: 'top',
ngShow: "all_job.type == 'job'"
},
submit: { submit: {
icon: 'icon-rocket', icon: 'icon-rocket',
mode: 'all', mode: 'all',
@@ -109,13 +116,6 @@ export default
awToolTip: 'Delete the job', awToolTip: 'Delete the job',
dataPlacement: 'top', dataPlacement: 'top',
ngShow: "all_job.status !== 'running' && all_job.status !== 'waiting' && all_job.status !== 'pending'" ngShow: "all_job.status !== 'running' && all_job.status !== 'waiting' && all_job.status !== 'pending'"
},
stdout: {
mode: 'all',
href: '/#/jobs/{{ all_job.id }}/stdout',
awToolTip: 'View standard output',
dataPlacement: 'top',
ngShow: "all_job.type == 'job'"
} }
} }
}); });

View File

@@ -3,7 +3,7 @@
* *
* All Rights Reserved * All Rights Reserved
*************************************************/ *************************************************/
@@ -86,6 +86,13 @@ export default
actions: { }, actions: { },
fieldActions: { fieldActions: {
stdout: {
mode: 'all',
href: '/#/jobs/{{ completed_job.id }}/stdout',
awToolTip: 'View standard output',
dataPlacement: 'top',
ngShow: "completed_job.type == 'job'"
},
submit: { submit: {
icon: 'icon-rocket', icon: 'icon-rocket',
mode: 'all', mode: 'all',
@@ -99,19 +106,12 @@ export default
ngClick: 'deleteJob(completed_job.id)', ngClick: 'deleteJob(completed_job.id)',
awToolTip: 'Delete the job', awToolTip: 'Delete the job',
dataPlacement: 'top' dataPlacement: 'top'
}, }
// job_details: { // job_details: {
// mode: 'all', // mode: 'all',
// ngClick: "viewJobLog(completed_job.id)", // ngClick: "viewJobLog(completed_job.id)",
// awToolTip: 'View job details', // awToolTip: 'View job details',
// dataPlacement: 'top' // dataPlacement: 'top'
// }, // }
stdout: {
mode: 'all',
href: '/#/jobs/{{ completed_job.id }}/stdout',
awToolTip: 'View standard output',
dataPlacement: 'top',
ngShow: "completed_job.type == 'job'"
}
} }
}); });

View File

@@ -154,13 +154,6 @@ export default
"|| group.status == 'updating'", "|| group.status == 'updating'",
dataPlacement: "top" dataPlacement: "top"
}, },
edit: {
//label: 'Edit',
mode: 'all',
ngClick: "editGroup(group.id)",
awToolTip: 'Edit group',
dataPlacement: "top"
},
copy: { copy: {
mode: 'all', mode: 'all',
ngClick: "copyGroup(group.id)", ngClick: "copyGroup(group.id)",
@@ -168,6 +161,13 @@ export default
ngShow: "group.id > 0", ngShow: "group.id > 0",
dataPlacement: "top" dataPlacement: "top"
}, },
edit: {
//label: 'Edit',
mode: 'all',
ngClick: "editGroup(group.id)",
awToolTip: 'Edit group',
dataPlacement: "top"
},
"delete": { "delete": {
//label: 'Delete', //label: 'Delete',
mode: 'all', mode: 'all',

View File

@@ -60,6 +60,12 @@ export default
iconClass: "{{ 'fa icon-job-' + host.active_failures }}", iconClass: "{{ 'fa icon-job-' + host.active_failures }}",
id: 'active-failutes-action' id: 'active-failutes-action'
}, },
copy: {
mode: 'all',
ngClick: "copyHost(host.id)",
awToolTip: 'Copy or move host to another group',
dataPlacement: "top"
},
edit: { edit: {
//label: 'Edit', //label: 'Edit',
ngClick: "editHost(host.id)", ngClick: "editHost(host.id)",
@@ -67,12 +73,6 @@ export default
awToolTip: 'Edit host', awToolTip: 'Edit host',
dataPlacement: 'top' dataPlacement: 'top'
}, },
copy: {
mode: 'all',
ngClick: "copyHost(host.id)",
awToolTip: 'Copy or move host to another group',
dataPlacement: "top"
},
"delete": { "delete": {
//label: 'Delete', //label: 'Delete',
ngClick: "deleteHost(host.id, host.name)", ngClick: "deleteHost(host.id, host.name)",

View File

@@ -69,6 +69,14 @@ export default
awToolTip: 'Schedule future job template runs', awToolTip: 'Schedule future job template runs',
dataPlacement: 'top', dataPlacement: 'top',
}, },
copy: {
label: 'Copy',
ngClick: "copyJobTemplate(job_template.id, job_template.name)",
"class": 'btn-danger btn-xs',
awToolTip: 'Copy template',
dataPlacement: 'top',
ngHide: 'job_template.summary_fields.can_copy===false'
},
edit: { edit: {
label: 'Edit', label: 'Edit',
ngClick: "editJobTemplate(job_template.id)", ngClick: "editJobTemplate(job_template.id)",
@@ -82,14 +90,6 @@ export default
"class": 'btn-danger btn-xs', "class": 'btn-danger btn-xs',
awToolTip: 'Delete template', awToolTip: 'Delete template',
dataPlacement: 'top', dataPlacement: 'top',
},
copy: {
label: 'Copy',
ngClick: "copyJobTemplate(job_template.id, job_template.name)",
"class": 'btn-danger btn-xs',
awToolTip: 'Copy template',
dataPlacement: 'top',
ngHide: 'job_template.summary_fields.can_copy===false'
} }
} }
}); });

View File

@@ -3,7 +3,7 @@
* *
* All Rights Reserved * All Rights Reserved
*************************************************/ *************************************************/
export default export default
angular.module('JobsListDefinition', []) angular.module('JobsListDefinition', [])
@@ -74,6 +74,13 @@ export default
actions: { }, actions: { },
fieldActions: { fieldActions: {
stdout: {
mode: 'all',
href: '/#/jobs/{{ job.id }}/stdout',
awToolTip: 'View standard output',
dataPlacement: 'top',
ngShow: "job.type == 'job'"
},
submit: { submit: {
mode: 'all', mode: 'all',
icon: 'icon-rocket', icon: 'icon-rocket',
@@ -95,13 +102,6 @@ export default
awToolTip: 'Delete the job', awToolTip: 'Delete the job',
dataPlacement: 'top', dataPlacement: 'top',
ngShow: "job.status != 'running'" ngShow: "job.status != 'running'"
},
stdout: {
mode: 'all',
href: '/#/jobs/{{ job.id }}/stdout',
awToolTip: 'View standard output',
dataPlacement: 'top',
ngShow: "job.type == 'job'"
} }
} }
}); });

View File

@@ -56,6 +56,15 @@ export default
awToolTip: 'Schedule future job template runs', awToolTip: 'Schedule future job template runs',
dataPlacement: 'top', dataPlacement: 'top',
}, },
copy: {
label: 'Copy',
ngClick: "copyJobTemplate(job_template.id, job_template.name)",
"class": 'btn-danger btn-xs',
awToolTip: 'Copy template',
dataPlacement: 'top',
ngHide: 'job_template.summary_fields.can_copy===false'
},
edit: { edit: {
label: 'Edit', label: 'Edit',
ngClick: "editJobTemplate(job_template.id)", ngClick: "editJobTemplate(job_template.id)",
@@ -69,15 +78,6 @@ export default
"class": 'btn-danger btn-xs', "class": 'btn-danger btn-xs',
awToolTip: 'Delete template', awToolTip: 'Delete template',
dataPlacement: 'top', dataPlacement: 'top',
},
copy: {
label: 'Copy',
ngClick: "copyJobTemplate(job_template.id, job_template.name)",
"class": 'btn-danger btn-xs',
awToolTip: 'Copy template',
dataPlacement: 'top',
ngHide: 'job_template.summary_fields.can_copy===false'
} }
} }
}); });

View File

@@ -3,7 +3,7 @@
* *
* All Rights Reserved * All Rights Reserved
*************************************************/ *************************************************/
export default export default
angular.module('ScheduledJobsDefinition', ['sanitizeFilter']) angular.module('ScheduledJobsDefinition', ['sanitizeFilter'])
@@ -32,7 +32,7 @@ export default
label: 'Next Run', label: 'Next Run',
noLink: true, noLink: true,
searchable: false, searchable: false,
columnClass: "col-lg-2 col-md-2 hidden-xs", columnClass: "col-lg-3 col-md-2 col-sm-3 hidden-xs",
filter: "longDate", filter: "longDate",
key: true key: true
}, },
@@ -55,7 +55,7 @@ export default
}, },
name: { name: {
label: 'Name', label: 'Name',
columnClass: 'col-md-3 col-sm-4 col-xs-4', columnClass: 'col-lg-3 col-md-3 col-sm-3 col-xs-5',
sourceModel: 'unified_job_template', sourceModel: 'unified_job_template',
sourceField: 'name', sourceField: 'name',
ngClick: "editSchedule(schedule.id)", ngClick: "editSchedule(schedule.id)",
@@ -68,6 +68,9 @@ export default
actions: { }, actions: { },
fieldActions: { fieldActions: {
columnClass: 'col-lg-3 col-md-3 col-sm-3 col-xs-5',
"play": { "play": {
mode: "all", mode: "all",
ngClick: "toggleSchedule($event, schedule.id)", ngClick: "toggleSchedule($event, schedule.id)",

View File

@@ -1675,7 +1675,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
// Message for when a search returns no results. This should only get shown after a search is executed with no results. // Message for when a search returns no results. This should only get shown after a search is executed with no results.
html += "<div class=\"row\" ng-show=\"" + collection.iterator + "Loading == false && " + collection.iterator + "_active_search == true && " + itm + ".length == 0\">\n"; html += "<div class=\"row\" ng-show=\"" + collection.iterator + "Loading == false && " + collection.iterator + "_active_search == true && " + itm + ".length == 0\">\n";
html += "<div class=\"col-lg-12\">No records matched your search.</div>\n"; html += "<div class=\"col-lg-12 List-searchNoResults\">No records matched your search.</div>\n";
html += "</div>\n"; html += "</div>\n";
// Show the "no items" box when loading is done and the user isn't actively searching and there are no results // Show the "no items" box when loading is done and the user isn't actively searching and there are no results

View File

@@ -705,8 +705,8 @@ angular.module('GeneratorHelpers', [systemStatus.name])
set = params.set, set = params.set,
html = ''; html = '';
html += "<!-- Paginate Widget -->\n"; html += "<!-- Paginate Widget -->\n";
html += "<div id=\"" + iterator + "-pagination\" class=\"List-pagination row page-row\">\n"; html += "<div id=\"" + iterator + "-pagination\" class=\"List-pagination page-row\">\n";
html += "<div class=\"col-lg-8 col-md-8\">\n"; html += "<div class=\"List-paginationPagerHolder\">";
html += "<div class=\"List-paginationPager\" ng-hide=\"" + iterator + "HidePaginator || " + iterator + "_num_pages <= 1\">"; html += "<div class=\"List-paginationPager\" ng-hide=\"" + iterator + "HidePaginator || " + iterator + "_num_pages <= 1\">";
html += "<ul id=\"pagination-links\" class=\"pagination\">\n"; html += "<ul id=\"pagination-links\" class=\"pagination\">\n";
html += "<li class=\"List-paginationPager--item\" ng-hide=\"" + iterator + "_page -5 <= 1 \"><a href id=\"first-page-set\" ng-click=\"getPage(1,'" + set + "','" + iterator + "')\">" + html += "<li class=\"List-paginationPager--item\" ng-hide=\"" + iterator + "_page -5 <= 1 \"><a href id=\"first-page-set\" ng-click=\"getPage(1,'" + set + "','" + iterator + "')\">" +
@@ -729,8 +729,7 @@ angular.module('GeneratorHelpers', [systemStatus.name])
html += "</ul>\n"; html += "</ul>\n";
html += "<span class=\"List-paginationPager--pageof\">Page <span id=\"current-page\">{{ " + iterator + "_page }}</span> of <span id=\"total-pages\">{{ " + iterator + "_num_pages }}</span></span>"; html += "<span class=\"List-paginationPager--pageof\">Page <span id=\"current-page\">{{ " + iterator + "_page }}</span> of <span id=\"total-pages\">{{ " + iterator + "_num_pages }}</span></span>";
html += "</div>"; html += "</div>";
html += "</div>\n"; html += "</div>";
html += "<div class=\"col-lg-4 col-md-4\" ng-hide=\"" + iterator + "_mode == 'lookup'\">\n";
html += "<div id=\"pagination-labels\" class=\"page-label\" ng-hide=\"(" + iterator + "_total_rows | number:0) < 1\">\n"; html += "<div id=\"pagination-labels\" class=\"page-label\" ng-hide=\"(" + iterator + "_total_rows | number:0) < 1\">\n";
html += "<span id=\"total-items\">ITEMS&nbsp;"; html += "<span id=\"total-items\">ITEMS&nbsp;";
html += "<span>{{ (" + iterator + "_total_rows | number:0) < 1 ? 0 : (" + iterator + "_page-1)*" + iterator + "_page_size+1}}</span>"; html += "<span>{{ (" + iterator + "_total_rows | number:0) < 1 ? 0 : (" + iterator + "_page-1)*" + iterator + "_page_size+1}}</span>";
@@ -740,7 +739,6 @@ angular.module('GeneratorHelpers', [systemStatus.name])
html += "</span>"; html += "</span>";
html += "</div>\n"; html += "</div>\n";
html += "</div>\n"; html += "</div>\n";
html += "</div>\n";
return html; return html;
}; };

View File

@@ -382,7 +382,7 @@ export default ['$location', '$compile', '$rootScope', 'SearchWidget', 'Paginate
// Message for when a search returns no results. This should only get shown after a search is executed with no results. // Message for when a search returns no results. This should only get shown after a search is executed with no results.
html += "<div class=\"row\" ng-show=\"" + list.iterator + "Loading == false && " + list.iterator + "_active_search == true && " + list.name + ".length == 0\">\n"; html += "<div class=\"row\" ng-show=\"" + list.iterator + "Loading == false && " + list.iterator + "_active_search == true && " + list.name + ".length == 0\">\n";
html += "<div class=\"col-lg-12\">No records matched your search.</div>\n"; html += "<div class=\"col-lg-12 List-searchNoResults\">No records matched your search.</div>\n";
html += "</div>\n"; html += "</div>\n";
} }

View File

@@ -5,11 +5,15 @@
flex-wrap:wrap; flex-wrap:wrap;
flex-direction: row; flex-direction: row;
padding: 15px 20px; padding: 15px 20px;
-webkit-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.25);
-moz-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.25);
box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.25);
} }
.Prompt-header { .Prompt-header {
display: flex; display: flex;
width: 100%; width: 100%;
margin-bottom: 25px;
} }
.Prompt-title { .Prompt-title {
@@ -33,13 +37,12 @@
height:20px; height:20px;
font-size: 20px; font-size: 20px;
background-color:@default-bg; background-color:@default-bg;
color:@default-second-border; color:@default-icon;
transition: color 0.2s;
line-height:1; line-height:1;
} }
.Prompt-exit:hover{ .Prompt-exit:hover{
color:@default-icon; color:@default-icon-hov;
} }
.Prompt-body { .Prompt-body {
@@ -47,7 +50,7 @@
} }
.Prompt-bodyQuery { .Prompt-bodyQuery {
padding: 15px 0px; margin-bottom: 20px;
color: @default-interface-txt; color: @default-interface-txt;
} }
@@ -58,7 +61,7 @@
.Prompt-footer { .Prompt-footer {
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
padding-top: 20px; margin-top: 20px;
width: 100%; width: 100%;
} }
@@ -93,6 +96,10 @@
color: @btn-txt-sel; color: @btn-txt-sel;
} }
.Prompt-footerButton {
padding: 4px 8px;
}
.Prompt-footerButton + .Prompt-footerButton { .Prompt-footerButton + .Prompt-footerButton {
margin-left: 20px; margin-left: 20px;
} }