##// END OF EJS Templates
components: reorganize build pipeline to have nice separation of html/js/css
ergo -
r703:1eda65ea default
parent child
Show More
@@ -0,0 +1,29
1 Polymer({
2 is: 'rhodecode-toast',
3 properties: {
4 toasts: {
5 type: Array,
6 value: function(){
7 return []
8 }
9 }
10 },
11 observers: [
12 '_changedToasts(toasts.splices)'
13 ],
14 ready: function(){
15
16 },
17
18 _changedToasts: function(newValue, oldValue){
19 this.$['p-toast'].notifyResize();
20 },
21 dismissNotifications: function(){
22 this.$['p-toast'].close();
23 this.splice('toasts', 0);
24 },
25 open: function(){
26 this.$['p-toast'].open();
27 },
28 _gettext: _gettext
29 });
@@ -0,0 +1,39
1 paper-toast{
2 width: 100%;
3 min-width: 400px;
4 --paper-toast-background-color: #ffffff;
5 --paper-toast-color: #000000;
6 }
7 paper-toast a{
8 font-weight: bold
9 }
10
11 .toast-message-holder {
12 width: ~'calc(100% - 150px)';
13 display: inline-block;
14 }
15 .toast-close {
16 display: inline-block;
17 width: 145px;
18 text-align: right;
19 float: right;
20 }
21 .toast-notification {
22 padding: 10px 0 10px 0;
23 }
24
25 .toast-level {
26 display: inline-block;
27 min-width: 100px;
28 font-weight: bold;
29 text-transform: uppercase;
30 &.info, &.success {
31 color: #0ac878;
32 }
33 &.error, &.danger {
34 color: #e85e4d;
35 }
36 &.warning {
37 color: #ffc854;
38 }
39 }
@@ -1,63 +1,64
1 syntax: glob
1 syntax: glob
2 *.egg
2 *.egg
3 *.egg-info
3 *.egg-info
4 *.idea
4 *.idea
5 *.orig
5 *.orig
6 *.pyc
6 *.pyc
7 *.sqlite-journal
7 *.sqlite-journal
8 *.swp
8 *.swp
9 *.tox
9 *.tox
10 *.DS_Store*
10 *.DS_Store*
11 rhodecode/public/js/src/components/**/*.css
11
12
12 syntax: regexp
13 syntax: regexp
13
14
14 #.filename
15 #.filename
15 ^\.settings$
16 ^\.settings$
16 ^\.project$
17 ^\.project$
17 ^\.pydevproject$
18 ^\.pydevproject$
18 ^\.coverage$
19 ^\.coverage$
19 ^\.cache.*$
20 ^\.cache.*$
20 ^\.rhodecode$
21 ^\.rhodecode$
21
22
22 ^rcextensions
23 ^rcextensions
23 ^_dev
24 ^_dev
24 ^._dev
25 ^._dev
25 ^build/
26 ^build/
26 ^bower_components/
27 ^bower_components/
27 ^coverage\.xml$
28 ^coverage\.xml$
28 ^data$
29 ^data$
29 ^\.eggs/
30 ^\.eggs/
30 ^configs/data$
31 ^configs/data$
31 ^dev.ini$
32 ^dev.ini$
32 ^acceptance_tests/dev.*\.ini$
33 ^acceptance_tests/dev.*\.ini$
33 ^dist/
34 ^dist/
34 ^fabfile.py
35 ^fabfile.py
35 ^htmlcov
36 ^htmlcov
36 ^junit\.xml$
37 ^junit\.xml$
37 ^node_modules/
38 ^node_modules/
38 ^pylint.log$
39 ^pylint.log$
39 ^rcextensions/
40 ^rcextensions/
40 ^result$
41 ^result$
41 ^rhodecode/public/css/style.css$
42 ^rhodecode/public/css/style.css$
42 ^rhodecode/public/css/style-polymer.css$
43 ^rhodecode/public/css/style-polymer.css$
43 ^rhodecode/public/js/scripts.js$
44 ^rhodecode/public/js/scripts.js$
44 ^rhodecode/public/js/rhodecode-components.html$
45 ^rhodecode/public/js/rhodecode-components.html$
45 ^rhodecode/public/js/src/components/shared-styles.html$
46 ^rhodecode/public/js/src/components/shared-styles.html$
46 ^rhodecode\.db$
47 ^rhodecode\.db$
47 ^rhodecode\.log$
48 ^rhodecode\.log$
48 ^rhodecode_dev\.log$
49 ^rhodecode_dev\.log$
49 ^test\.db$
50 ^test\.db$
50
51
51 # ac-tests
52 # ac-tests
52 ^acceptance_tests/\.cache.*$
53 ^acceptance_tests/\.cache.*$
53 ^acceptance_tests/externals
54 ^acceptance_tests/externals
54 ^acceptance_tests/ghostdriver.log$
55 ^acceptance_tests/ghostdriver.log$
55 ^acceptance_tests/local(_.+)?\.ini$
56 ^acceptance_tests/local(_.+)?\.ini$
56
57
57 # docs
58 # docs
58 ^docs/_build$
59 ^docs/_build$
59 ^docs/result$
60 ^docs/result$
60 ^docs-internal/_build$
61 ^docs-internal/_build$
61
62
62 # Cythonized things
63 # Cythonized things
63 ^rhodecode/.*\.(c|so)$
64 ^rhodecode/.*\.(c|so)$
@@ -1,178 +1,187
1 module.exports = function(grunt) {
1 module.exports = function(grunt) {
2 grunt.initConfig({
2 grunt.initConfig({
3
3
4 dirs: {
4 dirs: {
5 css: "rhodecode/public/css",
5 css: "rhodecode/public/css",
6 js: {
6 js: {
7 "src": "rhodecode/public/js/src",
7 "src": "rhodecode/public/js/src",
8 "dest": "rhodecode/public/js"
8 "dest": "rhodecode/public/js"
9 }
9 }
10 },
10 },
11 copy: {
11 copy: {
12 main: {
12 main: {
13 expand: true,
13 expand: true,
14 cwd: 'bower_components',
14 cwd: 'bower_components',
15 src: 'webcomponentsjs/**',
15 src: 'webcomponentsjs/**',
16 dest: '<%= dirs.js.dest %>/vendors',
16 dest: '<%= dirs.js.dest %>/vendors',
17 },
17 },
18 },
18 },
19 concat: {
19 concat: {
20 polymercss:{
20 polymercss:{
21 src: [
21 src: [
22 // Base libraries
22 // Base libraries
23 '<%= dirs.js.src %>/components/shared-styles-prefix.html',
23 '<%= dirs.js.src %>/components/shared-styles-prefix.html',
24 '<%= dirs.css %>/style-polymer.css',
24 '<%= dirs.css %>/style-polymer.css',
25 '<%= dirs.js.src %>/components/shared-styles-suffix.html'
25 '<%= dirs.js.src %>/components/shared-styles-suffix.html'
26 ],
26 ],
27 dest: '<%= dirs.js.dest %>/src/components/shared-styles.html',
27 dest: '<%= dirs.js.dest %>/src/components/shared-styles.html',
28 nonull: true
28 nonull: true
29 },
29 },
30 dist: {
30 dist: {
31 src: [
31 src: [
32 // Base libraries
32 // Base libraries
33 '<%= dirs.js.src %>/jquery-1.11.1.min.js',
33 '<%= dirs.js.src %>/jquery-1.11.1.min.js',
34 '<%= dirs.js.src %>/logging.js',
34 '<%= dirs.js.src %>/logging.js',
35 '<%= dirs.js.src %>/bootstrap.js',
35 '<%= dirs.js.src %>/bootstrap.js',
36 '<%= dirs.js.src %>/mousetrap.js',
36 '<%= dirs.js.src %>/mousetrap.js',
37 '<%= dirs.js.src %>/moment.js',
37 '<%= dirs.js.src %>/moment.js',
38 '<%= dirs.js.src %>/appenlight-client-0.4.1.min.js',
38 '<%= dirs.js.src %>/appenlight-client-0.4.1.min.js',
39 '<%= dirs.js.src %>/i18n_utils.js',
39 '<%= dirs.js.src %>/i18n_utils.js',
40 '<%= dirs.js.src %>/deform.js',
40 '<%= dirs.js.src %>/deform.js',
41
41
42 // Plugins
42 // Plugins
43 '<%= dirs.js.src %>/plugins/jquery.pjax.js',
43 '<%= dirs.js.src %>/plugins/jquery.pjax.js',
44 '<%= dirs.js.src %>/plugins/jquery.dataTables.js',
44 '<%= dirs.js.src %>/plugins/jquery.dataTables.js',
45 '<%= dirs.js.src %>/plugins/flavoured_checkbox.js',
45 '<%= dirs.js.src %>/plugins/flavoured_checkbox.js',
46 '<%= dirs.js.src %>/plugins/jquery.auto-grow-input.js',
46 '<%= dirs.js.src %>/plugins/jquery.auto-grow-input.js',
47 '<%= dirs.js.src %>/plugins/jquery.autocomplete.js',
47 '<%= dirs.js.src %>/plugins/jquery.autocomplete.js',
48 '<%= dirs.js.src %>/plugins/jquery.debounce.js',
48 '<%= dirs.js.src %>/plugins/jquery.debounce.js',
49 '<%= dirs.js.src %>/plugins/jquery.mark.js',
49 '<%= dirs.js.src %>/plugins/jquery.mark.js',
50 '<%= dirs.js.src %>/plugins/jquery.timeago.js',
50 '<%= dirs.js.src %>/plugins/jquery.timeago.js',
51 '<%= dirs.js.src %>/plugins/jquery.timeago-extension.js',
51 '<%= dirs.js.src %>/plugins/jquery.timeago-extension.js',
52
52
53 // Select2
53 // Select2
54 '<%= dirs.js.src %>/select2/select2.js',
54 '<%= dirs.js.src %>/select2/select2.js',
55
55
56 // Code-mirror
56 // Code-mirror
57 '<%= dirs.js.src %>/codemirror/codemirror.js',
57 '<%= dirs.js.src %>/codemirror/codemirror.js',
58 '<%= dirs.js.src %>/codemirror/codemirror_loadmode.js',
58 '<%= dirs.js.src %>/codemirror/codemirror_loadmode.js',
59 '<%= dirs.js.src %>/codemirror/codemirror_hint.js',
59 '<%= dirs.js.src %>/codemirror/codemirror_hint.js',
60 '<%= dirs.js.src %>/codemirror/codemirror_overlay.js',
60 '<%= dirs.js.src %>/codemirror/codemirror_overlay.js',
61 '<%= dirs.js.src %>/codemirror/codemirror_placeholder.js',
61 '<%= dirs.js.src %>/codemirror/codemirror_placeholder.js',
62 // TODO: mikhail: this is an exception. Since the code mirror modes
62 // TODO: mikhail: this is an exception. Since the code mirror modes
63 // are loaded "on the fly", we need to keep them in a public folder
63 // are loaded "on the fly", we need to keep them in a public folder
64 '<%= dirs.js.dest %>/mode/meta.js',
64 '<%= dirs.js.dest %>/mode/meta.js',
65 '<%= dirs.js.dest %>/mode/meta_ext.js',
65 '<%= dirs.js.dest %>/mode/meta_ext.js',
66 '<%= dirs.js.dest %>/rhodecode/i18n/select2/translations.js',
66 '<%= dirs.js.dest %>/rhodecode/i18n/select2/translations.js',
67
67
68 // Rhodecode utilities
68 // Rhodecode utilities
69 '<%= dirs.js.src %>/rhodecode/utils/array.js',
69 '<%= dirs.js.src %>/rhodecode/utils/array.js',
70 '<%= dirs.js.src %>/rhodecode/utils/string.js',
70 '<%= dirs.js.src %>/rhodecode/utils/string.js',
71 '<%= dirs.js.src %>/rhodecode/utils/pyroutes.js',
71 '<%= dirs.js.src %>/rhodecode/utils/pyroutes.js',
72 '<%= dirs.js.src %>/rhodecode/utils/ajax.js',
72 '<%= dirs.js.src %>/rhodecode/utils/ajax.js',
73 '<%= dirs.js.src %>/rhodecode/utils/autocomplete.js',
73 '<%= dirs.js.src %>/rhodecode/utils/autocomplete.js',
74 '<%= dirs.js.src %>/rhodecode/utils/colorgenerator.js',
74 '<%= dirs.js.src %>/rhodecode/utils/colorgenerator.js',
75 '<%= dirs.js.src %>/rhodecode/utils/ie.js',
75 '<%= dirs.js.src %>/rhodecode/utils/ie.js',
76 '<%= dirs.js.src %>/rhodecode/utils/os.js',
76 '<%= dirs.js.src %>/rhodecode/utils/os.js',
77 '<%= dirs.js.src %>/rhodecode/utils/topics.js',
77 '<%= dirs.js.src %>/rhodecode/utils/topics.js',
78
78
79 // Rhodecode widgets
79 // Rhodecode widgets
80 '<%= dirs.js.src %>/rhodecode/widgets/multiselect.js',
80 '<%= dirs.js.src %>/rhodecode/widgets/multiselect.js',
81
81
82 // Rhodecode components
82 // Rhodecode components
83 '<%= dirs.js.src %>/rhodecode/init.js',
83 '<%= dirs.js.src %>/rhodecode/init.js',
84 '<%= dirs.js.src %>/rhodecode/connection_controller.js',
84 '<%= dirs.js.src %>/rhodecode/connection_controller.js',
85 '<%= dirs.js.src %>/rhodecode/codemirror.js',
85 '<%= dirs.js.src %>/rhodecode/codemirror.js',
86 '<%= dirs.js.src %>/rhodecode/comments.js',
86 '<%= dirs.js.src %>/rhodecode/comments.js',
87 '<%= dirs.js.src %>/rhodecode/constants.js',
87 '<%= dirs.js.src %>/rhodecode/constants.js',
88 '<%= dirs.js.src %>/rhodecode/files.js',
88 '<%= dirs.js.src %>/rhodecode/files.js',
89 '<%= dirs.js.src %>/rhodecode/followers.js',
89 '<%= dirs.js.src %>/rhodecode/followers.js',
90 '<%= dirs.js.src %>/rhodecode/menus.js',
90 '<%= dirs.js.src %>/rhodecode/menus.js',
91 '<%= dirs.js.src %>/rhodecode/notifications.js',
91 '<%= dirs.js.src %>/rhodecode/notifications.js',
92 '<%= dirs.js.src %>/rhodecode/permissions.js',
92 '<%= dirs.js.src %>/rhodecode/permissions.js',
93 '<%= dirs.js.src %>/rhodecode/pjax.js',
93 '<%= dirs.js.src %>/rhodecode/pjax.js',
94 '<%= dirs.js.src %>/rhodecode/pullrequests.js',
94 '<%= dirs.js.src %>/rhodecode/pullrequests.js',
95 '<%= dirs.js.src %>/rhodecode/settings.js',
95 '<%= dirs.js.src %>/rhodecode/settings.js',
96 '<%= dirs.js.src %>/rhodecode/select2_widgets.js',
96 '<%= dirs.js.src %>/rhodecode/select2_widgets.js',
97 '<%= dirs.js.src %>/rhodecode/tooltips.js',
97 '<%= dirs.js.src %>/rhodecode/tooltips.js',
98 '<%= dirs.js.src %>/rhodecode/users.js',
98 '<%= dirs.js.src %>/rhodecode/users.js',
99 '<%= dirs.js.src %>/rhodecode/utils/notifications.js',
99 '<%= dirs.js.src %>/rhodecode/utils/notifications.js',
100 '<%= dirs.js.src %>/rhodecode/appenlight.js',
100 '<%= dirs.js.src %>/rhodecode/appenlight.js',
101
101
102 // Rhodecode main module
102 // Rhodecode main module
103 '<%= dirs.js.src %>/rhodecode.js'
103 '<%= dirs.js.src %>/rhodecode.js'
104 ],
104 ],
105 dest: '<%= dirs.js.dest %>/scripts.js',
105 dest: '<%= dirs.js.dest %>/scripts.js',
106 nonull: true
106 nonull: true
107 }
107 }
108 },
108 },
109
109
110 less: {
110 less: {
111 development: {
111 development: {
112 options: {
112 options: {
113 compress: false,
113 compress: false,
114 yuicompress: false,
114 yuicompress: false,
115 optimization: 0
115 optimization: 0
116 },
116 },
117 files: {
117 files: {
118 "<%= 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"
119 "<%= dirs.css %>/style-polymer.css": "<%= dirs.css %>/polymer.less"
120 }
120 }
121 },
121 },
122 production: {
122 production: {
123 options: {
123 options: {
124 compress: true,
124 compress: true,
125 yuicompress: true,
125 yuicompress: true,
126 optimization: 2
126 optimization: 2
127 },
127 },
128 files: {
128 files: {
129 "<%= 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"
130 "<%= dirs.css %>/style-polymer.css": "<%= dirs.css %>/polymer.less"
131 }
131 }
132 },
133 components: {
134 files: [{
135 cwd: '<%= dirs.js.src %>/components/',
136 dest: '<%= dirs.js.src %>/components/',
137 src: ['**/*.less'],
138 expand: true,
139 ext: '.css'
140 }]
132 }
141 }
133 },
142 },
134
143
135 watch: {
144 watch: {
136 less: {
145 less: {
137 files: ["<%= dirs.css %>/*.less"],
146 files: ["<%= dirs.css %>/*.less"],
138 tasks: ["less:development", 'concat:polymercss', "vulcanize"]
147 tasks: ["less:development", 'less:components', 'concat:polymercss', "vulcanize"]
139 },
148 },
140 js: {
149 js: {
141 files: ["<%= dirs.js.src %>/**/*.js", "<%= dirs.js.src %>/components/*.*"],
150 files: ["<%= dirs.js.src %>/**/*.js", "<%= dirs.js.src %>/components/*.*"],
142 tasks: ["vulcanize", "concat:dist"]
151 tasks: ["vulcanize", "concat:dist"]
143 }
152 }
144 },
153 },
145
154
146 jshint: {
155 jshint: {
147 rhodecode: {
156 rhodecode: {
148 src: '<%= dirs.js.src %>/rhodecode/**/*.js',
157 src: '<%= dirs.js.src %>/rhodecode/**/*.js',
149 options: {
158 options: {
150 jshintrc: '.jshintrc'
159 jshintrc: '.jshintrc'
151 }
160 }
152 }
161 }
153 },
162 },
154 vulcanize: {
163 vulcanize: {
155 default: {
164 default: {
156 options: {
165 options: {
157 abspath: '',
166 abspath: '',
158 inlineScripts: true,
167 inlineScripts: true,
159 inlineCss: true,
168 inlineCss: true,
160 stripComments: true
169 stripComments: true
161 },
170 },
162 files: {
171 files: {
163 '<%= dirs.js.dest %>/rhodecode-components.html': '<%= dirs.js.src %>/components/shared-components.html'
172 '<%= dirs.js.dest %>/rhodecode-components.html': '<%= dirs.js.src %>/components/shared-components.html'
164 }
173 }
165 }
174 }
166 }
175 }
167 });
176 });
168
177
169 grunt.loadNpmTasks('grunt-contrib-less');
178 grunt.loadNpmTasks('grunt-contrib-less');
170 grunt.loadNpmTasks('grunt-contrib-concat');
179 grunt.loadNpmTasks('grunt-contrib-concat');
171 grunt.loadNpmTasks('grunt-contrib-watch');
180 grunt.loadNpmTasks('grunt-contrib-watch');
172 grunt.loadNpmTasks('grunt-contrib-jshint');
181 grunt.loadNpmTasks('grunt-contrib-jshint');
173 grunt.loadNpmTasks('grunt-vulcanize');
182 grunt.loadNpmTasks('grunt-vulcanize');
174 grunt.loadNpmTasks('grunt-crisper');
183 grunt.loadNpmTasks('grunt-crisper');
175 grunt.loadNpmTasks('grunt-contrib-copy');
184 grunt.loadNpmTasks('grunt-contrib-copy');
176
185
177 grunt.registerTask('default', ['less:production', 'concat:polymercss', 'copy','vulcanize', 'concat:dist']);
186 grunt.registerTask('default', ['less:production', 'less:components', 'concat:polymercss', 'copy','vulcanize', 'concat:dist']);
178 };
187 };
@@ -1,33 +1,15
1 //Primary CSS
1 //Primary CSS
2 //--- IMPORTS ------------------//
2 //--- IMPORTS ------------------//
3 @import 'helpers';
3 @import 'helpers';
4 @import 'mixins';
4 @import 'mixins';
5 @import 'rcicons';
5 @import 'rcicons';
6 @import 'fonts';
6 @import 'fonts';
7 @import 'variables';
7 @import 'variables';
8 @import 'legacy_code_styles';
8 @import 'legacy_code_styles';
9 @import 'type';
9 @import 'type';
10 @import 'alerts';
10 @import 'alerts';
11 @import 'buttons';
11 @import 'buttons';
12 @import 'tags';
12 @import 'tags';
13 @import 'examples';
13 @import 'examples';
14 @import 'login';
14 @import 'login';
15 @import 'comments';
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
@@ -1,79 +1,23
1 <link rel="import" href="../../../../../bower_components/paper-button/paper-button.html">
1 <link rel="import" href="../../../../../../bower_components/paper-button/paper-button.html">
2 <link rel="import" href="rhodecode-unsafe-html.html">
2 <link rel="import" href="../rhodecode-unsafe-html/rhodecode-unsafe-html.html">
3 <dom-module id="rhodecode-toast">
3 <dom-module id="rhodecode-toast">
4 <template>
4 <template>
5 <style include="shared-styles"></style>
5 <link rel="stylesheet" href="rhodecode-toast.css">
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
6
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>
7 <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">
8 <div class="toast-message-holder">
35 <template is="dom-repeat" items="{{toasts}}">
9 <template is="dom-repeat" items="{{toasts}}">
36 <div class="toast-notification">
10 <div class="toast-notification">
37 <span class$="toast-level {{item.level}}">{{item.level}}</span>
11 <span class$="toast-level {{item.level}}">{{item.level}}</span>
38 <rhodecode-unsafe-html text="{{item.message}}"></rhodecode-unsafe-html>
12 <rhodecode-unsafe-html text="{{item.message}}"></rhodecode-unsafe-html>
39 </div>
13 </div>
40 </template>
14 </template>
41 </div>
15 </div>
42 <div class="toast-close">
16 <div class="toast-close">
43 <paper-button on-tap="dismissNotifications" class="btn btn-info">{{_gettext('Close now')}}</paper-button>
17 <paper-button on-tap="dismissNotifications" class="btn btn-info">{{_gettext('Close now')}}</paper-button>
44 </div>
18 </div>
45 </paper-toast>
19 </paper-toast>
46 </template>
20 </template>
47
21
48 <script>
22 <script src="rhodecode-toast.js"></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>
23 </dom-module>
@@ -1,22 +1,9
1 <link rel="import" href="../../../../../bower_components/polymer/polymer.html">
1 <link rel="import" href="../../../../../../bower_components/polymer/polymer.html">
2
2
3 <dom-module id="rhodecode-unsafe-html">
3 <dom-module id="rhodecode-unsafe-html">
4 <template>
4 <template>
5 <style include="shared-styles"></style>
5 <style include="shared-styles"></style>
6 <content></content>
6 <content></content>
7 </template>
7 </template>
8 <script>
8 <script src="rhodecode-unsafe-html.js"></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>
9 </dom-module>
@@ -1,22 +1,12
1 <link rel="import" href="../../../../../bower_components/polymer/polymer.html">
1 Polymer({
2
2 is: 'rhodecode-unsafe-html',
3 <dom-module id="rhodecode-unsafe-html">
3 properties: {
4 <template>
4 text: {
5 <style include="shared-styles"></style>
5 type: String,
6 <content></content>
6 observer: '_handleText'
7 </template>
7 }
8 <script>
8 },
9 Polymer({
9 _handleText: function(newVal, oldVal){
10 is: 'rhodecode-unsafe-html',
10 this.innerHTML = this.text;
11 properties: {
11 }
12 text: {
12 })
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>
@@ -1,9 +1,9
1 <link rel="import" href="../../../../../bower_components/paper-toggle-button/paper-toggle-button.html">
1 <link rel="import" href="../../../../../bower_components/paper-toggle-button/paper-toggle-button.html">
2 <link rel="import" href="../../../../../bower_components/paper-toast/paper-toast.html">
2 <link rel="import" href="../../../../../bower_components/paper-toast/paper-toast.html">
3 <link rel="import" href="../../../../../bower_components/paper-tooltip/paper-tooltip.html">
3 <link rel="import" href="../../../../../bower_components/paper-tooltip/paper-tooltip.html">
4 <link rel="import" href="../../../../../bower_components/paper-button/paper-button.html">
4 <link rel="import" href="../../../../../bower_components/paper-button/paper-button.html">
5 <link rel="import" href="../../../../../bower_components/paper-spinner/paper-spinner.html">
5 <link rel="import" href="../../../../../bower_components/paper-spinner/paper-spinner.html">
6 <link rel="import" href="../../../../../bower_components/iron-ajax/iron-ajax.html">
6 <link rel="import" href="../../../../../bower_components/iron-ajax/iron-ajax.html">
7 <link rel="import" href="shared-styles.html">
7 <link rel="import" href="shared-styles.html">
8 <link rel="import" href="rhodecode-toast.html">
8 <link rel="import" href="rhodecode-toast/rhodecode-toast.html">
9 <link rel="import" href="rhodecode-unsafe-html.html">
9 <link rel="import" href="rhodecode-unsafe-html/rhodecode-unsafe-html.html">
General Comments 0
You need to be logged in to leave comments. Login now