* first cut * Code refactoring, styling * Added Sorting * Revert query_report to use slickgrid * cleanup * Edit cell working * Add regrid, remove datatable * Add clusterize * Update lib, fix get_checked_items * New ReportView * wip * Enable editing, fix styles * update lib * wip * fix refresh rows and editable cells * Refresh list_view every 3s, decouple refreshing logic * Report editing fixes * Cleanup loading fields, add column then refresh list * [wip] New List View * [working] Render results * ListView is now BaseList, add new ListView and GanttView * Create new page for each ListView * GanttView working * CalendarView working * KanbanView working * Cache list_view based on page_name * Gantt view buttons on mobile * Add ReportView * Refresh datatable on render * Setup like * [start][filters] clean up FilterList * [filters] refactor FilterList * [filters] minor fix * [filters] fix remove filter * filter utils * more utils, remove apply * rewrite as class, remove 'me' references * [filter] implement on_change to decouple parent functions * Integrate new filters with new BaseList * Setup freeze area for ListView * Set breadcrumbs on setup_page * Trigger list update from events * Setup footnote area * Fix Kanban Board filters * Add filters to standard filters, then filter_list * Remove old files * Fix ImageView * Some more fixes for BaseList.init * Fix order_by on load * Report View: remember columns * Fix for hidden filters * Fix for delete items * InboxView * Shift select checkboxes * Fix ESLint errors * More refactoring - Move ListMenu to Listview - New FileView - Ability to add custom breadcrumbs * FileManager working * Tags, set filters from route options * Custom Reports Working * List Sidebar reports * Report Name as title * Fix ESLint errors * Fix UI tests * Fix Kanban test * Format ID column * [fix] Kanban cards title * Checkbox fix * Fix Activity Page * Update rows in Report in place * Child Table columns in Report View
269 lines
3.6 KiB
Text
269 lines
3.6 KiB
Text
@import "variables.less";
|
|
@import "mixins.less";
|
|
|
|
body {
|
|
font-family: @font-stack;
|
|
}
|
|
|
|
a {
|
|
cursor: pointer;
|
|
}
|
|
|
|
a, a:hover, a:active, a:focus,
|
|
.btn, .btn:hover, .btn:active, .btn:focus {
|
|
outline: 0;
|
|
}
|
|
|
|
img {
|
|
max-width: 100%;
|
|
}
|
|
|
|
p {
|
|
margin: 10px 0px;
|
|
}
|
|
|
|
.text-color {
|
|
color: @text-color !important;
|
|
}
|
|
|
|
.text-muted {
|
|
color: @text-muted !important;
|
|
}
|
|
|
|
.text-extra-muted {
|
|
color: @border-color !important;
|
|
}
|
|
|
|
// transition
|
|
a,
|
|
.badge {
|
|
.transition(.2s);
|
|
}
|
|
|
|
.btn {
|
|
.transition(background-color .2s);
|
|
}
|
|
|
|
a.disabled, a.disabled:hover {
|
|
color: #888;
|
|
cursor: default;
|
|
text-decoration: none;
|
|
}
|
|
|
|
a.grey, .sidebar-section a, .control-value a, .data-row a {
|
|
text-decoration: none;
|
|
}
|
|
|
|
a.grey:hover, .sidebar-section a:hover, .control-value a:hover, .data-row a:hover,
|
|
a.grey:focus, .sidebar-section a:focus, .control-value a:focus, .data-row a:focus {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
a.text-muted, a.text-extra-muted {
|
|
text-decoration: none;
|
|
}
|
|
|
|
.underline {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.inline-block {
|
|
display: inline-block;
|
|
}
|
|
|
|
.bold,
|
|
.strong {
|
|
font-weight: bold;
|
|
}
|
|
|
|
kbd {
|
|
color: inherit;
|
|
background-color: @btn-bg;
|
|
}
|
|
|
|
.btn [class^="fa fa-"], .nav [class^="fa fa-"], .btn [class*="fa fa-"], .nav [class*="fa fa-"] {
|
|
display: inline-block;
|
|
}
|
|
|
|
// dropdowns
|
|
.dropdown-menu > li > a {
|
|
padding: 14px;
|
|
white-space: normal;
|
|
}
|
|
|
|
.dropdown-menu {
|
|
min-width: 200px;
|
|
padding: 0px;
|
|
font-size: @text-medium;
|
|
max-height: 400px;
|
|
overflow: auto;
|
|
|
|
// only rounded bottoms
|
|
border-radius: 0px 0px 4px 4px;
|
|
|
|
}
|
|
|
|
.dropdown-menu .dropdown-header {
|
|
padding: 3px 14px;
|
|
font-size: 11px;
|
|
font-weight: 200;
|
|
padding-top: 12px;
|
|
}
|
|
|
|
.dropdown-menu .divider {
|
|
margin: 0px;
|
|
}
|
|
|
|
a.badge-hover& {
|
|
&:hover .badge,
|
|
&:focus .badge,
|
|
&:active .badge {
|
|
background-color: #D8DFE5;
|
|
}
|
|
}
|
|
|
|
.msgprint {
|
|
// margin: 15px 0px;
|
|
// text-align: center;
|
|
word-wrap: break-word;
|
|
|
|
pre {
|
|
text-align: left;
|
|
}
|
|
}
|
|
|
|
.centered {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
-webkit-transform: translate(-50%, -50%);
|
|
}
|
|
|
|
.border-(@position) {
|
|
.border-@{position} {
|
|
border-@{position}: 1px solid @border-color;
|
|
}
|
|
}
|
|
|
|
.border-(top);
|
|
.border-(bottom);
|
|
.border-(left);
|
|
.border-(right);
|
|
|
|
.border {
|
|
border: 1px solid @border-color;
|
|
}
|
|
|
|
.close-inline {
|
|
font-size: 120%;
|
|
font-weight: bold;
|
|
line-height: 1;
|
|
cursor: pointer;
|
|
color: inherit;
|
|
display: inline-block;
|
|
}
|
|
.close-inline:hover,
|
|
.close-inline:focus {
|
|
text-decoration: none;
|
|
}
|
|
|
|
.middle {
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.full-center-container {
|
|
position: absolute;
|
|
top: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
}
|
|
|
|
.full-center {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
width: 100%;
|
|
transform: translate(-50%, -50%);
|
|
-webkit-transform: translate(-50%, -50%);
|
|
}
|
|
|
|
#freeze {
|
|
z-index: 1020;
|
|
bottom: 0px;
|
|
opacity: 0;
|
|
background-color: @light-bg;
|
|
|
|
.freeze-message-container {
|
|
.full-center-container;
|
|
}
|
|
|
|
.freeze-message {
|
|
.full-center;
|
|
text-align: center;
|
|
// color: #fff !important;
|
|
color: @text-color !important;
|
|
}
|
|
}
|
|
|
|
#freeze.dark {
|
|
// same as modal backdrop;
|
|
background-color: #334143;
|
|
}
|
|
|
|
#freeze.in {
|
|
opacity: 0.5;
|
|
}
|
|
|
|
a.no-decoration& {
|
|
text-decoration: none;
|
|
color: inherit;
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&:active {
|
|
text-decoration: none;
|
|
color: inherit;
|
|
|
|
}
|
|
}
|
|
|
|
.padding {
|
|
padding: 15px;
|
|
}
|
|
|
|
.margin {
|
|
margin: 15px;
|
|
}
|
|
|
|
.margin-(@position) {
|
|
.margin-@{position} {
|
|
margin-@{position}: 15px;
|
|
}
|
|
}
|
|
|
|
.margin-(top);
|
|
.margin-(bottom);
|
|
.margin-(left);
|
|
.margin-(right);
|
|
|
|
@media (max-width: 767px) {
|
|
.text-center-xs {
|
|
text-align: center;
|
|
}
|
|
}
|
|
|
|
.grayscale {
|
|
-webkit-filter: grayscale(100%);
|
|
filter: grayscale(100%);
|
|
}
|
|
|
|
.uppercase {
|
|
.text-uppercase();
|
|
}
|
|
|
|
.ellipsis {
|
|
.text-ellipsis();
|
|
}
|
|
|