Show More
@@ -0,0 +1,33 b'' | |||
|
1 | //Primary CSS | |
|
2 | //--- IMPORTS ------------------// | |
|
3 | @import 'helpers'; | |
|
4 | @import 'mixins'; | |
|
5 | @import 'rcicons'; | |
|
6 | @import 'fonts'; | |
|
7 | @import 'variables'; | |
|
8 | @import 'legacy_code_styles'; | |
|
9 | @import 'type'; | |
|
10 | @import 'alerts'; | |
|
11 | @import 'buttons'; | |
|
12 | @import 'tags'; | |
|
13 | @import 'examples'; | |
|
14 | @import 'login'; | |
|
15 | @import 'comments'; | |
|
16 | ||
|
17 | ||
|
18 | .toast-level { | |
|
19 | display: inline-block; | |
|
20 | min-width: 100px; | |
|
21 | font-weight: bold; | |
|
22 | text-transform: uppercase; | |
|
23 | &.info, &.success { | |
|
24 | color: #0ac878; | |
|
25 | } | |
|
26 | &.error, &.danger { | |
|
27 | color: #e85e4d; | |
|
28 | } | |
|
29 | &.warning { | |
|
30 | color: #ffc854; | |
|
31 | } | |
|
32 | } | |
|
33 |
@@ -0,0 +1,79 b'' | |||
|
1 | <link rel="import" href="../../../../../bower_components/paper-button/paper-button.html"> | |
|
2 | <link rel="import" href="rhodecode-unsafe-html.html"> | |
|
3 | <dom-module id="rhodecode-toast"> | |
|
4 | <template> | |
|
5 | <style include="shared-styles"></style> | |
|
6 | ||
|
7 | <style> | |
|
8 | paper-toast{ | |
|
9 | width: 100%; | |
|
10 | min-width: 400px; | |
|
11 | --paper-toast-background-color: #ffffff; | |
|
12 | --paper-toast-color: #000000; | |
|
13 | } | |
|
14 | paper-toast a{ | |
|
15 | font-weight: bold | |
|
16 | } | |
|
17 | ||
|
18 | .toast-message-holder { | |
|
19 | width: calc(100% - 150px); | |
|
20 | display: inline-block; | |
|
21 | } | |
|
22 | .toast-close { | |
|
23 | display: inline-block; | |
|
24 | width: 145px; | |
|
25 | text-align: right; | |
|
26 | float: right; | |
|
27 | } | |
|
28 | .toast-notification { | |
|
29 | padding: 10px 0 10px 0; | |
|
30 | } | |
|
31 | ||
|
32 | </style> | |
|
33 | <paper-toast id="p-toast" duration="0" horizontal-offset="100" horizontal-align="auto" vertical-align="top" always-on-top> | |
|
34 | <div class="toast-message-holder"> | |
|
35 | <template is="dom-repeat" items="{{toasts}}"> | |
|
36 | <div class="toast-notification"> | |
|
37 | <span class$="toast-level {{item.level}}">{{item.level}}</span> | |
|
38 | <rhodecode-unsafe-html text="{{item.message}}"></rhodecode-unsafe-html> | |
|
39 | </div> | |
|
40 | </template> | |
|
41 | </div> | |
|
42 | <div class="toast-close"> | |
|
43 | <paper-button on-tap="dismissNotifications" class="btn btn-info">{{_gettext('Close now')}}</paper-button> | |
|
44 | </div> | |
|
45 | </paper-toast> | |
|
46 | </template> | |
|
47 | ||
|
48 | <script> | |
|
49 | Polymer({ | |
|
50 | is: 'rhodecode-toast', | |
|
51 | properties: { | |
|
52 | toasts: { | |
|
53 | type: Array, | |
|
54 | value: function(){ | |
|
55 | return [] | |
|
56 | } | |
|
57 | } | |
|
58 | }, | |
|
59 | observers: [ | |
|
60 | '_changedToasts(toasts.splices)' | |
|
61 | ], | |
|
62 | ready: function(){ | |
|
63 | ||
|
64 | }, | |
|
65 | ||
|
66 | _changedToasts: function(newValue, oldValue){ | |
|
67 | this.$['p-toast'].notifyResize(); | |
|
68 | }, | |
|
69 | dismissNotifications: function(){ | |
|
70 | this.$['p-toast'].close(); | |
|
71 | this.splice('toasts', 0); | |
|
72 | }, | |
|
73 | open: function(){ | |
|
74 | this.$['p-toast'].open(); | |
|
75 | }, | |
|
76 | _gettext: _gettext | |
|
77 | }); | |
|
78 | </script> | |
|
79 | </dom-module> |
@@ -0,0 +1,22 b'' | |||
|
1 | <link rel="import" href="../../../../../bower_components/polymer/polymer.html"> | |
|
2 | ||
|
3 | <dom-module id="rhodecode-unsafe-html"> | |
|
4 | <template> | |
|
5 | <style include="shared-styles"></style> | |
|
6 | <content></content> | |
|
7 | </template> | |
|
8 | <script> | |
|
9 | Polymer({ | |
|
10 | is: 'rhodecode-unsafe-html', | |
|
11 | properties: { | |
|
12 | text: { | |
|
13 | type: String, | |
|
14 | observer: '_handleText' | |
|
15 | } | |
|
16 | }, | |
|
17 | _handleText: function(newVal, oldVal){ | |
|
18 | this.innerHTML = this.text; | |
|
19 | } | |
|
20 | }) | |
|
21 | </script> | |
|
22 | </dom-module> |
@@ -39,7 +39,10 b' syntax: regexp' | |||
|
39 | 39 | ^rcextensions/ |
|
40 | 40 | ^result$ |
|
41 | 41 | ^rhodecode/public/css/style.css$ |
|
42 | ^rhodecode/public/css/style-polymer.css$ | |
|
42 | 43 | ^rhodecode/public/js/scripts.js$ |
|
44 | ^rhodecode/public/js/rhodecode-components.html$ | |
|
45 | ^rhodecode/public/js/src/components/shared-styles.html$ | |
|
43 | 46 | ^rhodecode\.db$ |
|
44 | 47 | ^rhodecode\.log$ |
|
45 | 48 | ^rhodecode_dev\.log$ |
@@ -17,6 +17,16 b' module.exports = function(grunt) {' | |||
|
17 | 17 | }, |
|
18 | 18 | }, |
|
19 | 19 | concat: { |
|
20 | polymercss:{ | |
|
21 | src: [ | |
|
22 | // Base libraries | |
|
23 | '<%= dirs.js.src %>/components/shared-styles-prefix.html', | |
|
24 | '<%= dirs.css %>/style-polymer.css', | |
|
25 | '<%= dirs.js.src %>/components/shared-styles-suffix.html' | |
|
26 | ], | |
|
27 | dest: '<%= dirs.js.dest %>/src/components/shared-styles.html', | |
|
28 | nonull: true | |
|
29 | }, | |
|
20 | 30 | dist: { |
|
21 | 31 | src: [ |
|
22 | 32 | // Base libraries |
@@ -39,7 +49,6 b' module.exports = function(grunt) {' | |||
|
39 | 49 | '<%= dirs.js.src %>/plugins/jquery.mark.js', |
|
40 | 50 | '<%= dirs.js.src %>/plugins/jquery.timeago.js', |
|
41 | 51 | '<%= dirs.js.src %>/plugins/jquery.timeago-extension.js', |
|
42 | '<%= dirs.js.src %>/plugins/toastr.js', | |
|
43 | 52 | |
|
44 | 53 | // Select2 |
|
45 | 54 | '<%= dirs.js.src %>/select2/select2.js', |
@@ -106,7 +115,8 b' module.exports = function(grunt) {' | |||
|
106 | 115 | optimization: 0 |
|
107 | 116 | }, |
|
108 | 117 | files: { |
|
109 | "<%= dirs.css %>/style.css": "<%= dirs.css %>/main.less" | |
|
118 | "<%= dirs.css %>/style.css": "<%= dirs.css %>/main.less", | |
|
119 | "<%= dirs.css %>/style-polymer.css": "<%= dirs.css %>/polymer.less" | |
|
110 | 120 | } |
|
111 | 121 | }, |
|
112 | 122 | production: { |
@@ -116,7 +126,8 b' module.exports = function(grunt) {' | |||
|
116 | 126 | optimization: 2 |
|
117 | 127 | }, |
|
118 | 128 | files: { |
|
119 | "<%= dirs.css %>/style.css": "<%= dirs.css %>/main.less" | |
|
129 | "<%= dirs.css %>/style.css": "<%= dirs.css %>/main.less", | |
|
130 | "<%= dirs.css %>/style-polymer.css": "<%= dirs.css %>/polymer.less" | |
|
120 | 131 | } |
|
121 | 132 | } |
|
122 | 133 | }, |
@@ -124,11 +135,11 b' module.exports = function(grunt) {' | |||
|
124 | 135 | watch: { |
|
125 | 136 | less: { |
|
126 | 137 | files: ["<%= dirs.css %>/*.less"], |
|
127 | tasks: ["less:production"] | |
|
138 | tasks: ["less:development", 'concat:polymercss', "vulcanize"] | |
|
128 | 139 | }, |
|
129 | 140 | js: { |
|
130 | 141 | files: ["<%= dirs.js.src %>/**/*.js", "<%= dirs.js.src %>/components/*.*"], |
|
131 | tasks: ["concat:dist"] | |
|
142 | tasks: ["vulcanize", "concat:dist"] | |
|
132 | 143 | } |
|
133 | 144 | }, |
|
134 | 145 | |
@@ -163,5 +174,5 b' module.exports = function(grunt) {' | |||
|
163 | 174 | grunt.loadNpmTasks('grunt-crisper'); |
|
164 | 175 | grunt.loadNpmTasks('grunt-contrib-copy'); |
|
165 | 176 | |
|
166 |
grunt.registerTask('default', ['copy','vulcanize' |
|
|
177 | grunt.registerTask('default', ['less:production', 'concat:polymercss', 'copy','vulcanize', 'concat:dist']); | |
|
167 | 178 | }; |
@@ -25,7 +25,6 b'' | |||
|
25 | 25 | @import 'comments'; |
|
26 | 26 | @import 'panels-bootstrap'; |
|
27 | 27 | @import 'panels'; |
|
28 | @import 'toastr'; | |
|
29 | 28 | @import 'deform'; |
|
30 | 29 | |
|
31 | 30 | |
@@ -2103,3 +2102,8 b' input[type=radio] {' | |||
|
2103 | 2102 | padding: 0; |
|
2104 | 2103 | border: none; |
|
2105 | 2104 | } |
|
2105 | ||
|
2106 | .toggle-ajax-spinner{ | |
|
2107 | height: 16px; | |
|
2108 | width: 16px; | |
|
2109 | } |
@@ -4,3 +4,6 b'' | |||
|
4 | 4 | <link rel="import" href="../../../../../bower_components/paper-button/paper-button.html"> |
|
5 | 5 | <link rel="import" href="../../../../../bower_components/paper-spinner/paper-spinner.html"> |
|
6 | 6 | <link rel="import" href="../../../../../bower_components/iron-ajax/iron-ajax.html"> |
|
7 | <link rel="import" href="shared-styles.html"> | |
|
8 | <link rel="import" href="rhodecode-toast.html"> | |
|
9 | <link rel="import" href="rhodecode-unsafe-html.html"> |
@@ -1,29 +1,17 b'' | |||
|
1 | 1 | "use strict"; |
|
2 | 2 | |
|
3 | toastr.options = { | |
|
4 | "closeButton": true, | |
|
5 | "debug": false, | |
|
6 | "newestOnTop": false, | |
|
7 | "progressBar": false, | |
|
8 | "positionClass": "toast-top-center", | |
|
9 | "preventDuplicates": false, | |
|
10 | "onclick": null, | |
|
11 | "showDuration": "300", | |
|
12 | "hideDuration": "300", | |
|
13 | "timeOut": "0", | |
|
14 | "extendedTimeOut": "0", | |
|
15 | "showEasing": "swing", | |
|
16 | "hideEasing": "linear", | |
|
17 | "showMethod": "fadeIn", | |
|
18 | "hideMethod": "fadeOut" | |
|
19 | }; | |
|
20 | 3 | |
|
21 | 4 | function notifySystem(data) { |
|
22 | 5 | var notification = new Notification(data.message.level + ': ' + data.message.message); |
|
23 | 6 | }; |
|
24 | 7 | |
|
25 | 8 | function notifyToaster(data){ |
|
26 | toastr[data.message.level](data.message.message); | |
|
9 | var notifications = document.getElementById('notifications'); | |
|
10 | notifications.push('toasts', | |
|
11 | { level: data.message.level, | |
|
12 | message: data.message.message | |
|
13 | }); | |
|
14 | notifications.open(); | |
|
27 | 15 | } |
|
28 | 16 | |
|
29 | 17 | function handleNotifications(data) { |
@@ -1,5 +1,5 b'' | |||
|
1 | 1 | <template is="dom-bind" id="notificationsPage"> |
|
2 | ||
|
2 | <style include="shared-styles"></style> | |
|
3 | 3 | <iron-ajax id="toggleNotifications" |
|
4 | 4 | method="post" |
|
5 | 5 | url="${url('my_account_notifications_toggle_visibility')}" |
@@ -31,7 +31,7 b'' | |||
|
31 | 31 | <paper-tooltip>Toggle your notifications on/off globally.</paper-tooltip> |
|
32 | 32 | </div> |
|
33 | 33 | <template is="dom-if" if="{{changeNotificationsLoading}}"> |
|
34 |
<paper-spinner active |
|
|
34 | <paper-spinner active class="toggle-ajax-spinner"></paper-spinner> | |
|
35 | 35 | </template> |
|
36 | 36 | </div> |
|
37 | 37 | </div> |
@@ -154,5 +154,6 b" c.template_context['visual']['default_re" | |||
|
154 | 154 | %if c.post_code: |
|
155 | 155 | ${c.post_code|n} |
|
156 | 156 | %endif |
|
157 | <rhodecode-toast id="notifications"></rhodecode-toast> | |
|
157 | 158 | </body> |
|
158 | 159 | </html> |
|
1 | NO CONTENT: file was removed |
|
1 | NO CONTENT: file was removed |
General Comments 0
You need to be logged in to leave comments.
Login now