Compare commits

...

91 Commits

Author SHA1 Message Date
mrliptontea
b79991966a Add support for redmine_hearts plugin
Fixes #86
2019-03-12 22:16:09 +00:00
mrliptontea
9147b61324 Update readme for release v1.9.0 2019-03-01 18:47:46 +00:00
mrliptontea
f5805c2ad3 Merge branch 'taqueci-redmine-4.0' 2019-02-24 17:33:00 +00:00
mrliptontea
30e88ca836 Update dependencies 2019-02-24 15:33:20 +00:00
mrliptontea
ddabd865d7 Add note about fixing editor tabs layout 2019-02-24 15:16:09 +00:00
mrliptontea
d8dee5ccb2 Improve new Edit/Preview tab layout 2019-02-24 15:14:01 +00:00
mrliptontea
73d1210a00 Unify text contextual action icon's appearance 2019-02-24 13:42:12 +00:00
Takeshi Nakamura
e1563a6f9c Update application.css 2018-12-15 22:30:13 +09:00
Takeshi Nakamura
73a1f06136 Wiki toolbar implemented by issue 27758 2018-12-11 23:15:37 +09:00
Takeshi Nakamura
6f0d97fa6e Journal action links implemented by r16900 2018-12-11 23:08:17 +09:00
Takeshi Nakamura
230383dd2a Syntax highlighter Rouge implemented by issue 24681 2018-12-11 23:05:05 +09:00
Grzegorz Rajchman
bc6e2fefb1 Merge pull request #82 from mrliptontea/81-checkboxes-missing-on-firefox
Fix checkboxes missing on firefox
2018-09-29 17:10:25 +01:00
mrliptontea
3e80d292f4 Add some space below search form 2018-09-29 17:06:37 +01:00
mrliptontea
6d1346064e Fix #81 missing top checkboxes on Firefox
- Use position: absolute on inputs instead of float
- Unify mixins to check for checkboxes and radioes
- Improve checkbox layout in few places
2018-09-29 17:04:44 +01:00
Grzegorz Rajchman
0ae6e4bb59 Merge pull request #79 from mrliptontea/issue-78-files-not-visible-on-wiki
Fix attachments form layout and extend collapsible
2018-06-14 21:48:40 +01:00
mrliptontea
da33ec44f3 Fix attachments form layout and extend collapsible 2018-06-14 21:40:10 +01:00
Grzegorz Rajchman
3e84cfd613 Merge pull request #77 from mrliptontea/update-packages
Update dependencies
2018-05-14 22:05:19 +01:00
mrliptontea
2d77cba782 Update dependencies 2018-05-14 21:02:53 +01:00
Grzegorz Rajchman
077b0e3ac1 Merge pull request #76 from mrliptontea/add-romanian-and-french-translations
Add Romanian & French translation support.

Cherry-picked from #72
2018-05-14 20:46:00 +01:00
Mihai Kelemen
e8687dfc7f Add Romanian & French translation support 2018-05-14 20:41:46 +01:00
Grzegorz Rajchman
aec8502225 Merge pull request #75 from mrliptontea/update-screenshots
Update screenshots
2018-05-12 00:19:45 +01:00
mrliptontea
75b8ab6143 Update screenshots 2018-05-12 00:17:49 +01:00
Grzegorz Rajchman
b0842d06d1 Merge pull request #74 from mrliptontea/update-packages
Spring cleaning
2018-05-11 22:41:55 +01:00
mrliptontea
7859024c18 Update screenshots 2018-05-11 22:38:23 +01:00
mrliptontea
b81b76a306 Up the node version in travis 2018-05-11 22:04:35 +01:00
mrliptontea
e0211daf24 Update dependencies 2018-05-11 22:02:47 +01:00
Grzegorz Rajchman
8a1ca0915d Merge pull request #70 from mrliptontea/issue-69/remember-me-checkbox-layout
Fix "remember me" checkbox layout on login page, fixes #69
2017-09-14 21:41:29 +01:00
mrliptontea
d65d26f26f Fix "remember me" checkbox layout on login page, fixes #69 2017-09-14 21:38:08 +01:00
Grzegorz Rajchman
5c34a08c7f Merge pull request #68 from mrliptontea/issue-51-narrow-dropdown-in-top-menu
Disallow wrapping text in the top menu, fixes #51
2017-09-05 23:03:53 +01:00
mrliptontea
37d408cdb6 Disallow wrapping text in the top menu, fixes #51 2017-09-05 23:00:12 +01:00
mrliptontea
442596d0d0 Quick fix for regression introduced in #67 2017-09-05 22:49:03 +01:00
Grzegorz Rajchman
564d0bf3ba Merge pull request #67 from mrliptontea/issue-52-invisible-icon-only-button
Avoid applying styles for icon-only links in sidebar, fixes #52
2017-09-05 22:42:31 +01:00
mrliptontea
3231825dc0 Update readme 2017-09-05 22:42:04 +01:00
mrliptontea
252d28c4cb Avoid applying styles for icon-only links in sidebar, fixes #52 2017-09-05 22:37:22 +01:00
Grzegorz Rajchman
a44432e1ab Merge pull request #66 from mrliptontea/issue-50-invisible-printed-content-in-firefox
Improve print styles
2017-09-05 22:35:05 +01:00
mrliptontea
dbdcbce6a4 Fix issue with printed content in Firefox, fixes #50 2017-09-05 22:23:51 +01:00
mrliptontea
e4821cf03e Enforce correct padding for modal window's content 2017-09-05 21:47:33 +01:00
mrliptontea
9204d2263b Indent table cells with icons 2017-09-05 21:40:40 +01:00
mrliptontea
b4eb58bc77 Make 'Add filter' button wrap correctly on smaller screens 2017-09-05 21:37:04 +01:00
mrliptontea
4a5ec23be5 Fix layout of .query-columns in the latest Redmine 2017-09-05 21:34:02 +01:00
Grzegorz Rajchman
db2ae70ba1 Merge pull request #65 from mrliptontea/issue-54-max-height-for-list-field
Make list fields scrollable, fixes #54
2017-09-05 21:21:57 +01:00
mrliptontea
356e70ece0 Update readme 2017-09-05 21:21:25 +01:00
mrliptontea
493bed0468 Fix layout of checkbox list in administration forms 2017-09-05 21:15:11 +01:00
mrliptontea
7dbbaab953 Unify styles for checkbox/radio lists 2017-09-05 21:01:05 +01:00
mrliptontea
8e5378b65b Display custom list field as scrollable list, fixes #54 2017-09-03 22:55:03 +01:00
Grzegorz Rajchman
1abd5d2c59 Merge pull request #64 from mrliptontea/issue-62-anchors-wont-scroll-the-page
Remove styles for empty anchors in wiki, fixes #62
2017-09-03 13:27:24 +01:00
mrliptontea
c595f5b66f Remove styles for empty anchors in wiki, fixes #62 2017-09-03 13:20:38 +01:00
mrliptontea
f572a55b7c Add package-lock.json 2017-09-03 13:11:52 +01:00
Grzegorz Rajchman
b890e3f487 Merge pull request #63 from mrliptontea/ci-linting
Merge CI linting
2017-07-12 22:46:44 +01:00
mrliptontea
87ce84718d Unflatten some badges 2017-07-12 22:44:27 +01:00
mrliptontea
e1defa3677 Add build status badge 2017-07-12 22:41:47 +01:00
mrliptontea
2103d1e3b3 Fix linter errors 2017-07-12 22:32:24 +01:00
mrliptontea
93f4c4e6fb Add travis-ci config 2017-07-12 22:05:33 +01:00
mrliptontea
ea57a72909 Remove jshint config 2017-07-12 22:05:20 +01:00
Grzegorz Rajchman
13db2d80bd Merge pull request #61 from taqueci/redmine-3.4
Redmine 3.4
2017-07-12 21:14:01 +01:00
Takeshi Nakamura
ebcbd49e18 Update application.css and theme.js 2017-07-09 12:48:07 +09:00
Takeshi Nakamura
81e59e52ca Fix download icon 2017-07-09 12:39:22 +09:00
Takeshi Nakamura
1200c42714 Add padding of description and last comment in the issue list 2017-07-02 11:13:40 +09:00
Takeshi Nakamura
d03e35edc6 Last updated by colum in issue list (Redmine issue 6375) 2017-07-02 11:13:40 +09:00
Takeshi Nakamura
fb4c70319a Use css pseudo-classes instead of cycle("odd", "even") (Redmine issue 15361) 2017-07-02 11:13:40 +09:00
Takeshi Nakamura
588b2fe358 View attachments on the issue list (Redmine issue 25515) 2017-07-02 11:13:40 +09:00
Takeshi Nakamura
2c93df1543 Show last comment/notes in the issue list (Redmine issue 1474) 2017-07-02 11:13:40 +09:00
Takeshi Nakamura
e6a238fbd9 Fix misalignment of context menu 2017-07-02 11:13:40 +09:00
Takeshi Nakamura
19d2a2dfa3 View repository content by default (instead of the history) (Redmine issue 25999) 2017-07-02 11:13:40 +09:00
Takeshi Nakamura
97ecaf66c2 In place editing of "My page" layout (Redmine issue 25297) 2017-07-02 11:13:40 +09:00
Takeshi Nakamura
6b6c0cc565 Use css pseudo-classes instead of cycle("odd", "even") (Redmine issue 15361) 2017-07-02 11:13:40 +09:00
Takeshi Nakamura
02703bfefd Show assignee's icon in addition to author's icon (Redmine issue 25775) 2017-07-02 11:13:40 +09:00
Takeshi Nakamura
194a114684 Add .icon-email-add 2017-07-02 11:13:40 +09:00
Grzegorz Rajchman
399b5abeb9 Merge pull request #59 from taqueci/bugfix
Wrong jQuery ui-icons path
2017-05-26 16:39:30 +01:00
Grzegorz Rajchman
562da0a2ca Merge pull request #58 from taqueci/feature-ja
Japanese translation
2017-05-26 16:39:18 +01:00
Takeshi Nakamura
aba098b4cd Fix jQuery ui-icons path 2017-05-26 23:57:44 +09:00
Takeshi Nakamura
cc2e245b62 Fix jQuery ui-icons path 2017-05-26 23:54:29 +09:00
Takeshi Nakamura
35c4fce150 Merge commit 'd19768c' into bugfix 2017-05-26 23:51:53 +09:00
Takeshi Nakamura
51435b6d5e Add Japanese translation 2017-05-26 21:34:51 +09:00
taqueci
d19768cfcc Wrong h4 heading in issue note (#57)
* Fix h4 heading in issue note
2017-05-25 15:48:53 +01:00
Takeshi Nakamura
6423b32ce3 Fix h4 heading in issue note 2017-05-25 23:09:52 +09:00
Takeshi Nakamura
2464deb302 Fix jQuery ui-icon path 2017-05-25 22:14:39 +09:00
Takeshi Nakamura
9aefe05b3c Fix h4 heading in issue note 2017-05-24 21:46:45 +09:00
mrliptontea
61f9ee4af7 Build German translations and update changelog 2017-03-19 14:26:39 +00:00
Grzegorz Rajchman
12bbf11fde Merge pull request #49 from TumTum/translate-german
Add german translations
2017-03-19 14:25:04 +00:00
Tobias Matthaiou
5fe948f289 Translate in german. 2017-03-14 21:12:24 +01:00
mrliptontea
707c5409df Adjust width of the label column on the login form, fixes #44 2017-02-26 14:34:03 +00:00
mrliptontea
994410fd89 Add styles for project tile layout 2017-02-12 21:10:37 +00:00
mrliptontea
cb78f07e84 Improve styles for custom flash messages 2017-02-12 20:46:28 +00:00
mrliptontea
3d8889b28c Add support for responsive styles and new project selector 2017-02-12 19:50:11 +00:00
Grzegorz Rajchman
22fea49006 Merge pull request #43 from milouse/master
Fixes for version 3.3.2
2017-02-12 19:40:23 +00:00
Étienne Deparis
5265818398 New compiled version 2017-02-11 01:01:48 +01:00
Étienne Deparis
edec47580e Fix new jump to project block 2017-02-11 00:52:49 +01:00
Étienne Deparis
ea428cbc36 Fix login form 2017-02-11 00:52:49 +01:00
Étienne Deparis
809bb8cc4a Fix icons in #admin-menu 2017-02-11 00:39:15 +01:00
mrliptontea
43da9dc45c Force icon-only and tabs styles with higher specificity, fix #42 2017-01-19 20:57:32 +00:00
62 changed files with 5228 additions and 557 deletions

View File

@@ -1,23 +0,0 @@
{
"camelcase" : true,
"curly" : true,
"eqeqeq" : true,
"forin" : true,
"indent" : 4,
"latedef" : true,
"newcap" : true,
"nonew" : false,
"quotmark" : "double",
"undef" : true,
"unused" : true,
"strict" : true,
"maxparams" : 3,
"maxdepth" : 3,
"maxstatements": 16,
"maxlen" : 80,
"shadow" : false,
"browser" : true,
"jquery" : true,
"globals" : {
}
}

15
.travis.yml Normal file
View File

@@ -0,0 +1,15 @@
dist: trusty
language: node_js
node_js:
- 8
cache:
directories:
- node_modules
before_install:
- rvm install 2.2
- rvm use 2.2 --fuzzy
install:
- gem install scss_lint
- npm install
script:
- npm run lint --silent

View File

@@ -4,6 +4,7 @@ module.exports = function (grunt) {
sass: { sass: {
options: { options: {
implementation: require('node-sass'),
sourceMap: false, sourceMap: false,
outputStyle: 'compressed' outputStyle: 'compressed'
}, },

View File

@@ -2,13 +2,13 @@
A free Redmine theme for modern browsers. A free Redmine theme for modern browsers.
![The MIT License](https://img.shields.io/badge/license-MIT-584492.svg?style=flat-square) [![Release](https://img.shields.io/github/release/mrliptontea/PurpleMine2.svg?style=flat-square)](https://github.com/mrliptontea/PurpleMine2/releases) [![Issues](https://img.shields.io/github/issues/mrliptontea/PurpleMine2.svg?style=flat-square)](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.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/)
--- ---
![Screenshot](https://github.com/mrliptontea/PurpleMine2/raw/master/screenshots/issues-list.png) ![Screenshot](https://github.com/mrliptontea/PurpleMine2/raw/master/screenshots/issues.png)
Compatible with Redmine 2.5+ and browsers: IE10+/Edge, latest Firefox and Google Chrome (others were not tested). Compatible with Redmine 2.6+ and browsers: IE10+/Edge, latest Firefox and Google Chrome (others were not tested).
It's written in [SCSS]. It uses [normalize.css] and benefits from some parts of [Bootstrap][bootstrap-sass] like mixins, structure, and stuff. It's written in [SCSS]. It uses [normalize.css] and benefits from some parts of [Bootstrap][bootstrap-sass] like mixins, structure, and stuff.
@@ -38,21 +38,17 @@ Also, [Redmine Time Tracker][redmine_time_tracker] and [Redmine People][redmine_
If you want to customize PurpleMine to your needs, first, make sure that you have installed [node.js](http://nodejs.org/) and `npm` is available in your terminal. If you want to customize PurpleMine to your needs, first, make sure that you have installed [node.js](http://nodejs.org/) and `npm` is available in your terminal.
If haven't yet, you need to install grunt:
npm install grunt-cli -g
Then, from the directory that contains PurpleMine run: Then, from the directory that contains PurpleMine run:
npm install npm install
Now all the dependencies should be ready to use. Run one more command: Now all the dependencies should be ready to use. Run one more command:
grunt watch npm run watch
And now the grunt is watching for changes in files placed in `src/` folder. Just change what you need, and it'll run SASS preprocessor automatically. And now the grunt is watching for changes in files placed in `src/` folder. Just change what you need, and it'll run Sass preprocessor automatically.
Regrettably, optional file include is not possible in SASS, so I would recommend creating a new file, e.g. `src/sass/_custom-variables.scss` and importing it a the beginning of the `application.scss` file. That way all the variables with the `!default` flag could be overridden. Regrettably, optional file include is not possible in Sass, so I would recommend creating a new file, e.g. `src/sass/_custom-variables.scss` and importing it a the beginning of the `application.scss` file. That way all the variables with the `!default` flag could be overridden.
The path `src/sass/_custom-variables.scss` is added to `.gitignore` so it should make upgrading PurpleMine with keeping your changes rather painless, given that the only thing you changed in PurpleMine's source was adding this one line with `@import "custom-variables";`. The path `src/sass/_custom-variables.scss` is added to `.gitignore` so it should make upgrading PurpleMine with keeping your changes rather painless, given that the only thing you changed in PurpleMine's source was adding this one line with `@import "custom-variables";`.
@@ -60,6 +56,31 @@ If you need to customize styles for [Redmine Backlogs][redmine_backlogs] remembe
## Changelog ## Changelog
v1.10.0 (2019-03-12):
* Fixed #86: added support for redmine_hearts plugin
v1.9.0 (2019-03-01):
* Fixed #42: override some styles from [RM+](http://rmplus.pro) plugins
* Merged #43: fixes for Redmine 3.3.2.devel
* Support for responsive menu and further changes for Redmine 3.3.2.devel (fixes #26)
* Improved styles for custom flash messages in wiki content (e.g. for [WikiNG](http://www.redmine.org/plugins/wiking) plugin)
* Introduce project tiles on projects list page (enabled by default, can be switched off by setting `$use-project-tiles` to `false`)
* Fixed #44: adjust width of the label column on the login form
* Merged #49: German translations
* Fixed #50: printed content on second page onwards was missing in Firefox
* Fixed #51: a plugin dropdown in top menu could be too narrow
* Fixed #52: delete watcher icon in the sidebar was missing
* Fixed #54: long checkbox lists will be scrollable
* Fixed #62: anchors won't scroll the page
* Fixed #69: fixed "remember me" checkbox layout on login page
* Fixed #78: files not visible on list in wiki when there is a lot of them
* Updated dependencies
* Fixed #81: top watchers checkboxes were not visible on Firefox
* Removed `checkbox` and `radio` mixins in favour of `check`
* Fixed #83: editor tabs layout in Redmine 4.0
v1.8.0 (2016-11-20): v1.8.0 (2016-11-20):
* Fixed #19: missing text wrapping for long text custom fields * Fixed #19: missing text wrapping for long text custom fields

File diff suppressed because one or more lines are too long

3314
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "PurpleMine2", "name": "PurpleMine2",
"description": "A free Redmine 2.5+ theme written in SCSS", "description": "A free Redmine 2.6+ theme written in SCSS",
"keywords": [ "keywords": [
"redmine", "redmine",
"theme", "theme",
@@ -18,21 +18,27 @@
}, },
"homepage": "https://github.com/mrliptontea/PurpleMine2", "homepage": "https://github.com/mrliptontea/PurpleMine2",
"scripts": { "scripts": {
"build": "grunt",
"watch": "grunt watch",
"lint": "standard && scss-lint" "lint": "standard && scss-lint"
}, },
"dependencies": { "dependencies": {
"autoprefixer": "^6.5.3", "autoprefixer": "^9.4.8",
"grunt": "^1.0.1", "grunt": "^1.0.3",
"grunt-contrib-uglify": "^2.0.0", "grunt-contrib-uglify": "^4.0.0",
"grunt-contrib-watch": "^1.0.0", "grunt-contrib-watch": "^1.1.0",
"grunt-postcss": "^0.8.0", "grunt-postcss": "^0.9.0",
"grunt-sass": "^1.0.0" "grunt-sass": "^3.0.2",
"node-sass": "^4.11.0"
}, },
"devDependencies": { "devDependencies": {
"standard": "^8.5.0" "standard": "^12.0.1"
}, },
"standard": { "standard": {
"globals": [ "$", "localStorage" ], "globals": [
"$",
"localStorage"
],
"ignore": [ "ignore": [
"/javascripts" "/javascripts"
] ]

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{box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);display:none;position:absolute;padding:3px;text-align:left;z-index:10000}.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 input[type="checkbox"]:focus{outline:none}.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 #ccc;font-weight:bold;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{-webkit-box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);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 input[type="checkbox"]:focus{outline:none}.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 #ccc;font-weight:bold;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{box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);position:relative;padding:10px;border:1px solid #ccc;background-color:#fff;color:#555;font-size:.92em;text-align:left;word-wrap:break-word;overflow:hidden}.ui-tooltip-tip{border-color:#ccc;background-color:#fff}.ui-tooltip-tip{position:absolute;margin:0 auto;border:0 none;background:transparent;overflow:hidden;z-index:10} .qtip{position:absolute;top:-31000px;left:-31000px;width:auto;max-width:500px;outline:none}.ui-tooltip-content{-webkit-box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);position:relative;padding:10px;overflow:hidden;border:1px solid #ccc;background-color:#fff;color:#555;font-size:.92em;text-align:left;word-wrap:break-word}.ui-tooltip-tip{border-color:#ccc;background-color:#fff}.ui-tooltip-tip{position:absolute;z-index:10;margin:0 auto;overflow:hidden;border:0 none;background:transparent}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

BIN
screenshots/issues.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -1,4 +1,4 @@
var PurpleMine = PurpleMine || {} var PurpleMine = PurpleMine || {} // eslint-disable-line no-use-before-define
PurpleMine.HistoryTabs = (function () { PurpleMine.HistoryTabs = (function () {
'use strict' 'use strict'
@@ -10,10 +10,30 @@ PurpleMine.HistoryTabs = (function () {
notes: 'Notes', notes: 'Notes',
details: 'Changes' details: 'Changes'
}, },
ro: {
all: 'Toate',
notes: 'Note',
details: 'Schimbări'
},
fr: {
all: 'Tout',
notes: 'Remarques',
details: 'Changements'
},
pl: { pl: {
all: 'Wszystko', all: 'Wszystko',
notes: 'Notatki', notes: 'Notatki',
details: 'Zmiany' details: 'Zmiany'
},
de: {
all: 'Alles',
notes: 'Kommentare',
details: 'Änderungen'
},
ja: {
all: 'すべて',
notes: '注記',
details: '変更'
} }
} }
@@ -73,8 +93,8 @@ PurpleMine.HistoryTabs = (function () {
$this.addClass('selected') $this.addClass('selected')
instance.$history instance.$history
.removeClass('hide-details') .removeClass('hide-details')
.removeClass('hide-notes') .removeClass('hide-notes')
if (tab === 'notes') { if (tab === 'notes') {
instance.$history.addClass('hide-details') instance.$history.addClass('hide-details')

View File

@@ -1,4 +1,4 @@
var PurpleMine = PurpleMine || {} var PurpleMine = PurpleMine || {} // eslint-disable-line no-use-before-define
PurpleMine.MenuCollapse = (function () { PurpleMine.MenuCollapse = (function () {
'use strict' 'use strict'
@@ -8,8 +8,20 @@ PurpleMine.MenuCollapse = (function () {
en: { en: {
topMenuToggler: 'Expand/collapse top menu' topMenuToggler: 'Expand/collapse top menu'
}, },
ro: {
topMenuToggler: 'Deschide/închide meniul de sus'
},
fr: {
topMenuToggler: 'Développer/réduire le menu principal'
},
pl: { pl: {
topMenuToggler: 'Zwiń/rozwiń górne menu' topMenuToggler: 'Zwiń/rozwiń górne menu'
},
de: {
topMenuToggler: 'Ein-/Ausklappen Hauptmenu'
},
ja: {
topMenuToggler: 'トップメニューの展開/折りたたみ'
} }
} }

View File

@@ -1,8 +1,5 @@
var PurpleMine = PurpleMine || {} var PurpleMine = PurpleMine || {} // eslint-disable-line no-use-before-define
/* global Raphael: false, revisionGraph: true */ /* global Raphael: false, revisionGraph: true */
/* jshint camelcase: false */
/* jshint maxstatements: false */
/* jshint maxlen: 160 */
PurpleMine.RevisionGraph = function (holder, commitsHash, graphSpace) { PurpleMine.RevisionGraph = function (holder, commitsHash, graphSpace) {
'use strict' 'use strict'

View File

@@ -1,4 +1,4 @@
var PurpleMine = PurpleMine || {} var PurpleMine = PurpleMine || {} // eslint-disable-line no-use-before-define
PurpleMine.SidebarToggler = (function () { PurpleMine.SidebarToggler = (function () {
'use strict' 'use strict'
@@ -8,8 +8,17 @@ PurpleMine.SidebarToggler = (function () {
en: { en: {
toggler: 'Toggle sidebar' toggler: 'Toggle sidebar'
}, },
ro: {
toggler: 'Deschide/închide bara laterală'
},
fr: {
toggler: 'Basculer la barre latérale'
},
pl: { pl: {
toggler: 'Pokaż/ukryj panel boczny' toggler: 'Pokaż/ukryj panel boczny'
},
ja: {
toggler: 'サイドバーの切り替え'
} }
} }
@@ -35,7 +44,9 @@ PurpleMine.SidebarToggler = (function () {
// Fix issue with context menu position // Fix issue with context menu position
if (this.$main.css('position') === 'relative') { if (this.$main.css('position') === 'relative') {
$('#context-menu').appendTo('#wrapper3') $(window).load(function () {
$('#context-menu').appendTo('#wrapper3')
})
} }
handleSidebar() handleSidebar()

View File

@@ -17,6 +17,7 @@ $use-gravatars: true !default;
$use-font-awesome: true !default; $use-font-awesome: true !default;
$use-logo: false !default; $use-logo: false !default;
$use-retina-logo: false !default; $use-retina-logo: false !default;
$use-project-tiles: true !default;
$issue-subject-large: true !default; $issue-subject-large: true !default;
$enable-sidebar-toggler: true !default; $enable-sidebar-toggler: true !default;
$wiki-page-more-vertical-space: true !default; $wiki-page-more-vertical-space: true !default;
@@ -105,6 +106,7 @@ $headings-anchor-color-active: $gray-light !default;
$wiki-text: #333 !default; $wiki-text: #333 !default;
$wiki-font-size: 16px !default; $wiki-font-size: 16px !default;
$wiki-line-height: 1.6 !default; $wiki-line-height: 1.6 !default;
$wiki-preview-bg: #fcfcfc !default;
$toc-active-link: darken($link-color, 10%) !default; $toc-active-link: darken($link-color, 10%) !default;
$toc-active-link-hover: darken($toc-active-link, 10%) !default; $toc-active-link-hover: darken($toc-active-link, 10%) !default;
@@ -143,6 +145,7 @@ $component-active-border: $brand-primary !default;
$font-size-list: .92em !default; $font-size-list: .92em !default;
$collapsible-animation-time: .3s !default; $collapsible-animation-time: .3s !default;
$collapsible-max-height: 10000px !default;
//== Tables //== Tables
@@ -202,32 +205,32 @@ $tracker-default-text: $brand-text !default;
$tracker-default-colors-map: ( $tracker-default-colors-map: (
1: ( 1: (
background: $brand-danger, background: $brand-danger,
color: $brand-text color: $brand-text
), ),
2: ( 2: (
background: $brand-info, background: $brand-info,
color: $brand-text color: $brand-text
), ),
3: ( 3: (
background: $brand-success, background: $brand-success,
color: $brand-text color: $brand-text
), ),
4: ( 4: (
background: $brand-primary, background: $brand-primary,
color: $brand-text color: $brand-text
), ),
5: ( 5: (
background: $brand-warning, background: $brand-warning,
color: $brand-text color: $brand-text
), ),
6: ( 6: (
background: mix($brand-success, $brand-info, 50%), background: mix($brand-success, $brand-info, 50%),
color: $brand-text color: $brand-text
), ),
7: ( 7: (
background: mix($brand-primary, $brand-warning, 50%), background: mix($brand-primary, $brand-warning, 50%),
color: $brand-text color: $brand-text
) )
) !default; ) !default;
$tracker-custom-colors-map: () !default; $tracker-custom-colors-map: () !default;
@@ -271,6 +274,7 @@ $changeset-deleted-color: $brand-danger !default;
$btn-font-weight: normal !default; $btn-font-weight: normal !default;
$btn-padding-vertical: 3px !default; $btn-padding-vertical: 3px !default;
$btn-padding-horizontal: 12px !default; $btn-padding-horizontal: 12px !default;
$btn-padding-horizontal-small: 8px !default;
$btn-link-color: $link-color !default; $btn-link-color: $link-color !default;
$btn-link-bg: $body-bg !default; $btn-link-bg: $body-bg !default;
@@ -310,7 +314,9 @@ $input-border: #ccc !default;
$input-border-radius: $border-radius-small !default; $input-border-radius: $border-radius-small !default;
$input-border-radius-large: $border-radius-large !default; $input-border-radius-large: $border-radius-large !default;
$input-border-focus: #51a7e8 !default; $input-border-focus: $brand-primary !default;
$input-border-focus-alpha: .6 !default;
$input-shadow-focus-alpha: .2 !default;
$input-color-placeholder: #999 !default; $input-color-placeholder: #999 !default;
$input-padding-vertical: $btn-padding-vertical !default; $input-padding-vertical: $btn-padding-vertical !default;
@@ -325,6 +331,12 @@ $label-space: 10px !default;
$legend-color: $gray-dark !default; $legend-color: $gray-dark !default;
$legend-border-color: #e5e5e5 !default; $legend-border-color: #e5e5e5 !default;
$check-input-gutter: 20px !default;
$check-input-margin-vertical: 3px !default;
$check-input-margin-horizontal: 8px !default;
$check-list-max-height: 20 * $line-height-computed;
$check-list-offset-top: $input-padding-vertical + 1px;
//== Top //== Top
// //
@@ -343,6 +355,24 @@ $header-padding-horizontal: $padding-side !default;
$header-title-size: $font-size-h3 !default; $header-title-size: $font-size-h3 !default;
$header-title-line-height: $line-height-computed * 1.5 !default; $header-title-line-height: $line-height-computed * 1.5 !default;
$responsive-header-height: 54px !default;
$flyout-menu-bg: darken($header-bg, 15%) !default;
$flyout-menu-text: #fff !default;
$flyout-menu-link: #fff !default;
$flyout-menu-link-active-bg: $header-bg !default;
$flyout-menu-link-active: #fff !default;
$flyout-menu-header-bg: darken($header-bg, 25%) !default;
$flyout-menu-header-border: darken($header-bg, 25%) !default;
$flyout-menu-header-text: #fff !default;
$quick-search-width: 200px !default;
$quick-search-border: darken($header-bg, 15%) !default;
$quick-search-border-focus: lighten($header-bg, 25%) !default;
$quick-search-box-width: 300px !default;
$quick-search-dropdown-bg: $body-bg !default;
$quick-search-dropdown-border: $gray-lighter !default;
$logo-image-width: 60px !default; $logo-image-width: 60px !default;
$logo-image-height: 40px !default; $logo-image-height: 40px !default;
$logo-position-horizontal: $header-padding-vertical !default; $logo-position-horizontal: $header-padding-vertical !default;
@@ -369,7 +399,7 @@ $pagination-padding-vertical: $btn-padding-vertical !default;
$pagination-padding-horizontal: 10px !default; $pagination-padding-horizontal: 10px !default;
$pagination-color: $link-color !default; $pagination-color: $link-color !default;
$pagination-bg: #f9f9f9 !default; $pagination-bg: #fafafa !default;
$pagination-border: #ddd !default; $pagination-border: #ddd !default;
$pagination-hover-color: $link-hover-color !default; $pagination-hover-color: $link-hover-color !default;
@@ -452,7 +482,7 @@ $panel-bg: #f9f9f9 !default;
$panel-border: #ccc !default; $panel-border: #ccc !default;
$panel-border-radius: $border-radius-base !default; $panel-border-radius: $border-radius-base !default;
$panel-shadow: 0 1px 2px rgba(#000, .1), $panel-shadow: 0 1px 2px rgba(#000, .1),
0 3px 8px rgba(#000, .07) !default; 0 3px 8px rgba(#000, .07) !default;
//== Tooltips //== Tooltips
@@ -493,6 +523,7 @@ $bubble-padding-horizontal: 15px !default;
// //
$screen-xs: 480px !default; $screen-xs: 480px !default;
$screen-xs-min: $screen-xs !default;
$screen-sm: 768px !default; $screen-sm: 768px !default;
$screen-sm-min: $screen-sm !default; $screen-sm-min: $screen-sm !default;
@@ -507,9 +538,25 @@ $screen-xs-max: ($screen-sm-min - 1) !default;
$screen-sm-max: ($screen-md-min - 1) !default; $screen-sm-max: ($screen-md-min - 1) !default;
$screen-md-max: ($screen-lg-min - 1) !default; $screen-md-max: ($screen-lg-min - 1) !default;
$redmine-responsive-max: 899px !default;
$redmine-responsive-min: 900px !default;
$top-menu-collapse-breakpoint: $screen-lg-min !default; $top-menu-collapse-breakpoint: $screen-lg-min !default;
//== Login form
//
$login-form-width: 24em !default;
$login-form-label-width: 8em !default;
$login-form-box-breakpoint: $screen-xs-min !default;
$login-form-adjustments-map: (
-2: da en en-GB ko pl tr uk,
1: fr hr nl sr-YU sv,
2: el eu lt pt sk sr th
) !default;
//== Content widths //== Content widths
// //

View File

@@ -21,6 +21,7 @@
@import "components/login"; @import "components/login";
@import "components/admin"; @import "components/admin";
@import "components/coderay"; @import "components/coderay";
@import "components/rouge";
@import "components/gantt"; @import "components/gantt";
@import "components/calendar"; @import "components/calendar";
@import "components/progress"; @import "components/progress";
@@ -28,10 +29,12 @@
@import "components/elements"; @import "components/elements";
@import "components/jquery-ui"; @import "components/jquery-ui";
@import "components/icons"; @import "components/icons";
@import "components/dropdown";
@import "components/top"; @import "components/top";
@import "components/jstoolbar"; @import "components/jstoolbar";
@import "components/flash"; @import "components/flash";
@import "components/image-base64"; @import "components/image-base64";
@import "components/responsive";
@import "components/print"; @import "components/print";

View File

@@ -23,7 +23,7 @@
li { li {
list-style-type: none; list-style-type: none;
> a { > a:not(.icon-only) {
padding-left: $sidebar-padding-horizontal + 5px + 20px; padding-left: $sidebar-padding-horizontal + 5px + 20px;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: $sidebar-padding-horizontal center; background-position: $sidebar-padding-horizontal center;
@@ -85,23 +85,6 @@ table.fields_permissions {
} }
//== Enumerations
//
.controller-enumerations.action-index {
#content {
> h3,
> .list {
margin-bottom: $line-height-computed / 2;
}
> p {
margin-bottom: $line-height-computed * 2;
}
}
}
//== Settings labels //== Settings labels
// //

View File

@@ -32,9 +32,9 @@ button {
&.disabled, &.disabled,
&[disabled], &[disabled],
fieldset[disabled] & { fieldset[disabled] & {
pointer-events: none; // Future-proof disabling of clicks
box-shadow: none;
opacity: .65; opacity: .65;
box-shadow: none;
pointer-events: none; // Future-proof disabling of clicks
} }
} }
@@ -85,17 +85,15 @@ form[action*="repository/diff"] {
//== Button links //== Button links
// //
p.buttons, p.buttons,
.other-formats > span, .other-formats > span,
#wiki_add_attachment > p { #wiki_add_attachment > p {
> a { > a {
display: inline-block; display: inline-block;
padding: $input-padding-vertical $input-padding-horizontal; padding: $btn-padding-vertical $btn-padding-horizontal-small;
border: 1px solid $pagination-border; border: 1px solid $pagination-border;
border-radius: $input-border-radius; border-radius: $border-radius-base;
background-color: $pagination-bg; background-color: $pagination-bg;
text-shadow: 1px 1px 0 #fff;
&:hover, &:hover,
&:focus { &:focus {
@@ -110,15 +108,15 @@ p.buttons,
box-shadow: inset 0 3px 4px -2px rgba(#000, .1); box-shadow: inset 0 3px 4px -2px rgba(#000, .1);
} }
@if $use-font-awesome { &.icon {
&.icon { padding-left: 20px + $btn-padding-horizontal-small;
padding-left: 20px + $padding-small-vertical + $input-padding-vertical; background-position: $btn-padding-horizontal-small 50%;
} }
} @else {
&.icon, @if $use-font-awesome == false {
&.atom { &.atom {
padding-left: 20px + $input-padding-vertical; padding-left: 20px + $btn-padding-horizontal-small;
background-position: $padding-small-vertical 50%; background-position: $btn-padding-horizontal-small 50%;
} }
} }
} }
@@ -154,12 +152,31 @@ p.buttons {
.query-columns { .query-columns {
select { select {
width: auto !important; // scss-lint:disable ImportantRule width: auto !important; // scss-lint:disable ImportantRule
min-width: 130px;
}
@at-root span#{&} {
> span {
display: inline-block;
height: 100%;
vertical-align: middle;
}
label {
display: block;
margin-bottom: $line-height-computed / 2;
}
} }
.buttons { .buttons {
vertical-align: middle; vertical-align: middle;
br {
display: none;
}
input[type="button"] { input[type="button"] {
display: block;
width: 32px; width: 32px;
margin-bottom: 4px; margin-bottom: 4px;
padding-right: 1px; padding-right: 1px;
@@ -183,8 +200,8 @@ a[data-expands],
border-radius: $border-radius-base; border-radius: $border-radius-base;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: 2px 2px; background-position: 2px 2px;
cursor: pointer;
vertical-align: top; vertical-align: top;
cursor: pointer;
user-select: none; user-select: none;
@include button-variant($btn-default-color, $btn-default-bg, $btn-default-border); // scss-lint:disable DeclarationOrder @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border); // scss-lint:disable DeclarationOrder
} }

View File

@@ -96,7 +96,7 @@
padding: 0; padding: 0;
list-style-type: none; list-style-type: none;
> a { > a:not(.icon-only) {
display: block; display: block;
padding: $sidebar-padding-vertical $sidebar-padding-horizontal; padding: $sidebar-padding-vertical $sidebar-padding-horizontal;
border: 1px solid transparent; border: 1px solid transparent;

View File

@@ -0,0 +1,98 @@
.drdn {
position: relative;
&.expanded {
> .drdn-content {
display: block;
}
> .drdn-trigger {
@if $use-font-awesome {
&::after {
content: $fa-var-caret-up;
}
} @else {
@extend %image-arrow-up;
}
}
}
&-trigger {
@extend %form-field;
display: inline-block;
position: relative;
box-sizing: border-box;
cursor: pointer;
user-select: none;
@if $use-font-awesome {
@extend %fa-icon-after;
&::after {
content: $fa-var-caret-down;
position: absolute;
top: ($font-size-base / 2);
right: $input-padding-horizontal;
}
} @else {
@extend %image-arrow-down;
background-repeat: no-repeat;
background-position: right ($input-padding-horizontal / 2) center;
}
}
&-content {
@include nice-shadow(2);
display: none;
position: absolute;
z-index: 1002;
top: $input-height-base + $btn-padding-vertical;
right: 0;
overflow: hidden;
border-radius: $border-radius-base;
background: $main-menu-dropdown-bg;
}
&-items {
max-height: 400px;
overflow: auto;
color: $gray-light;
&:empty {
border: 0;
}
&.selection {
> a,
> span {
&::before {
content: " ";
display: inline-block;
width: 1em;
font-weight: bold;
}
@if $use-font-awesome {
@extend %fa-icon;
}
}
> .selected::before {
@if $use-font-awesome {
content: $fa-var-check;
} @else {
content: "\2713 ";
}
}
}
> a,
> span {
display: block;
padding: $btn-padding-vertical $btn-padding-horizontal;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}

View File

@@ -17,6 +17,7 @@ a.collapsible,
} }
&::before { &::before {
content: "";
display: inline-block; display: inline-block;
position: relative; position: relative;
top: -1px; top: -1px;
@@ -27,7 +28,6 @@ a.collapsible,
border-top: 6px solid; border-top: 6px solid;
border-right: 4px solid transparent; border-right: 4px solid transparent;
border-left: 4px solid transparent; border-left: 4px solid transparent;
content: "";
vertical-align: middle; vertical-align: middle;
@if $collapsible-animation-time > 0 { @if $collapsible-animation-time > 0 {
@@ -46,15 +46,15 @@ a.collapsible.collapsed,
@if $collapsible-animation-time > 0 { @if $collapsible-animation-time > 0 {
fieldset.collapsible { fieldset.collapsible {
min-height: $line-height-computed; min-height: $line-height-computed;
max-height: 2500px; // should be enough with all the possible filters max-height: $collapsible-max-height;
transition: max-height $collapsible-animation-time ease-out;
overflow: hidden; overflow: hidden;
transition: max-height $collapsible-animation-time ease-out;
> div { > div {
display: block !important; // scss-lint:disable ImportantRule display: block !important; // scss-lint:disable ImportantRule
visibility: visible;
transition: visibility 0s 0s, opacity $collapsible-animation-time; transition: visibility 0s 0s, opacity $collapsible-animation-time;
opacity: 1; opacity: 1;
visibility: visible;
} }
&.collapsed { &.collapsed {
@@ -62,9 +62,9 @@ a.collapsible.collapsed,
transition: max-height $collapsible-animation-time; transition: max-height $collapsible-animation-time;
> div { > div {
visibility: hidden;
transition: visibility 0s $collapsible-animation-time, opacity $collapsible-animation-time; transition: visibility 0s $collapsible-animation-time, opacity $collapsible-animation-time;
opacity: 0; opacity: 0;
visibility: hidden;
} }
} }
} }
@@ -83,21 +83,22 @@ a.collapsible.collapsed,
// //
.contextual { .contextual {
padding-left: $padding-base-vertical;
float: right; float: right;
white-space: nowrap;
cursor: default; cursor: default;
input, input,
select { select {
font-size: .9em; font-size: .9em;
} }
}
.contextual, a {
.buttons { display: inline-block;
> .icon:not(:first-child) {
margin-left: $padding-small-vertical; margin-left: $padding-small-vertical;
white-space: nowrap;
}
> :first-child {
margin-left: 0;
} }
} }
@@ -119,8 +120,8 @@ a.collapsible.collapsed,
// //
.autoscroll { .autoscroll {
overflow-x: auto;
margin-bottom: $line-height-computed; margin-bottom: $line-height-computed;
overflow-x: auto;
} }
@@ -163,8 +164,12 @@ a.collapsible.collapsed,
.splitcontentleft, .splitcontentleft,
.splitcontentright { .splitcontentright {
width: 50%;
box-sizing: border-box; box-sizing: border-box;
width: 50%;
> .wiki {
margin-bottom: $line-height-computed;
}
} }
.splitcontentleft { .splitcontentleft {
@@ -186,7 +191,7 @@ a.collapsible.collapsed,
overflow: auto; overflow: auto;
label { label {
@include checkbox; @include check;
display: block; display: block;
} }
} }
@@ -213,7 +218,7 @@ a.collapsible.collapsed,
padding-left: $sidebar-padding-horizontal; padding-left: $sidebar-padding-horizontal;
} }
> a { > a:not(.icon-only) {
display: inline; display: inline;
padding: 0; padding: 0;
background: transparent; background: transparent;
@@ -240,6 +245,23 @@ a.collapsible.collapsed,
} }
//== Users selection list
//
#principals {
label {
@include check;
display: block;
}
}
.roles-selection {
label {
@include check-inline;
}
}
//== Subtitle paragraph (can be seen on activity list) //== Subtitle paragraph (can be seen on activity list)
// //
@@ -273,8 +295,8 @@ p.subtitle {
} }
&.ui-sortable-handle { &.ui-sortable-handle {
outline: 1px solid $gray-lighter;
overflow: hidden; overflow: hidden;
outline: 1px solid $gray-lighter;
&:hover { &:hover {
outline: 1px solid $gray-light; outline: 1px solid $gray-light;
@@ -282,9 +304,9 @@ p.subtitle {
} }
&.ui-sortable-placeholder { &.ui-sortable-placeholder {
visibility: visible !important; // scss-lint:disable ImportantRule
outline: 1px dashed $highlight-border; outline: 1px dashed $highlight-border;
background: $highlight-bg; background: $highlight-bg;
visibility: visible !important; // scss-lint:disable ImportantRule
} }
&.ui-sortable-helper { &.ui-sortable-helper {
@@ -302,16 +324,58 @@ a.close-icon {
width: 12px; width: 12px;
height: 12px; height: 12px;
margin-top: 5px; margin-top: 5px;
overflow: hidden;
background-image: url("../../../images/close.png"); background-image: url("../../../images/close.png");
background-repeat: no-repeat; background-repeat: no-repeat;
cursor: pointer; cursor: pointer;
overflow: hidden;
&:hover { &:hover {
background-image: url("../../../images/close_hl.png"); background-image: url("../../../images/close_hl.png");
} }
} }
// For Redmine 3.4+
#my-page {
.block-receiver {
box-sizing: border-box;
margin: 0;
padding: 0;
outline: none;
}
&.dragging .block-receiver {
box-sizing: border-box;
min-height: 20px;
margin: $padding-side / -2;
margin-bottom: $line-height-computed;
padding: $padding-side / 2;
outline: 2px dashed $gray-light;
}
.mypage-box {
> .contextual {
transition: opacity .2s;
opacity: 0;
}
&:hover > .contextual {
opacity: 1;
}
}
#list-left {
width: 50%;
padding-right: ($padding-side / 2);
float: left;
}
#list-right {
width: 50%;
padding-left: ($padding-side / 2);
float: right;
}
}
//== Resetting font for SCM (repository files) //== Resetting font for SCM (repository files)
// //
@@ -405,6 +469,33 @@ ul.projects {
} }
#projects-index ul.projects { #projects-index ul.projects {
@if $use-project-tiles {
&.root {
display: flex;
flex-wrap: wrap;
margin-right: -($padding-side / 2);
margin-left: -($padding-side / 2);
> li {
display: block;
box-sizing: border-box;
flex: 0 1 auto;
width: 100%;
margin-right: $padding-side / 2;
margin-left: $padding-side / 2;
padding: $panel-body-padding;
border: 1px solid $panel-border;
border-radius: $border-radius-base;
background-color: $panel-bg;
color: $panel-color;
@media screen and (min-width: $screen-sm-min) { width: calc(50% - #{$padding-side}); }
@media screen and (min-width: $screen-md-min) { width: calc(33.333% - #{$padding-side}); }
@media screen and (min-width: $screen-lg-min) { width: calc(25% - #{$padding-side}); }
}
}
}
ul.projects { ul.projects {
border-left: 2px solid $gray-lighter; border-left: 2px solid $gray-lighter;
} }
@@ -561,18 +652,18 @@ div#version-summary {
#ajax-indicator { #ajax-indicator {
@include nice-shadow(3); @include nice-shadow(3);
position: fixed; position: fixed;
z-index: 100;
top: 50%; top: 50%;
left: 50%; left: 50%;
width: 200px; width: 200px;
margin: (($line-height-computed + $padding-large-vertical * 2 + 1px * 2) / -2) ((200px + $padding-large-horizontal * 2 + 1px * 2) / -2); margin: (($line-height-computed + $padding-large-vertical * 2 + 1px * 2) / -2) ((200px + $padding-large-horizontal * 2 + 1px * 2) / -2);
padding: $padding-large-vertical $padding-large-horizontal; padding: $padding-large-vertical $padding-large-horizontal;
border: 1px solid $highlight-border; border: 1px solid $highlight-border;
opacity: .9;
background-color: $highlight-bg; background-color: $highlight-bg;
color: $highlight-text; color: $highlight-text;
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
text-align: center; text-align: center;
opacity: .9;
z-index: 100;
span { span {
padding-left: 26px; padding-left: 26px;
@@ -672,8 +763,8 @@ div.table-list.boards {
.contextual { .contextual {
position: relative; position: relative;
margin-right: $bubble-padding-vertical;
z-index: 1; z-index: 1;
margin-right: $bubble-padding-vertical;
@if $use-font-awesome { @if $use-font-awesome {
margin-top: $padding-small-vertical; margin-top: $padding-small-vertical;
@@ -700,6 +791,7 @@ div.table-list.boards {
&::before, &::before,
&::after { &::after {
content: " ";
display: block; display: block;
position: absolute; position: absolute;
top: 9px; top: 9px;
@@ -709,7 +801,6 @@ div.table-list.boards {
height: 0; height: 0;
border-style: solid solid outset; border-style: solid solid outset;
border-color: transparent; border-color: transparent;
content: " ";
pointer-events: none; pointer-events: none;
} }

View File

@@ -13,6 +13,8 @@
padding-left: $padding-large-horizontal + 8px + 16px; padding-left: $padding-large-horizontal + 8px + 16px;
border: 1px solid; border: 1px solid;
border-radius: $border-radius-large; border-radius: $border-radius-large;
background-repeat: no-repeat;
background-position: $padding-large-horizontal 50%;
@if $use-font-awesome { @if $use-font-awesome {
@extend %fa-icon; @extend %fa-icon;
@@ -22,9 +24,6 @@
float: left; float: left;
line-height: $line-height-computed; line-height: $line-height-computed;
} }
} @else {
background-repeat: no-repeat;
background-position: $padding-large-horizontal 50%;
} }
>:last-child { >:last-child {

View File

@@ -8,7 +8,7 @@ form {
} }
.contextual > & { .contextual > & {
display: inline; display: inline-block;
} }
} }
@@ -16,10 +16,20 @@ button,
input, input,
select, select,
textarea { textarea {
box-sizing: border-box;
font-family: inherit; font-family: inherit;
font-size: $font-size-base; font-size: $font-size-base;
line-height: $line-height-base; line-height: $line-height-base;
box-sizing: border-box; }
%form-field {
height: $input-height-base;
padding: $input-padding-vertical $input-padding-horizontal;
border: 1px solid $input-border;
border-radius: $input-border-radius;
background-color: $input-bg;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075);
color: $input-color;
} }
select, select,
@@ -38,30 +48,24 @@ input[type="search"],
input[type="email"], input[type="email"],
input[type="text"], input[type="text"],
input[type="password"] { input[type="password"] {
@extend %form-field;
@include form-control-focus; @include form-control-focus;
@include placeholder; @include placeholder;
height: $input-height-base;
padding: $input-padding-vertical $input-padding-horizontal;
transition: border-color ease-in-out .1s, box-shadow ease-in-out .1s; transition: border-color ease-in-out .1s, box-shadow ease-in-out .1s;
border: 1px solid $input-border;
border-radius: $input-border-radius;
background-color: $input-bg;
color: $input-color;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075);
&[disabled], &[disabled],
&[readonly], &[readonly],
fieldset[disabled] & { fieldset[disabled] & {
border-color: $input-border; border-color: $input-border;
opacity: 1;
background-color: $input-bg-disabled; background-color: $input-bg-disabled;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075);
opacity: 1;
} }
} }
textarea { textarea {
resize: vertical;
height: auto; height: auto;
resize: vertical;
&.text_cf { &.text_cf {
width: 100%; width: 100%;
@@ -358,7 +362,7 @@ label[for=issue_description] + a {
// //
label[for=closed] { label[for=closed] {
@include checkbox; @include check;
display: block; display: block;
margin-bottom: $line-height-computed / 2; margin-bottom: $line-height-computed / 2;
} }
@@ -425,7 +429,9 @@ label[for=closed] {
//== Attachments //== Attachments
// //
#attachments_fields { #attachments_fields,
#existing-attachments,
.attachments_fields {
> span { > span {
display: block; display: block;
margin-bottom: $line-height-computed / 4; margin-bottom: $line-height-computed / 4;
@@ -538,67 +544,42 @@ label[for=closed] {
} }
#watchers_form { #watchers_inputs {
overflow: hidden; display: block;
max-width: 64em;
.search_for_watchers { max-height: $check-list-max-height;
display: block; margin-bottom: $line-height-computed / 2;
} padding-top: $check-list-offset-top;
overflow: auto;
#watchers_inputs { columns: 18em 3;
display: block;
max-width: 64em;
margin-top: $input-padding-vertical + 1px;
margin-bottom: $line-height-computed / 2;
columns: 18em 3;
overflow: auto;
}
label.floating { label.floating {
@include checkbox; @include check-list;
display: block;
width: auto;
margin: 0;
float: none;
input[type="checkbox"] {
top: -1px;
}
} }
} }
//== Custom logic (boolean) field displayed as radio buttons //== List of custom field values
// //
.check_box_group { .check_box_group {
display: block; display: block;
width: 90%;
max-height: $check-list-max-height;
padding-top: $check-list-offset-top;
overflow-y: auto; overflow-y: auto;
label { label {
display: block; @include check-list;
width: auto;
margin-bottom: 0;
margin-left: 0;
float: none;
font-weight: normal;
text-align: left;
} }
// Boolean field displayed as inline radio buttons
&.bool_cf { &.bool_cf {
label { overflow: initial;
@extend %clearfix;
display: inline-block;
margin-right: 10px;
padding-left: 20px;
user-select: none;
input[type="checkbox"], label {
input[type="radio"] { display: inline-block;
top: 0; margin-right: $check-input-margin-horizontal;
margin-left: -20px;
float: left;
}
} }
} }
} }
@@ -649,6 +630,7 @@ fieldset#filters {
div.add-filter { div.add-filter {
padding-top: $table-condensed-cell-padding; padding-top: $table-condensed-cell-padding;
float: right;
} }
} }

View File

@@ -6,10 +6,10 @@
position: absolute; position: absolute;
top: 0; top: 0;
height: 16px; height: 16px;
overflow: hidden;
border: 1px solid $gray-lighter; border: 1px solid $gray-lighter;
border-left-width: 0; border-left-width: 0;
text-align: center; text-align: center;
overflow: hidden;
&.nwday { &.nwday {
background-color: $gray-lightest; background-color: $gray-lightest;

View File

@@ -3,9 +3,9 @@
// -------------------------------------------------- // --------------------------------------------------
img.gravatar { img.gravatar {
overflow: hidden;
border-radius: $border-radius-large; border-radius: $border-radius-large;
line-height: 1; line-height: 1;
overflow: hidden;
vertical-align: middle; vertical-align: middle;
h2 &, h2 &,

View File

@@ -93,6 +93,15 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
font-size: 0; font-size: 0;
white-space: nowrap; white-space: nowrap;
@at-root a#{&} {
// scss-lint:disable ImportantRule
display: inline;
width: auto !important;
height: auto !important;
padding-left: 0 !important;
font-size: 0 !important;
}
&::before { &::before {
font-size: $font-size-base; font-size: $font-size-base;
} }
@@ -105,6 +114,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.icon-del::before { content: $fa-var-trash; } .icon-del::before { content: $fa-var-trash; }
.icon-move::before { content: $fa-var-arrows; } .icon-move::before { content: $fa-var-arrows; }
.icon-save::before { content: $fa-var-save; } .icon-save::before { content: $fa-var-save; }
.icon-download::before { content: $fa-var-download; }
.icon-cancel::before { content: $fa-var-ban; } .icon-cancel::before { content: $fa-var-ban; }
.icon-multiple::before { content: $fa-var-plus-circle; } .icon-multiple::before { content: $fa-var-plus-circle; }
.icon-folder::before { content: $fa-var-folder; } .icon-folder::before { content: $fa-var-folder; }
@@ -115,6 +125,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.icon-help::before { content: $fa-var-info-circle; } .icon-help::before { content: $fa-var-info-circle; }
.icon-attachment::before { content: $fa-var-paperclip; } .icon-attachment::before { content: $fa-var-paperclip; }
.icon-history::before { content: $fa-var-history; } .icon-history::before { content: $fa-var-history; }
.icon-time-entry::before { content: $fa-var-clock-o; }
.icon-time::before { content: $fa-var-clock-o; } .icon-time::before { content: $fa-var-clock-o; }
.icon-time-add::before { content: $fa-var-clock-o; } .icon-time-add::before { content: $fa-var-clock-o; }
.icon-stats::before { content: $fa-var-line-chart; } .icon-stats::before { content: $fa-var-line-chart; }
@@ -122,12 +133,16 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.icon-error::before { content: $fa-var-exclamation; } .icon-error::before { content: $fa-var-exclamation; }
.icon-fav::before { content: $fa-var-star; } .icon-fav::before { content: $fa-var-star; }
.icon-fav-off::before { content: $fa-var-star-o; } .icon-fav-off::before { content: $fa-var-star-o; }
.icon-heart::before { content: $fa-var-heart; }
.icon-heart-off::before { content: $fa-var-heart-o; }
.icon-reload::before { content: $fa-var-refresh; } .icon-reload::before { content: $fa-var-refresh; }
.icon-locked::before { content: $fa-var-lock; }
.icon-lock::before { content: $fa-var-lock; } .icon-lock::before { content: $fa-var-lock; }
.icon-unlock::before { content: $fa-var-unlock; } .icon-unlock::before { content: $fa-var-unlock; }
.icon-checked::before { content: $fa-var-check; } .icon-checked::before { content: $fa-var-check; }
.icon-details::before { content: $fa-var-search-plus; } .icon-details::before { content: $fa-var-search-plus; }
.icon-report::before { content: $fa-var-pie-chart; } .icon-report::before { content: $fa-var-pie-chart; }
.icon-comments::before { content: $fa-var-comment; }
.icon-comment::before { content: $fa-var-comment; } .icon-comment::before { content: $fa-var-comment; }
.icon-summary::before { content: $fa-var-file-text; } .icon-summary::before { content: $fa-var-file-text; }
.icon-server-authentication::before { content: $fa-var-key; } .icon-server-authentication::before { content: $fa-var-key; }
@@ -145,6 +160,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.icon-magnifier::before { content: $fa-var-search; } .icon-magnifier::before { content: $fa-var-search; }
.icon-email::before { content: $fa-var-envelope; } .icon-email::before { content: $fa-var-envelope; }
.icon-email-disabled::before { content: $fa-var-envelope-o; } .icon-email-disabled::before { content: $fa-var-envelope-o; }
.icon-email-add::before { content: $fa-var-envelope; }
.icon-move-up::before { content: $fa-var-angle-up; } .icon-move-up::before { content: $fa-var-angle-up; }
.icon-move-top::before { content: $fa-var-angle-double-up; } .icon-move-top::before { content: $fa-var-angle-double-up; }
.icon-move-down::before { content: $fa-var-angle-down; } .icon-move-down::before { content: $fa-var-angle-down; }
@@ -153,6 +169,30 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.icon-not-ok::before { content: $fa-var-times; } .icon-not-ok::before { content: $fa-var-times; }
.icon-link-break::before { content: $fa-var-chain-broken; } .icon-link-break::before { content: $fa-var-chain-broken; }
.icon-list::before { content: $fa-var-list-ul; } .icon-list::before { content: $fa-var-list-ul; }
.icon-sticky::before { content: $fa-var-thumb-tack; }
.icon-arrow-right::before { content: $fa-var-arrow-right; }
.icon-close::before { content: $fa-var-times-circle; }
.icon-close:hover::before { content: $fa-var-times-circle-o; }
.icon-settings::before { content: $fa-var-cog; }
.icon-group::before { content: $fa-var-users; }
.icon-groupnonmember::before { content: $fa-var-users; }
.icon-groupanonymous::before { content: $fa-var-users; }
.icon-roles::before { content: $fa-var-eye; }
.icon-issue-edit::before { content: $fa-var-edit; }
.icon-workflows::before { content: $fa-var-sitemap; }
.icon-custom-fields::before { content: $fa-var-edit; }
.icon-plugins::before { content: $fa-var-puzzle-piece; }
.icon-news::before { content: $fa-var-newspaper-o; }
.icon-issue-closed::before { content: $fa-var-ticket; }
.icon-issue-note::before { content: $fa-var-comment; }
.icon-changeset::before { content: $fa-var-upload; }
.icon-message::before { content: $fa-var-comment; }
.icon-reply::before { content: $fa-var-comment-o; }
.icon-wiki-page::before { content: $fa-var-file-text-o; }
.icon-document::before { content: $fa-var-file-text; }
.icon-project::before { content: $fa-var-cube; }
.icon-add-bullet::before { content: $fa-var-plus-circle; }
.icon-shared::before { content: $fa-var-link; }
} @else { } @else {
.icon { .icon {
padding-top: 2px; padding-top: 2px;
@@ -189,6 +229,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.icon-del { background-image: url("../../../images/delete.png"); } .icon-del { background-image: url("../../../images/delete.png"); }
.icon-move { background-image: url("../../../images/move.png"); } .icon-move { background-image: url("../../../images/move.png"); }
.icon-save { background-image: url("../../../images/save.png"); } .icon-save { background-image: url("../../../images/save.png"); }
.icon-download { background-image: url("../../../images/download.png"); }
.icon-cancel { background-image: url("../../../images/cancel.png"); } .icon-cancel { background-image: url("../../../images/cancel.png"); }
.icon-multiple { background-image: url("../../../images/table_multiple.png"); } .icon-multiple { background-image: url("../../../images/table_multiple.png"); }
.icon-folder { background-image: url("../../../images/folder.png"); } .icon-folder { background-image: url("../../../images/folder.png"); }
@@ -199,6 +240,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.icon-help { background-image: url("../../../images/help.png"); } .icon-help { background-image: url("../../../images/help.png"); }
.icon-attachment { background-image: url("../../../images/attachment.png"); } .icon-attachment { background-image: url("../../../images/attachment.png"); }
.icon-history { background-image: url("../../../images/history.png"); } .icon-history { background-image: url("../../../images/history.png"); }
.icon-time-entry { background-image: url("../../../images/time.png"); }
.icon-time { background-image: url("../../../images/time.png"); } .icon-time { background-image: url("../../../images/time.png"); }
.icon-time-add { background-image: url("../../../images/time_add.png"); } .icon-time-add { background-image: url("../../../images/time_add.png"); }
.icon-stats { background-image: url("../../../images/stats.png"); } .icon-stats { background-image: url("../../../images/stats.png"); }
@@ -207,11 +249,13 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.icon-fav { background-image: url("../../../images/fav.png"); } .icon-fav { background-image: url("../../../images/fav.png"); }
.icon-fav-off { background-image: url("../../../images/fav_off.png"); } .icon-fav-off { background-image: url("../../../images/fav_off.png"); }
.icon-reload { background-image: url("../../../images/reload.png"); } .icon-reload { background-image: url("../../../images/reload.png"); }
.icon-locked { background-image: url("../../../images/locked.png"); }
.icon-lock { background-image: url("../../../images/locked.png"); } .icon-lock { background-image: url("../../../images/locked.png"); }
.icon-unlock { background-image: url("../../../images/unlock.png"); } .icon-unlock { background-image: url("../../../images/unlock.png"); }
.icon-checked { background-image: url("../../../images/true.png"); } .icon-checked { background-image: url("../../../images/true.png"); }
.icon-details { background-image: url("../../../images/zoom_in.png"); } .icon-details { background-image: url("../../../images/zoom_in.png"); }
.icon-report { background-image: url("../../../images/report.png"); } .icon-report { background-image: url("../../../images/report.png"); }
.icon-comments { background-image: url("../../../images/comment.png"); }
.icon-comment { background-image: url("../../../images/comment.png"); } .icon-comment { background-image: url("../../../images/comment.png"); }
.icon-summary { background-image: url("../../../images/lightning.png"); } .icon-summary { background-image: url("../../../images/lightning.png"); }
.icon-server-authentication { background-image: url("../../../images/server_key.png"); } .icon-server-authentication { background-image: url("../../../images/server_key.png"); }
@@ -223,6 +267,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.icon-magnifier { background-image: url("../../../images/magnifier.png"); } .icon-magnifier { background-image: url("../../../images/magnifier.png"); }
.icon-email { background-image: url("../../../images/email.png"); } .icon-email { background-image: url("../../../images/email.png"); }
.icon-email-disabled { background-image: url("../../../images/email_disabled.png"); } .icon-email-disabled { background-image: url("../../../images/email_disabled.png"); }
.icon-email-add { background-image: url("../../../images/email_add.png"); }
.icon-move-up { background-image: url("../../../images/1uparrow.png"); } .icon-move-up { background-image: url("../../../images/1uparrow.png"); }
.icon-move-top { background-image: url("../../../images/2uparrow.png"); } .icon-move-top { background-image: url("../../../images/2uparrow.png"); }
.icon-move-down { background-image: url("../../../images/1downarrow.png"); } .icon-move-down { background-image: url("../../../images/1downarrow.png"); }
@@ -231,6 +276,30 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.icon-not-ok { background-image: url("../../../images/false.png"); } .icon-not-ok { background-image: url("../../../images/false.png"); }
.icon-link-break { background-image: url("../../../images/link_break.png"); } .icon-link-break { background-image: url("../../../images/link_break.png"); }
.icon-list { background-image: url("../../../images/text_list_bullets.png"); } .icon-list { background-image: url("../../../images/text_list_bullets.png"); }
.icon-sticky { background-image: url("../../../images/bullet_go.png"); }
.icon-arrow-right { background-image: url("../../../images/bullet_go.png"); }
.icon-close { background-image: url("../../../images/close.png"); }
.icon-close:hover { background-image: url("../../../images/close_hl.png"); }
.icon-settings { background-image: url("../../../images/changeset.png"); }
.icon-group { background-image: url("../../../images/group.png"); }
.icon-groupnonmember { background-image: url("../../../images/group.png"); }
.icon-groupanonymous { background-image: url("../../../images/group.png"); }
.icon-roles { background-image: url("../../../images/database_key.png"); }
.icon-issue-edit { background-image: url("../../../images/ticket_edit.png"); }
.icon-workflows { background-image: url("../../../images/ticket_go.png"); }
.icon-custom-fields { background-image: url("../../../images/textfield.png"); }
.icon-plugins { background-image: url("../../../images/plugin.png"); }
.icon-news { background-image: url("../../../images/news.png"); }
.icon-issue-closed { background-image: url("../../../images/ticket_checked.png"); }
.icon-issue-note { background-image: url("../../../images/ticket_note.png"); }
.icon-changeset { background-image: url("../../../images/changeset.png"); }
.icon-message { background-image: url("../../../images/message.png"); }
.icon-reply { background-image: url("../../../images/comments.png"); }
.icon-wiki-page { background-image: url("../../../images/wiki_edit.png"); }
.icon-document { background-image: url("../../../images/document.png"); }
.icon-project { background-image: url("../../../images/projects.png"); }
.icon-add-bullet { background-image: url("../../../images/bullet_add.png"); }
.icon-shared { background-image: url("../../../images/link.png"); }
} }
@@ -281,8 +350,8 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
.icon-file { .icon-file {
&::before { &::before {
color: $gray;
content: $fa-var-file-o; content: $fa-var-file-o;
color: $gray;
} }
&.text-plain::before { content: $fa-var-file-text-o; } &.text-plain::before { content: $fa-var-file-text-o; }
@@ -415,6 +484,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
&::before { content: $fa-var-ticket; } &::before { content: $fa-var-ticket; }
} }
.issue-statuses,
.issue_statuses { .issue_statuses {
@extend %admin-icon; @extend %admin-icon;
@@ -427,6 +497,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
&::before { content: $fa-var-sitemap; } &::before { content: $fa-var-sitemap; }
} }
.custom-fields,
.custom_fields { .custom_fields {
@extend %admin-icon; @extend %admin-icon;
@@ -457,6 +528,7 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
&::before { content: $fa-var-info-circle; } &::before { content: $fa-var-info-circle; }
} }
.ldap-authentication,
.server_authentication { .server_authentication {
@extend %admin-icon; @extend %admin-icon;
@@ -493,16 +565,16 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
cursor: move; cursor: move;
&::before { &::before {
content: $fa-var-arrows-v;
width: 16px; width: 16px;
margin: 0; margin: 0;
content: $fa-var-arrows-v;
} }
&.ajax-loading { &.ajax-loading {
&::before { &::before {
color: $gray;
animation: spin 1s linear infinite;
content: $fa-var-refresh; content: $fa-var-refresh;
animation: spin 1s linear infinite;
color: $gray;
} }
} }
} }
@@ -512,8 +584,8 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
width: 16px; width: 16px;
height: 16px; height: 16px;
background: url("../../../images/reorder.png") no-repeat 0 50%; background: url("../../../images/reorder.png") no-repeat 0 50%;
cursor: move;
vertical-align: middle; vertical-align: middle;
cursor: move;
&.ajax-loading { &.ajax-loading {
background-image: url("../../../images/loading.gif"); background-image: url("../../../images/loading.gif");
@@ -638,8 +710,8 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
@extend %fa-icon; @extend %fa-icon;
&::before { &::before {
color: $icon-success-color;
content: $fa-var-plus; content: $fa-var-plus;
color: $icon-success-color;
} }
&:hover::before, &:hover::before,
@@ -693,12 +765,12 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
} }
.my-project { .my-project {
@extend %fa-icon-after; @extend %fa-icon;
&::after { &::before {
content: $fa-var-star;
color: #f6ab02; color: #f6ab02;
font-size: $font-size-small; font-size: $font-size-small;
content: $fa-var-star;
} }
} }
@@ -739,15 +811,15 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
a.remove-upload { a.remove-upload {
@extend %fa-icon; @extend %fa-icon;
opacity: .75;
color: $icon-danger-color; color: $icon-danger-color;
text-align: center; text-align: center;
opacity: .75;
&:hover, &:hover,
&:focus { &:focus {
opacity: 1;
color: $icon-danger-hover-color; color: $icon-danger-hover-color;
text-decoration: none; text-decoration: none;
opacity: 1;
} }
&::before { &::before {
@@ -861,10 +933,10 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
@extend %fa-icon; @extend %fa-icon;
&::before { &::before {
content: $fa-var-external-link;
display: inline; display: inline;
margin-right: 3px; margin-right: 3px;
font-size: 10px; font-size: 10px;
content: $fa-var-external-link;
} }
} }
} }
@@ -886,9 +958,9 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
@extend %fa-icon; @extend %fa-icon;
&::before { &::before {
content: $fa-var-plus;
margin-right: .3em; margin-right: .3em;
color: $icon-success-color; color: $icon-success-color;
content: $fa-var-plus;
} }
&:hover::before, &:hover::before,
@@ -953,13 +1025,13 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
background: transparent; background: transparent;
&::before { &::before {
content: $fa-var-circle;
position: relative; position: relative;
top: -.12em; top: -.12em;
font-size: .7143em; font-size: .7143em;
content: $fa-var-circle;
} }
&.folder::before { top: 0; font-size: 1em; content: $fa-var-folder; } &.folder::before { content: $fa-var-folder; top: 0; font-size: 1em; }
&.folder.change-A::before { content: $fa-var-folder-open; } &.folder.change-A::before { content: $fa-var-folder-open; }
&.folder.change-M::before { content: $fa-var-folder-open; } &.folder.change-M::before { content: $fa-var-folder-open; }
&.change-A::before { content: $fa-var-plus-circle; } &.change-A::before { content: $fa-var-plus-circle; }
@@ -993,8 +1065,8 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
} }
.my-project { .my-project {
padding-right: 18px; padding-left: 18px;
background: url("../../../images/fav.png") no-repeat right center; background: url("../../../images/fav.png") no-repeat left center;
} }
.sort { .sort {
@@ -1094,8 +1166,8 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
@extend %fa-icon; @extend %fa-icon;
&::before { &::before {
color: $icon-danger-color;
content: $fa-var-trash; content: $fa-var-trash;
color: $icon-danger-color;
} }
&:hover::before, &:hover::before,
@@ -1116,8 +1188,8 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
@extend %fa-icon; @extend %fa-icon;
&::before { &::before {
color: $icon-success-color;
content: $fa-var-pencil; content: $fa-var-pencil;
color: $icon-success-color;
} }
&:hover::before, &:hover::before,
@@ -1129,8 +1201,8 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
padding-left: 0; padding-left: 0;
&::before { &::before {
margin: 0;
content: ""; content: "";
margin: 0;
} }
} }
@@ -1142,33 +1214,35 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
// Issue journal contextual icons // Issue journal contextual icons
.journal .contextual { .journal .wiki .contextual {
a { > a {
@extend %fa-icon; @extend %fa-icon;
&::before { &:not([class*="icon"]) {
content: $fa-var-comment; &::before {
content: $fa-var-comment;
}
&:nth-child(2) {
@include link-variant($icon-success-color, $icon-success-hover-color);
&::before {
content: $fa-var-pencil;
}
}
&:nth-child(3) {
@include link-variant($icon-danger-color, $icon-danger-hover-color);
&::before {
content: $fa-var-trash;
}
}
} }
img { img {
display: none; display: none;
} }
&:nth-child(2) {
@include link-variant($icon-success-color, $icon-success-hover-color);
&::before {
content: $fa-var-pencil;
}
}
&:nth-child(3) {
@include link-variant($icon-danger-color, $icon-danger-hover-color);
&::before {
content: $fa-var-trash;
}
}
} }
} }
@@ -1180,8 +1254,8 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
@extend %fa-icon; @extend %fa-icon;
&::before { &::before {
color: $icon-success-color;
content: $fa-var-plus-square; content: $fa-var-plus-square;
color: $icon-success-color;
} }
&:hover::before, &:hover::before,
@@ -1201,10 +1275,10 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
@extend %image-calendar; @extend %image-calendar;
position: relative; position: relative;
top: -1px; top: -1px;
box-sizing: border-box;
width: 14px; width: 14px;
height: 14px; height: 14px;
padding-left: 14px; padding-left: 14px;
box-sizing: border-box;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
@@ -1215,9 +1289,9 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
@extend %fa-icon; @extend %fa-icon;
&::before { &::before {
content: $fa-var-check;
margin-right: 0; margin-right: 0;
color: $icon-success-color; color: $icon-success-color;
content: $fa-var-check;
} }
img { img {
@@ -1232,13 +1306,13 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
@extend %fa-icon; @extend %fa-icon;
&[href*="edit"]::before { &[href*="edit"]::before {
color: $icon-success-color;
content: $fa-var-pencil; content: $fa-var-pencil;
color: $icon-success-color;
} }
&[data-method="delete"]::before { &[data-method="delete"]::before {
color: $icon-danger-color;
content: $fa-var-trash; content: $fa-var-trash;
color: $icon-danger-color;
} }
img { img {
@@ -1253,8 +1327,8 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
@extend %fa-icon; @extend %fa-icon;
&[data-method="delete"]::before { &[data-method="delete"]::before {
color: $icon-danger-color;
content: $fa-var-trash; content: $fa-var-trash;
color: $icon-danger-color;
} }
img { img {
@@ -1270,8 +1344,8 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
font-size: $font-size-base; font-size: $font-size-base;
&::before { &::before {
color: $icon-danger-color;
content: $fa-var-trash; content: $fa-var-trash;
color: $icon-danger-color;
} }
img { img {
@@ -1284,8 +1358,8 @@ $icon-danger-hover-color: darken($brand-danger, 10%);
font-size: $font-size-base; font-size: $font-size-base;
&::before { &::before {
color: $icon-success-color;
content: $fa-var-plus-square; content: $fa-var-plus-square;
color: $icon-success-color;
} }
img { img {

View File

@@ -13,6 +13,29 @@
word-wrap: break-word; word-wrap: break-word;
@if $use-gravatars { @if $use-gravatars {
// For Redmine 3.4+
.gravatar-with-child {
position: relative;
> img.gravatar {
width: $issue-gravatar-size;
height: $issue-gravatar-size;
margin-right: 10px;
margin-bottom: $line-height-computed / 2;
float: left;
&:nth-child(2) {
position: absolute;
top: $issue-gravatar-size * .6;
left: $issue-gravatar-size * .6;
width: $issue-gravatar-size * .5;
height: $issue-gravatar-size * .5;
border: 2px solid rgba(255, 255, 255, .9);
border-radius: 20%;
}
}
}
> img.gravatar { > img.gravatar {
width: $issue-gravatar-size; width: $issue-gravatar-size;
height: $issue-gravatar-size; height: $issue-gravatar-size;
@@ -29,7 +52,7 @@
> .subject, > .subject,
> .author { > .author {
padding-left: $issue-gravatar-size + 10px; padding-left: $issue-gravatar-size * 1.1 + 10px;
} }
} }
@@ -196,8 +219,9 @@
} }
div.attachments { div.attachments {
margin: $issue-padding (-$issue-padding) (-$issue-padding); margin: -$issue-padding;
padding: $issue-padding; padding: $issue-padding;
border-top: 0;
} }
} }
@@ -209,6 +233,11 @@ div.attachments {
padding: $line-height-computed 0; padding: $line-height-computed 0;
border-top: 1px solid $issue-border; border-top: 1px solid $issue-border;
@at-root .collapsible #{&} {
padding-top: 0;
border-top: 0;
}
p { p {
margin: 10px 0 0; margin: 10px 0 0;
} }
@@ -354,15 +383,15 @@ div.thumbnails {
} }
&::before { &::before {
content: "";
display: block; display: block;
position: absolute; position: absolute;
z-index: -1;
top: -($line-height-computed + 2px); top: -($line-height-computed + 2px);
left: 22px; left: 22px;
width: 4px; width: 4px;
height: $line-height-computed; height: $line-height-computed;
background-color: darken($body-bg, 5%); background-color: darken($body-bg, 5%);
content: "";
z-index: -1;
} }
.tabs + &::before { .tabs + &::before {
@@ -384,7 +413,32 @@ div.thumbnails {
} }
} }
h4 { // For Redmine 4.0+
> div > .contextual {
position: relative;
z-index: 1;
margin: 0;
padding: $bubble-padding-vertical $bubble-padding-horizontal;
font-size: $font-size-list;
> .journal-actions > a {
opacity: .5;
&:hover {
opacity: 1;
}
}
> a.journal-link {
color: $gray;
&::before {
content: "";
}
}
}
> div > h4 {
margin: 0; margin: 0;
padding: $bubble-padding-vertical $bubble-padding-horizontal; padding: $bubble-padding-vertical $bubble-padding-horizontal;
border-radius: $panel-border-radius $panel-border-radius 0 0; border-radius: $panel-border-radius $panel-border-radius 0 0;
@@ -406,11 +460,12 @@ div.thumbnails {
} }
@if $use-gravatars { @if $use-gravatars {
h4 { > div > h4 {
position: relative; position: relative;
&::before, &::before,
&::after { &::after {
content: " ";
display: block; display: block;
position: absolute; position: absolute;
top: 9px; top: 9px;
@@ -420,7 +475,6 @@ div.thumbnails {
height: 0; height: 0;
border-style: solid solid outset; border-style: solid solid outset;
border-color: transparent; border-color: transparent;
content: " ";
pointer-events: none; pointer-events: none;
} }
@@ -448,9 +502,9 @@ div.thumbnails {
margin: 0; margin: 0;
padding: $bubble-padding-vertical 0; padding: $bubble-padding-vertical 0;
padding-left: $bubble-padding-horizontal * 3; padding-left: $bubble-padding-horizontal * 3;
list-style: none;
border-top: 1px solid mix($body-bg, $issue-border, 50%); border-top: 1px solid mix($body-bg, $issue-border, 50%);
font-size: $font-size-list; font-size: $font-size-list;
list-style: none;
li { li {
position: relative; position: relative;
@@ -461,6 +515,7 @@ div.thumbnails {
} }
&::before { &::before {
content: "";
display: block; display: block;
position: absolute; position: absolute;
top: 5px; top: 5px;
@@ -469,7 +524,6 @@ div.thumbnails {
height: 6px; height: 6px;
border-radius: 50%; border-radius: 50%;
background-color: $gray-light; background-color: $gray-light;
content: "";
} }
} }
@@ -579,11 +633,11 @@ span.private {
div.changeset { div.changeset {
margin-top: $line-height-computed / 2 + 2px * 2; margin-top: $line-height-computed / 2 + 2px * 2;
overflow: hidden;
border: 1px solid $issue-border; border: 1px solid $issue-border;
border-radius: $panel-border-radius; border-radius: $panel-border-radius;
background-color: $issue-bg; background-color: $issue-bg;
font-size: $font-size-list; font-size: $font-size-list;
overflow: hidden;
&:first-of-type { &:first-of-type {
margin-top: 0; margin-top: 0;

View File

@@ -56,7 +56,7 @@
} }
.ui-icon { .ui-icon {
background-image: url("/stylesheets/jquery/images/ui-icons_ffffff_256x240.png"); background-image: url("../../../stylesheets/jquery/images/ui-icons_ffffff_256x240.png");
} }
} }
} }
@@ -70,9 +70,9 @@
.ui-widget-header .ui-state-default { .ui-widget-header .ui-state-default {
border: 1px solid $component-border; border: 1px solid $component-border;
background: $component-bg; background: $component-bg;
box-shadow: none;
color: $component-color; color: $component-color;
font-weight: normal; font-weight: normal;
box-shadow: none;
} }
.ui-state-default a, .ui-state-default a,
@@ -115,7 +115,7 @@
font-weight: normal; font-weight: normal;
.ui-icon { .ui-icon {
background-image: url("/stylesheets/jquery/images/ui-icons_ffffff_256x240.png"); background-image: url("../../../stylesheets/jquery/images/ui-icons_ffffff_256x240.png");
} }
} }
@@ -149,8 +149,8 @@
// //
.modal { .modal {
background: $body-bg;
z-index: 50; z-index: 50;
background: $body-bg;
h3.title { h3.title {
display: none; display: none;
@@ -167,10 +167,10 @@
@include nice-shadow(5); @include nice-shadow(5);
padding: 3px; padding: 3px;
border: 0 none; border: 0 none;
}
.ui-dialog-content { .ui-dialog-content {
padding: 1em; padding: 1em;
}
} }
.ui-dialog-titlebar-close { .ui-dialog-titlebar-close {
@@ -192,8 +192,8 @@
img.ui-datepicker-trigger { img.ui-datepicker-trigger {
margin-left: 4px; margin-left: 4px;
cursor: pointer;
vertical-align: middle; vertical-align: middle;
cursor: pointer;
} }
.ui-datepicker { .ui-datepicker {

View File

@@ -2,6 +2,63 @@
// WYSIWYG icons // WYSIWYG icons
// -------------------------------------------------- // --------------------------------------------------
// For Redmine 4.0+
#content {
div.jstTabs.tabs {
height: auto;
@if $flexbox-layout {
@media screen and (max-width: $redmine-responsive-max) {
clear: both;
}
}
ul {
width: 100%;
height: auto;
li {
height: auto;
margin: 0;
&::before {
content: none;
}
&:not(.tab-elements) {
@if $flexbox-layout {
align-self: flex-end;
}
.selected {
border-color: $input-border $input-border $tab-active-bg;
}
}
&.tab-elements {
margin-left: 5px;
}
}
}
.jstElements {
height: auto;
}
}
.jstEditor {
.wiki-preview {
padding: $input-padding-vertical $input-padding-horizontal;
border: 1px solid $input-border;
border-radius: $input-border-radius;
background-color: $wiki-preview-bg;
p {
padding: 0;
}
}
}
}
.jstElements { .jstElements {
@extend %clearfix; @extend %clearfix;
@@ -95,13 +152,13 @@
.jstb_h2 { .jstb_h2 {
@extend %jstb-icon; @extend %jstb-icon;
&::before { font-size: .7857em; content: $fa-var-header; } &::before { content: $fa-var-header; font-size: .7857em; }
} }
.jstb_h3 { .jstb_h3 {
@extend %jstb-icon; @extend %jstb-icon;
&::before { font-size: .6429em; content: $fa-var-header; } &::before { content: $fa-var-header; font-size: .6429em; }
} }
.jstb_ul { .jstb_ul {

View File

@@ -45,6 +45,12 @@ table.list {
text-align: center; text-align: center;
vertical-align: top; vertical-align: top;
@if $use-font-awesome {
&.icon {
padding-left: $table-cell-padding + 20px;
}
}
&.checkbox { &.checkbox {
width: 15px; width: 15px;
padding: $table-cell-padding 0 0; padding: $table-cell-padding 0 0;
@@ -67,12 +73,15 @@ table.list {
} }
&.assigned_to, &.assigned_to,
&.attachments,
&.author, &.author,
&.activity, &.activity,
&.category, &.category,
&.comments, &.comments,
&.description, &.description,
&.fixed_version, &.fixed_version,
&.last_notes,
&.last_updated_by,
&.name, &.name,
&.priority, &.priority,
&.relations, &.relations,
@@ -97,6 +106,10 @@ table.list {
&.reorder { &.reorder {
white-space: nowrap; white-space: nowrap;
} }
&.attachments a {
display: block;
}
} }
td, td,
@@ -199,8 +212,9 @@ tr.issue {
} }
.issues { .issues {
.description { .description,
padding: 0; .last_notes {
padding: $table-cell-padding;
text-align: left; text-align: left;
@media screen and (min-width: $screen-sm-min) { @media screen and (min-width: $screen-sm-min) {
@@ -283,6 +297,20 @@ tr.entry {
} }
} }
@if $table-list-color-odd-rows {
table.list:not(.odd-even) tbody tr:nth-child(odd),
.odd {
background-color: $table-bg-accent;
}
}
@if $table-list-color-even-rows {
table.list:not(.odd-even) tbody tr:nth-child(even),
.even {
background-color: $table-bg-accent;
}
}
//== Priorities //== Priorities
// //
@@ -328,6 +356,7 @@ tr.entry {
text-decoration: none; text-decoration: none;
&::after { &::after {
content: "";
display: block; display: block;
position: absolute; position: absolute;
right: 5px; right: 5px;
@@ -337,7 +366,6 @@ tr.entry {
transform: rotate(-4deg); transform: rotate(-4deg);
transition: border-color .1s; transition: border-color .1s;
border-top: 2px solid rgba($tracker-default-text, .95); border-top: 2px solid rgba($tracker-default-text, .95);
content: "";
} }
&:hover::after { &:hover::after {
@@ -351,8 +379,8 @@ tr.entry {
padding: $tracker-list-padding; padding: $tracker-list-padding;
&::before { &::before {
color: mix($tracker-default-text, $tracker-default-bg, 50%);
content: "#"; content: "#";
color: mix($tracker-default-text, $tracker-default-bg, 50%);
} }
} }
@@ -375,18 +403,6 @@ tr.entry {
} }
} }
@if $table-list-color-odd-rows {
.odd {
background-color: $table-bg-accent;
}
}
@if $table-list-color-even-rows {
.even {
background-color: $table-bg-accent;
}
}
//== List groups //== List groups
// //
@@ -603,6 +619,18 @@ table.files {
} }
} }
table.list.enumerations {
table-layout: fixed;
+ h3 {
margin-top: $line-height-computed * 2;
}
+ p {
margin-bottom: $line-height-computed * 2;
}
}
//== Totals //== Totals
// //

View File

@@ -2,46 +2,86 @@
// Login form // Login form
// -------------------------------------------------- // --------------------------------------------------
$login-form-width: 350px;
$login-input-width: 200px;
#login-form { #login-form {
box-sizing: border-box;
margin: $line-height-computed * 2 auto; margin: $line-height-computed * 2 auto;
label,
input:not([type="checkbox"]) {
width: 100%;
}
label {
display: block;
margin-bottom: $padding-base-vertical;
font-weight: $font-weight-bold;
&[for="autologin"] {
@include check;
margin-bottom: $line-height-computed;
}
> a {
float: right;
font-weight: $font-weight-normal;
}
}
input[type="text"],
input[type="password"] {
margin-bottom: $panel-body-padding-vertical;
}
table { table {
margin: auto; margin: auto;
table-layout: fixed;
} }
@media screen and (min-width: $screen-sm-min) { td {
width: $login-form-width; padding: 0;
padding: $panel-body-padding; &:first-child {
width: $login-form-label-width;
padding-right: $table-cell-padding;
white-space: nowrap;
}
> label {
margin-bottom: $panel-body-padding-vertical;
}
> input[type="submit"] {
width: auto;
margin-right: 0;
}
}
@media screen and (min-width: $login-form-box-breakpoint) {
width: $login-form-width;
padding: $padding-side;
border: 1px solid $panel-border; border: 1px solid $panel-border;
border-radius: $border-radius-base; border-radius: $border-radius-base;
background-color: $panel-bg; background-color: $panel-bg;
color: $panel-color;
box-shadow: $panel-shadow; box-shadow: $panel-shadow;
color: $panel-color;
table { table {
width: 100%; width: 100%;
} }
}
td { @each $adjustment, $languages in $login-form-adjustments-map {
width: 90%; // make columns expand @each $language in $languages {
padding: $table-cell-padding; html[lang="#{$language}"] & td:first-child {
width: $login-form-label-width + $adjustment * 1em;
}
} }
} }
} }
#username,
#password,
#openid_url { #openid_url {
width: $login-input-width; padding-right: $input-padding-horizontal + 24px;
}
#openid_url {
padding-right: 8px + 24px;
background-image: url("../../../images/openid-bg.gif"); background-image: url("../../../images/openid-bg.gif");
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: ($login-input-width - 24px) center; background-position: right $input-padding-horizontal center;
} }

View File

@@ -54,11 +54,11 @@
.page.current, .page.current,
.current > span { .current > span {
z-index: 2;
border-color: $pagination-active-border; border-color: $pagination-active-border;
background-color: $pagination-active-bg; background-color: $pagination-active-bg;
color: $pagination-active-color; color: $pagination-active-color;
cursor: default; cursor: default;
z-index: 2;
} }
.items, .items,

View File

@@ -30,12 +30,72 @@
} }
} }
.flyout-menu & {
a {
&:hover {
background-color: transparent;
}
}
}
.burndown_chart { .burndown_chart {
max-width: $sidebar-width-computed; max-width: $sidebar-width-computed;
} }
} }
//
// Redmine Hearts
// https://github.com/cat-in-136/redmine_hearts
// --------------------------------------------------
.journal > div + .contextual {
border: 0;
> .heart-link-with-count {
display: block;
position: relative;
margin: -($line-height-computed / 2 + 1px) $bubble-padding-vertical 0;
float: right;
border: 0;
background-color: $body-bg;
text-align: right;
}
}
@if $use-font-awesome {
.icon.icon-heart,
.icon.icon-heart-off {
background-image: none;
}
.icon.icon-heart {
&::before {
color: #eb5286;
}
}
.heart-link-with-count {
margin-left: $padding-small-vertical;
> .heart-count-number {
display: inline-block;
min-width: 1em;
margin: 0 0 0 3px;
padding: 1px 4px;
border-radius: $border-radius-base;
background-color: $btn-default-bg;
color: $btn-default-color;
text-align: center;
&::before {
content: "";
}
}
}
}
// //
// Redmine Time Tracker // Redmine Time Tracker
// https://github.com/fernandokosh/redmine_time_tracker // https://github.com/fernandokosh/redmine_time_tracker
@@ -188,8 +248,8 @@
td a { td a {
display: block; display: block;
max-width: floor($sidebar-width / 3); max-width: floor($sidebar-width / 3);
text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis;
&:hover { &:hover {
position: absolute; position: absolute;
@@ -325,3 +385,33 @@
} }
} }
} }
//
// Redmine WikiNG
// https://github.com/martin-denizet/wiking
// --------------------------------------------------
div.wiking {
&.flash {
@if $use-font-awesome {
&.warning,
&.notice,
&.tip {
background-image: none;
}
&.tip {
&::before {
content: $fa-var-lightbulb-o;
}
}
} @else {
&.warning,
&.notice,
&.tip {
background-position: $padding-large-horizontal 50%;
}
}
}
}

View File

@@ -15,7 +15,16 @@
display: none; display: none;
} }
.pagination {
.pages,
.per-page {
display: none;
}
}
#main { #main {
display: block;
overflow: visible !important; // scss-lint:disable ImportantRule
background: #fff; background: #fff;
} }
@@ -23,19 +32,48 @@
width: 100%; width: 100%;
margin: 0; margin: 0;
padding: 0; padding: 0;
overflow: visible !important; // scss-lint:disable ImportantRule
border: 0; border: 0;
background: #fff; background: #fff;
overflow: visible !important; // scss-lint:disable ImportantRule
} }
.autoscroll { .autoscroll {
overflow-x: visible; overflow-x: visible;
} }
a {
// scss-lint:disable ImportantRule
padding: 0 !important;
background-color: transparent !important;
color: #000 !important;
&::before,
&::after {
display: none !important;
}
&.issue.closed {
text-decoration: line-through;
}
}
table.list { table.list {
tr {
background-color: transparent;
}
th, th,
td { td {
border: 1px solid #aaa; border: 1px solid #aaa;
background-color: transparent;
&.buttons {
padding: 0;
a {
display: none;
}
}
} }
} }
} }

View File

@@ -7,8 +7,8 @@ table.progress {
margin-top: 1px; margin-top: 1px;
margin-right: 5px; margin-right: 5px;
float: left; float: left;
border: 1px solid rgba(#000, .1);
empty-cells: show; empty-cells: show;
border: 1px solid rgba(#000, .1);
.version-overview & { .version-overview & {
width: 40em; width: 40em;

View File

@@ -0,0 +1,209 @@
.theme-Purplemine2 {
@media screen and (max-width: $redmine-responsive-max) {
.flyout-menu + div {
#header {
height: $responsive-header-height;
background-color: $header-bg;
.jump-box-arrow {
&::before {
line-height: $responsive-header-height;
}
}
#quick-search {
select {
top: 0;
height: $responsive-header-height;
box-shadow: none;
}
}
}
#main {
padding-top: $responsive-header-height;
}
}
#header {
#project-jump {
padding: 0 $responsive-header-height 0 0;
.drdn-trigger {
display: block;
height: $responsive-header-height;
padding: 0 0 0 ($padding-base-horizontal + 30px);
background-color: transparent;
box-shadow: none;
line-height: $responsive-header-height;
&::before {
padding-left: $padding-base-horizontal;
font-size: 1.2em;
font-weight: normal;
line-height: $responsive-header-height * .9;
}
@if $use-font-awesome {
&::after {
display: none;
}
}
}
.drdn-content {
top: $responsive-header-height;
}
}
}
.mobile-toggle-button {
width: $responsive-header-height;
height: $responsive-header-height;
line-height: $responsive-header-height;
&:focus {
text-decoration: none;
}
}
.flyout-menu {
background-color: $flyout-menu-bg;
color: $flyout-menu-text;
&__search {
height: $responsive-header-height;
padding: ($padding-side / 2);
line-height: normal;
input[type='text'] {
height: $responsive-header-height - $padding-side;
line-height: $responsive-header-height - $padding-side;
}
}
a {
&,
&:hover,
&:focus {
color: $flyout-menu-link;
}
}
h3 {
border-top: 1px solid $flyout-menu-header-border;
border-bottom: 1px solid $flyout-menu-header-border;
background-color: $flyout-menu-header-bg;
color: $flyout-menu-header-text;
}
#admin-menu {
a {
background-position: 8px center;
@if $use-font-awesome {
&,
&:hover,
&:focus {
&::before {
color: $flyout-menu-link;
}
}
}
&.selected {
background-color: $body-bg;
color: $text-color;
@if $use-font-awesome {
&::before {
color: $text-color;
}
}
}
}
}
}
#query_form_content {
fieldset {
margin-bottom: $line-height-computed;
}
}
.search-magnifier {
&--flyout {
line-height: normal;
}
}
.splitcontentleft {
padding-right: 0;
float: none;
}
.splitcontentright {
padding-left: 0;
float: none;
}
p.buttons,
.other-formats > span,
#wiki_add_attachment > p,
#content > .contextual {
margin-bottom: $line-height-computed - $padding-small-horizontal;
padding: 0;
float: none;
text-align: left;
a {
display: inline-block;
margin: 0 $padding-small-vertical $padding-small-horizontal 0;
padding: ($btn-padding-vertical * 2) $btn-padding-horizontal;
border: 1px solid $pagination-border;
border-radius: $border-radius-base;
background-color: $pagination-bg;
background-position: $btn-padding-horizontal center;
font-weight: $btn-font-weight;
&:active,
&:hover,
&:focus {
border-color: $pagination-hover-border;
outline: 0;
background-color: $pagination-hover-bg;
text-decoration: none;
}
&:last-child {
margin-right: 0;
}
&.icon {
padding-left: 20px + $btn-padding-horizontal;
}
@if $use-font-awesome == false {
&.atom {
padding-left: 20px + $btn-padding-horizontal;
}
}
}
}
// For Redmine 3.4+
#my-page {
#list-left {
width: 100%;
padding-right: 0;
float: none;
}
#list-right {
width: 100%;
padding-left: 0;
float: none;
}
}
}
}

View File

@@ -0,0 +1,380 @@
//
// Syntax highlight - Rouge
// --------------------------------------------------
.syntaxhl {
background: #fafafa;
.hll {
background-color: #ffc;
}
// Comment
.c {
color: #888;
}
// Error
.err {
background-color: #faa;
color: #f00;
}
// Keyword
.k {
color: #080;
font-weight: bold;
}
// Operator
.o {
color: #333;
}
// Comment.Hashbang
.ch {
color: #888;
}
// Comment.Multiline
.cm {
color: #888;
}
// Comment.Preproc
.cp {
color: #579;
}
// Comment.PreprocFile
.cpf {
color: #888;
}
// Comment.Single
.c1 {
color: #888;
}
// Comment.Special
.cs {
color: #c00;
font-weight: bold;
}
// Generic.Deleted
.gd {
color: #a00000;
}
// Generic.Emph
.ge {
font-style: italic;
}
// Generic.Error
.gr {
color: #f00;
}
// Generic.Heading
.gh {
color: #000080;
font-weight: bold;
}
// Generic.Inserted
.gi {
color: #00a000;
}
// Generic.Output
.go {
color: #888;
}
// Generic.Prompt
.gp {
color: #c65d09;
font-weight: bold;
}
// Generic.Strong
.gs {
font-weight: bold;
}
// Generic.Subheading
.gu {
color: #800080;
font-weight: bold;
}
// Generic.Traceback
.gt {
color: #04d;
}
// Keyword.Constant
.kc {
color: #080;
font-weight: bold;
}
// Keyword.Declaration
.kd {
color: #080;
font-weight: bold;
}
// Keyword.Namespace
.kn {
color: #080;
font-weight: bold;
}
// Keyword.Pseudo
.kp {
color: #038;
font-weight: bold;
}
// Keyword.Reserved
.kr {
color: #080;
font-weight: bold;
}
// Keyword.Type
.kt {
color: #339;
font-weight: bold;
}
// Literal.Number
.m {
color: #60e;
font-weight: bold;
}
// Literal.String
.s {
background-color: #fff0f0;
}
// Name.Attribute
.na {
color: #00c;
}
// Name.Builtin
.nb {
color: #007020;
}
// Name.Class
.nc {
color: #b06;
font-weight: bold;
}
// Name.Constant
.no {
color: #036;
font-weight: bold;
}
// Name.Decorator
.nd {
color: #555;
font-weight: bold;
}
// Name.Entity
.ni {
color: #800;
font-weight: bold;
}
// Name.Exception
.ne {
color: #f00;
font-weight: bold;
}
// Name.Function
.nf {
color: #06b;
font-weight: bold;
}
// Name.Label
.nl {
color: #970;
font-weight: bold;
}
// Name.Namespace
.nn {
color: #0e84b5;
font-weight: bold;
}
// Name.Tag
.nt {
color: #070;
}
// Name.Variable
.nv {
color: #963;
}
// Operator.Word
.ow {
color: #000;
font-weight: bold;
}
// Text.Whitespace
.w {
color: #bbb;
}
// Literal.Number.Bin
.mb {
color: #60e;
font-weight: bold;
}
// Literal.Number.Float
.mf {
color: #60e;
font-weight: bold;
}
// Literal.Number.Hex
.mh {
color: #058;
font-weight: bold;
}
// Literal.Number.Integer
.mi {
color: #00d;
font-weight: bold;
}
// Literal.Number.Oct
.mo {
color: #40e;
font-weight: bold;
}
// Literal.String.Affix
.sa {
background-color: #fff0f0;
}
// Literal.String.Backtick
.sb {
background-color: #fff0f0;
}
// Literal.String.Char
.sc {
color: #04d;
}
// Literal.String.Delimiter
.dl {
background-color: #fff0f0;
}
// Literal.String.Doc
.sd {
color: #d42;
}
// Literal.String.Double
.s2 {
background-color: #fff0f0;
}
// Literal.String.Escape
.se {
background-color: #fff0f0;
color: #666;
font-weight: bold;
}
// Literal.String.Heredoc
.sh {
background-color: #fff0f0;
}
// Literal.String.Interpol
.si {
background-color: #eee;
}
// Literal.String.Other
.sx {
background-color: #fff0f0;
color: #d20;
}
// Literal.String.Regex
.sr {
background-color: #fff0ff;
color: #000;
}
// Literal.String.Single
.s1 {
background-color: #fff0f0;
}
// Literal.String.Symbol
.ss {
color: #a60;
}
// Name.Builtin.Pseudo
.bp {
color: #007020;
}
// Name.Function.Magic
.fm {
color: #06b;
font-weight: bold;
}
// Name.Variable.Class
.vc {
color: #369;
}
// Name.Variable.Global
.vg {
color: #d70;
font-weight: bold;
}
// Name.Variable.Instance
.vi {
color: #33b;
}
// Name.Variable.Magic
.vm {
color: #963;
}
// Literal.Number.Integer.Long
.il {
color: #00d;
font-weight: bold;
}
}

View File

@@ -72,8 +72,8 @@
} }
dd { dd {
font-size: $font-size-small;
overflow: hidden; overflow: hidden;
font-size: $font-size-small;
&.grouped { &.grouped {
margin-left: $activity-indent; margin-left: $activity-indent;
@@ -99,15 +99,15 @@
// Search form // Search form
#search-form { #search-form {
margin-bottom: $line-height-computed;
input, input,
select { select {
margin-right: 5px; margin-right: 5px;
} }
label { label {
@include checkbox; @include check-inline;
display: inline-block;
margin-right: 5px;
} }
p:last-child { p:last-child {

View File

@@ -2,11 +2,12 @@
// Tabs // Tabs
// -------------------------------------------------- // --------------------------------------------------
$tabs-height: $line-height-computed + $tab-padding-vertical * 2 + 1px + 1px;
.tabs { .tabs {
$tabs-buttons-width: 40px; $tabs-buttons-width: 40px;
position: relative; position: relative;
margin-bottom: $line-height-computed;
overflow: hidden; overflow: hidden;
@if not $flexbox-layout { @if not $flexbox-layout {
@@ -14,23 +15,21 @@
} }
> ul { > ul {
box-sizing: border-box;
margin: 0; margin: 0;
padding-left: 0; padding-left: 0;
border-bottom: 1px solid $tab-border;
list-style: none; list-style: none;
@if $flexbox-layout { @if $flexbox-layout {
display: flex; display: flex;
flex-wrap: nowrap; flex-wrap: nowrap;
height: $line-height-computed + $tab-padding-vertical * 2 + 1px; height: $tabs-height;
} @else { } @else {
width: 2000px; width: 2000px;
@extend %clearfix; @extend %clearfix;
} }
> li { > li {
margin-bottom: -1px;
@if $flexbox-layout { @if $flexbox-layout {
flex: 0 1 auto; flex: 0 1 auto;
} @else { } @else {
@@ -39,26 +38,15 @@
> a { > a {
display: block; display: block;
min-width: 2em; box-sizing: border-box;
min-width: 3em;
height: $tabs-height;
margin-right: 2px; margin-right: 2px;
padding: $tab-padding-vertical $tab-padding-horizontal; padding: $tab-padding-vertical $tab-padding-horizontal;
border: 1px solid transparent; border: 1px solid transparent;
border-radius: $border-radius-base $border-radius-base 0 0; border-radius: $border-radius-base $border-radius-base 0 0;
text-align: center; text-align: center;
white-space: nowrap; white-space: nowrap;
&:hover,
&:focus {
border-color: $tab-hover-border $tab-hover-border $tab-border;
background-color: $tab-hover-bg;
text-decoration: none;
}
&.selected {
border-color: $tab-active-border $tab-active-border $tab-active-bg;
background: $tab-active-bg;
color: $tab-active-text;
}
} }
} }
} }
@@ -68,24 +56,23 @@
top: 0; top: 0;
right: 0; right: 0;
width: $tabs-buttons-width; width: $tabs-buttons-width;
padding-left: 5px;
border-bottom: 1px solid $tab-border;
background-color: $body-bg; background-color: $body-bg;
> button { > button {
width: 50%; width: 50%;
height: $tab-padding-vertical * 2 + $line-height-computed + 1px; height: $tabs-height;
margin: 0; margin: 0;
padding: 0; padding: 0;
float: left; float: left;
transition: opacity .1s; transition: opacity .1s;
border: 0 none; border: 0 none;
border-bottom: 1px solid $tab-border;
border-radius: 0; border-radius: 0;
opacity: .8;
background-color: $body-bg; background-color: $body-bg;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center center; background-position: center center;
box-shadow: none; box-shadow: none;
opacity: .8;
&:hover, &:hover,
&:active { &:active {
@@ -107,6 +94,44 @@
} }
} }
div.tabs:not(#main-menu) {
height: $tabs-height;
margin-bottom: $line-height-computed;
> ul {
margin: 0;
padding: 0;
border-bottom: 1px solid $tab-border;
> li {
margin: 0 0 -1px;
background: transparent;
> a {
padding: $tab-padding-vertical $tab-padding-horizontal;
border-color: transparent;
background: transparent;
color: $link-color;
font: inherit;
&:hover,
&:focus {
border-color: $tab-hover-border $tab-hover-border $tab-border;
background-color: $tab-hover-bg;
color: $link-hover-color;
text-decoration: none;
}
&.selected {
border-color: $tab-active-border $tab-active-border $tab-active-bg;
background: $tab-active-bg;
color: $tab-active-text;
}
}
}
}
}
//== Specific tabs content layout //== Specific tabs content layout
// //
@@ -133,7 +158,7 @@
} }
label { label {
@include checkbox; @include check;
display: block; display: block;
margin-bottom: 3px; margin-bottom: 3px;
} }

View File

@@ -39,22 +39,14 @@
} }
user-select: none; user-select: none;
@if $use-font-awesome {
font-size: 14px;
&::before {
content: $fa-var-caret-square-o-down;
}
} @else {
@extend %image-arrow-down-white;
}
@if $use-font-awesome { @if $use-font-awesome {
@extend %fa-icon; @extend %fa-icon;
color: mix($top-menu-link, $top-menu-bg, 33%); color: mix($top-menu-link, $top-menu-bg, 33%);
font-size: 14px;
line-height: 1; line-height: 1;
&::before { &::before {
content: $fa-var-caret-square-o-down;
margin-right: 0; margin-right: 0;
} }
@@ -64,6 +56,7 @@
color: mix($top-menu-link-hover, $top-menu-bg, 50%); color: mix($top-menu-link-hover, $top-menu-bg, 50%);
} }
} @else { } @else {
@extend %image-arrow-down-white;
width: 15px; width: 15px;
height: 15px; height: 15px;
border-radius: $border-radius-base; border-radius: $border-radius-base;
@@ -103,6 +96,7 @@
margin: 0 .5em 0 0; margin: 0 .5em 0 0;
padding: 0; padding: 0;
list-style-type: none; list-style-type: none;
white-space: nowrap;
} }
a { a {
@@ -185,29 +179,20 @@
float: right; float: right;
color: $header-text; color: $header-text;
label {
font-weight: 500;
}
form { form {
display: inline; display: inline-block;
} }
input, input {
select { width: $quick-search-width;
margin-left: 5px; }
transition: color ease-in-out .1s,
background-color ease-in-out .1s, > form > input,
border-color ease-in-out .1s; > select {
border-color: darken($header-bg, 15%); border-color: $quick-search-border;
background: darken($header-bg, 10%);
color: $header-root;
&:focus { &:focus {
border-color: darken($header-bg, 35%); border-color: $quick-search-border-focus;
background-color: $input-bg;
color: $input-color;
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .3);
} }
} }
@@ -219,27 +204,80 @@
color: $gray-lighter; color: $gray-lighter;
} }
} }
}
input { #project-jump {
width: 200px; display: inline-block;
&.expanded {
.drdn-trigger {
z-index: 1003;
height: auto;
padding-bottom: $header-padding-horizontal / 2;
border-color: $quick-search-dropdown-bg;
background-color: $quick-search-dropdown-bg;
}
}
.drdn {
&-trigger {
min-width: $quick-search-width;
border-color: $quick-search-border;
}
&-content {
min-width: $quick-search-box-width;
background: $quick-search-dropdown-bg;
> .quick-search {
padding: $header-padding-horizontal / 2;
> input {
width: 100%;
}
}
}
&-items {
border-top: 1px solid $quick-search-dropdown-border;
}
}
a {
color: $main-menu-link;
&:hover,
&:focus {
outline: 0 none;
background-color: $component-active-bg;
color: $component-active-color;
text-decoration: none;
}
}
.all-projects a {
font-weight: $font-weight-bold;
} }
} }
#main-menu { #main-menu {
$tabs-height: $main-menu-padding-vertical * 2 + $line-height-computed;
clear: both; clear: both;
background-color: $main-menu-bg; background-color: $main-menu-bg;
color: $text-color;
box-shadow: inset 0 -1px $main-menu-border; box-shadow: inset 0 -1px $main-menu-border;
color: $text-color;
&.tabs { &.tabs {
margin-bottom: 0; margin-bottom: 0;
overflow: inherit; overflow: inherit;
> ul { > ul {
height: auto; height: $tabs-height;
> li { > li {
> a { > a {
height: $tabs-height;
border: 0 none; border: 0 none;
border-radius: 0; border-radius: 0;
background: transparent; background: transparent;
@@ -252,8 +290,8 @@
@extend %clearfix; @extend %clearfix;
margin: 0; margin: 0;
padding: 0 ($padding-side - $main-menu-padding-horizontal); padding: 0 ($padding-side - $main-menu-padding-horizontal);
color: $main-menu-link;
list-style: none; list-style: none;
color: $main-menu-link;
> li { > li {
position: relative; position: relative;
@@ -262,8 +300,8 @@
&:hover { &:hover {
> .new-object { > .new-object {
border-bottom: 1px solid $main-menu-dropdown-bg;
z-index: 100; z-index: 100;
border-bottom: 1px solid $main-menu-dropdown-bg;
} }
> .menu-children { > .menu-children {
@@ -287,21 +325,21 @@
&:hover, &:hover,
&:focus { &:focus {
outline: 0 none; outline: 0 none;
text-decoration: none;
box-shadow: inset 0 (-$main-menu-shadow-width) 0 $main-menu-shadow-hover; box-shadow: inset 0 (-$main-menu-shadow-width) 0 $main-menu-shadow-hover;
text-decoration: none;
} }
&.selected { &.selected {
padding-bottom: $main-menu-padding-vertical - $main-menu-shadow-width; padding-bottom: $main-menu-padding-vertical - $main-menu-shadow-width;
border-bottom: 3px solid $main-menu-shadow-active; border-bottom: 3px solid $main-menu-shadow-active;
box-shadow: none;
color: $main-menu-link-active; color: $main-menu-link-active;
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
box-shadow: none;
} }
&.new-object { &.new-object {
position: relative; position: relative;
min-width: 1.1em; min-width: 1.6em;
padding-bottom: $main-menu-padding-vertical - 1px; padding-bottom: $main-menu-padding-vertical - 1px;
border: 1px solid $main-menu-border; border: 1px solid $main-menu-border;
border-width: 0 1px; border-width: 0 1px;
@@ -328,14 +366,14 @@
@include nice-shadow(2); @include nice-shadow(2);
display: none; display: none;
position: absolute; position: absolute;
z-index: 1001;
min-width: 130px; min-width: 130px;
margin: 0 1px; margin: 0 1px;
padding: 0; padding: 0;
overflow: hidden;
list-style: none;
border-radius: 0 0 $border-radius-base $border-radius-base; border-radius: 0 0 $border-radius-base $border-radius-base;
background: $main-menu-dropdown-bg; background: $main-menu-dropdown-bg;
list-style: none;
overflow: hidden;
z-index: 1001;
&.visible { &.visible {
display: block; display: block;
@@ -367,7 +405,8 @@
background-color: $main-menu-bg; background-color: $main-menu-bg;
> button { > button {
height: $main-menu-padding-vertical * 2 + $line-height-computed - 1px; box-sizing: border-box;
height: $tabs-height;
background-color: $main-menu-bg; background-color: $main-menu-bg;
} }
} }

View File

@@ -3,13 +3,6 @@
font-size: $wiki-font-size; font-size: $wiki-font-size;
@if $wiki-page-more-vertical-space { @if $wiki-page-more-vertical-space {
// Anchors will make headers more separated,
// and it will look better when you open page with hash in URL
a[name]:empty {
display: block;
overflow: hidden;
}
// Add some space between list items // Add some space between list items
ul, ul,
ol { ol {
@@ -105,12 +98,12 @@ div.wiki {
+ h5, + h5,
+ h6 { + h6 {
&::before { &::before {
content: "#";
display: inline-block; display: inline-block;
width: .7em; width: .7em;
margin-left: -.7em; margin-left: -.7em;
color: $headings-anchor-color-active; color: $headings-anchor-color-active;
font-weight: normal; font-weight: normal;
content: "#";
} }
} }
} }
@@ -131,7 +124,7 @@ div.wiki {
.contextual { .contextual {
a { a {
opacity: .4; opacity: .5;
&:hover { &:hover {
opacity: 1; opacity: 1;
@@ -207,12 +200,12 @@ div.wiki {
width: auto; width: auto;
margin-bottom: 1.15em; margin-bottom: 1.15em;
padding: 4px 8px; padding: 4px 8px;
overflow-x: auto;
overflow-y: hidden;
border: 1px solid #e7e7e7; border: 1px solid #e7e7e7;
border-radius: $border-radius-base; border-radius: $border-radius-base;
border-color: rgba(#000, .068); border-color: rgba(#000, .068);
background-color: rgba(#000, .03); background-color: rgba(#000, .03);
overflow-x: auto;
overflow-y: hidden;
font-size: $font-size-small; font-size: $font-size-small;
code { code {
@@ -241,8 +234,8 @@ div.wiki {
border: 1px solid $highlight-border; border: 1px solid $highlight-border;
border-radius: $border-radius-base; border-radius: $border-radius-base;
background-color: $highlight-bg; background-color: $highlight-bg;
font-size: $font-size-small;
box-shadow: $panel-shadow; box-shadow: $panel-shadow;
font-size: $font-size-small;
a { a {
color: $highlight-text; color: $highlight-text;
@@ -283,8 +276,8 @@ div.wiki {
margin: 0; margin: 0;
li { li {
list-style-type: disc;
margin-left: 1.5em; margin-left: 1.5em;
list-style-type: disc;
li { li {
list-style-type: circle; list-style-type: circle;
@@ -345,12 +338,12 @@ p.footnote {
margin-bottom: 5px; margin-bottom: 5px;
&::before { &::before {
content: "";
display: block; display: block;
width: 300px; width: 300px;
margin-top: $line-height-computed; margin-top: $line-height-computed;
padding-top: $line-height-computed / 2; padding-top: $line-height-computed / 2;
border-top: 1px solid $gray-lighter; border-top: 1px solid $gray-lighter;
content: "";
} }
+ p.footnote::before { + p.footnote::before {
@@ -379,10 +372,19 @@ p.footnote {
float: left; float: left;
} }
#add_attachment_form { > form {
padding-top: $line-height-computed; padding-top: $line-height-computed;
clear: left; clear: left;
} }
.collapsible & {
padding-top: 0;
border-top: 0;
> form {
padding-top: 0;
}
}
} }

View File

@@ -1,115 +1,119 @@
@if $enable-sidebar-toggler { @if $enable-sidebar-toggler {
$toggler-position-v: 1px; $toggler-position-v: 1px;
$toggler-position-h: 1px; $toggler-position-h: 1px;
#main { #main {
position: relative; position: relative;
}
#sidebar {
@if $fixed-layout {
will-change: margin, opacity;
transition: margin .5s, opacity .5s;
opacity: 1;
} @else {
will-change: margin;
transition: margin .5s;
} }
#sidebar { &.sidebar-hiding {
@if $fixed-layout { @if $fixed-layout {
will-change: margin, opacity; opacity: 0;
transition: margin .5s, opacity .5s; }
opacity: 1; @if $sidebar-position == "left" {
} @else { margin-left: -$sidebar-width;
will-change: margin; } @else {
transition: margin .5s; margin-right: -$sidebar-width;
} }
&.sidebar-hiding {
@if $fixed-layout {
opacity: 0;
}
@if $sidebar-position == "left" {
margin-left: -$sidebar-width;
} @else {
margin-right: -$sidebar-width;
}
}
&.sidebar-hidden {
display: none;
}
} }
.sidebar-toggler { &.sidebar-hidden {
display: block; display: none;
position: absolute; }
top: $toggler-position-v; }
user-select: none;
.sidebar-toggler {
display: block;
position: absolute;
top: $toggler-position-v;
user-select: none;
@media print {
display: none;
}
@if $use-font-awesome {
@extend %fa-icon;
color: $gray-light;
line-height: 1;
&::before {
margin-right: 0;
}
&:hover,
&:focus,
&:active {
color: $gray;
}
} @else {
width: 15px;
height: 15px;
border-radius: $border-radius-base;
background-repeat: no-repeat;
background-position: center center;
&:hover,
&:focus,
&:active {
background-color: $gray-lighter;
}
}
@if $sidebar-position == "left" {
left: $toggler-position-h;
@if $use-font-awesome {
&::before {
content: $fa-var-caret-square-o-left;
}
} @else {
@extend %image-arrow-left;
}
} @else {
right: $toggler-position-h;
@if $use-font-awesome {
&::before {
content: $fa-var-caret-square-o-right;
}
} @else {
@extend %image-arrow-right;
}
}
&.sidebar-hidden {
@if $sidebar-position == "left" {
@if $use-font-awesome { @if $use-font-awesome {
@extend %fa-icon; &::before {
color: $gray-light; content: $fa-var-caret-square-o-right;
line-height: 1; }
&::before {
margin-right: 0;
}
&:hover,
&:focus,
&:active {
color: $gray;
}
} @else { } @else {
width: 15px; @extend %image-arrow-right;
height: 15px;
border-radius: $border-radius-base;
background-repeat: no-repeat;
background-position: center center;
&:hover,
&:focus,
&:active {
background-color: $gray-lighter;
}
} }
} @else {
@if $sidebar-position == "left" { @if $use-font-awesome {
left: $toggler-position-h; &::before {
content: $fa-var-caret-square-o-left;
@if $use-font-awesome { }
&::before {
content: $fa-var-caret-square-o-left;
}
} @else {
@extend %image-arrow-left;
}
} @else { } @else {
right: $toggler-position-h; @extend %image-arrow-left;
@if $use-font-awesome {
&::before {
content: $fa-var-caret-square-o-right;
}
} @else {
@extend %image-arrow-right;
}
}
&.sidebar-hidden {
@if $sidebar-position == "left" {
@if $use-font-awesome {
&::before {
content: $fa-var-caret-square-o-right;
}
} @else {
@extend %image-arrow-right;
}
} @else {
@if $use-font-awesome {
&::before {
content: $fa-var-caret-square-o-left;
}
} @else {
@extend %image-arrow-left;
}
}
} }
}
} }
}
} @else { } @else {
.sidebar-toggler { .sidebar-toggler {
display: none; display: none;
} }
} }

View File

@@ -4,9 +4,9 @@
@mixin clearfix() { @mixin clearfix() {
&::after { &::after {
content: "";
display: block; display: block;
clear: both; clear: both;
content: "";
} }
} }

View File

@@ -2,9 +2,9 @@
// //
@mixin form-control-focus($color: $input-border-focus) { @mixin form-control-focus($color: $input-border-focus) {
&:focus { &:focus {
border-color: $color; border-color: rgba($input-border-focus, $input-border-focus-alpha);
outline: 0; outline: 0;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075), 0 0 5px rgba($color, .5); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075), 0 0 0 2px rgba($input-border-focus, $input-shadow-focus-alpha);
} }
} }
@@ -12,8 +12,8 @@
// //
@mixin placeholder($color: $input-color-placeholder) { @mixin placeholder($color: $input-color-placeholder) {
&::placeholder { &::placeholder {
color: $color;
opacity: 1; // See https://github.com/twbs/bootstrap/pull/11526 opacity: 1; // See https://github.com/twbs/bootstrap/pull/11526
color: $color;
} }
} }
@@ -40,13 +40,36 @@
} }
} }
@mixin checkbox() { @mixin check() {
@extend %clearfix; @extend %clearfix;
padding-left: 20px; position: relative;
user-select: none; padding-left: $check-input-gutter;
text-align: left;
font-weight: $font-weight-normal;
input[type="checkbox"] { input[type="checkbox"],
margin-left: -20px; input[type="radio"] {
float: left; position: absolute;
width: auto;
margin-top: $check-input-margin-vertical;
margin-left: -$check-input-gutter;
}
}
@mixin check-inline() {
@include check;
display: inline-block;
margin-right: $check-input-margin-horizontal;
}
@mixin check-list() {
@include check;
display: block;
width: auto;
margin: $btn-padding-vertical 0;
float: none;
@media screen and (min-width: $screen-sm-min) {
margin: 0;
} }
} }

View File

@@ -7,6 +7,20 @@
$border-color: darken(desaturate($background, 30%), 13.5%); $border-color: darken(desaturate($background, 30%), 13.5%);
table.list:not(.odd-even) tbody tr#{$parent} {
@if $table-list-color-odd-rows {
&:nth-child(odd) {
background: darken($background, $table-accent-factor * 100%);
}
}
@if $table-list-color-even-rows {
&:nth-child(even) {
background: darken($background, $table-accent-factor * 100%);
}
}
}
tr#{$parent} { tr#{$parent} {
background: $background; background: $background;

View File

@@ -1,8 +1,8 @@
@import "common"; @import "common";
html { html {
overflow-y: scroll;
height: 100%; height: 100%;
overflow-y: scroll;
} }
body { body {
@@ -50,10 +50,10 @@ button,
input, input,
select, select,
textarea { textarea {
box-sizing: border-box;
font-family: inherit; font-family: inherit;
font-size: $font-size-base; font-size: $font-size-base;
line-height: $line-height-base; line-height: $line-height-base;
box-sizing: border-box;
} }
select, select,
@@ -71,13 +71,13 @@ input.editor,
border: 1px solid $input-border; border: 1px solid $input-border;
border-radius: $input-border-radius; border-radius: $input-border-radius;
background-color: $input-bg; background-color: $input-bg;
color: $input-color;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075);
color: $input-color;
} }
textarea { textarea {
resize: vertical;
height: auto; height: auto;
resize: vertical;
} }
select:-moz-focusring { select:-moz-focusring {
@@ -86,17 +86,17 @@ select:-moz-focusring {
} }
button.ui-multiselect { button.ui-multiselect {
box-sizing: border-box;
height: $input-height-base; height: $input-height-base;
padding: $input-padding-vertical $input-padding-horizontal; padding: $input-padding-vertical $input-padding-horizontal;
overflow: hidden;
transition: border-color ease-in-out .1s, box-shadow ease-in-out .1s; transition: border-color ease-in-out .1s, box-shadow ease-in-out .1s;
border: 1px solid $input-border; border: 1px solid $input-border;
background: $input-bg; background: $input-bg;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075);
color: $input-color; color: $input-color;
white-space: nowrap; white-space: nowrap;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075);
cursor: default; cursor: default;
overflow: hidden;
box-sizing: border-box;
&:hover, &:hover,
&:focus { &:focus {
@@ -125,11 +125,11 @@ button.ui-multiselect {
@include clearfix; @include clearfix;
display: block; display: block;
position: relative; position: relative;
z-index: 1000;
padding: 10px $padding-side; padding: 10px $padding-side;
overflow: hidden;
background-color: $main-menu-bg; background-color: $main-menu-bg;
box-shadow: $panel-shadow; box-shadow: $panel-shadow;
overflow: hidden;
z-index: 1000;
.breadcrumbs { .breadcrumbs {
margin-right: 10px; margin-right: 10px;
@@ -262,8 +262,8 @@ ul.ui-sortable {
.issue-description { .issue-description {
max-height: 10em; max-height: 10em;
margin-top: 12px; margin-top: 12px;
text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis;
} }
.issue-field { .issue-field {
@@ -293,8 +293,8 @@ ul.ui-sortable {
.rb-sortable-disabled, .rb-sortable-disabled,
.ui-sortable-disabled { .ui-sortable-disabled {
background-color: $gray-lighter;
opacity: .5; opacity: .5;
background-color: $gray-lighter;
} }
.w-rb-header-collapsed { .w-rb-header-collapsed {

View File

@@ -22,10 +22,10 @@
.ui-helper-reset { .ui-helper-reset {
margin: 0; margin: 0;
padding: 0; padding: 0;
list-style: none;
border: 0; border: 0;
outline: 0; outline: 0;
font-size: 100%; font-size: 100%;
list-style: none;
text-decoration: none; text-decoration: none;
} }
@@ -33,11 +33,11 @@
display: inline-block; display: inline-block;
&::after { &::after {
content: ".";
display: block; display: block;
visibility: hidden;
height: 0; height: 0;
clear: both; clear: both;
content: ".";
visibility: hidden;
} }
} }
@@ -76,9 +76,9 @@
.ui-icon { .ui-icon {
display: block; display: block;
overflow: hidden;
background-repeat: no-repeat; background-repeat: no-repeat;
text-indent: -9999px; text-indent: -9999px;
overflow: hidden;
} }
/* Misc visuals /* Misc visuals
@@ -156,9 +156,9 @@
.ui-widget-header .ui-state-default { .ui-widget-header .ui-state-default {
border: 1px solid $component-border; border: 1px solid $component-border;
background: $component-bg; background: $component-bg;
box-shadow: none;
color: $component-color; color: $component-color;
font-weight: normal; font-weight: normal;
box-shadow: none;
} }
.ui-state-default a, .ui-state-default a,
@@ -250,14 +250,14 @@
.ui-priority-secondary, .ui-priority-secondary,
.ui-widget-content .ui-priority-secondary { .ui-widget-content .ui-priority-secondary {
font-weight: normal;
opacity: .7; opacity: .7;
font-weight: normal;
} }
.ui-state-disabled, .ui-state-disabled,
.ui-widget-content .ui-state-disabled { .ui-widget-content .ui-state-disabled {
background-image: none;
opacity: .35; opacity: .35;
background-image: none;
} }
/* Icons /* Icons
@@ -520,16 +520,16 @@
/* Overlays */ /* Overlays */
.ui-widget-overlay { .ui-widget-overlay {
background: #000;
opacity: .3; opacity: .3;
background: #000;
} }
.ui-widget-shadow { .ui-widget-shadow {
margin: -8px 0 0 -8px; margin: -8px 0 0 -8px;
padding: 8px; padding: 8px;
border-radius: 8px; border-radius: 8px;
background: #aaa;
opacity: .3; opacity: .3;
background: #aaa;
} }
/* Resizable /* Resizable
@@ -542,8 +542,8 @@
.ui-resizable-handle { .ui-resizable-handle {
display: block; display: block;
position: absolute; position: absolute;
font-size: .1px;
z-index: 9999; z-index: 9999;
font-size: .1px;
} }
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-disabled .ui-resizable-handle,
@@ -660,9 +660,9 @@
margin-top: -2px; margin-top: -2px;
margin-bottom: 2px; margin-bottom: 2px;
padding: 1em 2.2em; padding: 1em 2.2em;
border-top: 0;
overflow: auto; overflow: auto;
zoom: 1; zoom: 1;
border-top: 0;
} }
.ui-accordion-content-active { .ui-accordion-content-active {
@@ -731,11 +731,11 @@
position: relative; position: relative;
margin-right: .1em; margin-right: .1em;
padding: 0; padding: 0;
overflow: visible;
zoom: 1;
text-align: center; text-align: center;
text-decoration: none !important; // scss-lint:disable ImportantRule text-decoration: none !important; // scss-lint:disable ImportantRule
cursor: pointer; cursor: pointer;
overflow: visible;
zoom: 1;
} }
/* the overflow property removes extra width in IE */ /* the overflow property removes extra width in IE */
@@ -881,10 +881,10 @@ button.ui-button::-moz-focus-inner {
.ui-dialog-content { .ui-dialog-content {
position: relative; position: relative;
padding: .5em 1em; padding: .5em 1em;
border: 0 none;
background: none;
overflow: auto; overflow: auto;
zoom: 1; zoom: 1;
border: 0 none;
background: none;
} }
.ui-dialog-buttonpane { .ui-dialog-buttonpane {
@@ -899,9 +899,9 @@ button.ui-button::-moz-focus-inner {
margin: .5em .4em .5em 0; margin: .5em .4em .5em 0;
padding: .2em .6em .3em; padding: .2em .6em .3em;
float: right; float: right;
overflow: visible;
line-height: 1.4em; line-height: 1.4em;
cursor: pointer; cursor: pointer;
overflow: visible;
} }
} }
@@ -926,19 +926,19 @@ button.ui-button::-moz-focus-inner {
.ui-slider-handle { .ui-slider-handle {
position: absolute; position: absolute;
z-index: 2;
width: 1.2em; width: 1.2em;
height: 1.2em; height: 1.2em;
cursor: default; cursor: default;
z-index: 2;
} }
.ui-slider-range { .ui-slider-range {
display: block; display: block;
position: absolute; position: absolute;
z-index: 1;
border: 0 none; border: 0 none;
background-position: 0 0; background-position: 0 0;
font-size: .7em; font-size: .7em;
z-index: 1;
} }
} }
@@ -1006,8 +1006,8 @@ button.ui-button::-moz-focus-inner {
margin: 0 .2em 1px 0; margin: 0 .2em 1px 0;
padding: 0; padding: 0;
float: left; float: left;
border-bottom: 0 !important; // scss-lint:disable ImportantRule
list-style: none; list-style: none;
border-bottom: 0 !important; // scss-lint:disable ImportantRule
white-space: nowrap; white-space: nowrap;
a { a {
@@ -1081,9 +1081,9 @@ button.ui-button::-moz-focus-inner {
.ui-state-default { .ui-state-default {
border: 1px solid $body-bg; border: 1px solid $body-bg;
background: $body-bg; background: $body-bg;
box-shadow: none;
color: $component-color; color: $component-color;
font-weight: normal; font-weight: normal;
box-shadow: none;
a, a,
a:link, a:link,
@@ -1169,8 +1169,8 @@ button.ui-button::-moz-focus-inner {
table { table {
width: 100%; width: 100%;
margin: 0 0 .4em; margin: 0 0 .4em;
font-size: .9em;
border-collapse: collapse; border-collapse: collapse;
font-size: .9em;
} }
th { th {
@@ -1220,8 +1220,8 @@ button.ui-button::-moz-focus-inner {
margin: .5em .2em .4em; margin: .5em .2em .4em;
padding: .2em .6em .3em; padding: .2em .6em .3em;
float: right; float: right;
cursor: pointer;
overflow: visible; overflow: visible;
cursor: pointer;
&.ui-datepicker-current { &.ui-datepicker-current {
float: left; float: left;

View File

@@ -57,9 +57,9 @@
@include nice-shadow(2); @include nice-shadow(2);
display: none; display: none;
position: absolute; position: absolute;
z-index: 10000;
padding: 3px; padding: 3px;
text-align: left; text-align: left;
z-index: 10000;
} }
.ui-multiselect-checkboxes { .ui-multiselect-checkboxes {

View File

@@ -13,13 +13,13 @@
@include nice-shadow(2); @include nice-shadow(2);
position: relative; position: relative;
padding: 10px; padding: 10px;
overflow: hidden;
border: 1px solid $tooltip-border; border: 1px solid $tooltip-border;
background-color: $tooltip-bg; background-color: $tooltip-bg;
color: $tooltip-text; color: $tooltip-text;
font-size: $font-size-list; font-size: $font-size-list;
text-align: left; text-align: left;
word-wrap: break-word; word-wrap: break-word;
overflow: hidden;
} }
.ui-tooltip-tip { .ui-tooltip-tip {
@@ -29,9 +29,9 @@
.ui-tooltip-tip { .ui-tooltip-tip {
position: absolute; position: absolute;
z-index: 10;
margin: 0 auto; margin: 0 auto;
overflow: hidden;
border: 0 none; border: 0 none;
background: transparent; background: transparent;
overflow: hidden;
z-index: 10;
} }

View File

@@ -189,9 +189,9 @@ $story-sp-input-width: 50px;
&:focus { &:focus {
border-color: lighten($header-bg, 25%); border-color: lighten($header-bg, 25%);
color: $gray-darkest;
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .2), box-shadow: inset 0 1px 3px rgba(0, 0, 0, .2),
0 0 0 1px lighten($header-bg, 25%); 0 0 0 1px lighten($header-bg, 25%);
color: $gray-darkest;
} }
} }
@@ -203,8 +203,8 @@ $story-sp-input-width: 50px;
.name { .name {
padding-left: $padding-base-horizontal; padding-left: $padding-base-horizontal;
font-weight: $font-weight-bold;
overflow: hidden; overflow: hidden;
font-weight: $font-weight-bold;
} }
.date { .date {
@@ -247,13 +247,13 @@ $story-sp-input-width: 50px;
.editors { .editors {
display: block; display: block;
position: absolute; position: absolute;
z-index: 1;
top: 0; top: 0;
left: 0; left: 0;
width: 100%; width: 100%;
padding-top: $editor-padding; padding-top: $editor-padding;
border-radius: $border-radius-large $border-radius-large 0 0; border-radius: $border-radius-large $border-radius-large 0 0;
background-color: $header-bg; background-color: $header-bg;
z-index: 1;
} }
label, label,
@@ -299,6 +299,7 @@ $story-sp-input-width: 50px;
.menu { .menu {
position: relative; position: relative;
height: $header-line-height; height: $header-line-height;
overflow: visible;
transition: background-color 0s .1s, border-color 0s .1s; transition: background-color 0s .1s, border-color 0s .1s;
border-right: 1px solid #888; border-right: 1px solid #888;
border-bottom: 1px solid $header-bg; border-bottom: 1px solid $header-bg;
@@ -306,13 +307,12 @@ $story-sp-input-width: 50px;
font-size: $font-size-small; font-size: $font-size-small;
line-height: $line-height-base; line-height: $line-height-base;
cursor: pointer; cursor: pointer;
overflow: visible;
&:hover { &:hover {
z-index: 1000;
transition: background-color 0s 0s, border-color 0s 0s; transition: background-color 0s 0s, border-color 0s 0s;
border-color: $body-bg; border-color: $body-bg;
background-color: $body-bg; background-color: $body-bg;
z-index: 1000;
} }
.icon { .icon {
@@ -325,20 +325,20 @@ $story-sp-input-width: 50px;
} }
ul { ul {
visibility: hidden;
position: absolute; position: absolute;
z-index: 999;
top: $header-line-height + 1px; top: $header-line-height + 1px;
left: -1px; left: -1px;
margin: 0; margin: 0;
padding: $padding-small-vertical 0; padding: $padding-small-vertical 0;
list-style: none;
transition: visibility 0s .1s; transition: visibility 0s .1s;
border: 1px solid $header-bg; border: 1px solid $header-bg;
border-top-width: 0; border-top-width: 0;
border-radius: 0 0 $border-radius-base $border-radius-base; border-radius: 0 0 $border-radius-base $border-radius-base;
background-color: $body-bg; background-color: $body-bg;
list-style: none;
box-shadow: 0 2px 1px rgba(#000, .1); box-shadow: 0 2px 1px rgba(#000, .1);
visibility: hidden;
z-index: 999;
a { a {
color: $gray-darker; color: $gray-darker;
@@ -346,8 +346,8 @@ $story-sp-input-width: 50px;
} }
&:hover .items { &:hover .items {
transition: visibility 0s 0s;
visibility: visible; visibility: visible;
transition: visibility 0s 0s;
} }
.item { .item {
@@ -385,8 +385,8 @@ $story-sp-input-width: 50px;
background-color: darken($body-bg, 8%); background-color: darken($body-bg, 8%);
ul { ul {
transition: visibility 0s 0s;
visibility: visible; visibility: visible;
transition: visibility 0s 0s;
} }
} }
} }
@@ -399,9 +399,9 @@ $story-sp-input-width: 50px;
.close_sprint { .close_sprint {
float: left; float: left;
overflow: hidden;
color: $header-link; color: $header-link;
white-space: nowrap; white-space: nowrap;
overflow: hidden;
} }
.closedbacklog { .closedbacklog {
@@ -425,8 +425,8 @@ $story-sp-input-width: 50px;
min-height: ($line-height-computed + $table-condensed-cell-padding * 2); min-height: ($line-height-computed + $table-condensed-cell-padding * 2);
margin: 0; margin: 0;
padding: 0; padding: 0;
font-size: $font-size-list;
list-style: none; list-style: none;
font-size: $font-size-list;
.v { .v {
display: none; display: none;
@@ -492,6 +492,7 @@ $story-sp-input-width: 50px;
text-align: right; text-align: right;
&::before { &::before {
content: "#";
margin-left: -1em; margin-left: -1em;
@if $color-trackers { @if $color-trackers {
color: mix($tracker-default-text, $tracker-default-bg, 50%); color: mix($tracker-default-text, $tracker-default-bg, 50%);
@@ -499,7 +500,6 @@ $story-sp-input-width: 50px;
color: $gray-light; color: $gray-light;
} }
font-weight: normal; font-weight: normal;
content: "#";
} }
&:hover { &:hover {
@@ -527,9 +527,9 @@ $story-sp-input-width: 50px;
width: $story-project-width; width: $story-project-width;
padding: $table-condensed-cell-padding 0 $table-condensed-cell-padding $table-condensed-cell-padding; padding: $table-condensed-cell-padding 0 $table-condensed-cell-padding $table-condensed-cell-padding;
float: left; float: left;
overflow: hidden;
text-align: center; text-align: center;
white-space: nowrap; white-space: nowrap;
overflow: hidden;
.t { .t {
overflow: hidden; overflow: hidden;
@@ -592,9 +592,9 @@ $story-sp-input-width: 50px;
&:focus { &:focus {
border-color: darken($highlight-border, 15%); border-color: darken($highlight-border, 15%);
color: $gray-darkest;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075), box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075),
0 0 5px rgba(darken($highlight-border, 15%), .5); 0 0 5px rgba(darken($highlight-border, 15%), .5);
color: $gray-darkest;
} }
} }
@@ -646,8 +646,8 @@ $story-sp-input-width: 50px;
width: calc(100% - #{$subject-width-minus}) !important; // scss-lint:disable ImportantRule width: calc(100% - #{$subject-width-minus}) !important; // scss-lint:disable ImportantRule
height: 60px; height: 60px;
float: left; float: left;
white-space: normal;
overflow: auto; overflow: auto;
white-space: normal;
} }
&.category_id { &.category_id {
@@ -682,8 +682,8 @@ $story-sp-input-width: 50px;
// Override: display story subject in multiple lines // Override: display story subject in multiple lines
.rb-multilinesubject & .subject { .rb-multilinesubject & .subject {
height: auto; height: auto;
white-space: normal;
overflow: show; overflow: show;
white-space: normal;
} }
@if $color-trackers { @if $color-trackers {

View File

@@ -64,11 +64,11 @@ $swimlane-width: $issue-width + 2 * ($issue-margin + $issue-paddi
#board_header { #board_header {
position: absolute; position: absolute;
z-index: 200;
margin-right: 10px; margin-right: 10px;
margin-bottom: 0; margin-bottom: 0;
border: 1px solid darken($header-bg, 5%); border: 1px solid darken($header-bg, 5%);
background-color: $header-bg; background-color: $header-bg;
z-index: 200;
td { td {
height: 20px; height: 20px;
@@ -146,12 +146,12 @@ $swimlane-width: $issue-width + 2 * ($issue-margin + $issue-paddi
.id { .id {
margin-bottom: 5px; margin-bottom: 5px;
padding: 0 3px; padding: 0 3px;
overflow: hidden;
border-radius: $border-radius-base; border-radius: $border-radius-base;
opacity: .8;
background-color: $body-bg; background-color: $body-bg;
font-size: .9em; font-size: .9em;
line-height: 16px; line-height: 16px;
opacity: .8;
overflow: hidden;
a, a,
.remaininghours { .remaininghours {
@@ -174,8 +174,8 @@ $swimlane-width: $issue-width + 2 * ($issue-margin + $issue-paddi
.subject { .subject {
height: $issue-height * .6; height: $issue-height * .6;
padding: 2px; padding: 2px;
line-height: 1.3;
overflow: hidden; overflow: hidden;
line-height: 1.3;
} }
&.closed .subject { &.closed .subject {
@@ -245,14 +245,14 @@ $swimlane-width: $issue-width + 2 * ($issue-margin + $issue-paddi
.id { .id {
margin-bottom: 5px; margin-bottom: 5px;
padding: 0 3px; padding: 0 3px;
overflow: hidden;
border-radius: $border-radius-base; border-radius: $border-radius-base;
opacity: .8;
background-color: $body-bg; background-color: $body-bg;
font-size: $font-size-small-px; font-size: $font-size-small-px;
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
line-height: 16px; line-height: 16px;
text-align: right; text-align: right;
opacity: .8;
overflow: hidden;
.v { .v {
display: none; display: none;
@@ -284,9 +284,9 @@ $swimlane-width: $issue-width + 2 * ($issue-margin + $issue-paddi
margin-top: 2px; margin-top: 2px;
padding: 2px; padding: 2px;
padding-top: 0; padding-top: 0;
overflow: hidden;
font-size: 9px; font-size: 9px;
white-space: nowrap; white-space: nowrap;
overflow: hidden;
} }
.v { .v {
@@ -375,9 +375,9 @@ $swimlane-width: $issue-width + 2 * ($issue-margin + $issue-paddi
} }
.ui-widget-header { .ui-widget-header {
opacity: .5;
background: none; background: none;
background-color: #fff; background-color: #fff;
opacity: .5;
} }
.ui-dialog-title { .ui-dialog-title {

File diff suppressed because one or more lines are too long