Compare commits

...

20 Commits

Author SHA1 Message Date
mrliptontea
9418139adb Release v2.8.0 2019-08-13 22:09:07 +01:00
mrliptontea
ca3ead0abf Update README 2019-08-13 22:07:47 +01:00
Grzegorz Rajchman
7745e4b617 Merge pull request #136 from two-pack/fixes_pos_pagination
Invalid position of pagination with large image attachment
2019-08-13 22:05:03 +01:00
two-pack
1207548232 Fixes lint errors. 2019-08-13 09:30:52 +09:00
two-pack
9f451017c5 Fixes position of pagination with large image attachment. 2019-08-13 09:03:50 +09:00
mrliptontea
a28d215f31 Update package-lock.json
Also, delete accidentally commited yarn.lock
2019-08-11 19:50:13 +01:00
mrliptontea
22ec5e09f5 Ignore no-prototype-builtins rule where not applicable 2019-08-10 18:29:41 +01:00
mrliptontea
9371b797b3 Update browserlist config 2019-08-06 23:16:29 +01:00
mrliptontea
924a5a94ed Update dependencies 2019-08-06 23:11:03 +01:00
mrliptontea
53fffa3b5c Update build badge 2019-08-06 23:08:43 +01:00
mrliptontea
42e5ce1217 Fix spacing for headers on roadmap pages
Resolves #132
2019-08-06 23:08:04 +01:00
mrliptontea
fc5b48aabe Release v2.7.0 2019-06-13 20:51:48 +01:00
Grzegorz Rajchman
5e04839cfd Merge pull request #126 from mrliptontea/issue-124/support-issue-id-plugin
Support issue-id plugin
2019-06-13 20:41:51 +01:00
mrliptontea
ad138b9331 Support issue-id plugin
Resolves #124
http://projects.andriylesyuk.com/project/redmine/issue-id
2019-06-13 20:36:12 +01:00
mrliptontea
6a78cb45c1 Release v2.6.0 2019-06-13 00:04:08 +01:00
Grzegorz Rajchman
b14206a585 Merge pull request #122 from mrliptontea/issue-121/support-redmine_wiki_page_tree-plugin
Add support for redmine_wiki_page_tree plugin
2019-06-13 00:03:40 +01:00
mrliptontea
a1d18834d3 Add support for redmine_wiki_page_tree plugin
Resolves #121
2019-06-13 00:01:01 +01:00
mrliptontea
df3e0fb696 Release v2.5.0 2019-06-05 20:54:41 +01:00
Grzegorz Rajchman
d17f4d2542 Merge pull request #119 from mrliptontea/issues/117-118-responsive-layout-fixes
Improvements for responsive layout
2019-06-05 20:52:47 +01:00
mrliptontea
51ba1deb36 Improvements for responsive layout 2019-06-05 20:49:27 +01:00
26 changed files with 1369 additions and 1243 deletions

View File

@@ -38,7 +38,7 @@ module.exports = function (grunt) {
postcss: {
options: {
processors: [
require('autoprefixer')({ browsers: 'last 2 versions' })
require('autoprefixer')()
]
},

View File

@@ -2,7 +2,7 @@
A free Redmine theme for modern browsers.
![The MIT License](https://img.shields.io/badge/license-MIT-584492.svg) [![Build Status](https://travis-ci.org/mrliptontea/PurpleMine2.svg?branch=master)](https://travis-ci.org/mrliptontea/PurpleMine2) [![Issues](https://img.shields.io/github/issues/mrliptontea/PurpleMine2.svg)](https://github.com/mrliptontea/PurpleMine2/issues) [![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
![The MIT License](https://img.shields.io/badge/license-MIT-584492.svg) [![Build Status](https://travis-ci.com/mrliptontea/PurpleMine2.svg?branch=master)](https://travis-ci.com/mrliptontea/PurpleMine2) [![Issues](https://img.shields.io/github/issues/mrliptontea/PurpleMine2.svg)](https://github.com/mrliptontea/PurpleMine2/issues) [![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
---
@@ -56,6 +56,23 @@ If you need to customize styles for [Redmine Backlogs][redmine_backlogs] remembe
## Changelog
v2.8.0 (2019-08-13):
* Resolved #132: fixed spacing for headers on roadmap pages.
* Merged fix #136: broken layout with large image attachment
v2.7.0 (2019-06-13):
* Resolved #124: added support for [issue-id](http://projects.andriylesyuk.com/projects/issue-id/) plugin.
v2.6.0 (2019-06-13):
* Resolved #121: added support for [redmine_wiki_page_tree](https://github.com/ledsun/redmine_wiki_page_tree) plugin.
v2.5.0 (2019-06-05):
* Fixed #117, #118 and added many improvements to the responsive layout.
v2.4.0 (2019-06-02):
* Synchronized most application styles with Redmine's default theme.

File diff suppressed because one or more lines are too long

2225
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -25,20 +25,20 @@
"lint": "npm run -S lint:js && npm run -S lint:sass"
},
"dependencies": {
"autoprefixer": "^9.4.10",
"grunt": "^1.0.3",
"grunt-contrib-uglify": "^4.0.0",
"autoprefixer": "^9.6.1",
"grunt": "^1.0.4",
"grunt-contrib-uglify": "^4.0.1",
"grunt-contrib-watch": "^1.1.0",
"grunt-postcss": "^0.9.0",
"grunt-sass": "^3.0.2",
"node-sass": "^4.11.0",
"node-sass": "^4.12.0",
"sass-inline-svg": "^1.2.0"
},
"devDependencies": {
"standard": "^12.0.1",
"stylelint": "^10.0.1",
"stylelint-order": "^3.0.0",
"stylelint-scss": "^3.6.1"
"standard": "^13.1.0",
"stylelint": "^10.1.0",
"stylelint-order": "^3.0.1",
"stylelint-scss": "^3.9.3"
},
"standard": {
"globals": [
@@ -48,5 +48,10 @@
"ignore": [
"/javascripts"
]
}
},
"browserslist": [
"last 2 versions",
"> 1%",
"not dead"
]
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
.ui-multiselect{padding:2px 0 2px 4px;text-align:left}.ui-multiselect span.ui-icon{float:right}.ui-multiselect-single .ui-multiselect-checkboxes input{position:absolute !important;top:auto !important;left:-9999px}.ui-multiselect-single .ui-multiselect-checkboxes label{padding:5px !important}.ui-multiselect-header{margin-bottom:3px;padding:3px}.ui-multiselect-header ul{font-size:.92em}.ui-multiselect-header ul li{padding:0 10px 0 0;float:left}.ui-multiselect-header a{text-decoration:none}.ui-multiselect-header a:hover{text-decoration:underline}.ui-multiselect-header span.ui-icon{float:left}.ui-multiselect-header li.ui-multiselect-close{padding-right:0;float:right;text-align:right}.ui-multiselect-menu{-webkit-box-shadow:0 5px 8px -2px rgba(0,0,0,0.25),0 1px 2px rgba(0,0,0,0.3);box-shadow:0 5px 8px -2px rgba(0,0,0,0.25),0 1px 2px rgba(0,0,0,0.3);display:none;position:absolute;z-index:10000;padding:3px;text-align:left}.ui-multiselect-checkboxes{position:relative;padding-right:2px;overflow-y:scroll}.ui-multiselect-checkboxes input[type="checkbox"]{top:0;margin:3px 0 0 -20px;float:left}.ui-multiselect-checkboxes label{display:block;padding:3px 1px;padding-left:26px;border:1px solid transparent;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-multiselect-checkboxes label input{position:relative;top:1px}.ui-multiselect-checkboxes li{clear:both;font-size:.92em}.ui-multiselect-checkboxes li.ui-multiselect-optgroup-label{margin-bottom:2px;border-bottom:1px solid #dadce7;font-weight:600;text-align:center}.ui-multiselect-checkboxes li.ui-multiselect-optgroup-label a{display:block;margin:1px 0;padding:3px;text-decoration:none}* html .ui-multiselect-checkboxes label{border:0 none}
.ui-multiselect{padding:2px 0 2px 4px;text-align:left}.ui-multiselect span.ui-icon{float:right}.ui-multiselect-single .ui-multiselect-checkboxes input{position:absolute !important;top:auto !important;left:-9999px}.ui-multiselect-single .ui-multiselect-checkboxes label{padding:5px !important}.ui-multiselect-header{margin-bottom:3px;padding:3px}.ui-multiselect-header ul{font-size:.92em}.ui-multiselect-header ul li{padding:0 10px 0 0;float:left}.ui-multiselect-header a{text-decoration:none}.ui-multiselect-header a:hover{text-decoration:underline}.ui-multiselect-header span.ui-icon{float:left}.ui-multiselect-header li.ui-multiselect-close{padding-right:0;float:right;text-align:right}.ui-multiselect-menu{box-shadow:0 5px 8px -2px rgba(0,0,0,0.25),0 1px 2px rgba(0,0,0,0.3);display:none;position:absolute;z-index:10000;padding:3px;text-align:left}.ui-multiselect-checkboxes{position:relative;padding-right:2px;overflow-y:scroll}.ui-multiselect-checkboxes input[type="checkbox"]{top:0;margin:3px 0 0 -20px;float:left}.ui-multiselect-checkboxes label{display:block;padding:3px 1px;padding-left:26px;border:1px solid transparent;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-multiselect-checkboxes label input{position:relative;top:1px}.ui-multiselect-checkboxes li{clear:both;font-size:.92em}.ui-multiselect-checkboxes li.ui-multiselect-optgroup-label{margin-bottom:2px;border-bottom:1px solid #dadce7;font-weight:600;text-align:center}.ui-multiselect-checkboxes li.ui-multiselect-optgroup-label a{display:block;margin:1px 0;padding:3px;text-decoration:none}* html .ui-multiselect-checkboxes label{border:0 none}

View File

@@ -1 +1 @@
.qtip{position:absolute;top:-31000px;left:-31000px;width:auto;max-width:500px;outline:none}.ui-tooltip-content{-webkit-box-shadow:0 5px 8px -2px rgba(0,0,0,0.25),0 1px 2px rgba(0,0,0,0.3);box-shadow:0 5px 8px -2px rgba(0,0,0,0.25),0 1px 2px rgba(0,0,0,0.3);position:relative;padding:10px;overflow:hidden;border:1px solid #d1d3e0;background-color:#fff;color:#3e425a;font-size:.92em;text-align:left;word-wrap:break-word}.ui-tooltip-tip{position:absolute;z-index:10;margin:0 auto;overflow:hidden;border:0 none;border-color:#d1d3e0;background:transparent;background-color:#fff}
.qtip{position:absolute;top:-31000px;left:-31000px;width:auto;max-width:500px;outline:none}.ui-tooltip-content{box-shadow:0 5px 8px -2px rgba(0,0,0,0.25),0 1px 2px rgba(0,0,0,0.3);position:relative;padding:10px;overflow:hidden;border:1px solid #d1d3e0;background-color:#fff;color:#3e425a;font-size:.92em;text-align:left;word-wrap:break-word}.ui-tooltip-tip{position:absolute;z-index:10;margin:0 auto;overflow:hidden;border:0 none;border-color:#d1d3e0;background:transparent;background-color:#fff}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -47,6 +47,7 @@ PurpleMine.MenuCollapse = (function () {
}
for (var menu in this.menus) {
// eslint-disable-next-line no-prototype-builtins
if (this.menus.hasOwnProperty(menu) && this.menus[menu].$el.length > 0) {
handleMenu(menu)
}

View File

@@ -52,6 +52,7 @@ PurpleMine.RevisionGraph = function (holder, commitsHash, graphSpace) {
var revisionDotOverlay
$.each(commits, function (index, commit) {
// eslint-disable-next-line no-prototype-builtins
if (!commit.hasOwnProperty('space')) {
commit.space = 0
}
@@ -72,6 +73,7 @@ PurpleMine.RevisionGraph = function (holder, commitsHash, graphSpace) {
parentCommit = commitsByScmid[parentScmid]
if (parentCommit) {
// eslint-disable-next-line no-prototype-builtins
if (!parentCommit.hasOwnProperty('space')) {
parentCommit.space = 0
}

View File

@@ -481,13 +481,13 @@ $header-title-line-height: $line-height-computed * 1.5 !default;
$responsive-header-height: 54px !default;
$flyout-menu-bg: shade($header-bg, 800) !default;
$flyout-menu-bg: shade($header-bg, 700) !default;
$flyout-menu-text: $white !default;
$flyout-menu-link: $white !default;
$flyout-menu-link-active-bg: $header-bg !default;
$flyout-menu-link-active: $white !default;
$flyout-menu-header-bg: shade($header-bg, 900) !default;
$flyout-menu-header-border: shade($header-bg, 900) !default;
$flyout-menu-link-active-bg: shade($header-bg, 50) !default;
$flyout-menu-link-active: $text-color !default;
$flyout-menu-header-bg: shade($header-bg, 800) !default;
$flyout-menu-header-border: shade($header-bg, 800) !default;
$flyout-menu-header-text: $white !default;
$quick-search-width: 200px !default;

View File

@@ -197,6 +197,7 @@ p.buttons {
label {
display: block;
margin-bottom: $line-height-computed / 2;
line-height: initial;
}
}
@@ -238,6 +239,10 @@ a[data-expands],
cursor: pointer;
user-select: none;
@include button-variant($btn-default-color, $btn-default-bg, $btn-default-border);
&.icon-only::before {
content: none;
}
}
a[data-expands] {
@@ -253,3 +258,8 @@ a[data-expands] {
display: none;
}
}
a.icon-toggle-minus[data-expands],
select[multiple="multiple"] + .toggle-multiselect {
background-image: inline-svg("minus.svg", (path: (fill: $btn-default-icon-color)));
}

View File

@@ -168,6 +168,8 @@
@if $sidebar-position == "right" {
margin-left: 3px;
} @else {
margin-right: 0;
}
li {
@@ -184,10 +186,6 @@
margin-left: $sidebar-padding-horizontal / 2 + 3px;
}
}
@if $sidebar-position == "left" {
margin-right: 0;
}
}
}
}
@@ -203,6 +201,110 @@
margin-left: 0;
}
}
// For plugin https://github.com/ledsun/redmine_wiki_page_tree
div.page-tree {
margin: 0;
padding: 0;
.page-tree__title {
margin-left: 0;
}
.page-tree__list {
.page-tree__list {
margin-left: $sidebar-padding-horizontal + 3px;
border-left: 2px solid $gray-400;
@if $sidebar-position == "right" {
margin-left: 3px;
} @else {
margin-right: 0;
}
.page-tree__list {
margin-left: $sidebar-padding-horizontal / 2 + 3px;
}
summary {
padding-left: $sidebar-padding-horizontal + 8px;
@if $sidebar-position == "right" {
margin-left: 0;
}
&::before {
left: 6px;
}
}
}
li {
> a:not(.icon-only) {
padding-right: $sidebar-padding-horizontal / 2;
padding-left: $sidebar-padding-horizontal / 2;
@if $sidebar-position == "right" {
margin-left: 0;
}
&:hover {
text-decoration: underline;
}
}
}
}
details {
summary {
display: block;
position: relative;
padding: 0 $sidebar-padding-horizontal;
padding-left: $sidebar-padding-horizontal * 1.5 + 8px;
@if $sidebar-position == "left" {
border-radius: $border-radius-large 0 0 $border-radius-large;
} @else {
margin-left: -($sidebar-padding-horizontal);
border-radius: 0 $border-radius-large $border-radius-large 0;
}
&::-webkit-details-marker {
display: none;
}
&::before {
content: "";
position: absolute;
top: ($sidebar-padding-vertical + 1px) + ($line-height-computed - 16px) / 2;
left: $sidebar-padding-horizontal / 2 + 6px;
width: 16px;
height: 16px;
background-image: inline-svg("chevron-right.svg", (path: (fill: $btn-default-icon-color)));
background-repeat: no-repeat;
}
&:hover {
background-color: $sidebar-link-hover-bg;
}
a {
display: inline-block;
padding-top: ($sidebar-padding-vertical + 1px);
padding-bottom: ($sidebar-padding-vertical + 1px);
&:hover {
color: $sidebar-link-hover-text;
text-decoration: underline;
}
}
}
&[open] > summary::before {
transform: rotate(90deg);
}
}
}
}
#footer {

View File

@@ -98,14 +98,30 @@ a.collapsible.collapsed,
//
.hidden-for-sighted {
position: absolute;
top: auto;
left: -10000px;
width: 1px;
height: 1px;
overflow: hidden;
// stylelint-disable declaration-no-important
position: absolute !important;
top: auto !important;
left: -10000px !important;
width: 1px !important;
height: 1px !important;
overflow: hidden !important;
// stylelint-enable declaration-no-important
}
img {
image-orientation: from-image;
}
.filecontent-container {
position: relative;
min-height: 200px;
margin-bottom: 20px;
}
.filecontent-container > .filecontent {
position: absolute;
max-width: 100%;
max-height: 100%;
}
//== Responsive autoscroll
//
@@ -592,9 +608,9 @@ div#roadmap {
}
}
h2,
h3 {
display: inline;
header > h3,
h3.version {
margin-bottom: 0;
padding-right: 0;
}

View File

@@ -7,6 +7,15 @@ form {
padding: $table-condensed-cell-padding;
}
fieldset {
> button,
> input,
> select {
margin-right: 5px;
margin-bottom: $line-height-computed / 2;
}
}
label {
line-height: $input-height-base;
vertical-align: top;

View File

@@ -426,6 +426,7 @@ div.projects h3 {
&::before {
width: 1em;
margin-right: .5em;
transform: translateY(-.1em);
color: $gray-700;
text-align: center;
}

View File

@@ -670,6 +670,7 @@ span.private {
div.changeset {
margin-top: $line-height-computed / 2 + 2px * 2;
padding: 0;
overflow: hidden;
border: 1px solid $issue-border;
border-radius: $panel-border-radius;

View File

@@ -50,13 +50,17 @@ table.list {
}
&.id,
&.issue_id,
&.legacy_id,
&.parent,
&.relations,
&.tracker {
width: 2%;
}
&.id {
&.id,
&.issue_id,
&.legacy_id {
font-weight: $font-weight-bold;
}
@@ -81,10 +85,6 @@ table.list {
}
}
&.id {
text-align: right;
}
&.activity,
&.assigned_to,
&.attachments,
@@ -108,6 +108,8 @@ table.list {
text-align: left;
}
&.id,
&.legacy_id,
&.estimated_hours,
&.float,
&.int,
@@ -384,6 +386,8 @@ tr.entry {
@if $color-trackers {
tr.issue .id > a,
tr.issue .issue_id > a,
tr.issue .legacy_id > a,
a.issue,
.relations > span > a.issue,
.parent > a.issue {
@@ -432,7 +436,8 @@ tr.entry {
}
}
tr.issue .id > a {
tr.issue .id > a,
tr.issue .legacy_id > a {
display: block;
padding: $tracker-list-padding;
@@ -442,6 +447,11 @@ tr.entry {
}
}
tr.issue .issue_id > a {
display: inline-block;
padding: $tracker-list-padding;
}
@each $tracker-id, $tracker-colors in $tracker-colors-map {
@include tracker(
".tracker-#{$tracker-id}",

View File

@@ -60,8 +60,6 @@ p {
}
&.progress-info {
margin-top: -4px;
margin-bottom: 0;
clear: left;
color: $gray-700;
font-size: 80%;

View File

@@ -44,11 +44,14 @@
}
.drdn-trigger {
@include text-overflow;
display: block;
height: $responsive-header-height;
padding: 0;
background-color: transparent;
box-shadow: none;
font-size: $font-size-large;
font-weight: $font-weight-normal;
line-height: $responsive-header-height;
&::before {
@@ -70,6 +73,7 @@
.drdn-content {
top: $responsive-header-height;
font-size: $font-size-base;
}
}
}
@@ -88,6 +92,10 @@
background-color: $flyout-menu-bg;
color: $flyout-menu-text;
.search-magnifier {
left: 18px;
}
&__search {
height: $responsive-header-height;
padding: ($padding-side / 2);
@@ -99,11 +107,27 @@
}
}
&__avatar {
img.gravatar {
top: 0;
}
}
a {
&,
&:hover,
&:focus {
color: $flyout-menu-link;
&::before,
span {
color: inherit !important; // stylelint-disable-line declaration-no-important
}
}
&.selected {
background-color: $flyout-menu-link-active-bg;
color: $flyout-menu-link-active;
}
}
@@ -118,20 +142,44 @@
a {
background-position: 8px center;
&,
&:hover,
&:focus {
&.additionals {
padding-left: 32px !important; // stylelint-disable-line declaration-no-important
&::before {
color: $flyout-menu-link;
margin-right: $padding-small-vertical;
font-size: $fa-font-size-base;
}
}
}
}
&.selected {
background-color: $body-bg;
color: $text-color;
#watchers {
.contextual {
padding-top: $line-height-computed / 2;
padding-bottom: $line-height-computed / 2;
}
&::before {
color: $text-color;
.watchers {
li {
margin: ($line-height-computed / 2) 0 0;
padding: 0;
img.gravatar {
top: 0;
}
a {
height: auto;
border-top: 0;
line-height: initial;
}
.delete {
flex: 0 0 24px;
margin-left: auto;
float: none;
text-align: center;
text-overflow: initial;
}
}
}
@@ -228,9 +276,26 @@
label {
display: inline-block;
input[type="checkbox"],
input[type="radio"] {
margin-top: $check-input-margin-btn-v;
}
}
}
#content > .contextual > span {
margin-bottom: 0;
}
#content > .contextual > a,
#content > .contextual .drdn,
p.buttons a {
display: inline-block;
margin: 0 2px 5px 0;
float: none;
}
// For Redmine 4.0+
#content > .contextual .drdn {
padding: 0;
@@ -243,6 +308,8 @@
.drdn-items {
a {
margin: 3px 0 0;
padding-top: $btn-padding-vertical;
padding-bottom: $btn-padding-vertical;
&:first-child {
margin-top: 0;
@@ -265,5 +332,35 @@
float: none;
}
}
#issue-changesets {
div.changeset {
padding: 0;
}
}
#admin-index > #admin-menu li {
padding: 0;
}
}
// Tweaks for smartphones, touchscreens
@media (hover: none) and (pointer: coarse) {
.mobile-toggle-button::after {
margin-top: 0;
}
.query-columns {
span {
display: block;
margin-bottom: $line-height-computed / 2;
}
.buttons {
input[type="button"] {
display: inline-block;
}
}
}
}
}

View File

@@ -105,10 +105,17 @@
input,
select {
margin-right: 5px;
margin-bottom: $line-height-computed / 2;
}
label {
@include check-inline;
line-height: $input-height-base;
input[type="checkbox"],
input[type="radio"] {
margin-top: $check-input-margin-btn-v;
}
}
p:last-child {

View File

@@ -27,6 +27,7 @@
@mixin tracker($parent, $background, $color) {
tr#{$parent} .id > a,
tr#{$parent} .issue_id > a,
a#{$parent},
.relations > span > a#{$parent},
.parent > a#{$parent} {

File diff suppressed because one or more lines are too long