Show More
@@ -1,60 +1,60 b'' | |||||
1 | { |
|
1 | { | |
2 | "name": "rhodecode-enterprise", |
|
2 | "name": "rhodecode-enterprise", | |
3 | "version": "2.0.0", |
|
3 | "version": "2.0.0", | |
4 | "private": true, |
|
4 | "private": true, | |
5 | "description" : "RhodeCode JS packaged", |
|
5 | "description" : "RhodeCode JS packaged", | |
6 | "license": "SEE LICENSE IN LICENSE.txt", |
|
6 | "license": "SEE LICENSE IN LICENSE.txt", | |
7 | "repository" : { |
|
7 | "repository" : { | |
8 | "type" : "hg", |
|
8 | "type" : "hg", | |
9 | "url" : "https://code.rhodecode.com/rhodecode-enterprise-ce" |
|
9 | "url" : "https://code.rhodecode.com/rhodecode-enterprise-ce" | |
10 | }, |
|
10 | }, | |
11 | "devDependencies": { |
|
11 | "devDependencies": { | |
12 | "appenlight-client": "git+https://git@github.com/AppEnlight/appenlight-client-js.git#0.5.1", |
|
12 | "appenlight-client": "git+https://git@github.com/AppEnlight/appenlight-client-js.git#0.5.1", | |
13 | "clipboard": "^2.0.1", |
|
13 | "clipboard": "^2.0.1", | |
14 | "exports-loader": "^0.6.4", |
|
14 | "exports-loader": "^0.6.4", | |
15 | "favico.js": "^0.3.10", |
|
15 | "favico.js": "^0.3.10", | |
16 | "dropzone": "^5.5.0", |
|
16 | "dropzone": "^5.5.0", | |
17 | "grunt": "^0.4.5", |
|
17 | "grunt": "^0.4.5", | |
18 | "grunt-cli": "^1.3.1", |
|
18 | "grunt-cli": "^1.3.1", | |
19 | "grunt-contrib-concat": "^0.5.1", |
|
19 | "grunt-contrib-concat": "^0.5.1", | |
20 | "grunt-contrib-copy": "^1.0.0", |
|
20 | "grunt-contrib-copy": "^1.0.0", | |
21 | "grunt-contrib-jshint": "^0.12.0", |
|
21 | "grunt-contrib-jshint": "^0.12.0", | |
22 | "grunt-contrib-less": "^1.1.0", |
|
22 | "grunt-contrib-less": "^1.1.0", | |
23 | "grunt-contrib-watch": "^0.6.1", |
|
23 | "grunt-contrib-watch": "^0.6.1", | |
24 | "grunt-webpack": "^3.1.3", |
|
24 | "grunt-webpack": "^3.1.3", | |
25 | "jquery": "1.11.3", |
|
25 | "jquery": "1.11.3", | |
26 | "mark.js": "8.11.1", |
|
26 | "mark.js": "8.11.1", | |
27 | "jshint": "^2.9.1-rc3", |
|
27 | "jshint": "^2.9.1-rc3", | |
28 | "moment": "^2.18.1", |
|
28 | "moment": "^2.18.1", | |
29 | "mousetrap": "^1.6.1", |
|
29 | "mousetrap": "^1.6.1", | |
30 | "qrious": "^4.0.2", |
|
30 | "qrious": "^4.0.2", | |
31 |
"sticky-sidebar": "3.3. |
|
31 | "sticky-sidebar": "3.3.4", | |
32 | "waypoints": "4.0.1", |
|
32 | "waypoints": "4.0.1", | |
33 | "webpack": "4.23.1", |
|
33 | "webpack": "4.23.1", | |
34 | "webpack-cli": "3.1.2", |
|
34 | "webpack-cli": "3.1.2", | |
35 | "babel-core": "^6.26.3", |
|
35 | "babel-core": "^6.26.3", | |
36 | "babel-loader": "^7.1.2", |
|
36 | "babel-loader": "^7.1.2", | |
37 | "babel-plugin-transform-object-rest-spread": "^6.26.0", |
|
37 | "babel-plugin-transform-object-rest-spread": "^6.26.0", | |
38 | "babel-preset-env": "^1.6.0", |
|
38 | "babel-preset-env": "^1.6.0", | |
39 | "copy-webpack-plugin": "^4.4.2", |
|
39 | "copy-webpack-plugin": "^4.4.2", | |
40 | "css-loader": "^0.28.11", |
|
40 | "css-loader": "^0.28.11", | |
41 | "html-loader": "^0.4.4", |
|
41 | "html-loader": "^0.4.4", | |
42 | "html-webpack-plugin": "^3.2.0", |
|
42 | "html-webpack-plugin": "^3.2.0", | |
43 | "imports-loader": "^0.7.1", |
|
43 | "imports-loader": "^0.7.1", | |
44 | "polymer-webpack-loader": "^2.0.1", |
|
44 | "polymer-webpack-loader": "^2.0.1", | |
45 | "style-loader": "^0.21.0", |
|
45 | "style-loader": "^0.21.0", | |
46 | "webpack-uglify-js-plugin": "^1.1.9", |
|
46 | "webpack-uglify-js-plugin": "^1.1.9", | |
47 | "raw-loader": "1.0.0-beta.0", |
|
47 | "raw-loader": "1.0.0-beta.0", | |
48 | "ts-loader": "^1.3.3", |
|
48 | "ts-loader": "^1.3.3", | |
49 | "@webcomponents/webcomponentsjs": "^2.0.0", |
|
49 | "@webcomponents/webcomponentsjs": "^2.0.0", | |
50 | "@polymer/polymer": "^3.0.0", |
|
50 | "@polymer/polymer": "^3.0.0", | |
51 | "@polymer/paper-button": "^3.0.0", |
|
51 | "@polymer/paper-button": "^3.0.0", | |
52 | "@polymer/paper-spinner": "^3.0.0", |
|
52 | "@polymer/paper-spinner": "^3.0.0", | |
53 | "@polymer/paper-tooltip": "^3.0.0", |
|
53 | "@polymer/paper-tooltip": "^3.0.0", | |
54 | "@polymer/paper-toast": "^3.0.0", |
|
54 | "@polymer/paper-toast": "^3.0.0", | |
55 | "@polymer/paper-toggle-button": "^3.0.0", |
|
55 | "@polymer/paper-toggle-button": "^3.0.0", | |
56 | "@polymer/iron-ajax": "^3.0.0", |
|
56 | "@polymer/iron-ajax": "^3.0.0", | |
57 | "@polymer/iron-autogrow-textarea": "^3.0.0", |
|
57 | "@polymer/iron-autogrow-textarea": "^3.0.0", | |
58 | "@polymer/iron-a11y-keys": "^3.0.0" |
|
58 | "@polymer/iron-a11y-keys": "^3.0.0" | |
59 | } |
|
59 | } | |
60 | } |
|
60 | } |
@@ -1,500 +1,503 b'' | |||||
1 | # -*- coding: utf-8 -*- |
|
1 | # -*- coding: utf-8 -*- | |
2 |
|
2 | |||
3 | # Copyright (C) 2010-2019 RhodeCode GmbH |
|
3 | # Copyright (C) 2010-2019 RhodeCode GmbH | |
4 | # |
|
4 | # | |
5 | # This program is free software: you can redistribute it and/or modify |
|
5 | # This program is free software: you can redistribute it and/or modify | |
6 | # it under the terms of the GNU Affero General Public License, version 3 |
|
6 | # it under the terms of the GNU Affero General Public License, version 3 | |
7 | # (only), as published by the Free Software Foundation. |
|
7 | # (only), as published by the Free Software Foundation. | |
8 | # |
|
8 | # | |
9 | # This program is distributed in the hope that it will be useful, |
|
9 | # This program is distributed in the hope that it will be useful, | |
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | # GNU General Public License for more details. |
|
12 | # GNU General Public License for more details. | |
13 | # |
|
13 | # | |
14 | # You should have received a copy of the GNU Affero General Public License |
|
14 | # You should have received a copy of the GNU Affero General Public License | |
15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
16 | # |
|
16 | # | |
17 | # This program is dual-licensed. If you wish to learn more about the |
|
17 | # This program is dual-licensed. If you wish to learn more about the | |
18 | # RhodeCode Enterprise Edition, including its added features, Support services, |
|
18 | # RhodeCode Enterprise Edition, including its added features, Support services, | |
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ | |
20 |
|
20 | |||
21 |
|
21 | |||
22 | import logging |
|
22 | import logging | |
23 | import collections |
|
23 | import collections | |
24 |
|
24 | |||
25 | from pyramid.httpexceptions import HTTPNotFound, HTTPBadRequest, HTTPFound |
|
25 | from pyramid.httpexceptions import HTTPNotFound, HTTPBadRequest, HTTPFound | |
26 | from pyramid.view import view_config |
|
26 | from pyramid.view import view_config | |
27 | from pyramid.renderers import render |
|
27 | from pyramid.renderers import render | |
28 | from pyramid.response import Response |
|
28 | from pyramid.response import Response | |
29 |
|
29 | |||
30 | from rhodecode.apps._base import RepoAppView |
|
30 | from rhodecode.apps._base import RepoAppView | |
31 |
|
31 | |||
32 | from rhodecode.lib import diffs, codeblocks |
|
32 | from rhodecode.lib import diffs, codeblocks | |
33 | from rhodecode.lib.auth import ( |
|
33 | from rhodecode.lib.auth import ( | |
34 | LoginRequired, HasRepoPermissionAnyDecorator, NotAnonymous, CSRFRequired) |
|
34 | LoginRequired, HasRepoPermissionAnyDecorator, NotAnonymous, CSRFRequired) | |
35 |
|
35 | |||
36 | from rhodecode.lib.compat import OrderedDict |
|
36 | from rhodecode.lib.compat import OrderedDict | |
37 | from rhodecode.lib.diffs import ( |
|
37 | from rhodecode.lib.diffs import ( | |
38 | cache_diff, load_cached_diff, diff_cache_exist, get_diff_context, |
|
38 | cache_diff, load_cached_diff, diff_cache_exist, get_diff_context, | |
39 | get_diff_whitespace_flag) |
|
39 | get_diff_whitespace_flag) | |
40 | from rhodecode.lib.exceptions import StatusChangeOnClosedPullRequestError |
|
40 | from rhodecode.lib.exceptions import StatusChangeOnClosedPullRequestError | |
41 | import rhodecode.lib.helpers as h |
|
41 | import rhodecode.lib.helpers as h | |
42 | from rhodecode.lib.utils2 import safe_unicode, str2bool |
|
42 | from rhodecode.lib.utils2 import safe_unicode, str2bool | |
43 | from rhodecode.lib.vcs.backends.base import EmptyCommit |
|
43 | from rhodecode.lib.vcs.backends.base import EmptyCommit | |
44 | from rhodecode.lib.vcs.exceptions import ( |
|
44 | from rhodecode.lib.vcs.exceptions import ( | |
45 | RepositoryError, CommitDoesNotExistError) |
|
45 | RepositoryError, CommitDoesNotExistError) | |
46 | from rhodecode.model.db import ChangesetComment, ChangesetStatus |
|
46 | from rhodecode.model.db import ChangesetComment, ChangesetStatus | |
47 | from rhodecode.model.changeset_status import ChangesetStatusModel |
|
47 | from rhodecode.model.changeset_status import ChangesetStatusModel | |
48 | from rhodecode.model.comment import CommentsModel |
|
48 | from rhodecode.model.comment import CommentsModel | |
49 | from rhodecode.model.meta import Session |
|
49 | from rhodecode.model.meta import Session | |
50 | from rhodecode.model.settings import VcsSettingsModel |
|
50 | from rhodecode.model.settings import VcsSettingsModel | |
51 |
|
51 | |||
52 | log = logging.getLogger(__name__) |
|
52 | log = logging.getLogger(__name__) | |
53 |
|
53 | |||
54 |
|
54 | |||
55 | def _update_with_GET(params, request): |
|
55 | def _update_with_GET(params, request): | |
56 | for k in ['diff1', 'diff2', 'diff']: |
|
56 | for k in ['diff1', 'diff2', 'diff']: | |
57 | params[k] += request.GET.getall(k) |
|
57 | params[k] += request.GET.getall(k) | |
58 |
|
58 | |||
59 |
|
59 | |||
60 | class RepoCommitsView(RepoAppView): |
|
60 | class RepoCommitsView(RepoAppView): | |
61 | def load_default_context(self): |
|
61 | def load_default_context(self): | |
62 | c = self._get_local_tmpl_context(include_app_defaults=True) |
|
62 | c = self._get_local_tmpl_context(include_app_defaults=True) | |
63 | c.rhodecode_repo = self.rhodecode_vcs_repo |
|
63 | c.rhodecode_repo = self.rhodecode_vcs_repo | |
64 |
|
64 | |||
65 | return c |
|
65 | return c | |
66 |
|
66 | |||
67 | def _is_diff_cache_enabled(self, target_repo): |
|
67 | def _is_diff_cache_enabled(self, target_repo): | |
68 | caching_enabled = self._get_general_setting( |
|
68 | caching_enabled = self._get_general_setting( | |
69 | target_repo, 'rhodecode_diff_cache') |
|
69 | target_repo, 'rhodecode_diff_cache') | |
70 | log.debug('Diff caching enabled: %s', caching_enabled) |
|
70 | log.debug('Diff caching enabled: %s', caching_enabled) | |
71 | return caching_enabled |
|
71 | return caching_enabled | |
72 |
|
72 | |||
73 | def _commit(self, commit_id_range, method): |
|
73 | def _commit(self, commit_id_range, method): | |
74 | _ = self.request.translate |
|
74 | _ = self.request.translate | |
75 | c = self.load_default_context() |
|
75 | c = self.load_default_context() | |
76 | c.fulldiff = self.request.GET.get('fulldiff') |
|
76 | c.fulldiff = self.request.GET.get('fulldiff') | |
77 |
|
77 | |||
78 | # fetch global flags of ignore ws or context lines |
|
78 | # fetch global flags of ignore ws or context lines | |
79 | diff_context = get_diff_context(self.request) |
|
79 | diff_context = get_diff_context(self.request) | |
80 | hide_whitespace_changes = get_diff_whitespace_flag(self.request) |
|
80 | hide_whitespace_changes = get_diff_whitespace_flag(self.request) | |
81 |
|
81 | |||
82 | # diff_limit will cut off the whole diff if the limit is applied |
|
82 | # diff_limit will cut off the whole diff if the limit is applied | |
83 | # otherwise it will just hide the big files from the front-end |
|
83 | # otherwise it will just hide the big files from the front-end | |
84 | diff_limit = c.visual.cut_off_limit_diff |
|
84 | diff_limit = c.visual.cut_off_limit_diff | |
85 | file_limit = c.visual.cut_off_limit_file |
|
85 | file_limit = c.visual.cut_off_limit_file | |
86 |
|
86 | |||
87 | # get ranges of commit ids if preset |
|
87 | # get ranges of commit ids if preset | |
88 | commit_range = commit_id_range.split('...')[:2] |
|
88 | commit_range = commit_id_range.split('...')[:2] | |
89 |
|
89 | |||
90 | try: |
|
90 | try: | |
91 | pre_load = ['affected_files', 'author', 'branch', 'date', |
|
91 | pre_load = ['affected_files', 'author', 'branch', 'date', | |
92 | 'message', 'parents'] |
|
92 | 'message', 'parents'] | |
93 | if self.rhodecode_vcs_repo.alias == 'hg': |
|
93 | if self.rhodecode_vcs_repo.alias == 'hg': | |
94 | pre_load += ['hidden', 'obsolete', 'phase'] |
|
94 | pre_load += ['hidden', 'obsolete', 'phase'] | |
95 |
|
95 | |||
96 | if len(commit_range) == 2: |
|
96 | if len(commit_range) == 2: | |
97 | commits = self.rhodecode_vcs_repo.get_commits( |
|
97 | commits = self.rhodecode_vcs_repo.get_commits( | |
98 | start_id=commit_range[0], end_id=commit_range[1], |
|
98 | start_id=commit_range[0], end_id=commit_range[1], | |
99 | pre_load=pre_load, translate_tags=False) |
|
99 | pre_load=pre_load, translate_tags=False) | |
100 | commits = list(commits) |
|
100 | commits = list(commits) | |
101 | else: |
|
101 | else: | |
102 | commits = [self.rhodecode_vcs_repo.get_commit( |
|
102 | commits = [self.rhodecode_vcs_repo.get_commit( | |
103 | commit_id=commit_id_range, pre_load=pre_load)] |
|
103 | commit_id=commit_id_range, pre_load=pre_load)] | |
104 |
|
104 | |||
105 | c.commit_ranges = commits |
|
105 | c.commit_ranges = commits | |
106 | if not c.commit_ranges: |
|
106 | if not c.commit_ranges: | |
107 | raise RepositoryError('The commit range returned an empty result') |
|
107 | raise RepositoryError('The commit range returned an empty result') | |
108 | except CommitDoesNotExistError as e: |
|
108 | except CommitDoesNotExistError as e: | |
109 | msg = _('No such commit exists. Org exception: `{}`').format(e) |
|
109 | msg = _('No such commit exists. Org exception: `{}`').format(e) | |
110 | h.flash(msg, category='error') |
|
110 | h.flash(msg, category='error') | |
111 | raise HTTPNotFound() |
|
111 | raise HTTPNotFound() | |
112 | except Exception: |
|
112 | except Exception: | |
113 | log.exception("General failure") |
|
113 | log.exception("General failure") | |
114 | raise HTTPNotFound() |
|
114 | raise HTTPNotFound() | |
115 |
|
115 | |||
116 | c.changes = OrderedDict() |
|
116 | c.changes = OrderedDict() | |
117 | c.lines_added = 0 |
|
117 | c.lines_added = 0 | |
118 | c.lines_deleted = 0 |
|
118 | c.lines_deleted = 0 | |
119 |
|
119 | |||
120 | # auto collapse if we have more than limit |
|
120 | # auto collapse if we have more than limit | |
121 | collapse_limit = diffs.DiffProcessor._collapse_commits_over |
|
121 | collapse_limit = diffs.DiffProcessor._collapse_commits_over | |
122 | c.collapse_all_commits = len(c.commit_ranges) > collapse_limit |
|
122 | c.collapse_all_commits = len(c.commit_ranges) > collapse_limit | |
123 |
|
123 | |||
124 | c.commit_statuses = ChangesetStatus.STATUSES |
|
124 | c.commit_statuses = ChangesetStatus.STATUSES | |
125 | c.inline_comments = [] |
|
125 | c.inline_comments = [] | |
126 | c.files = [] |
|
126 | c.files = [] | |
127 |
|
127 | |||
128 | c.statuses = [] |
|
128 | c.statuses = [] | |
129 | c.comments = [] |
|
129 | c.comments = [] | |
130 | c.unresolved_comments = [] |
|
130 | c.unresolved_comments = [] | |
|
131 | c.resolved_comments = [] | |||
131 | if len(c.commit_ranges) == 1: |
|
132 | if len(c.commit_ranges) == 1: | |
132 | commit = c.commit_ranges[0] |
|
133 | commit = c.commit_ranges[0] | |
133 | c.comments = CommentsModel().get_comments( |
|
134 | c.comments = CommentsModel().get_comments( | |
134 | self.db_repo.repo_id, |
|
135 | self.db_repo.repo_id, | |
135 | revision=commit.raw_id) |
|
136 | revision=commit.raw_id) | |
136 | c.statuses.append(ChangesetStatusModel().get_status( |
|
137 | c.statuses.append(ChangesetStatusModel().get_status( | |
137 | self.db_repo.repo_id, commit.raw_id)) |
|
138 | self.db_repo.repo_id, commit.raw_id)) | |
138 | # comments from PR |
|
139 | # comments from PR | |
139 | statuses = ChangesetStatusModel().get_statuses( |
|
140 | statuses = ChangesetStatusModel().get_statuses( | |
140 | self.db_repo.repo_id, commit.raw_id, |
|
141 | self.db_repo.repo_id, commit.raw_id, | |
141 | with_revisions=True) |
|
142 | with_revisions=True) | |
142 | prs = set(st.pull_request for st in statuses |
|
143 | prs = set(st.pull_request for st in statuses | |
143 | if st.pull_request is not None) |
|
144 | if st.pull_request is not None) | |
144 | # from associated statuses, check the pull requests, and |
|
145 | # from associated statuses, check the pull requests, and | |
145 | # show comments from them |
|
146 | # show comments from them | |
146 | for pr in prs: |
|
147 | for pr in prs: | |
147 | c.comments.extend(pr.comments) |
|
148 | c.comments.extend(pr.comments) | |
148 |
|
149 | |||
149 | c.unresolved_comments = CommentsModel()\ |
|
150 | c.unresolved_comments = CommentsModel()\ | |
150 | .get_commit_unresolved_todos(commit.raw_id) |
|
151 | .get_commit_unresolved_todos(commit.raw_id) | |
|
152 | c.resolved_comments = CommentsModel()\ | |||
|
153 | .get_commit_resolved_todos(commit.raw_id) | |||
151 |
|
154 | |||
152 | diff = None |
|
155 | diff = None | |
153 | # Iterate over ranges (default commit view is always one commit) |
|
156 | # Iterate over ranges (default commit view is always one commit) | |
154 | for commit in c.commit_ranges: |
|
157 | for commit in c.commit_ranges: | |
155 | c.changes[commit.raw_id] = [] |
|
158 | c.changes[commit.raw_id] = [] | |
156 |
|
159 | |||
157 | commit2 = commit |
|
160 | commit2 = commit | |
158 | commit1 = commit.first_parent |
|
161 | commit1 = commit.first_parent | |
159 |
|
162 | |||
160 | if method == 'show': |
|
163 | if method == 'show': | |
161 | inline_comments = CommentsModel().get_inline_comments( |
|
164 | inline_comments = CommentsModel().get_inline_comments( | |
162 | self.db_repo.repo_id, revision=commit.raw_id) |
|
165 | self.db_repo.repo_id, revision=commit.raw_id) | |
163 | c.inline_cnt = CommentsModel().get_inline_comments_count( |
|
166 | c.inline_cnt = CommentsModel().get_inline_comments_count( | |
164 | inline_comments) |
|
167 | inline_comments) | |
165 | c.inline_comments = inline_comments |
|
168 | c.inline_comments = inline_comments | |
166 |
|
169 | |||
167 | cache_path = self.rhodecode_vcs_repo.get_create_shadow_cache_pr_path( |
|
170 | cache_path = self.rhodecode_vcs_repo.get_create_shadow_cache_pr_path( | |
168 | self.db_repo) |
|
171 | self.db_repo) | |
169 | cache_file_path = diff_cache_exist( |
|
172 | cache_file_path = diff_cache_exist( | |
170 | cache_path, 'diff', commit.raw_id, |
|
173 | cache_path, 'diff', commit.raw_id, | |
171 | hide_whitespace_changes, diff_context, c.fulldiff) |
|
174 | hide_whitespace_changes, diff_context, c.fulldiff) | |
172 |
|
175 | |||
173 | caching_enabled = self._is_diff_cache_enabled(self.db_repo) |
|
176 | caching_enabled = self._is_diff_cache_enabled(self.db_repo) | |
174 | force_recache = str2bool(self.request.GET.get('force_recache')) |
|
177 | force_recache = str2bool(self.request.GET.get('force_recache')) | |
175 |
|
178 | |||
176 | cached_diff = None |
|
179 | cached_diff = None | |
177 | if caching_enabled: |
|
180 | if caching_enabled: | |
178 | cached_diff = load_cached_diff(cache_file_path) |
|
181 | cached_diff = load_cached_diff(cache_file_path) | |
179 |
|
182 | |||
180 | has_proper_diff_cache = cached_diff and cached_diff.get('diff') |
|
183 | has_proper_diff_cache = cached_diff and cached_diff.get('diff') | |
181 | if not force_recache and has_proper_diff_cache: |
|
184 | if not force_recache and has_proper_diff_cache: | |
182 | diffset = cached_diff['diff'] |
|
185 | diffset = cached_diff['diff'] | |
183 | else: |
|
186 | else: | |
184 | vcs_diff = self.rhodecode_vcs_repo.get_diff( |
|
187 | vcs_diff = self.rhodecode_vcs_repo.get_diff( | |
185 | commit1, commit2, |
|
188 | commit1, commit2, | |
186 | ignore_whitespace=hide_whitespace_changes, |
|
189 | ignore_whitespace=hide_whitespace_changes, | |
187 | context=diff_context) |
|
190 | context=diff_context) | |
188 |
|
191 | |||
189 | diff_processor = diffs.DiffProcessor( |
|
192 | diff_processor = diffs.DiffProcessor( | |
190 | vcs_diff, format='newdiff', diff_limit=diff_limit, |
|
193 | vcs_diff, format='newdiff', diff_limit=diff_limit, | |
191 | file_limit=file_limit, show_full_diff=c.fulldiff) |
|
194 | file_limit=file_limit, show_full_diff=c.fulldiff) | |
192 |
|
195 | |||
193 | _parsed = diff_processor.prepare() |
|
196 | _parsed = diff_processor.prepare() | |
194 |
|
197 | |||
195 | diffset = codeblocks.DiffSet( |
|
198 | diffset = codeblocks.DiffSet( | |
196 | repo_name=self.db_repo_name, |
|
199 | repo_name=self.db_repo_name, | |
197 | source_node_getter=codeblocks.diffset_node_getter(commit1), |
|
200 | source_node_getter=codeblocks.diffset_node_getter(commit1), | |
198 | target_node_getter=codeblocks.diffset_node_getter(commit2)) |
|
201 | target_node_getter=codeblocks.diffset_node_getter(commit2)) | |
199 |
|
202 | |||
200 | diffset = self.path_filter.render_patchset_filtered( |
|
203 | diffset = self.path_filter.render_patchset_filtered( | |
201 | diffset, _parsed, commit1.raw_id, commit2.raw_id) |
|
204 | diffset, _parsed, commit1.raw_id, commit2.raw_id) | |
202 |
|
205 | |||
203 | # save cached diff |
|
206 | # save cached diff | |
204 | if caching_enabled: |
|
207 | if caching_enabled: | |
205 | cache_diff(cache_file_path, diffset, None) |
|
208 | cache_diff(cache_file_path, diffset, None) | |
206 |
|
209 | |||
207 | c.limited_diff = diffset.limited_diff |
|
210 | c.limited_diff = diffset.limited_diff | |
208 | c.changes[commit.raw_id] = diffset |
|
211 | c.changes[commit.raw_id] = diffset | |
209 | else: |
|
212 | else: | |
210 | # TODO(marcink): no cache usage here... |
|
213 | # TODO(marcink): no cache usage here... | |
211 | _diff = self.rhodecode_vcs_repo.get_diff( |
|
214 | _diff = self.rhodecode_vcs_repo.get_diff( | |
212 | commit1, commit2, |
|
215 | commit1, commit2, | |
213 | ignore_whitespace=hide_whitespace_changes, context=diff_context) |
|
216 | ignore_whitespace=hide_whitespace_changes, context=diff_context) | |
214 | diff_processor = diffs.DiffProcessor( |
|
217 | diff_processor = diffs.DiffProcessor( | |
215 | _diff, format='newdiff', diff_limit=diff_limit, |
|
218 | _diff, format='newdiff', diff_limit=diff_limit, | |
216 | file_limit=file_limit, show_full_diff=c.fulldiff) |
|
219 | file_limit=file_limit, show_full_diff=c.fulldiff) | |
217 | # downloads/raw we only need RAW diff nothing else |
|
220 | # downloads/raw we only need RAW diff nothing else | |
218 | diff = self.path_filter.get_raw_patch(diff_processor) |
|
221 | diff = self.path_filter.get_raw_patch(diff_processor) | |
219 | c.changes[commit.raw_id] = [None, None, None, None, diff, None, None] |
|
222 | c.changes[commit.raw_id] = [None, None, None, None, diff, None, None] | |
220 |
|
223 | |||
221 | # sort comments by how they were generated |
|
224 | # sort comments by how they were generated | |
222 | c.comments = sorted(c.comments, key=lambda x: x.comment_id) |
|
225 | c.comments = sorted(c.comments, key=lambda x: x.comment_id) | |
223 |
|
226 | |||
224 | if len(c.commit_ranges) == 1: |
|
227 | if len(c.commit_ranges) == 1: | |
225 | c.commit = c.commit_ranges[0] |
|
228 | c.commit = c.commit_ranges[0] | |
226 | c.parent_tmpl = ''.join( |
|
229 | c.parent_tmpl = ''.join( | |
227 | '# Parent %s\n' % x.raw_id for x in c.commit.parents) |
|
230 | '# Parent %s\n' % x.raw_id for x in c.commit.parents) | |
228 |
|
231 | |||
229 | if method == 'download': |
|
232 | if method == 'download': | |
230 | response = Response(diff) |
|
233 | response = Response(diff) | |
231 | response.content_type = 'text/plain' |
|
234 | response.content_type = 'text/plain' | |
232 | response.content_disposition = ( |
|
235 | response.content_disposition = ( | |
233 | 'attachment; filename=%s.diff' % commit_id_range[:12]) |
|
236 | 'attachment; filename=%s.diff' % commit_id_range[:12]) | |
234 | return response |
|
237 | return response | |
235 | elif method == 'patch': |
|
238 | elif method == 'patch': | |
236 | c.diff = safe_unicode(diff) |
|
239 | c.diff = safe_unicode(diff) | |
237 | patch = render( |
|
240 | patch = render( | |
238 | 'rhodecode:templates/changeset/patch_changeset.mako', |
|
241 | 'rhodecode:templates/changeset/patch_changeset.mako', | |
239 | self._get_template_context(c), self.request) |
|
242 | self._get_template_context(c), self.request) | |
240 | response = Response(patch) |
|
243 | response = Response(patch) | |
241 | response.content_type = 'text/plain' |
|
244 | response.content_type = 'text/plain' | |
242 | return response |
|
245 | return response | |
243 | elif method == 'raw': |
|
246 | elif method == 'raw': | |
244 | response = Response(diff) |
|
247 | response = Response(diff) | |
245 | response.content_type = 'text/plain' |
|
248 | response.content_type = 'text/plain' | |
246 | return response |
|
249 | return response | |
247 | elif method == 'show': |
|
250 | elif method == 'show': | |
248 | if len(c.commit_ranges) == 1: |
|
251 | if len(c.commit_ranges) == 1: | |
249 | html = render( |
|
252 | html = render( | |
250 | 'rhodecode:templates/changeset/changeset.mako', |
|
253 | 'rhodecode:templates/changeset/changeset.mako', | |
251 | self._get_template_context(c), self.request) |
|
254 | self._get_template_context(c), self.request) | |
252 | return Response(html) |
|
255 | return Response(html) | |
253 | else: |
|
256 | else: | |
254 | c.ancestor = None |
|
257 | c.ancestor = None | |
255 | c.target_repo = self.db_repo |
|
258 | c.target_repo = self.db_repo | |
256 | html = render( |
|
259 | html = render( | |
257 | 'rhodecode:templates/changeset/changeset_range.mako', |
|
260 | 'rhodecode:templates/changeset/changeset_range.mako', | |
258 | self._get_template_context(c), self.request) |
|
261 | self._get_template_context(c), self.request) | |
259 | return Response(html) |
|
262 | return Response(html) | |
260 |
|
263 | |||
261 | raise HTTPBadRequest() |
|
264 | raise HTTPBadRequest() | |
262 |
|
265 | |||
263 | @LoginRequired() |
|
266 | @LoginRequired() | |
264 | @HasRepoPermissionAnyDecorator( |
|
267 | @HasRepoPermissionAnyDecorator( | |
265 | 'repository.read', 'repository.write', 'repository.admin') |
|
268 | 'repository.read', 'repository.write', 'repository.admin') | |
266 | @view_config( |
|
269 | @view_config( | |
267 | route_name='repo_commit', request_method='GET', |
|
270 | route_name='repo_commit', request_method='GET', | |
268 | renderer=None) |
|
271 | renderer=None) | |
269 | def repo_commit_show(self): |
|
272 | def repo_commit_show(self): | |
270 | commit_id = self.request.matchdict['commit_id'] |
|
273 | commit_id = self.request.matchdict['commit_id'] | |
271 | return self._commit(commit_id, method='show') |
|
274 | return self._commit(commit_id, method='show') | |
272 |
|
275 | |||
273 | @LoginRequired() |
|
276 | @LoginRequired() | |
274 | @HasRepoPermissionAnyDecorator( |
|
277 | @HasRepoPermissionAnyDecorator( | |
275 | 'repository.read', 'repository.write', 'repository.admin') |
|
278 | 'repository.read', 'repository.write', 'repository.admin') | |
276 | @view_config( |
|
279 | @view_config( | |
277 | route_name='repo_commit_raw', request_method='GET', |
|
280 | route_name='repo_commit_raw', request_method='GET', | |
278 | renderer=None) |
|
281 | renderer=None) | |
279 | @view_config( |
|
282 | @view_config( | |
280 | route_name='repo_commit_raw_deprecated', request_method='GET', |
|
283 | route_name='repo_commit_raw_deprecated', request_method='GET', | |
281 | renderer=None) |
|
284 | renderer=None) | |
282 | def repo_commit_raw(self): |
|
285 | def repo_commit_raw(self): | |
283 | commit_id = self.request.matchdict['commit_id'] |
|
286 | commit_id = self.request.matchdict['commit_id'] | |
284 | return self._commit(commit_id, method='raw') |
|
287 | return self._commit(commit_id, method='raw') | |
285 |
|
288 | |||
286 | @LoginRequired() |
|
289 | @LoginRequired() | |
287 | @HasRepoPermissionAnyDecorator( |
|
290 | @HasRepoPermissionAnyDecorator( | |
288 | 'repository.read', 'repository.write', 'repository.admin') |
|
291 | 'repository.read', 'repository.write', 'repository.admin') | |
289 | @view_config( |
|
292 | @view_config( | |
290 | route_name='repo_commit_patch', request_method='GET', |
|
293 | route_name='repo_commit_patch', request_method='GET', | |
291 | renderer=None) |
|
294 | renderer=None) | |
292 | def repo_commit_patch(self): |
|
295 | def repo_commit_patch(self): | |
293 | commit_id = self.request.matchdict['commit_id'] |
|
296 | commit_id = self.request.matchdict['commit_id'] | |
294 | return self._commit(commit_id, method='patch') |
|
297 | return self._commit(commit_id, method='patch') | |
295 |
|
298 | |||
296 | @LoginRequired() |
|
299 | @LoginRequired() | |
297 | @HasRepoPermissionAnyDecorator( |
|
300 | @HasRepoPermissionAnyDecorator( | |
298 | 'repository.read', 'repository.write', 'repository.admin') |
|
301 | 'repository.read', 'repository.write', 'repository.admin') | |
299 | @view_config( |
|
302 | @view_config( | |
300 | route_name='repo_commit_download', request_method='GET', |
|
303 | route_name='repo_commit_download', request_method='GET', | |
301 | renderer=None) |
|
304 | renderer=None) | |
302 | def repo_commit_download(self): |
|
305 | def repo_commit_download(self): | |
303 | commit_id = self.request.matchdict['commit_id'] |
|
306 | commit_id = self.request.matchdict['commit_id'] | |
304 | return self._commit(commit_id, method='download') |
|
307 | return self._commit(commit_id, method='download') | |
305 |
|
308 | |||
306 | @LoginRequired() |
|
309 | @LoginRequired() | |
307 | @NotAnonymous() |
|
310 | @NotAnonymous() | |
308 | @HasRepoPermissionAnyDecorator( |
|
311 | @HasRepoPermissionAnyDecorator( | |
309 | 'repository.read', 'repository.write', 'repository.admin') |
|
312 | 'repository.read', 'repository.write', 'repository.admin') | |
310 | @CSRFRequired() |
|
313 | @CSRFRequired() | |
311 | @view_config( |
|
314 | @view_config( | |
312 | route_name='repo_commit_comment_create', request_method='POST', |
|
315 | route_name='repo_commit_comment_create', request_method='POST', | |
313 | renderer='json_ext') |
|
316 | renderer='json_ext') | |
314 | def repo_commit_comment_create(self): |
|
317 | def repo_commit_comment_create(self): | |
315 | _ = self.request.translate |
|
318 | _ = self.request.translate | |
316 | commit_id = self.request.matchdict['commit_id'] |
|
319 | commit_id = self.request.matchdict['commit_id'] | |
317 |
|
320 | |||
318 | c = self.load_default_context() |
|
321 | c = self.load_default_context() | |
319 | status = self.request.POST.get('changeset_status', None) |
|
322 | status = self.request.POST.get('changeset_status', None) | |
320 | text = self.request.POST.get('text') |
|
323 | text = self.request.POST.get('text') | |
321 | comment_type = self.request.POST.get('comment_type') |
|
324 | comment_type = self.request.POST.get('comment_type') | |
322 | resolves_comment_id = self.request.POST.get('resolves_comment_id', None) |
|
325 | resolves_comment_id = self.request.POST.get('resolves_comment_id', None) | |
323 |
|
326 | |||
324 | if status: |
|
327 | if status: | |
325 | text = text or (_('Status change %(transition_icon)s %(status)s') |
|
328 | text = text or (_('Status change %(transition_icon)s %(status)s') | |
326 | % {'transition_icon': '>', |
|
329 | % {'transition_icon': '>', | |
327 | 'status': ChangesetStatus.get_status_lbl(status)}) |
|
330 | 'status': ChangesetStatus.get_status_lbl(status)}) | |
328 |
|
331 | |||
329 | multi_commit_ids = [] |
|
332 | multi_commit_ids = [] | |
330 | for _commit_id in self.request.POST.get('commit_ids', '').split(','): |
|
333 | for _commit_id in self.request.POST.get('commit_ids', '').split(','): | |
331 | if _commit_id not in ['', None, EmptyCommit.raw_id]: |
|
334 | if _commit_id not in ['', None, EmptyCommit.raw_id]: | |
332 | if _commit_id not in multi_commit_ids: |
|
335 | if _commit_id not in multi_commit_ids: | |
333 | multi_commit_ids.append(_commit_id) |
|
336 | multi_commit_ids.append(_commit_id) | |
334 |
|
337 | |||
335 | commit_ids = multi_commit_ids or [commit_id] |
|
338 | commit_ids = multi_commit_ids or [commit_id] | |
336 |
|
339 | |||
337 | comment = None |
|
340 | comment = None | |
338 | for current_id in filter(None, commit_ids): |
|
341 | for current_id in filter(None, commit_ids): | |
339 | comment = CommentsModel().create( |
|
342 | comment = CommentsModel().create( | |
340 | text=text, |
|
343 | text=text, | |
341 | repo=self.db_repo.repo_id, |
|
344 | repo=self.db_repo.repo_id, | |
342 | user=self._rhodecode_db_user.user_id, |
|
345 | user=self._rhodecode_db_user.user_id, | |
343 | commit_id=current_id, |
|
346 | commit_id=current_id, | |
344 | f_path=self.request.POST.get('f_path'), |
|
347 | f_path=self.request.POST.get('f_path'), | |
345 | line_no=self.request.POST.get('line'), |
|
348 | line_no=self.request.POST.get('line'), | |
346 | status_change=(ChangesetStatus.get_status_lbl(status) |
|
349 | status_change=(ChangesetStatus.get_status_lbl(status) | |
347 | if status else None), |
|
350 | if status else None), | |
348 | status_change_type=status, |
|
351 | status_change_type=status, | |
349 | comment_type=comment_type, |
|
352 | comment_type=comment_type, | |
350 | resolves_comment_id=resolves_comment_id, |
|
353 | resolves_comment_id=resolves_comment_id, | |
351 | auth_user=self._rhodecode_user |
|
354 | auth_user=self._rhodecode_user | |
352 | ) |
|
355 | ) | |
353 |
|
356 | |||
354 | # get status if set ! |
|
357 | # get status if set ! | |
355 | if status: |
|
358 | if status: | |
356 | # if latest status was from pull request and it's closed |
|
359 | # if latest status was from pull request and it's closed | |
357 | # disallow changing status ! |
|
360 | # disallow changing status ! | |
358 | # dont_allow_on_closed_pull_request = True ! |
|
361 | # dont_allow_on_closed_pull_request = True ! | |
359 |
|
362 | |||
360 | try: |
|
363 | try: | |
361 | ChangesetStatusModel().set_status( |
|
364 | ChangesetStatusModel().set_status( | |
362 | self.db_repo.repo_id, |
|
365 | self.db_repo.repo_id, | |
363 | status, |
|
366 | status, | |
364 | self._rhodecode_db_user.user_id, |
|
367 | self._rhodecode_db_user.user_id, | |
365 | comment, |
|
368 | comment, | |
366 | revision=current_id, |
|
369 | revision=current_id, | |
367 | dont_allow_on_closed_pull_request=True |
|
370 | dont_allow_on_closed_pull_request=True | |
368 | ) |
|
371 | ) | |
369 | except StatusChangeOnClosedPullRequestError: |
|
372 | except StatusChangeOnClosedPullRequestError: | |
370 | msg = _('Changing the status of a commit associated with ' |
|
373 | msg = _('Changing the status of a commit associated with ' | |
371 | 'a closed pull request is not allowed') |
|
374 | 'a closed pull request is not allowed') | |
372 | log.exception(msg) |
|
375 | log.exception(msg) | |
373 | h.flash(msg, category='warning') |
|
376 | h.flash(msg, category='warning') | |
374 | raise HTTPFound(h.route_path( |
|
377 | raise HTTPFound(h.route_path( | |
375 | 'repo_commit', repo_name=self.db_repo_name, |
|
378 | 'repo_commit', repo_name=self.db_repo_name, | |
376 | commit_id=current_id)) |
|
379 | commit_id=current_id)) | |
377 |
|
380 | |||
378 | # finalize, commit and redirect |
|
381 | # finalize, commit and redirect | |
379 | Session().commit() |
|
382 | Session().commit() | |
380 |
|
383 | |||
381 | data = { |
|
384 | data = { | |
382 | 'target_id': h.safeid(h.safe_unicode( |
|
385 | 'target_id': h.safeid(h.safe_unicode( | |
383 | self.request.POST.get('f_path'))), |
|
386 | self.request.POST.get('f_path'))), | |
384 | } |
|
387 | } | |
385 | if comment: |
|
388 | if comment: | |
386 | c.co = comment |
|
389 | c.co = comment | |
387 | rendered_comment = render( |
|
390 | rendered_comment = render( | |
388 | 'rhodecode:templates/changeset/changeset_comment_block.mako', |
|
391 | 'rhodecode:templates/changeset/changeset_comment_block.mako', | |
389 | self._get_template_context(c), self.request) |
|
392 | self._get_template_context(c), self.request) | |
390 |
|
393 | |||
391 | data.update(comment.get_dict()) |
|
394 | data.update(comment.get_dict()) | |
392 | data.update({'rendered_text': rendered_comment}) |
|
395 | data.update({'rendered_text': rendered_comment}) | |
393 |
|
396 | |||
394 | return data |
|
397 | return data | |
395 |
|
398 | |||
396 | @LoginRequired() |
|
399 | @LoginRequired() | |
397 | @NotAnonymous() |
|
400 | @NotAnonymous() | |
398 | @HasRepoPermissionAnyDecorator( |
|
401 | @HasRepoPermissionAnyDecorator( | |
399 | 'repository.read', 'repository.write', 'repository.admin') |
|
402 | 'repository.read', 'repository.write', 'repository.admin') | |
400 | @CSRFRequired() |
|
403 | @CSRFRequired() | |
401 | @view_config( |
|
404 | @view_config( | |
402 | route_name='repo_commit_comment_preview', request_method='POST', |
|
405 | route_name='repo_commit_comment_preview', request_method='POST', | |
403 | renderer='string', xhr=True) |
|
406 | renderer='string', xhr=True) | |
404 | def repo_commit_comment_preview(self): |
|
407 | def repo_commit_comment_preview(self): | |
405 | # Technically a CSRF token is not needed as no state changes with this |
|
408 | # Technically a CSRF token is not needed as no state changes with this | |
406 | # call. However, as this is a POST is better to have it, so automated |
|
409 | # call. However, as this is a POST is better to have it, so automated | |
407 | # tools don't flag it as potential CSRF. |
|
410 | # tools don't flag it as potential CSRF. | |
408 | # Post is required because the payload could be bigger than the maximum |
|
411 | # Post is required because the payload could be bigger than the maximum | |
409 | # allowed by GET. |
|
412 | # allowed by GET. | |
410 |
|
413 | |||
411 | text = self.request.POST.get('text') |
|
414 | text = self.request.POST.get('text') | |
412 | renderer = self.request.POST.get('renderer') or 'rst' |
|
415 | renderer = self.request.POST.get('renderer') or 'rst' | |
413 | if text: |
|
416 | if text: | |
414 | return h.render(text, renderer=renderer, mentions=True) |
|
417 | return h.render(text, renderer=renderer, mentions=True) | |
415 | return '' |
|
418 | return '' | |
416 |
|
419 | |||
417 | @LoginRequired() |
|
420 | @LoginRequired() | |
418 | @NotAnonymous() |
|
421 | @NotAnonymous() | |
419 | @HasRepoPermissionAnyDecorator( |
|
422 | @HasRepoPermissionAnyDecorator( | |
420 | 'repository.read', 'repository.write', 'repository.admin') |
|
423 | 'repository.read', 'repository.write', 'repository.admin') | |
421 | @CSRFRequired() |
|
424 | @CSRFRequired() | |
422 | @view_config( |
|
425 | @view_config( | |
423 | route_name='repo_commit_comment_delete', request_method='POST', |
|
426 | route_name='repo_commit_comment_delete', request_method='POST', | |
424 | renderer='json_ext') |
|
427 | renderer='json_ext') | |
425 | def repo_commit_comment_delete(self): |
|
428 | def repo_commit_comment_delete(self): | |
426 | commit_id = self.request.matchdict['commit_id'] |
|
429 | commit_id = self.request.matchdict['commit_id'] | |
427 | comment_id = self.request.matchdict['comment_id'] |
|
430 | comment_id = self.request.matchdict['comment_id'] | |
428 |
|
431 | |||
429 | comment = ChangesetComment.get_or_404(comment_id) |
|
432 | comment = ChangesetComment.get_or_404(comment_id) | |
430 | if not comment: |
|
433 | if not comment: | |
431 | log.debug('Comment with id:%s not found, skipping', comment_id) |
|
434 | log.debug('Comment with id:%s not found, skipping', comment_id) | |
432 | # comment already deleted in another call probably |
|
435 | # comment already deleted in another call probably | |
433 | return True |
|
436 | return True | |
434 |
|
437 | |||
435 | is_repo_admin = h.HasRepoPermissionAny('repository.admin')(self.db_repo_name) |
|
438 | is_repo_admin = h.HasRepoPermissionAny('repository.admin')(self.db_repo_name) | |
436 | super_admin = h.HasPermissionAny('hg.admin')() |
|
439 | super_admin = h.HasPermissionAny('hg.admin')() | |
437 | comment_owner = (comment.author.user_id == self._rhodecode_db_user.user_id) |
|
440 | comment_owner = (comment.author.user_id == self._rhodecode_db_user.user_id) | |
438 | is_repo_comment = comment.repo.repo_name == self.db_repo_name |
|
441 | is_repo_comment = comment.repo.repo_name == self.db_repo_name | |
439 | comment_repo_admin = is_repo_admin and is_repo_comment |
|
442 | comment_repo_admin = is_repo_admin and is_repo_comment | |
440 |
|
443 | |||
441 | if super_admin or comment_owner or comment_repo_admin: |
|
444 | if super_admin or comment_owner or comment_repo_admin: | |
442 | CommentsModel().delete(comment=comment, auth_user=self._rhodecode_user) |
|
445 | CommentsModel().delete(comment=comment, auth_user=self._rhodecode_user) | |
443 | Session().commit() |
|
446 | Session().commit() | |
444 | return True |
|
447 | return True | |
445 | else: |
|
448 | else: | |
446 | log.warning('No permissions for user %s to delete comment_id: %s', |
|
449 | log.warning('No permissions for user %s to delete comment_id: %s', | |
447 | self._rhodecode_db_user, comment_id) |
|
450 | self._rhodecode_db_user, comment_id) | |
448 | raise HTTPNotFound() |
|
451 | raise HTTPNotFound() | |
449 |
|
452 | |||
450 | @LoginRequired() |
|
453 | @LoginRequired() | |
451 | @HasRepoPermissionAnyDecorator( |
|
454 | @HasRepoPermissionAnyDecorator( | |
452 | 'repository.read', 'repository.write', 'repository.admin') |
|
455 | 'repository.read', 'repository.write', 'repository.admin') | |
453 | @view_config( |
|
456 | @view_config( | |
454 | route_name='repo_commit_data', request_method='GET', |
|
457 | route_name='repo_commit_data', request_method='GET', | |
455 | renderer='json_ext', xhr=True) |
|
458 | renderer='json_ext', xhr=True) | |
456 | def repo_commit_data(self): |
|
459 | def repo_commit_data(self): | |
457 | commit_id = self.request.matchdict['commit_id'] |
|
460 | commit_id = self.request.matchdict['commit_id'] | |
458 | self.load_default_context() |
|
461 | self.load_default_context() | |
459 |
|
462 | |||
460 | try: |
|
463 | try: | |
461 | return self.rhodecode_vcs_repo.get_commit(commit_id=commit_id) |
|
464 | return self.rhodecode_vcs_repo.get_commit(commit_id=commit_id) | |
462 | except CommitDoesNotExistError as e: |
|
465 | except CommitDoesNotExistError as e: | |
463 | return EmptyCommit(message=str(e)) |
|
466 | return EmptyCommit(message=str(e)) | |
464 |
|
467 | |||
465 | @LoginRequired() |
|
468 | @LoginRequired() | |
466 | @HasRepoPermissionAnyDecorator( |
|
469 | @HasRepoPermissionAnyDecorator( | |
467 | 'repository.read', 'repository.write', 'repository.admin') |
|
470 | 'repository.read', 'repository.write', 'repository.admin') | |
468 | @view_config( |
|
471 | @view_config( | |
469 | route_name='repo_commit_children', request_method='GET', |
|
472 | route_name='repo_commit_children', request_method='GET', | |
470 | renderer='json_ext', xhr=True) |
|
473 | renderer='json_ext', xhr=True) | |
471 | def repo_commit_children(self): |
|
474 | def repo_commit_children(self): | |
472 | commit_id = self.request.matchdict['commit_id'] |
|
475 | commit_id = self.request.matchdict['commit_id'] | |
473 | self.load_default_context() |
|
476 | self.load_default_context() | |
474 |
|
477 | |||
475 | try: |
|
478 | try: | |
476 | commit = self.rhodecode_vcs_repo.get_commit(commit_id=commit_id) |
|
479 | commit = self.rhodecode_vcs_repo.get_commit(commit_id=commit_id) | |
477 | children = commit.children |
|
480 | children = commit.children | |
478 | except CommitDoesNotExistError: |
|
481 | except CommitDoesNotExistError: | |
479 | children = [] |
|
482 | children = [] | |
480 |
|
483 | |||
481 | result = {"results": children} |
|
484 | result = {"results": children} | |
482 | return result |
|
485 | return result | |
483 |
|
486 | |||
484 | @LoginRequired() |
|
487 | @LoginRequired() | |
485 | @HasRepoPermissionAnyDecorator( |
|
488 | @HasRepoPermissionAnyDecorator( | |
486 | 'repository.read', 'repository.write', 'repository.admin') |
|
489 | 'repository.read', 'repository.write', 'repository.admin') | |
487 | @view_config( |
|
490 | @view_config( | |
488 | route_name='repo_commit_parents', request_method='GET', |
|
491 | route_name='repo_commit_parents', request_method='GET', | |
489 | renderer='json_ext') |
|
492 | renderer='json_ext') | |
490 | def repo_commit_parents(self): |
|
493 | def repo_commit_parents(self): | |
491 | commit_id = self.request.matchdict['commit_id'] |
|
494 | commit_id = self.request.matchdict['commit_id'] | |
492 | self.load_default_context() |
|
495 | self.load_default_context() | |
493 |
|
496 | |||
494 | try: |
|
497 | try: | |
495 | commit = self.rhodecode_vcs_repo.get_commit(commit_id=commit_id) |
|
498 | commit = self.rhodecode_vcs_repo.get_commit(commit_id=commit_id) | |
496 | parents = commit.parents |
|
499 | parents = commit.parents | |
497 | except CommitDoesNotExistError: |
|
500 | except CommitDoesNotExistError: | |
498 | parents = [] |
|
501 | parents = [] | |
499 | result = {"results": parents} |
|
502 | result = {"results": parents} | |
500 | return result |
|
503 | return result |
@@ -1,700 +1,717 b'' | |||||
1 | # -*- coding: utf-8 -*- |
|
1 | # -*- coding: utf-8 -*- | |
2 |
|
2 | |||
3 | # Copyright (C) 2011-2019 RhodeCode GmbH |
|
3 | # Copyright (C) 2011-2019 RhodeCode GmbH | |
4 | # |
|
4 | # | |
5 | # This program is free software: you can redistribute it and/or modify |
|
5 | # This program is free software: you can redistribute it and/or modify | |
6 | # it under the terms of the GNU Affero General Public License, version 3 |
|
6 | # it under the terms of the GNU Affero General Public License, version 3 | |
7 | # (only), as published by the Free Software Foundation. |
|
7 | # (only), as published by the Free Software Foundation. | |
8 | # |
|
8 | # | |
9 | # This program is distributed in the hope that it will be useful, |
|
9 | # This program is distributed in the hope that it will be useful, | |
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | # GNU General Public License for more details. |
|
12 | # GNU General Public License for more details. | |
13 | # |
|
13 | # | |
14 | # You should have received a copy of the GNU Affero General Public License |
|
14 | # You should have received a copy of the GNU Affero General Public License | |
15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
16 | # |
|
16 | # | |
17 | # This program is dual-licensed. If you wish to learn more about the |
|
17 | # This program is dual-licensed. If you wish to learn more about the | |
18 | # RhodeCode Enterprise Edition, including its added features, Support services, |
|
18 | # RhodeCode Enterprise Edition, including its added features, Support services, | |
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ | |
20 |
|
20 | |||
21 | """ |
|
21 | """ | |
22 | comments model for RhodeCode |
|
22 | comments model for RhodeCode | |
23 | """ |
|
23 | """ | |
24 |
|
24 | |||
25 | import logging |
|
25 | import logging | |
26 | import traceback |
|
26 | import traceback | |
27 | import collections |
|
27 | import collections | |
28 |
|
28 | |||
29 | from pyramid.threadlocal import get_current_registry, get_current_request |
|
29 | from pyramid.threadlocal import get_current_registry, get_current_request | |
30 | from sqlalchemy.sql.expression import null |
|
30 | from sqlalchemy.sql.expression import null | |
31 | from sqlalchemy.sql.functions import coalesce |
|
31 | from sqlalchemy.sql.functions import coalesce | |
32 |
|
32 | |||
33 | from rhodecode.lib import helpers as h, diffs, channelstream |
|
33 | from rhodecode.lib import helpers as h, diffs, channelstream | |
34 | from rhodecode.lib import audit_logger |
|
34 | from rhodecode.lib import audit_logger | |
35 | from rhodecode.lib.utils2 import extract_mentioned_users, safe_str |
|
35 | from rhodecode.lib.utils2 import extract_mentioned_users, safe_str | |
36 | from rhodecode.model import BaseModel |
|
36 | from rhodecode.model import BaseModel | |
37 | from rhodecode.model.db import ( |
|
37 | from rhodecode.model.db import ( | |
38 | ChangesetComment, User, Notification, PullRequest, AttributeDict) |
|
38 | ChangesetComment, User, Notification, PullRequest, AttributeDict) | |
39 | from rhodecode.model.notification import NotificationModel |
|
39 | from rhodecode.model.notification import NotificationModel | |
40 | from rhodecode.model.meta import Session |
|
40 | from rhodecode.model.meta import Session | |
41 | from rhodecode.model.settings import VcsSettingsModel |
|
41 | from rhodecode.model.settings import VcsSettingsModel | |
42 | from rhodecode.model.notification import EmailNotificationModel |
|
42 | from rhodecode.model.notification import EmailNotificationModel | |
43 | from rhodecode.model.validation_schema.schemas import comment_schema |
|
43 | from rhodecode.model.validation_schema.schemas import comment_schema | |
44 |
|
44 | |||
45 |
|
45 | |||
46 | log = logging.getLogger(__name__) |
|
46 | log = logging.getLogger(__name__) | |
47 |
|
47 | |||
48 |
|
48 | |||
49 | class CommentsModel(BaseModel): |
|
49 | class CommentsModel(BaseModel): | |
50 |
|
50 | |||
51 | cls = ChangesetComment |
|
51 | cls = ChangesetComment | |
52 |
|
52 | |||
53 | DIFF_CONTEXT_BEFORE = 3 |
|
53 | DIFF_CONTEXT_BEFORE = 3 | |
54 | DIFF_CONTEXT_AFTER = 3 |
|
54 | DIFF_CONTEXT_AFTER = 3 | |
55 |
|
55 | |||
56 | def __get_commit_comment(self, changeset_comment): |
|
56 | def __get_commit_comment(self, changeset_comment): | |
57 | return self._get_instance(ChangesetComment, changeset_comment) |
|
57 | return self._get_instance(ChangesetComment, changeset_comment) | |
58 |
|
58 | |||
59 | def __get_pull_request(self, pull_request): |
|
59 | def __get_pull_request(self, pull_request): | |
60 | return self._get_instance(PullRequest, pull_request) |
|
60 | return self._get_instance(PullRequest, pull_request) | |
61 |
|
61 | |||
62 | def _extract_mentions(self, s): |
|
62 | def _extract_mentions(self, s): | |
63 | user_objects = [] |
|
63 | user_objects = [] | |
64 | for username in extract_mentioned_users(s): |
|
64 | for username in extract_mentioned_users(s): | |
65 | user_obj = User.get_by_username(username, case_insensitive=True) |
|
65 | user_obj = User.get_by_username(username, case_insensitive=True) | |
66 | if user_obj: |
|
66 | if user_obj: | |
67 | user_objects.append(user_obj) |
|
67 | user_objects.append(user_obj) | |
68 | return user_objects |
|
68 | return user_objects | |
69 |
|
69 | |||
70 | def _get_renderer(self, global_renderer='rst', request=None): |
|
70 | def _get_renderer(self, global_renderer='rst', request=None): | |
71 | request = request or get_current_request() |
|
71 | request = request or get_current_request() | |
72 |
|
72 | |||
73 | try: |
|
73 | try: | |
74 | global_renderer = request.call_context.visual.default_renderer |
|
74 | global_renderer = request.call_context.visual.default_renderer | |
75 | except AttributeError: |
|
75 | except AttributeError: | |
76 | log.debug("Renderer not set, falling back " |
|
76 | log.debug("Renderer not set, falling back " | |
77 | "to default renderer '%s'", global_renderer) |
|
77 | "to default renderer '%s'", global_renderer) | |
78 | except Exception: |
|
78 | except Exception: | |
79 | log.error(traceback.format_exc()) |
|
79 | log.error(traceback.format_exc()) | |
80 | return global_renderer |
|
80 | return global_renderer | |
81 |
|
81 | |||
82 | def aggregate_comments(self, comments, versions, show_version, inline=False): |
|
82 | def aggregate_comments(self, comments, versions, show_version, inline=False): | |
83 | # group by versions, and count until, and display objects |
|
83 | # group by versions, and count until, and display objects | |
84 |
|
84 | |||
85 | comment_groups = collections.defaultdict(list) |
|
85 | comment_groups = collections.defaultdict(list) | |
86 | [comment_groups[ |
|
86 | [comment_groups[ | |
87 | _co.pull_request_version_id].append(_co) for _co in comments] |
|
87 | _co.pull_request_version_id].append(_co) for _co in comments] | |
88 |
|
88 | |||
89 | def yield_comments(pos): |
|
89 | def yield_comments(pos): | |
90 | for co in comment_groups[pos]: |
|
90 | for co in comment_groups[pos]: | |
91 | yield co |
|
91 | yield co | |
92 |
|
92 | |||
93 | comment_versions = collections.defaultdict( |
|
93 | comment_versions = collections.defaultdict( | |
94 | lambda: collections.defaultdict(list)) |
|
94 | lambda: collections.defaultdict(list)) | |
95 | prev_prvid = -1 |
|
95 | prev_prvid = -1 | |
96 | # fake last entry with None, to aggregate on "latest" version which |
|
96 | # fake last entry with None, to aggregate on "latest" version which | |
97 | # doesn't have an pull_request_version_id |
|
97 | # doesn't have an pull_request_version_id | |
98 | for ver in versions + [AttributeDict({'pull_request_version_id': None})]: |
|
98 | for ver in versions + [AttributeDict({'pull_request_version_id': None})]: | |
99 | prvid = ver.pull_request_version_id |
|
99 | prvid = ver.pull_request_version_id | |
100 | if prev_prvid == -1: |
|
100 | if prev_prvid == -1: | |
101 | prev_prvid = prvid |
|
101 | prev_prvid = prvid | |
102 |
|
102 | |||
103 | for co in yield_comments(prvid): |
|
103 | for co in yield_comments(prvid): | |
104 | comment_versions[prvid]['at'].append(co) |
|
104 | comment_versions[prvid]['at'].append(co) | |
105 |
|
105 | |||
106 | # save until |
|
106 | # save until | |
107 | current = comment_versions[prvid]['at'] |
|
107 | current = comment_versions[prvid]['at'] | |
108 | prev_until = comment_versions[prev_prvid]['until'] |
|
108 | prev_until = comment_versions[prev_prvid]['until'] | |
109 | cur_until = prev_until + current |
|
109 | cur_until = prev_until + current | |
110 | comment_versions[prvid]['until'].extend(cur_until) |
|
110 | comment_versions[prvid]['until'].extend(cur_until) | |
111 |
|
111 | |||
112 | # save outdated |
|
112 | # save outdated | |
113 | if inline: |
|
113 | if inline: | |
114 | outdated = [x for x in cur_until |
|
114 | outdated = [x for x in cur_until | |
115 | if x.outdated_at_version(show_version)] |
|
115 | if x.outdated_at_version(show_version)] | |
116 | else: |
|
116 | else: | |
117 | outdated = [x for x in cur_until |
|
117 | outdated = [x for x in cur_until | |
118 | if x.older_than_version(show_version)] |
|
118 | if x.older_than_version(show_version)] | |
119 | display = [x for x in cur_until if x not in outdated] |
|
119 | display = [x for x in cur_until if x not in outdated] | |
120 |
|
120 | |||
121 | comment_versions[prvid]['outdated'] = outdated |
|
121 | comment_versions[prvid]['outdated'] = outdated | |
122 | comment_versions[prvid]['display'] = display |
|
122 | comment_versions[prvid]['display'] = display | |
123 |
|
123 | |||
124 | prev_prvid = prvid |
|
124 | prev_prvid = prvid | |
125 |
|
125 | |||
126 | return comment_versions |
|
126 | return comment_versions | |
127 |
|
127 | |||
128 | def get_repository_comments(self, repo, comment_type=None, user=None, commit_id=None): |
|
128 | def get_repository_comments(self, repo, comment_type=None, user=None, commit_id=None): | |
129 | qry = Session().query(ChangesetComment) \ |
|
129 | qry = Session().query(ChangesetComment) \ | |
130 | .filter(ChangesetComment.repo == repo) |
|
130 | .filter(ChangesetComment.repo == repo) | |
131 |
|
131 | |||
132 | if comment_type and comment_type in ChangesetComment.COMMENT_TYPES: |
|
132 | if comment_type and comment_type in ChangesetComment.COMMENT_TYPES: | |
133 | qry = qry.filter(ChangesetComment.comment_type == comment_type) |
|
133 | qry = qry.filter(ChangesetComment.comment_type == comment_type) | |
134 |
|
134 | |||
135 | if user: |
|
135 | if user: | |
136 | user = self._get_user(user) |
|
136 | user = self._get_user(user) | |
137 | if user: |
|
137 | if user: | |
138 | qry = qry.filter(ChangesetComment.user_id == user.user_id) |
|
138 | qry = qry.filter(ChangesetComment.user_id == user.user_id) | |
139 |
|
139 | |||
140 | if commit_id: |
|
140 | if commit_id: | |
141 | qry = qry.filter(ChangesetComment.revision == commit_id) |
|
141 | qry = qry.filter(ChangesetComment.revision == commit_id) | |
142 |
|
142 | |||
143 | qry = qry.order_by(ChangesetComment.created_on) |
|
143 | qry = qry.order_by(ChangesetComment.created_on) | |
144 | return qry.all() |
|
144 | return qry.all() | |
145 |
|
145 | |||
146 | def get_repository_unresolved_todos(self, repo): |
|
146 | def get_repository_unresolved_todos(self, repo): | |
147 | todos = Session().query(ChangesetComment) \ |
|
147 | todos = Session().query(ChangesetComment) \ | |
148 | .filter(ChangesetComment.repo == repo) \ |
|
148 | .filter(ChangesetComment.repo == repo) \ | |
149 | .filter(ChangesetComment.resolved_by == None) \ |
|
149 | .filter(ChangesetComment.resolved_by == None) \ | |
150 | .filter(ChangesetComment.comment_type |
|
150 | .filter(ChangesetComment.comment_type | |
151 | == ChangesetComment.COMMENT_TYPE_TODO) |
|
151 | == ChangesetComment.COMMENT_TYPE_TODO) | |
152 | todos = todos.all() |
|
152 | todos = todos.all() | |
153 |
|
153 | |||
154 | return todos |
|
154 | return todos | |
155 |
|
155 | |||
156 | def get_pull_request_unresolved_todos(self, pull_request, show_outdated=True): |
|
156 | def get_pull_request_unresolved_todos(self, pull_request, show_outdated=True): | |
157 |
|
157 | |||
158 | todos = Session().query(ChangesetComment) \ |
|
158 | todos = Session().query(ChangesetComment) \ | |
159 | .filter(ChangesetComment.pull_request == pull_request) \ |
|
159 | .filter(ChangesetComment.pull_request == pull_request) \ | |
160 | .filter(ChangesetComment.resolved_by == None) \ |
|
160 | .filter(ChangesetComment.resolved_by == None) \ | |
161 | .filter(ChangesetComment.comment_type |
|
161 | .filter(ChangesetComment.comment_type | |
162 | == ChangesetComment.COMMENT_TYPE_TODO) |
|
162 | == ChangesetComment.COMMENT_TYPE_TODO) | |
163 |
|
163 | |||
164 | if not show_outdated: |
|
164 | if not show_outdated: | |
165 | todos = todos.filter( |
|
165 | todos = todos.filter( | |
166 | coalesce(ChangesetComment.display_state, '') != |
|
166 | coalesce(ChangesetComment.display_state, '') != | |
167 | ChangesetComment.COMMENT_OUTDATED) |
|
167 | ChangesetComment.COMMENT_OUTDATED) | |
168 |
|
168 | |||
169 | todos = todos.all() |
|
169 | todos = todos.all() | |
170 |
|
170 | |||
171 | return todos |
|
171 | return todos | |
172 |
|
172 | |||
173 | def get_commit_unresolved_todos(self, commit_id, show_outdated=True): |
|
173 | def get_commit_unresolved_todos(self, commit_id, show_outdated=True): | |
174 |
|
174 | |||
175 | todos = Session().query(ChangesetComment) \ |
|
175 | todos = Session().query(ChangesetComment) \ | |
176 | .filter(ChangesetComment.revision == commit_id) \ |
|
176 | .filter(ChangesetComment.revision == commit_id) \ | |
177 | .filter(ChangesetComment.resolved_by == None) \ |
|
177 | .filter(ChangesetComment.resolved_by == None) \ | |
178 | .filter(ChangesetComment.comment_type |
|
178 | .filter(ChangesetComment.comment_type | |
179 | == ChangesetComment.COMMENT_TYPE_TODO) |
|
179 | == ChangesetComment.COMMENT_TYPE_TODO) | |
180 |
|
180 | |||
181 | if not show_outdated: |
|
181 | if not show_outdated: | |
182 | todos = todos.filter( |
|
182 | todos = todos.filter( | |
183 | coalesce(ChangesetComment.display_state, '') != |
|
183 | coalesce(ChangesetComment.display_state, '') != | |
184 | ChangesetComment.COMMENT_OUTDATED) |
|
184 | ChangesetComment.COMMENT_OUTDATED) | |
185 |
|
185 | |||
186 | todos = todos.all() |
|
186 | todos = todos.all() | |
187 |
|
187 | |||
188 | return todos |
|
188 | return todos | |
189 |
|
189 | |||
|
190 | def get_commit_resolved_todos(self, commit_id, show_outdated=True): | |||
|
191 | ||||
|
192 | todos = Session().query(ChangesetComment) \ | |||
|
193 | .filter(ChangesetComment.revision == commit_id) \ | |||
|
194 | .filter(ChangesetComment.resolved_by != None) \ | |||
|
195 | .filter(ChangesetComment.comment_type | |||
|
196 | == ChangesetComment.COMMENT_TYPE_TODO) | |||
|
197 | ||||
|
198 | if not show_outdated: | |||
|
199 | todos = todos.filter( | |||
|
200 | coalesce(ChangesetComment.display_state, '') != | |||
|
201 | ChangesetComment.COMMENT_OUTDATED) | |||
|
202 | ||||
|
203 | todos = todos.all() | |||
|
204 | ||||
|
205 | return todos | |||
|
206 | ||||
190 | def _log_audit_action(self, action, action_data, auth_user, comment): |
|
207 | def _log_audit_action(self, action, action_data, auth_user, comment): | |
191 | audit_logger.store( |
|
208 | audit_logger.store( | |
192 | action=action, |
|
209 | action=action, | |
193 | action_data=action_data, |
|
210 | action_data=action_data, | |
194 | user=auth_user, |
|
211 | user=auth_user, | |
195 | repo=comment.repo) |
|
212 | repo=comment.repo) | |
196 |
|
213 | |||
197 | def create(self, text, repo, user, commit_id=None, pull_request=None, |
|
214 | def create(self, text, repo, user, commit_id=None, pull_request=None, | |
198 | f_path=None, line_no=None, status_change=None, |
|
215 | f_path=None, line_no=None, status_change=None, | |
199 | status_change_type=None, comment_type=None, |
|
216 | status_change_type=None, comment_type=None, | |
200 | resolves_comment_id=None, closing_pr=False, send_email=True, |
|
217 | resolves_comment_id=None, closing_pr=False, send_email=True, | |
201 | renderer=None, auth_user=None): |
|
218 | renderer=None, auth_user=None): | |
202 | """ |
|
219 | """ | |
203 | Creates new comment for commit or pull request. |
|
220 | Creates new comment for commit or pull request. | |
204 | IF status_change is not none this comment is associated with a |
|
221 | IF status_change is not none this comment is associated with a | |
205 | status change of commit or commit associated with pull request |
|
222 | status change of commit or commit associated with pull request | |
206 |
|
223 | |||
207 | :param text: |
|
224 | :param text: | |
208 | :param repo: |
|
225 | :param repo: | |
209 | :param user: |
|
226 | :param user: | |
210 | :param commit_id: |
|
227 | :param commit_id: | |
211 | :param pull_request: |
|
228 | :param pull_request: | |
212 | :param f_path: |
|
229 | :param f_path: | |
213 | :param line_no: |
|
230 | :param line_no: | |
214 | :param status_change: Label for status change |
|
231 | :param status_change: Label for status change | |
215 | :param comment_type: Type of comment |
|
232 | :param comment_type: Type of comment | |
216 | :param status_change_type: type of status change |
|
233 | :param status_change_type: type of status change | |
217 | :param closing_pr: |
|
234 | :param closing_pr: | |
218 | :param send_email: |
|
235 | :param send_email: | |
219 | :param renderer: pick renderer for this comment |
|
236 | :param renderer: pick renderer for this comment | |
220 | """ |
|
237 | """ | |
221 |
|
238 | |||
222 | if not text: |
|
239 | if not text: | |
223 | log.warning('Missing text for comment, skipping...') |
|
240 | log.warning('Missing text for comment, skipping...') | |
224 | return |
|
241 | return | |
225 | request = get_current_request() |
|
242 | request = get_current_request() | |
226 | _ = request.translate |
|
243 | _ = request.translate | |
227 |
|
244 | |||
228 | if not renderer: |
|
245 | if not renderer: | |
229 | renderer = self._get_renderer(request=request) |
|
246 | renderer = self._get_renderer(request=request) | |
230 |
|
247 | |||
231 | repo = self._get_repo(repo) |
|
248 | repo = self._get_repo(repo) | |
232 | user = self._get_user(user) |
|
249 | user = self._get_user(user) | |
233 | auth_user = auth_user or user |
|
250 | auth_user = auth_user or user | |
234 |
|
251 | |||
235 | schema = comment_schema.CommentSchema() |
|
252 | schema = comment_schema.CommentSchema() | |
236 | validated_kwargs = schema.deserialize(dict( |
|
253 | validated_kwargs = schema.deserialize(dict( | |
237 | comment_body=text, |
|
254 | comment_body=text, | |
238 | comment_type=comment_type, |
|
255 | comment_type=comment_type, | |
239 | comment_file=f_path, |
|
256 | comment_file=f_path, | |
240 | comment_line=line_no, |
|
257 | comment_line=line_no, | |
241 | renderer_type=renderer, |
|
258 | renderer_type=renderer, | |
242 | status_change=status_change_type, |
|
259 | status_change=status_change_type, | |
243 | resolves_comment_id=resolves_comment_id, |
|
260 | resolves_comment_id=resolves_comment_id, | |
244 | repo=repo.repo_id, |
|
261 | repo=repo.repo_id, | |
245 | user=user.user_id, |
|
262 | user=user.user_id, | |
246 | )) |
|
263 | )) | |
247 |
|
264 | |||
248 | comment = ChangesetComment() |
|
265 | comment = ChangesetComment() | |
249 | comment.renderer = validated_kwargs['renderer_type'] |
|
266 | comment.renderer = validated_kwargs['renderer_type'] | |
250 | comment.text = validated_kwargs['comment_body'] |
|
267 | comment.text = validated_kwargs['comment_body'] | |
251 | comment.f_path = validated_kwargs['comment_file'] |
|
268 | comment.f_path = validated_kwargs['comment_file'] | |
252 | comment.line_no = validated_kwargs['comment_line'] |
|
269 | comment.line_no = validated_kwargs['comment_line'] | |
253 | comment.comment_type = validated_kwargs['comment_type'] |
|
270 | comment.comment_type = validated_kwargs['comment_type'] | |
254 |
|
271 | |||
255 | comment.repo = repo |
|
272 | comment.repo = repo | |
256 | comment.author = user |
|
273 | comment.author = user | |
257 | resolved_comment = self.__get_commit_comment( |
|
274 | resolved_comment = self.__get_commit_comment( | |
258 | validated_kwargs['resolves_comment_id']) |
|
275 | validated_kwargs['resolves_comment_id']) | |
259 | # check if the comment actually belongs to this PR |
|
276 | # check if the comment actually belongs to this PR | |
260 | if resolved_comment and resolved_comment.pull_request and \ |
|
277 | if resolved_comment and resolved_comment.pull_request and \ | |
261 | resolved_comment.pull_request != pull_request: |
|
278 | resolved_comment.pull_request != pull_request: | |
262 | log.warning('Comment tried to resolved unrelated todo comment: %s', |
|
279 | log.warning('Comment tried to resolved unrelated todo comment: %s', | |
263 | resolved_comment) |
|
280 | resolved_comment) | |
264 | # comment not bound to this pull request, forbid |
|
281 | # comment not bound to this pull request, forbid | |
265 | resolved_comment = None |
|
282 | resolved_comment = None | |
266 |
|
283 | |||
267 | elif resolved_comment and resolved_comment.repo and \ |
|
284 | elif resolved_comment and resolved_comment.repo and \ | |
268 | resolved_comment.repo != repo: |
|
285 | resolved_comment.repo != repo: | |
269 | log.warning('Comment tried to resolved unrelated todo comment: %s', |
|
286 | log.warning('Comment tried to resolved unrelated todo comment: %s', | |
270 | resolved_comment) |
|
287 | resolved_comment) | |
271 | # comment not bound to this repo, forbid |
|
288 | # comment not bound to this repo, forbid | |
272 | resolved_comment = None |
|
289 | resolved_comment = None | |
273 |
|
290 | |||
274 | comment.resolved_comment = resolved_comment |
|
291 | comment.resolved_comment = resolved_comment | |
275 |
|
292 | |||
276 | pull_request_id = pull_request |
|
293 | pull_request_id = pull_request | |
277 |
|
294 | |||
278 | commit_obj = None |
|
295 | commit_obj = None | |
279 | pull_request_obj = None |
|
296 | pull_request_obj = None | |
280 |
|
297 | |||
281 | if commit_id: |
|
298 | if commit_id: | |
282 | notification_type = EmailNotificationModel.TYPE_COMMIT_COMMENT |
|
299 | notification_type = EmailNotificationModel.TYPE_COMMIT_COMMENT | |
283 | # do a lookup, so we don't pass something bad here |
|
300 | # do a lookup, so we don't pass something bad here | |
284 | commit_obj = repo.scm_instance().get_commit(commit_id=commit_id) |
|
301 | commit_obj = repo.scm_instance().get_commit(commit_id=commit_id) | |
285 | comment.revision = commit_obj.raw_id |
|
302 | comment.revision = commit_obj.raw_id | |
286 |
|
303 | |||
287 | elif pull_request_id: |
|
304 | elif pull_request_id: | |
288 | notification_type = EmailNotificationModel.TYPE_PULL_REQUEST_COMMENT |
|
305 | notification_type = EmailNotificationModel.TYPE_PULL_REQUEST_COMMENT | |
289 | pull_request_obj = self.__get_pull_request(pull_request_id) |
|
306 | pull_request_obj = self.__get_pull_request(pull_request_id) | |
290 | comment.pull_request = pull_request_obj |
|
307 | comment.pull_request = pull_request_obj | |
291 | else: |
|
308 | else: | |
292 | raise Exception('Please specify commit or pull_request_id') |
|
309 | raise Exception('Please specify commit or pull_request_id') | |
293 |
|
310 | |||
294 | Session().add(comment) |
|
311 | Session().add(comment) | |
295 | Session().flush() |
|
312 | Session().flush() | |
296 | kwargs = { |
|
313 | kwargs = { | |
297 | 'user': user, |
|
314 | 'user': user, | |
298 | 'renderer_type': renderer, |
|
315 | 'renderer_type': renderer, | |
299 | 'repo_name': repo.repo_name, |
|
316 | 'repo_name': repo.repo_name, | |
300 | 'status_change': status_change, |
|
317 | 'status_change': status_change, | |
301 | 'status_change_type': status_change_type, |
|
318 | 'status_change_type': status_change_type, | |
302 | 'comment_body': text, |
|
319 | 'comment_body': text, | |
303 | 'comment_file': f_path, |
|
320 | 'comment_file': f_path, | |
304 | 'comment_line': line_no, |
|
321 | 'comment_line': line_no, | |
305 | 'comment_type': comment_type or 'note' |
|
322 | 'comment_type': comment_type or 'note' | |
306 | } |
|
323 | } | |
307 |
|
324 | |||
308 | if commit_obj: |
|
325 | if commit_obj: | |
309 | recipients = ChangesetComment.get_users( |
|
326 | recipients = ChangesetComment.get_users( | |
310 | revision=commit_obj.raw_id) |
|
327 | revision=commit_obj.raw_id) | |
311 | # add commit author if it's in RhodeCode system |
|
328 | # add commit author if it's in RhodeCode system | |
312 | cs_author = User.get_from_cs_author(commit_obj.author) |
|
329 | cs_author = User.get_from_cs_author(commit_obj.author) | |
313 | if not cs_author: |
|
330 | if not cs_author: | |
314 | # use repo owner if we cannot extract the author correctly |
|
331 | # use repo owner if we cannot extract the author correctly | |
315 | cs_author = repo.user |
|
332 | cs_author = repo.user | |
316 | recipients += [cs_author] |
|
333 | recipients += [cs_author] | |
317 |
|
334 | |||
318 | commit_comment_url = self.get_url(comment, request=request) |
|
335 | commit_comment_url = self.get_url(comment, request=request) | |
319 |
|
336 | |||
320 | target_repo_url = h.link_to( |
|
337 | target_repo_url = h.link_to( | |
321 | repo.repo_name, |
|
338 | repo.repo_name, | |
322 | h.route_url('repo_summary', repo_name=repo.repo_name)) |
|
339 | h.route_url('repo_summary', repo_name=repo.repo_name)) | |
323 |
|
340 | |||
324 | # commit specifics |
|
341 | # commit specifics | |
325 | kwargs.update({ |
|
342 | kwargs.update({ | |
326 | 'commit': commit_obj, |
|
343 | 'commit': commit_obj, | |
327 | 'commit_message': commit_obj.message, |
|
344 | 'commit_message': commit_obj.message, | |
328 | 'commit_target_repo': target_repo_url, |
|
345 | 'commit_target_repo': target_repo_url, | |
329 | 'commit_comment_url': commit_comment_url, |
|
346 | 'commit_comment_url': commit_comment_url, | |
330 | }) |
|
347 | }) | |
331 |
|
348 | |||
332 | elif pull_request_obj: |
|
349 | elif pull_request_obj: | |
333 | # get the current participants of this pull request |
|
350 | # get the current participants of this pull request | |
334 | recipients = ChangesetComment.get_users( |
|
351 | recipients = ChangesetComment.get_users( | |
335 | pull_request_id=pull_request_obj.pull_request_id) |
|
352 | pull_request_id=pull_request_obj.pull_request_id) | |
336 | # add pull request author |
|
353 | # add pull request author | |
337 | recipients += [pull_request_obj.author] |
|
354 | recipients += [pull_request_obj.author] | |
338 |
|
355 | |||
339 | # add the reviewers to notification |
|
356 | # add the reviewers to notification | |
340 | recipients += [x.user for x in pull_request_obj.reviewers] |
|
357 | recipients += [x.user for x in pull_request_obj.reviewers] | |
341 |
|
358 | |||
342 | pr_target_repo = pull_request_obj.target_repo |
|
359 | pr_target_repo = pull_request_obj.target_repo | |
343 | pr_source_repo = pull_request_obj.source_repo |
|
360 | pr_source_repo = pull_request_obj.source_repo | |
344 |
|
361 | |||
345 | pr_comment_url = h.route_url( |
|
362 | pr_comment_url = h.route_url( | |
346 | 'pullrequest_show', |
|
363 | 'pullrequest_show', | |
347 | repo_name=pr_target_repo.repo_name, |
|
364 | repo_name=pr_target_repo.repo_name, | |
348 | pull_request_id=pull_request_obj.pull_request_id, |
|
365 | pull_request_id=pull_request_obj.pull_request_id, | |
349 | _anchor='comment-%s' % comment.comment_id) |
|
366 | _anchor='comment-%s' % comment.comment_id) | |
350 |
|
367 | |||
351 | # set some variables for email notification |
|
368 | # set some variables for email notification | |
352 | pr_target_repo_url = h.route_url( |
|
369 | pr_target_repo_url = h.route_url( | |
353 | 'repo_summary', repo_name=pr_target_repo.repo_name) |
|
370 | 'repo_summary', repo_name=pr_target_repo.repo_name) | |
354 |
|
371 | |||
355 | pr_source_repo_url = h.route_url( |
|
372 | pr_source_repo_url = h.route_url( | |
356 | 'repo_summary', repo_name=pr_source_repo.repo_name) |
|
373 | 'repo_summary', repo_name=pr_source_repo.repo_name) | |
357 |
|
374 | |||
358 | # pull request specifics |
|
375 | # pull request specifics | |
359 | kwargs.update({ |
|
376 | kwargs.update({ | |
360 | 'pull_request': pull_request_obj, |
|
377 | 'pull_request': pull_request_obj, | |
361 | 'pr_id': pull_request_obj.pull_request_id, |
|
378 | 'pr_id': pull_request_obj.pull_request_id, | |
362 | 'pr_target_repo': pr_target_repo, |
|
379 | 'pr_target_repo': pr_target_repo, | |
363 | 'pr_target_repo_url': pr_target_repo_url, |
|
380 | 'pr_target_repo_url': pr_target_repo_url, | |
364 | 'pr_source_repo': pr_source_repo, |
|
381 | 'pr_source_repo': pr_source_repo, | |
365 | 'pr_source_repo_url': pr_source_repo_url, |
|
382 | 'pr_source_repo_url': pr_source_repo_url, | |
366 | 'pr_comment_url': pr_comment_url, |
|
383 | 'pr_comment_url': pr_comment_url, | |
367 | 'pr_closing': closing_pr, |
|
384 | 'pr_closing': closing_pr, | |
368 | }) |
|
385 | }) | |
369 | if send_email: |
|
386 | if send_email: | |
370 | # pre-generate the subject for notification itself |
|
387 | # pre-generate the subject for notification itself | |
371 | (subject, |
|
388 | (subject, | |
372 | _h, _e, # we don't care about those |
|
389 | _h, _e, # we don't care about those | |
373 | body_plaintext) = EmailNotificationModel().render_email( |
|
390 | body_plaintext) = EmailNotificationModel().render_email( | |
374 | notification_type, **kwargs) |
|
391 | notification_type, **kwargs) | |
375 |
|
392 | |||
376 | mention_recipients = set( |
|
393 | mention_recipients = set( | |
377 | self._extract_mentions(text)).difference(recipients) |
|
394 | self._extract_mentions(text)).difference(recipients) | |
378 |
|
395 | |||
379 | # create notification objects, and emails |
|
396 | # create notification objects, and emails | |
380 | NotificationModel().create( |
|
397 | NotificationModel().create( | |
381 | created_by=user, |
|
398 | created_by=user, | |
382 | notification_subject=subject, |
|
399 | notification_subject=subject, | |
383 | notification_body=body_plaintext, |
|
400 | notification_body=body_plaintext, | |
384 | notification_type=notification_type, |
|
401 | notification_type=notification_type, | |
385 | recipients=recipients, |
|
402 | recipients=recipients, | |
386 | mention_recipients=mention_recipients, |
|
403 | mention_recipients=mention_recipients, | |
387 | email_kwargs=kwargs, |
|
404 | email_kwargs=kwargs, | |
388 | ) |
|
405 | ) | |
389 |
|
406 | |||
390 | Session().flush() |
|
407 | Session().flush() | |
391 | if comment.pull_request: |
|
408 | if comment.pull_request: | |
392 | action = 'repo.pull_request.comment.create' |
|
409 | action = 'repo.pull_request.comment.create' | |
393 | else: |
|
410 | else: | |
394 | action = 'repo.commit.comment.create' |
|
411 | action = 'repo.commit.comment.create' | |
395 |
|
412 | |||
396 | comment_data = comment.get_api_data() |
|
413 | comment_data = comment.get_api_data() | |
397 | self._log_audit_action( |
|
414 | self._log_audit_action( | |
398 | action, {'data': comment_data}, auth_user, comment) |
|
415 | action, {'data': comment_data}, auth_user, comment) | |
399 |
|
416 | |||
400 | msg_url = '' |
|
417 | msg_url = '' | |
401 | channel = None |
|
418 | channel = None | |
402 | if commit_obj: |
|
419 | if commit_obj: | |
403 | msg_url = commit_comment_url |
|
420 | msg_url = commit_comment_url | |
404 | repo_name = repo.repo_name |
|
421 | repo_name = repo.repo_name | |
405 | channel = u'/repo${}$/commit/{}'.format( |
|
422 | channel = u'/repo${}$/commit/{}'.format( | |
406 | repo_name, |
|
423 | repo_name, | |
407 | commit_obj.raw_id |
|
424 | commit_obj.raw_id | |
408 | ) |
|
425 | ) | |
409 | elif pull_request_obj: |
|
426 | elif pull_request_obj: | |
410 | msg_url = pr_comment_url |
|
427 | msg_url = pr_comment_url | |
411 | repo_name = pr_target_repo.repo_name |
|
428 | repo_name = pr_target_repo.repo_name | |
412 | channel = u'/repo${}$/pr/{}'.format( |
|
429 | channel = u'/repo${}$/pr/{}'.format( | |
413 | repo_name, |
|
430 | repo_name, | |
414 | pull_request_id |
|
431 | pull_request_id | |
415 | ) |
|
432 | ) | |
416 |
|
433 | |||
417 | message = '<strong>{}</strong> {} - ' \ |
|
434 | message = '<strong>{}</strong> {} - ' \ | |
418 | '<a onclick="window.location=\'{}\';' \ |
|
435 | '<a onclick="window.location=\'{}\';' \ | |
419 | 'window.location.reload()">' \ |
|
436 | 'window.location.reload()">' \ | |
420 | '<strong>{}</strong></a>' |
|
437 | '<strong>{}</strong></a>' | |
421 | message = message.format( |
|
438 | message = message.format( | |
422 | user.username, _('made a comment'), msg_url, |
|
439 | user.username, _('made a comment'), msg_url, | |
423 | _('Show it now')) |
|
440 | _('Show it now')) | |
424 |
|
441 | |||
425 | channelstream.post_message( |
|
442 | channelstream.post_message( | |
426 | channel, message, user.username, |
|
443 | channel, message, user.username, | |
427 | registry=get_current_registry()) |
|
444 | registry=get_current_registry()) | |
428 |
|
445 | |||
429 | return comment |
|
446 | return comment | |
430 |
|
447 | |||
431 | def delete(self, comment, auth_user): |
|
448 | def delete(self, comment, auth_user): | |
432 | """ |
|
449 | """ | |
433 | Deletes given comment |
|
450 | Deletes given comment | |
434 | """ |
|
451 | """ | |
435 | comment = self.__get_commit_comment(comment) |
|
452 | comment = self.__get_commit_comment(comment) | |
436 | old_data = comment.get_api_data() |
|
453 | old_data = comment.get_api_data() | |
437 | Session().delete(comment) |
|
454 | Session().delete(comment) | |
438 |
|
455 | |||
439 | if comment.pull_request: |
|
456 | if comment.pull_request: | |
440 | action = 'repo.pull_request.comment.delete' |
|
457 | action = 'repo.pull_request.comment.delete' | |
441 | else: |
|
458 | else: | |
442 | action = 'repo.commit.comment.delete' |
|
459 | action = 'repo.commit.comment.delete' | |
443 |
|
460 | |||
444 | self._log_audit_action( |
|
461 | self._log_audit_action( | |
445 | action, {'old_data': old_data}, auth_user, comment) |
|
462 | action, {'old_data': old_data}, auth_user, comment) | |
446 |
|
463 | |||
447 | return comment |
|
464 | return comment | |
448 |
|
465 | |||
449 | def get_all_comments(self, repo_id, revision=None, pull_request=None): |
|
466 | def get_all_comments(self, repo_id, revision=None, pull_request=None): | |
450 | q = ChangesetComment.query()\ |
|
467 | q = ChangesetComment.query()\ | |
451 | .filter(ChangesetComment.repo_id == repo_id) |
|
468 | .filter(ChangesetComment.repo_id == repo_id) | |
452 | if revision: |
|
469 | if revision: | |
453 | q = q.filter(ChangesetComment.revision == revision) |
|
470 | q = q.filter(ChangesetComment.revision == revision) | |
454 | elif pull_request: |
|
471 | elif pull_request: | |
455 | pull_request = self.__get_pull_request(pull_request) |
|
472 | pull_request = self.__get_pull_request(pull_request) | |
456 | q = q.filter(ChangesetComment.pull_request == pull_request) |
|
473 | q = q.filter(ChangesetComment.pull_request == pull_request) | |
457 | else: |
|
474 | else: | |
458 | raise Exception('Please specify commit or pull_request') |
|
475 | raise Exception('Please specify commit or pull_request') | |
459 | q = q.order_by(ChangesetComment.created_on) |
|
476 | q = q.order_by(ChangesetComment.created_on) | |
460 | return q.all() |
|
477 | return q.all() | |
461 |
|
478 | |||
462 | def get_url(self, comment, request=None, permalink=False): |
|
479 | def get_url(self, comment, request=None, permalink=False): | |
463 | if not request: |
|
480 | if not request: | |
464 | request = get_current_request() |
|
481 | request = get_current_request() | |
465 |
|
482 | |||
466 | comment = self.__get_commit_comment(comment) |
|
483 | comment = self.__get_commit_comment(comment) | |
467 | if comment.pull_request: |
|
484 | if comment.pull_request: | |
468 | pull_request = comment.pull_request |
|
485 | pull_request = comment.pull_request | |
469 | if permalink: |
|
486 | if permalink: | |
470 | return request.route_url( |
|
487 | return request.route_url( | |
471 | 'pull_requests_global', |
|
488 | 'pull_requests_global', | |
472 | pull_request_id=pull_request.pull_request_id, |
|
489 | pull_request_id=pull_request.pull_request_id, | |
473 | _anchor='comment-%s' % comment.comment_id) |
|
490 | _anchor='comment-%s' % comment.comment_id) | |
474 | else: |
|
491 | else: | |
475 | return request.route_url( |
|
492 | return request.route_url( | |
476 | 'pullrequest_show', |
|
493 | 'pullrequest_show', | |
477 | repo_name=safe_str(pull_request.target_repo.repo_name), |
|
494 | repo_name=safe_str(pull_request.target_repo.repo_name), | |
478 | pull_request_id=pull_request.pull_request_id, |
|
495 | pull_request_id=pull_request.pull_request_id, | |
479 | _anchor='comment-%s' % comment.comment_id) |
|
496 | _anchor='comment-%s' % comment.comment_id) | |
480 |
|
497 | |||
481 | else: |
|
498 | else: | |
482 | repo = comment.repo |
|
499 | repo = comment.repo | |
483 | commit_id = comment.revision |
|
500 | commit_id = comment.revision | |
484 |
|
501 | |||
485 | if permalink: |
|
502 | if permalink: | |
486 | return request.route_url( |
|
503 | return request.route_url( | |
487 | 'repo_commit', repo_name=safe_str(repo.repo_id), |
|
504 | 'repo_commit', repo_name=safe_str(repo.repo_id), | |
488 | commit_id=commit_id, |
|
505 | commit_id=commit_id, | |
489 | _anchor='comment-%s' % comment.comment_id) |
|
506 | _anchor='comment-%s' % comment.comment_id) | |
490 |
|
507 | |||
491 | else: |
|
508 | else: | |
492 | return request.route_url( |
|
509 | return request.route_url( | |
493 | 'repo_commit', repo_name=safe_str(repo.repo_name), |
|
510 | 'repo_commit', repo_name=safe_str(repo.repo_name), | |
494 | commit_id=commit_id, |
|
511 | commit_id=commit_id, | |
495 | _anchor='comment-%s' % comment.comment_id) |
|
512 | _anchor='comment-%s' % comment.comment_id) | |
496 |
|
513 | |||
497 | def get_comments(self, repo_id, revision=None, pull_request=None): |
|
514 | def get_comments(self, repo_id, revision=None, pull_request=None): | |
498 | """ |
|
515 | """ | |
499 | Gets main comments based on revision or pull_request_id |
|
516 | Gets main comments based on revision or pull_request_id | |
500 |
|
517 | |||
501 | :param repo_id: |
|
518 | :param repo_id: | |
502 | :param revision: |
|
519 | :param revision: | |
503 | :param pull_request: |
|
520 | :param pull_request: | |
504 | """ |
|
521 | """ | |
505 |
|
522 | |||
506 | q = ChangesetComment.query()\ |
|
523 | q = ChangesetComment.query()\ | |
507 | .filter(ChangesetComment.repo_id == repo_id)\ |
|
524 | .filter(ChangesetComment.repo_id == repo_id)\ | |
508 | .filter(ChangesetComment.line_no == None)\ |
|
525 | .filter(ChangesetComment.line_no == None)\ | |
509 | .filter(ChangesetComment.f_path == None) |
|
526 | .filter(ChangesetComment.f_path == None) | |
510 | if revision: |
|
527 | if revision: | |
511 | q = q.filter(ChangesetComment.revision == revision) |
|
528 | q = q.filter(ChangesetComment.revision == revision) | |
512 | elif pull_request: |
|
529 | elif pull_request: | |
513 | pull_request = self.__get_pull_request(pull_request) |
|
530 | pull_request = self.__get_pull_request(pull_request) | |
514 | q = q.filter(ChangesetComment.pull_request == pull_request) |
|
531 | q = q.filter(ChangesetComment.pull_request == pull_request) | |
515 | else: |
|
532 | else: | |
516 | raise Exception('Please specify commit or pull_request') |
|
533 | raise Exception('Please specify commit or pull_request') | |
517 | q = q.order_by(ChangesetComment.created_on) |
|
534 | q = q.order_by(ChangesetComment.created_on) | |
518 | return q.all() |
|
535 | return q.all() | |
519 |
|
536 | |||
520 | def get_inline_comments(self, repo_id, revision=None, pull_request=None): |
|
537 | def get_inline_comments(self, repo_id, revision=None, pull_request=None): | |
521 | q = self._get_inline_comments_query(repo_id, revision, pull_request) |
|
538 | q = self._get_inline_comments_query(repo_id, revision, pull_request) | |
522 | return self._group_comments_by_path_and_line_number(q) |
|
539 | return self._group_comments_by_path_and_line_number(q) | |
523 |
|
540 | |||
524 | def get_inline_comments_count(self, inline_comments, skip_outdated=True, |
|
541 | def get_inline_comments_count(self, inline_comments, skip_outdated=True, | |
525 | version=None): |
|
542 | version=None): | |
526 | inline_cnt = 0 |
|
543 | inline_cnt = 0 | |
527 | for fname, per_line_comments in inline_comments.iteritems(): |
|
544 | for fname, per_line_comments in inline_comments.iteritems(): | |
528 | for lno, comments in per_line_comments.iteritems(): |
|
545 | for lno, comments in per_line_comments.iteritems(): | |
529 | for comm in comments: |
|
546 | for comm in comments: | |
530 | if not comm.outdated_at_version(version) and skip_outdated: |
|
547 | if not comm.outdated_at_version(version) and skip_outdated: | |
531 | inline_cnt += 1 |
|
548 | inline_cnt += 1 | |
532 |
|
549 | |||
533 | return inline_cnt |
|
550 | return inline_cnt | |
534 |
|
551 | |||
535 | def get_outdated_comments(self, repo_id, pull_request): |
|
552 | def get_outdated_comments(self, repo_id, pull_request): | |
536 | # TODO: johbo: Remove `repo_id`, it is not needed to find the comments |
|
553 | # TODO: johbo: Remove `repo_id`, it is not needed to find the comments | |
537 | # of a pull request. |
|
554 | # of a pull request. | |
538 | q = self._all_inline_comments_of_pull_request(pull_request) |
|
555 | q = self._all_inline_comments_of_pull_request(pull_request) | |
539 | q = q.filter( |
|
556 | q = q.filter( | |
540 | ChangesetComment.display_state == |
|
557 | ChangesetComment.display_state == | |
541 | ChangesetComment.COMMENT_OUTDATED |
|
558 | ChangesetComment.COMMENT_OUTDATED | |
542 | ).order_by(ChangesetComment.comment_id.asc()) |
|
559 | ).order_by(ChangesetComment.comment_id.asc()) | |
543 |
|
560 | |||
544 | return self._group_comments_by_path_and_line_number(q) |
|
561 | return self._group_comments_by_path_and_line_number(q) | |
545 |
|
562 | |||
546 | def _get_inline_comments_query(self, repo_id, revision, pull_request): |
|
563 | def _get_inline_comments_query(self, repo_id, revision, pull_request): | |
547 | # TODO: johbo: Split this into two methods: One for PR and one for |
|
564 | # TODO: johbo: Split this into two methods: One for PR and one for | |
548 | # commit. |
|
565 | # commit. | |
549 | if revision: |
|
566 | if revision: | |
550 | q = Session().query(ChangesetComment).filter( |
|
567 | q = Session().query(ChangesetComment).filter( | |
551 | ChangesetComment.repo_id == repo_id, |
|
568 | ChangesetComment.repo_id == repo_id, | |
552 | ChangesetComment.line_no != null(), |
|
569 | ChangesetComment.line_no != null(), | |
553 | ChangesetComment.f_path != null(), |
|
570 | ChangesetComment.f_path != null(), | |
554 | ChangesetComment.revision == revision) |
|
571 | ChangesetComment.revision == revision) | |
555 |
|
572 | |||
556 | elif pull_request: |
|
573 | elif pull_request: | |
557 | pull_request = self.__get_pull_request(pull_request) |
|
574 | pull_request = self.__get_pull_request(pull_request) | |
558 | if not CommentsModel.use_outdated_comments(pull_request): |
|
575 | if not CommentsModel.use_outdated_comments(pull_request): | |
559 | q = self._visible_inline_comments_of_pull_request(pull_request) |
|
576 | q = self._visible_inline_comments_of_pull_request(pull_request) | |
560 | else: |
|
577 | else: | |
561 | q = self._all_inline_comments_of_pull_request(pull_request) |
|
578 | q = self._all_inline_comments_of_pull_request(pull_request) | |
562 |
|
579 | |||
563 | else: |
|
580 | else: | |
564 | raise Exception('Please specify commit or pull_request_id') |
|
581 | raise Exception('Please specify commit or pull_request_id') | |
565 | q = q.order_by(ChangesetComment.comment_id.asc()) |
|
582 | q = q.order_by(ChangesetComment.comment_id.asc()) | |
566 | return q |
|
583 | return q | |
567 |
|
584 | |||
568 | def _group_comments_by_path_and_line_number(self, q): |
|
585 | def _group_comments_by_path_and_line_number(self, q): | |
569 | comments = q.all() |
|
586 | comments = q.all() | |
570 | paths = collections.defaultdict(lambda: collections.defaultdict(list)) |
|
587 | paths = collections.defaultdict(lambda: collections.defaultdict(list)) | |
571 | for co in comments: |
|
588 | for co in comments: | |
572 | paths[co.f_path][co.line_no].append(co) |
|
589 | paths[co.f_path][co.line_no].append(co) | |
573 | return paths |
|
590 | return paths | |
574 |
|
591 | |||
575 | @classmethod |
|
592 | @classmethod | |
576 | def needed_extra_diff_context(cls): |
|
593 | def needed_extra_diff_context(cls): | |
577 | return max(cls.DIFF_CONTEXT_BEFORE, cls.DIFF_CONTEXT_AFTER) |
|
594 | return max(cls.DIFF_CONTEXT_BEFORE, cls.DIFF_CONTEXT_AFTER) | |
578 |
|
595 | |||
579 | def outdate_comments(self, pull_request, old_diff_data, new_diff_data): |
|
596 | def outdate_comments(self, pull_request, old_diff_data, new_diff_data): | |
580 | if not CommentsModel.use_outdated_comments(pull_request): |
|
597 | if not CommentsModel.use_outdated_comments(pull_request): | |
581 | return |
|
598 | return | |
582 |
|
599 | |||
583 | comments = self._visible_inline_comments_of_pull_request(pull_request) |
|
600 | comments = self._visible_inline_comments_of_pull_request(pull_request) | |
584 | comments_to_outdate = comments.all() |
|
601 | comments_to_outdate = comments.all() | |
585 |
|
602 | |||
586 | for comment in comments_to_outdate: |
|
603 | for comment in comments_to_outdate: | |
587 | self._outdate_one_comment(comment, old_diff_data, new_diff_data) |
|
604 | self._outdate_one_comment(comment, old_diff_data, new_diff_data) | |
588 |
|
605 | |||
589 | def _outdate_one_comment(self, comment, old_diff_proc, new_diff_proc): |
|
606 | def _outdate_one_comment(self, comment, old_diff_proc, new_diff_proc): | |
590 | diff_line = _parse_comment_line_number(comment.line_no) |
|
607 | diff_line = _parse_comment_line_number(comment.line_no) | |
591 |
|
608 | |||
592 | try: |
|
609 | try: | |
593 | old_context = old_diff_proc.get_context_of_line( |
|
610 | old_context = old_diff_proc.get_context_of_line( | |
594 | path=comment.f_path, diff_line=diff_line) |
|
611 | path=comment.f_path, diff_line=diff_line) | |
595 | new_context = new_diff_proc.get_context_of_line( |
|
612 | new_context = new_diff_proc.get_context_of_line( | |
596 | path=comment.f_path, diff_line=diff_line) |
|
613 | path=comment.f_path, diff_line=diff_line) | |
597 | except (diffs.LineNotInDiffException, |
|
614 | except (diffs.LineNotInDiffException, | |
598 | diffs.FileNotInDiffException): |
|
615 | diffs.FileNotInDiffException): | |
599 | comment.display_state = ChangesetComment.COMMENT_OUTDATED |
|
616 | comment.display_state = ChangesetComment.COMMENT_OUTDATED | |
600 | return |
|
617 | return | |
601 |
|
618 | |||
602 | if old_context == new_context: |
|
619 | if old_context == new_context: | |
603 | return |
|
620 | return | |
604 |
|
621 | |||
605 | if self._should_relocate_diff_line(diff_line): |
|
622 | if self._should_relocate_diff_line(diff_line): | |
606 | new_diff_lines = new_diff_proc.find_context( |
|
623 | new_diff_lines = new_diff_proc.find_context( | |
607 | path=comment.f_path, context=old_context, |
|
624 | path=comment.f_path, context=old_context, | |
608 | offset=self.DIFF_CONTEXT_BEFORE) |
|
625 | offset=self.DIFF_CONTEXT_BEFORE) | |
609 | if not new_diff_lines: |
|
626 | if not new_diff_lines: | |
610 | comment.display_state = ChangesetComment.COMMENT_OUTDATED |
|
627 | comment.display_state = ChangesetComment.COMMENT_OUTDATED | |
611 | else: |
|
628 | else: | |
612 | new_diff_line = self._choose_closest_diff_line( |
|
629 | new_diff_line = self._choose_closest_diff_line( | |
613 | diff_line, new_diff_lines) |
|
630 | diff_line, new_diff_lines) | |
614 | comment.line_no = _diff_to_comment_line_number(new_diff_line) |
|
631 | comment.line_no = _diff_to_comment_line_number(new_diff_line) | |
615 | else: |
|
632 | else: | |
616 | comment.display_state = ChangesetComment.COMMENT_OUTDATED |
|
633 | comment.display_state = ChangesetComment.COMMENT_OUTDATED | |
617 |
|
634 | |||
618 | def _should_relocate_diff_line(self, diff_line): |
|
635 | def _should_relocate_diff_line(self, diff_line): | |
619 | """ |
|
636 | """ | |
620 | Checks if relocation shall be tried for the given `diff_line`. |
|
637 | Checks if relocation shall be tried for the given `diff_line`. | |
621 |
|
638 | |||
622 | If a comment points into the first lines, then we can have a situation |
|
639 | If a comment points into the first lines, then we can have a situation | |
623 | that after an update another line has been added on top. In this case |
|
640 | that after an update another line has been added on top. In this case | |
624 | we would find the context still and move the comment around. This |
|
641 | we would find the context still and move the comment around. This | |
625 | would be wrong. |
|
642 | would be wrong. | |
626 | """ |
|
643 | """ | |
627 | should_relocate = ( |
|
644 | should_relocate = ( | |
628 | (diff_line.new and diff_line.new > self.DIFF_CONTEXT_BEFORE) or |
|
645 | (diff_line.new and diff_line.new > self.DIFF_CONTEXT_BEFORE) or | |
629 | (diff_line.old and diff_line.old > self.DIFF_CONTEXT_BEFORE)) |
|
646 | (diff_line.old and diff_line.old > self.DIFF_CONTEXT_BEFORE)) | |
630 | return should_relocate |
|
647 | return should_relocate | |
631 |
|
648 | |||
632 | def _choose_closest_diff_line(self, diff_line, new_diff_lines): |
|
649 | def _choose_closest_diff_line(self, diff_line, new_diff_lines): | |
633 | candidate = new_diff_lines[0] |
|
650 | candidate = new_diff_lines[0] | |
634 | best_delta = _diff_line_delta(diff_line, candidate) |
|
651 | best_delta = _diff_line_delta(diff_line, candidate) | |
635 | for new_diff_line in new_diff_lines[1:]: |
|
652 | for new_diff_line in new_diff_lines[1:]: | |
636 | delta = _diff_line_delta(diff_line, new_diff_line) |
|
653 | delta = _diff_line_delta(diff_line, new_diff_line) | |
637 | if delta < best_delta: |
|
654 | if delta < best_delta: | |
638 | candidate = new_diff_line |
|
655 | candidate = new_diff_line | |
639 | best_delta = delta |
|
656 | best_delta = delta | |
640 | return candidate |
|
657 | return candidate | |
641 |
|
658 | |||
642 | def _visible_inline_comments_of_pull_request(self, pull_request): |
|
659 | def _visible_inline_comments_of_pull_request(self, pull_request): | |
643 | comments = self._all_inline_comments_of_pull_request(pull_request) |
|
660 | comments = self._all_inline_comments_of_pull_request(pull_request) | |
644 | comments = comments.filter( |
|
661 | comments = comments.filter( | |
645 | coalesce(ChangesetComment.display_state, '') != |
|
662 | coalesce(ChangesetComment.display_state, '') != | |
646 | ChangesetComment.COMMENT_OUTDATED) |
|
663 | ChangesetComment.COMMENT_OUTDATED) | |
647 | return comments |
|
664 | return comments | |
648 |
|
665 | |||
649 | def _all_inline_comments_of_pull_request(self, pull_request): |
|
666 | def _all_inline_comments_of_pull_request(self, pull_request): | |
650 | comments = Session().query(ChangesetComment)\ |
|
667 | comments = Session().query(ChangesetComment)\ | |
651 | .filter(ChangesetComment.line_no != None)\ |
|
668 | .filter(ChangesetComment.line_no != None)\ | |
652 | .filter(ChangesetComment.f_path != None)\ |
|
669 | .filter(ChangesetComment.f_path != None)\ | |
653 | .filter(ChangesetComment.pull_request == pull_request) |
|
670 | .filter(ChangesetComment.pull_request == pull_request) | |
654 | return comments |
|
671 | return comments | |
655 |
|
672 | |||
656 | def _all_general_comments_of_pull_request(self, pull_request): |
|
673 | def _all_general_comments_of_pull_request(self, pull_request): | |
657 | comments = Session().query(ChangesetComment)\ |
|
674 | comments = Session().query(ChangesetComment)\ | |
658 | .filter(ChangesetComment.line_no == None)\ |
|
675 | .filter(ChangesetComment.line_no == None)\ | |
659 | .filter(ChangesetComment.f_path == None)\ |
|
676 | .filter(ChangesetComment.f_path == None)\ | |
660 | .filter(ChangesetComment.pull_request == pull_request) |
|
677 | .filter(ChangesetComment.pull_request == pull_request) | |
661 | return comments |
|
678 | return comments | |
662 |
|
679 | |||
663 | @staticmethod |
|
680 | @staticmethod | |
664 | def use_outdated_comments(pull_request): |
|
681 | def use_outdated_comments(pull_request): | |
665 | settings_model = VcsSettingsModel(repo=pull_request.target_repo) |
|
682 | settings_model = VcsSettingsModel(repo=pull_request.target_repo) | |
666 | settings = settings_model.get_general_settings() |
|
683 | settings = settings_model.get_general_settings() | |
667 | return settings.get('rhodecode_use_outdated_comments', False) |
|
684 | return settings.get('rhodecode_use_outdated_comments', False) | |
668 |
|
685 | |||
669 |
|
686 | |||
670 | def _parse_comment_line_number(line_no): |
|
687 | def _parse_comment_line_number(line_no): | |
671 | """ |
|
688 | """ | |
672 | Parses line numbers of the form "(o|n)\d+" and returns them in a tuple. |
|
689 | Parses line numbers of the form "(o|n)\d+" and returns them in a tuple. | |
673 | """ |
|
690 | """ | |
674 | old_line = None |
|
691 | old_line = None | |
675 | new_line = None |
|
692 | new_line = None | |
676 | if line_no.startswith('o'): |
|
693 | if line_no.startswith('o'): | |
677 | old_line = int(line_no[1:]) |
|
694 | old_line = int(line_no[1:]) | |
678 | elif line_no.startswith('n'): |
|
695 | elif line_no.startswith('n'): | |
679 | new_line = int(line_no[1:]) |
|
696 | new_line = int(line_no[1:]) | |
680 | else: |
|
697 | else: | |
681 | raise ValueError("Comment lines have to start with either 'o' or 'n'.") |
|
698 | raise ValueError("Comment lines have to start with either 'o' or 'n'.") | |
682 | return diffs.DiffLineNumber(old_line, new_line) |
|
699 | return diffs.DiffLineNumber(old_line, new_line) | |
683 |
|
700 | |||
684 |
|
701 | |||
685 | def _diff_to_comment_line_number(diff_line): |
|
702 | def _diff_to_comment_line_number(diff_line): | |
686 | if diff_line.new is not None: |
|
703 | if diff_line.new is not None: | |
687 | return u'n{}'.format(diff_line.new) |
|
704 | return u'n{}'.format(diff_line.new) | |
688 | elif diff_line.old is not None: |
|
705 | elif diff_line.old is not None: | |
689 | return u'o{}'.format(diff_line.old) |
|
706 | return u'o{}'.format(diff_line.old) | |
690 | return u'' |
|
707 | return u'' | |
691 |
|
708 | |||
692 |
|
709 | |||
693 | def _diff_line_delta(a, b): |
|
710 | def _diff_line_delta(a, b): | |
694 | if None not in (a.new, b.new): |
|
711 | if None not in (a.new, b.new): | |
695 | return abs(a.new - b.new) |
|
712 | return abs(a.new - b.new) | |
696 | elif None not in (a.old, b.old): |
|
713 | elif None not in (a.old, b.old): | |
697 | return abs(a.old - b.old) |
|
714 | return abs(a.old - b.old) | |
698 | else: |
|
715 | else: | |
699 | raise ValueError( |
|
716 | raise ValueError( | |
700 | "Cannot compute delta between {} and {}".format(a, b)) |
|
717 | "Cannot compute delta between {} and {}".format(a, b)) |
@@ -1,444 +1,475 b'' | |||||
1 |
|
1 | |||
2 |
|
2 | |||
3 | //BUTTONS |
|
3 | //BUTTONS | |
4 | button, |
|
4 | button, | |
5 | .btn, |
|
5 | .btn, | |
6 | input[type="button"] { |
|
6 | input[type="button"] { | |
7 | -webkit-appearance: none; |
|
7 | -webkit-appearance: none; | |
8 | display: inline-block; |
|
8 | display: inline-block; | |
9 | margin: 0 @padding/3 0 0; |
|
9 | margin: 0 @padding/3 0 0; | |
10 | padding: @button-padding; |
|
10 | padding: @button-padding; | |
11 | text-align: center; |
|
11 | text-align: center; | |
12 | font-size: @basefontsize; |
|
12 | font-size: @basefontsize; | |
13 | line-height: 1em; |
|
13 | line-height: 1em; | |
14 | font-family: @text-light; |
|
14 | font-family: @text-light; | |
15 | text-decoration: none; |
|
15 | text-decoration: none; | |
16 | text-shadow: none; |
|
16 | text-shadow: none; | |
17 | color: @grey2; |
|
17 | color: @grey2; | |
18 | background-color: white; |
|
18 | background-color: white; | |
19 | background-image: none; |
|
19 | background-image: none; | |
20 | border: none; |
|
20 | border: none; | |
21 | .border ( @border-thickness-buttons, @grey5 ); |
|
21 | .border ( @border-thickness-buttons, @grey5 ); | |
22 | .border-radius (@border-radius); |
|
22 | .border-radius (@border-radius); | |
23 | cursor: pointer; |
|
23 | cursor: pointer; | |
24 | white-space: nowrap; |
|
24 | white-space: nowrap; | |
25 | -webkit-transition: background .3s,color .3s; |
|
25 | -webkit-transition: background .3s,color .3s; | |
26 | -moz-transition: background .3s,color .3s; |
|
26 | -moz-transition: background .3s,color .3s; | |
27 | -o-transition: background .3s,color .3s; |
|
27 | -o-transition: background .3s,color .3s; | |
28 | transition: background .3s,color .3s; |
|
28 | transition: background .3s,color .3s; | |
29 | box-shadow: @button-shadow; |
|
29 | box-shadow: @button-shadow; | |
30 | -webkit-box-shadow: @button-shadow; |
|
30 | -webkit-box-shadow: @button-shadow; | |
31 |
|
31 | |||
32 |
|
32 | |||
33 |
|
33 | |||
34 | a { |
|
34 | a { | |
35 | display: block; |
|
35 | display: block; | |
36 | margin: 0; |
|
36 | margin: 0; | |
37 | padding: 0; |
|
37 | padding: 0; | |
38 | color: inherit; |
|
38 | color: inherit; | |
39 | text-decoration: none; |
|
39 | text-decoration: none; | |
40 |
|
40 | |||
41 | &:hover { |
|
41 | &:hover { | |
42 | text-decoration: none; |
|
42 | text-decoration: none; | |
43 | } |
|
43 | } | |
44 | } |
|
44 | } | |
45 |
|
45 | |||
46 | &:focus, |
|
46 | &:focus, | |
47 | &:active { |
|
47 | &:active { | |
48 | outline:none; |
|
48 | outline:none; | |
49 | } |
|
49 | } | |
50 | &:hover { |
|
50 | &:hover { | |
51 | color: @rcdarkblue; |
|
51 | color: @rcdarkblue; | |
52 | background-color: @white; |
|
52 | background-color: @white; | |
53 | .border ( @border-thickness, @grey4 ); |
|
53 | .border ( @border-thickness, @grey4 ); | |
54 | } |
|
54 | } | |
55 |
|
55 | |||
56 | .icon-remove { |
|
56 | .icon-remove { | |
57 | display: none; |
|
57 | display: none; | |
58 | } |
|
58 | } | |
59 |
|
59 | |||
60 | //disabled buttons |
|
60 | //disabled buttons | |
61 | //last; overrides any other styles |
|
61 | //last; overrides any other styles | |
62 | &:disabled { |
|
62 | &:disabled { | |
63 | opacity: .7; |
|
63 | opacity: .7; | |
64 | cursor: auto; |
|
64 | cursor: auto; | |
65 | background-color: white; |
|
65 | background-color: white; | |
66 | color: @grey4; |
|
66 | color: @grey4; | |
67 | text-shadow: none; |
|
67 | text-shadow: none; | |
68 | } |
|
68 | } | |
69 |
|
69 | |||
70 | &.no-margin { |
|
70 | &.no-margin { | |
71 | margin: 0 0 0 0; |
|
71 | margin: 0 0 0 0; | |
72 | } |
|
72 | } | |
73 |
|
73 | |||
|
74 | &.btn-active { | |||
|
75 | color: @rcdarkblue; | |||
|
76 | background-color: @white; | |||
|
77 | .border ( @border-thickness, @rcdarkblue ); | |||
|
78 | } | |||
|
79 | ||||
74 | } |
|
80 | } | |
75 |
|
81 | |||
76 |
|
82 | |||
77 | .btn-default { |
|
83 | .btn-default { | |
78 | border: @border-thickness solid @grey5; |
|
84 | border: @border-thickness solid @grey5; | |
79 | background-image: none; |
|
85 | background-image: none; | |
80 | color: @grey2; |
|
86 | color: @grey2; | |
81 |
|
87 | |||
82 | a { |
|
88 | a { | |
83 | color: @grey2; |
|
89 | color: @grey2; | |
84 | } |
|
90 | } | |
85 |
|
91 | |||
86 | &:hover, |
|
92 | &:hover, | |
87 | &.active { |
|
93 | &.active { | |
88 | color: @rcdarkblue; |
|
94 | color: @rcdarkblue; | |
89 | background-color: @white; |
|
95 | background-color: @white; | |
90 | .border ( @border-thickness, @grey4 ); |
|
96 | .border ( @border-thickness, @grey4 ); | |
91 |
|
97 | |||
92 | a { |
|
98 | a { | |
93 | color: @grey2; |
|
99 | color: @grey2; | |
94 | } |
|
100 | } | |
95 | } |
|
101 | } | |
96 | &:disabled { |
|
102 | &:disabled { | |
97 | .border ( @border-thickness-buttons, @grey5 ); |
|
103 | .border ( @border-thickness-buttons, @grey5 ); | |
98 | background-color: transparent; |
|
104 | background-color: transparent; | |
99 | } |
|
105 | } | |
|
106 | &.btn-active { | |||
|
107 | color: @rcdarkblue; | |||
|
108 | background-color: @white; | |||
|
109 | .border ( @border-thickness, @rcdarkblue ); | |||
|
110 | } | |||
100 | } |
|
111 | } | |
101 |
|
112 | |||
102 | .btn-primary, |
|
113 | .btn-primary, | |
103 | .btn-small, /* TODO: anderson: remove .btn-small to not mix with the new btn-sm */ |
|
114 | .btn-small, /* TODO: anderson: remove .btn-small to not mix with the new btn-sm */ | |
104 | .btn-success { |
|
115 | .btn-success { | |
105 | .border ( @border-thickness, @rcblue ); |
|
116 | .border ( @border-thickness, @rcblue ); | |
106 | background-color: @rcblue; |
|
117 | background-color: @rcblue; | |
107 | color: white; |
|
118 | color: white; | |
108 |
|
119 | |||
109 | a { |
|
120 | a { | |
110 | color: white; |
|
121 | color: white; | |
111 | } |
|
122 | } | |
112 |
|
123 | |||
113 | &:hover, |
|
124 | &:hover, | |
114 | &.active { |
|
125 | &.active { | |
115 | .border ( @border-thickness, @rcdarkblue ); |
|
126 | .border ( @border-thickness, @rcdarkblue ); | |
116 | color: white; |
|
127 | color: white; | |
117 | background-color: @rcdarkblue; |
|
128 | background-color: @rcdarkblue; | |
118 |
|
129 | |||
119 | a { |
|
130 | a { | |
120 | color: white; |
|
131 | color: white; | |
121 | } |
|
132 | } | |
122 | } |
|
133 | } | |
123 | &:disabled { |
|
134 | &:disabled { | |
124 | background-color: @rcblue; |
|
135 | background-color: @rcblue; | |
125 | } |
|
136 | } | |
126 | } |
|
137 | } | |
127 |
|
138 | |||
128 | .btn-secondary { |
|
139 | .btn-secondary { | |
129 | &:extend(.btn-default); |
|
140 | &:extend(.btn-default); | |
130 |
|
141 | |||
131 | background-color: white; |
|
142 | background-color: white; | |
132 |
|
143 | |||
133 | &:focus { |
|
144 | &:focus { | |
134 | outline: 0; |
|
145 | outline: 0; | |
135 | } |
|
146 | } | |
136 |
|
147 | |||
137 | &:hover { |
|
148 | &:hover { | |
138 | &:extend(.btn-default:hover); |
|
149 | &:extend(.btn-default:hover); | |
139 | } |
|
150 | } | |
140 |
|
151 | |||
141 | &.btn-link { |
|
152 | &.btn-link { | |
142 | &:extend(.btn-link); |
|
153 | &:extend(.btn-link); | |
143 | color: @rcblue; |
|
154 | color: @rcblue; | |
144 | } |
|
155 | } | |
145 |
|
156 | |||
146 | &:disabled { |
|
157 | &:disabled { | |
147 | color: @rcblue; |
|
158 | color: @rcblue; | |
148 | background-color: white; |
|
159 | background-color: white; | |
149 | } |
|
160 | } | |
150 | } |
|
161 | } | |
151 |
|
162 | |||
152 | .btn-warning, |
|
163 | .btn-warning, | |
153 | .btn-danger, |
|
164 | .btn-danger, | |
154 | .revoke_perm, |
|
165 | .revoke_perm, | |
155 | .btn-x, |
|
166 | .btn-x, | |
156 | .form .action_button.btn-x { |
|
167 | .form .action_button.btn-x { | |
157 | .border ( @border-thickness, @alert2 ); |
|
168 | .border ( @border-thickness, @alert2 ); | |
158 | background-color: white; |
|
169 | background-color: white; | |
159 | color: @alert2; |
|
170 | color: @alert2; | |
160 |
|
171 | |||
161 | a { |
|
172 | a { | |
162 | color: @alert2; |
|
173 | color: @alert2; | |
163 | } |
|
174 | } | |
164 |
|
175 | |||
165 | &:hover, |
|
176 | &:hover, | |
166 | &.active { |
|
177 | &.active { | |
167 | .border ( @border-thickness, @alert2 ); |
|
178 | .border ( @border-thickness, @alert2 ); | |
168 | color: white; |
|
179 | color: white; | |
169 | background-color: @alert2; |
|
180 | background-color: @alert2; | |
170 |
|
181 | |||
171 | a { |
|
182 | a { | |
172 | color: white; |
|
183 | color: white; | |
173 | } |
|
184 | } | |
174 | } |
|
185 | } | |
175 |
|
186 | |||
176 | i { |
|
187 | i { | |
177 | display:none; |
|
188 | display:none; | |
178 | } |
|
189 | } | |
179 |
|
190 | |||
180 | &:disabled { |
|
191 | &:disabled { | |
181 | background-color: white; |
|
192 | background-color: white; | |
182 | color: @alert2; |
|
193 | color: @alert2; | |
183 | } |
|
194 | } | |
184 | } |
|
195 | } | |
185 |
|
196 | |||
186 | .btn-approved-status { |
|
197 | .btn-approved-status { | |
187 | .border ( @border-thickness, @alert1 ); |
|
198 | .border ( @border-thickness, @alert1 ); | |
188 | background-color: white; |
|
199 | background-color: white; | |
189 | color: @alert1; |
|
200 | color: @alert1; | |
190 |
|
201 | |||
191 | } |
|
202 | } | |
192 |
|
203 | |||
193 | .btn-rejected-status { |
|
204 | .btn-rejected-status { | |
194 | .border ( @border-thickness, @alert2 ); |
|
205 | .border ( @border-thickness, @alert2 ); | |
195 | background-color: white; |
|
206 | background-color: white; | |
196 | color: @alert2; |
|
207 | color: @alert2; | |
197 | } |
|
208 | } | |
198 |
|
209 | |||
199 | .btn-sm, |
|
210 | .btn-sm, | |
200 | .btn-mini, |
|
211 | .btn-mini, | |
201 | .field-sm .btn { |
|
212 | .field-sm .btn { | |
202 | padding: @padding/3; |
|
213 | padding: @padding/3; | |
203 | } |
|
214 | } | |
204 |
|
215 | |||
205 | .btn-xs { |
|
216 | .btn-xs { | |
206 | padding: @padding/4; |
|
217 | padding: @padding/4; | |
207 | } |
|
218 | } | |
208 |
|
219 | |||
209 | .btn-lg { |
|
220 | .btn-lg { | |
210 | padding: @padding * 1.2; |
|
221 | padding: @padding * 1.2; | |
211 | } |
|
222 | } | |
212 |
|
223 | |||
213 | .btn-group { |
|
224 | .btn-group { | |
214 | display: inline-block; |
|
225 | display: inline-block; | |
215 | .btn { |
|
226 | .btn { | |
216 | float: left; |
|
227 | float: left; | |
217 |
margin: 0 0 0 |
|
228 | margin: 0 0 0 0; | |
|
229 | // first item | |||
|
230 | &:first-of-type:not(:last-of-type) { | |||
|
231 | border-radius: @border-radius 0 0 @border-radius; | |||
|
232 | ||||
|
233 | } | |||
|
234 | // middle elements | |||
|
235 | &:not(:first-of-type):not(:last-of-type) { | |||
|
236 | border-radius: 0; | |||
|
237 | border-left-width: 0; | |||
|
238 | border-right-width: 0; | |||
|
239 | } | |||
|
240 | // last item | |||
|
241 | &:last-of-type:not(:first-of-type) { | |||
|
242 | border-radius: 0 @border-radius @border-radius 0; | |||
|
243 | } | |||
|
244 | ||||
|
245 | &:only-child { | |||
|
246 | border-radius: @border-radius; | |||
|
247 | } | |||
218 | } |
|
248 | } | |
|
249 | ||||
219 | } |
|
250 | } | |
220 |
|
251 | |||
221 | .btn-link { |
|
252 | .btn-link { | |
222 | background: transparent; |
|
253 | background: transparent; | |
223 | border: none; |
|
254 | border: none; | |
224 | padding: 0; |
|
255 | padding: 0; | |
225 | color: @rcblue; |
|
256 | color: @rcblue; | |
226 |
|
257 | |||
227 | &:hover { |
|
258 | &:hover { | |
228 | background: transparent; |
|
259 | background: transparent; | |
229 | border: none; |
|
260 | border: none; | |
230 | color: @rcdarkblue; |
|
261 | color: @rcdarkblue; | |
231 | } |
|
262 | } | |
232 |
|
263 | |||
233 | //disabled buttons |
|
264 | //disabled buttons | |
234 | //last; overrides any other styles |
|
265 | //last; overrides any other styles | |
235 | &:disabled { |
|
266 | &:disabled { | |
236 | opacity: .7; |
|
267 | opacity: .7; | |
237 | cursor: auto; |
|
268 | cursor: auto; | |
238 | background-color: white; |
|
269 | background-color: white; | |
239 | color: @grey4; |
|
270 | color: @grey4; | |
240 | text-shadow: none; |
|
271 | text-shadow: none; | |
241 | } |
|
272 | } | |
242 |
|
273 | |||
243 | // TODO: johbo: Check if we can avoid this, indicates that the structure |
|
274 | // TODO: johbo: Check if we can avoid this, indicates that the structure | |
244 | // is not yet good. |
|
275 | // is not yet good. | |
245 | // lisa: The button CSS reflects the button HTML; both need a cleanup. |
|
276 | // lisa: The button CSS reflects the button HTML; both need a cleanup. | |
246 | &.btn-danger { |
|
277 | &.btn-danger { | |
247 | color: @alert2; |
|
278 | color: @alert2; | |
248 |
|
279 | |||
249 | &:hover { |
|
280 | &:hover { | |
250 | color: darken(@alert2,30%); |
|
281 | color: darken(@alert2,30%); | |
251 | } |
|
282 | } | |
252 |
|
283 | |||
253 | &:disabled { |
|
284 | &:disabled { | |
254 | color: @alert2; |
|
285 | color: @alert2; | |
255 | } |
|
286 | } | |
256 | } |
|
287 | } | |
257 | } |
|
288 | } | |
258 |
|
289 | |||
259 | .btn-social { |
|
290 | .btn-social { | |
260 | &:extend(.btn-default); |
|
291 | &:extend(.btn-default); | |
261 | margin: 5px 5px 5px 0px; |
|
292 | margin: 5px 5px 5px 0px; | |
262 | min-width: 160px; |
|
293 | min-width: 160px; | |
263 | } |
|
294 | } | |
264 |
|
295 | |||
265 | // TODO: johbo: check these exceptions |
|
296 | // TODO: johbo: check these exceptions | |
266 |
|
297 | |||
267 | .links { |
|
298 | .links { | |
268 |
|
299 | |||
269 | .btn + .btn { |
|
300 | .btn + .btn { | |
270 | margin-top: @padding; |
|
301 | margin-top: @padding; | |
271 | } |
|
302 | } | |
272 | } |
|
303 | } | |
273 |
|
304 | |||
274 |
|
305 | |||
275 | .action_button { |
|
306 | .action_button { | |
276 | display:inline; |
|
307 | display:inline; | |
277 | margin: 0; |
|
308 | margin: 0; | |
278 | padding: 0 1em 0 0; |
|
309 | padding: 0 1em 0 0; | |
279 | font-size: inherit; |
|
310 | font-size: inherit; | |
280 | color: @rcblue; |
|
311 | color: @rcblue; | |
281 | border: none; |
|
312 | border: none; | |
282 | border-radius: 0; |
|
313 | border-radius: 0; | |
283 | background-color: transparent; |
|
314 | background-color: transparent; | |
284 |
|
315 | |||
285 | &.last-item { |
|
316 | &.last-item { | |
286 | border: none; |
|
317 | border: none; | |
287 | padding: 0 0 0 0; |
|
318 | padding: 0 0 0 0; | |
288 | } |
|
319 | } | |
289 |
|
320 | |||
290 | &:last-child { |
|
321 | &:last-child { | |
291 | border: none; |
|
322 | border: none; | |
292 | padding: 0 0 0 0; |
|
323 | padding: 0 0 0 0; | |
293 | } |
|
324 | } | |
294 |
|
325 | |||
295 | &:hover { |
|
326 | &:hover { | |
296 | color: @rcdarkblue; |
|
327 | color: @rcdarkblue; | |
297 | background-color: transparent; |
|
328 | background-color: transparent; | |
298 | border: none; |
|
329 | border: none; | |
299 | } |
|
330 | } | |
300 | } |
|
331 | } | |
301 | .grid_delete { |
|
332 | .grid_delete { | |
302 | .action_button { |
|
333 | .action_button { | |
303 | border: none; |
|
334 | border: none; | |
304 | } |
|
335 | } | |
305 | } |
|
336 | } | |
306 |
|
337 | |||
307 |
|
338 | |||
308 | // TODO: johbo: Form button tweaks, check if we can use the classes instead |
|
339 | // TODO: johbo: Form button tweaks, check if we can use the classes instead | |
309 | input[type="submit"] { |
|
340 | input[type="submit"] { | |
310 | &:extend(.btn-primary); |
|
341 | &:extend(.btn-primary); | |
311 |
|
342 | |||
312 | &:focus { |
|
343 | &:focus { | |
313 | outline: 0; |
|
344 | outline: 0; | |
314 | } |
|
345 | } | |
315 |
|
346 | |||
316 | &:hover { |
|
347 | &:hover { | |
317 | &:extend(.btn-primary:hover); |
|
348 | &:extend(.btn-primary:hover); | |
318 | } |
|
349 | } | |
319 |
|
350 | |||
320 | &.btn-link { |
|
351 | &.btn-link { | |
321 | &:extend(.btn-link); |
|
352 | &:extend(.btn-link); | |
322 | color: @rcblue; |
|
353 | color: @rcblue; | |
323 |
|
354 | |||
324 | &:disabled { |
|
355 | &:disabled { | |
325 | color: @rcblue; |
|
356 | color: @rcblue; | |
326 | background-color: transparent; |
|
357 | background-color: transparent; | |
327 | } |
|
358 | } | |
328 | } |
|
359 | } | |
329 |
|
360 | |||
330 | &:disabled { |
|
361 | &:disabled { | |
331 | .border ( @border-thickness-buttons, @rcblue ); |
|
362 | .border ( @border-thickness-buttons, @rcblue ); | |
332 | background-color: @rcblue; |
|
363 | background-color: @rcblue; | |
333 | color: white; |
|
364 | color: white; | |
334 | opacity: 0.5; |
|
365 | opacity: 0.5; | |
335 | } |
|
366 | } | |
336 | } |
|
367 | } | |
337 |
|
368 | |||
338 | input[type="reset"] { |
|
369 | input[type="reset"] { | |
339 | &:extend(.btn-default); |
|
370 | &:extend(.btn-default); | |
340 |
|
371 | |||
341 | // TODO: johbo: Check if this tweak can be avoided. |
|
372 | // TODO: johbo: Check if this tweak can be avoided. | |
342 | background: transparent; |
|
373 | background: transparent; | |
343 |
|
374 | |||
344 | &:focus { |
|
375 | &:focus { | |
345 | outline: 0; |
|
376 | outline: 0; | |
346 | } |
|
377 | } | |
347 |
|
378 | |||
348 | &:hover { |
|
379 | &:hover { | |
349 | &:extend(.btn-default:hover); |
|
380 | &:extend(.btn-default:hover); | |
350 | } |
|
381 | } | |
351 |
|
382 | |||
352 | &.btn-link { |
|
383 | &.btn-link { | |
353 | &:extend(.btn-link); |
|
384 | &:extend(.btn-link); | |
354 | color: @rcblue; |
|
385 | color: @rcblue; | |
355 |
|
386 | |||
356 | &:disabled { |
|
387 | &:disabled { | |
357 | border: none; |
|
388 | border: none; | |
358 | } |
|
389 | } | |
359 | } |
|
390 | } | |
360 |
|
391 | |||
361 | &:disabled { |
|
392 | &:disabled { | |
362 | .border ( @border-thickness-buttons, @rcblue ); |
|
393 | .border ( @border-thickness-buttons, @rcblue ); | |
363 | background-color: white; |
|
394 | background-color: white; | |
364 | color: @rcblue; |
|
395 | color: @rcblue; | |
365 | } |
|
396 | } | |
366 | } |
|
397 | } | |
367 |
|
398 | |||
368 | input[type="submit"], |
|
399 | input[type="submit"], | |
369 | input[type="reset"] { |
|
400 | input[type="reset"] { | |
370 | &.btn-danger { |
|
401 | &.btn-danger { | |
371 | &:extend(.btn-danger); |
|
402 | &:extend(.btn-danger); | |
372 |
|
403 | |||
373 | &:focus { |
|
404 | &:focus { | |
374 | outline: 0; |
|
405 | outline: 0; | |
375 | } |
|
406 | } | |
376 |
|
407 | |||
377 | &:hover { |
|
408 | &:hover { | |
378 | &:extend(.btn-danger:hover); |
|
409 | &:extend(.btn-danger:hover); | |
379 | } |
|
410 | } | |
380 |
|
411 | |||
381 | &.btn-link { |
|
412 | &.btn-link { | |
382 | &:extend(.btn-link); |
|
413 | &:extend(.btn-link); | |
383 | color: @alert2; |
|
414 | color: @alert2; | |
384 |
|
415 | |||
385 | &:hover { |
|
416 | &:hover { | |
386 | color: darken(@alert2,30%); |
|
417 | color: darken(@alert2,30%); | |
387 | } |
|
418 | } | |
388 | } |
|
419 | } | |
389 |
|
420 | |||
390 | &:disabled { |
|
421 | &:disabled { | |
391 | color: @alert2; |
|
422 | color: @alert2; | |
392 | background-color: white; |
|
423 | background-color: white; | |
393 | } |
|
424 | } | |
394 | } |
|
425 | } | |
395 | &.btn-danger-action { |
|
426 | &.btn-danger-action { | |
396 | .border ( @border-thickness, @alert2 ); |
|
427 | .border ( @border-thickness, @alert2 ); | |
397 | background-color: @alert2; |
|
428 | background-color: @alert2; | |
398 | color: white; |
|
429 | color: white; | |
399 |
|
430 | |||
400 | a { |
|
431 | a { | |
401 | color: white; |
|
432 | color: white; | |
402 | } |
|
433 | } | |
403 |
|
434 | |||
404 | &:hover { |
|
435 | &:hover { | |
405 | background-color: darken(@alert2,20%); |
|
436 | background-color: darken(@alert2,20%); | |
406 | } |
|
437 | } | |
407 |
|
438 | |||
408 | &.active { |
|
439 | &.active { | |
409 | .border ( @border-thickness, @alert2 ); |
|
440 | .border ( @border-thickness, @alert2 ); | |
410 | color: white; |
|
441 | color: white; | |
411 | background-color: @alert2; |
|
442 | background-color: @alert2; | |
412 |
|
443 | |||
413 | a { |
|
444 | a { | |
414 | color: white; |
|
445 | color: white; | |
415 | } |
|
446 | } | |
416 | } |
|
447 | } | |
417 |
|
448 | |||
418 | &:disabled { |
|
449 | &:disabled { | |
419 | background-color: white; |
|
450 | background-color: white; | |
420 | color: @alert2; |
|
451 | color: @alert2; | |
421 | } |
|
452 | } | |
422 | } |
|
453 | } | |
423 | } |
|
454 | } | |
424 |
|
455 | |||
425 |
|
456 | |||
426 | .button-links { |
|
457 | .button-links { | |
427 | float: left; |
|
458 | float: left; | |
428 | display: inline; |
|
459 | display: inline; | |
429 | margin: 0; |
|
460 | margin: 0; | |
430 | padding-left: 0; |
|
461 | padding-left: 0; | |
431 | list-style: none; |
|
462 | list-style: none; | |
432 | text-align: right; |
|
463 | text-align: right; | |
433 |
|
464 | |||
434 | li { |
|
465 | li { | |
435 |
|
466 | |||
436 |
|
467 | |||
437 | } |
|
468 | } | |
438 |
|
469 | |||
439 | li.active { |
|
470 | li.active { | |
440 | background-color: @grey6; |
|
471 | background-color: @grey6; | |
441 | .border ( @border-thickness, @grey4 ); |
|
472 | .border ( @border-thickness, @grey4 ); | |
442 | } |
|
473 | } | |
443 |
|
474 | |||
444 | } |
|
475 | } |
@@ -1,1271 +1,1284 b'' | |||||
1 | // Default styles |
|
1 | // Default styles | |
2 |
|
2 | |||
3 | .diff-collapse { |
|
3 | .diff-collapse { | |
4 | margin: @padding 0; |
|
4 | margin: @padding 0; | |
5 | text-align: right; |
|
5 | text-align: right; | |
6 | } |
|
6 | } | |
7 |
|
7 | |||
8 | .diff-container { |
|
8 | .diff-container { | |
9 | margin-bottom: @space; |
|
9 | margin-bottom: @space; | |
10 |
|
10 | |||
11 | .diffblock { |
|
11 | .diffblock { | |
12 | margin-bottom: @space; |
|
12 | margin-bottom: @space; | |
13 | } |
|
13 | } | |
14 |
|
14 | |||
15 | &.hidden { |
|
15 | &.hidden { | |
16 | display: none; |
|
16 | display: none; | |
17 | overflow: hidden; |
|
17 | overflow: hidden; | |
18 | } |
|
18 | } | |
19 | } |
|
19 | } | |
20 |
|
20 | |||
21 |
|
21 | |||
22 | div.diffblock .sidebyside { |
|
22 | div.diffblock .sidebyside { | |
23 | background: #ffffff; |
|
23 | background: #ffffff; | |
24 | } |
|
24 | } | |
25 |
|
25 | |||
26 | div.diffblock { |
|
26 | div.diffblock { | |
27 | overflow-x: auto; |
|
27 | overflow-x: auto; | |
28 | overflow-y: hidden; |
|
28 | overflow-y: hidden; | |
29 | clear: both; |
|
29 | clear: both; | |
30 | padding: 0px; |
|
30 | padding: 0px; | |
31 | background: @grey6; |
|
31 | background: @grey6; | |
32 | border: @border-thickness solid @grey5; |
|
32 | border: @border-thickness solid @grey5; | |
33 | -webkit-border-radius: @border-radius @border-radius 0px 0px; |
|
33 | -webkit-border-radius: @border-radius @border-radius 0px 0px; | |
34 | border-radius: @border-radius @border-radius 0px 0px; |
|
34 | border-radius: @border-radius @border-radius 0px 0px; | |
35 |
|
35 | |||
36 |
|
36 | |||
37 | .comments-number { |
|
37 | .comments-number { | |
38 | float: right; |
|
38 | float: right; | |
39 | } |
|
39 | } | |
40 |
|
40 | |||
41 | // BEGIN CODE-HEADER STYLES |
|
41 | // BEGIN CODE-HEADER STYLES | |
42 |
|
42 | |||
43 | .code-header { |
|
43 | .code-header { | |
44 | background: @grey6; |
|
44 | background: @grey6; | |
45 | padding: 10px 0 10px 0; |
|
45 | padding: 10px 0 10px 0; | |
46 | height: auto; |
|
46 | height: auto; | |
47 | width: 100%; |
|
47 | width: 100%; | |
48 |
|
48 | |||
49 | .hash { |
|
49 | .hash { | |
50 | float: left; |
|
50 | float: left; | |
51 | padding: 2px 0 0 2px; |
|
51 | padding: 2px 0 0 2px; | |
52 | } |
|
52 | } | |
53 |
|
53 | |||
54 | .date { |
|
54 | .date { | |
55 | float: left; |
|
55 | float: left; | |
56 | text-transform: uppercase; |
|
56 | text-transform: uppercase; | |
57 | padding: 4px 0px 0px 2px; |
|
57 | padding: 4px 0px 0px 2px; | |
58 | } |
|
58 | } | |
59 |
|
59 | |||
60 | div { |
|
60 | div { | |
61 | margin-left: 4px; |
|
61 | margin-left: 4px; | |
62 | } |
|
62 | } | |
63 |
|
63 | |||
64 | div.compare_header { |
|
64 | div.compare_header { | |
65 | min-height: 40px; |
|
65 | min-height: 40px; | |
66 | margin: 0; |
|
66 | margin: 0; | |
67 | padding: 0 @padding; |
|
67 | padding: 0 @padding; | |
68 |
|
68 | |||
69 | .drop-menu { |
|
69 | .drop-menu { | |
70 | float:left; |
|
70 | float:left; | |
71 | display: block; |
|
71 | display: block; | |
72 | margin:0 0 @padding 0; |
|
72 | margin:0 0 @padding 0; | |
73 | } |
|
73 | } | |
74 |
|
74 | |||
75 | .compare-label { |
|
75 | .compare-label { | |
76 | float: left; |
|
76 | float: left; | |
77 | clear: both; |
|
77 | clear: both; | |
78 | display: inline-block; |
|
78 | display: inline-block; | |
79 | min-width: 5em; |
|
79 | min-width: 5em; | |
80 | margin: 0; |
|
80 | margin: 0; | |
81 | padding: @button-padding @button-padding @button-padding 0; |
|
81 | padding: @button-padding @button-padding @button-padding 0; | |
82 | font-weight: @text-semibold-weight; |
|
82 | font-weight: @text-semibold-weight; | |
83 | font-family: @text-semibold; |
|
83 | font-family: @text-semibold; | |
84 | } |
|
84 | } | |
85 |
|
85 | |||
86 | .compare-buttons { |
|
86 | .compare-buttons { | |
87 | float: left; |
|
87 | float: left; | |
88 | margin: 0; |
|
88 | margin: 0; | |
89 | padding: 0 0 @padding; |
|
89 | padding: 0 0 @padding; | |
90 |
|
90 | |||
91 | .btn { |
|
91 | .btn { | |
92 | margin: 0 @padding 0 0; |
|
92 | margin: 0 @padding 0 0; | |
93 | } |
|
93 | } | |
94 | } |
|
94 | } | |
95 | } |
|
95 | } | |
96 |
|
96 | |||
97 | } |
|
97 | } | |
98 |
|
98 | |||
99 | .parents { |
|
99 | .parents { | |
100 | float: left; |
|
100 | float: left; | |
101 | width: 100px; |
|
101 | width: 100px; | |
102 | font-weight: 400; |
|
102 | font-weight: 400; | |
103 | vertical-align: middle; |
|
103 | vertical-align: middle; | |
104 | padding: 0px 2px 0px 2px; |
|
104 | padding: 0px 2px 0px 2px; | |
105 | background-color: @grey6; |
|
105 | background-color: @grey6; | |
106 |
|
106 | |||
107 | #parent_link { |
|
107 | #parent_link { | |
108 | margin: 00px 2px; |
|
108 | margin: 00px 2px; | |
109 |
|
109 | |||
110 | &.double { |
|
110 | &.double { | |
111 | margin: 0px 2px; |
|
111 | margin: 0px 2px; | |
112 | } |
|
112 | } | |
113 |
|
113 | |||
114 | &.disabled{ |
|
114 | &.disabled{ | |
115 | margin-right: @padding; |
|
115 | margin-right: @padding; | |
116 | } |
|
116 | } | |
117 | } |
|
117 | } | |
118 | } |
|
118 | } | |
119 |
|
119 | |||
120 | .children { |
|
120 | .children { | |
121 | float: right; |
|
121 | float: right; | |
122 | width: 100px; |
|
122 | width: 100px; | |
123 | font-weight: 400; |
|
123 | font-weight: 400; | |
124 | vertical-align: middle; |
|
124 | vertical-align: middle; | |
125 | text-align: right; |
|
125 | text-align: right; | |
126 | padding: 0px 2px 0px 2px; |
|
126 | padding: 0px 2px 0px 2px; | |
127 | background-color: @grey6; |
|
127 | background-color: @grey6; | |
128 |
|
128 | |||
129 | #child_link { |
|
129 | #child_link { | |
130 | margin: 0px 2px; |
|
130 | margin: 0px 2px; | |
131 |
|
131 | |||
132 | &.double { |
|
132 | &.double { | |
133 | margin: 0px 2px; |
|
133 | margin: 0px 2px; | |
134 | } |
|
134 | } | |
135 |
|
135 | |||
136 | &.disabled{ |
|
136 | &.disabled{ | |
137 | margin-right: @padding; |
|
137 | margin-right: @padding; | |
138 | } |
|
138 | } | |
139 | } |
|
139 | } | |
140 | } |
|
140 | } | |
141 |
|
141 | |||
142 | .changeset_header { |
|
142 | .changeset_header { | |
143 | height: 16px; |
|
143 | height: 16px; | |
144 |
|
144 | |||
145 | & > div{ |
|
145 | & > div{ | |
146 | margin-right: @padding; |
|
146 | margin-right: @padding; | |
147 | } |
|
147 | } | |
148 | } |
|
148 | } | |
149 |
|
149 | |||
150 | .changeset_file { |
|
150 | .changeset_file { | |
151 | text-align: left; |
|
151 | text-align: left; | |
152 | float: left; |
|
152 | float: left; | |
153 | padding: 0; |
|
153 | padding: 0; | |
154 |
|
154 | |||
155 | a{ |
|
155 | a{ | |
156 | display: inline-block; |
|
156 | display: inline-block; | |
157 | margin-right: 0.5em; |
|
157 | margin-right: 0.5em; | |
158 | } |
|
158 | } | |
159 |
|
159 | |||
160 | #selected_mode{ |
|
160 | #selected_mode{ | |
161 | margin-left: 0; |
|
161 | margin-left: 0; | |
162 | } |
|
162 | } | |
163 | } |
|
163 | } | |
164 |
|
164 | |||
165 | .diff-menu-wrapper { |
|
165 | .diff-menu-wrapper { | |
166 | float: left; |
|
166 | float: left; | |
167 | } |
|
167 | } | |
168 |
|
168 | |||
169 | .diff-menu { |
|
169 | .diff-menu { | |
170 | position: absolute; |
|
170 | position: absolute; | |
171 | background: none repeat scroll 0 0 #FFFFFF; |
|
171 | background: none repeat scroll 0 0 #FFFFFF; | |
172 | border-color: #003367 @grey3 @grey3; |
|
172 | border-color: #003367 @grey3 @grey3; | |
173 | border-right: 1px solid @grey3; |
|
173 | border-right: 1px solid @grey3; | |
174 | border-style: solid solid solid; |
|
174 | border-style: solid solid solid; | |
175 | border-width: @border-thickness; |
|
175 | border-width: @border-thickness; | |
176 | box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2); |
|
176 | box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2); | |
177 | margin-top: 5px; |
|
177 | margin-top: 5px; | |
178 | margin-left: 1px; |
|
178 | margin-left: 1px; | |
179 | } |
|
179 | } | |
180 |
|
180 | |||
181 | .diff-actions, .editor-actions { |
|
181 | .diff-actions, .editor-actions { | |
182 | float: left; |
|
182 | float: left; | |
183 |
|
183 | |||
184 | input{ |
|
184 | input{ | |
185 | margin: 0 0.5em 0 0; |
|
185 | margin: 0 0.5em 0 0; | |
186 | } |
|
186 | } | |
187 | } |
|
187 | } | |
188 |
|
188 | |||
189 | // END CODE-HEADER STYLES |
|
189 | // END CODE-HEADER STYLES | |
190 |
|
190 | |||
191 | // BEGIN CODE-BODY STYLES |
|
191 | // BEGIN CODE-BODY STYLES | |
192 |
|
192 | |||
193 | .code-body { |
|
193 | .code-body { | |
194 | padding: 0; |
|
194 | padding: 0; | |
195 | background-color: #ffffff; |
|
195 | background-color: #ffffff; | |
196 | position: relative; |
|
196 | position: relative; | |
197 | max-width: none; |
|
197 | max-width: none; | |
198 | box-sizing: border-box; |
|
198 | box-sizing: border-box; | |
199 | // TODO: johbo: Parent has overflow: auto, this forces the child here |
|
199 | // TODO: johbo: Parent has overflow: auto, this forces the child here | |
200 | // to have the intended size and to scroll. Should be simplified. |
|
200 | // to have the intended size and to scroll. Should be simplified. | |
201 | width: 100%; |
|
201 | width: 100%; | |
202 | overflow-x: auto; |
|
202 | overflow-x: auto; | |
203 | } |
|
203 | } | |
204 |
|
204 | |||
205 | pre.raw { |
|
205 | pre.raw { | |
206 | background: white; |
|
206 | background: white; | |
207 | color: @grey1; |
|
207 | color: @grey1; | |
208 | } |
|
208 | } | |
209 | // END CODE-BODY STYLES |
|
209 | // END CODE-BODY STYLES | |
210 |
|
210 | |||
211 | } |
|
211 | } | |
212 |
|
212 | |||
213 |
|
213 | |||
214 | table.code-difftable { |
|
214 | table.code-difftable { | |
215 | border-collapse: collapse; |
|
215 | border-collapse: collapse; | |
216 | width: 99%; |
|
216 | width: 99%; | |
217 | border-radius: 0px !important; |
|
217 | border-radius: 0px !important; | |
218 |
|
218 | |||
219 | td { |
|
219 | td { | |
220 | padding: 0 !important; |
|
220 | padding: 0 !important; | |
221 | background: none !important; |
|
221 | background: none !important; | |
222 | border: 0 !important; |
|
222 | border: 0 !important; | |
223 | } |
|
223 | } | |
224 |
|
224 | |||
225 | .context { |
|
225 | .context { | |
226 | background: none repeat scroll 0 0 #DDE7EF; |
|
226 | background: none repeat scroll 0 0 #DDE7EF; | |
227 | } |
|
227 | } | |
228 |
|
228 | |||
229 | .add { |
|
229 | .add { | |
230 | background: none repeat scroll 0 0 #DDFFDD; |
|
230 | background: none repeat scroll 0 0 #DDFFDD; | |
231 |
|
231 | |||
232 | ins { |
|
232 | ins { | |
233 | background: none repeat scroll 0 0 #AAFFAA; |
|
233 | background: none repeat scroll 0 0 #AAFFAA; | |
234 | text-decoration: none; |
|
234 | text-decoration: none; | |
235 | } |
|
235 | } | |
236 | } |
|
236 | } | |
237 |
|
237 | |||
238 | .del { |
|
238 | .del { | |
239 | background: none repeat scroll 0 0 #FFDDDD; |
|
239 | background: none repeat scroll 0 0 #FFDDDD; | |
240 |
|
240 | |||
241 | del { |
|
241 | del { | |
242 | background: none repeat scroll 0 0 #FFAAAA; |
|
242 | background: none repeat scroll 0 0 #FFAAAA; | |
243 | text-decoration: none; |
|
243 | text-decoration: none; | |
244 | } |
|
244 | } | |
245 | } |
|
245 | } | |
246 |
|
246 | |||
247 | /** LINE NUMBERS **/ |
|
247 | /** LINE NUMBERS **/ | |
248 | .lineno { |
|
248 | .lineno { | |
249 | padding-left: 2px !important; |
|
249 | padding-left: 2px !important; | |
250 | padding-right: 2px; |
|
250 | padding-right: 2px; | |
251 | text-align: right; |
|
251 | text-align: right; | |
252 | width: 32px; |
|
252 | width: 32px; | |
253 | -moz-user-select: none; |
|
253 | -moz-user-select: none; | |
254 | -webkit-user-select: none; |
|
254 | -webkit-user-select: none; | |
255 | border-right: @border-thickness solid @grey5 !important; |
|
255 | border-right: @border-thickness solid @grey5 !important; | |
256 | border-left: 0px solid #CCC !important; |
|
256 | border-left: 0px solid #CCC !important; | |
257 | border-top: 0px solid #CCC !important; |
|
257 | border-top: 0px solid #CCC !important; | |
258 | border-bottom: none !important; |
|
258 | border-bottom: none !important; | |
259 |
|
259 | |||
260 | a { |
|
260 | a { | |
261 | &:extend(pre); |
|
261 | &:extend(pre); | |
262 | text-align: right; |
|
262 | text-align: right; | |
263 | padding-right: 2px; |
|
263 | padding-right: 2px; | |
264 | cursor: pointer; |
|
264 | cursor: pointer; | |
265 | display: block; |
|
265 | display: block; | |
266 | width: 32px; |
|
266 | width: 32px; | |
267 | } |
|
267 | } | |
268 | } |
|
268 | } | |
269 |
|
269 | |||
270 | .context { |
|
270 | .context { | |
271 | cursor: auto; |
|
271 | cursor: auto; | |
272 | &:extend(pre); |
|
272 | &:extend(pre); | |
273 | } |
|
273 | } | |
274 |
|
274 | |||
275 | .lineno-inline { |
|
275 | .lineno-inline { | |
276 | background: none repeat scroll 0 0 #FFF !important; |
|
276 | background: none repeat scroll 0 0 #FFF !important; | |
277 | padding-left: 2px; |
|
277 | padding-left: 2px; | |
278 | padding-right: 2px; |
|
278 | padding-right: 2px; | |
279 | text-align: right; |
|
279 | text-align: right; | |
280 | width: 30px; |
|
280 | width: 30px; | |
281 | -moz-user-select: none; |
|
281 | -moz-user-select: none; | |
282 | -webkit-user-select: none; |
|
282 | -webkit-user-select: none; | |
283 | } |
|
283 | } | |
284 |
|
284 | |||
285 | /** CODE **/ |
|
285 | /** CODE **/ | |
286 | .code { |
|
286 | .code { | |
287 | display: block; |
|
287 | display: block; | |
288 | width: 100%; |
|
288 | width: 100%; | |
289 |
|
289 | |||
290 | td { |
|
290 | td { | |
291 | margin: 0; |
|
291 | margin: 0; | |
292 | padding: 0; |
|
292 | padding: 0; | |
293 | } |
|
293 | } | |
294 |
|
294 | |||
295 | pre { |
|
295 | pre { | |
296 | margin: 0; |
|
296 | margin: 0; | |
297 | padding: 0; |
|
297 | padding: 0; | |
298 | margin-left: .5em; |
|
298 | margin-left: .5em; | |
299 | } |
|
299 | } | |
300 | } |
|
300 | } | |
301 | } |
|
301 | } | |
302 |
|
302 | |||
303 |
|
303 | |||
304 | // Comments |
|
304 | // Comments | |
305 |
|
305 | |||
306 | div.comment:target { |
|
306 | div.comment:target { | |
307 | border-left: 6px solid @comment-highlight-color !important; |
|
307 | border-left: 6px solid @comment-highlight-color !important; | |
308 | padding-left: 3px; |
|
308 | padding-left: 3px; | |
309 | margin-left: -9px; |
|
309 | margin-left: -9px; | |
310 | } |
|
310 | } | |
311 |
|
311 | |||
312 | //TODO: anderson: can't get an absolute number out of anything, so had to put the |
|
312 | //TODO: anderson: can't get an absolute number out of anything, so had to put the | |
313 | //current values that might change. But to make it clear I put as a calculation |
|
313 | //current values that might change. But to make it clear I put as a calculation | |
314 | @comment-max-width: 1065px; |
|
314 | @comment-max-width: 1065px; | |
315 | @pr-extra-margin: 34px; |
|
315 | @pr-extra-margin: 34px; | |
316 | @pr-border-spacing: 4px; |
|
316 | @pr-border-spacing: 4px; | |
317 | @pr-comment-width: @comment-max-width - @pr-extra-margin - @pr-border-spacing; |
|
317 | @pr-comment-width: @comment-max-width - @pr-extra-margin - @pr-border-spacing; | |
318 |
|
318 | |||
319 | // Pull Request |
|
319 | // Pull Request | |
320 | .cs_files .code-difftable { |
|
320 | .cs_files .code-difftable { | |
321 | border: @border-thickness solid @grey5; //borders only on PRs |
|
321 | border: @border-thickness solid @grey5; //borders only on PRs | |
322 |
|
322 | |||
323 | .comment-inline-form, |
|
323 | .comment-inline-form, | |
324 | div.comment { |
|
324 | div.comment { | |
325 | width: @pr-comment-width; |
|
325 | width: @pr-comment-width; | |
326 | } |
|
326 | } | |
327 | } |
|
327 | } | |
328 |
|
328 | |||
329 | // Changeset |
|
329 | // Changeset | |
330 | .code-difftable { |
|
330 | .code-difftable { | |
331 | .comment-inline-form, |
|
331 | .comment-inline-form, | |
332 | div.comment { |
|
332 | div.comment { | |
333 | width: @comment-max-width; |
|
333 | width: @comment-max-width; | |
334 | } |
|
334 | } | |
335 | } |
|
335 | } | |
336 |
|
336 | |||
337 | //Style page |
|
337 | //Style page | |
338 | @style-extra-margin: @sidebar-width + (@sidebarpadding * 3) + @padding; |
|
338 | @style-extra-margin: @sidebar-width + (@sidebarpadding * 3) + @padding; | |
339 | #style-page .code-difftable{ |
|
339 | #style-page .code-difftable{ | |
340 | .comment-inline-form, |
|
340 | .comment-inline-form, | |
341 | div.comment { |
|
341 | div.comment { | |
342 | width: @comment-max-width - @style-extra-margin; |
|
342 | width: @comment-max-width - @style-extra-margin; | |
343 | } |
|
343 | } | |
344 | } |
|
344 | } | |
345 |
|
345 | |||
346 | #context-bar > h2 { |
|
346 | #context-bar > h2 { | |
347 | font-size: 20px; |
|
347 | font-size: 20px; | |
348 | } |
|
348 | } | |
349 |
|
349 | |||
350 | #context-bar > h2> a { |
|
350 | #context-bar > h2> a { | |
351 | font-size: 20px; |
|
351 | font-size: 20px; | |
352 | } |
|
352 | } | |
353 | // end of defaults |
|
353 | // end of defaults | |
354 |
|
354 | |||
355 | .file_diff_buttons { |
|
355 | .file_diff_buttons { | |
356 | padding: 0 0 @padding; |
|
356 | padding: 0 0 @padding; | |
357 |
|
357 | |||
358 | .drop-menu { |
|
358 | .drop-menu { | |
359 | float: left; |
|
359 | float: left; | |
360 | margin: 0 @padding 0 0; |
|
360 | margin: 0 @padding 0 0; | |
361 | } |
|
361 | } | |
362 | .btn { |
|
362 | .btn { | |
363 | margin: 0 @padding 0 0; |
|
363 | margin: 0 @padding 0 0; | |
364 | } |
|
364 | } | |
365 | } |
|
365 | } | |
366 |
|
366 | |||
367 | .code-body.textarea.editor { |
|
367 | .code-body.textarea.editor { | |
368 | max-width: none; |
|
368 | max-width: none; | |
369 | padding: 15px; |
|
369 | padding: 15px; | |
370 | } |
|
370 | } | |
371 |
|
371 | |||
372 | td.injected_diff{ |
|
372 | td.injected_diff{ | |
373 | max-width: 1178px; |
|
373 | max-width: 1178px; | |
374 | overflow-x: auto; |
|
374 | overflow-x: auto; | |
375 | overflow-y: hidden; |
|
375 | overflow-y: hidden; | |
376 |
|
376 | |||
377 | div.diff-container, |
|
377 | div.diff-container, | |
378 | div.diffblock{ |
|
378 | div.diffblock{ | |
379 | max-width: 100%; |
|
379 | max-width: 100%; | |
380 | } |
|
380 | } | |
381 |
|
381 | |||
382 | div.code-body { |
|
382 | div.code-body { | |
383 | max-width: 1124px; |
|
383 | max-width: 1124px; | |
384 | overflow-x: auto; |
|
384 | overflow-x: auto; | |
385 | overflow-y: hidden; |
|
385 | overflow-y: hidden; | |
386 | padding: 0; |
|
386 | padding: 0; | |
387 | } |
|
387 | } | |
388 | div.diffblock { |
|
388 | div.diffblock { | |
389 | border: none; |
|
389 | border: none; | |
390 | } |
|
390 | } | |
391 |
|
391 | |||
392 | &.inline-form { |
|
392 | &.inline-form { | |
393 | width: 99% |
|
393 | width: 99% | |
394 | } |
|
394 | } | |
395 | } |
|
395 | } | |
396 |
|
396 | |||
397 |
|
397 | |||
398 | table.code-difftable { |
|
398 | table.code-difftable { | |
399 | width: 100%; |
|
399 | width: 100%; | |
400 | } |
|
400 | } | |
401 |
|
401 | |||
402 | /** PYGMENTS COLORING **/ |
|
402 | /** PYGMENTS COLORING **/ | |
403 | div.codeblock { |
|
403 | div.codeblock { | |
404 |
|
404 | |||
405 | // TODO: johbo: Added interim to get rid of the margin around |
|
405 | // TODO: johbo: Added interim to get rid of the margin around | |
406 | // Select2 widgets. This needs further cleanup. |
|
406 | // Select2 widgets. This needs further cleanup. | |
407 | overflow: auto; |
|
407 | overflow: auto; | |
408 | padding: 0px; |
|
408 | padding: 0px; | |
409 | border: @border-thickness solid @grey6; |
|
409 | border: @border-thickness solid @grey6; | |
410 | .border-radius(@border-radius); |
|
410 | .border-radius(@border-radius); | |
411 |
|
411 | |||
412 | #remove_gist { |
|
412 | #remove_gist { | |
413 | float: right; |
|
413 | float: right; | |
414 | } |
|
414 | } | |
415 |
|
415 | |||
416 | .gist_url { |
|
416 | .gist_url { | |
417 | padding: 0px 0px 10px 0px; |
|
417 | padding: 0px 0px 10px 0px; | |
418 | } |
|
418 | } | |
419 |
|
419 | |||
420 | .author { |
|
420 | .author { | |
421 | clear: both; |
|
421 | clear: both; | |
422 | vertical-align: middle; |
|
422 | vertical-align: middle; | |
423 | font-weight: @text-bold-weight; |
|
423 | font-weight: @text-bold-weight; | |
424 | font-family: @text-bold; |
|
424 | font-family: @text-bold; | |
425 | } |
|
425 | } | |
426 |
|
426 | |||
427 | .btn-mini { |
|
427 | .btn-mini { | |
428 | float: left; |
|
428 | float: left; | |
429 | margin: 0 5px 0 0; |
|
429 | margin: 0 5px 0 0; | |
430 | } |
|
430 | } | |
431 |
|
431 | |||
432 | .code-header { |
|
432 | .code-header { | |
433 | padding: @padding; |
|
433 | padding: @padding; | |
434 | border-bottom: @border-thickness solid @grey5; |
|
434 | border-bottom: @border-thickness solid @grey5; | |
435 |
|
435 | |||
436 | .rc-user { |
|
436 | .rc-user { | |
437 | min-width: 0; |
|
437 | min-width: 0; | |
438 | margin-right: .5em; |
|
438 | margin-right: .5em; | |
439 | } |
|
439 | } | |
440 |
|
440 | |||
441 | .stats { |
|
441 | .stats { | |
442 | clear: both; |
|
442 | clear: both; | |
443 | margin: 0 0 @padding 0; |
|
443 | margin: 0 0 @padding 0; | |
444 | padding: 0; |
|
444 | padding: 0; | |
445 | .left { |
|
445 | .left { | |
446 | float: left; |
|
446 | float: left; | |
447 | clear: left; |
|
447 | clear: left; | |
448 | max-width: 75%; |
|
448 | max-width: 75%; | |
449 | margin: 0 0 @padding 0; |
|
449 | margin: 0 0 @padding 0; | |
450 |
|
450 | |||
451 | &.item { |
|
451 | &.item { | |
452 | margin-right: @padding; |
|
452 | margin-right: @padding; | |
453 | &.last { border-right: none; } |
|
453 | &.last { border-right: none; } | |
454 | } |
|
454 | } | |
455 | } |
|
455 | } | |
456 | .buttons { float: right; } |
|
456 | .buttons { float: right; } | |
457 | .author { |
|
457 | .author { | |
458 | height: 25px; margin-left: 15px; font-weight: bold; |
|
458 | height: 25px; margin-left: 15px; font-weight: bold; | |
459 | } |
|
459 | } | |
460 | } |
|
460 | } | |
461 |
|
461 | |||
462 | .commit { |
|
462 | .commit { | |
463 | margin: 5px 0 0 26px; |
|
463 | margin: 5px 0 0 26px; | |
464 | font-weight: normal; |
|
464 | font-weight: normal; | |
465 | white-space: pre-wrap; |
|
465 | white-space: pre-wrap; | |
466 | } |
|
466 | } | |
467 | } |
|
467 | } | |
468 |
|
468 | |||
469 | .message { |
|
469 | .message { | |
470 | position: relative; |
|
470 | position: relative; | |
471 | margin: @padding; |
|
471 | margin: @padding; | |
472 |
|
472 | |||
473 | .codeblock-label { |
|
473 | .codeblock-label { | |
474 | margin: 0 0 1em 0; |
|
474 | margin: 0 0 1em 0; | |
475 | } |
|
475 | } | |
476 | } |
|
476 | } | |
477 |
|
477 | |||
478 | .code-body { |
|
478 | .code-body { | |
479 | padding: 0.8em 1em; |
|
479 | padding: 0.8em 1em; | |
480 | background-color: #ffffff; |
|
480 | background-color: #ffffff; | |
481 | min-width: 100%; |
|
481 | min-width: 100%; | |
482 | box-sizing: border-box; |
|
482 | box-sizing: border-box; | |
483 | // TODO: johbo: Parent has overflow: auto, this forces the child here |
|
483 | // TODO: johbo: Parent has overflow: auto, this forces the child here | |
484 | // to have the intended size and to scroll. Should be simplified. |
|
484 | // to have the intended size and to scroll. Should be simplified. | |
485 | width: 100%; |
|
485 | width: 100%; | |
486 | overflow-x: auto; |
|
486 | overflow-x: auto; | |
487 |
|
487 | |||
488 | img.rendered-binary { |
|
488 | img.rendered-binary { | |
489 | height: auto; |
|
489 | height: auto; | |
490 | width: 100%; |
|
490 | width: 100%; | |
491 | } |
|
491 | } | |
492 |
|
492 | |||
493 | .markdown-block { |
|
493 | .markdown-block { | |
494 | padding: 1em 0; |
|
494 | padding: 1em 0; | |
495 | } |
|
495 | } | |
496 | } |
|
496 | } | |
497 |
|
497 | |||
498 | .codeblock-header { |
|
498 | .codeblock-header { | |
499 | background: @grey7; |
|
499 | background: @grey7; | |
500 | height: 36px; |
|
500 | height: 36px; | |
501 | } |
|
501 | } | |
502 |
|
502 | |||
503 | .path { |
|
503 | .path { | |
504 | border-bottom: 1px solid @grey6; |
|
504 | border-bottom: 1px solid @grey6; | |
505 | padding: .65em 1em; |
|
505 | padding: .65em 1em; | |
506 | height: 18px; |
|
506 | height: 18px; | |
507 | } |
|
507 | } | |
508 | } |
|
508 | } | |
509 |
|
509 | |||
510 | .code-highlighttable, |
|
510 | .code-highlighttable, | |
511 | div.codeblock { |
|
511 | div.codeblock { | |
512 |
|
512 | |||
513 | &.readme { |
|
513 | &.readme { | |
514 | background-color: white; |
|
514 | background-color: white; | |
515 | } |
|
515 | } | |
516 |
|
516 | |||
517 | .markdown-block table { |
|
517 | .markdown-block table { | |
518 | border-collapse: collapse; |
|
518 | border-collapse: collapse; | |
519 |
|
519 | |||
520 | th, |
|
520 | th, | |
521 | td { |
|
521 | td { | |
522 | padding: .5em; |
|
522 | padding: .5em; | |
523 | border: @border-thickness solid @border-default-color; |
|
523 | border: @border-thickness solid @border-default-color; | |
524 | } |
|
524 | } | |
525 | } |
|
525 | } | |
526 |
|
526 | |||
527 | table { |
|
527 | table { | |
528 | border: 0px; |
|
528 | border: 0px; | |
529 | margin: 0; |
|
529 | margin: 0; | |
530 | letter-spacing: normal; |
|
530 | letter-spacing: normal; | |
531 |
|
531 | |||
532 |
|
532 | |||
533 | td { |
|
533 | td { | |
534 | border: 0px; |
|
534 | border: 0px; | |
535 | vertical-align: top; |
|
535 | vertical-align: top; | |
536 | } |
|
536 | } | |
537 | } |
|
537 | } | |
538 | } |
|
538 | } | |
539 |
|
539 | |||
540 | div.codeblock .code-header .search-path { padding: 0 0 0 10px; } |
|
540 | div.codeblock .code-header .search-path { padding: 0 0 0 10px; } | |
541 | div.search-code-body { |
|
541 | div.search-code-body { | |
542 | background-color: #ffffff; padding: 5px 0 5px 10px; |
|
542 | background-color: #ffffff; padding: 5px 0 5px 10px; | |
543 | pre { |
|
543 | pre { | |
544 | .match { background-color: #faffa6;} |
|
544 | .match { background-color: #faffa6;} | |
545 | .break { display: block; width: 100%; background-color: #DDE7EF; color: #747474; } |
|
545 | .break { display: block; width: 100%; background-color: #DDE7EF; color: #747474; } | |
546 | } |
|
546 | } | |
547 | .code-highlighttable { |
|
547 | .code-highlighttable { | |
548 | border-collapse: collapse; |
|
548 | border-collapse: collapse; | |
549 |
|
549 | |||
550 | tr:hover { |
|
550 | tr:hover { | |
551 | background: #fafafa; |
|
551 | background: #fafafa; | |
552 | } |
|
552 | } | |
553 | td.code { |
|
553 | td.code { | |
554 | padding-left: 10px; |
|
554 | padding-left: 10px; | |
555 | } |
|
555 | } | |
556 | td.line { |
|
556 | td.line { | |
557 | border-right: 1px solid #ccc !important; |
|
557 | border-right: 1px solid #ccc !important; | |
558 | padding-right: 10px; |
|
558 | padding-right: 10px; | |
559 | text-align: right; |
|
559 | text-align: right; | |
560 | font-family: @text-monospace; |
|
560 | font-family: @text-monospace; | |
561 | span { |
|
561 | span { | |
562 | white-space: pre-wrap; |
|
562 | white-space: pre-wrap; | |
563 | color: #666666; |
|
563 | color: #666666; | |
564 | } |
|
564 | } | |
565 | } |
|
565 | } | |
566 | } |
|
566 | } | |
567 | } |
|
567 | } | |
568 |
|
568 | |||
569 | div.annotatediv { margin-left: 2px; margin-right: 4px; } |
|
569 | div.annotatediv { margin-left: 2px; margin-right: 4px; } | |
570 | .code-highlight { |
|
570 | .code-highlight { | |
571 | margin: 0; padding: 0; border-left: @border-thickness solid @grey5; |
|
571 | margin: 0; padding: 0; border-left: @border-thickness solid @grey5; | |
572 | pre, .linenodiv pre { padding: 0 5px; margin: 0; } |
|
572 | pre, .linenodiv pre { padding: 0 5px; margin: 0; } | |
573 | pre div:target {background-color: @comment-highlight-color !important;} |
|
573 | pre div:target {background-color: @comment-highlight-color !important;} | |
574 | } |
|
574 | } | |
575 |
|
575 | |||
576 | .linenos a { text-decoration: none; } |
|
576 | .linenos a { text-decoration: none; } | |
577 |
|
577 | |||
578 | .CodeMirror-selected { background: @rchighlightblue; } |
|
578 | .CodeMirror-selected { background: @rchighlightblue; } | |
579 | .CodeMirror-focused .CodeMirror-selected { background: @rchighlightblue; } |
|
579 | .CodeMirror-focused .CodeMirror-selected { background: @rchighlightblue; } | |
580 | .CodeMirror ::selection { background: @rchighlightblue; } |
|
580 | .CodeMirror ::selection { background: @rchighlightblue; } | |
581 | .CodeMirror ::-moz-selection { background: @rchighlightblue; } |
|
581 | .CodeMirror ::-moz-selection { background: @rchighlightblue; } | |
582 |
|
582 | |||
583 | .code { display: block; border:0px !important; } |
|
583 | .code { display: block; border:0px !important; } | |
584 | .code-highlight, /* TODO: dan: merge codehilite into code-highlight */ |
|
584 | .code-highlight, /* TODO: dan: merge codehilite into code-highlight */ | |
585 | /* This can be generated with `pygmentize -S default -f html` */ |
|
585 | /* This can be generated with `pygmentize -S default -f html` */ | |
586 | .codehilite { |
|
586 | .codehilite { | |
587 | .c-ElasticMatch { background-color: #faffa6; padding: 0.2em;} |
|
587 | .c-ElasticMatch { background-color: #faffa6; padding: 0.2em;} | |
588 | .hll { background-color: #ffffcc } |
|
588 | .hll { background-color: #ffffcc } | |
589 | .c { color: #408080; font-style: italic } /* Comment */ |
|
589 | .c { color: #408080; font-style: italic } /* Comment */ | |
590 | .err, .codehilite .err { border: none } /* Error */ |
|
590 | .err, .codehilite .err { border: none } /* Error */ | |
591 | .k { color: #008000; font-weight: bold } /* Keyword */ |
|
591 | .k { color: #008000; font-weight: bold } /* Keyword */ | |
592 | .o { color: #666666 } /* Operator */ |
|
592 | .o { color: #666666 } /* Operator */ | |
593 | .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ |
|
593 | .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ | |
594 | .cm { color: #408080; font-style: italic } /* Comment.Multiline */ |
|
594 | .cm { color: #408080; font-style: italic } /* Comment.Multiline */ | |
595 | .cp { color: #BC7A00 } /* Comment.Preproc */ |
|
595 | .cp { color: #BC7A00 } /* Comment.Preproc */ | |
596 | .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ |
|
596 | .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ | |
597 | .c1 { color: #408080; font-style: italic } /* Comment.Single */ |
|
597 | .c1 { color: #408080; font-style: italic } /* Comment.Single */ | |
598 | .cs { color: #408080; font-style: italic } /* Comment.Special */ |
|
598 | .cs { color: #408080; font-style: italic } /* Comment.Special */ | |
599 | .gd { color: #A00000 } /* Generic.Deleted */ |
|
599 | .gd { color: #A00000 } /* Generic.Deleted */ | |
600 | .ge { font-style: italic } /* Generic.Emph */ |
|
600 | .ge { font-style: italic } /* Generic.Emph */ | |
601 | .gr { color: #FF0000 } /* Generic.Error */ |
|
601 | .gr { color: #FF0000 } /* Generic.Error */ | |
602 | .gh { color: #000080; font-weight: bold } /* Generic.Heading */ |
|
602 | .gh { color: #000080; font-weight: bold } /* Generic.Heading */ | |
603 | .gi { color: #00A000 } /* Generic.Inserted */ |
|
603 | .gi { color: #00A000 } /* Generic.Inserted */ | |
604 | .go { color: #888888 } /* Generic.Output */ |
|
604 | .go { color: #888888 } /* Generic.Output */ | |
605 | .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ |
|
605 | .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ | |
606 | .gs { font-weight: bold } /* Generic.Strong */ |
|
606 | .gs { font-weight: bold } /* Generic.Strong */ | |
607 | .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ |
|
607 | .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ | |
608 | .gt { color: #0044DD } /* Generic.Traceback */ |
|
608 | .gt { color: #0044DD } /* Generic.Traceback */ | |
609 | .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ |
|
609 | .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ | |
610 | .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ |
|
610 | .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ | |
611 | .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ |
|
611 | .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ | |
612 | .kp { color: #008000 } /* Keyword.Pseudo */ |
|
612 | .kp { color: #008000 } /* Keyword.Pseudo */ | |
613 | .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ |
|
613 | .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ | |
614 | .kt { color: #B00040 } /* Keyword.Type */ |
|
614 | .kt { color: #B00040 } /* Keyword.Type */ | |
615 | .m { color: #666666 } /* Literal.Number */ |
|
615 | .m { color: #666666 } /* Literal.Number */ | |
616 | .s { color: #BA2121 } /* Literal.String */ |
|
616 | .s { color: #BA2121 } /* Literal.String */ | |
617 | .na { color: #7D9029 } /* Name.Attribute */ |
|
617 | .na { color: #7D9029 } /* Name.Attribute */ | |
618 | .nb { color: #008000 } /* Name.Builtin */ |
|
618 | .nb { color: #008000 } /* Name.Builtin */ | |
619 | .nc { color: #0000FF; font-weight: bold } /* Name.Class */ |
|
619 | .nc { color: #0000FF; font-weight: bold } /* Name.Class */ | |
620 | .no { color: #880000 } /* Name.Constant */ |
|
620 | .no { color: #880000 } /* Name.Constant */ | |
621 | .nd { color: #AA22FF } /* Name.Decorator */ |
|
621 | .nd { color: #AA22FF } /* Name.Decorator */ | |
622 | .ni { color: #999999; font-weight: bold } /* Name.Entity */ |
|
622 | .ni { color: #999999; font-weight: bold } /* Name.Entity */ | |
623 | .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ |
|
623 | .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ | |
624 | .nf { color: #0000FF } /* Name.Function */ |
|
624 | .nf { color: #0000FF } /* Name.Function */ | |
625 | .nl { color: #A0A000 } /* Name.Label */ |
|
625 | .nl { color: #A0A000 } /* Name.Label */ | |
626 | .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ |
|
626 | .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ | |
627 | .nt { color: #008000; font-weight: bold } /* Name.Tag */ |
|
627 | .nt { color: #008000; font-weight: bold } /* Name.Tag */ | |
628 | .nv { color: #19177C } /* Name.Variable */ |
|
628 | .nv { color: #19177C } /* Name.Variable */ | |
629 | .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ |
|
629 | .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ | |
630 | .w { color: #bbbbbb } /* Text.Whitespace */ |
|
630 | .w { color: #bbbbbb } /* Text.Whitespace */ | |
631 | .mb { color: #666666 } /* Literal.Number.Bin */ |
|
631 | .mb { color: #666666 } /* Literal.Number.Bin */ | |
632 | .mf { color: #666666 } /* Literal.Number.Float */ |
|
632 | .mf { color: #666666 } /* Literal.Number.Float */ | |
633 | .mh { color: #666666 } /* Literal.Number.Hex */ |
|
633 | .mh { color: #666666 } /* Literal.Number.Hex */ | |
634 | .mi { color: #666666 } /* Literal.Number.Integer */ |
|
634 | .mi { color: #666666 } /* Literal.Number.Integer */ | |
635 | .mo { color: #666666 } /* Literal.Number.Oct */ |
|
635 | .mo { color: #666666 } /* Literal.Number.Oct */ | |
636 | .sa { color: #BA2121 } /* Literal.String.Affix */ |
|
636 | .sa { color: #BA2121 } /* Literal.String.Affix */ | |
637 | .sb { color: #BA2121 } /* Literal.String.Backtick */ |
|
637 | .sb { color: #BA2121 } /* Literal.String.Backtick */ | |
638 | .sc { color: #BA2121 } /* Literal.String.Char */ |
|
638 | .sc { color: #BA2121 } /* Literal.String.Char */ | |
639 | .dl { color: #BA2121 } /* Literal.String.Delimiter */ |
|
639 | .dl { color: #BA2121 } /* Literal.String.Delimiter */ | |
640 | .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ |
|
640 | .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ | |
641 | .s2 { color: #BA2121 } /* Literal.String.Double */ |
|
641 | .s2 { color: #BA2121 } /* Literal.String.Double */ | |
642 | .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ |
|
642 | .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ | |
643 | .sh { color: #BA2121 } /* Literal.String.Heredoc */ |
|
643 | .sh { color: #BA2121 } /* Literal.String.Heredoc */ | |
644 | .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ |
|
644 | .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ | |
645 | .sx { color: #008000 } /* Literal.String.Other */ |
|
645 | .sx { color: #008000 } /* Literal.String.Other */ | |
646 | .sr { color: #BB6688 } /* Literal.String.Regex */ |
|
646 | .sr { color: #BB6688 } /* Literal.String.Regex */ | |
647 | .s1 { color: #BA2121 } /* Literal.String.Single */ |
|
647 | .s1 { color: #BA2121 } /* Literal.String.Single */ | |
648 | .ss { color: #19177C } /* Literal.String.Symbol */ |
|
648 | .ss { color: #19177C } /* Literal.String.Symbol */ | |
649 | .bp { color: #008000 } /* Name.Builtin.Pseudo */ |
|
649 | .bp { color: #008000 } /* Name.Builtin.Pseudo */ | |
650 | .fm { color: #0000FF } /* Name.Function.Magic */ |
|
650 | .fm { color: #0000FF } /* Name.Function.Magic */ | |
651 | .vc { color: #19177C } /* Name.Variable.Class */ |
|
651 | .vc { color: #19177C } /* Name.Variable.Class */ | |
652 | .vg { color: #19177C } /* Name.Variable.Global */ |
|
652 | .vg { color: #19177C } /* Name.Variable.Global */ | |
653 | .vi { color: #19177C } /* Name.Variable.Instance */ |
|
653 | .vi { color: #19177C } /* Name.Variable.Instance */ | |
654 | .vm { color: #19177C } /* Name.Variable.Magic */ |
|
654 | .vm { color: #19177C } /* Name.Variable.Magic */ | |
655 | .il { color: #666666 } /* Literal.Number.Integer.Long */ |
|
655 | .il { color: #666666 } /* Literal.Number.Integer.Long */ | |
656 |
|
656 | |||
657 | } |
|
657 | } | |
658 |
|
658 | |||
659 | /* customized pre blocks for markdown/rst */ |
|
659 | /* customized pre blocks for markdown/rst */ | |
660 | pre.literal-block, .codehilite pre{ |
|
660 | pre.literal-block, .codehilite pre{ | |
661 | padding: @padding; |
|
661 | padding: @padding; | |
662 | border: 1px solid @grey6; |
|
662 | border: 1px solid @grey6; | |
663 | .border-radius(@border-radius); |
|
663 | .border-radius(@border-radius); | |
664 | background-color: @grey7; |
|
664 | background-color: @grey7; | |
665 | } |
|
665 | } | |
666 |
|
666 | |||
667 |
|
667 | |||
668 | /* START NEW CODE BLOCK CSS */ |
|
668 | /* START NEW CODE BLOCK CSS */ | |
669 |
|
669 | |||
670 | @cb-line-height: 18px; |
|
670 | @cb-line-height: 18px; | |
671 | @cb-line-code-padding: 10px; |
|
671 | @cb-line-code-padding: 10px; | |
672 | @cb-text-padding: 5px; |
|
672 | @cb-text-padding: 5px; | |
673 |
|
673 | |||
674 | @pill-padding: 2px 7px; |
|
674 | @pill-padding: 2px 7px; | |
675 | @pill-padding-small: 2px 2px 1px 2px; |
|
675 | @pill-padding-small: 2px 2px 1px 2px; | |
676 |
|
676 | |||
677 | input.filediff-collapse-state { |
|
677 | input.filediff-collapse-state { | |
678 | display: none; |
|
678 | display: none; | |
679 |
|
679 | |||
680 | &:checked + .filediff { /* file diff is collapsed */ |
|
680 | &:checked + .filediff { /* file diff is collapsed */ | |
681 | .cb { |
|
681 | .cb { | |
682 | display: none |
|
682 | display: none | |
683 | } |
|
683 | } | |
684 | .filediff-collapse-indicator { |
|
684 | .filediff-collapse-indicator { | |
685 |
|
|
685 | float: left; | |
686 |
|
|
686 | cursor: pointer; | |
687 | border-style: solid; |
|
687 | margin: 1px -5px; | |
688 | border-width: 4.5px 0 4.5px 9.3px; |
|
|||
689 | border-color: transparent transparent transparent #aaa; |
|
|||
690 | margin: 6px 0px; |
|
|||
691 | } |
|
688 | } | |
|
689 | .filediff-collapse-indicator:before { | |||
|
690 | content: '\f105'; | |||
|
691 | } | |||
|
692 | ||||
692 | .filediff-menu { |
|
693 | .filediff-menu { | |
693 | display: none; |
|
694 | display: none; | |
694 | } |
|
695 | } | |
695 |
|
696 | |||
696 | } |
|
697 | } | |
697 |
|
698 | |||
698 | &+ .filediff { /* file diff is expanded */ |
|
699 | &+ .filediff { /* file diff is expanded */ | |
|
700 | ||||
699 | .filediff-collapse-indicator { |
|
701 | .filediff-collapse-indicator { | |
700 |
|
|
702 | float: left; | |
701 |
|
|
703 | cursor: pointer; | |
702 | border-style: solid; |
|
704 | margin: 1px -5px; | |
703 | border-width: 9.3px 4.5px 0 4.5px; |
|
705 | } | |
704 | border-color: #aaa transparent transparent transparent; |
|
706 | .filediff-collapse-indicator:before { | |
705 | margin: 6px 0px; |
|
707 | content: '\f107'; | |
|
708 | } | |||
706 |
|
709 | |||
707 | } |
|
|||
708 | .filediff-menu { |
|
710 | .filediff-menu { | |
709 | display: block; |
|
711 | display: block; | |
710 | } |
|
712 | } | |
|
713 | ||||
711 | margin: 10px 0; |
|
714 | margin: 10px 0; | |
712 | &:nth-child(2) { |
|
715 | &:nth-child(2) { | |
713 | margin: 0; |
|
716 | margin: 0; | |
714 | } |
|
717 | } | |
715 | } |
|
718 | } | |
716 | } |
|
719 | } | |
717 |
|
720 | |||
718 | .filediffs .anchor { |
|
721 | .filediffs .anchor { | |
719 | display: block; |
|
722 | display: block; | |
720 | height: 40px; |
|
723 | height: 40px; | |
721 | margin-top: -40px; |
|
724 | margin-top: -40px; | |
722 | visibility: hidden; |
|
725 | visibility: hidden; | |
723 | } |
|
726 | } | |
724 |
|
727 | |||
725 | .filediffs .anchor:nth-of-type(1) { |
|
728 | .filediffs .anchor:nth-of-type(1) { | |
726 | display: block; |
|
729 | display: block; | |
727 | height: 80px; |
|
730 | height: 80px; | |
728 | margin-top: -80px; |
|
731 | margin-top: -80px; | |
729 | visibility: hidden; |
|
732 | visibility: hidden; | |
730 | } |
|
733 | } | |
731 |
|
734 | |||
732 | .cs_files { |
|
735 | .cs_files { | |
733 | clear: both; |
|
736 | clear: both; | |
734 | } |
|
737 | } | |
735 |
|
738 | |||
736 | #diff-file-sticky{ |
|
739 | #diff-file-sticky{ | |
737 | will-change: min-height; |
|
740 | will-change: min-height; | |
|
741 | height: 80px; | |||
738 | } |
|
742 | } | |
739 |
|
743 | |||
740 | .sidebar__inner{ |
|
744 | .sidebar__inner{ | |
741 | transform: translate(0, 0); /* For browsers don't support translate3d. */ |
|
745 | transform: translate(0, 0); /* For browsers don't support translate3d. */ | |
742 | transform: translate3d(0, 0, 0); |
|
746 | transform: translate3d(0, 0, 0); | |
743 | will-change: position, transform; |
|
747 | will-change: position, transform; | |
744 |
height: |
|
748 | height: 65px; | |
745 | z-index: 30; |
|
749 | z-index: 30; | |
746 | background-color: #fff; |
|
750 | background-color: #fff; | |
747 | padding: 5px 0px; |
|
751 | padding: 5px 0px; | |
748 | } |
|
752 | } | |
749 |
|
753 | |||
750 | .sidebar__bar { |
|
754 | .sidebar__bar { | |
751 | padding: 5px 0px 0px 0px |
|
755 | padding: 5px 0px 0px 0px | |
752 | } |
|
756 | } | |
753 |
|
757 | |||
754 | .fpath-placeholder { |
|
758 | .fpath-placeholder { | |
755 | clear: both; |
|
759 | clear: both; | |
756 | visibility: hidden |
|
760 | visibility: hidden | |
757 | } |
|
761 | } | |
758 |
|
762 | |||
759 | .is-affixed { |
|
763 | .is-affixed { | |
760 | .sidebar_inner_shadow { |
|
764 | .sidebar_inner_shadow { | |
761 | position: fixed; |
|
765 | position: fixed; | |
762 | top: 75px; |
|
766 | top: 75px; | |
763 | right: -100%; |
|
767 | right: -100%; | |
764 | left: -100%; |
|
768 | left: -100%; | |
765 | z-index: 28; |
|
769 | z-index: 28; | |
766 | display: block; |
|
770 | display: block; | |
767 | height: 5px; |
|
771 | height: 5px; | |
768 | content: ""; |
|
772 | content: ""; | |
769 | background: linear-gradient(rgba(0, 0, 0, 0.075), rgba(0, 0, 0, 0.001)) repeat-x 0 0; |
|
773 | background: linear-gradient(rgba(0, 0, 0, 0.075), rgba(0, 0, 0, 0.001)) repeat-x 0 0; | |
770 | border-top: 1px solid rgba(0, 0, 0, 0.15); |
|
774 | border-top: 1px solid rgba(0, 0, 0, 0.15); | |
771 | } |
|
775 | } | |
772 | .fpath-placeholder { |
|
776 | .fpath-placeholder { | |
773 | visibility: visible !important; |
|
777 | visibility: visible !important; | |
774 | } |
|
778 | } | |
775 | } |
|
779 | } | |
776 |
|
780 | |||
777 | .diffset-menu { |
|
781 | .diffset-menu { | |
778 | margin-bottom: 20px; |
|
782 | ||
779 | } |
|
783 | } | |
|
784 | ||||
|
785 | #todo-box { | |||
|
786 | clear:both; | |||
|
787 | display: none; | |||
|
788 | text-align: right | |||
|
789 | } | |||
|
790 | ||||
780 | .diffset { |
|
791 | .diffset { | |
781 |
margin: |
|
792 | margin: 0px auto; | |
782 | .diffset-heading { |
|
793 | .diffset-heading { | |
783 | border: 1px solid @grey5; |
|
794 | border: 1px solid @grey5; | |
784 | margin-bottom: -1px; |
|
795 | margin-bottom: -1px; | |
785 | // margin-top: 20px; |
|
796 | // margin-top: 20px; | |
786 | h2 { |
|
797 | h2 { | |
787 | margin: 0; |
|
798 | margin: 0; | |
788 | line-height: 38px; |
|
799 | line-height: 38px; | |
789 | padding-left: 10px; |
|
800 | padding-left: 10px; | |
790 | } |
|
801 | } | |
791 | .btn { |
|
802 | .btn { | |
792 | margin: 0; |
|
803 | margin: 0; | |
793 | } |
|
804 | } | |
794 | background: @grey6; |
|
805 | background: @grey6; | |
795 | display: block; |
|
806 | display: block; | |
796 | padding: 5px; |
|
807 | padding: 5px; | |
797 | } |
|
808 | } | |
798 | .diffset-heading-warning { |
|
809 | .diffset-heading-warning { | |
799 | background: @alert3-inner; |
|
810 | background: @alert3-inner; | |
800 | border: 1px solid @alert3; |
|
811 | border: 1px solid @alert3; | |
801 | } |
|
812 | } | |
802 | &.diffset-comments-disabled { |
|
813 | &.diffset-comments-disabled { | |
803 | .cb-comment-box-opener, .comment-inline-form, .cb-comment-add-button { |
|
814 | .cb-comment-box-opener, .comment-inline-form, .cb-comment-add-button { | |
804 | display: none !important; |
|
815 | display: none !important; | |
805 | } |
|
816 | } | |
806 | } |
|
817 | } | |
807 | } |
|
818 | } | |
808 |
|
819 | |||
809 | .filelist { |
|
820 | .filelist { | |
810 | .pill { |
|
821 | .pill { | |
811 | display: block; |
|
822 | display: block; | |
812 | float: left; |
|
823 | float: left; | |
813 | padding: @pill-padding-small; |
|
824 | padding: @pill-padding-small; | |
814 | } |
|
825 | } | |
815 | } |
|
826 | } | |
816 |
|
827 | |||
817 | .pill { |
|
828 | .pill { | |
818 | display: block; |
|
829 | display: block; | |
819 | float: left; |
|
830 | float: left; | |
820 | padding: @pill-padding; |
|
831 | padding: @pill-padding; | |
821 | } |
|
832 | } | |
822 |
|
833 | |||
823 | .pill-group { |
|
834 | .pill-group { | |
824 | .pill { |
|
835 | .pill { | |
825 | opacity: .8; |
|
836 | opacity: .8; | |
826 | margin-right: 3px; |
|
837 | margin-right: 3px; | |
827 | font-size: 12px; |
|
838 | font-size: 12px; | |
828 | font-weight: normal; |
|
839 | font-weight: normal; | |
|
840 | min-width: 30px; | |||
|
841 | text-align: center; | |||
829 |
|
842 | |||
830 | &:first-child { |
|
843 | &:first-child { | |
831 | border-radius: @border-radius 0 0 @border-radius; |
|
844 | border-radius: @border-radius 0 0 @border-radius; | |
832 | } |
|
845 | } | |
833 | &:last-child { |
|
846 | &:last-child { | |
834 | border-radius: 0 @border-radius @border-radius 0; |
|
847 | border-radius: 0 @border-radius @border-radius 0; | |
835 | } |
|
848 | } | |
836 | &:only-child { |
|
849 | &:only-child { | |
837 | border-radius: @border-radius; |
|
850 | border-radius: @border-radius; | |
838 | margin-right: 0; |
|
851 | margin-right: 0; | |
839 | } |
|
852 | } | |
840 | } |
|
853 | } | |
841 | } |
|
854 | } | |
842 |
|
855 | |||
843 | /* Main comments*/ |
|
856 | /* Main comments*/ | |
844 | #comments { |
|
857 | #comments { | |
845 | .comment-selected { |
|
858 | .comment-selected { | |
846 | border-left: 6px solid @comment-highlight-color; |
|
859 | border-left: 6px solid @comment-highlight-color; | |
847 | padding-left: 3px; |
|
860 | padding-left: 3px; | |
848 | margin-left: -9px; |
|
861 | margin-left: -9px; | |
849 | } |
|
862 | } | |
850 | } |
|
863 | } | |
851 |
|
864 | |||
852 | .filediff { |
|
865 | .filediff { | |
853 | border: 1px solid @grey5; |
|
866 | border: 1px solid @grey5; | |
854 |
|
867 | |||
855 | /* START OVERRIDES */ |
|
868 | /* START OVERRIDES */ | |
856 | .code-highlight { |
|
869 | .code-highlight { | |
857 | border: none; // TODO: remove this border from the global |
|
870 | border: none; // TODO: remove this border from the global | |
858 | // .code-highlight, it doesn't belong there |
|
871 | // .code-highlight, it doesn't belong there | |
859 | } |
|
872 | } | |
860 | label { |
|
873 | label { | |
861 | margin: 0; // TODO: remove this margin definition from global label |
|
874 | margin: 0; // TODO: remove this margin definition from global label | |
862 | // it doesn't belong there - if margin on labels |
|
875 | // it doesn't belong there - if margin on labels | |
863 | // are needed for a form they should be defined |
|
876 | // are needed for a form they should be defined | |
864 | // in the form's class |
|
877 | // in the form's class | |
865 | } |
|
878 | } | |
866 | /* END OVERRIDES */ |
|
879 | /* END OVERRIDES */ | |
867 |
|
880 | |||
868 | * { |
|
881 | * { | |
869 | box-sizing: border-box; |
|
882 | box-sizing: border-box; | |
870 | } |
|
883 | } | |
871 | .filediff-anchor { |
|
884 | .filediff-anchor { | |
872 | visibility: hidden; |
|
885 | visibility: hidden; | |
873 | } |
|
886 | } | |
874 | &:hover { |
|
887 | &:hover { | |
875 | .filediff-anchor { |
|
888 | .filediff-anchor { | |
876 | visibility: visible; |
|
889 | visibility: visible; | |
877 | } |
|
890 | } | |
878 | } |
|
891 | } | |
879 |
|
892 | |||
880 | .filediff-collapse-indicator { |
|
|||
881 | border-style: solid; |
|
|||
882 | float: left; |
|
|||
883 | margin: 4px 0px 0 0; |
|
|||
884 | cursor: pointer; |
|
|||
885 | } |
|
|||
886 |
|
||||
887 | .filediff-heading { |
|
893 | .filediff-heading { | |
888 | background: @grey7; |
|
|||
889 | cursor: pointer; |
|
894 | cursor: pointer; | |
890 | display: block; |
|
895 | display: block; | |
891 |
padding: |
|
896 | padding: 10px 10px; | |
892 | } |
|
897 | } | |
893 | .filediff-heading:after { |
|
898 | .filediff-heading:after { | |
894 | content: ""; |
|
899 | content: ""; | |
895 | display: table; |
|
900 | display: table; | |
896 | clear: both; |
|
901 | clear: both; | |
897 | } |
|
902 | } | |
898 | .filediff-heading:hover { |
|
903 | .filediff-heading:hover { | |
899 | background: #e1e9f4 !important; |
|
904 | background: #e1e9f4 !important; | |
900 | } |
|
905 | } | |
901 |
|
906 | |||
902 | .filediff-menu { |
|
907 | .filediff-menu { | |
903 | float: right; |
|
|||
904 | text-align: right; |
|
908 | text-align: right; | |
905 | padding: 5px 5px 5px 0px; |
|
909 | padding: 5px 5px 5px 0px; | |
|
910 | background: @grey7; | |||
906 |
|
911 | |||
907 | &> a, |
|
912 | &> a, | |
908 | &> span { |
|
913 | &> span { | |
909 | padding: 1px; |
|
914 | padding: 1px; | |
910 | } |
|
915 | } | |
911 | } |
|
916 | } | |
912 |
|
917 | |||
913 | .filediff-collapse-button, .filediff-expand-button { |
|
918 | .filediff-collapse-button, .filediff-expand-button { | |
914 | cursor: pointer; |
|
919 | cursor: pointer; | |
915 | } |
|
920 | } | |
916 | .filediff-collapse-button { |
|
921 | .filediff-collapse-button { | |
917 | display: inline; |
|
922 | display: inline; | |
918 | } |
|
923 | } | |
919 | .filediff-expand-button { |
|
924 | .filediff-expand-button { | |
920 | display: none; |
|
925 | display: none; | |
921 | } |
|
926 | } | |
922 | .filediff-collapsed .filediff-collapse-button { |
|
927 | .filediff-collapsed .filediff-collapse-button { | |
923 | display: none; |
|
928 | display: none; | |
924 | } |
|
929 | } | |
925 | .filediff-collapsed .filediff-expand-button { |
|
930 | .filediff-collapsed .filediff-expand-button { | |
926 | display: inline; |
|
931 | display: inline; | |
927 | } |
|
932 | } | |
928 |
|
933 | |||
929 | /**** COMMENTS ****/ |
|
934 | /**** COMMENTS ****/ | |
930 |
|
935 | |||
931 | .filediff-menu { |
|
936 | .filediff-menu { | |
932 | .show-comment-button { |
|
937 | .show-comment-button { | |
933 | display: none; |
|
938 | display: none; | |
934 | } |
|
939 | } | |
935 | } |
|
940 | } | |
936 | &.hide-comments { |
|
941 | &.hide-comments { | |
937 | .inline-comments { |
|
942 | .inline-comments { | |
938 | display: none; |
|
943 | display: none; | |
939 | } |
|
944 | } | |
940 | .filediff-menu { |
|
945 | .filediff-menu { | |
941 | .show-comment-button { |
|
946 | .show-comment-button { | |
942 | display: inline; |
|
947 | display: inline; | |
943 | } |
|
948 | } | |
944 | .hide-comment-button { |
|
949 | .hide-comment-button { | |
945 | display: none; |
|
950 | display: none; | |
946 | } |
|
951 | } | |
947 | } |
|
952 | } | |
948 | } |
|
953 | } | |
949 |
|
954 | |||
950 | .hide-line-comments { |
|
955 | .hide-line-comments { | |
951 | .inline-comments { |
|
956 | .inline-comments { | |
952 | display: none; |
|
957 | display: none; | |
953 | } |
|
958 | } | |
954 | } |
|
959 | } | |
955 |
|
960 | |||
956 | /**** END COMMENTS ****/ |
|
961 | /**** END COMMENTS ****/ | |
957 |
|
962 | |||
958 | } |
|
963 | } | |
959 |
|
964 | |||
960 |
|
965 | |||
|
966 | .op-added { | |||
|
967 | color: @alert1; | |||
|
968 | } | |||
|
969 | ||||
|
970 | .op-deleted { | |||
|
971 | color: @alert2; | |||
|
972 | } | |||
961 |
|
973 | |||
962 | .filediff, .filelist { |
|
974 | .filediff, .filelist { | |
|
975 | ||||
963 | .pill { |
|
976 | .pill { | |
964 | &[op="name"] { |
|
977 | &[op="name"] { | |
965 | background: none; |
|
978 | background: none; | |
966 | opacity: 1; |
|
979 | opacity: 1; | |
967 | color: white; |
|
980 | color: white; | |
968 | } |
|
981 | } | |
969 | &[op="limited"] { |
|
982 | &[op="limited"] { | |
970 | background: @grey2; |
|
983 | background: @grey2; | |
971 | color: white; |
|
984 | color: white; | |
972 | } |
|
985 | } | |
973 | &[op="binary"] { |
|
986 | &[op="binary"] { | |
974 | background: @color7; |
|
987 | background: @color7; | |
975 | color: white; |
|
988 | color: white; | |
976 | } |
|
989 | } | |
977 | &[op="modified"] { |
|
990 | &[op="modified"] { | |
978 | background: @alert1; |
|
991 | background: @alert1; | |
979 | color: white; |
|
992 | color: white; | |
980 | } |
|
993 | } | |
981 | &[op="renamed"] { |
|
994 | &[op="renamed"] { | |
982 | background: @color4; |
|
995 | background: @color4; | |
983 | color: white; |
|
996 | color: white; | |
984 | } |
|
997 | } | |
985 | &[op="copied"] { |
|
998 | &[op="copied"] { | |
986 | background: @color4; |
|
999 | background: @color4; | |
987 | color: white; |
|
1000 | color: white; | |
988 | } |
|
1001 | } | |
989 | &[op="mode"] { |
|
1002 | &[op="mode"] { | |
990 | background: @grey3; |
|
1003 | background: @grey3; | |
991 | color: white; |
|
1004 | color: white; | |
992 | } |
|
1005 | } | |
993 | &[op="symlink"] { |
|
1006 | &[op="symlink"] { | |
994 | background: @color8; |
|
1007 | background: @color8; | |
995 | color: white; |
|
1008 | color: white; | |
996 | } |
|
1009 | } | |
997 |
|
1010 | |||
998 | &[op="added"] { /* added lines */ |
|
1011 | &[op="added"] { /* added lines */ | |
999 | background: @alert1; |
|
1012 | background: @alert1; | |
1000 | color: white; |
|
1013 | color: white; | |
1001 | } |
|
1014 | } | |
1002 | &[op="deleted"] { /* deleted lines */ |
|
1015 | &[op="deleted"] { /* deleted lines */ | |
1003 | background: @alert2; |
|
1016 | background: @alert2; | |
1004 | color: white; |
|
1017 | color: white; | |
1005 | } |
|
1018 | } | |
1006 |
|
1019 | |||
1007 | &[op="created"] { /* created file */ |
|
1020 | &[op="created"] { /* created file */ | |
1008 | background: @alert1; |
|
1021 | background: @alert1; | |
1009 | color: white; |
|
1022 | color: white; | |
1010 | } |
|
1023 | } | |
1011 | &[op="removed"] { /* deleted file */ |
|
1024 | &[op="removed"] { /* deleted file */ | |
1012 | background: @color5; |
|
1025 | background: @color5; | |
1013 | color: white; |
|
1026 | color: white; | |
1014 | } |
|
1027 | } | |
1015 | } |
|
1028 | } | |
1016 | } |
|
1029 | } | |
1017 |
|
1030 | |||
1018 |
|
1031 | |||
1019 | .filediff-outdated { |
|
1032 | .filediff-outdated { | |
1020 | padding: 8px 0; |
|
1033 | padding: 8px 0; | |
1021 |
|
1034 | |||
1022 | .filediff-heading { |
|
1035 | .filediff-heading { | |
1023 | opacity: .5; |
|
1036 | opacity: .5; | |
1024 | } |
|
1037 | } | |
1025 | } |
|
1038 | } | |
1026 |
|
1039 | |||
1027 | table.cb { |
|
1040 | table.cb { | |
1028 | width: 100%; |
|
1041 | width: 100%; | |
1029 | border-collapse: collapse; |
|
1042 | border-collapse: collapse; | |
1030 |
|
1043 | |||
1031 | .cb-text { |
|
1044 | .cb-text { | |
1032 | padding: @cb-text-padding; |
|
1045 | padding: @cb-text-padding; | |
1033 | } |
|
1046 | } | |
1034 | .cb-hunk { |
|
1047 | .cb-hunk { | |
1035 | padding: @cb-text-padding; |
|
1048 | padding: @cb-text-padding; | |
1036 | } |
|
1049 | } | |
1037 | .cb-expand { |
|
1050 | .cb-expand { | |
1038 | display: none; |
|
1051 | display: none; | |
1039 | } |
|
1052 | } | |
1040 | .cb-collapse { |
|
1053 | .cb-collapse { | |
1041 | display: inline; |
|
1054 | display: inline; | |
1042 | } |
|
1055 | } | |
1043 | &.cb-collapsed { |
|
1056 | &.cb-collapsed { | |
1044 | .cb-line { |
|
1057 | .cb-line { | |
1045 | display: none; |
|
1058 | display: none; | |
1046 | } |
|
1059 | } | |
1047 | .cb-expand { |
|
1060 | .cb-expand { | |
1048 | display: inline; |
|
1061 | display: inline; | |
1049 | } |
|
1062 | } | |
1050 | .cb-collapse { |
|
1063 | .cb-collapse { | |
1051 | display: none; |
|
1064 | display: none; | |
1052 | } |
|
1065 | } | |
1053 | .cb-hunk { |
|
1066 | .cb-hunk { | |
1054 | display: none; |
|
1067 | display: none; | |
1055 | } |
|
1068 | } | |
1056 | } |
|
1069 | } | |
1057 |
|
1070 | |||
1058 | /* intentionally general selector since .cb-line-selected must override it |
|
1071 | /* intentionally general selector since .cb-line-selected must override it | |
1059 | and they both use !important since the td itself may have a random color |
|
1072 | and they both use !important since the td itself may have a random color | |
1060 | generated by annotation blocks. TLDR: if you change it, make sure |
|
1073 | generated by annotation blocks. TLDR: if you change it, make sure | |
1061 | annotated block selection and line selection in file view still work */ |
|
1074 | annotated block selection and line selection in file view still work */ | |
1062 | .cb-line-fresh .cb-content { |
|
1075 | .cb-line-fresh .cb-content { | |
1063 | background: white !important; |
|
1076 | background: white !important; | |
1064 | } |
|
1077 | } | |
1065 | .cb-warning { |
|
1078 | .cb-warning { | |
1066 | background: #fff4dd; |
|
1079 | background: #fff4dd; | |
1067 | } |
|
1080 | } | |
1068 |
|
1081 | |||
1069 | &.cb-diff-sideside { |
|
1082 | &.cb-diff-sideside { | |
1070 | td { |
|
1083 | td { | |
1071 | &.cb-content { |
|
1084 | &.cb-content { | |
1072 | width: 50%; |
|
1085 | width: 50%; | |
1073 | } |
|
1086 | } | |
1074 | } |
|
1087 | } | |
1075 | } |
|
1088 | } | |
1076 |
|
1089 | |||
1077 | tr { |
|
1090 | tr { | |
1078 | &.cb-annotate { |
|
1091 | &.cb-annotate { | |
1079 | border-top: 1px solid #eee; |
|
1092 | border-top: 1px solid #eee; | |
1080 | } |
|
1093 | } | |
1081 |
|
1094 | |||
1082 | &.cb-comment-info { |
|
1095 | &.cb-comment-info { | |
1083 | border-top: 1px solid #eee; |
|
1096 | border-top: 1px solid #eee; | |
1084 | color: rgba(0, 0, 0, 0.3); |
|
1097 | color: rgba(0, 0, 0, 0.3); | |
1085 | background: #edf2f9; |
|
1098 | background: #edf2f9; | |
1086 |
|
1099 | |||
1087 | td { |
|
1100 | td { | |
1088 |
|
1101 | |||
1089 | } |
|
1102 | } | |
1090 | } |
|
1103 | } | |
1091 |
|
1104 | |||
1092 | &.cb-hunk { |
|
1105 | &.cb-hunk { | |
1093 | font-family: @text-monospace; |
|
1106 | font-family: @text-monospace; | |
1094 | color: rgba(0, 0, 0, 0.3); |
|
1107 | color: rgba(0, 0, 0, 0.3); | |
1095 |
|
1108 | |||
1096 | td { |
|
1109 | td { | |
1097 | &:first-child { |
|
1110 | &:first-child { | |
1098 | background: #edf2f9; |
|
1111 | background: #edf2f9; | |
1099 | } |
|
1112 | } | |
1100 | &:last-child { |
|
1113 | &:last-child { | |
1101 | background: #f4f7fb; |
|
1114 | background: #f4f7fb; | |
1102 | } |
|
1115 | } | |
1103 | } |
|
1116 | } | |
1104 | } |
|
1117 | } | |
1105 | } |
|
1118 | } | |
1106 |
|
1119 | |||
1107 |
|
1120 | |||
1108 | td { |
|
1121 | td { | |
1109 | vertical-align: top; |
|
1122 | vertical-align: top; | |
1110 | padding: 0; |
|
1123 | padding: 0; | |
1111 |
|
1124 | |||
1112 | &.cb-content { |
|
1125 | &.cb-content { | |
1113 | font-size: 12.35px; |
|
1126 | font-size: 12.35px; | |
1114 |
|
1127 | |||
1115 | &.cb-line-selected .cb-code { |
|
1128 | &.cb-line-selected .cb-code { | |
1116 | background: @comment-highlight-color !important; |
|
1129 | background: @comment-highlight-color !important; | |
1117 | } |
|
1130 | } | |
1118 |
|
1131 | |||
1119 | span.cb-code { |
|
1132 | span.cb-code { | |
1120 | line-height: @cb-line-height; |
|
1133 | line-height: @cb-line-height; | |
1121 | padding-left: @cb-line-code-padding; |
|
1134 | padding-left: @cb-line-code-padding; | |
1122 | padding-right: @cb-line-code-padding; |
|
1135 | padding-right: @cb-line-code-padding; | |
1123 | display: block; |
|
1136 | display: block; | |
1124 | white-space: pre-wrap; |
|
1137 | white-space: pre-wrap; | |
1125 | font-family: @text-monospace; |
|
1138 | font-family: @text-monospace; | |
1126 | word-break: break-all; |
|
1139 | word-break: break-all; | |
1127 | .nonl { |
|
1140 | .nonl { | |
1128 | color: @color5; |
|
1141 | color: @color5; | |
1129 | } |
|
1142 | } | |
1130 | .cb-action { |
|
1143 | .cb-action { | |
1131 | &:before { |
|
1144 | &:before { | |
1132 | content: " "; |
|
1145 | content: " "; | |
1133 | } |
|
1146 | } | |
1134 | &.cb-deletion:before { |
|
1147 | &.cb-deletion:before { | |
1135 | content: "- "; |
|
1148 | content: "- "; | |
1136 | } |
|
1149 | } | |
1137 | &.cb-addition:before { |
|
1150 | &.cb-addition:before { | |
1138 | content: "+ "; |
|
1151 | content: "+ "; | |
1139 | } |
|
1152 | } | |
1140 | } |
|
1153 | } | |
1141 | } |
|
1154 | } | |
1142 |
|
1155 | |||
1143 | &> button.cb-comment-box-opener { |
|
1156 | &> button.cb-comment-box-opener { | |
1144 |
|
1157 | |||
1145 | padding: 2px 2px 1px 3px; |
|
1158 | padding: 2px 2px 1px 3px; | |
1146 | margin-left: -6px; |
|
1159 | margin-left: -6px; | |
1147 | margin-top: -1px; |
|
1160 | margin-top: -1px; | |
1148 |
|
1161 | |||
1149 | border-radius: @border-radius; |
|
1162 | border-radius: @border-radius; | |
1150 | position: absolute; |
|
1163 | position: absolute; | |
1151 | display: none; |
|
1164 | display: none; | |
1152 | } |
|
1165 | } | |
1153 | .cb-comment { |
|
1166 | .cb-comment { | |
1154 | margin-top: 10px; |
|
1167 | margin-top: 10px; | |
1155 | white-space: normal; |
|
1168 | white-space: normal; | |
1156 | } |
|
1169 | } | |
1157 | } |
|
1170 | } | |
1158 | &:hover { |
|
1171 | &:hover { | |
1159 | button.cb-comment-box-opener { |
|
1172 | button.cb-comment-box-opener { | |
1160 | display: block; |
|
1173 | display: block; | |
1161 | } |
|
1174 | } | |
1162 | &+ td button.cb-comment-box-opener { |
|
1175 | &+ td button.cb-comment-box-opener { | |
1163 | display: block |
|
1176 | display: block | |
1164 | } |
|
1177 | } | |
1165 | } |
|
1178 | } | |
1166 |
|
1179 | |||
1167 | &.cb-data { |
|
1180 | &.cb-data { | |
1168 | text-align: right; |
|
1181 | text-align: right; | |
1169 | width: 30px; |
|
1182 | width: 30px; | |
1170 | font-family: @text-monospace; |
|
1183 | font-family: @text-monospace; | |
1171 |
|
1184 | |||
1172 | .icon-comment { |
|
1185 | .icon-comment { | |
1173 | cursor: pointer; |
|
1186 | cursor: pointer; | |
1174 | } |
|
1187 | } | |
1175 | &.cb-line-selected { |
|
1188 | &.cb-line-selected { | |
1176 | background: @comment-highlight-color !important; |
|
1189 | background: @comment-highlight-color !important; | |
1177 | } |
|
1190 | } | |
1178 | &.cb-line-selected > div { |
|
1191 | &.cb-line-selected > div { | |
1179 | display: block; |
|
1192 | display: block; | |
1180 | background: @comment-highlight-color !important; |
|
1193 | background: @comment-highlight-color !important; | |
1181 | line-height: @cb-line-height; |
|
1194 | line-height: @cb-line-height; | |
1182 | color: rgba(0, 0, 0, 0.3); |
|
1195 | color: rgba(0, 0, 0, 0.3); | |
1183 | } |
|
1196 | } | |
1184 | } |
|
1197 | } | |
1185 |
|
1198 | |||
1186 | &.cb-lineno { |
|
1199 | &.cb-lineno { | |
1187 | padding: 0; |
|
1200 | padding: 0; | |
1188 | width: 50px; |
|
1201 | width: 50px; | |
1189 | color: rgba(0, 0, 0, 0.3); |
|
1202 | color: rgba(0, 0, 0, 0.3); | |
1190 | text-align: right; |
|
1203 | text-align: right; | |
1191 | border-right: 1px solid #eee; |
|
1204 | border-right: 1px solid #eee; | |
1192 | font-family: @text-monospace; |
|
1205 | font-family: @text-monospace; | |
1193 | -webkit-user-select: none; |
|
1206 | -webkit-user-select: none; | |
1194 | -moz-user-select: none; |
|
1207 | -moz-user-select: none; | |
1195 | user-select: none; |
|
1208 | user-select: none; | |
1196 |
|
1209 | |||
1197 | a::before { |
|
1210 | a::before { | |
1198 | content: attr(data-line-no); |
|
1211 | content: attr(data-line-no); | |
1199 | } |
|
1212 | } | |
1200 | &.cb-line-selected { |
|
1213 | &.cb-line-selected { | |
1201 | background: @comment-highlight-color !important; |
|
1214 | background: @comment-highlight-color !important; | |
1202 | } |
|
1215 | } | |
1203 |
|
1216 | |||
1204 | a { |
|
1217 | a { | |
1205 | display: block; |
|
1218 | display: block; | |
1206 | padding-right: @cb-line-code-padding; |
|
1219 | padding-right: @cb-line-code-padding; | |
1207 | padding-left: @cb-line-code-padding; |
|
1220 | padding-left: @cb-line-code-padding; | |
1208 | line-height: @cb-line-height; |
|
1221 | line-height: @cb-line-height; | |
1209 | color: rgba(0, 0, 0, 0.3); |
|
1222 | color: rgba(0, 0, 0, 0.3); | |
1210 | } |
|
1223 | } | |
1211 | } |
|
1224 | } | |
1212 |
|
1225 | |||
1213 | &.cb-empty { |
|
1226 | &.cb-empty { | |
1214 | background: @grey7; |
|
1227 | background: @grey7; | |
1215 | } |
|
1228 | } | |
1216 |
|
1229 | |||
1217 | ins { |
|
1230 | ins { | |
1218 | color: black; |
|
1231 | color: black; | |
1219 | background: #a6f3a6; |
|
1232 | background: #a6f3a6; | |
1220 | text-decoration: none; |
|
1233 | text-decoration: none; | |
1221 | } |
|
1234 | } | |
1222 | del { |
|
1235 | del { | |
1223 | color: black; |
|
1236 | color: black; | |
1224 | background: #f8cbcb; |
|
1237 | background: #f8cbcb; | |
1225 | text-decoration: none; |
|
1238 | text-decoration: none; | |
1226 | } |
|
1239 | } | |
1227 | &.cb-addition { |
|
1240 | &.cb-addition { | |
1228 | background: #ecffec; |
|
1241 | background: #ecffec; | |
1229 |
|
1242 | |||
1230 | &.blob-lineno { |
|
1243 | &.blob-lineno { | |
1231 | background: #ddffdd; |
|
1244 | background: #ddffdd; | |
1232 | } |
|
1245 | } | |
1233 | } |
|
1246 | } | |
1234 | &.cb-deletion { |
|
1247 | &.cb-deletion { | |
1235 | background: #ffecec; |
|
1248 | background: #ffecec; | |
1236 |
|
1249 | |||
1237 | &.blob-lineno { |
|
1250 | &.blob-lineno { | |
1238 | background: #ffdddd; |
|
1251 | background: #ffdddd; | |
1239 | } |
|
1252 | } | |
1240 | } |
|
1253 | } | |
1241 | &.cb-annotate-message-spacer { |
|
1254 | &.cb-annotate-message-spacer { | |
1242 | width:8px; |
|
1255 | width:8px; | |
1243 | padding: 1px 0px 0px 3px; |
|
1256 | padding: 1px 0px 0px 3px; | |
1244 | } |
|
1257 | } | |
1245 | &.cb-annotate-info { |
|
1258 | &.cb-annotate-info { | |
1246 | width: 320px; |
|
1259 | width: 320px; | |
1247 | min-width: 320px; |
|
1260 | min-width: 320px; | |
1248 | max-width: 320px; |
|
1261 | max-width: 320px; | |
1249 | padding: 5px 2px; |
|
1262 | padding: 5px 2px; | |
1250 | font-size: 13px; |
|
1263 | font-size: 13px; | |
1251 |
|
1264 | |||
1252 | .cb-annotate-message { |
|
1265 | .cb-annotate-message { | |
1253 | padding: 2px 0px 0px 0px; |
|
1266 | padding: 2px 0px 0px 0px; | |
1254 | white-space: pre-line; |
|
1267 | white-space: pre-line; | |
1255 | overflow: hidden; |
|
1268 | overflow: hidden; | |
1256 | } |
|
1269 | } | |
1257 | .rc-user { |
|
1270 | .rc-user { | |
1258 | float: none; |
|
1271 | float: none; | |
1259 | padding: 0 6px 0 17px; |
|
1272 | padding: 0 6px 0 17px; | |
1260 | min-width: unset; |
|
1273 | min-width: unset; | |
1261 | min-height: unset; |
|
1274 | min-height: unset; | |
1262 | } |
|
1275 | } | |
1263 | } |
|
1276 | } | |
1264 |
|
1277 | |||
1265 | &.cb-annotate-revision { |
|
1278 | &.cb-annotate-revision { | |
1266 | cursor: pointer; |
|
1279 | cursor: pointer; | |
1267 | text-align: right; |
|
1280 | text-align: right; | |
1268 | padding: 1px 3px 0px 3px; |
|
1281 | padding: 1px 3px 0px 3px; | |
1269 | } |
|
1282 | } | |
1270 | } |
|
1283 | } | |
1271 | } |
|
1284 | } |
@@ -1,578 +1,586 b'' | |||||
1 | // comments.less |
|
1 | // comments.less | |
2 | // For use in RhodeCode applications; |
|
2 | // For use in RhodeCode applications; | |
3 | // see style guide documentation for guidelines. |
|
3 | // see style guide documentation for guidelines. | |
4 |
|
4 | |||
5 |
|
5 | |||
6 | // Comments |
|
6 | // Comments | |
7 | @comment-outdated-opacity: 0.6; |
|
7 | @comment-outdated-opacity: 0.6; | |
8 |
|
8 | |||
9 | .comments { |
|
9 | .comments { | |
10 | width: 100%; |
|
10 | width: 100%; | |
11 | } |
|
11 | } | |
12 |
|
12 | |||
|
13 | .comments-heading { | |||
|
14 | margin-bottom: -1px; | |||
|
15 | background: @grey6; | |||
|
16 | display: block; | |||
|
17 | padding: 10px 0px; | |||
|
18 | font-size: 18px | |||
|
19 | } | |||
|
20 | ||||
13 | tr.inline-comments div { |
|
21 | tr.inline-comments div { | |
14 | max-width: 100%; |
|
22 | max-width: 100%; | |
15 |
|
23 | |||
16 | p { |
|
24 | p { | |
17 | white-space: normal; |
|
25 | white-space: normal; | |
18 | } |
|
26 | } | |
19 |
|
27 | |||
20 | code, pre, .code, dd { |
|
28 | code, pre, .code, dd { | |
21 | overflow-x: auto; |
|
29 | overflow-x: auto; | |
22 | width: 1062px; |
|
30 | width: 1062px; | |
23 | } |
|
31 | } | |
24 |
|
32 | |||
25 | dd { |
|
33 | dd { | |
26 | width: auto; |
|
34 | width: auto; | |
27 | } |
|
35 | } | |
28 | } |
|
36 | } | |
29 |
|
37 | |||
30 | #injected_page_comments { |
|
38 | #injected_page_comments { | |
31 | .comment-previous-link, |
|
39 | .comment-previous-link, | |
32 | .comment-next-link, |
|
40 | .comment-next-link, | |
33 | .comment-links-divider { |
|
41 | .comment-links-divider { | |
34 | display: none; |
|
42 | display: none; | |
35 | } |
|
43 | } | |
36 | } |
|
44 | } | |
37 |
|
45 | |||
38 | .add-comment { |
|
46 | .add-comment { | |
39 | margin-bottom: 10px; |
|
47 | margin-bottom: 10px; | |
40 | } |
|
48 | } | |
41 | .hide-comment-button .add-comment { |
|
49 | .hide-comment-button .add-comment { | |
42 | display: none; |
|
50 | display: none; | |
43 | } |
|
51 | } | |
44 |
|
52 | |||
45 | .comment-bubble { |
|
53 | .comment-bubble { | |
46 | color: @grey4; |
|
54 | color: @grey4; | |
47 | margin-top: 4px; |
|
55 | margin-top: 4px; | |
48 | margin-right: 30px; |
|
56 | margin-right: 30px; | |
49 | visibility: hidden; |
|
57 | visibility: hidden; | |
50 | } |
|
58 | } | |
51 |
|
59 | |||
52 | .comment-label { |
|
60 | .comment-label { | |
53 | float: left; |
|
61 | float: left; | |
54 |
|
62 | |||
55 | padding: 0.4em 0.4em; |
|
63 | padding: 0.4em 0.4em; | |
56 | margin: 3px 5px 0px -10px; |
|
64 | margin: 3px 5px 0px -10px; | |
57 | display: inline-block; |
|
65 | display: inline-block; | |
58 | min-height: 0; |
|
66 | min-height: 0; | |
59 |
|
67 | |||
60 | text-align: center; |
|
68 | text-align: center; | |
61 | font-size: 10px; |
|
69 | font-size: 10px; | |
62 | line-height: .8em; |
|
70 | line-height: .8em; | |
63 |
|
71 | |||
64 | font-family: @text-italic; |
|
72 | font-family: @text-italic; | |
65 | font-style: italic; |
|
73 | font-style: italic; | |
66 | background: #fff none; |
|
74 | background: #fff none; | |
67 | color: @grey4; |
|
75 | color: @grey4; | |
68 | border: 1px solid @grey4; |
|
76 | border: 1px solid @grey4; | |
69 | white-space: nowrap; |
|
77 | white-space: nowrap; | |
70 |
|
78 | |||
71 | text-transform: uppercase; |
|
79 | text-transform: uppercase; | |
72 | min-width: 40px; |
|
80 | min-width: 40px; | |
73 |
|
81 | |||
74 | &.todo { |
|
82 | &.todo { | |
75 | color: @color5; |
|
83 | color: @color5; | |
76 | font-style: italic; |
|
84 | font-style: italic; | |
77 | font-weight: @text-bold-italic-weight; |
|
85 | font-weight: @text-bold-italic-weight; | |
78 | font-family: @text-bold-italic; |
|
86 | font-family: @text-bold-italic; | |
79 | } |
|
87 | } | |
80 |
|
88 | |||
81 | .resolve { |
|
89 | .resolve { | |
82 | cursor: pointer; |
|
90 | cursor: pointer; | |
83 | text-decoration: underline; |
|
91 | text-decoration: underline; | |
84 | } |
|
92 | } | |
85 |
|
93 | |||
86 | .resolved { |
|
94 | .resolved { | |
87 | text-decoration: line-through; |
|
95 | text-decoration: line-through; | |
88 | color: @color1; |
|
96 | color: @color1; | |
89 | } |
|
97 | } | |
90 | .resolved a { |
|
98 | .resolved a { | |
91 | text-decoration: line-through; |
|
99 | text-decoration: line-through; | |
92 | color: @color1; |
|
100 | color: @color1; | |
93 | } |
|
101 | } | |
94 | .resolve-text { |
|
102 | .resolve-text { | |
95 | color: @color1; |
|
103 | color: @color1; | |
96 | margin: 2px 8px; |
|
104 | margin: 2px 8px; | |
97 | font-family: @text-italic; |
|
105 | font-family: @text-italic; | |
98 | font-style: italic; |
|
106 | font-style: italic; | |
99 | } |
|
107 | } | |
100 | } |
|
108 | } | |
101 |
|
109 | |||
102 | .has-spacer-after { |
|
110 | .has-spacer-after { | |
103 | &:after { |
|
111 | &:after { | |
104 | content: ' | '; |
|
112 | content: ' | '; | |
105 | color: @grey5; |
|
113 | color: @grey5; | |
106 | } |
|
114 | } | |
107 | } |
|
115 | } | |
108 |
|
116 | |||
109 | .has-spacer-before { |
|
117 | .has-spacer-before { | |
110 | &:before { |
|
118 | &:before { | |
111 | content: ' | '; |
|
119 | content: ' | '; | |
112 | color: @grey5; |
|
120 | color: @grey5; | |
113 | } |
|
121 | } | |
114 | } |
|
122 | } | |
115 |
|
123 | |||
116 | .comment { |
|
124 | .comment { | |
117 |
|
125 | |||
118 | &.comment-general { |
|
126 | &.comment-general { | |
119 | border: 1px solid @grey5; |
|
127 | border: 1px solid @grey5; | |
120 | padding: 5px 5px 5px 5px; |
|
128 | padding: 5px 5px 5px 5px; | |
121 | } |
|
129 | } | |
122 |
|
130 | |||
123 | margin: @padding 0; |
|
131 | margin: @padding 0; | |
124 | padding: 4px 0 0 0; |
|
132 | padding: 4px 0 0 0; | |
125 | line-height: 1em; |
|
133 | line-height: 1em; | |
126 |
|
134 | |||
127 | .rc-user { |
|
135 | .rc-user { | |
128 | min-width: 0; |
|
136 | min-width: 0; | |
129 | margin: 0px .5em 0 0; |
|
137 | margin: 0px .5em 0 0; | |
130 |
|
138 | |||
131 | .user { |
|
139 | .user { | |
132 | display: inline; |
|
140 | display: inline; | |
133 | } |
|
141 | } | |
134 | } |
|
142 | } | |
135 |
|
143 | |||
136 | .meta { |
|
144 | .meta { | |
137 | position: relative; |
|
145 | position: relative; | |
138 | width: 100%; |
|
146 | width: 100%; | |
139 | border-bottom: 1px solid @grey5; |
|
147 | border-bottom: 1px solid @grey5; | |
140 | margin: -5px 0px; |
|
148 | margin: -5px 0px; | |
141 | line-height: 24px; |
|
149 | line-height: 24px; | |
142 |
|
150 | |||
143 | &:hover .permalink { |
|
151 | &:hover .permalink { | |
144 | visibility: visible; |
|
152 | visibility: visible; | |
145 | color: @rcblue; |
|
153 | color: @rcblue; | |
146 | } |
|
154 | } | |
147 | } |
|
155 | } | |
148 |
|
156 | |||
149 | .author, |
|
157 | .author, | |
150 | .date { |
|
158 | .date { | |
151 | display: inline; |
|
159 | display: inline; | |
152 |
|
160 | |||
153 | &:after { |
|
161 | &:after { | |
154 | content: ' | '; |
|
162 | content: ' | '; | |
155 | color: @grey5; |
|
163 | color: @grey5; | |
156 | } |
|
164 | } | |
157 | } |
|
165 | } | |
158 |
|
166 | |||
159 | .author-general img { |
|
167 | .author-general img { | |
160 | top: 3px; |
|
168 | top: 3px; | |
161 | } |
|
169 | } | |
162 | .author-inline img { |
|
170 | .author-inline img { | |
163 | top: 3px; |
|
171 | top: 3px; | |
164 | } |
|
172 | } | |
165 |
|
173 | |||
166 | .status-change, |
|
174 | .status-change, | |
167 | .permalink, |
|
175 | .permalink, | |
168 | .changeset-status-lbl { |
|
176 | .changeset-status-lbl { | |
169 | display: inline; |
|
177 | display: inline; | |
170 | } |
|
178 | } | |
171 |
|
179 | |||
172 | .permalink { |
|
180 | .permalink { | |
173 | visibility: hidden; |
|
181 | visibility: hidden; | |
174 | } |
|
182 | } | |
175 |
|
183 | |||
176 | .comment-links-divider { |
|
184 | .comment-links-divider { | |
177 | display: inline; |
|
185 | display: inline; | |
178 | } |
|
186 | } | |
179 |
|
187 | |||
180 | .comment-links-block { |
|
188 | .comment-links-block { | |
181 | float:right; |
|
189 | float:right; | |
182 | text-align: right; |
|
190 | text-align: right; | |
183 | min-width: 85px; |
|
191 | min-width: 85px; | |
184 |
|
192 | |||
185 | [class^="icon-"]:before, |
|
193 | [class^="icon-"]:before, | |
186 | [class*=" icon-"]:before { |
|
194 | [class*=" icon-"]:before { | |
187 | margin-left: 0; |
|
195 | margin-left: 0; | |
188 | margin-right: 0; |
|
196 | margin-right: 0; | |
189 | } |
|
197 | } | |
190 | } |
|
198 | } | |
191 |
|
199 | |||
192 | .comment-previous-link { |
|
200 | .comment-previous-link { | |
193 | display: inline-block; |
|
201 | display: inline-block; | |
194 |
|
202 | |||
195 | .arrow_comment_link{ |
|
203 | .arrow_comment_link{ | |
196 | cursor: pointer; |
|
204 | cursor: pointer; | |
197 | i { |
|
205 | i { | |
198 | font-size:10px; |
|
206 | font-size:10px; | |
199 | } |
|
207 | } | |
200 | } |
|
208 | } | |
201 | .arrow_comment_link.disabled { |
|
209 | .arrow_comment_link.disabled { | |
202 | cursor: default; |
|
210 | cursor: default; | |
203 | color: @grey5; |
|
211 | color: @grey5; | |
204 | } |
|
212 | } | |
205 | } |
|
213 | } | |
206 |
|
214 | |||
207 | .comment-next-link { |
|
215 | .comment-next-link { | |
208 | display: inline-block; |
|
216 | display: inline-block; | |
209 |
|
217 | |||
210 | .arrow_comment_link{ |
|
218 | .arrow_comment_link{ | |
211 | cursor: pointer; |
|
219 | cursor: pointer; | |
212 | i { |
|
220 | i { | |
213 | font-size:10px; |
|
221 | font-size:10px; | |
214 | } |
|
222 | } | |
215 | } |
|
223 | } | |
216 | .arrow_comment_link.disabled { |
|
224 | .arrow_comment_link.disabled { | |
217 | cursor: default; |
|
225 | cursor: default; | |
218 | color: @grey5; |
|
226 | color: @grey5; | |
219 | } |
|
227 | } | |
220 | } |
|
228 | } | |
221 |
|
229 | |||
222 | .flag_status { |
|
230 | .flag_status { | |
223 | display: inline-block; |
|
231 | display: inline-block; | |
224 | margin: -2px .5em 0 .25em |
|
232 | margin: -2px .5em 0 .25em | |
225 | } |
|
233 | } | |
226 |
|
234 | |||
227 | .delete-comment { |
|
235 | .delete-comment { | |
228 | display: inline-block; |
|
236 | display: inline-block; | |
229 | color: @rcblue; |
|
237 | color: @rcblue; | |
230 |
|
238 | |||
231 | &:hover { |
|
239 | &:hover { | |
232 | cursor: pointer; |
|
240 | cursor: pointer; | |
233 | } |
|
241 | } | |
234 | } |
|
242 | } | |
235 |
|
243 | |||
236 | .text { |
|
244 | .text { | |
237 | clear: both; |
|
245 | clear: both; | |
238 | .border-radius(@border-radius); |
|
246 | .border-radius(@border-radius); | |
239 | .box-sizing(border-box); |
|
247 | .box-sizing(border-box); | |
240 |
|
248 | |||
241 | .markdown-block p, |
|
249 | .markdown-block p, | |
242 | .rst-block p { |
|
250 | .rst-block p { | |
243 | margin: .5em 0 !important; |
|
251 | margin: .5em 0 !important; | |
244 | // TODO: lisa: This is needed because of other rst !important rules :[ |
|
252 | // TODO: lisa: This is needed because of other rst !important rules :[ | |
245 | } |
|
253 | } | |
246 | } |
|
254 | } | |
247 |
|
255 | |||
248 | .pr-version { |
|
256 | .pr-version { | |
249 | float: left; |
|
257 | float: left; | |
250 | margin: 0px 4px; |
|
258 | margin: 0px 4px; | |
251 | } |
|
259 | } | |
252 | .pr-version-inline { |
|
260 | .pr-version-inline { | |
253 | float: left; |
|
261 | float: left; | |
254 | margin: 0px 4px; |
|
262 | margin: 0px 4px; | |
255 | } |
|
263 | } | |
256 | .pr-version-num { |
|
264 | .pr-version-num { | |
257 | font-size: 10px; |
|
265 | font-size: 10px; | |
258 | } |
|
266 | } | |
259 | } |
|
267 | } | |
260 |
|
268 | |||
261 | @comment-padding: 5px; |
|
269 | @comment-padding: 5px; | |
262 |
|
270 | |||
263 | .general-comments { |
|
271 | .general-comments { | |
264 | .comment-outdated { |
|
272 | .comment-outdated { | |
265 | opacity: @comment-outdated-opacity; |
|
273 | opacity: @comment-outdated-opacity; | |
266 | } |
|
274 | } | |
267 | } |
|
275 | } | |
268 |
|
276 | |||
269 | .inline-comments { |
|
277 | .inline-comments { | |
270 | border-radius: @border-radius; |
|
278 | border-radius: @border-radius; | |
271 | .comment { |
|
279 | .comment { | |
272 | margin: 0; |
|
280 | margin: 0; | |
273 | border-radius: @border-radius; |
|
281 | border-radius: @border-radius; | |
274 | } |
|
282 | } | |
275 | .comment-outdated { |
|
283 | .comment-outdated { | |
276 | opacity: @comment-outdated-opacity; |
|
284 | opacity: @comment-outdated-opacity; | |
277 | } |
|
285 | } | |
278 |
|
286 | |||
279 | .comment-inline { |
|
287 | .comment-inline { | |
280 | background: white; |
|
288 | background: white; | |
281 | padding: @comment-padding @comment-padding; |
|
289 | padding: @comment-padding @comment-padding; | |
282 | border: @comment-padding solid @grey6; |
|
290 | border: @comment-padding solid @grey6; | |
283 |
|
291 | |||
284 | .text { |
|
292 | .text { | |
285 | border: none; |
|
293 | border: none; | |
286 | } |
|
294 | } | |
287 | .meta { |
|
295 | .meta { | |
288 | border-bottom: 1px solid @grey6; |
|
296 | border-bottom: 1px solid @grey6; | |
289 | margin: -5px 0px; |
|
297 | margin: -5px 0px; | |
290 | line-height: 24px; |
|
298 | line-height: 24px; | |
291 | } |
|
299 | } | |
292 | } |
|
300 | } | |
293 | .comment-selected { |
|
301 | .comment-selected { | |
294 | border-left: 6px solid @comment-highlight-color; |
|
302 | border-left: 6px solid @comment-highlight-color; | |
295 | } |
|
303 | } | |
296 | .comment-inline-form { |
|
304 | .comment-inline-form { | |
297 | padding: @comment-padding; |
|
305 | padding: @comment-padding; | |
298 | display: none; |
|
306 | display: none; | |
299 | } |
|
307 | } | |
300 | .cb-comment-add-button { |
|
308 | .cb-comment-add-button { | |
301 | margin: @comment-padding; |
|
309 | margin: @comment-padding; | |
302 | } |
|
310 | } | |
303 | /* hide add comment button when form is open */ |
|
311 | /* hide add comment button when form is open */ | |
304 | .comment-inline-form-open ~ .cb-comment-add-button { |
|
312 | .comment-inline-form-open ~ .cb-comment-add-button { | |
305 | display: none; |
|
313 | display: none; | |
306 | } |
|
314 | } | |
307 | .comment-inline-form-open { |
|
315 | .comment-inline-form-open { | |
308 | display: block; |
|
316 | display: block; | |
309 | } |
|
317 | } | |
310 | /* hide add comment button when form but no comments */ |
|
318 | /* hide add comment button when form but no comments */ | |
311 | .comment-inline-form:first-child + .cb-comment-add-button { |
|
319 | .comment-inline-form:first-child + .cb-comment-add-button { | |
312 | display: none; |
|
320 | display: none; | |
313 | } |
|
321 | } | |
314 | /* hide add comment button when no comments or form */ |
|
322 | /* hide add comment button when no comments or form */ | |
315 | .cb-comment-add-button:first-child { |
|
323 | .cb-comment-add-button:first-child { | |
316 | display: none; |
|
324 | display: none; | |
317 | } |
|
325 | } | |
318 | /* hide add comment button when only comment is being deleted */ |
|
326 | /* hide add comment button when only comment is being deleted */ | |
319 | .comment-deleting:first-child + .cb-comment-add-button { |
|
327 | .comment-deleting:first-child + .cb-comment-add-button { | |
320 | display: none; |
|
328 | display: none; | |
321 | } |
|
329 | } | |
322 | } |
|
330 | } | |
323 |
|
331 | |||
324 |
|
332 | |||
325 | .show-outdated-comments { |
|
333 | .show-outdated-comments { | |
326 | display: inline; |
|
334 | display: inline; | |
327 | color: @rcblue; |
|
335 | color: @rcblue; | |
328 | } |
|
336 | } | |
329 |
|
337 | |||
330 | // Comment Form |
|
338 | // Comment Form | |
331 | div.comment-form { |
|
339 | div.comment-form { | |
332 | margin-top: 20px; |
|
340 | margin-top: 20px; | |
333 | } |
|
341 | } | |
334 |
|
342 | |||
335 | .comment-form strong { |
|
343 | .comment-form strong { | |
336 | display: block; |
|
344 | display: block; | |
337 | margin-bottom: 15px; |
|
345 | margin-bottom: 15px; | |
338 | } |
|
346 | } | |
339 |
|
347 | |||
340 | .comment-form textarea { |
|
348 | .comment-form textarea { | |
341 | width: 100%; |
|
349 | width: 100%; | |
342 | height: 100px; |
|
350 | height: 100px; | |
343 | font-family: @text-monospace; |
|
351 | font-family: @text-monospace; | |
344 | } |
|
352 | } | |
345 |
|
353 | |||
346 | form.comment-form { |
|
354 | form.comment-form { | |
347 | margin-top: 10px; |
|
355 | margin-top: 10px; | |
348 | margin-left: 10px; |
|
356 | margin-left: 10px; | |
349 | } |
|
357 | } | |
350 |
|
358 | |||
351 | .comment-inline-form .comment-block-ta, |
|
359 | .comment-inline-form .comment-block-ta, | |
352 | .comment-form .comment-block-ta, |
|
360 | .comment-form .comment-block-ta, | |
353 | .comment-form .preview-box { |
|
361 | .comment-form .preview-box { | |
354 | .border-radius(@border-radius); |
|
362 | .border-radius(@border-radius); | |
355 | .box-sizing(border-box); |
|
363 | .box-sizing(border-box); | |
356 | background-color: white; |
|
364 | background-color: white; | |
357 | } |
|
365 | } | |
358 |
|
366 | |||
359 | .comment-form-submit { |
|
367 | .comment-form-submit { | |
360 | margin-top: 5px; |
|
368 | margin-top: 5px; | |
361 | margin-left: 525px; |
|
369 | margin-left: 525px; | |
362 | } |
|
370 | } | |
363 |
|
371 | |||
364 | .file-comments { |
|
372 | .file-comments { | |
365 | display: none; |
|
373 | display: none; | |
366 | } |
|
374 | } | |
367 |
|
375 | |||
368 | .comment-form .preview-box.unloaded, |
|
376 | .comment-form .preview-box.unloaded, | |
369 | .comment-inline-form .preview-box.unloaded { |
|
377 | .comment-inline-form .preview-box.unloaded { | |
370 | height: 50px; |
|
378 | height: 50px; | |
371 | text-align: center; |
|
379 | text-align: center; | |
372 | padding: 20px; |
|
380 | padding: 20px; | |
373 | background-color: white; |
|
381 | background-color: white; | |
374 | } |
|
382 | } | |
375 |
|
383 | |||
376 | .comment-footer { |
|
384 | .comment-footer { | |
377 | position: relative; |
|
385 | position: relative; | |
378 | width: 100%; |
|
386 | width: 100%; | |
379 | min-height: 42px; |
|
387 | min-height: 42px; | |
380 |
|
388 | |||
381 | .status_box, |
|
389 | .status_box, | |
382 | .cancel-button { |
|
390 | .cancel-button { | |
383 | float: left; |
|
391 | float: left; | |
384 | display: inline-block; |
|
392 | display: inline-block; | |
385 | } |
|
393 | } | |
386 |
|
394 | |||
387 | .action-buttons { |
|
395 | .action-buttons { | |
388 | float: right; |
|
396 | float: right; | |
389 | display: inline-block; |
|
397 | display: inline-block; | |
390 | } |
|
398 | } | |
391 |
|
399 | |||
392 | .action-buttons-extra { |
|
400 | .action-buttons-extra { | |
393 | display: inline-block; |
|
401 | display: inline-block; | |
394 | } |
|
402 | } | |
395 | } |
|
403 | } | |
396 |
|
404 | |||
397 | .comment-form { |
|
405 | .comment-form { | |
398 |
|
406 | |||
399 | .comment { |
|
407 | .comment { | |
400 | margin-left: 10px; |
|
408 | margin-left: 10px; | |
401 | } |
|
409 | } | |
402 |
|
410 | |||
403 | .comment-help { |
|
411 | .comment-help { | |
404 | color: @grey4; |
|
412 | color: @grey4; | |
405 | padding: 5px 0 5px 0; |
|
413 | padding: 5px 0 5px 0; | |
406 | } |
|
414 | } | |
407 |
|
415 | |||
408 | .comment-title { |
|
416 | .comment-title { | |
409 | padding: 5px 0 5px 0; |
|
417 | padding: 5px 0 5px 0; | |
410 | } |
|
418 | } | |
411 |
|
419 | |||
412 | .comment-button { |
|
420 | .comment-button { | |
413 | display: inline-block; |
|
421 | display: inline-block; | |
414 | } |
|
422 | } | |
415 |
|
423 | |||
416 | .comment-button-input { |
|
424 | .comment-button-input { | |
417 | margin-right: 0; |
|
425 | margin-right: 0; | |
418 | } |
|
426 | } | |
419 |
|
427 | |||
420 | .comment-footer { |
|
428 | .comment-footer { | |
421 | margin-bottom: 110px; |
|
429 | margin-bottom: 110px; | |
422 | margin-top: 10px; |
|
430 | margin-top: 10px; | |
423 | } |
|
431 | } | |
424 | } |
|
432 | } | |
425 |
|
433 | |||
426 |
|
434 | |||
427 | .comment-form-login { |
|
435 | .comment-form-login { | |
428 | .comment-help { |
|
436 | .comment-help { | |
429 | padding: 0.7em; //same as the button |
|
437 | padding: 0.7em; //same as the button | |
430 | } |
|
438 | } | |
431 |
|
439 | |||
432 | div.clearfix { |
|
440 | div.clearfix { | |
433 | clear: both; |
|
441 | clear: both; | |
434 | width: 100%; |
|
442 | width: 100%; | |
435 | display: block; |
|
443 | display: block; | |
436 | } |
|
444 | } | |
437 | } |
|
445 | } | |
438 |
|
446 | |||
439 | .comment-type { |
|
447 | .comment-type { | |
440 | margin: 0px; |
|
448 | margin: 0px; | |
441 | border-radius: inherit; |
|
449 | border-radius: inherit; | |
442 | border-color: @grey6; |
|
450 | border-color: @grey6; | |
443 | } |
|
451 | } | |
444 |
|
452 | |||
445 | .preview-box { |
|
453 | .preview-box { | |
446 | min-height: 105px; |
|
454 | min-height: 105px; | |
447 | margin-bottom: 15px; |
|
455 | margin-bottom: 15px; | |
448 | background-color: white; |
|
456 | background-color: white; | |
449 | .border-radius(@border-radius); |
|
457 | .border-radius(@border-radius); | |
450 | .box-sizing(border-box); |
|
458 | .box-sizing(border-box); | |
451 | } |
|
459 | } | |
452 |
|
460 | |||
453 | .add-another-button { |
|
461 | .add-another-button { | |
454 | margin-left: 10px; |
|
462 | margin-left: 10px; | |
455 | margin-top: 10px; |
|
463 | margin-top: 10px; | |
456 | margin-bottom: 10px; |
|
464 | margin-bottom: 10px; | |
457 | } |
|
465 | } | |
458 |
|
466 | |||
459 | .comment .buttons { |
|
467 | .comment .buttons { | |
460 | float: right; |
|
468 | float: right; | |
461 | margin: -1px 0px 0px 0px; |
|
469 | margin: -1px 0px 0px 0px; | |
462 | } |
|
470 | } | |
463 |
|
471 | |||
464 | // Inline Comment Form |
|
472 | // Inline Comment Form | |
465 | .injected_diff .comment-inline-form, |
|
473 | .injected_diff .comment-inline-form, | |
466 | .comment-inline-form { |
|
474 | .comment-inline-form { | |
467 | background-color: white; |
|
475 | background-color: white; | |
468 | margin-top: 10px; |
|
476 | margin-top: 10px; | |
469 | margin-bottom: 20px; |
|
477 | margin-bottom: 20px; | |
470 | } |
|
478 | } | |
471 |
|
479 | |||
472 | .inline-form { |
|
480 | .inline-form { | |
473 | padding: 10px 7px; |
|
481 | padding: 10px 7px; | |
474 | } |
|
482 | } | |
475 |
|
483 | |||
476 | .inline-form div { |
|
484 | .inline-form div { | |
477 | max-width: 100%; |
|
485 | max-width: 100%; | |
478 | } |
|
486 | } | |
479 |
|
487 | |||
480 | .overlay { |
|
488 | .overlay { | |
481 | display: none; |
|
489 | display: none; | |
482 | position: absolute; |
|
490 | position: absolute; | |
483 | width: 100%; |
|
491 | width: 100%; | |
484 | text-align: center; |
|
492 | text-align: center; | |
485 | vertical-align: middle; |
|
493 | vertical-align: middle; | |
486 | font-size: 16px; |
|
494 | font-size: 16px; | |
487 | background: none repeat scroll 0 0 white; |
|
495 | background: none repeat scroll 0 0 white; | |
488 |
|
496 | |||
489 | &.submitting { |
|
497 | &.submitting { | |
490 | display: block; |
|
498 | display: block; | |
491 | opacity: 0.5; |
|
499 | opacity: 0.5; | |
492 | z-index: 100; |
|
500 | z-index: 100; | |
493 | } |
|
501 | } | |
494 | } |
|
502 | } | |
495 | .comment-inline-form .overlay.submitting .overlay-text { |
|
503 | .comment-inline-form .overlay.submitting .overlay-text { | |
496 | margin-top: 5%; |
|
504 | margin-top: 5%; | |
497 | } |
|
505 | } | |
498 |
|
506 | |||
499 | .comment-inline-form .clearfix, |
|
507 | .comment-inline-form .clearfix, | |
500 | .comment-form .clearfix { |
|
508 | .comment-form .clearfix { | |
501 | .border-radius(@border-radius); |
|
509 | .border-radius(@border-radius); | |
502 | margin: 0px; |
|
510 | margin: 0px; | |
503 | } |
|
511 | } | |
504 |
|
512 | |||
505 | .comment-inline-form .comment-footer { |
|
513 | .comment-inline-form .comment-footer { | |
506 | margin: 10px 0px 0px 0px; |
|
514 | margin: 10px 0px 0px 0px; | |
507 | } |
|
515 | } | |
508 |
|
516 | |||
509 | .hide-inline-form-button { |
|
517 | .hide-inline-form-button { | |
510 | margin-left: 5px; |
|
518 | margin-left: 5px; | |
511 | } |
|
519 | } | |
512 | .comment-button .hide-inline-form { |
|
520 | .comment-button .hide-inline-form { | |
513 | background: white; |
|
521 | background: white; | |
514 | } |
|
522 | } | |
515 |
|
523 | |||
516 | .comment-area { |
|
524 | .comment-area { | |
517 | padding: 8px 12px; |
|
525 | padding: 8px 12px; | |
518 | border: 1px solid @grey5; |
|
526 | border: 1px solid @grey5; | |
519 | .border-radius(@border-radius); |
|
527 | .border-radius(@border-radius); | |
520 |
|
528 | |||
521 | .resolve-action { |
|
529 | .resolve-action { | |
522 | padding: 1px 0px 0px 6px; |
|
530 | padding: 1px 0px 0px 6px; | |
523 | } |
|
531 | } | |
524 |
|
532 | |||
525 | } |
|
533 | } | |
526 |
|
534 | |||
527 | .comment-area-header .nav-links { |
|
535 | .comment-area-header .nav-links { | |
528 | display: flex; |
|
536 | display: flex; | |
529 | flex-flow: row wrap; |
|
537 | flex-flow: row wrap; | |
530 | -webkit-flex-flow: row wrap; |
|
538 | -webkit-flex-flow: row wrap; | |
531 | width: 100%; |
|
539 | width: 100%; | |
532 | } |
|
540 | } | |
533 |
|
541 | |||
534 | .comment-area-footer { |
|
542 | .comment-area-footer { | |
535 | display: flex; |
|
543 | display: flex; | |
536 | } |
|
544 | } | |
537 |
|
545 | |||
538 | .comment-footer .toolbar { |
|
546 | .comment-footer .toolbar { | |
539 |
|
547 | |||
540 | } |
|
548 | } | |
541 |
|
549 | |||
542 | .nav-links { |
|
550 | .nav-links { | |
543 | padding: 0; |
|
551 | padding: 0; | |
544 | margin: 0; |
|
552 | margin: 0; | |
545 | list-style: none; |
|
553 | list-style: none; | |
546 | height: auto; |
|
554 | height: auto; | |
547 | border-bottom: 1px solid @grey5; |
|
555 | border-bottom: 1px solid @grey5; | |
548 | } |
|
556 | } | |
549 | .nav-links li { |
|
557 | .nav-links li { | |
550 | display: inline-block; |
|
558 | display: inline-block; | |
551 | list-style-type: none; |
|
559 | list-style-type: none; | |
552 | } |
|
560 | } | |
553 |
|
561 | |||
554 | .nav-links li a.disabled { |
|
562 | .nav-links li a.disabled { | |
555 | cursor: not-allowed; |
|
563 | cursor: not-allowed; | |
556 | } |
|
564 | } | |
557 |
|
565 | |||
558 | .nav-links li.active a { |
|
566 | .nav-links li.active a { | |
559 | border-bottom: 2px solid @rcblue; |
|
567 | border-bottom: 2px solid @rcblue; | |
560 | color: #000; |
|
568 | color: #000; | |
561 | font-weight: 600; |
|
569 | font-weight: 600; | |
562 | } |
|
570 | } | |
563 | .nav-links li a { |
|
571 | .nav-links li a { | |
564 | display: inline-block; |
|
572 | display: inline-block; | |
565 | padding: 0px 10px 5px 10px; |
|
573 | padding: 0px 10px 5px 10px; | |
566 | margin-bottom: -1px; |
|
574 | margin-bottom: -1px; | |
567 | font-size: 14px; |
|
575 | font-size: 14px; | |
568 | line-height: 28px; |
|
576 | line-height: 28px; | |
569 | color: #8f8f8f; |
|
577 | color: #8f8f8f; | |
570 | border-bottom: 2px solid transparent; |
|
578 | border-bottom: 2px solid transparent; | |
571 | } |
|
579 | } | |
572 |
|
580 | |||
573 | .toolbar-text { |
|
581 | .toolbar-text { | |
574 | float: left; |
|
582 | float: left; | |
575 | margin: -5px 0px 0px 0px; |
|
583 | margin: -5px 0px 0px 0px; | |
576 | font-size: 12px; |
|
584 | font-size: 12px; | |
577 | } |
|
585 | } | |
578 |
|
586 |
@@ -1,2808 +1,2854 b'' | |||||
1 | //Primary CSS |
|
1 | //Primary CSS | |
2 |
|
2 | |||
3 | //--- IMPORTS ------------------// |
|
3 | //--- IMPORTS ------------------// | |
4 |
|
4 | |||
5 | @import 'helpers'; |
|
5 | @import 'helpers'; | |
6 | @import 'mixins'; |
|
6 | @import 'mixins'; | |
7 | @import 'rcicons'; |
|
7 | @import 'rcicons'; | |
8 | @import 'variables'; |
|
8 | @import 'variables'; | |
9 | @import 'bootstrap-variables'; |
|
9 | @import 'bootstrap-variables'; | |
10 | @import 'form-bootstrap'; |
|
10 | @import 'form-bootstrap'; | |
11 | @import 'codemirror'; |
|
11 | @import 'codemirror'; | |
12 | @import 'legacy_code_styles'; |
|
12 | @import 'legacy_code_styles'; | |
13 | @import 'readme-box'; |
|
13 | @import 'readme-box'; | |
14 | @import 'progress-bar'; |
|
14 | @import 'progress-bar'; | |
15 |
|
15 | |||
16 | @import 'type'; |
|
16 | @import 'type'; | |
17 | @import 'alerts'; |
|
17 | @import 'alerts'; | |
18 | @import 'buttons'; |
|
18 | @import 'buttons'; | |
19 | @import 'tags'; |
|
19 | @import 'tags'; | |
20 | @import 'code-block'; |
|
20 | @import 'code-block'; | |
21 | @import 'examples'; |
|
21 | @import 'examples'; | |
22 | @import 'login'; |
|
22 | @import 'login'; | |
23 | @import 'main-content'; |
|
23 | @import 'main-content'; | |
24 | @import 'select2'; |
|
24 | @import 'select2'; | |
25 | @import 'comments'; |
|
25 | @import 'comments'; | |
26 | @import 'panels-bootstrap'; |
|
26 | @import 'panels-bootstrap'; | |
27 | @import 'panels'; |
|
27 | @import 'panels'; | |
28 | @import 'deform'; |
|
28 | @import 'deform'; | |
29 |
|
29 | |||
30 | //--- BASE ------------------// |
|
30 | //--- BASE ------------------// | |
31 | .noscript-error { |
|
31 | .noscript-error { | |
32 | top: 0; |
|
32 | top: 0; | |
33 | left: 0; |
|
33 | left: 0; | |
34 | width: 100%; |
|
34 | width: 100%; | |
35 | z-index: 101; |
|
35 | z-index: 101; | |
36 | text-align: center; |
|
36 | text-align: center; | |
37 | font-size: 120%; |
|
37 | font-size: 120%; | |
38 | color: white; |
|
38 | color: white; | |
39 | background-color: @alert2; |
|
39 | background-color: @alert2; | |
40 | padding: 5px 0 5px 0; |
|
40 | padding: 5px 0 5px 0; | |
41 | font-weight: @text-semibold-weight; |
|
41 | font-weight: @text-semibold-weight; | |
42 | font-family: @text-semibold; |
|
42 | font-family: @text-semibold; | |
43 | } |
|
43 | } | |
44 |
|
44 | |||
45 | html { |
|
45 | html { | |
46 | display: table; |
|
46 | display: table; | |
47 | height: 100%; |
|
47 | height: 100%; | |
48 | width: 100%; |
|
48 | width: 100%; | |
49 | } |
|
49 | } | |
50 |
|
50 | |||
51 | body { |
|
51 | body { | |
52 | display: table-cell; |
|
52 | display: table-cell; | |
53 | width: 100%; |
|
53 | width: 100%; | |
54 | } |
|
54 | } | |
55 |
|
55 | |||
56 | //--- LAYOUT ------------------// |
|
56 | //--- LAYOUT ------------------// | |
57 |
|
57 | |||
58 | .hidden{ |
|
58 | .hidden{ | |
59 | display: none !important; |
|
59 | display: none !important; | |
60 | } |
|
60 | } | |
61 |
|
61 | |||
62 | .box{ |
|
62 | .box{ | |
63 | float: left; |
|
63 | float: left; | |
64 | width: 100%; |
|
64 | width: 100%; | |
65 | } |
|
65 | } | |
66 |
|
66 | |||
67 | .browser-header { |
|
67 | .browser-header { | |
68 | clear: both; |
|
68 | clear: both; | |
69 | } |
|
69 | } | |
70 | .main { |
|
70 | .main { | |
71 | clear: both; |
|
71 | clear: both; | |
72 | padding:0 0 @pagepadding; |
|
72 | padding:0 0 @pagepadding; | |
73 | height: auto; |
|
73 | height: auto; | |
74 |
|
74 | |||
75 | &:after { //clearfix |
|
75 | &:after { //clearfix | |
76 | content:""; |
|
76 | content:""; | |
77 | clear:both; |
|
77 | clear:both; | |
78 | width:100%; |
|
78 | width:100%; | |
79 | display:block; |
|
79 | display:block; | |
80 | } |
|
80 | } | |
81 | } |
|
81 | } | |
82 |
|
82 | |||
83 | .action-link{ |
|
83 | .action-link{ | |
84 | margin-left: @padding; |
|
84 | margin-left: @padding; | |
85 | padding-left: @padding; |
|
85 | padding-left: @padding; | |
86 | border-left: @border-thickness solid @border-default-color; |
|
86 | border-left: @border-thickness solid @border-default-color; | |
87 | } |
|
87 | } | |
88 |
|
88 | |||
89 | input + .action-link, .action-link.first{ |
|
89 | input + .action-link, .action-link.first{ | |
90 | border-left: none; |
|
90 | border-left: none; | |
91 | } |
|
91 | } | |
92 |
|
92 | |||
93 | .action-link.last{ |
|
93 | .action-link.last{ | |
94 | margin-right: @padding; |
|
94 | margin-right: @padding; | |
95 | padding-right: @padding; |
|
95 | padding-right: @padding; | |
96 | } |
|
96 | } | |
97 |
|
97 | |||
98 | .action-link.active, |
|
98 | .action-link.active, | |
99 | .action-link.active a{ |
|
99 | .action-link.active a{ | |
100 | color: @grey4; |
|
100 | color: @grey4; | |
101 | } |
|
101 | } | |
102 |
|
102 | |||
103 | .action-link.disabled { |
|
103 | .action-link.disabled { | |
104 | color: @grey4; |
|
104 | color: @grey4; | |
105 | cursor: inherit; |
|
105 | cursor: inherit; | |
106 | } |
|
106 | } | |
107 |
|
107 | |||
108 | .clipboard-action { |
|
108 | .clipboard-action { | |
109 | cursor: pointer; |
|
109 | cursor: pointer; | |
110 | color: @grey4; |
|
110 | color: @grey4; | |
111 | margin-left: 5px; |
|
111 | margin-left: 5px; | |
112 |
|
112 | |||
113 | &:hover { |
|
113 | &:hover { | |
114 | color: @grey2; |
|
114 | color: @grey2; | |
115 | } |
|
115 | } | |
116 | } |
|
116 | } | |
117 |
|
117 | |||
118 | ul.simple-list{ |
|
118 | ul.simple-list{ | |
119 | list-style: none; |
|
119 | list-style: none; | |
120 | margin: 0; |
|
120 | margin: 0; | |
121 | padding: 0; |
|
121 | padding: 0; | |
122 | } |
|
122 | } | |
123 |
|
123 | |||
124 | .main-content { |
|
124 | .main-content { | |
125 | padding-bottom: @pagepadding; |
|
125 | padding-bottom: @pagepadding; | |
126 | } |
|
126 | } | |
127 |
|
127 | |||
128 | .wide-mode-wrapper { |
|
128 | .wide-mode-wrapper { | |
129 | max-width:4000px !important; |
|
129 | max-width:4000px !important; | |
130 | } |
|
130 | } | |
131 |
|
131 | |||
132 | .wrapper { |
|
132 | .wrapper { | |
133 | position: relative; |
|
133 | position: relative; | |
134 | max-width: @wrapper-maxwidth; |
|
134 | max-width: @wrapper-maxwidth; | |
135 | margin: 0 auto; |
|
135 | margin: 0 auto; | |
136 | } |
|
136 | } | |
137 |
|
137 | |||
138 | #content { |
|
138 | #content { | |
139 | clear: both; |
|
139 | clear: both; | |
140 | padding: 0 @contentpadding; |
|
140 | padding: 0 @contentpadding; | |
141 | } |
|
141 | } | |
142 |
|
142 | |||
143 | .advanced-settings-fields{ |
|
143 | .advanced-settings-fields{ | |
144 | input{ |
|
144 | input{ | |
145 | margin-left: @textmargin; |
|
145 | margin-left: @textmargin; | |
146 | margin-right: @padding/2; |
|
146 | margin-right: @padding/2; | |
147 | } |
|
147 | } | |
148 | } |
|
148 | } | |
149 |
|
149 | |||
150 | .cs_files_title { |
|
150 | .cs_files_title { | |
151 | margin: @pagepadding 0 0; |
|
151 | margin: @pagepadding 0 0; | |
152 | } |
|
152 | } | |
153 |
|
153 | |||
154 | input.inline[type="file"] { |
|
154 | input.inline[type="file"] { | |
155 | display: inline; |
|
155 | display: inline; | |
156 | } |
|
156 | } | |
157 |
|
157 | |||
158 | .error_page { |
|
158 | .error_page { | |
159 | margin: 10% auto; |
|
159 | margin: 10% auto; | |
160 |
|
160 | |||
161 | h1 { |
|
161 | h1 { | |
162 | color: @grey2; |
|
162 | color: @grey2; | |
163 | } |
|
163 | } | |
164 |
|
164 | |||
165 | .alert { |
|
165 | .alert { | |
166 | margin: @padding 0; |
|
166 | margin: @padding 0; | |
167 | } |
|
167 | } | |
168 |
|
168 | |||
169 | .error-branding { |
|
169 | .error-branding { | |
170 | color: @grey4; |
|
170 | color: @grey4; | |
171 | font-weight: @text-semibold-weight; |
|
171 | font-weight: @text-semibold-weight; | |
172 | font-family: @text-semibold; |
|
172 | font-family: @text-semibold; | |
173 | } |
|
173 | } | |
174 |
|
174 | |||
175 | .error_message { |
|
175 | .error_message { | |
176 | font-family: @text-regular; |
|
176 | font-family: @text-regular; | |
177 | } |
|
177 | } | |
178 |
|
178 | |||
179 | .sidebar { |
|
179 | .sidebar { | |
180 | min-height: 275px; |
|
180 | min-height: 275px; | |
181 | margin: 0; |
|
181 | margin: 0; | |
182 | padding: 0 0 @sidebarpadding @sidebarpadding; |
|
182 | padding: 0 0 @sidebarpadding @sidebarpadding; | |
183 | border: none; |
|
183 | border: none; | |
184 | } |
|
184 | } | |
185 |
|
185 | |||
186 | .main-content { |
|
186 | .main-content { | |
187 | position: relative; |
|
187 | position: relative; | |
188 | margin: 0 @sidebarpadding @sidebarpadding; |
|
188 | margin: 0 @sidebarpadding @sidebarpadding; | |
189 | padding: 0 0 0 @sidebarpadding; |
|
189 | padding: 0 0 0 @sidebarpadding; | |
190 | border-left: @border-thickness solid @grey5; |
|
190 | border-left: @border-thickness solid @grey5; | |
191 |
|
191 | |||
192 | @media (max-width:767px) { |
|
192 | @media (max-width:767px) { | |
193 | clear: both; |
|
193 | clear: both; | |
194 | width: 100%; |
|
194 | width: 100%; | |
195 | margin: 0; |
|
195 | margin: 0; | |
196 | border: none; |
|
196 | border: none; | |
197 | } |
|
197 | } | |
198 | } |
|
198 | } | |
199 |
|
199 | |||
200 | .inner-column { |
|
200 | .inner-column { | |
201 | float: left; |
|
201 | float: left; | |
202 | width: 29.75%; |
|
202 | width: 29.75%; | |
203 | min-height: 150px; |
|
203 | min-height: 150px; | |
204 | margin: @sidebarpadding 2% 0 0; |
|
204 | margin: @sidebarpadding 2% 0 0; | |
205 | padding: 0 2% 0 0; |
|
205 | padding: 0 2% 0 0; | |
206 | border-right: @border-thickness solid @grey5; |
|
206 | border-right: @border-thickness solid @grey5; | |
207 |
|
207 | |||
208 | @media (max-width:767px) { |
|
208 | @media (max-width:767px) { | |
209 | clear: both; |
|
209 | clear: both; | |
210 | width: 100%; |
|
210 | width: 100%; | |
211 | border: none; |
|
211 | border: none; | |
212 | } |
|
212 | } | |
213 |
|
213 | |||
214 | ul { |
|
214 | ul { | |
215 | padding-left: 1.25em; |
|
215 | padding-left: 1.25em; | |
216 | } |
|
216 | } | |
217 |
|
217 | |||
218 | &:last-child { |
|
218 | &:last-child { | |
219 | margin: @sidebarpadding 0 0; |
|
219 | margin: @sidebarpadding 0 0; | |
220 | border: none; |
|
220 | border: none; | |
221 | } |
|
221 | } | |
222 |
|
222 | |||
223 | h4 { |
|
223 | h4 { | |
224 | margin: 0 0 @padding; |
|
224 | margin: 0 0 @padding; | |
225 | font-weight: @text-semibold-weight; |
|
225 | font-weight: @text-semibold-weight; | |
226 | font-family: @text-semibold; |
|
226 | font-family: @text-semibold; | |
227 | } |
|
227 | } | |
228 | } |
|
228 | } | |
229 | } |
|
229 | } | |
230 | .error-page-logo { |
|
230 | .error-page-logo { | |
231 | width: 130px; |
|
231 | width: 130px; | |
232 | height: 160px; |
|
232 | height: 160px; | |
233 | } |
|
233 | } | |
234 |
|
234 | |||
235 | // HEADER |
|
235 | // HEADER | |
236 | .header { |
|
236 | .header { | |
237 |
|
237 | |||
238 | // TODO: johbo: Fix login pages, so that they work without a min-height |
|
238 | // TODO: johbo: Fix login pages, so that they work without a min-height | |
239 | // for the header and then remove the min-height. I chose a smaller value |
|
239 | // for the header and then remove the min-height. I chose a smaller value | |
240 | // intentionally here to avoid rendering issues in the main navigation. |
|
240 | // intentionally here to avoid rendering issues in the main navigation. | |
241 | min-height: 49px; |
|
241 | min-height: 49px; | |
242 | min-width: 1024px; |
|
242 | min-width: 1024px; | |
243 |
|
243 | |||
244 | position: relative; |
|
244 | position: relative; | |
245 | vertical-align: bottom; |
|
245 | vertical-align: bottom; | |
246 | padding: 0 @header-padding; |
|
246 | padding: 0 @header-padding; | |
247 | background-color: @grey1; |
|
247 | background-color: @grey1; | |
248 | color: @grey5; |
|
248 | color: @grey5; | |
249 |
|
249 | |||
250 | .title { |
|
250 | .title { | |
251 | overflow: visible; |
|
251 | overflow: visible; | |
252 | } |
|
252 | } | |
253 |
|
253 | |||
254 | &:before, |
|
254 | &:before, | |
255 | &:after { |
|
255 | &:after { | |
256 | content: ""; |
|
256 | content: ""; | |
257 | clear: both; |
|
257 | clear: both; | |
258 | width: 100%; |
|
258 | width: 100%; | |
259 | } |
|
259 | } | |
260 |
|
260 | |||
261 | // TODO: johbo: Avoids breaking "Repositories" chooser |
|
261 | // TODO: johbo: Avoids breaking "Repositories" chooser | |
262 | .select2-container .select2-choice .select2-arrow { |
|
262 | .select2-container .select2-choice .select2-arrow { | |
263 | display: none; |
|
263 | display: none; | |
264 | } |
|
264 | } | |
265 | } |
|
265 | } | |
266 |
|
266 | |||
267 | #header-inner { |
|
267 | #header-inner { | |
268 | &.title { |
|
268 | &.title { | |
269 | margin: 0; |
|
269 | margin: 0; | |
270 | } |
|
270 | } | |
271 | &:before, |
|
271 | &:before, | |
272 | &:after { |
|
272 | &:after { | |
273 | content: ""; |
|
273 | content: ""; | |
274 | clear: both; |
|
274 | clear: both; | |
275 | } |
|
275 | } | |
276 | } |
|
276 | } | |
277 |
|
277 | |||
278 | // Gists |
|
278 | // Gists | |
279 | #files_data { |
|
279 | #files_data { | |
280 | clear: both; //for firefox |
|
280 | clear: both; //for firefox | |
281 | padding-top: 10px; |
|
281 | padding-top: 10px; | |
282 | } |
|
282 | } | |
283 |
|
283 | |||
284 | #gistid { |
|
284 | #gistid { | |
285 | margin-right: @padding; |
|
285 | margin-right: @padding; | |
286 | } |
|
286 | } | |
287 |
|
287 | |||
288 | // Global Settings Editor |
|
288 | // Global Settings Editor | |
289 | .textarea.editor { |
|
289 | .textarea.editor { | |
290 | float: left; |
|
290 | float: left; | |
291 | position: relative; |
|
291 | position: relative; | |
292 | max-width: @texteditor-width; |
|
292 | max-width: @texteditor-width; | |
293 |
|
293 | |||
294 | select { |
|
294 | select { | |
295 | position: absolute; |
|
295 | position: absolute; | |
296 | top:10px; |
|
296 | top:10px; | |
297 | right:0; |
|
297 | right:0; | |
298 | } |
|
298 | } | |
299 |
|
299 | |||
300 | .CodeMirror { |
|
300 | .CodeMirror { | |
301 | margin: 0; |
|
301 | margin: 0; | |
302 | } |
|
302 | } | |
303 |
|
303 | |||
304 | .help-block { |
|
304 | .help-block { | |
305 | margin: 0 0 @padding; |
|
305 | margin: 0 0 @padding; | |
306 | padding:.5em; |
|
306 | padding:.5em; | |
307 | background-color: @grey6; |
|
307 | background-color: @grey6; | |
308 | &.pre-formatting { |
|
308 | &.pre-formatting { | |
309 | white-space: pre; |
|
309 | white-space: pre; | |
310 | } |
|
310 | } | |
311 | } |
|
311 | } | |
312 | } |
|
312 | } | |
313 |
|
313 | |||
314 | ul.auth_plugins { |
|
314 | ul.auth_plugins { | |
315 | margin: @padding 0 @padding @legend-width; |
|
315 | margin: @padding 0 @padding @legend-width; | |
316 | padding: 0; |
|
316 | padding: 0; | |
317 |
|
317 | |||
318 | li { |
|
318 | li { | |
319 | margin-bottom: @padding; |
|
319 | margin-bottom: @padding; | |
320 | line-height: 1em; |
|
320 | line-height: 1em; | |
321 | list-style-type: none; |
|
321 | list-style-type: none; | |
322 |
|
322 | |||
323 | .auth_buttons .btn { |
|
323 | .auth_buttons .btn { | |
324 | margin-right: @padding; |
|
324 | margin-right: @padding; | |
325 | } |
|
325 | } | |
326 |
|
326 | |||
327 | } |
|
327 | } | |
328 | } |
|
328 | } | |
329 |
|
329 | |||
330 |
|
330 | |||
331 | // My Account PR list |
|
331 | // My Account PR list | |
332 |
|
332 | |||
333 | #show_closed { |
|
333 | #show_closed { | |
334 | margin: 0 1em 0 0; |
|
334 | margin: 0 1em 0 0; | |
335 | } |
|
335 | } | |
336 |
|
336 | |||
337 | #pull_request_list_table { |
|
337 | #pull_request_list_table { | |
338 | .closed { |
|
338 | .closed { | |
339 | background-color: @grey6; |
|
339 | background-color: @grey6; | |
340 | } |
|
340 | } | |
341 |
|
341 | |||
342 | .state-creating, |
|
342 | .state-creating, | |
343 | .state-updating, |
|
343 | .state-updating, | |
344 | .state-merging |
|
344 | .state-merging | |
345 | { |
|
345 | { | |
346 | background-color: @grey6; |
|
346 | background-color: @grey6; | |
347 | } |
|
347 | } | |
348 |
|
348 | |||
349 | .td-status { |
|
349 | .td-status { | |
350 | padding-left: .5em; |
|
350 | padding-left: .5em; | |
351 | } |
|
351 | } | |
352 | .log-container .truncate { |
|
352 | .log-container .truncate { | |
353 | height: 2.75em; |
|
353 | height: 2.75em; | |
354 | white-space: pre-line; |
|
354 | white-space: pre-line; | |
355 | } |
|
355 | } | |
356 | table.rctable .user { |
|
356 | table.rctable .user { | |
357 | padding-left: 0; |
|
357 | padding-left: 0; | |
358 | } |
|
358 | } | |
359 | table.rctable { |
|
359 | table.rctable { | |
360 | td.td-description, |
|
360 | td.td-description, | |
361 | .rc-user { |
|
361 | .rc-user { | |
362 | min-width: auto; |
|
362 | min-width: auto; | |
363 | } |
|
363 | } | |
364 | } |
|
364 | } | |
365 | } |
|
365 | } | |
366 |
|
366 | |||
367 | // Pull Requests |
|
367 | // Pull Requests | |
368 |
|
368 | |||
369 | .pullrequests_section_head { |
|
369 | .pullrequests_section_head { | |
370 | display: block; |
|
370 | display: block; | |
371 | clear: both; |
|
371 | clear: both; | |
372 | margin: @padding 0; |
|
372 | margin: @padding 0; | |
373 | font-weight: @text-bold-weight; |
|
373 | font-weight: @text-bold-weight; | |
374 | font-family: @text-bold; |
|
374 | font-family: @text-bold; | |
375 | } |
|
375 | } | |
376 |
|
376 | |||
377 | .pr-origininfo, .pr-targetinfo { |
|
377 | .pr-origininfo, .pr-targetinfo { | |
378 | position: relative; |
|
378 | position: relative; | |
379 |
|
379 | |||
380 | .tag { |
|
380 | .tag { | |
381 | display: inline-block; |
|
381 | display: inline-block; | |
382 | margin: 0 1em .5em 0; |
|
382 | margin: 0 1em .5em 0; | |
383 | } |
|
383 | } | |
384 |
|
384 | |||
385 | .clone-url { |
|
385 | .clone-url { | |
386 | display: inline-block; |
|
386 | display: inline-block; | |
387 | margin: 0 0 .5em 0; |
|
387 | margin: 0 0 .5em 0; | |
388 | padding: 0; |
|
388 | padding: 0; | |
389 | line-height: 1.2em; |
|
389 | line-height: 1.2em; | |
390 | } |
|
390 | } | |
391 | } |
|
391 | } | |
392 |
|
392 | |||
393 | .pr-mergeinfo { |
|
393 | .pr-mergeinfo { | |
394 | min-width: 95% !important; |
|
394 | min-width: 95% !important; | |
395 | padding: 0 !important; |
|
395 | padding: 0 !important; | |
396 | border: 0; |
|
396 | border: 0; | |
397 | } |
|
397 | } | |
398 | .pr-mergeinfo-copy { |
|
398 | .pr-mergeinfo-copy { | |
399 | padding: 0 0; |
|
399 | padding: 0 0; | |
400 | } |
|
400 | } | |
401 |
|
401 | |||
402 | .pr-pullinfo { |
|
402 | .pr-pullinfo { | |
403 | min-width: 95% !important; |
|
403 | min-width: 95% !important; | |
404 | padding: 0 !important; |
|
404 | padding: 0 !important; | |
405 | border: 0; |
|
405 | border: 0; | |
406 | } |
|
406 | } | |
407 | .pr-pullinfo-copy { |
|
407 | .pr-pullinfo-copy { | |
408 | padding: 0 0; |
|
408 | padding: 0 0; | |
409 | } |
|
409 | } | |
410 |
|
410 | |||
411 |
|
411 | |||
412 | #pr-title-input { |
|
412 | #pr-title-input { | |
413 | width: 72%; |
|
413 | width: 72%; | |
414 | font-size: 1em; |
|
414 | font-size: 1em; | |
415 | margin: 0; |
|
415 | margin: 0; | |
416 | padding: 0 0 0 @padding/4; |
|
416 | padding: 0 0 0 @padding/4; | |
417 | line-height: 1.7em; |
|
417 | line-height: 1.7em; | |
418 | color: @text-color; |
|
418 | color: @text-color; | |
419 | letter-spacing: .02em; |
|
419 | letter-spacing: .02em; | |
420 | font-weight: @text-bold-weight; |
|
420 | font-weight: @text-bold-weight; | |
421 | font-family: @text-bold; |
|
421 | font-family: @text-bold; | |
422 | } |
|
422 | } | |
423 |
|
423 | |||
424 | #pullrequest_title { |
|
424 | #pullrequest_title { | |
425 | width: 100%; |
|
425 | width: 100%; | |
426 | box-sizing: border-box; |
|
426 | box-sizing: border-box; | |
427 | } |
|
427 | } | |
428 |
|
428 | |||
429 | #pr_open_message { |
|
429 | #pr_open_message { | |
430 | border: @border-thickness solid #fff; |
|
430 | border: @border-thickness solid #fff; | |
431 | border-radius: @border-radius; |
|
431 | border-radius: @border-radius; | |
432 | padding: @padding-large-vertical @padding-large-vertical @padding-large-vertical 0; |
|
432 | padding: @padding-large-vertical @padding-large-vertical @padding-large-vertical 0; | |
433 | text-align: left; |
|
433 | text-align: left; | |
434 | overflow: hidden; |
|
434 | overflow: hidden; | |
435 | } |
|
435 | } | |
436 |
|
436 | |||
437 | .pr-submit-button { |
|
437 | .pr-submit-button { | |
438 | float: right; |
|
438 | float: right; | |
439 | margin: 0 0 0 5px; |
|
439 | margin: 0 0 0 5px; | |
440 | } |
|
440 | } | |
441 |
|
441 | |||
442 | .pr-spacing-container { |
|
442 | .pr-spacing-container { | |
443 | padding: 20px; |
|
443 | padding: 20px; | |
444 | clear: both |
|
444 | clear: both | |
445 | } |
|
445 | } | |
446 |
|
446 | |||
447 | #pr-description-input { |
|
447 | #pr-description-input { | |
448 | margin-bottom: 0; |
|
448 | margin-bottom: 0; | |
449 | } |
|
449 | } | |
450 |
|
450 | |||
451 | .pr-description-label { |
|
451 | .pr-description-label { | |
452 | vertical-align: top; |
|
452 | vertical-align: top; | |
453 | } |
|
453 | } | |
454 |
|
454 | |||
455 | .perms_section_head { |
|
455 | .perms_section_head { | |
456 | min-width: 625px; |
|
456 | min-width: 625px; | |
457 |
|
457 | |||
458 | h2 { |
|
458 | h2 { | |
459 | margin-bottom: 0; |
|
459 | margin-bottom: 0; | |
460 | } |
|
460 | } | |
461 |
|
461 | |||
462 | .label-checkbox { |
|
462 | .label-checkbox { | |
463 | float: left; |
|
463 | float: left; | |
464 | } |
|
464 | } | |
465 |
|
465 | |||
466 | &.field { |
|
466 | &.field { | |
467 | margin: @space 0 @padding; |
|
467 | margin: @space 0 @padding; | |
468 | } |
|
468 | } | |
469 |
|
469 | |||
470 | &:first-child.field { |
|
470 | &:first-child.field { | |
471 | margin-top: 0; |
|
471 | margin-top: 0; | |
472 |
|
472 | |||
473 | .label { |
|
473 | .label { | |
474 | margin-top: 0; |
|
474 | margin-top: 0; | |
475 | padding-top: 0; |
|
475 | padding-top: 0; | |
476 | } |
|
476 | } | |
477 |
|
477 | |||
478 | .radios { |
|
478 | .radios { | |
479 | padding-top: 0; |
|
479 | padding-top: 0; | |
480 | } |
|
480 | } | |
481 | } |
|
481 | } | |
482 |
|
482 | |||
483 | .radios { |
|
483 | .radios { | |
484 | position: relative; |
|
484 | position: relative; | |
485 | width: 505px; |
|
485 | width: 505px; | |
486 | } |
|
486 | } | |
487 | } |
|
487 | } | |
488 |
|
488 | |||
489 | //--- MODULES ------------------// |
|
489 | //--- MODULES ------------------// | |
490 |
|
490 | |||
491 |
|
491 | |||
492 | // Server Announcement |
|
492 | // Server Announcement | |
493 | #server-announcement { |
|
493 | #server-announcement { | |
494 | width: 95%; |
|
494 | width: 95%; | |
495 | margin: @padding auto; |
|
495 | margin: @padding auto; | |
496 | padding: @padding; |
|
496 | padding: @padding; | |
497 | border-width: 2px; |
|
497 | border-width: 2px; | |
498 | border-style: solid; |
|
498 | border-style: solid; | |
499 | .border-radius(2px); |
|
499 | .border-radius(2px); | |
500 | font-weight: @text-bold-weight; |
|
500 | font-weight: @text-bold-weight; | |
501 | font-family: @text-bold; |
|
501 | font-family: @text-bold; | |
502 |
|
502 | |||
503 | &.info { border-color: @alert4; background-color: @alert4-inner; } |
|
503 | &.info { border-color: @alert4; background-color: @alert4-inner; } | |
504 | &.warning { border-color: @alert3; background-color: @alert3-inner; } |
|
504 | &.warning { border-color: @alert3; background-color: @alert3-inner; } | |
505 | &.error { border-color: @alert2; background-color: @alert2-inner; } |
|
505 | &.error { border-color: @alert2; background-color: @alert2-inner; } | |
506 | &.success { border-color: @alert1; background-color: @alert1-inner; } |
|
506 | &.success { border-color: @alert1; background-color: @alert1-inner; } | |
507 | &.neutral { border-color: @grey3; background-color: @grey6; } |
|
507 | &.neutral { border-color: @grey3; background-color: @grey6; } | |
508 | } |
|
508 | } | |
509 |
|
509 | |||
510 | // Fixed Sidebar Column |
|
510 | // Fixed Sidebar Column | |
511 | .sidebar-col-wrapper { |
|
511 | .sidebar-col-wrapper { | |
512 | padding-left: @sidebar-all-width; |
|
512 | padding-left: @sidebar-all-width; | |
513 |
|
513 | |||
514 | .sidebar { |
|
514 | .sidebar { | |
515 | width: @sidebar-width; |
|
515 | width: @sidebar-width; | |
516 | margin-left: -@sidebar-all-width; |
|
516 | margin-left: -@sidebar-all-width; | |
517 | } |
|
517 | } | |
518 | } |
|
518 | } | |
519 |
|
519 | |||
520 | .sidebar-col-wrapper.scw-small { |
|
520 | .sidebar-col-wrapper.scw-small { | |
521 | padding-left: @sidebar-small-all-width; |
|
521 | padding-left: @sidebar-small-all-width; | |
522 |
|
522 | |||
523 | .sidebar { |
|
523 | .sidebar { | |
524 | width: @sidebar-small-width; |
|
524 | width: @sidebar-small-width; | |
525 | margin-left: -@sidebar-small-all-width; |
|
525 | margin-left: -@sidebar-small-all-width; | |
526 | } |
|
526 | } | |
527 | } |
|
527 | } | |
528 |
|
528 | |||
529 |
|
529 | |||
530 | // FOOTER |
|
530 | // FOOTER | |
531 | #footer { |
|
531 | #footer { | |
532 | padding: 0; |
|
532 | padding: 0; | |
533 | text-align: center; |
|
533 | text-align: center; | |
534 | vertical-align: middle; |
|
534 | vertical-align: middle; | |
535 | color: @grey2; |
|
535 | color: @grey2; | |
536 | font-size: 11px; |
|
536 | font-size: 11px; | |
537 |
|
537 | |||
538 | p { |
|
538 | p { | |
539 | margin: 0; |
|
539 | margin: 0; | |
540 | padding: 1em; |
|
540 | padding: 1em; | |
541 | line-height: 1em; |
|
541 | line-height: 1em; | |
542 | } |
|
542 | } | |
543 |
|
543 | |||
544 | .server-instance { //server instance |
|
544 | .server-instance { //server instance | |
545 | display: none; |
|
545 | display: none; | |
546 | } |
|
546 | } | |
547 |
|
547 | |||
548 | .title { |
|
548 | .title { | |
549 | float: none; |
|
549 | float: none; | |
550 | margin: 0 auto; |
|
550 | margin: 0 auto; | |
551 | } |
|
551 | } | |
552 | } |
|
552 | } | |
553 |
|
553 | |||
554 | button.close { |
|
554 | button.close { | |
555 | padding: 0; |
|
555 | padding: 0; | |
556 | cursor: pointer; |
|
556 | cursor: pointer; | |
557 | background: transparent; |
|
557 | background: transparent; | |
558 | border: 0; |
|
558 | border: 0; | |
559 | .box-shadow(none); |
|
559 | .box-shadow(none); | |
560 | -webkit-appearance: none; |
|
560 | -webkit-appearance: none; | |
561 | } |
|
561 | } | |
562 |
|
562 | |||
563 | .close { |
|
563 | .close { | |
564 | float: right; |
|
564 | float: right; | |
565 | font-size: 21px; |
|
565 | font-size: 21px; | |
566 | font-family: @text-bootstrap; |
|
566 | font-family: @text-bootstrap; | |
567 | line-height: 1em; |
|
567 | line-height: 1em; | |
568 | font-weight: bold; |
|
568 | font-weight: bold; | |
569 | color: @grey2; |
|
569 | color: @grey2; | |
570 |
|
570 | |||
571 | &:hover, |
|
571 | &:hover, | |
572 | &:focus { |
|
572 | &:focus { | |
573 | color: @grey1; |
|
573 | color: @grey1; | |
574 | text-decoration: none; |
|
574 | text-decoration: none; | |
575 | cursor: pointer; |
|
575 | cursor: pointer; | |
576 | } |
|
576 | } | |
577 | } |
|
577 | } | |
578 |
|
578 | |||
579 | // GRID |
|
579 | // GRID | |
580 | .sorting, |
|
580 | .sorting, | |
581 | .sorting_desc, |
|
581 | .sorting_desc, | |
582 | .sorting_asc { |
|
582 | .sorting_asc { | |
583 | cursor: pointer; |
|
583 | cursor: pointer; | |
584 | } |
|
584 | } | |
585 | .sorting_desc:after { |
|
585 | .sorting_desc:after { | |
586 | content: "\00A0\25B2"; |
|
586 | content: "\00A0\25B2"; | |
587 | font-size: .75em; |
|
587 | font-size: .75em; | |
588 | } |
|
588 | } | |
589 | .sorting_asc:after { |
|
589 | .sorting_asc:after { | |
590 | content: "\00A0\25BC"; |
|
590 | content: "\00A0\25BC"; | |
591 | font-size: .68em; |
|
591 | font-size: .68em; | |
592 | } |
|
592 | } | |
593 |
|
593 | |||
594 |
|
594 | |||
595 | .user_auth_tokens { |
|
595 | .user_auth_tokens { | |
596 |
|
596 | |||
597 | &.truncate { |
|
597 | &.truncate { | |
598 | white-space: nowrap; |
|
598 | white-space: nowrap; | |
599 | overflow: hidden; |
|
599 | overflow: hidden; | |
600 | text-overflow: ellipsis; |
|
600 | text-overflow: ellipsis; | |
601 | } |
|
601 | } | |
602 |
|
602 | |||
603 | .fields .field .input { |
|
603 | .fields .field .input { | |
604 | margin: 0; |
|
604 | margin: 0; | |
605 | } |
|
605 | } | |
606 |
|
606 | |||
607 | input#description { |
|
607 | input#description { | |
608 | width: 100px; |
|
608 | width: 100px; | |
609 | margin: 0; |
|
609 | margin: 0; | |
610 | } |
|
610 | } | |
611 |
|
611 | |||
612 | .drop-menu { |
|
612 | .drop-menu { | |
613 | // TODO: johbo: Remove this, should work out of the box when |
|
613 | // TODO: johbo: Remove this, should work out of the box when | |
614 | // having multiple inputs inline |
|
614 | // having multiple inputs inline | |
615 | margin: 0 0 0 5px; |
|
615 | margin: 0 0 0 5px; | |
616 | } |
|
616 | } | |
617 | } |
|
617 | } | |
618 | #user_list_table { |
|
618 | #user_list_table { | |
619 | .closed { |
|
619 | .closed { | |
620 | background-color: @grey6; |
|
620 | background-color: @grey6; | |
621 | } |
|
621 | } | |
622 | } |
|
622 | } | |
623 |
|
623 | |||
624 |
|
624 | |||
625 | input, textarea { |
|
625 | input, textarea { | |
626 | &.disabled { |
|
626 | &.disabled { | |
627 | opacity: .5; |
|
627 | opacity: .5; | |
628 | } |
|
628 | } | |
629 |
|
629 | |||
630 | &:hover { |
|
630 | &:hover { | |
631 | border-color: @grey3; |
|
631 | border-color: @grey3; | |
632 | box-shadow: @button-shadow; |
|
632 | box-shadow: @button-shadow; | |
633 | } |
|
633 | } | |
634 |
|
634 | |||
635 | &:focus { |
|
635 | &:focus { | |
636 | border-color: @rcblue; |
|
636 | border-color: @rcblue; | |
637 | box-shadow: @button-shadow; |
|
637 | box-shadow: @button-shadow; | |
638 | } |
|
638 | } | |
639 | } |
|
639 | } | |
640 |
|
640 | |||
641 | // remove extra padding in firefox |
|
641 | // remove extra padding in firefox | |
642 | input::-moz-focus-inner { border:0; padding:0 } |
|
642 | input::-moz-focus-inner { border:0; padding:0 } | |
643 |
|
643 | |||
644 | .adjacent input { |
|
644 | .adjacent input { | |
645 | margin-bottom: @padding; |
|
645 | margin-bottom: @padding; | |
646 | } |
|
646 | } | |
647 |
|
647 | |||
648 | .permissions_boxes { |
|
648 | .permissions_boxes { | |
649 | display: block; |
|
649 | display: block; | |
650 | } |
|
650 | } | |
651 |
|
651 | |||
652 | //FORMS |
|
652 | //FORMS | |
653 |
|
653 | |||
654 | .medium-inline, |
|
654 | .medium-inline, | |
655 | input#description.medium-inline { |
|
655 | input#description.medium-inline { | |
656 | display: inline; |
|
656 | display: inline; | |
657 | width: @medium-inline-input-width; |
|
657 | width: @medium-inline-input-width; | |
658 | min-width: 100px; |
|
658 | min-width: 100px; | |
659 | } |
|
659 | } | |
660 |
|
660 | |||
661 | select { |
|
661 | select { | |
662 | //reset |
|
662 | //reset | |
663 | -webkit-appearance: none; |
|
663 | -webkit-appearance: none; | |
664 | -moz-appearance: none; |
|
664 | -moz-appearance: none; | |
665 |
|
665 | |||
666 | display: inline-block; |
|
666 | display: inline-block; | |
667 | height: 28px; |
|
667 | height: 28px; | |
668 | width: auto; |
|
668 | width: auto; | |
669 | margin: 0 @padding @padding 0; |
|
669 | margin: 0 @padding @padding 0; | |
670 | padding: 0 18px 0 8px; |
|
670 | padding: 0 18px 0 8px; | |
671 | line-height:1em; |
|
671 | line-height:1em; | |
672 | font-size: @basefontsize; |
|
672 | font-size: @basefontsize; | |
673 | border: @border-thickness solid @grey5; |
|
673 | border: @border-thickness solid @grey5; | |
674 | border-radius: @border-radius; |
|
674 | border-radius: @border-radius; | |
675 | background:white url("../images/dt-arrow-dn.png") no-repeat 100% 50%; |
|
675 | background:white url("../images/dt-arrow-dn.png") no-repeat 100% 50%; | |
676 | color: @grey4; |
|
676 | color: @grey4; | |
677 | box-shadow: @button-shadow; |
|
677 | box-shadow: @button-shadow; | |
678 |
|
678 | |||
679 | &:after { |
|
679 | &:after { | |
680 | content: "\00A0\25BE"; |
|
680 | content: "\00A0\25BE"; | |
681 | } |
|
681 | } | |
682 |
|
682 | |||
683 | &:focus, &:hover { |
|
683 | &:focus, &:hover { | |
684 | outline: none; |
|
684 | outline: none; | |
685 | border-color: @grey4; |
|
685 | border-color: @grey4; | |
686 | color: @rcdarkblue; |
|
686 | color: @rcdarkblue; | |
687 | } |
|
687 | } | |
688 | } |
|
688 | } | |
689 |
|
689 | |||
690 | option { |
|
690 | option { | |
691 | &:focus { |
|
691 | &:focus { | |
692 | outline: none; |
|
692 | outline: none; | |
693 | } |
|
693 | } | |
694 | } |
|
694 | } | |
695 |
|
695 | |||
696 | input, |
|
696 | input, | |
697 | textarea { |
|
697 | textarea { | |
698 | padding: @input-padding; |
|
698 | padding: @input-padding; | |
699 | border: @input-border-thickness solid @border-highlight-color; |
|
699 | border: @input-border-thickness solid @border-highlight-color; | |
700 | .border-radius (@border-radius); |
|
700 | .border-radius (@border-radius); | |
701 | font-family: @text-light; |
|
701 | font-family: @text-light; | |
702 | font-size: @basefontsize; |
|
702 | font-size: @basefontsize; | |
703 |
|
703 | |||
704 | &.input-sm { |
|
704 | &.input-sm { | |
705 | padding: 5px; |
|
705 | padding: 5px; | |
706 | } |
|
706 | } | |
707 |
|
707 | |||
708 | &#description { |
|
708 | &#description { | |
709 | min-width: @input-description-minwidth; |
|
709 | min-width: @input-description-minwidth; | |
710 | min-height: 1em; |
|
710 | min-height: 1em; | |
711 | padding: 10px; |
|
711 | padding: 10px; | |
712 | } |
|
712 | } | |
713 | } |
|
713 | } | |
714 |
|
714 | |||
715 | .field-sm { |
|
715 | .field-sm { | |
716 | input, |
|
716 | input, | |
717 | textarea { |
|
717 | textarea { | |
718 | padding: 5px; |
|
718 | padding: 5px; | |
719 | } |
|
719 | } | |
720 | } |
|
720 | } | |
721 |
|
721 | |||
722 | textarea { |
|
722 | textarea { | |
723 | display: block; |
|
723 | display: block; | |
724 | clear: both; |
|
724 | clear: both; | |
725 | width: 100%; |
|
725 | width: 100%; | |
726 | min-height: 100px; |
|
726 | min-height: 100px; | |
727 | margin-bottom: @padding; |
|
727 | margin-bottom: @padding; | |
728 | .box-sizing(border-box); |
|
728 | .box-sizing(border-box); | |
729 | overflow: auto; |
|
729 | overflow: auto; | |
730 | } |
|
730 | } | |
731 |
|
731 | |||
732 | label { |
|
732 | label { | |
733 | font-family: @text-light; |
|
733 | font-family: @text-light; | |
734 | } |
|
734 | } | |
735 |
|
735 | |||
736 | // GRAVATARS |
|
736 | // GRAVATARS | |
737 | // centers gravatar on username to the right |
|
737 | // centers gravatar on username to the right | |
738 |
|
738 | |||
739 | .gravatar { |
|
739 | .gravatar { | |
740 | display: inline; |
|
740 | display: inline; | |
741 | min-width: 16px; |
|
741 | min-width: 16px; | |
742 | min-height: 16px; |
|
742 | min-height: 16px; | |
743 | margin: -5px 0; |
|
743 | margin: -5px 0; | |
744 | padding: 0; |
|
744 | padding: 0; | |
745 | line-height: 1em; |
|
745 | line-height: 1em; | |
746 | box-sizing: content-box; |
|
746 | box-sizing: content-box; | |
747 | border-radius: 50%; |
|
747 | border-radius: 50%; | |
748 |
|
748 | |||
749 | &.gravatar-large { |
|
749 | &.gravatar-large { | |
750 | margin: -0.5em .25em -0.5em 0; |
|
750 | margin: -0.5em .25em -0.5em 0; | |
751 | } |
|
751 | } | |
752 |
|
752 | |||
753 | & + .user { |
|
753 | & + .user { | |
754 | display: inline; |
|
754 | display: inline; | |
755 | margin: 0; |
|
755 | margin: 0; | |
756 | padding: 0 0 0 .17em; |
|
756 | padding: 0 0 0 .17em; | |
757 | line-height: 1em; |
|
757 | line-height: 1em; | |
758 | } |
|
758 | } | |
759 | } |
|
759 | } | |
760 |
|
760 | |||
761 | .user-inline-data { |
|
761 | .user-inline-data { | |
762 | display: inline-block; |
|
762 | display: inline-block; | |
763 | float: left; |
|
763 | float: left; | |
764 | padding-left: .5em; |
|
764 | padding-left: .5em; | |
765 | line-height: 1.3em; |
|
765 | line-height: 1.3em; | |
766 | } |
|
766 | } | |
767 |
|
767 | |||
768 | .rc-user { // gravatar + user wrapper |
|
768 | .rc-user { // gravatar + user wrapper | |
769 | float: left; |
|
769 | float: left; | |
770 | position: relative; |
|
770 | position: relative; | |
771 | min-width: 100px; |
|
771 | min-width: 100px; | |
772 | max-width: 200px; |
|
772 | max-width: 200px; | |
773 | min-height: (@gravatar-size + @border-thickness * 2); // account for border |
|
773 | min-height: (@gravatar-size + @border-thickness * 2); // account for border | |
774 | display: block; |
|
774 | display: block; | |
775 | padding: 0 0 0 (@gravatar-size + @basefontsize/2 + @border-thickness * 2); |
|
775 | padding: 0 0 0 (@gravatar-size + @basefontsize/2 + @border-thickness * 2); | |
776 |
|
776 | |||
777 |
|
777 | |||
778 | .gravatar { |
|
778 | .gravatar { | |
779 | display: block; |
|
779 | display: block; | |
780 | position: absolute; |
|
780 | position: absolute; | |
781 | top: 0; |
|
781 | top: 0; | |
782 | left: 0; |
|
782 | left: 0; | |
783 | min-width: @gravatar-size; |
|
783 | min-width: @gravatar-size; | |
784 | min-height: @gravatar-size; |
|
784 | min-height: @gravatar-size; | |
785 | margin: 0; |
|
785 | margin: 0; | |
786 | } |
|
786 | } | |
787 |
|
787 | |||
788 | .user { |
|
788 | .user { | |
789 | display: block; |
|
789 | display: block; | |
790 | max-width: 175px; |
|
790 | max-width: 175px; | |
791 | padding-top: 2px; |
|
791 | padding-top: 2px; | |
792 | overflow: hidden; |
|
792 | overflow: hidden; | |
793 | text-overflow: ellipsis; |
|
793 | text-overflow: ellipsis; | |
794 | } |
|
794 | } | |
795 | } |
|
795 | } | |
796 |
|
796 | |||
797 | .gist-gravatar, |
|
797 | .gist-gravatar, | |
798 | .journal_container { |
|
798 | .journal_container { | |
799 | .gravatar-large { |
|
799 | .gravatar-large { | |
800 | margin: 0 .5em -10px 0; |
|
800 | margin: 0 .5em -10px 0; | |
801 | } |
|
801 | } | |
802 | } |
|
802 | } | |
803 |
|
803 | |||
804 |
|
804 | |||
805 | // ADMIN SETTINGS |
|
805 | // ADMIN SETTINGS | |
806 |
|
806 | |||
807 | // Tag Patterns |
|
807 | // Tag Patterns | |
808 | .tag_patterns { |
|
808 | .tag_patterns { | |
809 | .tag_input { |
|
809 | .tag_input { | |
810 | margin-bottom: @padding; |
|
810 | margin-bottom: @padding; | |
811 | } |
|
811 | } | |
812 | } |
|
812 | } | |
813 |
|
813 | |||
814 | .locked_input { |
|
814 | .locked_input { | |
815 | position: relative; |
|
815 | position: relative; | |
816 |
|
816 | |||
817 | input { |
|
817 | input { | |
818 | display: inline; |
|
818 | display: inline; | |
819 | margin: 3px 5px 0px 0px; |
|
819 | margin: 3px 5px 0px 0px; | |
820 | } |
|
820 | } | |
821 |
|
821 | |||
822 | br { |
|
822 | br { | |
823 | display: none; |
|
823 | display: none; | |
824 | } |
|
824 | } | |
825 |
|
825 | |||
826 | .error-message { |
|
826 | .error-message { | |
827 | float: left; |
|
827 | float: left; | |
828 | width: 100%; |
|
828 | width: 100%; | |
829 | } |
|
829 | } | |
830 |
|
830 | |||
831 | .lock_input_button { |
|
831 | .lock_input_button { | |
832 | display: inline; |
|
832 | display: inline; | |
833 | } |
|
833 | } | |
834 |
|
834 | |||
835 | .help-block { |
|
835 | .help-block { | |
836 | clear: both; |
|
836 | clear: both; | |
837 | } |
|
837 | } | |
838 | } |
|
838 | } | |
839 |
|
839 | |||
840 | // Notifications |
|
840 | // Notifications | |
841 |
|
841 | |||
842 | .notifications_buttons { |
|
842 | .notifications_buttons { | |
843 | margin: 0 0 @space 0; |
|
843 | margin: 0 0 @space 0; | |
844 | padding: 0; |
|
844 | padding: 0; | |
845 |
|
845 | |||
846 | .btn { |
|
846 | .btn { | |
847 | display: inline-block; |
|
847 | display: inline-block; | |
848 | } |
|
848 | } | |
849 | } |
|
849 | } | |
850 |
|
850 | |||
851 | .notification-list { |
|
851 | .notification-list { | |
852 |
|
852 | |||
853 | div { |
|
853 | div { | |
854 | display: inline-block; |
|
854 | display: inline-block; | |
855 | vertical-align: middle; |
|
855 | vertical-align: middle; | |
856 | } |
|
856 | } | |
857 |
|
857 | |||
858 | .container { |
|
858 | .container { | |
859 | display: block; |
|
859 | display: block; | |
860 | margin: 0 0 @padding 0; |
|
860 | margin: 0 0 @padding 0; | |
861 | } |
|
861 | } | |
862 |
|
862 | |||
863 | .delete-notifications { |
|
863 | .delete-notifications { | |
864 | margin-left: @padding; |
|
864 | margin-left: @padding; | |
865 | text-align: right; |
|
865 | text-align: right; | |
866 | cursor: pointer; |
|
866 | cursor: pointer; | |
867 | } |
|
867 | } | |
868 |
|
868 | |||
869 | .read-notifications { |
|
869 | .read-notifications { | |
870 | margin-left: @padding/2; |
|
870 | margin-left: @padding/2; | |
871 | text-align: right; |
|
871 | text-align: right; | |
872 | width: 35px; |
|
872 | width: 35px; | |
873 | cursor: pointer; |
|
873 | cursor: pointer; | |
874 | } |
|
874 | } | |
875 |
|
875 | |||
876 | .icon-minus-sign { |
|
876 | .icon-minus-sign { | |
877 | color: @alert2; |
|
877 | color: @alert2; | |
878 | } |
|
878 | } | |
879 |
|
879 | |||
880 | .icon-ok-sign { |
|
880 | .icon-ok-sign { | |
881 | color: @alert1; |
|
881 | color: @alert1; | |
882 | } |
|
882 | } | |
883 | } |
|
883 | } | |
884 |
|
884 | |||
885 | .user_settings { |
|
885 | .user_settings { | |
886 | float: left; |
|
886 | float: left; | |
887 | clear: both; |
|
887 | clear: both; | |
888 | display: block; |
|
888 | display: block; | |
889 | width: 100%; |
|
889 | width: 100%; | |
890 |
|
890 | |||
891 | .gravatar_box { |
|
891 | .gravatar_box { | |
892 | margin-bottom: @padding; |
|
892 | margin-bottom: @padding; | |
893 |
|
893 | |||
894 | &:after { |
|
894 | &:after { | |
895 | content: " "; |
|
895 | content: " "; | |
896 | clear: both; |
|
896 | clear: both; | |
897 | width: 100%; |
|
897 | width: 100%; | |
898 | } |
|
898 | } | |
899 | } |
|
899 | } | |
900 |
|
900 | |||
901 | .fields .field { |
|
901 | .fields .field { | |
902 | clear: both; |
|
902 | clear: both; | |
903 | } |
|
903 | } | |
904 | } |
|
904 | } | |
905 |
|
905 | |||
906 | .advanced_settings { |
|
906 | .advanced_settings { | |
907 | margin-bottom: @space; |
|
907 | margin-bottom: @space; | |
908 |
|
908 | |||
909 | .help-block { |
|
909 | .help-block { | |
910 | margin-left: 0; |
|
910 | margin-left: 0; | |
911 | } |
|
911 | } | |
912 |
|
912 | |||
913 | button + .help-block { |
|
913 | button + .help-block { | |
914 | margin-top: @padding; |
|
914 | margin-top: @padding; | |
915 | } |
|
915 | } | |
916 | } |
|
916 | } | |
917 |
|
917 | |||
918 | // admin settings radio buttons and labels |
|
918 | // admin settings radio buttons and labels | |
919 | .label-2 { |
|
919 | .label-2 { | |
920 | float: left; |
|
920 | float: left; | |
921 | width: @label2-width; |
|
921 | width: @label2-width; | |
922 |
|
922 | |||
923 | label { |
|
923 | label { | |
924 | color: @grey1; |
|
924 | color: @grey1; | |
925 | } |
|
925 | } | |
926 | } |
|
926 | } | |
927 | .checkboxes { |
|
927 | .checkboxes { | |
928 | float: left; |
|
928 | float: left; | |
929 | width: @checkboxes-width; |
|
929 | width: @checkboxes-width; | |
930 | margin-bottom: @padding; |
|
930 | margin-bottom: @padding; | |
931 |
|
931 | |||
932 | .checkbox { |
|
932 | .checkbox { | |
933 | width: 100%; |
|
933 | width: 100%; | |
934 |
|
934 | |||
935 | label { |
|
935 | label { | |
936 | margin: 0; |
|
936 | margin: 0; | |
937 | padding: 0; |
|
937 | padding: 0; | |
938 | } |
|
938 | } | |
939 | } |
|
939 | } | |
940 |
|
940 | |||
941 | .checkbox + .checkbox { |
|
941 | .checkbox + .checkbox { | |
942 | display: inline-block; |
|
942 | display: inline-block; | |
943 | } |
|
943 | } | |
944 |
|
944 | |||
945 | label { |
|
945 | label { | |
946 | margin-right: 1em; |
|
946 | margin-right: 1em; | |
947 | } |
|
947 | } | |
948 | } |
|
948 | } | |
949 |
|
949 | |||
950 | // CHANGELOG |
|
950 | // CHANGELOG | |
951 | .container_header { |
|
951 | .container_header { | |
952 | float: left; |
|
952 | float: left; | |
953 | display: block; |
|
953 | display: block; | |
954 | width: 100%; |
|
954 | width: 100%; | |
955 | margin: @padding 0 @padding; |
|
955 | margin: @padding 0 @padding; | |
956 |
|
956 | |||
957 | #filter_changelog { |
|
957 | #filter_changelog { | |
958 | float: left; |
|
958 | float: left; | |
959 | margin-right: @padding; |
|
959 | margin-right: @padding; | |
960 | } |
|
960 | } | |
961 |
|
961 | |||
962 | .breadcrumbs_light { |
|
962 | .breadcrumbs_light { | |
963 | display: inline-block; |
|
963 | display: inline-block; | |
964 | } |
|
964 | } | |
965 | } |
|
965 | } | |
966 |
|
966 | |||
967 | .info_box { |
|
967 | .info_box { | |
968 | float: right; |
|
968 | float: right; | |
969 | } |
|
969 | } | |
970 |
|
970 | |||
971 |
|
971 | |||
972 |
|
972 | |||
973 | #graph_content{ |
|
973 | #graph_content{ | |
974 |
|
974 | |||
975 | // adjust for table headers so that graph renders properly |
|
975 | // adjust for table headers so that graph renders properly | |
976 | // #graph_nodes padding - table cell padding |
|
976 | // #graph_nodes padding - table cell padding | |
977 | padding-top: (@space - (@basefontsize * 2.4)); |
|
977 | padding-top: (@space - (@basefontsize * 2.4)); | |
978 |
|
978 | |||
979 | &.graph_full_width { |
|
979 | &.graph_full_width { | |
980 | width: 100%; |
|
980 | width: 100%; | |
981 | max-width: 100%; |
|
981 | max-width: 100%; | |
982 | } |
|
982 | } | |
983 | } |
|
983 | } | |
984 |
|
984 | |||
985 | #graph { |
|
985 | #graph { | |
986 | .flag_status { |
|
986 | .flag_status { | |
987 | margin: 0; |
|
987 | margin: 0; | |
988 | } |
|
988 | } | |
989 |
|
989 | |||
990 | .pagination-left { |
|
990 | .pagination-left { | |
991 | float: left; |
|
991 | float: left; | |
992 | clear: both; |
|
992 | clear: both; | |
993 | } |
|
993 | } | |
994 |
|
994 | |||
995 | .log-container { |
|
995 | .log-container { | |
996 | max-width: 345px; |
|
996 | max-width: 345px; | |
997 |
|
997 | |||
998 | .message{ |
|
998 | .message{ | |
999 | max-width: 340px; |
|
999 | max-width: 340px; | |
1000 | } |
|
1000 | } | |
1001 | } |
|
1001 | } | |
1002 |
|
1002 | |||
1003 | .graph-col-wrapper { |
|
1003 | .graph-col-wrapper { | |
1004 |
|
1004 | |||
1005 | #graph_nodes { |
|
1005 | #graph_nodes { | |
1006 | width: 100px; |
|
1006 | width: 100px; | |
1007 | position: absolute; |
|
1007 | position: absolute; | |
1008 | left: 70px; |
|
1008 | left: 70px; | |
1009 | z-index: -1; |
|
1009 | z-index: -1; | |
1010 | } |
|
1010 | } | |
1011 | } |
|
1011 | } | |
1012 |
|
1012 | |||
1013 | .load-more-commits { |
|
1013 | .load-more-commits { | |
1014 | text-align: center; |
|
1014 | text-align: center; | |
1015 | } |
|
1015 | } | |
1016 | .load-more-commits:hover { |
|
1016 | .load-more-commits:hover { | |
1017 | background-color: @grey7; |
|
1017 | background-color: @grey7; | |
1018 | } |
|
1018 | } | |
1019 | .load-more-commits { |
|
1019 | .load-more-commits { | |
1020 | a { |
|
1020 | a { | |
1021 | display: block; |
|
1021 | display: block; | |
1022 | } |
|
1022 | } | |
1023 | } |
|
1023 | } | |
1024 | } |
|
1024 | } | |
1025 |
|
1025 | |||
1026 | .obsolete-toggle { |
|
1026 | .obsolete-toggle { | |
1027 | line-height: 30px; |
|
1027 | line-height: 30px; | |
1028 | margin-left: -15px; |
|
1028 | margin-left: -15px; | |
1029 | } |
|
1029 | } | |
1030 |
|
1030 | |||
1031 | #rev_range_container, #rev_range_clear, #rev_range_more { |
|
1031 | #rev_range_container, #rev_range_clear, #rev_range_more { | |
1032 | margin-top: -5px; |
|
1032 | margin-top: -5px; | |
1033 | margin-bottom: -5px; |
|
1033 | margin-bottom: -5px; | |
1034 | } |
|
1034 | } | |
1035 |
|
1035 | |||
1036 | #filter_changelog { |
|
1036 | #filter_changelog { | |
1037 | float: left; |
|
1037 | float: left; | |
1038 | } |
|
1038 | } | |
1039 |
|
1039 | |||
1040 |
|
1040 | |||
1041 | //--- THEME ------------------// |
|
1041 | //--- THEME ------------------// | |
1042 |
|
1042 | |||
1043 | #logo { |
|
1043 | #logo { | |
1044 | float: left; |
|
1044 | float: left; | |
1045 | margin: 9px 0 0 0; |
|
1045 | margin: 9px 0 0 0; | |
1046 |
|
1046 | |||
1047 | .header { |
|
1047 | .header { | |
1048 | background-color: transparent; |
|
1048 | background-color: transparent; | |
1049 | } |
|
1049 | } | |
1050 |
|
1050 | |||
1051 | a { |
|
1051 | a { | |
1052 | display: inline-block; |
|
1052 | display: inline-block; | |
1053 | } |
|
1053 | } | |
1054 |
|
1054 | |||
1055 | img { |
|
1055 | img { | |
1056 | height:30px; |
|
1056 | height:30px; | |
1057 | } |
|
1057 | } | |
1058 | } |
|
1058 | } | |
1059 |
|
1059 | |||
1060 | .logo-wrapper { |
|
1060 | .logo-wrapper { | |
1061 | float:left; |
|
1061 | float:left; | |
1062 | } |
|
1062 | } | |
1063 |
|
1063 | |||
1064 | .branding { |
|
1064 | .branding { | |
1065 | float: left; |
|
1065 | float: left; | |
1066 | padding: 9px 2px; |
|
1066 | padding: 9px 2px; | |
1067 | line-height: 1em; |
|
1067 | line-height: 1em; | |
1068 | font-size: @navigation-fontsize; |
|
1068 | font-size: @navigation-fontsize; | |
1069 |
|
1069 | |||
1070 | a { |
|
1070 | a { | |
1071 | color: @grey5 |
|
1071 | color: @grey5 | |
1072 | } |
|
1072 | } | |
1073 | @media screen and (max-width: 1200px) { |
|
1073 | @media screen and (max-width: 1200px) { | |
1074 | display: none; |
|
1074 | display: none; | |
1075 | } |
|
1075 | } | |
1076 | } |
|
1076 | } | |
1077 |
|
1077 | |||
1078 | img { |
|
1078 | img { | |
1079 | border: none; |
|
1079 | border: none; | |
1080 | outline: none; |
|
1080 | outline: none; | |
1081 | } |
|
1081 | } | |
1082 | user-profile-header |
|
1082 | user-profile-header | |
1083 | label { |
|
1083 | label { | |
1084 |
|
1084 | |||
1085 | input[type="checkbox"] { |
|
1085 | input[type="checkbox"] { | |
1086 | margin-right: 1em; |
|
1086 | margin-right: 1em; | |
1087 | } |
|
1087 | } | |
1088 | input[type="radio"] { |
|
1088 | input[type="radio"] { | |
1089 | margin-right: 1em; |
|
1089 | margin-right: 1em; | |
1090 | } |
|
1090 | } | |
1091 | } |
|
1091 | } | |
1092 |
|
1092 | |||
1093 | .flag_status { |
|
1093 | .flag_status { | |
1094 | margin: 2px; |
|
1094 | margin: 2px; | |
1095 | &.under_review { |
|
1095 | &.under_review { | |
1096 | .circle(5px, @alert3); |
|
1096 | .circle(5px, @alert3); | |
1097 | } |
|
1097 | } | |
1098 | &.approved { |
|
1098 | &.approved { | |
1099 | .circle(5px, @alert1); |
|
1099 | .circle(5px, @alert1); | |
1100 | } |
|
1100 | } | |
1101 | &.rejected, |
|
1101 | &.rejected, | |
1102 | &.forced_closed{ |
|
1102 | &.forced_closed{ | |
1103 | .circle(5px, @alert2); |
|
1103 | .circle(5px, @alert2); | |
1104 | } |
|
1104 | } | |
1105 | &.not_reviewed { |
|
1105 | &.not_reviewed { | |
1106 | .circle(5px, @grey5); |
|
1106 | .circle(5px, @grey5); | |
1107 | } |
|
1107 | } | |
1108 | } |
|
1108 | } | |
1109 |
|
1109 | |||
|
1110 | .review-status { | |||
|
1111 | &.under_review { | |||
|
1112 | color: @alert3; | |||
|
1113 | } | |||
|
1114 | &.approved { | |||
|
1115 | color: @alert1; | |||
|
1116 | } | |||
|
1117 | &.rejected, | |||
|
1118 | &.forced_closed{ | |||
|
1119 | color: @alert2; | |||
|
1120 | } | |||
|
1121 | &.not_reviewed { | |||
|
1122 | color: @grey5; | |||
|
1123 | } | |||
|
1124 | } | |||
|
1125 | ||||
|
1126 | .review-status-under_review { | |||
|
1127 | color: @alert3; | |||
|
1128 | } | |||
|
1129 | .status-tag-under_review { | |||
|
1130 | border-color: @alert3; | |||
|
1131 | } | |||
|
1132 | ||||
|
1133 | .review-status-approved { | |||
|
1134 | color: @alert1; | |||
|
1135 | } | |||
|
1136 | .status-tag-approved { | |||
|
1137 | border-color: @alert1; | |||
|
1138 | } | |||
|
1139 | ||||
|
1140 | .review-status-rejected, | |||
|
1141 | .review-status-forced_closed { | |||
|
1142 | color: @alert2; | |||
|
1143 | } | |||
|
1144 | .status-tag-rejected, | |||
|
1145 | .status-tag-forced_closed { | |||
|
1146 | border-color: @alert2; | |||
|
1147 | } | |||
|
1148 | ||||
|
1149 | .review-status-not_reviewed { | |||
|
1150 | color: @grey5; | |||
|
1151 | } | |||
|
1152 | .status-tag-not_reviewed { | |||
|
1153 | border-color: @grey5; | |||
|
1154 | } | |||
|
1155 | ||||
1110 | .flag_status_comment_box { |
|
1156 | .flag_status_comment_box { | |
1111 | margin: 5px 6px 0px 2px; |
|
1157 | margin: 5px 6px 0px 2px; | |
1112 | } |
|
1158 | } | |
1113 | .test_pattern_preview { |
|
1159 | .test_pattern_preview { | |
1114 | margin: @space 0; |
|
1160 | margin: @space 0; | |
1115 |
|
1161 | |||
1116 | p { |
|
1162 | p { | |
1117 | margin-bottom: 0; |
|
1163 | margin-bottom: 0; | |
1118 | border-bottom: @border-thickness solid @border-default-color; |
|
1164 | border-bottom: @border-thickness solid @border-default-color; | |
1119 | color: @grey3; |
|
1165 | color: @grey3; | |
1120 | } |
|
1166 | } | |
1121 |
|
1167 | |||
1122 | .btn { |
|
1168 | .btn { | |
1123 | margin-bottom: @padding; |
|
1169 | margin-bottom: @padding; | |
1124 | } |
|
1170 | } | |
1125 | } |
|
1171 | } | |
1126 | #test_pattern_result { |
|
1172 | #test_pattern_result { | |
1127 | display: none; |
|
1173 | display: none; | |
1128 | &:extend(pre); |
|
1174 | &:extend(pre); | |
1129 | padding: .9em; |
|
1175 | padding: .9em; | |
1130 | color: @grey3; |
|
1176 | color: @grey3; | |
1131 | background-color: @grey7; |
|
1177 | background-color: @grey7; | |
1132 | border-right: @border-thickness solid @border-default-color; |
|
1178 | border-right: @border-thickness solid @border-default-color; | |
1133 | border-bottom: @border-thickness solid @border-default-color; |
|
1179 | border-bottom: @border-thickness solid @border-default-color; | |
1134 | border-left: @border-thickness solid @border-default-color; |
|
1180 | border-left: @border-thickness solid @border-default-color; | |
1135 | } |
|
1181 | } | |
1136 |
|
1182 | |||
1137 | #repo_vcs_settings { |
|
1183 | #repo_vcs_settings { | |
1138 | #inherit_overlay_vcs_default { |
|
1184 | #inherit_overlay_vcs_default { | |
1139 | display: none; |
|
1185 | display: none; | |
1140 | } |
|
1186 | } | |
1141 | #inherit_overlay_vcs_custom { |
|
1187 | #inherit_overlay_vcs_custom { | |
1142 | display: custom; |
|
1188 | display: custom; | |
1143 | } |
|
1189 | } | |
1144 | &.inherited { |
|
1190 | &.inherited { | |
1145 | #inherit_overlay_vcs_default { |
|
1191 | #inherit_overlay_vcs_default { | |
1146 | display: block; |
|
1192 | display: block; | |
1147 | } |
|
1193 | } | |
1148 | #inherit_overlay_vcs_custom { |
|
1194 | #inherit_overlay_vcs_custom { | |
1149 | display: none; |
|
1195 | display: none; | |
1150 | } |
|
1196 | } | |
1151 | } |
|
1197 | } | |
1152 | } |
|
1198 | } | |
1153 |
|
1199 | |||
1154 | .issue-tracker-link { |
|
1200 | .issue-tracker-link { | |
1155 | color: @rcblue; |
|
1201 | color: @rcblue; | |
1156 | } |
|
1202 | } | |
1157 |
|
1203 | |||
1158 | // Issue Tracker Table Show/Hide |
|
1204 | // Issue Tracker Table Show/Hide | |
1159 | #repo_issue_tracker { |
|
1205 | #repo_issue_tracker { | |
1160 | #inherit_overlay { |
|
1206 | #inherit_overlay { | |
1161 | display: none; |
|
1207 | display: none; | |
1162 | } |
|
1208 | } | |
1163 | #custom_overlay { |
|
1209 | #custom_overlay { | |
1164 | display: custom; |
|
1210 | display: custom; | |
1165 | } |
|
1211 | } | |
1166 | &.inherited { |
|
1212 | &.inherited { | |
1167 | #inherit_overlay { |
|
1213 | #inherit_overlay { | |
1168 | display: block; |
|
1214 | display: block; | |
1169 | } |
|
1215 | } | |
1170 | #custom_overlay { |
|
1216 | #custom_overlay { | |
1171 | display: none; |
|
1217 | display: none; | |
1172 | } |
|
1218 | } | |
1173 | } |
|
1219 | } | |
1174 | } |
|
1220 | } | |
1175 | table.issuetracker { |
|
1221 | table.issuetracker { | |
1176 | &.readonly { |
|
1222 | &.readonly { | |
1177 | tr, td { |
|
1223 | tr, td { | |
1178 | color: @grey3; |
|
1224 | color: @grey3; | |
1179 | } |
|
1225 | } | |
1180 | } |
|
1226 | } | |
1181 | .edit { |
|
1227 | .edit { | |
1182 | display: none; |
|
1228 | display: none; | |
1183 | } |
|
1229 | } | |
1184 | .editopen { |
|
1230 | .editopen { | |
1185 | .edit { |
|
1231 | .edit { | |
1186 | display: inline; |
|
1232 | display: inline; | |
1187 | } |
|
1233 | } | |
1188 | .entry { |
|
1234 | .entry { | |
1189 | display: none; |
|
1235 | display: none; | |
1190 | } |
|
1236 | } | |
1191 | } |
|
1237 | } | |
1192 | tr td.td-action { |
|
1238 | tr td.td-action { | |
1193 | min-width: 117px; |
|
1239 | min-width: 117px; | |
1194 | } |
|
1240 | } | |
1195 | td input { |
|
1241 | td input { | |
1196 | max-width: none; |
|
1242 | max-width: none; | |
1197 | min-width: 30px; |
|
1243 | min-width: 30px; | |
1198 | width: 80%; |
|
1244 | width: 80%; | |
1199 | } |
|
1245 | } | |
1200 | .issuetracker_pref input { |
|
1246 | .issuetracker_pref input { | |
1201 | width: 40%; |
|
1247 | width: 40%; | |
1202 | } |
|
1248 | } | |
1203 | input.edit_issuetracker_update { |
|
1249 | input.edit_issuetracker_update { | |
1204 | margin-right: 0; |
|
1250 | margin-right: 0; | |
1205 | width: auto; |
|
1251 | width: auto; | |
1206 | } |
|
1252 | } | |
1207 | } |
|
1253 | } | |
1208 |
|
1254 | |||
1209 | table.integrations { |
|
1255 | table.integrations { | |
1210 | .td-icon { |
|
1256 | .td-icon { | |
1211 | width: 20px; |
|
1257 | width: 20px; | |
1212 | .integration-icon { |
|
1258 | .integration-icon { | |
1213 | height: 20px; |
|
1259 | height: 20px; | |
1214 | width: 20px; |
|
1260 | width: 20px; | |
1215 | } |
|
1261 | } | |
1216 | } |
|
1262 | } | |
1217 | } |
|
1263 | } | |
1218 |
|
1264 | |||
1219 | .integrations { |
|
1265 | .integrations { | |
1220 | a.integration-box { |
|
1266 | a.integration-box { | |
1221 | color: @text-color; |
|
1267 | color: @text-color; | |
1222 | &:hover { |
|
1268 | &:hover { | |
1223 | .panel { |
|
1269 | .panel { | |
1224 | background: #fbfbfb; |
|
1270 | background: #fbfbfb; | |
1225 | } |
|
1271 | } | |
1226 | } |
|
1272 | } | |
1227 | .integration-icon { |
|
1273 | .integration-icon { | |
1228 | width: 30px; |
|
1274 | width: 30px; | |
1229 | height: 30px; |
|
1275 | height: 30px; | |
1230 | margin-right: 20px; |
|
1276 | margin-right: 20px; | |
1231 | float: left; |
|
1277 | float: left; | |
1232 | } |
|
1278 | } | |
1233 |
|
1279 | |||
1234 | .panel-body { |
|
1280 | .panel-body { | |
1235 | padding: 10px; |
|
1281 | padding: 10px; | |
1236 | } |
|
1282 | } | |
1237 | .panel { |
|
1283 | .panel { | |
1238 | margin-bottom: 10px; |
|
1284 | margin-bottom: 10px; | |
1239 | } |
|
1285 | } | |
1240 | h2 { |
|
1286 | h2 { | |
1241 | display: inline-block; |
|
1287 | display: inline-block; | |
1242 | margin: 0; |
|
1288 | margin: 0; | |
1243 | min-width: 140px; |
|
1289 | min-width: 140px; | |
1244 | } |
|
1290 | } | |
1245 | } |
|
1291 | } | |
1246 | a.integration-box.dummy-integration { |
|
1292 | a.integration-box.dummy-integration { | |
1247 | color: @grey4 |
|
1293 | color: @grey4 | |
1248 | } |
|
1294 | } | |
1249 | } |
|
1295 | } | |
1250 |
|
1296 | |||
1251 | //Permissions Settings |
|
1297 | //Permissions Settings | |
1252 | #add_perm { |
|
1298 | #add_perm { | |
1253 | margin: 0 0 @padding; |
|
1299 | margin: 0 0 @padding; | |
1254 | cursor: pointer; |
|
1300 | cursor: pointer; | |
1255 | } |
|
1301 | } | |
1256 |
|
1302 | |||
1257 | .perm_ac { |
|
1303 | .perm_ac { | |
1258 | input { |
|
1304 | input { | |
1259 | width: 95%; |
|
1305 | width: 95%; | |
1260 | } |
|
1306 | } | |
1261 | } |
|
1307 | } | |
1262 |
|
1308 | |||
1263 | .autocomplete-suggestions { |
|
1309 | .autocomplete-suggestions { | |
1264 | width: auto !important; // overrides autocomplete.js |
|
1310 | width: auto !important; // overrides autocomplete.js | |
1265 | min-width: 278px; |
|
1311 | min-width: 278px; | |
1266 | margin: 0; |
|
1312 | margin: 0; | |
1267 | border: @border-thickness solid @grey5; |
|
1313 | border: @border-thickness solid @grey5; | |
1268 | border-radius: @border-radius; |
|
1314 | border-radius: @border-radius; | |
1269 | color: @grey2; |
|
1315 | color: @grey2; | |
1270 | background-color: white; |
|
1316 | background-color: white; | |
1271 | } |
|
1317 | } | |
1272 |
|
1318 | |||
1273 | .autocomplete-qfilter-suggestions { |
|
1319 | .autocomplete-qfilter-suggestions { | |
1274 | width: auto !important; // overrides autocomplete.js |
|
1320 | width: auto !important; // overrides autocomplete.js | |
1275 | max-height: 100% !important; |
|
1321 | max-height: 100% !important; | |
1276 | min-width: 376px; |
|
1322 | min-width: 376px; | |
1277 | margin: 0; |
|
1323 | margin: 0; | |
1278 | border: @border-thickness solid @grey5; |
|
1324 | border: @border-thickness solid @grey5; | |
1279 | color: @grey2; |
|
1325 | color: @grey2; | |
1280 | background-color: white; |
|
1326 | background-color: white; | |
1281 | } |
|
1327 | } | |
1282 |
|
1328 | |||
1283 | .autocomplete-selected { |
|
1329 | .autocomplete-selected { | |
1284 | background: #F0F0F0; |
|
1330 | background: #F0F0F0; | |
1285 | } |
|
1331 | } | |
1286 |
|
1332 | |||
1287 | .ac-container-wrap { |
|
1333 | .ac-container-wrap { | |
1288 | margin: 0; |
|
1334 | margin: 0; | |
1289 | padding: 8px; |
|
1335 | padding: 8px; | |
1290 | border-bottom: @border-thickness solid @grey5; |
|
1336 | border-bottom: @border-thickness solid @grey5; | |
1291 | list-style-type: none; |
|
1337 | list-style-type: none; | |
1292 | cursor: pointer; |
|
1338 | cursor: pointer; | |
1293 |
|
1339 | |||
1294 | &:hover { |
|
1340 | &:hover { | |
1295 | background-color: @grey7; |
|
1341 | background-color: @grey7; | |
1296 | } |
|
1342 | } | |
1297 |
|
1343 | |||
1298 | img { |
|
1344 | img { | |
1299 | height: @gravatar-size; |
|
1345 | height: @gravatar-size; | |
1300 | width: @gravatar-size; |
|
1346 | width: @gravatar-size; | |
1301 | margin-right: 1em; |
|
1347 | margin-right: 1em; | |
1302 | } |
|
1348 | } | |
1303 |
|
1349 | |||
1304 | strong { |
|
1350 | strong { | |
1305 | font-weight: normal; |
|
1351 | font-weight: normal; | |
1306 | } |
|
1352 | } | |
1307 | } |
|
1353 | } | |
1308 |
|
1354 | |||
1309 | // Settings Dropdown |
|
1355 | // Settings Dropdown | |
1310 | .user-menu .container { |
|
1356 | .user-menu .container { | |
1311 | padding: 0 4px; |
|
1357 | padding: 0 4px; | |
1312 | margin: 0; |
|
1358 | margin: 0; | |
1313 | } |
|
1359 | } | |
1314 |
|
1360 | |||
1315 | .user-menu .gravatar { |
|
1361 | .user-menu .gravatar { | |
1316 | cursor: pointer; |
|
1362 | cursor: pointer; | |
1317 | } |
|
1363 | } | |
1318 |
|
1364 | |||
1319 | .codeblock { |
|
1365 | .codeblock { | |
1320 | margin-bottom: @padding; |
|
1366 | margin-bottom: @padding; | |
1321 | clear: both; |
|
1367 | clear: both; | |
1322 |
|
1368 | |||
1323 | .stats { |
|
1369 | .stats { | |
1324 | overflow: hidden; |
|
1370 | overflow: hidden; | |
1325 | } |
|
1371 | } | |
1326 |
|
1372 | |||
1327 | .message{ |
|
1373 | .message{ | |
1328 | textarea{ |
|
1374 | textarea{ | |
1329 | margin: 0; |
|
1375 | margin: 0; | |
1330 | } |
|
1376 | } | |
1331 | } |
|
1377 | } | |
1332 |
|
1378 | |||
1333 | .code-header { |
|
1379 | .code-header { | |
1334 | .stats { |
|
1380 | .stats { | |
1335 | line-height: 2em; |
|
1381 | line-height: 2em; | |
1336 |
|
1382 | |||
1337 | .revision_id { |
|
1383 | .revision_id { | |
1338 | margin-left: 0; |
|
1384 | margin-left: 0; | |
1339 | } |
|
1385 | } | |
1340 | .buttons { |
|
1386 | .buttons { | |
1341 | padding-right: 0; |
|
1387 | padding-right: 0; | |
1342 | } |
|
1388 | } | |
1343 | } |
|
1389 | } | |
1344 |
|
1390 | |||
1345 | .item{ |
|
1391 | .item{ | |
1346 | margin-right: 0.5em; |
|
1392 | margin-right: 0.5em; | |
1347 | } |
|
1393 | } | |
1348 | } |
|
1394 | } | |
1349 |
|
1395 | |||
1350 | #editor_container { |
|
1396 | #editor_container { | |
1351 | position: relative; |
|
1397 | position: relative; | |
1352 | margin: @padding 10px; |
|
1398 | margin: @padding 10px; | |
1353 | } |
|
1399 | } | |
1354 | } |
|
1400 | } | |
1355 |
|
1401 | |||
1356 | #file_history_container { |
|
1402 | #file_history_container { | |
1357 | display: none; |
|
1403 | display: none; | |
1358 | } |
|
1404 | } | |
1359 |
|
1405 | |||
1360 | .file-history-inner { |
|
1406 | .file-history-inner { | |
1361 | margin-bottom: 10px; |
|
1407 | margin-bottom: 10px; | |
1362 | } |
|
1408 | } | |
1363 |
|
1409 | |||
1364 | // Pull Requests |
|
1410 | // Pull Requests | |
1365 | .summary-details { |
|
1411 | .summary-details { | |
1366 | width: 72%; |
|
1412 | width: 72%; | |
1367 | } |
|
1413 | } | |
1368 | .pr-summary { |
|
1414 | .pr-summary { | |
1369 | border-bottom: @border-thickness solid @grey5; |
|
1415 | border-bottom: @border-thickness solid @grey5; | |
1370 | margin-bottom: @space; |
|
1416 | margin-bottom: @space; | |
1371 | } |
|
1417 | } | |
1372 | .reviewers-title { |
|
1418 | .reviewers-title { | |
1373 | width: 25%; |
|
1419 | width: 25%; | |
1374 | min-width: 200px; |
|
1420 | min-width: 200px; | |
1375 | } |
|
1421 | } | |
1376 | .reviewers { |
|
1422 | .reviewers { | |
1377 | width: 25%; |
|
1423 | width: 25%; | |
1378 | min-width: 200px; |
|
1424 | min-width: 200px; | |
1379 | } |
|
1425 | } | |
1380 | .reviewers ul li { |
|
1426 | .reviewers ul li { | |
1381 | position: relative; |
|
1427 | position: relative; | |
1382 | width: 100%; |
|
1428 | width: 100%; | |
1383 | padding-bottom: 8px; |
|
1429 | padding-bottom: 8px; | |
1384 | list-style-type: none; |
|
1430 | list-style-type: none; | |
1385 | } |
|
1431 | } | |
1386 |
|
1432 | |||
1387 | .reviewer_entry { |
|
1433 | .reviewer_entry { | |
1388 | min-height: 55px; |
|
1434 | min-height: 55px; | |
1389 | } |
|
1435 | } | |
1390 |
|
1436 | |||
1391 | .reviewers_member { |
|
1437 | .reviewers_member { | |
1392 | width: 100%; |
|
1438 | width: 100%; | |
1393 | overflow: auto; |
|
1439 | overflow: auto; | |
1394 | } |
|
1440 | } | |
1395 | .reviewer_reason { |
|
1441 | .reviewer_reason { | |
1396 | padding-left: 20px; |
|
1442 | padding-left: 20px; | |
1397 | line-height: 1.5em; |
|
1443 | line-height: 1.5em; | |
1398 | } |
|
1444 | } | |
1399 | .reviewer_status { |
|
1445 | .reviewer_status { | |
1400 | display: inline-block; |
|
1446 | display: inline-block; | |
1401 | vertical-align: top; |
|
1447 | vertical-align: top; | |
1402 | width: 25px; |
|
1448 | width: 25px; | |
1403 | min-width: 25px; |
|
1449 | min-width: 25px; | |
1404 | height: 1.2em; |
|
1450 | height: 1.2em; | |
1405 | margin-top: 3px; |
|
1451 | margin-top: 3px; | |
1406 | line-height: 1em; |
|
1452 | line-height: 1em; | |
1407 | } |
|
1453 | } | |
1408 |
|
1454 | |||
1409 | .reviewer_name { |
|
1455 | .reviewer_name { | |
1410 | display: inline-block; |
|
1456 | display: inline-block; | |
1411 | max-width: 83%; |
|
1457 | max-width: 83%; | |
1412 | padding-right: 20px; |
|
1458 | padding-right: 20px; | |
1413 | vertical-align: middle; |
|
1459 | vertical-align: middle; | |
1414 | line-height: 1; |
|
1460 | line-height: 1; | |
1415 |
|
1461 | |||
1416 | .rc-user { |
|
1462 | .rc-user { | |
1417 | min-width: 0; |
|
1463 | min-width: 0; | |
1418 | margin: -2px 1em 0 0; |
|
1464 | margin: -2px 1em 0 0; | |
1419 | } |
|
1465 | } | |
1420 |
|
1466 | |||
1421 | .reviewer { |
|
1467 | .reviewer { | |
1422 | float: left; |
|
1468 | float: left; | |
1423 | } |
|
1469 | } | |
1424 | } |
|
1470 | } | |
1425 |
|
1471 | |||
1426 | .reviewer_member_mandatory { |
|
1472 | .reviewer_member_mandatory { | |
1427 | position: absolute; |
|
1473 | position: absolute; | |
1428 | left: 15px; |
|
1474 | left: 15px; | |
1429 | top: 8px; |
|
1475 | top: 8px; | |
1430 | width: 16px; |
|
1476 | width: 16px; | |
1431 | font-size: 11px; |
|
1477 | font-size: 11px; | |
1432 | margin: 0; |
|
1478 | margin: 0; | |
1433 | padding: 0; |
|
1479 | padding: 0; | |
1434 | color: black; |
|
1480 | color: black; | |
1435 | } |
|
1481 | } | |
1436 |
|
1482 | |||
1437 | .reviewer_member_mandatory_remove, |
|
1483 | .reviewer_member_mandatory_remove, | |
1438 | .reviewer_member_remove { |
|
1484 | .reviewer_member_remove { | |
1439 | position: absolute; |
|
1485 | position: absolute; | |
1440 | right: 0; |
|
1486 | right: 0; | |
1441 | top: 0; |
|
1487 | top: 0; | |
1442 | width: 16px; |
|
1488 | width: 16px; | |
1443 | margin-bottom: 10px; |
|
1489 | margin-bottom: 10px; | |
1444 | padding: 0; |
|
1490 | padding: 0; | |
1445 | color: black; |
|
1491 | color: black; | |
1446 | } |
|
1492 | } | |
1447 |
|
1493 | |||
1448 | .reviewer_member_mandatory_remove { |
|
1494 | .reviewer_member_mandatory_remove { | |
1449 | color: @grey4; |
|
1495 | color: @grey4; | |
1450 | } |
|
1496 | } | |
1451 |
|
1497 | |||
1452 | .reviewer_member_status { |
|
1498 | .reviewer_member_status { | |
1453 | margin-top: 5px; |
|
1499 | margin-top: 5px; | |
1454 | } |
|
1500 | } | |
1455 | .pr-summary #summary{ |
|
1501 | .pr-summary #summary{ | |
1456 | width: 100%; |
|
1502 | width: 100%; | |
1457 | } |
|
1503 | } | |
1458 | .pr-summary .action_button:hover { |
|
1504 | .pr-summary .action_button:hover { | |
1459 | border: 0; |
|
1505 | border: 0; | |
1460 | cursor: pointer; |
|
1506 | cursor: pointer; | |
1461 | } |
|
1507 | } | |
1462 | .pr-details-title { |
|
1508 | .pr-details-title { | |
1463 | padding-bottom: 8px; |
|
1509 | padding-bottom: 8px; | |
1464 | border-bottom: @border-thickness solid @grey5; |
|
1510 | border-bottom: @border-thickness solid @grey5; | |
1465 |
|
1511 | |||
1466 | .action_button.disabled { |
|
1512 | .action_button.disabled { | |
1467 | color: @grey4; |
|
1513 | color: @grey4; | |
1468 | cursor: inherit; |
|
1514 | cursor: inherit; | |
1469 | } |
|
1515 | } | |
1470 | .action_button { |
|
1516 | .action_button { | |
1471 | color: @rcblue; |
|
1517 | color: @rcblue; | |
1472 | } |
|
1518 | } | |
1473 | } |
|
1519 | } | |
1474 | .pr-details-content { |
|
1520 | .pr-details-content { | |
1475 | margin-top: @textmargin; |
|
1521 | margin-top: @textmargin; | |
1476 | margin-bottom: @textmargin; |
|
1522 | margin-bottom: @textmargin; | |
1477 | } |
|
1523 | } | |
1478 |
|
1524 | |||
1479 | .pr-reviewer-rules { |
|
1525 | .pr-reviewer-rules { | |
1480 | padding: 10px 0px 20px 0px; |
|
1526 | padding: 10px 0px 20px 0px; | |
1481 | } |
|
1527 | } | |
1482 |
|
1528 | |||
1483 | .group_members { |
|
1529 | .group_members { | |
1484 | margin-top: 0; |
|
1530 | margin-top: 0; | |
1485 | padding: 0; |
|
1531 | padding: 0; | |
1486 | list-style: outside none none; |
|
1532 | list-style: outside none none; | |
1487 |
|
1533 | |||
1488 | img { |
|
1534 | img { | |
1489 | height: @gravatar-size; |
|
1535 | height: @gravatar-size; | |
1490 | width: @gravatar-size; |
|
1536 | width: @gravatar-size; | |
1491 | margin-right: .5em; |
|
1537 | margin-right: .5em; | |
1492 | margin-left: 3px; |
|
1538 | margin-left: 3px; | |
1493 | } |
|
1539 | } | |
1494 |
|
1540 | |||
1495 | .to-delete { |
|
1541 | .to-delete { | |
1496 | .user { |
|
1542 | .user { | |
1497 | text-decoration: line-through; |
|
1543 | text-decoration: line-through; | |
1498 | } |
|
1544 | } | |
1499 | } |
|
1545 | } | |
1500 | } |
|
1546 | } | |
1501 |
|
1547 | |||
1502 | .compare_view_commits_title { |
|
1548 | .compare_view_commits_title { | |
1503 | .disabled { |
|
1549 | .disabled { | |
1504 | cursor: inherit; |
|
1550 | cursor: inherit; | |
1505 | &:hover{ |
|
1551 | &:hover{ | |
1506 | background-color: inherit; |
|
1552 | background-color: inherit; | |
1507 | color: inherit; |
|
1553 | color: inherit; | |
1508 | } |
|
1554 | } | |
1509 | } |
|
1555 | } | |
1510 | } |
|
1556 | } | |
1511 |
|
1557 | |||
1512 | .subtitle-compare { |
|
1558 | .subtitle-compare { | |
1513 | margin: -15px 0px 0px 0px; |
|
1559 | margin: -15px 0px 0px 0px; | |
1514 | } |
|
1560 | } | |
1515 |
|
1561 | |||
1516 | .comments-summary-td { |
|
1562 | .comments-summary-td { | |
1517 | border-top: 1px dashed @grey5; |
|
1563 | border-top: 1px dashed @grey5; | |
1518 | } |
|
1564 | } | |
1519 |
|
1565 | |||
1520 | // new entry in group_members |
|
1566 | // new entry in group_members | |
1521 | .td-author-new-entry { |
|
1567 | .td-author-new-entry { | |
1522 | background-color: rgba(red(@alert1), green(@alert1), blue(@alert1), 0.3); |
|
1568 | background-color: rgba(red(@alert1), green(@alert1), blue(@alert1), 0.3); | |
1523 | } |
|
1569 | } | |
1524 |
|
1570 | |||
1525 | .usergroup_member_remove { |
|
1571 | .usergroup_member_remove { | |
1526 | width: 16px; |
|
1572 | width: 16px; | |
1527 | margin-bottom: 10px; |
|
1573 | margin-bottom: 10px; | |
1528 | padding: 0; |
|
1574 | padding: 0; | |
1529 | color: black !important; |
|
1575 | color: black !important; | |
1530 | cursor: pointer; |
|
1576 | cursor: pointer; | |
1531 | } |
|
1577 | } | |
1532 |
|
1578 | |||
1533 | .reviewer_ac .ac-input { |
|
1579 | .reviewer_ac .ac-input { | |
1534 | width: 92%; |
|
1580 | width: 92%; | |
1535 | margin-bottom: 1em; |
|
1581 | margin-bottom: 1em; | |
1536 | } |
|
1582 | } | |
1537 |
|
1583 | |||
1538 | .compare_view_commits tr{ |
|
1584 | .compare_view_commits tr{ | |
1539 | height: 20px; |
|
1585 | height: 20px; | |
1540 | } |
|
1586 | } | |
1541 | .compare_view_commits td { |
|
1587 | .compare_view_commits td { | |
1542 | vertical-align: top; |
|
1588 | vertical-align: top; | |
1543 | padding-top: 10px; |
|
1589 | padding-top: 10px; | |
1544 | } |
|
1590 | } | |
1545 | .compare_view_commits .author { |
|
1591 | .compare_view_commits .author { | |
1546 | margin-left: 5px; |
|
1592 | margin-left: 5px; | |
1547 | } |
|
1593 | } | |
1548 |
|
1594 | |||
1549 | .compare_view_commits { |
|
1595 | .compare_view_commits { | |
1550 | .color-a { |
|
1596 | .color-a { | |
1551 | color: @alert1; |
|
1597 | color: @alert1; | |
1552 | } |
|
1598 | } | |
1553 |
|
1599 | |||
1554 | .color-c { |
|
1600 | .color-c { | |
1555 | color: @color3; |
|
1601 | color: @color3; | |
1556 | } |
|
1602 | } | |
1557 |
|
1603 | |||
1558 | .color-r { |
|
1604 | .color-r { | |
1559 | color: @color5; |
|
1605 | color: @color5; | |
1560 | } |
|
1606 | } | |
1561 |
|
1607 | |||
1562 | .color-a-bg { |
|
1608 | .color-a-bg { | |
1563 | background-color: @alert1; |
|
1609 | background-color: @alert1; | |
1564 | } |
|
1610 | } | |
1565 |
|
1611 | |||
1566 | .color-c-bg { |
|
1612 | .color-c-bg { | |
1567 | background-color: @alert3; |
|
1613 | background-color: @alert3; | |
1568 | } |
|
1614 | } | |
1569 |
|
1615 | |||
1570 | .color-r-bg { |
|
1616 | .color-r-bg { | |
1571 | background-color: @alert2; |
|
1617 | background-color: @alert2; | |
1572 | } |
|
1618 | } | |
1573 |
|
1619 | |||
1574 | .color-a-border { |
|
1620 | .color-a-border { | |
1575 | border: 1px solid @alert1; |
|
1621 | border: 1px solid @alert1; | |
1576 | } |
|
1622 | } | |
1577 |
|
1623 | |||
1578 | .color-c-border { |
|
1624 | .color-c-border { | |
1579 | border: 1px solid @alert3; |
|
1625 | border: 1px solid @alert3; | |
1580 | } |
|
1626 | } | |
1581 |
|
1627 | |||
1582 | .color-r-border { |
|
1628 | .color-r-border { | |
1583 | border: 1px solid @alert2; |
|
1629 | border: 1px solid @alert2; | |
1584 | } |
|
1630 | } | |
1585 |
|
1631 | |||
1586 | .commit-change-indicator { |
|
1632 | .commit-change-indicator { | |
1587 | width: 15px; |
|
1633 | width: 15px; | |
1588 | height: 15px; |
|
1634 | height: 15px; | |
1589 | position: relative; |
|
1635 | position: relative; | |
1590 | left: 15px; |
|
1636 | left: 15px; | |
1591 | } |
|
1637 | } | |
1592 |
|
1638 | |||
1593 | .commit-change-content { |
|
1639 | .commit-change-content { | |
1594 | text-align: center; |
|
1640 | text-align: center; | |
1595 | vertical-align: middle; |
|
1641 | vertical-align: middle; | |
1596 | line-height: 15px; |
|
1642 | line-height: 15px; | |
1597 | } |
|
1643 | } | |
1598 | } |
|
1644 | } | |
1599 |
|
1645 | |||
1600 | .compare_view_filepath { |
|
1646 | .compare_view_filepath { | |
1601 | color: @grey1; |
|
1647 | color: @grey1; | |
1602 | } |
|
1648 | } | |
1603 |
|
1649 | |||
1604 | .show_more { |
|
1650 | .show_more { | |
1605 | display: inline-block; |
|
1651 | display: inline-block; | |
1606 | width: 0; |
|
1652 | width: 0; | |
1607 | height: 0; |
|
1653 | height: 0; | |
1608 | vertical-align: middle; |
|
1654 | vertical-align: middle; | |
1609 | content: ""; |
|
1655 | content: ""; | |
1610 | border: 4px solid; |
|
1656 | border: 4px solid; | |
1611 | border-right-color: transparent; |
|
1657 | border-right-color: transparent; | |
1612 | border-bottom-color: transparent; |
|
1658 | border-bottom-color: transparent; | |
1613 | border-left-color: transparent; |
|
1659 | border-left-color: transparent; | |
1614 | font-size: 0; |
|
1660 | font-size: 0; | |
1615 | } |
|
1661 | } | |
1616 |
|
1662 | |||
1617 | .journal_more .show_more { |
|
1663 | .journal_more .show_more { | |
1618 | display: inline; |
|
1664 | display: inline; | |
1619 |
|
1665 | |||
1620 | &:after { |
|
1666 | &:after { | |
1621 | content: none; |
|
1667 | content: none; | |
1622 | } |
|
1668 | } | |
1623 | } |
|
1669 | } | |
1624 |
|
1670 | |||
1625 | .compare_view_commits .collapse_commit:after { |
|
1671 | .compare_view_commits .collapse_commit:after { | |
1626 | cursor: pointer; |
|
1672 | cursor: pointer; | |
1627 | content: "\00A0\25B4"; |
|
1673 | content: "\00A0\25B4"; | |
1628 | margin-left: -3px; |
|
1674 | margin-left: -3px; | |
1629 | font-size: 17px; |
|
1675 | font-size: 17px; | |
1630 | color: @grey4; |
|
1676 | color: @grey4; | |
1631 | } |
|
1677 | } | |
1632 |
|
1678 | |||
1633 | .diff_links { |
|
1679 | .diff_links { | |
1634 | margin-left: 8px; |
|
1680 | margin-left: 8px; | |
1635 | } |
|
1681 | } | |
1636 |
|
1682 | |||
1637 | #pull_request_overview { |
|
1683 | #pull_request_overview { | |
1638 | div.ancestor { |
|
1684 | div.ancestor { | |
1639 | margin: -33px 0; |
|
1685 | margin: -33px 0; | |
1640 | } |
|
1686 | } | |
1641 | } |
|
1687 | } | |
1642 |
|
1688 | |||
1643 | div.ancestor { |
|
1689 | div.ancestor { | |
1644 | line-height: 33px; |
|
1690 | line-height: 33px; | |
1645 | } |
|
1691 | } | |
1646 |
|
1692 | |||
1647 | .cs_icon_td input[type="checkbox"] { |
|
1693 | .cs_icon_td input[type="checkbox"] { | |
1648 | display: none; |
|
1694 | display: none; | |
1649 | } |
|
1695 | } | |
1650 |
|
1696 | |||
1651 | .cs_icon_td .expand_file_icon:after { |
|
1697 | .cs_icon_td .expand_file_icon:after { | |
1652 | cursor: pointer; |
|
1698 | cursor: pointer; | |
1653 | content: "\00A0\25B6"; |
|
1699 | content: "\00A0\25B6"; | |
1654 | font-size: 12px; |
|
1700 | font-size: 12px; | |
1655 | color: @grey4; |
|
1701 | color: @grey4; | |
1656 | } |
|
1702 | } | |
1657 |
|
1703 | |||
1658 | .cs_icon_td .collapse_file_icon:after { |
|
1704 | .cs_icon_td .collapse_file_icon:after { | |
1659 | cursor: pointer; |
|
1705 | cursor: pointer; | |
1660 | content: "\00A0\25BC"; |
|
1706 | content: "\00A0\25BC"; | |
1661 | font-size: 12px; |
|
1707 | font-size: 12px; | |
1662 | color: @grey4; |
|
1708 | color: @grey4; | |
1663 | } |
|
1709 | } | |
1664 |
|
1710 | |||
1665 | /*new binary |
|
1711 | /*new binary | |
1666 | NEW_FILENODE = 1 |
|
1712 | NEW_FILENODE = 1 | |
1667 | DEL_FILENODE = 2 |
|
1713 | DEL_FILENODE = 2 | |
1668 | MOD_FILENODE = 3 |
|
1714 | MOD_FILENODE = 3 | |
1669 | RENAMED_FILENODE = 4 |
|
1715 | RENAMED_FILENODE = 4 | |
1670 | COPIED_FILENODE = 5 |
|
1716 | COPIED_FILENODE = 5 | |
1671 | CHMOD_FILENODE = 6 |
|
1717 | CHMOD_FILENODE = 6 | |
1672 | BIN_FILENODE = 7 |
|
1718 | BIN_FILENODE = 7 | |
1673 | */ |
|
1719 | */ | |
1674 | .cs_files_expand { |
|
1720 | .cs_files_expand { | |
1675 | font-size: @basefontsize + 5px; |
|
1721 | font-size: @basefontsize + 5px; | |
1676 | line-height: 1.8em; |
|
1722 | line-height: 1.8em; | |
1677 | float: right; |
|
1723 | float: right; | |
1678 | } |
|
1724 | } | |
1679 |
|
1725 | |||
1680 | .cs_files_expand span{ |
|
1726 | .cs_files_expand span{ | |
1681 | color: @rcblue; |
|
1727 | color: @rcblue; | |
1682 | cursor: pointer; |
|
1728 | cursor: pointer; | |
1683 | } |
|
1729 | } | |
1684 | .cs_files { |
|
1730 | .cs_files { | |
1685 | clear: both; |
|
1731 | clear: both; | |
1686 | padding-bottom: @padding; |
|
1732 | padding-bottom: @padding; | |
1687 |
|
1733 | |||
1688 | .cur_cs { |
|
1734 | .cur_cs { | |
1689 | margin: 10px 2px; |
|
1735 | margin: 10px 2px; | |
1690 | font-weight: bold; |
|
1736 | font-weight: bold; | |
1691 | } |
|
1737 | } | |
1692 |
|
1738 | |||
1693 | .node { |
|
1739 | .node { | |
1694 | float: left; |
|
1740 | float: left; | |
1695 | } |
|
1741 | } | |
1696 |
|
1742 | |||
1697 | .changes { |
|
1743 | .changes { | |
1698 | float: right; |
|
1744 | float: right; | |
1699 | color: white; |
|
1745 | color: white; | |
1700 | font-size: @basefontsize - 4px; |
|
1746 | font-size: @basefontsize - 4px; | |
1701 | margin-top: 4px; |
|
1747 | margin-top: 4px; | |
1702 | opacity: 0.6; |
|
1748 | opacity: 0.6; | |
1703 | filter: Alpha(opacity=60); /* IE8 and earlier */ |
|
1749 | filter: Alpha(opacity=60); /* IE8 and earlier */ | |
1704 |
|
1750 | |||
1705 | .added { |
|
1751 | .added { | |
1706 | background-color: @alert1; |
|
1752 | background-color: @alert1; | |
1707 | float: left; |
|
1753 | float: left; | |
1708 | text-align: center; |
|
1754 | text-align: center; | |
1709 | } |
|
1755 | } | |
1710 |
|
1756 | |||
1711 | .deleted { |
|
1757 | .deleted { | |
1712 | background-color: @alert2; |
|
1758 | background-color: @alert2; | |
1713 | float: left; |
|
1759 | float: left; | |
1714 | text-align: center; |
|
1760 | text-align: center; | |
1715 | } |
|
1761 | } | |
1716 |
|
1762 | |||
1717 | .bin { |
|
1763 | .bin { | |
1718 | background-color: @alert1; |
|
1764 | background-color: @alert1; | |
1719 | text-align: center; |
|
1765 | text-align: center; | |
1720 | } |
|
1766 | } | |
1721 |
|
1767 | |||
1722 | /*new binary*/ |
|
1768 | /*new binary*/ | |
1723 | .bin.bin1 { |
|
1769 | .bin.bin1 { | |
1724 | background-color: @alert1; |
|
1770 | background-color: @alert1; | |
1725 | text-align: center; |
|
1771 | text-align: center; | |
1726 | } |
|
1772 | } | |
1727 |
|
1773 | |||
1728 | /*deleted binary*/ |
|
1774 | /*deleted binary*/ | |
1729 | .bin.bin2 { |
|
1775 | .bin.bin2 { | |
1730 | background-color: @alert2; |
|
1776 | background-color: @alert2; | |
1731 | text-align: center; |
|
1777 | text-align: center; | |
1732 | } |
|
1778 | } | |
1733 |
|
1779 | |||
1734 | /*mod binary*/ |
|
1780 | /*mod binary*/ | |
1735 | .bin.bin3 { |
|
1781 | .bin.bin3 { | |
1736 | background-color: @grey2; |
|
1782 | background-color: @grey2; | |
1737 | text-align: center; |
|
1783 | text-align: center; | |
1738 | } |
|
1784 | } | |
1739 |
|
1785 | |||
1740 | /*rename file*/ |
|
1786 | /*rename file*/ | |
1741 | .bin.bin4 { |
|
1787 | .bin.bin4 { | |
1742 | background-color: @alert4; |
|
1788 | background-color: @alert4; | |
1743 | text-align: center; |
|
1789 | text-align: center; | |
1744 | } |
|
1790 | } | |
1745 |
|
1791 | |||
1746 | /*copied file*/ |
|
1792 | /*copied file*/ | |
1747 | .bin.bin5 { |
|
1793 | .bin.bin5 { | |
1748 | background-color: @alert4; |
|
1794 | background-color: @alert4; | |
1749 | text-align: center; |
|
1795 | text-align: center; | |
1750 | } |
|
1796 | } | |
1751 |
|
1797 | |||
1752 | /*chmod file*/ |
|
1798 | /*chmod file*/ | |
1753 | .bin.bin6 { |
|
1799 | .bin.bin6 { | |
1754 | background-color: @grey2; |
|
1800 | background-color: @grey2; | |
1755 | text-align: center; |
|
1801 | text-align: center; | |
1756 | } |
|
1802 | } | |
1757 | } |
|
1803 | } | |
1758 | } |
|
1804 | } | |
1759 |
|
1805 | |||
1760 | .cs_files .cs_added, .cs_files .cs_A, |
|
1806 | .cs_files .cs_added, .cs_files .cs_A, | |
1761 | .cs_files .cs_added, .cs_files .cs_M, |
|
1807 | .cs_files .cs_added, .cs_files .cs_M, | |
1762 | .cs_files .cs_added, .cs_files .cs_D { |
|
1808 | .cs_files .cs_added, .cs_files .cs_D { | |
1763 | height: 16px; |
|
1809 | height: 16px; | |
1764 | padding-right: 10px; |
|
1810 | padding-right: 10px; | |
1765 | margin-top: 7px; |
|
1811 | margin-top: 7px; | |
1766 | text-align: left; |
|
1812 | text-align: left; | |
1767 | } |
|
1813 | } | |
1768 |
|
1814 | |||
1769 | .cs_icon_td { |
|
1815 | .cs_icon_td { | |
1770 | min-width: 16px; |
|
1816 | min-width: 16px; | |
1771 | width: 16px; |
|
1817 | width: 16px; | |
1772 | } |
|
1818 | } | |
1773 |
|
1819 | |||
1774 | .pull-request-merge { |
|
1820 | .pull-request-merge { | |
1775 | border: 1px solid @grey5; |
|
1821 | border: 1px solid @grey5; | |
1776 | padding: 10px 0px 20px; |
|
1822 | padding: 10px 0px 20px; | |
1777 | margin-top: 10px; |
|
1823 | margin-top: 10px; | |
1778 | margin-bottom: 20px; |
|
1824 | margin-bottom: 20px; | |
1779 | } |
|
1825 | } | |
1780 |
|
1826 | |||
1781 | .pull-request-merge ul { |
|
1827 | .pull-request-merge ul { | |
1782 | padding: 0px 0px; |
|
1828 | padding: 0px 0px; | |
1783 | } |
|
1829 | } | |
1784 |
|
1830 | |||
1785 | .pull-request-merge li { |
|
1831 | .pull-request-merge li { | |
1786 | list-style-type: none; |
|
1832 | list-style-type: none; | |
1787 | } |
|
1833 | } | |
1788 |
|
1834 | |||
1789 | .pull-request-merge .pull-request-wrap { |
|
1835 | .pull-request-merge .pull-request-wrap { | |
1790 | height: auto; |
|
1836 | height: auto; | |
1791 | padding: 0px 0px; |
|
1837 | padding: 0px 0px; | |
1792 | text-align: right; |
|
1838 | text-align: right; | |
1793 | } |
|
1839 | } | |
1794 |
|
1840 | |||
1795 | .pull-request-merge span { |
|
1841 | .pull-request-merge span { | |
1796 | margin-right: 5px; |
|
1842 | margin-right: 5px; | |
1797 | } |
|
1843 | } | |
1798 |
|
1844 | |||
1799 | .pull-request-merge-actions { |
|
1845 | .pull-request-merge-actions { | |
1800 | min-height: 30px; |
|
1846 | min-height: 30px; | |
1801 | padding: 0px 0px; |
|
1847 | padding: 0px 0px; | |
1802 | } |
|
1848 | } | |
1803 |
|
1849 | |||
1804 | .pull-request-merge-info { |
|
1850 | .pull-request-merge-info { | |
1805 | padding: 0px 5px 5px 0px; |
|
1851 | padding: 0px 5px 5px 0px; | |
1806 | } |
|
1852 | } | |
1807 |
|
1853 | |||
1808 | .merge-status { |
|
1854 | .merge-status { | |
1809 | margin-right: 5px; |
|
1855 | margin-right: 5px; | |
1810 | } |
|
1856 | } | |
1811 |
|
1857 | |||
1812 | .merge-message { |
|
1858 | .merge-message { | |
1813 | font-size: 1.2em |
|
1859 | font-size: 1.2em | |
1814 | } |
|
1860 | } | |
1815 |
|
1861 | |||
1816 | .merge-message.success i, |
|
1862 | .merge-message.success i, | |
1817 | .merge-icon.success i { |
|
1863 | .merge-icon.success i { | |
1818 | color:@alert1; |
|
1864 | color:@alert1; | |
1819 | } |
|
1865 | } | |
1820 |
|
1866 | |||
1821 | .merge-message.warning i, |
|
1867 | .merge-message.warning i, | |
1822 | .merge-icon.warning i { |
|
1868 | .merge-icon.warning i { | |
1823 | color: @alert3; |
|
1869 | color: @alert3; | |
1824 | } |
|
1870 | } | |
1825 |
|
1871 | |||
1826 | .merge-message.error i, |
|
1872 | .merge-message.error i, | |
1827 | .merge-icon.error i { |
|
1873 | .merge-icon.error i { | |
1828 | color:@alert2; |
|
1874 | color:@alert2; | |
1829 | } |
|
1875 | } | |
1830 |
|
1876 | |||
1831 | .pr-versions { |
|
1877 | .pr-versions { | |
1832 | font-size: 1.1em; |
|
1878 | font-size: 1.1em; | |
1833 |
|
1879 | |||
1834 | table { |
|
1880 | table { | |
1835 | padding: 0px 5px; |
|
1881 | padding: 0px 5px; | |
1836 | } |
|
1882 | } | |
1837 |
|
1883 | |||
1838 | td { |
|
1884 | td { | |
1839 | line-height: 15px; |
|
1885 | line-height: 15px; | |
1840 | } |
|
1886 | } | |
1841 |
|
1887 | |||
1842 | .flag_status { |
|
1888 | .flag_status { | |
1843 | margin: 0; |
|
1889 | margin: 0; | |
1844 | } |
|
1890 | } | |
1845 |
|
1891 | |||
1846 | .compare-radio-button { |
|
1892 | .compare-radio-button { | |
1847 | position: relative; |
|
1893 | position: relative; | |
1848 | top: -3px; |
|
1894 | top: -3px; | |
1849 | } |
|
1895 | } | |
1850 | } |
|
1896 | } | |
1851 |
|
1897 | |||
1852 |
|
1898 | |||
1853 | #close_pull_request { |
|
1899 | #close_pull_request { | |
1854 | margin-right: 0px; |
|
1900 | margin-right: 0px; | |
1855 | } |
|
1901 | } | |
1856 |
|
1902 | |||
1857 | .empty_data { |
|
1903 | .empty_data { | |
1858 | color: @grey4; |
|
1904 | color: @grey4; | |
1859 | } |
|
1905 | } | |
1860 |
|
1906 | |||
1861 | #changeset_compare_view_content { |
|
1907 | #changeset_compare_view_content { | |
1862 | clear: both; |
|
1908 | clear: both; | |
1863 | width: 100%; |
|
1909 | width: 100%; | |
1864 | box-sizing: border-box; |
|
1910 | box-sizing: border-box; | |
1865 | .border-radius(@border-radius); |
|
1911 | .border-radius(@border-radius); | |
1866 |
|
1912 | |||
1867 | .help-block { |
|
1913 | .help-block { | |
1868 | margin: @padding 0; |
|
1914 | margin: @padding 0; | |
1869 | color: @text-color; |
|
1915 | color: @text-color; | |
1870 | &.pre-formatting { |
|
1916 | &.pre-formatting { | |
1871 | white-space: pre; |
|
1917 | white-space: pre; | |
1872 | } |
|
1918 | } | |
1873 | } |
|
1919 | } | |
1874 |
|
1920 | |||
1875 | .empty_data { |
|
1921 | .empty_data { | |
1876 | margin: @padding 0; |
|
1922 | margin: @padding 0; | |
1877 | } |
|
1923 | } | |
1878 |
|
1924 | |||
1879 | .alert { |
|
1925 | .alert { | |
1880 | margin-bottom: @space; |
|
1926 | margin-bottom: @space; | |
1881 | } |
|
1927 | } | |
1882 | } |
|
1928 | } | |
1883 |
|
1929 | |||
1884 | .table_disp { |
|
1930 | .table_disp { | |
1885 | .status { |
|
1931 | .status { | |
1886 | width: auto; |
|
1932 | width: auto; | |
1887 |
|
1933 | |||
1888 | .flag_status { |
|
1934 | .flag_status { | |
1889 | float: left; |
|
1935 | float: left; | |
1890 | } |
|
1936 | } | |
1891 | } |
|
1937 | } | |
1892 | } |
|
1938 | } | |
1893 |
|
1939 | |||
1894 |
|
1940 | |||
1895 | .creation_in_progress { |
|
1941 | .creation_in_progress { | |
1896 | color: @grey4 |
|
1942 | color: @grey4 | |
1897 | } |
|
1943 | } | |
1898 |
|
1944 | |||
1899 | .status_box_menu { |
|
1945 | .status_box_menu { | |
1900 | margin: 0; |
|
1946 | margin: 0; | |
1901 | } |
|
1947 | } | |
1902 |
|
1948 | |||
1903 | .notification-table{ |
|
1949 | .notification-table{ | |
1904 | margin-bottom: @space; |
|
1950 | margin-bottom: @space; | |
1905 | display: table; |
|
1951 | display: table; | |
1906 | width: 100%; |
|
1952 | width: 100%; | |
1907 |
|
1953 | |||
1908 | .container{ |
|
1954 | .container{ | |
1909 | display: table-row; |
|
1955 | display: table-row; | |
1910 |
|
1956 | |||
1911 | .notification-header{ |
|
1957 | .notification-header{ | |
1912 | border-bottom: @border-thickness solid @border-default-color; |
|
1958 | border-bottom: @border-thickness solid @border-default-color; | |
1913 | } |
|
1959 | } | |
1914 |
|
1960 | |||
1915 | .notification-subject{ |
|
1961 | .notification-subject{ | |
1916 | display: table-cell; |
|
1962 | display: table-cell; | |
1917 | } |
|
1963 | } | |
1918 | } |
|
1964 | } | |
1919 | } |
|
1965 | } | |
1920 |
|
1966 | |||
1921 | // Notifications |
|
1967 | // Notifications | |
1922 | .notification-header{ |
|
1968 | .notification-header{ | |
1923 | display: table; |
|
1969 | display: table; | |
1924 | width: 100%; |
|
1970 | width: 100%; | |
1925 | padding: floor(@basefontsize/2) 0; |
|
1971 | padding: floor(@basefontsize/2) 0; | |
1926 | line-height: 1em; |
|
1972 | line-height: 1em; | |
1927 |
|
1973 | |||
1928 | .desc, .delete-notifications, .read-notifications{ |
|
1974 | .desc, .delete-notifications, .read-notifications{ | |
1929 | display: table-cell; |
|
1975 | display: table-cell; | |
1930 | text-align: left; |
|
1976 | text-align: left; | |
1931 | } |
|
1977 | } | |
1932 |
|
1978 | |||
1933 | .desc{ |
|
1979 | .desc{ | |
1934 | width: 1163px; |
|
1980 | width: 1163px; | |
1935 | } |
|
1981 | } | |
1936 |
|
1982 | |||
1937 | .delete-notifications, .read-notifications{ |
|
1983 | .delete-notifications, .read-notifications{ | |
1938 | width: 35px; |
|
1984 | width: 35px; | |
1939 | min-width: 35px; //fixes when only one button is displayed |
|
1985 | min-width: 35px; //fixes when only one button is displayed | |
1940 | } |
|
1986 | } | |
1941 | } |
|
1987 | } | |
1942 |
|
1988 | |||
1943 | .notification-body { |
|
1989 | .notification-body { | |
1944 | .markdown-block, |
|
1990 | .markdown-block, | |
1945 | .rst-block { |
|
1991 | .rst-block { | |
1946 | padding: @padding 0; |
|
1992 | padding: @padding 0; | |
1947 | } |
|
1993 | } | |
1948 |
|
1994 | |||
1949 | .notification-subject { |
|
1995 | .notification-subject { | |
1950 | padding: @textmargin 0; |
|
1996 | padding: @textmargin 0; | |
1951 | border-bottom: @border-thickness solid @border-default-color; |
|
1997 | border-bottom: @border-thickness solid @border-default-color; | |
1952 | } |
|
1998 | } | |
1953 | } |
|
1999 | } | |
1954 |
|
2000 | |||
1955 |
|
2001 | |||
1956 | .notifications_buttons{ |
|
2002 | .notifications_buttons{ | |
1957 | float: right; |
|
2003 | float: right; | |
1958 | } |
|
2004 | } | |
1959 |
|
2005 | |||
1960 | #notification-status{ |
|
2006 | #notification-status{ | |
1961 | display: inline; |
|
2007 | display: inline; | |
1962 | } |
|
2008 | } | |
1963 |
|
2009 | |||
1964 | // Repositories |
|
2010 | // Repositories | |
1965 |
|
2011 | |||
1966 | #summary.fields{ |
|
2012 | #summary.fields{ | |
1967 | display: table; |
|
2013 | display: table; | |
1968 |
|
2014 | |||
1969 | .field{ |
|
2015 | .field{ | |
1970 | display: table-row; |
|
2016 | display: table-row; | |
1971 |
|
2017 | |||
1972 | .label-summary{ |
|
2018 | .label-summary{ | |
1973 | display: table-cell; |
|
2019 | display: table-cell; | |
1974 | min-width: @label-summary-minwidth; |
|
2020 | min-width: @label-summary-minwidth; | |
1975 | padding-top: @padding/2; |
|
2021 | padding-top: @padding/2; | |
1976 | padding-bottom: @padding/2; |
|
2022 | padding-bottom: @padding/2; | |
1977 | padding-right: @padding/2; |
|
2023 | padding-right: @padding/2; | |
1978 | } |
|
2024 | } | |
1979 |
|
2025 | |||
1980 | .input{ |
|
2026 | .input{ | |
1981 | display: table-cell; |
|
2027 | display: table-cell; | |
1982 | padding: @padding/2; |
|
2028 | padding: @padding/2; | |
1983 |
|
2029 | |||
1984 | input{ |
|
2030 | input{ | |
1985 | min-width: 29em; |
|
2031 | min-width: 29em; | |
1986 | padding: @padding/4; |
|
2032 | padding: @padding/4; | |
1987 | } |
|
2033 | } | |
1988 | } |
|
2034 | } | |
1989 | .statistics, .downloads{ |
|
2035 | .statistics, .downloads{ | |
1990 | .disabled{ |
|
2036 | .disabled{ | |
1991 | color: @grey4; |
|
2037 | color: @grey4; | |
1992 | } |
|
2038 | } | |
1993 | } |
|
2039 | } | |
1994 | } |
|
2040 | } | |
1995 | } |
|
2041 | } | |
1996 |
|
2042 | |||
1997 | #summary{ |
|
2043 | #summary{ | |
1998 | width: 70%; |
|
2044 | width: 70%; | |
1999 | } |
|
2045 | } | |
2000 |
|
2046 | |||
2001 |
|
2047 | |||
2002 | // Journal |
|
2048 | // Journal | |
2003 | .journal.title { |
|
2049 | .journal.title { | |
2004 | h5 { |
|
2050 | h5 { | |
2005 | float: left; |
|
2051 | float: left; | |
2006 | margin: 0; |
|
2052 | margin: 0; | |
2007 | width: 70%; |
|
2053 | width: 70%; | |
2008 | } |
|
2054 | } | |
2009 |
|
2055 | |||
2010 | ul { |
|
2056 | ul { | |
2011 | float: right; |
|
2057 | float: right; | |
2012 | display: inline-block; |
|
2058 | display: inline-block; | |
2013 | margin: 0; |
|
2059 | margin: 0; | |
2014 | width: 30%; |
|
2060 | width: 30%; | |
2015 | text-align: right; |
|
2061 | text-align: right; | |
2016 |
|
2062 | |||
2017 | li { |
|
2063 | li { | |
2018 | display: inline; |
|
2064 | display: inline; | |
2019 | font-size: @journal-fontsize; |
|
2065 | font-size: @journal-fontsize; | |
2020 | line-height: 1em; |
|
2066 | line-height: 1em; | |
2021 |
|
2067 | |||
2022 | list-style-type: none; |
|
2068 | list-style-type: none; | |
2023 | } |
|
2069 | } | |
2024 | } |
|
2070 | } | |
2025 | } |
|
2071 | } | |
2026 |
|
2072 | |||
2027 | .filterexample { |
|
2073 | .filterexample { | |
2028 | position: absolute; |
|
2074 | position: absolute; | |
2029 | top: 95px; |
|
2075 | top: 95px; | |
2030 | left: @contentpadding; |
|
2076 | left: @contentpadding; | |
2031 | color: @rcblue; |
|
2077 | color: @rcblue; | |
2032 | font-size: 11px; |
|
2078 | font-size: 11px; | |
2033 | font-family: @text-regular; |
|
2079 | font-family: @text-regular; | |
2034 | cursor: help; |
|
2080 | cursor: help; | |
2035 |
|
2081 | |||
2036 | &:hover { |
|
2082 | &:hover { | |
2037 | color: @rcdarkblue; |
|
2083 | color: @rcdarkblue; | |
2038 | } |
|
2084 | } | |
2039 |
|
2085 | |||
2040 | @media (max-width:768px) { |
|
2086 | @media (max-width:768px) { | |
2041 | position: relative; |
|
2087 | position: relative; | |
2042 | top: auto; |
|
2088 | top: auto; | |
2043 | left: auto; |
|
2089 | left: auto; | |
2044 | display: block; |
|
2090 | display: block; | |
2045 | } |
|
2091 | } | |
2046 | } |
|
2092 | } | |
2047 |
|
2093 | |||
2048 |
|
2094 | |||
2049 | #journal{ |
|
2095 | #journal{ | |
2050 | margin-bottom: @space; |
|
2096 | margin-bottom: @space; | |
2051 |
|
2097 | |||
2052 | .journal_day{ |
|
2098 | .journal_day{ | |
2053 | margin-bottom: @textmargin/2; |
|
2099 | margin-bottom: @textmargin/2; | |
2054 | padding-bottom: @textmargin/2; |
|
2100 | padding-bottom: @textmargin/2; | |
2055 | font-size: @journal-fontsize; |
|
2101 | font-size: @journal-fontsize; | |
2056 | border-bottom: @border-thickness solid @border-default-color; |
|
2102 | border-bottom: @border-thickness solid @border-default-color; | |
2057 | } |
|
2103 | } | |
2058 |
|
2104 | |||
2059 | .journal_container{ |
|
2105 | .journal_container{ | |
2060 | margin-bottom: @space; |
|
2106 | margin-bottom: @space; | |
2061 |
|
2107 | |||
2062 | .journal_user{ |
|
2108 | .journal_user{ | |
2063 | display: inline-block; |
|
2109 | display: inline-block; | |
2064 | } |
|
2110 | } | |
2065 | .journal_action_container{ |
|
2111 | .journal_action_container{ | |
2066 | display: block; |
|
2112 | display: block; | |
2067 | margin-top: @textmargin; |
|
2113 | margin-top: @textmargin; | |
2068 |
|
2114 | |||
2069 | div{ |
|
2115 | div{ | |
2070 | display: inline; |
|
2116 | display: inline; | |
2071 | } |
|
2117 | } | |
2072 |
|
2118 | |||
2073 | div.journal_action_params{ |
|
2119 | div.journal_action_params{ | |
2074 | display: block; |
|
2120 | display: block; | |
2075 | } |
|
2121 | } | |
2076 |
|
2122 | |||
2077 | div.journal_repo:after{ |
|
2123 | div.journal_repo:after{ | |
2078 | content: "\A"; |
|
2124 | content: "\A"; | |
2079 | white-space: pre; |
|
2125 | white-space: pre; | |
2080 | } |
|
2126 | } | |
2081 |
|
2127 | |||
2082 | div.date{ |
|
2128 | div.date{ | |
2083 | display: block; |
|
2129 | display: block; | |
2084 | margin-bottom: @textmargin; |
|
2130 | margin-bottom: @textmargin; | |
2085 | } |
|
2131 | } | |
2086 | } |
|
2132 | } | |
2087 | } |
|
2133 | } | |
2088 | } |
|
2134 | } | |
2089 |
|
2135 | |||
2090 | // Files |
|
2136 | // Files | |
2091 | .edit-file-title { |
|
2137 | .edit-file-title { | |
2092 | font-size: 16px; |
|
2138 | font-size: 16px; | |
2093 |
|
2139 | |||
2094 | .title-heading { |
|
2140 | .title-heading { | |
2095 | padding: 2px; |
|
2141 | padding: 2px; | |
2096 | } |
|
2142 | } | |
2097 | } |
|
2143 | } | |
2098 |
|
2144 | |||
2099 | .edit-file-fieldset { |
|
2145 | .edit-file-fieldset { | |
2100 | margin: @sidebarpadding 0; |
|
2146 | margin: @sidebarpadding 0; | |
2101 |
|
2147 | |||
2102 | .fieldset { |
|
2148 | .fieldset { | |
2103 | .left-label { |
|
2149 | .left-label { | |
2104 | width: 13%; |
|
2150 | width: 13%; | |
2105 | } |
|
2151 | } | |
2106 | .right-content { |
|
2152 | .right-content { | |
2107 | width: 87%; |
|
2153 | width: 87%; | |
2108 | max-width: 100%; |
|
2154 | max-width: 100%; | |
2109 | } |
|
2155 | } | |
2110 | .filename-label { |
|
2156 | .filename-label { | |
2111 | margin-top: 13px; |
|
2157 | margin-top: 13px; | |
2112 | } |
|
2158 | } | |
2113 | .commit-message-label { |
|
2159 | .commit-message-label { | |
2114 | margin-top: 4px; |
|
2160 | margin-top: 4px; | |
2115 | } |
|
2161 | } | |
2116 | .file-upload-input { |
|
2162 | .file-upload-input { | |
2117 | input { |
|
2163 | input { | |
2118 | display: none; |
|
2164 | display: none; | |
2119 | } |
|
2165 | } | |
2120 | margin-top: 10px; |
|
2166 | margin-top: 10px; | |
2121 | } |
|
2167 | } | |
2122 | .file-upload-label { |
|
2168 | .file-upload-label { | |
2123 | margin-top: 10px; |
|
2169 | margin-top: 10px; | |
2124 | } |
|
2170 | } | |
2125 | p { |
|
2171 | p { | |
2126 | margin-top: 5px; |
|
2172 | margin-top: 5px; | |
2127 | } |
|
2173 | } | |
2128 |
|
2174 | |||
2129 | } |
|
2175 | } | |
2130 | .custom-path-link { |
|
2176 | .custom-path-link { | |
2131 | margin-left: 5px; |
|
2177 | margin-left: 5px; | |
2132 | } |
|
2178 | } | |
2133 | #commit { |
|
2179 | #commit { | |
2134 | resize: vertical; |
|
2180 | resize: vertical; | |
2135 | } |
|
2181 | } | |
2136 | } |
|
2182 | } | |
2137 |
|
2183 | |||
2138 | .delete-file-preview { |
|
2184 | .delete-file-preview { | |
2139 | max-height: 250px; |
|
2185 | max-height: 250px; | |
2140 | } |
|
2186 | } | |
2141 |
|
2187 | |||
2142 | .new-file, |
|
2188 | .new-file, | |
2143 | #filter_activate, |
|
2189 | #filter_activate, | |
2144 | #filter_deactivate { |
|
2190 | #filter_deactivate { | |
2145 | float: right; |
|
2191 | float: right; | |
2146 | margin: 0 0 0 10px; |
|
2192 | margin: 0 0 0 10px; | |
2147 | } |
|
2193 | } | |
2148 |
|
2194 | |||
2149 | .file-upload-transaction-wrapper { |
|
2195 | .file-upload-transaction-wrapper { | |
2150 | margin-top: 57px; |
|
2196 | margin-top: 57px; | |
2151 | clear: both; |
|
2197 | clear: both; | |
2152 | } |
|
2198 | } | |
2153 |
|
2199 | |||
2154 | .file-upload-transaction-wrapper .error { |
|
2200 | .file-upload-transaction-wrapper .error { | |
2155 | color: @color5; |
|
2201 | color: @color5; | |
2156 | } |
|
2202 | } | |
2157 |
|
2203 | |||
2158 | .file-upload-transaction { |
|
2204 | .file-upload-transaction { | |
2159 | min-height: 200px; |
|
2205 | min-height: 200px; | |
2160 | padding: 54px; |
|
2206 | padding: 54px; | |
2161 | border: 1px solid @grey5; |
|
2207 | border: 1px solid @grey5; | |
2162 | text-align: center; |
|
2208 | text-align: center; | |
2163 | clear: both; |
|
2209 | clear: both; | |
2164 | } |
|
2210 | } | |
2165 |
|
2211 | |||
2166 | .file-upload-transaction i { |
|
2212 | .file-upload-transaction i { | |
2167 | font-size: 48px |
|
2213 | font-size: 48px | |
2168 | } |
|
2214 | } | |
2169 |
|
2215 | |||
2170 | h3.files_location{ |
|
2216 | h3.files_location{ | |
2171 | line-height: 2.4em; |
|
2217 | line-height: 2.4em; | |
2172 | } |
|
2218 | } | |
2173 |
|
2219 | |||
2174 | .browser-nav { |
|
2220 | .browser-nav { | |
2175 | width: 100%; |
|
2221 | width: 100%; | |
2176 | display: table; |
|
2222 | display: table; | |
2177 | margin-bottom: 20px; |
|
2223 | margin-bottom: 20px; | |
2178 |
|
2224 | |||
2179 | .info_box { |
|
2225 | .info_box { | |
2180 | float: left; |
|
2226 | float: left; | |
2181 | display: inline-table; |
|
2227 | display: inline-table; | |
2182 | height: 2.5em; |
|
2228 | height: 2.5em; | |
2183 |
|
2229 | |||
2184 | .browser-cur-rev, .info_box_elem { |
|
2230 | .browser-cur-rev, .info_box_elem { | |
2185 | display: table-cell; |
|
2231 | display: table-cell; | |
2186 | vertical-align: middle; |
|
2232 | vertical-align: middle; | |
2187 | } |
|
2233 | } | |
2188 |
|
2234 | |||
2189 | .drop-menu { |
|
2235 | .drop-menu { | |
2190 | margin: 0 10px; |
|
2236 | margin: 0 10px; | |
2191 | } |
|
2237 | } | |
2192 |
|
2238 | |||
2193 | .info_box_elem { |
|
2239 | .info_box_elem { | |
2194 | border-top: @border-thickness solid @grey5; |
|
2240 | border-top: @border-thickness solid @grey5; | |
2195 | border-bottom: @border-thickness solid @grey5; |
|
2241 | border-bottom: @border-thickness solid @grey5; | |
2196 | box-shadow: @button-shadow; |
|
2242 | box-shadow: @button-shadow; | |
2197 |
|
2243 | |||
2198 | #at_rev, a { |
|
2244 | #at_rev, a { | |
2199 | padding: 0.6em 0.4em; |
|
2245 | padding: 0.6em 0.4em; | |
2200 | margin: 0; |
|
2246 | margin: 0; | |
2201 | .box-shadow(none); |
|
2247 | .box-shadow(none); | |
2202 | border: 0; |
|
2248 | border: 0; | |
2203 | height: 12px; |
|
2249 | height: 12px; | |
2204 | color: @grey2; |
|
2250 | color: @grey2; | |
2205 | } |
|
2251 | } | |
2206 |
|
2252 | |||
2207 | input#at_rev { |
|
2253 | input#at_rev { | |
2208 | max-width: 50px; |
|
2254 | max-width: 50px; | |
2209 | text-align: center; |
|
2255 | text-align: center; | |
2210 | } |
|
2256 | } | |
2211 |
|
2257 | |||
2212 | &.previous { |
|
2258 | &.previous { | |
2213 | border: @border-thickness solid @grey5; |
|
2259 | border: @border-thickness solid @grey5; | |
2214 | border-top-left-radius: @border-radius; |
|
2260 | border-top-left-radius: @border-radius; | |
2215 | border-bottom-left-radius: @border-radius; |
|
2261 | border-bottom-left-radius: @border-radius; | |
2216 |
|
2262 | |||
2217 | &:hover { |
|
2263 | &:hover { | |
2218 | border-color: @grey4; |
|
2264 | border-color: @grey4; | |
2219 | } |
|
2265 | } | |
2220 |
|
2266 | |||
2221 | .disabled { |
|
2267 | .disabled { | |
2222 | color: @grey5; |
|
2268 | color: @grey5; | |
2223 | cursor: not-allowed; |
|
2269 | cursor: not-allowed; | |
2224 | opacity: 0.5; |
|
2270 | opacity: 0.5; | |
2225 | } |
|
2271 | } | |
2226 | } |
|
2272 | } | |
2227 |
|
2273 | |||
2228 | &.next { |
|
2274 | &.next { | |
2229 | border: @border-thickness solid @grey5; |
|
2275 | border: @border-thickness solid @grey5; | |
2230 | border-top-right-radius: @border-radius; |
|
2276 | border-top-right-radius: @border-radius; | |
2231 | border-bottom-right-radius: @border-radius; |
|
2277 | border-bottom-right-radius: @border-radius; | |
2232 |
|
2278 | |||
2233 | &:hover { |
|
2279 | &:hover { | |
2234 | border-color: @grey4; |
|
2280 | border-color: @grey4; | |
2235 | } |
|
2281 | } | |
2236 |
|
2282 | |||
2237 | .disabled { |
|
2283 | .disabled { | |
2238 | color: @grey5; |
|
2284 | color: @grey5; | |
2239 | cursor: not-allowed; |
|
2285 | cursor: not-allowed; | |
2240 | opacity: 0.5; |
|
2286 | opacity: 0.5; | |
2241 | } |
|
2287 | } | |
2242 | } |
|
2288 | } | |
2243 | } |
|
2289 | } | |
2244 |
|
2290 | |||
2245 | .browser-cur-rev { |
|
2291 | .browser-cur-rev { | |
2246 |
|
2292 | |||
2247 | span{ |
|
2293 | span{ | |
2248 | margin: 0; |
|
2294 | margin: 0; | |
2249 | color: @rcblue; |
|
2295 | color: @rcblue; | |
2250 | height: 12px; |
|
2296 | height: 12px; | |
2251 | display: inline-block; |
|
2297 | display: inline-block; | |
2252 | padding: 0.7em 1em ; |
|
2298 | padding: 0.7em 1em ; | |
2253 | border: @border-thickness solid @rcblue; |
|
2299 | border: @border-thickness solid @rcblue; | |
2254 | margin-right: @padding; |
|
2300 | margin-right: @padding; | |
2255 | } |
|
2301 | } | |
2256 | } |
|
2302 | } | |
2257 |
|
2303 | |||
2258 | } |
|
2304 | } | |
2259 |
|
2305 | |||
2260 | .select-index-number { |
|
2306 | .select-index-number { | |
2261 | margin: 0 0 0 20px; |
|
2307 | margin: 0 0 0 20px; | |
2262 | color: @grey3; |
|
2308 | color: @grey3; | |
2263 | } |
|
2309 | } | |
2264 |
|
2310 | |||
2265 | .search_activate { |
|
2311 | .search_activate { | |
2266 | display: table-cell; |
|
2312 | display: table-cell; | |
2267 | vertical-align: middle; |
|
2313 | vertical-align: middle; | |
2268 |
|
2314 | |||
2269 | input, label{ |
|
2315 | input, label{ | |
2270 | margin: 0; |
|
2316 | margin: 0; | |
2271 | padding: 0; |
|
2317 | padding: 0; | |
2272 | } |
|
2318 | } | |
2273 |
|
2319 | |||
2274 | input{ |
|
2320 | input{ | |
2275 | margin-left: @textmargin; |
|
2321 | margin-left: @textmargin; | |
2276 | } |
|
2322 | } | |
2277 |
|
2323 | |||
2278 | } |
|
2324 | } | |
2279 | } |
|
2325 | } | |
2280 |
|
2326 | |||
2281 | .browser-cur-rev{ |
|
2327 | .browser-cur-rev{ | |
2282 | margin-bottom: @textmargin; |
|
2328 | margin-bottom: @textmargin; | |
2283 | } |
|
2329 | } | |
2284 |
|
2330 | |||
2285 | #node_filter_box_loading{ |
|
2331 | #node_filter_box_loading{ | |
2286 | .info_text; |
|
2332 | .info_text; | |
2287 | } |
|
2333 | } | |
2288 |
|
2334 | |||
2289 | .browser-search { |
|
2335 | .browser-search { | |
2290 | margin: -25px 0px 5px 0px; |
|
2336 | margin: -25px 0px 5px 0px; | |
2291 | } |
|
2337 | } | |
2292 |
|
2338 | |||
2293 | .files-quick-filter { |
|
2339 | .files-quick-filter { | |
2294 | float: right; |
|
2340 | float: right; | |
2295 | width: 180px; |
|
2341 | width: 180px; | |
2296 | position: relative; |
|
2342 | position: relative; | |
2297 | } |
|
2343 | } | |
2298 |
|
2344 | |||
2299 | .files-filter-box { |
|
2345 | .files-filter-box { | |
2300 | display: flex; |
|
2346 | display: flex; | |
2301 | padding: 0px; |
|
2347 | padding: 0px; | |
2302 | border-radius: 3px; |
|
2348 | border-radius: 3px; | |
2303 | margin-bottom: 0; |
|
2349 | margin-bottom: 0; | |
2304 |
|
2350 | |||
2305 | a { |
|
2351 | a { | |
2306 | border: none !important; |
|
2352 | border: none !important; | |
2307 | } |
|
2353 | } | |
2308 |
|
2354 | |||
2309 | li { |
|
2355 | li { | |
2310 | list-style-type: none |
|
2356 | list-style-type: none | |
2311 | } |
|
2357 | } | |
2312 | } |
|
2358 | } | |
2313 |
|
2359 | |||
2314 | .files-filter-box-path { |
|
2360 | .files-filter-box-path { | |
2315 | line-height: 33px; |
|
2361 | line-height: 33px; | |
2316 | padding: 0; |
|
2362 | padding: 0; | |
2317 | width: 20px; |
|
2363 | width: 20px; | |
2318 | position: absolute; |
|
2364 | position: absolute; | |
2319 | z-index: 11; |
|
2365 | z-index: 11; | |
2320 | left: 5px; |
|
2366 | left: 5px; | |
2321 | } |
|
2367 | } | |
2322 |
|
2368 | |||
2323 | .files-filter-box-input { |
|
2369 | .files-filter-box-input { | |
2324 | margin-right: 0; |
|
2370 | margin-right: 0; | |
2325 |
|
2371 | |||
2326 | input { |
|
2372 | input { | |
2327 | border: 1px solid @white; |
|
2373 | border: 1px solid @white; | |
2328 | padding-left: 25px; |
|
2374 | padding-left: 25px; | |
2329 | width: 145px; |
|
2375 | width: 145px; | |
2330 |
|
2376 | |||
2331 | &:hover { |
|
2377 | &:hover { | |
2332 | border-color: @grey6; |
|
2378 | border-color: @grey6; | |
2333 | } |
|
2379 | } | |
2334 |
|
2380 | |||
2335 | &:focus { |
|
2381 | &:focus { | |
2336 | border-color: @grey5; |
|
2382 | border-color: @grey5; | |
2337 | } |
|
2383 | } | |
2338 | } |
|
2384 | } | |
2339 | } |
|
2385 | } | |
2340 |
|
2386 | |||
2341 | .browser-result{ |
|
2387 | .browser-result{ | |
2342 | td a{ |
|
2388 | td a{ | |
2343 | margin-left: 0.5em; |
|
2389 | margin-left: 0.5em; | |
2344 | display: inline-block; |
|
2390 | display: inline-block; | |
2345 |
|
2391 | |||
2346 | em { |
|
2392 | em { | |
2347 | font-weight: @text-bold-weight; |
|
2393 | font-weight: @text-bold-weight; | |
2348 | font-family: @text-bold; |
|
2394 | font-family: @text-bold; | |
2349 | } |
|
2395 | } | |
2350 | } |
|
2396 | } | |
2351 | } |
|
2397 | } | |
2352 |
|
2398 | |||
2353 | .browser-highlight{ |
|
2399 | .browser-highlight{ | |
2354 | background-color: @grey5-alpha; |
|
2400 | background-color: @grey5-alpha; | |
2355 | } |
|
2401 | } | |
2356 |
|
2402 | |||
2357 |
|
2403 | |||
2358 | .edit-file-fieldset #location, |
|
2404 | .edit-file-fieldset #location, | |
2359 | .edit-file-fieldset #filename { |
|
2405 | .edit-file-fieldset #filename { | |
2360 | display: flex; |
|
2406 | display: flex; | |
2361 | width: -moz-available; /* WebKit-based browsers will ignore this. */ |
|
2407 | width: -moz-available; /* WebKit-based browsers will ignore this. */ | |
2362 | width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */ |
|
2408 | width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */ | |
2363 | width: fill-available; |
|
2409 | width: fill-available; | |
2364 | border: 0; |
|
2410 | border: 0; | |
2365 | } |
|
2411 | } | |
2366 |
|
2412 | |||
2367 | .path-items { |
|
2413 | .path-items { | |
2368 | display: flex; |
|
2414 | display: flex; | |
2369 | padding: 0; |
|
2415 | padding: 0; | |
2370 | border: 1px solid #eeeeee; |
|
2416 | border: 1px solid #eeeeee; | |
2371 | width: 100%; |
|
2417 | width: 100%; | |
2372 | float: left; |
|
2418 | float: left; | |
2373 |
|
2419 | |||
2374 | .breadcrumb-path { |
|
2420 | .breadcrumb-path { | |
2375 | line-height: 30px; |
|
2421 | line-height: 30px; | |
2376 | padding: 0 4px; |
|
2422 | padding: 0 4px; | |
2377 | white-space: nowrap; |
|
2423 | white-space: nowrap; | |
2378 | } |
|
2424 | } | |
2379 |
|
2425 | |||
2380 | .location-path { |
|
2426 | .location-path { | |
2381 | width: -moz-available; /* WebKit-based browsers will ignore this. */ |
|
2427 | width: -moz-available; /* WebKit-based browsers will ignore this. */ | |
2382 | width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */ |
|
2428 | width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */ | |
2383 | width: fill-available; |
|
2429 | width: fill-available; | |
2384 |
|
2430 | |||
2385 | .file-name-input { |
|
2431 | .file-name-input { | |
2386 | padding: 0.5em 0; |
|
2432 | padding: 0.5em 0; | |
2387 | } |
|
2433 | } | |
2388 |
|
2434 | |||
2389 | } |
|
2435 | } | |
2390 |
|
2436 | |||
2391 | ul { |
|
2437 | ul { | |
2392 | display: flex; |
|
2438 | display: flex; | |
2393 | margin: 0; |
|
2439 | margin: 0; | |
2394 | padding: 0; |
|
2440 | padding: 0; | |
2395 | width: 100%; |
|
2441 | width: 100%; | |
2396 | } |
|
2442 | } | |
2397 |
|
2443 | |||
2398 | li { |
|
2444 | li { | |
2399 | list-style-type: none; |
|
2445 | list-style-type: none; | |
2400 | } |
|
2446 | } | |
2401 |
|
2447 | |||
2402 | } |
|
2448 | } | |
2403 |
|
2449 | |||
2404 | .editor-items { |
|
2450 | .editor-items { | |
2405 | height: 40px; |
|
2451 | height: 40px; | |
2406 | margin: 10px 0 -17px 10px; |
|
2452 | margin: 10px 0 -17px 10px; | |
2407 |
|
2453 | |||
2408 | .editor-action { |
|
2454 | .editor-action { | |
2409 | cursor: pointer; |
|
2455 | cursor: pointer; | |
2410 | } |
|
2456 | } | |
2411 |
|
2457 | |||
2412 | .editor-action.active { |
|
2458 | .editor-action.active { | |
2413 | border-bottom: 2px solid #5C5C5C; |
|
2459 | border-bottom: 2px solid #5C5C5C; | |
2414 | } |
|
2460 | } | |
2415 |
|
2461 | |||
2416 | li { |
|
2462 | li { | |
2417 | list-style-type: none; |
|
2463 | list-style-type: none; | |
2418 | } |
|
2464 | } | |
2419 | } |
|
2465 | } | |
2420 |
|
2466 | |||
2421 | .edit-file-fieldset .message textarea { |
|
2467 | .edit-file-fieldset .message textarea { | |
2422 | border: 1px solid #eeeeee; |
|
2468 | border: 1px solid #eeeeee; | |
2423 | } |
|
2469 | } | |
2424 |
|
2470 | |||
2425 | #files_data .codeblock { |
|
2471 | #files_data .codeblock { | |
2426 | background-color: #F5F5F5; |
|
2472 | background-color: #F5F5F5; | |
2427 | } |
|
2473 | } | |
2428 |
|
2474 | |||
2429 | #editor_preview { |
|
2475 | #editor_preview { | |
2430 | background: white; |
|
2476 | background: white; | |
2431 | } |
|
2477 | } | |
2432 |
|
2478 | |||
2433 | .show-editor { |
|
2479 | .show-editor { | |
2434 | padding: 10px; |
|
2480 | padding: 10px; | |
2435 | background-color: white; |
|
2481 | background-color: white; | |
2436 |
|
2482 | |||
2437 | } |
|
2483 | } | |
2438 |
|
2484 | |||
2439 | .show-preview { |
|
2485 | .show-preview { | |
2440 | padding: 10px; |
|
2486 | padding: 10px; | |
2441 | background-color: white; |
|
2487 | background-color: white; | |
2442 | border-left: 1px solid #eeeeee; |
|
2488 | border-left: 1px solid #eeeeee; | |
2443 | } |
|
2489 | } | |
2444 | // quick filter |
|
2490 | // quick filter | |
2445 | .grid-quick-filter { |
|
2491 | .grid-quick-filter { | |
2446 | float: right; |
|
2492 | float: right; | |
2447 | position: relative; |
|
2493 | position: relative; | |
2448 | } |
|
2494 | } | |
2449 |
|
2495 | |||
2450 | .grid-filter-box { |
|
2496 | .grid-filter-box { | |
2451 | display: flex; |
|
2497 | display: flex; | |
2452 | padding: 0px; |
|
2498 | padding: 0px; | |
2453 | border-radius: 3px; |
|
2499 | border-radius: 3px; | |
2454 | margin-bottom: 0; |
|
2500 | margin-bottom: 0; | |
2455 |
|
2501 | |||
2456 | a { |
|
2502 | a { | |
2457 | border: none !important; |
|
2503 | border: none !important; | |
2458 | } |
|
2504 | } | |
2459 |
|
2505 | |||
2460 | li { |
|
2506 | li { | |
2461 | list-style-type: none |
|
2507 | list-style-type: none | |
2462 | } |
|
2508 | } | |
2463 | } |
|
2509 | } | |
2464 |
|
2510 | |||
2465 | .grid-filter-box-icon { |
|
2511 | .grid-filter-box-icon { | |
2466 | line-height: 33px; |
|
2512 | line-height: 33px; | |
2467 | padding: 0; |
|
2513 | padding: 0; | |
2468 | width: 20px; |
|
2514 | width: 20px; | |
2469 | position: absolute; |
|
2515 | position: absolute; | |
2470 | z-index: 11; |
|
2516 | z-index: 11; | |
2471 | left: 5px; |
|
2517 | left: 5px; | |
2472 | } |
|
2518 | } | |
2473 |
|
2519 | |||
2474 | .grid-filter-box-input { |
|
2520 | .grid-filter-box-input { | |
2475 | margin-right: 0; |
|
2521 | margin-right: 0; | |
2476 |
|
2522 | |||
2477 | input { |
|
2523 | input { | |
2478 | border: 1px solid @white; |
|
2524 | border: 1px solid @white; | |
2479 | padding-left: 25px; |
|
2525 | padding-left: 25px; | |
2480 | width: 145px; |
|
2526 | width: 145px; | |
2481 |
|
2527 | |||
2482 | &:hover { |
|
2528 | &:hover { | |
2483 | border-color: @grey6; |
|
2529 | border-color: @grey6; | |
2484 | } |
|
2530 | } | |
2485 |
|
2531 | |||
2486 | &:focus { |
|
2532 | &:focus { | |
2487 | border-color: @grey5; |
|
2533 | border-color: @grey5; | |
2488 | } |
|
2534 | } | |
2489 | } |
|
2535 | } | |
2490 | } |
|
2536 | } | |
2491 |
|
2537 | |||
2492 |
|
2538 | |||
2493 |
|
2539 | |||
2494 | // Search |
|
2540 | // Search | |
2495 |
|
2541 | |||
2496 | .search-form{ |
|
2542 | .search-form{ | |
2497 | #q { |
|
2543 | #q { | |
2498 | width: @search-form-width; |
|
2544 | width: @search-form-width; | |
2499 | } |
|
2545 | } | |
2500 | .fields{ |
|
2546 | .fields{ | |
2501 | margin: 0 0 @space; |
|
2547 | margin: 0 0 @space; | |
2502 | } |
|
2548 | } | |
2503 |
|
2549 | |||
2504 | label{ |
|
2550 | label{ | |
2505 | display: inline-block; |
|
2551 | display: inline-block; | |
2506 | margin-right: @textmargin; |
|
2552 | margin-right: @textmargin; | |
2507 | padding-top: 0.25em; |
|
2553 | padding-top: 0.25em; | |
2508 | } |
|
2554 | } | |
2509 |
|
2555 | |||
2510 |
|
2556 | |||
2511 | .results{ |
|
2557 | .results{ | |
2512 | clear: both; |
|
2558 | clear: both; | |
2513 | margin: 0 0 @padding; |
|
2559 | margin: 0 0 @padding; | |
2514 | } |
|
2560 | } | |
2515 |
|
2561 | |||
2516 | .search-tags { |
|
2562 | .search-tags { | |
2517 | padding: 5px 0; |
|
2563 | padding: 5px 0; | |
2518 | } |
|
2564 | } | |
2519 | } |
|
2565 | } | |
2520 |
|
2566 | |||
2521 | div.search-feedback-items { |
|
2567 | div.search-feedback-items { | |
2522 | display: inline-block; |
|
2568 | display: inline-block; | |
2523 | } |
|
2569 | } | |
2524 |
|
2570 | |||
2525 | div.search-code-body { |
|
2571 | div.search-code-body { | |
2526 | background-color: #ffffff; padding: 5px 0 5px 10px; |
|
2572 | background-color: #ffffff; padding: 5px 0 5px 10px; | |
2527 | pre { |
|
2573 | pre { | |
2528 | .match { background-color: #faffa6;} |
|
2574 | .match { background-color: #faffa6;} | |
2529 | .break { display: block; width: 100%; background-color: #DDE7EF; color: #747474; } |
|
2575 | .break { display: block; width: 100%; background-color: #DDE7EF; color: #747474; } | |
2530 | } |
|
2576 | } | |
2531 | } |
|
2577 | } | |
2532 |
|
2578 | |||
2533 | .expand_commit.search { |
|
2579 | .expand_commit.search { | |
2534 | .show_more.open { |
|
2580 | .show_more.open { | |
2535 | height: auto; |
|
2581 | height: auto; | |
2536 | max-height: none; |
|
2582 | max-height: none; | |
2537 | } |
|
2583 | } | |
2538 | } |
|
2584 | } | |
2539 |
|
2585 | |||
2540 | .search-results { |
|
2586 | .search-results { | |
2541 |
|
2587 | |||
2542 | h2 { |
|
2588 | h2 { | |
2543 | margin-bottom: 0; |
|
2589 | margin-bottom: 0; | |
2544 | } |
|
2590 | } | |
2545 | .codeblock { |
|
2591 | .codeblock { | |
2546 | border: none; |
|
2592 | border: none; | |
2547 | background: transparent; |
|
2593 | background: transparent; | |
2548 | } |
|
2594 | } | |
2549 |
|
2595 | |||
2550 | .codeblock-header { |
|
2596 | .codeblock-header { | |
2551 | border: none; |
|
2597 | border: none; | |
2552 | background: transparent; |
|
2598 | background: transparent; | |
2553 | } |
|
2599 | } | |
2554 |
|
2600 | |||
2555 | .code-body { |
|
2601 | .code-body { | |
2556 | border: @border-thickness solid @grey6; |
|
2602 | border: @border-thickness solid @grey6; | |
2557 | .border-radius(@border-radius); |
|
2603 | .border-radius(@border-radius); | |
2558 | } |
|
2604 | } | |
2559 |
|
2605 | |||
2560 | .td-commit { |
|
2606 | .td-commit { | |
2561 | &:extend(pre); |
|
2607 | &:extend(pre); | |
2562 | border-bottom: @border-thickness solid @border-default-color; |
|
2608 | border-bottom: @border-thickness solid @border-default-color; | |
2563 | } |
|
2609 | } | |
2564 |
|
2610 | |||
2565 | .message { |
|
2611 | .message { | |
2566 | height: auto; |
|
2612 | height: auto; | |
2567 | max-width: 350px; |
|
2613 | max-width: 350px; | |
2568 | white-space: normal; |
|
2614 | white-space: normal; | |
2569 | text-overflow: initial; |
|
2615 | text-overflow: initial; | |
2570 | overflow: visible; |
|
2616 | overflow: visible; | |
2571 |
|
2617 | |||
2572 | .match { background-color: #faffa6;} |
|
2618 | .match { background-color: #faffa6;} | |
2573 | .break { background-color: #DDE7EF; width: 100%; color: #747474; display: block; } |
|
2619 | .break { background-color: #DDE7EF; width: 100%; color: #747474; display: block; } | |
2574 | } |
|
2620 | } | |
2575 |
|
2621 | |||
2576 | .path { |
|
2622 | .path { | |
2577 | border-bottom: none !important; |
|
2623 | border-bottom: none !important; | |
2578 | border-left: 1px solid @grey6 !important; |
|
2624 | border-left: 1px solid @grey6 !important; | |
2579 | border-right: 1px solid @grey6 !important; |
|
2625 | border-right: 1px solid @grey6 !important; | |
2580 | } |
|
2626 | } | |
2581 | } |
|
2627 | } | |
2582 |
|
2628 | |||
2583 | table.rctable td.td-search-results div { |
|
2629 | table.rctable td.td-search-results div { | |
2584 | max-width: 100%; |
|
2630 | max-width: 100%; | |
2585 | } |
|
2631 | } | |
2586 |
|
2632 | |||
2587 | #tip-box, .tip-box{ |
|
2633 | #tip-box, .tip-box{ | |
2588 | padding: @menupadding/2; |
|
2634 | padding: @menupadding/2; | |
2589 | display: block; |
|
2635 | display: block; | |
2590 | border: @border-thickness solid @border-highlight-color; |
|
2636 | border: @border-thickness solid @border-highlight-color; | |
2591 | .border-radius(@border-radius); |
|
2637 | .border-radius(@border-radius); | |
2592 | background-color: white; |
|
2638 | background-color: white; | |
2593 | z-index: 99; |
|
2639 | z-index: 99; | |
2594 | white-space: pre-wrap; |
|
2640 | white-space: pre-wrap; | |
2595 | } |
|
2641 | } | |
2596 |
|
2642 | |||
2597 | #linktt { |
|
2643 | #linktt { | |
2598 | width: 79px; |
|
2644 | width: 79px; | |
2599 | } |
|
2645 | } | |
2600 |
|
2646 | |||
2601 | #help_kb .modal-content{ |
|
2647 | #help_kb .modal-content{ | |
2602 | max-width: 750px; |
|
2648 | max-width: 750px; | |
2603 | margin: 10% auto; |
|
2649 | margin: 10% auto; | |
2604 |
|
2650 | |||
2605 | table{ |
|
2651 | table{ | |
2606 | td,th{ |
|
2652 | td,th{ | |
2607 | border-bottom: none; |
|
2653 | border-bottom: none; | |
2608 | line-height: 2.5em; |
|
2654 | line-height: 2.5em; | |
2609 | } |
|
2655 | } | |
2610 | th{ |
|
2656 | th{ | |
2611 | padding-bottom: @textmargin/2; |
|
2657 | padding-bottom: @textmargin/2; | |
2612 | } |
|
2658 | } | |
2613 | td.keys{ |
|
2659 | td.keys{ | |
2614 | text-align: center; |
|
2660 | text-align: center; | |
2615 | } |
|
2661 | } | |
2616 | } |
|
2662 | } | |
2617 |
|
2663 | |||
2618 | .block-left{ |
|
2664 | .block-left{ | |
2619 | width: 45%; |
|
2665 | width: 45%; | |
2620 | margin-right: 5%; |
|
2666 | margin-right: 5%; | |
2621 | } |
|
2667 | } | |
2622 | .modal-footer{ |
|
2668 | .modal-footer{ | |
2623 | clear: both; |
|
2669 | clear: both; | |
2624 | } |
|
2670 | } | |
2625 | .key.tag{ |
|
2671 | .key.tag{ | |
2626 | padding: 0.5em; |
|
2672 | padding: 0.5em; | |
2627 | background-color: @rcblue; |
|
2673 | background-color: @rcblue; | |
2628 | color: white; |
|
2674 | color: white; | |
2629 | border-color: @rcblue; |
|
2675 | border-color: @rcblue; | |
2630 | .box-shadow(none); |
|
2676 | .box-shadow(none); | |
2631 | } |
|
2677 | } | |
2632 | } |
|
2678 | } | |
2633 |
|
2679 | |||
2634 |
|
2680 | |||
2635 |
|
2681 | |||
2636 | //--- IMPORTS FOR REFACTORED STYLES ------------------// |
|
2682 | //--- IMPORTS FOR REFACTORED STYLES ------------------// | |
2637 |
|
2683 | |||
2638 | @import 'statistics-graph'; |
|
2684 | @import 'statistics-graph'; | |
2639 | @import 'tables'; |
|
2685 | @import 'tables'; | |
2640 | @import 'forms'; |
|
2686 | @import 'forms'; | |
2641 | @import 'diff'; |
|
2687 | @import 'diff'; | |
2642 | @import 'summary'; |
|
2688 | @import 'summary'; | |
2643 | @import 'navigation'; |
|
2689 | @import 'navigation'; | |
2644 |
|
2690 | |||
2645 | //--- SHOW/HIDE SECTIONS --// |
|
2691 | //--- SHOW/HIDE SECTIONS --// | |
2646 |
|
2692 | |||
2647 | .btn-collapse { |
|
2693 | .btn-collapse { | |
2648 | float: right; |
|
2694 | float: right; | |
2649 | text-align: right; |
|
2695 | text-align: right; | |
2650 | font-family: @text-light; |
|
2696 | font-family: @text-light; | |
2651 | font-size: @basefontsize; |
|
2697 | font-size: @basefontsize; | |
2652 | cursor: pointer; |
|
2698 | cursor: pointer; | |
2653 | border: none; |
|
2699 | border: none; | |
2654 | color: @rcblue; |
|
2700 | color: @rcblue; | |
2655 | } |
|
2701 | } | |
2656 |
|
2702 | |||
2657 | table.rctable, |
|
2703 | table.rctable, | |
2658 | table.dataTable { |
|
2704 | table.dataTable { | |
2659 | .btn-collapse { |
|
2705 | .btn-collapse { | |
2660 | float: right; |
|
2706 | float: right; | |
2661 | text-align: right; |
|
2707 | text-align: right; | |
2662 | } |
|
2708 | } | |
2663 | } |
|
2709 | } | |
2664 |
|
2710 | |||
2665 | table.rctable { |
|
2711 | table.rctable { | |
2666 | &.permissions { |
|
2712 | &.permissions { | |
2667 |
|
2713 | |||
2668 | th.td-owner { |
|
2714 | th.td-owner { | |
2669 | padding: 0; |
|
2715 | padding: 0; | |
2670 | } |
|
2716 | } | |
2671 |
|
2717 | |||
2672 | th { |
|
2718 | th { | |
2673 | font-weight: normal; |
|
2719 | font-weight: normal; | |
2674 | padding: 0 5px; |
|
2720 | padding: 0 5px; | |
2675 | } |
|
2721 | } | |
2676 |
|
2722 | |||
2677 | } |
|
2723 | } | |
2678 | } |
|
2724 | } | |
2679 |
|
2725 | |||
2680 |
|
2726 | |||
2681 | // TODO: johbo: Fix for IE10, this avoids that we see a border |
|
2727 | // TODO: johbo: Fix for IE10, this avoids that we see a border | |
2682 | // and padding around checkboxes and radio boxes. Move to the right place, |
|
2728 | // and padding around checkboxes and radio boxes. Move to the right place, | |
2683 | // or better: Remove this once we did the form refactoring. |
|
2729 | // or better: Remove this once we did the form refactoring. | |
2684 | input[type=checkbox], |
|
2730 | input[type=checkbox], | |
2685 | input[type=radio] { |
|
2731 | input[type=radio] { | |
2686 | padding: 0; |
|
2732 | padding: 0; | |
2687 | border: none; |
|
2733 | border: none; | |
2688 | } |
|
2734 | } | |
2689 |
|
2735 | |||
2690 | .toggle-ajax-spinner{ |
|
2736 | .toggle-ajax-spinner{ | |
2691 | height: 16px; |
|
2737 | height: 16px; | |
2692 | width: 16px; |
|
2738 | width: 16px; | |
2693 | } |
|
2739 | } | |
2694 |
|
2740 | |||
2695 |
|
2741 | |||
2696 | .markup-form .clearfix { |
|
2742 | .markup-form .clearfix { | |
2697 | .border-radius(@border-radius); |
|
2743 | .border-radius(@border-radius); | |
2698 | margin: 0px; |
|
2744 | margin: 0px; | |
2699 | } |
|
2745 | } | |
2700 |
|
2746 | |||
2701 | .markup-form-area { |
|
2747 | .markup-form-area { | |
2702 | padding: 8px 12px; |
|
2748 | padding: 8px 12px; | |
2703 | border: 1px solid @grey4; |
|
2749 | border: 1px solid @grey4; | |
2704 | .border-radius(@border-radius); |
|
2750 | .border-radius(@border-radius); | |
2705 | } |
|
2751 | } | |
2706 |
|
2752 | |||
2707 | .markup-form-area-header .nav-links { |
|
2753 | .markup-form-area-header .nav-links { | |
2708 | display: flex; |
|
2754 | display: flex; | |
2709 | flex-flow: row wrap; |
|
2755 | flex-flow: row wrap; | |
2710 | -webkit-flex-flow: row wrap; |
|
2756 | -webkit-flex-flow: row wrap; | |
2711 | width: 100%; |
|
2757 | width: 100%; | |
2712 | } |
|
2758 | } | |
2713 |
|
2759 | |||
2714 | .markup-form-area-footer { |
|
2760 | .markup-form-area-footer { | |
2715 | display: flex; |
|
2761 | display: flex; | |
2716 | } |
|
2762 | } | |
2717 |
|
2763 | |||
2718 | .markup-form-area-footer .toolbar { |
|
2764 | .markup-form-area-footer .toolbar { | |
2719 |
|
2765 | |||
2720 | } |
|
2766 | } | |
2721 |
|
2767 | |||
2722 | // markup Form |
|
2768 | // markup Form | |
2723 | div.markup-form { |
|
2769 | div.markup-form { | |
2724 | margin-top: 20px; |
|
2770 | margin-top: 20px; | |
2725 | } |
|
2771 | } | |
2726 |
|
2772 | |||
2727 | .markup-form strong { |
|
2773 | .markup-form strong { | |
2728 | display: block; |
|
2774 | display: block; | |
2729 | margin-bottom: 15px; |
|
2775 | margin-bottom: 15px; | |
2730 | } |
|
2776 | } | |
2731 |
|
2777 | |||
2732 | .markup-form textarea { |
|
2778 | .markup-form textarea { | |
2733 | width: 100%; |
|
2779 | width: 100%; | |
2734 | height: 100px; |
|
2780 | height: 100px; | |
2735 | font-family: @text-monospace; |
|
2781 | font-family: @text-monospace; | |
2736 | } |
|
2782 | } | |
2737 |
|
2783 | |||
2738 | form.markup-form { |
|
2784 | form.markup-form { | |
2739 | margin-top: 10px; |
|
2785 | margin-top: 10px; | |
2740 | margin-left: 10px; |
|
2786 | margin-left: 10px; | |
2741 | } |
|
2787 | } | |
2742 |
|
2788 | |||
2743 | .markup-form .comment-block-ta, |
|
2789 | .markup-form .comment-block-ta, | |
2744 | .markup-form .preview-box { |
|
2790 | .markup-form .preview-box { | |
2745 | .border-radius(@border-radius); |
|
2791 | .border-radius(@border-radius); | |
2746 | .box-sizing(border-box); |
|
2792 | .box-sizing(border-box); | |
2747 | background-color: white; |
|
2793 | background-color: white; | |
2748 | } |
|
2794 | } | |
2749 |
|
2795 | |||
2750 | .markup-form .preview-box.unloaded { |
|
2796 | .markup-form .preview-box.unloaded { | |
2751 | height: 50px; |
|
2797 | height: 50px; | |
2752 | text-align: center; |
|
2798 | text-align: center; | |
2753 | padding: 20px; |
|
2799 | padding: 20px; | |
2754 | background-color: white; |
|
2800 | background-color: white; | |
2755 | } |
|
2801 | } | |
2756 |
|
2802 | |||
2757 |
|
2803 | |||
2758 | .dropzone-wrapper { |
|
2804 | .dropzone-wrapper { | |
2759 | border: 1px solid @grey5; |
|
2805 | border: 1px solid @grey5; | |
2760 | padding: 20px; |
|
2806 | padding: 20px; | |
2761 | } |
|
2807 | } | |
2762 |
|
2808 | |||
2763 | .dropzone, |
|
2809 | .dropzone, | |
2764 | .dropzone-pure { |
|
2810 | .dropzone-pure { | |
2765 | border: 2px dashed @grey5; |
|
2811 | border: 2px dashed @grey5; | |
2766 | border-radius: 5px; |
|
2812 | border-radius: 5px; | |
2767 | background: white; |
|
2813 | background: white; | |
2768 | min-height: 200px; |
|
2814 | min-height: 200px; | |
2769 | padding: 54px; |
|
2815 | padding: 54px; | |
2770 |
|
2816 | |||
2771 | .dz-message { |
|
2817 | .dz-message { | |
2772 | font-weight: 700; |
|
2818 | font-weight: 700; | |
2773 | text-align: center; |
|
2819 | text-align: center; | |
2774 | margin: 2em 0; |
|
2820 | margin: 2em 0; | |
2775 | } |
|
2821 | } | |
2776 |
|
2822 | |||
2777 | } |
|
2823 | } | |
2778 |
|
2824 | |||
2779 | .dz-preview { |
|
2825 | .dz-preview { | |
2780 | margin: 10px 0 !important; |
|
2826 | margin: 10px 0 !important; | |
2781 | position: relative; |
|
2827 | position: relative; | |
2782 | vertical-align: top; |
|
2828 | vertical-align: top; | |
2783 | padding: 10px; |
|
2829 | padding: 10px; | |
2784 | border-bottom: 1px solid @grey5; |
|
2830 | border-bottom: 1px solid @grey5; | |
2785 | } |
|
2831 | } | |
2786 |
|
2832 | |||
2787 | .dz-filename { |
|
2833 | .dz-filename { | |
2788 | font-weight: 700; |
|
2834 | font-weight: 700; | |
2789 | float:left; |
|
2835 | float:left; | |
2790 | } |
|
2836 | } | |
2791 |
|
2837 | |||
2792 | .dz-sending { |
|
2838 | .dz-sending { | |
2793 | float: right; |
|
2839 | float: right; | |
2794 | } |
|
2840 | } | |
2795 |
|
2841 | |||
2796 | .dz-response { |
|
2842 | .dz-response { | |
2797 | clear:both |
|
2843 | clear:both | |
2798 | } |
|
2844 | } | |
2799 |
|
2845 | |||
2800 | .dz-filename-size { |
|
2846 | .dz-filename-size { | |
2801 | float:right |
|
2847 | float:right | |
2802 | } |
|
2848 | } | |
2803 |
|
2849 | |||
2804 | .dz-error-message { |
|
2850 | .dz-error-message { | |
2805 | color: @alert2; |
|
2851 | color: @alert2; | |
2806 | padding-top: 10px; |
|
2852 | padding-top: 10px; | |
2807 | clear: both; |
|
2853 | clear: both; | |
2808 | } |
|
2854 | } |
@@ -1,275 +1,289 b'' | |||||
1 | @font-face { |
|
1 | @font-face { | |
2 | font-family: 'rcicons'; |
|
2 | font-family: 'rcicons'; | |
3 |
|
3 | |||
4 |
src: url('../fonts/RCIcons/rcicons.eot? |
|
4 | src: url('../fonts/RCIcons/rcicons.eot?44705679'); | |
5 |
src: url('../fonts/RCIcons/rcicons.eot? |
|
5 | src: url('../fonts/RCIcons/rcicons.eot?44705679#iefix') format('embedded-opentype'), | |
6 |
url('../fonts/RCIcons/rcicons.woff2? |
|
6 | url('../fonts/RCIcons/rcicons.woff2?44705679') format('woff2'), | |
7 |
url('../fonts/RCIcons/rcicons.woff? |
|
7 | url('../fonts/RCIcons/rcicons.woff?44705679') format('woff'), | |
8 |
url('../fonts/RCIcons/rcicons.ttf? |
|
8 | url('../fonts/RCIcons/rcicons.ttf?44705679') format('truetype'), | |
9 |
url('../fonts/RCIcons/rcicons.svg? |
|
9 | url('../fonts/RCIcons/rcicons.svg?44705679#rcicons') format('svg'); | |
10 |
|
10 | |||
11 | font-weight: normal; |
|
11 | font-weight: normal; | |
12 | font-style: normal; |
|
12 | font-style: normal; | |
13 | } |
|
13 | } | |
14 | /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ |
|
14 | /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ | |
15 | /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ |
|
15 | /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ | |
16 | /* |
|
16 | /* | |
17 | @media screen and (-webkit-min-device-pixel-ratio:0) { |
|
17 | @media screen and (-webkit-min-device-pixel-ratio:0) { | |
18 | @font-face { |
|
18 | @font-face { | |
19 | font-family: 'rcicons'; |
|
19 | font-family: 'rcicons'; | |
20 | src: url('../fonts/RCIcons/rcicons.svg?74666722#rcicons') format('svg'); |
|
20 | src: url('../fonts/RCIcons/rcicons.svg?74666722#rcicons') format('svg'); | |
21 | } |
|
21 | } | |
22 | } |
|
22 | } | |
23 | */ |
|
23 | */ | |
24 |
|
24 | |||
25 | [class^="icon-"]:before, [class*=" icon-"]:before { |
|
25 | [class^="icon-"]:before, [class*=" icon-"]:before { | |
26 | font-family: "rcicons"; |
|
26 | font-family: "rcicons"; | |
27 | font-style: normal; |
|
27 | font-style: normal; | |
28 | font-weight: normal; |
|
28 | font-weight: normal; | |
29 | speak: none; |
|
29 | speak: none; | |
30 |
|
30 | |||
31 | display: inline-block; |
|
31 | display: inline-block; | |
32 | text-decoration: inherit; |
|
32 | text-decoration: inherit; | |
33 | width: 1em; |
|
33 | width: 1em; | |
34 | margin-right: .2em; |
|
34 | margin-right: .2em; | |
35 | text-align: center; |
|
35 | text-align: center; | |
36 | /* opacity: .8; */ |
|
36 | /* opacity: .8; */ | |
37 |
|
37 | |||
38 | /* For safety - reset parent styles, that can break glyph codes*/ |
|
38 | /* For safety - reset parent styles, that can break glyph codes*/ | |
39 | font-variant: normal; |
|
39 | font-variant: normal; | |
40 | text-transform: none; |
|
40 | text-transform: none; | |
41 |
|
41 | |||
42 | /* fix buttons height, for twitter bootstrap */ |
|
42 | /* fix buttons height, for twitter bootstrap */ | |
43 | line-height: 1em; |
|
43 | line-height: 1em; | |
44 |
|
44 | |||
45 | /* Animation center compensation - margins should be symmetric */ |
|
45 | /* Animation center compensation - margins should be symmetric */ | |
46 | /* remove if not needed */ |
|
46 | /* remove if not needed */ | |
47 | margin-left: .2em; |
|
47 | margin-left: .2em; | |
48 |
|
48 | |||
49 | /* you can be more comfortable with increased icons size */ |
|
49 | /* you can be more comfortable with increased icons size */ | |
50 | /* font-size: 120%; */ |
|
50 | /* font-size: 120%; */ | |
51 |
|
51 | |||
52 | /* Font smoothing. That was taken from TWBS */ |
|
52 | /* Font smoothing. That was taken from TWBS */ | |
53 | -webkit-font-smoothing: antialiased; |
|
53 | -webkit-font-smoothing: antialiased; | |
54 | -moz-osx-font-smoothing: grayscale; |
|
54 | -moz-osx-font-smoothing: grayscale; | |
55 |
|
55 | |||
56 | /* Uncomment for 3D effect */ |
|
56 | /* Uncomment for 3D effect */ | |
57 | /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ |
|
57 | /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ | |
58 | } |
|
58 | } | |
59 |
|
59 | |||
60 | .animate-spin { |
|
60 | .animate-spin { | |
61 | -moz-animation: spin 2s infinite linear; |
|
61 | -moz-animation: spin 2s infinite linear; | |
62 | -o-animation: spin 2s infinite linear; |
|
62 | -o-animation: spin 2s infinite linear; | |
63 | -webkit-animation: spin 2s infinite linear; |
|
63 | -webkit-animation: spin 2s infinite linear; | |
64 | animation: spin 2s infinite linear; |
|
64 | animation: spin 2s infinite linear; | |
65 | display: inline-block; |
|
65 | display: inline-block; | |
66 | } |
|
66 | } | |
67 | @-moz-keyframes spin { |
|
67 | @-moz-keyframes spin { | |
68 | 0% { |
|
68 | 0% { | |
69 | -moz-transform: rotate(0deg); |
|
69 | -moz-transform: rotate(0deg); | |
70 | -o-transform: rotate(0deg); |
|
70 | -o-transform: rotate(0deg); | |
71 | -webkit-transform: rotate(0deg); |
|
71 | -webkit-transform: rotate(0deg); | |
72 | transform: rotate(0deg); |
|
72 | transform: rotate(0deg); | |
73 | } |
|
73 | } | |
74 |
|
74 | |||
75 | 100% { |
|
75 | 100% { | |
76 | -moz-transform: rotate(359deg); |
|
76 | -moz-transform: rotate(359deg); | |
77 | -o-transform: rotate(359deg); |
|
77 | -o-transform: rotate(359deg); | |
78 | -webkit-transform: rotate(359deg); |
|
78 | -webkit-transform: rotate(359deg); | |
79 | transform: rotate(359deg); |
|
79 | transform: rotate(359deg); | |
80 | } |
|
80 | } | |
81 | } |
|
81 | } | |
82 | @-webkit-keyframes spin { |
|
82 | @-webkit-keyframes spin { | |
83 | 0% { |
|
83 | 0% { | |
84 | -moz-transform: rotate(0deg); |
|
84 | -moz-transform: rotate(0deg); | |
85 | -o-transform: rotate(0deg); |
|
85 | -o-transform: rotate(0deg); | |
86 | -webkit-transform: rotate(0deg); |
|
86 | -webkit-transform: rotate(0deg); | |
87 | transform: rotate(0deg); |
|
87 | transform: rotate(0deg); | |
88 | } |
|
88 | } | |
89 |
|
89 | |||
90 | 100% { |
|
90 | 100% { | |
91 | -moz-transform: rotate(359deg); |
|
91 | -moz-transform: rotate(359deg); | |
92 | -o-transform: rotate(359deg); |
|
92 | -o-transform: rotate(359deg); | |
93 | -webkit-transform: rotate(359deg); |
|
93 | -webkit-transform: rotate(359deg); | |
94 | transform: rotate(359deg); |
|
94 | transform: rotate(359deg); | |
95 | } |
|
95 | } | |
96 | } |
|
96 | } | |
97 | @-o-keyframes spin { |
|
97 | @-o-keyframes spin { | |
98 | 0% { |
|
98 | 0% { | |
99 | -moz-transform: rotate(0deg); |
|
99 | -moz-transform: rotate(0deg); | |
100 | -o-transform: rotate(0deg); |
|
100 | -o-transform: rotate(0deg); | |
101 | -webkit-transform: rotate(0deg); |
|
101 | -webkit-transform: rotate(0deg); | |
102 | transform: rotate(0deg); |
|
102 | transform: rotate(0deg); | |
103 | } |
|
103 | } | |
104 |
|
104 | |||
105 | 100% { |
|
105 | 100% { | |
106 | -moz-transform: rotate(359deg); |
|
106 | -moz-transform: rotate(359deg); | |
107 | -o-transform: rotate(359deg); |
|
107 | -o-transform: rotate(359deg); | |
108 | -webkit-transform: rotate(359deg); |
|
108 | -webkit-transform: rotate(359deg); | |
109 | transform: rotate(359deg); |
|
109 | transform: rotate(359deg); | |
110 | } |
|
110 | } | |
111 | } |
|
111 | } | |
112 | @-ms-keyframes spin { |
|
112 | @-ms-keyframes spin { | |
113 | 0% { |
|
113 | 0% { | |
114 | -moz-transform: rotate(0deg); |
|
114 | -moz-transform: rotate(0deg); | |
115 | -o-transform: rotate(0deg); |
|
115 | -o-transform: rotate(0deg); | |
116 | -webkit-transform: rotate(0deg); |
|
116 | -webkit-transform: rotate(0deg); | |
117 | transform: rotate(0deg); |
|
117 | transform: rotate(0deg); | |
118 | } |
|
118 | } | |
119 |
|
119 | |||
120 | 100% { |
|
120 | 100% { | |
121 | -moz-transform: rotate(359deg); |
|
121 | -moz-transform: rotate(359deg); | |
122 | -o-transform: rotate(359deg); |
|
122 | -o-transform: rotate(359deg); | |
123 | -webkit-transform: rotate(359deg); |
|
123 | -webkit-transform: rotate(359deg); | |
124 | transform: rotate(359deg); |
|
124 | transform: rotate(359deg); | |
125 | } |
|
125 | } | |
126 | } |
|
126 | } | |
127 | @keyframes spin { |
|
127 | @keyframes spin { | |
128 | 0% { |
|
128 | 0% { | |
129 | -moz-transform: rotate(0deg); |
|
129 | -moz-transform: rotate(0deg); | |
130 | -o-transform: rotate(0deg); |
|
130 | -o-transform: rotate(0deg); | |
131 | -webkit-transform: rotate(0deg); |
|
131 | -webkit-transform: rotate(0deg); | |
132 | transform: rotate(0deg); |
|
132 | transform: rotate(0deg); | |
133 | } |
|
133 | } | |
134 |
|
134 | |||
135 | 100% { |
|
135 | 100% { | |
136 | -moz-transform: rotate(359deg); |
|
136 | -moz-transform: rotate(359deg); | |
137 | -o-transform: rotate(359deg); |
|
137 | -o-transform: rotate(359deg); | |
138 | -webkit-transform: rotate(359deg); |
|
138 | -webkit-transform: rotate(359deg); | |
139 | transform: rotate(359deg); |
|
139 | transform: rotate(359deg); | |
140 | } |
|
140 | } | |
141 | } |
|
141 | } | |
142 |
|
142 | |||
143 |
|
143 | |||
144 |
|
144 | |||
145 | .icon-no-margin::before { |
|
145 | .icon-no-margin::before { | |
146 | margin: 0; |
|
146 | margin: 0; | |
147 |
|
147 | |||
148 | } |
|
148 | } | |
149 | // -- ICON CLASSES -- // |
|
149 | // -- ICON CLASSES -- // | |
150 | // sorter = lambda s: '\n'.join(sorted(s.splitlines())) |
|
150 | // sorter = lambda s: '\n'.join(sorted(s.splitlines())) | |
151 |
|
151 | |||
152 | .icon-delete:before { content: '\e800'; } /* '' */ |
|
152 | .icon-delete:before { content: '\e800'; } /* '' */ | |
153 | .icon-ok:before { content: '\e801'; } /* '' */ |
|
153 | .icon-ok:before { content: '\e801'; } /* '' */ | |
154 | .icon-comment:before { content: '\e802'; } /* '' */ |
|
154 | .icon-comment:before { content: '\e802'; } /* '' */ | |
155 | .icon-bookmark:before { content: '\e803'; } /* '' */ |
|
155 | .icon-bookmark:before { content: '\e803'; } /* '' */ | |
156 | .icon-branch:before { content: '\e804'; } /* '' */ |
|
156 | .icon-branch:before { content: '\e804'; } /* '' */ | |
157 | .icon-tag:before { content: '\e805'; } /* '' */ |
|
157 | .icon-tag:before { content: '\e805'; } /* '' */ | |
158 | .icon-lock:before { content: '\e806'; } /* '' */ |
|
158 | .icon-lock:before { content: '\e806'; } /* '' */ | |
159 | .icon-unlock:before { content: '\e807'; } /* '' */ |
|
159 | .icon-unlock:before { content: '\e807'; } /* '' */ | |
160 | .icon-feed:before { content: '\e808'; } /* '' */ |
|
160 | .icon-feed:before { content: '\e808'; } /* '' */ | |
161 | .icon-left:before { content: '\e809'; } /* '' */ |
|
161 | .icon-left:before { content: '\e809'; } /* '' */ | |
162 | .icon-right:before { content: '\e80a'; } /* '' */ |
|
162 | .icon-right:before { content: '\e80a'; } /* '' */ | |
163 | .icon-down:before { content: '\e80b'; } /* '' */ |
|
163 | .icon-down:before { content: '\e80b'; } /* '' */ | |
164 | .icon-folder:before { content: '\e80c'; } /* '' */ |
|
164 | .icon-folder:before { content: '\e80c'; } /* '' */ | |
165 | .icon-folder-open:before { content: '\e80d'; } /* '' */ |
|
165 | .icon-folder-open:before { content: '\e80d'; } /* '' */ | |
166 | .icon-folder-empty:before { content: '\f114'; } /* '' */ |
|
|||
167 | .icon-folder-open-empty:before { content: '\f115'; } /* '' */ |
|
|||
168 | .icon-trash-empty:before { content: '\e80e'; } /* '' */ |
|
166 | .icon-trash-empty:before { content: '\e80e'; } /* '' */ | |
169 | .icon-group:before { content: '\e80f'; } /* '' */ |
|
167 | .icon-group:before { content: '\e80f'; } /* '' */ | |
170 | .icon-remove:before { content: '\e810'; } /* '' */ |
|
168 | .icon-remove:before { content: '\e810'; } /* '' */ | |
171 | .icon-fork:before { content: '\e811'; } /* '' */ |
|
169 | .icon-fork:before { content: '\e811'; } /* '' */ | |
172 | .icon-more:before { content: '\e812'; } /* '' */ |
|
170 | .icon-more:before { content: '\e812'; } /* '' */ | |
173 | .icon-search:before { content: '\e813'; } /* '' */ |
|
171 | .icon-search:before { content: '\e813'; } /* '' */ | |
174 | .icon-scissors:before { content: '\e814'; } /* '' */ |
|
172 | .icon-scissors:before { content: '\e814'; } /* '' */ | |
175 | .icon-download:before { content: '\e815'; } /* '' */ |
|
173 | .icon-download:before { content: '\e815'; } /* '' */ | |
176 | .icon-doc:before { content: '\e816'; } /* '' */ |
|
174 | .icon-doc:before { content: '\e816'; } /* '' */ | |
177 | .icon-cog:before { content: '\e817'; } /* '' */ |
|
175 | .icon-cog:before { content: '\e817'; } /* '' */ | |
178 | .icon-cog-alt:before { content: '\e818'; } /* '' */ |
|
176 | .icon-cog-alt:before { content: '\e818'; } /* '' */ | |
179 | .icon-eye:before { content: '\e819'; } /* '' */ |
|
177 | .icon-eye:before { content: '\e819'; } /* '' */ | |
180 | .icon-eye-off:before { content: '\e81a'; } /* '' */ |
|
178 | .icon-eye-off:before { content: '\e81a'; } /* '' */ | |
181 | .icon-cancel-circled2:before { content: '\e81b'; } /* '' */ |
|
179 | .icon-cancel-circled2:before { content: '\e81b'; } /* '' */ | |
182 | .icon-cancel-circled:before { content: '\e81c'; } /* '' */ |
|
180 | .icon-cancel-circled:before { content: '\e81c'; } /* '' */ | |
183 | .icon-plus:before { content: '\e81d'; } /* '' */ |
|
181 | .icon-plus:before { content: '\e81d'; } /* '' */ | |
184 | .icon-plus-circled:before { content: '\e81e'; } /* '' */ |
|
182 | .icon-plus-circled:before { content: '\e81e'; } /* '' */ | |
185 | .icon-minus-circled:before { content: '\e81f'; } /* '' */ |
|
183 | .icon-minus-circled:before { content: '\e81f'; } /* '' */ | |
186 | .icon-minus:before { content: '\e820'; } /* '' */ |
|
184 | .icon-minus:before { content: '\e820'; } /* '' */ | |
187 | .icon-info-circled:before { content: '\e821'; } /* '' */ |
|
185 | .icon-info-circled:before { content: '\e821'; } /* '' */ | |
188 | .icon-upload:before { content: '\e822'; } /* '' */ |
|
186 | .icon-upload:before { content: '\e822'; } /* '' */ | |
189 | .icon-home:before { content: '\e823'; } /* '' */ |
|
187 | .icon-home:before { content: '\e823'; } /* '' */ | |
|
188 | .icon-flag-filled:before { content: '\e824'; } /* '' */ | |||
190 | .icon-git:before { content: '\e82a'; } /* '' */ |
|
189 | .icon-git:before { content: '\e82a'; } /* '' */ | |
191 | .icon-hg:before { content: '\e82d'; } /* '' */ |
|
190 | .icon-hg:before { content: '\e82d'; } /* '' */ | |
192 | .icon-svn:before { content: '\e82e'; } /* '' */ |
|
191 | .icon-svn:before { content: '\e82e'; } /* '' */ | |
193 | .icon-comment-add:before { content: '\e82f'; } /* '' */ |
|
192 | .icon-comment-add:before { content: '\e82f'; } /* '' */ | |
194 | .icon-comment-toggle:before { content: '\e830'; } /* '' */ |
|
193 | .icon-comment-toggle:before { content: '\e830'; } /* '' */ | |
195 | .icon-rhodecode:before { content: '\e831'; } /* '' */ |
|
194 | .icon-rhodecode:before { content: '\e831'; } /* '' */ | |
196 | .icon-up:before { content: '\e832'; } /* '' */ |
|
195 | .icon-up:before { content: '\e832'; } /* '' */ | |
197 | .icon-merge:before { content: '\e833'; } /* '' */ |
|
196 | .icon-merge:before { content: '\e833'; } /* '' */ | |
|
197 | .icon-spin-alt:before { content: '\e834'; } /* '' */ | |||
|
198 | .icon-spin:before { content: '\e838'; } /* '' */ | |||
198 | .icon-docs:before { content: '\f0c5'; } /* '' */ |
|
199 | .icon-docs:before { content: '\f0c5'; } /* '' */ | |
199 | .icon-menu:before { content: '\f0c9'; } /* '' */ |
|
200 | .icon-menu:before { content: '\f0c9'; } /* '' */ | |
|
201 | .icon-sort:before { content: '\f0dc'; } /* '' */ | |||
200 | .icon-paste:before { content: '\f0ea'; } /* '' */ |
|
202 | .icon-paste:before { content: '\f0ea'; } /* '' */ | |
201 | .icon-doc-text:before { content: '\f0f6'; } /* '' */ |
|
203 | .icon-doc-text:before { content: '\f0f6'; } /* '' */ | |
202 | .icon-plus-squared:before { content: '\f0fe'; } /* '' */ |
|
204 | .icon-plus-squared:before { content: '\f0fe'; } /* '' */ | |
|
205 | .icon-angle-left:before { content: '\f104'; } /* '' */ | |||
|
206 | .icon-angle-right:before { content: '\f105'; } /* '' */ | |||
|
207 | .icon-angle-up:before { content: '\f106'; } /* '' */ | |||
|
208 | .icon-angle-down:before { content: '\f107'; } /* '' */ | |||
|
209 | .icon-circle-empty:before { content: '\f10c'; } /* '' */ | |||
|
210 | .icon-circle:before { content: '\f111'; } /* '' */ | |||
|
211 | .icon-folder-empty:before { content: '\f114'; } /* '' */ | |||
|
212 | .icon-folder-open-empty:before { content: '\f115'; } /* '' */ | |||
|
213 | .icon-code:before { content: '\f121'; } /* '' */ | |||
|
214 | .icon-info:before { content: '\f129'; } /* '' */ | |||
203 | .icon-minus-squared:before { content: '\f146'; } /* '' */ |
|
215 | .icon-minus-squared:before { content: '\f146'; } /* '' */ | |
204 | .icon-minus-squared-alt:before { content: '\f147'; } /* '' */ |
|
216 | .icon-minus-squared-alt:before { content: '\f147'; } /* '' */ | |
205 | .icon-doc-inv:before { content: '\f15b'; } /* '' */ |
|
217 | .icon-doc-inv:before { content: '\f15b'; } /* '' */ | |
206 | .icon-doc-text-inv:before { content: '\f15c'; } /* '' */ |
|
218 | .icon-doc-text-inv:before { content: '\f15c'; } /* '' */ | |
207 | .icon-plus-squared-alt:before { content: '\f196'; } /* '' */ |
|
219 | .icon-plus-squared-alt:before { content: '\f196'; } /* '' */ | |
208 | .icon-file-code:before { content: '\f1c9'; } /* '' */ |
|
220 | .icon-file-code:before { content: '\f1c9'; } /* '' */ | |
209 | .icon-history:before { content: '\f1da'; } /* '' */ |
|
221 | .icon-history:before { content: '\f1da'; } /* '' */ | |
|
222 | .icon-circle-thin:before { content: '\f1db'; } /* '' */ | |||
210 | .icon-sliders:before { content: '\f1de'; } /* '' */ |
|
223 | .icon-sliders:before { content: '\f1de'; } /* '' */ | |
211 | .icon-trash:before { content: '\f1f8'; } /* '' */ |
|
224 | .icon-trash:before { content: '\f1f8'; } /* '' */ | |
212 | .icon-spin-alt:before { content: '\e834'; } /* '' */ |
|
|||
213 | .icon-spin:before { content: '\e838'; } /* '' */ |
|
|||
214 |
|
225 | |||
215 |
|
226 | |||
216 | // MERGED ICONS BASED ON CURRENT ONES |
|
227 | // MERGED ICONS BASED ON CURRENT ONES | |
217 | .icon-repo-group:before { &:extend(.icon-folder-open:before); } |
|
228 | .icon-repo-group:before { &:extend(.icon-folder-open:before); } | |
218 | .icon-repo-private:before { &:extend(.icon-lock:before); } |
|
229 | .icon-repo-private:before { &:extend(.icon-lock:before); } | |
219 | .icon-repo-lock:before { &:extend(.icon-lock:before); } |
|
230 | .icon-repo-lock:before { &:extend(.icon-lock:before); } | |
220 | .icon-unlock-alt:before { &:extend(.icon-unlock:before); } |
|
231 | .icon-unlock-alt:before { &:extend(.icon-unlock:before); } | |
221 | .icon-repo-unlock:before { &:extend(.icon-unlock:before); } |
|
232 | .icon-repo-unlock:before { &:extend(.icon-unlock:before); } | |
222 | .icon-repo-public:before { &:extend(.icon-unlock:before); } |
|
233 | .icon-repo-public:before { &:extend(.icon-unlock:before); } | |
223 | .icon-rss-sign:before { &:extend(.icon-feed:before); } |
|
234 | .icon-rss-sign:before { &:extend(.icon-feed:before); } | |
224 | .icon-code-fork:before { &:extend(.icon-fork:before); } |
|
235 | .icon-code-fork:before { &:extend(.icon-fork:before); } | |
225 | .icon-arrow_up:before { &:extend(.icon-up:before); } |
|
236 | .icon-arrow_up:before { &:extend(.icon-up:before); } | |
226 | .icon-file:before { &:extend(.icon-file-code:before); } |
|
237 | .icon-file:before { &:extend(.icon-file-code:before); } | |
227 | .icon-file-text:before { &:extend(.icon-file-code:before); } |
|
238 | .icon-file-text:before { &:extend(.icon-file-code:before); } | |
228 | .icon-directory:before { &:extend(.icon-folder:before); } |
|
239 | .icon-directory:before { &:extend(.icon-folder:before); } | |
229 | .icon-more-linked:before { &:extend(.icon-more:before); } |
|
240 | .icon-more-linked:before { &:extend(.icon-more:before); } | |
230 | .icon-clipboard:before { &:extend(.icon-docs:before); } |
|
241 | .icon-clipboard:before { &:extend(.icon-docs:before); } | |
231 | .icon-copy:before { &:extend(.icon-docs:before); } |
|
242 | .icon-copy:before { &:extend(.icon-docs:before); } | |
232 | .icon-true:before { &:extend(.icon-ok:before); } |
|
243 | .icon-true:before { &:extend(.icon-ok:before); } | |
233 | .icon-false:before { &:extend(.icon-delete:before); } |
|
244 | .icon-false:before { &:extend(.icon-delete:before); } | |
234 | .icon-expand-linked:before { &:extend(.icon-down:before); } |
|
245 | .icon-expand-linked:before { &:extend(.icon-down:before); } | |
235 | .icon-pr-merge-fail:before { &:extend(.icon-delete:before); } |
|
246 | .icon-pr-merge-fail:before { &:extend(.icon-delete:before); } | |
|
247 | .icon-wide-mode:before { &:extend(.icon-sort:before); } | |||
|
248 | .icon-flag-filled-red:before { &:extend(.icon-flag-filled:before); } | |||
236 |
|
249 | |||
237 | // TRANSFORM |
|
250 | // TRANSFORM | |
238 |
|
||||
239 | .icon-merge:before {transform: rotate(180deg);} |
|
251 | .icon-merge:before {transform: rotate(180deg);} | |
|
252 | .icon-wide-mode:before {transform: rotate(90deg);} | |||
240 |
|
253 | |||
241 | // -- END ICON CLASSES -- // |
|
254 | // -- END ICON CLASSES -- // | |
242 |
|
255 | |||
243 |
|
256 | |||
244 | //--- ICONS STYLING ------------------// |
|
257 | //--- ICONS STYLING ------------------// | |
245 |
|
258 | |||
246 | .icon-git { color: @color4 !important; } |
|
259 | .icon-git { color: @color4 !important; } | |
247 | .icon-hg { color: @color8 !important; } |
|
260 | .icon-hg { color: @color8 !important; } | |
248 | .icon-svn { color: @color1 !important; } |
|
261 | .icon-svn { color: @color1 !important; } | |
249 | .icon-git-inv { color: @color4 !important; } |
|
262 | .icon-git-inv { color: @color4 !important; } | |
250 | .icon-hg-inv { color: @color8 !important; } |
|
263 | .icon-hg-inv { color: @color8 !important; } | |
251 | .icon-svn-inv { color: @color1 !important; } |
|
264 | .icon-svn-inv { color: @color1 !important; } | |
252 | .icon-repo-lock { color: #FF0000; } |
|
265 | .icon-repo-lock { color: #FF0000; } | |
253 | .icon-repo-unlock { color: #FF0000; } |
|
266 | .icon-repo-unlock { color: #FF0000; } | |
254 | .icon-false { color: @grey5 } |
|
267 | .icon-false { color: @grey5 } | |
255 | .icon-expand-linked { cursor: pointer; color: @grey3; font-size: 14px } |
|
268 | .icon-expand-linked { cursor: pointer; color: @grey3; font-size: 14px } | |
256 | .icon-more-linked { cursor: pointer; color: @grey3 } |
|
269 | .icon-more-linked { cursor: pointer; color: @grey3 } | |
|
270 | .icon-flag-filled-red { color: @color5 !important; } | |||
257 |
|
271 | |||
258 | .repo-switcher-dropdown .select2-result-label { |
|
272 | .repo-switcher-dropdown .select2-result-label { | |
259 | .icon-git:before { |
|
273 | .icon-git:before { | |
260 | &:extend(.icon-git-transparent:before); |
|
274 | &:extend(.icon-git-transparent:before); | |
261 | } |
|
275 | } | |
262 | .icon-hg:before { |
|
276 | .icon-hg:before { | |
263 | &:extend(.icon-hg-transparent:before); |
|
277 | &:extend(.icon-hg-transparent:before); | |
264 | color: @alert4; |
|
278 | color: @alert4; | |
265 | } |
|
279 | } | |
266 | .icon-svn:before { |
|
280 | .icon-svn:before { | |
267 | &:extend(.icon-svn-transparent:before); |
|
281 | &:extend(.icon-svn-transparent:before); | |
268 | } |
|
282 | } | |
269 | } |
|
283 | } | |
270 |
|
284 | |||
271 | .icon-user-group:before { |
|
285 | .icon-user-group:before { | |
272 | &:extend(.icon-group:before); |
|
286 | &:extend(.icon-group:before); | |
273 | margin: 0; |
|
287 | margin: 0; | |
274 | font-size: 16px; |
|
288 | font-size: 16px; | |
275 | } |
|
289 | } |
@@ -1,240 +1,242 b'' | |||||
1 | // select2.less |
|
1 | // select2.less | |
2 | // For use in RhodeCode application drop down select boxes; |
|
2 | // For use in RhodeCode application drop down select boxes; | |
3 | // see style guide documentation for guidelines. |
|
3 | // see style guide documentation for guidelines. | |
4 |
|
4 | |||
5 |
|
5 | |||
6 | // SELECT2 DROPDOWN MENUS |
|
6 | // SELECT2 DROPDOWN MENUS | |
7 |
|
7 | |||
8 | //Select2 Dropdown |
|
8 | //Select2 Dropdown | |
9 | .select2-results{ |
|
9 | .select2-results{ | |
10 | .box-sizing(border-box); |
|
10 | .box-sizing(border-box); | |
11 | overflow-y: scroll; |
|
11 | overflow-y: scroll; | |
12 | } |
|
12 | } | |
13 |
|
13 | |||
14 | .select2-container{margin: 0; position: relative; display: inline-block; zoom: 1;} |
|
14 | .select2-container{margin: 0; position: relative; display: inline-block; zoom: 1;} | |
15 | .select2-container, |
|
15 | .select2-container, | |
16 | .select2-drop, |
|
16 | .select2-drop, | |
17 | .select2-search, |
|
17 | .select2-search, | |
18 | .select2-search input {.box-sizing(border-box);} |
|
18 | .select2-search input {.box-sizing(border-box);} | |
19 | .select2-container .select2-choice{display:block; line-height:1em; -webkit-touch-callout:none;-moz-user-select:none;-ms-user-select:none;user-select:none; } |
|
19 | .select2-container .select2-choice{display:block; line-height:1em; -webkit-touch-callout:none;-moz-user-select:none;-ms-user-select:none;user-select:none; } | |
20 | .main .select2-container .select2-choice { background-color: white; box-shadow: @button-shadow;} |
|
20 | .main .select2-container .select2-choice { background-color: white; box-shadow: @button-shadow;} | |
21 | .select2-container .select2-choice abbr { display: none; width: 12px; height: 12px; position: absolute; right: 24px; top: 8px; font-size: 1px; text-decoration: none; border: 0; background: url('../images/select2.png') right top no-repeat; cursor: pointer; outline: 0; } |
|
21 | .select2-container .select2-choice abbr { display: none; width: 12px; height: 12px; position: absolute; right: 24px; top: 8px; font-size: 1px; text-decoration: none; border: 0; background: url('../images/select2.png') right top no-repeat; cursor: pointer; outline: 0; } | |
22 | .select2-container.select2-allowclear .select2-choice abbr {display: inline-block;} |
|
22 | .select2-container.select2-allowclear .select2-choice abbr {display: inline-block;} | |
23 | .select2-container .select2-choice abbr:hover { background-position: right -11px; cursor: pointer; } |
|
23 | .select2-container .select2-choice abbr:hover { background-position: right -11px; cursor: pointer; } | |
24 | .select2-drop-mask { border: 0; margin: 0; padding: 0; position: fixed; left: 0; top: 0; min-height: 100%; min-width: 100%; height: auto; width: auto; opacity: 0; z-index: 998; background-color: #fff; filter: alpha(opacity=0); } |
|
24 | .select2-drop-mask { border: 0; margin: 0; padding: 0; position: fixed; left: 0; top: 0; min-height: 100%; min-width: 100%; height: auto; width: auto; opacity: 0; z-index: 998; background-color: #fff; filter: alpha(opacity=0); } | |
25 | .select2-drop { width: 100%; margin-top: -1px; position: absolute; z-index: 999; top: 100%; background: #fff; color: #000; border: @border-thickness solid @rcblue; border-top: 0; border-radius: 0 0 @border-radius @border-radius; } |
|
25 | .select2-drop { width: 100%; margin-top: -1px; position: absolute; z-index: 999; top: 100%; background: #fff; color: #000; border: @border-thickness solid @rcblue; border-top: 0; border-radius: 0 0 @border-radius @border-radius; } | |
26 | .select2-drop.select2-drop-above { margin-top: 1px; border-top: @border-thickness solid @rclightblue; border-bottom: 0; border-radius: @border-radius @border-radius 0 0; } |
|
26 | .select2-drop.select2-drop-above { margin-top: 1px; border-top: @border-thickness solid @rclightblue; border-bottom: 0; border-radius: @border-radius @border-radius 0 0; } | |
27 | .select2-drop-active { border: @border-thickness solid #5897fb; border-top: none; } |
|
27 | .select2-drop-active { border: @border-thickness solid #5897fb; border-top: none; } | |
28 | .select2-drop.select2-drop-above.select2-drop-active {border-top: @border-thickness solid #5897fb;} |
|
28 | .select2-drop.select2-drop-above.select2-drop-active {border-top: @border-thickness solid #5897fb;} | |
29 | .select2-drop-auto-width { border-top: @border-thickness solid #aaa; width: auto; } |
|
29 | .select2-drop-auto-width { border-top: @border-thickness solid #aaa; width: auto; } | |
30 | .select2-drop-auto-width .select2-search {padding-top: 4px;} |
|
30 | .select2-drop-auto-width .select2-search {padding-top: 4px;} | |
31 | html[dir="rtl"] .select2-container .select2-choice .select2-arrow { left: 0; right: auto; border-left: none; border-right: @border-thickness solid @grey5; border-radius: @border-radius 0 0 @border-radius; } |
|
31 | html[dir="rtl"] .select2-container .select2-choice .select2-arrow { left: 0; right: auto; border-left: none; border-right: @border-thickness solid @grey5; border-radius: @border-radius 0 0 @border-radius; } | |
32 | html[dir="rtl"] .select2-container .select2-choice .select2-arrow b {background-position: 2px 1px;} |
|
32 | html[dir="rtl"] .select2-container .select2-choice .select2-arrow b {background-position: 2px 1px;} | |
33 | .select2-search { display: inline-block; width: 100%; min-height: 26px; margin: 0; padding-left: 4px; padding-right: 4px; position: relative; z-index: 1000; white-space: nowrap; } |
|
33 | .select2-search { display: inline-block; width: 100%; min-height: 26px; margin: 0; padding-left: 4px; padding-right: 4px; position: relative; z-index: 1000; white-space: nowrap; } | |
34 | .select2-search input { width: 100%; height: auto !important; min-height: 26px; padding: 4px 20px 4px 5px; margin: 0; outline: 0; } |
|
34 | .select2-search input { width: 100%; height: auto !important; min-height: 26px; padding: 4px 20px 4px 5px; margin: 0; outline: 0; } | |
35 | html[dir="rtl"] .select2-search input { padding: 4px 5px 4px 20px; background: #fff url('../images/select2.png') no-repeat -37px -22px; } |
|
35 | html[dir="rtl"] .select2-search input { padding: 4px 5px 4px 20px; background: #fff url('../images/select2.png') no-repeat -37px -22px; } | |
36 | .select2-drop.select2-drop-above .select2-search input {margin-top: 4px;} |
|
36 | .select2-drop.select2-drop-above .select2-search input {margin-top: 4px;} | |
37 | .select2-dropdown-open .select2-choice .select2-arrow { background: transparent; border-left: none; filter: none; } |
|
37 | .select2-dropdown-open .select2-choice .select2-arrow { background: transparent; border-left: none; filter: none; } | |
38 | html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow {border-right: none;} |
|
38 | html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow {border-right: none;} | |
39 | .select2-hidden-accessible { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } |
|
39 | .select2-hidden-accessible { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } | |
40 | /* results */ |
|
40 | /* results */ | |
41 | .select2-results { max-height: 200px; padding: 0 0 0 4px; margin: 4px 4px 4px 0; position: relative; overflow-x: hidden; overflow-y: auto; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } |
|
41 | .select2-results { max-height: 200px; padding: 0 0 0 4px; margin: 4px 4px 4px 0; position: relative; overflow-x: hidden; overflow-y: auto; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } | |
42 | html[dir="rtl"] .select2-results { padding: 0 4px 0 0; margin: 4px 0 4px 4px; } |
|
42 | html[dir="rtl"] .select2-results { padding: 0 4px 0 0; margin: 4px 0 4px 4px; } | |
43 | .select2-results .select2-disabled{background:@grey6;display:list-item;cursor:default} |
|
43 | .select2-results .select2-disabled{background:@grey6;display:list-item;cursor:default} | |
44 | .select2-results .select2-selected{display:none} |
|
44 | .select2-results .select2-selected{display:none} | |
45 | .select2-more-results.select2-active{background:#f4f4f4 url('../images/select2-spinner.gif') no-repeat 100%} |
|
45 | .select2-more-results.select2-active{background:#f4f4f4 url('../images/select2-spinner.gif') no-repeat 100%} | |
46 | .select2-container.select2-container-disabled .select2-choice abbr{display:none} |
|
46 | .select2-container.select2-container-disabled .select2-choice abbr{display:none} | |
47 | .select2-container.select2-container-disabled {background:@grey6;cursor:default} |
|
47 | .select2-container.select2-container-disabled {background:@grey6;cursor:default} | |
48 | .select2-container.select2-container-disabled .select2-choice {background:@grey6;cursor:default} |
|
48 | .select2-container.select2-container-disabled .select2-choice {background:@grey6;cursor:default} | |
49 | .select2-container-multi .select2-choices li{float:left;list-style:none} |
|
49 | .select2-container-multi .select2-choices li{float:left;list-style:none} | |
50 | .select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap} |
|
50 | .select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap} | |
51 | .select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default} |
|
51 | .select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default} | |
52 | .select2-search-choice-close{display:block;width:12px;height:13px;position:absolute;right:3px;top:4px;font-size:1px;outline:none;background:url('../images/select2.png') right top no-repeat} |
|
52 | .select2-search-choice-close{display:block;width:12px;height:13px;position:absolute;right:3px;top:4px;font-size:1px;outline:none;background:url('../images/select2.png') right top no-repeat} | |
53 | .select2-container-multi .select2-search-choice-close{left:3px} |
|
53 | .select2-container-multi .select2-search-choice-close{left:3px} | |
54 | .select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover{background-position:right -11px} |
|
54 | .select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover{background-position:right -11px} | |
55 | .select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close{background-position:right -11px} |
|
55 | .select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close{background-position:right -11px} | |
56 | .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:none} |
|
56 | .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:none} | |
57 | .select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0) !important;width:1px !important;height:1px !important; |
|
57 | .select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0) !important;width:1px !important;height:1px !important; | |
58 | border:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important; |
|
58 | border:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important; | |
59 | position: absolute !important;outline:0 !important;left:0 !important;top:0 !important} |
|
59 | position: absolute !important;outline:0 !important;left:0 !important;top:0 !important} | |
60 | .select2-display-none, |
|
60 | .select2-display-none, | |
61 | .select2-search-hidden {display:none} |
|
61 | .select2-search-hidden {display:none} | |
62 | .select2-search input { border-color: @rclightblue; } |
|
62 | .select2-search input { border-color: @rclightblue; } | |
63 |
|
63 | |||
64 | .select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll} |
|
64 | .select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll} | |
65 | @media only screen and (-webkit-min-device-pixel-ratio:1.5), |
|
65 | @media only screen and (-webkit-min-device-pixel-ratio:1.5), | |
66 | only screen and (min-resolution:144dpi){ |
|
66 | only screen and (min-resolution:144dpi){ | |
67 | .select2-search input, |
|
67 | .select2-search input, | |
68 | .select2-search-choice-close, |
|
68 | .select2-search-choice-close, | |
69 | .select2-container .select2-choice abbr, |
|
69 | .select2-container .select2-choice abbr, | |
70 | .select2-container .select2-choice .select2-arrow b{background-image:url('../images/select2x2.png');background-repeat:no-repeat;background-size:60px 40px;} |
|
70 | .select2-container .select2-choice .select2-arrow b{background-image:url('../images/select2x2.png');background-repeat:no-repeat;background-size:60px 40px;} | |
71 | .select2-search input{background-position:100% -21px} |
|
71 | .select2-search input{background-position:100% -21px} | |
72 | } |
|
72 | } | |
73 | [class^="input-"] [class^="select2-choice"]>div{display:none} |
|
73 | [class^="input-"] [class^="select2-choice"]>div{display:none} | |
74 | [class^="input-"] .select2-offscreen{position:absolute} |
|
74 | [class^="input-"] .select2-offscreen{position:absolute} | |
75 | select.select2{height:28px;visibility:hidden} |
|
75 | select.select2{height:28px;visibility:hidden} | |
76 | .autocomplete-suggestions{overflow:auto} |
|
76 | .autocomplete-suggestions{overflow:auto} | |
77 | .autocomplete-suggestion{white-space:nowrap;overflow:hidden} |
|
77 | .autocomplete-suggestion{white-space:nowrap;overflow:hidden} | |
78 |
|
78 | |||
79 | /* Retina-ize icons */ |
|
79 | /* Retina-ize icons */ | |
80 | @media only screen and (-webkit-min-device-pixel-ratio:1.5), |
|
80 | @media only screen and (-webkit-min-device-pixel-ratio:1.5), | |
81 | only screen and (min-resolution:144dpi){ |
|
81 | only screen and (min-resolution:144dpi){ | |
82 | .select2-search input, |
|
82 | .select2-search input, | |
83 | .select2-search-choice-close, |
|
83 | .select2-search-choice-close, | |
84 | .select2-container .select2-choice abbr, |
|
84 | .select2-container .select2-choice abbr, | |
85 | .select2-container .select2-choice .select2-arrow b{background-image:url('../images/select2x2.png');background-repeat:no-repeat;background-size:60px 40px;} |
|
85 | .select2-container .select2-choice .select2-arrow b{background-image:url('../images/select2x2.png');background-repeat:no-repeat;background-size:60px 40px;} | |
86 | .select2-search input{background-position:100% -21px} |
|
86 | .select2-search input{background-position:100% -21px} | |
87 | } |
|
87 | } | |
88 |
|
88 | |||
89 | //Internal Select2 Dropdown Menus |
|
89 | //Internal Select2 Dropdown Menus | |
90 |
|
90 | |||
91 | .drop-menu-core { |
|
91 | .drop-menu-core { | |
92 | min-width: 160px; |
|
92 | min-width: 160px; | |
93 | margin: 0 @padding 0 0; |
|
93 | margin: 0 @padding 0 0; | |
94 | padding: 0; |
|
94 | padding: 0; | |
95 | border: @border-thickness solid @grey5; |
|
95 | border: @border-thickness solid @grey5; | |
96 | border-radius: @border-radius; |
|
96 | border-radius: @border-radius; | |
97 | color: @grey2; |
|
97 | color: @grey2; | |
98 | background-color: white; |
|
98 | background-color: white; | |
99 |
|
99 | |||
100 | a { |
|
100 | a { | |
101 | color: @grey2; |
|
101 | color: @grey2; | |
102 |
|
102 | |||
103 | &:hover { |
|
103 | &:hover { | |
104 | color: @rcdarkblue; |
|
104 | color: @rcdarkblue; | |
105 | } |
|
105 | } | |
106 | } |
|
106 | } | |
107 | } |
|
107 | } | |
108 |
|
108 | |||
109 | .drop-menu-dropdown { |
|
109 | .drop-menu-dropdown { | |
110 | .drop-menu-core; |
|
110 | .drop-menu-core; | |
111 |
|
111 | |||
112 | .flag_status { |
|
112 | .flag_status { | |
113 | margin-top: 0; |
|
113 | margin-top: 0; | |
114 | } |
|
114 | } | |
115 | } |
|
115 | } | |
116 |
|
116 | |||
117 | .drop-menu-base { |
|
117 | .drop-menu-base { | |
118 | .drop-menu-core; |
|
118 | .drop-menu-core; | |
119 | position: relative; |
|
119 | position: relative; | |
120 | display: inline-block; |
|
120 | display: inline-block; | |
121 | line-height: 1em; |
|
121 | line-height: 1em; | |
122 | z-index: 2; |
|
122 | z-index: 2; | |
123 | cursor: pointer; |
|
123 | cursor: pointer; | |
124 |
|
124 | |||
125 | .flag_status { |
|
125 | .flag_status { | |
126 | margin-top: 0; |
|
126 | margin-top: 0; | |
127 | } |
|
127 | } | |
128 |
|
128 | |||
129 | a { |
|
129 | a { | |
130 | display:block; |
|
130 | display:block; | |
131 | padding: .7em; |
|
131 | padding: .7em; | |
132 | padding-right: 2em; |
|
132 | padding-right: 2em; | |
133 | position: relative; |
|
133 | position: relative; | |
134 |
|
134 | |||
135 | &:after { |
|
135 | &:after { | |
136 | position: absolute; |
|
136 | position: absolute; | |
137 | content: "\00A0\25BE"; |
|
137 | content: "\00A0\25BE"; | |
138 | right: .1em; |
|
138 | right: .1em; | |
139 | line-height: 1em; |
|
139 | line-height: 1em; | |
140 | top: 0.2em; |
|
140 | top: 0.2em; | |
141 | width: 1em; |
|
141 | width: 1em; | |
142 | font-size: 20px; |
|
142 | font-size: 20px; | |
143 | } |
|
143 | } | |
144 | } |
|
144 | } | |
145 | } |
|
145 | } | |
146 |
|
146 | |||
147 | .drop-menu { |
|
147 | .drop-menu { | |
148 | .drop-menu-base; |
|
148 | .drop-menu-base; | |
149 | width: auto !important; |
|
149 | width: auto !important; | |
150 | } |
|
150 | } | |
151 |
|
151 | |||
152 | .drop-menu-no-width { |
|
152 | .drop-menu-no-width { | |
153 | .drop-menu-base; |
|
153 | .drop-menu-base; | |
154 | width: auto; |
|
154 | width: auto; | |
|
155 | min-width: 0; | |||
|
156 | margin: 0; | |||
155 | } |
|
157 | } | |
156 |
|
158 | |||
157 | .field-sm .drop-menu { |
|
159 | .field-sm .drop-menu { | |
158 | padding: 1px 0 0 0; |
|
160 | padding: 1px 0 0 0; | |
159 | a { |
|
161 | a { | |
160 | padding: 6px; |
|
162 | padding: 6px; | |
161 | }; |
|
163 | }; | |
162 | } |
|
164 | } | |
163 |
|
165 | |||
164 | .select2-search input { |
|
166 | .select2-search input { | |
165 | width: 100%; |
|
167 | width: 100%; | |
166 | margin: .5em 0; |
|
168 | margin: .5em 0; | |
167 | padding: .5em; |
|
169 | padding: .5em; | |
168 | border-color: @grey4; |
|
170 | border-color: @grey4; | |
169 |
|
171 | |||
170 | &:focus, &:hover { |
|
172 | &:focus, &:hover { | |
171 | border-color: @rcblue; |
|
173 | border-color: @rcblue; | |
172 | box-shadow: @button-shadow; |
|
174 | box-shadow: @button-shadow; | |
173 | } |
|
175 | } | |
174 | } |
|
176 | } | |
175 |
|
177 | |||
176 | .select2-no-results { |
|
178 | .select2-no-results { | |
177 | padding: .5em; |
|
179 | padding: .5em; | |
178 | } |
|
180 | } | |
179 |
|
181 | |||
180 | .drop-menu-dropdown ul { |
|
182 | .drop-menu-dropdown ul { | |
181 | width: auto; |
|
183 | width: auto; | |
182 | margin: 0; |
|
184 | margin: 0; | |
183 | padding: 0; |
|
185 | padding: 0; | |
184 | z-index: 50; |
|
186 | z-index: 50; | |
185 |
|
187 | |||
186 | li { |
|
188 | li { | |
187 | margin: 0; |
|
189 | margin: 0; | |
188 | line-height: 1em; |
|
190 | line-height: 1em; | |
189 | list-style-type: none; |
|
191 | list-style-type: none; | |
190 |
|
192 | |||
191 | &:hover, |
|
193 | &:hover, | |
192 | &.select2-highlighted { |
|
194 | &.select2-highlighted { | |
193 | background-color: @grey7; |
|
195 | background-color: @grey7; | |
194 |
|
196 | |||
195 | .select2-result-label { |
|
197 | .select2-result-label { | |
196 | &:hover { |
|
198 | &:hover { | |
197 | color: @grey1!important; |
|
199 | color: @grey1!important; | |
198 | } |
|
200 | } | |
199 | } |
|
201 | } | |
200 | } |
|
202 | } | |
201 |
|
203 | |||
202 | &.select2-result-with-children { |
|
204 | &.select2-result-with-children { | |
203 | &:hover { |
|
205 | &:hover { | |
204 | background-color: white; |
|
206 | background-color: white; | |
205 | } |
|
207 | } | |
206 | } |
|
208 | } | |
207 |
|
209 | |||
208 | .select2-result-label { |
|
210 | .select2-result-label { | |
209 | display:block; |
|
211 | display:block; | |
210 | padding: 8px; |
|
212 | padding: 8px; | |
211 | font-family: @text-regular; |
|
213 | font-family: @text-regular; | |
212 | color: @grey2; |
|
214 | color: @grey2; | |
213 | cursor: pointer; |
|
215 | cursor: pointer; | |
214 | } |
|
216 | } | |
215 | &.select2-result-with-children { |
|
217 | &.select2-result-with-children { | |
216 |
|
218 | |||
217 | .select2-result-label { |
|
219 | .select2-result-label { | |
218 | color: @rcdarkblue; |
|
220 | color: @rcdarkblue; | |
219 | cursor: default; |
|
221 | cursor: default; | |
220 | font-weight: @text-semibold-weight; |
|
222 | font-weight: @text-semibold-weight; | |
221 | font-family: @text-semibold; |
|
223 | font-family: @text-semibold; | |
222 | } |
|
224 | } | |
223 |
|
225 | |||
224 | ul.select2-result-sub li .select2-result-label { |
|
226 | ul.select2-result-sub li .select2-result-label { | |
225 | padding-left: 16px; |
|
227 | padding-left: 16px; | |
226 | font-family: @text-regular; |
|
228 | font-family: @text-regular; | |
227 | color: @grey2; |
|
229 | color: @grey2; | |
228 | cursor: pointer; |
|
230 | cursor: pointer; | |
229 | } |
|
231 | } | |
230 | } |
|
232 | } | |
231 | } |
|
233 | } | |
232 | } |
|
234 | } | |
233 |
|
235 | |||
234 | .side-by-side-selector { |
|
236 | .side-by-side-selector { | |
235 | .left-group, |
|
237 | .left-group, | |
236 | .middle-group, |
|
238 | .middle-group, | |
237 | .right-group { |
|
239 | .right-group { | |
238 | margin-bottom: @padding; |
|
240 | margin-bottom: @padding; | |
239 | } |
|
241 | } | |
240 | } |
|
242 | } |
@@ -1,492 +1,497 b'' | |||||
1 | // summary.less |
|
1 | // summary.less | |
2 | // For use in RhodeCode applications; |
|
2 | // For use in RhodeCode applications; | |
3 | // Used for headers and file detail summary screens. |
|
3 | // Used for headers and file detail summary screens. | |
4 |
|
4 | |||
5 | .summary { |
|
5 | .summary { | |
6 | clear: both; |
|
6 | clear: both; | |
7 | float: none; |
|
7 | float: none; | |
8 | position: relative; |
|
8 | position: relative; | |
9 | width: 100%; |
|
9 | width: 100%; | |
10 | margin: 0; |
|
10 | margin: 0; | |
11 | padding: 0; |
|
11 | padding: 0; | |
12 | background: #FCFCFC; |
|
12 | background: #FCFCFC; | |
13 | border: 1px solid #EAEAEA; |
|
13 | border: 1px solid #EAEAEA; | |
14 | border-radius: @border-radius; |
|
14 | border-radius: @border-radius; | |
15 | margin-bottom: 20px; |
|
15 | margin-bottom: 20px; | |
16 |
|
16 | |||
17 | .summary-detail-header { |
|
17 | .summary-detail-header { | |
18 | display: block; |
|
18 | display: block; | |
19 | width: 100%; |
|
19 | width: 100%; | |
20 | margin-bottom: 10px; |
|
20 | margin-bottom: 10px; | |
21 | padding: 0 0 .5em 0; |
|
21 | padding: 0 0 .5em 0; | |
22 | border-bottom: @border-thickness solid @border-default-color; |
|
22 | border-bottom: @border-thickness solid @border-default-color; | |
23 |
|
23 | |||
24 | .breadcrumbs { |
|
24 | .breadcrumbs { | |
25 | display: inline; |
|
25 | display: inline; | |
26 | margin: 0; |
|
26 | margin: 0; | |
27 | padding: 0; |
|
27 | padding: 0; | |
28 | } |
|
28 | } | |
29 |
|
29 | |||
30 | h4 { |
|
30 | h4 { | |
31 | margin: 0 1em 0 0; |
|
31 | margin: 0 1em 0 0; | |
32 | padding: 10px 0 5px 20px; |
|
32 | padding: 10px 0 5px 20px; | |
33 | line-height: 1.2em; |
|
33 | line-height: 1.2em; | |
34 | font-size: @basefontsize; |
|
34 | font-size: @basefontsize; | |
35 | } |
|
35 | } | |
36 |
|
36 | |||
37 | .action_link { |
|
37 | .action_link { | |
38 | float: right; |
|
38 | float: right; | |
39 | } |
|
39 | } | |
40 |
|
40 | |||
41 | .new-file { |
|
41 | .new-file { | |
42 | float: right; |
|
42 | float: right; | |
43 | margin-top: -1.5em; |
|
43 | margin-top: -1.5em; | |
44 | } |
|
44 | } | |
45 | } |
|
45 | } | |
46 |
|
46 | |||
47 | .summary-detail { |
|
47 | .summary-detail { | |
48 | float: none; |
|
48 | float: none; | |
49 | position: relative; |
|
49 | position: relative; | |
50 | width: 100%; |
|
50 | width: 100%; | |
51 | margin: 0; |
|
51 | margin: 0; | |
52 | padding: 0 0 20px 0; |
|
52 | padding: 0 0 20px 0; | |
53 |
|
53 | |||
54 | .file_diff_buttons { |
|
54 | .file_diff_buttons { | |
55 | margin-top: @space; |
|
55 | margin-top: @space; | |
56 | } |
|
56 | } | |
57 |
|
57 | |||
58 | // commit message |
|
58 | // commit message | |
59 | .commit { |
|
59 | .commit { | |
60 | white-space: pre-wrap; |
|
60 | white-space: pre-wrap; | |
61 | } |
|
61 | } | |
62 |
|
62 | |||
63 | .left-clone { |
|
63 | .left-clone { | |
64 | float: left; |
|
64 | float: left; | |
65 | height: 30px; |
|
65 | height: 30px; | |
66 | margin: 0; |
|
66 | margin: 0; | |
67 | padding: 0; |
|
67 | padding: 0; | |
68 | width: 130px; |
|
68 | width: 130px; | |
69 | font-weight: @text-semibold-weight; |
|
69 | font-weight: @text-semibold-weight; | |
70 | font-family: @text-semibold; |
|
70 | font-family: @text-semibold; | |
71 | } |
|
71 | } | |
72 | .left-clone select { |
|
72 | .left-clone select { | |
73 | width: 130px; |
|
73 | width: 130px; | |
74 | margin-right: 0; |
|
74 | margin-right: 0; | |
75 | background-color: @grey7; |
|
75 | background-color: @grey7; | |
76 | border-color: @grey4; |
|
76 | border-color: @grey4; | |
77 | color: #5C5C5C; |
|
77 | color: #5C5C5C; | |
78 | border-top-right-radius: 0; |
|
78 | border-top-right-radius: 0; | |
79 | border-bottom-right-radius: 0; |
|
79 | border-bottom-right-radius: 0; | |
80 | } |
|
80 | } | |
81 |
|
81 | |||
82 | .right-clone { |
|
82 | .right-clone { | |
83 | float: left; |
|
83 | float: left; | |
84 | width: ~"calc(100% - 170px)"; |
|
84 | width: ~"calc(100% - 170px)"; | |
85 |
|
85 | |||
86 | .clipboard-action { |
|
86 | .clipboard-action { | |
87 | margin-left: -30px; |
|
87 | margin-left: -30px; | |
88 | } |
|
88 | } | |
89 | } |
|
89 | } | |
90 |
|
90 | |||
91 | .clone_url_input { |
|
91 | .clone_url_input { | |
92 | width: ~"calc(100% - 90px)"; |
|
92 | width: ~"calc(100% - 90px)"; | |
93 | padding: 6px 30px 6px 10px; |
|
93 | padding: 6px 30px 6px 10px; | |
94 | height: 14px; |
|
94 | height: 14px; | |
95 | box-shadow: 0 1px 1px 0 rgba(0,0,0,0.07); |
|
95 | box-shadow: 0 1px 1px 0 rgba(0,0,0,0.07); | |
96 | border-top-left-radius: 0; |
|
96 | border-top-left-radius: 0; | |
97 | border-bottom-left-radius: 0; |
|
97 | border-bottom-left-radius: 0; | |
98 | margin-left: -1px; |
|
98 | margin-left: -1px; | |
99 | } |
|
99 | } | |
100 |
|
100 | |||
101 | &.directory { |
|
101 | &.directory { | |
102 | margin-bottom: 0; |
|
102 | margin-bottom: 0; | |
103 | } |
|
103 | } | |
104 |
|
104 | |||
105 | .desc { |
|
105 | .desc { | |
106 | white-space: pre-wrap; |
|
106 | white-space: pre-wrap; | |
107 | } |
|
107 | } | |
108 | .disabled { |
|
108 | .disabled { | |
109 | opacity: .5; |
|
109 | opacity: .5; | |
110 | cursor: inherit; |
|
110 | cursor: inherit; | |
111 | } |
|
111 | } | |
112 | .help-block { |
|
112 | .help-block { | |
113 | color: inherit; |
|
113 | color: inherit; | |
114 | margin: 0; |
|
114 | margin: 0; | |
115 | } |
|
115 | } | |
116 | } |
|
116 | } | |
117 |
|
117 | |||
118 | .sidebar-right { |
|
118 | .sidebar-right { | |
119 | float: left; |
|
119 | float: left; | |
120 | width: 24%; |
|
120 | width: 24%; | |
121 | margin: 0; |
|
121 | margin: 0; | |
122 | padding: 0; |
|
122 | padding: 0; | |
123 |
|
123 | |||
124 | ul { |
|
124 | ul { | |
125 | margin-left: 0; |
|
125 | margin-left: 0; | |
126 | padding-left: 0; |
|
126 | padding-left: 0; | |
127 |
|
127 | |||
128 | li { |
|
128 | li { | |
129 | list-style-type: none; |
|
129 | list-style-type: none; | |
130 | } |
|
130 | } | |
131 | } |
|
131 | } | |
132 | } |
|
132 | } | |
133 |
|
133 | |||
134 | #clone_by_name, #clone_by_id{ |
|
134 | #clone_by_name, #clone_by_id{ | |
135 | display: inline-block; |
|
135 | display: inline-block; | |
136 | margin-left: 0px; |
|
136 | margin-left: 0px; | |
137 | } |
|
137 | } | |
138 |
|
138 | |||
139 | .codeblock { |
|
139 | .codeblock { | |
140 | border: none; |
|
140 | border: none; | |
141 | background-color: transparent; |
|
141 | background-color: transparent; | |
142 | } |
|
142 | } | |
143 |
|
143 | |||
144 | .code-body { |
|
144 | .code-body { | |
145 | border: @border-thickness solid @border-default-color; |
|
145 | border: @border-thickness solid @border-default-color; | |
146 | .border-radius(@border-radius); |
|
146 | .border-radius(@border-radius); | |
147 | } |
|
147 | } | |
148 |
|
148 | |||
149 | .btn-collapse { |
|
149 | .btn-collapse { | |
150 | clear: both; |
|
150 | clear: both; | |
151 | float: none; |
|
151 | float: none; | |
152 | background: #F7F7F7; |
|
152 | background: #F7F7F7; | |
153 | text-align: center; |
|
153 | text-align: center; | |
154 | color: #949494; |
|
154 | color: #949494; | |
155 | font-size: 11px; |
|
155 | font-size: 11px; | |
|
156 | line-height: 1.3em; | |||
156 |
|
157 | |||
157 | &:hover { |
|
158 | &:hover { | |
158 | background: #f1f1f1; |
|
159 | background: #f1f1f1; | |
159 | color: #2B2B2D; |
|
160 | color: #2B2B2D; | |
160 | } |
|
161 | } | |
161 | } |
|
162 | } | |
162 | } |
|
163 | } | |
163 |
|
164 | |||
164 | // this is used outside of just the summary |
|
165 | // this is used outside of just the summary | |
165 | .fieldset, // similar to form fieldset |
|
166 | .fieldset, // similar to form fieldset | |
166 | .summary .sidebar-right-content { // these have to match |
|
167 | .summary .sidebar-right-content { // these have to match | |
167 | clear: both; |
|
168 | clear: both; | |
168 | float: none; |
|
169 | float: none; | |
169 | position: relative; |
|
170 | position: relative; | |
170 | display:block; |
|
171 | display:block; | |
171 | width: 100%; |
|
172 | width: 100%; | |
172 | min-height: 20px; |
|
173 | min-height: 20px; | |
173 | margin-bottom: 10px; |
|
174 | margin-bottom: 10px; | |
174 | padding: 0; |
|
175 | padding: 0; | |
175 | line-height: 1.2em; |
|
176 | line-height: 1.2em; | |
176 |
|
177 | |||
177 | &:after { // clearfix |
|
178 | &:after { // clearfix | |
178 | content: ""; |
|
179 | content: ""; | |
179 | clear: both; |
|
180 | clear: both; | |
180 | width: 100%; |
|
181 | width: 100%; | |
181 | height: 1em; |
|
182 | height: 1em; | |
182 | } |
|
183 | } | |
183 | } |
|
184 | } | |
184 |
|
185 | |||
185 | .summary .sidebar-right-content { |
|
186 | .summary .sidebar-right-content { | |
186 | margin-bottom: 0; |
|
187 | margin-bottom: 0; | |
187 |
|
188 | |||
188 | .rc-user { |
|
189 | .rc-user { | |
189 | min-width: 0; |
|
190 | min-width: 0; | |
190 | } |
|
191 | } | |
191 |
|
192 | |||
192 | li { |
|
193 | li { | |
193 | list-style: none; |
|
194 | list-style: none; | |
194 | line-height: normal; |
|
195 | line-height: normal; | |
195 | } |
|
196 | } | |
196 | } |
|
197 | } | |
197 |
|
198 | |||
198 | .summary { |
|
199 | .summary { | |
199 | .fieldset { |
|
200 | .fieldset { | |
200 | margin-bottom: 0; |
|
201 | margin-bottom: 0; | |
201 | } |
|
202 | } | |
|
203 | ||||
|
204 | .tags-main { | |||
|
205 | margin-bottom: 5px; | |||
|
206 | } | |||
202 | } |
|
207 | } | |
203 |
|
208 | |||
204 | .fieldset { |
|
209 | .fieldset { | |
205 |
|
210 | |||
206 | .left-label { // similar to form legend |
|
211 | .left-label { // similar to form legend | |
207 | display: block; |
|
212 | display: block; | |
208 | margin: 0; |
|
213 | margin: 0; | |
209 | padding: 0; |
|
214 | padding: 0; | |
210 | font-weight: @text-semibold-weight; |
|
215 | font-weight: @text-semibold-weight; | |
211 | font-family: @text-semibold; |
|
216 | font-family: @text-semibold; | |
212 | } |
|
217 | } | |
213 |
|
218 | |||
214 | .left-label-summary { |
|
219 | .left-label-summary { | |
215 | padding-left: 20px; |
|
220 | padding-left: 20px; | |
216 | margin-bottom: 5px; |
|
221 | margin-bottom: 5px; | |
217 |
|
222 | |||
218 | p { |
|
223 | p { | |
219 | margin-bottom: 5px; |
|
224 | margin-bottom: 5px; | |
220 | color: @grey1; |
|
225 | color: @grey1; | |
221 | float: left; |
|
226 | float: left; | |
222 | width: 130px; |
|
227 | width: 130px; | |
223 |
|
228 | |||
224 | &.spacing { |
|
229 | &.spacing { | |
225 | margin-top: 10px; |
|
230 | margin-top: 10px; | |
226 | } |
|
231 | } | |
227 | } |
|
232 | } | |
228 |
|
233 | |||
229 | .right-label-summary { |
|
234 | .right-label-summary { | |
230 | float: left; |
|
235 | float: left; | |
231 | margin-top: 7px; |
|
236 | margin-top: 7px; | |
232 | width: ~"calc(100% - 160px)"; |
|
237 | width: ~"calc(100% - 160px)"; | |
233 | } |
|
238 | } | |
234 | } |
|
239 | } | |
235 |
|
240 | |||
236 | .left-label-summary-files { |
|
241 | .left-label-summary-files { | |
237 | padding-left: 45px; |
|
242 | padding-left: 45px; | |
238 | margin-top: 5px; |
|
243 | margin-top: 5px; | |
239 |
|
244 | |||
240 | p { |
|
245 | p { | |
241 | margin-bottom: 5px; |
|
246 | margin-bottom: 5px; | |
242 | color: @grey1; |
|
247 | color: @grey1; | |
243 | float: left; |
|
248 | float: left; | |
244 | width: 130px; |
|
249 | width: 130px; | |
245 |
|
250 | |||
246 | &.spacing { |
|
251 | &.spacing { | |
247 | margin-top: 10px; |
|
252 | margin-top: 10px; | |
248 | } |
|
253 | } | |
249 | } |
|
254 | } | |
250 |
|
255 | |||
251 | .right-label-summary { |
|
256 | .right-label-summary { | |
252 | float: left; |
|
257 | float: left; | |
253 | margin-top: 7px; |
|
258 | margin-top: 7px; | |
254 | } |
|
259 | } | |
255 | } |
|
260 | } | |
256 |
|
261 | |||
257 | .left-content { |
|
262 | .left-content { | |
258 | width: ~"calc(60% - 20px)"; |
|
263 | width: ~"calc(60% - 20px)"; | |
259 | float: left; |
|
264 | float: left; | |
260 | margin: 15px 0 15px 20px; |
|
265 | margin: 15px 0 15px 20px; | |
261 |
|
266 | |||
262 | .rc-user { |
|
267 | .rc-user { | |
263 | min-width: auto; |
|
268 | min-width: auto; | |
264 | max-width: none; |
|
269 | max-width: none; | |
265 | min-height: auto; |
|
270 | min-height: auto; | |
266 | padding-right: 5px; |
|
271 | padding-right: 5px; | |
267 | } |
|
272 | } | |
268 |
|
273 | |||
269 | .left-content-avatar { |
|
274 | .left-content-avatar { | |
270 | width: 45px; |
|
275 | width: 45px; | |
271 | float: left; |
|
276 | float: left; | |
272 | margin-top: 8px; |
|
277 | margin-top: 8px; | |
273 | } |
|
278 | } | |
274 |
|
279 | |||
275 | .left-content-message { |
|
280 | .left-content-message { | |
276 | float: left; |
|
281 | float: left; | |
277 | width: ~"calc(100% - 45px)"; |
|
282 | width: ~"calc(100% - 45px)"; | |
278 | } |
|
283 | } | |
279 | } |
|
284 | } | |
280 |
|
285 | |||
281 | .right-content { // similar to form fields |
|
286 | .right-content { // similar to form fields | |
282 | float: left; |
|
287 | float: left; | |
283 | display: block; |
|
288 | display: block; | |
284 | width: ~"calc(40% - 20px)"; |
|
289 | width: ~"calc(40% - 20px)"; | |
285 | text-align: right; |
|
290 | text-align: right; | |
286 | margin: 15px 20px 15px 0; |
|
291 | margin: 15px 20px 15px 0; | |
287 |
|
292 | |||
288 | .truncate-wrap, |
|
293 | .truncate-wrap, | |
289 | .truncate { |
|
294 | .truncate { | |
290 | max-width: 100%; |
|
295 | max-width: 100%; | |
291 | width: 100%; |
|
296 | width: 100%; | |
292 | } |
|
297 | } | |
293 |
|
298 | |||
294 | .commit-long { |
|
299 | .commit-long { | |
295 | overflow-x: auto; |
|
300 | overflow-x: auto; | |
296 | } |
|
301 | } | |
297 |
|
302 | |||
298 | .commit-info { |
|
303 | .commit-info { | |
299 | margin-top: 7px; |
|
304 | margin-top: 7px; | |
300 | } |
|
305 | } | |
301 |
|
306 | |||
302 | .summary-tag, |
|
307 | .summary-tag, | |
303 | .summary-tagtag, |
|
308 | .summary-tagtag, | |
304 | .summary-branchtag, |
|
309 | .summary-branchtag, | |
305 | .summary-booktag, |
|
310 | .summary-booktag, | |
306 | .summary-metatag, |
|
311 | .summary-metatag, | |
307 | .summary-perm_tag { |
|
312 | .summary-perm_tag { | |
308 | background:transparent; |
|
313 | background:transparent; | |
309 | border: none; |
|
314 | border: none; | |
310 | box-shadow: none; |
|
315 | box-shadow: none; | |
311 | margin-left: 10px; |
|
316 | margin-left: 10px; | |
312 | font-size: 13px; |
|
317 | font-size: 13px; | |
313 | } |
|
318 | } | |
314 |
|
319 | |||
315 | .summary-tag span, |
|
320 | .summary-tag span, | |
316 | .summary-tag i, |
|
321 | .summary-tag i, | |
317 | .summary-tag a { |
|
322 | .summary-tag a { | |
318 | color: @grey1; |
|
323 | color: @grey1; | |
319 | } |
|
324 | } | |
320 |
|
325 | |||
321 | } |
|
326 | } | |
322 | .commit { |
|
327 | .commit { | |
323 | color: @grey1; |
|
328 | color: @grey1; | |
324 | margin-bottom: 5px; |
|
329 | margin-bottom: 5px; | |
325 | white-space: pre; |
|
330 | white-space: pre; | |
326 | } |
|
331 | } | |
327 | .commit.truncate-wrap { |
|
332 | .commit.truncate-wrap { | |
328 | overflow:hidden; |
|
333 | overflow:hidden; | |
329 | text-overflow: ellipsis; |
|
334 | text-overflow: ellipsis; | |
330 | } |
|
335 | } | |
331 | .commit-author { |
|
336 | .commit-author { | |
332 | color: @grey1; |
|
337 | color: @grey1; | |
333 | } |
|
338 | } | |
334 | .commit-date { |
|
339 | .commit-date { | |
335 | color: @grey4; |
|
340 | color: @grey4; | |
336 | } |
|
341 | } | |
337 | .fieldset-text-line { |
|
342 | .fieldset-text-line { | |
338 | line-height: 36px; |
|
343 | line-height: 36px; | |
339 | } |
|
344 | } | |
340 | } |
|
345 | } | |
341 |
|
346 | |||
342 | // expand commit message |
|
347 | // expand commit message | |
343 | #message_expand { |
|
348 | #message_expand { | |
344 | clear: both; |
|
349 | clear: both; | |
345 | display: block; |
|
350 | display: block; | |
346 | color: @rcblue; |
|
351 | color: @rcblue; | |
347 | cursor: pointer; |
|
352 | cursor: pointer; | |
348 | } |
|
353 | } | |
349 |
|
354 | |||
350 | #trimmed_message_box { |
|
355 | #trimmed_message_box { | |
351 | max-height: floor(2 * @basefontsize * 1.2); // 2 lines * line-height |
|
356 | max-height: floor(2 * @basefontsize * 1.2); // 2 lines * line-height | |
352 | overflow: hidden; |
|
357 | overflow: hidden; | |
353 | } |
|
358 | } | |
354 |
|
359 | |||
355 | // show/hide comments button |
|
360 | // show/hide comments button | |
356 | .show-inline-comments { |
|
361 | .show-inline-comments { | |
357 | display: inline; |
|
362 | display: inline; | |
358 | cursor: pointer; |
|
363 | cursor: pointer; | |
359 |
|
364 | |||
360 | .comments-show { display: inline; } |
|
365 | .comments-show { display: inline; } | |
361 | .comments-hide { display: none; } |
|
366 | .comments-hide { display: none; } | |
362 |
|
367 | |||
363 | &.comments-visible { |
|
368 | &.comments-visible { | |
364 | .comments-show { display: none; } |
|
369 | .comments-show { display: none; } | |
365 | .comments-hide { display: inline; } |
|
370 | .comments-hide { display: inline; } | |
366 | } |
|
371 | } | |
367 | } |
|
372 | } | |
368 |
|
373 | |||
369 | // Quick Start section |
|
374 | // Quick Start section | |
370 |
|
375 | |||
371 | .empty-repo { |
|
376 | .empty-repo { | |
372 | border: 1px solid #EAEAEA; |
|
377 | border: 1px solid #EAEAEA; | |
373 | border-bottom: 0; |
|
378 | border-bottom: 0; | |
374 | border-radius: @border-radius; |
|
379 | border-radius: @border-radius; | |
375 | padding: 0 20px; |
|
380 | padding: 0 20px; | |
376 | } |
|
381 | } | |
377 |
|
382 | |||
378 | .empty-repo h3, .quick_start p { |
|
383 | .empty-repo h3, .quick_start p { | |
379 | margin-bottom: 10px; |
|
384 | margin-bottom: 10px; | |
380 | } |
|
385 | } | |
381 |
|
386 | |||
382 | .quick_start pre { |
|
387 | .quick_start pre { | |
383 | background: #FCFEFF; |
|
388 | background: #FCFEFF; | |
384 | border: 1px solid #CBDBEB; |
|
389 | border: 1px solid #CBDBEB; | |
385 | box-shadow: @button-shadow; |
|
390 | box-shadow: @button-shadow; | |
386 | padding: 10px 15px; |
|
391 | padding: 10px 15px; | |
387 | border-radius: 4px; |
|
392 | border-radius: 4px; | |
388 | color: @grey2; |
|
393 | color: @grey2; | |
389 | } |
|
394 | } | |
390 |
|
395 | |||
391 | .clear-fix { |
|
396 | .clear-fix { | |
392 | clear: both; |
|
397 | clear: both; | |
393 | } |
|
398 | } | |
394 |
|
399 | |||
395 | .quick_start { |
|
400 | .quick_start { | |
396 | display: block; |
|
401 | display: block; | |
397 | position: relative; |
|
402 | position: relative; | |
398 | border: 1px solid #EAEAEA; |
|
403 | border: 1px solid #EAEAEA; | |
399 | border-top: 0; |
|
404 | border-top: 0; | |
400 | border-radius: @border-radius; |
|
405 | border-radius: @border-radius; | |
401 | padding: 0 20px; |
|
406 | padding: 0 20px; | |
402 |
|
407 | |||
403 | // adds some space to make copy and paste easier |
|
408 | // adds some space to make copy and paste easier | |
404 | .left-label, |
|
409 | .left-label, | |
405 | .right-content { |
|
410 | .right-content { | |
406 | line-height: 1.6em; |
|
411 | line-height: 1.6em; | |
407 | } |
|
412 | } | |
408 | } |
|
413 | } | |
409 |
|
414 | |||
410 |
|
415 | |||
411 | .submodule { |
|
416 | .submodule { | |
412 | .summary-detail { |
|
417 | .summary-detail { | |
413 | width: 100%; |
|
418 | width: 100%; | |
414 |
|
419 | |||
415 | .btn-collapse { |
|
420 | .btn-collapse { | |
416 | display: none; |
|
421 | display: none; | |
417 | } |
|
422 | } | |
418 | } |
|
423 | } | |
419 | } |
|
424 | } | |
420 |
|
425 | |||
421 | .codeblock-header { |
|
426 | .codeblock-header { | |
422 | float: left; |
|
427 | float: left; | |
423 | display: block; |
|
428 | display: block; | |
424 | width: 100%; |
|
429 | width: 100%; | |
425 | margin: 0; |
|
430 | margin: 0; | |
426 |
|
431 | |||
427 | .file-filename { |
|
432 | .file-filename { | |
428 | float:left; |
|
433 | float:left; | |
429 | padding: 10px; |
|
434 | padding: 10px; | |
430 | } |
|
435 | } | |
431 |
|
436 | |||
432 | .file-stats { |
|
437 | .file-stats { | |
433 | padding: 10px; |
|
438 | padding: 10px; | |
434 | float:right; |
|
439 | float:right; | |
435 | } |
|
440 | } | |
436 |
|
441 | |||
437 |
|
442 | |||
438 | .stats-first-item { |
|
443 | .stats-first-item { | |
439 | padding: 0px 0px 0px 3px; |
|
444 | padding: 0px 0px 0px 3px; | |
440 | } |
|
445 | } | |
441 |
|
446 | |||
442 | .stats-info { |
|
447 | .stats-info { | |
443 | font-size: 11px; |
|
448 | font-size: 11px; | |
444 | color: @grey4; |
|
449 | color: @grey4; | |
445 | } |
|
450 | } | |
446 |
|
451 | |||
447 | .buttons { |
|
452 | .buttons { | |
448 | float: right; |
|
453 | float: right; | |
449 | text-align: right; |
|
454 | text-align: right; | |
450 | color: @grey4; |
|
455 | color: @grey4; | |
451 | padding: 10px; |
|
456 | padding: 10px; | |
452 | } |
|
457 | } | |
453 |
|
458 | |||
454 | .file-container { |
|
459 | .file-container { | |
455 | display: inline-block; |
|
460 | display: inline-block; | |
456 | width: 100%; |
|
461 | width: 100%; | |
457 | } |
|
462 | } | |
458 |
|
463 | |||
459 | } |
|
464 | } | |
460 |
|
465 | |||
461 | #summary-menu-stats { |
|
466 | #summary-menu-stats { | |
462 |
|
467 | |||
463 | .stats-bullet { |
|
468 | .stats-bullet { | |
464 | color: @grey3; |
|
469 | color: @grey3; | |
465 | min-width: 3em; |
|
470 | min-width: 3em; | |
466 | } |
|
471 | } | |
467 |
|
472 | |||
468 | .repo-size { |
|
473 | .repo-size { | |
469 | margin-bottom: .5em; |
|
474 | margin-bottom: .5em; | |
470 | } |
|
475 | } | |
471 |
|
476 | |||
472 | } |
|
477 | } | |
473 |
|
478 | |||
474 | .rctable.repo_summary { |
|
479 | .rctable.repo_summary { | |
475 | border: 1px solid #eaeaea; |
|
480 | border: 1px solid #eaeaea; | |
476 | border-radius: 2px; |
|
481 | border-radius: 2px; | |
477 | border-collapse: inherit; |
|
482 | border-collapse: inherit; | |
478 | border-bottom: 0; |
|
483 | border-bottom: 0; | |
479 |
|
484 | |||
480 | th { |
|
485 | th { | |
481 | background: @grey7; |
|
486 | background: @grey7; | |
482 | border-bottom: 0; |
|
487 | border-bottom: 0; | |
483 | } |
|
488 | } | |
484 |
|
489 | |||
485 | td { |
|
490 | td { | |
486 | border-color: #eaeaea; |
|
491 | border-color: #eaeaea; | |
487 | } |
|
492 | } | |
488 |
|
493 | |||
489 | td.td-status { |
|
494 | td.td-status { | |
490 | padding: 0 0 0 10px; |
|
495 | padding: 0 0 0 10px; | |
491 | } |
|
496 | } | |
492 | } |
|
497 | } |
@@ -1,623 +1,689 b'' | |||||
1 | { |
|
1 | { | |
2 | "name": "rcicons", |
|
2 | "name": "rcicons", | |
3 | "css_prefix_text": "icon-", |
|
3 | "css_prefix_text": "icon-", | |
4 | "css_use_suffix": false, |
|
4 | "css_use_suffix": false, | |
5 | "hinting": true, |
|
5 | "hinting": true, | |
6 | "units_per_em": 1000, |
|
6 | "units_per_em": 1000, | |
7 | "ascent": 850, |
|
7 | "ascent": 850, | |
8 | "copyright": "RhodeCode GmbH", |
|
8 | "copyright": "RhodeCode GmbH", | |
9 | "glyphs": [ |
|
9 | "glyphs": [ | |
10 | { |
|
10 | { | |
11 | "uid": "a5f9b6d4d795603e6e29a5b8007cc139", |
|
11 | "uid": "a5f9b6d4d795603e6e29a5b8007cc139", | |
12 | "css": "bookmark", |
|
12 | "css": "bookmark", | |
13 | "code": 59395, |
|
13 | "code": 59395, | |
14 | "src": "custom_icons", |
|
14 | "src": "custom_icons", | |
15 | "selected": true, |
|
15 | "selected": true, | |
16 | "svg": { |
|
16 | "svg": { | |
17 | "path": "M780 990L520 700C510 690 495 690 485 700L225 995C205 1015 180 1000 180 965V35C175 15 190 0 205 0H795C810 0 825 15 825 35V960C825 995 795 1010 780 990Z", |
|
17 | "path": "M780 990L520 700C510 690 495 690 485 700L225 995C205 1015 180 1000 180 965V35C175 15 190 0 205 0H795C810 0 825 15 825 35V960C825 995 795 1010 780 990Z", | |
18 | "width": 1000 |
|
18 | "width": 1000 | |
19 | }, |
|
19 | }, | |
20 | "search": [ |
|
20 | "search": [ | |
21 | "bookmark" |
|
21 | "bookmark" | |
22 | ] |
|
22 | ] | |
23 | }, |
|
23 | }, | |
24 | { |
|
24 | { | |
25 | "uid": "fbc028d3a6a0df72f8f508ff5dfbab72", |
|
25 | "uid": "fbc028d3a6a0df72f8f508ff5dfbab72", | |
26 | "css": "tag", |
|
26 | "css": "tag", | |
27 | "code": 59397, |
|
27 | "code": 59397, | |
28 | "src": "custom_icons", |
|
28 | "src": "custom_icons", | |
29 | "selected": true, |
|
29 | "selected": true, | |
30 | "svg": { |
|
30 | "svg": { | |
31 | "path": "M459.8 62.5L93.8 53.6C75.9 53.6 62.5 67 62.5 84.8L75.9 450.9C75.9 459.8 80.4 464.3 84.8 473.2L549.1 937.5C562.5 950.9 580.4 950.9 593.8 937.5L946.4 584.8C959.8 571.4 959.8 553.6 946.4 540.2L477.7 71.4C473.2 67 464.3 62.5 459.8 62.5ZM357.1 285.7C357.1 321.4 325.9 352.7 290.2 352.7 254.5 352.7 223.2 321.4 223.2 285.7 223.2 250 254.5 218.8 290.2 218.8S357.1 245.5 357.1 285.7Z", |
|
31 | "path": "M459.8 62.5L93.8 53.6C75.9 53.6 62.5 67 62.5 84.8L75.9 450.9C75.9 459.8 80.4 464.3 84.8 473.2L549.1 937.5C562.5 950.9 580.4 950.9 593.8 937.5L946.4 584.8C959.8 571.4 959.8 553.6 946.4 540.2L477.7 71.4C473.2 67 464.3 62.5 459.8 62.5ZM357.1 285.7C357.1 321.4 325.9 352.7 290.2 352.7 254.5 352.7 223.2 321.4 223.2 285.7 223.2 250 254.5 218.8 290.2 218.8S357.1 245.5 357.1 285.7Z", | |
32 | "width": 1000 |
|
32 | "width": 1000 | |
33 | }, |
|
33 | }, | |
34 | "search": [ |
|
34 | "search": [ | |
35 | "tag" |
|
35 | "tag" | |
36 | ] |
|
36 | ] | |
37 | }, |
|
37 | }, | |
38 | { |
|
38 | { | |
39 | "uid": "1c67c02366438b324c184ff9e356dca1", |
|
39 | "uid": "1c67c02366438b324c184ff9e356dca1", | |
40 | "css": "branch", |
|
40 | "css": "branch", | |
41 | "code": 59396, |
|
41 | "code": 59396, | |
42 | "src": "custom_icons", |
|
42 | "src": "custom_icons", | |
43 | "selected": true, |
|
43 | "selected": true, | |
44 | "svg": { |
|
44 | "svg": { | |
45 | "path": "M875 250C875 174.1 817 116.1 741.1 116.1S607.1 174.1 607.1 250C607.1 299.1 633.9 339.3 669.6 361.6 651.8 504.5 531.3 544.6 459.8 558V245.5C504.5 223.2 531.3 183 531.3 133.9 531.3 58 473.2 0 397.3 0S263.4 58 263.4 133.9C263.4 183 290.2 227.7 330.4 250V750C290.2 772.3 263.4 817 263.4 866.1 263.4 942 321.4 1000 397.3 1000S531.3 942 531.3 866.1C531.3 817 504.5 772.3 464.3 750V692C526.8 683 629.5 660.7 709.8 580.4 767.9 522.3 799.1 450.9 808 366.1 848.2 343.8 875 299.1 875 250ZM397.3 89.3C424.1 89.3 442 107.1 442 133.9S424.1 178.6 397.3 178.6 352.7 160.7 352.7 133.9 370.5 89.3 397.3 89.3ZM397.3 910.7C370.5 910.7 352.7 892.9 352.7 866.1S370.5 821.4 397.3 821.4 442 839.3 442 866.1 419.6 910.7 397.3 910.7ZM741.1 205.4C767.9 205.4 785.7 223.2 785.7 250S767.9 294.6 741.1 294.6 696.4 276.8 696.4 250 718.8 205.4 741.1 205.4Z", |
|
45 | "path": "M875 250C875 174.1 817 116.1 741.1 116.1S607.1 174.1 607.1 250C607.1 299.1 633.9 339.3 669.6 361.6 651.8 504.5 531.3 544.6 459.8 558V245.5C504.5 223.2 531.3 183 531.3 133.9 531.3 58 473.2 0 397.3 0S263.4 58 263.4 133.9C263.4 183 290.2 227.7 330.4 250V750C290.2 772.3 263.4 817 263.4 866.1 263.4 942 321.4 1000 397.3 1000S531.3 942 531.3 866.1C531.3 817 504.5 772.3 464.3 750V692C526.8 683 629.5 660.7 709.8 580.4 767.9 522.3 799.1 450.9 808 366.1 848.2 343.8 875 299.1 875 250ZM397.3 89.3C424.1 89.3 442 107.1 442 133.9S424.1 178.6 397.3 178.6 352.7 160.7 352.7 133.9 370.5 89.3 397.3 89.3ZM397.3 910.7C370.5 910.7 352.7 892.9 352.7 866.1S370.5 821.4 397.3 821.4 442 839.3 442 866.1 419.6 910.7 397.3 910.7ZM741.1 205.4C767.9 205.4 785.7 223.2 785.7 250S767.9 294.6 741.1 294.6 696.4 276.8 696.4 250 718.8 205.4 741.1 205.4Z", | |
46 | "width": 1000 |
|
46 | "width": 1000 | |
47 | }, |
|
47 | }, | |
48 | "search": [ |
|
48 | "search": [ | |
49 | "branch" |
|
49 | "branch" | |
50 | ] |
|
50 | ] | |
51 | }, |
|
51 | }, | |
52 | { |
|
52 | { | |
53 | "uid": "b75f7b47706aebd803ef370082e8e334", |
|
53 | "uid": "b75f7b47706aebd803ef370082e8e334", | |
54 | "css": "group", |
|
54 | "css": "group", | |
55 | "code": 59407, |
|
55 | "code": 59407, | |
56 | "src": "custom_icons", |
|
56 | "src": "custom_icons", | |
57 | "selected": true, |
|
57 | "selected": true, | |
58 | "svg": { |
|
58 | "svg": { | |
59 | "path": "M961.5 630.8V646.2C961.5 650 957.7 657.7 950 657.7H788.5 784.6C769.2 638.5 746.2 619.2 707.7 615.4 673.1 607.7 653.8 600 638.5 592.3 646.2 584.6 657.7 580.8 669.2 576.9 715.4 569.2 726.9 553.8 734.6 542.3 742.3 530.8 742.3 519.2 734.6 503.8 726.9 488.5 703.8 461.5 703.8 423.1 703.8 384.6 703.8 319.2 776.9 319.2H784.6 792.3C865.4 323.1 869.2 384.6 865.4 423.1 865.4 461.5 842.3 492.3 834.6 503.8 826.9 519.2 826.9 530.8 834.6 542.3 842.3 553.8 857.7 569.2 900 576.9 953.8 580.8 961.5 623.1 961.5 630.8 961.5 630.8 961.5 630.8 961.5 630.8ZM253.8 646.2C269.2 630.8 292.3 615.4 323.1 611.5 361.5 603.8 384.6 596.2 396.2 584.6 388.5 576.9 376.9 569.2 361.5 565.4 315.4 557.7 303.8 542.3 296.2 530.8 288.5 519.2 288.5 507.7 296.2 492.3 303.8 476.9 326.9 450 326.9 411.5 326.9 373.1 326.9 307.7 253.8 307.7H246.2 234.6C161.5 311.5 157.7 373.1 161.5 411.5 161.5 450 184.6 480.8 192.3 492.3 200 507.7 200 519.2 192.3 530.8 184.6 542.3 169.2 557.7 126.9 565.4 80.8 573.1 73.1 615.4 73.1 619.2 73.1 619.2 73.1 619.2 73.1 619.2V634.6C73.1 638.5 76.9 646.2 84.6 646.2H246.2 253.8ZM707.7 634.6C634.6 623.1 611.5 600 600 580.8 588.5 561.5 588.5 542.3 600 519.2 611.5 496.2 650 450 653.8 388.5 657.7 326.9 653.8 223.1 534.6 219.2H519.2 503.8C384.6 223.1 380.8 323.1 384.6 384.6 388.5 446.2 423.1 492.3 438.5 515.4 450 538.5 450 557.7 438.5 576.9 426.9 596.2 403.8 619.2 330.8 630.8 257.7 642.3 246.2 711.5 246.2 719.2 246.2 719.2 246.2 719.2 246.2 719.2V742.3C246.2 750 253.8 757.7 261.5 757.7H519.2 776.9C784.6 757.7 792.3 750 792.3 742.3V719.2C792.3 719.2 792.3 719.2 792.3 719.2 788.5 715.4 780.8 646.2 707.7 634.6Z", |
|
59 | "path": "M961.5 630.8V646.2C961.5 650 957.7 657.7 950 657.7H788.5 784.6C769.2 638.5 746.2 619.2 707.7 615.4 673.1 607.7 653.8 600 638.5 592.3 646.2 584.6 657.7 580.8 669.2 576.9 715.4 569.2 726.9 553.8 734.6 542.3 742.3 530.8 742.3 519.2 734.6 503.8 726.9 488.5 703.8 461.5 703.8 423.1 703.8 384.6 703.8 319.2 776.9 319.2H784.6 792.3C865.4 323.1 869.2 384.6 865.4 423.1 865.4 461.5 842.3 492.3 834.6 503.8 826.9 519.2 826.9 530.8 834.6 542.3 842.3 553.8 857.7 569.2 900 576.9 953.8 580.8 961.5 623.1 961.5 630.8 961.5 630.8 961.5 630.8 961.5 630.8ZM253.8 646.2C269.2 630.8 292.3 615.4 323.1 611.5 361.5 603.8 384.6 596.2 396.2 584.6 388.5 576.9 376.9 569.2 361.5 565.4 315.4 557.7 303.8 542.3 296.2 530.8 288.5 519.2 288.5 507.7 296.2 492.3 303.8 476.9 326.9 450 326.9 411.5 326.9 373.1 326.9 307.7 253.8 307.7H246.2 234.6C161.5 311.5 157.7 373.1 161.5 411.5 161.5 450 184.6 480.8 192.3 492.3 200 507.7 200 519.2 192.3 530.8 184.6 542.3 169.2 557.7 126.9 565.4 80.8 573.1 73.1 615.4 73.1 619.2 73.1 619.2 73.1 619.2 73.1 619.2V634.6C73.1 638.5 76.9 646.2 84.6 646.2H246.2 253.8ZM707.7 634.6C634.6 623.1 611.5 600 600 580.8 588.5 561.5 588.5 542.3 600 519.2 611.5 496.2 650 450 653.8 388.5 657.7 326.9 653.8 223.1 534.6 219.2H519.2 503.8C384.6 223.1 380.8 323.1 384.6 384.6 388.5 446.2 423.1 492.3 438.5 515.4 450 538.5 450 557.7 438.5 576.9 426.9 596.2 403.8 619.2 330.8 630.8 257.7 642.3 246.2 711.5 246.2 719.2 246.2 719.2 246.2 719.2 246.2 719.2V742.3C246.2 750 253.8 757.7 261.5 757.7H519.2 776.9C784.6 757.7 792.3 750 792.3 742.3V719.2C792.3 719.2 792.3 719.2 792.3 719.2 788.5 715.4 780.8 646.2 707.7 634.6Z", | |
60 | "width": 1000 |
|
60 | "width": 1000 | |
61 | }, |
|
61 | }, | |
62 | "search": [ |
|
62 | "search": [ | |
63 | "group" |
|
63 | "group" | |
64 | ] |
|
64 | ] | |
65 | }, |
|
65 | }, | |
66 | { |
|
66 | { | |
67 | "uid": "7ae0ef039bb0217d9581e44b09448905", |
|
67 | "uid": "7ae0ef039bb0217d9581e44b09448905", | |
68 | "css": "fork", |
|
68 | "css": "fork", | |
69 | "code": 59409, |
|
69 | "code": 59409, | |
70 | "src": "custom_icons", |
|
70 | "src": "custom_icons", | |
71 | "selected": true, |
|
71 | "selected": true, | |
72 | "svg": { |
|
72 | "svg": { | |
73 | "path": "M792.3 196.2C792.3 138.5 746.2 96.2 692.3 96.2 634.6 96.2 592.3 142.3 592.3 196.2 592.3 230.8 611.5 261.5 638.5 280.8 626.9 365.4 569.2 403.8 511.5 423.1 453.8 407.7 396.2 369.2 384.6 280.8 411.5 261.5 430.8 230.8 430.8 196.2 430.8 138.5 384.6 96.2 330.8 96.2S223.1 138.5 223.1 196.2C223.1 234.6 246.2 269.2 276.9 284.6 288.5 392.3 353.8 473.1 457.7 511.5V673.1C426.9 692.3 407.7 723.1 407.7 761.5 407.7 819.2 453.8 861.5 507.7 861.5S607.7 815.4 607.7 761.5C607.7 723.1 588.5 692.3 557.7 673.1V511.5C661.5 473.1 726.9 392.3 738.5 284.6 769.2 265.4 792.3 234.6 792.3 196.2ZM326.9 161.5C346.2 161.5 361.5 176.9 361.5 196.2S346.2 226.9 326.9 226.9 292.3 215.4 292.3 196.2 307.7 161.5 326.9 161.5ZM507.7 796.2C488.5 796.2 473.1 780.8 473.1 761.5S488.5 726.9 507.7 726.9C526.9 726.9 542.3 742.3 542.3 761.5S526.9 796.2 507.7 796.2ZM692.3 161.5C711.5 161.5 726.9 176.9 726.9 196.2S711.5 226.9 692.3 226.9 657.7 211.5 657.7 192.3 673.1 161.5 692.3 161.5Z", |
|
73 | "path": "M792.3 196.2C792.3 138.5 746.2 96.2 692.3 96.2 634.6 96.2 592.3 142.3 592.3 196.2 592.3 230.8 611.5 261.5 638.5 280.8 626.9 365.4 569.2 403.8 511.5 423.1 453.8 407.7 396.2 369.2 384.6 280.8 411.5 261.5 430.8 230.8 430.8 196.2 430.8 138.5 384.6 96.2 330.8 96.2S223.1 138.5 223.1 196.2C223.1 234.6 246.2 269.2 276.9 284.6 288.5 392.3 353.8 473.1 457.7 511.5V673.1C426.9 692.3 407.7 723.1 407.7 761.5 407.7 819.2 453.8 861.5 507.7 861.5S607.7 815.4 607.7 761.5C607.7 723.1 588.5 692.3 557.7 673.1V511.5C661.5 473.1 726.9 392.3 738.5 284.6 769.2 265.4 792.3 234.6 792.3 196.2ZM326.9 161.5C346.2 161.5 361.5 176.9 361.5 196.2S346.2 226.9 326.9 226.9 292.3 215.4 292.3 196.2 307.7 161.5 326.9 161.5ZM507.7 796.2C488.5 796.2 473.1 780.8 473.1 761.5S488.5 726.9 507.7 726.9C526.9 726.9 542.3 742.3 542.3 761.5S526.9 796.2 507.7 796.2ZM692.3 161.5C711.5 161.5 726.9 176.9 726.9 196.2S711.5 226.9 692.3 226.9 657.7 211.5 657.7 192.3 673.1 161.5 692.3 161.5Z", | |
74 | "width": 1000 |
|
74 | "width": 1000 | |
75 | }, |
|
75 | }, | |
76 | "search": [ |
|
76 | "search": [ | |
77 | "fork" |
|
77 | "fork" | |
78 | ] |
|
78 | ] | |
79 | }, |
|
79 | }, | |
80 | { |
|
80 | { | |
81 | "uid": "65e66c3e7d74e2c345fb78fadd400d3f", |
|
81 | "uid": "65e66c3e7d74e2c345fb78fadd400d3f", | |
82 | "css": "rhodecode", |
|
82 | "css": "rhodecode", | |
83 | "code": 59441, |
|
83 | "code": 59441, | |
84 | "src": "custom_icons", |
|
84 | "src": "custom_icons", | |
85 | "selected": true, |
|
85 | "selected": true, | |
86 | "svg": { |
|
86 | "svg": { | |
87 | "path": "M174.6 216.8C173.4 220.9 172.2 225 171 229.1 168.1 239.1 165.2 249.1 162.3 259.1 158.7 271.6 155 284.2 151.4 296.7 148 308.4 144.6 320.1 141.2 331.8 139 339.3 136.8 346.8 134.7 354.3 134.4 355.4 134.1 356.5 133.7 357.6 133.7 357.7 133.9 358.2 134 358.3 134.3 359 134.5 359.7 134.8 360.5 137.2 367.3 139.7 374.1 142.1 381 146 392 149.9 403 153.9 414.1 158.3 426.5 162.8 439 167.2 451.4 171.1 462.5 175.1 473.6 179 484.7 181.5 491.7 184 498.6 186.4 505.6 186.8 506.7 187.2 507.7 187.5 508.8 187.8 509.6 188.6 510.4 189 511.1 192.8 516.9 196.5 522.6 200.3 528.4 206.5 537.9 212.7 547.4 219 556.9 226.2 567.9 233.4 578.9 240.6 590 247.3 600.3 254.1 610.6 260.8 620.9 265.6 628.2 270.4 635.6 275.2 642.9 276.4 644.8 277.6 646.6 278.9 648.5 279.2 649 279.5 649.5 279.8 649.8 282.7 652.6 285.5 655.4 288.4 658.2 294.6 664.3 300.9 670.5 307.1 676.6 315.5 684.9 323.9 693.2 332.4 701.4 341.8 710.6 351.2 719.9 360.6 729.1 369.8 738.1 378.9 747.1 388.1 756.1 395.8 763.7 403.6 771.3 411.3 778.9 416.4 783.9 421.5 788.9 426.6 793.9 428.2 795.5 429.8 797.3 431.6 798.6 438.9 803.9 446.1 809.2 453.4 814.5 463.7 822 473.9 829.5 484.2 837 487.6 839.5 491.1 842 494.5 844.5 495.3 845.1 496.1 845.7 496.9 846.3 497.2 846.5 497.2 846.6 497.6 846.4 504.7 842.7 511.8 839.1 518.9 835.4 530.3 829.5 541.7 823.6 553.1 817.7 559.2 814.5 565.4 811.4 571.5 808.2 571.9 808 572.3 807.1 572.6 806.8 573.7 805.4 574.8 804 576 802.5 580.2 797.2 584.3 791.9 588.5 786.7 594.7 778.9 600.8 771.1 607 763.3 614.5 753.8 622 744.3 629.5 734.8 637.7 724.5 645.8 714.1 654 703.8 662.1 693.5 670.3 683.2 678.4 672.9 685.9 663.5 693.3 654 700.8 644.6 706.9 636.9 713 629.2 719.1 621.5 723.2 616.4 727.2 611.2 731.3 606.1 732.7 604.4 734 602.6 735.4 600.9 735.2 600.8 734.8 600.8 734.6 600.7 733.8 600.5 733 600.4 732.2 600.2 729.1 599.6 726 598.9 722.9 598.2 718 597.1 713 596 708.1 594.8 701.5 593.2 694.9 591.5 688.3 589.7 680.2 587.5 672.2 585.2 664.1 582.9 654.7 580.1 645.4 577.2 636.1 574.1 625.6 570.6 615.2 567 604.8 563.3 593.4 559.1 582 554.8 570.8 550.2 558.6 545.3 546.6 540.1 534.6 534.8 521.9 529.1 509.3 523.1 496.8 516.8 483.7 510.2 470.7 503.4 457.9 496.2 444.6 488.7 431.4 480.9 418.5 472.8 405.1 464.4 392 455.6 379.1 446.4 365.9 437 352.9 427.1 340.3 416.9 327.4 406.4 314.8 395.5 302.7 384.2 290.3 372.6 278.3 360.6 266.8 348.1 255.1 335.3 243.8 322.1 233.2 308.4 222.3 294.4 212 279.9 202.4 265 192.5 249.7 183.4 233.9 175 217.8 175 217.4 174.8 217.1 174.6 216.8ZM172.1 214.2C170.7 218.7 169.3 223.3 167.8 227.8 164.5 238.5 161.1 249.2 157.8 259.9 153.9 272.4 150 285 146.1 297.5 143 307.5 139.9 317.4 136.7 327.4 135.9 330.1 135 332.7 134.2 335.4 134 336.1 133.6 336.7 133.8 337.4 135.4 342.2 137 347.1 138.6 351.9 141.9 361.9 145.2 371.8 148.6 381.8 152.7 394.1 156.8 406.5 160.9 418.8 164.9 430.8 168.9 442.8 172.9 454.8 175.9 463.7 178.8 472.6 181.8 481.4 182.6 483.8 183.4 486.2 184.2 488.7 184.4 489.4 184.6 490.1 184.9 490.8 187.2 495 189.5 499.2 191.8 503.4 196.8 512.6 201.9 521.8 206.9 531 213.2 542.4 219.4 553.9 225.7 565.3 231.7 576.2 237.6 587.1 243.6 598 247.8 605.6 251.9 613.2 256.1 620.8 257.3 623 258.2 625.4 259.9 627.2 264.1 631.7 268.3 636.2 272.5 640.7 280.2 648.9 287.9 657.2 295.5 665.4 304.5 675 313.5 684.7 322.4 694.3 330.5 703 338.6 711.7 346.7 720.4 351.8 725.8 356.8 731.3 361.9 736.7 363.5 738.4 365 740 366.6 741.6 372.3 747.3 378 753 383.7 758.7 392.5 767.5 401.2 776.2 410 785 419.1 794.1 428.3 803.3 437.4 812.4 444.2 819.2 451.1 826.1 457.9 832.9 459.6 834.6 461.3 836.3 463 838 463.3 838.3 463.6 838.6 463.8 838.8 463.9 838.9 465.1 838.7 465.3 838.6 475.9 837.2 486.5 835.8 497 834.5 505.6 833.4 514.1 832.3 522.7 831.2 523 831.2 523.7 830.1 523.9 829.9 525.1 828.6 526.3 827.2 527.6 825.9 532.1 820.9 536.7 815.9 541.2 810.9 547.9 803.5 554.6 796.1 561.4 788.7 569.6 779.7 577.7 770.7 585.9 761.8 594.8 752 603.6 742.3 612.5 732.5 621.3 722.8 630.1 713.1 639 703.4 647 694.5 655.1 685.7 663.1 676.8 669.6 669.6 676.2 662.4 682.7 655.2 687 650.5 691.3 645.8 695.6 641 696.6 639.9 697.7 638.7 698.7 637.6 698.9 637.4 699.6 636.9 699.6 636.6 699.6 636.5 696.6 635.7 696.5 635.7 693.5 634.8 690.4 633.9 687.4 633 682.6 631.5 677.8 630 673 628.4 666.6 626.3 660.1 624.1 653.8 621.8 645.9 619 638.1 616.1 630.3 613.1 621.2 609.6 612.1 606 603.1 602.2 592.9 598 582.8 593.6 572.8 589 561.8 584 550.8 578.8 540 573.4 528.3 567.6 516.7 561.6 505.2 555.3 493 548.7 480.9 541.8 469 534.6 456.5 527.1 444.1 519.3 431.9 511.2 419.2 502.8 406.7 494 394.5 484.9 381.8 475.5 369.5 465.8 357.4 455.7 345 445.3 332.8 434.6 321.1 423.4 309.1 412 297.4 400.2 286.2 388 274.7 375.5 263.7 362.6 253.2 349.3 242.5 335.7 232.3 321.7 222.8 307.2 213 292.4 203.9 277.2 195.5 261.7 186.8 246.5 179 230.5 172.1 214.2ZM169.5 204C168.8 207.8 168.1 211.6 167.3 215.4 165.5 224.9 163.7 234.5 161.9 244 159.5 256.5 157.1 269 154.7 281.5 152.3 294.2 149.8 307 147.4 319.7 145.5 329.9 143.5 340.1 141.6 350.3 140.7 355.2 139.7 360.1 138.8 365 138.7 365.7 139.1 366.4 139.3 367 140.2 369.6 141.1 372.2 142 374.8 145.4 384.5 148.7 394.3 152.1 404 156.4 416.4 160.7 428.7 165 441.1 168.8 452.1 172.6 463 176.4 474 178.3 479.5 180.2 485 182.1 490.5 182.3 491.2 182.7 491.8 183 492.4 184.2 494.8 185.4 497.1 186.5 499.5 190.9 508.4 195.4 517.2 199.8 526.1 205.6 537.7 211.4 549.3 217.2 560.9 222.7 571.9 228.2 583 233.8 594 237.4 601.2 241 608.3 244.6 615.5 245.2 616.6 245.7 617.7 246.3 618.8 246.7 619.6 247.6 620.4 248.2 621.1 252.8 626.6 257.4 632.1 262 637.7 269.5 646.7 276.9 655.6 284.4 664.6 292.8 674.7 301.3 684.9 309.7 695 317.2 704 324.8 713.1 332.3 722.1 337 727.8 341.8 733.5 346.5 739.1 347.2 740 347.9 740.8 348.7 741.7 348.9 741.9 349.2 742 349.4 742.2 350.2 742.7 350.9 743.2 351.7 743.7 358.7 748.5 365.8 753.3 372.8 758.1 383.3 765.3 393.9 772.5 404.4 779.7 414.6 786.6 424.7 793.6 434.9 800.5 440.8 804.5 446.7 808.6 452.7 812.6 456.3 815.1 459.5 818.1 462.9 820.8 472.5 828.7 482.1 836.7 491.7 844.6 498.5 850.2 505.4 855.9 512.2 861.5 512.8 862 512.7 861.9 513.3 861.3 514.2 860.3 515.2 859.2 516.1 858.2 520 853.9 524 849.6 527.9 845.3 534 838.6 540.2 831.9 546.3 825.2 554 816.8 561.7 808.3 569.4 799.9 578.1 790.4 586.7 781 595.4 771.5 604.4 761.7 613.3 751.9 622.3 742.1 630.9 732.6 639.6 723.2 648.2 713.7 655.9 705.3 663.6 696.9 671.3 688.5 677.4 681.8 683.5 675.1 689.6 668.4 693.5 664.1 697.4 659.9 701.3 655.6 702.4 654.4 703.5 653.2 704.6 652 704.6 652 704.6 652 704.6 652 704.6 652 704.6 652 704.6 652 704.6 652.1 701.6 651.3 701.5 651.3 698.5 650.5 695.5 649.5 692.6 648.6 687.9 647.1 683.1 645.5 678.4 643.8 672.1 641.6 665.8 639.2 659.5 636.9 651.8 634 644.1 630.9 636.4 627.8 627.5 624.1 618.6 620.3 609.7 616.4 599.7 612 589.8 607.4 580 602.7 569.2 597.5 558.4 592.1 547.7 586.6 536.2 580.6 524.8 574.4 513.4 568 501.4 561.2 489.5 554.2 477.7 546.9 465.3 539.3 453.1 531.4 441.1 523.3 428.6 514.8 416.3 506.1 404.2 497 391.7 487.7 379.5 478 367.5 468 355.2 457.8 343.2 447.2 331.5 436.3 319.6 425.2 308 413.6 296.8 401.7 285.4 389.6 274.5 377.1 264 364.3 253.3 351.2 243.2 337.8 233.6 323.9 223.8 309.8 214.6 295.4 206.1 280.5 197.4 265.4 189.4 249.9 182.1 234 177.7 224.2 173.5 214.2 169.5 204ZM866 183.5C863.9 179.4 861.1 176.2 857.1 174 851.9 171.1 846.2 168.9 840.7 166.5 829.5 161.7 818.2 157.4 806.7 153.4 783.6 145.4 760 138.9 736.3 132.9 711.7 126.7 687.1 120.9 662.3 115.7 637.1 110.4 611.7 105.6 586.3 101.4 561.2 97.2 536 93.1 510.5 91.1 497.8 90.1 485 89.9 472.4 91.3 465.9 92 459.4 93.2 453 94.2 446.6 95.2 440.1 96.2 433.7 97.3 408.2 101.5 382.8 106 357.4 111 332.2 115.9 307.1 121.2 282.1 126.9 257.2 132.5 232.6 139.2 208.4 147.3 196.3 151.4 184.2 155.8 172.3 160.5 166.4 162.8 160.5 165.2 154.6 167.7 151.7 168.9 148.8 170.2 145.8 171.4 143.2 172.5 140.6 173.5 138.1 174.7 134 176.7 130.6 179.7 128.3 183.6 127 185.8 126.2 188.2 125.3 190.6 124.2 193.6 123.1 196.6 122.1 199.6 118.1 211.5 114.9 223.7 112.5 236 107.7 260.4 106 285.4 106.8 310.2 107.2 322.7 108.2 335.3 109.7 347.7 111.2 360.2 112.7 372.8 115.1 385.2 119.8 410.4 126.7 435.1 134.8 459.3 138.9 471.4 143.3 483.5 147.9 495.4 152.2 506.5 157.5 517.3 162.7 528 173 549.2 184.4 569.8 196.6 589.9 208.8 609.9 221.9 629.3 235.7 648.1 249.5 666.8 264.1 685 279.3 702.6 295.3 721.1 311.7 739.2 328.6 756.9 345.6 774.8 363 792.2 381 809 398.9 825.9 417.4 842.2 436.4 857.8 445.6 865.4 454.9 872.8 464.2 880.2 473.6 887.7 483.1 895.1 492 903.2 494.3 905.2 496.5 907.3 498.7 909.5 498.9 909.7 499.7 910.8 500 910.8 500.2 910.8 500.5 910.8 500.7 910.8 501.2 910.8 502 911 502.5 910.8 507.3 907.1 512 903.3 516.8 899.6 526.2 892.1 535.6 884.6 544.9 876.9 563.3 861.7 581.4 846.2 599.2 830.3 616.9 814.5 634.1 798.2 651 781.5 667.9 764.7 684.4 747.5 700.3 729.7 716.3 711.8 731.8 693.4 746.5 674.4 761 655.7 774.8 636.5 787.8 616.8 800.7 597.2 812.8 577 823.8 556.2 835 535.1 845.2 513.5 854.3 491.4 863.4 469.1 871.2 446.3 877.3 423 883.4 399.9 887.8 376.4 890.3 352.7 892.9 328.6 893.4 304.3 892 280 891.8 276.9 891 273.8 890.3 270.7 889.7 267.7 889 264.6 888.4 261.6 887.2 255.7 886 249.9 884.7 244 882.3 233 879.7 222 876.5 211.1 873.4 201.8 870.1 192.5 866 183.5 863.5 178.4 878.8 211.7 866 183.5ZM814.8 393.5C808.1 418.2 799.5 442.5 789.4 466 780 487.9 770 509.6 758.5 530.5 747.4 550.7 735.1 570.3 722 589.3 708.8 608.4 694.7 626.8 680 644.8 664.8 663.4 649 681.5 632.7 699.1 615.9 717.3 598.5 734.9 580.5 752 562.5 769.1 544.1 785.7 525.1 801.6 515.7 809.5 506.1 817.3 496.5 824.9 496.1 825.2 495.2 826.3 494.7 826.3 494 826.3 493.3 826.3 492.6 826.3 492 826.3 491.4 825.5 491 825.1 490.5 824.6 490 824.1 489.5 823.6 488.4 822.6 487.2 821.5 486.1 820.5 481.6 816.6 476.9 813.1 472.2 809.4 469.9 807.6 467.6 805.7 465.3 803.8 463.1 801.9 461 799.8 458.8 797.8 454.2 793.7 449.7 789.6 445.2 785.5 435.9 777 426.6 768.5 417.5 759.8 408.4 751.1 399.5 742.3 390.9 733.2 386.7 728.8 382.7 724.3 378.4 720 374.2 715.8 370 711.5 365.8 707.2 349.1 690 332.9 672.5 317.4 654.3 301.8 636 286.9 617 273.1 597.3 259.2 577.5 246.4 556.9 234.5 535.8 222.8 515 212.1 493.7 202.6 471.8 193.1 449.9 184.8 427.4 177.9 404.6 176.1 398.6 174.4 392.6 173.1 386.5 171.7 380.1 170.6 373.6 169.6 367.1 167.6 354.2 166.3 341.2 165.5 328.2 164.7 315.3 164.3 302.3 164.5 289.3 164.7 276.7 165.9 264.2 167.5 251.7 167.9 248.5 168.3 245.4 168.7 242.2 168.9 240.6 169.1 239.1 169.3 237.5 169.5 235.9 169.6 234.3 169.8 232.7 170.1 230.3 171.1 228.1 171.7 225.7 172 224.5 172.2 223.2 172.2 221.9 172.2 220.8 172.8 220.1 173.6 219.5 174.6 218.8 175.6 218.3 176.5 217.5 177.1 217 177.6 216.6 178.4 216.3 179.2 216 180.1 215.7 180.9 215.3 183.9 214.2 186.8 213 189.8 211.9 195.7 209.7 201.6 207.5 207.6 205.3 231.3 196.7 255.3 189 279.7 182.4 292 179.1 304.3 176.1 316.7 173.5 322.9 172.2 329.1 170.6 335.4 169.3 341.7 167.9 348 166.6 354.3 165.4 379.8 160.4 405.4 156.3 431.1 152.5 444 150.6 457 148.8 470 147 473.2 146.6 476.5 146.1 479.7 145.7 481.3 145.5 482.8 145.3 484.4 145.1 485.7 144.9 487.1 145 488.4 145.1 493.9 145.1 499.5 145.3 504.9 146.3 506.2 146.5 507.4 146.8 508.6 147.1 510.1 147.5 511.5 147.8 513 148 516.1 148.4 519.2 148.9 522.3 149.3 528.6 150.2 534.8 151.1 541.1 152 553.7 153.8 566.4 155.7 579 157.7 604.4 161.7 629.7 166 654.8 171.4 680 176.8 705 183.2 729.7 190.3 742.1 193.9 754.4 197.7 766.6 201.7 772.7 203.7 778.7 205.8 784.7 207.9 787.7 209 790.7 210 793.7 211.1 795.1 211.6 796.6 212.1 798 212.7 798.7 213 799.4 213.2 800.1 213.5 800.8 213.8 801.9 214 802.4 214.5 803.6 215.7 805.3 216.5 806.3 217.9 806.8 218.7 807.1 219.5 807.2 220.5 807.3 221.2 807.2 221.8 807.4 222.5 807.7 223.4 807.9 224.3 808.1 225.2 809.8 231.5 811.2 237.9 812.3 244.4 813.4 250.8 814.1 257.2 814.5 263.6 814.7 266.8 814.8 270 814.9 273.2 814.9 274 814.9 274.7 814.9 275.5 814.9 276.3 815.2 277.1 815.3 277.8 815.7 279.5 816 281.1 816.4 282.8 821.3 306.5 822.7 330.7 820.7 354.8 819.6 367.7 817.6 380.7 814.8 393.5 807.1 421.7 822.5 357.6 814.8 393.5ZM617.6 393.5C616.1 389 614.6 384.5 613.1 379.9 612.9 379.3 612.7 378.7 612.5 378.1 612.4 377.7 612.5 377.1 612.4 376.7 612.3 376.1 612.2 375.5 612.1 374.9 611.8 373.8 611.4 372.8 610.8 371.9 609.7 370.1 608.1 368.5 606.5 367 604.7 365.2 602.4 362.7 599.6 362.7 601.6 360.7 604.3 360 606.5 358.3 607.6 357.4 608.5 356.5 609.7 355.7 610.5 355.2 611.6 354.7 612.1 353.8 612.3 353.4 612.4 352.9 612.4 352.5 612.9 352 613.3 351.5 613.7 350.9 614.4 349.8 614.7 348.6 614.9 347.3 615.1 345.1 615 342.9 615 340.7 615 338.4 615 336.1 615 333.8 615 331.4 615 329 614.4 326.6 613.1 321.5 610 316.8 606.4 313.1 604.7 311.4 603 309.9 601 308.6 598.3 306.9 595.5 305.5 592.7 304.1 589.9 302.7 586.9 301.8 583.8 301.4 581.4 301.1 579 301.1 576.6 301.1 573.9 301.1 571.2 301.1 568.5 301.1 556.2 301.1 543.8 301.1 531.5 301.1 526.9 301.1 522.3 301.1 517.7 301.1 516.9 301.1 516.1 301.1 515.2 301.1 515.1 301.1 515.2 305.3 515.2 305.6 515.2 308.8 515.2 311.9 515.2 315.1 515.2 316.2 515.2 317.3 515.2 318.4 515.2 318.9 515 319.1 515.5 319.1 516.7 319.1 528 319 528 319.2 528 327.2 528 335.2 528 343.2 528 355.8 528 368.3 528 380.9 528 384.6 528 388.3 528 392 528 392.2 528.1 393.4 527.9 393.4 525.4 393.4 522.8 393.4 520.3 393.4 518.9 393.4 517.6 393.4 516.2 393.4 515.9 393.4 515.2 393.2 515.2 393.6 515.2 395.7 515.2 397.8 515.2 400 515.2 401 515.2 414 515.2 414 524.7 414 534.3 414 543.8 414 549.3 414 554.8 414 560.2 414 561.4 414 562.5 414 563.7 414 564 414 563.8 411.1 563.8 410.7 563.8 405.1 563.8 399.6 563.8 394 563.8 393.4 563.9 393.5 563.3 393.5 562 393.5 560.7 393.5 559.3 393.5 557.8 393.5 556.3 393.5 554.8 393.5 554.6 393.5 553.5 393.7 553.5 393.4 553.5 388.4 553.5 383.4 553.5 378.4 553.5 375.6 553.5 372.9 553.5 370.1 553.5 369.4 553.5 368.8 553.5 368.1 553.5 367.7 554.2 367.9 554.5 367.9 557.4 367.9 560.2 367.9 563.1 367.9 565 367.9 566.9 367.9 568.8 367.9 570.1 367.9 571.6 367.7 572.8 368.1 573.9 368.4 574.8 369 575.7 369.7 576.8 370.6 578.3 371.8 578.9 373.1 579.2 373.8 579.2 374.5 579.2 375.3 579.2 376.6 579.6 377.7 580.2 378.9 580.7 380 581.3 381 581.6 382.2 581.7 382.6 581.7 383 581.8 383.4 581.9 384 582 384.6 582.1 385.1 583.1 390.9 584.2 396.6 585.2 402.4 585.6 404.9 586.1 407.3 586.5 409.8 586.6 410.3 586.7 410.8 586.8 411.3 586.8 411.4 587.2 411.4 587.4 411.4 597.8 411.4 608.3 411.4 618.7 411.4 619.2 411.4 619.6 411.4 620.1 411.4 620.2 411.4 620.2 410.7 620.2 410.6 620.2 408.2 620.2 405.7 620.2 403.3 620.2 398.3 620.2 393.3 620.2 388.4 620.2 388.4 620.2 388.4 620.2 388.4 619.3 390.1 618.5 391.8 617.6 393.5ZM592 339.7C592 342 589.2 342.8 587.7 344.1 587.4 344.3 587.1 344.6 586.9 344.8 586.7 344.8 586.4 344.8 586.2 344.9 585.8 345 585.4 345.2 585.1 345.4 584.4 345.9 583.9 346.6 583.2 347 582.1 347.5 580.7 347.3 579.6 347.3 577.9 347.3 576.3 347.3 574.6 347.3 573.9 347.3 573.2 347.3 572.5 347.3 569.5 347.3 566.4 347.3 563.4 347.3 563 347.3 558.8 347.4 558.8 347.2 558.8 337.9 558.8 328.5 558.8 319.2 558.8 319.1 571.7 319.2 573 319.2 577 319.2 581 319.1 584.9 320.1 586.4 320.5 587.8 321 589.2 321.6 590.1 322.1 591 323.2 591.6 324 593.1 325.7 594.1 327.8 594.5 330 594.6 330.7 594.6 331.3 594.6 332 594.3 332.6 594 333.2 593.7 333.9 593.3 334.7 592.9 335.5 592.6 336.3 592.1 337.4 592 338.5 592 339.7ZM722.6 393.5C722.6 384.2 722.6 374.9 722.6 365.6 722.6 357.1 720.9 348 714.6 341.9 707.5 335.1 696.4 333.9 687 334.7 685.1 334.9 683.2 335.3 681.4 336.1 680.4 336.5 679.5 336.9 678.6 337.6 678 338.1 677.3 338.5 676.7 338.8 673.6 340.4 670.5 341.6 668.8 344.9 668.8 335.9 668.8 326.8 668.8 317.8 668.8 311.9 668.8 306 668.8 300.1 668.8 298.4 668.8 296.6 668.8 294.9 668.8 294.4 669.1 293.7 668.5 293.7 657.9 293.7 647.3 293.7 636.7 293.7 635.5 293.7 634.2 293.7 633 293.7 633 293.7 633 297.8 633 298.1 633 303.4 633 308.7 633 314 633 314.3 633.8 314.2 634 314.2 635.4 314.2 636.7 314.2 638.1 314.2 640.6 314.2 643.2 314.2 645.7 314.2 645.9 314.2 645.8 319.4 645.8 319.8 645.8 331.2 645.8 342.6 645.8 353.9 645.8 364.9 645.8 375.8 645.8 386.8 645.8 388 645.8 389.2 645.8 390.3 645.8 391.2 645.7 391 644.6 391 641.6 391 638.7 391 635.7 391 634.8 391 633.9 391 633 391 632.9 391 632.9 391.9 632.9 392 632.9 397.7 632.9 403.4 632.9 409 632.9 409.8 632.9 410.5 632.9 411.3 632.9 411.5 633 411.5 633.2 411.5 634.5 411.5 635.9 411.5 637.2 411.5 649.1 411.5 661 411.5 672.9 411.5 673.4 411.5 681.5 411.5 681.5 411.5 681.5 406.5 681.5 401.5 681.5 396.5 681.5 394.7 681.5 392.9 681.5 391.1 681.5 391.1 675.6 391.1 675.2 391.1 674.8 391.1 668.7 391.1 668.7 391.1 668.7 389.8 668.7 388.5 668.7 387.3 668.7 381.2 668.7 375 668.7 368.9 668.7 366.5 668.7 364.2 668.7 361.8 668.7 361.3 668.7 360.9 668.7 360.4 668.7 360 670.3 358.8 670.6 358.5 671.7 357.5 672.8 356.5 674.2 355.8 674.7 355.5 675.3 355.3 675.8 355.3 676.5 355.2 676.8 354.8 677.4 354.3 678.5 353.5 679.7 353 681 352.8 683.6 352.4 685.8 352.7 687.9 354.2 689.1 355.1 690.1 356.1 691.2 357.2 692 358 692.7 358.8 693.3 359.8 694.2 361.6 694.3 363.7 694.3 365.7 694.4 369.3 694.3 372.9 694.3 376.6 694.3 387.8 694.3 399 694.3 410.3 694.3 410.9 694 411.6 694.7 411.6 696.4 411.6 698.1 411.6 699.8 411.6 706 411.6 712.3 411.6 718.5 411.6 722.4 411.6 726.3 411.6 730.2 411.6 730.2 411.6 730.2 398.5 730.2 397.5 730.2 395.4 730.2 393.3 730.2 391.2 727.8 391.8 725.2 392.6 722.6 393.5ZM730.3 270.6C727.9 270.6 725.4 270.6 723 270.6 722 270.6 721.1 270.6 720.1 270.6 720 270.6 719.6 271.3 719.6 271.4 716.5 276 713.4 280.6 710.4 285.3 708.9 287.5 707.4 289.7 706 292 705.6 292.5 705.3 293.1 704.9 293.6 704.6 294.1 704.8 294.9 704.8 295.4 704.8 295.6 704.8 298.8 704.8 298.8 705.4 298.8 706 298.8 706.5 298.8 709.5 298.8 712.4 298.8 715.4 298.8 717.8 298.8 720.1 298.8 722.5 298.8 723 298.8 722.7 299.6 722.7 299.9 722.7 301.4 722.7 302.9 722.7 304.4 722.7 305.8 722.7 307.1 722.7 308.5 722.7 309.3 723 309.1 723.8 309.1 725.3 309.1 726.9 309.1 728.4 309.1 728.7 309.1 730.3 309.3 730.3 308.9 730.3 306.2 730.3 303.4 730.3 300.7 730.3 300.4 730.1 298.8 730.5 298.8 731.9 298.8 733.3 298.8 734.6 298.8 734.7 298.8 735.4 298.8 735.4 298.8 735.4 298.2 735.4 297.7 735.4 297.1 735.4 296.9 735.4 293.7 735.4 293.7 734.1 293.7 732.9 293.7 731.6 293.7 731.1 293.7 730.3 294 730.3 293.4 730.3 285.7 730.3 278.1 730.3 270.6ZM722.6 285.9C722.6 287.2 722.6 288.5 722.6 289.7 722.6 290.6 722.6 291.4 722.6 292.3 722.6 292.5 722.7 293.4 722.6 293.6 722.5 293.7 721.6 293.6 721.5 293.6 720.6 293.6 719.7 293.6 718.8 293.6 717.5 293.6 716.2 293.6 715 293.6 716.3 291.6 717.7 289.6 719 287.6 719.6 286.7 720.2 285.9 720.8 285.1 722.4 283.1 722.6 280.7 722.6 278.2 722.6 280.8 722.6 283.4 722.6 285.9ZM763.6 288.5C760.9 285.8 756.2 285.9 752.6 285.9 752 285.9 751.4 285.9 750.8 285.9 750.8 285.9 750.8 284.8 750.8 284.7 750.8 283.4 750.8 282.1 750.8 280.8 750.8 280.7 763.9 280.8 765.2 280.8 765.7 280.8 766.2 281 766.2 280.5 766.2 279.1 766.2 277.7 766.2 276.4 766.2 275.3 766.2 274.2 766.2 273.2 766.2 273.2 764.9 273.2 764.9 273.2 759.2 273.2 753.5 273.2 747.8 273.2 747.2 273.2 746.5 273.2 745.9 273.2 745.7 273.2 745.7 273.6 745.7 273.8 745.4 276 745.1 278.2 744.9 280.4 744.3 284.8 743.8 289.3 743.2 293.7 747 293.7 751.5 293.1 755.1 294.8 757.9 296.2 759 299.4 758.5 302.4 758 305.8 754.4 306.5 751.5 306.5 749.6 306.5 743.2 307 743.2 303.9 742.3 306.5 741.5 309 740.6 311.6 742.3 311.6 744 312.6 745.6 313.2 748 314.1 750.5 314.3 753 314.1 756.9 313.8 761 312.5 763.6 309.4 766.3 306.1 766.2 301.9 766.2 297.8 766.2 295.6 766.2 293.3 765.7 291.1 765.5 290.1 765 288.6 763.7 288.5 763.7 288.5 763.6 288.5 763.6 288.5 761 285.9 766.2 288.5 763.6 288.5Z", |
|
87 | "path": "M174.6 216.8C173.4 220.9 172.2 225 171 229.1 168.1 239.1 165.2 249.1 162.3 259.1 158.7 271.6 155 284.2 151.4 296.7 148 308.4 144.6 320.1 141.2 331.8 139 339.3 136.8 346.8 134.7 354.3 134.4 355.4 134.1 356.5 133.7 357.6 133.7 357.7 133.9 358.2 134 358.3 134.3 359 134.5 359.7 134.8 360.5 137.2 367.3 139.7 374.1 142.1 381 146 392 149.9 403 153.9 414.1 158.3 426.5 162.8 439 167.2 451.4 171.1 462.5 175.1 473.6 179 484.7 181.5 491.7 184 498.6 186.4 505.6 186.8 506.7 187.2 507.7 187.5 508.8 187.8 509.6 188.6 510.4 189 511.1 192.8 516.9 196.5 522.6 200.3 528.4 206.5 537.9 212.7 547.4 219 556.9 226.2 567.9 233.4 578.9 240.6 590 247.3 600.3 254.1 610.6 260.8 620.9 265.6 628.2 270.4 635.6 275.2 642.9 276.4 644.8 277.6 646.6 278.9 648.5 279.2 649 279.5 649.5 279.8 649.8 282.7 652.6 285.5 655.4 288.4 658.2 294.6 664.3 300.9 670.5 307.1 676.6 315.5 684.9 323.9 693.2 332.4 701.4 341.8 710.6 351.2 719.9 360.6 729.1 369.8 738.1 378.9 747.1 388.1 756.1 395.8 763.7 403.6 771.3 411.3 778.9 416.4 783.9 421.5 788.9 426.6 793.9 428.2 795.5 429.8 797.3 431.6 798.6 438.9 803.9 446.1 809.2 453.4 814.5 463.7 822 473.9 829.5 484.2 837 487.6 839.5 491.1 842 494.5 844.5 495.3 845.1 496.1 845.7 496.9 846.3 497.2 846.5 497.2 846.6 497.6 846.4 504.7 842.7 511.8 839.1 518.9 835.4 530.3 829.5 541.7 823.6 553.1 817.7 559.2 814.5 565.4 811.4 571.5 808.2 571.9 808 572.3 807.1 572.6 806.8 573.7 805.4 574.8 804 576 802.5 580.2 797.2 584.3 791.9 588.5 786.7 594.7 778.9 600.8 771.1 607 763.3 614.5 753.8 622 744.3 629.5 734.8 637.7 724.5 645.8 714.1 654 703.8 662.1 693.5 670.3 683.2 678.4 672.9 685.9 663.5 693.3 654 700.8 644.6 706.9 636.9 713 629.2 719.1 621.5 723.2 616.4 727.2 611.2 731.3 606.1 732.7 604.4 734 602.6 735.4 600.9 735.2 600.8 734.8 600.8 734.6 600.7 733.8 600.5 733 600.4 732.2 600.2 729.1 599.6 726 598.9 722.9 598.2 718 597.1 713 596 708.1 594.8 701.5 593.2 694.9 591.5 688.3 589.7 680.2 587.5 672.2 585.2 664.1 582.9 654.7 580.1 645.4 577.2 636.1 574.1 625.6 570.6 615.2 567 604.8 563.3 593.4 559.1 582 554.8 570.8 550.2 558.6 545.3 546.6 540.1 534.6 534.8 521.9 529.1 509.3 523.1 496.8 516.8 483.7 510.2 470.7 503.4 457.9 496.2 444.6 488.7 431.4 480.9 418.5 472.8 405.1 464.4 392 455.6 379.1 446.4 365.9 437 352.9 427.1 340.3 416.9 327.4 406.4 314.8 395.5 302.7 384.2 290.3 372.6 278.3 360.6 266.8 348.1 255.1 335.3 243.8 322.1 233.2 308.4 222.3 294.4 212 279.9 202.4 265 192.5 249.7 183.4 233.9 175 217.8 175 217.4 174.8 217.1 174.6 216.8ZM172.1 214.2C170.7 218.7 169.3 223.3 167.8 227.8 164.5 238.5 161.1 249.2 157.8 259.9 153.9 272.4 150 285 146.1 297.5 143 307.5 139.9 317.4 136.7 327.4 135.9 330.1 135 332.7 134.2 335.4 134 336.1 133.6 336.7 133.8 337.4 135.4 342.2 137 347.1 138.6 351.9 141.9 361.9 145.2 371.8 148.6 381.8 152.7 394.1 156.8 406.5 160.9 418.8 164.9 430.8 168.9 442.8 172.9 454.8 175.9 463.7 178.8 472.6 181.8 481.4 182.6 483.8 183.4 486.2 184.2 488.7 184.4 489.4 184.6 490.1 184.9 490.8 187.2 495 189.5 499.2 191.8 503.4 196.8 512.6 201.9 521.8 206.9 531 213.2 542.4 219.4 553.9 225.7 565.3 231.7 576.2 237.6 587.1 243.6 598 247.8 605.6 251.9 613.2 256.1 620.8 257.3 623 258.2 625.4 259.9 627.2 264.1 631.7 268.3 636.2 272.5 640.7 280.2 648.9 287.9 657.2 295.5 665.4 304.5 675 313.5 684.7 322.4 694.3 330.5 703 338.6 711.7 346.7 720.4 351.8 725.8 356.8 731.3 361.9 736.7 363.5 738.4 365 740 366.6 741.6 372.3 747.3 378 753 383.7 758.7 392.5 767.5 401.2 776.2 410 785 419.1 794.1 428.3 803.3 437.4 812.4 444.2 819.2 451.1 826.1 457.9 832.9 459.6 834.6 461.3 836.3 463 838 463.3 838.3 463.6 838.6 463.8 838.8 463.9 838.9 465.1 838.7 465.3 838.6 475.9 837.2 486.5 835.8 497 834.5 505.6 833.4 514.1 832.3 522.7 831.2 523 831.2 523.7 830.1 523.9 829.9 525.1 828.6 526.3 827.2 527.6 825.9 532.1 820.9 536.7 815.9 541.2 810.9 547.9 803.5 554.6 796.1 561.4 788.7 569.6 779.7 577.7 770.7 585.9 761.8 594.8 752 603.6 742.3 612.5 732.5 621.3 722.8 630.1 713.1 639 703.4 647 694.5 655.1 685.7 663.1 676.8 669.6 669.6 676.2 662.4 682.7 655.2 687 650.5 691.3 645.8 695.6 641 696.6 639.9 697.7 638.7 698.7 637.6 698.9 637.4 699.6 636.9 699.6 636.6 699.6 636.5 696.6 635.7 696.5 635.7 693.5 634.8 690.4 633.9 687.4 633 682.6 631.5 677.8 630 673 628.4 666.6 626.3 660.1 624.1 653.8 621.8 645.9 619 638.1 616.1 630.3 613.1 621.2 609.6 612.1 606 603.1 602.2 592.9 598 582.8 593.6 572.8 589 561.8 584 550.8 578.8 540 573.4 528.3 567.6 516.7 561.6 505.2 555.3 493 548.7 480.9 541.8 469 534.6 456.5 527.1 444.1 519.3 431.9 511.2 419.2 502.8 406.7 494 394.5 484.9 381.8 475.5 369.5 465.8 357.4 455.7 345 445.3 332.8 434.6 321.1 423.4 309.1 412 297.4 400.2 286.2 388 274.7 375.5 263.7 362.6 253.2 349.3 242.5 335.7 232.3 321.7 222.8 307.2 213 292.4 203.9 277.2 195.5 261.7 186.8 246.5 179 230.5 172.1 214.2ZM169.5 204C168.8 207.8 168.1 211.6 167.3 215.4 165.5 224.9 163.7 234.5 161.9 244 159.5 256.5 157.1 269 154.7 281.5 152.3 294.2 149.8 307 147.4 319.7 145.5 329.9 143.5 340.1 141.6 350.3 140.7 355.2 139.7 360.1 138.8 365 138.7 365.7 139.1 366.4 139.3 367 140.2 369.6 141.1 372.2 142 374.8 145.4 384.5 148.7 394.3 152.1 404 156.4 416.4 160.7 428.7 165 441.1 168.8 452.1 172.6 463 176.4 474 178.3 479.5 180.2 485 182.1 490.5 182.3 491.2 182.7 491.8 183 492.4 184.2 494.8 185.4 497.1 186.5 499.5 190.9 508.4 195.4 517.2 199.8 526.1 205.6 537.7 211.4 549.3 217.2 560.9 222.7 571.9 228.2 583 233.8 594 237.4 601.2 241 608.3 244.6 615.5 245.2 616.6 245.7 617.7 246.3 618.8 246.7 619.6 247.6 620.4 248.2 621.1 252.8 626.6 257.4 632.1 262 637.7 269.5 646.7 276.9 655.6 284.4 664.6 292.8 674.7 301.3 684.9 309.7 695 317.2 704 324.8 713.1 332.3 722.1 337 727.8 341.8 733.5 346.5 739.1 347.2 740 347.9 740.8 348.7 741.7 348.9 741.9 349.2 742 349.4 742.2 350.2 742.7 350.9 743.2 351.7 743.7 358.7 748.5 365.8 753.3 372.8 758.1 383.3 765.3 393.9 772.5 404.4 779.7 414.6 786.6 424.7 793.6 434.9 800.5 440.8 804.5 446.7 808.6 452.7 812.6 456.3 815.1 459.5 818.1 462.9 820.8 472.5 828.7 482.1 836.7 491.7 844.6 498.5 850.2 505.4 855.9 512.2 861.5 512.8 862 512.7 861.9 513.3 861.3 514.2 860.3 515.2 859.2 516.1 858.2 520 853.9 524 849.6 527.9 845.3 534 838.6 540.2 831.9 546.3 825.2 554 816.8 561.7 808.3 569.4 799.9 578.1 790.4 586.7 781 595.4 771.5 604.4 761.7 613.3 751.9 622.3 742.1 630.9 732.6 639.6 723.2 648.2 713.7 655.9 705.3 663.6 696.9 671.3 688.5 677.4 681.8 683.5 675.1 689.6 668.4 693.5 664.1 697.4 659.9 701.3 655.6 702.4 654.4 703.5 653.2 704.6 652 704.6 652 704.6 652 704.6 652 704.6 652 704.6 652 704.6 652 704.6 652.1 701.6 651.3 701.5 651.3 698.5 650.5 695.5 649.5 692.6 648.6 687.9 647.1 683.1 645.5 678.4 643.8 672.1 641.6 665.8 639.2 659.5 636.9 651.8 634 644.1 630.9 636.4 627.8 627.5 624.1 618.6 620.3 609.7 616.4 599.7 612 589.8 607.4 580 602.7 569.2 597.5 558.4 592.1 547.7 586.6 536.2 580.6 524.8 574.4 513.4 568 501.4 561.2 489.5 554.2 477.7 546.9 465.3 539.3 453.1 531.4 441.1 523.3 428.6 514.8 416.3 506.1 404.2 497 391.7 487.7 379.5 478 367.5 468 355.2 457.8 343.2 447.2 331.5 436.3 319.6 425.2 308 413.6 296.8 401.7 285.4 389.6 274.5 377.1 264 364.3 253.3 351.2 243.2 337.8 233.6 323.9 223.8 309.8 214.6 295.4 206.1 280.5 197.4 265.4 189.4 249.9 182.1 234 177.7 224.2 173.5 214.2 169.5 204ZM866 183.5C863.9 179.4 861.1 176.2 857.1 174 851.9 171.1 846.2 168.9 840.7 166.5 829.5 161.7 818.2 157.4 806.7 153.4 783.6 145.4 760 138.9 736.3 132.9 711.7 126.7 687.1 120.9 662.3 115.7 637.1 110.4 611.7 105.6 586.3 101.4 561.2 97.2 536 93.1 510.5 91.1 497.8 90.1 485 89.9 472.4 91.3 465.9 92 459.4 93.2 453 94.2 446.6 95.2 440.1 96.2 433.7 97.3 408.2 101.5 382.8 106 357.4 111 332.2 115.9 307.1 121.2 282.1 126.9 257.2 132.5 232.6 139.2 208.4 147.3 196.3 151.4 184.2 155.8 172.3 160.5 166.4 162.8 160.5 165.2 154.6 167.7 151.7 168.9 148.8 170.2 145.8 171.4 143.2 172.5 140.6 173.5 138.1 174.7 134 176.7 130.6 179.7 128.3 183.6 127 185.8 126.2 188.2 125.3 190.6 124.2 193.6 123.1 196.6 122.1 199.6 118.1 211.5 114.9 223.7 112.5 236 107.7 260.4 106 285.4 106.8 310.2 107.2 322.7 108.2 335.3 109.7 347.7 111.2 360.2 112.7 372.8 115.1 385.2 119.8 410.4 126.7 435.1 134.8 459.3 138.9 471.4 143.3 483.5 147.9 495.4 152.2 506.5 157.5 517.3 162.7 528 173 549.2 184.4 569.8 196.6 589.9 208.8 609.9 221.9 629.3 235.7 648.1 249.5 666.8 264.1 685 279.3 702.6 295.3 721.1 311.7 739.2 328.6 756.9 345.6 774.8 363 792.2 381 809 398.9 825.9 417.4 842.2 436.4 857.8 445.6 865.4 454.9 872.8 464.2 880.2 473.6 887.7 483.1 895.1 492 903.2 494.3 905.2 496.5 907.3 498.7 909.5 498.9 909.7 499.7 910.8 500 910.8 500.2 910.8 500.5 910.8 500.7 910.8 501.2 910.8 502 911 502.5 910.8 507.3 907.1 512 903.3 516.8 899.6 526.2 892.1 535.6 884.6 544.9 876.9 563.3 861.7 581.4 846.2 599.2 830.3 616.9 814.5 634.1 798.2 651 781.5 667.9 764.7 684.4 747.5 700.3 729.7 716.3 711.8 731.8 693.4 746.5 674.4 761 655.7 774.8 636.5 787.8 616.8 800.7 597.2 812.8 577 823.8 556.2 835 535.1 845.2 513.5 854.3 491.4 863.4 469.1 871.2 446.3 877.3 423 883.4 399.9 887.8 376.4 890.3 352.7 892.9 328.6 893.4 304.3 892 280 891.8 276.9 891 273.8 890.3 270.7 889.7 267.7 889 264.6 888.4 261.6 887.2 255.7 886 249.9 884.7 244 882.3 233 879.7 222 876.5 211.1 873.4 201.8 870.1 192.5 866 183.5 863.5 178.4 878.8 211.7 866 183.5ZM814.8 393.5C808.1 418.2 799.5 442.5 789.4 466 780 487.9 770 509.6 758.5 530.5 747.4 550.7 735.1 570.3 722 589.3 708.8 608.4 694.7 626.8 680 644.8 664.8 663.4 649 681.5 632.7 699.1 615.9 717.3 598.5 734.9 580.5 752 562.5 769.1 544.1 785.7 525.1 801.6 515.7 809.5 506.1 817.3 496.5 824.9 496.1 825.2 495.2 826.3 494.7 826.3 494 826.3 493.3 826.3 492.6 826.3 492 826.3 491.4 825.5 491 825.1 490.5 824.6 490 824.1 489.5 823.6 488.4 822.6 487.2 821.5 486.1 820.5 481.6 816.6 476.9 813.1 472.2 809.4 469.9 807.6 467.6 805.7 465.3 803.8 463.1 801.9 461 799.8 458.8 797.8 454.2 793.7 449.7 789.6 445.2 785.5 435.9 777 426.6 768.5 417.5 759.8 408.4 751.1 399.5 742.3 390.9 733.2 386.7 728.8 382.7 724.3 378.4 720 374.2 715.8 370 711.5 365.8 707.2 349.1 690 332.9 672.5 317.4 654.3 301.8 636 286.9 617 273.1 597.3 259.2 577.5 246.4 556.9 234.5 535.8 222.8 515 212.1 493.7 202.6 471.8 193.1 449.9 184.8 427.4 177.9 404.6 176.1 398.6 174.4 392.6 173.1 386.5 171.7 380.1 170.6 373.6 169.6 367.1 167.6 354.2 166.3 341.2 165.5 328.2 164.7 315.3 164.3 302.3 164.5 289.3 164.7 276.7 165.9 264.2 167.5 251.7 167.9 248.5 168.3 245.4 168.7 242.2 168.9 240.6 169.1 239.1 169.3 237.5 169.5 235.9 169.6 234.3 169.8 232.7 170.1 230.3 171.1 228.1 171.7 225.7 172 224.5 172.2 223.2 172.2 221.9 172.2 220.8 172.8 220.1 173.6 219.5 174.6 218.8 175.6 218.3 176.5 217.5 177.1 217 177.6 216.6 178.4 216.3 179.2 216 180.1 215.7 180.9 215.3 183.9 214.2 186.8 213 189.8 211.9 195.7 209.7 201.6 207.5 207.6 205.3 231.3 196.7 255.3 189 279.7 182.4 292 179.1 304.3 176.1 316.7 173.5 322.9 172.2 329.1 170.6 335.4 169.3 341.7 167.9 348 166.6 354.3 165.4 379.8 160.4 405.4 156.3 431.1 152.5 444 150.6 457 148.8 470 147 473.2 146.6 476.5 146.1 479.7 145.7 481.3 145.5 482.8 145.3 484.4 145.1 485.7 144.9 487.1 145 488.4 145.1 493.9 145.1 499.5 145.3 504.9 146.3 506.2 146.5 507.4 146.8 508.6 147.1 510.1 147.5 511.5 147.8 513 148 516.1 148.4 519.2 148.9 522.3 149.3 528.6 150.2 534.8 151.1 541.1 152 553.7 153.8 566.4 155.7 579 157.7 604.4 161.7 629.7 166 654.8 171.4 680 176.8 705 183.2 729.7 190.3 742.1 193.9 754.4 197.7 766.6 201.7 772.7 203.7 778.7 205.8 784.7 207.9 787.7 209 790.7 210 793.7 211.1 795.1 211.6 796.6 212.1 798 212.7 798.7 213 799.4 213.2 800.1 213.5 800.8 213.8 801.9 214 802.4 214.5 803.6 215.7 805.3 216.5 806.3 217.9 806.8 218.7 807.1 219.5 807.2 220.5 807.3 221.2 807.2 221.8 807.4 222.5 807.7 223.4 807.9 224.3 808.1 225.2 809.8 231.5 811.2 237.9 812.3 244.4 813.4 250.8 814.1 257.2 814.5 263.6 814.7 266.8 814.8 270 814.9 273.2 814.9 274 814.9 274.7 814.9 275.5 814.9 276.3 815.2 277.1 815.3 277.8 815.7 279.5 816 281.1 816.4 282.8 821.3 306.5 822.7 330.7 820.7 354.8 819.6 367.7 817.6 380.7 814.8 393.5 807.1 421.7 822.5 357.6 814.8 393.5ZM617.6 393.5C616.1 389 614.6 384.5 613.1 379.9 612.9 379.3 612.7 378.7 612.5 378.1 612.4 377.7 612.5 377.1 612.4 376.7 612.3 376.1 612.2 375.5 612.1 374.9 611.8 373.8 611.4 372.8 610.8 371.9 609.7 370.1 608.1 368.5 606.5 367 604.7 365.2 602.4 362.7 599.6 362.7 601.6 360.7 604.3 360 606.5 358.3 607.6 357.4 608.5 356.5 609.7 355.7 610.5 355.2 611.6 354.7 612.1 353.8 612.3 353.4 612.4 352.9 612.4 352.5 612.9 352 613.3 351.5 613.7 350.9 614.4 349.8 614.7 348.6 614.9 347.3 615.1 345.1 615 342.9 615 340.7 615 338.4 615 336.1 615 333.8 615 331.4 615 329 614.4 326.6 613.1 321.5 610 316.8 606.4 313.1 604.7 311.4 603 309.9 601 308.6 598.3 306.9 595.5 305.5 592.7 304.1 589.9 302.7 586.9 301.8 583.8 301.4 581.4 301.1 579 301.1 576.6 301.1 573.9 301.1 571.2 301.1 568.5 301.1 556.2 301.1 543.8 301.1 531.5 301.1 526.9 301.1 522.3 301.1 517.7 301.1 516.9 301.1 516.1 301.1 515.2 301.1 515.1 301.1 515.2 305.3 515.2 305.6 515.2 308.8 515.2 311.9 515.2 315.1 515.2 316.2 515.2 317.3 515.2 318.4 515.2 318.9 515 319.1 515.5 319.1 516.7 319.1 528 319 528 319.2 528 327.2 528 335.2 528 343.2 528 355.8 528 368.3 528 380.9 528 384.6 528 388.3 528 392 528 392.2 528.1 393.4 527.9 393.4 525.4 393.4 522.8 393.4 520.3 393.4 518.9 393.4 517.6 393.4 516.2 393.4 515.9 393.4 515.2 393.2 515.2 393.6 515.2 395.7 515.2 397.8 515.2 400 515.2 401 515.2 414 515.2 414 524.7 414 534.3 414 543.8 414 549.3 414 554.8 414 560.2 414 561.4 414 562.5 414 563.7 414 564 414 563.8 411.1 563.8 410.7 563.8 405.1 563.8 399.6 563.8 394 563.8 393.4 563.9 393.5 563.3 393.5 562 393.5 560.7 393.5 559.3 393.5 557.8 393.5 556.3 393.5 554.8 393.5 554.6 393.5 553.5 393.7 553.5 393.4 553.5 388.4 553.5 383.4 553.5 378.4 553.5 375.6 553.5 372.9 553.5 370.1 553.5 369.4 553.5 368.8 553.5 368.1 553.5 367.7 554.2 367.9 554.5 367.9 557.4 367.9 560.2 367.9 563.1 367.9 565 367.9 566.9 367.9 568.8 367.9 570.1 367.9 571.6 367.7 572.8 368.1 573.9 368.4 574.8 369 575.7 369.7 576.8 370.6 578.3 371.8 578.9 373.1 579.2 373.8 579.2 374.5 579.2 375.3 579.2 376.6 579.6 377.7 580.2 378.9 580.7 380 581.3 381 581.6 382.2 581.7 382.6 581.7 383 581.8 383.4 581.9 384 582 384.6 582.1 385.1 583.1 390.9 584.2 396.6 585.2 402.4 585.6 404.9 586.1 407.3 586.5 409.8 586.6 410.3 586.7 410.8 586.8 411.3 586.8 411.4 587.2 411.4 587.4 411.4 597.8 411.4 608.3 411.4 618.7 411.4 619.2 411.4 619.6 411.4 620.1 411.4 620.2 411.4 620.2 410.7 620.2 410.6 620.2 408.2 620.2 405.7 620.2 403.3 620.2 398.3 620.2 393.3 620.2 388.4 620.2 388.4 620.2 388.4 620.2 388.4 619.3 390.1 618.5 391.8 617.6 393.5ZM592 339.7C592 342 589.2 342.8 587.7 344.1 587.4 344.3 587.1 344.6 586.9 344.8 586.7 344.8 586.4 344.8 586.2 344.9 585.8 345 585.4 345.2 585.1 345.4 584.4 345.9 583.9 346.6 583.2 347 582.1 347.5 580.7 347.3 579.6 347.3 577.9 347.3 576.3 347.3 574.6 347.3 573.9 347.3 573.2 347.3 572.5 347.3 569.5 347.3 566.4 347.3 563.4 347.3 563 347.3 558.8 347.4 558.8 347.2 558.8 337.9 558.8 328.5 558.8 319.2 558.8 319.1 571.7 319.2 573 319.2 577 319.2 581 319.1 584.9 320.1 586.4 320.5 587.8 321 589.2 321.6 590.1 322.1 591 323.2 591.6 324 593.1 325.7 594.1 327.8 594.5 330 594.6 330.7 594.6 331.3 594.6 332 594.3 332.6 594 333.2 593.7 333.9 593.3 334.7 592.9 335.5 592.6 336.3 592.1 337.4 592 338.5 592 339.7ZM722.6 393.5C722.6 384.2 722.6 374.9 722.6 365.6 722.6 357.1 720.9 348 714.6 341.9 707.5 335.1 696.4 333.9 687 334.7 685.1 334.9 683.2 335.3 681.4 336.1 680.4 336.5 679.5 336.9 678.6 337.6 678 338.1 677.3 338.5 676.7 338.8 673.6 340.4 670.5 341.6 668.8 344.9 668.8 335.9 668.8 326.8 668.8 317.8 668.8 311.9 668.8 306 668.8 300.1 668.8 298.4 668.8 296.6 668.8 294.9 668.8 294.4 669.1 293.7 668.5 293.7 657.9 293.7 647.3 293.7 636.7 293.7 635.5 293.7 634.2 293.7 633 293.7 633 293.7 633 297.8 633 298.1 633 303.4 633 308.7 633 314 633 314.3 633.8 314.2 634 314.2 635.4 314.2 636.7 314.2 638.1 314.2 640.6 314.2 643.2 314.2 645.7 314.2 645.9 314.2 645.8 319.4 645.8 319.8 645.8 331.2 645.8 342.6 645.8 353.9 645.8 364.9 645.8 375.8 645.8 386.8 645.8 388 645.8 389.2 645.8 390.3 645.8 391.2 645.7 391 644.6 391 641.6 391 638.7 391 635.7 391 634.8 391 633.9 391 633 391 632.9 391 632.9 391.9 632.9 392 632.9 397.7 632.9 403.4 632.9 409 632.9 409.8 632.9 410.5 632.9 411.3 632.9 411.5 633 411.5 633.2 411.5 634.5 411.5 635.9 411.5 637.2 411.5 649.1 411.5 661 411.5 672.9 411.5 673.4 411.5 681.5 411.5 681.5 411.5 681.5 406.5 681.5 401.5 681.5 396.5 681.5 394.7 681.5 392.9 681.5 391.1 681.5 391.1 675.6 391.1 675.2 391.1 674.8 391.1 668.7 391.1 668.7 391.1 668.7 389.8 668.7 388.5 668.7 387.3 668.7 381.2 668.7 375 668.7 368.9 668.7 366.5 668.7 364.2 668.7 361.8 668.7 361.3 668.7 360.9 668.7 360.4 668.7 360 670.3 358.8 670.6 358.5 671.7 357.5 672.8 356.5 674.2 355.8 674.7 355.5 675.3 355.3 675.8 355.3 676.5 355.2 676.8 354.8 677.4 354.3 678.5 353.5 679.7 353 681 352.8 683.6 352.4 685.8 352.7 687.9 354.2 689.1 355.1 690.1 356.1 691.2 357.2 692 358 692.7 358.8 693.3 359.8 694.2 361.6 694.3 363.7 694.3 365.7 694.4 369.3 694.3 372.9 694.3 376.6 694.3 387.8 694.3 399 694.3 410.3 694.3 410.9 694 411.6 694.7 411.6 696.4 411.6 698.1 411.6 699.8 411.6 706 411.6 712.3 411.6 718.5 411.6 722.4 411.6 726.3 411.6 730.2 411.6 730.2 411.6 730.2 398.5 730.2 397.5 730.2 395.4 730.2 393.3 730.2 391.2 727.8 391.8 725.2 392.6 722.6 393.5ZM730.3 270.6C727.9 270.6 725.4 270.6 723 270.6 722 270.6 721.1 270.6 720.1 270.6 720 270.6 719.6 271.3 719.6 271.4 716.5 276 713.4 280.6 710.4 285.3 708.9 287.5 707.4 289.7 706 292 705.6 292.5 705.3 293.1 704.9 293.6 704.6 294.1 704.8 294.9 704.8 295.4 704.8 295.6 704.8 298.8 704.8 298.8 705.4 298.8 706 298.8 706.5 298.8 709.5 298.8 712.4 298.8 715.4 298.8 717.8 298.8 720.1 298.8 722.5 298.8 723 298.8 722.7 299.6 722.7 299.9 722.7 301.4 722.7 302.9 722.7 304.4 722.7 305.8 722.7 307.1 722.7 308.5 722.7 309.3 723 309.1 723.8 309.1 725.3 309.1 726.9 309.1 728.4 309.1 728.7 309.1 730.3 309.3 730.3 308.9 730.3 306.2 730.3 303.4 730.3 300.7 730.3 300.4 730.1 298.8 730.5 298.8 731.9 298.8 733.3 298.8 734.6 298.8 734.7 298.8 735.4 298.8 735.4 298.8 735.4 298.2 735.4 297.7 735.4 297.1 735.4 296.9 735.4 293.7 735.4 293.7 734.1 293.7 732.9 293.7 731.6 293.7 731.1 293.7 730.3 294 730.3 293.4 730.3 285.7 730.3 278.1 730.3 270.6ZM722.6 285.9C722.6 287.2 722.6 288.5 722.6 289.7 722.6 290.6 722.6 291.4 722.6 292.3 722.6 292.5 722.7 293.4 722.6 293.6 722.5 293.7 721.6 293.6 721.5 293.6 720.6 293.6 719.7 293.6 718.8 293.6 717.5 293.6 716.2 293.6 715 293.6 716.3 291.6 717.7 289.6 719 287.6 719.6 286.7 720.2 285.9 720.8 285.1 722.4 283.1 722.6 280.7 722.6 278.2 722.6 280.8 722.6 283.4 722.6 285.9ZM763.6 288.5C760.9 285.8 756.2 285.9 752.6 285.9 752 285.9 751.4 285.9 750.8 285.9 750.8 285.9 750.8 284.8 750.8 284.7 750.8 283.4 750.8 282.1 750.8 280.8 750.8 280.7 763.9 280.8 765.2 280.8 765.7 280.8 766.2 281 766.2 280.5 766.2 279.1 766.2 277.7 766.2 276.4 766.2 275.3 766.2 274.2 766.2 273.2 766.2 273.2 764.9 273.2 764.9 273.2 759.2 273.2 753.5 273.2 747.8 273.2 747.2 273.2 746.5 273.2 745.9 273.2 745.7 273.2 745.7 273.6 745.7 273.8 745.4 276 745.1 278.2 744.9 280.4 744.3 284.8 743.8 289.3 743.2 293.7 747 293.7 751.5 293.1 755.1 294.8 757.9 296.2 759 299.4 758.5 302.4 758 305.8 754.4 306.5 751.5 306.5 749.6 306.5 743.2 307 743.2 303.9 742.3 306.5 741.5 309 740.6 311.6 742.3 311.6 744 312.6 745.6 313.2 748 314.1 750.5 314.3 753 314.1 756.9 313.8 761 312.5 763.6 309.4 766.3 306.1 766.2 301.9 766.2 297.8 766.2 295.6 766.2 293.3 765.7 291.1 765.5 290.1 765 288.6 763.7 288.5 763.7 288.5 763.6 288.5 763.6 288.5 761 285.9 766.2 288.5 763.6 288.5Z", | |
88 | "width": 1000 |
|
88 | "width": 1000 | |
89 | }, |
|
89 | }, | |
90 | "search": [ |
|
90 | "search": [ | |
91 | "rhodecode" |
|
91 | "rhodecode" | |
92 | ] |
|
92 | ] | |
93 | }, |
|
93 | }, | |
94 | { |
|
94 | { | |
95 | "uid": "e5ad8728e6d6290aff4b6ffcfcaa9167", |
|
95 | "uid": "e5ad8728e6d6290aff4b6ffcfcaa9167", | |
96 | "css": "up", |
|
96 | "css": "up", | |
97 | "code": 59442, |
|
97 | "code": 59442, | |
98 | "src": "custom_icons", |
|
98 | "src": "custom_icons", | |
99 | "selected": true, |
|
99 | "selected": true, | |
100 | "svg": { |
|
100 | "svg": { | |
101 | "path": "M686.5 595.8L513.6 379.1C506.3 369.9 492.4 369.9 485.1 379.1L312.2 595.8C302.7 607.8 311.2 625.4 326.5 625.4H672.2C687.5 625.4 696 607.8 686.5 595.8Z", |
|
101 | "path": "M686.5 595.8L513.6 379.1C506.3 369.9 492.4 369.9 485.1 379.1L312.2 595.8C302.7 607.8 311.2 625.4 326.5 625.4H672.2C687.5 625.4 696 607.8 686.5 595.8Z", | |
102 | "width": 1000 |
|
102 | "width": 1000 | |
103 | }, |
|
103 | }, | |
104 | "search": [ |
|
104 | "search": [ | |
105 | "up" |
|
105 | "up" | |
106 | ] |
|
106 | ] | |
107 | }, |
|
107 | }, | |
108 | { |
|
108 | { | |
109 | "uid": "6e459e39444c93a2c017f258186765d6", |
|
109 | "uid": "6e459e39444c93a2c017f258186765d6", | |
110 | "css": "unlock", |
|
110 | "css": "unlock", | |
111 | "code": 59399, |
|
111 | "code": 59399, | |
112 | "src": "custom_icons", |
|
112 | "src": "custom_icons", | |
113 | "selected": true, |
|
113 | "selected": true, | |
114 | "svg": { |
|
114 | "svg": { | |
115 | "path": "M780.8 434.6H396.2V342.3C396.2 284.6 438.5 238.5 492.3 226.9 492.3 226.9 492.3 226.9 496.2 226.9 503.8 226.9 507.7 226.9 515.4 226.9 515.4 226.9 519.2 226.9 519.2 226.9 519.2 226.9 519.2 226.9 523.1 226.9 530.8 226.9 538.5 226.9 546.2 230.8 546.2 230.8 546.2 230.8 546.2 230.8 553.8 230.8 557.7 234.6 565.4 238.5 565.4 238.5 569.2 238.5 569.2 242.3 573.1 246.2 580.8 246.2 584.6 250 584.6 250 584.6 250 584.6 250 588.5 253.8 596.2 257.7 600 261.5 600 261.5 603.8 265.4 603.8 265.4 607.7 269.2 611.5 273.1 615.4 276.9 615.4 276.9 615.4 276.9 619.2 280.8 623.1 284.6 626.9 292.3 630.8 300 630.8 300 630.8 303.8 630.8 303.8 634.6 307.7 634.6 315.4 634.6 319.2 634.6 319.2 634.6 323.1 634.6 323.1 634.6 323.1 634.6 323.1 634.6 326.9 638.5 338.5 646.2 346.2 657.7 346.2H715.4C730.8 346.2 742.3 334.6 738.5 319.2 738.5 319.2 738.5 319.2 738.5 319.2 738.5 319.2 738.5 315.4 738.5 315.4 738.5 307.7 734.6 303.8 734.6 296.2 734.6 292.3 734.6 292.3 730.8 288.5 730.8 273.1 730.8 269.2 726.9 261.5 726.9 261.5 726.9 257.7 723.1 257.7 719.2 250 715.4 242.3 711.5 234.6 711.5 234.6 707.7 230.8 707.7 230.8 703.8 223.1 700 219.2 696.2 215.4 696.2 211.5 692.3 211.5 692.3 207.7 688.5 203.8 684.6 196.2 680.8 192.3 680.8 192.3 676.9 188.5 676.9 188.5 669.2 180.8 665.4 176.9 657.7 169.2 657.7 169.2 653.8 169.2 653.8 165.4 650 161.5 642.3 157.7 634.6 153.8 630.8 153.8 630.8 150 626.9 150 623.1 146.2 615.4 142.3 611.5 142.3 607.7 142.3 607.7 138.5 603.8 138.5 596.2 134.6 588.5 130.8 580.8 130.8 580.8 130.8 580.8 130.8 580.8 130.8 573.1 126.9 565.4 126.9 553.8 123.1 550 123.1 550 123.1 546.2 123.1 538.5 123.1 534.6 123.1 526.9 119.2 523.1 119.2 519.2 119.2 519.2 119.2 511.5 119.2 503.8 119.2 496.2 119.2 496.2 119.2 492.3 119.2 492.3 119.2 484.6 119.2 476.9 123.1 465.4 123.1 461.5 123.1 453.8 126.9 450 126.9 450 126.9 446.2 126.9 446.2 126.9 353.8 153.8 288.5 242.3 288.5 342.3V434.6H246.2C230.8 434.6 223.1 446.2 223.1 457.7V857.7C223.1 873.1 234.6 880.8 246.2 880.8H780.8C796.2 880.8 803.8 869.2 803.8 857.7V457.7C807.7 446.2 796.2 434.6 780.8 434.6Z", |
|
115 | "path": "M780.8 434.6H396.2V342.3C396.2 284.6 438.5 238.5 492.3 226.9 492.3 226.9 492.3 226.9 496.2 226.9 503.8 226.9 507.7 226.9 515.4 226.9 515.4 226.9 519.2 226.9 519.2 226.9 519.2 226.9 519.2 226.9 523.1 226.9 530.8 226.9 538.5 226.9 546.2 230.8 546.2 230.8 546.2 230.8 546.2 230.8 553.8 230.8 557.7 234.6 565.4 238.5 565.4 238.5 569.2 238.5 569.2 242.3 573.1 246.2 580.8 246.2 584.6 250 584.6 250 584.6 250 584.6 250 588.5 253.8 596.2 257.7 600 261.5 600 261.5 603.8 265.4 603.8 265.4 607.7 269.2 611.5 273.1 615.4 276.9 615.4 276.9 615.4 276.9 619.2 280.8 623.1 284.6 626.9 292.3 630.8 300 630.8 300 630.8 303.8 630.8 303.8 634.6 307.7 634.6 315.4 634.6 319.2 634.6 319.2 634.6 323.1 634.6 323.1 634.6 323.1 634.6 323.1 634.6 326.9 638.5 338.5 646.2 346.2 657.7 346.2H715.4C730.8 346.2 742.3 334.6 738.5 319.2 738.5 319.2 738.5 319.2 738.5 319.2 738.5 319.2 738.5 315.4 738.5 315.4 738.5 307.7 734.6 303.8 734.6 296.2 734.6 292.3 734.6 292.3 730.8 288.5 730.8 273.1 730.8 269.2 726.9 261.5 726.9 261.5 726.9 257.7 723.1 257.7 719.2 250 715.4 242.3 711.5 234.6 711.5 234.6 707.7 230.8 707.7 230.8 703.8 223.1 700 219.2 696.2 215.4 696.2 211.5 692.3 211.5 692.3 207.7 688.5 203.8 684.6 196.2 680.8 192.3 680.8 192.3 676.9 188.5 676.9 188.5 669.2 180.8 665.4 176.9 657.7 169.2 657.7 169.2 653.8 169.2 653.8 165.4 650 161.5 642.3 157.7 634.6 153.8 630.8 153.8 630.8 150 626.9 150 623.1 146.2 615.4 142.3 611.5 142.3 607.7 142.3 607.7 138.5 603.8 138.5 596.2 134.6 588.5 130.8 580.8 130.8 580.8 130.8 580.8 130.8 580.8 130.8 573.1 126.9 565.4 126.9 553.8 123.1 550 123.1 550 123.1 546.2 123.1 538.5 123.1 534.6 123.1 526.9 119.2 523.1 119.2 519.2 119.2 519.2 119.2 511.5 119.2 503.8 119.2 496.2 119.2 496.2 119.2 492.3 119.2 492.3 119.2 484.6 119.2 476.9 123.1 465.4 123.1 461.5 123.1 453.8 126.9 450 126.9 450 126.9 446.2 126.9 446.2 126.9 353.8 153.8 288.5 242.3 288.5 342.3V434.6H246.2C230.8 434.6 223.1 446.2 223.1 457.7V857.7C223.1 873.1 234.6 880.8 246.2 880.8H780.8C796.2 880.8 803.8 869.2 803.8 857.7V457.7C807.7 446.2 796.2 434.6 780.8 434.6Z", | |
116 | "width": 1000 |
|
116 | "width": 1000 | |
117 | }, |
|
117 | }, | |
118 | "search": [ |
|
118 | "search": [ | |
119 | "unlock" |
|
119 | "unlock" | |
120 | ] |
|
120 | ] | |
121 | }, |
|
121 | }, | |
122 | { |
|
122 | { | |
123 | "uid": "b077586592b9b69166b981325446c836", |
|
123 | "uid": "b077586592b9b69166b981325446c836", | |
124 | "css": "delete", |
|
124 | "css": "delete", | |
125 | "code": 59392, |
|
125 | "code": 59392, | |
126 | "src": "custom_icons", |
|
126 | "src": "custom_icons", | |
127 | "selected": true, |
|
127 | "selected": true, | |
128 | "svg": { |
|
128 | "svg": { | |
129 | "path": "M515.4 92.3C303.8 92.3 130.8 265.4 130.8 476.9 130.8 688.5 303.8 861.5 515.4 861.5S900 688.5 900 476.9C900 265.4 726.9 92.3 515.4 92.3ZM742.3 507.7C742.3 523.1 730.8 534.6 711.5 534.6H315.4C300 534.6 284.6 523.1 284.6 507.7V446.2C284.6 430.8 296.2 419.2 315.4 419.2H711.5C726.9 419.2 742.3 430.8 742.3 446.2V507.7Z", |
|
129 | "path": "M515.4 92.3C303.8 92.3 130.8 265.4 130.8 476.9 130.8 688.5 303.8 861.5 515.4 861.5S900 688.5 900 476.9C900 265.4 726.9 92.3 515.4 92.3ZM742.3 507.7C742.3 523.1 730.8 534.6 711.5 534.6H315.4C300 534.6 284.6 523.1 284.6 507.7V446.2C284.6 430.8 296.2 419.2 315.4 419.2H711.5C726.9 419.2 742.3 430.8 742.3 446.2V507.7Z", | |
130 | "width": 1000 |
|
130 | "width": 1000 | |
131 | }, |
|
131 | }, | |
132 | "search": [ |
|
132 | "search": [ | |
133 | "delete" |
|
133 | "delete" | |
134 | ] |
|
134 | ] | |
135 | }, |
|
135 | }, | |
136 | { |
|
136 | { | |
137 | "uid": "dca63ad885c0d6f1780a8d1d55bc2380", |
|
137 | "uid": "dca63ad885c0d6f1780a8d1d55bc2380", | |
138 | "css": "ok", |
|
138 | "css": "ok", | |
139 | "code": 59393, |
|
139 | "code": 59393, | |
140 | "src": "custom_icons", |
|
140 | "src": "custom_icons", | |
141 | "selected": true, |
|
141 | "selected": true, | |
142 | "svg": { |
|
142 | "svg": { | |
143 | "path": "M515.4 115.4C303.8 115.4 130.8 288.5 130.8 500 130.8 711.5 303.8 884.6 515.4 884.6S900 711.5 900 500C900 288.5 726.9 115.4 515.4 115.4ZM753.8 411.5L450 715.4C438.5 726.9 423.1 726.9 411.5 715.4L273.1 576.9C261.5 565.4 261.5 550 273.1 538.5L315.4 496.2C326.9 484.6 342.3 484.6 353.8 496.2L411.5 553.8C423.1 565.4 438.5 565.4 450 553.8L669.2 334.6C680.8 323.1 696.2 323.1 707.7 334.6L750 376.9C765.4 384.6 765.4 400 753.8 411.5Z", |
|
143 | "path": "M515.4 115.4C303.8 115.4 130.8 288.5 130.8 500 130.8 711.5 303.8 884.6 515.4 884.6S900 711.5 900 500C900 288.5 726.9 115.4 515.4 115.4ZM753.8 411.5L450 715.4C438.5 726.9 423.1 726.9 411.5 715.4L273.1 576.9C261.5 565.4 261.5 550 273.1 538.5L315.4 496.2C326.9 484.6 342.3 484.6 353.8 496.2L411.5 553.8C423.1 565.4 438.5 565.4 450 553.8L669.2 334.6C680.8 323.1 696.2 323.1 707.7 334.6L750 376.9C765.4 384.6 765.4 400 753.8 411.5Z", | |
144 | "width": 1000 |
|
144 | "width": 1000 | |
145 | }, |
|
145 | }, | |
146 | "search": [ |
|
146 | "search": [ | |
147 | "ok" |
|
147 | "ok" | |
148 | ] |
|
148 | ] | |
149 | }, |
|
149 | }, | |
150 | { |
|
150 | { | |
151 | "uid": "c158b3a004c055c6ad1471cd98932268", |
|
151 | "uid": "c158b3a004c055c6ad1471cd98932268", | |
152 | "css": "down", |
|
152 | "css": "down", | |
153 | "code": 59403, |
|
153 | "code": 59403, | |
154 | "src": "custom_icons", |
|
154 | "src": "custom_icons", | |
155 | "selected": true, |
|
155 | "selected": true, | |
156 | "svg": { |
|
156 | "svg": { | |
157 | "path": "M703.8 396.2L530.8 615.4C523.1 623.1 507.7 623.1 503.8 615.4L330.8 396.2C323.1 384.6 330.8 365.4 346.2 365.4H692.3C703.8 365.4 711.5 384.6 703.8 396.2Z", |
|
157 | "path": "M703.8 396.2L530.8 615.4C523.1 623.1 507.7 623.1 503.8 615.4L330.8 396.2C323.1 384.6 330.8 365.4 346.2 365.4H692.3C703.8 365.4 711.5 384.6 703.8 396.2Z", | |
158 | "width": 1000 |
|
158 | "width": 1000 | |
159 | }, |
|
159 | }, | |
160 | "search": [ |
|
160 | "search": [ | |
161 | "arrow_down" |
|
161 | "arrow_down" | |
162 | ] |
|
162 | ] | |
163 | }, |
|
163 | }, | |
164 | { |
|
164 | { | |
165 | "uid": "02f59f392ad28056845cfc04cb121f13", |
|
165 | "uid": "02f59f392ad28056845cfc04cb121f13", | |
166 | "css": "comment", |
|
166 | "css": "comment", | |
167 | "code": 59394, |
|
167 | "code": 59394, | |
168 | "src": "custom_icons", |
|
168 | "src": "custom_icons", | |
169 | "selected": true, |
|
169 | "selected": true, | |
170 | "svg": { |
|
170 | "svg": { | |
171 | "path": "M130.8 784.6V280.8C130.8 207.7 188.5 150 261.5 150H769.2C842.3 150 900 207.7 900 280.8V569.2C900 642.3 842.3 700 769.2 700H273.1C269.2 700 261.5 703.8 257.7 707.7L165.4 800C153.8 815.4 130.8 803.8 130.8 784.6ZM261.5 211.5C223.1 211.5 188.5 242.3 188.5 284.6V696.2L234.6 650C238.5 646.2 242.3 642.3 250 642.3H769.2C807.7 642.3 842.3 611.5 842.3 569.2V280.8C842.3 242.3 811.5 207.7 769.2 207.7H261.5Z", |
|
171 | "path": "M130.8 784.6V280.8C130.8 207.7 188.5 150 261.5 150H769.2C842.3 150 900 207.7 900 280.8V569.2C900 642.3 842.3 700 769.2 700H273.1C269.2 700 261.5 703.8 257.7 707.7L165.4 800C153.8 815.4 130.8 803.8 130.8 784.6ZM261.5 211.5C223.1 211.5 188.5 242.3 188.5 284.6V696.2L234.6 650C238.5 646.2 242.3 642.3 250 642.3H769.2C807.7 642.3 842.3 611.5 842.3 569.2V280.8C842.3 242.3 811.5 207.7 769.2 207.7H261.5Z", | |
172 | "width": 1000 |
|
172 | "width": 1000 | |
173 | }, |
|
173 | }, | |
174 | "search": [ |
|
174 | "search": [ | |
175 | "comment" |
|
175 | "comment" | |
176 | ] |
|
176 | ] | |
177 | }, |
|
177 | }, | |
178 | { |
|
178 | { | |
179 | "uid": "9a44b838872ca62b8aba7bbbbf67cc59", |
|
179 | "uid": "9a44b838872ca62b8aba7bbbbf67cc59", | |
180 | "css": "feed", |
|
180 | "css": "feed", | |
181 | "code": 59400, |
|
181 | "code": 59400, | |
182 | "src": "custom_icons", |
|
182 | "src": "custom_icons", | |
183 | "selected": true, |
|
183 | "selected": true, | |
184 | "svg": { |
|
184 | "svg": { | |
185 | "path": "M842.3 111.5H188.5C153.8 111.5 130.8 138.5 130.8 169.2V826.9C130.8 857.7 157.7 884.6 188.5 884.6H846.2C876.9 884.6 903.8 857.7 903.8 826.9V169.2C900 138.5 873.1 111.5 842.3 111.5ZM307.7 776.9C269.2 776.9 234.6 746.2 234.6 703.8S265.4 630.8 307.7 630.8C346.2 630.8 380.8 661.5 380.8 703.8S346.2 776.9 307.7 776.9ZM553.8 788.5C519.2 788.5 496.2 761.5 496.2 730.8 496.2 619.2 407.7 530.8 296.2 530.8 265.4 530.8 230.8 503.8 230.8 473.1 230.8 438.5 253.8 411.5 284.6 411.5L296.2 411.5C473.1 411.5 615.4 553.8 615.4 730.8 611.5 761.5 584.6 788.5 553.8 788.5ZM750 788.5C715.4 788.5 692.3 761.5 692.3 730.8 692.3 511.5 511.5 330.8 292.3 330.8 261.5 330.8 226.9 303.8 226.9 269.2 226.9 234.6 250 207.7 280.8 207.7L292.3 207.7C576.9 207.7 811.5 438.5 811.5 726.9 811.5 761.5 784.6 788.5 750 788.5Z", |
|
185 | "path": "M842.3 111.5H188.5C153.8 111.5 130.8 138.5 130.8 169.2V826.9C130.8 857.7 157.7 884.6 188.5 884.6H846.2C876.9 884.6 903.8 857.7 903.8 826.9V169.2C900 138.5 873.1 111.5 842.3 111.5ZM307.7 776.9C269.2 776.9 234.6 746.2 234.6 703.8S265.4 630.8 307.7 630.8C346.2 630.8 380.8 661.5 380.8 703.8S346.2 776.9 307.7 776.9ZM553.8 788.5C519.2 788.5 496.2 761.5 496.2 730.8 496.2 619.2 407.7 530.8 296.2 530.8 265.4 530.8 230.8 503.8 230.8 473.1 230.8 438.5 253.8 411.5 284.6 411.5L296.2 411.5C473.1 411.5 615.4 553.8 615.4 730.8 611.5 761.5 584.6 788.5 553.8 788.5ZM750 788.5C715.4 788.5 692.3 761.5 692.3 730.8 692.3 511.5 511.5 330.8 292.3 330.8 261.5 330.8 226.9 303.8 226.9 269.2 226.9 234.6 250 207.7 280.8 207.7L292.3 207.7C576.9 207.7 811.5 438.5 811.5 726.9 811.5 761.5 784.6 788.5 750 788.5Z", | |
186 | "width": 1000 |
|
186 | "width": 1000 | |
187 | }, |
|
187 | }, | |
188 | "search": [ |
|
188 | "search": [ | |
189 | "feed" |
|
189 | "feed" | |
190 | ] |
|
190 | ] | |
191 | }, |
|
191 | }, | |
192 | { |
|
192 | { | |
193 | "uid": "e0118d6f20b76d77317977ae8dc849d7", |
|
193 | "uid": "e0118d6f20b76d77317977ae8dc849d7", | |
194 | "css": "left", |
|
194 | "css": "left", | |
195 | "code": 59401, |
|
195 | "code": 59401, | |
196 | "src": "custom_icons", |
|
196 | "src": "custom_icons", | |
197 | "selected": true, |
|
197 | "selected": true, | |
198 | "svg": { |
|
198 | "svg": { | |
199 | "path": "M692.3 76.9L761.5 146.2C773.1 157.7 773.1 173.1 761.5 184.6L473.1 473.1C461.5 484.6 461.5 500 473.1 511.5L769.2 807.7C780.8 819.2 780.8 834.6 769.2 846.2L700 915.4C688.5 926.9 673.1 926.9 661.5 915.4L257.7 511.5C246.2 500 246.2 484.6 257.7 473.1L653.8 76.9C665.4 65.4 680.8 65.4 692.3 76.9Z", |
|
199 | "path": "M692.3 76.9L761.5 146.2C773.1 157.7 773.1 173.1 761.5 184.6L473.1 473.1C461.5 484.6 461.5 500 473.1 511.5L769.2 807.7C780.8 819.2 780.8 834.6 769.2 846.2L700 915.4C688.5 926.9 673.1 926.9 661.5 915.4L257.7 511.5C246.2 500 246.2 484.6 257.7 473.1L653.8 76.9C665.4 65.4 680.8 65.4 692.3 76.9Z", | |
200 | "width": 1000 |
|
200 | "width": 1000 | |
201 | }, |
|
201 | }, | |
202 | "search": [ |
|
202 | "search": [ | |
203 | "left" |
|
203 | "left" | |
204 | ] |
|
204 | ] | |
205 | }, |
|
205 | }, | |
206 | { |
|
206 | { | |
207 | "uid": "3cea97f90c8f2b0a90833855434f58de", |
|
207 | "uid": "3cea97f90c8f2b0a90833855434f58de", | |
208 | "css": "right", |
|
208 | "css": "right", | |
209 | "code": 59402, |
|
209 | "code": 59402, | |
210 | "src": "custom_icons", |
|
210 | "src": "custom_icons", | |
211 | "selected": true, |
|
211 | "selected": true, | |
212 | "svg": { |
|
212 | "svg": { | |
213 | "path": "M338.5 915.4L265.4 846.2C253.8 834.6 253.8 819.2 265.4 807.7L553.8 519.2C565.4 507.7 565.4 492.3 553.8 480.8L257.7 184.6C246.2 173.1 246.2 157.7 257.7 146.2L326.9 76.9C338.5 65.4 353.8 65.4 365.4 76.9L769.2 480.8C780.8 492.3 780.8 507.7 769.2 519.2L376.9 915.4C365.4 926.9 346.2 926.9 338.5 915.4Z", |
|
213 | "path": "M338.5 915.4L265.4 846.2C253.8 834.6 253.8 819.2 265.4 807.7L553.8 519.2C565.4 507.7 565.4 492.3 553.8 480.8L257.7 184.6C246.2 173.1 246.2 157.7 257.7 146.2L326.9 76.9C338.5 65.4 353.8 65.4 365.4 76.9L769.2 480.8C780.8 492.3 780.8 507.7 769.2 519.2L376.9 915.4C365.4 926.9 346.2 926.9 338.5 915.4Z", | |
214 | "width": 1000 |
|
214 | "width": 1000 | |
215 | }, |
|
215 | }, | |
216 | "search": [ |
|
216 | "search": [ | |
217 | "right" |
|
217 | "right" | |
218 | ] |
|
218 | ] | |
219 | }, |
|
219 | }, | |
220 | { |
|
220 | { | |
221 | "uid": "820a44cb2e7fc1d0e28b1d2a8cd44cb9", |
|
221 | "uid": "820a44cb2e7fc1d0e28b1d2a8cd44cb9", | |
222 | "css": "git", |
|
222 | "css": "git", | |
223 | "code": 59434, |
|
223 | "code": 59434, | |
224 | "src": "custom_icons", |
|
224 | "src": "custom_icons", | |
225 | "selected": true, |
|
225 | "selected": true, | |
226 | "svg": { |
|
226 | "svg": { | |
227 | "path": "M928.8 6.3H71.3C35 6.3 6.3 36.3 6.3 71.3V927.5C6.3 963.8 36.3 992.5 71.3 992.5H927.5C963.8 992.5 992.5 962.5 992.5 927.5V71.3C993.8 36.3 963.7 6.3 928.8 6.3ZM200 555C203.8 566.3 208.8 575 213.8 582.5 220 590 227.5 596.3 236.3 600 245 603.8 255 606.3 265 606.3 273.8 606.3 281.3 605 288.8 603.8 296.3 602.5 302.5 600 308.8 597.5L315 546.3H287.5C283.8 546.3 280 545 277.5 542.5 276.3 541.3 275 537.5 275 535L280 496.2H385L368.7 627.5C361.2 633.8 352.5 638.7 343.7 642.5 335 646.3 326.3 650 316.2 652.5 306.2 655 297.5 657.5 286.3 658.8 276.3 660 265 661.3 252.5 661.3 232.5 661.3 215 657.5 198.7 650 182.5 642.5 168.7 632.5 157.5 620 146.2 607.5 137.5 592.5 131.2 575 125 557.5 121.2 538.8 121.2 518.8 121.2 501.3 123.7 485 127.5 468.8 131.2 452.5 137.5 438.8 145 425 152.5 411.3 161.2 400 171.2 388.8 181.2 377.5 192.5 368.8 205 361.3 217.5 353.8 231.3 347.5 246.3 343.8 261.3 340 276.3 337.5 292.5 337.5 306.3 337.5 317.5 338.8 328.7 341.3 340 343.8 350 347.5 357.5 351.3 366.2 355 373.8 360 380 365 386.3 370 392.5 376.3 397.5 381.3L377.5 412.5C373.8 417.5 368.8 420 363.8 421.3 358.8 422.5 353.7 421.3 347.5 417.5 342.5 413.8 337.5 411.3 333.7 408.8 328.7 406.3 325 403.8 320 402.5 315 401.3 310 400 305 398.8 300 397.5 293.7 397.5 287.5 397.5 273.7 397.5 261.2 400 250 406.3 238.7 412.5 228.7 420 221.2 431.3 212.5 441.2 206.2 455 202.5 468.8 197.5 483.8 196.2 500 196.2 517.5 195 531.3 197.5 543.8 200 555ZM536.3 657.5H465L503.7 342.5H575L536.3 657.5ZM878.8 398.8H798.8L766.3 657.5H696.3L727.5 398.7H647.5L655 342.5H886.3L878.8 398.8Z", |
|
227 | "path": "M928.8 6.3H71.3C35 6.3 6.3 36.3 6.3 71.3V927.5C6.3 963.8 36.3 992.5 71.3 992.5H927.5C963.8 992.5 992.5 962.5 992.5 927.5V71.3C993.8 36.3 963.7 6.3 928.8 6.3ZM200 555C203.8 566.3 208.8 575 213.8 582.5 220 590 227.5 596.3 236.3 600 245 603.8 255 606.3 265 606.3 273.8 606.3 281.3 605 288.8 603.8 296.3 602.5 302.5 600 308.8 597.5L315 546.3H287.5C283.8 546.3 280 545 277.5 542.5 276.3 541.3 275 537.5 275 535L280 496.2H385L368.7 627.5C361.2 633.8 352.5 638.7 343.7 642.5 335 646.3 326.3 650 316.2 652.5 306.2 655 297.5 657.5 286.3 658.8 276.3 660 265 661.3 252.5 661.3 232.5 661.3 215 657.5 198.7 650 182.5 642.5 168.7 632.5 157.5 620 146.2 607.5 137.5 592.5 131.2 575 125 557.5 121.2 538.8 121.2 518.8 121.2 501.3 123.7 485 127.5 468.8 131.2 452.5 137.5 438.8 145 425 152.5 411.3 161.2 400 171.2 388.8 181.2 377.5 192.5 368.8 205 361.3 217.5 353.8 231.3 347.5 246.3 343.8 261.3 340 276.3 337.5 292.5 337.5 306.3 337.5 317.5 338.8 328.7 341.3 340 343.8 350 347.5 357.5 351.3 366.2 355 373.8 360 380 365 386.3 370 392.5 376.3 397.5 381.3L377.5 412.5C373.8 417.5 368.8 420 363.8 421.3 358.8 422.5 353.7 421.3 347.5 417.5 342.5 413.8 337.5 411.3 333.7 408.8 328.7 406.3 325 403.8 320 402.5 315 401.3 310 400 305 398.8 300 397.5 293.7 397.5 287.5 397.5 273.7 397.5 261.2 400 250 406.3 238.7 412.5 228.7 420 221.2 431.3 212.5 441.2 206.2 455 202.5 468.8 197.5 483.8 196.2 500 196.2 517.5 195 531.3 197.5 543.8 200 555ZM536.3 657.5H465L503.7 342.5H575L536.3 657.5ZM878.8 398.8H798.8L766.3 657.5H696.3L727.5 398.7H647.5L655 342.5H886.3L878.8 398.8Z", | |
228 | "width": 1000 |
|
228 | "width": 1000 | |
229 | }, |
|
229 | }, | |
230 | "search": [ |
|
230 | "search": [ | |
231 | "git" |
|
231 | "git" | |
232 | ] |
|
232 | ] | |
233 | }, |
|
233 | }, | |
234 | { |
|
234 | { | |
235 | "uid": "ea152b092f5ad7d610de2c388553e188", |
|
235 | "uid": "ea152b092f5ad7d610de2c388553e188", | |
236 | "css": "hg", |
|
236 | "css": "hg", | |
237 | "code": 59437, |
|
237 | "code": 59437, | |
238 | "src": "custom_icons", |
|
238 | "src": "custom_icons", | |
239 | "selected": true, |
|
239 | "selected": true, | |
240 | "svg": { |
|
240 | "svg": { | |
241 | "path": "M926.6 9.2H73.9C37.9 9.2 8.7 38.5 8.7 74.4V927.1C8.7 963.1 38 992.3 73.9 992.3H926.6C962.6 992.3 991.8 963 991.8 927.1V74.4C991.8 38.4 962.6 9.2 926.6 9.2ZM444 657.4H373.5L389.8 524.1H276.7L260.4 657.4H189.9L228.6 344.2H299.1L282.8 476.4H395.9L412.2 344.2H482.7L444 657.4ZM621 555.8C624.3 566.8 629.1 576 635.3 583.5 641.5 591 648.8 596.8 657.5 600.8 666.1 604.8 675.6 606.8 686.1 606.8 694.7 606.8 702.4 606 709.3 604.5 716.2 603 722.8 600.8 729.1 598.1L735.1 546.9H708.4C704.1 546.9 700.8 545.8 698.6 543.6 696.4 541.4 695.5 538.5 695.9 534.9L700.6 496.2H805.1L788.8 627.1C780.8 633 772.5 638.1 763.9 642.3 755.3 646.6 746.3 650 736.9 652.7 727.5 655.5 717.6 657.5 707.2 658.7 696.8 660 685.7 660.6 674 660.6 654.6 660.6 637 657 621 650 605 642.9 591.3 633.1 579.9 620.7 568.5 608.2 559.7 593.5 553.5 576.4 547.2 559.3 544.1 540.9 544.1 520.9 544.1 503.6 546.1 487.1 550 471.3 554 455.6 559.6 441.1 566.9 427.8 574.2 414.5 583 402.4 593.2 391.7 603.4 381 614.9 371.8 627.4 364.2 639.9 356.6 653.5 350.7 667.9 346.6 682.4 342.6 697.6 340.5 713.5 340.5 726.8 340.5 738.9 341.7 749.7 344.2 760.5 346.6 770.2 349.9 778.8 353.9 787.4 358 795.1 362.8 801.8 368.1 808.6 373.5 814.5 379 819.7 384.8L797 413.2C793.3 418.2 788.8 421.3 783.7 422.3 778.6 423.4 773.2 422.2 767.8 418.8 762.8 415.4 758.1 412.4 753.6 409.9 749.2 407.4 744.7 405.3 740.1 403.7 735.5 402 730.7 400.8 725.6 400 720.5 399.2 714.8 398.8 708.5 398.8 694.9 398.8 682.4 401.7 671.1 407.5 659.8 413.3 650 421.5 641.9 432 633.7 442.5 627.4 455.2 622.9 469.9 618.4 484.7 616.1 501 616.1 518.7 615.9 532.5 617.6 544.8 621 555.8Z", |
|
241 | "path": "M926.6 9.2H73.9C37.9 9.2 8.7 38.5 8.7 74.4V927.1C8.7 963.1 38 992.3 73.9 992.3H926.6C962.6 992.3 991.8 963 991.8 927.1V74.4C991.8 38.4 962.6 9.2 926.6 9.2ZM444 657.4H373.5L389.8 524.1H276.7L260.4 657.4H189.9L228.6 344.2H299.1L282.8 476.4H395.9L412.2 344.2H482.7L444 657.4ZM621 555.8C624.3 566.8 629.1 576 635.3 583.5 641.5 591 648.8 596.8 657.5 600.8 666.1 604.8 675.6 606.8 686.1 606.8 694.7 606.8 702.4 606 709.3 604.5 716.2 603 722.8 600.8 729.1 598.1L735.1 546.9H708.4C704.1 546.9 700.8 545.8 698.6 543.6 696.4 541.4 695.5 538.5 695.9 534.9L700.6 496.2H805.1L788.8 627.1C780.8 633 772.5 638.1 763.9 642.3 755.3 646.6 746.3 650 736.9 652.7 727.5 655.5 717.6 657.5 707.2 658.7 696.8 660 685.7 660.6 674 660.6 654.6 660.6 637 657 621 650 605 642.9 591.3 633.1 579.9 620.7 568.5 608.2 559.7 593.5 553.5 576.4 547.2 559.3 544.1 540.9 544.1 520.9 544.1 503.6 546.1 487.1 550 471.3 554 455.6 559.6 441.1 566.9 427.8 574.2 414.5 583 402.4 593.2 391.7 603.4 381 614.9 371.8 627.4 364.2 639.9 356.6 653.5 350.7 667.9 346.6 682.4 342.6 697.6 340.5 713.5 340.5 726.8 340.5 738.9 341.7 749.7 344.2 760.5 346.6 770.2 349.9 778.8 353.9 787.4 358 795.1 362.8 801.8 368.1 808.6 373.5 814.5 379 819.7 384.8L797 413.2C793.3 418.2 788.8 421.3 783.7 422.3 778.6 423.4 773.2 422.2 767.8 418.8 762.8 415.4 758.1 412.4 753.6 409.9 749.2 407.4 744.7 405.3 740.1 403.7 735.5 402 730.7 400.8 725.6 400 720.5 399.2 714.8 398.8 708.5 398.8 694.9 398.8 682.4 401.7 671.1 407.5 659.8 413.3 650 421.5 641.9 432 633.7 442.5 627.4 455.2 622.9 469.9 618.4 484.7 616.1 501 616.1 518.7 615.9 532.5 617.6 544.8 621 555.8Z", | |
242 | "width": 1000 |
|
242 | "width": 1000 | |
243 | }, |
|
243 | }, | |
244 | "search": [ |
|
244 | "search": [ | |
245 | "hg" |
|
245 | "hg" | |
246 | ] |
|
246 | ] | |
247 | }, |
|
247 | }, | |
248 | { |
|
248 | { | |
249 | "uid": "4a842c0afb4c35dacd21da71f9fed3f1", |
|
249 | "uid": "4a842c0afb4c35dacd21da71f9fed3f1", | |
250 | "css": "comment-add", |
|
250 | "css": "comment-add", | |
251 | "code": 59439, |
|
251 | "code": 59439, | |
252 | "src": "custom_icons", |
|
252 | "src": "custom_icons", | |
253 | "selected": true, |
|
253 | "selected": true, | |
254 | "svg": { |
|
254 | "svg": { | |
255 | "path": "M952.4 591.9V274.9C952.4 268.4 952.3 261.9 951.8 255.4 950.7 242.9 948.2 230.6 944.1 218.8 936.5 196.6 923.8 176.2 907.3 159.6 890.8 143.1 870.6 130.4 848.5 122.7 836.6 118.6 824.2 115.9 811.6 114.8 805.3 114.2 798.9 114.2 792.6 114.2H216.9C204 114.2 191.3 114.1 178.5 116 166.3 117.9 154.4 121.2 143 125.9 121.4 134.8 101.9 148.7 86.4 166.2 70.8 183.8 59.3 205 53.1 227.7 49.7 240.1 47.9 252.8 47.6 265.6 47.3 278.7 47.6 291.8 47.6 304.9V861.8C47.6 870.7 52.5 878.6 60.5 882.5 67.3 885.9 75.6 886.2 82.4 882.7 84.8 881.5 86.9 879.7 88.8 877.8 91.1 875.5 93.4 873.2 95.6 871 100.3 866.3 105 861.6 109.7 856.9L137.9 828.6C147.3 819.2 156.6 809.9 166 800.5 175.2 791.3 184.6 782.1 193.7 772.7 197.7 768.5 201.9 764.4 207.6 762.7 210.4 761.9 213.2 761.8 216 761.8H782.7C795.5 761.8 808.3 762 821 760.1 844.8 756.5 867.7 747.3 887.3 733.3 906.2 719.9 922.1 702.1 933.2 681.8 945.1 660.2 951.5 636 952.2 611.4 952.5 604.9 952.4 598.4 952.4 591.9ZM883.4 285.1V602.5C883.4 608.8 883.4 615.1 882.5 621.4 881.7 627.5 880.2 633.6 878.1 639.4 874.4 649.4 868.8 658.7 861.7 666.7 846.6 683.6 825.1 693.8 802.5 695.1 796.3 695.4 790 695.2 783.8 695.2H207.8C201.2 695.2 194.7 695.2 188.1 695.2 185 695.2 181.8 695.2 178.8 696.1 176.2 696.9 173.9 698.2 171.8 699.9 169.6 701.7 167.6 703.7 165.6 705.7 163.3 708 161 710.3 158.7 712.6 154 717.3 149.4 721.9 144.7 726.6 135.3 736 126 745.3 116.6 754.7V270C116.6 257.8 118.8 245.7 123.7 234.6 128 224.9 134 215.9 141.5 208.4 157.5 192.4 179.6 183.3 202.2 183.3H791.5C797.6 183.3 803.7 183.3 809.7 184.2 832 187.4 852.4 199.4 866 217.4 872.8 226.4 877.7 236.7 880.5 247.6 882 253.5 882.9 259.6 883.1 265.8 883.6 272.2 883.4 278.7 883.4 285.1ZM668.8 402H538.2C534.4 402 526.7 394.3 526.7 390.5V263.7C526.7 256 519 248.3 515.2 248.3H465.3C457.6 248.3 449.9 256 449.9 259.8V390.4C449.9 394.2 442.2 401.9 438.4 401.9H311.7C304 401.9 296.3 409.6 296.3 413.4V463.3C296.3 471 304 478.7 307.8 478.7H434.5C442.2 478.7 449.9 486.4 449.9 490.2V617C449.9 624.7 457.6 632.4 461.4 632.4H511.3C519 632.4 526.7 624.7 526.7 620.9V494.1C526.7 486.4 534.4 478.7 538.2 478.7H665C672.7 478.7 680.4 471 680.4 467.2V417.3C680.3 409.6 672.6 402 668.8 402Z", |
|
255 | "path": "M952.4 591.9V274.9C952.4 268.4 952.3 261.9 951.8 255.4 950.7 242.9 948.2 230.6 944.1 218.8 936.5 196.6 923.8 176.2 907.3 159.6 890.8 143.1 870.6 130.4 848.5 122.7 836.6 118.6 824.2 115.9 811.6 114.8 805.3 114.2 798.9 114.2 792.6 114.2H216.9C204 114.2 191.3 114.1 178.5 116 166.3 117.9 154.4 121.2 143 125.9 121.4 134.8 101.9 148.7 86.4 166.2 70.8 183.8 59.3 205 53.1 227.7 49.7 240.1 47.9 252.8 47.6 265.6 47.3 278.7 47.6 291.8 47.6 304.9V861.8C47.6 870.7 52.5 878.6 60.5 882.5 67.3 885.9 75.6 886.2 82.4 882.7 84.8 881.5 86.9 879.7 88.8 877.8 91.1 875.5 93.4 873.2 95.6 871 100.3 866.3 105 861.6 109.7 856.9L137.9 828.6C147.3 819.2 156.6 809.9 166 800.5 175.2 791.3 184.6 782.1 193.7 772.7 197.7 768.5 201.9 764.4 207.6 762.7 210.4 761.9 213.2 761.8 216 761.8H782.7C795.5 761.8 808.3 762 821 760.1 844.8 756.5 867.7 747.3 887.3 733.3 906.2 719.9 922.1 702.1 933.2 681.8 945.1 660.2 951.5 636 952.2 611.4 952.5 604.9 952.4 598.4 952.4 591.9ZM883.4 285.1V602.5C883.4 608.8 883.4 615.1 882.5 621.4 881.7 627.5 880.2 633.6 878.1 639.4 874.4 649.4 868.8 658.7 861.7 666.7 846.6 683.6 825.1 693.8 802.5 695.1 796.3 695.4 790 695.2 783.8 695.2H207.8C201.2 695.2 194.7 695.2 188.1 695.2 185 695.2 181.8 695.2 178.8 696.1 176.2 696.9 173.9 698.2 171.8 699.9 169.6 701.7 167.6 703.7 165.6 705.7 163.3 708 161 710.3 158.7 712.6 154 717.3 149.4 721.9 144.7 726.6 135.3 736 126 745.3 116.6 754.7V270C116.6 257.8 118.8 245.7 123.7 234.6 128 224.9 134 215.9 141.5 208.4 157.5 192.4 179.6 183.3 202.2 183.3H791.5C797.6 183.3 803.7 183.3 809.7 184.2 832 187.4 852.4 199.4 866 217.4 872.8 226.4 877.7 236.7 880.5 247.6 882 253.5 882.9 259.6 883.1 265.8 883.6 272.2 883.4 278.7 883.4 285.1ZM668.8 402H538.2C534.4 402 526.7 394.3 526.7 390.5V263.7C526.7 256 519 248.3 515.2 248.3H465.3C457.6 248.3 449.9 256 449.9 259.8V390.4C449.9 394.2 442.2 401.9 438.4 401.9H311.7C304 401.9 296.3 409.6 296.3 413.4V463.3C296.3 471 304 478.7 307.8 478.7H434.5C442.2 478.7 449.9 486.4 449.9 490.2V617C449.9 624.7 457.6 632.4 461.4 632.4H511.3C519 632.4 526.7 624.7 526.7 620.9V494.1C526.7 486.4 534.4 478.7 538.2 478.7H665C672.7 478.7 680.4 471 680.4 467.2V417.3C680.3 409.6 672.6 402 668.8 402Z", | |
256 | "width": 1000 |
|
256 | "width": 1000 | |
257 | }, |
|
257 | }, | |
258 | "search": [ |
|
258 | "search": [ | |
259 | "comment-add" |
|
259 | "comment-add" | |
260 | ] |
|
260 | ] | |
261 | }, |
|
261 | }, | |
262 | { |
|
262 | { | |
263 | "uid": "2427f6b8d4379b9a0b41cf31780807cf", |
|
263 | "uid": "2427f6b8d4379b9a0b41cf31780807cf", | |
264 | "css": "comment-toggle", |
|
264 | "css": "comment-toggle", | |
265 | "code": 59440, |
|
265 | "code": 59440, | |
266 | "src": "custom_icons", |
|
266 | "src": "custom_icons", | |
267 | "selected": true, |
|
267 | "selected": true, | |
268 | "svg": { |
|
268 | "svg": { | |
269 | "path": "M797.6 114.2H202.4C116.6 114.2 47.6 183.3 47.6 269V861.9C47.6 881.4 69.5 891.1 84.1 881.8 86.4 880.7 88.6 879.1 90.6 877.1L199.8 768C202.1 765.7 204.7 764 207.7 762.8 209.7 762.2 211.9 761.9 214.3 761.9H797.6C883.4 761.9 952.4 692.8 952.4 607.1V269C952.4 183.2 883.3 114.2 797.6 114.2ZM118.3 752.6V269.5C118.3 222.5 156.4 184.3 203.5 184.3H680.1C593.7 267.9 175.5 695.4 171.4 699.5L118.3 752.6Z", |
|
269 | "path": "M797.6 114.2H202.4C116.6 114.2 47.6 183.3 47.6 269V861.9C47.6 881.4 69.5 891.1 84.1 881.8 86.4 880.7 88.6 879.1 90.6 877.1L199.8 768C202.1 765.7 204.7 764 207.7 762.8 209.7 762.2 211.9 761.9 214.3 761.9H797.6C883.4 761.9 952.4 692.8 952.4 607.1V269C952.4 183.2 883.3 114.2 797.6 114.2ZM118.3 752.6V269.5C118.3 222.5 156.4 184.3 203.5 184.3H680.1C593.7 267.9 175.5 695.4 171.4 699.5L118.3 752.6Z", | |
270 | "width": 1000 |
|
270 | "width": 1000 | |
271 | }, |
|
271 | }, | |
272 | "search": [ |
|
272 | "search": [ | |
273 | "comment-toggle" |
|
273 | "comment-toggle" | |
274 | ] |
|
274 | ] | |
275 | }, |
|
275 | }, | |
276 | { |
|
276 | { | |
277 | "uid": "6533bdc16ab201eb3f3b27ce989cab33", |
|
277 | "uid": "6533bdc16ab201eb3f3b27ce989cab33", | |
278 | "css": "folder-open-empty", |
|
278 | "css": "folder-open-empty", | |
279 | "code": 61717, |
|
279 | "code": 61717, | |
280 | "src": "fontawesome" |
|
280 | "src": "fontawesome" | |
281 | }, |
|
281 | }, | |
282 | { |
|
282 | { | |
283 | "uid": "d64b34fac1d9923b7d29d1550b628ecd", |
|
283 | "uid": "d64b34fac1d9923b7d29d1550b628ecd", | |
284 | "css": "lock", |
|
284 | "css": "lock", | |
285 | "code": 59398, |
|
285 | "code": 59398, | |
286 | "src": "custom_icons", |
|
286 | "src": "custom_icons", | |
287 | "selected": true, |
|
287 | "selected": true, | |
288 | "svg": { |
|
288 | "svg": { | |
289 | "path": "M812.5 424.1H758.9V317C758.9 308 758.9 303.6 758.9 299.1 758.9 294.6 758.9 290.2 758.9 285.7 758.9 281.3 758.9 281.3 758.9 276.8 758.9 267.9 758.9 263.4 754.5 254.5 754.5 250 754.5 250 750 245.5 750 236.6 745.5 232.1 741.1 223.2 741.1 223.2 741.1 218.8 736.6 218.8 732.1 209.8 727.7 200.9 723.2 192 723.2 192 718.8 187.5 718.8 187.5 723.2 178.6 718.8 169.6 714.3 165.2 714.3 160.7 709.8 160.7 709.8 156.3 705.4 151.8 700.9 142.9 696.4 138.4 696.4 138.4 692 133.9 692 133.9 683 125 678.6 120.5 669.6 111.6 669.6 111.6 665.2 111.6 665.2 107.1 660.7 102.7 651.8 98.2 642.9 93.8 638.4 93.8 638.4 89.3 633.9 89.3 629.5 84.8 620.5 80.4 616.1 80.4 611.6 80.4 611.6 75.9 607.1 75.9 598.2 71.4 589.3 67 580.4 67 580.4 67 580.4 67 580.4 67 571.4 62.5 562.5 62.5 549.1 58 544.6 58 544.6 58 540.2 58 535.7 58 535.7 58 531.3 58 531.3 58 526.8 58 526.8 58 526.8 58 522.3 58 522.3 58 522.3 58 522.3 58 522.3 58 522.3 58 522.3 58 522.3 58 517.9 58 513.4 58 513.4 58 513.4 58 508.9 58 508.9 58 504.5 58 504.5 58 500 58 500 58 500 58 500 58 495.5 58 491.1 58 491.1 58 491.1 58 491.1 58 491.1 58 491.1 58 491.1 58 491.1 58 491.1 58 486.6 58 486.6 58 486.6 58 482.1 58 482.1 58 477.7 58 477.7 58 473.2 58 468.8 58 468.8 58 464.3 58 455.4 58 442 62.5 433 67 433 67 433 67 433 67 410.7 67 397.3 71.4 388.4 75.9 383.9 75.9 383.9 80.4 379.5 80.4 375 84.8 370.5 84.8 361.6 89.3 361.6 93.8 357.1 93.8 357.1 93.8 348.2 98.2 339.3 102.7 334.8 111.6 334.8 111.6 330.4 111.6 330.4 116.1 321.4 120.5 317 125 308 133.9 308 133.9 303.6 138.4 303.6 138.4 299.1 142.9 294.6 151.8 290.2 156.3 290.2 160.7 285.7 160.7 285.7 165.2 276.8 169.6 272.3 178.6 272.3 183 267.9 183 267.9 187.5 267.9 187.5 263.4 196.4 258.9 205.4 254.5 214.3 254.5 214.3 254.5 218.8 250 218.8 250 232.1 245.5 236.6 245.5 245.5 245.5 250 245.5 250 241.1 254.5 241.1 263.4 236.6 267.9 236.6 276.8 236.6 281.3 236.6 281.3 236.6 285.7 236.6 290.2 236.6 294.6 236.6 299.1 236.6 303.6 236.6 312.5 236.6 317V424.1H187.5C169.6 424.1 160.7 437.5 160.7 450.9V915.2C160.7 933 174.1 942 187.5 942H808C825.9 942 834.8 928.6 834.8 915.2V450.9C839.3 433 825.9 424.1 812.5 424.1ZM361.6 317C361.6 250 410.7 196.4 473.2 183 473.2 183 473.2 183 477.7 183 486.6 183 491.1 183 500 183 500 183 504.5 183 504.5 183 504.5 183 504.5 183 504.5 183 513.4 183 517.9 183 526.8 183 526.8 183 526.8 183 531.3 183 593.8 196.4 642.9 250 642.9 317V424.1H361.6V317Z", |
|
289 | "path": "M812.5 424.1H758.9V317C758.9 308 758.9 303.6 758.9 299.1 758.9 294.6 758.9 290.2 758.9 285.7 758.9 281.3 758.9 281.3 758.9 276.8 758.9 267.9 758.9 263.4 754.5 254.5 754.5 250 754.5 250 750 245.5 750 236.6 745.5 232.1 741.1 223.2 741.1 223.2 741.1 218.8 736.6 218.8 732.1 209.8 727.7 200.9 723.2 192 723.2 192 718.8 187.5 718.8 187.5 723.2 178.6 718.8 169.6 714.3 165.2 714.3 160.7 709.8 160.7 709.8 156.3 705.4 151.8 700.9 142.9 696.4 138.4 696.4 138.4 692 133.9 692 133.9 683 125 678.6 120.5 669.6 111.6 669.6 111.6 665.2 111.6 665.2 107.1 660.7 102.7 651.8 98.2 642.9 93.8 638.4 93.8 638.4 89.3 633.9 89.3 629.5 84.8 620.5 80.4 616.1 80.4 611.6 80.4 611.6 75.9 607.1 75.9 598.2 71.4 589.3 67 580.4 67 580.4 67 580.4 67 580.4 67 571.4 62.5 562.5 62.5 549.1 58 544.6 58 544.6 58 540.2 58 535.7 58 535.7 58 531.3 58 531.3 58 526.8 58 526.8 58 526.8 58 522.3 58 522.3 58 522.3 58 522.3 58 522.3 58 522.3 58 522.3 58 522.3 58 517.9 58 513.4 58 513.4 58 513.4 58 508.9 58 508.9 58 504.5 58 504.5 58 500 58 500 58 500 58 500 58 495.5 58 491.1 58 491.1 58 491.1 58 491.1 58 491.1 58 491.1 58 491.1 58 491.1 58 491.1 58 486.6 58 486.6 58 486.6 58 482.1 58 482.1 58 477.7 58 477.7 58 473.2 58 468.8 58 468.8 58 464.3 58 455.4 58 442 62.5 433 67 433 67 433 67 433 67 410.7 67 397.3 71.4 388.4 75.9 383.9 75.9 383.9 80.4 379.5 80.4 375 84.8 370.5 84.8 361.6 89.3 361.6 93.8 357.1 93.8 357.1 93.8 348.2 98.2 339.3 102.7 334.8 111.6 334.8 111.6 330.4 111.6 330.4 116.1 321.4 120.5 317 125 308 133.9 308 133.9 303.6 138.4 303.6 138.4 299.1 142.9 294.6 151.8 290.2 156.3 290.2 160.7 285.7 160.7 285.7 165.2 276.8 169.6 272.3 178.6 272.3 183 267.9 183 267.9 187.5 267.9 187.5 263.4 196.4 258.9 205.4 254.5 214.3 254.5 214.3 254.5 218.8 250 218.8 250 232.1 245.5 236.6 245.5 245.5 245.5 250 245.5 250 241.1 254.5 241.1 263.4 236.6 267.9 236.6 276.8 236.6 281.3 236.6 281.3 236.6 285.7 236.6 290.2 236.6 294.6 236.6 299.1 236.6 303.6 236.6 312.5 236.6 317V424.1H187.5C169.6 424.1 160.7 437.5 160.7 450.9V915.2C160.7 933 174.1 942 187.5 942H808C825.9 942 834.8 928.6 834.8 915.2V450.9C839.3 433 825.9 424.1 812.5 424.1ZM361.6 317C361.6 250 410.7 196.4 473.2 183 473.2 183 473.2 183 477.7 183 486.6 183 491.1 183 500 183 500 183 504.5 183 504.5 183 504.5 183 504.5 183 504.5 183 513.4 183 517.9 183 526.8 183 526.8 183 526.8 183 531.3 183 593.8 196.4 642.9 250 642.9 317V424.1H361.6V317Z", | |
290 | "width": 1000 |
|
290 | "width": 1000 | |
291 | }, |
|
291 | }, | |
292 | "search": [ |
|
292 | "search": [ | |
293 | "lock" |
|
293 | "lock" | |
294 | ] |
|
294 | ] | |
295 | }, |
|
295 | }, | |
296 | { |
|
296 | { | |
297 | "uid": "d95fde5e3bfeb3302efc47c90538a1c5", |
|
297 | "uid": "d95fde5e3bfeb3302efc47c90538a1c5", | |
298 | "css": "more", |
|
298 | "css": "more", | |
299 | "code": 59410, |
|
299 | "code": 59410, | |
300 | "src": "custom_icons", |
|
300 | "src": "custom_icons", | |
301 | "selected": true, |
|
301 | "selected": true, | |
302 | "svg": { |
|
302 | "svg": { | |
303 | "path": "M546.2 415.4H446.2C430.8 415.4 419.2 426.9 419.2 442.3V542.3C419.2 557.7 430.8 569.2 446.2 569.2H546.2C561.5 569.2 573.1 557.7 573.1 542.3V442.3C573.1 426.9 561.5 415.4 546.2 415.4ZM546.2 107.7H446.2C430.8 107.7 419.2 119.2 419.2 134.6V234.6C419.2 250 430.8 261.5 446.2 261.5H546.2C561.5 261.5 573.1 250 573.1 234.6V134.6C573.1 119.2 561.5 107.7 546.2 107.7ZM546.2 723.1H446.2C430.8 723.1 419.2 734.6 419.2 750V850C419.2 865.4 430.8 876.9 446.2 876.9H546.2C561.5 876.9 573.1 865.4 573.1 850V750C573.1 734.6 561.5 723.1 546.2 723.1Z", |
|
303 | "path": "M546.2 415.4H446.2C430.8 415.4 419.2 426.9 419.2 442.3V542.3C419.2 557.7 430.8 569.2 446.2 569.2H546.2C561.5 569.2 573.1 557.7 573.1 542.3V442.3C573.1 426.9 561.5 415.4 546.2 415.4ZM546.2 107.7H446.2C430.8 107.7 419.2 119.2 419.2 134.6V234.6C419.2 250 430.8 261.5 446.2 261.5H546.2C561.5 261.5 573.1 250 573.1 234.6V134.6C573.1 119.2 561.5 107.7 546.2 107.7ZM546.2 723.1H446.2C430.8 723.1 419.2 734.6 419.2 750V850C419.2 865.4 430.8 876.9 446.2 876.9H546.2C561.5 876.9 573.1 865.4 573.1 850V750C573.1 734.6 561.5 723.1 546.2 723.1Z", | |
304 | "width": 1000 |
|
304 | "width": 1000 | |
305 | }, |
|
305 | }, | |
306 | "search": [ |
|
306 | "search": [ | |
307 | "more" |
|
307 | "more" | |
308 | ] |
|
308 | ] | |
309 | }, |
|
309 | }, | |
310 | { |
|
310 | { | |
311 | "uid": "34e7772638ae3ca1bfb0a4eca2c39221", |
|
311 | "uid": "34e7772638ae3ca1bfb0a4eca2c39221", | |
312 | "css": "merge", |
|
312 | "css": "merge", | |
313 | "code": 59443, |
|
313 | "code": 59443, | |
314 | "src": "custom_icons", |
|
314 | "src": "custom_icons", | |
315 | "selected": true, |
|
315 | "selected": true, | |
316 | "svg": { |
|
316 | "svg": { | |
317 | "path": "M199.8 740.5C199.8 812.2 258.1 870.5 329.8 870.5S459.8 812.2 459.8 740.5C459.8 694.6 435.8 654.5 399.8 631.3 418.4 491.7 533.4 451.9 602.4 440.6V742.4C563.7 765 537.4 806.4 537.4 854.4 537.4 926.1 595.7 984.4 667.4 984.4S797.4 926.1 797.4 854.4C797.4 806.5 771.1 765 732.4 742.4V254.9C771.1 232.3 797.4 190.9 797.4 142.9 797.4 71.2 739.1 12.9 667.4 12.9S537.4 71.2 537.4 142.9C537.4 190.8 563.7 232.3 602.4 254.9V309.9C542.2 317.8 440.4 342.3 364.2 417.8 309.5 472.1 277.9 542.1 269.6 625.9 228.4 647.7 199.8 690.6 199.8 740.5ZM667.6 897.8C643.7 897.8 624.3 878.3 624.3 854.5S643.8 811.2 667.6 811.2C691.5 811.2 710.9 830.7 710.9 854.5S691.5 897.8 667.6 897.8ZM667.6 99.6C691.5 99.6 710.9 119 710.9 142.9S691.4 186.2 667.6 186.2C643.7 186.2 624.3 166.8 624.3 142.9S643.7 99.6 667.6 99.6ZM329.9 783.9C306 783.9 286.6 764.4 286.6 740.6S306.1 697.3 329.9 697.3C353.8 697.3 373.2 716.7 373.2 740.6S353.8 783.9 329.9 783.9Z", |
|
317 | "path": "M199.8 740.5C199.8 812.2 258.1 870.5 329.8 870.5S459.8 812.2 459.8 740.5C459.8 694.6 435.8 654.5 399.8 631.3 418.4 491.7 533.4 451.9 602.4 440.6V742.4C563.7 765 537.4 806.4 537.4 854.4 537.4 926.1 595.7 984.4 667.4 984.4S797.4 926.1 797.4 854.4C797.4 806.5 771.1 765 732.4 742.4V254.9C771.1 232.3 797.4 190.9 797.4 142.9 797.4 71.2 739.1 12.9 667.4 12.9S537.4 71.2 537.4 142.9C537.4 190.8 563.7 232.3 602.4 254.9V309.9C542.2 317.8 440.4 342.3 364.2 417.8 309.5 472.1 277.9 542.1 269.6 625.9 228.4 647.7 199.8 690.6 199.8 740.5ZM667.6 897.8C643.7 897.8 624.3 878.3 624.3 854.5S643.8 811.2 667.6 811.2C691.5 811.2 710.9 830.7 710.9 854.5S691.5 897.8 667.6 897.8ZM667.6 99.6C691.5 99.6 710.9 119 710.9 142.9S691.4 186.2 667.6 186.2C643.7 186.2 624.3 166.8 624.3 142.9S643.7 99.6 667.6 99.6ZM329.9 783.9C306 783.9 286.6 764.4 286.6 740.6S306.1 697.3 329.9 697.3C353.8 697.3 373.2 716.7 373.2 740.6S353.8 783.9 329.9 783.9Z", | |
318 | "width": 1000 |
|
318 | "width": 1000 | |
319 | }, |
|
319 | }, | |
320 | "search": [ |
|
320 | "search": [ | |
321 | "merge" |
|
321 | "merge" | |
322 | ] |
|
322 | ] | |
323 | }, |
|
323 | }, | |
324 | { |
|
324 | { | |
325 | "uid": "c95735c17a10af81448c7fed98a04546", |
|
325 | "uid": "c95735c17a10af81448c7fed98a04546", | |
326 | "css": "folder-open", |
|
326 | "css": "folder-open", | |
327 | "code": 59405, |
|
327 | "code": 59405, | |
328 | "src": "fontawesome" |
|
328 | "src": "fontawesome" | |
329 | }, |
|
329 | }, | |
330 | { |
|
330 | { | |
331 | "uid": "865ac833a8efcfc24a6f573705ce56b1", |
|
331 | "uid": "865ac833a8efcfc24a6f573705ce56b1", | |
332 | "css": "svn", |
|
332 | "css": "svn", | |
333 | "code": 59438, |
|
333 | "code": 59438, | |
334 | "src": "custom_icons", |
|
334 | "src": "custom_icons", | |
335 | "selected": true, |
|
335 | "selected": true, | |
336 | "svg": { |
|
336 | "svg": { | |
337 | "path": "M933.4 9.2H80.7C44.7 9.2 15.5 38.5 15.5 74.4V927.1C15.5 963.1 44.8 992.3 80.7 992.3H933.4C969.4 992.3 998.6 963 998.6 927.1V74.4C998.7 38.4 969.4 9.2 933.4 9.2ZM167.9 447.1C171.1 451 175.4 454.4 180.8 457.3 186.2 460.2 192.2 463 199 465.4 205.7 467.8 212.7 470.5 219.8 473.3 226.9 476.2 233.9 479.5 240.7 483.2 247.5 486.9 253.6 491.6 259 497.2 264.4 502.8 268.7 509.6 271.9 517.4 275.1 525.3 276.8 534.8 276.8 545.8 276.8 561.6 274.1 576.4 268.6 590.3 263.1 604.3 255.3 616.4 245.1 626.8 234.9 637.2 222.5 645.4 208 651.5 193.4 657.6 177 660.7 158.8 660.7 149.7 660.7 140.7 659.7 131.5 657.7S113.6 652.8 105.2 649.2C96.8 645.5 89 641.2 81.8 636.2 74.6 631.2 68.5 625.6 63.5 619.5L88.5 586.7C90.5 584.3 93 582.3 95.9 580.7 98.8 579.1 101.8 578.3 104.8 578.3 108.8 578.3 112.7 579.7 116.5 582.5 120.3 585.3 124.5 588.4 129.1 591.8 133.7 595.2 139 598.2 145.1 601.1 151.2 603.9 158.7 605.3 167.6 605.3 180.7 605.3 190.7 601.7 197.8 594.7 204.9 587.6 208.4 577.1 208.4 563.2 208.4 556.8 206.8 551.4 203.5 547.3 200.3 543.1 196 539.7 190.8 536.8 185.6 533.9 179.6 531.4 172.8 529.1 166 526.9 159.2 524.5 152.1 521.9 145.1 519.3 138.2 516.2 131.4 512.8 124.6 509.3 118.6 504.7 113.4 499 108.2 493.3 103.9 486.4 100.7 478.2 97.5 469.9 95.9 459.8 95.9 447.7 95.9 433.8 98.5 420.4 103.7 407.6 108.9 394.8 116.4 383.4 126.2 373.5 136 363.6 147.8 355.7 161.7 349.8 175.6 343.9 191.3 341 208.6 341 217.5 341 226.1 341.9 234.5 343.8S250.8 348.2 258.1 351.6C265.4 354.9 272.1 358.8 278.1 363.3 284.1 367.8 289.2 372.8 293.4 378.1L272.3 407C269.7 410.3 267.2 412.8 264.8 414.4 262.4 416 259.4 416.8 256 416.8 252.7 416.8 249.4 415.8 246.1 413.6 242.8 411.4 239.1 409.1 235 406.5 230.9 403.9 226.2 401.6 220.9 399.4 215.6 397.2 209.3 396.2 202.2 396.2 195.6 396.2 189.8 397.1 184.9 399 179.9 400.9 175.8 403.4 172.5 406.8 169.2 410.1 166.7 414 165.1 418.4 163.5 422.9 162.6 427.8 162.6 433 163.1 438.4 164.7 443.2 167.9 447.1ZM480 657.4H416.3L339.2 343.7H395.6C401.6 343.7 406.4 345.1 410 348 413.6 350.8 415.8 354.5 416.7 359L449.4 531.8C451.3 538.7 453 546.3 454.6 554.8 456.2 563.2 457.5 571.9 458.7 581 461.7 572 464.9 563.2 468.4 554.8 471.8 546.4 475.4 538.8 479.2 531.8L552.3 359C553.2 357.1 554.4 355.2 556.1 353.4 557.7 351.5 559.6 349.8 561.8 348.4 564 347 566.4 345.8 569 345 571.6 344.2 574.4 343.7 577.3 343.7H634.1L480 657.4ZM902.6 657.4H866C860.5 657.4 856.1 656.5 852.8 654.7 849.4 652.9 846.2 649.9 843.2 645.8L733.6 452.2C733.3 456.2 733 460.1 732.7 463.8 732.3 467.6 732 471.1 731.7 474.4L710.2 657.4H648.2L686.9 343.7H723.9C726.9 343.7 729.5 343.8 731.6 344 733.7 344.2 735.5 344.7 737.1 345.5 738.7 346.3 740.1 347.4 741.4 348.8S744.1 352.1 745.5 354.4L855.5 548.1C855.8 543.1 856.2 538.3 856.7 533.7 857.2 529.2 857.8 524.8 858.3 520.8L879.4 343.6H941.4L902.6 657.4Z", |
|
337 | "path": "M933.4 9.2H80.7C44.7 9.2 15.5 38.5 15.5 74.4V927.1C15.5 963.1 44.8 992.3 80.7 992.3H933.4C969.4 992.3 998.6 963 998.6 927.1V74.4C998.7 38.4 969.4 9.2 933.4 9.2ZM167.9 447.1C171.1 451 175.4 454.4 180.8 457.3 186.2 460.2 192.2 463 199 465.4 205.7 467.8 212.7 470.5 219.8 473.3 226.9 476.2 233.9 479.5 240.7 483.2 247.5 486.9 253.6 491.6 259 497.2 264.4 502.8 268.7 509.6 271.9 517.4 275.1 525.3 276.8 534.8 276.8 545.8 276.8 561.6 274.1 576.4 268.6 590.3 263.1 604.3 255.3 616.4 245.1 626.8 234.9 637.2 222.5 645.4 208 651.5 193.4 657.6 177 660.7 158.8 660.7 149.7 660.7 140.7 659.7 131.5 657.7S113.6 652.8 105.2 649.2C96.8 645.5 89 641.2 81.8 636.2 74.6 631.2 68.5 625.6 63.5 619.5L88.5 586.7C90.5 584.3 93 582.3 95.9 580.7 98.8 579.1 101.8 578.3 104.8 578.3 108.8 578.3 112.7 579.7 116.5 582.5 120.3 585.3 124.5 588.4 129.1 591.8 133.7 595.2 139 598.2 145.1 601.1 151.2 603.9 158.7 605.3 167.6 605.3 180.7 605.3 190.7 601.7 197.8 594.7 204.9 587.6 208.4 577.1 208.4 563.2 208.4 556.8 206.8 551.4 203.5 547.3 200.3 543.1 196 539.7 190.8 536.8 185.6 533.9 179.6 531.4 172.8 529.1 166 526.9 159.2 524.5 152.1 521.9 145.1 519.3 138.2 516.2 131.4 512.8 124.6 509.3 118.6 504.7 113.4 499 108.2 493.3 103.9 486.4 100.7 478.2 97.5 469.9 95.9 459.8 95.9 447.7 95.9 433.8 98.5 420.4 103.7 407.6 108.9 394.8 116.4 383.4 126.2 373.5 136 363.6 147.8 355.7 161.7 349.8 175.6 343.9 191.3 341 208.6 341 217.5 341 226.1 341.9 234.5 343.8S250.8 348.2 258.1 351.6C265.4 354.9 272.1 358.8 278.1 363.3 284.1 367.8 289.2 372.8 293.4 378.1L272.3 407C269.7 410.3 267.2 412.8 264.8 414.4 262.4 416 259.4 416.8 256 416.8 252.7 416.8 249.4 415.8 246.1 413.6 242.8 411.4 239.1 409.1 235 406.5 230.9 403.9 226.2 401.6 220.9 399.4 215.6 397.2 209.3 396.2 202.2 396.2 195.6 396.2 189.8 397.1 184.9 399 179.9 400.9 175.8 403.4 172.5 406.8 169.2 410.1 166.7 414 165.1 418.4 163.5 422.9 162.6 427.8 162.6 433 163.1 438.4 164.7 443.2 167.9 447.1ZM480 657.4H416.3L339.2 343.7H395.6C401.6 343.7 406.4 345.1 410 348 413.6 350.8 415.8 354.5 416.7 359L449.4 531.8C451.3 538.7 453 546.3 454.6 554.8 456.2 563.2 457.5 571.9 458.7 581 461.7 572 464.9 563.2 468.4 554.8 471.8 546.4 475.4 538.8 479.2 531.8L552.3 359C553.2 357.1 554.4 355.2 556.1 353.4 557.7 351.5 559.6 349.8 561.8 348.4 564 347 566.4 345.8 569 345 571.6 344.2 574.4 343.7 577.3 343.7H634.1L480 657.4ZM902.6 657.4H866C860.5 657.4 856.1 656.5 852.8 654.7 849.4 652.9 846.2 649.9 843.2 645.8L733.6 452.2C733.3 456.2 733 460.1 732.7 463.8 732.3 467.6 732 471.1 731.7 474.4L710.2 657.4H648.2L686.9 343.7H723.9C726.9 343.7 729.5 343.8 731.6 344 733.7 344.2 735.5 344.7 737.1 345.5 738.7 346.3 740.1 347.4 741.4 348.8S744.1 352.1 745.5 354.4L855.5 548.1C855.8 543.1 856.2 538.3 856.7 533.7 857.2 529.2 857.8 524.8 858.3 520.8L879.4 343.6H941.4L902.6 657.4Z", | |
338 | "width": 1000 |
|
338 | "width": 1000 | |
339 | }, |
|
339 | }, | |
340 | "search": [ |
|
340 | "search": [ | |
341 | "svn" |
|
341 | "svn" | |
342 | ] |
|
342 | ] | |
343 | }, |
|
343 | }, | |
344 | { |
|
344 | { | |
345 | "uid": "bbfb51903f40597f0b70fd75bc7b5cac", |
|
345 | "uid": "bbfb51903f40597f0b70fd75bc7b5cac", | |
346 | "css": "trash", |
|
346 | "css": "trash", | |
347 | "code": 61944, |
|
347 | "code": 61944, | |
348 | "src": "fontawesome" |
|
348 | "src": "fontawesome" | |
349 | }, |
|
349 | }, | |
350 | { |
|
350 | { | |
351 | "uid": "f48ae54adfb27d8ada53d0fd9e34ee10", |
|
351 | "uid": "f48ae54adfb27d8ada53d0fd9e34ee10", | |
352 | "css": "trash-empty", |
|
352 | "css": "trash-empty", | |
353 | "code": 59406, |
|
353 | "code": 59406, | |
354 | "src": "fontawesome" |
|
354 | "src": "fontawesome" | |
355 | }, |
|
355 | }, | |
356 | { |
|
356 | { | |
357 | "uid": "f8aa663c489bcbd6e68ec8147dca841e", |
|
357 | "uid": "f8aa663c489bcbd6e68ec8147dca841e", | |
358 | "css": "folder", |
|
358 | "css": "folder", | |
359 | "code": 59404, |
|
359 | "code": 59404, | |
360 | "src": "fontawesome" |
|
360 | "src": "fontawesome" | |
361 | }, |
|
361 | }, | |
362 | { |
|
362 | { | |
363 | "uid": "c8585e1e5b0467f28b70bce765d5840c", |
|
363 | "uid": "c8585e1e5b0467f28b70bce765d5840c", | |
364 | "css": "docs", |
|
364 | "css": "docs", | |
365 | "code": 61637, |
|
365 | "code": 61637, | |
366 | "src": "fontawesome" |
|
366 | "src": "fontawesome" | |
367 | }, |
|
367 | }, | |
368 | { |
|
368 | { | |
369 | "uid": "1b5a5d7b7e3c71437f5a26befdd045ed", |
|
369 | "uid": "1b5a5d7b7e3c71437f5a26befdd045ed", | |
370 | "css": "doc", |
|
370 | "css": "doc", | |
371 | "code": 59414, |
|
371 | "code": 59414, | |
372 | "src": "fontawesome" |
|
372 | "src": "fontawesome" | |
373 | }, |
|
373 | }, | |
374 | { |
|
374 | { | |
375 | "uid": "5408be43f7c42bccee419c6be53fdef5", |
|
375 | "uid": "5408be43f7c42bccee419c6be53fdef5", | |
376 | "css": "doc-text", |
|
376 | "css": "doc-text", | |
377 | "code": 61686, |
|
377 | "code": 61686, | |
378 | "src": "fontawesome" |
|
378 | "src": "fontawesome" | |
379 | }, |
|
379 | }, | |
380 | { |
|
380 | { | |
381 | "uid": "b091a8bd0fdade174951f17d936f51e4", |
|
381 | "uid": "b091a8bd0fdade174951f17d936f51e4", | |
382 | "css": "folder-empty", |
|
382 | "css": "folder-empty", | |
383 | "code": 61716, |
|
383 | "code": 61716, | |
384 | "src": "fontawesome" |
|
384 | "src": "fontawesome" | |
385 | }, |
|
385 | }, | |
386 | { |
|
386 | { | |
387 | "uid": "c08a1cde48d96cba21d8c05fa7d7feb1", |
|
387 | "uid": "c08a1cde48d96cba21d8c05fa7d7feb1", | |
388 | "css": "doc-text-inv", |
|
388 | "css": "doc-text-inv", | |
389 | "code": 61788, |
|
389 | "code": 61788, | |
390 | "src": "fontawesome" |
|
390 | "src": "fontawesome" | |
391 | }, |
|
391 | }, | |
392 | { |
|
392 | { | |
393 | "uid": "178053298e3e5b03551d754d4b9acd8b", |
|
393 | "uid": "178053298e3e5b03551d754d4b9acd8b", | |
394 | "css": "doc-inv", |
|
394 | "css": "doc-inv", | |
395 | "code": 61787, |
|
395 | "code": 61787, | |
396 | "src": "fontawesome" |
|
396 | "src": "fontawesome" | |
397 | }, |
|
397 | }, | |
398 | { |
|
398 | { | |
399 | "uid": "e99461abfef3923546da8d745372c995", |
|
399 | "uid": "e99461abfef3923546da8d745372c995", | |
400 | "css": "cog", |
|
400 | "css": "cog", | |
401 | "code": 59415, |
|
401 | "code": 59415, | |
402 | "src": "fontawesome" |
|
402 | "src": "fontawesome" | |
403 | }, |
|
403 | }, | |
404 | { |
|
404 | { | |
405 | "uid": "98687378abd1faf8f6af97c254eb6cd6", |
|
405 | "uid": "98687378abd1faf8f6af97c254eb6cd6", | |
406 | "css": "cog-alt", |
|
406 | "css": "cog-alt", | |
407 | "code": 59416, |
|
407 | "code": 59416, | |
408 | "src": "fontawesome" |
|
408 | "src": "fontawesome" | |
409 | }, |
|
409 | }, | |
410 | { |
|
410 | { | |
411 | "uid": "21b42d3c3e6be44c3cc3d73042faa216", |
|
411 | "uid": "21b42d3c3e6be44c3cc3d73042faa216", | |
412 | "css": "sliders", |
|
412 | "css": "sliders", | |
413 | "code": 61918, |
|
413 | "code": 61918, | |
414 | "src": "fontawesome" |
|
414 | "src": "fontawesome" | |
415 | }, |
|
415 | }, | |
416 | { |
|
416 | { | |
417 | "uid": "559647a6f430b3aeadbecd67194451dd", |
|
417 | "uid": "559647a6f430b3aeadbecd67194451dd", | |
418 | "css": "menu", |
|
418 | "css": "menu", | |
419 | "code": 61641, |
|
419 | "code": 61641, | |
420 | "src": "fontawesome" |
|
420 | "src": "fontawesome" | |
421 | }, |
|
421 | }, | |
422 | { |
|
422 | { | |
423 | "uid": "c5fd349cbd3d23e4ade333789c29c729", |
|
423 | "uid": "c5fd349cbd3d23e4ade333789c29c729", | |
424 | "css": "eye", |
|
424 | "css": "eye", | |
425 | "code": 59417, |
|
425 | "code": 59417, | |
426 | "src": "fontawesome" |
|
426 | "src": "fontawesome" | |
427 | }, |
|
427 | }, | |
428 | { |
|
428 | { | |
429 | "uid": "7fd683b2c518ceb9e5fa6757f2276faa", |
|
429 | "uid": "7fd683b2c518ceb9e5fa6757f2276faa", | |
430 | "css": "eye-off", |
|
430 | "css": "eye-off", | |
431 | "code": 59418, |
|
431 | "code": 59418, | |
432 | "src": "fontawesome" |
|
432 | "src": "fontawesome" | |
433 | }, |
|
433 | }, | |
434 | { |
|
434 | { | |
435 | "uid": "2e2dba0307a502a8507c1729084c7ab5", |
|
435 | "uid": "2e2dba0307a502a8507c1729084c7ab5", | |
436 | "css": "cancel-circled2", |
|
436 | "css": "cancel-circled2", | |
437 | "code": 59419, |
|
437 | "code": 59419, | |
438 | "src": "fontawesome" |
|
438 | "src": "fontawesome" | |
439 | }, |
|
439 | }, | |
440 | { |
|
440 | { | |
441 | "uid": "0f4cae16f34ae243a6144c18a003f2d8", |
|
441 | "uid": "0f4cae16f34ae243a6144c18a003f2d8", | |
442 | "css": "cancel-circled", |
|
442 | "css": "cancel-circled", | |
443 | "code": 59420, |
|
443 | "code": 59420, | |
444 | "src": "fontawesome" |
|
444 | "src": "fontawesome" | |
445 | }, |
|
445 | }, | |
446 | { |
|
446 | { | |
447 | "uid": "26613a2e6bc41593c54bead46f8c8ee3", |
|
447 | "uid": "26613a2e6bc41593c54bead46f8c8ee3", | |
448 | "css": "file-code", |
|
448 | "css": "file-code", | |
449 | "code": 61897, |
|
449 | "code": 61897, | |
450 | "src": "fontawesome" |
|
450 | "src": "fontawesome" | |
451 | }, |
|
451 | }, | |
452 | { |
|
452 | { | |
453 | "uid": "5211af474d3a9848f67f945e2ccaf143", |
|
453 | "uid": "5211af474d3a9848f67f945e2ccaf143", | |
454 | "css": "remove", |
|
454 | "css": "remove", | |
455 | "code": 59408, |
|
455 | "code": 59408, | |
456 | "src": "fontawesome" |
|
456 | "src": "fontawesome" | |
457 | }, |
|
457 | }, | |
458 | { |
|
458 | { | |
459 | "uid": "44e04715aecbca7f266a17d5a7863c68", |
|
459 | "uid": "44e04715aecbca7f266a17d5a7863c68", | |
460 | "css": "plus", |
|
460 | "css": "plus", | |
461 | "code": 59421, |
|
461 | "code": 59421, | |
462 | "src": "fontawesome" |
|
462 | "src": "fontawesome" | |
463 | }, |
|
463 | }, | |
464 | { |
|
464 | { | |
465 | "uid": "4ba33d2607902cf690dd45df09774cb0", |
|
465 | "uid": "4ba33d2607902cf690dd45df09774cb0", | |
466 | "css": "plus-circled", |
|
466 | "css": "plus-circled", | |
467 | "code": 59422, |
|
467 | "code": 59422, | |
468 | "src": "fontawesome" |
|
468 | "src": "fontawesome" | |
469 | }, |
|
469 | }, | |
470 | { |
|
470 | { | |
471 | "uid": "1a5cfa186647e8c929c2b17b9fc4dac1", |
|
471 | "uid": "1a5cfa186647e8c929c2b17b9fc4dac1", | |
472 | "css": "plus-squared", |
|
472 | "css": "plus-squared", | |
473 | "code": 61694, |
|
473 | "code": 61694, | |
474 | "src": "fontawesome" |
|
474 | "src": "fontawesome" | |
475 | }, |
|
475 | }, | |
476 | { |
|
476 | { | |
477 | "uid": "2d3be3e856fc1e4ac067590d2ded1b07", |
|
477 | "uid": "2d3be3e856fc1e4ac067590d2ded1b07", | |
478 | "css": "plus-squared-alt", |
|
478 | "css": "plus-squared-alt", | |
479 | "code": 61846, |
|
479 | "code": 61846, | |
480 | "src": "fontawesome" |
|
480 | "src": "fontawesome" | |
481 | }, |
|
481 | }, | |
482 | { |
|
482 | { | |
483 | "uid": "eeadb020bb75d089b25d8424aabe19e0", |
|
483 | "uid": "eeadb020bb75d089b25d8424aabe19e0", | |
484 | "css": "minus-circled", |
|
484 | "css": "minus-circled", | |
485 | "code": 59423, |
|
485 | "code": 59423, | |
486 | "src": "fontawesome" |
|
486 | "src": "fontawesome" | |
487 | }, |
|
487 | }, | |
488 | { |
|
488 | { | |
489 | "uid": "f755a58fb985eeb70bd47d9b31892a34", |
|
489 | "uid": "f755a58fb985eeb70bd47d9b31892a34", | |
490 | "css": "minus-squared", |
|
490 | "css": "minus-squared", | |
491 | "code": 61766, |
|
491 | "code": 61766, | |
492 | "src": "fontawesome" |
|
492 | "src": "fontawesome" | |
493 | }, |
|
493 | }, | |
494 | { |
|
494 | { | |
495 | "uid": "18ef25350258541e8e54148ed79845c0", |
|
495 | "uid": "18ef25350258541e8e54148ed79845c0", | |
496 | "css": "minus-squared-alt", |
|
496 | "css": "minus-squared-alt", | |
497 | "code": 61767, |
|
497 | "code": 61767, | |
498 | "src": "fontawesome" |
|
498 | "src": "fontawesome" | |
499 | }, |
|
499 | }, | |
500 | { |
|
500 | { | |
501 | "uid": "861ab06e455e2de3232ebef67d60d708", |
|
501 | "uid": "861ab06e455e2de3232ebef67d60d708", | |
502 | "css": "minus", |
|
502 | "css": "minus", | |
503 | "code": 59424, |
|
503 | "code": 59424, | |
504 | "src": "fontawesome" |
|
504 | "src": "fontawesome" | |
505 | }, |
|
505 | }, | |
506 | { |
|
506 | { | |
507 | "uid": "e82cedfa1d5f15b00c5a81c9bd731ea2", |
|
507 | "uid": "e82cedfa1d5f15b00c5a81c9bd731ea2", | |
508 | "css": "info-circled", |
|
508 | "css": "info-circled", | |
509 | "code": 59425, |
|
509 | "code": 59425, | |
510 | "src": "fontawesome" |
|
510 | "src": "fontawesome" | |
511 | }, |
|
511 | }, | |
512 | { |
|
512 | { | |
513 | "uid": "9dd9e835aebe1060ba7190ad2b2ed951", |
|
513 | "uid": "9dd9e835aebe1060ba7190ad2b2ed951", | |
514 | "css": "search", |
|
514 | "css": "search", | |
515 | "code": 59411, |
|
515 | "code": 59411, | |
516 | "src": "fontawesome" |
|
516 | "src": "fontawesome" | |
517 | }, |
|
517 | }, | |
518 | { |
|
518 | { | |
519 | "uid": "b429436ec5a518c78479d44ef18dbd60", |
|
519 | "uid": "b429436ec5a518c78479d44ef18dbd60", | |
520 | "css": "paste", |
|
520 | "css": "paste", | |
521 | "code": 61674, |
|
521 | "code": 61674, | |
522 | "src": "fontawesome" |
|
522 | "src": "fontawesome" | |
523 | }, |
|
523 | }, | |
524 | { |
|
524 | { | |
525 | "uid": "8772331a9fec983cdb5d72902a6f9e0e", |
|
525 | "uid": "8772331a9fec983cdb5d72902a6f9e0e", | |
526 | "css": "scissors", |
|
526 | "css": "scissors", | |
527 | "code": 59412, |
|
527 | "code": 59412, | |
528 | "src": "fontawesome" |
|
528 | "src": "fontawesome" | |
529 | }, |
|
529 | }, | |
530 | { |
|
530 | { | |
531 | "uid": "9a76bc135eac17d2c8b8ad4a5774fc87", |
|
531 | "uid": "9a76bc135eac17d2c8b8ad4a5774fc87", | |
532 | "css": "download", |
|
532 | "css": "download", | |
533 | "code": 59413, |
|
533 | "code": 59413, | |
534 | "src": "fontawesome" |
|
534 | "src": "fontawesome" | |
535 | }, |
|
535 | }, | |
536 | { |
|
536 | { | |
537 | "uid": "eeec3208c90b7b48e804919d0d2d4a41", |
|
537 | "uid": "eeec3208c90b7b48e804919d0d2d4a41", | |
538 | "css": "upload", |
|
538 | "css": "upload", | |
539 | "code": 59426, |
|
539 | "code": 59426, | |
540 | "src": "fontawesome" |
|
540 | "src": "fontawesome" | |
541 | }, |
|
541 | }, | |
542 | { |
|
542 | { | |
543 | "uid": "5d2d07f112b8de19f2c0dbfec3e42c05", |
|
543 | "uid": "5d2d07f112b8de19f2c0dbfec3e42c05", | |
544 | "css": "spin", |
|
544 | "css": "spin", | |
545 | "code": 59448, |
|
545 | "code": 59448, | |
546 | "src": "fontelico" |
|
546 | "src": "fontelico" | |
547 | }, |
|
547 | }, | |
548 | { |
|
548 | { | |
549 | "uid": "9bd60140934a1eb9236fd7a8ab1ff6ba", |
|
549 | "uid": "9bd60140934a1eb9236fd7a8ab1ff6ba", | |
550 | "css": "spin-alt", |
|
550 | "css": "spin-alt", | |
551 | "code": 59444, |
|
551 | "code": 59444, | |
552 | "src": "fontelico" |
|
552 | "src": "fontelico" | |
553 | }, |
|
553 | }, | |
554 | { |
|
554 | { | |
555 | "uid": "513ac180ff85bd275f2b736720cbbf5e", |
|
555 | "uid": "513ac180ff85bd275f2b736720cbbf5e", | |
556 | "css": "home", |
|
556 | "css": "home", | |
557 | "code": 59427, |
|
557 | "code": 59427, | |
558 | "src": "entypo" |
|
558 | "src": "entypo" | |
559 | }, |
|
559 | }, | |
560 | { |
|
560 | { | |
561 | "uid": "d4816c0845aa43767213d45574b3b145", |
|
561 | "uid": "d4816c0845aa43767213d45574b3b145", | |
562 | "css": "history", |
|
562 | "css": "history", | |
563 | "code": 61914, |
|
563 | "code": 61914, | |
564 | "src": "fontawesome" |
|
564 | "src": "fontawesome" | |
565 | }, |
|
565 | }, | |
566 | { |
|
566 | { | |
|
567 | "uid": "7034e4d22866af82bef811f52fb1ba46", | |||
|
568 | "css": "code", | |||
|
569 | "code": 61729, | |||
|
570 | "src": "fontawesome" | |||
|
571 | }, | |||
|
572 | { | |||
|
573 | "uid": "f3f90c8c89795da30f7444634476ea4f", | |||
|
574 | "css": "angle-left", | |||
|
575 | "code": 61700, | |||
|
576 | "src": "fontawesome" | |||
|
577 | }, | |||
|
578 | { | |||
|
579 | "uid": "7bf14281af5633a597f85b061ef1cfb9", | |||
|
580 | "css": "angle-right", | |||
|
581 | "code": 61701, | |||
|
582 | "src": "fontawesome" | |||
|
583 | }, | |||
|
584 | { | |||
|
585 | "uid": "5de9370846a26947e03f63142a3f1c07", | |||
|
586 | "css": "angle-up", | |||
|
587 | "code": 61702, | |||
|
588 | "src": "fontawesome" | |||
|
589 | }, | |||
|
590 | { | |||
|
591 | "uid": "e4dde1992f787163e2e2b534b8c8067d", | |||
|
592 | "css": "angle-down", | |||
|
593 | "code": 61703, | |||
|
594 | "src": "fontawesome" | |||
|
595 | }, | |||
|
596 | { | |||
|
597 | "uid": "4i0s2bklai5fywieqm4dqqngfz9ptfab", | |||
|
598 | "css": "flag-filled", | |||
|
599 | "code": 59428, | |||
|
600 | "src": "typicons" | |||
|
601 | }, | |||
|
602 | { | |||
|
603 | "uid": "3d4ea8a78dc34efe891f3a0f3d961274", | |||
|
604 | "css": "info", | |||
|
605 | "code": 61737, | |||
|
606 | "src": "fontawesome" | |||
|
607 | }, | |||
|
608 | { | |||
|
609 | "uid": "56a21935a5d4d79b2e91ec00f760b369", | |||
|
610 | "css": "sort", | |||
|
611 | "code": 61660, | |||
|
612 | "src": "fontawesome" | |||
|
613 | }, | |||
|
614 | { | |||
|
615 | "uid": "130380e481a7defc690dfb24123a1f0c", | |||
|
616 | "css": "circle", | |||
|
617 | "code": 61713, | |||
|
618 | "src": "fontawesome" | |||
|
619 | }, | |||
|
620 | { | |||
|
621 | "uid": "422e07e5afb80258a9c4ed1706498f8a", | |||
|
622 | "css": "circle-empty", | |||
|
623 | "code": 61708, | |||
|
624 | "src": "fontawesome" | |||
|
625 | }, | |||
|
626 | { | |||
|
627 | "uid": "5774d0a0e50f6eefc8be01bd761e5dd3", | |||
|
628 | "css": "circle-thin", | |||
|
629 | "code": 61915, | |||
|
630 | "src": "fontawesome" | |||
|
631 | }, | |||
|
632 | { | |||
567 | "uid": "c43db6645e7515889fc2193294f50767", |
|
633 | "uid": "c43db6645e7515889fc2193294f50767", | |
568 | "css": "plus", |
|
634 | "css": "plus", | |
569 | "code": 59411, |
|
635 | "code": 59411, | |
570 | "src": "custom_icons", |
|
636 | "src": "custom_icons", | |
571 | "selected": false, |
|
637 | "selected": false, | |
572 | "svg": { |
|
638 | "svg": { | |
573 | "path": "M873.1 446.2H619.2C603.8 446.2 592.3 434.6 592.3 419.2V165.4C592.3 150 580.8 138.5 565.4 138.5H465.4C450 138.5 438.5 150 438.5 165.4V419.2C438.5 434.6 426.9 446.2 411.5 446.2H157.7C142.3 446.2 130.8 457.7 130.8 473.1V573.1C130.8 588.5 142.3 600 157.7 600H411.5C426.9 600 438.5 611.5 438.5 626.9V880.8C438.5 896.2 450 907.7 465.4 907.7H565.4C580.8 907.7 592.3 896.2 592.3 880.8V626.9C592.3 611.5 603.8 600 619.2 600H873.1C888.5 600 900 588.5 900 573.1V473.1C900 457.7 888.5 446.2 873.1 446.2Z", |
|
639 | "path": "M873.1 446.2H619.2C603.8 446.2 592.3 434.6 592.3 419.2V165.4C592.3 150 580.8 138.5 565.4 138.5H465.4C450 138.5 438.5 150 438.5 165.4V419.2C438.5 434.6 426.9 446.2 411.5 446.2H157.7C142.3 446.2 130.8 457.7 130.8 473.1V573.1C130.8 588.5 142.3 600 157.7 600H411.5C426.9 600 438.5 611.5 438.5 626.9V880.8C438.5 896.2 450 907.7 465.4 907.7H565.4C580.8 907.7 592.3 896.2 592.3 880.8V626.9C592.3 611.5 603.8 600 619.2 600H873.1C888.5 600 900 588.5 900 573.1V473.1C900 457.7 888.5 446.2 873.1 446.2Z", | |
574 | "width": 1000 |
|
640 | "width": 1000 | |
575 | }, |
|
641 | }, | |
576 | "search": [ |
|
642 | "search": [ | |
577 | "plus" |
|
643 | "plus" | |
578 | ] |
|
644 | ] | |
579 | }, |
|
645 | }, | |
580 | { |
|
646 | { | |
581 | "uid": "7d7f338d90203f20c0d8d5c26091cc69", |
|
647 | "uid": "7d7f338d90203f20c0d8d5c26091cc69", | |
582 | "css": "minus", |
|
648 | "css": "minus", | |
583 | "code": 59412, |
|
649 | "code": 59412, | |
584 | "src": "custom_icons", |
|
650 | "src": "custom_icons", | |
585 | "selected": false, |
|
651 | "selected": false, | |
586 | "svg": { |
|
652 | "svg": { | |
587 | "path": "M980 560H20C10 560 0 550 0 540V380C0 370 10 360 20 360H985C995 360 1005 370 1005 380V545C1000 550 990 560 980 560Z", |
|
653 | "path": "M980 560H20C10 560 0 550 0 540V380C0 370 10 360 20 360H985C995 360 1005 370 1005 380V545C1000 550 990 560 980 560Z", | |
588 | "width": 1000 |
|
654 | "width": 1000 | |
589 | }, |
|
655 | }, | |
590 | "search": [ |
|
656 | "search": [ | |
591 | "minus" |
|
657 | "minus" | |
592 | ] |
|
658 | ] | |
593 | }, |
|
659 | }, | |
594 | { |
|
660 | { | |
595 | "uid": "4ccc61480001600f2e7e3c7dd0546c6e", |
|
661 | "uid": "4ccc61480001600f2e7e3c7dd0546c6e", | |
596 | "css": "remove", |
|
662 | "css": "remove", | |
597 | "code": 59413, |
|
663 | "code": 59413, | |
598 | "src": "custom_icons", |
|
664 | "src": "custom_icons", | |
599 | "selected": false, |
|
665 | "selected": false, | |
600 | "svg": { |
|
666 | "svg": { | |
601 | "path": "M975 140L860 25C845 10 825 10 810 25L525 310C510 325 490 325 475 310L190 25C175 10 155 10 140 25L25 140C10 155 10 175 25 190L310 475C325 490 325 510 310 525L25 810C10 825 10 845 25 860L140 975C155 990 175 990 190 975L475 690C490 675 510 675 525 690L810 975C825 990 845 990 860 975L975 860C990 845 990 825 975 810L690 525C675 510 675 490 690 475L975 190C990 180 990 155 975 140Z", |
|
667 | "path": "M975 140L860 25C845 10 825 10 810 25L525 310C510 325 490 325 475 310L190 25C175 10 155 10 140 25L25 140C10 155 10 175 25 190L310 475C325 490 325 510 310 525L25 810C10 825 10 845 25 860L140 975C155 990 175 990 190 975L475 690C490 675 510 675 525 690L810 975C825 990 845 990 860 975L975 860C990 845 990 825 975 810L690 525C675 510 675 490 690 475L975 190C990 180 990 155 975 140Z", | |
602 | "width": 1000 |
|
668 | "width": 1000 | |
603 | }, |
|
669 | }, | |
604 | "search": [ |
|
670 | "search": [ | |
605 | "remove" |
|
671 | "remove" | |
606 | ] |
|
672 | ] | |
607 | }, |
|
673 | }, | |
608 | { |
|
674 | { | |
609 | "uid": "b1afcccc053ecb95fbcacf06e5c0d554", |
|
675 | "uid": "b1afcccc053ecb95fbcacf06e5c0d554", | |
610 | "css": "history", |
|
676 | "css": "history", | |
611 | "code": 59418, |
|
677 | "code": 59418, | |
612 | "src": "custom_icons", |
|
678 | "src": "custom_icons", | |
613 | "selected": false, |
|
679 | "selected": false, | |
614 | "svg": { |
|
680 | "svg": { | |
615 | "path": "", |
|
681 | "path": "", | |
616 | "width": 1143 |
|
682 | "width": 1143 | |
617 | }, |
|
683 | }, | |
618 | "search": [ |
|
684 | "search": [ | |
619 | "history" |
|
685 | "history" | |
620 | ] |
|
686 | ] | |
621 | } |
|
687 | } | |
622 | ] |
|
688 | ] | |
623 | } No newline at end of file |
|
689 | } |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
@@ -1,134 +1,156 b'' | |||||
1 | <?xml version="1.0" standalone="no"?> |
|
1 | <?xml version="1.0" standalone="no"?> | |
2 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> |
|
2 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | |
3 | <svg xmlns="http://www.w3.org/2000/svg"> |
|
3 | <svg xmlns="http://www.w3.org/2000/svg"> | |
4 | <metadata>Copyright (C) 2019 by original authors @ fontello.com</metadata> |
|
4 | <metadata>Copyright (C) 2019 by original authors @ fontello.com</metadata> | |
5 | <defs> |
|
5 | <defs> | |
6 | <font id="rcicons" horiz-adv-x="1000" > |
|
6 | <font id="rcicons" horiz-adv-x="1000" > | |
7 | <font-face font-family="rcicons" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" /> |
|
7 | <font-face font-family="rcicons" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" /> | |
8 | <missing-glyph horiz-adv-x="1000" /> |
|
8 | <missing-glyph horiz-adv-x="1000" /> | |
9 | <glyph glyph-name="delete" unicode="" d="M515 758c-211 0-384-173-384-385 0-211 173-385 384-385s385 174 385 385c0 212-173 385-385 385z m227-416c0-15-11-27-30-27h-397c-15 0-30 12-30 27v62c0 15 11 27 30 27h397c15 0 30-12 30-27v-62z" horiz-adv-x="1000" /> |
|
9 | <glyph glyph-name="delete" unicode="" d="M515 758c-211 0-384-173-384-385 0-211 173-385 384-385s385 174 385 385c0 212-173 385-385 385z m227-416c0-15-11-27-30-27h-397c-15 0-30 12-30 27v62c0 15 11 27 30 27h397c15 0 30-12 30-27v-62z" horiz-adv-x="1000" /> | |
10 |
|
10 | |||
11 | <glyph glyph-name="ok" unicode="" d="M515 735c-211 0-384-173-384-385 0-211 173-385 384-385s385 174 385 385c0 212-173 385-385 385z m239-296l-304-304c-11-12-27-12-38 0l-139 138c-11 12-11 27 0 39l42 42c12 11 27 11 39 0l58-58c11-11 27-11 38 0l219 219c12 12 27 12 39 0l42-42c15-8 15-23 4-34z" horiz-adv-x="1000" /> |
|
11 | <glyph glyph-name="ok" unicode="" d="M515 735c-211 0-384-173-384-385 0-211 173-385 384-385s385 174 385 385c0 212-173 385-385 385z m239-296l-304-304c-11-12-27-12-38 0l-139 138c-11 12-11 27 0 39l42 42c12 11 27 11 39 0l58-58c11-11 27-11 38 0l219 219c12 12 27 12 39 0l42-42c15-8 15-23 4-34z" horiz-adv-x="1000" /> | |
12 |
|
12 | |||
13 | <glyph glyph-name="comment" unicode="" d="M131 65v504c0 73 58 131 131 131h507c73 0 131-58 131-131v-288c0-73-58-131-131-131h-496c-4 0-11-4-15-8l-93-92c-11-15-34-4-34 15z m131 574c-39 0-73-31-73-74v-411l46 46c4 4 7 8 15 8h519c39 0 73 31 73 73v288c0 39-30 73-73 73h-507z" horiz-adv-x="1000" /> |
|
13 | <glyph glyph-name="comment" unicode="" d="M131 65v504c0 73 58 131 131 131h507c73 0 131-58 131-131v-288c0-73-58-131-131-131h-496c-4 0-11-4-15-8l-93-92c-11-15-34-4-34 15z m131 574c-39 0-73-31-73-74v-411l46 46c4 4 7 8 15 8h519c39 0 73 31 73 73v288c0 39-30 73-73 73h-507z" horiz-adv-x="1000" /> | |
14 |
|
14 | |||
15 | <glyph glyph-name="bookmark" unicode="" d="M780-140l-260 290c-10 10-25 10-35 0l-260-295c-20-20-45-5-45 30v930c-5 20 10 35 25 35h590c15 0 30-15 30-35v-925c0-35-30-50-45-30z" horiz-adv-x="1000" /> |
|
15 | <glyph glyph-name="bookmark" unicode="" d="M780-140l-260 290c-10 10-25 10-35 0l-260-295c-20-20-45-5-45 30v930c-5 20 10 35 25 35h590c15 0 30-15 30-35v-925c0-35-30-50-45-30z" horiz-adv-x="1000" /> | |
16 |
|
16 | |||
17 | <glyph glyph-name="branch" unicode="" d="M875 600c0 76-58 134-134 134s-134-58-134-134c0-49 27-89 63-112-18-142-139-183-210-196v313c45 22 71 62 71 111 0 76-58 134-134 134s-134-58-134-134c0-49 27-94 67-116v-500c-40-22-67-67-67-116 0-76 58-134 134-134s134 58 134 134c0 49-26 94-67 116v58c63 9 166 31 246 112 58 58 89 129 98 214 40 22 67 67 67 116z m-478 161c27 0 45-18 45-45s-18-45-45-45-44 18-44 45 18 45 44 45z m0-822c-26 0-44 18-44 45s18 45 44 45 45-18 45-45-22-45-45-45z m344 706c27 0 45-18 45-45s-18-45-45-45-45 18-45 45 23 45 45 45z" horiz-adv-x="1000" /> |
|
17 | <glyph glyph-name="branch" unicode="" d="M875 600c0 76-58 134-134 134s-134-58-134-134c0-49 27-89 63-112-18-142-139-183-210-196v313c45 22 71 62 71 111 0 76-58 134-134 134s-134-58-134-134c0-49 27-94 67-116v-500c-40-22-67-67-67-116 0-76 58-134 134-134s134 58 134 134c0 49-26 94-67 116v58c63 9 166 31 246 112 58 58 89 129 98 214 40 22 67 67 67 116z m-478 161c27 0 45-18 45-45s-18-45-45-45-44 18-44 45 18 45 44 45z m0-822c-26 0-44 18-44 45s18 45 44 45 45-18 45-45-22-45-45-45z m344 706c27 0 45-18 45-45s-18-45-45-45-45 18-45 45 23 45 45 45z" horiz-adv-x="1000" /> | |
18 |
|
18 | |||
19 | <glyph glyph-name="tag" unicode="" d="M460 788l-366 8c-18 0-31-13-31-31l13-366c0-9 4-13 9-22l464-465c14-13 31-13 45 0l352 353c14 14 14 31 0 45l-468 469c-5 4-14 9-18 9z m-103-224c0-35-31-67-67-67-35 0-67 32-67 67 0 36 32 67 67 67s67-26 67-67z" horiz-adv-x="1000" /> |
|
19 | <glyph glyph-name="tag" unicode="" d="M460 788l-366 8c-18 0-31-13-31-31l13-366c0-9 4-13 9-22l464-465c14-13 31-13 45 0l352 353c14 14 14 31 0 45l-468 469c-5 4-14 9-18 9z m-103-224c0-35-31-67-67-67-35 0-67 32-67 67 0 36 32 67 67 67s67-26 67-67z" horiz-adv-x="1000" /> | |
20 |
|
20 | |||
21 | <glyph glyph-name="lock" unicode="" d="M813 426h-54v107c0 9 0 13 0 18 0 4 0 9 0 13 0 5 0 5 0 9 0 9 0 14-4 23 0 4 0 4-5 9 0 8-4 13-9 22 0 0 0 4-4 4-5 9-9 18-14 27 0 0-4 5-4 5 4 8 0 17-5 22 0 4-4 4-4 9-5 4-9 13-14 18 0 0-4 4-4 4-9 9-13 14-22 22 0 0-5 0-5 5-4 4-13 9-22 13-5 0-5 5-9 5-4 4-13 9-18 9-4 0-4 4-9 4-9 5-18 9-27 9 0 0 0 0 0 0-9 5-17 5-31 9-4 0-4 0-9 0-4 0-4 0-9 0 0 0-4 0-4 0 0 0-5 0-5 0 0 0 0 0 0 0 0 0 0 0 0 0-4 0-9 0-9 0 0 0-4 0-4 0-4 0-4 0-9 0 0 0 0 0 0 0-4 0-9 0-9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-4 0-4 0 0 0-5 0-5 0-4 0-4 0-9 0-4 0-4 0-9 0-9 0-22-4-31-9 0 0 0 0 0 0-22 0-36-4-45-9-4 0-4-4-8-4-5-5-9-5-18-9 0-5-5-5-5-5-9-4-18-9-22-18 0 0-5 0-5-4-9-4-13-9-22-18 0 0-4-4-4-4-5-5-9-14-14-18 0-5-4-5-4-9-9-5-14-14-14-18-4 0-4-4-4-4-5-9-9-18-13-27 0 0 0-5-5-5 0-13-4-18-4-26 0-5 0-5-5-9 0-9-4-14-4-23 0-4 0-4 0-9 0-4 0-9 0-13 0-5 0-13 0-18v-107h-49c-18 0-27-13-27-27v-464c0-18 13-27 27-27h620c18 0 27 13 27 27v464c4 18-9 27-22 27z m-451 107c0 67 49 121 111 134 0 0 0 0 5 0 9 0 13 0 22 0 0 0 5 0 5 0 0 0 0 0 0 0 8 0 13 0 22 0 0 0 0 0 4 0 63-13 112-67 112-134v-107h-281v107z" horiz-adv-x="1000" /> |
|
21 | <glyph glyph-name="lock" unicode="" d="M813 426h-54v107c0 9 0 13 0 18 0 4 0 9 0 13 0 5 0 5 0 9 0 9 0 14-4 23 0 4 0 4-5 9 0 8-4 13-9 22 0 0 0 4-4 4-5 9-9 18-14 27 0 0-4 5-4 5 4 8 0 17-5 22 0 4-4 4-4 9-5 4-9 13-14 18 0 0-4 4-4 4-9 9-13 14-22 22 0 0-5 0-5 5-4 4-13 9-22 13-5 0-5 5-9 5-4 4-13 9-18 9-4 0-4 4-9 4-9 5-18 9-27 9 0 0 0 0 0 0-9 5-17 5-31 9-4 0-4 0-9 0-4 0-4 0-9 0 0 0-4 0-4 0 0 0-5 0-5 0 0 0 0 0 0 0 0 0 0 0 0 0-4 0-9 0-9 0 0 0-4 0-4 0-4 0-4 0-9 0 0 0 0 0 0 0-4 0-9 0-9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-4 0-4 0 0 0-5 0-5 0-4 0-4 0-9 0-4 0-4 0-9 0-9 0-22-4-31-9 0 0 0 0 0 0-22 0-36-4-45-9-4 0-4-4-8-4-5-5-9-5-18-9 0-5-5-5-5-5-9-4-18-9-22-18 0 0-5 0-5-4-9-4-13-9-22-18 0 0-4-4-4-4-5-5-9-14-14-18 0-5-4-5-4-9-9-5-14-14-14-18-4 0-4-4-4-4-5-9-9-18-13-27 0 0 0-5-5-5 0-13-4-18-4-26 0-5 0-5-5-9 0-9-4-14-4-23 0-4 0-4 0-9 0-4 0-9 0-13 0-5 0-13 0-18v-107h-49c-18 0-27-13-27-27v-464c0-18 13-27 27-27h620c18 0 27 13 27 27v464c4 18-9 27-22 27z m-451 107c0 67 49 121 111 134 0 0 0 0 5 0 9 0 13 0 22 0 0 0 5 0 5 0 0 0 0 0 0 0 8 0 13 0 22 0 0 0 0 0 4 0 63-13 112-67 112-134v-107h-281v107z" horiz-adv-x="1000" /> | |
22 |
|
22 | |||
23 | <glyph glyph-name="unlock" unicode="" d="M781 415h-385v93c0 57 43 104 96 115 0 0 0 0 4 0 8 0 12 0 19 0 0 0 4 0 4 0 0 0 0 0 4 0 8 0 16 0 23-4 0 0 0 0 0 0 8 0 12-4 19-7 0 0 4 0 4-4 4-4 12-4 16-8 0 0 0 0 0 0 4-4 11-8 15-11 0 0 4-4 4-4 4-4 8-8 11-12 0 0 0 0 4-4 4-4 8-11 12-19 0 0 0-4 0-4 4-4 4-11 4-15 0 0 0-4 0-4 0 0 0 0 0-4 4-11 11-19 23-19h57c16 0 27 11 24 27 0 0 0 0 0 0 0 0 0 4 0 4 0 7-4 11-4 19 0 4 0 4-4 8 0 15 0 19-4 27 0 0 0 3-4 3-4 8-8 16-11 23 0 0-4 4-4 4-4 8-8 12-12 16 0 4-4 4-4 7-3 4-7 12-11 16 0 0-4 4-4 4-8 7-12 11-19 19 0 0-4 0-4 4-4 4-12 7-19 11-4 0-4 4-8 4-4 4-12 8-15 8-4 0-4 4-8 4-8 3-15 7-23 7 0 0 0 0 0 0-8 4-16 4-27 8-4 0-4 0-8 0-7 0-11 0-19 4-4 0-8 0-8 0-7 0-15 0-23 0 0 0-4 0-4 0-7 0-15-4-27-4-3 0-11-4-15-4 0 0-4 0-4 0-92-27-157-115-157-215v-93h-43c-15 0-23-11-23-23v-400c0-15 12-23 23-23h535c15 0 23 12 23 23v400c4 12-8 23-23 23z" horiz-adv-x="1000" /> |
|
23 | <glyph glyph-name="unlock" unicode="" d="M781 415h-385v93c0 57 43 104 96 115 0 0 0 0 4 0 8 0 12 0 19 0 0 0 4 0 4 0 0 0 0 0 4 0 8 0 16 0 23-4 0 0 0 0 0 0 8 0 12-4 19-7 0 0 4 0 4-4 4-4 12-4 16-8 0 0 0 0 0 0 4-4 11-8 15-11 0 0 4-4 4-4 4-4 8-8 11-12 0 0 0 0 4-4 4-4 8-11 12-19 0 0 0-4 0-4 4-4 4-11 4-15 0 0 0-4 0-4 0 0 0 0 0-4 4-11 11-19 23-19h57c16 0 27 11 24 27 0 0 0 0 0 0 0 0 0 4 0 4 0 7-4 11-4 19 0 4 0 4-4 8 0 15 0 19-4 27 0 0 0 3-4 3-4 8-8 16-11 23 0 0-4 4-4 4-4 8-8 12-12 16 0 4-4 4-4 7-3 4-7 12-11 16 0 0-4 4-4 4-8 7-12 11-19 19 0 0-4 0-4 4-4 4-12 7-19 11-4 0-4 4-8 4-4 4-12 8-15 8-4 0-4 4-8 4-8 3-15 7-23 7 0 0 0 0 0 0-8 4-16 4-27 8-4 0-4 0-8 0-7 0-11 0-19 4-4 0-8 0-8 0-7 0-15 0-23 0 0 0-4 0-4 0-7 0-15-4-27-4-3 0-11-4-15-4 0 0-4 0-4 0-92-27-157-115-157-215v-93h-43c-15 0-23-11-23-23v-400c0-15 12-23 23-23h535c15 0 23 12 23 23v400c4 12-8 23-23 23z" horiz-adv-x="1000" /> | |
24 |
|
24 | |||
25 | <glyph glyph-name="feed" unicode="" d="M842 739h-653c-35 0-58-27-58-58v-658c0-31 27-58 58-58h657c31 0 58 27 58 58v658c-4 31-31 58-62 58z m-534-666c-39 0-73 31-73 73s30 73 73 73c38 0 73-30 73-73s-35-73-73-73z m246-11c-35 0-58 27-58 57 0 112-88 200-200 200-31 0-65 27-65 58 0 35 23 62 54 62l11 0c177 0 319-143 319-320-3-30-30-57-61-57z m196 0c-35 0-58 27-58 57 0 220-180 400-400 400-30 0-65 27-65 62 0 34 23 61 54 61l11 0c285 0 520-230 520-519 0-34-27-61-62-61z" horiz-adv-x="1000" /> |
|
25 | <glyph glyph-name="feed" unicode="" d="M842 739h-653c-35 0-58-27-58-58v-658c0-31 27-58 58-58h657c31 0 58 27 58 58v658c-4 31-31 58-62 58z m-534-666c-39 0-73 31-73 73s30 73 73 73c38 0 73-30 73-73s-35-73-73-73z m246-11c-35 0-58 27-58 57 0 112-88 200-200 200-31 0-65 27-65 58 0 35 23 62 54 62l11 0c177 0 319-143 319-320-3-30-30-57-61-57z m196 0c-35 0-58 27-58 57 0 220-180 400-400 400-30 0-65 27-65 62 0 34 23 61 54 61l11 0c285 0 520-230 520-519 0-34-27-61-62-61z" horiz-adv-x="1000" /> | |
26 |
|
26 | |||
27 | <glyph glyph-name="left" unicode="" d="M692 773l70-69c11-12 11-27 0-39l-289-288c-11-12-11-27 0-38l296-297c12-11 12-27 0-38l-69-69c-11-12-27-12-38 0l-404 404c-12 11-12 26 0 38l396 396c11 12 27 12 38 0z" horiz-adv-x="1000" /> |
|
27 | <glyph glyph-name="left" unicode="" d="M692 773l70-69c11-12 11-27 0-39l-289-288c-11-12-11-27 0-38l296-297c12-11 12-27 0-38l-69-69c-11-12-27-12-38 0l-404 404c-12 11-12 26 0 38l396 396c11 12 27 12 38 0z" horiz-adv-x="1000" /> | |
28 |
|
28 | |||
29 | <glyph glyph-name="right" unicode="" d="M339-65l-74 69c-11 11-11 27 0 38l289 289c11 11 11 27 0 38l-296 296c-12 12-12 27 0 39l69 69c12 12 27 12 38 0l404-404c12-11 12-27 0-38l-392-396c-12-12-31-12-38 0z" horiz-adv-x="1000" /> |
|
29 | <glyph glyph-name="right" unicode="" d="M339-65l-74 69c-11 11-11 27 0 38l289 289c11 11 11 27 0 38l-296 296c-12 12-12 27 0 39l69 69c12 12 27 12 38 0l404-404c12-11 12-27 0-38l-392-396c-12-12-31-12-38 0z" horiz-adv-x="1000" /> | |
30 |
|
30 | |||
31 | <glyph glyph-name="down" unicode="" d="M704 454l-173-219c-8-8-23-8-27 0l-173 219c-8 11 0 31 15 31h346c12 0 20-20 12-31z" horiz-adv-x="1000" /> |
|
31 | <glyph glyph-name="down" unicode="" d="M704 454l-173-219c-8-8-23-8-27 0l-173 219c-8 11 0 31 15 31h346c12 0 20-20 12-31z" horiz-adv-x="1000" /> | |
32 |
|
32 | |||
33 | <glyph glyph-name="folder" unicode="" d="M929 511v-393q0-51-37-88t-88-37h-679q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h375q51 0 88-37t37-88z" horiz-adv-x="928.6" /> |
|
33 | <glyph glyph-name="folder" unicode="" d="M929 511v-393q0-51-37-88t-88-37h-679q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h375q51 0 88-37t37-88z" horiz-adv-x="928.6" /> | |
34 |
|
34 | |||
35 | <glyph glyph-name="folder-open" unicode="" d="M1049 319q0-17-18-37l-187-221q-24-28-67-48t-81-20h-607q-19 0-33 7t-15 24q0 17 17 37l188 221q24 28 67 48t80 20h607q19 0 34-7t15-24z m-192 192v-90h-464q-53 0-110-26t-92-67l-188-221-2-3q0 2-1 7t0 7v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h303q52 0 88-37t37-88z" horiz-adv-x="1071.4" /> |
|
35 | <glyph glyph-name="folder-open" unicode="" d="M1049 319q0-17-18-37l-187-221q-24-28-67-48t-81-20h-607q-19 0-33 7t-15 24q0 17 17 37l188 221q24 28 67 48t80 20h607q19 0 34-7t15-24z m-192 192v-90h-464q-53 0-110-26t-92-67l-188-221-2-3q0 2-1 7t0 7v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h303q52 0 88-37t37-88z" horiz-adv-x="1071.4" /> | |
36 |
|
36 | |||
37 | <glyph glyph-name="trash-empty" unicode="" d="M286 439v-321q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q8 0 13-5t5-13z m143 0v-321q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q8 0 13-5t5-13z m142 0v-321q0-8-5-13t-12-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q7 0 12-5t5-13z m72-404v529h-500v-529q0-12 4-22t8-15 6-5h464q2 0 6 5t8 15 4 22z m-375 601h250l-27 65q-4 5-9 6h-177q-6-1-10-6z m518-18v-36q0-8-5-13t-13-5h-54v-529q0-46-26-80t-63-34h-464q-37 0-63 33t-27 79v531h-53q-8 0-13 5t-5 13v36q0 8 5 13t13 5h172l39 93q9 21 31 35t44 15h178q23 0 44-15t30-35l39-93h173q8 0 13-5t5-13z" horiz-adv-x="785.7" /> |
|
37 | <glyph glyph-name="trash-empty" unicode="" d="M286 439v-321q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q8 0 13-5t5-13z m143 0v-321q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q8 0 13-5t5-13z m142 0v-321q0-8-5-13t-12-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q7 0 12-5t5-13z m72-404v529h-500v-529q0-12 4-22t8-15 6-5h464q2 0 6 5t8 15 4 22z m-375 601h250l-27 65q-4 5-9 6h-177q-6-1-10-6z m518-18v-36q0-8-5-13t-13-5h-54v-529q0-46-26-80t-63-34h-464q-37 0-63 33t-27 79v531h-53q-8 0-13 5t-5 13v36q0 8 5 13t13 5h172l39 93q9 21 31 35t44 15h178q23 0 44-15t30-35l39-93h173q8 0 13-5t5-13z" horiz-adv-x="785.7" /> | |
38 |
|
38 | |||
39 | <glyph glyph-name="group" unicode="" d="M962 219v-15c0-4-4-12-12-12h-161-4c-16 20-39 39-77 43-35 7-54 15-69 23 7 7 19 11 30 15 46 8 58 23 66 35 7 11 7 23 0 38-8 16-31 43-31 81 0 38 0 104 73 104h8 7c73-4 77-66 73-104 0-38-23-69-30-81-8-15-8-27 0-38 7-12 23-27 65-35 54-4 62-46 62-54 0 0 0 0 0 0z m-708-15c15 15 38 31 69 35 39 7 62 15 73 26-7 8-19 16-34 20-47 7-58 23-66 34-7 12-7 23 0 39 8 15 31 42 31 81 0 38 0 103-73 103h-8-11c-73-3-77-65-73-103 0-39 23-70 30-81 8-16 8-27 0-39-7-11-23-27-65-34-46-8-54-50-54-54 0 0 0 0 0 0v-16c0-3 4-11 12-11h161 8z m454 11c-73 12-96 35-108 54-11 20-11 39 0 62 12 23 50 69 54 131 4 61 0 165-119 169h-16-15c-119-4-123-104-119-166 4-61 38-107 54-130 11-23 11-43 0-62-12-19-35-42-108-54-73-11-85-80-85-88 0 0 0 0 0 0v-23c0-8 8-16 16-16h257 258c8 0 15 8 15 16v23c0 0 0 0 0 0-3 4-11 73-84 84z" horiz-adv-x="1000" /> |
|
39 | <glyph glyph-name="group" unicode="" d="M962 219v-15c0-4-4-12-12-12h-161-4c-16 20-39 39-77 43-35 7-54 15-69 23 7 7 19 11 30 15 46 8 58 23 66 35 7 11 7 23 0 38-8 16-31 43-31 81 0 38 0 104 73 104h8 7c73-4 77-66 73-104 0-38-23-69-30-81-8-15-8-27 0-38 7-12 23-27 65-35 54-4 62-46 62-54 0 0 0 0 0 0z m-708-15c15 15 38 31 69 35 39 7 62 15 73 26-7 8-19 16-34 20-47 7-58 23-66 34-7 12-7 23 0 39 8 15 31 42 31 81 0 38 0 103-73 103h-8-11c-73-3-77-65-73-103 0-39 23-70 30-81 8-16 8-27 0-39-7-11-23-27-65-34-46-8-54-50-54-54 0 0 0 0 0 0v-16c0-3 4-11 12-11h161 8z m454 11c-73 12-96 35-108 54-11 20-11 39 0 62 12 23 50 69 54 131 4 61 0 165-119 169h-16-15c-119-4-123-104-119-166 4-61 38-107 54-130 11-23 11-43 0-62-12-19-35-42-108-54-73-11-85-80-85-88 0 0 0 0 0 0v-23c0-8 8-16 16-16h257 258c8 0 15 8 15 16v23c0 0 0 0 0 0-3 4-11 73-84 84z" horiz-adv-x="1000" /> | |
40 |
|
40 | |||
41 | <glyph glyph-name="remove" unicode="" d="M724 112q0-22-15-38l-76-76q-16-15-38-15t-38 15l-164 165-164-165q-16-15-38-15t-38 15l-76 76q-16 16-16 38t16 38l164 164-164 164q-16 16-16 38t16 38l76 76q16 16 38 16t38-16l164-164 164 164q16 16 38 16t38-16l76-76q15-15 15-38t-15-38l-164-164 164-164q15-15 15-38z" horiz-adv-x="785.7" /> |
|
41 | <glyph glyph-name="remove" unicode="" d="M724 112q0-22-15-38l-76-76q-16-15-38-15t-38 15l-164 165-164-165q-16-15-38-15t-38 15l-76 76q-16 16-16 38t16 38l164 164-164 164q-16 16-16 38t16 38l76 76q16 16 38 16t38-16l164-164 164 164q16 16 38 16t38-16l76-76q15-15 15-38t-15-38l-164-164 164-164q15-15 15-38z" horiz-adv-x="785.7" /> | |
42 |
|
42 | |||
43 | <glyph glyph-name="fork" unicode="" d="M792 654c0 58-46 100-100 100-57 0-100-46-100-100 0-35 20-65 47-85-12-84-70-123-127-142-58 15-116 54-127 142 27 20 46 50 46 85 0 58-46 100-100 100s-108-42-108-100c0-39 23-73 54-89 12-107 77-188 181-226v-162c-31-19-50-50-50-88 0-58 46-101 100-101s100 47 100 101c0 38-19 69-50 88v162c104 38 169 119 181 226 30 20 53 50 53 89z m-465 35c19 0 35-16 35-35s-16-31-35-31-35 12-35 31 16 35 35 35z m181-635c-19 0-35 15-35 35s16 34 35 34c19 0 34-15 34-34s-15-35-34-35z m184 635c20 0 35-16 35-35s-15-31-35-31-34 16-34 35 15 31 34 31z" horiz-adv-x="1000" /> |
|
43 | <glyph glyph-name="fork" unicode="" d="M792 654c0 58-46 100-100 100-57 0-100-46-100-100 0-35 20-65 47-85-12-84-70-123-127-142-58 15-116 54-127 142 27 20 46 50 46 85 0 58-46 100-100 100s-108-42-108-100c0-39 23-73 54-89 12-107 77-188 181-226v-162c-31-19-50-50-50-88 0-58 46-101 100-101s100 47 100 101c0 38-19 69-50 88v162c104 38 169 119 181 226 30 20 53 50 53 89z m-465 35c19 0 35-16 35-35s-16-31-35-31-35 12-35 31 16 35 35 35z m181-635c-19 0-35 15-35 35s16 34 35 34c19 0 34-15 34-34s-15-35-34-35z m184 635c20 0 35-16 35-35s-15-31-35-31-34 16-34 35 15 31 34 31z" horiz-adv-x="1000" /> | |
44 |
|
44 | |||
45 | <glyph glyph-name="more" unicode="" d="M546 435h-100c-15 0-27-12-27-27v-100c0-16 12-27 27-27h100c16 0 27 11 27 27v100c0 15-11 27-27 27z m0 307h-100c-15 0-27-11-27-27v-100c0-15 12-26 27-26h100c16 0 27 11 27 26v100c0 16-11 27-27 27z m0-615h-100c-15 0-27-12-27-27v-100c0-15 12-27 27-27h100c16 0 27 12 27 27v100c0 15-11 27-27 27z" horiz-adv-x="1000" /> |
|
45 | <glyph glyph-name="more" unicode="" d="M546 435h-100c-15 0-27-12-27-27v-100c0-16 12-27 27-27h100c16 0 27 11 27 27v100c0 15-11 27-27 27z m0 307h-100c-15 0-27-11-27-27v-100c0-15 12-26 27-26h100c16 0 27 11 27 26v100c0 16-11 27-27 27z m0-615h-100c-15 0-27-12-27-27v-100c0-15 12-27 27-27h100c16 0 27 12 27 27v100c0 15-11 27-27 27z" horiz-adv-x="1000" /> | |
46 |
|
46 | |||
47 | <glyph glyph-name="search" unicode="" d="M643 386q0 103-73 176t-177 74-177-74-73-176 73-177 177-73 177 73 73 177z m286-465q0-29-22-50t-50-21q-30 0-50 21l-191 191q-100-69-223-69-80 0-153 31t-125 84-84 125-31 153 31 152 84 126 125 84 153 31 153-31 125-84 84-126 31-152q0-123-69-223l191-191q21-21 21-51z" horiz-adv-x="928.6" /> |
|
47 | <glyph glyph-name="search" unicode="" d="M643 386q0 103-73 176t-177 74-177-74-73-176 73-177 177-73 177 73 73 177z m286-465q0-29-22-50t-50-21q-30 0-50 21l-191 191q-100-69-223-69-80 0-153 31t-125 84-84 125-31 153 31 152 84 126 125 84 153 31 153-31 125-84 84-126 31-152q0-123-69-223l191-191q21-21 21-51z" horiz-adv-x="928.6" /> | |
48 |
|
48 | |||
49 | <glyph glyph-name="scissors" unicode="" d="M536 350q14 0 25-11t10-25-10-25-25-10-25 10-11 25 11 25 25 11z m167-36l283-222q16-11 14-31-3-20-19-28l-72-36q-7-4-16-4-10 0-17 4l-385 216-62-36q-4-3-7-3 8-28 6-54-4-43-31-83t-74-69q-74-47-154-47-76 0-124 44-51 47-44 116 4 42 31 82t73 69q74 47 155 47 46 0 84-18 5 8 13 13l68 40-68 41q-8 5-13 12-38-17-84-17-81 0-155 47-46 30-73 69t-31 82q-3 33 8 63t36 52q47 44 124 44 80 0 154-47 46-29 74-68t31-83q2-27-6-54 3-1 7-3l62-37 385 216q7 5 17 5 9 0 16-4l72-36q16-9 19-28 2-20-14-32z m-380 145q26 24 12 61t-59 65q-52 33-107 33-42 0-63-20-26-24-12-60t59-66q51-33 107-33 41 0 63 20z m-47-415q45 28 59 65t-12 60q-22 20-63 20-56 0-107-33-45-28-59-65t12-60q21-20 63-20 55 0 107 33z m99 342l54-33v7q0 20 18 31l8 4-44 26-15-14q-1-2-5-6t-7-7q-1-1-2-2t-2-1z m125-125l54-18 410 321-71 36-429-240v-64l-89-53 5-5q1-1 4-3 2-2 6-7t6-6l15-15z m393-232l71 35-290 228-99-77q-1-2-7-4z" horiz-adv-x="1000" /> |
|
49 | <glyph glyph-name="scissors" unicode="" d="M536 350q14 0 25-11t10-25-10-25-25-10-25 10-11 25 11 25 25 11z m167-36l283-222q16-11 14-31-3-20-19-28l-72-36q-7-4-16-4-10 0-17 4l-385 216-62-36q-4-3-7-3 8-28 6-54-4-43-31-83t-74-69q-74-47-154-47-76 0-124 44-51 47-44 116 4 42 31 82t73 69q74 47 155 47 46 0 84-18 5 8 13 13l68 40-68 41q-8 5-13 12-38-17-84-17-81 0-155 47-46 30-73 69t-31 82q-3 33 8 63t36 52q47 44 124 44 80 0 154-47 46-29 74-68t31-83q2-27-6-54 3-1 7-3l62-37 385 216q7 5 17 5 9 0 16-4l72-36q16-9 19-28 2-20-14-32z m-380 145q26 24 12 61t-59 65q-52 33-107 33-42 0-63-20-26-24-12-60t59-66q51-33 107-33 41 0 63 20z m-47-415q45 28 59 65t-12 60q-22 20-63 20-56 0-107-33-45-28-59-65t12-60q21-20 63-20 55 0 107 33z m99 342l54-33v7q0 20 18 31l8 4-44 26-15-14q-1-2-5-6t-7-7q-1-1-2-2t-2-1z m125-125l54-18 410 321-71 36-429-240v-64l-89-53 5-5q1-1 4-3 2-2 6-7t6-6l15-15z m393-232l71 35-290 228-99-77q-1-2-7-4z" horiz-adv-x="1000" /> | |
50 |
|
50 | |||
51 | <glyph glyph-name="download" unicode="" d="M714 100q0 15-10 25t-25 11-25-11-11-25 11-25 25-11 25 11 10 25z m143 0q0 15-10 25t-26 11-25-11-10-25 10-25 25-11 26 11 10 25z m72 125v-179q0-22-16-37t-38-16h-821q-23 0-38 16t-16 37v179q0 22 16 38t38 16h259l75-76q33-32 76-32t76 32l76 76h259q22 0 38-16t16-38z m-182 318q10-23-8-39l-250-250q-10-11-25-11t-25 11l-250 250q-17 16-8 39 10 21 33 21h143v250q0 15 11 25t25 11h143q14 0 25-11t10-25v-250h143q24 0 33-21z" horiz-adv-x="928.6" /> |
|
51 | <glyph glyph-name="download" unicode="" d="M714 100q0 15-10 25t-25 11-25-11-11-25 11-25 25-11 25 11 10 25z m143 0q0 15-10 25t-26 11-25-11-10-25 10-25 25-11 26 11 10 25z m72 125v-179q0-22-16-37t-38-16h-821q-23 0-38 16t-16 37v179q0 22 16 38t38 16h259l75-76q33-32 76-32t76 32l76 76h259q22 0 38-16t16-38z m-182 318q10-23-8-39l-250-250q-10-11-25-11t-25 11l-250 250q-17 16-8 39 10 21 33 21h143v250q0 15 11 25t25 11h143q14 0 25-11t10-25v-250h143q24 0 33-21z" horiz-adv-x="928.6" /> | |
52 |
|
52 | |||
53 | <glyph glyph-name="doc" unicode="" d="M819 638q16-16 27-42t11-50v-642q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h500q22 0 49-11t42-27z m-248 136v-210h210q-5 17-12 23l-175 175q-6 7-23 12z m215-853v572h-232q-23 0-38 16t-16 37v233h-429v-858h715z" horiz-adv-x="857.1" /> |
|
53 | <glyph glyph-name="doc" unicode="" d="M819 638q16-16 27-42t11-50v-642q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h500q22 0 49-11t42-27z m-248 136v-210h210q-5 17-12 23l-175 175q-6 7-23 12z m215-853v572h-232q-23 0-38 16t-16 37v233h-429v-858h715z" horiz-adv-x="857.1" /> | |
54 |
|
54 | |||
55 | <glyph glyph-name="cog" unicode="" d="M571 350q0 59-41 101t-101 42-101-42-42-101 42-101 101-42 101 42 41 101z m286 61v-124q0-7-4-13t-11-7l-104-16q-10-30-21-51 19-27 59-77 6-6 6-13t-5-13q-15-21-55-61t-53-39q-7 0-14 5l-77 60q-25-13-51-21-9-76-16-104-4-16-20-16h-124q-8 0-14 5t-6 12l-16 103q-27 9-50 21l-79-60q-6-5-14-5-8 0-14 6-70 64-92 94-4 5-4 13 0 6 5 12 8 12 28 37t30 40q-15 28-23 55l-102 15q-7 1-11 7t-5 13v124q0 7 5 13t10 7l104 16q8 25 22 51-23 32-60 77-6 7-6 14 0 5 5 12 15 20 55 60t53 40q7 0 15-5l77-60q24 13 50 21 9 76 17 104 3 16 20 16h124q7 0 13-5t7-12l15-103q28-9 51-20l79 59q5 5 13 5 7 0 14-5 72-67 92-95 4-5 4-12 0-7-4-13-9-12-29-37t-30-40q15-28 23-54l102-16q7-1 12-7t4-13z" horiz-adv-x="857.1" /> |
|
55 | <glyph glyph-name="cog" unicode="" d="M571 350q0 59-41 101t-101 42-101-42-42-101 42-101 101-42 101 42 41 101z m286 61v-124q0-7-4-13t-11-7l-104-16q-10-30-21-51 19-27 59-77 6-6 6-13t-5-13q-15-21-55-61t-53-39q-7 0-14 5l-77 60q-25-13-51-21-9-76-16-104-4-16-20-16h-124q-8 0-14 5t-6 12l-16 103q-27 9-50 21l-79-60q-6-5-14-5-8 0-14 6-70 64-92 94-4 5-4 13 0 6 5 12 8 12 28 37t30 40q-15 28-23 55l-102 15q-7 1-11 7t-5 13v124q0 7 5 13t10 7l104 16q8 25 22 51-23 32-60 77-6 7-6 14 0 5 5 12 15 20 55 60t53 40q7 0 15-5l77-60q24 13 50 21 9 76 17 104 3 16 20 16h124q7 0 13-5t7-12l15-103q28-9 51-20l79 59q5 5 13 5 7 0 14-5 72-67 92-95 4-5 4-12 0-7-4-13-9-12-29-37t-30-40q15-28 23-54l102-16q7-1 12-7t4-13z" horiz-adv-x="857.1" /> | |
56 |
|
56 | |||
57 | <glyph glyph-name="cog-alt" unicode="" d="M500 350q0 59-42 101t-101 42-101-42-42-101 42-101 101-42 101 42 42 101z m429-286q0 29-22 51t-50 21-50-21-21-51q0-29 21-50t50-21 51 21 21 50z m0 572q0 29-22 50t-50 21-50-21-21-50q0-30 21-51t50-21 51 21 21 51z m-215-235v-103q0-6-4-11t-8-6l-87-14q-6-19-18-42 19-27 50-64 4-6 4-11 0-7-4-11-12-17-46-50t-43-33q-7 0-12 4l-64 50q-21-11-43-17-6-60-13-87-4-13-17-13h-104q-6 0-11 4t-5 10l-13 85q-19 6-42 18l-66-50q-4-4-11-4-6 0-12 4-80 75-80 90 0 5 4 10 5 8 23 30t26 34q-13 24-20 46l-85 13q-5 1-9 5t-4 11v104q0 5 4 10t9 6l86 14q7 19 18 42-19 27-50 64-4 6-4 11 0 7 4 12 12 16 46 49t44 33q6 0 12-4l64-50q19 10 43 18 6 60 13 86 3 13 16 13h104q6 0 11-4t6-10l13-85q19-6 42-17l65 49q5 4 12 4 6 0 11-4 81-75 81-90 0-4-4-10-7-9-24-30t-25-34q13-27 19-46l85-12q6-2 9-6t4-11z m357-298v-78q0-9-83-17-6-15-16-29 28-63 28-77 0-2-2-4-68-40-69-40-5 0-26 27t-29 37q-11-1-17-1t-17 1q-7-11-29-37t-25-27q-1 0-69 40-3 2-3 4 0 14 29 77-10 14-17 29-83 8-83 17v78q0 9 83 18 7 16 17 29-29 63-29 77 0 2 3 4 2 1 19 11t33 19 17 9q4 0 25-26t29-38q12 1 17 1t17-1q28 40 51 63l4 1q2 0 69-39 2-2 2-4 0-14-28-77 9-13 16-29 83-9 83-18z m0 572v-78q0-9-83-18-6-15-16-29 28-63 28-77 0-2-2-4-68-39-69-39-5 0-26 26t-29 38q-11-1-17-1t-17 1q-7-12-29-38t-25-26q-1 0-69 39-3 2-3 4 0 14 29 77-10 14-17 29-83 9-83 18v78q0 9 83 17 7 16 17 29-29 63-29 77 0 2 3 4 2 1 19 11t33 19 17 9q4 0 25-26t29-37q12 1 17 1t17-1q28 39 51 62l4 1q2 0 69-39 2-2 2-4 0-14-28-77 9-13 16-29 83-8 83-17z" horiz-adv-x="1071.4" /> |
|
57 | <glyph glyph-name="cog-alt" unicode="" d="M500 350q0 59-42 101t-101 42-101-42-42-101 42-101 101-42 101 42 42 101z m429-286q0 29-22 51t-50 21-50-21-21-51q0-29 21-50t50-21 51 21 21 50z m0 572q0 29-22 50t-50 21-50-21-21-50q0-30 21-51t50-21 51 21 21 51z m-215-235v-103q0-6-4-11t-8-6l-87-14q-6-19-18-42 19-27 50-64 4-6 4-11 0-7-4-11-12-17-46-50t-43-33q-7 0-12 4l-64 50q-21-11-43-17-6-60-13-87-4-13-17-13h-104q-6 0-11 4t-5 10l-13 85q-19 6-42 18l-66-50q-4-4-11-4-6 0-12 4-80 75-80 90 0 5 4 10 5 8 23 30t26 34q-13 24-20 46l-85 13q-5 1-9 5t-4 11v104q0 5 4 10t9 6l86 14q7 19 18 42-19 27-50 64-4 6-4 11 0 7 4 12 12 16 46 49t44 33q6 0 12-4l64-50q19 10 43 18 6 60 13 86 3 13 16 13h104q6 0 11-4t6-10l13-85q19-6 42-17l65 49q5 4 12 4 6 0 11-4 81-75 81-90 0-4-4-10-7-9-24-30t-25-34q13-27 19-46l85-12q6-2 9-6t4-11z m357-298v-78q0-9-83-17-6-15-16-29 28-63 28-77 0-2-2-4-68-40-69-40-5 0-26 27t-29 37q-11-1-17-1t-17 1q-7-11-29-37t-25-27q-1 0-69 40-3 2-3 4 0 14 29 77-10 14-17 29-83 8-83 17v78q0 9 83 18 7 16 17 29-29 63-29 77 0 2 3 4 2 1 19 11t33 19 17 9q4 0 25-26t29-38q12 1 17 1t17-1q28 40 51 63l4 1q2 0 69-39 2-2 2-4 0-14-28-77 9-13 16-29 83-9 83-18z m0 572v-78q0-9-83-18-6-15-16-29 28-63 28-77 0-2-2-4-68-39-69-39-5 0-26 26t-29 38q-11-1-17-1t-17 1q-7-12-29-38t-25-26q-1 0-69 39-3 2-3 4 0 14 29 77-10 14-17 29-83 9-83 18v78q0 9 83 17 7 16 17 29-29 63-29 77 0 2 3 4 2 1 19 11t33 19 17 9q4 0 25-26t29-37q12 1 17 1t17-1q28 39 51 62l4 1q2 0 69-39 2-2 2-4 0-14-28-77 9-13 16-29 83-8 83-17z" horiz-adv-x="1071.4" /> | |
58 |
|
58 | |||
59 | <glyph glyph-name="eye" unicode="" d="M929 314q-85 132-213 197 34-58 34-125 0-103-73-177t-177-73-177 73-73 177q0 67 34 125-128-65-213-197 75-114 187-182t242-68 243 68 186 182z m-402 215q0 11-8 19t-19 7q-70 0-120-50t-50-119q0-11 8-19t19-8 19 8 8 19q0 48 34 82t82 34q11 0 19 8t8 19z m473-215q0-19-11-38-78-129-210-206t-279-77-279 77-210 206q-11 19-11 38t11 39q78 128 210 205t279 78 279-78 210-205q11-20 11-39z" horiz-adv-x="1000" /> |
|
59 | <glyph glyph-name="eye" unicode="" d="M929 314q-85 132-213 197 34-58 34-125 0-103-73-177t-177-73-177 73-73 177q0 67 34 125-128-65-213-197 75-114 187-182t242-68 243 68 186 182z m-402 215q0 11-8 19t-19 7q-70 0-120-50t-50-119q0-11 8-19t19-8 19 8 8 19q0 48 34 82t82 34q11 0 19 8t8 19z m473-215q0-19-11-38-78-129-210-206t-279-77-279 77-210 206q-11 19-11 38t11 39q78 128 210 205t279 78 279-78 210-205q11-20 11-39z" horiz-adv-x="1000" /> | |
60 |
|
60 | |||
61 | <glyph glyph-name="eye-off" unicode="" d="M310 105l43 79q-48 35-76 88t-27 114q0 67 34 125-128-65-213-197 94-144 239-209z m217 424q0 11-8 19t-19 7q-70 0-120-50t-50-119q0-11 8-19t19-8 19 8 8 19q0 48 34 82t82 34q11 0 19 8t8 19z m202 106q0-4 0-5-59-105-176-316t-176-316l-28-50q-5-9-15-9-7 0-75 39-9 6-9 16 0 7 25 49-80 36-147 96t-117 137q-11 17-11 38t11 39q86 131 212 207t277 76q50 0 100-10l31 54q5 9 15 9 3 0 10-3t18-9 18-10 18-10 10-7q9-5 9-15z m21-249q0-78-44-142t-117-91l157 280q4-25 4-47z m250-72q0-19-11-38-22-36-61-81-84-96-194-149t-234-53l41 74q119 10 219 76t169 171q-65 100-158 164l35 63q53-36 102-85t81-103q11-19 11-39z" horiz-adv-x="1000" /> |
|
61 | <glyph glyph-name="eye-off" unicode="" d="M310 105l43 79q-48 35-76 88t-27 114q0 67 34 125-128-65-213-197 94-144 239-209z m217 424q0 11-8 19t-19 7q-70 0-120-50t-50-119q0-11 8-19t19-8 19 8 8 19q0 48 34 82t82 34q11 0 19 8t8 19z m202 106q0-4 0-5-59-105-176-316t-176-316l-28-50q-5-9-15-9-7 0-75 39-9 6-9 16 0 7 25 49-80 36-147 96t-117 137q-11 17-11 38t11 39q86 131 212 207t277 76q50 0 100-10l31 54q5 9 15 9 3 0 10-3t18-9 18-10 18-10 10-7q9-5 9-15z m21-249q0-78-44-142t-117-91l157 280q4-25 4-47z m250-72q0-19-11-38-22-36-61-81-84-96-194-149t-234-53l41 74q119 10 219 76t169 171q-65 100-158 164l35 63q53-36 102-85t81-103q11-19 11-39z" horiz-adv-x="1000" /> | |
62 |
|
62 | |||
63 | <glyph glyph-name="cancel-circled2" unicode="" d="M612 248l-81-82q-6-5-13-5t-13 5l-76 77-77-77q-5-5-13-5t-12 5l-82 82q-6 6-6 13t6 13l76 76-76 77q-6 5-6 12t6 13l82 82q5 5 12 5t13-5l77-77 76 77q6 5 13 5t13-5l81-82q6-5 6-13t-6-12l-76-77 76-76q6-6 6-13t-6-13z m120 102q0 83-41 152t-110 111-152 41-153-41-110-111-41-152 41-152 110-111 153-41 152 41 110 111 41 152z m125 0q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" /> |
|
63 | <glyph glyph-name="cancel-circled2" unicode="" d="M612 248l-81-82q-6-5-13-5t-13 5l-76 77-77-77q-5-5-13-5t-12 5l-82 82q-6 6-6 13t6 13l76 76-76 77q-6 5-6 12t6 13l82 82q5 5 12 5t13-5l77-77 76 77q6 5 13 5t13-5l81-82q6-5 6-13t-6-12l-76-77 76-76q6-6 6-13t-6-13z m120 102q0 83-41 152t-110 111-152 41-153-41-110-111-41-152 41-152 110-111 153-41 152 41 110 111 41 152z m125 0q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" /> | |
64 |
|
64 | |||
65 | <glyph glyph-name="cancel-circled" unicode="" d="M641 224q0 14-10 25l-101 101 101 101q10 11 10 25 0 15-10 26l-51 50q-10 11-25 11-15 0-25-11l-101-101-101 101q-11 11-25 11-16 0-26-11l-50-50q-11-11-11-26 0-14 11-25l101-101-101-101q-11-11-11-25 0-15 11-26l50-50q10-11 26-11 14 0 25 11l101 101 101-101q10-11 25-11 15 0 25 11l51 50q10 11 10 26z m216 126q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" /> |
|
65 | <glyph glyph-name="cancel-circled" unicode="" d="M641 224q0 14-10 25l-101 101 101 101q10 11 10 25 0 15-10 26l-51 50q-10 11-25 11-15 0-25-11l-101-101-101 101q-11 11-25 11-16 0-26-11l-50-50q-11-11-11-26 0-14 11-25l101-101-101-101q-11-11-11-25 0-15 11-26l50-50q10-11 26-11 14 0 25 11l101 101 101-101q10-11 25-11 15 0 25 11l51 50q10 11 10 26z m216 126q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" /> | |
66 |
|
66 | |||
67 | <glyph glyph-name="plus" unicode="" d="M786 439v-107q0-22-16-38t-38-15h-232v-233q0-22-16-37t-38-16h-107q-22 0-38 16t-15 37v233h-232q-23 0-38 15t-16 38v107q0 23 16 38t38 16h232v232q0 22 15 38t38 16h107q23 0 38-16t16-38v-232h232q23 0 38-16t16-38z" horiz-adv-x="785.7" /> |
|
67 | <glyph glyph-name="plus" unicode="" d="M786 439v-107q0-22-16-38t-38-15h-232v-233q0-22-16-37t-38-16h-107q-22 0-38 16t-15 37v233h-232q-23 0-38 15t-16 38v107q0 23 16 38t38 16h232v232q0 22 15 38t38 16h107q23 0 38-16t16-38v-232h232q23 0 38-16t16-38z" horiz-adv-x="785.7" /> | |
68 |
|
68 | |||
69 | <glyph glyph-name="plus-circled" unicode="" d="M679 314v72q0 14-11 25t-25 10h-143v143q0 15-11 25t-25 11h-71q-15 0-25-11t-11-25v-143h-143q-14 0-25-10t-10-25v-72q0-14 10-25t25-10h143v-143q0-15 11-25t25-11h71q15 0 25 11t11 25v143h143q14 0 25 10t11 25z m178 36q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" /> |
|
69 | <glyph glyph-name="plus-circled" unicode="" d="M679 314v72q0 14-11 25t-25 10h-143v143q0 15-11 25t-25 11h-71q-15 0-25-11t-11-25v-143h-143q-14 0-25-10t-10-25v-72q0-14 10-25t25-10h143v-143q0-15 11-25t25-11h71q15 0 25 11t11 25v143h143q14 0 25 10t11 25z m178 36q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" /> | |
70 |
|
70 | |||
71 | <glyph glyph-name="minus-circled" unicode="" d="M679 314v72q0 14-11 25t-25 10h-429q-14 0-25-10t-10-25v-72q0-14 10-25t25-10h429q14 0 25 10t11 25z m178 36q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" /> |
|
71 | <glyph glyph-name="minus-circled" unicode="" d="M679 314v72q0 14-11 25t-25 10h-429q-14 0-25-10t-10-25v-72q0-14 10-25t25-10h429q14 0 25 10t11 25z m178 36q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" /> | |
72 |
|
72 | |||
73 | <glyph glyph-name="minus" unicode="" d="M786 439v-107q0-22-16-38t-38-15h-678q-23 0-38 15t-16 38v107q0 23 16 38t38 16h678q23 0 38-16t16-38z" horiz-adv-x="785.7" /> |
|
73 | <glyph glyph-name="minus" unicode="" d="M786 439v-107q0-22-16-38t-38-15h-678q-23 0-38 15t-16 38v107q0 23 16 38t38 16h678q23 0 38-16t16-38z" horiz-adv-x="785.7" /> | |
74 |
|
74 | |||
75 | <glyph glyph-name="info-circled" unicode="" d="M571 82v89q0 8-5 13t-12 5h-54v286q0 8-5 13t-13 5h-178q-8 0-13-5t-5-13v-89q0-8 5-13t13-5h53v-179h-53q-8 0-13-5t-5-13v-89q0-8 5-13t13-5h250q7 0 12 5t5 13z m-71 500v89q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-89q0-8 5-13t13-5h107q8 0 13 5t5 13z m357-232q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" /> |
|
75 | <glyph glyph-name="info-circled" unicode="" d="M571 82v89q0 8-5 13t-12 5h-54v286q0 8-5 13t-13 5h-178q-8 0-13-5t-5-13v-89q0-8 5-13t13-5h53v-179h-53q-8 0-13-5t-5-13v-89q0-8 5-13t13-5h250q7 0 12 5t5 13z m-71 500v89q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-89q0-8 5-13t13-5h107q8 0 13 5t5 13z m357-232q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" /> | |
76 |
|
76 | |||
77 | <glyph glyph-name="upload" unicode="" d="M714 29q0 14-10 25t-25 10-25-10-11-25 11-25 25-11 25 11 10 25z m143 0q0 14-10 25t-26 10-25-10-10-25 10-25 25-11 26 11 10 25z m72 125v-179q0-22-16-38t-38-16h-821q-23 0-38 16t-16 38v179q0 22 16 38t38 15h238q12-31 39-51t62-20h143q34 0 61 20t40 51h238q22 0 38-15t16-38z m-182 361q-9-22-33-22h-143v-250q0-15-10-25t-25-11h-143q-15 0-25 11t-11 25v250h-143q-23 0-33 22-9 22 8 39l250 250q10 10 25 10t25-10l250-250q18-17 8-39z" horiz-adv-x="928.6" /> |
|
77 | <glyph glyph-name="upload" unicode="" d="M714 29q0 14-10 25t-25 10-25-10-11-25 11-25 25-11 25 11 10 25z m143 0q0 14-10 25t-26 10-25-10-10-25 10-25 25-11 26 11 10 25z m72 125v-179q0-22-16-38t-38-16h-821q-23 0-38 16t-16 38v179q0 22 16 38t38 15h238q12-31 39-51t62-20h143q34 0 61 20t40 51h238q22 0 38-15t16-38z m-182 361q-9-22-33-22h-143v-250q0-15-10-25t-25-11h-143q-15 0-25 11t-11 25v250h-143q-23 0-33 22-9 22 8 39l250 250q10 10 25 10t25-10l250-250q18-17 8-39z" horiz-adv-x="928.6" /> | |
78 |
|
78 | |||
79 | <glyph glyph-name="home" unicode="" d="M888 336q16-16 11-27t-27-11l-84 0 0-310q0-14-1-21t-8-13-23-6l-204 0 0 310-204 0 0-310-194 0q-28 0-35 10t-7 30l0 310-84 0q-22 0-27 11t11 27l400 402q16 16 38 16t38-16z" horiz-adv-x="900" /> |
|
79 | <glyph glyph-name="home" unicode="" d="M888 336q16-16 11-27t-27-11l-84 0 0-310q0-14-1-21t-8-13-23-6l-204 0 0 310-204 0 0-310-194 0q-28 0-35 10t-7 30l0 310-84 0q-22 0-27 11t11 27l400 402q16 16 38 16t38-16z" horiz-adv-x="900" /> | |
80 |
|
80 | |||
|
81 | <glyph glyph-name="flag-filled" unicode="" d="M640 693q25 25 57 11t32-47l0-418q0-21-15-36-80-80-193-80t-193 80q-47 46-110 50t-114-36l0-238q0-21-15-37t-36-15-37 15-16 37l0 678q0 21 15 36 80 80 193 80t193-80q50-50 120-50t119 50z" horiz-adv-x="729" /> | |||
|
82 | ||||
81 | <glyph glyph-name="git" unicode="" d="M929 844h-858c-36 0-65-30-65-65v-857c0-36 30-65 65-65h857c36 0 65 30 65 65v857c1 35-29 65-64 65z m-729-549c4-11 9-20 14-27 6-8 14-14 22-18 9-4 19-6 29-6 9 0 16 1 24 2 7 2 14 4 20 7l6 51h-27c-4 0-8 1-10 4-2 1-3 5-3 7l5 39h105l-16-131c-8-7-16-12-25-15-9-4-18-8-28-10-10-3-18-5-30-7-10-1-21-2-33-2-20 0-38 4-54 11-16 8-30 18-41 30-12 13-20 28-27 45-6 18-10 36-10 56 0 18 3 34 7 50 3 17 10 30 17 44 8 14 16 25 26 36 10 12 22 20 34 28 13 7 26 14 41 17 15 4 30 7 47 7 13 0 25-2 36-4 11-3 21-6 29-10 8-4 16-9 22-14 6-5 13-11 18-16l-20-31c-4-5-9-8-14-9-5-1-10 0-16 4-5 3-10 6-14 8-5 3-9 5-14 7-5 1-10 2-15 3-5 2-11 2-17 2-14 0-27-3-38-9-11-6-21-14-29-25-8-10-15-24-18-38-5-15-7-31-7-48-1-14 2-27 4-38z m336-102h-71l39 315h71l-39-315z m343 258h-80l-33-258h-70l32 258h-80l7 57h231l-7-57z" horiz-adv-x="1000" /> |
|
83 | <glyph glyph-name="git" unicode="" d="M929 844h-858c-36 0-65-30-65-65v-857c0-36 30-65 65-65h857c36 0 65 30 65 65v857c1 35-29 65-64 65z m-729-549c4-11 9-20 14-27 6-8 14-14 22-18 9-4 19-6 29-6 9 0 16 1 24 2 7 2 14 4 20 7l6 51h-27c-4 0-8 1-10 4-2 1-3 5-3 7l5 39h105l-16-131c-8-7-16-12-25-15-9-4-18-8-28-10-10-3-18-5-30-7-10-1-21-2-33-2-20 0-38 4-54 11-16 8-30 18-41 30-12 13-20 28-27 45-6 18-10 36-10 56 0 18 3 34 7 50 3 17 10 30 17 44 8 14 16 25 26 36 10 12 22 20 34 28 13 7 26 14 41 17 15 4 30 7 47 7 13 0 25-2 36-4 11-3 21-6 29-10 8-4 16-9 22-14 6-5 13-11 18-16l-20-31c-4-5-9-8-14-9-5-1-10 0-16 4-5 3-10 6-14 8-5 3-9 5-14 7-5 1-10 2-15 3-5 2-11 2-17 2-14 0-27-3-38-9-11-6-21-14-29-25-8-10-15-24-18-38-5-15-7-31-7-48-1-14 2-27 4-38z m336-102h-71l39 315h71l-39-315z m343 258h-80l-33-258h-70l32 258h-80l7 57h231l-7-57z" horiz-adv-x="1000" /> | |
82 |
|
84 | |||
83 | <glyph glyph-name="hg" unicode="" d="M927 841h-853c-36 0-65-29-65-65v-853c0-36 29-65 65-65h853c36 0 65 29 65 65v853c0 36-29 65-65 65z m-483-648h-70l16 133h-113l-17-133h-70l39 313h70l-16-132h113l16 132h71l-39-313z m177 101c3-11 8-20 14-27 7-8 14-14 23-18 8-4 18-6 28-6 9 0 16 1 23 3 7 1 14 3 20 6l6 51h-27c-4 0-7 1-9 3-3 3-3 6-3 9l5 39h104l-16-131c-8-6-16-11-25-15-9-5-18-8-27-11-9-2-19-4-30-6-10-1-21-2-33-2-19 0-37 4-53 11-16 7-30 17-41 29-11 13-20 28-26 45-7 17-10 35-10 55 0 17 2 34 6 50 4 15 10 30 17 43 7 14 16 26 26 36 10 11 22 20 34 28 13 7 27 13 41 17 14 4 30 7 46 7 13 0 25-2 36-4 11-3 20-6 29-10 8-4 16-9 23-14 7-5 13-11 18-17l-23-28c-4-5-8-8-13-9-5-1-11 0-16 3-5 4-10 7-14 9-5 3-9 5-14 6-4 2-9 3-14 4-5 1-11 1-17 1-14 0-27-3-38-8-11-6-21-14-29-25-8-10-15-23-19-38-5-15-7-31-7-49 0-13 2-26 5-37z" horiz-adv-x="1000" /> |
|
85 | <glyph glyph-name="hg" unicode="" d="M927 841h-853c-36 0-65-29-65-65v-853c0-36 29-65 65-65h853c36 0 65 29 65 65v853c0 36-29 65-65 65z m-483-648h-70l16 133h-113l-17-133h-70l39 313h70l-16-132h113l16 132h71l-39-313z m177 101c3-11 8-20 14-27 7-8 14-14 23-18 8-4 18-6 28-6 9 0 16 1 23 3 7 1 14 3 20 6l6 51h-27c-4 0-7 1-9 3-3 3-3 6-3 9l5 39h104l-16-131c-8-6-16-11-25-15-9-5-18-8-27-11-9-2-19-4-30-6-10-1-21-2-33-2-19 0-37 4-53 11-16 7-30 17-41 29-11 13-20 28-26 45-7 17-10 35-10 55 0 17 2 34 6 50 4 15 10 30 17 43 7 14 16 26 26 36 10 11 22 20 34 28 13 7 27 13 41 17 14 4 30 7 46 7 13 0 25-2 36-4 11-3 20-6 29-10 8-4 16-9 23-14 7-5 13-11 18-17l-23-28c-4-5-8-8-13-9-5-1-11 0-16 3-5 4-10 7-14 9-5 3-9 5-14 6-4 2-9 3-14 4-5 1-11 1-17 1-14 0-27-3-38-8-11-6-21-14-29-25-8-10-15-23-19-38-5-15-7-31-7-49 0-13 2-26 5-37z" horiz-adv-x="1000" /> | |
84 |
|
86 | |||
85 | <glyph glyph-name="svn" unicode="" d="M933 841h-852c-36 0-65-29-65-65v-853c0-36 29-65 65-65h852c36 0 66 29 66 65v853c0 36-30 65-66 65z m-765-438c3-4 7-7 13-10 5-3 11-6 18-8 7-3 14-5 21-8 7-3 14-6 21-10 7-4 13-9 18-14 5-6 10-13 13-20 3-8 5-18 5-29 0-16-3-30-8-44-6-14-14-26-24-37-10-10-22-18-37-24-15-7-31-10-49-10-9 0-18 1-27 3s-18 5-27 9c-8 4-16 8-23 13-7 5-13 10-18 17l25 32c2 3 4 5 7 6 3 2 6 3 9 3 4 0 8-2 12-4 3-3 8-6 12-10 5-3 10-6 16-9 6-3 14-4 23-4 13 0 23 3 30 10 7 7 10 18 10 32 0 6-1 12-4 16-4 4-8 7-13 10-5 3-11 6-18 8-7 2-14 5-21 7-7 3-14 6-21 9-6 4-12 8-18 14-5 6-9 13-12 21-3 8-5 18-5 30 0 14 3 28 8 40 5 13 12 25 22 35 10 9 22 17 36 23 14 6 29 9 47 9 9 0 17-1 26-3s16-4 23-8c7-3 14-7 20-11 6-5 11-10 15-15l-21-29c-2-3-5-6-7-7-3-2-6-3-9-3-3 0-7 1-10 3-3 3-7 5-11 8-4 2-9 4-14 7-5 2-12 3-19 3-6 0-12-1-17-3-5-2-9-4-12-8-4-3-6-7-8-11-1-5-2-10-2-15 0-5 2-10 5-14z m312-210h-64l-77 313h57c6 0 10-1 14-4 4-3 6-6 7-11l32-173c2-7 4-14 6-23 1-8 3-17 4-26 3 9 6 18 9 26 4 9 7 16 11 23l73 173c1 2 2 4 4 6 2 2 4 3 6 5 2 1 4 2 7 3 3 1 5 1 8 1h57l-154-313z m423 0h-37c-5 0-10 1-13 2-4 2-7 5-10 9l-109 194c-1-4-1-8-1-12-1-4-1-7-1-10l-22-183h-62l39 313h37c3 0 6 0 8 0 2 0 4-1 5-1 2-1 3-2 4-4s3-3 5-5l110-194c0 5 0 10 1 14 0 5 1 9 1 13l21 177h62l-38-313z" horiz-adv-x="1000" /> |
|
87 | <glyph glyph-name="svn" unicode="" d="M933 841h-852c-36 0-65-29-65-65v-853c0-36 29-65 65-65h852c36 0 66 29 66 65v853c0 36-30 65-66 65z m-765-438c3-4 7-7 13-10 5-3 11-6 18-8 7-3 14-5 21-8 7-3 14-6 21-10 7-4 13-9 18-14 5-6 10-13 13-20 3-8 5-18 5-29 0-16-3-30-8-44-6-14-14-26-24-37-10-10-22-18-37-24-15-7-31-10-49-10-9 0-18 1-27 3s-18 5-27 9c-8 4-16 8-23 13-7 5-13 10-18 17l25 32c2 3 4 5 7 6 3 2 6 3 9 3 4 0 8-2 12-4 3-3 8-6 12-10 5-3 10-6 16-9 6-3 14-4 23-4 13 0 23 3 30 10 7 7 10 18 10 32 0 6-1 12-4 16-4 4-8 7-13 10-5 3-11 6-18 8-7 2-14 5-21 7-7 3-14 6-21 9-6 4-12 8-18 14-5 6-9 13-12 21-3 8-5 18-5 30 0 14 3 28 8 40 5 13 12 25 22 35 10 9 22 17 36 23 14 6 29 9 47 9 9 0 17-1 26-3s16-4 23-8c7-3 14-7 20-11 6-5 11-10 15-15l-21-29c-2-3-5-6-7-7-3-2-6-3-9-3-3 0-7 1-10 3-3 3-7 5-11 8-4 2-9 4-14 7-5 2-12 3-19 3-6 0-12-1-17-3-5-2-9-4-12-8-4-3-6-7-8-11-1-5-2-10-2-15 0-5 2-10 5-14z m312-210h-64l-77 313h57c6 0 10-1 14-4 4-3 6-6 7-11l32-173c2-7 4-14 6-23 1-8 3-17 4-26 3 9 6 18 9 26 4 9 7 16 11 23l73 173c1 2 2 4 4 6 2 2 4 3 6 5 2 1 4 2 7 3 3 1 5 1 8 1h57l-154-313z m423 0h-37c-5 0-10 1-13 2-4 2-7 5-10 9l-109 194c-1-4-1-8-1-12-1-4-1-7-1-10l-22-183h-62l39 313h37c3 0 6 0 8 0 2 0 4-1 5-1 2-1 3-2 4-4s3-3 5-5l110-194c0 5 0 10 1 14 0 5 1 9 1 13l21 177h62l-38-313z" horiz-adv-x="1000" /> | |
86 |
|
88 | |||
87 | <glyph glyph-name="comment-add" unicode="" d="M952 258v317c0 7 0 13 0 20-1 12-4 24-8 36-7 22-20 43-37 59-16 17-36 30-58 37-12 4-25 7-37 8-7 1-13 1-19 1h-576c-13 0-26 0-38-2-13-2-25-5-36-10-22-9-41-23-57-40-15-18-27-39-33-62-3-12-5-25-5-38-1-13 0-26 0-39v-557c0-9 5-17 13-21 6-3 15-3 21 0 3 1 5 3 7 5 2 2 4 5 7 7 4 5 9 9 14 14l28 28c9 10 19 19 28 29 9 9 19 18 28 27 4 5 8 9 14 10 2 1 5 1 8 1h567c13 0 25 0 38 2 24 4 47 13 66 27 19 13 35 31 46 51 12 22 19 46 19 71 1 6 0 13 0 19z m-69 307v-317c0-7 0-13 0-19-1-6-3-13-5-18-4-10-9-20-16-28-15-17-37-27-59-28-7 0-13 0-19 0h-576c-7 0-13 0-20 0-3 0-6 0-9-1-3-1-5-2-7-4-2-2-4-4-6-6-3-2-5-4-7-7-5-4-10-9-14-14-10-9-19-18-28-28v485c0 12 2 24 7 35 4 10 10 19 18 27 16 16 38 25 60 25h590c6 0 12 0 18-1 22-3 42-15 56-33 7-9 12-20 15-31 1-5 2-12 2-18 1-6 0-13 0-19z m-214-117h-131c-4 0-11 8-11 12v126c0 8-8 16-12 16h-50c-7 0-15-8-15-12v-130c0-4-8-12-12-12h-126c-8 0-16-8-16-11v-50c0-8 8-16 12-16h127c7 0 15-7 15-11v-127c0-8 8-15 11-15h50c8 0 16 7 16 11v127c0 8 7 15 11 15h127c8 0 15 8 15 12v50c0 7-7 15-11 15z" horiz-adv-x="1000" /> |
|
89 | <glyph glyph-name="comment-add" unicode="" d="M952 258v317c0 7 0 13 0 20-1 12-4 24-8 36-7 22-20 43-37 59-16 17-36 30-58 37-12 4-25 7-37 8-7 1-13 1-19 1h-576c-13 0-26 0-38-2-13-2-25-5-36-10-22-9-41-23-57-40-15-18-27-39-33-62-3-12-5-25-5-38-1-13 0-26 0-39v-557c0-9 5-17 13-21 6-3 15-3 21 0 3 1 5 3 7 5 2 2 4 5 7 7 4 5 9 9 14 14l28 28c9 10 19 19 28 29 9 9 19 18 28 27 4 5 8 9 14 10 2 1 5 1 8 1h567c13 0 25 0 38 2 24 4 47 13 66 27 19 13 35 31 46 51 12 22 19 46 19 71 1 6 0 13 0 19z m-69 307v-317c0-7 0-13 0-19-1-6-3-13-5-18-4-10-9-20-16-28-15-17-37-27-59-28-7 0-13 0-19 0h-576c-7 0-13 0-20 0-3 0-6 0-9-1-3-1-5-2-7-4-2-2-4-4-6-6-3-2-5-4-7-7-5-4-10-9-14-14-10-9-19-18-28-28v485c0 12 2 24 7 35 4 10 10 19 18 27 16 16 38 25 60 25h590c6 0 12 0 18-1 22-3 42-15 56-33 7-9 12-20 15-31 1-5 2-12 2-18 1-6 0-13 0-19z m-214-117h-131c-4 0-11 8-11 12v126c0 8-8 16-12 16h-50c-7 0-15-8-15-12v-130c0-4-8-12-12-12h-126c-8 0-16-8-16-11v-50c0-8 8-16 12-16h127c7 0 15-7 15-11v-127c0-8 8-15 11-15h50c8 0 16 7 16 11v127c0 8 7 15 11 15h127c8 0 15 8 15 12v50c0 7-7 15-11 15z" horiz-adv-x="1000" /> | |
88 |
|
90 | |||
89 | <glyph glyph-name="comment-toggle" unicode="" d="M798 736h-596c-85 0-154-69-154-155v-593c0-19 22-29 36-20 2 1 5 3 7 5l109 109c2 2 5 4 8 5 2 1 4 1 6 1h584c85 0 154 69 154 155v338c0 86-69 155-154 155z m-680-639v484c0 47 38 85 86 85h476c-86-84-504-511-509-515l-53-54z" horiz-adv-x="1000" /> |
|
91 | <glyph glyph-name="comment-toggle" unicode="" d="M798 736h-596c-85 0-154-69-154-155v-593c0-19 22-29 36-20 2 1 5 3 7 5l109 109c2 2 5 4 8 5 2 1 4 1 6 1h584c85 0 154 69 154 155v338c0 86-69 155-154 155z m-680-639v484c0 47 38 85 86 85h476c-86-84-504-511-509-515l-53-54z" horiz-adv-x="1000" /> | |
90 |
|
92 | |||
91 | <glyph glyph-name="rhodecode" unicode="" d="M175 633c-2-4-3-8-4-12-3-10-6-20-9-30-3-13-7-25-11-38-3-11-6-23-10-35-2-7-4-15-6-22-1-1-1-2-1-4 0 0 0 0 0 0 0-1 1-2 1-2 2-7 5-14 7-21 4-11 8-22 12-33 4-12 9-25 13-37 4-11 8-23 12-34 3-7 5-14 7-21 1-1 1-2 2-3 0-1 1-1 1-2 4-6 8-12 11-17 7-10 13-19 19-29 7-11 14-22 22-33 6-10 13-21 20-31 5-7 9-15 14-22 1-2 3-4 4-5 0-1 1-1 1-2 3-3 6-5 8-8 7-6 13-12 19-19 9-8 17-16 25-24 10-10 19-19 29-28 9-9 18-18 27-27 8-8 16-15 23-23 5-5 11-10 16-15 1-1 3-3 5-5 7-5 14-10 21-15 11-8 21-15 31-23 4-2 7-5 11-7 0-1 1-2 2-2 0 0 0-1 1 0 7 3 14 7 21 11 11 6 23 11 34 17 6 4 12 7 19 10 0 0 0 1 1 1 1 2 2 3 3 5 4 5 8 10 13 15 6 8 12 16 18 24 8 9 15 19 23 28 8 11 16 21 24 31 8 11 16 21 24 31 8 10 15 19 23 28 6 8 12 16 18 24 4 5 8 10 12 15 2 2 3 3 4 5 0 0 0 0 0 0-1 1-2 1-3 1-3 0-6 1-9 2-5 1-10 2-15 3-6 2-13 4-20 5-8 3-16 5-24 7-9 3-19 6-28 9-10 3-21 7-31 11-12 4-23 8-34 13-12 5-24 10-36 15-13 6-26 12-38 18-13 7-26 14-39 21-13 7-27 15-39 23-14 9-27 17-40 27-13 9-26 19-39 29-13 11-25 22-37 33-13 11-25 23-36 36-12 13-23 26-34 40-11 14-21 28-31 43-9 15-19 31-27 47 0 1 0 1 0 1z m-3 3c-1-5-3-9-4-14-3-10-7-21-10-32-4-12-8-25-12-37-3-10-6-20-9-30-1-3-2-6-3-8 0-1 0-2 0-2 1-5 3-10 5-15 3-10 6-20 10-30 4-12 8-24 12-37 4-12 8-24 12-36 3-9 6-18 9-26 1-3 1-5 2-8 0 0 1-1 1-2 2-4 5-8 7-12 5-10 10-19 15-28 6-11 12-23 19-34 6-11 12-22 18-33 4-8 8-15 12-23 1-2 2-4 4-6 4-5 8-9 13-14 7-8 15-16 23-24 9-10 18-20 26-29 9-9 17-18 25-26 5-6 10-11 15-17 2-1 3-3 5-5 5-5 11-11 17-17 9-8 17-17 26-26 9-9 18-18 27-27 7-7 14-14 21-21 2-2 3-3 5-5 0 0 1-1 1-1 0 0 1 0 1 0 11 2 22 3 32 5 9 1 17 2 26 3 0 0 1 1 1 1 1 1 2 3 4 4 4 5 9 10 13 15 7 8 14 15 20 22 9 9 17 18 25 27 9 10 18 20 27 30 8 9 17 19 26 29 8 9 16 17 24 26 7 7 13 15 20 22 4 5 8 9 13 14 1 1 2 2 3 3 0 1 1 1 1 1 0 1-3 1-3 1-3 1-7 2-10 3-4 2-9 3-14 5-6 2-13 4-19 6-8 3-16 6-24 9-9 3-18 7-27 11-10 4-20 8-30 13-11 5-22 10-33 16-12 5-23 11-35 18-12 6-24 13-36 20-12 8-25 16-37 24-13 8-25 17-37 26-13 10-25 19-38 29-12 11-24 21-36 33-12 11-24 23-35 35-11 13-22 25-33 39-10 13-21 27-30 42-10 15-19 30-27 45-9 16-17 32-24 48z m-2 10c-1-4-2-8-3-11-1-10-3-19-5-29-2-12-5-25-7-37-3-13-5-26-8-39-1-10-3-20-5-30-1-5-2-10-3-15 0-1 0-1 0-2 1-3 2-5 3-8 3-9 7-19 10-29 4-12 9-25 13-37 4-11 8-22 11-33 2-5 4-11 6-16 0-1 1-2 1-2 1-3 2-5 4-7 4-9 8-18 13-27 6-12 11-23 17-35 6-11 11-22 17-33 3-7 7-14 11-21 0-2 1-3 1-4 1-1 2-1 2-2 5-6 9-11 14-17 8-9 15-18 22-27 9-10 17-20 26-30 7-9 15-18 22-27 5-6 10-11 15-17 0-1 1-2 2-3 0 0 0 0 0 0 1-1 2-1 3-2 7-4 14-9 21-14 10-7 21-14 31-22 11-7 21-14 31-20 6-4 12-9 18-13 3-2 7-5 10-8 10-8 19-16 29-24 7-5 13-11 20-17 1 0 1 0 1 1 1 1 2 2 3 3 4 4 8 8 12 13 6 6 12 13 18 20 8 8 16 17 23 25 9 10 18 19 26 29 9 9 18 19 27 29 9 9 18 19 26 28 8 9 16 17 23 26 6 6 13 13 19 20 4 4 7 8 11 12 1 2 3 3 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0-3 1-3 1-3 1-6 2-9 2-5 2-10 4-15 5-6 2-12 5-18 7-8 3-16 6-24 9-8 4-17 8-26 12-10 4-20 9-30 13-11 6-22 11-32 16-12 6-23 13-35 19-12 7-23 14-35 21-13 8-25 16-37 24-12 8-25 17-37 26-12 9-24 19-36 29-13 10-25 21-36 32-12 11-24 22-35 34-12 12-22 25-33 38-11 13-21 26-30 40-10 14-19 29-28 44-9 15-17 30-24 46-4 10-8 20-12 30z m696 21c-2 4-5 7-9 9-5 3-11 5-16 8-11 4-23 9-34 13-23 8-47 14-71 20-24 6-49 12-74 17-25 6-50 10-76 15-25 4-50 8-75 10-13 1-26 1-39 0-6-1-13-2-19-3-6-1-13-2-19-3-26-4-51-9-77-14-25-5-50-10-75-16-25-5-49-12-74-20-12-4-24-9-36-13-6-3-11-5-17-8-3-1-6-2-9-3-3-1-5-2-8-4-4-2-7-5-10-9-1-2-2-4-3-7-1-3-2-6-3-9-4-11-7-24-9-36-5-24-7-49-6-74 0-13 1-25 3-38 1-12 3-25 5-37 5-25 12-50 20-74 4-12 8-24 13-36 4-11 10-22 15-33 10-21 21-42 34-62 12-20 25-39 39-58 14-19 28-37 43-55 16-18 33-36 50-54 17-18 34-35 52-52 18-17 36-33 55-49 10-7 19-15 28-22 10-8 19-15 28-23 2-2 5-4 7-7 0 0 1-1 1-1 0 0 1 0 1 0 0 0 1 0 2 0 4 4 9 8 14 11 9 8 19 15 28 23 18 15 36 31 54 47 18 16 35 32 52 49 17 16 33 34 49 51 16 18 32 37 47 56 14 18 28 38 41 57 13 20 25 40 36 61 11 21 21 43 30 65 9 22 17 45 23 68 6 23 11 47 13 70 3 24 3 49 2 73 0 3-1 6-2 9 0 3-1 6-2 9-1 6-2 12-3 18-3 11-5 22-8 33-4 9-7 19-11 28-2 5 13-29 0 0z m-51-210c-7-25-15-49-26-73-9-22-19-44-30-64-12-21-24-40-37-59-13-19-27-38-42-56-15-18-31-36-47-54-17-18-34-36-52-53-18-17-37-34-56-50-9-7-19-15-28-23-1 0-2-1-2-1-1 0-2 0-2 0-1 0-2 1-2 1 0 0-1 1-1 1-2 1-3 3-4 4-4 3-9 7-14 11-2 1-4 3-7 5-2 2-4 4-6 6-5 4-9 8-14 13-9 8-18 17-27 25-10 9-18 18-27 27-4 4-8 9-13 13-4 4-8 9-12 13-17 17-33 35-49 53-15 18-30 37-44 57-14 20-27 40-38 61-12 21-23 42-32 64-10 22-18 45-25 67-2 6-4 12-5 19-1 6-2 12-3 19-2 13-4 26-4 39-1 13-2 26-1 39 0 12 1 25 3 37 0 4 0 7 1 10 0 1 0 3 0 5 1 1 1 3 1 4 0 3 1 5 2 7 0 2 0 3 0 4 0 1 1 2 2 3 1 0 2 1 3 2 0 0 1 0 1 1 1 0 2 0 3 1 3 1 6 2 9 3 6 2 12 5 18 7 23 8 47 16 72 23 12 3 24 6 37 9 6 1 12 2 18 4 7 1 13 2 19 4 26 5 51 9 77 13 13 1 26 3 39 5 3 0 7 1 10 1 1 1 3 1 4 1 2 0 3 0 4 0 6 0 12 0 17-1 1 0 2-1 4-1 1 0 3-1 4-1 3 0 6-1 9-1 7-1 13-2 19-3 13-2 25-4 38-6 25-4 51-8 76-13 25-6 50-12 75-19 12-4 24-8 37-12 6-2 12-4 18-6 3-1 6-2 9-3 1-1 3-1 4-2 1 0 1 0 2 0 1-1 2-1 2-1 2-2 3-2 4-4 1-1 1-1 1-2 0-1 0-2 0-2 1-1 1-2 1-3 2-6 3-13 4-19 1-7 2-13 3-20 0-3 0-6 0-9 0-1 0-2 0-2 0-1 0-2 0-3 1-1 1-3 1-5 5-23 7-48 5-72-1-13-3-26-6-38-8-29 8 35 0 0z m-197 0c-2 4-3 9-5 13 0 1 0 1 0 2-1 0 0 1-1 1 0 1 0 2 0 2 0 1-1 2-1 3-1 2-3 4-4 5-2 2-5 4-7 4 2 2 4 3 7 5 1 1 2 2 3 2 1 1 2 1 2 2 0 1 0 1 0 2 1 0 1 1 2 1 0 1 1 2 1 4 0 2 0 4 0 6 0 3 0 5 0 7 0 3 0 5-1 7-1 6-4 10-8 14-1 2-3 3-5 4-3 2-5 4-8 5-3 1-6 2-9 3-3 0-5 0-7 0-3 0-6 0-8 0-13 0-25 0-37 0-5 0-10 0-14 0-1 0-2 0-3 0 0 0 0-4 0-5 0-3 0-6 0-9 0-1 0-2 0-3 0-1 0-1 1-1 1 0 12 0 12 0 0-8 0-16 0-24 0-13 0-25 0-38 0-4 0-7 0-11 0 0 0-1 0-1-3 0-5 0-8 0-1 0-2 0-4 0 0 0-1 0-1-1 0-2 0-4 0-6 0-1 0-14 0-14 10 0 19 0 29 0 5 0 11 0 16 0 1 0 3 0 4 0 0 0 0 3 0 3 0 6 0 11 0 17 0 1 0 1-1 1-1 0-2 0-4 0-1 0-3 0-4 0 0 0-1-1-1 0 0 5 0 10 0 15 0 2 0 5 0 8 0 1 0 1 0 2 0 0 0 0 1 0 2 0 5 0 8 0 2 0 4 0 6 0 1 0 3 0 4 0 1 0 2-1 3-2 1-1 2-2 3-3 0-1 0-1 0-2 0-2 1-3 1-4 1-1 1-2 2-3 0-1 0-1 0-1 0-1 0-2 0-2 1-6 2-12 3-17 1-3 1-5 2-8 0 0 0-1 0-1 0 0 0 0 0 0 11 0 21 0 32 0 0 0 1 0 1 0 0 0 0 0 0 0 0 3 0 5 0 8 0 5 0 10 0 15 0 0 0 0 0 0-1-2-1-4-2-5z m-26 53c0-2-3-3-4-4-1 0-1-1-1-1 0 0-1 0-1 0 0 0-1 0-1 0-1-1-1-2-2-2-1 0-2 0-3 0-2 0-4 0-5 0-1 0-2 0-2 0-3 0-7 0-10 0 0 0-4 0-4 0 0 9 0 19 0 28 0 0 13 0 14 0 4 0 8 0 12-1 1 0 3-1 4-2 1 0 2-1 3-2 1-2 2-4 3-6 0-1 0-1 0-2-1-1-1-1-1-2-1-1-1-1-1-2-1-1-1-2-1-4z m131-53c0 9 0 18 0 27 0 9-2 18-8 24-7 7-19 8-28 7-2 0-4 0-6-1-1 0-1-1-2-2-1 0-2 0-2-1-3-1-6-3-8-6 0 9 0 18 0 27 0 6 0 12 0 18 0 2 0 3 0 5 0 1 0 1 0 1-11 0-22 0-32 0-1 0-3 0-4 0 0 0 0-4 0-4 0-5 0-11 0-16 0 0 1 0 1 0 1 0 3 0 4 0 3 0 5 0 8 0 0 0 0-5 0-6 0-11 0-23 0-34 0-11 0-22 0-33 0-1 0-2 0-3 0-1 0-1-1-1-3 0-6 0-9 0-1 0-2 0-3 0 0 0 0-1 0-1 0-6 0-11 0-17 0-1 0-1 0-2 0 0 0 0 0 0 2 0 3 0 4 0 12 0 24 0 36 0 0 0 9 0 9 0 0 5 0 10 0 15 0 1 0 3 0 5 0 0-6 0-7 0 0 0-6 0-6 0 0 1 0 3 0 4 0 6 0 12 0 18 0 3 0 5 0 7 0 1 0 1 0 2 0 0 1 1 2 2 1 1 2 2 3 2 1 1 1 1 2 1 1 0 1 0 1 1 2 1 3 1 4 1 3 1 5 0 7-1 1-1 2-2 3-3 1-1 2-2 2-3 1-2 1-4 1-6 0-3 0-7 0-11 0-11 0-22 0-33 0-1 0-2 1-2 1 0 3 0 5 0 6 0 12 0 19 0 3 0 7 0 11 0 0 0 0 14 0 15 0 2 0 4 0 6-2-1-5-2-7-2z m7 122c-2 0-5 0-7 0-1 0-2 0-3 0 0 0 0 0 0 0-3-5-7-10-10-14-1-2-3-5-4-7 0 0-1-1-1-2 0 0 0-1 0-1 0-1 0-4 0-4 0 0 1 0 2 0 3 0 5 0 8 0 3 0 5 0 8 0 0 0 0-1 0-1 0-1 0-3 0-4 0-2 0-3 0-4 0-1 0-1 1-1 1 0 3 0 4 0 1 0 2 0 2 0 0 3 0 6 0 8 0 1 0 2 1 2 1 0 2 0 4 0 0 0 0 0 0 0 0 1 0 1 0 2 0 0 0 3 0 3-1 0-2 0-3 0-1 0-2 0-2 1 0 7 0 15 0 22z m-7-15c0-1 0-2 0-4 0-1 0-1 0-2 0 0 0-1 0-2 0 0-1 0-1 0-1 0-2 0-3 0-1 0-3 0-4 0 1 2 3 4 4 6 1 1 1 2 2 3 1 2 2 4 2 7 0-3 0-5 0-8z m41-2c-3 2-8 2-11 2-1 0-2 0-2 0 0 0 0 1 0 1 0 2 0 3 0 4 0 0 13 0 14 0 1 0 1 0 1 1 0 1 0 2 0 4 0 1 0 2 0 3 0 0-1 0-1 0-6 0-11 0-17 0-1 0-1 0-2 0 0 0 0-1 0-1-1-2-1-4-1-6-1-5-1-9-2-14 4 0 9 1 12-1 3-1 4-4 4-7-1-4-5-4-7-4-2 0-9-1-9 2-1-2-1-5-2-8 1 0 3-1 5-1 2-1 5-1 7-1 4 0 8 2 11 5 2 3 2 7 2 11 0 2 0 5 0 7 0 1-1 2-2 3 0 0 0 0 0 0-3 2 2 0 0 0z" horiz-adv-x="1000" /> |
|
93 | <glyph glyph-name="rhodecode" unicode="" d="M175 633c-2-4-3-8-4-12-3-10-6-20-9-30-3-13-7-25-11-38-3-11-6-23-10-35-2-7-4-15-6-22-1-1-1-2-1-4 0 0 0 0 0 0 0-1 1-2 1-2 2-7 5-14 7-21 4-11 8-22 12-33 4-12 9-25 13-37 4-11 8-23 12-34 3-7 5-14 7-21 1-1 1-2 2-3 0-1 1-1 1-2 4-6 8-12 11-17 7-10 13-19 19-29 7-11 14-22 22-33 6-10 13-21 20-31 5-7 9-15 14-22 1-2 3-4 4-5 0-1 1-1 1-2 3-3 6-5 8-8 7-6 13-12 19-19 9-8 17-16 25-24 10-10 19-19 29-28 9-9 18-18 27-27 8-8 16-15 23-23 5-5 11-10 16-15 1-1 3-3 5-5 7-5 14-10 21-15 11-8 21-15 31-23 4-2 7-5 11-7 0-1 1-2 2-2 0 0 0-1 1 0 7 3 14 7 21 11 11 6 23 11 34 17 6 4 12 7 19 10 0 0 0 1 1 1 1 2 2 3 3 5 4 5 8 10 13 15 6 8 12 16 18 24 8 9 15 19 23 28 8 11 16 21 24 31 8 11 16 21 24 31 8 10 15 19 23 28 6 8 12 16 18 24 4 5 8 10 12 15 2 2 3 3 4 5 0 0 0 0 0 0-1 1-2 1-3 1-3 0-6 1-9 2-5 1-10 2-15 3-6 2-13 4-20 5-8 3-16 5-24 7-9 3-19 6-28 9-10 3-21 7-31 11-12 4-23 8-34 13-12 5-24 10-36 15-13 6-26 12-38 18-13 7-26 14-39 21-13 7-27 15-39 23-14 9-27 17-40 27-13 9-26 19-39 29-13 11-25 22-37 33-13 11-25 23-36 36-12 13-23 26-34 40-11 14-21 28-31 43-9 15-19 31-27 47 0 1 0 1 0 1z m-3 3c-1-5-3-9-4-14-3-10-7-21-10-32-4-12-8-25-12-37-3-10-6-20-9-30-1-3-2-6-3-8 0-1 0-2 0-2 1-5 3-10 5-15 3-10 6-20 10-30 4-12 8-24 12-37 4-12 8-24 12-36 3-9 6-18 9-26 1-3 1-5 2-8 0 0 1-1 1-2 2-4 5-8 7-12 5-10 10-19 15-28 6-11 12-23 19-34 6-11 12-22 18-33 4-8 8-15 12-23 1-2 2-4 4-6 4-5 8-9 13-14 7-8 15-16 23-24 9-10 18-20 26-29 9-9 17-18 25-26 5-6 10-11 15-17 2-1 3-3 5-5 5-5 11-11 17-17 9-8 17-17 26-26 9-9 18-18 27-27 7-7 14-14 21-21 2-2 3-3 5-5 0 0 1-1 1-1 0 0 1 0 1 0 11 2 22 3 32 5 9 1 17 2 26 3 0 0 1 1 1 1 1 1 2 3 4 4 4 5 9 10 13 15 7 8 14 15 20 22 9 9 17 18 25 27 9 10 18 20 27 30 8 9 17 19 26 29 8 9 16 17 24 26 7 7 13 15 20 22 4 5 8 9 13 14 1 1 2 2 3 3 0 1 1 1 1 1 0 1-3 1-3 1-3 1-7 2-10 3-4 2-9 3-14 5-6 2-13 4-19 6-8 3-16 6-24 9-9 3-18 7-27 11-10 4-20 8-30 13-11 5-22 10-33 16-12 5-23 11-35 18-12 6-24 13-36 20-12 8-25 16-37 24-13 8-25 17-37 26-13 10-25 19-38 29-12 11-24 21-36 33-12 11-24 23-35 35-11 13-22 25-33 39-10 13-21 27-30 42-10 15-19 30-27 45-9 16-17 32-24 48z m-2 10c-1-4-2-8-3-11-1-10-3-19-5-29-2-12-5-25-7-37-3-13-5-26-8-39-1-10-3-20-5-30-1-5-2-10-3-15 0-1 0-1 0-2 1-3 2-5 3-8 3-9 7-19 10-29 4-12 9-25 13-37 4-11 8-22 11-33 2-5 4-11 6-16 0-1 1-2 1-2 1-3 2-5 4-7 4-9 8-18 13-27 6-12 11-23 17-35 6-11 11-22 17-33 3-7 7-14 11-21 0-2 1-3 1-4 1-1 2-1 2-2 5-6 9-11 14-17 8-9 15-18 22-27 9-10 17-20 26-30 7-9 15-18 22-27 5-6 10-11 15-17 0-1 1-2 2-3 0 0 0 0 0 0 1-1 2-1 3-2 7-4 14-9 21-14 10-7 21-14 31-22 11-7 21-14 31-20 6-4 12-9 18-13 3-2 7-5 10-8 10-8 19-16 29-24 7-5 13-11 20-17 1 0 1 0 1 1 1 1 2 2 3 3 4 4 8 8 12 13 6 6 12 13 18 20 8 8 16 17 23 25 9 10 18 19 26 29 9 9 18 19 27 29 9 9 18 19 26 28 8 9 16 17 23 26 6 6 13 13 19 20 4 4 7 8 11 12 1 2 3 3 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0-3 1-3 1-3 1-6 2-9 2-5 2-10 4-15 5-6 2-12 5-18 7-8 3-16 6-24 9-8 4-17 8-26 12-10 4-20 9-30 13-11 6-22 11-32 16-12 6-23 13-35 19-12 7-23 14-35 21-13 8-25 16-37 24-12 8-25 17-37 26-12 9-24 19-36 29-13 10-25 21-36 32-12 11-24 22-35 34-12 12-22 25-33 38-11 13-21 26-30 40-10 14-19 29-28 44-9 15-17 30-24 46-4 10-8 20-12 30z m696 21c-2 4-5 7-9 9-5 3-11 5-16 8-11 4-23 9-34 13-23 8-47 14-71 20-24 6-49 12-74 17-25 6-50 10-76 15-25 4-50 8-75 10-13 1-26 1-39 0-6-1-13-2-19-3-6-1-13-2-19-3-26-4-51-9-77-14-25-5-50-10-75-16-25-5-49-12-74-20-12-4-24-9-36-13-6-3-11-5-17-8-3-1-6-2-9-3-3-1-5-2-8-4-4-2-7-5-10-9-1-2-2-4-3-7-1-3-2-6-3-9-4-11-7-24-9-36-5-24-7-49-6-74 0-13 1-25 3-38 1-12 3-25 5-37 5-25 12-50 20-74 4-12 8-24 13-36 4-11 10-22 15-33 10-21 21-42 34-62 12-20 25-39 39-58 14-19 28-37 43-55 16-18 33-36 50-54 17-18 34-35 52-52 18-17 36-33 55-49 10-7 19-15 28-22 10-8 19-15 28-23 2-2 5-4 7-7 0 0 1-1 1-1 0 0 1 0 1 0 0 0 1 0 2 0 4 4 9 8 14 11 9 8 19 15 28 23 18 15 36 31 54 47 18 16 35 32 52 49 17 16 33 34 49 51 16 18 32 37 47 56 14 18 28 38 41 57 13 20 25 40 36 61 11 21 21 43 30 65 9 22 17 45 23 68 6 23 11 47 13 70 3 24 3 49 2 73 0 3-1 6-2 9 0 3-1 6-2 9-1 6-2 12-3 18-3 11-5 22-8 33-4 9-7 19-11 28-2 5 13-29 0 0z m-51-210c-7-25-15-49-26-73-9-22-19-44-30-64-12-21-24-40-37-59-13-19-27-38-42-56-15-18-31-36-47-54-17-18-34-36-52-53-18-17-37-34-56-50-9-7-19-15-28-23-1 0-2-1-2-1-1 0-2 0-2 0-1 0-2 1-2 1 0 0-1 1-1 1-2 1-3 3-4 4-4 3-9 7-14 11-2 1-4 3-7 5-2 2-4 4-6 6-5 4-9 8-14 13-9 8-18 17-27 25-10 9-18 18-27 27-4 4-8 9-13 13-4 4-8 9-12 13-17 17-33 35-49 53-15 18-30 37-44 57-14 20-27 40-38 61-12 21-23 42-32 64-10 22-18 45-25 67-2 6-4 12-5 19-1 6-2 12-3 19-2 13-4 26-4 39-1 13-2 26-1 39 0 12 1 25 3 37 0 4 0 7 1 10 0 1 0 3 0 5 1 1 1 3 1 4 0 3 1 5 2 7 0 2 0 3 0 4 0 1 1 2 2 3 1 0 2 1 3 2 0 0 1 0 1 1 1 0 2 0 3 1 3 1 6 2 9 3 6 2 12 5 18 7 23 8 47 16 72 23 12 3 24 6 37 9 6 1 12 2 18 4 7 1 13 2 19 4 26 5 51 9 77 13 13 1 26 3 39 5 3 0 7 1 10 1 1 1 3 1 4 1 2 0 3 0 4 0 6 0 12 0 17-1 1 0 2-1 4-1 1 0 3-1 4-1 3 0 6-1 9-1 7-1 13-2 19-3 13-2 25-4 38-6 25-4 51-8 76-13 25-6 50-12 75-19 12-4 24-8 37-12 6-2 12-4 18-6 3-1 6-2 9-3 1-1 3-1 4-2 1 0 1 0 2 0 1-1 2-1 2-1 2-2 3-2 4-4 1-1 1-1 1-2 0-1 0-2 0-2 1-1 1-2 1-3 2-6 3-13 4-19 1-7 2-13 3-20 0-3 0-6 0-9 0-1 0-2 0-2 0-1 0-2 0-3 1-1 1-3 1-5 5-23 7-48 5-72-1-13-3-26-6-38-8-29 8 35 0 0z m-197 0c-2 4-3 9-5 13 0 1 0 1 0 2-1 0 0 1-1 1 0 1 0 2 0 2 0 1-1 2-1 3-1 2-3 4-4 5-2 2-5 4-7 4 2 2 4 3 7 5 1 1 2 2 3 2 1 1 2 1 2 2 0 1 0 1 0 2 1 0 1 1 2 1 0 1 1 2 1 4 0 2 0 4 0 6 0 3 0 5 0 7 0 3 0 5-1 7-1 6-4 10-8 14-1 2-3 3-5 4-3 2-5 4-8 5-3 1-6 2-9 3-3 0-5 0-7 0-3 0-6 0-8 0-13 0-25 0-37 0-5 0-10 0-14 0-1 0-2 0-3 0 0 0 0-4 0-5 0-3 0-6 0-9 0-1 0-2 0-3 0-1 0-1 1-1 1 0 12 0 12 0 0-8 0-16 0-24 0-13 0-25 0-38 0-4 0-7 0-11 0 0 0-1 0-1-3 0-5 0-8 0-1 0-2 0-4 0 0 0-1 0-1-1 0-2 0-4 0-6 0-1 0-14 0-14 10 0 19 0 29 0 5 0 11 0 16 0 1 0 3 0 4 0 0 0 0 3 0 3 0 6 0 11 0 17 0 1 0 1-1 1-1 0-2 0-4 0-1 0-3 0-4 0 0 0-1-1-1 0 0 5 0 10 0 15 0 2 0 5 0 8 0 1 0 1 0 2 0 0 0 0 1 0 2 0 5 0 8 0 2 0 4 0 6 0 1 0 3 0 4 0 1 0 2-1 3-2 1-1 2-2 3-3 0-1 0-1 0-2 0-2 1-3 1-4 1-1 1-2 2-3 0-1 0-1 0-1 0-1 0-2 0-2 1-6 2-12 3-17 1-3 1-5 2-8 0 0 0-1 0-1 0 0 0 0 0 0 11 0 21 0 32 0 0 0 1 0 1 0 0 0 0 0 0 0 0 3 0 5 0 8 0 5 0 10 0 15 0 0 0 0 0 0-1-2-1-4-2-5z m-26 53c0-2-3-3-4-4-1 0-1-1-1-1 0 0-1 0-1 0 0 0-1 0-1 0-1-1-1-2-2-2-1 0-2 0-3 0-2 0-4 0-5 0-1 0-2 0-2 0-3 0-7 0-10 0 0 0-4 0-4 0 0 9 0 19 0 28 0 0 13 0 14 0 4 0 8 0 12-1 1 0 3-1 4-2 1 0 2-1 3-2 1-2 2-4 3-6 0-1 0-1 0-2-1-1-1-1-1-2-1-1-1-1-1-2-1-1-1-2-1-4z m131-53c0 9 0 18 0 27 0 9-2 18-8 24-7 7-19 8-28 7-2 0-4 0-6-1-1 0-1-1-2-2-1 0-2 0-2-1-3-1-6-3-8-6 0 9 0 18 0 27 0 6 0 12 0 18 0 2 0 3 0 5 0 1 0 1 0 1-11 0-22 0-32 0-1 0-3 0-4 0 0 0 0-4 0-4 0-5 0-11 0-16 0 0 1 0 1 0 1 0 3 0 4 0 3 0 5 0 8 0 0 0 0-5 0-6 0-11 0-23 0-34 0-11 0-22 0-33 0-1 0-2 0-3 0-1 0-1-1-1-3 0-6 0-9 0-1 0-2 0-3 0 0 0 0-1 0-1 0-6 0-11 0-17 0-1 0-1 0-2 0 0 0 0 0 0 2 0 3 0 4 0 12 0 24 0 36 0 0 0 9 0 9 0 0 5 0 10 0 15 0 1 0 3 0 5 0 0-6 0-7 0 0 0-6 0-6 0 0 1 0 3 0 4 0 6 0 12 0 18 0 3 0 5 0 7 0 1 0 1 0 2 0 0 1 1 2 2 1 1 2 2 3 2 1 1 1 1 2 1 1 0 1 0 1 1 2 1 3 1 4 1 3 1 5 0 7-1 1-1 2-2 3-3 1-1 2-2 2-3 1-2 1-4 1-6 0-3 0-7 0-11 0-11 0-22 0-33 0-1 0-2 1-2 1 0 3 0 5 0 6 0 12 0 19 0 3 0 7 0 11 0 0 0 0 14 0 15 0 2 0 4 0 6-2-1-5-2-7-2z m7 122c-2 0-5 0-7 0-1 0-2 0-3 0 0 0 0 0 0 0-3-5-7-10-10-14-1-2-3-5-4-7 0 0-1-1-1-2 0 0 0-1 0-1 0-1 0-4 0-4 0 0 1 0 2 0 3 0 5 0 8 0 3 0 5 0 8 0 0 0 0-1 0-1 0-1 0-3 0-4 0-2 0-3 0-4 0-1 0-1 1-1 1 0 3 0 4 0 1 0 2 0 2 0 0 3 0 6 0 8 0 1 0 2 1 2 1 0 2 0 4 0 0 0 0 0 0 0 0 1 0 1 0 2 0 0 0 3 0 3-1 0-2 0-3 0-1 0-2 0-2 1 0 7 0 15 0 22z m-7-15c0-1 0-2 0-4 0-1 0-1 0-2 0 0 0-1 0-2 0 0-1 0-1 0-1 0-2 0-3 0-1 0-3 0-4 0 1 2 3 4 4 6 1 1 1 2 2 3 1 2 2 4 2 7 0-3 0-5 0-8z m41-2c-3 2-8 2-11 2-1 0-2 0-2 0 0 0 0 1 0 1 0 2 0 3 0 4 0 0 13 0 14 0 1 0 1 0 1 1 0 1 0 2 0 4 0 1 0 2 0 3 0 0-1 0-1 0-6 0-11 0-17 0-1 0-1 0-2 0 0 0 0-1 0-1-1-2-1-4-1-6-1-5-1-9-2-14 4 0 9 1 12-1 3-1 4-4 4-7-1-4-5-4-7-4-2 0-9-1-9 2-1-2-1-5-2-8 1 0 3-1 5-1 2-1 5-1 7-1 4 0 8 2 11 5 2 3 2 7 2 11 0 2 0 5 0 7 0 1-1 2-2 3 0 0 0 0 0 0-3 2 2 0 0 0z" horiz-adv-x="1000" /> | |
92 |
|
94 | |||
93 | <glyph glyph-name="up" unicode="" d="M687 254l-173 217c-8 9-22 9-29 0l-173-217c-9-12-1-29 15-29h345c16 0 24 17 15 29z" horiz-adv-x="1000" /> |
|
95 | <glyph glyph-name="up" unicode="" d="M687 254l-173 217c-8 9-22 9-29 0l-173-217c-9-12-1-29 15-29h345c16 0 24 17 15 29z" horiz-adv-x="1000" /> | |
94 |
|
96 | |||
95 | <glyph glyph-name="merge" unicode="" d="M200 110c0-72 58-131 130-131s130 59 130 131c0 45-24 86-60 109 18 139 133 179 202 190v-301c-38-23-65-64-65-112 0-72 59-130 130-130s130 58 130 130c0 48-26 89-65 112v487c39 23 65 64 65 112 0 72-58 130-130 130s-130-58-130-130c0-48 27-89 65-112v-55c-60-8-162-32-238-108-54-54-86-124-94-208-42-22-70-65-70-114z m468-158c-24 0-44 20-44 43s20 44 44 44c24 0 43-20 43-44s-19-43-43-43z m0 798c24 0 43-19 43-43s-20-43-43-43c-24 0-44 19-44 43s20 43 44 43z m-338-684c-24 0-43 20-43 43s19 44 43 44c24 0 43-20 43-44s-19-43-43-43z" horiz-adv-x="1000" /> |
|
97 | <glyph glyph-name="merge" unicode="" d="M200 110c0-72 58-131 130-131s130 59 130 131c0 45-24 86-60 109 18 139 133 179 202 190v-301c-38-23-65-64-65-112 0-72 59-130 130-130s130 58 130 130c0 48-26 89-65 112v487c39 23 65 64 65 112 0 72-58 130-130 130s-130-58-130-130c0-48 27-89 65-112v-55c-60-8-162-32-238-108-54-54-86-124-94-208-42-22-70-65-70-114z m468-158c-24 0-44 20-44 43s20 44 44 44c24 0 43-20 43-44s-19-43-43-43z m0 798c24 0 43-19 43-43s-20-43-43-43c-24 0-44 19-44 43s20 43 44 43z m-338-684c-24 0-43 20-43 43s19 44 43 44c24 0 43-20 43-44s-19-43-43-43z" horiz-adv-x="1000" /> | |
96 |
|
98 | |||
97 | <glyph glyph-name="spin-alt" unicode="" d="M498 850c-114 0-228-39-320-116l0 0c173 140 428 130 588-31 134-134 164-332 89-495-10-29-5-50 12-68 21-20 61-23 84 0 3 3 12 15 15 24 71 180 33 393-112 539-99 98-228 147-356 147z m-409-274c-14 0-29-5-39-16-3-3-13-15-15-24-71-180-34-393 112-539 185-185 479-195 676-31l0 0c-173-140-428-130-589 31-134 134-163 333-89 495 11 29 6 50-12 68-11 11-27 17-44 16z" horiz-adv-x="1001" /> |
|
99 | <glyph glyph-name="spin-alt" unicode="" d="M498 850c-114 0-228-39-320-116l0 0c173 140 428 130 588-31 134-134 164-332 89-495-10-29-5-50 12-68 21-20 61-23 84 0 3 3 12 15 15 24 71 180 33 393-112 539-99 98-228 147-356 147z m-409-274c-14 0-29-5-39-16-3-3-13-15-15-24-71-180-34-393 112-539 185-185 479-195 676-31l0 0c-173-140-428-130-589 31-134 134-163 333-89 495 11 29 6 50-12 68-11 11-27 17-44 16z" horiz-adv-x="1001" /> | |
98 |
|
100 | |||
99 | <glyph glyph-name="spin" unicode="" d="M462 850c-6 0-11-5-11-11l0-183 0 0c0-6 5-11 11-11l69 0c1 0 1 0 1 0 7 0 12 5 12 11l0 183 0 0c0 6-5 11-12 11l-69 0c0 0 0 0-1 0z m250-47c-4 1-8-2-10-5l-91-158 0 0c-4-6-2-13 4-16l60-34c0-1 0-1 0-1 6-3 13-1 16 4l91 158c3 6 2 13-4 16l-61 35c-1 1-3 1-5 1z m-428-2c-2 0-4-1-6-2l-61-35c-5-3-7-10-4-16l91-157c0 0 0 0 0 0 3-6 10-8 16-5l61 35c5 4 7 11 4 16l-91 157c0 1 0 1 0 1-2 4-6 6-10 6z m620-163c-2 0-4 0-6-1l-157-91c0 0 0 0 0 0-6-3-8-10-5-16l35-61c4-5 11-7 16-4l157 91c1 0 1 0 1 0 6 3 7 11 4 16l-35 61c-2 4-6 6-10 5z m-810-4c-5 0-9-2-11-6l-35-61c-3-5-1-12 4-15l158-91 0 0c6-4 13-2 16 4l35 60c0 0 0 0 0 0 3 6 1 13-4 16l-158 91c-2 1-4 2-5 2z m712-235l0 0c-6 0-11-5-11-11l0-69c0-1 0-1 0-1 0-7 5-12 11-12l183 0 0 0c6 0 11 5 11 12l0 69c0 0 0 0 0 1 0 6-5 11-11 11l-183 0z m-794-5l0 0c-7 0-12-5-12-12l0-69c0 0 0 0 0-1 0-6 5-11 12-11l182 0 0 0c6 0 11 5 11 11l0 69c0 1 0 1 0 1 0 7-5 12-11 12l-182 0z m772-153c-4 0-8-2-10-6l-34-60c-1 0-1 0-1 0-3-6-1-13 4-16l158-91c6-3 13-1 16 4l35 61c3 5 1 12-4 15l-158 92 0 0c-2 1-4 1-6 1z m-566-5c-1 0-3 0-5-1l-157-91c0 0-1 0-1 0-5-3-7-10-4-16l35-61c3-5 10-7 16-4l157 91c0 0 0 0 0 0 6 3 8 10 5 16l-35 61c-3 3-7 6-11 5z m468-121c-2 0-4 0-6-1l-61-35c-5-4-7-11-4-16l91-157c0-1 0-1 0-1 3-6 11-7 16-4l61 35c5 3 7 10 4 16l-91 157c0 0 0 0 0 0-2 4-6 6-10 6z m-367-2c-4 0-8-2-10-6l-91-158c-3-6-1-13 4-16l61-35c5-3 12-1 15 4l92 158 0 0c3 6 1 13-5 16l-60 35c0 0 0 0 0 0-2 1-4 1-6 2z m149-58c-7 0-12-5-12-11l0-183 0 0c0-6 5-11 12-11l69 0c0 0 0 0 1 0 6 0 11 5 11 11l0 183 0 0c0 6-5 11-11 11l-69 0c-1 0-1 0-1 0z" horiz-adv-x="1000" /> |
|
101 | <glyph glyph-name="spin" unicode="" d="M462 850c-6 0-11-5-11-11l0-183 0 0c0-6 5-11 11-11l69 0c1 0 1 0 1 0 7 0 12 5 12 11l0 183 0 0c0 6-5 11-12 11l-69 0c0 0 0 0-1 0z m250-47c-4 1-8-2-10-5l-91-158 0 0c-4-6-2-13 4-16l60-34c0-1 0-1 0-1 6-3 13-1 16 4l91 158c3 6 2 13-4 16l-61 35c-1 1-3 1-5 1z m-428-2c-2 0-4-1-6-2l-61-35c-5-3-7-10-4-16l91-157c0 0 0 0 0 0 3-6 10-8 16-5l61 35c5 4 7 11 4 16l-91 157c0 1 0 1 0 1-2 4-6 6-10 6z m620-163c-2 0-4 0-6-1l-157-91c0 0 0 0 0 0-6-3-8-10-5-16l35-61c4-5 11-7 16-4l157 91c1 0 1 0 1 0 6 3 7 11 4 16l-35 61c-2 4-6 6-10 5z m-810-4c-5 0-9-2-11-6l-35-61c-3-5-1-12 4-15l158-91 0 0c6-4 13-2 16 4l35 60c0 0 0 0 0 0 3 6 1 13-4 16l-158 91c-2 1-4 2-5 2z m712-235l0 0c-6 0-11-5-11-11l0-69c0-1 0-1 0-1 0-7 5-12 11-12l183 0 0 0c6 0 11 5 11 12l0 69c0 0 0 0 0 1 0 6-5 11-11 11l-183 0z m-794-5l0 0c-7 0-12-5-12-12l0-69c0 0 0 0 0-1 0-6 5-11 12-11l182 0 0 0c6 0 11 5 11 11l0 69c0 1 0 1 0 1 0 7-5 12-11 12l-182 0z m772-153c-4 0-8-2-10-6l-34-60c-1 0-1 0-1 0-3-6-1-13 4-16l158-91c6-3 13-1 16 4l35 61c3 5 1 12-4 15l-158 92 0 0c-2 1-4 1-6 1z m-566-5c-1 0-3 0-5-1l-157-91c0 0-1 0-1 0-5-3-7-10-4-16l35-61c3-5 10-7 16-4l157 91c0 0 0 0 0 0 6 3 8 10 5 16l-35 61c-3 3-7 6-11 5z m468-121c-2 0-4 0-6-1l-61-35c-5-4-7-11-4-16l91-157c0-1 0-1 0-1 3-6 11-7 16-4l61 35c5 3 7 10 4 16l-91 157c0 0 0 0 0 0-2 4-6 6-10 6z m-367-2c-4 0-8-2-10-6l-91-158c-3-6-1-13 4-16l61-35c5-3 12-1 15 4l92 158 0 0c3 6 1 13-5 16l-60 35c0 0 0 0 0 0-2 1-4 1-6 2z m149-58c-7 0-12-5-12-11l0-183 0 0c0-6 5-11 12-11l69 0c0 0 0 0 1 0 6 0 11 5 11 11l0 183 0 0c0 6-5 11-11 11l-69 0c-1 0-1 0-1 0z" horiz-adv-x="1000" /> | |
100 |
|
102 | |||
101 | <glyph glyph-name="docs" unicode="" d="M946 636q23 0 38-16t16-38v-678q0-23-16-38t-38-16h-535q-23 0-38 16t-16 38v160h-303q-23 0-38 16t-16 38v375q0 22 11 49t27 42l228 228q15 16 42 27t49 11h232q23 0 38-16t16-38v-183q38 23 71 23h232z m-303-119l-167-167h167v167z m-357 214l-167-167h167v167z m109-361l176 176v233h-214v-233q0-22-15-37t-38-16h-233v-357h286v143q0 22 11 49t27 42z m534-449v643h-215v-232q0-22-15-38t-38-15h-232v-358h500z" horiz-adv-x="1000" /> |
|
103 | <glyph glyph-name="docs" unicode="" d="M946 636q23 0 38-16t16-38v-678q0-23-16-38t-38-16h-535q-23 0-38 16t-16 38v160h-303q-23 0-38 16t-16 38v375q0 22 11 49t27 42l228 228q15 16 42 27t49 11h232q23 0 38-16t16-38v-183q38 23 71 23h232z m-303-119l-167-167h167v167z m-357 214l-167-167h167v167z m109-361l176 176v233h-214v-233q0-22-15-37t-38-16h-233v-357h286v143q0 22 11 49t27 42z m534-449v643h-215v-232q0-22-15-38t-38-15h-232v-358h500z" horiz-adv-x="1000" /> | |
102 |
|
104 | |||
103 | <glyph glyph-name="menu" unicode="" d="M857 100v-71q0-15-10-25t-26-11h-785q-15 0-25 11t-11 25v71q0 15 11 25t25 11h785q15 0 26-11t10-25z m0 286v-72q0-14-10-25t-26-10h-785q-15 0-25 10t-11 25v72q0 14 11 25t25 10h785q15 0 26-10t10-25z m0 285v-71q0-14-10-25t-26-11h-785q-15 0-25 11t-11 25v71q0 15 11 26t25 10h785q15 0 26-10t10-26z" horiz-adv-x="857.1" /> |
|
105 | <glyph glyph-name="menu" unicode="" d="M857 100v-71q0-15-10-25t-26-11h-785q-15 0-25 11t-11 25v71q0 15 11 25t25 11h785q15 0 26-11t10-25z m0 286v-72q0-14-10-25t-26-10h-785q-15 0-25 10t-11 25v72q0 14 11 25t25 10h785q15 0 26-10t10-25z m0 285v-71q0-14-10-25t-26-11h-785q-15 0-25 11t-11 25v71q0 15 11 26t25 10h785q15 0 26-10t10-26z" horiz-adv-x="857.1" /> | |
104 |
|
106 | |||
|
107 | <glyph glyph-name="sort" unicode="" d="M571 243q0-15-10-25l-250-250q-11-11-25-11t-25 11l-250 250q-11 10-11 25t11 25 25 11h500q14 0 25-11t10-25z m0 214q0-14-10-25t-25-11h-500q-15 0-25 11t-11 25 11 25l250 250q10 11 25 11t25-11l250-250q10-10 10-25z" horiz-adv-x="571.4" /> | |||
|
108 | ||||
105 | <glyph glyph-name="paste" unicode="" d="M429-79h500v358h-233q-22 0-37 15t-16 38v232h-214v-643z m142 804v36q0 7-5 12t-12 6h-393q-7 0-13-6t-5-12v-36q0-7 5-13t13-5h393q7 0 12 5t5 13z m143-375h167l-167 167v-167z m286-71v-375q0-23-16-38t-38-16h-535q-23 0-38 16t-16 38v89h-303q-23 0-38 16t-16 37v750q0 23 16 38t38 16h607q22 0 38-16t15-38v-183q12-7 20-15l228-228q16-15 27-42t11-49z" horiz-adv-x="1000" /> |
|
109 | <glyph glyph-name="paste" unicode="" d="M429-79h500v358h-233q-22 0-37 15t-16 38v232h-214v-643z m142 804v36q0 7-5 12t-12 6h-393q-7 0-13-6t-5-12v-36q0-7 5-13t13-5h393q7 0 12 5t5 13z m143-375h167l-167 167v-167z m286-71v-375q0-23-16-38t-38-16h-535q-23 0-38 16t-16 38v89h-303q-23 0-38 16t-16 37v750q0 23 16 38t38 16h607q22 0 38-16t15-38v-183q12-7 20-15l228-228q16-15 27-42t11-49z" horiz-adv-x="1000" /> | |
106 |
|
110 | |||
107 | <glyph glyph-name="doc-text" unicode="" d="M819 638q16-16 27-42t11-50v-642q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h500q22 0 49-11t42-27z m-248 136v-210h210q-5 17-12 23l-175 175q-6 7-23 12z m215-853v572h-232q-23 0-38 16t-16 37v233h-429v-858h715z m-572 483q0 7 5 12t13 5h393q8 0 13-5t5-12v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36z m411-125q8 0 13-5t5-13v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36q0 8 5 13t13 5h393z m0-143q8 0 13-5t5-13v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36q0 8 5 13t13 5h393z" horiz-adv-x="857.1" /> |
|
111 | <glyph glyph-name="doc-text" unicode="" d="M819 638q16-16 27-42t11-50v-642q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h500q22 0 49-11t42-27z m-248 136v-210h210q-5 17-12 23l-175 175q-6 7-23 12z m215-853v572h-232q-23 0-38 16t-16 37v233h-429v-858h715z m-572 483q0 7 5 12t13 5h393q8 0 13-5t5-12v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36z m411-125q8 0 13-5t5-13v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36q0 8 5 13t13 5h393z m0-143q8 0 13-5t5-13v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36q0 8 5 13t13 5h393z" horiz-adv-x="857.1" /> | |
108 |
|
112 | |||
109 | <glyph glyph-name="plus-squared" unicode="" d="M714 314v72q0 14-10 25t-25 10h-179v179q0 15-11 25t-25 11h-71q-15 0-25-11t-11-25v-179h-178q-15 0-25-10t-11-25v-72q0-14 11-25t25-10h178v-179q0-14 11-25t25-11h71q15 0 25 11t11 25v179h179q14 0 25 10t10 25z m143 304v-536q0-66-47-113t-114-48h-535q-67 0-114 48t-47 113v536q0 66 47 113t114 48h535q67 0 114-48t47-113z" horiz-adv-x="857.1" /> |
|
113 | <glyph glyph-name="plus-squared" unicode="" d="M714 314v72q0 14-10 25t-25 10h-179v179q0 15-11 25t-25 11h-71q-15 0-25-11t-11-25v-179h-178q-15 0-25-10t-11-25v-72q0-14 11-25t25-10h178v-179q0-14 11-25t25-11h71q15 0 25 11t11 25v179h179q14 0 25 10t10 25z m143 304v-536q0-66-47-113t-114-48h-535q-67 0-114 48t-47 113v536q0 66 47 113t114 48h535q67 0 114-48t47-113z" horiz-adv-x="857.1" /> | |
110 |
|
114 | |||
|
115 | <glyph glyph-name="angle-left" unicode="" d="M350 546q0-7-6-12l-219-220 219-219q6-6 6-13t-6-13l-28-28q-5-5-12-5t-13 5l-260 261q-6 5-6 12t6 13l260 260q5 6 13 6t12-6l28-28q6-5 6-13z" horiz-adv-x="357.1" /> | |||
|
116 | ||||
|
117 | <glyph glyph-name="angle-right" unicode="" d="M332 314q0-7-5-12l-261-261q-5-5-12-5t-13 5l-28 28q-6 6-6 13t6 13l219 219-219 220q-6 5-6 12t6 13l28 28q5 6 13 6t12-6l261-260q5-5 5-13z" horiz-adv-x="357.1" /> | |||
|
118 | ||||
|
119 | <glyph glyph-name="angle-up" unicode="" d="M600 189q0-7-6-12l-28-28q-5-6-12-6t-13 6l-220 219-219-219q-5-6-13-6t-12 6l-28 28q-6 5-6 12t6 13l260 260q5 6 12 6t13-6l260-260q6-5 6-13z" horiz-adv-x="642.9" /> | |||
|
120 | ||||
|
121 | <glyph glyph-name="angle-down" unicode="" d="M600 439q0-7-6-12l-260-261q-5-5-13-5t-12 5l-260 261q-6 5-6 12t6 13l28 28q5 6 12 6t13-6l219-219 220 219q5 6 13 6t12-6l28-28q6-5 6-13z" horiz-adv-x="642.9" /> | |||
|
122 | ||||
|
123 | <glyph glyph-name="circle-empty" unicode="" d="M429 654q-83 0-153-41t-110-111-41-152 41-152 110-111 153-41 152 41 110 111 41 152-41 152-110 111-152 41z m428-304q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" /> | |||
|
124 | ||||
|
125 | <glyph glyph-name="circle" unicode="" d="M857 350q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" /> | |||
|
126 | ||||
111 | <glyph glyph-name="folder-empty" unicode="" d="M857 118v393q0 22-15 38t-38 15h-393q-23 0-38 16t-16 38v36q0 22-15 38t-38 15h-179q-22 0-38-15t-16-38v-536q0-22 16-38t38-16h679q22 0 38 16t15 38z m72 393v-393q0-51-37-88t-88-37h-679q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h375q51 0 88-37t37-88z" horiz-adv-x="928.6" /> |
|
127 | <glyph glyph-name="folder-empty" unicode="" d="M857 118v393q0 22-15 38t-38 15h-393q-23 0-38 16t-16 38v36q0 22-15 38t-38 15h-179q-22 0-38-15t-16-38v-536q0-22 16-38t38-16h679q22 0 38 16t15 38z m72 393v-393q0-51-37-88t-88-37h-679q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h375q51 0 88-37t37-88z" horiz-adv-x="928.6" /> | |
112 |
|
128 | |||
113 | <glyph glyph-name="folder-open-empty" unicode="" d="M994 331q0 19-30 19h-607q-22 0-48-12t-39-29l-164-203q-11-13-11-22 0-20 30-20h607q23 0 48 13t40 29l164 203q10 12 10 22z m-637 90h429v90q0 22-16 38t-38 15h-321q-23 0-38 16t-16 38v36q0 22-15 38t-38 15h-179q-22 0-38-15t-16-38v-476l143 175q25 30 65 49t78 19z m708-90q0-35-25-67l-165-203q-24-30-65-49t-78-19h-607q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h303q52 0 88-37t37-88v-90h107q30 0 56-13t37-40q8-17 8-37z" horiz-adv-x="1071.4" /> |
|
129 | <glyph glyph-name="folder-open-empty" unicode="" d="M994 331q0 19-30 19h-607q-22 0-48-12t-39-29l-164-203q-11-13-11-22 0-20 30-20h607q23 0 48 13t40 29l164 203q10 12 10 22z m-637 90h429v90q0 22-16 38t-38 15h-321q-23 0-38 16t-16 38v36q0 22-15 38t-38 15h-179q-22 0-38-15t-16-38v-476l143 175q25 30 65 49t78 19z m708-90q0-35-25-67l-165-203q-24-30-65-49t-78-19h-607q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h303q52 0 88-37t37-88v-90h107q30 0 56-13t37-40q8-17 8-37z" horiz-adv-x="1071.4" /> | |
114 |
|
130 | |||
|
131 | <glyph glyph-name="code" unicode="" d="M344 69l-28-28q-5-5-12-5t-13 5l-260 261q-6 5-6 12t6 13l260 260q5 6 13 6t12-6l28-28q6-5 6-13t-6-12l-219-220 219-219q6-6 6-13t-6-13z m330 596l-208-721q-2-7-9-11t-13-1l-34 9q-8 3-11 9t-2 14l209 720q2 8 8 11t13 2l35-10q7-2 11-9t1-13z m367-363l-260-261q-6-5-13-5t-13 5l-28 28q-5 6-5 13t5 13l219 219-219 220q-5 5-5 12t5 13l28 28q6 6 13 6t13-6l260-260q5-5 5-13t-5-12z" horiz-adv-x="1071.4" /> | |||
|
132 | ||||
|
133 | <glyph glyph-name="info" unicode="" d="M357 100v-71q0-15-10-25t-26-11h-285q-15 0-25 11t-11 25v71q0 15 11 25t25 11h35v214h-35q-15 0-25 11t-11 25v71q0 15 11 25t25 11h214q15 0 25-11t11-25v-321h35q15 0 26-11t10-25z m-71 643v-107q0-15-11-25t-25-11h-143q-14 0-25 11t-11 25v107q0 14 11 25t25 11h143q15 0 25-11t11-25z" horiz-adv-x="357.1" /> | |||
|
134 | ||||
115 | <glyph glyph-name="minus-squared" unicode="" d="M714 314v72q0 14-10 25t-25 10h-500q-15 0-25-10t-11-25v-72q0-14 11-25t25-10h500q14 0 25 10t10 25z m143 304v-536q0-66-47-113t-114-48h-535q-67 0-114 48t-47 113v536q0 66 47 113t114 48h535q67 0 114-48t47-113z" horiz-adv-x="857.1" /> |
|
135 | <glyph glyph-name="minus-squared" unicode="" d="M714 314v72q0 14-10 25t-25 10h-500q-15 0-25-10t-11-25v-72q0-14 11-25t25-10h500q14 0 25 10t10 25z m143 304v-536q0-66-47-113t-114-48h-535q-67 0-114 48t-47 113v536q0 66 47 113t114 48h535q67 0 114-48t47-113z" horiz-adv-x="857.1" /> | |
116 |
|
136 | |||
117 | <glyph glyph-name="minus-squared-alt" unicode="" d="M643 404v-36q0-8-5-13t-13-5h-464q-8 0-13 5t-5 13v36q0 7 5 12t13 5h464q8 0 13-5t5-12z m71-250v464q0 37-26 63t-63 26h-464q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63z m72 464v-464q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h464q66 0 114-48t47-113z" horiz-adv-x="785.7" /> |
|
137 | <glyph glyph-name="minus-squared-alt" unicode="" d="M643 404v-36q0-8-5-13t-13-5h-464q-8 0-13 5t-5 13v36q0 7 5 12t13 5h464q8 0 13-5t5-12z m71-250v464q0 37-26 63t-63 26h-464q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63z m72 464v-464q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h464q66 0 114-48t47-113z" horiz-adv-x="785.7" /> | |
118 |
|
138 | |||
119 | <glyph glyph-name="doc-inv" unicode="" d="M571 564v264q13-8 21-16l227-228q8-7 16-20h-264z m-71-18q0-22 16-37t38-16h303v-589q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h446v-304z" horiz-adv-x="857.1" /> |
|
139 | <glyph glyph-name="doc-inv" unicode="" d="M571 564v264q13-8 21-16l227-228q8-7 16-20h-264z m-71-18q0-22 16-37t38-16h303v-589q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h446v-304z" horiz-adv-x="857.1" /> | |
120 |
|
140 | |||
121 | <glyph glyph-name="doc-text-inv" unicode="" d="M819 584q8-7 16-20h-264v264q13-8 21-16z m-265-91h303v-589q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h446v-304q0-22 16-37t38-16z m89-411v36q0 8-5 13t-13 5h-393q-8 0-13-5t-5-13v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z m0 143v36q0 8-5 13t-13 5h-393q-8 0-13-5t-5-13v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z m0 143v36q0 7-5 12t-13 5h-393q-8 0-13-5t-5-12v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z" horiz-adv-x="857.1" /> |
|
141 | <glyph glyph-name="doc-text-inv" unicode="" d="M819 584q8-7 16-20h-264v264q13-8 21-16z m-265-91h303v-589q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h446v-304q0-22 16-37t38-16z m89-411v36q0 8-5 13t-13 5h-393q-8 0-13-5t-5-13v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z m0 143v36q0 8-5 13t-13 5h-393q-8 0-13-5t-5-13v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z m0 143v36q0 7-5 12t-13 5h-393q-8 0-13-5t-5-12v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z" horiz-adv-x="857.1" /> | |
122 |
|
142 | |||
123 | <glyph glyph-name="plus-squared-alt" unicode="" d="M643 404v-36q0-8-5-13t-13-5h-196v-196q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v196h-196q-8 0-13 5t-5 13v36q0 7 5 12t13 5h196v197q0 8 5 13t13 5h36q8 0 13-5t5-13v-197h196q8 0 13-5t5-12z m71-250v464q0 37-26 63t-63 26h-464q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63z m72 464v-464q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h464q66 0 114-48t47-113z" horiz-adv-x="785.7" /> |
|
143 | <glyph glyph-name="plus-squared-alt" unicode="" d="M643 404v-36q0-8-5-13t-13-5h-196v-196q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v196h-196q-8 0-13 5t-5 13v36q0 7 5 12t13 5h196v197q0 8 5 13t13 5h36q8 0 13-5t5-13v-197h196q8 0 13-5t5-12z m71-250v464q0 37-26 63t-63 26h-464q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63z m72 464v-464q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h464q66 0 114-48t47-113z" horiz-adv-x="785.7" /> | |
124 |
|
144 | |||
125 | <glyph glyph-name="file-code" unicode="" d="M819 638q16-16 27-42t11-50v-642q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h500q22 0 49-11t42-27z m-248 136v-210h210q-5 17-12 23l-175 175q-6 7-23 12z m215-853v572h-232q-23 0-38 16t-16 37v233h-429v-858h715z m-518 500q4 7 12 7t13-3l28-21q7-5 7-12t-3-13l-102-136 102-136q4-6 3-13t-7-12l-28-21q-6-4-13-4t-12 7l-126 168q-8 11 0 22z m447-167q8-11 0-22l-126-168q-4-6-11-7t-14 4l-28 21q-6 5-7 12t3 13l102 136-102 136q-4 6-3 13t7 12l28 21q6 4 14 3t11-7z m-346-258q-7 1-11 8t-3 13l77 464q1 7 7 11t14 3l35-5q7-2 11-8t3-13l-77-464q-1-7-7-11t-13-3z" horiz-adv-x="857.1" /> |
|
145 | <glyph glyph-name="file-code" unicode="" d="M819 638q16-16 27-42t11-50v-642q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h500q22 0 49-11t42-27z m-248 136v-210h210q-5 17-12 23l-175 175q-6 7-23 12z m215-853v572h-232q-23 0-38 16t-16 37v233h-429v-858h715z m-518 500q4 7 12 7t13-3l28-21q7-5 7-12t-3-13l-102-136 102-136q4-6 3-13t-7-12l-28-21q-6-4-13-4t-12 7l-126 168q-8 11 0 22z m447-167q8-11 0-22l-126-168q-4-6-11-7t-14 4l-28 21q-6 5-7 12t3 13l102 136-102 136q-4 6-3 13t7 12l28 21q6 4 14 3t11-7z m-346-258q-7 1-11 8t-3 13l77 464q1 7 7 11t14 3l35-5q7-2 11-8t3-13l-77-464q-1-7-7-11t-13-3z" horiz-adv-x="857.1" /> | |
126 |
|
146 | |||
127 | <glyph glyph-name="history" unicode="" d="M857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z m-357 161v-250q0-8-5-13t-13-5h-178q-8 0-13 5t-5 13v35q0 8 5 13t13 5h125v197q0 8 5 13t12 5h36q8 0 13-5t5-13z" horiz-adv-x="857.1" /> |
|
147 | <glyph glyph-name="history" unicode="" d="M857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z m-357 161v-250q0-8-5-13t-13-5h-178q-8 0-13 5t-5 13v35q0 8 5 13t13 5h125v197q0 8 5 13t12 5h36q8 0 13-5t5-13z" horiz-adv-x="857.1" /> | |
128 |
|
148 | |||
|
149 | <glyph glyph-name="circle-thin" unicode="" d="M429 707q-73 0-139-28t-114-76-76-114-29-139 29-139 76-113 114-77 139-28 138 28 114 77 76 113 29 139-29 139-76 114-114 76-138 28z m428-357q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" /> | |||
|
150 | ||||
129 | <glyph glyph-name="sliders" unicode="" d="M196 64v-71h-196v71h196z m197 72q14 0 25-11t11-25v-143q0-14-11-25t-25-11h-143q-14 0-25 11t-11 25v143q0 15 11 25t25 11h143z m89 214v-71h-482v71h482z m-357 286v-72h-125v72h125z m732-572v-71h-411v71h411z m-536 643q15 0 26-10t10-26v-142q0-15-10-25t-26-11h-142q-15 0-25 11t-11 25v142q0 15 11 26t25 10h142z m358-286q14 0 25-10t10-25v-143q0-15-10-25t-25-11h-143q-15 0-25 11t-11 25v143q0 14 11 25t25 10h143z m178-71v-71h-125v71h125z m0 286v-72h-482v72h482z" horiz-adv-x="857.1" /> |
|
151 | <glyph glyph-name="sliders" unicode="" d="M196 64v-71h-196v71h196z m197 72q14 0 25-11t11-25v-143q0-14-11-25t-25-11h-143q-14 0-25 11t-11 25v143q0 15 11 25t25 11h143z m89 214v-71h-482v71h482z m-357 286v-72h-125v72h125z m732-572v-71h-411v71h411z m-536 643q15 0 26-10t10-26v-142q0-15-10-25t-26-11h-142q-15 0-25 11t-11 25v142q0 15 11 26t25 10h142z m358-286q14 0 25-10t10-25v-143q0-15-10-25t-25-11h-143q-15 0-25 11t-11 25v143q0 14 11 25t25 10h143z m178-71v-71h-125v71h125z m0 286v-72h-482v72h482z" horiz-adv-x="857.1" /> | |
130 |
|
152 | |||
131 | <glyph glyph-name="trash" unicode="" d="M286 82v393q0 8-5 13t-13 5h-36q-8 0-13-5t-5-13v-393q0-8 5-13t13-5h36q8 0 13 5t5 13z m143 0v393q0 8-5 13t-13 5h-36q-8 0-13-5t-5-13v-393q0-8 5-13t13-5h36q8 0 13 5t5 13z m142 0v393q0 8-5 13t-12 5h-36q-8 0-13-5t-5-13v-393q0-8 5-13t13-5h36q7 0 12 5t5 13z m-303 554h250l-27 65q-4 5-9 6h-177q-6-1-10-6z m518-18v-36q0-8-5-13t-13-5h-54v-529q0-46-26-80t-63-34h-464q-37 0-63 33t-27 79v531h-53q-8 0-13 5t-5 13v36q0 8 5 13t13 5h172l39 93q9 21 31 35t44 15h178q23 0 44-15t30-35l39-93h173q8 0 13-5t5-13z" horiz-adv-x="785.7" /> |
|
153 | <glyph glyph-name="trash" unicode="" d="M286 82v393q0 8-5 13t-13 5h-36q-8 0-13-5t-5-13v-393q0-8 5-13t13-5h36q8 0 13 5t5 13z m143 0v393q0 8-5 13t-13 5h-36q-8 0-13-5t-5-13v-393q0-8 5-13t13-5h36q8 0 13 5t5 13z m142 0v393q0 8-5 13t-12 5h-36q-8 0-13-5t-5-13v-393q0-8 5-13t13-5h36q7 0 12 5t5 13z m-303 554h250l-27 65q-4 5-9 6h-177q-6-1-10-6z m518-18v-36q0-8-5-13t-13-5h-54v-529q0-46-26-80t-63-34h-464q-37 0-63 33t-27 79v531h-53q-8 0-13 5t-5 13v36q0 8 5 13t13 5h172l39 93q9 21 31 35t44 15h178q23 0 44-15t30-35l39-93h173q8 0 13-5t5-13z" horiz-adv-x="785.7" /> | |
132 | </font> |
|
154 | </font> | |
133 | </defs> |
|
155 | </defs> | |
134 | </svg> No newline at end of file |
|
156 | </svg> |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
@@ -1,356 +1,311 b'' | |||||
1 | ## -*- coding: utf-8 -*- |
|
1 | ## -*- coding: utf-8 -*- | |
2 |
|
2 | |||
3 | <%inherit file="/base/base.mako"/> |
|
3 | <%inherit file="/base/base.mako"/> | |
|
4 | <%namespace name="base" file="/base/base.mako"/> | |||
4 | <%namespace name="diff_block" file="/changeset/diff_block.mako"/> |
|
5 | <%namespace name="diff_block" file="/changeset/diff_block.mako"/> | |
|
6 | <%namespace name="file_base" file="/files/base.mako"/> | |||
5 |
|
7 | |||
6 | <%def name="title()"> |
|
8 | <%def name="title()"> | |
7 |
${_(' |
|
9 | ${_('{} Commit').format(c.repo_name)} - ${h.show_id(c.commit)} | |
8 | %if c.rhodecode_name: |
|
10 | %if c.rhodecode_name: | |
9 | · ${h.branding(c.rhodecode_name)} |
|
11 | · ${h.branding(c.rhodecode_name)} | |
10 | %endif |
|
12 | %endif | |
11 | </%def> |
|
13 | </%def> | |
12 |
|
14 | |||
13 | <%def name="menu_bar_nav()"> |
|
15 | <%def name="menu_bar_nav()"> | |
14 | ${self.menu_items(active='repositories')} |
|
16 | ${self.menu_items(active='repositories')} | |
15 | </%def> |
|
17 | </%def> | |
16 |
|
18 | |||
17 | <%def name="menu_bar_subnav()"> |
|
19 | <%def name="menu_bar_subnav()"> | |
18 | ${self.repo_menu(active='commits')} |
|
20 | ${self.repo_menu(active='commits')} | |
19 | </%def> |
|
21 | </%def> | |
20 |
|
22 | |||
21 | <%def name="main()"> |
|
23 | <%def name="main()"> | |
22 | <script> |
|
24 | <script type="text/javascript"> | |
23 | // TODO: marcink switch this to pyroutes |
|
25 | // TODO: marcink switch this to pyroutes | |
24 | AJAX_COMMENT_DELETE_URL = "${h.route_path('repo_commit_comment_delete',repo_name=c.repo_name,commit_id=c.commit.raw_id,comment_id='__COMMENT_ID__')}"; |
|
26 | AJAX_COMMENT_DELETE_URL = "${h.route_path('repo_commit_comment_delete',repo_name=c.repo_name,commit_id=c.commit.raw_id,comment_id='__COMMENT_ID__')}"; | |
25 | templateContext.commit_data.commit_id = "${c.commit.raw_id}"; |
|
27 | templateContext.commit_data.commit_id = "${c.commit.raw_id}"; | |
26 | </script> |
|
28 | </script> | |
|
29 | ||||
27 | <div class="box"> |
|
30 | <div class="box"> | |
28 |
|
31 | |||
29 | <div id="changeset_compare_view_content" class="summary changeset"> |
|
32 | <div class="summary"> | |
30 | <div class="summary-detail"> |
|
33 | ||
31 |
|
|
34 | <div class="fieldset"> | |
32 |
|
|
35 | <div class="left-content"> | |
33 | <p>${_('Commit')}</p> |
|
36 | ||
34 |
|
|
37 | <div class="left-content-avatar"> | |
35 | <code> |
|
38 | ${base.gravatar(c.commit.author_email, 30)} | |
36 | ${h.show_id(c.commit)} |
|
39 | </div> | |
37 | </code> |
|
40 | ||
38 | <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.commit.raw_id}" title="${_('Copy the full commit id')}"></i> |
|
41 | <div class="left-content-message"> | |
39 | % if hasattr(c.commit, 'phase'): |
|
42 | <div class="fieldset collapsable-content no-hide" data-toggle="summary-details"> | |
40 | <span class="tag phase-${c.commit.phase} tooltip" title="${_('Commit phase')}">${c.commit.phase}</span> |
|
43 | <div class="commit truncate-wrap">${h.urlify_commit_message(h.chop_at_smart(c.commit.message, '\n', suffix_if_chopped='...'), c.repo_name)}</div> | |
41 |
|
|
44 | </div> | |
42 |
|
|
45 | ||
43 | ## obsolete commits |
|
46 | <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none"> | |
44 | % if hasattr(c.commit, 'obsolete'): |
|
47 | <div class="commit">${h.urlify_commit_message(c.commit.message,c.repo_name)}</div> | |
45 | % if c.commit.obsolete: |
|
48 | </div> | |
46 | <span class="tag obsolete-${c.commit.obsolete} tooltip" title="${_('Evolve State')}">${_('obsolete')}</span> |
|
49 | ||
47 | % endif |
|
50 | <div class="fieldset" data-toggle="summary-details"> | |
48 | % endif |
|
51 | <div class=""> | |
|
52 | <table> | |||
|
53 | <tr class="file_author tooltip" title="${h.tooltip(h.author_string(c.commit.author_email))}"> | |||
49 |
|
|
54 | ||
50 | ## hidden commits |
|
55 | <td> | |
51 | % if hasattr(c.commit, 'hidden'): |
|
56 | <span class="user commit-author">${h.link_to_user(c.commit.author)}</span> | |
52 | % if c.commit.hidden: |
|
57 | <span class="commit-date">- ${h.age_component(c.commit.date)}</span> | |
53 | <span class="tag hidden-${c.commit.hidden} tooltip" title="${_('Evolve State')}">${_('hidden')}</span> |
|
58 | </td> | |
54 | % endif |
|
|||
55 | % endif |
|
|||
56 |
|
||||
57 |
|
59 | |||
58 | <div class="pull-right"> |
|
60 | <td> | |
59 | <span id="parent_link"> |
|
61 | ## second cell for consistency with files | |
60 | <a href="#parentCommit" title="${_('Parent Commit')}"><i class="icon-left icon-no-margin"></i>${_('parent')}</a> |
|
62 | </td> | |
61 |
|
|
63 | </tr> | |
62 |
|
|
64 | </table> | |
63 | <span id="child_link"> |
|
|||
64 | <a href="#childCommit" title="${_('Child Commit')}">${_('child')}<i class="icon-right icon-no-margin"></i></a> |
|
|||
65 | </span> |
|
|||
66 | </div> |
|
|||
67 |
|
||||
68 | </div> |
|
|||
69 | </div> |
|
65 | </div> | |
70 | </div> |
|
66 | </div> | |
71 |
|
67 | |||
|
68 | </div> | |||
|
69 | </div> | |||
72 |
|
70 | |||
|
71 | <div class="right-content"> | |||
|
72 | ||||
|
73 | <div data-toggle="summary-details"> | |||
|
74 | <div class="tags tags-main"> | |||
|
75 | <code><a href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=c.commit.raw_id)}">${h.show_id(c.commit)}</a></code> | |||
|
76 | <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.commit.raw_id}" title="${_('Copy the full commit id')}"></i> | |||
|
77 | ${file_base.refs(c.commit)} | |||
|
78 | ||||
|
79 | ## phase | |||
|
80 | % if hasattr(c.commit, 'phase') and getattr(c.commit, 'phase') != 'public': | |||
|
81 | <span class="tag phase-${c.commit.phase} tooltip" title="${_('Commit phase')}"> | |||
|
82 | <i class="icon-info"></i>${c.commit.phase} | |||
|
83 | </span> | |||
|
84 | % endif | |||
73 |
|
85 | |||
74 | <div class="fieldset"> |
|
86 | ## obsolete commits | |
|
87 | % if getattr(c.commit, 'obsolete', False): | |||
|
88 | <span class="tag obsolete-${c.commit.obsolete} tooltip" title="${_('Evolve State')}"> | |||
|
89 | ${_('obsolete')} | |||
|
90 | </span> | |||
|
91 | % endif | |||
|
92 | ||||
|
93 | ## hidden commits | |||
|
94 | % if getattr(c.commit, 'hidden', False): | |||
|
95 | <span class="tag hidden-${c.commit.hidden} tooltip" title="${_('Evolve State')}"> | |||
|
96 | ${_('hidden')} | |||
|
97 | </span> | |||
|
98 | % endif | |||
|
99 | </div> | |||
|
100 | ||||
|
101 | %if c.statuses: | |||
|
102 | <div class="tag status-tag-${c.statuses[0]} pull-right"> | |||
|
103 | <i class="icon-circle review-status-${c.statuses[0]}"></i> | |||
|
104 | <div class="pull-right">${h.commit_status_lbl(c.statuses[0])}</div> | |||
|
105 | </div> | |||
|
106 | %endif | |||
|
107 | ||||
|
108 | </div> | |||
|
109 | ||||
|
110 | </div> | |||
|
111 | </div> | |||
|
112 | ||||
|
113 | <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;"> | |||
75 | <div class="left-label-summary"> |
|
114 | <div class="left-label-summary"> | |
76 |
<p>${_(' |
|
115 | <p>${_('Commit navigation')}:</p> | |
77 | <div class="right-label-summary"> |
|
116 | <div class="right-label-summary"> | |
78 | <div id="trimmed_message_box" class="commit">${h.urlify_commit_message(c.commit.message,c.repo_name)}</div> |
|
117 | <span id="parent_link" class="tag tagtag"> | |
79 | <div id="message_expand" style="display:none;"> |
|
118 | <a href="#parentCommit" title="${_('Parent Commit')}"><i class="icon-left icon-no-margin"></i>${_('parent')}</a> | |
80 |
|
|
119 | </span> | |
81 | </div> |
|
120 | ||
|
121 | <span id="child_link" class="tag tagtag"> | |||
|
122 | <a href="#childCommit" title="${_('Child Commit')}">${_('child')}<i class="icon-right icon-no-margin"></i></a> | |||
|
123 | </span> | |||
82 | </div> |
|
124 | </div> | |
83 | </div> |
|
125 | </div> | |
84 | </div> |
|
126 | </div> | |
85 |
|
|
127 | ||
86 | %if c.statuses: |
|
128 | <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none;"> | |
87 | <div class="fieldset"> |
|
|||
88 | <div class="left-label-summary"> |
|
|||
89 | <p>${_('Commit status')}:</p> |
|
|||
90 | <div class="right-label-summary"> |
|
|||
91 | <div class="changeset-status-ico"> |
|
|||
92 | <div class="${'flag_status %s' % c.statuses[0]} pull-left"></div> |
|
|||
93 | </div> |
|
|||
94 | <div title="${_('Commit status')}" class="changeset-status-lbl">[${h.commit_status_lbl(c.statuses[0])}]</div> |
|
|||
95 | </div> |
|
|||
96 | </div> |
|
|||
97 | </div> |
|
|||
98 | %endif |
|
|||
99 |
|
||||
100 | <div class="fieldset"> |
|
|||
101 | <div class="left-label-summary"> |
|
|||
102 | <p>${_('References')}:</p> |
|
|||
103 | <div class="right-label-summary"> |
|
|||
104 | <div class="tags"> |
|
|||
105 | %if c.commit.merge: |
|
|||
106 | <span class="mergetag tag"> |
|
|||
107 | <i class="icon-merge"></i>${_('merge')} |
|
|||
108 | </span> |
|
|||
109 | %endif |
|
|||
110 |
|
||||
111 | %if h.is_hg(c.rhodecode_repo): |
|
|||
112 | %for book in c.commit.bookmarks: |
|
|||
113 | <span class="booktag tag" title="${h.tooltip(_('Bookmark %s') % book)}"> |
|
|||
114 | <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(at=book))}"><i class="icon-bookmark"></i>${h.shorter(book)}</a> |
|
|||
115 | </span> |
|
|||
116 | %endfor |
|
|||
117 | %endif |
|
|||
118 |
|
||||
119 | %for tag in c.commit.tags: |
|
|||
120 | <span class="tagtag tag" title="${h.tooltip(_('Tag %s') % tag)}"> |
|
|||
121 | <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(at=tag))}"><i class="icon-tag"></i>${tag}</a> |
|
|||
122 | </span> |
|
|||
123 | %endfor |
|
|||
124 |
|
||||
125 | %if c.commit.branch: |
|
|||
126 | <span class="branchtag tag" title="${h.tooltip(_('Branch %s') % c.commit.branch)}"> |
|
|||
127 | <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(at=c.commit.branch))}"><i class="icon-code-fork"></i>${h.shorter(c.commit.branch)}</a> |
|
|||
128 | </span> |
|
|||
129 | %endif |
|
|||
130 | </div> |
|
|||
131 | </div> |
|
|||
132 | </div> |
|
|||
133 | </div> |
|
|||
134 |
|
||||
135 | <div class="fieldset"> |
|
|||
136 | <div class="left-label-summary"> |
|
129 | <div class="left-label-summary"> | |
137 | <p>${_('Diff options')}:</p> |
|
130 | <p>${_('Diff options')}:</p> | |
138 | <div class="right-label-summary"> |
|
131 | <div class="right-label-summary"> | |
139 | <div class="diff-actions"> |
|
132 | <div class="diff-actions"> | |
140 | <a href="${h.route_path('repo_commit_raw',repo_name=c.repo_name,commit_id=c.commit.raw_id)}" class="tooltip" title="${h.tooltip(_('Raw diff'))}"> |
|
133 | <a href="${h.route_path('repo_commit_raw',repo_name=c.repo_name,commit_id=c.commit.raw_id)}" class="tooltip" title="${h.tooltip(_('Raw diff'))}"> | |
141 | ${_('Raw Diff')} |
|
134 | ${_('Raw Diff')} | |
142 | </a> |
|
135 | </a> | |
143 | | |
|
136 | | | |
144 | <a href="${h.route_path('repo_commit_patch',repo_name=c.repo_name,commit_id=c.commit.raw_id)}" class="tooltip" title="${h.tooltip(_('Patch diff'))}"> |
|
137 | <a href="${h.route_path('repo_commit_patch',repo_name=c.repo_name,commit_id=c.commit.raw_id)}" class="tooltip" title="${h.tooltip(_('Patch diff'))}"> | |
145 | ${_('Patch Diff')} |
|
138 | ${_('Patch Diff')} | |
146 | </a> |
|
139 | </a> | |
147 | | |
|
140 | | | |
148 | <a href="${h.route_path('repo_commit_download',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(diff='download'))}" class="tooltip" title="${h.tooltip(_('Download diff'))}"> |
|
141 | <a href="${h.route_path('repo_commit_download',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(diff='download'))}" class="tooltip" title="${h.tooltip(_('Download diff'))}"> | |
149 | ${_('Download Diff')} |
|
142 | ${_('Download Diff')} | |
150 | </a> |
|
143 | </a> | |
151 | </div> |
|
144 | </div> | |
152 | </div> |
|
145 | </div> | |
153 | </div> |
|
146 | </div> | |
154 | </div> |
|
147 | </div> | |
155 |
|
148 | |||
156 |
<div class=" |
|
149 | <div class="clear-fix"></div> | |
157 | <div class="left-label-summary"> |
|
150 | ||
158 | <p>${_('Comments')}:</p> |
|
151 | <div class="btn-collapse" data-toggle="summary-details"> | |
159 | <div class="right-label-summary"> |
|
152 | ${_('Show More')} | |
160 | <div class="comments-number"> |
|
|||
161 | %if c.comments: |
|
|||
162 | <a href="#comments">${_ungettext("%d Commit comment", "%d Commit comments", len(c.comments)) % len(c.comments)}</a>, |
|
|||
163 | %else: |
|
|||
164 | ${_ungettext("%d Commit comment", "%d Commit comments", len(c.comments)) % len(c.comments)} |
|
|||
165 | %endif |
|
|||
166 | %if c.inline_cnt: |
|
|||
167 | <a href="#" onclick="return Rhodecode.comments.nextComment();" id="inline-comments-counter">${_ungettext("%d Inline Comment", "%d Inline Comments", c.inline_cnt) % c.inline_cnt}</a> |
|
|||
168 | %else: |
|
|||
169 | ${_ungettext("%d Inline Comment", "%d Inline Comments", c.inline_cnt) % c.inline_cnt} |
|
|||
170 | %endif |
|
|||
171 | </div> |
|
|||
172 | </div> |
|
|||
173 | </div> |
|
|||
174 | </div> |
|
153 | </div> | |
175 |
|
154 | |||
176 | <div class="fieldset"> |
|
155 | </div> | |
177 | <div class="left-label-summary"> |
|
|||
178 | <p>${_('Unresolved TODOs')}:</p> |
|
|||
179 | <div class="right-label-summary"> |
|
|||
180 | <div class="comments-number"> |
|
|||
181 | % if c.unresolved_comments: |
|
|||
182 | % for co in c.unresolved_comments: |
|
|||
183 | <a class="permalink" href="#comment-${co.comment_id}" onclick="Rhodecode.comments.scrollToComment($('#comment-${co.comment_id}'))"> #${co.comment_id}</a>${'' if loop.last else ','} |
|
|||
184 | % endfor |
|
|||
185 | % else: |
|
|||
186 | ${_('There are no unresolved TODOs')} |
|
|||
187 | % endif |
|
|||
188 | </div> |
|
|||
189 | </div> |
|
|||
190 | </div> |
|
|||
191 | </div> |
|
|||
192 |
|
156 | |||
193 | <div class="fieldset"> |
|
|||
194 | <div class="left-label-summary"> |
|
|||
195 | <p>${_('Author')}</p> |
|
|||
196 |
|
||||
197 | <div class="right-label-summary"> |
|
|||
198 | ${self.gravatar_with_user(c.commit.author)} |
|
|||
199 | <div class="user-inline-data">- ${h.age_component(c.commit.date)}</div> |
|
|||
200 | </div> |
|
|||
201 | </div> |
|
|||
202 |
|
||||
203 | <div class="clear-fix"></div> |
|
|||
204 |
|
||||
205 | </div> <!-- end summary-detail --> |
|
|||
206 | </div> <!-- end summary --> |
|
|||
207 | </div> |
|
|||
208 | <div class="cs_files"> |
|
157 | <div class="cs_files"> | |
209 | <%namespace name="cbdiffs" file="/codeblocks/diffs.mako"/> |
|
158 | <%namespace name="cbdiffs" file="/codeblocks/diffs.mako"/> | |
210 | ${cbdiffs.render_diffset_menu(c.changes[c.commit.raw_id])} |
|
159 | ${cbdiffs.render_diffset_menu(c.changes[c.commit.raw_id])} | |
211 | ${cbdiffs.render_diffset( |
|
160 | ${cbdiffs.render_diffset( | |
212 | c.changes[c.commit.raw_id], commit=c.commit, use_comments=True,inline_comments=c.inline_comments )} |
|
161 | c.changes[c.commit.raw_id], commit=c.commit, use_comments=True,inline_comments=c.inline_comments )} | |
213 | </div> |
|
162 | </div> | |
214 |
|
163 | |||
|
164 | <div class="comments-heading"> | |||
|
165 | <i class="icon-comment"></i> | |||
|
166 | ${_('Comments')} ${len(c.comments)} | |||
|
167 | </div> | |||
|
168 | ||||
215 | ## template for inline comment form |
|
169 | ## template for inline comment form | |
216 | <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/> |
|
170 | <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/> | |
217 |
|
171 | |||
218 | ## render comments |
|
172 | ## render comments | |
219 | ${comment.generate_comments(c.comments)} |
|
173 | ${comment.generate_comments(c.comments)} | |
220 |
|
174 | |||
221 | ## main comment form and it status |
|
175 | ## main comment form and it status | |
222 | ${comment.comments(h.route_path('repo_commit_comment_create', repo_name=c.repo_name, commit_id=c.commit.raw_id), |
|
176 | ${comment.comments(h.route_path('repo_commit_comment_create', repo_name=c.repo_name, commit_id=c.commit.raw_id), | |
223 | h.commit_status(c.rhodecode_db_repo, c.commit.raw_id))} |
|
177 | h.commit_status(c.rhodecode_db_repo, c.commit.raw_id))} | |
224 | </div> |
|
178 | </div> | |
225 |
|
179 | |||
226 | ## FORM FOR MAKING JS ACTION AS CHANGESET COMMENTS |
|
180 | ## FORM FOR MAKING JS ACTION AS CHANGESET COMMENTS | |
227 | <script type="text/javascript"> |
|
181 | <script type="text/javascript"> | |
228 |
|
182 | |||
229 | $(document).ready(function() { |
|
183 | $(document).ready(function() { | |
230 |
|
184 | |||
231 | var boxmax = parseInt($('#trimmed_message_box').css('max-height'), 10); |
|
185 | var boxmax = parseInt($('#trimmed_message_box').css('max-height'), 10); | |
232 | if($('#trimmed_message_box').height() === boxmax){ |
|
186 | if($('#trimmed_message_box').height() === boxmax){ | |
233 | $('#message_expand').show(); |
|
187 | $('#message_expand').show(); | |
234 | } |
|
188 | } | |
235 |
|
189 | |||
236 | $('#message_expand').on('click', function(e){ |
|
190 | $('#message_expand').on('click', function(e){ | |
237 | $('#trimmed_message_box').css('max-height', 'none'); |
|
191 | $('#trimmed_message_box').css('max-height', 'none'); | |
238 | $(this).hide(); |
|
192 | $(this).hide(); | |
239 | }); |
|
193 | }); | |
240 |
|
194 | |||
241 | $('.show-inline-comments').on('click', function(e){ |
|
195 | $('.show-inline-comments').on('click', function(e){ | |
242 | var boxid = $(this).attr('data-comment-id'); |
|
196 | var boxid = $(this).attr('data-comment-id'); | |
243 | var button = $(this); |
|
197 | var button = $(this); | |
244 |
|
198 | |||
245 | if(button.hasClass("comments-visible")) { |
|
199 | if(button.hasClass("comments-visible")) { | |
246 | $('#{0} .inline-comments'.format(boxid)).each(function(index){ |
|
200 | $('#{0} .inline-comments'.format(boxid)).each(function(index){ | |
247 | $(this).hide(); |
|
201 | $(this).hide(); | |
248 | }); |
|
202 | }); | |
249 | button.removeClass("comments-visible"); |
|
203 | button.removeClass("comments-visible"); | |
250 | } else { |
|
204 | } else { | |
251 | $('#{0} .inline-comments'.format(boxid)).each(function(index){ |
|
205 | $('#{0} .inline-comments'.format(boxid)).each(function(index){ | |
252 | $(this).show(); |
|
206 | $(this).show(); | |
253 | }); |
|
207 | }); | |
254 | button.addClass("comments-visible"); |
|
208 | button.addClass("comments-visible"); | |
255 | } |
|
209 | } | |
256 | }); |
|
210 | }); | |
257 |
|
211 | |||
258 |
|
212 | |||
259 | // next links |
|
213 | // next links | |
260 | $('#child_link').on('click', function(e){ |
|
214 | $('#child_link').on('click', function(e){ | |
261 | // fetch via ajax what is going to be the next link, if we have |
|
215 | // fetch via ajax what is going to be the next link, if we have | |
262 | // >1 links show them to user to choose |
|
216 | // >1 links show them to user to choose | |
263 | if(!$('#child_link').hasClass('disabled')){ |
|
217 | if(!$('#child_link').hasClass('disabled')){ | |
264 | $.ajax({ |
|
218 | $.ajax({ | |
265 | url: '${h.route_path('repo_commit_children',repo_name=c.repo_name, commit_id=c.commit.raw_id)}', |
|
219 | url: '${h.route_path('repo_commit_children',repo_name=c.repo_name, commit_id=c.commit.raw_id)}', | |
266 | success: function(data) { |
|
220 | success: function(data) { | |
267 | if(data.results.length === 0){ |
|
221 | if(data.results.length === 0){ | |
268 | $('#child_link').html("${_('No Child Commits')}").addClass('disabled'); |
|
222 | $('#child_link').html("${_('No Child Commits')}").addClass('disabled'); | |
269 | } |
|
223 | } | |
270 | if(data.results.length === 1){ |
|
224 | if(data.results.length === 1){ | |
271 | var commit = data.results[0]; |
|
225 | var commit = data.results[0]; | |
272 | window.location = pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': commit.raw_id}); |
|
226 | window.location = pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': commit.raw_id}); | |
273 | } |
|
227 | } | |
274 | else if(data.results.length === 2){ |
|
228 | else if(data.results.length === 2){ | |
275 | $('#child_link').addClass('disabled'); |
|
229 | $('#child_link').addClass('disabled'); | |
276 | $('#child_link').addClass('double'); |
|
230 | $('#child_link').addClass('double'); | |
277 |
|
231 | |||
278 | var _html = ''; |
|
232 | var _html = ''; | |
279 | _html +='<a title="__title__" href="__url__"><span class="tag branchtag"><i class="icon-code-fork"></i>__branch__</span> __rev__</a> ' |
|
233 | _html +='<a title="__title__" href="__url__"><span class="tag branchtag"><i class="icon-code-fork"></i>__branch__</span> __rev__</a> ' | |
280 | .replace('__branch__', data.results[0].branch) |
|
234 | .replace('__branch__', data.results[0].branch) | |
281 | .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6))) |
|
235 | .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6))) | |
282 | .replace('__title__', data.results[0].message) |
|
236 | .replace('__title__', data.results[0].message) | |
283 | .replace('__url__', pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': data.results[0].raw_id})); |
|
237 | .replace('__url__', pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': data.results[0].raw_id})); | |
284 | _html +=' | '; |
|
238 | _html +=' | '; | |
285 | _html +='<a title="__title__" href="__url__"><span class="tag branchtag"><i class="icon-code-fork"></i>__branch__</span> __rev__</a> ' |
|
239 | _html +='<a title="__title__" href="__url__"><span class="tag branchtag"><i class="icon-code-fork"></i>__branch__</span> __rev__</a> ' | |
286 | .replace('__branch__', data.results[1].branch) |
|
240 | .replace('__branch__', data.results[1].branch) | |
287 | .replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6))) |
|
241 | .replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6))) | |
288 | .replace('__title__', data.results[1].message) |
|
242 | .replace('__title__', data.results[1].message) | |
289 | .replace('__url__', pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': data.results[1].raw_id})); |
|
243 | .replace('__url__', pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': data.results[1].raw_id})); | |
290 | $('#child_link').html(_html); |
|
244 | $('#child_link').html(_html); | |
291 | } |
|
245 | } | |
292 | } |
|
246 | } | |
293 | }); |
|
247 | }); | |
294 | e.preventDefault(); |
|
248 | e.preventDefault(); | |
295 | } |
|
249 | } | |
296 | }); |
|
250 | }); | |
297 |
|
251 | |||
298 | // prev links |
|
252 | // prev links | |
299 | $('#parent_link').on('click', function(e){ |
|
253 | $('#parent_link').on('click', function(e){ | |
300 | // fetch via ajax what is going to be the next link, if we have |
|
254 | // fetch via ajax what is going to be the next link, if we have | |
301 | // >1 links show them to user to choose |
|
255 | // >1 links show them to user to choose | |
302 | if(!$('#parent_link').hasClass('disabled')){ |
|
256 | if(!$('#parent_link').hasClass('disabled')){ | |
303 | $.ajax({ |
|
257 | $.ajax({ | |
304 | url: '${h.route_path("repo_commit_parents",repo_name=c.repo_name, commit_id=c.commit.raw_id)}', |
|
258 | url: '${h.route_path("repo_commit_parents",repo_name=c.repo_name, commit_id=c.commit.raw_id)}', | |
305 | success: function(data) { |
|
259 | success: function(data) { | |
306 | if(data.results.length === 0){ |
|
260 | if(data.results.length === 0){ | |
307 | $('#parent_link').html('${_('No Parent Commits')}').addClass('disabled'); |
|
261 | $('#parent_link').html('${_('No Parent Commits')}').addClass('disabled'); | |
308 | } |
|
262 | } | |
309 | if(data.results.length === 1){ |
|
263 | if(data.results.length === 1){ | |
310 | var commit = data.results[0]; |
|
264 | var commit = data.results[0]; | |
311 | window.location = pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': commit.raw_id}); |
|
265 | window.location = pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': commit.raw_id}); | |
312 | } |
|
266 | } | |
313 | else if(data.results.length === 2){ |
|
267 | else if(data.results.length === 2){ | |
314 | $('#parent_link').addClass('disabled'); |
|
268 | $('#parent_link').addClass('disabled'); | |
315 | $('#parent_link').addClass('double'); |
|
269 | $('#parent_link').addClass('double'); | |
316 |
|
270 | |||
317 | var _html = ''; |
|
271 | var _html = ''; | |
318 | _html +='<a title="__title__" href="__url__"><span class="tag branchtag"><i class="icon-code-fork"></i>__branch__</span> __rev__</a>' |
|
272 | _html +='<a title="__title__" href="__url__"><span class="tag branchtag"><i class="icon-code-fork"></i>__branch__</span> __rev__</a>' | |
319 | .replace('__branch__', data.results[0].branch) |
|
273 | .replace('__branch__', data.results[0].branch) | |
320 | .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6))) |
|
274 | .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6))) | |
321 | .replace('__title__', data.results[0].message) |
|
275 | .replace('__title__', data.results[0].message) | |
322 | .replace('__url__', pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': data.results[0].raw_id})); |
|
276 | .replace('__url__', pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': data.results[0].raw_id})); | |
323 | _html +=' | '; |
|
277 | _html +=' | '; | |
324 | _html +='<a title="__title__" href="__url__"><span class="tag branchtag"><i class="icon-code-fork"></i>__branch__</span> __rev__</a>' |
|
278 | _html +='<a title="__title__" href="__url__"><span class="tag branchtag"><i class="icon-code-fork"></i>__branch__</span> __rev__</a>' | |
325 | .replace('__branch__', data.results[1].branch) |
|
279 | .replace('__branch__', data.results[1].branch) | |
326 | .replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6))) |
|
280 | .replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6))) | |
327 | .replace('__title__', data.results[1].message) |
|
281 | .replace('__title__', data.results[1].message) | |
328 | .replace('__url__', pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': data.results[1].raw_id})); |
|
282 | .replace('__url__', pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}','commit_id': data.results[1].raw_id})); | |
329 | $('#parent_link').html(_html); |
|
283 | $('#parent_link').html(_html); | |
330 | } |
|
284 | } | |
331 | } |
|
285 | } | |
332 | }); |
|
286 | }); | |
333 | e.preventDefault(); |
|
287 | e.preventDefault(); | |
334 | } |
|
288 | } | |
335 | }); |
|
289 | }); | |
336 |
|
290 | |||
337 | if (location.hash) { |
|
291 | if (location.hash) { | |
338 | var result = splitDelimitedHash(location.hash); |
|
292 | var result = splitDelimitedHash(location.hash); | |
339 | var line = $('html').find(result.loc); |
|
293 | var line = $('html').find(result.loc); | |
340 | if (line.length > 0){ |
|
294 | if (line.length > 0){ | |
341 | offsetScroll(line, 70); |
|
295 | offsetScroll(line, 70); | |
342 | } |
|
296 | } | |
343 | } |
|
297 | } | |
344 |
|
298 | |||
345 | // browse tree @ revision |
|
299 | // browse tree @ revision | |
346 | $('#files_link').on('click', function(e){ |
|
300 | $('#files_link').on('click', function(e){ | |
347 | window.location = '${h.route_path('repo_files:default_path',repo_name=c.repo_name, commit_id=c.commit.raw_id)}'; |
|
301 | window.location = '${h.route_path('repo_files:default_path',repo_name=c.repo_name, commit_id=c.commit.raw_id)}'; | |
348 | e.preventDefault(); |
|
302 | e.preventDefault(); | |
349 | }); |
|
303 | }); | |
350 |
|
304 | |||
351 | // inject comments into their proper positions |
|
305 | // inject comments into their proper positions | |
352 | var file_comments = $('.inline-comment-placeholder'); |
|
306 | var file_comments = $('.inline-comment-placeholder'); | |
|
307 | ||||
353 | }) |
|
308 | }) | |
354 | </script> |
|
309 | </script> | |
355 |
|
310 | |||
356 | </%def> |
|
311 | </%def> |
@@ -1,119 +1,119 b'' | |||||
1 | ## -*- coding: utf-8 -*- |
|
1 | ## -*- coding: utf-8 -*- | |
2 | <%inherit file="/base/base.mako"/> |
|
2 | <%inherit file="/base/base.mako"/> | |
3 |
|
3 | |||
4 | <%def name="title()"> |
|
4 | <%def name="title()"> | |
5 | ${_('%s Commits') % c.repo_name} - |
|
5 | ${_('%s Commits') % c.repo_name} - | |
6 | r${c.commit_ranges[0].idx}:${h.short_id(c.commit_ranges[0].raw_id)} |
|
6 | r${c.commit_ranges[0].idx}:${h.short_id(c.commit_ranges[0].raw_id)} | |
7 | ... |
|
7 | ... | |
8 | r${c.commit_ranges[-1].idx}:${h.short_id(c.commit_ranges[-1].raw_id)} |
|
8 | r${c.commit_ranges[-1].idx}:${h.short_id(c.commit_ranges[-1].raw_id)} | |
9 | ${_ungettext('(%s commit)','(%s commits)', len(c.commit_ranges)) % len(c.commit_ranges)} |
|
9 | ${_ungettext('(%s commit)','(%s commits)', len(c.commit_ranges)) % len(c.commit_ranges)} | |
10 | %if c.rhodecode_name: |
|
10 | %if c.rhodecode_name: | |
11 | · ${h.branding(c.rhodecode_name)} |
|
11 | · ${h.branding(c.rhodecode_name)} | |
12 | %endif |
|
12 | %endif | |
13 | </%def> |
|
13 | </%def> | |
14 |
|
14 | |||
15 | <%def name="breadcrumbs_links()"></%def> |
|
15 | <%def name="breadcrumbs_links()"></%def> | |
16 |
|
16 | |||
17 | <%def name="menu_bar_nav()"> |
|
17 | <%def name="menu_bar_nav()"> | |
18 | ${self.menu_items(active='repositories')} |
|
18 | ${self.menu_items(active='repositories')} | |
19 | </%def> |
|
19 | </%def> | |
20 |
|
20 | |||
21 | <%def name="menu_bar_subnav()"> |
|
21 | <%def name="menu_bar_subnav()"> | |
22 | ${self.repo_menu(active='commits')} |
|
22 | ${self.repo_menu(active='commits')} | |
23 | </%def> |
|
23 | </%def> | |
24 |
|
24 | |||
25 | <%def name="main()"> |
|
25 | <%def name="main()"> | |
|
26 | ||||
26 | <div class="box"> |
|
27 | <div class="box"> | |
27 | <div class="summary changeset"> |
|
28 | <div class="summary changeset"> | |
28 | <div class="summary-detail"> |
|
29 | <div class="summary-detail"> | |
29 | <div class="summary-detail-header"> |
|
30 | <div class="summary-detail-header"> | |
30 | <span class="breadcrumbs files_location"> |
|
31 | <span class="breadcrumbs files_location"> | |
31 | <h4> |
|
32 | <h4> | |
32 | ${_('Commit Range')} |
|
33 | ${_('Commit Range')} | |
33 | </h4> |
|
34 | </h4> | |
34 | </span> |
|
35 | </span> | |
35 |
|
36 | |||
36 | <div class="clear-fix"></div> |
|
37 | <div class="clear-fix"></div> | |
37 | </div> |
|
38 | </div> | |
38 |
|
39 | |||
39 | <div class="fieldset"> |
|
40 | <div class="fieldset"> | |
40 | <div class="left-label-summary"> |
|
41 | <div class="left-label-summary"> | |
41 | <p class="spacing">${_('Range')}:</p> |
|
42 | <p class="spacing">${_('Range')}:</p> | |
42 | <div class="right-label-summary"> |
|
43 | <div class="right-label-summary"> | |
43 | <div class="code-header" > |
|
44 | <div class="code-header" > | |
44 | <div class="compare_header"> |
|
45 | <div class="compare_header"> | |
45 | <code class="fieldset-text-line"> |
|
46 | <code class="fieldset-text-line"> | |
46 | r${c.commit_ranges[0].idx}:${h.short_id(c.commit_ranges[0].raw_id)} |
|
47 | r${c.commit_ranges[0].idx}:${h.short_id(c.commit_ranges[0].raw_id)} | |
47 | ... |
|
48 | ... | |
48 | r${c.commit_ranges[-1].idx}:${h.short_id(c.commit_ranges[-1].raw_id)} |
|
49 | r${c.commit_ranges[-1].idx}:${h.short_id(c.commit_ranges[-1].raw_id)} | |
49 | ${_ungettext('(%s commit)','(%s commits)', len(c.commit_ranges)) % len(c.commit_ranges)} |
|
50 | ${_ungettext('(%s commit)','(%s commits)', len(c.commit_ranges)) % len(c.commit_ranges)} | |
50 | </code> |
|
51 | </code> | |
51 | </div> |
|
52 | </div> | |
52 | </div> |
|
53 | </div> | |
53 | </div> |
|
54 | </div> | |
54 | </div> |
|
55 | </div> | |
55 | </div> |
|
56 | </div> | |
56 |
|
57 | |||
57 | <div class="fieldset"> |
|
58 | <div class="fieldset"> | |
58 | <div class="left-label-summary"> |
|
59 | <div class="left-label-summary"> | |
59 | <p class="spacing">${_('Diff Option')}:</p> |
|
60 | <p class="spacing">${_('Diff Option')}:</p> | |
60 | <div class="right-label-summary"> |
|
61 | <div class="right-label-summary"> | |
61 | <div class="code-header" > |
|
62 | <div class="code-header" > | |
62 | <div class="compare_header"> |
|
63 | <div class="compare_header"> | |
63 |
< |
|
64 | <a class="btn btn-primary" href="${h.route_path('repo_compare', | |
64 | <a href="${h.route_path('repo_compare', |
|
|||
65 | repo_name=c.repo_name, |
|
65 | repo_name=c.repo_name, | |
66 | source_ref_type='rev', |
|
66 | source_ref_type='rev', | |
67 | source_ref=getattr(c.commit_ranges[0].parents[0] if c.commit_ranges[0].parents else h.EmptyCommit(), 'raw_id'), |
|
67 | source_ref=getattr(c.commit_ranges[0].parents[0] if c.commit_ranges[0].parents else h.EmptyCommit(), 'raw_id'), | |
68 | target_ref_type='rev', |
|
68 | target_ref_type='rev', | |
69 | target_ref=c.commit_ranges[-1].raw_id)}" |
|
69 | target_ref=c.commit_ranges[-1].raw_id)}" | |
70 | > |
|
70 | > | |
71 | ${_('Show combined diff')} |
|
71 | ${_('Show combined diff')} | |
72 | </a> |
|
72 | </a> | |
73 | </div> |
|
|||
74 | </div> |
|
73 | </div> | |
75 | </div> |
|
74 | </div> | |
76 | </div> |
|
75 | </div> | |
77 | </div> |
|
76 | </div> | |
78 | </div> |
|
77 | </div> | |
79 |
|
78 | |||
80 | <div class="clear-fix"></div> |
|
79 | <div class="clear-fix"></div> | |
81 | </div> <!-- end summary-detail --> |
|
80 | </div> <!-- end summary-detail --> | |
82 | </div> <!-- end summary --> |
|
81 | </div> <!-- end summary --> | |
83 |
|
82 | |||
84 | <div id="changeset_compare_view_content"> |
|
83 | <div id="changeset_compare_view_content"> | |
85 | <div class="pull-left"> |
|
84 | <div class="pull-left"> | |
86 | <div class="btn-group"> |
|
85 | <div class="btn-group"> | |
87 | <a |
|
86 | <a | |
88 | class="btn" |
|
87 | class="btn" | |
89 | href="#" |
|
88 | href="#" | |
90 | onclick="$('.compare_select').show();$('.compare_select_hidden').hide(); return false"> |
|
89 | onclick="$('.compare_select').show();$('.compare_select_hidden').hide(); return false"> | |
91 | ${_ungettext('Expand %s commit','Expand %s commits', len(c.commit_ranges)) % len(c.commit_ranges)} |
|
90 | ${_ungettext('Expand %s commit','Expand %s commits', len(c.commit_ranges)) % len(c.commit_ranges)} | |
92 | </a> |
|
91 | </a> | |
93 | <a |
|
92 | <a | |
94 | class="btn" |
|
93 | class="btn" | |
95 | href="#" |
|
94 | href="#" | |
96 | onclick="$('.compare_select').hide();$('.compare_select_hidden').show(); return false"> |
|
95 | onclick="$('.compare_select').hide();$('.compare_select_hidden').show(); return false"> | |
97 | ${_ungettext('Collapse %s commit','Collapse %s commits', len(c.commit_ranges)) % len(c.commit_ranges)} |
|
96 | ${_ungettext('Collapse %s commit','Collapse %s commits', len(c.commit_ranges)) % len(c.commit_ranges)} | |
98 | </a> |
|
97 | </a> | |
99 | </div> |
|
98 | </div> | |
100 | </div> |
|
99 | </div> | |
101 | ## Commit range generated below |
|
100 | ## Commit range generated below | |
102 | <%include file="../compare/compare_commits.mako"/> |
|
101 | <%include file="../compare/compare_commits.mako"/> | |
103 | <div class="cs_files"> |
|
102 | <div class="cs_files"> | |
104 | <%namespace name="cbdiffs" file="/codeblocks/diffs.mako"/> |
|
103 | <%namespace name="cbdiffs" file="/codeblocks/diffs.mako"/> | |
105 | <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/> |
|
104 | <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/> | |
106 | <%namespace name="diff_block" file="/changeset/diff_block.mako"/> |
|
105 | <%namespace name="diff_block" file="/changeset/diff_block.mako"/> | |
107 | ${cbdiffs.render_diffset_menu()} |
|
106 | ||
108 | %for commit in c.commit_ranges: |
|
107 | %for commit in c.commit_ranges: | |
|
108 | ${cbdiffs.render_diffset_menu(c.changes[commit.raw_id])} | |||
109 | ${cbdiffs.render_diffset( |
|
109 | ${cbdiffs.render_diffset( | |
110 | diffset=c.changes[commit.raw_id], |
|
110 | diffset=c.changes[commit.raw_id], | |
111 | collapse_when_files_over=5, |
|
111 | collapse_when_files_over=5, | |
112 | commit=commit, |
|
112 | commit=commit, | |
113 | )} |
|
113 | )} | |
114 | %endfor |
|
114 | %endfor | |
115 | </div> |
|
115 | </div> | |
116 | </div> |
|
116 | </div> | |
117 | </div> |
|
117 | </div> | |
118 |
|
118 | |||
119 | </%def> |
|
119 | </%def> |
@@ -1,1031 +1,1121 b'' | |||||
1 | <%namespace name="commentblock" file="/changeset/changeset_file_comment.mako"/> |
|
1 | <%namespace name="commentblock" file="/changeset/changeset_file_comment.mako"/> | |
2 |
|
2 | |||
3 | <%def name="diff_line_anchor(commit, filename, line, type)"><% |
|
3 | <%def name="diff_line_anchor(commit, filename, line, type)"><% | |
4 | return '%s_%s_%i' % (h.md5_safe(commit+filename), type, line) |
|
4 | return '%s_%s_%i' % (h.md5_safe(commit+filename), type, line) | |
5 | %></%def> |
|
5 | %></%def> | |
6 |
|
6 | |||
7 | <%def name="action_class(action)"> |
|
7 | <%def name="action_class(action)"> | |
8 | <% |
|
8 | <% | |
9 | return { |
|
9 | return { | |
10 | '-': 'cb-deletion', |
|
10 | '-': 'cb-deletion', | |
11 | '+': 'cb-addition', |
|
11 | '+': 'cb-addition', | |
12 | ' ': 'cb-context', |
|
12 | ' ': 'cb-context', | |
13 | }.get(action, 'cb-empty') |
|
13 | }.get(action, 'cb-empty') | |
14 | %> |
|
14 | %> | |
15 | </%def> |
|
15 | </%def> | |
16 |
|
16 | |||
17 | <%def name="op_class(op_id)"> |
|
17 | <%def name="op_class(op_id)"> | |
18 | <% |
|
18 | <% | |
19 | return { |
|
19 | return { | |
20 | DEL_FILENODE: 'deletion', # file deleted |
|
20 | DEL_FILENODE: 'deletion', # file deleted | |
21 | BIN_FILENODE: 'warning' # binary diff hidden |
|
21 | BIN_FILENODE: 'warning' # binary diff hidden | |
22 | }.get(op_id, 'addition') |
|
22 | }.get(op_id, 'addition') | |
23 | %> |
|
23 | %> | |
24 | </%def> |
|
24 | </%def> | |
25 |
|
25 | |||
26 |
|
26 | |||
27 |
|
27 | |||
28 | <%def name="render_diffset(diffset, commit=None, |
|
28 | <%def name="render_diffset(diffset, commit=None, | |
29 |
|
29 | |||
30 | # collapse all file diff entries when there are more than this amount of files in the diff |
|
30 | # collapse all file diff entries when there are more than this amount of files in the diff | |
31 | collapse_when_files_over=20, |
|
31 | collapse_when_files_over=20, | |
32 |
|
32 | |||
33 | # collapse lines in the diff when more than this amount of lines changed in the file diff |
|
33 | # collapse lines in the diff when more than this amount of lines changed in the file diff | |
34 | lines_changed_limit=500, |
|
34 | lines_changed_limit=500, | |
35 |
|
35 | |||
36 | # add a ruler at to the output |
|
36 | # add a ruler at to the output | |
37 | ruler_at_chars=0, |
|
37 | ruler_at_chars=0, | |
38 |
|
38 | |||
39 | # show inline comments |
|
39 | # show inline comments | |
40 | use_comments=False, |
|
40 | use_comments=False, | |
41 |
|
41 | |||
42 | # disable new comments |
|
42 | # disable new comments | |
43 | disable_new_comments=False, |
|
43 | disable_new_comments=False, | |
44 |
|
44 | |||
45 | # special file-comments that were deleted in previous versions |
|
45 | # special file-comments that were deleted in previous versions | |
46 | # it's used for showing outdated comments for deleted files in a PR |
|
46 | # it's used for showing outdated comments for deleted files in a PR | |
47 | deleted_files_comments=None, |
|
47 | deleted_files_comments=None, | |
48 |
|
48 | |||
49 | # for cache purpose |
|
49 | # for cache purpose | |
50 | inline_comments=None, |
|
50 | inline_comments=None, | |
51 |
|
51 | |||
52 | )"> |
|
52 | )"> | |
|
53 | ||||
|
54 | <% | |||
|
55 | diffset_container_id = h.md5(diffset.target_ref) | |||
|
56 | collapse_all = len(diffset.files) > collapse_when_files_over | |||
|
57 | %> | |||
|
58 | ||||
53 | %if use_comments: |
|
59 | %if use_comments: | |
54 | <div id="cb-comments-inline-container-template" class="js-template"> |
|
60 | <div id="cb-comments-inline-container-template" class="js-template"> | |
55 | ${inline_comments_container([], inline_comments)} |
|
61 | ${inline_comments_container([], inline_comments)} | |
56 | </div> |
|
62 | </div> | |
57 | <div class="js-template" id="cb-comment-inline-form-template"> |
|
63 | <div class="js-template" id="cb-comment-inline-form-template"> | |
58 | <div class="comment-inline-form ac"> |
|
64 | <div class="comment-inline-form ac"> | |
59 |
|
65 | |||
60 | %if c.rhodecode_user.username != h.DEFAULT_USER: |
|
66 | %if c.rhodecode_user.username != h.DEFAULT_USER: | |
61 | ## render template for inline comments |
|
67 | ## render template for inline comments | |
62 | ${commentblock.comment_form(form_type='inline')} |
|
68 | ${commentblock.comment_form(form_type='inline')} | |
63 | %else: |
|
69 | %else: | |
64 | ${h.form('', class_='inline-form comment-form-login', method='get')} |
|
70 | ${h.form('', class_='inline-form comment-form-login', method='get')} | |
65 | <div class="pull-left"> |
|
71 | <div class="pull-left"> | |
66 | <div class="comment-help pull-right"> |
|
72 | <div class="comment-help pull-right"> | |
67 | ${_('You need to be logged in to leave comments.')} <a href="${h.route_path('login', _query={'came_from': h.current_route_path(request)})}">${_('Login now')}</a> |
|
73 | ${_('You need to be logged in to leave comments.')} <a href="${h.route_path('login', _query={'came_from': h.current_route_path(request)})}">${_('Login now')}</a> | |
68 | </div> |
|
74 | </div> | |
69 | </div> |
|
75 | </div> | |
70 | <div class="comment-button pull-right"> |
|
76 | <div class="comment-button pull-right"> | |
71 | <button type="button" class="cb-comment-cancel" onclick="return Rhodecode.comments.cancelComment(this);"> |
|
77 | <button type="button" class="cb-comment-cancel" onclick="return Rhodecode.comments.cancelComment(this);"> | |
72 | ${_('Cancel')} |
|
78 | ${_('Cancel')} | |
73 | </button> |
|
79 | </button> | |
74 | </div> |
|
80 | </div> | |
75 | <div class="clearfix"></div> |
|
81 | <div class="clearfix"></div> | |
76 | ${h.end_form()} |
|
82 | ${h.end_form()} | |
77 | %endif |
|
83 | %endif | |
78 | </div> |
|
84 | </div> | |
79 | </div> |
|
85 | </div> | |
80 |
|
86 | |||
81 | %endif |
|
87 | %endif | |
82 | <% |
|
|||
83 | collapse_all = len(diffset.files) > collapse_when_files_over |
|
|||
84 | %> |
|
|||
85 |
|
88 | |||
86 | %if c.user_session_attrs["diffmode"] == 'sideside': |
|
89 | %if c.user_session_attrs["diffmode"] == 'sideside': | |
87 | <style> |
|
90 | <style> | |
88 | .wrapper { |
|
91 | .wrapper { | |
89 | max-width: 1600px !important; |
|
92 | max-width: 1600px !important; | |
90 | } |
|
93 | } | |
91 | </style> |
|
94 | </style> | |
92 | %endif |
|
95 | %endif | |
93 |
|
96 | |||
94 | %if ruler_at_chars: |
|
97 | %if ruler_at_chars: | |
95 | <style> |
|
98 | <style> | |
96 | .diff table.cb .cb-content:after { |
|
99 | .diff table.cb .cb-content:after { | |
97 | content: ""; |
|
100 | content: ""; | |
98 | border-left: 1px solid blue; |
|
101 | border-left: 1px solid blue; | |
99 | position: absolute; |
|
102 | position: absolute; | |
100 | top: 0; |
|
103 | top: 0; | |
101 | height: 18px; |
|
104 | height: 18px; | |
102 | opacity: .2; |
|
105 | opacity: .2; | |
103 | z-index: 10; |
|
106 | z-index: 10; | |
104 | //## +5 to account for diff action (+/-) |
|
107 | //## +5 to account for diff action (+/-) | |
105 | left: ${ruler_at_chars + 5}ch; |
|
108 | left: ${ruler_at_chars + 5}ch; | |
106 | </style> |
|
109 | </style> | |
107 | %endif |
|
110 | %endif | |
108 |
|
111 | |||
109 | <div class="diffset ${disable_new_comments and 'diffset-comments-disabled'}"> |
|
112 | <div class="diffset ${disable_new_comments and 'diffset-comments-disabled'}"> | |
110 | <div class="diffset-heading ${diffset.limited_diff and 'diffset-heading-warning' or ''}"> |
|
113 | ||
111 | %if commit: |
|
114 | <div style="height: 20px; line-height: 20px"> | |
112 | <div class="pull-right"> |
|
115 | ## expand/collapse action | |
113 | <a class="btn tooltip" title="${h.tooltip(_('Browse Files at revision {}').format(commit.raw_id))}" href="${h.route_path('repo_files',repo_name=diffset.repo_name, commit_id=commit.raw_id, f_path='')}"> |
|
116 | <div class="pull-left"> | |
114 | ${_('Browse Files')} |
|
117 | <a class="${'collapsed' if collapse_all else ''}" href="#expand-files" onclick="toggleExpand(this, '${diffset_container_id}'); return false"> | |
115 |
|
|
118 | % if collapse_all: | |
|
119 | <i class="icon-plus-squared-alt icon-no-margin"></i>${_('Expand all files')} | |||
|
120 | % else: | |||
|
121 | <i class="icon-minus-squared-alt icon-no-margin"></i>${_('Collapse all files')} | |||
|
122 | % endif | |||
|
123 | </a> | |||
|
124 | ||||
|
125 | </div> | |||
|
126 | ||||
|
127 | ## todos | |||
|
128 | <div class="pull-right"> | |||
|
129 | <div class="comments-number" style="padding-left: 10px"> | |||
|
130 | % if hasattr(c, 'unresolved_comments') and hasattr(c, 'resolved_comments'): | |||
|
131 | <i class="icon-flag-filled" style="color: #949494">TODOs:</i> | |||
|
132 | % if c.unresolved_comments: | |||
|
133 | <a href="#show-todos" onclick="$('#todo-box').toggle(); return false"> | |||
|
134 | ${_('{} unresolved').format(len(c.unresolved_comments))} | |||
|
135 | </a> | |||
|
136 | % else: | |||
|
137 | ${_('0 unresolved')} | |||
|
138 | % endif | |||
|
139 | ||||
|
140 | ${_('{} Resolved').format(len(c.unresolved_comments))} | |||
|
141 | % endif | |||
116 | </div> |
|
142 | </div> | |
117 |
|
|
143 | </div> | |
118 | <h2 class="clearinner"> |
|
|||
119 | ## invidual commit |
|
|||
120 | % if commit: |
|
|||
121 | <a class="tooltip revision" title="${h.tooltip(commit.message)}" href="${h.route_path('repo_commit',repo_name=diffset.repo_name,commit_id=commit.raw_id)}">${('r%s:%s' % (commit.idx,h.short_id(commit.raw_id)))}</a> - |
|
|||
122 | ${h.age_component(commit.date)} |
|
|||
123 | % if diffset.limited_diff: |
|
|||
124 | - ${_('The requested changes are too big and content was truncated.')} |
|
|||
125 | ${_ungettext('%(num)s file changed.', '%(num)s files changed.', diffset.changed_files) % {'num': diffset.changed_files}} |
|
|||
126 | <a href="${h.current_route_path(request, fulldiff=1)}" onclick="return confirm('${_("Showing a big diff might take some time and resources, continue?")}')">${_('Show full diff')}</a> |
|
|||
127 | % elif hasattr(c, 'commit_ranges') and len(c.commit_ranges) > 1: |
|
|||
128 | ## compare diff, has no file-selector and we want to show stats anyway |
|
|||
129 | ${_ungettext('{num} file changed: {linesadd} inserted, ''{linesdel} deleted', |
|
|||
130 | '{num} files changed: {linesadd} inserted, {linesdel} deleted', diffset.changed_files) \ |
|
|||
131 | .format(num=diffset.changed_files, linesadd=diffset.lines_added, linesdel=diffset.lines_deleted)} |
|
|||
132 | % endif |
|
|||
133 | % else: |
|
|||
134 | ## pull requests/compare |
|
|||
135 | ${_('File Changes')} |
|
|||
136 | % endif |
|
|||
137 |
|
144 | |||
138 | </h2> |
|
145 | ## comments | |
|
146 | <div class="pull-right"> | |||
|
147 | <div class="comments-number" style="padding-left: 10px"> | |||
|
148 | % if hasattr(c, 'comments') and hasattr(c, 'inline_cnt'): | |||
|
149 | <i class="icon-comment" style="color: #949494">COMMENTS:</i> | |||
|
150 | % if c.comments: | |||
|
151 | <a href="#comments">${_ungettext("{} General", "{} General", len(c.comments)).format(len(c.comments))}</a>, | |||
|
152 | % else: | |||
|
153 | ${_('0 General')} | |||
|
154 | % endif | |||
|
155 | ||||
|
156 | % if c.inline_cnt: | |||
|
157 | <a href="#" onclick="return Rhodecode.comments.nextComment();" | |||
|
158 | id="inline-comments-counter">${_ungettext("{} Inline", "{} Inline", c.inline_cnt).format(c.inline_cnt)} | |||
|
159 | </a> | |||
|
160 | % else: | |||
|
161 | ${_('0 Inline')} | |||
|
162 | % endif | |||
|
163 | % endif | |||
|
164 | </div> | |||
|
165 | </div> | |||
|
166 | ||||
139 | </div> |
|
167 | </div> | |
140 |
|
168 | |||
|
169 | % if diffset.limited_diff: | |||
|
170 | <div class="diffset-heading ${(diffset.limited_diff and 'diffset-heading-warning' or '')}"> | |||
|
171 | <h2 class="clearinner"> | |||
|
172 | ${_('The requested changes are too big and content was truncated.')} | |||
|
173 | <a href="${h.current_route_path(request, fulldiff=1)}" onclick="return confirm('${_("Showing a big diff might take some time and resources, continue?")}')">${_('Show full diff')}</a> | |||
|
174 | </h2> | |||
|
175 | </div> | |||
|
176 | ## commit range header for each individual diff | |||
|
177 | % elif commit and hasattr(c, 'commit_ranges') and len(c.commit_ranges) > 1: | |||
|
178 | <div class="diffset-heading ${(diffset.limited_diff and 'diffset-heading-warning' or '')}"> | |||
|
179 | <div class="clearinner"> | |||
|
180 | <a class="tooltip revision" title="${h.tooltip(commit.message)}" href="${h.route_path('repo_commit',repo_name=diffset.repo_name,commit_id=commit.raw_id)}">${('r%s:%s' % (commit.idx,h.short_id(commit.raw_id)))}</a> | |||
|
181 | </div> | |||
|
182 | </div> | |||
|
183 | % endif | |||
|
184 | ||||
|
185 | <div id="todo-box"> | |||
|
186 | % if hasattr(c, 'unresolved_comments') and c.unresolved_comments: | |||
|
187 | % for co in c.unresolved_comments: | |||
|
188 | <a class="permalink" href="#comment-${co.comment_id}" | |||
|
189 | onclick="Rhodecode.comments.scrollToComment($('#comment-${co.comment_id}'))"> | |||
|
190 | <i class="icon-flag-filled-red"></i> | |||
|
191 | ${co.comment_id}</a>${('' if loop.last else ',')} | |||
|
192 | % endfor | |||
|
193 | % endif | |||
|
194 | </div> | |||
141 | %if diffset.has_hidden_changes: |
|
195 | %if diffset.has_hidden_changes: | |
142 | <p class="empty_data">${_('Some changes may be hidden')}</p> |
|
196 | <p class="empty_data">${_('Some changes may be hidden')}</p> | |
143 | %elif not diffset.files: |
|
197 | %elif not diffset.files: | |
144 | <p class="empty_data">${_('No files')}</p> |
|
198 | <p class="empty_data">${_('No files')}</p> | |
145 | %endif |
|
199 | %endif | |
146 |
|
200 | |||
147 | <div class="filediffs"> |
|
201 | <div class="filediffs"> | |
148 |
|
202 | |||
149 | ## initial value could be marked as False later on |
|
203 | ## initial value could be marked as False later on | |
150 | <% over_lines_changed_limit = False %> |
|
204 | <% over_lines_changed_limit = False %> | |
151 | %for i, filediff in enumerate(diffset.files): |
|
205 | %for i, filediff in enumerate(diffset.files): | |
152 |
|
206 | |||
153 | <% |
|
207 | <% | |
154 | lines_changed = filediff.patch['stats']['added'] + filediff.patch['stats']['deleted'] |
|
208 | lines_changed = filediff.patch['stats']['added'] + filediff.patch['stats']['deleted'] | |
155 | over_lines_changed_limit = lines_changed > lines_changed_limit |
|
209 | over_lines_changed_limit = lines_changed > lines_changed_limit | |
156 | %> |
|
210 | %> | |
157 | ## anchor with support of sticky header |
|
211 | ## anchor with support of sticky header | |
158 | <div class="anchor" id="a_${h.FID(filediff.raw_id, filediff.patch['filename'])}"></div> |
|
212 | <div class="anchor" id="a_${h.FID(filediff.raw_id, filediff.patch['filename'])}"></div> | |
159 |
|
213 | |||
160 | <input ${(collapse_all and 'checked' or '')} class="filediff-collapse-state" id="filediff-collapse-${id(filediff)}" type="checkbox" onchange="updateSticky();"> |
|
214 | <input ${(collapse_all and 'checked' or '')} class="filediff-collapse-state collapse-${diffset_container_id}" id="filediff-collapse-${id(filediff)}" type="checkbox" onchange="updateSticky();"> | |
161 | <div |
|
215 | <div | |
162 | class="filediff" |
|
216 | class="filediff" | |
163 | data-f-path="${filediff.patch['filename']}" |
|
217 | data-f-path="${filediff.patch['filename']}" | |
164 | data-anchor-id="${h.FID(filediff.raw_id, filediff.patch['filename'])}" |
|
218 | data-anchor-id="${h.FID(filediff.raw_id, filediff.patch['filename'])}" | |
165 | > |
|
219 | > | |
166 | <label for="filediff-collapse-${id(filediff)}" class="filediff-heading"> |
|
220 | <label for="filediff-collapse-${id(filediff)}" class="filediff-heading"> | |
167 | <div class="filediff-collapse-indicator"></div> |
|
221 | <div class="filediff-collapse-indicator icon-"></div> | |
168 | ${diff_ops(filediff)} |
|
222 | ${diff_ops(filediff)} | |
169 | </label> |
|
223 | </label> | |
170 |
|
224 | |||
171 | ${diff_menu(filediff, use_comments=use_comments)} |
|
225 | ${diff_menu(filediff, use_comments=use_comments)} | |
172 | <table data-f-path="${filediff.patch['filename']}" data-anchor-id="${h.FID(filediff.raw_id, filediff.patch['filename'])}" class="code-visible-block cb cb-diff-${c.user_session_attrs["diffmode"]} code-highlight ${(over_lines_changed_limit and 'cb-collapsed' or '')}"> |
|
226 | <table data-f-path="${filediff.patch['filename']}" data-anchor-id="${h.FID(filediff.raw_id, filediff.patch['filename'])}" class="code-visible-block cb cb-diff-${c.user_session_attrs["diffmode"]} code-highlight ${(over_lines_changed_limit and 'cb-collapsed' or '')}"> | |
173 |
|
227 | |||
174 | ## new/deleted/empty content case |
|
228 | ## new/deleted/empty content case | |
175 | % if not filediff.hunks: |
|
229 | % if not filediff.hunks: | |
176 | ## Comment container, on "fakes" hunk that contains all data to render comments |
|
230 | ## Comment container, on "fakes" hunk that contains all data to render comments | |
177 | ${render_hunk_lines(filediff, c.user_session_attrs["diffmode"], filediff.hunk_ops, use_comments=use_comments, inline_comments=inline_comments)} |
|
231 | ${render_hunk_lines(filediff, c.user_session_attrs["diffmode"], filediff.hunk_ops, use_comments=use_comments, inline_comments=inline_comments)} | |
178 | % endif |
|
232 | % endif | |
179 |
|
233 | |||
180 | %if filediff.limited_diff: |
|
234 | %if filediff.limited_diff: | |
181 | <tr class="cb-warning cb-collapser"> |
|
235 | <tr class="cb-warning cb-collapser"> | |
182 | <td class="cb-text" ${(c.user_session_attrs["diffmode"] == 'unified' and 'colspan=4' or 'colspan=6')}> |
|
236 | <td class="cb-text" ${(c.user_session_attrs["diffmode"] == 'unified' and 'colspan=4' or 'colspan=6')}> | |
183 | ${_('The requested commit or file is too big and content was truncated.')} <a href="${h.current_route_path(request, fulldiff=1)}" onclick="return confirm('${_("Showing a big diff might take some time and resources, continue?")}')">${_('Show full diff')}</a> |
|
237 | ${_('The requested commit or file is too big and content was truncated.')} <a href="${h.current_route_path(request, fulldiff=1)}" onclick="return confirm('${_("Showing a big diff might take some time and resources, continue?")}')">${_('Show full diff')}</a> | |
184 | </td> |
|
238 | </td> | |
185 | </tr> |
|
239 | </tr> | |
186 | %else: |
|
240 | %else: | |
187 | %if over_lines_changed_limit: |
|
241 | %if over_lines_changed_limit: | |
188 | <tr class="cb-warning cb-collapser"> |
|
242 | <tr class="cb-warning cb-collapser"> | |
189 | <td class="cb-text" ${(c.user_session_attrs["diffmode"] == 'unified' and 'colspan=4' or 'colspan=6')}> |
|
243 | <td class="cb-text" ${(c.user_session_attrs["diffmode"] == 'unified' and 'colspan=4' or 'colspan=6')}> | |
190 | ${_('This diff has been collapsed as it changes many lines, (%i lines changed)' % lines_changed)} |
|
244 | ${_('This diff has been collapsed as it changes many lines, (%i lines changed)' % lines_changed)} | |
191 | <a href="#" class="cb-expand" |
|
245 | <a href="#" class="cb-expand" | |
192 | onclick="$(this).closest('table').removeClass('cb-collapsed'); updateSticky(); return false;">${_('Show them')} |
|
246 | onclick="$(this).closest('table').removeClass('cb-collapsed'); updateSticky(); return false;">${_('Show them')} | |
193 | </a> |
|
247 | </a> | |
194 | <a href="#" class="cb-collapse" |
|
248 | <a href="#" class="cb-collapse" | |
195 | onclick="$(this).closest('table').addClass('cb-collapsed'); updateSticky(); return false;">${_('Hide them')} |
|
249 | onclick="$(this).closest('table').addClass('cb-collapsed'); updateSticky(); return false;">${_('Hide them')} | |
196 | </a> |
|
250 | </a> | |
197 | </td> |
|
251 | </td> | |
198 | </tr> |
|
252 | </tr> | |
199 | %endif |
|
253 | %endif | |
200 | %endif |
|
254 | %endif | |
201 |
|
255 | |||
202 | % for hunk in filediff.hunks: |
|
256 | % for hunk in filediff.hunks: | |
203 | <tr class="cb-hunk"> |
|
257 | <tr class="cb-hunk"> | |
204 | <td ${(c.user_session_attrs["diffmode"] == 'unified' and 'colspan=3' or '')}> |
|
258 | <td ${(c.user_session_attrs["diffmode"] == 'unified' and 'colspan=3' or '')}> | |
205 | ## TODO: dan: add ajax loading of more context here |
|
259 | ## TODO: dan: add ajax loading of more context here | |
206 | ## <a href="#"> |
|
260 | ## <a href="#"> | |
207 | <i class="icon-more"></i> |
|
261 | <i class="icon-more"></i> | |
208 | ## </a> |
|
262 | ## </a> | |
209 | </td> |
|
263 | </td> | |
210 | <td ${(c.user_session_attrs["diffmode"] == 'sideside' and 'colspan=5' or '')}> |
|
264 | <td ${(c.user_session_attrs["diffmode"] == 'sideside' and 'colspan=5' or '')}> | |
211 | @@ |
|
265 | @@ | |
212 | -${hunk.source_start},${hunk.source_length} |
|
266 | -${hunk.source_start},${hunk.source_length} | |
213 | +${hunk.target_start},${hunk.target_length} |
|
267 | +${hunk.target_start},${hunk.target_length} | |
214 | ${hunk.section_header} |
|
268 | ${hunk.section_header} | |
215 | </td> |
|
269 | </td> | |
216 | </tr> |
|
270 | </tr> | |
217 | ${render_hunk_lines(filediff, c.user_session_attrs["diffmode"], hunk, use_comments=use_comments, inline_comments=inline_comments)} |
|
271 | ${render_hunk_lines(filediff, c.user_session_attrs["diffmode"], hunk, use_comments=use_comments, inline_comments=inline_comments)} | |
218 | % endfor |
|
272 | % endfor | |
219 |
|
273 | |||
220 | <% unmatched_comments = (inline_comments or {}).get(filediff.patch['filename'], {}) %> |
|
274 | <% unmatched_comments = (inline_comments or {}).get(filediff.patch['filename'], {}) %> | |
221 |
|
275 | |||
222 | ## outdated comments that do not fit into currently displayed lines |
|
276 | ## outdated comments that do not fit into currently displayed lines | |
223 | % for lineno, comments in unmatched_comments.items(): |
|
277 | % for lineno, comments in unmatched_comments.items(): | |
224 |
|
278 | |||
225 | %if c.user_session_attrs["diffmode"] == 'unified': |
|
279 | %if c.user_session_attrs["diffmode"] == 'unified': | |
226 | % if loop.index == 0: |
|
280 | % if loop.index == 0: | |
227 | <tr class="cb-hunk"> |
|
281 | <tr class="cb-hunk"> | |
228 | <td colspan="3"></td> |
|
282 | <td colspan="3"></td> | |
229 | <td> |
|
283 | <td> | |
230 | <div> |
|
284 | <div> | |
231 | ${_('Unmatched inline comments below')} |
|
285 | ${_('Unmatched inline comments below')} | |
232 | </div> |
|
286 | </div> | |
233 | </td> |
|
287 | </td> | |
234 | </tr> |
|
288 | </tr> | |
235 | % endif |
|
289 | % endif | |
236 | <tr class="cb-line"> |
|
290 | <tr class="cb-line"> | |
237 | <td class="cb-data cb-context"></td> |
|
291 | <td class="cb-data cb-context"></td> | |
238 | <td class="cb-lineno cb-context"></td> |
|
292 | <td class="cb-lineno cb-context"></td> | |
239 | <td class="cb-lineno cb-context"></td> |
|
293 | <td class="cb-lineno cb-context"></td> | |
240 | <td class="cb-content cb-context"> |
|
294 | <td class="cb-content cb-context"> | |
241 | ${inline_comments_container(comments, inline_comments)} |
|
295 | ${inline_comments_container(comments, inline_comments)} | |
242 | </td> |
|
296 | </td> | |
243 | </tr> |
|
297 | </tr> | |
244 | %elif c.user_session_attrs["diffmode"] == 'sideside': |
|
298 | %elif c.user_session_attrs["diffmode"] == 'sideside': | |
245 | % if loop.index == 0: |
|
299 | % if loop.index == 0: | |
246 | <tr class="cb-comment-info"> |
|
300 | <tr class="cb-comment-info"> | |
247 | <td colspan="2"></td> |
|
301 | <td colspan="2"></td> | |
248 | <td class="cb-line"> |
|
302 | <td class="cb-line"> | |
249 | <div> |
|
303 | <div> | |
250 | ${_('Unmatched inline comments below')} |
|
304 | ${_('Unmatched inline comments below')} | |
251 | </div> |
|
305 | </div> | |
252 | </td> |
|
306 | </td> | |
253 | <td colspan="2"></td> |
|
307 | <td colspan="2"></td> | |
254 | <td class="cb-line"> |
|
308 | <td class="cb-line"> | |
255 | <div> |
|
309 | <div> | |
256 | ${_('Unmatched comments below')} |
|
310 | ${_('Unmatched comments below')} | |
257 | </div> |
|
311 | </div> | |
258 | </td> |
|
312 | </td> | |
259 | </tr> |
|
313 | </tr> | |
260 | % endif |
|
314 | % endif | |
261 | <tr class="cb-line"> |
|
315 | <tr class="cb-line"> | |
262 | <td class="cb-data cb-context"></td> |
|
316 | <td class="cb-data cb-context"></td> | |
263 | <td class="cb-lineno cb-context"></td> |
|
317 | <td class="cb-lineno cb-context"></td> | |
264 | <td class="cb-content cb-context"> |
|
318 | <td class="cb-content cb-context"> | |
265 | % if lineno.startswith('o'): |
|
319 | % if lineno.startswith('o'): | |
266 | ${inline_comments_container(comments, inline_comments)} |
|
320 | ${inline_comments_container(comments, inline_comments)} | |
267 | % endif |
|
321 | % endif | |
268 | </td> |
|
322 | </td> | |
269 |
|
323 | |||
270 | <td class="cb-data cb-context"></td> |
|
324 | <td class="cb-data cb-context"></td> | |
271 | <td class="cb-lineno cb-context"></td> |
|
325 | <td class="cb-lineno cb-context"></td> | |
272 | <td class="cb-content cb-context"> |
|
326 | <td class="cb-content cb-context"> | |
273 | % if lineno.startswith('n'): |
|
327 | % if lineno.startswith('n'): | |
274 | ${inline_comments_container(comments, inline_comments)} |
|
328 | ${inline_comments_container(comments, inline_comments)} | |
275 | % endif |
|
329 | % endif | |
276 | </td> |
|
330 | </td> | |
277 | </tr> |
|
331 | </tr> | |
278 | %endif |
|
332 | %endif | |
279 |
|
333 | |||
280 | % endfor |
|
334 | % endfor | |
281 |
|
335 | |||
282 | </table> |
|
336 | </table> | |
283 | </div> |
|
337 | </div> | |
284 | %endfor |
|
338 | %endfor | |
285 |
|
339 | |||
286 | ## outdated comments that are made for a file that has been deleted |
|
340 | ## outdated comments that are made for a file that has been deleted | |
287 | % for filename, comments_dict in (deleted_files_comments or {}).items(): |
|
341 | % for filename, comments_dict in (deleted_files_comments or {}).items(): | |
288 | <% |
|
342 | <% | |
289 | display_state = 'display: none' |
|
343 | display_state = 'display: none' | |
290 | open_comments_in_file = [x for x in comments_dict['comments'] if x.outdated is False] |
|
344 | open_comments_in_file = [x for x in comments_dict['comments'] if x.outdated is False] | |
291 | if open_comments_in_file: |
|
345 | if open_comments_in_file: | |
292 | display_state = '' |
|
346 | display_state = '' | |
293 | %> |
|
347 | %> | |
294 | <div class="filediffs filediff-outdated" style="${display_state}"> |
|
348 | <div class="filediffs filediff-outdated" style="${display_state}"> | |
295 | <input ${(collapse_all and 'checked' or '')} class="filediff-collapse-state" id="filediff-collapse-${id(filename)}" type="checkbox" onchange="updateSticky();"> |
|
349 | <input ${(collapse_all and 'checked' or '')} class="filediff-collapse-state collapse-${diffset_container_id}" id="filediff-collapse-${id(filename)}" type="checkbox" onchange="updateSticky();"> | |
296 | <div class="filediff" data-f-path="${filename}" id="a_${h.FID(filediff.raw_id, filename)}"> |
|
350 | <div class="filediff" data-f-path="${filename}" id="a_${h.FID(filediff.raw_id, filename)}"> | |
297 | <label for="filediff-collapse-${id(filename)}" class="filediff-heading"> |
|
351 | <label for="filediff-collapse-${id(filename)}" class="filediff-heading"> | |
298 | <div class="filediff-collapse-indicator"></div> |
|
352 | <div class="filediff-collapse-indicator"></div> | |
|
353 | ||||
299 | <span class="pill"> |
|
354 | <span class="pill"> | |
300 | ## file was deleted |
|
355 | ## file was deleted | |
301 |
|
|
356 | ${filename} | |
302 | </span> |
|
357 | </span> | |
303 |
<span class="pill-group" |
|
358 | <span class="pill-group pull-left" > | |
304 | ## file op, doesn't need translation |
|
359 | ## file op, doesn't need translation | |
305 | <span class="pill" op="removed">removed in this version</span> |
|
360 | <span class="pill" op="removed">removed in this version</span> | |
306 | </span> |
|
361 | </span> | |
307 | <a class="pill filediff-anchor" href="#a_${h.FID(filediff.raw_id, filename)}">¶</a> |
|
362 | <a class="pill filediff-anchor" href="#a_${h.FID(filediff.raw_id, filename)}">¶</a> | |
308 |
<span class="pill-group |
|
363 | <span class="pill-group pull-right"> | |
309 | <span class="pill" op="deleted">-${comments_dict['stats']}</span> |
|
364 | <span class="pill" op="deleted">-${comments_dict['stats']}</span> | |
310 | </span> |
|
365 | </span> | |
311 | </label> |
|
366 | </label> | |
312 |
|
367 | |||
313 | <table class="cb cb-diff-${c.user_session_attrs["diffmode"]} code-highlight ${over_lines_changed_limit and 'cb-collapsed' or ''}"> |
|
368 | <table class="cb cb-diff-${c.user_session_attrs["diffmode"]} code-highlight ${(over_lines_changed_limit and 'cb-collapsed' or '')}"> | |
314 | <tr> |
|
369 | <tr> | |
315 | % if c.user_session_attrs["diffmode"] == 'unified': |
|
370 | % if c.user_session_attrs["diffmode"] == 'unified': | |
316 | <td></td> |
|
371 | <td></td> | |
317 | %endif |
|
372 | %endif | |
318 |
|
373 | |||
319 | <td></td> |
|
374 | <td></td> | |
320 | <td class="cb-text cb-${op_class(BIN_FILENODE)}" ${(c.user_session_attrs["diffmode"] == 'unified' and 'colspan=4' or 'colspan=5')}> |
|
375 | <td class="cb-text cb-${op_class(BIN_FILENODE)}" ${(c.user_session_attrs["diffmode"] == 'unified' and 'colspan=4' or 'colspan=5')}> | |
321 | ${_('File was deleted in this version. There are still outdated/unresolved comments attached to it.')} |
|
376 | ${_('File was deleted in this version. There are still outdated/unresolved comments attached to it.')} | |
322 | </td> |
|
377 | </td> | |
323 | </tr> |
|
378 | </tr> | |
324 | %if c.user_session_attrs["diffmode"] == 'unified': |
|
379 | %if c.user_session_attrs["diffmode"] == 'unified': | |
325 | <tr class="cb-line"> |
|
380 | <tr class="cb-line"> | |
326 | <td class="cb-data cb-context"></td> |
|
381 | <td class="cb-data cb-context"></td> | |
327 | <td class="cb-lineno cb-context"></td> |
|
382 | <td class="cb-lineno cb-context"></td> | |
328 | <td class="cb-lineno cb-context"></td> |
|
383 | <td class="cb-lineno cb-context"></td> | |
329 | <td class="cb-content cb-context"> |
|
384 | <td class="cb-content cb-context"> | |
330 | ${inline_comments_container(comments_dict['comments'], inline_comments)} |
|
385 | ${inline_comments_container(comments_dict['comments'], inline_comments)} | |
331 | </td> |
|
386 | </td> | |
332 | </tr> |
|
387 | </tr> | |
333 | %elif c.user_session_attrs["diffmode"] == 'sideside': |
|
388 | %elif c.user_session_attrs["diffmode"] == 'sideside': | |
334 | <tr class="cb-line"> |
|
389 | <tr class="cb-line"> | |
335 | <td class="cb-data cb-context"></td> |
|
390 | <td class="cb-data cb-context"></td> | |
336 | <td class="cb-lineno cb-context"></td> |
|
391 | <td class="cb-lineno cb-context"></td> | |
337 | <td class="cb-content cb-context"></td> |
|
392 | <td class="cb-content cb-context"></td> | |
338 |
|
393 | |||
339 | <td class="cb-data cb-context"></td> |
|
394 | <td class="cb-data cb-context"></td> | |
340 | <td class="cb-lineno cb-context"></td> |
|
395 | <td class="cb-lineno cb-context"></td> | |
341 | <td class="cb-content cb-context"> |
|
396 | <td class="cb-content cb-context"> | |
342 | ${inline_comments_container(comments_dict['comments'], inline_comments)} |
|
397 | ${inline_comments_container(comments_dict['comments'], inline_comments)} | |
343 | </td> |
|
398 | </td> | |
344 | </tr> |
|
399 | </tr> | |
345 | %endif |
|
400 | %endif | |
346 | </table> |
|
401 | </table> | |
347 | </div> |
|
402 | </div> | |
348 | </div> |
|
403 | </div> | |
349 | % endfor |
|
404 | % endfor | |
350 |
|
405 | |||
351 | </div> |
|
406 | </div> | |
352 | </div> |
|
407 | </div> | |
353 | </%def> |
|
408 | </%def> | |
354 |
|
409 | |||
355 | <%def name="diff_ops(filediff)"> |
|
410 | <%def name="diff_ops(filediff)"> | |
356 | <% |
|
411 | <% | |
357 | from rhodecode.lib.diffs import NEW_FILENODE, DEL_FILENODE, \ |
|
412 | from rhodecode.lib.diffs import NEW_FILENODE, DEL_FILENODE, \ | |
358 | MOD_FILENODE, RENAMED_FILENODE, CHMOD_FILENODE, BIN_FILENODE, COPIED_FILENODE |
|
413 | MOD_FILENODE, RENAMED_FILENODE, CHMOD_FILENODE, BIN_FILENODE, COPIED_FILENODE | |
359 | %> |
|
414 | %> | |
360 | <span class="pill"> |
|
415 | <span class="pill"> | |
|
416 | <i class="icon-file-text"></i> | |||
361 | %if filediff.source_file_path and filediff.target_file_path: |
|
417 | %if filediff.source_file_path and filediff.target_file_path: | |
362 | %if filediff.source_file_path != filediff.target_file_path: |
|
418 | %if filediff.source_file_path != filediff.target_file_path: | |
363 | ## file was renamed, or copied |
|
419 | ## file was renamed, or copied | |
364 | %if RENAMED_FILENODE in filediff.patch['stats']['ops']: |
|
420 | %if RENAMED_FILENODE in filediff.patch['stats']['ops']: | |
365 |
|
|
421 | ${filediff.target_file_path} ⬅ <del>${filediff.source_file_path}</del> | |
366 | <% final_path = filediff.target_file_path %> |
|
422 | <% final_path = filediff.target_file_path %> | |
367 | %elif COPIED_FILENODE in filediff.patch['stats']['ops']: |
|
423 | %elif COPIED_FILENODE in filediff.patch['stats']['ops']: | |
368 |
|
|
424 | ${filediff.target_file_path} ⬅ ${filediff.source_file_path} | |
369 | <% final_path = filediff.target_file_path %> |
|
425 | <% final_path = filediff.target_file_path %> | |
370 | %endif |
|
426 | %endif | |
371 | %else: |
|
427 | %else: | |
372 | ## file was modified |
|
428 | ## file was modified | |
373 |
|
|
429 | ${filediff.source_file_path} | |
374 | <% final_path = filediff.source_file_path %> |
|
430 | <% final_path = filediff.source_file_path %> | |
375 | %endif |
|
431 | %endif | |
376 | %else: |
|
432 | %else: | |
377 | %if filediff.source_file_path: |
|
433 | %if filediff.source_file_path: | |
378 | ## file was deleted |
|
434 | ## file was deleted | |
379 |
|
|
435 | ${filediff.source_file_path} | |
380 | <% final_path = filediff.source_file_path %> |
|
436 | <% final_path = filediff.source_file_path %> | |
381 | %else: |
|
437 | %else: | |
382 | ## file was added |
|
438 | ## file was added | |
383 |
|
|
439 | ${filediff.target_file_path} | |
384 | <% final_path = filediff.target_file_path %> |
|
440 | <% final_path = filediff.target_file_path %> | |
385 | %endif |
|
441 | %endif | |
386 | %endif |
|
442 | %endif | |
387 | <i style="color: #aaa" class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${final_path}" title="${_('Copy the full path')}" onclick="return false;"></i> |
|
443 | <i style="color: #aaa" class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${final_path}" title="${_('Copy the full path')}" onclick="return false;"></i> | |
388 | </span> |
|
444 | </span> | |
389 | ## anchor link |
|
445 | ## anchor link | |
390 | <a class="pill filediff-anchor" href="#a_${h.FID(filediff.raw_id, filediff.patch['filename'])}">¶</a> |
|
446 | <a class="pill filediff-anchor" href="#a_${h.FID(filediff.raw_id, filediff.patch['filename'])}">¶</a> | |
391 |
|
447 | |||
392 |
<span class="pill-group |
|
448 | <span class="pill-group pull-right"> | |
393 |
|
449 | |||
394 | ## ops pills |
|
450 | ## ops pills | |
395 | %if filediff.limited_diff: |
|
451 | %if filediff.limited_diff: | |
396 | <span class="pill tooltip" op="limited" title="The stats for this diff are not complete">limited diff</span> |
|
452 | <span class="pill tooltip" op="limited" title="The stats for this diff are not complete">limited diff</span> | |
397 | %endif |
|
453 | %endif | |
398 |
|
454 | |||
399 | %if NEW_FILENODE in filediff.patch['stats']['ops']: |
|
455 | %if NEW_FILENODE in filediff.patch['stats']['ops']: | |
400 | <span class="pill" op="created">created</span> |
|
456 | <span class="pill" op="created">created</span> | |
401 | %if filediff['target_mode'].startswith('120'): |
|
457 | %if filediff['target_mode'].startswith('120'): | |
402 | <span class="pill" op="symlink">symlink</span> |
|
458 | <span class="pill" op="symlink">symlink</span> | |
403 | %else: |
|
459 | %else: | |
404 | <span class="pill" op="mode">${nice_mode(filediff['target_mode'])}</span> |
|
460 | <span class="pill" op="mode">${nice_mode(filediff['target_mode'])}</span> | |
405 | %endif |
|
461 | %endif | |
406 | %endif |
|
462 | %endif | |
407 |
|
463 | |||
408 | %if RENAMED_FILENODE in filediff.patch['stats']['ops']: |
|
464 | %if RENAMED_FILENODE in filediff.patch['stats']['ops']: | |
409 | <span class="pill" op="renamed">renamed</span> |
|
465 | <span class="pill" op="renamed">renamed</span> | |
410 | %endif |
|
466 | %endif | |
411 |
|
467 | |||
412 | %if COPIED_FILENODE in filediff.patch['stats']['ops']: |
|
468 | %if COPIED_FILENODE in filediff.patch['stats']['ops']: | |
413 | <span class="pill" op="copied">copied</span> |
|
469 | <span class="pill" op="copied">copied</span> | |
414 | %endif |
|
470 | %endif | |
415 |
|
471 | |||
416 | %if DEL_FILENODE in filediff.patch['stats']['ops']: |
|
472 | %if DEL_FILENODE in filediff.patch['stats']['ops']: | |
417 | <span class="pill" op="removed">removed</span> |
|
473 | <span class="pill" op="removed">removed</span> | |
418 | %endif |
|
474 | %endif | |
419 |
|
475 | |||
420 | %if CHMOD_FILENODE in filediff.patch['stats']['ops']: |
|
476 | %if CHMOD_FILENODE in filediff.patch['stats']['ops']: | |
421 | <span class="pill" op="mode"> |
|
477 | <span class="pill" op="mode"> | |
422 | ${nice_mode(filediff['source_mode'])} ➡ ${nice_mode(filediff['target_mode'])} |
|
478 | ${nice_mode(filediff['source_mode'])} ➡ ${nice_mode(filediff['target_mode'])} | |
423 | </span> |
|
479 | </span> | |
424 | %endif |
|
480 | %endif | |
425 |
|
481 | |||
426 | %if BIN_FILENODE in filediff.patch['stats']['ops']: |
|
482 | %if BIN_FILENODE in filediff.patch['stats']['ops']: | |
427 | <span class="pill" op="binary">binary</span> |
|
483 | <span class="pill" op="binary">binary</span> | |
428 | %if MOD_FILENODE in filediff.patch['stats']['ops']: |
|
484 | %if MOD_FILENODE in filediff.patch['stats']['ops']: | |
429 | <span class="pill" op="modified">modified</span> |
|
485 | <span class="pill" op="modified">modified</span> | |
430 | %endif |
|
486 | %endif | |
431 | %endif |
|
487 | %endif | |
432 |
|
488 | |||
433 | <span class="pill" op="added">${('+' if filediff.patch['stats']['added'] else '')}${filediff.patch['stats']['added']}</span> |
|
489 | <span class="pill" op="added">${('+' if filediff.patch['stats']['added'] else '')}${filediff.patch['stats']['added']}</span> | |
434 | <span class="pill" op="deleted">${((h.safe_int(filediff.patch['stats']['deleted']) or 0) * -1)}</span> |
|
490 | <span class="pill" op="deleted">${((h.safe_int(filediff.patch['stats']['deleted']) or 0) * -1)}</span> | |
435 |
|
491 | |||
436 | </span> |
|
492 | </span> | |
437 |
|
493 | |||
438 | </%def> |
|
494 | </%def> | |
439 |
|
495 | |||
440 | <%def name="nice_mode(filemode)"> |
|
496 | <%def name="nice_mode(filemode)"> | |
441 | ${(filemode.startswith('100') and filemode[3:] or filemode)} |
|
497 | ${(filemode.startswith('100') and filemode[3:] or filemode)} | |
442 | </%def> |
|
498 | </%def> | |
443 |
|
499 | |||
444 | <%def name="diff_menu(filediff, use_comments=False)"> |
|
500 | <%def name="diff_menu(filediff, use_comments=False)"> | |
445 | <div class="filediff-menu"> |
|
501 | <div class="filediff-menu"> | |
446 |
|
502 | |||
447 | %if filediff.diffset.source_ref: |
|
503 | %if filediff.diffset.source_ref: | |
448 |
|
504 | |||
449 | ## FILE BEFORE CHANGES |
|
505 | ## FILE BEFORE CHANGES | |
450 | %if filediff.operation in ['D', 'M']: |
|
506 | %if filediff.operation in ['D', 'M']: | |
451 | <a |
|
507 | <a | |
452 | class="tooltip" |
|
508 | class="tooltip" | |
453 | href="${h.route_path('repo_files',repo_name=filediff.diffset.target_repo_name,commit_id=filediff.diffset.source_ref,f_path=filediff.source_file_path)}" |
|
509 | href="${h.route_path('repo_files',repo_name=filediff.diffset.target_repo_name,commit_id=filediff.diffset.source_ref,f_path=filediff.source_file_path)}" | |
454 | title="${h.tooltip(_('Show file at commit: %(commit_id)s') % {'commit_id': filediff.diffset.source_ref[:12]})}" |
|
510 | title="${h.tooltip(_('Show file at commit: %(commit_id)s') % {'commit_id': filediff.diffset.source_ref[:12]})}" | |
455 | > |
|
511 | > | |
456 | ${_('Show file before')} |
|
512 | ${_('Show file before')} | |
457 | </a> | |
|
513 | </a> | | |
458 | %else: |
|
514 | %else: | |
459 | <span |
|
515 | <span | |
460 | class="tooltip" |
|
516 | class="tooltip" | |
461 | title="${h.tooltip(_('File not present at commit: %(commit_id)s') % {'commit_id': filediff.diffset.source_ref[:12]})}" |
|
517 | title="${h.tooltip(_('File not present at commit: %(commit_id)s') % {'commit_id': filediff.diffset.source_ref[:12]})}" | |
462 | > |
|
518 | > | |
463 | ${_('Show file before')} |
|
519 | ${_('Show file before')} | |
464 | </span> | |
|
520 | </span> | | |
465 | %endif |
|
521 | %endif | |
466 |
|
522 | |||
467 | ## FILE AFTER CHANGES |
|
523 | ## FILE AFTER CHANGES | |
468 | %if filediff.operation in ['A', 'M']: |
|
524 | %if filediff.operation in ['A', 'M']: | |
469 | <a |
|
525 | <a | |
470 | class="tooltip" |
|
526 | class="tooltip" | |
471 | href="${h.route_path('repo_files',repo_name=filediff.diffset.source_repo_name,commit_id=filediff.diffset.target_ref,f_path=filediff.target_file_path)}" |
|
527 | href="${h.route_path('repo_files',repo_name=filediff.diffset.source_repo_name,commit_id=filediff.diffset.target_ref,f_path=filediff.target_file_path)}" | |
472 | title="${h.tooltip(_('Show file at commit: %(commit_id)s') % {'commit_id': filediff.diffset.target_ref[:12]})}" |
|
528 | title="${h.tooltip(_('Show file at commit: %(commit_id)s') % {'commit_id': filediff.diffset.target_ref[:12]})}" | |
473 | > |
|
529 | > | |
474 | ${_('Show file after')} |
|
530 | ${_('Show file after')} | |
475 | </a> |
|
531 | </a> | |
476 | %else: |
|
532 | %else: | |
477 | <span |
|
533 | <span | |
478 | class="tooltip" |
|
534 | class="tooltip" | |
479 | title="${h.tooltip(_('File not present at commit: %(commit_id)s') % {'commit_id': filediff.diffset.target_ref[:12]})}" |
|
535 | title="${h.tooltip(_('File not present at commit: %(commit_id)s') % {'commit_id': filediff.diffset.target_ref[:12]})}" | |
480 | > |
|
536 | > | |
481 | ${_('Show file after')} |
|
537 | ${_('Show file after')} | |
482 | </span> |
|
538 | </span> | |
483 | %endif |
|
539 | %endif | |
484 |
|
540 | |||
485 | % if use_comments: |
|
541 | % if use_comments: | |
486 | | |
|
542 | | | |
487 | <a href="#" onclick="return Rhodecode.comments.toggleComments(this);"> |
|
543 | <a href="#" onclick="return Rhodecode.comments.toggleComments(this);"> | |
488 | <span class="show-comment-button">${_('Show comments')}</span><span class="hide-comment-button">${_('Hide comments')}</span> |
|
544 | <span class="show-comment-button">${_('Show comments')}</span><span class="hide-comment-button">${_('Hide comments')}</span> | |
489 | </a> |
|
545 | </a> | |
490 | % endif |
|
546 | % endif | |
491 |
|
547 | |||
492 | %endif |
|
548 | %endif | |
493 |
|
549 | |||
494 | </div> |
|
550 | </div> | |
495 | </%def> |
|
551 | </%def> | |
496 |
|
552 | |||
497 |
|
553 | |||
498 | <%def name="inline_comments_container(comments, inline_comments)"> |
|
554 | <%def name="inline_comments_container(comments, inline_comments)"> | |
499 | <div class="inline-comments"> |
|
555 | <div class="inline-comments"> | |
500 | %for comment in comments: |
|
556 | %for comment in comments: | |
501 | ${commentblock.comment_block(comment, inline=True)} |
|
557 | ${commentblock.comment_block(comment, inline=True)} | |
502 | %endfor |
|
558 | %endfor | |
503 | % if comments and comments[-1].outdated: |
|
559 | % if comments and comments[-1].outdated: | |
504 | <span class="btn btn-secondary cb-comment-add-button comment-outdated}" |
|
560 | <span class="btn btn-secondary cb-comment-add-button comment-outdated}" style="display: none;}"> | |
505 | style="display: none;}"> |
|
|||
506 | ${_('Add another comment')} |
|
561 | ${_('Add another comment')} | |
507 | </span> |
|
562 | </span> | |
508 | % else: |
|
563 | % else: | |
509 | <span onclick="return Rhodecode.comments.createComment(this)" |
|
564 | <span onclick="return Rhodecode.comments.createComment(this)" class="btn btn-secondary cb-comment-add-button"> | |
510 | class="btn btn-secondary cb-comment-add-button"> |
|
|||
511 | ${_('Add another comment')} |
|
565 | ${_('Add another comment')} | |
512 | </span> |
|
566 | </span> | |
513 | % endif |
|
567 | % endif | |
514 |
|
568 | |||
515 | </div> |
|
569 | </div> | |
516 | </%def> |
|
570 | </%def> | |
517 |
|
571 | |||
518 | <%! |
|
572 | <%! | |
519 | def get_comments_for(diff_type, comments, filename, line_version, line_number): |
|
573 | def get_comments_for(diff_type, comments, filename, line_version, line_number): | |
520 | if hasattr(filename, 'unicode_path'): |
|
574 | if hasattr(filename, 'unicode_path'): | |
521 | filename = filename.unicode_path |
|
575 | filename = filename.unicode_path | |
522 |
|
576 | |||
523 | if not isinstance(filename, (unicode, str)): |
|
577 | if not isinstance(filename, (unicode, str)): | |
524 | return None |
|
578 | return None | |
525 |
|
579 | |||
526 | line_key = '{}{}'.format(line_version, line_number) ## e.g o37, n12 |
|
580 | line_key = '{}{}'.format(line_version, line_number) ## e.g o37, n12 | |
527 |
|
581 | |||
528 | if comments and filename in comments: |
|
582 | if comments and filename in comments: | |
529 | file_comments = comments[filename] |
|
583 | file_comments = comments[filename] | |
530 | if line_key in file_comments: |
|
584 | if line_key in file_comments: | |
531 | data = file_comments.pop(line_key) |
|
585 | data = file_comments.pop(line_key) | |
532 | return data |
|
586 | return data | |
533 | %> |
|
587 | %> | |
534 |
|
588 | |||
535 | <%def name="render_hunk_lines_sideside(filediff, hunk, use_comments=False, inline_comments=None)"> |
|
589 | <%def name="render_hunk_lines_sideside(filediff, hunk, use_comments=False, inline_comments=None)"> | |
536 | %for i, line in enumerate(hunk.sideside): |
|
590 | %for i, line in enumerate(hunk.sideside): | |
537 | <% |
|
591 | <% | |
538 | old_line_anchor, new_line_anchor = None, None |
|
592 | old_line_anchor, new_line_anchor = None, None | |
539 |
|
593 | |||
540 | if line.original.lineno: |
|
594 | if line.original.lineno: | |
541 | old_line_anchor = diff_line_anchor(filediff.raw_id, hunk.source_file_path, line.original.lineno, 'o') |
|
595 | old_line_anchor = diff_line_anchor(filediff.raw_id, hunk.source_file_path, line.original.lineno, 'o') | |
542 | if line.modified.lineno: |
|
596 | if line.modified.lineno: | |
543 | new_line_anchor = diff_line_anchor(filediff.raw_id, hunk.target_file_path, line.modified.lineno, 'n') |
|
597 | new_line_anchor = diff_line_anchor(filediff.raw_id, hunk.target_file_path, line.modified.lineno, 'n') | |
544 | %> |
|
598 | %> | |
545 |
|
599 | |||
546 | <tr class="cb-line"> |
|
600 | <tr class="cb-line"> | |
547 | <td class="cb-data ${action_class(line.original.action)}" |
|
601 | <td class="cb-data ${action_class(line.original.action)}" | |
548 | data-line-no="${line.original.lineno}" |
|
602 | data-line-no="${line.original.lineno}" | |
549 | > |
|
603 | > | |
550 | <div> |
|
604 | <div> | |
551 |
|
605 | |||
552 | <% line_old_comments = None %> |
|
606 | <% line_old_comments = None %> | |
553 | %if line.original.get_comment_args: |
|
607 | %if line.original.get_comment_args: | |
554 | <% line_old_comments = get_comments_for('side-by-side', inline_comments, *line.original.get_comment_args) %> |
|
608 | <% line_old_comments = get_comments_for('side-by-side', inline_comments, *line.original.get_comment_args) %> | |
555 | %endif |
|
609 | %endif | |
556 | %if line_old_comments: |
|
610 | %if line_old_comments: | |
557 | <% has_outdated = any([x.outdated for x in line_old_comments]) %> |
|
611 | <% has_outdated = any([x.outdated for x in line_old_comments]) %> | |
558 | % if has_outdated: |
|
612 | % if has_outdated: | |
559 | <i title="${_('comments including outdated')}:${len(line_old_comments)}" class="icon-comment-toggle" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> |
|
613 | <i title="${_('comments including outdated')}:${len(line_old_comments)}" class="icon-comment-toggle" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> | |
560 | % else: |
|
614 | % else: | |
561 | <i title="${_('comments')}: ${len(line_old_comments)}" class="icon-comment" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> |
|
615 | <i title="${_('comments')}: ${len(line_old_comments)}" class="icon-comment" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> | |
562 | % endif |
|
616 | % endif | |
563 | %endif |
|
617 | %endif | |
564 | </div> |
|
618 | </div> | |
565 | </td> |
|
619 | </td> | |
566 | <td class="cb-lineno ${action_class(line.original.action)}" |
|
620 | <td class="cb-lineno ${action_class(line.original.action)}" | |
567 | data-line-no="${line.original.lineno}" |
|
621 | data-line-no="${line.original.lineno}" | |
568 | %if old_line_anchor: |
|
622 | %if old_line_anchor: | |
569 | id="${old_line_anchor}" |
|
623 | id="${old_line_anchor}" | |
570 | %endif |
|
624 | %endif | |
571 | > |
|
625 | > | |
572 | %if line.original.lineno: |
|
626 | %if line.original.lineno: | |
573 | <a name="${old_line_anchor}" href="#${old_line_anchor}">${line.original.lineno}</a> |
|
627 | <a name="${old_line_anchor}" href="#${old_line_anchor}">${line.original.lineno}</a> | |
574 | %endif |
|
628 | %endif | |
575 | </td> |
|
629 | </td> | |
576 | <td class="cb-content ${action_class(line.original.action)}" |
|
630 | <td class="cb-content ${action_class(line.original.action)}" | |
577 | data-line-no="o${line.original.lineno}" |
|
631 | data-line-no="o${line.original.lineno}" | |
578 | > |
|
632 | > | |
579 | %if use_comments and line.original.lineno: |
|
633 | %if use_comments and line.original.lineno: | |
580 | ${render_add_comment_button()} |
|
634 | ${render_add_comment_button()} | |
581 | %endif |
|
635 | %endif | |
582 | <span class="cb-code"><span class="cb-action ${action_class(line.original.action)}"></span>${line.original.content or '' | n}</span> |
|
636 | <span class="cb-code"><span class="cb-action ${action_class(line.original.action)}"></span>${line.original.content or '' | n}</span> | |
583 |
|
637 | |||
584 | %if use_comments and line.original.lineno and line_old_comments: |
|
638 | %if use_comments and line.original.lineno and line_old_comments: | |
585 | ${inline_comments_container(line_old_comments, inline_comments)} |
|
639 | ${inline_comments_container(line_old_comments, inline_comments)} | |
586 | %endif |
|
640 | %endif | |
587 |
|
641 | |||
588 | </td> |
|
642 | </td> | |
589 | <td class="cb-data ${action_class(line.modified.action)}" |
|
643 | <td class="cb-data ${action_class(line.modified.action)}" | |
590 | data-line-no="${line.modified.lineno}" |
|
644 | data-line-no="${line.modified.lineno}" | |
591 | > |
|
645 | > | |
592 | <div> |
|
646 | <div> | |
593 |
|
647 | |||
594 | %if line.modified.get_comment_args: |
|
648 | %if line.modified.get_comment_args: | |
595 | <% line_new_comments = get_comments_for('side-by-side', inline_comments, *line.modified.get_comment_args) %> |
|
649 | <% line_new_comments = get_comments_for('side-by-side', inline_comments, *line.modified.get_comment_args) %> | |
596 | %else: |
|
650 | %else: | |
597 | <% line_new_comments = None%> |
|
651 | <% line_new_comments = None%> | |
598 | %endif |
|
652 | %endif | |
599 | %if line_new_comments: |
|
653 | %if line_new_comments: | |
600 | <% has_outdated = any([x.outdated for x in line_new_comments]) %> |
|
654 | <% has_outdated = any([x.outdated for x in line_new_comments]) %> | |
601 | % if has_outdated: |
|
655 | % if has_outdated: | |
602 | <i title="${_('comments including outdated')}:${len(line_new_comments)}" class="icon-comment-toggle" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> |
|
656 | <i title="${_('comments including outdated')}:${len(line_new_comments)}" class="icon-comment-toggle" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> | |
603 | % else: |
|
657 | % else: | |
604 | <i title="${_('comments')}: ${len(line_new_comments)}" class="icon-comment" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> |
|
658 | <i title="${_('comments')}: ${len(line_new_comments)}" class="icon-comment" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> | |
605 | % endif |
|
659 | % endif | |
606 | %endif |
|
660 | %endif | |
607 | </div> |
|
661 | </div> | |
608 | </td> |
|
662 | </td> | |
609 | <td class="cb-lineno ${action_class(line.modified.action)}" |
|
663 | <td class="cb-lineno ${action_class(line.modified.action)}" | |
610 | data-line-no="${line.modified.lineno}" |
|
664 | data-line-no="${line.modified.lineno}" | |
611 | %if new_line_anchor: |
|
665 | %if new_line_anchor: | |
612 | id="${new_line_anchor}" |
|
666 | id="${new_line_anchor}" | |
613 | %endif |
|
667 | %endif | |
614 | > |
|
668 | > | |
615 | %if line.modified.lineno: |
|
669 | %if line.modified.lineno: | |
616 | <a name="${new_line_anchor}" href="#${new_line_anchor}">${line.modified.lineno}</a> |
|
670 | <a name="${new_line_anchor}" href="#${new_line_anchor}">${line.modified.lineno}</a> | |
617 | %endif |
|
671 | %endif | |
618 | </td> |
|
672 | </td> | |
619 | <td class="cb-content ${action_class(line.modified.action)}" |
|
673 | <td class="cb-content ${action_class(line.modified.action)}" | |
620 | data-line-no="n${line.modified.lineno}" |
|
674 | data-line-no="n${line.modified.lineno}" | |
621 | > |
|
675 | > | |
622 | %if use_comments and line.modified.lineno: |
|
676 | %if use_comments and line.modified.lineno: | |
623 | ${render_add_comment_button()} |
|
677 | ${render_add_comment_button()} | |
624 | %endif |
|
678 | %endif | |
625 | <span class="cb-code"><span class="cb-action ${action_class(line.modified.action)}"></span>${line.modified.content or '' | n}</span> |
|
679 | <span class="cb-code"><span class="cb-action ${action_class(line.modified.action)}"></span>${line.modified.content or '' | n}</span> | |
626 | %if use_comments and line.modified.lineno and line_new_comments: |
|
680 | %if use_comments and line.modified.lineno and line_new_comments: | |
627 | ${inline_comments_container(line_new_comments, inline_comments)} |
|
681 | ${inline_comments_container(line_new_comments, inline_comments)} | |
628 | %endif |
|
682 | %endif | |
629 | </td> |
|
683 | </td> | |
630 | </tr> |
|
684 | </tr> | |
631 | %endfor |
|
685 | %endfor | |
632 | </%def> |
|
686 | </%def> | |
633 |
|
687 | |||
634 |
|
688 | |||
635 | <%def name="render_hunk_lines_unified(filediff, hunk, use_comments=False, inline_comments=None)"> |
|
689 | <%def name="render_hunk_lines_unified(filediff, hunk, use_comments=False, inline_comments=None)"> | |
636 | %for old_line_no, new_line_no, action, content, comments_args in hunk.unified: |
|
690 | %for old_line_no, new_line_no, action, content, comments_args in hunk.unified: | |
637 |
|
691 | |||
638 | <% |
|
692 | <% | |
639 | old_line_anchor, new_line_anchor = None, None |
|
693 | old_line_anchor, new_line_anchor = None, None | |
640 | if old_line_no: |
|
694 | if old_line_no: | |
641 | old_line_anchor = diff_line_anchor(filediff.raw_id, hunk.source_file_path, old_line_no, 'o') |
|
695 | old_line_anchor = diff_line_anchor(filediff.raw_id, hunk.source_file_path, old_line_no, 'o') | |
642 | if new_line_no: |
|
696 | if new_line_no: | |
643 | new_line_anchor = diff_line_anchor(filediff.raw_id, hunk.target_file_path, new_line_no, 'n') |
|
697 | new_line_anchor = diff_line_anchor(filediff.raw_id, hunk.target_file_path, new_line_no, 'n') | |
644 | %> |
|
698 | %> | |
645 | <tr class="cb-line"> |
|
699 | <tr class="cb-line"> | |
646 | <td class="cb-data ${action_class(action)}"> |
|
700 | <td class="cb-data ${action_class(action)}"> | |
647 | <div> |
|
701 | <div> | |
648 |
|
702 | |||
649 | %if comments_args: |
|
703 | %if comments_args: | |
650 | <% comments = get_comments_for('unified', inline_comments, *comments_args) %> |
|
704 | <% comments = get_comments_for('unified', inline_comments, *comments_args) %> | |
651 | %else: |
|
705 | %else: | |
652 | <% comments = None %> |
|
706 | <% comments = None %> | |
653 | %endif |
|
707 | %endif | |
654 |
|
708 | |||
655 | % if comments: |
|
709 | % if comments: | |
656 | <% has_outdated = any([x.outdated for x in comments]) %> |
|
710 | <% has_outdated = any([x.outdated for x in comments]) %> | |
657 | % if has_outdated: |
|
711 | % if has_outdated: | |
658 | <i title="${_('comments including outdated')}:${len(comments)}" class="icon-comment-toggle" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> |
|
712 | <i title="${_('comments including outdated')}:${len(comments)}" class="icon-comment-toggle" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> | |
659 | % else: |
|
713 | % else: | |
660 | <i title="${_('comments')}: ${len(comments)}" class="icon-comment" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> |
|
714 | <i title="${_('comments')}: ${len(comments)}" class="icon-comment" onclick="return Rhodecode.comments.toggleLineComments(this)"></i> | |
661 | % endif |
|
715 | % endif | |
662 | % endif |
|
716 | % endif | |
663 | </div> |
|
717 | </div> | |
664 | </td> |
|
718 | </td> | |
665 | <td class="cb-lineno ${action_class(action)}" |
|
719 | <td class="cb-lineno ${action_class(action)}" | |
666 | data-line-no="${old_line_no}" |
|
720 | data-line-no="${old_line_no}" | |
667 | %if old_line_anchor: |
|
721 | %if old_line_anchor: | |
668 | id="${old_line_anchor}" |
|
722 | id="${old_line_anchor}" | |
669 | %endif |
|
723 | %endif | |
670 | > |
|
724 | > | |
671 | %if old_line_anchor: |
|
725 | %if old_line_anchor: | |
672 | <a name="${old_line_anchor}" href="#${old_line_anchor}">${old_line_no}</a> |
|
726 | <a name="${old_line_anchor}" href="#${old_line_anchor}">${old_line_no}</a> | |
673 | %endif |
|
727 | %endif | |
674 | </td> |
|
728 | </td> | |
675 | <td class="cb-lineno ${action_class(action)}" |
|
729 | <td class="cb-lineno ${action_class(action)}" | |
676 | data-line-no="${new_line_no}" |
|
730 | data-line-no="${new_line_no}" | |
677 | %if new_line_anchor: |
|
731 | %if new_line_anchor: | |
678 | id="${new_line_anchor}" |
|
732 | id="${new_line_anchor}" | |
679 | %endif |
|
733 | %endif | |
680 | > |
|
734 | > | |
681 | %if new_line_anchor: |
|
735 | %if new_line_anchor: | |
682 | <a name="${new_line_anchor}" href="#${new_line_anchor}">${new_line_no}</a> |
|
736 | <a name="${new_line_anchor}" href="#${new_line_anchor}">${new_line_no}</a> | |
683 | %endif |
|
737 | %endif | |
684 | </td> |
|
738 | </td> | |
685 | <td class="cb-content ${action_class(action)}" |
|
739 | <td class="cb-content ${action_class(action)}" | |
686 | data-line-no="${(new_line_no and 'n' or 'o')}${(new_line_no or old_line_no)}" |
|
740 | data-line-no="${(new_line_no and 'n' or 'o')}${(new_line_no or old_line_no)}" | |
687 | > |
|
741 | > | |
688 | %if use_comments: |
|
742 | %if use_comments: | |
689 | ${render_add_comment_button()} |
|
743 | ${render_add_comment_button()} | |
690 | %endif |
|
744 | %endif | |
691 | <span class="cb-code"><span class="cb-action ${action_class(action)}"></span> ${content or '' | n}</span> |
|
745 | <span class="cb-code"><span class="cb-action ${action_class(action)}"></span> ${content or '' | n}</span> | |
692 | %if use_comments and comments: |
|
746 | %if use_comments and comments: | |
693 | ${inline_comments_container(comments, inline_comments)} |
|
747 | ${inline_comments_container(comments, inline_comments)} | |
694 | %endif |
|
748 | %endif | |
695 | </td> |
|
749 | </td> | |
696 | </tr> |
|
750 | </tr> | |
697 | %endfor |
|
751 | %endfor | |
698 | </%def> |
|
752 | </%def> | |
699 |
|
753 | |||
700 |
|
754 | |||
701 | <%def name="render_hunk_lines(filediff, diff_mode, hunk, use_comments, inline_comments)"> |
|
755 | <%def name="render_hunk_lines(filediff, diff_mode, hunk, use_comments, inline_comments)"> | |
702 | % if diff_mode == 'unified': |
|
756 | % if diff_mode == 'unified': | |
703 | ${render_hunk_lines_unified(filediff, hunk, use_comments=use_comments, inline_comments=inline_comments)} |
|
757 | ${render_hunk_lines_unified(filediff, hunk, use_comments=use_comments, inline_comments=inline_comments)} | |
704 | % elif diff_mode == 'sideside': |
|
758 | % elif diff_mode == 'sideside': | |
705 | ${render_hunk_lines_sideside(filediff, hunk, use_comments=use_comments, inline_comments=inline_comments)} |
|
759 | ${render_hunk_lines_sideside(filediff, hunk, use_comments=use_comments, inline_comments=inline_comments)} | |
706 | % else: |
|
760 | % else: | |
707 | <tr class="cb-line"> |
|
761 | <tr class="cb-line"> | |
708 | <td>unknown diff mode</td> |
|
762 | <td>unknown diff mode</td> | |
709 | </tr> |
|
763 | </tr> | |
710 | % endif |
|
764 | % endif | |
711 | </%def>file changes |
|
765 | </%def>file changes | |
712 |
|
766 | |||
713 |
|
767 | |||
714 | <%def name="render_add_comment_button()"> |
|
768 | <%def name="render_add_comment_button()"> | |
715 | <button class="btn btn-small btn-primary cb-comment-box-opener" onclick="return Rhodecode.comments.createComment(this)"> |
|
769 | <button class="btn btn-small btn-primary cb-comment-box-opener" onclick="return Rhodecode.comments.createComment(this)"> | |
716 | <span><i class="icon-comment"></i></span> |
|
770 | <span><i class="icon-comment"></i></span> | |
717 | </button> |
|
771 | </button> | |
718 | </%def> |
|
772 | </%def> | |
719 |
|
773 | |||
720 |
<%def name="render_diffset_menu(diffset |
|
774 | <%def name="render_diffset_menu(diffset, range_diff_on=None)"> | |
|
775 | <% diffset_container_id = h.md5(diffset.target_ref) %> | |||
721 |
|
776 | |||
722 | <div id="diff-file-sticky" class="diffset-menu clearinner"> |
|
777 | <div id="diff-file-sticky" class="diffset-menu clearinner"> | |
723 | ## auto adjustable |
|
778 | ## auto adjustable | |
724 | <div class="sidebar__inner"> |
|
779 | <div class="sidebar__inner"> | |
725 | <div class="sidebar__bar"> |
|
780 | <div class="sidebar__bar"> | |
726 | <div class="pull-right"> |
|
781 | <div class="pull-right"> | |
727 | <div class="btn-group"> |
|
782 | <div class="btn-group"> | |
728 |
|
783 | <a class="btn tooltip toggle-wide-diff" href="#toggle-wide-diff" onclick="toggleWideDiff(this); return false" title="${h.tooltip(_('Toggle wide diff'))}"> | ||
729 | ## DIFF OPTIONS via Select2 |
|
784 | <i class="icon-wide-mode"></i> | |
730 |
< |
|
785 | </a> | |
731 | ${h.hidden('diff_menu')} |
|
|||
732 | </div> |
|
786 | </div> | |
|
787 | <div class="btn-group"> | |||
733 |
|
788 | |||
734 | <a |
|
789 | <a | |
735 |
class="btn ${(c.user_session_attrs["diffmode"] == 'sideside' and 'btn- |
|
790 | class="btn ${(c.user_session_attrs["diffmode"] == 'sideside' and 'btn-active')} tooltip" | |
736 | title="${h.tooltip(_('View side by side'))}" |
|
791 | title="${h.tooltip(_('View diff as side by side'))}" | |
737 | href="${h.current_route_path(request, diffmode='sideside')}"> |
|
792 | href="${h.current_route_path(request, diffmode='sideside')}"> | |
738 | <span>${_('Side by Side')}</span> |
|
793 | <span>${_('Side by Side')}</span> | |
739 | </a> |
|
794 | </a> | |
740 |
|
795 | |||
741 | <a |
|
796 | <a | |
742 |
class="btn ${(c.user_session_attrs["diffmode"] == 'unified' and 'btn- |
|
797 | class="btn ${(c.user_session_attrs["diffmode"] == 'unified' and 'btn-active')} tooltip" | |
743 | title="${h.tooltip(_('View unified'))}" href="${h.current_route_path(request, diffmode='unified')}"> |
|
798 | title="${h.tooltip(_('View diff as unified'))}" href="${h.current_route_path(request, diffmode='unified')}"> | |
744 | <span>${_('Unified')}</span> |
|
799 | <span>${_('Unified')}</span> | |
745 | </a> |
|
800 | </a> | |
746 |
|
801 | |||
747 | % if range_diff_on is True: |
|
802 | % if range_diff_on is True: | |
748 | <a |
|
803 | <a | |
749 | title="${_('Turn off: Show the diff as commit range')}" |
|
804 | title="${_('Turn off: Show the diff as commit range')}" | |
750 | class="btn btn-primary" |
|
805 | class="btn btn-primary" | |
751 | href="${h.current_route_path(request, **{"range-diff":"0"})}"> |
|
806 | href="${h.current_route_path(request, **{"range-diff":"0"})}"> | |
752 | <span>${_('Range Diff')}</span> |
|
807 | <span>${_('Range Diff')}</span> | |
753 | </a> |
|
808 | </a> | |
754 | % elif range_diff_on is False: |
|
809 | % elif range_diff_on is False: | |
755 | <a |
|
810 | <a | |
756 | title="${_('Show the diff as commit range')}" |
|
811 | title="${_('Show the diff as commit range')}" | |
757 | class="btn" |
|
812 | class="btn" | |
758 | href="${h.current_route_path(request, **{"range-diff":"1"})}"> |
|
813 | href="${h.current_route_path(request, **{"range-diff":"1"})}"> | |
759 | <span>${_('Range Diff')}</span> |
|
814 | <span>${_('Range Diff')}</span> | |
760 | </a> |
|
815 | </a> | |
761 | % endif |
|
816 | % endif | |
762 | </div> |
|
817 | </div> | |
|
818 | <div class="btn-group"> | |||
|
819 | ||||
|
820 | <div class="pull-left"> | |||
|
821 | ${h.hidden('diff_menu_{}'.format(diffset_container_id))} | |||
|
822 | </div> | |||
|
823 | ||||
|
824 | </div> | |||
763 | </div> |
|
825 | </div> | |
764 | <div class="pull-left"> |
|
826 | <div class="pull-left"> | |
765 | <div class="btn-group"> |
|
827 | <div class="btn-group"> | |
766 | <div class="pull-left"> |
|
828 | <div class="pull-left"> | |
767 |
${h.hidden('file_filter |
|
829 | ${h.hidden('file_filter_{}'.format(diffset_container_id))} | |
768 | </div> |
|
830 | </div> | |
769 | <a |
|
831 | ||
770 | class="btn" |
|
|||
771 | href="#" |
|
|||
772 | onclick="$('input[class=filediff-collapse-state]').prop('checked', false); updateSticky(); return false">${_('Expand All Files')}</a> |
|
|||
773 | <a |
|
|||
774 | class="btn" |
|
|||
775 | href="#" |
|
|||
776 | onclick="$('input[class=filediff-collapse-state]').prop('checked', true); updateSticky(); return false">${_('Collapse All Files')}</a> |
|
|||
777 | </div> |
|
832 | </div> | |
778 | </div> |
|
833 | </div> | |
779 | </div> |
|
834 | </div> | |
780 | <div class="fpath-placeholder"> |
|
835 | <div class="fpath-placeholder"> | |
781 | <i class="icon-file-text"></i> |
|
836 | <i class="icon-file-text"></i> | |
782 | <strong class="fpath-placeholder-text"> |
|
837 | <strong class="fpath-placeholder-text"> | |
783 | Context file: |
|
838 | Context file: | |
784 | </strong> |
|
839 | </strong> | |
785 | </div> |
|
840 | </div> | |
786 | <div class="sidebar_inner_shadow"></div> |
|
841 | <div class="sidebar_inner_shadow"></div> | |
787 | </div> |
|
842 | </div> | |
788 | </div> |
|
843 | </div> | |
789 |
|
844 | |||
790 | % if diffset: |
|
845 | % if diffset: | |
791 |
|
||||
792 | %if diffset.limited_diff: |
|
846 | %if diffset.limited_diff: | |
793 | <% file_placeholder = _ungettext('%(num)s file changed', '%(num)s files changed', diffset.changed_files) % {'num': diffset.changed_files} %> |
|
847 | <% file_placeholder = _ungettext('%(num)s file changed', '%(num)s files changed', diffset.changed_files) % {'num': diffset.changed_files} %> | |
794 | %else: |
|
848 | %else: | |
795 | <% file_placeholder = _ungettext('%(num)s file changed: %(linesadd)s inserted, ''%(linesdel)s deleted', '%(num)s files changed: %(linesadd)s inserted, %(linesdel)s deleted', diffset.changed_files) % {'num': diffset.changed_files, 'linesadd': diffset.lines_added, 'linesdel': diffset.lines_deleted}%> |
|
849 | <% file_placeholder = h.literal(_ungettext('%(num)s file changed: <span class="op-added">%(linesadd)s inserted</span>, <span class="op-deleted">%(linesdel)s deleted</span>', '%(num)s files changed: <span class="op-added">%(linesadd)s inserted</span>, <span class="op-deleted">%(linesdel)s deleted</span>', | |
|
850 | diffset.changed_files) % {'num': diffset.changed_files, 'linesadd': diffset.lines_added, 'linesdel': diffset.lines_deleted}) %> | |||
|
851 | ||||
796 | %endif |
|
852 | %endif | |
797 | ## case on range-diff placeholder needs to be updated |
|
853 | ## case on range-diff placeholder needs to be updated | |
798 | % if range_diff_on is True: |
|
854 | % if range_diff_on is True: | |
799 | <% file_placeholder = _('Disabled on range diff') %> |
|
855 | <% file_placeholder = _('Disabled on range diff') %> | |
800 | % endif |
|
856 | % endif | |
801 |
|
857 | |||
802 | <script> |
|
858 | <script type="text/javascript"> | |
803 |
|
||||
804 | var feedFilesOptions = function (query, initialData) { |
|
859 | var feedFilesOptions = function (query, initialData) { | |
805 | var data = {results: []}; |
|
860 | var data = {results: []}; | |
806 | var isQuery = typeof query.term !== 'undefined'; |
|
861 | var isQuery = typeof query.term !== 'undefined'; | |
807 |
|
862 | |||
808 | var section = _gettext('Changed files'); |
|
863 | var section = _gettext('Changed files'); | |
809 | var filteredData = []; |
|
864 | var filteredData = []; | |
810 |
|
865 | |||
811 | //filter results |
|
866 | //filter results | |
812 | $.each(initialData.results, function (idx, value) { |
|
867 | $.each(initialData.results, function (idx, value) { | |
813 |
|
868 | |||
814 | if (!isQuery || query.term.length === 0 || value.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0) { |
|
869 | if (!isQuery || query.term.length === 0 || value.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0) { | |
815 | filteredData.push({ |
|
870 | filteredData.push({ | |
816 | 'id': this.id, |
|
871 | 'id': this.id, | |
817 | 'text': this.text, |
|
872 | 'text': this.text, | |
818 | "ops": this.ops, |
|
873 | "ops": this.ops, | |
819 | }) |
|
874 | }) | |
820 | } |
|
875 | } | |
821 |
|
876 | |||
822 | }); |
|
877 | }); | |
823 |
|
878 | |||
824 | data.results = filteredData; |
|
879 | data.results = filteredData; | |
825 |
|
880 | |||
826 | query.callback(data); |
|
881 | query.callback(data); | |
827 | }; |
|
882 | }; | |
828 |
|
883 | |||
|
884 | var selectionFormatter = function(data, escapeMarkup) { | |||
|
885 | var container = '<div class="filelist" style="padding-right:100px">{0}</div>'; | |||
|
886 | var tmpl = '<div><strong>{0}</strong></div>'.format(escapeMarkup(data['text'])); | |||
|
887 | var pill = '<div class="pill-group" style="position: absolute; top:7px; right: 0">' + | |||
|
888 | '<span class="pill" op="added">{0}</span>' + | |||
|
889 | '<span class="pill" op="deleted">{1}</span>' + | |||
|
890 | '</div>' | |||
|
891 | ; | |||
|
892 | var added = data['ops']['added']; | |||
|
893 | if (added === 0) { | |||
|
894 | // don't show +0 | |||
|
895 | added = 0; | |||
|
896 | } else { | |||
|
897 | added = '+' + added; | |||
|
898 | } | |||
|
899 | ||||
|
900 | var deleted = -1*data['ops']['deleted']; | |||
|
901 | ||||
|
902 | tmpl += pill.format(added, deleted); | |||
|
903 | return container.format(tmpl); | |||
|
904 | }; | |||
829 | var formatFileResult = function(result, container, query, escapeMarkup) { |
|
905 | var formatFileResult = function(result, container, query, escapeMarkup) { | |
830 |
return |
|
906 | return selectionFormatter(result, escapeMarkup); | |
831 | var container = '<div class="filelist" style="padding-right:100px">{0}</div>'; |
|
|||
832 | var tmpl = '<span style="margin-right:-50px"><strong>{0}</strong></span>'.format(escapeMarkup(data['text'])); |
|
|||
833 | var pill = '<span class="pill-group" style="float: right;margin-right: -100px">' + |
|
|||
834 | '<span class="pill" op="added">{0}</span>' + |
|
|||
835 | '<span class="pill" op="deleted">{1}</span>' + |
|
|||
836 | '</span>' |
|
|||
837 | ; |
|
|||
838 | var added = data['ops']['added']; |
|
|||
839 | if (added === 0) { |
|
|||
840 | // don't show +0 |
|
|||
841 | added = 0; |
|
|||
842 | } else { |
|
|||
843 | added = '+' + added; |
|
|||
844 | } |
|
|||
845 |
|
||||
846 | var deleted = -1*data['ops']['deleted']; |
|
|||
847 |
|
||||
848 | tmpl += pill.format(added, deleted); |
|
|||
849 | return container.format(tmpl); |
|
|||
850 |
|
||||
851 | }(result, escapeMarkup); |
|
|||
852 | }; |
|
907 | }; | |
853 |
|
908 | |||
854 | var preloadFileFilterData = { |
|
909 | var formatSelection = function (data, container) { | |
|
910 | return '${file_placeholder}' | |||
|
911 | }; | |||
|
912 | ||||
|
913 | if (window.preloadFileFilterData === undefined) { | |||
|
914 | window.preloadFileFilterData = {} | |||
|
915 | } | |||
|
916 | ||||
|
917 | preloadFileFilterData["${diffset_container_id}"] = { | |||
855 | results: [ |
|
918 | results: [ | |
856 | % for filediff in diffset.files: |
|
919 | % for filediff in diffset.files: | |
857 | {id:"a_${h.FID(filediff.raw_id, filediff.patch['filename'])}", |
|
920 | {id:"a_${h.FID(filediff.raw_id, filediff.patch['filename'])}", | |
858 | text:"${filediff.patch['filename']}", |
|
921 | text:"${filediff.patch['filename']}", | |
859 | ops:${h.json.dumps(filediff.patch['stats'])|n}}${('' if loop.last else ',')} |
|
922 | ops:${h.json.dumps(filediff.patch['stats'])|n}}${('' if loop.last else ',')} | |
860 | % endfor |
|
923 | % endfor | |
861 | ] |
|
924 | ] | |
862 | }; |
|
925 | }; | |
863 |
|
926 | |||
864 | $(document).ready(function () { |
|
927 | var diffFileFilterId = "#file_filter_" + "${diffset_container_id}"; | |
|
928 | var diffFileFilter = $(diffFileFilterId).select2({ | |||
|
929 | 'dropdownAutoWidth': true, | |||
|
930 | 'width': 'auto', | |||
|
931 | ||||
|
932 | containerCssClass: "drop-menu", | |||
|
933 | dropdownCssClass: "drop-menu-dropdown", | |||
|
934 | data: preloadFileFilterData["${diffset_container_id}"], | |||
|
935 | query: function(query) { | |||
|
936 | feedFilesOptions(query, preloadFileFilterData["${diffset_container_id}"]); | |||
|
937 | }, | |||
|
938 | initSelection: function(element, callback) { | |||
|
939 | callback({'init': true}); | |||
|
940 | }, | |||
|
941 | formatResult: formatFileResult, | |||
|
942 | formatSelection: formatSelection | |||
|
943 | }); | |||
865 |
|
944 | |||
866 | var fileFilter = $("#file_filter").select2({ |
|
945 | % if range_diff_on is True: | |
867 | 'dropdownAutoWidth': true, |
|
946 | diffFileFilter.select2("enable", false); | |
868 | 'width': 'auto', |
|
947 | % endif | |
869 | 'placeholder': "${file_placeholder}", |
|
948 | ||
870 | containerCssClass: "drop-menu", |
|
949 | $(diffFileFilterId).on('select2-selecting', function (e) { | |
871 | dropdownCssClass: "drop-menu-dropdown", |
|
950 | var idSelector = e.choice.id; | |
872 | data: preloadFileFilterData, |
|
951 | ||
873 | query: function(query) { |
|
952 | // expand the container if we quick-select the field | |
874 | feedFilesOptions(query, preloadFileFilterData); |
|
953 | $('#'+idSelector).next().prop('checked', false); | |
875 | }, |
|
954 | // hide the mast as we later do preventDefault() | |
876 | formatResult: formatFileResult |
|
955 | $("#select2-drop-mask").click(); | |
877 | }); |
|
|||
878 |
|
|
956 | ||
879 | % if range_diff_on is True: |
|
957 | window.location.hash = '#'+idSelector; | |
880 | fileFilter.select2("enable", false); |
|
958 | updateSticky(); | |
881 | % endif |
|
959 | ||
|
960 | e.preventDefault(); | |||
|
961 | }); | |||
882 |
|
962 | |||
883 | $("#file_filter").on('click', function (e) { |
|
963 | </script> | |
884 | e.preventDefault(); |
|
964 | % endif | |
885 | var selected = $('#file_filter').select2('data'); |
|
965 | ||
886 | var idSelector = "#"+selected.id; |
|
966 | <script type="text/javascript"> | |
887 | window.location.hash = idSelector; |
|
967 | $(document).ready(function () { | |
888 | // expand the container if we quick-select the field |
|
|||
889 | $(idSelector).next().prop('checked', false); |
|
|||
890 | updateSticky() |
|
|||
891 | }); |
|
|||
892 |
|
968 | |||
893 | var contextPrefix = _gettext('Context file: '); |
|
969 | var contextPrefix = _gettext('Context file: '); | |
894 | ## sticky sidebar |
|
970 | ## sticky sidebar | |
895 | var sidebarElement = document.getElementById('diff-file-sticky'); |
|
971 | var sidebarElement = document.getElementById('diff-file-sticky'); | |
896 | sidebar = new StickySidebar(sidebarElement, { |
|
972 | sidebar = new StickySidebar(sidebarElement, { | |
897 | topSpacing: 0, |
|
973 | topSpacing: 0, | |
898 | bottomSpacing: 0, |
|
974 | bottomSpacing: 0, | |
899 | innerWrapperSelector: '.sidebar__inner' |
|
975 | innerWrapperSelector: '.sidebar__inner' | |
900 | }); |
|
976 | }); | |
901 | sidebarElement.addEventListener('affixed.static.stickySidebar', function () { |
|
977 | sidebarElement.addEventListener('affixed.static.stickySidebar', function () { | |
902 | // reset our file so it's not holding new value |
|
978 | // reset our file so it's not holding new value | |
903 | $('.fpath-placeholder-text').html(contextPrefix) |
|
979 | $('.fpath-placeholder-text').html(contextPrefix + ' - ') | |
904 | }); |
|
980 | }); | |
905 |
|
981 | |||
906 | updateSticky = function () { |
|
982 | updateSticky = function () { | |
907 | sidebar.updateSticky(); |
|
983 | sidebar.updateSticky(); | |
908 | Waypoint.refreshAll(); |
|
984 | Waypoint.refreshAll(); | |
909 | }; |
|
985 | }; | |
910 |
|
986 | |||
911 |
var animateText = |
|
987 | var animateText = function (fPath, anchorId) { | |
912 | fPath = Select2.util.escapeMarkup(fPath); |
|
988 | fPath = Select2.util.escapeMarkup(fPath); | |
913 |
|
989 | $('.fpath-placeholder-text').html(contextPrefix + '<a href="#a_' + anchorId + '">' + fPath + '</a>') | ||
914 | // animate setting the text |
|
990 | }; | |
915 | var callback = function () { |
|
|||
916 | $('.fpath-placeholder-text').animate({'opacity': 1.00}, 200) |
|
|||
917 | $('.fpath-placeholder-text').html(contextPrefix + '<a href="#a_' + anchorId + '">' + fPath + '</a>') |
|
|||
918 | }; |
|
|||
919 | $('.fpath-placeholder-text').animate({'opacity': 0.15}, 200, callback); |
|
|||
920 | }); |
|
|||
921 |
|
991 | |||
922 | ## dynamic file waypoints |
|
992 | ## dynamic file waypoints | |
923 | var setFPathInfo = function(fPath, anchorId){ |
|
993 | var setFPathInfo = function(fPath, anchorId){ | |
924 | animateText(fPath, anchorId) |
|
994 | animateText(fPath, anchorId) | |
925 | }; |
|
995 | }; | |
926 |
|
996 | |||
927 | var codeBlock = $('.filediff'); |
|
997 | var codeBlock = $('.filediff'); | |
|
998 | ||||
928 | // forward waypoint |
|
999 | // forward waypoint | |
929 | codeBlock.waypoint( |
|
1000 | codeBlock.waypoint( | |
930 | function(direction) { |
|
1001 | function(direction) { | |
931 | if (direction === "down"){ |
|
1002 | if (direction === "down"){ | |
932 | setFPathInfo($(this.element).data('fPath'), $(this.element).data('anchorId')) |
|
1003 | setFPathInfo($(this.element).data('fPath'), $(this.element).data('anchorId')) | |
933 | } |
|
1004 | } | |
934 | }, { |
|
1005 | }, { | |
935 |
offset: |
|
1006 | offset: function () { | |
|
1007 | return 70; | |||
|
1008 | }, | |||
936 | context: '.fpath-placeholder' |
|
1009 | context: '.fpath-placeholder' | |
937 | } |
|
1010 | } | |
938 | ); |
|
1011 | ); | |
939 |
|
1012 | |||
940 | // backward waypoint |
|
1013 | // backward waypoint | |
941 | codeBlock.waypoint( |
|
1014 | codeBlock.waypoint( | |
942 | function(direction) { |
|
1015 | function(direction) { | |
943 | if (direction === "up"){ |
|
1016 | if (direction === "up"){ | |
944 | setFPathInfo($(this.element).data('fPath'), $(this.element).data('anchorId')) |
|
1017 | setFPathInfo($(this.element).data('fPath'), $(this.element).data('anchorId')) | |
945 | } |
|
1018 | } | |
946 | }, { |
|
1019 | }, { | |
947 | offset: function () { |
|
1020 | offset: function () { | |
948 | return -this.element.clientHeight + 90 |
|
1021 | return -this.element.clientHeight + 90; | |
949 | }, |
|
1022 | }, | |
950 | context: '.fpath-placeholder' |
|
1023 | context: '.fpath-placeholder' | |
951 | } |
|
1024 | } | |
952 | ); |
|
1025 | ); | |
953 |
|
1026 | |||
|
1027 | toggleWideDiff = function (el) { | |||
|
1028 | updateSticky(); | |||
|
1029 | var wide = Rhodecode.comments.toggleWideMode(this); | |||
|
1030 | storeUserSessionAttr('rc_user_session_attr.wide_diff_mode', wide); | |||
|
1031 | if (wide === true) { | |||
|
1032 | $(el).addClass('btn-active'); | |||
|
1033 | } else { | |||
|
1034 | $(el).removeClass('btn-active'); | |||
|
1035 | } | |||
|
1036 | return null; | |||
|
1037 | }; | |||
|
1038 | ||||
954 | var preloadDiffMenuData = { |
|
1039 | var preloadDiffMenuData = { | |
955 | results: [ |
|
1040 | results: [ | |
956 | ## Wide diff mode |
|
|||
957 | { |
|
|||
958 | id: 1, |
|
|||
959 | text: _gettext('Toggle Wide Mode diff'), |
|
|||
960 | action: function () { |
|
|||
961 | updateSticky(); |
|
|||
962 | var wide = Rhodecode.comments.toggleWideMode(this); |
|
|||
963 | storeUserSessionAttr('rc_user_session_attr.wide_diff_mode', wide); |
|
|||
964 | return null; |
|
|||
965 | }, |
|
|||
966 | url: null, |
|
|||
967 | }, |
|
|||
968 |
|
1041 | |||
969 | ## Whitespace change |
|
1042 | ## Whitespace change | |
970 | % if request.GET.get('ignorews', '') == '1': |
|
1043 | % if request.GET.get('ignorews', '') == '1': | |
971 | { |
|
1044 | { | |
972 | id: 2, |
|
1045 | id: 2, | |
973 | text: _gettext('Show whitespace changes'), |
|
1046 | text: _gettext('Show whitespace changes'), | |
974 | action: function () {}, |
|
1047 | action: function () {}, | |
975 | url: "${h.current_route_path(request, ignorews=0)|n}" |
|
1048 | url: "${h.current_route_path(request, ignorews=0)|n}" | |
976 | }, |
|
1049 | }, | |
977 | % else: |
|
1050 | % else: | |
978 | { |
|
1051 | { | |
979 | id: 2, |
|
1052 | id: 2, | |
980 | text: _gettext('Hide whitespace changes'), |
|
1053 | text: _gettext('Hide whitespace changes'), | |
981 | action: function () {}, |
|
1054 | action: function () {}, | |
982 | url: "${h.current_route_path(request, ignorews=1)|n}" |
|
1055 | url: "${h.current_route_path(request, ignorews=1)|n}" | |
983 | }, |
|
1056 | }, | |
984 | % endif |
|
1057 | % endif | |
985 |
|
1058 | |||
986 | ## FULL CONTEXT |
|
1059 | ## FULL CONTEXT | |
987 | % if request.GET.get('fullcontext', '') == '1': |
|
1060 | % if request.GET.get('fullcontext', '') == '1': | |
988 | { |
|
1061 | { | |
989 | id: 3, |
|
1062 | id: 3, | |
990 | text: _gettext('Hide full context diff'), |
|
1063 | text: _gettext('Hide full context diff'), | |
991 | action: function () {}, |
|
1064 | action: function () {}, | |
992 | url: "${h.current_route_path(request, fullcontext=0)|n}" |
|
1065 | url: "${h.current_route_path(request, fullcontext=0)|n}" | |
993 | }, |
|
1066 | }, | |
994 | % else: |
|
1067 | % else: | |
995 | { |
|
1068 | { | |
996 | id: 3, |
|
1069 | id: 3, | |
997 | text: _gettext('Show full context diff'), |
|
1070 | text: _gettext('Show full context diff'), | |
998 | action: function () {}, |
|
1071 | action: function () {}, | |
999 | url: "${h.current_route_path(request, fullcontext=1)|n}" |
|
1072 | url: "${h.current_route_path(request, fullcontext=1)|n}" | |
1000 | }, |
|
1073 | }, | |
1001 | % endif |
|
1074 | % endif | |
1002 |
|
1075 | |||
1003 | ] |
|
1076 | ] | |
1004 | }; |
|
1077 | }; | |
1005 |
|
1078 | |||
1006 | // get stored diff mode and pre-enable it |
|
1079 | // get stored diff mode and pre-enable it | |
1007 | if (templateContext.session_attrs.wide_diff_mode === "true") { |
|
1080 | if (templateContext.session_attrs.wide_diff_mode === "true") { | |
1008 | Rhodecode.comments.toggleWideMode(null); |
|
1081 | Rhodecode.comments.toggleWideMode(null); | |
|
1082 | $('.toggle-wide-diff').addClass('btn-active'); | |||
1009 | } |
|
1083 | } | |
1010 |
|
1084 | |||
1011 | $("#diff_menu").select2({ |
|
1085 | var diffMenuId = "#diff_menu_" + "${diffset_container_id}"; | |
|
1086 | $(diffMenuId).select2({ | |||
1012 | minimumResultsForSearch: -1, |
|
1087 | minimumResultsForSearch: -1, | |
1013 | containerCssClass: "drop-menu", |
|
1088 | containerCssClass: "drop-menu-no-width", | |
1014 | dropdownCssClass: "drop-menu-dropdown", |
|
1089 | dropdownCssClass: "drop-menu-dropdown", | |
1015 | dropdownAutoWidth: true, |
|
1090 | dropdownAutoWidth: true, | |
1016 | data: preloadDiffMenuData, |
|
1091 | data: preloadDiffMenuData, | |
1017 |
placeholder: "${_(' |
|
1092 | placeholder: "${_('...')}", | |
1018 | }); |
|
1093 | }); | |
1019 |
$( |
|
1094 | $(diffMenuId).on('select2-selecting', function (e) { | |
1020 | e.choice.action(); |
|
1095 | e.choice.action(); | |
1021 | if (e.choice.url !== null) { |
|
1096 | if (e.choice.url !== null) { | |
1022 | window.location = e.choice.url |
|
1097 | window.location = e.choice.url | |
1023 | } |
|
1098 | } | |
1024 | }); |
|
1099 | }); | |
1025 |
|
1100 | toggleExpand = function (el, diffsetEl) { | ||
|
1101 | var el = $(el); | |||
|
1102 | if (el.hasClass('collapsed')) { | |||
|
1103 | $('.filediff-collapse-state.collapse-{0}'.format(diffsetEl)).prop('checked', false); | |||
|
1104 | el.removeClass('collapsed'); | |||
|
1105 | el.html( | |||
|
1106 | '<i class="icon-minus-squared-alt icon-no-margin"></i>' + | |||
|
1107 | _gettext('Collapse all files')); | |||
|
1108 | } | |||
|
1109 | else { | |||
|
1110 | $('.filediff-collapse-state.collapse-{0}'.format(diffsetEl)).prop('checked', true); | |||
|
1111 | el.addClass('collapsed'); | |||
|
1112 | el.html( | |||
|
1113 | '<i class="icon-plus-squared-alt icon-no-margin"></i>' + | |||
|
1114 | _gettext('Expand all files')); | |||
|
1115 | } | |||
|
1116 | updateSticky() | |||
|
1117 | } | |||
1026 | }); |
|
1118 | }); | |
1027 |
|
||||
1028 | </script> |
|
1119 | </script> | |
1029 | % endif |
|
|||
1030 |
|
1120 | |||
1031 | </%def> |
|
1121 | </%def> |
@@ -1,369 +1,369 b'' | |||||
1 | <%inherit file="/base/base.mako"/> |
|
1 | <%inherit file="/base/base.mako"/> | |
2 |
|
2 | |||
3 | <%def name="title(*args)"> |
|
3 | <%def name="title(*args)"> | |
4 | ${_('{} Files').format(c.repo_name)} |
|
4 | ${_('{} Files').format(c.repo_name)} | |
5 | %if hasattr(c,'file'): |
|
5 | %if hasattr(c,'file'): | |
6 | · ${(h.safe_unicode(c.file.path) or '\\')} |
|
6 | · ${(h.safe_unicode(c.file.path) or '\\')} | |
7 | %endif |
|
7 | %endif | |
8 |
|
8 | |||
9 | %if c.rhodecode_name: |
|
9 | %if c.rhodecode_name: | |
10 | · ${h.branding(c.rhodecode_name)} |
|
10 | · ${h.branding(c.rhodecode_name)} | |
11 | %endif |
|
11 | %endif | |
12 | </%def> |
|
12 | </%def> | |
13 |
|
13 | |||
14 | <%def name="breadcrumbs_links()"> |
|
14 | <%def name="breadcrumbs_links()"> | |
15 | ${_('Files')} |
|
15 | ${_('Files')} | |
16 | %if c.file: |
|
16 | %if c.file: | |
17 | @ ${h.show_id(c.commit)} |
|
17 | @ ${h.show_id(c.commit)} | |
18 | %endif |
|
18 | %endif | |
19 | </%def> |
|
19 | </%def> | |
20 |
|
20 | |||
21 | <%def name="menu_bar_nav()"> |
|
21 | <%def name="menu_bar_nav()"> | |
22 | ${self.menu_items(active='repositories')} |
|
22 | ${self.menu_items(active='repositories')} | |
23 | </%def> |
|
23 | </%def> | |
24 |
|
24 | |||
25 | <%def name="menu_bar_subnav()"> |
|
25 | <%def name="menu_bar_subnav()"> | |
26 | ${self.repo_menu(active='files')} |
|
26 | ${self.repo_menu(active='files')} | |
27 | </%def> |
|
27 | </%def> | |
28 |
|
28 | |||
29 | <%def name="main()"> |
|
29 | <%def name="main()"> | |
30 | <script type="text/javascript"> |
|
30 | <script type="text/javascript"> | |
31 | var fileSourcePage = ${c.file_source_page}; |
|
31 | var fileSourcePage = ${c.file_source_page}; | |
32 | var atRef = '${request.GET.get('at', '')}'; |
|
32 | var atRef = '${request.GET.get('at', '')}'; | |
33 |
|
33 | |||
34 | // global state for fetching metadata |
|
34 | // global state for fetching metadata | |
35 | metadataRequest = null; |
|
35 | metadataRequest = null; | |
36 |
|
36 | |||
37 | // global metadata about URL |
|
37 | // global metadata about URL | |
38 | filesUrlData = ${h.files_url_data(request)|n}; |
|
38 | filesUrlData = ${h.files_url_data(request)|n}; | |
39 | </script> |
|
39 | </script> | |
40 |
|
40 | |||
41 | <div> |
|
41 | <div> | |
42 |
<div |
|
42 | <div> | |
43 | <%include file='files_pjax.mako'/> |
|
43 | <%include file='files_pjax.mako'/> | |
44 | </div> |
|
44 | </div> | |
45 | </div> |
|
45 | </div> | |
46 |
|
46 | |||
47 | <script type="text/javascript"> |
|
47 | <script type="text/javascript"> | |
48 |
|
48 | |||
49 | var initFileJS = function () { |
|
49 | var initFileJS = function () { | |
50 | var state = getFileState(); |
|
50 | var state = getFileState(); | |
51 |
|
51 | |||
52 | // select code link event |
|
52 | // select code link event | |
53 | $("#hlcode").mouseup(getSelectionLink); |
|
53 | $("#hlcode").mouseup(getSelectionLink); | |
54 |
|
54 | |||
55 | // file history select2 used for history of file, and switch to |
|
55 | // file history select2 used for history of file, and switch to | |
56 | var initialCommitData = { |
|
56 | var initialCommitData = { | |
57 | at_ref: atRef, |
|
57 | at_ref: atRef, | |
58 | id: null, |
|
58 | id: null, | |
59 | text: '${c.commit.raw_id}', |
|
59 | text: '${c.commit.raw_id}', | |
60 | type: 'sha', |
|
60 | type: 'sha', | |
61 | raw_id: '${c.commit.raw_id}', |
|
61 | raw_id: '${c.commit.raw_id}', | |
62 | idx: ${c.commit.idx}, |
|
62 | idx: ${c.commit.idx}, | |
63 | files_url: null, |
|
63 | files_url: null, | |
64 | }; |
|
64 | }; | |
65 |
|
65 | |||
66 | // check if we have ref info. |
|
66 | // check if we have ref info. | |
67 | var selectedRef = fileTreeRefs[atRef]; |
|
67 | var selectedRef = fileTreeRefs[atRef]; | |
68 | if (selectedRef !== undefined) { |
|
68 | if (selectedRef !== undefined) { | |
69 | $.extend(initialCommitData, selectedRef) |
|
69 | $.extend(initialCommitData, selectedRef) | |
70 | } |
|
70 | } | |
71 |
|
71 | |||
72 | var loadUrl = pyroutes.url('repo_file_history', {'repo_name': templateContext.repo_name, 'commit_id': state.commit_id,'f_path': state.f_path}); |
|
72 | var loadUrl = pyroutes.url('repo_file_history', {'repo_name': templateContext.repo_name, 'commit_id': state.commit_id,'f_path': state.f_path}); | |
73 | var cacheKey = '__SINGLE_FILE_REFS__'; |
|
73 | var cacheKey = '__SINGLE_FILE_REFS__'; | |
74 | var cachedDataSource = {}; |
|
74 | var cachedDataSource = {}; | |
75 |
|
75 | |||
76 | var loadRefsData = function (query) { |
|
76 | var loadRefsData = function (query) { | |
77 | $.ajax({ |
|
77 | $.ajax({ | |
78 | url: loadUrl, |
|
78 | url: loadUrl, | |
79 | data: {}, |
|
79 | data: {}, | |
80 | dataType: 'json', |
|
80 | dataType: 'json', | |
81 | type: 'GET', |
|
81 | type: 'GET', | |
82 | success: function (data) { |
|
82 | success: function (data) { | |
83 | cachedDataSource[cacheKey] = data; |
|
83 | cachedDataSource[cacheKey] = data; | |
84 | query.callback({results: data.results}); |
|
84 | query.callback({results: data.results}); | |
85 | } |
|
85 | } | |
86 | }); |
|
86 | }); | |
87 | }; |
|
87 | }; | |
88 |
|
88 | |||
89 | var feedRefsData = function (query, cachedData) { |
|
89 | var feedRefsData = function (query, cachedData) { | |
90 | var data = {results: []}; |
|
90 | var data = {results: []}; | |
91 | //filter results |
|
91 | //filter results | |
92 | $.each(cachedData.results, function () { |
|
92 | $.each(cachedData.results, function () { | |
93 | var section = this.text; |
|
93 | var section = this.text; | |
94 | var children = []; |
|
94 | var children = []; | |
95 | $.each(this.children, function () { |
|
95 | $.each(this.children, function () { | |
96 | if (query.term.length === 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0) { |
|
96 | if (query.term.length === 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0) { | |
97 | children.push(this) |
|
97 | children.push(this) | |
98 | } |
|
98 | } | |
99 | }); |
|
99 | }); | |
100 | data.results.push({ |
|
100 | data.results.push({ | |
101 | 'text': section, |
|
101 | 'text': section, | |
102 | 'children': children |
|
102 | 'children': children | |
103 | }) |
|
103 | }) | |
104 | }); |
|
104 | }); | |
105 |
|
105 | |||
106 | query.callback(data); |
|
106 | query.callback(data); | |
107 | }; |
|
107 | }; | |
108 |
|
108 | |||
109 | var select2FileHistorySwitcher = function (targetElement, loadUrl, initialData) { |
|
109 | var select2FileHistorySwitcher = function (targetElement, loadUrl, initialData) { | |
110 | var formatResult = function (result, container, query) { |
|
110 | var formatResult = function (result, container, query) { | |
111 | return formatSelect2SelectionRefs(result); |
|
111 | return formatSelect2SelectionRefs(result); | |
112 | }; |
|
112 | }; | |
113 |
|
113 | |||
114 | var formatSelection = function (data, container) { |
|
114 | var formatSelection = function (data, container) { | |
115 | var commit_ref = data; |
|
115 | var commit_ref = data; | |
116 |
|
116 | |||
117 | var tmpl = ''; |
|
117 | var tmpl = ''; | |
118 | if (commit_ref.type === 'sha') { |
|
118 | if (commit_ref.type === 'sha') { | |
119 | tmpl = (commit_ref.raw_id || "").substr(0,8); |
|
119 | tmpl = (commit_ref.raw_id || "").substr(0,8); | |
120 | } else if (commit_ref.type === 'branch') { |
|
120 | } else if (commit_ref.type === 'branch') { | |
121 | tmpl = tmpl.concat('<i class="icon-branch"></i> '); |
|
121 | tmpl = tmpl.concat('<i class="icon-branch"></i> '); | |
122 | tmpl = tmpl.concat(escapeHtml(commit_ref.text)); |
|
122 | tmpl = tmpl.concat(escapeHtml(commit_ref.text)); | |
123 | } else if (commit_ref.type === 'tag') { |
|
123 | } else if (commit_ref.type === 'tag') { | |
124 | tmpl = tmpl.concat('<i class="icon-tag"></i> '); |
|
124 | tmpl = tmpl.concat('<i class="icon-tag"></i> '); | |
125 | tmpl = tmpl.concat(escapeHtml(commit_ref.text)); |
|
125 | tmpl = tmpl.concat(escapeHtml(commit_ref.text)); | |
126 | } else if (commit_ref.type === 'book') { |
|
126 | } else if (commit_ref.type === 'book') { | |
127 | tmpl = tmpl.concat('<i class="icon-bookmark"></i> '); |
|
127 | tmpl = tmpl.concat('<i class="icon-bookmark"></i> '); | |
128 | tmpl = tmpl.concat(escapeHtml(commit_ref.text)); |
|
128 | tmpl = tmpl.concat(escapeHtml(commit_ref.text)); | |
129 | } |
|
129 | } | |
130 | var idx = commit_ref.idx || 0; |
|
130 | var idx = commit_ref.idx || 0; | |
131 | if (idx !== 0) { |
|
131 | if (idx !== 0) { | |
132 | tmpl = tmpl.concat('<span class="select-index-number">r{0}</span>'.format(idx)); |
|
132 | tmpl = tmpl.concat('<span class="select-index-number">r{0}</span>'.format(idx)); | |
133 | } |
|
133 | } | |
134 | return tmpl |
|
134 | return tmpl | |
135 | }; |
|
135 | }; | |
136 |
|
136 | |||
137 | $(targetElement).select2({ |
|
137 | $(targetElement).select2({ | |
138 | dropdownAutoWidth: true, |
|
138 | dropdownAutoWidth: true, | |
139 | width: "resolve", |
|
139 | width: "resolve", | |
140 | containerCssClass: "drop-menu", |
|
140 | containerCssClass: "drop-menu", | |
141 | dropdownCssClass: "drop-menu-dropdown", |
|
141 | dropdownCssClass: "drop-menu-dropdown", | |
142 | query: function(query) { |
|
142 | query: function(query) { | |
143 | var cachedData = cachedDataSource[cacheKey]; |
|
143 | var cachedData = cachedDataSource[cacheKey]; | |
144 | if (cachedData) { |
|
144 | if (cachedData) { | |
145 | feedRefsData(query, cachedData) |
|
145 | feedRefsData(query, cachedData) | |
146 | } else { |
|
146 | } else { | |
147 | loadRefsData(query) |
|
147 | loadRefsData(query) | |
148 | } |
|
148 | } | |
149 | }, |
|
149 | }, | |
150 | initSelection: function(element, callback) { |
|
150 | initSelection: function(element, callback) { | |
151 | callback(initialData); |
|
151 | callback(initialData); | |
152 | }, |
|
152 | }, | |
153 | formatResult: formatResult, |
|
153 | formatResult: formatResult, | |
154 | formatSelection: formatSelection |
|
154 | formatSelection: formatSelection | |
155 | }); |
|
155 | }); | |
156 |
|
156 | |||
157 | }; |
|
157 | }; | |
158 |
|
158 | |||
159 | select2FileHistorySwitcher('#file_refs_filter', loadUrl, initialCommitData); |
|
159 | select2FileHistorySwitcher('#file_refs_filter', loadUrl, initialCommitData); | |
160 |
|
160 | |||
161 | $('#file_refs_filter').on('change', function(e) { |
|
161 | $('#file_refs_filter').on('change', function(e) { | |
162 | var data = $('#file_refs_filter').select2('data'); |
|
162 | var data = $('#file_refs_filter').select2('data'); | |
163 | var commit_id = data.id; |
|
163 | var commit_id = data.id; | |
164 |
|
164 | |||
165 | if ("${c.annotate}" === "True") { |
|
165 | if ("${c.annotate}" === "True") { | |
166 | var url = pyroutes.url('repo_files:annotated', |
|
166 | var url = pyroutes.url('repo_files:annotated', | |
167 | {'repo_name': templateContext.repo_name, |
|
167 | {'repo_name': templateContext.repo_name, | |
168 | 'commit_id': commit_id, 'f_path': state.f_path}); |
|
168 | 'commit_id': commit_id, 'f_path': state.f_path}); | |
169 | } else { |
|
169 | } else { | |
170 | var url = pyroutes.url('repo_files', |
|
170 | var url = pyroutes.url('repo_files', | |
171 | {'repo_name': templateContext.repo_name, |
|
171 | {'repo_name': templateContext.repo_name, | |
172 | 'commit_id': commit_id, 'f_path': state.f_path}); |
|
172 | 'commit_id': commit_id, 'f_path': state.f_path}); | |
173 | } |
|
173 | } | |
174 | window.location = url; |
|
174 | window.location = url; | |
175 |
|
175 | |||
176 | }); |
|
176 | }); | |
177 |
|
177 | |||
178 | // load file short history |
|
178 | // load file short history | |
179 | $('#file_history_overview').on('click', function(e) { |
|
179 | $('#file_history_overview').on('click', function(e) { | |
180 | e.preventDefault(); |
|
180 | e.preventDefault(); | |
181 | path = state.f_path; |
|
181 | path = state.f_path; | |
182 | if (path.indexOf("#") >= 0) { |
|
182 | if (path.indexOf("#") >= 0) { | |
183 | path = path.slice(0, path.indexOf("#")); |
|
183 | path = path.slice(0, path.indexOf("#")); | |
184 | } |
|
184 | } | |
185 | var url = pyroutes.url('repo_commits_file', |
|
185 | var url = pyroutes.url('repo_commits_file', | |
186 | {'repo_name': templateContext.repo_name, |
|
186 | {'repo_name': templateContext.repo_name, | |
187 | 'commit_id': state.commit_id, 'f_path': path, 'limit': 6}); |
|
187 | 'commit_id': state.commit_id, 'f_path': path, 'limit': 6}); | |
188 | $('#file_history_container').show(); |
|
188 | $('#file_history_container').show(); | |
189 | $('#file_history_container').html('<div class="file-history-inner">{0}</div>'.format(_gettext('Loading ...'))); |
|
189 | $('#file_history_container').html('<div class="file-history-inner">{0}</div>'.format(_gettext('Loading ...'))); | |
190 |
|
190 | |||
191 | $.pjax({ |
|
191 | $.pjax({ | |
192 | url: url, |
|
192 | url: url, | |
193 | container: '#file_history_container', |
|
193 | container: '#file_history_container', | |
194 | push: false, |
|
194 | push: false, | |
195 | timeout: 5000 |
|
195 | timeout: 5000 | |
196 | }); |
|
196 | }); | |
197 | }); |
|
197 | }); | |
198 |
|
198 | |||
199 | }; |
|
199 | }; | |
200 |
|
200 | |||
201 | var initTreeJS = function () { |
|
201 | var initTreeJS = function () { | |
202 | var state = getFileState(); |
|
202 | var state = getFileState(); | |
203 | getFilesMetadata(); |
|
203 | getFilesMetadata(); | |
204 |
|
204 | |||
205 | // fuzzy file filter |
|
205 | // fuzzy file filter | |
206 | fileBrowserListeners(state.node_list_url, state.url_base); |
|
206 | fileBrowserListeners(state.node_list_url, state.url_base); | |
207 |
|
207 | |||
208 | // switch to widget |
|
208 | // switch to widget | |
209 | var initialCommitData = { |
|
209 | var initialCommitData = { | |
210 | at_ref: atRef, |
|
210 | at_ref: atRef, | |
211 | id: null, |
|
211 | id: null, | |
212 | text: '${c.commit.raw_id}', |
|
212 | text: '${c.commit.raw_id}', | |
213 | type: 'sha', |
|
213 | type: 'sha', | |
214 | raw_id: '${c.commit.raw_id}', |
|
214 | raw_id: '${c.commit.raw_id}', | |
215 | idx: ${c.commit.idx}, |
|
215 | idx: ${c.commit.idx}, | |
216 | files_url: null, |
|
216 | files_url: null, | |
217 | }; |
|
217 | }; | |
218 |
|
218 | |||
219 | // check if we have ref info. |
|
219 | // check if we have ref info. | |
220 | var selectedRef = fileTreeRefs[atRef]; |
|
220 | var selectedRef = fileTreeRefs[atRef]; | |
221 | if (selectedRef !== undefined) { |
|
221 | if (selectedRef !== undefined) { | |
222 | $.extend(initialCommitData, selectedRef) |
|
222 | $.extend(initialCommitData, selectedRef) | |
223 | } |
|
223 | } | |
224 |
|
224 | |||
225 | var loadUrl = pyroutes.url('repo_refs_data', {'repo_name': templateContext.repo_name}); |
|
225 | var loadUrl = pyroutes.url('repo_refs_data', {'repo_name': templateContext.repo_name}); | |
226 | var cacheKey = '__ALL_FILE_REFS__'; |
|
226 | var cacheKey = '__ALL_FILE_REFS__'; | |
227 | var cachedDataSource = {}; |
|
227 | var cachedDataSource = {}; | |
228 |
|
228 | |||
229 | var loadRefsData = function (query) { |
|
229 | var loadRefsData = function (query) { | |
230 | $.ajax({ |
|
230 | $.ajax({ | |
231 | url: loadUrl, |
|
231 | url: loadUrl, | |
232 | data: {}, |
|
232 | data: {}, | |
233 | dataType: 'json', |
|
233 | dataType: 'json', | |
234 | type: 'GET', |
|
234 | type: 'GET', | |
235 | success: function (data) { |
|
235 | success: function (data) { | |
236 | cachedDataSource[cacheKey] = data; |
|
236 | cachedDataSource[cacheKey] = data; | |
237 | query.callback({results: data.results}); |
|
237 | query.callback({results: data.results}); | |
238 | } |
|
238 | } | |
239 | }); |
|
239 | }); | |
240 | }; |
|
240 | }; | |
241 |
|
241 | |||
242 | var feedRefsData = function (query, cachedData) { |
|
242 | var feedRefsData = function (query, cachedData) { | |
243 | var data = {results: []}; |
|
243 | var data = {results: []}; | |
244 | //filter results |
|
244 | //filter results | |
245 | $.each(cachedData.results, function () { |
|
245 | $.each(cachedData.results, function () { | |
246 | var section = this.text; |
|
246 | var section = this.text; | |
247 | var children = []; |
|
247 | var children = []; | |
248 | $.each(this.children, function () { |
|
248 | $.each(this.children, function () { | |
249 | if (query.term.length === 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0) { |
|
249 | if (query.term.length === 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0) { | |
250 | children.push(this) |
|
250 | children.push(this) | |
251 | } |
|
251 | } | |
252 | }); |
|
252 | }); | |
253 | data.results.push({ |
|
253 | data.results.push({ | |
254 | 'text': section, |
|
254 | 'text': section, | |
255 | 'children': children |
|
255 | 'children': children | |
256 | }) |
|
256 | }) | |
257 | }); |
|
257 | }); | |
258 |
|
258 | |||
259 | //push the typed in commit idx |
|
259 | //push the typed in commit idx | |
260 | if (!isNaN(query.term)) { |
|
260 | if (!isNaN(query.term)) { | |
261 | var files_url = pyroutes.url('repo_files', |
|
261 | var files_url = pyroutes.url('repo_files', | |
262 | {'repo_name': templateContext.repo_name, |
|
262 | {'repo_name': templateContext.repo_name, | |
263 | 'commit_id': query.term, 'f_path': state.f_path}); |
|
263 | 'commit_id': query.term, 'f_path': state.f_path}); | |
264 |
|
264 | |||
265 | data.results.push({ |
|
265 | data.results.push({ | |
266 | 'text': _gettext('go to numeric commit'), |
|
266 | 'text': _gettext('go to numeric commit'), | |
267 | 'children': [{ |
|
267 | 'children': [{ | |
268 | at_ref: null, |
|
268 | at_ref: null, | |
269 | id: null, |
|
269 | id: null, | |
270 | text: 'r{0}'.format(query.term), |
|
270 | text: 'r{0}'.format(query.term), | |
271 | type: 'sha', |
|
271 | type: 'sha', | |
272 | raw_id: query.term, |
|
272 | raw_id: query.term, | |
273 | idx: query.term, |
|
273 | idx: query.term, | |
274 | files_url: files_url, |
|
274 | files_url: files_url, | |
275 | }] |
|
275 | }] | |
276 | }); |
|
276 | }); | |
277 | } |
|
277 | } | |
278 | query.callback(data); |
|
278 | query.callback(data); | |
279 | }; |
|
279 | }; | |
280 |
|
280 | |||
281 | var select2RefFileSwitcher = function (targetElement, loadUrl, initialData) { |
|
281 | var select2RefFileSwitcher = function (targetElement, loadUrl, initialData) { | |
282 | var formatResult = function (result, container, query) { |
|
282 | var formatResult = function (result, container, query) { | |
283 | return formatSelect2SelectionRefs(result); |
|
283 | return formatSelect2SelectionRefs(result); | |
284 | }; |
|
284 | }; | |
285 |
|
285 | |||
286 | var formatSelection = function (data, container) { |
|
286 | var formatSelection = function (data, container) { | |
287 | var commit_ref = data; |
|
287 | var commit_ref = data; | |
288 |
|
288 | |||
289 | var tmpl = ''; |
|
289 | var tmpl = ''; | |
290 | if (commit_ref.type === 'sha') { |
|
290 | if (commit_ref.type === 'sha') { | |
291 | tmpl = (commit_ref.raw_id || "").substr(0,8); |
|
291 | tmpl = (commit_ref.raw_id || "").substr(0,8); | |
292 | } else if (commit_ref.type === 'branch') { |
|
292 | } else if (commit_ref.type === 'branch') { | |
293 | tmpl = tmpl.concat('<i class="icon-branch"></i> '); |
|
293 | tmpl = tmpl.concat('<i class="icon-branch"></i> '); | |
294 | tmpl = tmpl.concat(escapeHtml(commit_ref.text)); |
|
294 | tmpl = tmpl.concat(escapeHtml(commit_ref.text)); | |
295 | } else if (commit_ref.type === 'tag') { |
|
295 | } else if (commit_ref.type === 'tag') { | |
296 | tmpl = tmpl.concat('<i class="icon-tag"></i> '); |
|
296 | tmpl = tmpl.concat('<i class="icon-tag"></i> '); | |
297 | tmpl = tmpl.concat(escapeHtml(commit_ref.text)); |
|
297 | tmpl = tmpl.concat(escapeHtml(commit_ref.text)); | |
298 | } else if (commit_ref.type === 'book') { |
|
298 | } else if (commit_ref.type === 'book') { | |
299 | tmpl = tmpl.concat('<i class="icon-bookmark"></i> '); |
|
299 | tmpl = tmpl.concat('<i class="icon-bookmark"></i> '); | |
300 | tmpl = tmpl.concat(escapeHtml(commit_ref.text)); |
|
300 | tmpl = tmpl.concat(escapeHtml(commit_ref.text)); | |
301 | } |
|
301 | } | |
302 |
|
302 | |||
303 | var idx = commit_ref.idx || 0; |
|
303 | var idx = commit_ref.idx || 0; | |
304 | if (idx !== 0) { |
|
304 | if (idx !== 0) { | |
305 | tmpl = tmpl.concat('<span class="select-index-number">r{0}</span>'.format(idx)); |
|
305 | tmpl = tmpl.concat('<span class="select-index-number">r{0}</span>'.format(idx)); | |
306 | } |
|
306 | } | |
307 | return tmpl |
|
307 | return tmpl | |
308 | }; |
|
308 | }; | |
309 |
|
309 | |||
310 | $(targetElement).select2({ |
|
310 | $(targetElement).select2({ | |
311 | dropdownAutoWidth: true, |
|
311 | dropdownAutoWidth: true, | |
312 | width: "resolve", |
|
312 | width: "resolve", | |
313 | containerCssClass: "drop-menu", |
|
313 | containerCssClass: "drop-menu", | |
314 | dropdownCssClass: "drop-menu-dropdown", |
|
314 | dropdownCssClass: "drop-menu-dropdown", | |
315 | query: function(query) { |
|
315 | query: function(query) { | |
316 |
|
316 | |||
317 | var cachedData = cachedDataSource[cacheKey]; |
|
317 | var cachedData = cachedDataSource[cacheKey]; | |
318 | if (cachedData) { |
|
318 | if (cachedData) { | |
319 | feedRefsData(query, cachedData) |
|
319 | feedRefsData(query, cachedData) | |
320 | } else { |
|
320 | } else { | |
321 | loadRefsData(query) |
|
321 | loadRefsData(query) | |
322 | } |
|
322 | } | |
323 | }, |
|
323 | }, | |
324 | initSelection: function(element, callback) { |
|
324 | initSelection: function(element, callback) { | |
325 | callback(initialData); |
|
325 | callback(initialData); | |
326 | }, |
|
326 | }, | |
327 | formatResult: formatResult, |
|
327 | formatResult: formatResult, | |
328 | formatSelection: formatSelection |
|
328 | formatSelection: formatSelection | |
329 | }); |
|
329 | }); | |
330 |
|
330 | |||
331 | }; |
|
331 | }; | |
332 |
|
332 | |||
333 | select2RefFileSwitcher('#refs_filter', loadUrl, initialCommitData); |
|
333 | select2RefFileSwitcher('#refs_filter', loadUrl, initialCommitData); | |
334 |
|
334 | |||
335 | $('#refs_filter').on('change', function(e) { |
|
335 | $('#refs_filter').on('change', function(e) { | |
336 | var data = $('#refs_filter').select2('data'); |
|
336 | var data = $('#refs_filter').select2('data'); | |
337 | window.location = data.files_url |
|
337 | window.location = data.files_url | |
338 | }); |
|
338 | }); | |
339 |
|
339 | |||
340 | }; |
|
340 | }; | |
341 |
|
341 | |||
342 | $(document).ready(function() { |
|
342 | $(document).ready(function() { | |
343 | timeagoActivate(); |
|
343 | timeagoActivate(); | |
344 |
|
344 | |||
345 | if ($('#trimmed_message_box').height() < 50) { |
|
345 | if ($('#trimmed_message_box').height() < 50) { | |
346 | $('#message_expand').hide(); |
|
346 | $('#message_expand').hide(); | |
347 | } |
|
347 | } | |
348 |
|
348 | |||
349 | $('#message_expand').on('click', function(e) { |
|
349 | $('#message_expand').on('click', function(e) { | |
350 | $('#trimmed_message_box').css('max-height', 'none'); |
|
350 | $('#trimmed_message_box').css('max-height', 'none'); | |
351 | $(this).hide(); |
|
351 | $(this).hide(); | |
352 | }); |
|
352 | }); | |
353 |
|
353 | |||
354 | if (fileSourcePage) { |
|
354 | if (fileSourcePage) { | |
355 | initFileJS() |
|
355 | initFileJS() | |
356 | } else { |
|
356 | } else { | |
357 | initTreeJS() |
|
357 | initTreeJS() | |
358 | } |
|
358 | } | |
359 |
|
359 | |||
360 | var search_GET = "${request.GET.get('search','')}"; |
|
360 | var search_GET = "${request.GET.get('search','')}"; | |
361 | if (search_GET === "1") { |
|
361 | if (search_GET === "1") { | |
362 | NodeFilter.initFilter(); |
|
362 | NodeFilter.initFilter(); | |
363 | NodeFilter.focus(); |
|
363 | NodeFilter.focus(); | |
364 | } |
|
364 | } | |
365 | }); |
|
365 | }); | |
366 |
|
366 | |||
367 | </script> |
|
367 | </script> | |
368 |
|
368 | |||
369 | </%def> No newline at end of file |
|
369 | </%def> |
@@ -1,114 +1,114 b'' | |||||
1 | <%inherit file="/base/base.mako"/> |
|
1 | <%inherit file="/base/base.mako"/> | |
2 |
|
2 | |||
3 | <%def name="title()"> |
|
3 | <%def name="title()"> | |
4 | ${_('{} Files Add').format(c.repo_name)} |
|
4 | ${_('{} Files Add').format(c.repo_name)} | |
5 | %if c.rhodecode_name: |
|
5 | %if c.rhodecode_name: | |
6 | · ${h.branding(c.rhodecode_name)} |
|
6 | · ${h.branding(c.rhodecode_name)} | |
7 | %endif |
|
7 | %endif | |
8 | </%def> |
|
8 | </%def> | |
9 |
|
9 | |||
10 | <%def name="menu_bar_nav()"> |
|
10 | <%def name="menu_bar_nav()"> | |
11 | ${self.menu_items(active='repositories')} |
|
11 | ${self.menu_items(active='repositories')} | |
12 | </%def> |
|
12 | </%def> | |
13 |
|
13 | |||
14 | <%def name="breadcrumbs_links()"></%def> |
|
14 | <%def name="breadcrumbs_links()"></%def> | |
15 |
|
15 | |||
16 | <%def name="menu_bar_subnav()"> |
|
16 | <%def name="menu_bar_subnav()"> | |
17 | ${self.repo_menu(active='files')} |
|
17 | ${self.repo_menu(active='files')} | |
18 | </%def> |
|
18 | </%def> | |
19 |
|
19 | |||
20 | <%def name="main()"> |
|
20 | <%def name="main()"> | |
21 |
|
21 | |||
22 | <div class="box"> |
|
22 | <div class="box"> | |
23 |
|
23 | |||
24 | <div class="edit-file-title"> |
|
24 | <div class="edit-file-title"> | |
25 | <span class="title-heading">${_('Add new file')} @ <code>${h.show_id(c.commit)}</code></span> |
|
25 | <span class="title-heading">${_('Add new file')} @ <code>${h.show_id(c.commit)}</code></span> | |
26 | % if c.commit.branch: |
|
26 | % if c.commit.branch: | |
27 | <span class="tag branchtag"> |
|
27 | <span class="tag branchtag"> | |
28 | <i class="icon-branch"></i> ${c.commit.branch} |
|
28 | <i class="icon-branch"></i> ${c.commit.branch} | |
29 | </span> |
|
29 | </span> | |
30 | % endif |
|
30 | % endif | |
31 | </div> |
|
31 | </div> | |
32 |
|
32 | |||
33 | ${h.secure_form(h.route_path('repo_files_create_file', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path=c.f_path), id='eform', request=request)} |
|
33 | ${h.secure_form(h.route_path('repo_files_create_file', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path=c.f_path), id='eform', request=request)} | |
34 | <div class="edit-file-fieldset"> |
|
34 | <div class="edit-file-fieldset"> | |
35 | <div class="path-items"> |
|
35 | <div class="path-items"> | |
36 | <ul> |
|
36 | <ul> | |
37 | <li class="breadcrumb-path"> |
|
37 | <li class="breadcrumb-path"> | |
38 | <div> |
|
38 | <div> | |
39 | <a href="${h.route_path('repo_files', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path='')}"><i class="icon-home"></i></a> / |
|
39 | <a href="${h.route_path('repo_files', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path='')}"><i class="icon-home"></i></a> / | |
40 | <a href="${h.route_path('repo_files', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path=c.f_path)}">${c.f_path}</a> ${('/' if c.f_path else '')} |
|
40 | <a href="${h.route_path('repo_files', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path=c.f_path)}">${c.f_path}</a> ${('/' if c.f_path else '')} | |
41 | </div> |
|
41 | </div> | |
42 | </li> |
|
42 | </li> | |
43 | <li class="location-path"> |
|
43 | <li class="location-path"> | |
44 | <input class="file-name-input input-small" type="text" value="" name="filename" id="filename" placeholder="${_('Filename e.g example.py, or docs/readme.md')}"> |
|
44 | <input class="file-name-input input-small" type="text" value="" name="filename" id="filename" placeholder="${_('Filename e.g example.py, or docs/readme.md')}"> | |
45 | </li> |
|
45 | </li> | |
46 | </ul> |
|
46 | </ul> | |
47 | </div> |
|
47 | </div> | |
48 |
|
48 | |||
49 | </div> |
|
49 | </div> | |
50 |
|
50 | |||
51 | <div class="table"> |
|
51 | <div class="table"> | |
52 |
<div |
|
52 | <div> | |
53 |
|
53 | |||
54 | <div id="codeblock" class="codeblock"> |
|
54 | <div id="codeblock" class="codeblock"> | |
55 | <div class="editor-items"> |
|
55 | <div class="editor-items"> | |
56 | <div class="editor-action active show-editor pull-left" onclick="fileEditor.showEditor(); return false"> |
|
56 | <div class="editor-action active show-editor pull-left" onclick="fileEditor.showEditor(); return false"> | |
57 | ${_('Edit')} |
|
57 | ${_('Edit')} | |
58 | </div> |
|
58 | </div> | |
59 |
|
59 | |||
60 | <div class="editor-action show-preview pull-left" onclick="fileEditor.showPreview(); return false"> |
|
60 | <div class="editor-action show-preview pull-left" onclick="fileEditor.showPreview(); return false"> | |
61 | ${_('Preview')} |
|
61 | ${_('Preview')} | |
62 | </div> |
|
62 | </div> | |
63 |
|
63 | |||
64 | <div class="pull-right"> |
|
64 | <div class="pull-right"> | |
65 | ${h.dropdownmenu('line_wrap', 'off', [('on', _('Line wraps on')), ('off', _('line wraps off'))], extra_classes=['last-item'])} |
|
65 | ${h.dropdownmenu('line_wrap', 'off', [('on', _('Line wraps on')), ('off', _('line wraps off'))], extra_classes=['last-item'])} | |
66 | </div> |
|
66 | </div> | |
67 | <div class="pull-right"> |
|
67 | <div class="pull-right"> | |
68 | ${h.dropdownmenu('set_mode','plain',[('plain', _('plain'))], enable_filter=True)} |
|
68 | ${h.dropdownmenu('set_mode','plain',[('plain', _('plain'))], enable_filter=True)} | |
69 | </div> |
|
69 | </div> | |
70 | </div> |
|
70 | </div> | |
71 |
|
71 | |||
72 | <div id="editor_container"> |
|
72 | <div id="editor_container"> | |
73 | <pre id="editor_pre"></pre> |
|
73 | <pre id="editor_pre"></pre> | |
74 | <textarea id="editor" name="content" ></textarea> |
|
74 | <textarea id="editor" name="content" ></textarea> | |
75 | <div id="editor_preview"></div> |
|
75 | <div id="editor_preview"></div> | |
76 | </div> |
|
76 | </div> | |
77 | </div> |
|
77 | </div> | |
78 | </div> |
|
78 | </div> | |
79 | </div> |
|
79 | </div> | |
80 |
|
80 | |||
81 | <div class="edit-file-fieldset"> |
|
81 | <div class="edit-file-fieldset"> | |
82 | <div class="fieldset"> |
|
82 | <div class="fieldset"> | |
83 | <div class="message"> |
|
83 | <div class="message"> | |
84 | <textarea id="commit" name="message" placeholder="${c.default_message}"></textarea> |
|
84 | <textarea id="commit" name="message" placeholder="${c.default_message}"></textarea> | |
85 | </div> |
|
85 | </div> | |
86 | </div> |
|
86 | </div> | |
87 | <div class="pull-left"> |
|
87 | <div class="pull-left"> | |
88 | ${h.submit('commit_btn',_('Commit changes'), class_="btn btn-small btn-success")} |
|
88 | ${h.submit('commit_btn',_('Commit changes'), class_="btn btn-small btn-success")} | |
89 | </div> |
|
89 | </div> | |
90 | </div> |
|
90 | </div> | |
91 | ${h.end_form()} |
|
91 | ${h.end_form()} | |
92 | </div> |
|
92 | </div> | |
93 |
|
93 | |||
94 | <script type="text/javascript"> |
|
94 | <script type="text/javascript"> | |
95 |
|
95 | |||
96 | $(document).ready(function () { |
|
96 | $(document).ready(function () { | |
97 | var modes_select = $('#set_mode'); |
|
97 | var modes_select = $('#set_mode'); | |
98 | var filename_selector = '#filename'; |
|
98 | var filename_selector = '#filename'; | |
99 | fillCodeMirrorOptions(modes_select); |
|
99 | fillCodeMirrorOptions(modes_select); | |
100 |
|
100 | |||
101 | fileEditor = new FileEditor('#editor'); |
|
101 | fileEditor = new FileEditor('#editor'); | |
102 |
|
102 | |||
103 | // on change of select field set mode |
|
103 | // on change of select field set mode | |
104 | setCodeMirrorModeFromSelect(modes_select, filename_selector, fileEditor.cm, null); |
|
104 | setCodeMirrorModeFromSelect(modes_select, filename_selector, fileEditor.cm, null); | |
105 |
|
105 | |||
106 | // on entering the new filename set mode, from given extension |
|
106 | // on entering the new filename set mode, from given extension | |
107 | setCodeMirrorModeFromInput(modes_select, filename_selector, fileEditor.cm, null); |
|
107 | setCodeMirrorModeFromInput(modes_select, filename_selector, fileEditor.cm, null); | |
108 |
|
108 | |||
109 | $('#filename').focus(); |
|
109 | $('#filename').focus(); | |
110 |
|
110 | |||
111 | }); |
|
111 | }); | |
112 |
|
112 | |||
113 | </script> |
|
113 | </script> | |
114 | </%def> |
|
114 | </%def> |
@@ -1,124 +1,124 b'' | |||||
1 | <%inherit file="/base/base.mako"/> |
|
1 | <%inherit file="/base/base.mako"/> | |
2 |
|
2 | |||
3 | <%def name="title()"> |
|
3 | <%def name="title()"> | |
4 | ${_('{} Files Edit').format(c.repo_name)} |
|
4 | ${_('{} Files Edit').format(c.repo_name)} | |
5 | %if c.rhodecode_name: |
|
5 | %if c.rhodecode_name: | |
6 | · ${h.branding(c.rhodecode_name)} |
|
6 | · ${h.branding(c.rhodecode_name)} | |
7 | %endif |
|
7 | %endif | |
8 | </%def> |
|
8 | </%def> | |
9 |
|
9 | |||
10 | <%def name="menu_bar_nav()"> |
|
10 | <%def name="menu_bar_nav()"> | |
11 | ${self.menu_items(active='repositories')} |
|
11 | ${self.menu_items(active='repositories')} | |
12 | </%def> |
|
12 | </%def> | |
13 |
|
13 | |||
14 | <%def name="breadcrumbs_links()"></%def> |
|
14 | <%def name="breadcrumbs_links()"></%def> | |
15 |
|
15 | |||
16 | <%def name="menu_bar_subnav()"> |
|
16 | <%def name="menu_bar_subnav()"> | |
17 | ${self.repo_menu(active='files')} |
|
17 | ${self.repo_menu(active='files')} | |
18 | </%def> |
|
18 | </%def> | |
19 |
|
19 | |||
20 | <%def name="main()"> |
|
20 | <%def name="main()"> | |
21 |
|
21 | |||
22 | <div class="box"> |
|
22 | <div class="box"> | |
23 |
|
23 | |||
24 | <div class="edit-file-title"> |
|
24 | <div class="edit-file-title"> | |
25 | <span class="title-heading">${_('Edit file')} @ <code>${h.show_id(c.commit)}</code></span> |
|
25 | <span class="title-heading">${_('Edit file')} @ <code>${h.show_id(c.commit)}</code></span> | |
26 | % if c.commit.branch: |
|
26 | % if c.commit.branch: | |
27 | <span class="tag branchtag"> |
|
27 | <span class="tag branchtag"> | |
28 | <i class="icon-branch"></i> ${c.commit.branch} |
|
28 | <i class="icon-branch"></i> ${c.commit.branch} | |
29 | </span> |
|
29 | </span> | |
30 | % endif |
|
30 | % endif | |
31 | </div> |
|
31 | </div> | |
32 |
|
32 | |||
33 | ${h.secure_form(h.route_path('repo_files_update_file', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path=c.f_path), id='eform', request=request)} |
|
33 | ${h.secure_form(h.route_path('repo_files_update_file', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path=c.f_path), id='eform', request=request)} | |
34 | <div class="edit-file-fieldset"> |
|
34 | <div class="edit-file-fieldset"> | |
35 | <div class="path-items"> |
|
35 | <div class="path-items"> | |
36 | <ul> |
|
36 | <ul> | |
37 | <li class="breadcrumb-path"> |
|
37 | <li class="breadcrumb-path"> | |
38 | <div> |
|
38 | <div> | |
39 | <a href="${h.route_path('repo_files', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path='')}"><i class="icon-home"></i></a> / |
|
39 | <a href="${h.route_path('repo_files', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path='')}"><i class="icon-home"></i></a> / | |
40 | <a href="${h.route_path('repo_files', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path=c.file.dir_path)}">${c.file.dir_path}</a> ${('/' if c.file.dir_path else '')} |
|
40 | <a href="${h.route_path('repo_files', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path=c.file.dir_path)}">${c.file.dir_path}</a> ${('/' if c.file.dir_path else '')} | |
41 | </div> |
|
41 | </div> | |
42 | </li> |
|
42 | </li> | |
43 | <li class="location-path"> |
|
43 | <li class="location-path"> | |
44 | <input type="hidden" value="${c.f_path}" name="root_path"> |
|
44 | <input type="hidden" value="${c.f_path}" name="root_path"> | |
45 | <input class="file-name-input input-small" type="text" value="${c.file.name}" name="filename" id="filename" placeholder="${_('Filename e.g example.py, or docs/readme.md')}"> |
|
45 | <input class="file-name-input input-small" type="text" value="${c.file.name}" name="filename" id="filename" placeholder="${_('Filename e.g example.py, or docs/readme.md')}"> | |
46 | </li> |
|
46 | </li> | |
47 | </ul> |
|
47 | </ul> | |
48 | </div> |
|
48 | </div> | |
49 |
|
49 | |||
50 | </div> |
|
50 | </div> | |
51 |
|
51 | |||
52 | <div class="table"> |
|
52 | <div class="table"> | |
53 |
<div |
|
53 | <div> | |
54 |
|
54 | |||
55 | <div id="codeblock" class="codeblock"> |
|
55 | <div id="codeblock" class="codeblock"> | |
56 | <div class="editor-items"> |
|
56 | <div class="editor-items"> | |
57 | <div class="editor-action active show-editor pull-left" onclick="fileEditor.showEditor(); return false"> |
|
57 | <div class="editor-action active show-editor pull-left" onclick="fileEditor.showEditor(); return false"> | |
58 | ${_('Edit')} |
|
58 | ${_('Edit')} | |
59 | </div> |
|
59 | </div> | |
60 |
|
60 | |||
61 | <div class="editor-action show-preview pull-left" onclick="fileEditor.showPreview(); return false"> |
|
61 | <div class="editor-action show-preview pull-left" onclick="fileEditor.showPreview(); return false"> | |
62 | ${_('Preview')} |
|
62 | ${_('Preview')} | |
63 | </div> |
|
63 | </div> | |
64 |
|
64 | |||
65 | <div class="pull-right"> |
|
65 | <div class="pull-right"> | |
66 | ${h.dropdownmenu('line_wrap', 'off', [('on', _('Line wraps on')), ('off', _('line wraps off')),])} |
|
66 | ${h.dropdownmenu('line_wrap', 'off', [('on', _('Line wraps on')), ('off', _('line wraps off')),])} | |
67 | </div> |
|
67 | </div> | |
68 | <div class="pull-right"> |
|
68 | <div class="pull-right"> | |
69 | ${h.dropdownmenu('set_mode','plain',[('plain', _('plain'))],enable_filter=True)} |
|
69 | ${h.dropdownmenu('set_mode','plain',[('plain', _('plain'))],enable_filter=True)} | |
70 | </div> |
|
70 | </div> | |
71 | </div> |
|
71 | </div> | |
72 |
|
72 | |||
73 | <div id="editor_container"> |
|
73 | <div id="editor_container"> | |
74 | <pre id="editor_pre"></pre> |
|
74 | <pre id="editor_pre"></pre> | |
75 | <textarea id="editor" name="content" >${h.escape(c.file.content)|n}</textarea> |
|
75 | <textarea id="editor" name="content" >${h.escape(c.file.content)|n}</textarea> | |
76 | <div id="editor_preview" ></div> |
|
76 | <div id="editor_preview" ></div> | |
77 | </div> |
|
77 | </div> | |
78 | </div> |
|
78 | </div> | |
79 | </div> |
|
79 | </div> | |
80 | </div> |
|
80 | </div> | |
81 |
|
81 | |||
82 | <div class="edit-file-fieldset"> |
|
82 | <div class="edit-file-fieldset"> | |
83 | <div class="fieldset"> |
|
83 | <div class="fieldset"> | |
84 | <div class="message"> |
|
84 | <div class="message"> | |
85 | <textarea id="commit" name="message" placeholder="${c.default_message}"></textarea> |
|
85 | <textarea id="commit" name="message" placeholder="${c.default_message}"></textarea> | |
86 | </div> |
|
86 | </div> | |
87 | </div> |
|
87 | </div> | |
88 | <div class="pull-left"> |
|
88 | <div class="pull-left"> | |
89 | ${h.submit('commit_btn',_('Commit changes'), class_="btn btn-small btn-success")} |
|
89 | ${h.submit('commit_btn',_('Commit changes'), class_="btn btn-small btn-success")} | |
90 | </div> |
|
90 | </div> | |
91 | </div> |
|
91 | </div> | |
92 | ${h.end_form()} |
|
92 | ${h.end_form()} | |
93 | </div> |
|
93 | </div> | |
94 |
|
94 | |||
95 | <script type="text/javascript"> |
|
95 | <script type="text/javascript"> | |
96 |
|
96 | |||
97 | $(document).ready(function() { |
|
97 | $(document).ready(function() { | |
98 | var modes_select = $('#set_mode'); |
|
98 | var modes_select = $('#set_mode'); | |
99 | var filename_selector = '#filename'; |
|
99 | var filename_selector = '#filename'; | |
100 | fillCodeMirrorOptions(modes_select); |
|
100 | fillCodeMirrorOptions(modes_select); | |
101 |
|
101 | |||
102 | fileEditor = new FileEditor('#editor'); |
|
102 | fileEditor = new FileEditor('#editor'); | |
103 |
|
103 | |||
104 | // try to detect the mode based on the file we edit |
|
104 | // try to detect the mode based on the file we edit | |
105 | var detected_mode = detectCodeMirrorMode("${c.file.name}", "${c.file.mimetype}"); |
|
105 | var detected_mode = detectCodeMirrorMode("${c.file.name}", "${c.file.mimetype}"); | |
106 |
|
106 | |||
107 | if (detected_mode) { |
|
107 | if (detected_mode) { | |
108 | setCodeMirrorMode(fileEditor.cm, detected_mode); |
|
108 | setCodeMirrorMode(fileEditor.cm, detected_mode); | |
109 |
|
109 | |||
110 | var mimetype = $(modes_select).find("option[mode={0}]".format(detected_mode)).val(); |
|
110 | var mimetype = $(modes_select).find("option[mode={0}]".format(detected_mode)).val(); | |
111 | $(modes_select).select2("val", mimetype).trigger('change'); |
|
111 | $(modes_select).select2("val", mimetype).trigger('change'); | |
112 | } |
|
112 | } | |
113 |
|
113 | |||
114 | // on change of select field set mode |
|
114 | // on change of select field set mode | |
115 | setCodeMirrorModeFromSelect(modes_select, filename_selector, fileEditor.cm, null); |
|
115 | setCodeMirrorModeFromSelect(modes_select, filename_selector, fileEditor.cm, null); | |
116 |
|
116 | |||
117 | // on entering the new filename set mode, from given extension |
|
117 | // on entering the new filename set mode, from given extension | |
118 | setCodeMirrorModeFromInput(modes_select, filename_selector, fileEditor.cm, null); |
|
118 | setCodeMirrorModeFromInput(modes_select, filename_selector, fileEditor.cm, null); | |
119 |
|
119 | |||
120 | }); |
|
120 | }); | |
121 |
|
121 | |||
122 |
|
122 | |||
123 | </script> |
|
123 | </script> | |
124 | </%def> |
|
124 | </%def> |
@@ -1,61 +1,63 b'' | |||||
1 | <%namespace name="base" file="/base/base.mako"/> |
|
1 | <%namespace name="base" file="/base/base.mako"/> | |
2 | <%namespace name="file_base" file="/files/base.mako"/> |
|
2 | <%namespace name="file_base" file="/files/base.mako"/> | |
3 |
|
3 | |||
4 | <div class="summary"> |
|
4 | <div class="summary"> | |
5 | <div class="fieldset"> |
|
5 | <div class="fieldset"> | |
6 | <div class="left-content"> |
|
6 | <div class="left-content"> | |
7 |
|
7 | |||
8 | <div class="left-content-avatar"> |
|
8 | <div class="left-content-avatar"> | |
9 | ${base.gravatar(c.file_last_commit.author_email, 30)} |
|
9 | ${base.gravatar(c.file_last_commit.author_email, 30)} | |
10 | </div> |
|
10 | </div> | |
11 |
|
11 | |||
12 | <div class="left-content-message"> |
|
12 | <div class="left-content-message"> | |
13 | <div class="fieldset collapsable-content no-hide" data-toggle="summary-details"> |
|
13 | <div class="fieldset collapsable-content no-hide" data-toggle="summary-details"> | |
14 | <div class="commit truncate-wrap">${h.urlify_commit_message(h.chop_at_smart(c.commit.message, '\n', suffix_if_chopped='...'), c.repo_name)}</div> |
|
14 | <div class="commit truncate-wrap">${h.urlify_commit_message(h.chop_at_smart(c.commit.message, '\n', suffix_if_chopped='...'), c.repo_name)}</div> | |
15 | </div> |
|
15 | </div> | |
16 |
|
16 | |||
17 | <div class="fieldset collapsable-content" data-toggle="summary-details"> |
|
17 | <div class="fieldset collapsable-content" data-toggle="summary-details"> | |
18 | <div class="commit">${h.urlify_commit_message(c.commit.message,c.repo_name)}</div> |
|
18 | <div class="commit">${h.urlify_commit_message(c.commit.message,c.repo_name)}</div> | |
19 | </div> |
|
19 | </div> | |
20 |
|
20 | |||
21 | <div class="fieldset" data-toggle="summary-details"> |
|
21 | <div class="fieldset" data-toggle="summary-details"> | |
22 | <div class="" id="file_authors"> |
|
22 | <div class="" id="file_authors"> | |
23 | ## loads single author, or ALL |
|
23 | ## loads single author, or ALL | |
24 | <%include file='file_authors_box.mako'/> |
|
24 | <%include file='file_authors_box.mako'/> | |
25 | </div> |
|
25 | </div> | |
26 | </div> |
|
26 | </div> | |
27 | </div> |
|
27 | </div> | |
28 |
|
28 | |||
29 | <div class="fieldset collapsable-content" data-toggle="summary-details"> |
|
29 | <div class="fieldset collapsable-content" data-toggle="summary-details"> | |
30 | <div class="left-label-summary-files"> |
|
30 | <div class="left-label-summary-files"> | |
31 | <p>${_('File last commit')}</p> |
|
31 | <p>${_('File last commit')}</p> | |
32 | <div class="right-label-summary"> |
|
32 | <div class="right-label-summary"> | |
33 | <code><a href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=c.file_last_commit.raw_id)}">${h.show_id(c.file_last_commit)}</a></code> |
|
33 | <code><a href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=c.file_last_commit.raw_id)}">${h.show_id(c.file_last_commit)}</a></code> | |
34 |
|
||||
35 | ${file_base.refs(c.file_last_commit)} |
|
34 | ${file_base.refs(c.file_last_commit)} | |
36 | </div> |
|
35 | </div> | |
37 | </div> |
|
36 | </div> | |
38 | </div> |
|
37 | </div> | |
39 | </div> |
|
38 | </div> | |
40 |
|
39 | |||
41 | <div class="right-content"> |
|
40 | <div class="right-content"> | |
42 | <div data-toggle="summary-details"> |
|
41 | <div data-toggle="summary-details"> | |
43 |
<div class="tags |
|
42 | <div class="tags tags-main"> | |
44 | <code><a href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=c.commit.raw_id)}">${h.show_id(c.commit)}</a></code> |
|
43 | <code> | |
|
44 | <a href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=c.commit.raw_id)}">${h.show_id(c.commit)}</a> | |||
|
45 | </code> | |||
|
46 | <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.commit.raw_id}" title="${_('Copy the full commit id')}"></i> | |||
45 | ${file_base.refs(c.commit)} |
|
47 | ${file_base.refs(c.commit)} | |
46 | </div> |
|
48 | </div> | |
47 | </div> |
|
49 | </div> | |
48 | </div> |
|
50 | </div> | |
49 |
|
51 | |||
50 | <div class="clear-fix"></div> |
|
52 | <div class="clear-fix"></div> | |
51 |
|
53 | |||
52 | <div class="btn-collapse" data-toggle="summary-details"> |
|
54 | <div class="btn-collapse" data-toggle="summary-details"> | |
53 | ${_('Show More')} |
|
55 | ${_('Show More')} | |
54 | </div> |
|
56 | </div> | |
55 |
|
57 | |||
56 | </div> |
|
58 | </div> | |
57 | </div> |
|
59 | </div> | |
58 |
|
60 | |||
59 | <script> |
|
61 | <script> | |
60 | collapsableContent(); |
|
62 | collapsableContent(); | |
61 | </script> |
|
63 | </script> |
@@ -1,46 +1,47 b'' | |||||
1 | <%namespace name="base" file="/base/base.mako"/> |
|
1 | <%namespace name="base" file="/base/base.mako"/> | |
2 | <%namespace name="file_base" file="/files/base.mako"/> |
|
2 | <%namespace name="file_base" file="/files/base.mako"/> | |
3 |
|
3 | |||
4 | <div class="summary"> |
|
4 | <div class="summary"> | |
5 | <div class="fieldset"> |
|
5 | <div class="fieldset"> | |
6 | <div class="left-content"> |
|
6 | <div class="left-content"> | |
7 |
|
7 | |||
8 | <div class="left-content-avatar"> |
|
8 | <div class="left-content-avatar"> | |
9 | ${base.gravatar(c.commit.author_email, 30)} |
|
9 | ${base.gravatar(c.commit.author_email, 30)} | |
10 | </div> |
|
10 | </div> | |
11 |
|
11 | |||
12 | <div class="left-content-message"> |
|
12 | <div class="left-content-message"> | |
13 | <div class="fieldset collapsable-content no-hide" data-toggle="summary-details"> |
|
13 | <div class="fieldset collapsable-content no-hide" data-toggle="summary-details"> | |
14 | <div class="commit truncate-wrap">${h.urlify_commit_message(h.chop_at_smart(c.commit.message, '\n', suffix_if_chopped='...'), c.repo_name)}</div> |
|
14 | <div class="commit truncate-wrap">${h.urlify_commit_message(h.chop_at_smart(c.commit.message, '\n', suffix_if_chopped='...'), c.repo_name)}</div> | |
15 | </div> |
|
15 | </div> | |
16 |
|
16 | |||
17 | <div class="fieldset collapsable-content" data-toggle="summary-details"> |
|
17 | <div class="fieldset collapsable-content" data-toggle="summary-details"> | |
18 | <div class="commit">${h.urlify_commit_message(c.commit.message,c.repo_name)}</div> |
|
18 | <div class="commit">${h.urlify_commit_message(c.commit.message,c.repo_name)}</div> | |
19 | </div> |
|
19 | </div> | |
20 |
|
20 | |||
21 | <div class="fieldset clear-fix"> |
|
21 | <div class="fieldset clear-fix"> | |
22 | <span class="commit-author">${h.link_to_user(c.commit.author)}</span><span class="commit-date"> - ${h.age_component(c.commit.date)}</span> |
|
22 | <span class="commit-author">${h.link_to_user(c.commit.author)}</span><span class="commit-date"> - ${h.age_component(c.commit.date)}</span> | |
23 | </div> |
|
23 | </div> | |
24 | </div> |
|
24 | </div> | |
25 | </div> |
|
25 | </div> | |
26 |
|
26 | |||
27 | <div class="right-content"> |
|
27 | <div class="right-content"> | |
28 |
<div class="tags |
|
28 | <div class="tags"> | |
29 | <code> |
|
29 | <code> | |
30 | <a href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=c.commit.raw_id)}">${h.show_id(c.commit)}</a> |
|
30 | <a href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=c.commit.raw_id)}">${h.show_id(c.commit)}</a> | |
31 | </code> |
|
31 | </code> | |
32 |
|
32 | |||
|
33 | <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.commit.raw_id}" title="${_('Copy the full commit id')}"></i> | |||
33 | ${file_base.refs(c.commit)} |
|
34 | ${file_base.refs(c.commit)} | |
34 | </div> |
|
35 | </div> | |
35 | </div> |
|
36 | </div> | |
36 |
|
37 | |||
37 | <div class="clear-fix"></div> |
|
38 | <div class="clear-fix"></div> | |
38 |
|
39 | |||
39 | <div class="btn-collapse" data-toggle="summary-details"> |
|
40 | <div class="btn-collapse" data-toggle="summary-details"> | |
40 | ${_('Show More')} |
|
41 | ${_('Show More')} | |
41 | </div> |
|
42 | </div> | |
42 | </div> |
|
43 | </div> | |
43 | </div> |
|
44 | </div> | |
44 | <script> |
|
45 | <script> | |
45 | collapsableContent(); |
|
46 | collapsableContent(); | |
46 | </script> |
|
47 | </script> |
@@ -1,211 +1,211 b'' | |||||
1 | <%inherit file="/base/base.mako"/> |
|
1 | <%inherit file="/base/base.mako"/> | |
2 |
|
2 | |||
3 | <%def name="title()"> |
|
3 | <%def name="title()"> | |
4 | ${_('{} Files Upload').format(c.repo_name)} |
|
4 | ${_('{} Files Upload').format(c.repo_name)} | |
5 | %if c.rhodecode_name: |
|
5 | %if c.rhodecode_name: | |
6 | · ${h.branding(c.rhodecode_name)} |
|
6 | · ${h.branding(c.rhodecode_name)} | |
7 | %endif |
|
7 | %endif | |
8 | </%def> |
|
8 | </%def> | |
9 |
|
9 | |||
10 | <%def name="menu_bar_nav()"> |
|
10 | <%def name="menu_bar_nav()"> | |
11 | ${self.menu_items(active='repositories')} |
|
11 | ${self.menu_items(active='repositories')} | |
12 | </%def> |
|
12 | </%def> | |
13 |
|
13 | |||
14 | <%def name="breadcrumbs_links()"></%def> |
|
14 | <%def name="breadcrumbs_links()"></%def> | |
15 |
|
15 | |||
16 | <%def name="menu_bar_subnav()"> |
|
16 | <%def name="menu_bar_subnav()"> | |
17 | ${self.repo_menu(active='files')} |
|
17 | ${self.repo_menu(active='files')} | |
18 | </%def> |
|
18 | </%def> | |
19 |
|
19 | |||
20 | <%def name="main()"> |
|
20 | <%def name="main()"> | |
21 |
|
21 | |||
22 | <div class="box"> |
|
22 | <div class="box"> | |
23 | ## Template for uploads |
|
23 | ## Template for uploads | |
24 | <div style="display: none" id="tpl-dropzone"> |
|
24 | <div style="display: none" id="tpl-dropzone"> | |
25 | <div class="dz-preview dz-file-preview"> |
|
25 | <div class="dz-preview dz-file-preview"> | |
26 | <div class="dz-details"> |
|
26 | <div class="dz-details"> | |
27 |
|
27 | |||
28 | <div class="dz-filename"> |
|
28 | <div class="dz-filename"> | |
29 | <span data-dz-name></span> |
|
29 | <span data-dz-name></span> | |
30 | </div> |
|
30 | </div> | |
31 | <div class="dz-filename-size"> |
|
31 | <div class="dz-filename-size"> | |
32 | <span class="dz-size" data-dz-size></span> |
|
32 | <span class="dz-size" data-dz-size></span> | |
33 |
|
33 | |||
34 | </div> |
|
34 | </div> | |
35 |
|
35 | |||
36 | <div class="dz-sending" style="display: none">${_('Uploading...')}</div> |
|
36 | <div class="dz-sending" style="display: none">${_('Uploading...')}</div> | |
37 | <div class="dz-response" style="display: none"> |
|
37 | <div class="dz-response" style="display: none"> | |
38 | ${_('Uploaded')} 100% |
|
38 | ${_('Uploaded')} 100% | |
39 | </div> |
|
39 | </div> | |
40 |
|
40 | |||
41 | </div> |
|
41 | </div> | |
42 | <div class="dz-progress"> |
|
42 | <div class="dz-progress"> | |
43 | <span class="dz-upload" data-dz-uploadprogress></span> |
|
43 | <span class="dz-upload" data-dz-uploadprogress></span> | |
44 | </div> |
|
44 | </div> | |
45 |
|
45 | |||
46 | <div class="dz-error-message"> |
|
46 | <div class="dz-error-message"> | |
47 | </div> |
|
47 | </div> | |
48 | </div> |
|
48 | </div> | |
49 | </div> |
|
49 | </div> | |
50 |
|
50 | |||
51 | <div class="edit-file-title"> |
|
51 | <div class="edit-file-title"> | |
52 | <span class="title-heading">${_('Upload new file')} @ <code>${h.show_id(c.commit)}</code></span> |
|
52 | <span class="title-heading">${_('Upload new file')} @ <code>${h.show_id(c.commit)}</code></span> | |
53 | % if c.commit.branch: |
|
53 | % if c.commit.branch: | |
54 | <span class="tag branchtag"> |
|
54 | <span class="tag branchtag"> | |
55 | <i class="icon-branch"></i> ${c.commit.branch} |
|
55 | <i class="icon-branch"></i> ${c.commit.branch} | |
56 | </span> |
|
56 | </span> | |
57 | % endif |
|
57 | % endif | |
58 | </div> |
|
58 | </div> | |
59 |
|
59 | |||
60 | <% form_url = h.route_path('repo_files_upload_file', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path=c.f_path) %> |
|
60 | <% form_url = h.route_path('repo_files_upload_file', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path=c.f_path) %> | |
61 | ##${h.secure_form(form_url, id='eform', enctype="multipart/form-data", request=request)} |
|
61 | ##${h.secure_form(form_url, id='eform', enctype="multipart/form-data", request=request)} | |
62 | <div class="edit-file-fieldset"> |
|
62 | <div class="edit-file-fieldset"> | |
63 | <div class="path-items"> |
|
63 | <div class="path-items"> | |
64 | <ul> |
|
64 | <ul> | |
65 | <li class="breadcrumb-path"> |
|
65 | <li class="breadcrumb-path"> | |
66 | <div> |
|
66 | <div> | |
67 | <a href="${h.route_path('repo_files', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path='')}"><i class="icon-home"></i></a> / |
|
67 | <a href="${h.route_path('repo_files', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path='')}"><i class="icon-home"></i></a> / | |
68 | <a href="${h.route_path('repo_files', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path=c.f_path)}">${c.f_path}</a> ${('/' if c.f_path else '')} |
|
68 | <a href="${h.route_path('repo_files', repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path=c.f_path)}">${c.f_path}</a> ${('/' if c.f_path else '')} | |
69 | </div> |
|
69 | </div> | |
70 | </li> |
|
70 | </li> | |
71 | <li class="location-path"> |
|
71 | <li class="location-path"> | |
72 |
|
72 | |||
73 | </li> |
|
73 | </li> | |
74 | </ul> |
|
74 | </ul> | |
75 | </div> |
|
75 | </div> | |
76 |
|
76 | |||
77 | </div> |
|
77 | </div> | |
78 |
|
78 | |||
79 | <div class="upload-form table"> |
|
79 | <div class="upload-form table"> | |
80 |
<div |
|
80 | <div> | |
81 |
|
81 | |||
82 | <div class="dropzone-wrapper" id="file-uploader"> |
|
82 | <div class="dropzone-wrapper" id="file-uploader"> | |
83 | <div class="dropzone-pure"> |
|
83 | <div class="dropzone-pure"> | |
84 | <div class="dz-message"> |
|
84 | <div class="dz-message"> | |
85 | <i class="icon-upload" style="font-size:36px"></i></br> |
|
85 | <i class="icon-upload" style="font-size:36px"></i></br> | |
86 | ${_("Drag'n Drop files here or")} <span class="link">${_('Choose your files')}</span>.<br> |
|
86 | ${_("Drag'n Drop files here or")} <span class="link">${_('Choose your files')}</span>.<br> | |
87 | </div> |
|
87 | </div> | |
88 | </div> |
|
88 | </div> | |
89 |
|
89 | |||
90 | </div> |
|
90 | </div> | |
91 | </div> |
|
91 | </div> | |
92 |
|
92 | |||
93 | </div> |
|
93 | </div> | |
94 |
|
94 | |||
95 | <div class="upload-form edit-file-fieldset"> |
|
95 | <div class="upload-form edit-file-fieldset"> | |
96 | <div class="fieldset"> |
|
96 | <div class="fieldset"> | |
97 | <div class="message"> |
|
97 | <div class="message"> | |
98 | <textarea id="commit" name="message" placeholder="${c.default_message}"></textarea> |
|
98 | <textarea id="commit" name="message" placeholder="${c.default_message}"></textarea> | |
99 | </div> |
|
99 | </div> | |
100 | </div> |
|
100 | </div> | |
101 | <div class="pull-left"> |
|
101 | <div class="pull-left"> | |
102 | ${h.submit('commit_btn',_('Commit changes'), class_="btn btn-small btn-success")} |
|
102 | ${h.submit('commit_btn',_('Commit changes'), class_="btn btn-small btn-success")} | |
103 | </div> |
|
103 | </div> | |
104 | </div> |
|
104 | </div> | |
105 | ##${h.end_form()} |
|
105 | ##${h.end_form()} | |
106 |
|
106 | |||
107 | <div class="file-upload-transaction-wrapper" style="display: none"> |
|
107 | <div class="file-upload-transaction-wrapper" style="display: none"> | |
108 | <div class="file-upload-transaction"> |
|
108 | <div class="file-upload-transaction"> | |
109 | <h3>${_('Commiting...')}</h3> |
|
109 | <h3>${_('Commiting...')}</h3> | |
110 | <p>${_('Please wait while the files are being uploaded')}</p> |
|
110 | <p>${_('Please wait while the files are being uploaded')}</p> | |
111 | <p class="error" style="display: none"> |
|
111 | <p class="error" style="display: none"> | |
112 |
|
112 | |||
113 | </p> |
|
113 | </p> | |
114 | <i class="icon-spin animate-spin"></i> |
|
114 | <i class="icon-spin animate-spin"></i> | |
115 | <p></p> |
|
115 | <p></p> | |
116 | </div> |
|
116 | </div> | |
117 | </div> |
|
117 | </div> | |
118 |
|
118 | |||
119 | </div> |
|
119 | </div> | |
120 |
|
120 | |||
121 | <script type="text/javascript"> |
|
121 | <script type="text/javascript"> | |
122 |
|
122 | |||
123 | $(document).ready(function () { |
|
123 | $(document).ready(function () { | |
124 |
|
124 | |||
125 | //see: https://www.dropzonejs.com/#configuration |
|
125 | //see: https://www.dropzonejs.com/#configuration | |
126 | myDropzone = new Dropzone("div#file-uploader", { |
|
126 | myDropzone = new Dropzone("div#file-uploader", { | |
127 | url: "${form_url}", |
|
127 | url: "${form_url}", | |
128 | headers: {"X-CSRF-Token": CSRF_TOKEN}, |
|
128 | headers: {"X-CSRF-Token": CSRF_TOKEN}, | |
129 | paramName: function () { |
|
129 | paramName: function () { | |
130 | return "files_upload" |
|
130 | return "files_upload" | |
131 | }, // The name that will be used to transfer the file |
|
131 | }, // The name that will be used to transfer the file | |
132 | parallelUploads: 20, |
|
132 | parallelUploads: 20, | |
133 | maxFiles: 20, |
|
133 | maxFiles: 20, | |
134 | uploadMultiple: true, |
|
134 | uploadMultiple: true, | |
135 | //chunking: true, // use chunking transfer, not supported at the moment |
|
135 | //chunking: true, // use chunking transfer, not supported at the moment | |
136 | //maxFilesize: 2, // in MBs |
|
136 | //maxFilesize: 2, // in MBs | |
137 | autoProcessQueue: false, // if false queue will not be processed automatically. |
|
137 | autoProcessQueue: false, // if false queue will not be processed automatically. | |
138 | createImageThumbnails: false, |
|
138 | createImageThumbnails: false, | |
139 | previewTemplate: document.querySelector('#tpl-dropzone').innerHTML, |
|
139 | previewTemplate: document.querySelector('#tpl-dropzone').innerHTML, | |
140 | accept: function (file, done) { |
|
140 | accept: function (file, done) { | |
141 | done(); |
|
141 | done(); | |
142 | }, |
|
142 | }, | |
143 | init: function () { |
|
143 | init: function () { | |
144 | this.on("addedfile", function (file) { |
|
144 | this.on("addedfile", function (file) { | |
145 |
|
145 | |||
146 | }); |
|
146 | }); | |
147 |
|
147 | |||
148 | this.on("sending", function (file, xhr, formData) { |
|
148 | this.on("sending", function (file, xhr, formData) { | |
149 | formData.append("message", $('#commit').val()); |
|
149 | formData.append("message", $('#commit').val()); | |
150 | $(file.previewElement).find('.dz-sending').show(); |
|
150 | $(file.previewElement).find('.dz-sending').show(); | |
151 | }); |
|
151 | }); | |
152 |
|
152 | |||
153 | this.on("success", function (file, response) { |
|
153 | this.on("success", function (file, response) { | |
154 | $(file.previewElement).find('.dz-sending').hide(); |
|
154 | $(file.previewElement).find('.dz-sending').hide(); | |
155 | $(file.previewElement).find('.dz-response').show(); |
|
155 | $(file.previewElement).find('.dz-response').show(); | |
156 |
|
156 | |||
157 | if (response.error !== null) { |
|
157 | if (response.error !== null) { | |
158 | $('.file-upload-transaction-wrapper .error').html('ERROR: {0}'.format(response.error)); |
|
158 | $('.file-upload-transaction-wrapper .error').html('ERROR: {0}'.format(response.error)); | |
159 | $('.file-upload-transaction-wrapper .error').show(); |
|
159 | $('.file-upload-transaction-wrapper .error').show(); | |
160 | $('.file-upload-transaction-wrapper i').hide() |
|
160 | $('.file-upload-transaction-wrapper i').hide() | |
161 | } |
|
161 | } | |
162 |
|
162 | |||
163 | var redirect_url = response.redirect_url || '/'; |
|
163 | var redirect_url = response.redirect_url || '/'; | |
164 | window.location = redirect_url |
|
164 | window.location = redirect_url | |
165 |
|
165 | |||
166 | }); |
|
166 | }); | |
167 |
|
167 | |||
168 | this.on("error", function (file, errorMessage, xhr) { |
|
168 | this.on("error", function (file, errorMessage, xhr) { | |
169 | var error = null; |
|
169 | var error = null; | |
170 |
|
170 | |||
171 | if (xhr !== undefined){ |
|
171 | if (xhr !== undefined){ | |
172 | var httpStatus = xhr.status + " " + xhr.statusText; |
|
172 | var httpStatus = xhr.status + " " + xhr.statusText; | |
173 | if (xhr.status >= 500) { |
|
173 | if (xhr.status >= 500) { | |
174 | error = httpStatus; |
|
174 | error = httpStatus; | |
175 | } |
|
175 | } | |
176 | } |
|
176 | } | |
177 |
|
177 | |||
178 | if (error === null) { |
|
178 | if (error === null) { | |
179 | error = errorMessage.error || errorMessage || httpStatus; |
|
179 | error = errorMessage.error || errorMessage || httpStatus; | |
180 | } |
|
180 | } | |
181 |
|
181 | |||
182 | $(file.previewElement).find('.dz-error-message').html('ERROR: {0}'.format(error)); |
|
182 | $(file.previewElement).find('.dz-error-message').html('ERROR: {0}'.format(error)); | |
183 | }); |
|
183 | }); | |
184 | } |
|
184 | } | |
185 | }); |
|
185 | }); | |
186 |
|
186 | |||
187 | $('#commit_btn').on('click', function(e) { |
|
187 | $('#commit_btn').on('click', function(e) { | |
188 | e.preventDefault(); |
|
188 | e.preventDefault(); | |
189 | var button = $(this); |
|
189 | var button = $(this); | |
190 | if (button.hasClass('clicked')) { |
|
190 | if (button.hasClass('clicked')) { | |
191 | button.attr('disabled', true); |
|
191 | button.attr('disabled', true); | |
192 | } else { |
|
192 | } else { | |
193 | button.addClass('clicked'); |
|
193 | button.addClass('clicked'); | |
194 | } |
|
194 | } | |
195 |
|
195 | |||
196 | var files = myDropzone.getQueuedFiles(); |
|
196 | var files = myDropzone.getQueuedFiles(); | |
197 | if (files.length === 0) { |
|
197 | if (files.length === 0) { | |
198 | alert("Missing files"); |
|
198 | alert("Missing files"); | |
199 | e.preventDefault(); |
|
199 | e.preventDefault(); | |
200 | } |
|
200 | } | |
201 |
|
201 | |||
202 | $('.upload-form').hide(); |
|
202 | $('.upload-form').hide(); | |
203 | $('.file-upload-transaction-wrapper').show(); |
|
203 | $('.file-upload-transaction-wrapper').show(); | |
204 | myDropzone.processQueue(); |
|
204 | myDropzone.processQueue(); | |
205 |
|
205 | |||
206 | }); |
|
206 | }); | |
207 |
|
207 | |||
208 | }); |
|
208 | }); | |
209 |
|
209 | |||
210 | </script> |
|
210 | </script> | |
211 | </%def> |
|
211 | </%def> |
General Comments 0
You need to be logged in to leave comments.
Login now