Sha256: afdd2f0d4597d063af3114e32a4e53895e217e5ff630fafb01ba7b6731559bf2
Contents?: true
Size: 1.68 KB
Versions: 1
Compression:
Stored size: 1.68 KB
Contents
// Block selector inputs $(document).on('turbolinks:load forest:block-slot-after-insert', function(e, blockSlot) { var $blockSelectors; if ( blockSlot ) { $blockSelectors = $(blockSlot).find('.form-group.block_selector'); } else { $blockSelectors = $('.form-group.block_selector'); } if ( !$blockSelectors.length ) return; var $blocks = $('.block-slot'); var titleize = function(str) { // Replace dashes with spaces str = str.replace(/-/g, ' '); // Capitalize the first letter of each word str = str.replace(/\w\S*/g, function(txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); }); return str; }; $blocks = $blocks.filter(function() { var $block = $(this); return $block.attr('id') && $block.attr('data-kind') != 'JumpLinkBlock'; }); $blockSelectors.each(function() { var $blockSelector = $(this); var $select = $blockSelector.find('select.block_selector'); var selectedValue = $select.attr('data-selected'); var optionArray = []; $blocks.each(function() { var $block = $(this); var blockID = $block.attr('id'); var blockName = titleize( blockID ); var option = new Option(blockName, blockID, false, false); optionArray.push(option); }); // Remove empty options from select $select.find('option').filter(function() { return !this.value || $.trim(this.value).length == 0 || $.trim(this.text).length == 0; }).remove(); for ( var i = 0; i < optionArray.length; i++ ) { $select.append( optionArray[i] ).trigger('change'); } if ( selectedValue ) { $select.val( selectedValue ); $select.trigger('change'); } }); });
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
forest_cms-0.98.1 | app/assets/javascripts/forest/admin/partials/block_selector_inputs.js |