diff options
| author | Marc Alexander <admin@m-a-styles.de> | 2013-12-07 13:32:19 +0100 |
|---|---|---|
| committer | Marc Alexander <admin@m-a-styles.de> | 2013-12-07 13:32:19 +0100 |
| commit | 47ea6bc9e61c71f6d54df848b6c61ace052d9e2a (patch) | |
| tree | 9a4181d1c3c2d045abc1575634480d2ab5b1a634 /phpBB/assets/javascript/core.js | |
| parent | f32a30eecacba212850a11b7b4740d0a69bd49de (diff) | |
| parent | 71169de8230812f2d05b87bfba42331e04663b81 (diff) | |
| download | forums-47ea6bc9e61c71f6d54df848b6c61ace052d9e2a.tar forums-47ea6bc9e61c71f6d54df848b6c61ace052d9e2a.tar.gz forums-47ea6bc9e61c71f6d54df848b6c61ace052d9e2a.tar.bz2 forums-47ea6bc9e61c71f6d54df848b6c61ace052d9e2a.tar.xz forums-47ea6bc9e61c71f6d54df848b6c61ace052d9e2a.zip | |
Merge branch 'develop' of https://github.com/phpbb/phpbb into ticket/11997
Conflicts:
tests/functional/fixtures/ext/foo/bar/config/services.yml
Diffstat (limited to 'phpBB/assets/javascript/core.js')
| -rw-r--r-- | phpBB/assets/javascript/core.js | 108 |
1 files changed, 105 insertions, 3 deletions
diff --git a/phpBB/assets/javascript/core.js b/phpBB/assets/javascript/core.js index a3a6d75dd2..5b8331bdce 100644 --- a/phpBB/assets/javascript/core.js +++ b/phpBB/assets/javascript/core.js @@ -15,6 +15,7 @@ var dark = $('#darkenwrapper'); var loadingIndicator = $('#loading_indicator'); var phpbbAlertTimer = null; +var isTouch = (window && typeof window.ontouchstart !== 'undefined'); /** * Display a loading screen @@ -335,7 +336,7 @@ phpbb.ajaxify = function(options) { $.ajax({ url: res.S_CONFIRM_ACTION, type: 'POST', - data: data + '&confirm=' + res.YES_VALUE, + data: data + '&confirm=' + res.YES_VALUE + '&' + $('#phpbb_confirm form').serialize(), success: returnHandler, error: errorHandler }); @@ -623,8 +624,9 @@ phpbb.resizeTextArea = function(items, options) { resetCallback: function(item) { } }; - if (arguments.length > 1) - { + if (isTouch) return; + + if (arguments.length > 1) { configuration = $.extend(configuration, options); } @@ -930,6 +932,14 @@ phpbb.toggleDropdown = function() { }; /** +* Toggle dropdown submenu +*/ +phpbb.toggleSubmenu = function(e) { + $(this).siblings('.dropdown-submenu').toggle(); + e.preventDefault(); +} + +/** * Register dropdown menu * Shows/hides dropdown, decides which side to open to * @@ -960,9 +970,97 @@ phpbb.registerDropdown = function(toggle, dropdown, options) toggle.data('dropdown-options', ops); toggle.click(phpbb.toggleDropdown); + $('.dropdown-toggle-submenu', ops.parent).click(phpbb.toggleSubmenu); }; /** +* Get the HTML for a color palette table. +* +* @param string dir Palette direction - either v or h +* @param int width Palette cell width. +* @param int height Palette cell height. +*/ +phpbb.colorPalette = function(dir, width, height) { + var r = 0, + g = 0, + b = 0, + numberList = new Array(6), + color = '', + html = ''; + + numberList[0] = '00'; + numberList[1] = '40'; + numberList[2] = '80'; + numberList[3] = 'BF'; + numberList[4] = 'FF'; + + html += '<table style="width: auto;">'; + + for (r = 0; r < 5; r++) { + if (dir == 'h') { + html += '<tr>'; + } + + for (g = 0; g < 5; g++) { + if (dir == 'v') { + html += '<tr>'; + } + + for (b = 0; b < 5; b++) { + color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]); + html += '<td style="background-color: #' + color + '; width: ' + width + 'px; height: ' + height + 'px;">'; + html += '<a href="#" data-color="' + color + '" style="display: block; width: ' + width + 'px; height: ' + height + 'px; " alt="#' + color + '" title="#' + color + '"></a>'; + html += '</td>'; + } + + if (dir == 'v') { + html += '</tr>'; + } + } + + if (dir == 'h') { + html += '</tr>'; + } + } + html += '</table>'; + return html; +} + +/** +* Register a color palette. +* +* @param object el jQuery object for the palette container. +*/ +phpbb.registerPalette = function(el) { + var orientation = el.attr('data-orientation'), + height = el.attr('data-height'), + width = el.attr('data-width'), + target = el.attr('data-target'), + bbcode = el.attr('data-bbcode'); + + // Insert the palette HTML into the container. + el.html(phpbb.colorPalette(orientation, width, height)); + + // Add toggle control. + $('#color_palette_toggle').click(function(e) { + el.toggle(); + e.preventDefault(); + }); + + // Attach event handler when a palette cell is clicked. + $(el).on('click', 'a', function(e) { + var color = $(this).attr('data-color'); + + if (bbcode) { + bbfontstyle('[color=#' + color + ']', '[/color]'); + } else { + $(target).val(color); + } + e.preventDefault(); + }); +} + +/** * Apply code editor to all textarea elements with data-bbcode attribute */ $(document).ready(function() { @@ -977,6 +1075,10 @@ $(document).ready(function() { $(phpbb.dropdownHandles).each(phpbb.toggleDropdown); } }); + + $('#color_palette_placeholder').each(function() { + phpbb.registerPalette($(this)); + }); }); })(jQuery); // Avoid conflicts with other libraries |
