Compare commits
55 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 636e276a53 | |||
|
|
8cece5570e | ||
|
|
134960a957 | ||
|
|
929227fbda | ||
|
|
89ace106b2 | ||
|
|
bc5965aee3 | ||
|
|
69821b6ee2 | ||
|
|
50919b24db | ||
|
|
7fb8542baf | ||
|
|
4cad934780 | ||
|
|
4d5350abcf | ||
|
|
ee5f7c953a | ||
|
|
9d2eed48f8 | ||
|
|
3275e1b9aa | ||
|
|
b8758b4705 | ||
|
|
431ab76b5b | ||
|
|
c80281367d | ||
|
|
a1f1307acc | ||
|
|
611472863d | ||
|
|
46041bc868 | ||
|
|
164909da8a | ||
|
|
188df5599e | ||
|
|
2e7e3ceb54 | ||
|
|
cdbe0a187e | ||
|
|
8e3bffc518 | ||
|
|
24bfb52f7a | ||
|
|
125e09a18c | ||
|
|
8c1e5a99a5 | ||
|
|
4e1d1e05d8 | ||
|
|
75b0b63b92 | ||
|
|
dbb04bea5c | ||
|
|
ea28de2898 | ||
|
|
947464dd92 | ||
|
|
95cb578d8f | ||
|
|
41143cf15f | ||
|
|
745962541b | ||
|
|
665ff99d15 | ||
|
|
b823dda2d9 | ||
|
|
bf14f9fa3c | ||
|
|
58c45cf28f | ||
|
|
0dc89601b4 | ||
|
|
df3bf34032 | ||
|
|
acd262667a | ||
|
|
052fdbc2cc | ||
|
|
3a541692fa | ||
|
|
d1684a8d99 | ||
|
|
6bdbd2de8a | ||
|
|
9b9b3ca37e | ||
|
|
c0fd6f355c | ||
|
|
8298f58ee0 | ||
|
|
77e10d6f3d | ||
|
|
2d41c73928 | ||
|
|
ac0fe3f164 | ||
|
|
5ffef0b09b | ||
|
|
9ee2f1410e |
29
.github/workflows/lint.yml
vendored
29
.github/workflows/lint.yml
vendored
@@ -9,16 +9,16 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Use Node.js 10.x
|
- name: Use Node.js 16.x
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: "10.x"
|
node-version: 16.x
|
||||||
|
|
||||||
- name: Install npm dependencies
|
- name: Install npm dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
@@ -29,5 +29,24 @@ jobs:
|
|||||||
- name: Stylelint
|
- name: Stylelint
|
||||||
run: npm run lint:sass
|
run: npm run lint:sass
|
||||||
|
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [16.x, 18.x, 20.x]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
|
||||||
|
- name: Install npm dependencies
|
||||||
|
run: npm ci --production
|
||||||
|
|
||||||
- name: Check build
|
- name: Check build
|
||||||
run: npm run build
|
run: npm run build
|
||||||
|
|||||||
337
CHANGELOG.md
Normal file
337
CHANGELOG.md
Normal file
@@ -0,0 +1,337 @@
|
|||||||
|
v2.16.2 (2023-11-20):
|
||||||
|
|
||||||
|
* Fixed #268 calendar display with Redmine 5.1
|
||||||
|
|
||||||
|
v2.16.1 (2023-10-11):
|
||||||
|
|
||||||
|
* Fixed #266 typo of expanded icon class
|
||||||
|
|
||||||
|
v2.16.0 (2023-05-14):
|
||||||
|
|
||||||
|
* Update theme to make it work with 5.0.
|
||||||
|
* Fixed issues #222, #233, #242, #245, #246, #253, and few others.
|
||||||
|
|
||||||
|
v2.15.0 (2021-05-23):
|
||||||
|
|
||||||
|
* Updated styles for Redmine 4.2.
|
||||||
|
* Merged #225 (via #228): improved documents styles.
|
||||||
|
|
||||||
|
v2.14.0 (2021-01-27):
|
||||||
|
|
||||||
|
* Merged #220: fixed drag & drop behavior.
|
||||||
|
|
||||||
|
v2.13.0 (2020-09-26):
|
||||||
|
|
||||||
|
* Replaced node-sass with sass.
|
||||||
|
* Resolved issues with `inline-svg` function in Node 14.x.
|
||||||
|
|
||||||
|
v2.12.1 (2020-08-11):
|
||||||
|
|
||||||
|
* Fixed #204 - missing context menu icons in Easy WBS plugin.
|
||||||
|
|
||||||
|
v2.12.0 (2020-08-01):
|
||||||
|
|
||||||
|
* Fixed #196 and #199: text wrapping in certain column types.
|
||||||
|
* Merged #203: fixed pagination overlapping wiki content.
|
||||||
|
|
||||||
|
v2.11.0 (2020-05-08):
|
||||||
|
|
||||||
|
* Fixed #179: full screen mode issues when using redmine_wysiwyg_editor plugin.
|
||||||
|
* Fixed #177: changed styling for icon-only buttons to resolve weird behavior on hover.
|
||||||
|
* Added `$icon-width` variable.
|
||||||
|
* Added margin in some places like after buttons, avatars.
|
||||||
|
* Changed tooltip background to black.
|
||||||
|
* Changed top menu styles.
|
||||||
|
* Restored `$color-priorities` variable, `false` by default.
|
||||||
|
* Added `parse-length($value, $side)` function for extracting length/width from margin/padding/border.
|
||||||
|
* Fixed checkbox cell padding when issue table borders are enabled.
|
||||||
|
* Added table icon to jstoolbar styles.
|
||||||
|
* Refactored icons code.
|
||||||
|
* Improved styles for [RedmineUP](https://www.redmineup.com/pages/plugins) plugins (Agile, Checklists, CRM, Tags).
|
||||||
|
* Improved vertical alignment of certain form elements.
|
||||||
|
* Improved styles for sortable elements.
|
||||||
|
* Added new `.inline-flex` class.
|
||||||
|
* Improved styles for [Redmine Banner](https://github.com/akiko-pusu/redmine_banner) plugin.
|
||||||
|
|
||||||
|
v2.10.2 (2020-04-09):
|
||||||
|
|
||||||
|
* Fixed #175: couldn't edit note when it's URL target.
|
||||||
|
* Improved styling of some inline edit forms.
|
||||||
|
|
||||||
|
v2.10.1 (2020-04-06):
|
||||||
|
|
||||||
|
* Fixed #160: highlight color in jQuery UI menu, most notably in checklist plugin.
|
||||||
|
|
||||||
|
v2.10.0 (2020-04-05):
|
||||||
|
|
||||||
|
* Fixed #172 Collapsed/expended icons for completed versions.
|
||||||
|
* Fixed #171 "Display" label in Gantt option.
|
||||||
|
* Fixed #170 radio buttons in projects options.
|
||||||
|
* Fixed #169 styles in the spent time tab.
|
||||||
|
* Fixed #164: apply responsive overrides more generally
|
||||||
|
* Fixed #159: wrapping long text in issue attributes.
|
||||||
|
* Fixed #150: styling for query totals and expander in Agile plugin.
|
||||||
|
* Fixed #148: full screen view for Dashboard plugin.
|
||||||
|
* Fixed a "timeline" positioning in issue notes/changes.
|
||||||
|
* Changed lightness of shades 50 and 950.
|
||||||
|
* Changed loader styles.
|
||||||
|
* Changed rouge syntax highlighter color scheme.
|
||||||
|
|
||||||
|
v2.9.1 (2020-02-22):
|
||||||
|
|
||||||
|
* Merged fix #155: $.load function removed from jQuery.
|
||||||
|
* Fixed badge positioning in roadmap screen.
|
||||||
|
|
||||||
|
v2.9.0 (2020-01-30):
|
||||||
|
|
||||||
|
* Fixed #141: improved styling for issue edit form.
|
||||||
|
* Fixed #142: TOC assumes `left` by default, also added new variables to control how it looks.
|
||||||
|
* Fixed #143: `$main-menu-bg-hover` is now being used.
|
||||||
|
* Resolved #144: added `$main-menu-bg-active` variable.
|
||||||
|
* Resolved #145: added `$table-list-header-bg` variable.
|
||||||
|
* Fixed #147: corrected forum edit attached files icon.
|
||||||
|
* Fixed #153: improved styling for `label.block`.
|
||||||
|
* Added styling for clear query button.
|
||||||
|
* Improved responsive sidebar menu layout.
|
||||||
|
|
||||||
|
v2.8.0 (2019-08-13):
|
||||||
|
|
||||||
|
* Resolved #132: fixed spacing for headers on roadmap pages.
|
||||||
|
* Merged fix #136: broken layout with large image attachment.
|
||||||
|
|
||||||
|
v2.7.0 (2019-06-13):
|
||||||
|
|
||||||
|
* Resolved #124: added support for [issue-id](http://projects.andriylesyuk.com/projects/issue-id/) plugin.
|
||||||
|
|
||||||
|
v2.6.0 (2019-06-13):
|
||||||
|
|
||||||
|
* Resolved #121: added support for [redmine_wiki_page_tree](https://github.com/ledsun/redmine_wiki_page_tree) plugin.
|
||||||
|
|
||||||
|
v2.5.0 (2019-06-05):
|
||||||
|
|
||||||
|
* Fixed #117, #118 and added many improvements to the responsive layout.
|
||||||
|
|
||||||
|
v2.4.0 (2019-06-02):
|
||||||
|
|
||||||
|
* Synchronized most application styles with Redmine's default theme.
|
||||||
|
* Fixed #115: color overdue date in issue lists.
|
||||||
|
|
||||||
|
v2.3.1 (2019-05-09):
|
||||||
|
|
||||||
|
* Fixed #112: improved highlight contrast in text diffs.
|
||||||
|
|
||||||
|
v2.3.0 (2019-05-09):
|
||||||
|
|
||||||
|
* Fixed #107: nested lists in the sidebar via [Additionals](https://www.redmine.org/plugins/additionals) plugin.
|
||||||
|
|
||||||
|
v2.2.0 (2019-04-09):
|
||||||
|
|
||||||
|
* Fixed #101, #102: tooltip positioning
|
||||||
|
|
||||||
|
v2.1.1 (2019-03-23):
|
||||||
|
|
||||||
|
* Fixed sidebar toggler style when fixed layout is enabled
|
||||||
|
* Fixed contextual dropdown padding in mobile view
|
||||||
|
|
||||||
|
v1.11.0 (2019-03-22):
|
||||||
|
|
||||||
|
* Backported fixes from v2:
|
||||||
|
* Fixed #89: [RM+ custom menu](http://rmplus.pro/en/redmine/plugins/custom_menu) breaking the layout
|
||||||
|
* Fixed #90: regression in some sidebar layouts
|
||||||
|
* Fixed #93: Agile chart expanding indefinitely when Additional "Go to top" link is enabled
|
||||||
|
* Fixed #94: subtasks indentation
|
||||||
|
* Fixed styling of some flash messages
|
||||||
|
* Fixed horizontal scrollbar appearing when sidebar is on the right
|
||||||
|
* Fixed footer being mispositioned in Agile charts
|
||||||
|
* Fixed positioning of admin menu icons for some plugins
|
||||||
|
* Improved support for [Redmine Tags](https://www.redmineup.com/pages/plugins/tags) plugin
|
||||||
|
* Added separator line between news on the news list
|
||||||
|
* Improved Redmine 4.0 compatibility
|
||||||
|
* Updated Font Awesome icons to 4.7.0
|
||||||
|
|
||||||
|
v2.1.0 (2019-03-22):
|
||||||
|
|
||||||
|
* Added CSS grid layout support (off by default because of IE support)
|
||||||
|
* Fixed styling of some flash messages
|
||||||
|
* Fixed horizontal scrollbar appearing when sidebar is on the right
|
||||||
|
* Fixed footer being mispositioned in Agile charts
|
||||||
|
* Improved support for [Redmine Tags](https://www.redmineup.com/pages/plugins/tags) plugin
|
||||||
|
* Fixed positioning of admin menu icons for some plugins
|
||||||
|
* Added separator line between news on the news list
|
||||||
|
* Fixed #93: Agile chart expanding indefinitely when Additional "Go to top" link is enabled
|
||||||
|
* Fixed #94: subtasks indentation
|
||||||
|
* Improved progress bar styling, avatar positioning, WYSIWYG button styling, wiki preview font sizes
|
||||||
|
|
||||||
|
v2.0.2 (2019-03-20):
|
||||||
|
|
||||||
|
* Fixed #89: [RM+ custom menu](http://rmplus.pro/en/redmine/plugins/custom_menu) breaking the layout
|
||||||
|
|
||||||
|
v2.0.1 (2019-03-17):
|
||||||
|
|
||||||
|
* Fixed #90: regression in some sidebar layouts
|
||||||
|
* Removed reduntant `abbr[title]` styles
|
||||||
|
|
||||||
|
v2.0 (2019-03-13):
|
||||||
|
|
||||||
|
* Refreshed, modernized look & feel
|
||||||
|
* Added priority icons
|
||||||
|
* Removed `$color-priorities` setting and styles
|
||||||
|
* Improved Redmine 4.0 compatibility
|
||||||
|
* Updated Font Awesome icons to 4.7.0
|
||||||
|
|
||||||
|
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):
|
||||||
|
|
||||||
|
* Fixed #19: missing text wrapping for long text custom fields
|
||||||
|
* Fixed #20: applied Font Awesome font-family for icons in Time Tracker overview
|
||||||
|
* Fixed duplicated pencil icon for Description in issue form in Redmine 3.1.2+
|
||||||
|
* Fixed #21: added styling for compatibility with layout changes in Redmine 3.2.0
|
||||||
|
* Fixed #23: set width for progress bars
|
||||||
|
* Fixed #25: proper styles for pagination
|
||||||
|
* Fixed #28: correct icon will be displayed for users that cannot edit notes in journal
|
||||||
|
* Fixed #30: styles will now compile with latest Sass
|
||||||
|
* Fixed #32, #33: improve @shawndibble's styles for new main menu styles in Redmine 3.3
|
||||||
|
* Various small visual tweaks
|
||||||
|
* Fixed #34: project breadcrumbs in the header should wrap nicely
|
||||||
|
* Fixed #35: `.icon-only` class should now display only icons, buttons with icons should de displayed correctly with Font-Awesome disabled
|
||||||
|
* Fixed #36: npm dependencies can be installed on production environments + update grunt to its latest version
|
||||||
|
* Fixed #37: added support for drag'n'drop re-ordering in issue statuses, roles, and trackers settings
|
||||||
|
* Fixed #38: corrected z-index for dropdown new item menu on backlogs page (thanks to @futaz, see PR #39)
|
||||||
|
* Changed indentation to 2 spaces (to match with Redmine's coding style)
|
||||||
|
* Introduced [autoprefixer](https://github.com/postcss/autoprefixer) via [PostCSS](http://postcss.org)
|
||||||
|
* Updated [scss-lint](https://github.com/brigade/scss-lint) rules
|
||||||
|
* Added [JavaScript Standard Style](http://standardjs.com)
|
||||||
|
|
||||||
|
v1.7.2 (2015-10-12):
|
||||||
|
|
||||||
|
* Fixed `.pagination` float in project members settings
|
||||||
|
* Lists' cells are aligned to center by default (as in Redmine's default theme)
|
||||||
|
|
||||||
|
v1.7.1 (2015-10-10):
|
||||||
|
|
||||||
|
+ Improved styling for [Stuff To Do][stuff_to_do] plugin
|
||||||
|
|
||||||
|
v1.7.0 (2015-09-25):
|
||||||
|
|
||||||
|
* Added styles for optgroup (Firefox only)
|
||||||
|
* Fixed #13: #header was missing clearfix and was breaking the layout is some cases
|
||||||
|
* Coloring issue's title instead of link in Gantt diagram for overdue issues
|
||||||
|
* Updated npm packages: grunt-sass from 0.18.0 to 1.0.0 and grunt-contrib-uglify 0.7.0 to 0.9.1
|
||||||
|
* Use flexbox layout by default (can be changed by setting `$flexbox-layout` to `false`)
|
||||||
|
* Fixed animation issue when showing sidebar
|
||||||
|
* Slightly modified buttons' style
|
||||||
|
* Few visual tweaks: nicer shadows, improved datepickers layout
|
||||||
|
+ Configurable list borders and highlighting of hovered and even/odd rows
|
||||||
|
+ Introduce `$pagination-padding-` variables and make pagination buttons' height equal to buttons by default
|
||||||
|
* Fixed #16: remove `white-space: nowrap` from external links to prevent breaking the page with flexbox layout
|
||||||
|
* Fixed colored trackers in tooltips in Backlogs plugin
|
||||||
|
* Fixed broken codebutton modal after making buttons wider
|
||||||
|
* Changed the license to MIT
|
||||||
|
|
||||||
|
v1.6.0 (2015-06-10):
|
||||||
|
|
||||||
|
* Fixed #8: Setting `$top-menu-collapse` to `true` will enable script allowing to toggle if top menu should be collapsed (no wrapping) or expanded (wrapped, with auto height)
|
||||||
|
+ Header matching current URL fragment will have `#` prepended
|
||||||
|
+ Introduced `$font-weight-normal` and `$font-weight-bold` variables to give better control on the appearance of text with custom fonts
|
||||||
|
* Fixed #9: Added `$main-menu-collapse` and applied the same logic as in #8
|
||||||
|
* Fixed #12: Removed `display: block` from issue's subject link to allow context menu to popup upon right click next to subject
|
||||||
|
* Resolved #11: Company logo can be added to the header
|
||||||
|
|
||||||
|
v1.5.0 (2015-04-15):
|
||||||
|
|
||||||
|
* Fixed #5: Added default style for colored issue links.
|
||||||
|
* Introduced `$tracker-colors-map` and removed `$tracker-X-bg` variables.
|
||||||
|
See d220db1 comments for more details.
|
||||||
|
* Fixed #6: Added default padding for table cells.
|
||||||
|
|
||||||
|
v1.4.1 (2015-04-14):
|
||||||
|
|
||||||
|
* Fixed #3: Closed tasks will be more appreciable.
|
||||||
|
|
||||||
|
v1.4.0 (2015-04-10):
|
||||||
|
|
||||||
|
+ Introduced option `$wiki-page-more-vertical-space` (by default `true`) to improve wiki pages' readability even more
|
||||||
|
* Fixed bottom margin of `pre` tag
|
||||||
|
+ Added a few helper classes from Bootstrap
|
||||||
|
* WYSIWYG's icons will squeeze a little bit on smaller screens
|
||||||
|
* Images in headers will be aligned to the middle vertically
|
||||||
|
+ Introduced `text-normal` class for resetting font's weight
|
||||||
|
+ Added class `toc-active-prev` that will "highlight" TOC as "active".
|
||||||
|
* Fixed #2: Make sure that `.sort` with Font Awesome icons won't have background image
|
||||||
|
* Fixed attachments div's layout for wiki pages
|
||||||
|
|
||||||
|
For more details, see [release v1.4.0](https://github.com/mrliptontea/PurpleMine2/releases/tag/v1.4.0)
|
||||||
|
|
||||||
|
v1.3.0 (2015-04-01):
|
||||||
|
|
||||||
|
* Backlogs: make it possible to click on empty field
|
||||||
|
* Corrected issue form columns widths so they will be equal in all fieldsets
|
||||||
|
* Changesets will look similar to issue's journal
|
||||||
|
+ Improved revision page layout and added Font Awesome icons
|
||||||
|
+ Improved file content view
|
||||||
|
* Fixed #1: Font Awesome icons will no longer break plugins' icons
|
||||||
|
+ Introduced styles for [People][redmine_crm_people] plugin
|
||||||
|
* Enhanced styles for activities list
|
||||||
|
* Regular buttons (e.g. `Cancel`) will look like links in dialog windows
|
||||||
|
* Fixed look of collapsible arrow in Firefox
|
||||||
|
+ Overrode Redmine's revision graph function to make it look better
|
||||||
|
+ Animated collapsible fieldsets
|
||||||
|
+ Custom image based icons changed to base64 embedded data
|
||||||
|
|
||||||
|
v1.2.0 (2015-03-03):
|
||||||
|
|
||||||
|
* Fixed .warning style
|
||||||
|
+ Coloring status on issue page (it'll look like label)
|
||||||
|
* Fixed master backlog sub-menu accessibility
|
||||||
|
+ Changed font weight to normal for sub-projects in project list
|
||||||
|
* Fixed watch task path for .js
|
||||||
|
- Removed unnecessary classes from .sidebar-toggler
|
||||||
|
* Fixed external link icon, when URI contains the word 'edit'
|
||||||
|
* Fixed wiki page headers links font-size
|
||||||
|
+ Changed some trackers default colors
|
||||||
|
+ Bolded user name on issue page if it's current user
|
||||||
|
* Issue's journal appearance changed once again
|
||||||
|
+ Some improvements in wiki formatting
|
||||||
|
+ Introduced HistoryTabs for filtering issue journals
|
||||||
|
* Improved issue page styles and adjusted default priority colors
|
||||||
|
* Backlogs: added delay before hiding backlog menu
|
||||||
|
* Changed ancestor project name in top to equal font size, but different weight
|
||||||
|
* Fixed context menu position regression introduced by sidebar toggle
|
||||||
|
|
||||||
|
v1.1.0 (2015-02-15):
|
||||||
|
|
||||||
|
+ Changed issue's journal appearance
|
||||||
|
+ jQuery UI menus look improved
|
||||||
|
+ Removed box-shadow from boxes
|
||||||
|
+ Bumped grunt-sass version
|
||||||
|
+ Toggling sidebar visibility
|
||||||
|
+ Recompressed images
|
||||||
|
+ Changelog added
|
||||||
|
|
||||||
|
v1.0.0 (2015-02-06):
|
||||||
|
|
||||||
|
Initial version
|
||||||
@@ -4,11 +4,11 @@ module.exports = function (grunt) {
|
|||||||
|
|
||||||
sass: {
|
sass: {
|
||||||
options: {
|
options: {
|
||||||
implementation: require('node-sass'),
|
implementation: require('sass'),
|
||||||
sourceMap: false,
|
sourceMap: false,
|
||||||
outputStyle: 'compressed',
|
outputStyle: 'compressed',
|
||||||
functions: {
|
functions: {
|
||||||
'inline-svg': require('sass-inline-svg')('./svg', {
|
'inline-svg($path, $selectors: null)': require('@liquid-js/sass-inline-svg')('./svg', {
|
||||||
optimize: true,
|
optimize: true,
|
||||||
encodingFormat: 'uri'
|
encodingFormat: 'uri'
|
||||||
})
|
})
|
||||||
|
|||||||
313
README.md
313
README.md
@@ -1,6 +1,6 @@
|
|||||||
# PurpleMine 2
|
# PurpleMine 2
|
||||||
|
|
||||||
A free Redmine theme for modern browsers.
|
A free Redmine 3.0+ theme written in SCSS.
|
||||||
|
|
||||||
 [](http://standardjs.com/)  [](https://github.com/mrliptontea/PurpleMine2/issues)
|
 [](http://standardjs.com/)  [](https://github.com/mrliptontea/PurpleMine2/issues)
|
||||||
|
|
||||||
@@ -8,8 +8,6 @@ A free Redmine theme for modern browsers.
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
Compatible with Redmine 3.0+ 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.
|
||||||
|
|
||||||
## Main features
|
## Main features
|
||||||
@@ -18,7 +16,7 @@ It's written in [SCSS]. It uses [normalize.css] and benefits from some parts of
|
|||||||
* Github-like wiki content look,
|
* Github-like wiki content look,
|
||||||
* Sidebar moved to the left for better ergonomy,
|
* Sidebar moved to the left for better ergonomy,
|
||||||
* Coloring trackers links (on lists, issue pages and even in the wiki content),
|
* Coloring trackers links (on lists, issue pages and even in the wiki content),
|
||||||
* Highlighting issues priority on the list and on the issue page,
|
* Jira-inspired priority icons,
|
||||||
* Toggling sidebar visibility,
|
* Toggling sidebar visibility,
|
||||||
* Easy to customize via variables.
|
* Easy to customize via variables.
|
||||||
|
|
||||||
@@ -56,312 +54,7 @@ If you need to customize styles for [Redmine Backlogs][redmine_backlogs] remembe
|
|||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
v2.12.0 (2020-08-01):
|
[Changelog](./CHANGELOG.md).
|
||||||
|
|
||||||
* Fixed #196 and #199: text wrapping in certain column types.
|
|
||||||
* Merged #203: fixed pagination overlapping wiki content.
|
|
||||||
|
|
||||||
v2.11.0 (2020-05-08):
|
|
||||||
|
|
||||||
* Fixed #179: full screen mode issues when using redmine_wysiwyg_editor plugin.
|
|
||||||
* Fixed #177: changed styling for icon-only buttons to resolve weird behavior on hover.
|
|
||||||
* Added `$icon-width` variable.
|
|
||||||
* Added margin in some places like after buttons, avatars.
|
|
||||||
* Changed tooltip background to black.
|
|
||||||
* Changed top menu styles.
|
|
||||||
* Restored `$color-priorities` variable, `false` by default.
|
|
||||||
* Added `parse-length($value, $side)` function for extracting length/width from margin/padding/border.
|
|
||||||
* Fixed checkbox cell padding when issue table borders are enabled.
|
|
||||||
* Added table icon to jstoolbar styles.
|
|
||||||
* Refactored icons code.
|
|
||||||
* Improved styles for [RedmineUP](https://www.redmineup.com/pages/plugins) plugins (Agile, Checklists, CRM, Tags).
|
|
||||||
* Improved vertical alignment of certain form elements.
|
|
||||||
* Improved styles for sortable elements.
|
|
||||||
* Added new `.inline-flex` class.
|
|
||||||
* Improved styles for [Redmine Banner](https://github.com/akiko-pusu/redmine_banner) plugin.
|
|
||||||
|
|
||||||
v2.10.2 (2020-04-09):
|
|
||||||
|
|
||||||
* Fixed #175: couldn't edit note when it's URL target.
|
|
||||||
* Improved styling of some inline edit forms.
|
|
||||||
|
|
||||||
v2.10.1 (2020-04-06):
|
|
||||||
|
|
||||||
* Fixed #160: highlight color in jQuery UI menu, most notably in checklist plugin.
|
|
||||||
|
|
||||||
v2.10.0 (2020-04-05):
|
|
||||||
|
|
||||||
* Fixed #172 Collapsed/expended icons for completed versions.
|
|
||||||
* Fixed #171 "Display" label in Gantt option.
|
|
||||||
* Fixed #170 radio buttons in projects options.
|
|
||||||
* Fixed #169 styles in the spent time tab.
|
|
||||||
* Fixed #164: apply responsive overrides more generally
|
|
||||||
* Fixed #159: wrapping long text in issue attributes.
|
|
||||||
* Fixed #150: styling for query totals and expander in Agile plugin.
|
|
||||||
* Fixed #148: full screen view for Dashboard plugin.
|
|
||||||
* Fixed a "timeline" positioning in issue notes/changes.
|
|
||||||
* Changed lightness of shades 50 and 950.
|
|
||||||
* Changed loader styles.
|
|
||||||
* Changed rouge syntax highlighter color scheme.
|
|
||||||
|
|
||||||
v2.9.1 (2020-02-22):
|
|
||||||
|
|
||||||
* Merged fix #155: $.load function removed from jQuery.
|
|
||||||
* Fixed badge positioning in roadmap screen.
|
|
||||||
|
|
||||||
v2.9.0 (2020-01-30):
|
|
||||||
|
|
||||||
* Fixed #141: improved styling for issue edit form.
|
|
||||||
* Fixed #142: TOC assumes `left` by default, also added new variables to control how it looks.
|
|
||||||
* Fixed #143: `$main-menu-bg-hover` is now being used.
|
|
||||||
* Resolved #144: added `$main-menu-bg-active` variable.
|
|
||||||
* Resolved #145: added `$table-list-header-bg` variable.
|
|
||||||
* Fixed #147: corrected forum edit attached files icon.
|
|
||||||
* Fixed #153: improved styling for `label.block`.
|
|
||||||
* Added styling for clear query button.
|
|
||||||
* Improved responsive sidebar menu layout.
|
|
||||||
|
|
||||||
v2.8.0 (2019-08-13):
|
|
||||||
|
|
||||||
* Resolved #132: fixed spacing for headers on roadmap pages.
|
|
||||||
* Merged fix #136: broken layout with large image attachment.
|
|
||||||
|
|
||||||
v2.7.0 (2019-06-13):
|
|
||||||
|
|
||||||
* Resolved #124: added support for [issue-id](http://projects.andriylesyuk.com/projects/issue-id/) plugin.
|
|
||||||
|
|
||||||
v2.6.0 (2019-06-13):
|
|
||||||
|
|
||||||
* Resolved #121: added support for [redmine_wiki_page_tree](https://github.com/ledsun/redmine_wiki_page_tree) plugin.
|
|
||||||
|
|
||||||
v2.5.0 (2019-06-05):
|
|
||||||
|
|
||||||
* Fixed #117, #118 and added many improvements to the responsive layout.
|
|
||||||
|
|
||||||
v2.4.0 (2019-06-02):
|
|
||||||
|
|
||||||
* Synchronized most application styles with Redmine's default theme.
|
|
||||||
* Fixed #115: color overdue date in issue lists.
|
|
||||||
|
|
||||||
v2.3.1 (2019-05-09):
|
|
||||||
|
|
||||||
* Fixed #112: improved highlight contrast in text diffs.
|
|
||||||
|
|
||||||
v2.3.0 (2019-05-09):
|
|
||||||
|
|
||||||
* Fixed #107: nested lists in the sidebar via [Additionals](https://www.redmine.org/plugins/additionals) plugin.
|
|
||||||
|
|
||||||
v2.2.0 (2019-04-09):
|
|
||||||
|
|
||||||
* Fixed #101, #102: tooltip positioning
|
|
||||||
|
|
||||||
v2.1.1 (2019-03-23):
|
|
||||||
|
|
||||||
* Fixed sidebar toggler style when fixed layout is enabled
|
|
||||||
* Fixed contextual dropdown padding in mobile view
|
|
||||||
|
|
||||||
v1.11.0 (2019-03-22):
|
|
||||||
|
|
||||||
* Backported fixes from v2:
|
|
||||||
* Fixed #89: [RM+ custom menu](http://rmplus.pro/en/redmine/plugins/custom_menu) breaking the layout
|
|
||||||
* Fixed #90: regression in some sidebar layouts
|
|
||||||
* Fixed #93: Agile chart expanding indefinitely when Additional "Go to top" link is enabled
|
|
||||||
* Fixed #94: subtasks indentation
|
|
||||||
* Fixed styling of some flash messages
|
|
||||||
* Fixed horizontal scrollbar appearing when sidebar is on the right
|
|
||||||
* Fixed footer being mispositioned in Agile charts
|
|
||||||
* Fixed positioning of admin menu icons for some plugins
|
|
||||||
* Improved support for [Redmine Tags](https://www.redmineup.com/pages/plugins/tags) plugin
|
|
||||||
* Added separator line between news on the news list
|
|
||||||
* Improved Redmine 4.0 compatibility
|
|
||||||
* Updated Font Awesome icons to 4.7.0
|
|
||||||
|
|
||||||
v2.1.0 (2019-03-22):
|
|
||||||
|
|
||||||
* Added CSS grid layout support (off by default because of IE support)
|
|
||||||
* Fixed styling of some flash messages
|
|
||||||
* Fixed horizontal scrollbar appearing when sidebar is on the right
|
|
||||||
* Fixed footer being mispositioned in Agile charts
|
|
||||||
* Improved support for [Redmine Tags](https://www.redmineup.com/pages/plugins/tags) plugin
|
|
||||||
* Fixed positioning of admin menu icons for some plugins
|
|
||||||
* Added separator line between news on the news list
|
|
||||||
* Fixed #93: Agile chart expanding indefinitely when Additional "Go to top" link is enabled
|
|
||||||
* Fixed #94: subtasks indentation
|
|
||||||
* Improved progress bar styling, avatar positioning, WYSIWYG button styling, wiki preview font sizes
|
|
||||||
|
|
||||||
v2.0.2 (2019-03-20):
|
|
||||||
|
|
||||||
* Fixed #89: [RM+ custom menu](http://rmplus.pro/en/redmine/plugins/custom_menu) breaking the layout
|
|
||||||
|
|
||||||
v2.0.1 (2019-03-17):
|
|
||||||
|
|
||||||
* Fixed #90: regression in some sidebar layouts
|
|
||||||
* Removed reduntant `abbr[title]` styles
|
|
||||||
|
|
||||||
v2.0 (2019-03-13):
|
|
||||||
|
|
||||||
* Refreshed, modernized look & feel
|
|
||||||
* Added priority icons
|
|
||||||
* Removed `$color-priorities` setting and styles
|
|
||||||
* Improved Redmine 4.0 compatibility
|
|
||||||
* Updated Font Awesome icons to 4.7.0
|
|
||||||
|
|
||||||
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):
|
|
||||||
|
|
||||||
* Fixed #19: missing text wrapping for long text custom fields
|
|
||||||
* Fixed #20: applied Font Awesome font-family for icons in Time Tracker overview
|
|
||||||
* Fixed duplicated pencil icon for Description in issue form in Redmine 3.1.2+
|
|
||||||
* Fixed #21: added styling for compatibility with layout changes in Redmine 3.2.0
|
|
||||||
* Fixed #23: set width for progress bars
|
|
||||||
* Fixed #25: proper styles for pagination
|
|
||||||
* Fixed #28: correct icon will be displayed for users that cannot edit notes in journal
|
|
||||||
* Fixed #30: styles will now compile with latest Sass
|
|
||||||
* Fixed #32, #33: improve @shawndibble's styles for new main menu styles in Redmine 3.3
|
|
||||||
* Various small visual tweaks
|
|
||||||
* Fixed #34: project breadcrumbs in the header should wrap nicely
|
|
||||||
* Fixed #35: `.icon-only` class should now display only icons, buttons with icons should de displayed correctly with Font-Awesome disabled
|
|
||||||
* Fixed #36: npm dependencies can be installed on production environments + update grunt to its latest version
|
|
||||||
* Fixed #37: added support for drag'n'drop re-ordering in issue statuses, roles, and trackers settings
|
|
||||||
* Fixed #38: corrected z-index for dropdown new item menu on backlogs page (thanks to @futaz, see PR #39)
|
|
||||||
* Changed indentation to 2 spaces (to match with Redmine's coding style)
|
|
||||||
* Introduced [autoprefixer](https://github.com/postcss/autoprefixer) via [PostCSS](http://postcss.org)
|
|
||||||
* Updated [scss-lint](https://github.com/brigade/scss-lint) rules
|
|
||||||
* Added [JavaScript Standard Style](http://standardjs.com)
|
|
||||||
|
|
||||||
v1.7.2 (2015-10-12):
|
|
||||||
|
|
||||||
* Fixed `.pagination` float in project members settings
|
|
||||||
* Lists' cells are aligned to center by default (as in Redmine's default theme)
|
|
||||||
|
|
||||||
v1.7.1 (2015-10-10):
|
|
||||||
|
|
||||||
+ Improved styling for [Stuff To Do][stuff_to_do] plugin
|
|
||||||
|
|
||||||
v1.7.0 (2015-09-25):
|
|
||||||
|
|
||||||
* Added styles for optgroup (Firefox only)
|
|
||||||
* Fixed #13: #header was missing clearfix and was breaking the layout is some cases
|
|
||||||
* Coloring issue's title instead of link in Gantt diagram for overdue issues
|
|
||||||
* Updated npm packages: grunt-sass from 0.18.0 to 1.0.0 and grunt-contrib-uglify 0.7.0 to 0.9.1
|
|
||||||
* Use flexbox layout by default (can be changed by setting `$flexbox-layout` to `false`)
|
|
||||||
* Fixed animation issue when showing sidebar
|
|
||||||
* Slightly modified buttons' style
|
|
||||||
* Few visual tweaks: nicer shadows, improved datepickers layout
|
|
||||||
+ Configurable list borders and highlighting of hovered and even/odd rows
|
|
||||||
+ Introduce `$pagination-padding-` variables and make pagination buttons' height equal to buttons by default
|
|
||||||
* Fixed #16: remove `white-space: nowrap` from external links to prevent breaking the page with flexbox layout
|
|
||||||
* Fixed colored trackers in tooltips in Backlogs plugin
|
|
||||||
* Fixed broken codebutton modal after making buttons wider
|
|
||||||
* Changed the license to MIT
|
|
||||||
|
|
||||||
v1.6.0 (2015-06-10):
|
|
||||||
|
|
||||||
* Fixed #8: Setting `$top-menu-collapse` to `true` will enable script allowing to toggle if top menu should be collapsed (no wrapping) or expanded (wrapped, with auto height)
|
|
||||||
+ Header matching current URL fragment will have `#` prepended
|
|
||||||
+ Introduced `$font-weight-normal` and `$font-weight-bold` variables to give better control on the appearance of text with custom fonts
|
|
||||||
* Fixed #9: Added `$main-menu-collapse` and applied the same logic as in #8
|
|
||||||
* Fixed #12: Removed `display: block` from issue's subject link to allow context menu to popup upon right click next to subject
|
|
||||||
* Resolved #11: Company logo can be added to the header
|
|
||||||
|
|
||||||
v1.5.0 (2015-04-15):
|
|
||||||
|
|
||||||
* Fixed #5: Added default style for colored issue links.
|
|
||||||
* Introduced `$tracker-colors-map` and removed `$tracker-X-bg` variables.
|
|
||||||
See d220db1 comments for more details.
|
|
||||||
* Fixed #6: Added default padding for table cells.
|
|
||||||
|
|
||||||
v1.4.1 (2015-04-14):
|
|
||||||
|
|
||||||
* Fixed #3: Closed tasks will be more appreciable.
|
|
||||||
|
|
||||||
v1.4.0 (2015-04-10):
|
|
||||||
|
|
||||||
+ Introduced option `$wiki-page-more-vertical-space` (by default `true`) to improve wiki pages' readability even more
|
|
||||||
* Fixed bottom margin of `pre` tag
|
|
||||||
+ Added a few helper classes from Bootstrap
|
|
||||||
* WYSIWYG's icons will squeeze a little bit on smaller screens
|
|
||||||
* Images in headers will be aligned to the middle vertically
|
|
||||||
+ Introduced `text-normal` class for resetting font's weight
|
|
||||||
+ Added class `toc-active-prev` that will "highlight" TOC as "active".
|
|
||||||
* Fixed #2: Make sure that `.sort` with Font Awesome icons won't have background image
|
|
||||||
* Fixed attachments div's layout for wiki pages
|
|
||||||
|
|
||||||
For more details, see [release v1.4.0](https://github.com/mrliptontea/PurpleMine2/releases/tag/v1.4.0)
|
|
||||||
|
|
||||||
v1.3.0 (2015-04-01):
|
|
||||||
|
|
||||||
* Backlogs: make it possible to click on empty field
|
|
||||||
* Corrected issue form columns widths so they will be equal in all fieldsets
|
|
||||||
* Changesets will look similar to issue's journal
|
|
||||||
+ Improved revision page layout and added Font Awesome icons
|
|
||||||
+ Improved file content view
|
|
||||||
* Fixed #1: Font Awesome icons will no longer break plugins' icons
|
|
||||||
+ Introduced styles for [People][redmine_crm_people] plugin
|
|
||||||
* Enhanced styles for activities list
|
|
||||||
* Regular buttons (e.g. `Cancel`) will look like links in dialog windows
|
|
||||||
* Fixed look of collapsible arrow in Firefox
|
|
||||||
+ Overrode Redmine's revision graph function to make it look better
|
|
||||||
+ Animated collapsible fieldsets
|
|
||||||
+ Custom image based icons changed to base64 embedded data
|
|
||||||
|
|
||||||
v1.2.0 (2015-03-03):
|
|
||||||
|
|
||||||
* Fixed .warning style
|
|
||||||
+ Coloring status on issue page (it'll look like label)
|
|
||||||
* Fixed master backlog sub-menu accessibility
|
|
||||||
+ Changed font weight to normal for sub-projects in project list
|
|
||||||
* Fixed watch task path for .js
|
|
||||||
- Removed unnecessary classes from .sidebar-toggler
|
|
||||||
* Fixed external link icon, when URI contains the word 'edit'
|
|
||||||
* Fixed wiki page headers links font-size
|
|
||||||
+ Changed some trackers default colors
|
|
||||||
+ Bolded user name on issue page if it's current user
|
|
||||||
* Issue's journal appearance changed once again
|
|
||||||
+ Some improvements in wiki formatting
|
|
||||||
+ Introduced HistoryTabs for filtering issue journals
|
|
||||||
* Improved issue page styles and adjusted default priority colors
|
|
||||||
* Backlogs: added delay before hiding backlog menu
|
|
||||||
* Changed ancestor project name in top to equal font size, but different weight
|
|
||||||
* Fixed context menu position regression introduced by sidebar toggle
|
|
||||||
|
|
||||||
v1.1.0 (2015-02-15):
|
|
||||||
|
|
||||||
+ Changed issue's journal appearance
|
|
||||||
+ jQuery UI menus look improved
|
|
||||||
+ Removed box-shadow from boxes
|
|
||||||
+ Bumped grunt-sass version
|
|
||||||
+ Toggling sidebar visibility
|
|
||||||
+ Recompressed images
|
|
||||||
+ Changelog added
|
|
||||||
|
|
||||||
v1.0.0 (2015-02-06):
|
|
||||||
|
|
||||||
Initial version
|
|
||||||
|
|
||||||
[SCSS]: http://sass-lang.com/
|
[SCSS]: http://sass-lang.com/
|
||||||
[normalize.css]: https://github.com/necolas/normalize.css
|
[normalize.css]: https://github.com/necolas/normalize.css
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
14263
package-lock.json
generated
14263
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
30
package.json
30
package.json
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "purplemine",
|
"name": "purplemine",
|
||||||
"description": "A free Redmine 2.6+ theme written in SCSS",
|
"description": "A free Redmine 3.0+ theme written in SCSS",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"redmine",
|
"redmine",
|
||||||
"theme",
|
"theme",
|
||||||
@@ -25,27 +25,27 @@
|
|||||||
"lint": "npm run -S lint:js && npm run -S lint:sass"
|
"lint": "npm run -S lint:js && npm run -S lint:sass"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"autoprefixer": "^9.8.0",
|
"@liquid-js/sass-inline-svg": "^2.0.0",
|
||||||
"grunt": "^1.1.0",
|
"autoprefixer": "^9.8.8",
|
||||||
"grunt-contrib-uglify": "^4.0.1",
|
"grunt": "^1.6.1",
|
||||||
|
"grunt-contrib-uglify": "^5.2.2",
|
||||||
"grunt-contrib-watch": "^1.1.0",
|
"grunt-contrib-watch": "^1.1.0",
|
||||||
"grunt-postcss": "^0.9.0",
|
"grunt-postcss": "^0.9.0",
|
||||||
"grunt-sass": "^3.1.0",
|
"grunt-sass": "^3.1.0",
|
||||||
"node-sass": "^4.14.1",
|
"sass": "^1.69.5"
|
||||||
"sass-inline-svg": "^1.2.3"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^7.1.0",
|
"eslint": "^7.32.0",
|
||||||
"eslint-config-standard": "^14.1.1",
|
"eslint-config-standard": "^14.1.1",
|
||||||
"eslint-plugin-import": "^2.20.2",
|
"eslint-plugin-import": "^2.29.0",
|
||||||
"eslint-plugin-node": "^11.1.0",
|
"eslint-plugin-node": "^11.1.0",
|
||||||
"eslint-plugin-promise": "^4.2.1",
|
"eslint-plugin-promise": "^4.3.1",
|
||||||
"eslint-plugin-standard": "^4.0.1",
|
"eslint-plugin-standard": "^4.1.0",
|
||||||
"husky": "^4.2.5",
|
"husky": "^4.3.8",
|
||||||
"lint-staged": "^10.2.6",
|
"lint-staged": "^10.5.4",
|
||||||
"stylelint": "^13.5.0",
|
"stylelint": "^13.13.1",
|
||||||
"stylelint-order": "^4.0.0",
|
"stylelint-order": "^4.1.0",
|
||||||
"stylelint-scss": "^3.17.2"
|
"stylelint-scss": "^3.21.0"
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"last 2 versions",
|
"last 2 versions",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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 5px 8px -2px rgba(0,0,0,0.25),0 1px 2px rgba(0,0,0,0.3);display:none;position:absolute;z-index:10000;padding:3px;text-align:left}.ui-multiselect-checkboxes{position:relative;padding-right:2px;overflow-y:scroll}.ui-multiselect-checkboxes input[type="checkbox"]{top:0;margin:3px 0 0 -20px;float:left}.ui-multiselect-checkboxes label{display:block;padding:3px 1px;padding-left:26px;border:1px solid transparent;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-multiselect-checkboxes label input{position:relative;top:1px}.ui-multiselect-checkboxes li{clear:both;font-size:.92em}.ui-multiselect-checkboxes li.ui-multiselect-optgroup-label{margin-bottom:2px;border-bottom:1px solid #dadce7;font-weight:600;text-align:center}.ui-multiselect-checkboxes li.ui-multiselect-optgroup-label a{display:block;margin:1px 0;padding:3px;text-decoration:none}* html .ui-multiselect-checkboxes label{border:0 none}
|
.ui-multiselect{padding:2px 0 2px 4px;text-align:left}.ui-multiselect span.ui-icon{float:right}.ui-multiselect-single .ui-multiselect-checkboxes input{position:absolute !important;top:auto !important;left:-9999px}.ui-multiselect-single .ui-multiselect-checkboxes label{padding:5px !important}.ui-multiselect-header{margin-bottom:3px;padding:3px}.ui-multiselect-header ul{font-size:.92em}.ui-multiselect-header ul li{padding:0 10px 0 0;float:left}.ui-multiselect-header a{text-decoration:none}.ui-multiselect-header a:hover{text-decoration:underline}.ui-multiselect-header span.ui-icon{float:left}.ui-multiselect-header li.ui-multiselect-close{padding-right:0;float:right;text-align:right}.ui-multiselect-menu{box-shadow:0 5px 8px -2px rgba(0,0,0,.25),0 1px 2px rgba(0,0,0,.3);display:none;position:absolute;z-index:10000;padding:3px;text-align:left}.ui-multiselect-checkboxes{position:relative;padding-right:2px;overflow-y:scroll}.ui-multiselect-checkboxes input[type=checkbox]{top:0;margin:3px 0 0 -20px;float:left}.ui-multiselect-checkboxes label{display:block;padding:3px 1px;padding-left:26px;border:1px solid rgba(0,0,0,0);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 #dadce6;font-weight:600;text-align:center}.ui-multiselect-checkboxes li.ui-multiselect-optgroup-label a{display:block;margin:1px 0;padding:3px;text-decoration:none}* html .ui-multiselect-checkboxes label{border:0 none}
|
||||||
@@ -1 +1 @@
|
|||||||
.qtip{position:absolute;top:-31000px;left:-31000px;width:auto;max-width:500px;outline:none}.ui-tooltip-content{box-shadow:0 5px 8px -2px rgba(0,0,0,0.25),0 1px 2px rgba(0,0,0,0.3);position:relative;padding:10px;overflow:hidden;border:1px solid #d1d3e0;background-color:#fff;color:#3e425a;font-size:.92em;text-align:left;word-wrap:break-word}.ui-tooltip-tip{position:absolute;z-index:10;margin:0 auto;overflow:hidden;border:0 none;border-color:#d1d3e0;background:transparent;background-color:#fff}
|
.qtip{position:absolute;top:-31000px;left:-31000px;width:auto;max-width:500px;outline:none}.ui-tooltip-content{box-shadow:0 5px 8px -2px rgba(0,0,0,.25),0 1px 2px rgba(0,0,0,.3);position:relative;padding:10px;overflow:hidden;border:1px solid #d1d3e0;background-color:#fff;color:#3e4359;font-size:.92em;text-align:left;word-wrap:break-word}.ui-tooltip-tip{position:absolute;z-index:10;margin:0 auto;overflow:hidden;border:0 none;border-color:#d1d3e0;background:rgba(0,0,0,0);background-color:#fff}
|
||||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
table th,table td{padding:5px 8px}.ui-widget{margin-bottom:20px}.score{display:inline-block;width:1.5em;font-size:large;text-align:center}.score_0{background-color:#f00}.score_1{background-color:#ff5300}.score_2{background-color:#ff8100}.score_3{background-color:#ffa100}.score_4{background-color:#fb0}.score_5{background-color:#ffd300}.score_6{background-color:#ffec00}.score_7{background-color:#e9fb00}.score_8{background-color:#b1f100}.score_9{background-color:#74e600}.score_10{background-color:#0c0}
|
table th,table td{padding:5px 8px}.ui-widget{margin-bottom:20px}.score{display:inline-block;width:1.5em;font-size:large;text-align:center}.score_0{background-color:red}.score_1{background-color:#ff5300}.score_2{background-color:#ff8100}.score_3{background-color:#ffa100}.score_4{background-color:#fb0}.score_5{background-color:#ffd300}.score_6{background-color:#ffec00}.score_7{background-color:#e9fb00}.score_8{background-color:#b1f100}.score_9{background-color:#74e600}.score_10{background-color:#0c0}
|
||||||
File diff suppressed because one or more lines are too long
@@ -32,6 +32,7 @@ PurpleMine.SidebarToggler = (function () {
|
|||||||
this.sidebarVisible = true
|
this.sidebarVisible = true
|
||||||
this.sidebarHiding = null
|
this.sidebarHiding = null
|
||||||
this.$toggler = null
|
this.$toggler = null
|
||||||
|
this.$header = $('#header')
|
||||||
this.$main = $('#main')
|
this.$main = $('#main')
|
||||||
this.$sidebar = $('#sidebar')
|
this.$sidebar = $('#sidebar')
|
||||||
this.lang = document.documentElement.lang
|
this.lang = document.documentElement.lang
|
||||||
@@ -42,13 +43,6 @@ PurpleMine.SidebarToggler = (function () {
|
|||||||
|
|
||||||
this._ = translations[this.lang]
|
this._ = translations[this.lang]
|
||||||
|
|
||||||
// Fix issue with context menu position
|
|
||||||
if (this.$main.css('position') === 'relative') {
|
|
||||||
$(window).on('load', function () {
|
|
||||||
$('#context-menu').appendTo('#wrapper3')
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
handleSidebar()
|
handleSidebar()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,7 +90,7 @@ PurpleMine.SidebarToggler = (function () {
|
|||||||
'"></a>'
|
'"></a>'
|
||||||
instance.$toggler = $(togglerHtml)
|
instance.$toggler = $(togglerHtml)
|
||||||
|
|
||||||
instance.$main.append(instance.$toggler)
|
instance.$header.append(instance.$toggler)
|
||||||
instance.$toggler.on('click', instance.toggleSidebar)
|
instance.$toggler.on('click', instance.toggleSidebar)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
@use "sass:math";
|
||||||
|
|
||||||
//
|
//
|
||||||
// Variables
|
// Variables
|
||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
@@ -60,7 +62,7 @@ $shade-map: (
|
|||||||
|
|
||||||
@function shade($color, $shade: 500) {
|
@function shade($color, $shade: 500) {
|
||||||
$mixer: if($shade < 500, $white, $black);
|
$mixer: if($shade < 500, $white, $black);
|
||||||
$saturation: if($shade < 500, 0, ($shade - 500) / 20);
|
$saturation: if($shade < 500, 0, math.div($shade - 500, 20));
|
||||||
@return saturate(mix($mixer, $color, map-get($shade-map, $shade)), $saturation);
|
@return saturate(mix($mixer, $color, map-get($shade-map, $shade)), $saturation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -575,7 +577,7 @@ $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;
|
||||||
$logo-position-vertical: center !default;
|
$logo-position-vertical: center !default;
|
||||||
$logo-space: floor($header-padding-vertical / 2) !default;
|
$logo-space: floor($header-padding-vertical * .5) !default;
|
||||||
|
|
||||||
$main-menu-bg: $gray-100 !default;
|
$main-menu-bg: $gray-100 !default;
|
||||||
$main-menu-bg-hover: $gray-100 !default;
|
$main-menu-bg-hover: $gray-100 !default;
|
||||||
@@ -823,8 +825,8 @@ $agile-issue-card-default-color-map: (
|
|||||||
link: shade(adjust-color($green, $hue: -45deg), 700),
|
link: shade(adjust-color($green, $hue: -45deg), 700),
|
||||||
),
|
),
|
||||||
bk-yellow: (
|
bk-yellow: (
|
||||||
border: scale-color($yellow, $hue: 2deg),
|
border: adjust-color($yellow, $hue: 2deg),
|
||||||
background: scale-color($yellow, $hue: 2deg, $saturation: 75%, $lightness: 80%),
|
background: scale-color(adjust-color($yellow, $hue: 2deg), $saturation: 75%, $lightness: 80%),
|
||||||
link: shade($yellow, 700),
|
link: shade($yellow, 700),
|
||||||
),
|
),
|
||||||
bk-orange: (
|
bk-orange: (
|
||||||
|
|||||||
@@ -52,3 +52,8 @@ tr.group .count,
|
|||||||
border-color: $green;
|
border-color: $green;
|
||||||
color: $green;
|
color: $green;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.badge-issues-count {
|
||||||
|
border-color: $gray-400;
|
||||||
|
background-color: $gray-100;
|
||||||
|
}
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ h4 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
margin: 0 0 ($line-height-computed / 2);
|
margin: 0 0 ($line-height-computed * .5);
|
||||||
}
|
}
|
||||||
|
|
||||||
small {
|
small {
|
||||||
@@ -113,7 +113,7 @@ table {
|
|||||||
|
|
||||||
form {
|
form {
|
||||||
p {
|
p {
|
||||||
margin-bottom: ($line-height-computed / 2);
|
margin-bottom: ($line-height-computed * .5);
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
@@ -125,7 +125,7 @@ table {
|
|||||||
ul,
|
ul,
|
||||||
ol {
|
ol {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: ($line-height-computed / 2);
|
margin-bottom: ($line-height-computed * .5);
|
||||||
padding-left: 1.5em;
|
padding-left: 1.5em;
|
||||||
|
|
||||||
ul,
|
ul,
|
||||||
@@ -164,14 +164,14 @@ hr {
|
|||||||
border-top: 1px solid $hr-border;
|
border-top: 1px solid $hr-border;
|
||||||
|
|
||||||
li & {
|
li & {
|
||||||
margin-top: $line-height-computed / 2;
|
margin-top: $line-height-computed * .5;
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
blockquote {
|
blockquote {
|
||||||
margin: 0 0 $line-height-computed;
|
margin: 0 0 $line-height-computed;
|
||||||
padding: floor($line-height-computed / 4) $padding-large-horizontal;
|
padding: floor($line-height-computed * .25) $padding-large-horizontal;
|
||||||
border-left: 4px solid $blockquote-border-color;
|
border-left: 4px solid $blockquote-border-color;
|
||||||
|
|
||||||
> :first-child {
|
> :first-child {
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ form {
|
|||||||
//
|
//
|
||||||
|
|
||||||
form[action*="repository/diff"] {
|
form[action*="repository/diff"] {
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -151,7 +151,7 @@ p.buttons,
|
|||||||
.edit_time_entry,
|
.edit_time_entry,
|
||||||
.edit_membership {
|
.edit_membership {
|
||||||
input[type="submit"] + a {
|
input[type="submit"] + a {
|
||||||
margin-left: ceil($btn-padding-horizontal-small / 2);
|
margin-left: ceil($btn-padding-horizontal-small * .5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,7 +164,7 @@ form {
|
|||||||
button,
|
button,
|
||||||
select {
|
select {
|
||||||
~ a {
|
~ a {
|
||||||
margin-left: ceil($btn-padding-horizontal-small / 2);
|
margin-left: ceil($btn-padding-horizontal-small * .5);
|
||||||
line-height: $input-height-base;
|
line-height: $input-height-base;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -176,6 +176,10 @@ form {
|
|||||||
|
|
||||||
p.buttons {
|
p.buttons {
|
||||||
margin-bottom: $line-height-computed;
|
margin-bottom: $line-height-computed;
|
||||||
|
|
||||||
|
a {
|
||||||
|
line-height: $line-height-base;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -227,7 +231,7 @@ p.buttons {
|
|||||||
|
|
||||||
label {
|
label {
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
line-height: initial;
|
line-height: initial;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
// Calendar
|
// Calendar
|
||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
table.cal {
|
table.cal {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: $line-height-computed;
|
margin-bottom: $line-height-computed;
|
||||||
@@ -59,9 +58,91 @@ table.cal {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ul.cal {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 2rem repeat(7, 1fr);
|
||||||
|
width: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border-spacing: 0;
|
||||||
|
list-style: none;
|
||||||
|
border: 1px solid $table-border-color;
|
||||||
|
border-radius: 3px;
|
||||||
|
|
||||||
|
li {
|
||||||
|
&.calhead {
|
||||||
|
padding: 4px;
|
||||||
|
background-color: $table-bg-active;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.week-number {
|
||||||
|
padding: 4px;
|
||||||
|
border: none;
|
||||||
|
background-color: $table-bg-active;
|
||||||
|
font-size: 1em;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
span.label-week {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.calbody {
|
||||||
|
min-height: calc(1.2em * 6);
|
||||||
|
padding: 2px;
|
||||||
|
border: 1px solid $table-border-color;
|
||||||
|
border-right: 0;
|
||||||
|
border-bottom: 0;
|
||||||
|
font-size: 1em;
|
||||||
|
line-height: 1.6;
|
||||||
|
vertical-align: top;
|
||||||
|
|
||||||
|
p.day-num {
|
||||||
|
font-size: 1.1em;
|
||||||
|
text-align: right;
|
||||||
|
|
||||||
|
.abbr-day {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.day-letter {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.odd {
|
||||||
|
p.day-num {
|
||||||
|
color: $gray-600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.today {
|
||||||
|
background: $highlight-bg;
|
||||||
|
|
||||||
|
p.day-num {
|
||||||
|
font-weight: $font-weight-bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
padding-top: 2px;
|
||||||
|
padding-bottom: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.nwday:not(.odd) {
|
||||||
|
background-color: $table-bg-accent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
table.cal .starting a,
|
table.cal .starting a,
|
||||||
|
ul.cal .starting a,
|
||||||
p.cal.legend .starting,
|
p.cal.legend .starting,
|
||||||
table.cal .ending a,
|
table.cal .ending a,
|
||||||
|
ul.cal .ending a,
|
||||||
p.cal.legend .ending {
|
p.cal.legend .ending {
|
||||||
@extend %fa-icon;
|
@extend %fa-icon;
|
||||||
|
|
||||||
@@ -73,6 +154,7 @@ p.cal.legend .ending {
|
|||||||
}
|
}
|
||||||
|
|
||||||
table.cal .ending a,
|
table.cal .ending a,
|
||||||
|
ul.cal .ending a,
|
||||||
p.cal.legend .ending {
|
p.cal.legend .ending {
|
||||||
&::before {
|
&::before {
|
||||||
content: $fa-var-caret-left;
|
content: $fa-var-caret-left;
|
||||||
@@ -81,6 +163,7 @@ p.cal.legend .ending {
|
|||||||
}
|
}
|
||||||
|
|
||||||
table.cal .starting.ending a,
|
table.cal .starting.ending a,
|
||||||
|
ul.cal .starting.ending a,
|
||||||
p.cal.legend .starting.ending {
|
p.cal.legend .starting.ending {
|
||||||
&::before {
|
&::before {
|
||||||
content: $fa-var-square;
|
content: $fa-var-square;
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
|
|
||||||
#content {
|
#content {
|
||||||
padding: $padding-side;
|
padding: $padding-side;
|
||||||
|
overflow-x: auto; // needed for drag & drop of enumerations
|
||||||
|
|
||||||
@if $css-grid-layout {
|
@if $css-grid-layout {
|
||||||
grid-area: content;
|
grid-area: content;
|
||||||
@@ -106,7 +107,7 @@
|
|||||||
|
|
||||||
ul {
|
ul {
|
||||||
&:nth-child(n) {
|
&:nth-child(n) {
|
||||||
margin: 0 0 ($line-height-computed / 2);
|
margin: 0 0 ($line-height-computed * .5);
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
@if $sidebar-position == "left" {
|
@if $sidebar-position == "left" {
|
||||||
@@ -116,6 +117,7 @@
|
|||||||
|
|
||||||
&:not(.watchers) {
|
&:not(.watchers) {
|
||||||
li {
|
li {
|
||||||
|
position: relative;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
@@ -172,7 +174,7 @@
|
|||||||
> a.icon-only {
|
> a.icon-only {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: $sidebar-padding-vertical;
|
top: $sidebar-padding-vertical;
|
||||||
right: $sidebar-padding-horizontal / 2;
|
right: $sidebar-padding-horizontal * .5;
|
||||||
line-height: $line-height-computed;
|
line-height: $line-height-computed;
|
||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
@@ -195,8 +197,8 @@
|
|||||||
|
|
||||||
li {
|
li {
|
||||||
> a:not(.icon-only) {
|
> a:not(.icon-only) {
|
||||||
padding-right: $sidebar-padding-horizontal / 2;
|
padding-right: $sidebar-padding-horizontal * .5;
|
||||||
padding-left: $sidebar-padding-horizontal / 2;
|
padding-left: $sidebar-padding-horizontal * .5;
|
||||||
|
|
||||||
@if $sidebar-position == "right" {
|
@if $sidebar-position == "right" {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
@@ -204,7 +206,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.pages-hierarchy {
|
.pages-hierarchy {
|
||||||
margin-left: $sidebar-padding-horizontal / 2 + 3px;
|
margin-left: $sidebar-padding-horizontal * .5 + 3px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -244,7 +246,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.page-tree__list {
|
.page-tree__list {
|
||||||
margin-left: $sidebar-padding-horizontal / 2 + 3px;
|
margin-left: $sidebar-padding-horizontal * .5 + 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
summary {
|
summary {
|
||||||
@@ -262,8 +264,8 @@
|
|||||||
|
|
||||||
li {
|
li {
|
||||||
> a:not(.icon-only) {
|
> a:not(.icon-only) {
|
||||||
padding-right: $sidebar-padding-horizontal / 2;
|
padding-right: $sidebar-padding-horizontal * .5;
|
||||||
padding-left: $sidebar-padding-horizontal / 2;
|
padding-left: $sidebar-padding-horizontal * .5;
|
||||||
|
|
||||||
@if $sidebar-position == "right" {
|
@if $sidebar-position == "right" {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
@@ -297,8 +299,8 @@
|
|||||||
&::before {
|
&::before {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: ($sidebar-padding-vertical + 1px) + ($line-height-computed - 16px) / 2;
|
top: ($sidebar-padding-vertical + 1px) + ($line-height-computed - 16px) * .5;
|
||||||
left: $sidebar-padding-horizontal / 2 + 6px;
|
left: $sidebar-padding-horizontal * .5 + 6px;
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
background-image: inline-svg("chevron-right.svg", (path: (fill: $btn-default-icon-color)));
|
background-image: inline-svg("chevron-right.svg", (path: (fill: $btn-default-icon-color)));
|
||||||
@@ -329,8 +331,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#footer {
|
#footer {
|
||||||
margin: 0 $padding-side $line-height-computed;
|
margin: 0 $padding-side;
|
||||||
padding-top: $line-height-computed;
|
padding: $line-height-computed 0;
|
||||||
border-top: 1px solid $gray-400;
|
border-top: 1px solid $gray-400;
|
||||||
color: $gray-600;
|
color: $gray-600;
|
||||||
font-size: $font-size-small;
|
font-size: $font-size-small;
|
||||||
@@ -342,24 +344,49 @@
|
|||||||
|
|
||||||
@if $fixed-layout {
|
@if $fixed-layout {
|
||||||
@media screen and (min-width: $screen-sm-min) {
|
@media screen and (min-width: $screen-sm-min) {
|
||||||
|
body {
|
||||||
|
background: $gray-100;
|
||||||
|
}
|
||||||
|
#top-menu,
|
||||||
|
#header,
|
||||||
#main-menu ul,
|
#main-menu ul,
|
||||||
#main {
|
#main,
|
||||||
|
#footer {
|
||||||
width: $width-sm;
|
width: $width-sm;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
}
|
}
|
||||||
|
#main {
|
||||||
|
overflow: hidden;
|
||||||
|
background: $body-bg;
|
||||||
|
}
|
||||||
|
#footer {
|
||||||
|
background: $body-bg;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: " ";
|
||||||
|
display: inline-block;
|
||||||
|
width: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: $screen-md-min) {
|
@media screen and (min-width: $screen-md-min) {
|
||||||
|
#top-menu,
|
||||||
|
#header,
|
||||||
#main-menu ul,
|
#main-menu ul,
|
||||||
#main {
|
#main,
|
||||||
|
#footer {
|
||||||
width: $width-md;
|
width: $width-md;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: $screen-lg-min) {
|
@media screen and (min-width: $screen-lg-min) {
|
||||||
|
#top-menu,
|
||||||
|
#header,
|
||||||
#main-menu ul,
|
#main-menu ul,
|
||||||
#main {
|
#main,
|
||||||
|
#footer {
|
||||||
width: $width-lg;
|
width: $width-lg;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a:not(.easy-mindmup__icon) {
|
||||||
@extend %fa-icon;
|
@extend %fa-icon;
|
||||||
padding: 3px 10px 3px 20px;
|
padding: 3px 10px 3px 20px;
|
||||||
border-radius: $border-radius-small;
|
border-radius: $border-radius-small;
|
||||||
|
|||||||
@@ -76,7 +76,32 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.contextual {
|
.contextual {
|
||||||
.drdn {
|
.drdn-items {
|
||||||
|
padding: 3px;
|
||||||
|
|
||||||
|
a,
|
||||||
|
span {
|
||||||
|
padding-top: $pagination-padding-vertical;
|
||||||
|
padding-bottom: $pagination-padding-vertical;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
border-radius: $border-radius-small;
|
||||||
|
color: $pagination-color;
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:focus {
|
||||||
|
border-color: $pagination-hover-border;
|
||||||
|
background-color: $pagination-hover-bg;
|
||||||
|
color: $pagination-hover-color;
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
|
&.icon-del {
|
||||||
|
color: map-get(map-get($icon-color-map, danger), normal);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:not(.journal-actions) > .drdn {
|
||||||
&.expanded {
|
&.expanded {
|
||||||
> .drdn-trigger {
|
> .drdn-trigger {
|
||||||
border-color: $pagination-active-border;
|
border-color: $pagination-active-border;
|
||||||
@@ -85,7 +110,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&-trigger {
|
.drdn-trigger {
|
||||||
padding: $btn-padding-vertical $btn-padding-horizontal-small;
|
padding: $btn-padding-vertical $btn-padding-horizontal-small;
|
||||||
border: 1px solid $pagination-border;
|
border: 1px solid $pagination-border;
|
||||||
border-radius: $border-radius-base;
|
border-radius: $border-radius-base;
|
||||||
@@ -105,25 +130,20 @@
|
|||||||
color: $pagination-hover-color;
|
color: $pagination-hover-color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
&-items {
|
}
|
||||||
padding: 3px;
|
|
||||||
|
.journal-actions {
|
||||||
a,
|
.drdn-trigger {
|
||||||
span {
|
color: map-get(map-get($icon-color-map, default), normal);
|
||||||
padding-top: $pagination-padding-vertical;
|
}
|
||||||
padding-bottom: $pagination-padding-vertical;
|
|
||||||
border: 1px solid transparent;
|
.drdn-trigger:hover,
|
||||||
border-radius: $border-radius-small;
|
.drdn.expanded .drdn-trigger {
|
||||||
color: $pagination-color;
|
color: map-get(map-get($icon-color-map, default), hover);
|
||||||
|
}
|
||||||
&:hover {
|
|
||||||
border-color: $pagination-hover-border;
|
.drdn-content {
|
||||||
background-color: $pagination-hover-bg;
|
top: $input-height-base;
|
||||||
color: $pagination-hover-color;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -190,12 +190,12 @@ img {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.splitcontentleft {
|
.splitcontentleft {
|
||||||
padding-right: ($padding-side / 2);
|
padding-right: ($padding-side * .5);
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.splitcontentright {
|
.splitcontentright {
|
||||||
padding-left: ($padding-side / 2);
|
padding-left: ($padding-side * .5);
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -275,7 +275,7 @@ img {
|
|||||||
//
|
//
|
||||||
|
|
||||||
p.subtitle {
|
p.subtitle {
|
||||||
margin-top: ($line-height-computed / -2);
|
margin-top: ($line-height-computed * -.5);
|
||||||
margin-bottom: $line-height-computed;
|
margin-bottom: $line-height-computed;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
@@ -290,10 +290,11 @@ p.subtitle {
|
|||||||
|
|
||||||
.block-receiver {
|
.block-receiver {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
min-height: 20px;
|
flex-basis: 100%;
|
||||||
margin-bottom: $line-height-computed;
|
|
||||||
|
|
||||||
.dragging & {
|
.dragging & {
|
||||||
|
min-height: 20px;
|
||||||
|
margin-bottom: $line-height-computed;
|
||||||
outline: 2px dashed $gray-600;
|
outline: 2px dashed $gray-600;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -347,6 +348,9 @@ a.close-icon {
|
|||||||
|
|
||||||
// For Redmine 3.4+
|
// For Redmine 3.4+
|
||||||
#my-page {
|
#my-page {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
.mypage-box {
|
.mypage-box {
|
||||||
> .contextual {
|
> .contextual {
|
||||||
transition: opacity $transition-time;
|
transition: opacity $transition-time;
|
||||||
@@ -359,15 +363,11 @@ a.close-icon {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#list-left {
|
#list-left {
|
||||||
width: 50%;
|
flex-basis: 50%;
|
||||||
padding-right: ($padding-side / 2);
|
|
||||||
float: left;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#list-right {
|
#list-right {
|
||||||
width: 50%;
|
flex-basis: 50%;
|
||||||
padding-left: ($padding-side / 2);
|
|
||||||
float: right;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -461,6 +461,10 @@ ul.projects {
|
|||||||
li {
|
li {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.archived {
|
||||||
|
color: $gray-600;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#projects-index ul.projects {
|
#projects-index ul.projects {
|
||||||
@@ -468,16 +472,16 @@ ul.projects {
|
|||||||
&.root {
|
&.root {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
margin-right: -($padding-side / 2);
|
margin-right: -($padding-side * .5);
|
||||||
margin-left: -($padding-side / 2);
|
margin-left: -($padding-side * .5);
|
||||||
|
|
||||||
> li {
|
> li {
|
||||||
display: block;
|
display: block;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
flex: 0 1 auto;
|
flex: 0 1 auto;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-right: $padding-side / 2;
|
margin-right: $padding-side * .5;
|
||||||
margin-left: $padding-side / 2;
|
margin-left: $padding-side * .5;
|
||||||
padding: $panel-body-padding;
|
padding: $panel-body-padding;
|
||||||
border: 1px solid $panel-border;
|
border: 1px solid $panel-border;
|
||||||
border-radius: $border-radius-base;
|
border-radius: $border-radius-base;
|
||||||
@@ -500,7 +504,7 @@ ul.projects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
li.child {
|
li.child {
|
||||||
margin-top: $line-height-computed / 2;
|
margin-top: $line-height-computed * .5;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.project {
|
a.project {
|
||||||
@@ -513,6 +517,14 @@ ul.projects {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
table.projects {
|
||||||
|
.name {
|
||||||
|
a + span.icon {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#custom_field_tracker_ids {
|
#custom_field_tracker_ids {
|
||||||
label {
|
label {
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
@@ -601,11 +613,6 @@ div#roadmap {
|
|||||||
td {
|
td {
|
||||||
height: $progress-height;
|
height: $progress-height;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ .percent {
|
|
||||||
position: relative;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
header {
|
header {
|
||||||
@@ -680,7 +687,7 @@ div#version-summary {
|
|||||||
left: 50%;
|
left: 50%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
margin: (($padding-large-vertical * 2 + 1px * 2 + $line-height-computed) / -2) (200px / -2);
|
margin: (($padding-large-vertical * 2 + 1px * 2 + $line-height-computed) * -.5) (200px * -.5);
|
||||||
padding: $padding-large-vertical $padding-large-horizontal;
|
padding: $padding-large-vertical $padding-large-horizontal;
|
||||||
border: 1px solid $highlight-border;
|
border: 1px solid $highlight-border;
|
||||||
border-radius: $border-radius-base;
|
border-radius: $border-radius-base;
|
||||||
@@ -699,7 +706,7 @@ div#version-summary {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
width: $line-height-computed;
|
width: $line-height-computed;
|
||||||
height: $line-height-computed;
|
height: $line-height-computed;
|
||||||
margin-right: $line-height-computed / 2;
|
margin-right: $line-height-computed * .5;
|
||||||
animation: spin 1s linear infinite;
|
animation: spin 1s linear infinite;
|
||||||
border: 3px solid rgba($highlight-text, .3);
|
border: 3px solid rgba($highlight-text, .3);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
@@ -765,7 +772,7 @@ div.table-list.boards {
|
|||||||
|
|
||||||
.controller-messages.action-show {
|
.controller-messages.action-show {
|
||||||
h2 {
|
h2 {
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.message {
|
.message {
|
||||||
@@ -865,20 +872,67 @@ div.table-list.boards {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//== Documents
|
||||||
|
//
|
||||||
|
|
||||||
|
.controller-documents {
|
||||||
|
&.action-index {
|
||||||
|
h2 {
|
||||||
|
font-size: $font-size-h2;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4 {
|
||||||
|
margin-bottom: 0;
|
||||||
|
font-size: $font-size-h4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wiki {
|
||||||
|
+ h3,
|
||||||
|
+ h4 {
|
||||||
|
margin-top: $line-height-computed;
|
||||||
|
padding-top: $line-height-computed;
|
||||||
|
border-top: 1px solid $panel-border;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.action-show {
|
||||||
|
.wiki {
|
||||||
|
margin-bottom: $line-height-computed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: $font-size-h3;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content > h2,
|
||||||
|
#content > h4 {
|
||||||
|
+ p {
|
||||||
|
color: $gray-700;
|
||||||
|
|
||||||
|
em {
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//== News
|
//== News
|
||||||
//
|
//
|
||||||
|
|
||||||
.news.box {
|
.news.box {
|
||||||
p > a:not(:last-child) {
|
p > a:not(:last-child) {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-bottom: floor($line-height-computed / 4);
|
margin-bottom: floor($line-height-computed * .25);
|
||||||
font-size: $font-size-h4;
|
font-size: $font-size-h4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.summary,
|
.summary,
|
||||||
.author {
|
.author {
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: floor($line-height-computed / 4);
|
margin-bottom: floor($line-height-computed * .25);
|
||||||
|
|
||||||
+ br {
|
+ br {
|
||||||
display: none;
|
display: none;
|
||||||
@@ -893,7 +947,7 @@ div.table-list.boards {
|
|||||||
#edit-news + p {
|
#edit-news + p {
|
||||||
em {
|
em {
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: floor($line-height-computed / 4);
|
margin-bottom: floor($line-height-computed * .25);
|
||||||
|
|
||||||
+ br {
|
+ br {
|
||||||
display: none;
|
display: none;
|
||||||
@@ -903,7 +957,7 @@ div.table-list.boards {
|
|||||||
|
|
||||||
.news.box .summary,
|
.news.box .summary,
|
||||||
#edit-news + p em {
|
#edit-news + p em {
|
||||||
padding: floor($line-height-computed / 4) $padding-base-horizontal;
|
padding: floor($line-height-computed * .25) $padding-base-horizontal;
|
||||||
border-left: 4px solid $blockquote-border-color;
|
border-left: 4px solid $blockquote-border-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -914,7 +968,7 @@ div.table-list.boards {
|
|||||||
|
|
||||||
header {
|
header {
|
||||||
h3 {
|
h3 {
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
|
|
||||||
> a {
|
> a {
|
||||||
font-weight: $font-weight-bold;
|
font-weight: $font-weight-bold;
|
||||||
@@ -942,7 +996,7 @@ div.table-list.boards {
|
|||||||
#comments {
|
#comments {
|
||||||
> h4 {
|
> h4 {
|
||||||
margin-top: $line-height-computed;
|
margin-top: $line-height-computed;
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ form {
|
|||||||
> input,
|
> input,
|
||||||
> select {
|
> select {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -228,7 +228,7 @@ select:-moz-focusring {
|
|||||||
fieldset {
|
fieldset {
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: ($line-height-computed / 2) 0;
|
padding: ($line-height-computed * .5) 0;
|
||||||
border: 0 none;
|
border: 0 none;
|
||||||
border-top: 1px solid $legend-border-color;
|
border-top: 1px solid $legend-border-color;
|
||||||
|
|
||||||
@@ -297,7 +297,7 @@ em.info {
|
|||||||
|
|
||||||
p {
|
p {
|
||||||
@extend %clearfix;
|
@extend %clearfix;
|
||||||
margin: 0 0 ($line-height-computed / 2);
|
margin: 0 0 ($line-height-computed * .5);
|
||||||
padding-left: $label-width + $label-space;
|
padding-left: $label-width + $label-space;
|
||||||
clear: left;
|
clear: left;
|
||||||
line-height: $input-height-base;
|
line-height: $input-height-base;
|
||||||
@@ -435,7 +435,7 @@ label[for="issue_description"] + a {
|
|||||||
//
|
//
|
||||||
|
|
||||||
label[for="closed"] {
|
label[for="closed"] {
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -481,7 +481,7 @@ label[for="closed"] {
|
|||||||
//
|
//
|
||||||
|
|
||||||
.jstEditor {
|
.jstEditor {
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
}
|
}
|
||||||
|
|
||||||
//== User form
|
//== User form
|
||||||
@@ -505,13 +505,13 @@ label[for="closed"] {
|
|||||||
.attachments_fields {
|
.attachments_fields {
|
||||||
> span {
|
> span {
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: $line-height-computed / 4;
|
margin-bottom: $line-height-computed * .25;
|
||||||
}
|
}
|
||||||
|
|
||||||
input {
|
input {
|
||||||
width: 21.5em;
|
width: 21.5em;
|
||||||
margin-right: .5em;
|
margin-right: .5em;
|
||||||
margin-bottom: $line-height-computed / 4;
|
margin-bottom: $line-height-computed * .25;
|
||||||
|
|
||||||
&.filename {
|
&.filename {
|
||||||
padding-left: $input-padding-horizontal + 16px;
|
padding-left: $input-padding-horizontal + 16px;
|
||||||
@@ -621,7 +621,7 @@ label[for="closed"] {
|
|||||||
#watchers_inputs {
|
#watchers_inputs {
|
||||||
display: block;
|
display: block;
|
||||||
max-height: $check-list-max-height;
|
max-height: $check-list-max-height;
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
|
||||||
label {
|
label {
|
||||||
@@ -757,7 +757,7 @@ fieldset#filters {
|
|||||||
.query_sort_criteria_count {
|
.query_sort_criteria_count {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
min-width: 1em;
|
min-width: 1em;
|
||||||
margin-bottom: $line-height-computed / 4;
|
margin-bottom: $line-height-computed * .25;
|
||||||
line-height: $input-height-base;
|
line-height: $input-height-base;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,11 @@ table.gantt-table {
|
|||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.last_gantt_selected_column .gantt_selected_column_container,
|
||||||
|
.gantt_subjects_container .gantt_subjects * {
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
.gantt_subjects_column {
|
.gantt_subjects_column {
|
||||||
.gantt_hdr {
|
.gantt_hdr {
|
||||||
border-left: 1px solid $gray-500 !important; // stylelint-disable-line declaration-no-important
|
border-left: 1px solid $gray-500 !important; // stylelint-disable-line declaration-no-important
|
||||||
|
|||||||
@@ -94,7 +94,9 @@ $icon-map: (
|
|||||||
icon-shared: $fa-var-link,
|
icon-shared: $fa-var-link,
|
||||||
icon-actions: $fa-var-ellipsis-h,
|
icon-actions: $fa-var-ellipsis-h,
|
||||||
icon-sort-handle: $fa-var-arrows-v,
|
icon-sort-handle: $fa-var-arrows-v,
|
||||||
|
/* typo "expended" has to be kept for backwards compatibility */
|
||||||
icon-expended: $fa-var-chevron-down,
|
icon-expended: $fa-var-chevron-down,
|
||||||
|
icon-expanded: $fa-var-chevron-down,
|
||||||
icon-collapsed: $fa-var-chevron-right,
|
icon-collapsed: $fa-var-chevron-right,
|
||||||
icon-bookmark: $fa-var-bookmark,
|
icon-bookmark: $fa-var-bookmark,
|
||||||
icon-bookmark-off: $fa-var-bookmark-o,
|
icon-bookmark-off: $fa-var-bookmark-o,
|
||||||
@@ -104,6 +106,8 @@ $icon-map: (
|
|||||||
icon-toggle-minus: $fa-var-minus-square,
|
icon-toggle-minus: $fa-var-minus-square,
|
||||||
icon-clear-query: $fa-var-times,
|
icon-clear-query: $fa-var-times,
|
||||||
icon-import: $fa-var-cloud-upload,
|
icon-import: $fa-var-cloud-upload,
|
||||||
|
icon-bookmarked-project: $fa-var-tag,
|
||||||
|
icon-copy-link: $fa-var-clipboard,
|
||||||
|
|
||||||
// Plugin icons
|
// Plugin icons
|
||||||
icon-call: $fa-var-phone,
|
icon-call: $fa-var-phone,
|
||||||
@@ -179,6 +183,10 @@ a.icon:empty {
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
span.icon + span.icon {
|
||||||
|
margin-left: $padding-small-vertical;
|
||||||
|
}
|
||||||
|
|
||||||
$icons-selector: ();
|
$icons-selector: ();
|
||||||
@each $class, $icon in $icon-map {
|
@each $class, $icon in $icon-map {
|
||||||
$icons-selector: append($icons-selector, unquote(".#{$class}"), "comma");
|
$icons-selector: append($icons-selector, unquote(".#{$class}"), "comma");
|
||||||
@@ -191,6 +199,8 @@ $icons-selector: ();
|
|||||||
color: $orange;
|
color: $orange;
|
||||||
} @else if $class == "icon-heart" {
|
} @else if $class == "icon-heart" {
|
||||||
color: $pink;
|
color: $pink;
|
||||||
|
} @else if $class == "icon-bookmarked-project" {
|
||||||
|
color: $blue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -586,13 +596,48 @@ dt {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-project {
|
a.project {
|
||||||
|
$svg-star: inline-svg("icon-star.svg", (path: (fill: $orange)));
|
||||||
|
$svg-tag: inline-svg("icon-tag.svg", (path: (fill: $blue)));
|
||||||
|
|
||||||
|
&.icon {
|
||||||
|
padding-left: 0;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: "";
|
||||||
|
display: none;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.my-project,
|
||||||
|
&.icon-user,
|
||||||
|
&.icon-bookmarked-project {
|
||||||
|
padding-right: $icon-width;
|
||||||
|
background-image: $svg-star;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: bottom .2em right 0, bottom .2em right $icon-width;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.icon-bookmarked-project {
|
||||||
|
background-image: $svg-tag;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.icon-user.icon-bookmarked-project {
|
||||||
|
padding-right: $icon-width * 2;
|
||||||
|
background-image: $svg-tag, $svg-star;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
span.my-project {
|
||||||
@extend %fa-icon;
|
@extend %fa-icon;
|
||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
content: $fa-var-star;
|
content: $fa-var-star;
|
||||||
color: $yellow;
|
width: $icon-width;
|
||||||
font-size: $font-size-small;
|
margin-right: 0;
|
||||||
|
color: $orange;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -894,6 +939,12 @@ div.wiki {
|
|||||||
> a {
|
> a {
|
||||||
@extend %fa-icon;
|
@extend %fa-icon;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
width: $icon-width;
|
||||||
|
margin-right: 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
&:not([class*="icon"]) {
|
&:not([class*="icon"]) {
|
||||||
&::before {
|
&::before {
|
||||||
content: $fa-var-comment;
|
content: $fa-var-comment;
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
width: $issue-gravatar-size;
|
width: $issue-gravatar-size;
|
||||||
height: $issue-gravatar-size;
|
height: $issue-gravatar-size;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
float: left;
|
float: left;
|
||||||
|
|
||||||
&:nth-child(2) {
|
&:nth-child(2) {
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
width: $issue-gravatar-size;
|
width: $issue-gravatar-size;
|
||||||
height: $issue-gravatar-size;
|
height: $issue-gravatar-size;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -297,7 +297,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
div.fileover {
|
div.fileover,
|
||||||
|
p.custom-field-filedroplistner.fileover {
|
||||||
background-color: $highlight-bg;
|
background-color: $highlight-bg;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -373,7 +374,7 @@ div.thumbnails {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.issues {
|
.issues {
|
||||||
margin: ($line-height-computed / 2) 0 0;
|
margin: ($line-height-computed * .5) 0 0;
|
||||||
|
|
||||||
tr {
|
tr {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
@@ -383,6 +384,10 @@ div.thumbnails {
|
|||||||
border-bottom: 0 none;
|
border-bottom: 0 none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
td.subject {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
td.checkbox {
|
td.checkbox {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@@ -406,7 +411,7 @@ div.thumbnails {
|
|||||||
display: none;
|
display: none;
|
||||||
|
|
||||||
dt {
|
dt {
|
||||||
margin: 0 0 ($line-height-computed / 4);
|
margin: 0 0 ($line-height-computed * .25);
|
||||||
}
|
}
|
||||||
|
|
||||||
dd {
|
dd {
|
||||||
@@ -535,14 +540,6 @@ div.thumbnails {
|
|||||||
padding: $bubble-padding-vertical $bubble-padding-horizontal;
|
padding: $bubble-padding-vertical $bubble-padding-horizontal;
|
||||||
font-size: $font-size-list;
|
font-size: $font-size-list;
|
||||||
|
|
||||||
a {
|
|
||||||
opacity: $icon-opacity;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
opacity: $icon-hover-opacity;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
> a.journal-link {
|
> a.journal-link {
|
||||||
padding-left: $issue-attribute-padding-h;
|
padding-left: $issue-attribute-padding-h;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
@@ -550,6 +547,7 @@ div.thumbnails {
|
|||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
content: "";
|
content: "";
|
||||||
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -671,7 +669,7 @@ div.thumbnails {
|
|||||||
|
|
||||||
> label {
|
> label {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
line-height: $line-height-base;
|
line-height: $line-height-base;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -721,7 +719,16 @@ div.thumbnails {
|
|||||||
clear: left;
|
clear: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.journal-actions > a,
|
||||||
|
.journal-actions .drdn-trigger {
|
||||||
|
margin: -3px 3px;
|
||||||
|
padding-top: 3px;
|
||||||
|
padding-bottom: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
.journal-link {
|
.journal-link {
|
||||||
|
margin: -3px -3px -3px 0;
|
||||||
|
padding: 3px;
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -757,7 +764,7 @@ span.private {
|
|||||||
}
|
}
|
||||||
|
|
||||||
div.changeset {
|
div.changeset {
|
||||||
margin-top: $line-height-computed / 2 + 2px * 2;
|
margin-top: $line-height-computed * .5 + 2px * 2;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border: 1px solid $bubble-border;
|
border: 1px solid $bubble-border;
|
||||||
|
|||||||
@@ -43,21 +43,21 @@
|
|||||||
|
|
||||||
a,
|
a,
|
||||||
button {
|
button {
|
||||||
&.ui-state-default {
|
&.ui-button {
|
||||||
border-color: $header-bg;
|
border-color: $header-bg;
|
||||||
background: $header-bg;
|
background: $header-bg;
|
||||||
|
box-shadow: none;
|
||||||
color: $header-text;
|
color: $header-text;
|
||||||
|
|
||||||
|
.ui-icon {
|
||||||
|
background-image: url("../../../stylesheets/jquery/images/ui-icons_ffffff_256x240.png");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.ui-state-hover,
|
&.ui-button:hover {
|
||||||
&.ui-state-focus {
|
|
||||||
border-color: darken($header-bg, 12%);
|
border-color: darken($header-bg, 12%);
|
||||||
background: darken($header-bg, 10%);
|
background: darken($header-bg, 10%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-icon {
|
|
||||||
background-image: url("../../../stylesheets/jquery/images/ui-icons_ffffff_256x240.png");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -245,3 +245,16 @@ div.jstElements {
|
|||||||
&::before { content: $fa-var-question-circle; }
|
&::before { content: $fa-var-question-circle; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
.table-generator {
|
||||||
|
td {
|
||||||
|
border-color: $tab-border;
|
||||||
|
}
|
||||||
|
|
||||||
|
td.selected-cell,
|
||||||
|
td:hover {
|
||||||
|
background-color: $brand-primary;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ table.list {
|
|||||||
&.last_notes,
|
&.last_notes,
|
||||||
&.last_updated_by,
|
&.last_updated_by,
|
||||||
&.name,
|
&.name,
|
||||||
|
&.parent-subject,
|
||||||
&.priority,
|
&.priority,
|
||||||
&.relations,
|
&.relations,
|
||||||
&.roles,
|
&.roles,
|
||||||
@@ -252,7 +253,7 @@ tr.issue {
|
|||||||
|
|
||||||
> span {
|
> span {
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: $line-height-computed / 4;
|
margin-bottom: $line-height-computed * .25;
|
||||||
padding: $table-cell-padding;
|
padding: $table-cell-padding;
|
||||||
font-weight: $font-weight-bold;
|
font-weight: $font-weight-bold;
|
||||||
}
|
}
|
||||||
@@ -323,7 +324,7 @@ td.last_updated_by {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.sample-data {
|
.sample-data {
|
||||||
margin: $line-height-computed / 2;
|
margin: $line-height-computed * .5;
|
||||||
margin-bottom: $line-height-computed;
|
margin-bottom: $line-height-computed;
|
||||||
border: 1px solid $table-border-color;
|
border: 1px solid $table-border-color;
|
||||||
|
|
||||||
@@ -494,7 +495,7 @@ tr.entry {
|
|||||||
right: 5px;
|
right: 5px;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 5px;
|
left: 5px;
|
||||||
height: calc(50% - 2px / 2);
|
height: calc(50% - 2px * .5);
|
||||||
transform: rotate(-4deg);
|
transform: rotate(-4deg);
|
||||||
transition: border-color $transition-time;
|
transition: border-color $transition-time;
|
||||||
border-top: 2px solid rgba($tracker-default-text, .95);
|
border-top: 2px solid rgba($tracker-default-text, .95);
|
||||||
|
|||||||
@@ -91,3 +91,21 @@
|
|||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: right $input-padding-horizontal center;
|
background-position: right $input-padding-horizontal center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Two-factor authentication
|
||||||
|
// --------------------------------------------------
|
||||||
|
|
||||||
|
.controller-twofa {
|
||||||
|
.splitcontentleft {
|
||||||
|
width: auto;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.twofa_backup_codes {
|
||||||
|
margin-left: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,12 +1,29 @@
|
|||||||
|
@use "sass:math";
|
||||||
|
|
||||||
//
|
//
|
||||||
// Additionals
|
// Additionals
|
||||||
// https://www.redmine.org/plugins/additionals
|
// https://www.redmine.org/plugins/additionals
|
||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
|
#sidebar .dashboards .dashboard-system-default {
|
||||||
|
position: absolute;
|
||||||
|
transform: translateY(- ($sidebar-padding-vertical + math.div($line-height-computed, 2) + math.div($font-size-base, 2)));
|
||||||
|
@if $sidebar-position == "right" {
|
||||||
|
right: 15px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.flyout-menu .dashboard-system-default {
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
transform: translateY(- ($padding-large-vertical + math.div($line-height-computed, 2) + math.div($font-size-base, 2)));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#sidebar .sidebar-additionals {
|
#sidebar .sidebar-additionals {
|
||||||
ul,
|
ul,
|
||||||
ol {
|
ol {
|
||||||
margin: 0 0 ($line-height-computed / 2);
|
margin: 0 0 ($line-height-computed * .5);
|
||||||
padding-left: 1.5em;
|
padding-left: 1.5em;
|
||||||
|
|
||||||
ul,
|
ul,
|
||||||
@@ -39,6 +56,247 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#my-page.dashboard {
|
||||||
|
.mypage-box:not(.block-welcome, .block-projectinformation, .block-text, .block-text_async) {
|
||||||
|
margin-bottom: $line-height-computed;
|
||||||
|
padding: $panel-body-padding;
|
||||||
|
border: 1px solid $panel-border;
|
||||||
|
border-radius: $border-radius-base;
|
||||||
|
background-color: $panel-bg;
|
||||||
|
color: $panel-color;
|
||||||
|
font-size: .92em;
|
||||||
|
word-wrap: break-word;
|
||||||
|
|
||||||
|
> h3 {
|
||||||
|
margin-bottom: $panel-body-padding-vertical;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.controller-rdb_taskboard .gototop {
|
||||||
|
margin-right: $padding-side;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Additional tags
|
||||||
|
// https://www.redmine.org/plugins/additional_tags
|
||||||
|
// --------------------------------------------------
|
||||||
|
|
||||||
|
.issue .tags.attribute {
|
||||||
|
padding-left: 160px;
|
||||||
|
|
||||||
|
.label {
|
||||||
|
width: 160px;
|
||||||
|
margin-left: -160px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tags-data {
|
||||||
|
padding-top: 3px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#main {
|
||||||
|
.additional-tag-label-color {
|
||||||
|
font-weight: 600;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
#admin-menu a.additional-tags::before {
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#wiki_tags,
|
||||||
|
#edit-tags-form {
|
||||||
|
.select2-container {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
|
||||||
|
&.select2-container--default .select2-selection--multiple .select2-selection__rendered {
|
||||||
|
margin: 0;
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Redmine Dashboard
|
||||||
|
// https://www.redmine.org/plugins/redmine-dashboard
|
||||||
|
// --------------------------------------------------
|
||||||
|
|
||||||
|
#rdb-taskboard {
|
||||||
|
#rdb-header {
|
||||||
|
a#rdb-refresh {
|
||||||
|
padding: 2px 0;
|
||||||
|
border-width: 0;
|
||||||
|
background-image: none;
|
||||||
|
line-height: 1.2em;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: $fa-var-refresh;
|
||||||
|
@include fa-icon;
|
||||||
|
width: 1em;
|
||||||
|
margin: 0 auto;
|
||||||
|
color: $green;
|
||||||
|
line-height: 1.2em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.rdb-board .rdb-menu h2 {
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rdb-board,
|
||||||
|
.rdb-filter,
|
||||||
|
.rdb-option {
|
||||||
|
margin-top: 4px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
a#rdb-refresh,
|
||||||
|
a#rdb-refresh:focus,
|
||||||
|
a#rdb-refresh:hover,
|
||||||
|
.rdb-menu-link,
|
||||||
|
.rdb-menu-link:focus,
|
||||||
|
.rdb-menu-link:hover,
|
||||||
|
.rdb-menu .rdb-list a,
|
||||||
|
.rdb-menu .rdb-list a:focus,
|
||||||
|
.rdb-menu .rdb-list a:hover {
|
||||||
|
color: $gray-900;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
div:not(.rdb-card-header, .rdb-compact-header, .rdb-card-title) .rdb-menu {
|
||||||
|
.rdb-list {
|
||||||
|
> ul > li > a,
|
||||||
|
.rdb-multicheck a {
|
||||||
|
padding: 3px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rdb-checkbox-link.rdb-checkbox-link-enabled {
|
||||||
|
background-image: none;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: $fa-var-check;
|
||||||
|
@include fa-icon;
|
||||||
|
color: $green;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.rdb-checkbox-link.rdb-checkbox-link-disabled {
|
||||||
|
padding: 0;
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
font-size: .9em;
|
||||||
|
|
||||||
|
&#rdb-reset {
|
||||||
|
background-image: none;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: $fa-var-times;
|
||||||
|
@include fa-icon;
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.rdb-menu-right .rdb-checkbox-link.rdb-checkbox-link-enabled::before {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rdb-container h3 {
|
||||||
|
padding-top: 5px;
|
||||||
|
padding-bottom: 3px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.rdb-headers .rdb-column h3 {
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rdb-evt-group-toggle,
|
||||||
|
.rdb-evt-group-toggle:focus,
|
||||||
|
.rdb-evt-group-toggle:hover {
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rdb-card-header .rdb-menu-issue a.rdb-menu-link,
|
||||||
|
.rdb-compact-header .rdb-menu-issue a.rdb-menu-link,
|
||||||
|
.rdb-card-title > a {
|
||||||
|
background-image: none;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: $fa-var-cog;
|
||||||
|
@include fa-icon;
|
||||||
|
position: absolute;
|
||||||
|
top: 1px;
|
||||||
|
left: 2px;
|
||||||
|
color: $gray-600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.rdb-property-tracker {
|
||||||
|
padding-left: 0;
|
||||||
|
background-image: none;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: $fa-var-ticket;
|
||||||
|
@include fa-icon;
|
||||||
|
margin-right: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.rdb-property-assignee {
|
||||||
|
padding-left: 0;
|
||||||
|
background-image: none;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: $fa-var-user;
|
||||||
|
@include fa-icon;
|
||||||
|
margin-right: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#rdb-footer #rdb-legend .rdb-overdue {
|
||||||
|
padding-right: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Redmine Impersonate
|
||||||
|
// https://www.redmine.org/plugins/redmine_impersonate
|
||||||
|
// --------------------------------------------------
|
||||||
|
|
||||||
|
#impersonate::before {
|
||||||
|
content: $fa-var-user-secret;
|
||||||
|
@include fa-icon;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#impersonation-bar {
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Redmine Recaptcha
|
||||||
|
// https://www.redmine.org/plugins/recaptcha
|
||||||
|
// --------------------------------------------------
|
||||||
|
|
||||||
|
.new-user .g-recaptcha {
|
||||||
|
padding-left: 170px;
|
||||||
|
|
||||||
|
@media screen and (max-width: $redmine-responsive-max) {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Redmine Backlogs
|
// Redmine Backlogs
|
||||||
@@ -174,7 +432,7 @@
|
|||||||
p,
|
p,
|
||||||
ul,
|
ul,
|
||||||
ol {
|
ol {
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
@@ -207,7 +465,7 @@
|
|||||||
> .heart-link-with-count {
|
> .heart-link-with-count {
|
||||||
display: block;
|
display: block;
|
||||||
position: relative;
|
position: relative;
|
||||||
margin: -($line-height-computed / 2 + 1px) ($bubble-padding-horizontal - $padding-small-vertical) 0;
|
margin: -($line-height-computed * .5 + 1px) ($bubble-padding-horizontal - $padding-small-vertical) 0;
|
||||||
float: right;
|
float: right;
|
||||||
border: 0;
|
border: 0;
|
||||||
background-color: $body-bg;
|
background-color: $body-bg;
|
||||||
@@ -252,7 +510,7 @@
|
|||||||
> a:first-child {
|
> a:first-child {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
padding-right: floor($btn-padding-horizontal-small / 2);
|
padding-right: floor($btn-padding-horizontal-small * .5);
|
||||||
border-top-right-radius: 0;
|
border-top-right-radius: 0;
|
||||||
border-bottom-right-radius: 0;
|
border-bottom-right-radius: 0;
|
||||||
|
|
||||||
@@ -266,6 +524,14 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.controller-hearts .recent-heart-list li {
|
||||||
|
padding: $padding-large-vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wiki_form.new_content + .wiki_page--heart,
|
||||||
|
#wiki_form.new_content + .heart-link-with-count {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Redmine Time Tracker
|
// Redmine Time Tracker
|
||||||
@@ -323,7 +589,7 @@ h2 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.live_search {
|
.live_search {
|
||||||
margin-left: $padding-side / 2;
|
margin-left: $padding-side * .5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tags {
|
.tags {
|
||||||
@@ -596,7 +862,7 @@ div.add-note {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 8px;
|
left: 8px;
|
||||||
margin: ($fa-font-size-base / -2) 0 0;
|
margin: ($fa-font-size-base * -.5) 0 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -755,8 +1021,8 @@ span.tag-label-color {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
|
|
||||||
form > input {
|
form > input {
|
||||||
width: $quick-search-width / 2;
|
width: $quick-search-width * .5;
|
||||||
min-width: $quick-search-width / 2;
|
min-width: $quick-search-width * .5;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
|
|||||||
@@ -30,13 +30,13 @@ table.progress {
|
|||||||
border: 0 none;
|
border: 0 none;
|
||||||
|
|
||||||
&:first-child {
|
&:first-child {
|
||||||
border-top-left-radius: $progress-height / 2;
|
border-top-left-radius: $progress-height * .5;
|
||||||
border-bottom-left-radius: $progress-height / 2;
|
border-bottom-left-radius: $progress-height * .5;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
border-top-right-radius: $progress-height / 2;
|
border-top-right-radius: $progress-height * .5;
|
||||||
border-bottom-right-radius: $progress-height / 2;
|
border-bottom-right-radius: $progress-height * .5;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.done {
|
&.done {
|
||||||
|
|||||||
@@ -40,6 +40,8 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#header {
|
#header {
|
||||||
|
background-color: $header-bg;
|
||||||
|
|
||||||
#project-jump {
|
#project-jump {
|
||||||
padding: 0 $responsive-header-height 0 0;
|
padding: 0 $responsive-header-height 0 0;
|
||||||
|
|
||||||
@@ -116,7 +118,7 @@ body {
|
|||||||
|
|
||||||
&__search {
|
&__search {
|
||||||
height: $responsive-header-height;
|
height: $responsive-header-height;
|
||||||
padding: ($padding-side / 2);
|
padding: ($padding-side * .5);
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
|
|
||||||
input[type="text"] {
|
input[type="text"] {
|
||||||
@@ -128,6 +130,7 @@ body {
|
|||||||
&__avatar {
|
&__avatar {
|
||||||
img.gravatar {
|
img.gravatar {
|
||||||
top: 0;
|
top: 0;
|
||||||
|
padding: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -249,13 +252,13 @@ body {
|
|||||||
|
|
||||||
#watchers {
|
#watchers {
|
||||||
.contextual {
|
.contextual {
|
||||||
padding-top: $line-height-computed / 2;
|
padding-top: $line-height-computed * .5;
|
||||||
padding-bottom: $line-height-computed / 2;
|
padding-bottom: $line-height-computed * .5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.watchers {
|
.watchers {
|
||||||
li {
|
li {
|
||||||
margin: ($line-height-computed / 2) 0 0;
|
margin: ($line-height-computed * .5) 0 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
img.gravatar {
|
img.gravatar {
|
||||||
@@ -414,17 +417,7 @@ body {
|
|||||||
|
|
||||||
// For Redmine 3.4+
|
// For Redmine 3.4+
|
||||||
#my-page {
|
#my-page {
|
||||||
#list-left {
|
display: block;
|
||||||
width: 100%;
|
|
||||||
padding-right: 0;
|
|
||||||
float: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#list-right {
|
|
||||||
width: 100%;
|
|
||||||
padding-left: 0;
|
|
||||||
float: none;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
div#issue-changesets {
|
div#issue-changesets {
|
||||||
@@ -440,6 +433,47 @@ body {
|
|||||||
background-position: 8px center !important; // stylelint-disable-line declaration-no-important
|
background-position: 8px center !important; // stylelint-disable-line declaration-no-important
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Calendar */
|
||||||
|
ul.cal {
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
.calhead {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calbody {
|
||||||
|
min-height: calc(1.2em * 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.calbody .day-letter {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.week-number {
|
||||||
|
border: none;
|
||||||
|
background-color: $table-bg-active;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: left;
|
||||||
|
|
||||||
|
span.label-week {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.week-number .label-week {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calbody p.day-num {
|
||||||
|
font-size: 1.1em;
|
||||||
|
text-align: left;
|
||||||
|
|
||||||
|
.abbr-day {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tweaks for smartphones, touchscreens
|
// Tweaks for smartphones, touchscreens
|
||||||
@@ -451,7 +485,7 @@ body {
|
|||||||
.query-columns {
|
.query-columns {
|
||||||
span {
|
span {
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.buttons {
|
.buttons {
|
||||||
|
|||||||
@@ -105,7 +105,7 @@
|
|||||||
input,
|
input,
|
||||||
select {
|
select {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
}
|
}
|
||||||
|
|
||||||
label {
|
label {
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ $tabs-height: $line-height-computed + $tab-padding-vertical * 2 + 1px + 1px;
|
|||||||
}
|
}
|
||||||
|
|
||||||
&.disabled {
|
&.disabled {
|
||||||
opacity: $icon-opacity / 2;
|
opacity: $icon-opacity * .5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -76,7 +76,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
li {
|
li {
|
||||||
margin: 0 .5em 0 0;
|
margin: 0 .8em 0 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
float: left;
|
float: left;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
|
|
||||||
> ul > li {
|
> ul > li {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
margin-left: .5em;
|
margin-left: .8em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
|
|
||||||
#quick-search {
|
#quick-search {
|
||||||
#header & {
|
#header & {
|
||||||
margin-top: floor(($header-title-line-height + $header-padding-vertical * 2 - $input-height-base) / 2) - 1px;
|
margin-top: floor(($header-title-line-height + $header-padding-vertical * 2 - $input-height-base) * .5) - 1px;
|
||||||
margin-right: $header-padding-horizontal;
|
margin-right: $header-padding-horizontal;
|
||||||
float: right;
|
float: right;
|
||||||
color: $header-text;
|
color: $header-text;
|
||||||
@@ -203,7 +203,7 @@
|
|||||||
.drdn-trigger {
|
.drdn-trigger {
|
||||||
z-index: 1003;
|
z-index: 1003;
|
||||||
height: auto;
|
height: auto;
|
||||||
padding-bottom: $header-padding-horizontal / 2;
|
padding-bottom: $header-padding-horizontal * .5;
|
||||||
border-color: $quick-search-dropdown-bg;
|
border-color: $quick-search-dropdown-bg;
|
||||||
background-color: $quick-search-dropdown-bg;
|
background-color: $quick-search-dropdown-bg;
|
||||||
|
|
||||||
@@ -223,7 +223,7 @@
|
|||||||
&::after {
|
&::after {
|
||||||
content: $fa-var-caret-down;
|
content: $fa-var-caret-down;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: ($font-size-base / 2);
|
top: ($font-size-base * .5);
|
||||||
right: $input-padding-horizontal;
|
right: $input-padding-horizontal;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -233,7 +233,7 @@
|
|||||||
background: $quick-search-dropdown-bg;
|
background: $quick-search-dropdown-bg;
|
||||||
|
|
||||||
> .quick-search {
|
> .quick-search {
|
||||||
padding: $header-padding-horizontal / 2;
|
padding: $header-padding-horizontal * .5;
|
||||||
|
|
||||||
> input {
|
> input {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@@ -344,7 +344,7 @@ p.footnote {
|
|||||||
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 * .5;
|
||||||
border-top: 1px solid $gray-400;
|
border-top: 1px solid $gray-400;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -408,7 +408,7 @@ p.footnote {
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding: $padding-base-vertical $padding-base-horizontal;
|
padding: $padding-base-vertical $padding-base-horizontal;
|
||||||
border: 1px solid $btn-default-border;
|
border: 1px solid $btn-default-border;
|
||||||
border-radius: ceil($font-size-base + ($padding-base-vertical + 1px) * 2) / 2;
|
border-radius: ceil($font-size-base + ($padding-base-vertical + 1px) * 2) * .5;
|
||||||
background-color: $body-bg;
|
background-color: $body-bg;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
@if $enable-sidebar-toggler {
|
@if $enable-sidebar-toggler {
|
||||||
#main {
|
#main {
|
||||||
position: relative;
|
|
||||||
|
|
||||||
// Fix full screen view for dashboard plugin
|
// Fix full screen view for dashboard plugin
|
||||||
// https://github.com/jgraichen/redmine_dashboard
|
// https://github.com/jgraichen/redmine_dashboard
|
||||||
@at-root .controller-rdb_taskboard & {
|
@at-root .controller-rdb_taskboard & {
|
||||||
@@ -38,9 +36,11 @@
|
|||||||
.sidebar-toggler {
|
.sidebar-toggler {
|
||||||
display: block;
|
display: block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 1px;
|
z-index: 2;
|
||||||
|
bottom: -1px;
|
||||||
width: 14px;
|
width: 14px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
|
transform: translateY(100%);
|
||||||
border: 2px solid $gray-700;
|
border: 2px solid $gray-700;
|
||||||
border-radius: $border-radius-base;
|
border-radius: $border-radius-base;
|
||||||
background-color: $gray-200;
|
background-color: $gray-200;
|
||||||
|
|||||||
4
src/sass/lib/font-awesome/_variables.scss
vendored
4
src/sass/lib/font-awesome/_variables.scss
vendored
@@ -1,3 +1,5 @@
|
|||||||
|
@use "sass:math";
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
// --------------------------
|
// --------------------------
|
||||||
|
|
||||||
@@ -8,7 +10,7 @@ $fa-css-prefix: fa !default;
|
|||||||
$fa-version: "4.7.0" !default;
|
$fa-version: "4.7.0" !default;
|
||||||
$fa-border-color: #eee !default;
|
$fa-border-color: #eee !default;
|
||||||
$fa-inverse: #fff !default;
|
$fa-inverse: #fff !default;
|
||||||
$fa-li-width: (30em / 14) !default;
|
$fa-li-width: math.div(30em, 14) !default;
|
||||||
|
|
||||||
$fa-var-500px: "\f26e";
|
$fa-var-500px: "\f26e";
|
||||||
$fa-var-address-book: "\f2b9";
|
$fa-var-address-book: "\f2b9";
|
||||||
|
|||||||
@@ -256,8 +256,8 @@ ul.ui-sortable {
|
|||||||
.ui-tooltip {
|
.ui-tooltip {
|
||||||
.ui-tooltip-content {
|
.ui-tooltip-content {
|
||||||
hr {
|
hr {
|
||||||
margin-top: $line-height-computed / 2;
|
margin-top: $line-height-computed * .5;
|
||||||
margin-bottom: $line-height-computed / 2;
|
margin-bottom: $line-height-computed * .5;
|
||||||
border: 0;
|
border: 0;
|
||||||
border-top: 1px solid $hr-border;
|
border-top: 1px solid $hr-border;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,17 +51,17 @@ $story-sp-input-width: 50px;
|
|||||||
//
|
//
|
||||||
|
|
||||||
#backlogs_container {
|
#backlogs_container {
|
||||||
padding: ($padding-side / 2) ($padding-side / 4);
|
padding: ($padding-side * .5) ($padding-side * .25);
|
||||||
|
|
||||||
.backlogs-panel-inner {
|
.backlogs-panel-inner {
|
||||||
padding: 0 ($padding-side / 4);
|
padding: 0 ($padding-side * .25);
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: $screen-md-min) {
|
@media screen and (min-width: $screen-md-min) {
|
||||||
padding: $padding-side ($padding-side / 2);
|
padding: $padding-side ($padding-side * .5);
|
||||||
|
|
||||||
.backlogs-panel-inner {
|
.backlogs-panel-inner {
|
||||||
padding: 0 ($padding-side / 2);
|
padding: 0 ($padding-side * .5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,7 +158,7 @@ $story-sp-input-width: 50px;
|
|||||||
@include nice-shadow(1);
|
@include nice-shadow(1);
|
||||||
display: block;
|
display: block;
|
||||||
position: relative;
|
position: relative;
|
||||||
margin: 0 0 ($padding-side / 2);
|
margin: 0 0 ($padding-side * .5);
|
||||||
border-radius: $border-radius-large $border-radius-large 0 0;
|
border-radius: $border-radius-large $border-radius-large 0 0;
|
||||||
background-color: $gray-100;
|
background-color: $gray-100;
|
||||||
|
|
||||||
@@ -243,7 +243,7 @@ $story-sp-input-width: 50px;
|
|||||||
}
|
}
|
||||||
|
|
||||||
.editing {
|
.editing {
|
||||||
$editor-padding: (($header-line-height - $input-height-base) / 2);
|
$editor-padding: (($header-line-height - $input-height-base) * .5);
|
||||||
|
|
||||||
.editors {
|
.editors {
|
||||||
display: block;
|
display: block;
|
||||||
@@ -823,7 +823,7 @@ $story-sp-input-width: 50px;
|
|||||||
//
|
//
|
||||||
|
|
||||||
#show_completed_sprints {
|
#show_completed_sprints {
|
||||||
margin-left: $padding-side / 2;
|
margin-left: $padding-side * .5;
|
||||||
color: $gray-950;
|
color: $gray-950;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
1
svg/icon-star.svg
Normal file
1
svg/icon-star.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path fill="red" d="M1728 647q0 22-26 48l-363 354 86 500q1 7 1 20 0 21-10.5 35.5t-30.5 14.5q-19 0-40-12l-449-236-449 236q-22 12-40 12-21 0-31.5-14.5t-10.5-35.5q0-6 2-20l86-500-364-354q-25-27-25-48 0-37 56-46l502-73 225-455q19-41 49-41t49 41l225 455 502 73q56 9 56 46z"/></svg>
|
||||||
|
After Width: | Height: | Size: 363 B |
1
svg/icon-tag.svg
Normal file
1
svg/icon-tag.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path fill="red" d="M576 448q0-53-37.5-90.5t-90.5-37.5-90.5 37.5-37.5 90.5 37.5 90.5 90.5 37.5 90.5-37.5 37.5-90.5zm1067 576q0 53-37 90l-491 492q-39 37-91 37-53 0-90-37l-715-716q-38-37-64.5-101t-26.5-117v-416q0-52 38-90t90-38h416q53 0 117 26.5t102 64.5l715 714q37 39 37 91z"/></svg>
|
||||||
|
After Width: | Height: | Size: 369 B |
Reference in New Issue
Block a user