diff options
Diffstat (limited to 'src/main/resources/META-INF/resources/designer/lib/index.js')
-rw-r--r-- | src/main/resources/META-INF/resources/designer/lib/index.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/main/resources/META-INF/resources/designer/lib/index.js b/src/main/resources/META-INF/resources/designer/lib/index.js new file mode 100644 index 000000000..0a66133f9 --- /dev/null +++ b/src/main/resources/META-INF/resources/designer/lib/index.js @@ -0,0 +1,52 @@ +$(function() { + var $wrapper = $('#wrapper'); + + // theme switcher + var theme_match = String(window.location).match(/[?&]theme=([a-z0-9]+)/); + var theme = (theme_match && theme_match[1]) || 'default'; + var themes = ['default','legacy','bootstrap2','bootstrap3']; + $('head').append('<link rel="stylesheet" href="css/selectize.' + theme + '.css">'); + + var $themes = $('<div>').addClass('theme-selector').insertAfter('h1'); + for (var i = 0; i < themes.length; i++) { + $themes.append('<a href="?theme=' + themes[i] + '"' + (themes[i] === theme ? ' class="active"' : '') + '>' + themes[i] + '</a>'); + } + + // display scripts on the page + $('script', $wrapper).each(function() + { + var code = this.text; + if (code && code.length) { + var lines = code.split('\n'); + var indent = null; + + for (var i = 0; i < lines.length; i++) { + if (/^[ ]*$/.test(lines[i])) continue; + if (!indent) { + var lineindent = lines[i].match(/^([ ]+)/); + if (!lineindent) break; + indent = lineindent[1]; + } + lines[i] = lines[i].replace(new RegExp('^' + indent), ''); + } + + var code = $.trim(lines.join('\n')).replace(/ /g, ' '); + var $pre = $('<pre>').addClass('js').text(code); + $pre.insertAfter(this); + } + }); + + // show current input values + $('select.selectized,input.selectized', $wrapper).each(function() + { + var $container = $('<div>').addClass('value').html('Current Value: '); + var $value = $('<span>').appendTo($container); + var $input = $(this); + var update = function(e) { $value.text(JSON.stringify($input.val())); } + + $(this).on('change', update); + update(); + + $container.insertAfter($input); + }); +});
\ No newline at end of file |