redmine_extensions 0.1.15 → 0.1.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/redmine_extensions/entity/entity_generator.rb +21 -24
  3. data/lib/generators/redmine_extensions/entity/templates/_form.html.erb.erb +4 -0
  4. data/lib/generators/redmine_extensions/entity/templates/_sidebar.html.erb.erb +1 -1
  5. data/lib/generators/redmine_extensions/entity/templates/context_menu.html.erb.erb +1 -1
  6. data/lib/generators/redmine_extensions/entity/templates/controller.rb.erb +19 -16
  7. data/lib/generators/redmine_extensions/entity/templates/custom_field.rb.erb +7 -7
  8. data/lib/generators/redmine_extensions/entity/templates/edit.js.erb.erb +10 -9
  9. data/lib/generators/redmine_extensions/entity/templates/en.yml.erb +1 -2
  10. data/lib/generators/redmine_extensions/entity/templates/index.api.rsb.erb +5 -5
  11. data/lib/generators/redmine_extensions/entity/templates/index.html.erb.erb +2 -0
  12. data/lib/generators/redmine_extensions/entity/templates/index.js.erb.erb +7 -6
  13. data/lib/generators/redmine_extensions/entity/templates/mail_added.html.erb.erb +1 -1
  14. data/lib/generators/redmine_extensions/entity/templates/mail_added.text.erb.erb +2 -2
  15. data/lib/generators/redmine_extensions/entity/templates/mail_updated.text.erb.erb +2 -2
  16. data/lib/generators/redmine_extensions/entity/templates/migration.rb.erb +3 -1
  17. data/lib/generators/redmine_extensions/entity/templates/model.rb.erb +4 -4
  18. data/lib/generators/redmine_extensions/entity/templates/new.js.erb.erb +10 -9
  19. data/lib/generators/redmine_extensions/entity/templates/query.rb.erb +8 -5
  20. data/lib/generators/redmine_extensions/entity/templates/routes.rb.erb +12 -12
  21. data/lib/generators/redmine_extensions/entity/templates/show.html.erb.erb +37 -37
  22. data/lib/generators/redmine_extensions/entity/templates/show.js.erb.erb +7 -6
  23. data/lib/generators/redmine_extensions/plugin/plugin_generator.rb +3 -1
  24. data/lib/generators/redmine_extensions/plugin/templates/after_init.rb.erb +22 -0
  25. data/lib/generators/redmine_extensions/plugin/templates/init.rb.erb +4 -22
  26. data/lib/generators/redmine_extensions/plugin/templates/javascript.js +1 -0
  27. data/lib/generators/redmine_extensions/plugin/templates/stylesheet.css +3 -0
  28. data/lib/redmine_extensions/version.rb +1 -1
  29. metadata +12 -216
  30. data/app/assets/javascripts/redmine_extensions/redmine_extensions.js.orig +0 -648
  31. data/app/views/easy_entity_assignments/_query_index.html.erb.orig +0 -16
  32. data/lib/redmine_extensions/redmine_patches/controllers/issues_controller_patch.rb +0 -9
  33. data/lib/redmine_extensions/version.rb.orig +0 -7
  34. data/spec/redmine/app/controllers/custom_field_enumerations_controller.rb +0 -75
  35. data/spec/redmine/app/controllers/imports_controller.rb +0 -121
  36. data/spec/redmine/app/helpers/imports_helper.rb +0 -47
  37. data/spec/redmine/app/models/custom_field_enumeration.rb +0 -90
  38. data/spec/redmine/app/models/import.rb +0 -249
  39. data/spec/redmine/app/models/import_item.rb +0 -22
  40. data/spec/redmine/app/models/issue_import.rb +0 -186
  41. data/spec/redmine/app/views/attachments/image.html.erb +0 -3
  42. data/spec/redmine/app/views/attachments/other.html.erb +0 -3
  43. data/spec/redmine/app/views/common/_image.html.erb +0 -1
  44. data/spec/redmine/app/views/common/_other.html.erb +0 -1
  45. data/spec/redmine/app/views/custom_field_enumerations/create.js.erb +0 -2
  46. data/spec/redmine/app/views/custom_field_enumerations/destroy.html.erb +0 -14
  47. data/spec/redmine/app/views/custom_field_enumerations/index.html.erb +0 -47
  48. data/spec/redmine/app/views/custom_fields/formats/_enumeration.erb +0 -12
  49. data/spec/redmine/app/views/imports/_fields_mapping.html.erb +0 -90
  50. data/spec/redmine/app/views/imports/mapping.html.erb +0 -52
  51. data/spec/redmine/app/views/imports/mapping.js.erb +0 -1
  52. data/spec/redmine/app/views/imports/new.html.erb +0 -15
  53. data/spec/redmine/app/views/imports/run.html.erb +0 -20
  54. data/spec/redmine/app/views/imports/run.js.erb +0 -11
  55. data/spec/redmine/app/views/imports/settings.html.erb +0 -30
  56. data/spec/redmine/app/views/imports/show.html.erb +0 -38
  57. data/spec/redmine/app/views/layouts/_file.html.erb +0 -15
  58. data/spec/redmine/app/views/mailer/security_notification.html.erb +0 -13
  59. data/spec/redmine/app/views/mailer/security_notification.text.erb +0 -8
  60. data/spec/redmine/app/views/mailer/settings_updated.html.erb +0 -14
  61. data/spec/redmine/app/views/mailer/settings_updated.text.erb +0 -12
  62. data/spec/redmine/app/views/queries/_query_form.html.erb +0 -62
  63. data/spec/redmine/app/views/repositories/_changeset.html.erb +0 -40
  64. data/spec/redmine/app/views/search/index.api.rsb +0 -12
  65. data/spec/redmine/app/views/settings/_api.html.erb +0 -10
  66. data/spec/redmine/app/views/settings/_attachments.html.erb +0 -21
  67. data/spec/redmine/app/views/wiki/_new_modal.html.erb +0 -21
  68. data/spec/redmine/app/views/wiki/new.html.erb +0 -17
  69. data/spec/redmine/app/views/wiki/new.js.erb +0 -2
  70. data/spec/redmine/appveyor.yml +0 -36
  71. data/spec/redmine/db/migrate/20150725112753_insert_allowed_statuses_for_new_issues.rb +0 -23
  72. data/spec/redmine/db/migrate/20150730122707_create_imports.rb +0 -13
  73. data/spec/redmine/db/migrate/20150730122735_create_import_items.rb +0 -10
  74. data/spec/redmine/db/migrate/20150921204850_change_time_entries_comments_limit_to_1024.rb +0 -9
  75. data/spec/redmine/db/migrate/20150921210243_change_wiki_contents_comments_limit_to_1024.rb +0 -11
  76. data/spec/redmine/db/migrate/20151020182334_change_attachments_filesize_limit_to_8.rb +0 -9
  77. data/spec/redmine/db/migrate/20151020182731_fix_comma_in_user_format_setting_value.rb +0 -13
  78. data/spec/redmine/db/migrate/20151021184614_change_issue_categories_name_limit_to_60.rb +0 -9
  79. data/spec/redmine/db/migrate/20151021185456_change_auth_sources_filter_to_text.rb +0 -9
  80. data/spec/redmine/db/migrate/20151021190616_change_user_preferences_hide_mail_default_to_true.rb +0 -9
  81. data/spec/redmine/db/migrate/20151024082034_add_tokens_updated_on.rb +0 -10
  82. data/spec/redmine/db/migrate/20151025072118_create_custom_field_enumerations.rb +0 -10
  83. data/spec/redmine/db/migrate/20151031095005_add_projects_default_version_id.rb +0 -12
  84. data/spec/redmine/db/migrate/20160404080304_force_password_reset_during_setup.rb +0 -9
  85. data/spec/redmine/db/migrate/20160416072926_remove_position_defaults.rb +0 -13
  86. data/spec/redmine/db/migrate/20160529063352_add_roles_settings.rb +0 -5
  87. data/spec/redmine/lib/redmine/acts/positioned.rb +0 -118
  88. data/spec/redmine/lib/redmine/helpers/url.rb +0 -35
  89. data/spec/redmine/lib/redmine/hook/listener.rb +0 -32
  90. data/spec/redmine/lib/redmine/hook/view_listener.rb +0 -78
  91. data/spec/redmine/log/test.log +0 -2
  92. data/spec/redmine/plugins/dummy_plugin/Gemfile +0 -1
  93. data/spec/redmine/plugins/dummy_plugin/app/controllers/dummy_autocompletes_controller.rb +0 -4
  94. data/spec/redmine/plugins/dummy_plugin/app/views/dummy_autocompletes/index.html.erb +0 -3
  95. data/spec/redmine/plugins/dummy_plugin/config/locales/en.yml +0 -2
  96. data/spec/redmine/plugins/dummy_plugin/config/routes.rb +0 -1
  97. data/spec/redmine/plugins/dummy_plugin/init.rb +0 -34
  98. data/spec/redmine/plugins/dummy_plugin/lib/dummy_plugin/easy_patch/redmine/controllers/issues_controller_patch.example +0 -30
  99. data/spec/redmine/plugins/dummy_plugin/lib/dummy_plugin/easy_patch/redmine/helpers/issues_helper_patch.example +0 -30
  100. data/spec/redmine/plugins/dummy_plugin/lib/dummy_plugin/easy_patch/redmine/models/issue_patch.example +0 -30
  101. data/spec/redmine/plugins/dummy_plugin/lib/dummy_plugin/hooks.rb +0 -5
  102. data/spec/redmine/plugins/dummy_plugin/lib/dummy_plugin/internals.rb +0 -4
  103. data/spec/redmine/public/images/jstoolbar/bt_precode.png +0 -0
  104. data/spec/redmine/public/images/reorder.png +0 -0
  105. data/spec/redmine/public/javascripts/jquery-1.11.1-ui-1.11.0-ujs-3.1.4.js +0 -21
  106. data/spec/redmine/public/javascripts/redmine_extensions/application.js +0 -13
  107. data/spec/redmine/public/javascripts/redmine_extensions/easy_togglers.js +0 -58
  108. data/spec/redmine/public/javascripts/redmine_extensions/jquery.entityarray.js +0 -130
  109. data/spec/redmine/public/javascripts/redmine_extensions/redmine_extensions.js +0 -642
  110. data/spec/redmine/public/javascripts/responsive.js +0 -83
  111. data/spec/redmine/public/stylesheets/responsive.css +0 -799
  112. data/spec/redmine/test/fixtures/files/import_dates.csv +0 -4
  113. data/spec/redmine/test/fixtures/files/import_iso8859-1.csv +0 -3
  114. data/spec/redmine/test/fixtures/files/import_issues.csv +0 -4
  115. data/spec/redmine/test/fixtures/ldap/slapd.centos6.conf +0 -24
  116. data/spec/redmine/test/fixtures/ldap/slapd.ubuntu.12.04.conf +0 -23
  117. data/spec/redmine/test/fixtures/mail_handler/issue_update_with_cc.eml +0 -19
  118. data/spec/redmine/test/fixtures/mail_handler/ticket_on_project_given_by_to_header.eml +0 -60
  119. data/spec/redmine/test/fixtures/mail_handler/ticket_with_text_attachment_iso-8859-2.eml +0 -31
  120. data/spec/redmine/test/functional/custom_field_enumerations_controller_test.rb +0 -115
  121. data/spec/redmine/test/functional/imports_controller_test.rb +0 -205
  122. data/spec/redmine/test/functional/sessions_controller_test.rb +0 -138
  123. data/spec/redmine/test/integration/api_test/search_test.rb +0 -92
  124. data/spec/redmine/test/integration/routing/imports_test.rb +0 -36
  125. data/spec/redmine/test/integration/sessions_test.rb +0 -97
  126. data/spec/redmine/test/ui/custom_fields_test_ui.rb +0 -38
  127. data/spec/redmine/test/unit/attachment_transaction_test.rb +0 -76
  128. data/spec/redmine/test/unit/helpers/journals_helper_test.rb +0 -48
  129. data/spec/redmine/test/unit/helpers/wiki_helper_test.rb +0 -45
  130. data/spec/redmine/test/unit/issue_import_test.rb +0 -178
  131. data/spec/redmine/test/unit/lib/redmine/acts/positioned_with_scope_test.rb +0 -53
  132. data/spec/redmine/test/unit/lib/redmine/acts/positioned_without_scope_test.rb +0 -55
  133. data/spec/redmine/test/unit/lib/redmine/field_format/enumeration_format_test.rb +0 -91
  134. data/spec/support/easy_queries_helpers.rb +0 -0
@@ -1,83 +0,0 @@
1
- // generic layout specific responsive stuff goes here
2
-
3
- function openFlyout() {
4
- $('html').addClass('flyout-is-active');
5
- $('#wrapper2').on('click', function(e){
6
- e.preventDefault();
7
- e.stopPropagation();
8
- closeFlyout();
9
- });
10
- }
11
-
12
- function closeFlyout() {
13
- $('html').removeClass('flyout-is-active');
14
- $('#wrapper2').off('click');
15
- }
16
-
17
-
18
- function isMobile() {
19
- return $('.js-flyout-menu-toggle-button').is(":visible");
20
- }
21
-
22
- function setupFlyout() {
23
- var mobileInit = false,
24
- desktopInit = false;
25
-
26
- /* click handler for mobile menu toggle */
27
- $('.js-flyout-menu-toggle-button').on('click', function(e) {
28
- e.preventDefault();
29
- e.stopPropagation();
30
- if($('html').hasClass('flyout-is-active')) {
31
- closeFlyout();
32
- } else {
33
- openFlyout();
34
- }
35
- });
36
-
37
- /* bind resize handler */
38
- $(window).resize(function() {
39
- initMenu();
40
- })
41
-
42
- /* menu init function for dom detaching and appending on mobile / desktop view */
43
- function initMenu() {
44
-
45
- var _initMobileMenu = function() {
46
- /* only init mobile menu, if it hasn't been done yet */
47
- if(!mobileInit) {
48
-
49
- $('#main-menu > ul').detach().appendTo('.js-project-menu');
50
- $('#top-menu > ul').detach().appendTo('.js-general-menu');
51
- $('#sidebar > *').detach().appendTo('.js-sidebar');
52
- $('#account > ul').detach().appendTo('.js-profile-menu');
53
-
54
- mobileInit = true;
55
- desktopInit = false;
56
- }
57
- }
58
-
59
- var _initDesktopMenu = function() {
60
- if(!desktopInit) {
61
-
62
- $('.js-project-menu > ul').detach().appendTo('#main-menu');
63
- $('.js-general-menu > ul').detach().appendTo('#top-menu');
64
- $('.js-sidebar > *').detach().appendTo('#sidebar');
65
- $('.js-profile-menu > ul').detach().appendTo('#account');
66
-
67
- desktopInit = true;
68
- mobileInit = false;
69
- }
70
- }
71
-
72
- if(isMobile()) {
73
- _initMobileMenu();
74
- } else {
75
- _initDesktopMenu();
76
- }
77
- }
78
-
79
- // init menu on page load
80
- initMenu();
81
- }
82
-
83
- $(document).ready(setupFlyout);
@@ -1,799 +0,0 @@
1
- /*----------------------------------------*\
2
- RESPONSIVE CSS
3
- \*----------------------------------------*/
4
-
5
- /*
6
- CONTENTS
7
-
8
- A) BASIC MOBILE RESETS
9
- B) HEADER & TOP MENUS
10
- C) MAIN CONTENT & SIDEBAR
11
- D) TOGGLE BUTTON & FLYOUT MENU
12
- E) UX ELEMENTS
13
- F) PAGE SPECIFIC STYLES
14
- G) FORMS
15
- */
16
-
17
- /* Hide new elements (toggle button and flyout menu) above 900px */
18
- .mobile-toggle-button,
19
- .flyout-menu {
20
- display: none;
21
- }
22
-
23
- /*
24
- redmine's body is set to min-width: 900px
25
- add first breakpoint here and start adding responsiveness
26
- */
27
-
28
- @media screen and (max-width: 899px)
29
- {
30
- /*----------------------------------------*\
31
- A) BASIC MOBILE RESETS
32
- \*----------------------------------------*/
33
-
34
- /*
35
- apply natural border box, see: http://www.paulirish.com/2012/box-sizing-border-box-ftw/
36
- this helps us to better deal with percentages and padding / margin
37
- */
38
- *,
39
- *:before,
40
- *:after {
41
- -webkit-box-sizing: border-box;
42
- -moz-box-sizing: border-box;
43
- box-sizing: border-box;
44
- }
45
-
46
- body,
47
- html {
48
- height: 100%;
49
- margin: 0;
50
- padding: 0;
51
- }
52
-
53
- html {
54
- overflow-y: auto; /* avoid 2nd scrollbar on desktop */
55
- -webkit-text-size-adjust: 100%; /* prevent font scaling in landscape mode on webkit */
56
- }
57
-
58
- body {
59
- min-width: 0; /* reset the min-width of 900px */
60
- -webkit-overflow-scrolling: touch;
61
- }
62
-
63
- body,
64
- input,
65
- select,
66
- textarea,
67
- button {
68
- font-size: 14px; /* Set font-size for standard elements to 14px */
69
- }
70
-
71
- select {
72
- max-width: 100%; /* prevent long names within select menues from breaking content */
73
- }
74
-
75
- #wrapper {
76
- position: relative;
77
- overflow-x: hidden; /* hide horizontal overflow */
78
- max-width: 100%;
79
- }
80
-
81
- #wrapper,
82
- #wrapper2 {
83
- margin: 0;
84
- }
85
-
86
- /*----------------------------------------*\
87
- B) HEADER & TOP MENUS
88
- \*----------------------------------------*/
89
-
90
- #header {
91
- width: 100%;
92
- height: 64px; /* the height of our header on mobile */
93
- min-height: 0;
94
- margin: 0;
95
- padding: 0;
96
- border: none;
97
- background-color: #628db6;
98
- position: fixed;
99
- z-index: 9999;
100
- }
101
-
102
- /* Hide project name on mobile (project name is still visible in select menu) */
103
- #header h1 {
104
- display: none !important;
105
- }
106
-
107
- /* reset #header a color for mobile toggle button */
108
- #header a.mobile-toggle-button {
109
- color: #f8f8f8;
110
- }
111
-
112
-
113
- /* Hide top-menu and main-menu on mobile, because it's placed in our flyout menu */
114
- #top-menu,
115
- #header #main-menu {
116
- display: none;
117
- }
118
-
119
- /* the quick search within header holding search form and #project_quick_jump_box box*/
120
- #header #quick-search {
121
- float: none;
122
- clear: none; /* there are themes which set clear property, this resets it */
123
- max-width: 100%; /* reset max-width */
124
- margin: 0;
125
- background: inherit;
126
- }
127
-
128
- /* this represents the dropdown arrow to left of the mobile project menu */
129
- #header .jump-box-arrow:before {
130
- /* set a font-size in order to achive same result in different themes */
131
- font-family: Verdana, sans-serif;
132
- font-size: 2em;
133
- line-height: 64px;
134
-
135
- position: absolute;
136
- left: 0;
137
-
138
- width: 2em;
139
- padding: 0 .5em;
140
- /* achieve dropdwon arrow by scaling a caret character */
141
- content: '^';
142
- -webkit-transform: scale(1,-.8);
143
- -ms-transform: scale(1,-.8);
144
- transform: scale(1,-.8);
145
- text-align: right;
146
- pointer-events: none;
147
-
148
- opacity: .6;
149
- }
150
-
151
- /* styles for combobox within quick-search (#project_quick_jump_box) */
152
- #header #quick-search select {
153
- font-size: 1.5em;
154
- font-weight: bold;
155
- line-height: 1.2;
156
-
157
- position: absolute;
158
- top: 15px;
159
- left: 0;
160
-
161
- float: left;
162
-
163
- width: 100%;
164
- max-width: 100%;
165
- height: 2em;
166
- height: 35px;
167
- padding: 5px;
168
- padding-right: 72px;
169
- padding-left: 50px;
170
-
171
- text-indent: .01px;
172
-
173
- color: inherit;
174
- border: 0;
175
- -webkit-border-radius: 0;
176
- border-radius: 0;
177
- background: none;
178
- -webkit-box-shadow: none;
179
- box-shadow: none;
180
- /* hide default browser arrow */
181
- -webkit-appearance: none;
182
- -moz-appearance: none;
183
- }
184
-
185
- #header #quick-search form {
186
- display: none;
187
- }
188
-
189
- /*----------------------------------------*\
190
- C) MAIN CONTENT & SIDEBAR
191
- \*----------------------------------------*/
192
-
193
- #main {
194
- padding: 64px 0 0; /* padding-top equals header height */
195
- }
196
-
197
- #main.nosidebar #content,
198
- div#content {
199
- width: 100%;
200
- min-height: 0; /* reset min-height of #content */
201
- margin: 0;
202
- }
203
-
204
- /* hide sidebar and sidebar switch panel, since it's placed in mobile flyout menu */
205
- #sidebar,
206
- #sidebar-switch-panel {
207
- display: none;
208
- }
209
-
210
- .splitcontentleft {
211
- width: 100%;
212
- }
213
-
214
- .splitcontentright {
215
- width: 100%;
216
- }
217
-
218
- /*----------------------------------------*\
219
- D) TOGGLE BUTTON & FLYOUT MENU
220
- \*----------------------------------------*/
221
-
222
- .mobile-toggle-button {
223
- font-size: 42px;
224
- line-height: 64px;
225
-
226
- position: relative;
227
- z-index: 10;
228
-
229
- display: block; /* remove display: none; of non-mobile version */
230
- float: right;
231
-
232
- width: 60px;
233
- height: 64px;
234
- margin-top: 0;
235
-
236
- text-align: center;
237
-
238
- border-left: 1px solid #ddd;
239
- }
240
-
241
- .mobile-toggle-button:hover,
242
- .mobile-toggle-button:active {
243
- text-decoration: none;
244
- }
245
-
246
- .mobile-toggle-button:after {
247
- font-family: Verdana, sans-serif;
248
- display: block;
249
- margin-top: -3px;
250
- content: '\2261';
251
- }
252
-
253
- /* search magnifier icon */
254
- .search-magnifier {
255
- font-family: Verdana;
256
- color: #bbb;
257
-
258
- cursor: pointer;
259
- -webkit-transform: rotate(-45deg);
260
- -moz-transform: rotate(45deg);
261
- -o-transform: rotate(45deg);
262
- }
263
-
264
- .search-magnifier--flyout {
265
- font-size: 25px;
266
- line-height: 54px;
267
-
268
- position: absolute;
269
- z-index: 1;
270
- left: 12px;
271
- }
272
-
273
- /* Flyout Menu */
274
-
275
- .flyout-menu {
276
- position: absolute;
277
- right: -250px;
278
-
279
- display: block; /* remove display: none; of non-mobile version */
280
- overflow-x: hidden;
281
-
282
- width: 250px;
283
- height: 100%;
284
- margin: 0; /* reset margin for themes that define it */
285
- padding: 0; /* reset padding for themes that define it */
286
-
287
- color: white;
288
- background-color: #3e5b76;
289
- }
290
-
291
- /* avoid zoom on search input focus for ios devices */
292
- .flyout-menu input[type='text'] {
293
- font-size: 16px;
294
- }
295
-
296
- .flyout-menu h3 {
297
- font-size: 11px;
298
- line-height: 19px;
299
-
300
- height: 20px;
301
- margin: 0;
302
- padding: 0;
303
-
304
- letter-spacing: .1em;
305
- text-transform: uppercase;
306
-
307
- color: white;
308
- border-top: 1px solid #506a83;
309
- border-bottom: 1px solid #506a83;
310
- background-color: #628db6;
311
- }
312
-
313
- .flyout-menu h4 {
314
- color: white;
315
- }
316
-
317
- .flyout-menu h3,
318
- .flyout-menu h4,
319
- .flyout-menu > p,
320
- .flyout-menu > a,
321
- .flyout-menu ul li a,
322
- .flyout-menu__search,
323
- .flyout-menu__sidebar > div,
324
- .flyout-menu__sidebar > p,
325
- .flyout-menu__sidebar > a,
326
- .flyout-menu__sidebar > form,
327
- .flyout-menu > div,
328
- .flyout-menu > form {
329
- padding-left: 8px;
330
- }
331
-
332
- .flyout-menu .flyout-menu__avatar {
333
- margin-top: -1px; /* move avatar up 1px */
334
- padding-left: 0;
335
- }
336
-
337
- .flyout-menu__sidebar > form {
338
- display: block;
339
- }
340
-
341
- .flyout-menu__sidebar > form h3 {
342
- margin-left: -8px;
343
- }
344
-
345
- .flyout-menu__sidebar > form label {
346
- display: inline-block;
347
- margin: 8px 0;
348
- }
349
-
350
- .flyout-menu__sidebar > form br br {
351
- display: none;
352
- }
353
-
354
- /* Targets list containing checkboxes (e.g. activities sidebar) in flyout menu */
355
- .flyout-menu__sidebar form > ul {
356
- margin-left: -8px;
357
- padding-left: 0;
358
- }
359
-
360
- .flyout-menu__sidebar form > ul li {
361
- line-height: 39px;
362
- display: block;
363
- padding-left: 8px;
364
- border-top: 1px solid rgba(255,255,255,.1);
365
- }
366
-
367
- .flyout-menu__sidebar form > ul li:first-child {
368
- border-top: none;
369
- }
370
-
371
- .flyout-menu__sidebar form > ul li label {
372
- margin: 0;
373
- }
374
-
375
- .flyout-menu__sidebar form > ul li label a {
376
- line-height: 1;
377
- display: inline;
378
- padding-left: 0;
379
- border: none;
380
- }
381
-
382
- .flyout-menu ul {
383
- margin: 0;
384
- padding: 0;
385
- list-style: none;
386
- }
387
-
388
- .flyout-menu #watchers {
389
- display: -webkit-flex;
390
- display: -ms-flexbox;
391
- display: -webkit-box;
392
- display: flex;
393
- flex-direction: column;
394
-
395
- -webkit-flex-direction: column;
396
- -ms-flex-direction: column;
397
- -webkit-box-orient: vertical;
398
- -webkit-box-direction: normal;
399
- }
400
-
401
- .flyout-menu #watchers .contextual {
402
- -webkit-box-ordinal-group: 4;
403
- -webkit-order: 3;
404
- -ms-flex-order: 3;
405
- order: 3;
406
- }
407
-
408
- .flyout-menu #watchers h3 {
409
- margin-left: -8px;
410
- }
411
-
412
- .flyout-menu #watchers ul li {
413
- display: -webkit-flex;
414
- display: -ms-flexbox;
415
- display: -webkit-box;
416
- display: flex;
417
- flex-direction: row;
418
-
419
- -webkit-flex-direction: row;
420
- -ms-flex-direction: row;
421
- -webkit-box-orient: horizontal;
422
- -webkit-box-direction: normal;
423
- -webkit-align-items: center;
424
- -ms-flex-align: center;
425
- -webkit-box-align: center;
426
- align-items: center;
427
- }
428
-
429
- .flyout-menu ul li a {
430
- line-height: 40px;
431
- display: block;
432
- overflow: hidden;
433
- height: 40px;
434
- white-space: nowrap;
435
- text-overflow: ellipsis;
436
- border-top: 1px solid rgba(255,255,255,.1);
437
- }
438
-
439
- .flyout-menu ul li:first-child a {
440
- line-height: 39px;
441
- height: 39px;
442
- border-top: none;
443
- }
444
-
445
- .flyout-menu a {
446
- color: white;
447
- }
448
-
449
- .flyout-menu ul li a:hover {
450
- text-decoration: none;
451
- }
452
-
453
- .flyout-menu ul li a.new-object,
454
- .new-object ~ .menu-children {
455
- display: none;
456
- }
457
-
458
- /* Left flyout search container */
459
- .flyout-menu__search {
460
- line-height: 54px;
461
- height: 64px;
462
- padding-top: 3px;
463
- padding-right: 8px;
464
- }
465
-
466
- .flyout-menu__search input[type='text'] {
467
- line-height: 2;
468
-
469
- width: 100%;
470
- height: 38px;
471
- padding-left: 27px;
472
-
473
- vertical-align: middle;
474
-
475
- border: none;
476
- -webkit-border-radius: 3px;
477
- border-radius: 3px;
478
- background-color: #fff;
479
- }
480
-
481
- .flyout-menu__avatar {
482
- display: -webkit-box;
483
- display: -webkit-flex;
484
- display: -ms-flexbox;
485
- display: flex;
486
- width: 100%;
487
- border-top: 1px solid rgba(255,255,255,.1);
488
- }
489
-
490
- .flyout-menu__avatar img.gravatar {
491
- width: 40px;
492
- height: 40px;
493
- padding: 0;
494
- vertical-align: top;
495
- border-width: 0;
496
- }
497
-
498
- .flyout-menu__avatar a {
499
- line-height: 40px;
500
- height: auto;
501
- height: 40px;
502
- text-decoration: none;
503
- color: white;
504
- }
505
-
506
- /* avatar */
507
- .flyout-menu__avatar a:first-child {
508
- line-height: 0;
509
- width: 40px;
510
- padding: 0;
511
- }
512
-
513
- .flyout-menu__avatar .user {
514
- padding-left: 15px;
515
- padding-right: 15px;
516
- text-overflow: ellipsis;
517
- overflow: hidden;
518
- white-space: nowrap;
519
- -webkit-flex-grow: 1;
520
- -ms-flex-grow: 1;
521
- flex-grow: 1;
522
- }
523
-
524
- /* user link when no avatar is present */
525
- .flyout-menu__avatar--no-avatar a.user {
526
- line-height: 40px;
527
- padding-left: 8px;
528
- }
529
-
530
- .flyout-is-active body {
531
- overflow: hidden; /* for body not to have scrollbars when left flyout menu is active */
532
- }
533
-
534
- html.flyout-is-active {
535
- overflow: hidden;
536
- }
537
-
538
- .flyout-is-active #wrapper, .flyout-is-active #header {
539
- right: 250px; /* when left flyout is active, move body and header to the right (same amount like flyout-menu's width) */
540
- }
541
-
542
- .flyout-is-active #wrapper {
543
- overflow: visible;
544
- height: 100%;
545
- }
546
-
547
- .flyout-is-active .mobile-toggle-button:after {
548
- content: '\00D7'; /* close glyph */
549
- }
550
-
551
- .flyout-is-active #wrapper2 {
552
- /*
553
- * only relevant for devices with cursor when flyout it active, in order to show,
554
- * that whole wrapper content is clickable and closes flyout menu
555
- */
556
- cursor: pointer;
557
- }
558
-
559
- #admin-menu {
560
- padding-left: 0;
561
- }
562
-
563
- #admin-menu li {
564
- padding-bottom: 0;
565
- }
566
-
567
- #admin-menu a,
568
- #admin-menu a.selected {
569
- line-height: 40px;
570
- padding: 0;
571
- padding-left: 32px !important;
572
- background-position: 8px 50%;
573
- }
574
-
575
- /*----------------------------------------*\
576
- E) UX ELEMENTS
577
- \*----------------------------------------*/
578
-
579
- .mobile-hide {display:none;}
580
- .mobile-show {display:initial;}
581
-
582
- /* Contextual Buttons */
583
-
584
- #content>.contextual {
585
- width: 100%;
586
- margin-bottom: .5em;
587
- padding-left: 0; /* reset left padding in order to use whole space */
588
- white-space: normal;
589
- color: transparent;
590
- }
591
-
592
- #content>.contextual a,
593
- p.buttons a {
594
- font-weight: bold;
595
-
596
- display: inline-block;
597
-
598
- margin: 5px 0;
599
- margin-right: 2px;
600
- padding: 9px 9px 9px 9px;
601
-
602
- border: 1px solid #ddd;
603
- -webkit-border-radius: 3px;
604
- border-radius: 3px;
605
- background-color: transparent;
606
- background-position-x: 4px;
607
- }
608
-
609
- #content>.contextual a.icon,
610
- p.buttons a.icon {
611
- padding-left: 25px;
612
- }
613
-
614
- .flyout-menu .contextual {
615
- float: none;
616
- }
617
-
618
- /* loading indicator */
619
- #ajax-indicator {
620
- width: 60%;
621
- left: 20%;
622
- }
623
-
624
- /* jquery ui dialogs */
625
- .ui-dialog {
626
- max-width: 98%;
627
- margin: 1%;
628
- }
629
-
630
- .ui-dialog .ui-dialog-content {
631
- padding-left: 0;
632
- padding-right: 0;
633
- }
634
-
635
- #filters-table {width:100%; float:none;}
636
- .add-filter {width:100%; float:none; text-align: left; margin-top: 8px;}
637
-
638
- /*----------------------------------------*\
639
- F) PAGE SPECIFIC STYLES
640
- \*----------------------------------------*/
641
-
642
- /* page /login */
643
-
644
- #login-form table {
645
- width: 100%;
646
- }
647
-
648
- #login-form input#username,
649
- #login-form input#password,
650
- #login-form input#openid_url {
651
- width: 100%;
652
- height: auto;
653
- }
654
-
655
- /* some themes add a margin to login page, remove it on mobile */
656
- .action-login #main {
657
- margin: 0;
658
- }
659
-
660
- div#activity dl, #search-results {margin-left: 0;}
661
-
662
- .version-overview table.progress {width:75%;}
663
- div#version-summary {float:none; width:100%; margin-left:0;}
664
- body.controller-versions.action-show div#roadmap .related-issues {width:100%;}
665
-
666
- /* History and Changeset */
667
- div#issue-changesets {
668
- float: none;
669
- width: auto;
670
- margin-left: 0;
671
- padding-left: 0;
672
- margin-bottom: 2em;
673
- }
674
-
675
- div#issue-changesets div.changeset {
676
- padding-top: 1em;
677
- }
678
-
679
- /*----------------------------------------*\
680
- G) FORMS
681
- \*----------------------------------------*/
682
-
683
- input, select, textarea {
684
- max-width: 100%;
685
- }
686
-
687
- /* tabular forms resets for mobile */
688
- .tabular p, .tabular.settings p {
689
- padding-left: 0;
690
- }
691
-
692
- .tabular label, .tabular.settings label {
693
- display: block;
694
- width: 100%;
695
- margin-left: 0;
696
- text-align: left;
697
- }
698
-
699
- .tabular input, .tabular select, .tabular textarea {
700
- width: 100%;
701
- max-width: 100%;
702
- }
703
-
704
- .tabular input[type="checkbox"], .tabular input.date {
705
- width: auto;
706
- max-width: 95%;
707
- }
708
-
709
- /* new issue form */
710
- #all_attributes p:first-child {
711
- float: none !important;
712
- }
713
-
714
- #issue_is_private_label {
715
- display: inline;
716
- }
717
-
718
- span#watchers_inputs {
719
- width: 100%;
720
- }
721
-
722
- /* subtasks and related issues list on issue show */
723
- #issue_tree .issues, #relations .issues {
724
- border-collapse: separate;
725
- border-spacing: 0 1em; /* vertical space between tasks */
726
- }
727
-
728
- #issue_tree .issue > td:not(.checkbox), #relations .issue > td:not(.checkbox) {
729
- display: block;
730
- float: left;
731
- text-align: left;
732
- padding-right: 5px;
733
- }
734
-
735
- #issue_tree .issue > td, #relations .issue > td, #issue_tree .issue .user {
736
- text-overflow: ellipsis; /* if text exceeds its space, add ... */
737
- overflow: hidden;
738
- }
739
-
740
- #issue_tree .issue > td.subject, #relations .issue > td.subject {
741
- width: 100% !important; /* let subject have one full width column */
742
- word-break: break-word; /* break word if subject is too long */
743
- }
744
-
745
- #issue_tree .issue > td:not(.checkbox), #relations .issue > td:not(.checkbox) {
746
- width: 33.33%; /* three columns for all cells that are not subject */
747
- }
748
-
749
- #relations .issues, #relations .issue {
750
- position: relative; /* needed for .buttons positioning */
751
- }
752
-
753
- /* positioniong of unline button */
754
- #relations .issue > td.buttons {
755
- text-align: right;
756
- position: absolute;
757
- right: 0;
758
- margin: 0;
759
- padding-right: 0;
760
- }
761
-
762
- #relations .issue .buttons a {
763
- vertical-align: middle;
764
- padding-right: 5px;
765
- }
766
-
767
- #relations .issue > td.subject {
768
- padding-right: 25px; /* this is the spaces that .buttons uses next to subject */
769
- }
770
-
771
- /* attachment upload form */
772
- #attachments_fields span {
773
- position: relative;
774
- clear: both;
775
- margin-bottom: 1em;
776
- white-space: normal;
777
- }
778
- #attachments_fields span a.remove-upload {
779
- position: absolute;
780
- top: 0;
781
- right: 0;
782
- }
783
-
784
- #attachments_fields input.description {
785
- margin-left: 0;
786
- width: 100%;
787
- }
788
- }
789
-
790
- @media all and (max-width: 599px) {
791
- span.pagination {text-align:center;}
792
- .pagination ul.pages li {display:none;}
793
- .pagination ul.pages li.current,
794
- .pagination ul.pages li.previous,
795
- .pagination ul.pages li.next {display:inline-block; width:32%; overflow:hidden;}
796
-
797
- #login-form {width:100%; margin-top:2em;}
798
- }
799
-