Example #1
0
    /**
     * Add tinymce shortcode dialog
     * @since    1.2.0
     */
    public static function add_tiny_mce_shortcode_dialog()
    {
        $base = new Essential_Grid_Base();
        $grid_c = new Essential_Grid();
        $skins_c = new Essential_Grid_Item_Skin();
        $grids = Essential_Grid::get_grids_short_vc();
        ?>
		<div id="ess-grid-tiny-mce-dialog" tabindex="-1" action="" class="essential-dialog-wrap" title="<?php 
        _e('Shortcode Generator', EG_TEXTDOMAIN);
        ?>
" style="display: none; ">
			<script type="text/javascript">
				var token = '<?php 
        echo wp_create_nonce("Essential_Grid_actions");
        ?>
';
			</script>
			<form id="ess-grid-tiny-mce-settings-form" action="">
			
				<!-- STEP 1 -->
				<div id="ess-grid-tiny-dialog-step-1">
					<div class="ess-top_half">
						<p class="ess-quicktitle"><?php 
        _e('Choose Predefined Grid:', EG_TEXTDOMAIN);
        ?>
</p>
						<select name="ess-grid-existing-grid">
							<option value="-1"><?php 
        _e('--- Choose Grid ---', EG_TEXTDOMAIN);
        ?>
</option>
							<?php 
        if (!empty($grids)) {
            foreach ($grids as $title => $alias) {
                echo '<option value="' . $alias . '">' . $title . '</option>' . "\n";
            }
        }
        ?>
						</select>
						<div style="margin-top:20px">
							<a href="javascript:void(0);" class="button-primary ess-revgreen" id="eg-add-predefined-grid"><?php 
        _e('Add Selected Grid', EG_TEXTDOMAIN);
        ?>
</a>
							<a href="<?php 
        echo Essential_Grid_Base::getViewUrl(Essential_Grid_Admin::VIEW_GRID_CREATE, 'create=true');
        ?>
" target="_blank" class="button-primary ess-revgreen" id="eg-create-predefined-grid"><?php 
        _e('Create Full Grid', EG_TEXTDOMAIN);
        ?>
</a>
						</div>
					</div>
					<div class="ess-bottom_half">
						<p class="ess-quicktitle"><?php 
        _e('Create a Quick Grid:', EG_TEXTDOMAIN);
        ?>
</p>
						<a href="javascript:void(0);" class="" id="eg-create-custom-grid">
							<div class="ess-customgridwrap">
								<div class="dashicons dashicons-format-gallery ess-customgridicon"></div>
								<div class="ess-customonbutton"><?php 
        _e('Add Custom', EG_TEXTDOMAIN);
        ?>
</div>
							</div>
						</a>
						
						<a href="javascript:void(0);" class="" id="eg-edit-custom-grid">
							<div class="ess-customgridwrap">
								<div class="dashicons dashicons-format-gallery ess-customgridicon"></div>
								<div class="ess-customonbutton"><?php 
        _e('Edit Custom', EG_TEXTDOMAIN);
        ?>
</div>
							</div>
						</a>
						
						
						<a href="javascript:void(0);" class="" id="eg-create-popularpost-grid">
							<div class="ess-customgridwrap">
								<div class="dashicons dashicons-groups ess-customgridicon"></div>
								<div class="ess-customonbutton"><?php 
        _e('Popular Post', EG_TEXTDOMAIN);
        ?>
</div>
							</div>
						</a>


						<a href="javascript:void(0);" class="" id="eg-create-recentpost-grid">
							<div class="ess-customgridwrap">
								<div class="dashicons dashicons-calendar ess-customgridicon"></div>
								<div class="ess-customonbutton"><?php 
        _e('Recent Post', EG_TEXTDOMAIN);
        ?>
</div>
							</div>
						</a>
						
						<a href="javascript:void(0);" class="" id="eg-create-relatedpost-grid">
							<div class="ess-customgridwrap">
								<div class="dashicons dashicons-tickets ess-customgridicon"></div>
								<div class="ess-customonbutton"><?php 
        _e('Related Post', EG_TEXTDOMAIN);
        ?>
</div>
							</div>
						</a>
						
					</div>
					
					<div class="ess-stepnavigator">
						<span class="ess-currentstep"><?php 
        _e('STEP 1 - Choose Grid', EG_TEXTDOMAIN);
        ?>
</span>
					</div>
				</div>
				
				<!-- STEP 2.5 -->
				<div id="ess-grid-tiny-dialog-step-2-5" style="display: none;">
					<div id="esg-tiny-shortcode-analyze-wrap" class="ess-top_half" style="padding-top:0px;margin-top:0px;padding-bottom:30px;">
						<div class="ess-quicktitle" style="margin-left:25px;"><?php 
        _e('Edit Existing QuickGrid ShortCode', EG_TEXTDOMAIN);
        ?>
</div>
						<p>
							<label><?php 
        _e('Input Quickgrid Code', EG_TEXTDOMAIN);
        ?>
</label>
							<input type="text" name="eg-shortcode-analyzer" value="" /> <a class="button-primary revblue" href="javascript:void(0);" id="eg-shortcode-do-analyze"><?php 
        _e('Analyze Shortcode', EG_TEXTDOMAIN);
        ?>
</a>
						</p>
						<p style="line-height:20px;font-size:11px;font-style:italic;color:#999;"><?php 
        _e('You can paste your Existing Quick Grid Shortcode here for further editing. Simple copy the full Shortcode of Essential grid i.e. [ess_grid settings=....][/ess_grid] and paste it here.', EG_TEXTDOMAIN);
        ?>
					</div>
					<div style="width:100%;height:30px"></div>
					<div class="ess-stepnavigator">
						<a href="javascript:void(0);" class=""  id="eg-goto-step-1-5">
							<div class="ess-stepbutton-left">
								<div class="dashicons dashicons-arrow-left-alt2"></div>	
								<span class="ess-currentstep"><?php 
        _e('STEP 1 - Select Grid', EG_TEXTDOMAIN);
        ?>
</span>										
							</div>
						</a>
					</div>
				</div>
				
				<!-- STEP 2 -->
				<div id="ess-grid-tiny-dialog-step-2" style="display: none;">
					<div id="esg-tiny-settings-wrap">
						<div class="ess-top_half" style="padding:0px 0px 30px;">
							<div class="ess-quicktitle" style="margin-left:25px;"><?php 
        _e('Predefined Grid Settings', EG_TEXTDOMAIN);
        ?>
</div>
							
							<p style="">
								<label><?php 
        _e('Choose Grid', EG_TEXTDOMAIN);
        ?>
</label>
								<select name="ess-grid-tiny-existing-settings">
									<option value="-1"><?php 
        _e('--- Choose Grid to use Settings from Grid ---', EG_TEXTDOMAIN);
        ?>
</option>
									<?php 
        if (!empty($grids)) {
            foreach ($grids as $title => $alias) {
                echo '<option value="' . $alias . '">' . $title . '</option>' . "\n";
            }
        }
        ?>
								</select>
								<p style="line-height:20px;font-size:11px;font-style:italic;color:#999;"><?php 
        _e('Use the Grid Settings from one of the Existing Essential Grid. This helps to use all Complex settings of a Grid, not just the quick settings listed below.', EG_TEXTDOMAIN);
        ?>
							</p>
						</div>
						<div class="ess-bottom_half" style="padding:30px 0px 0px;">
							<div class="ess-quicktitle" style="margin-left:25px;"><?php 
        _e('Quick Grid Settings', EG_TEXTDOMAIN);
        ?>
</div>
							
							<p class="esg-max-entries" style="display: none; background:#FFF;">
								<label><?php 
        _e('Maximum Entries', EG_TEXTDOMAIN);
        ?>
</label>
								<input type="text" name="ess-grid-tiny-max-entries" value="20" />
							</p>
							<div id="ess-grid-tiny-grid-settings-wrap">
		
								<p>
									<label><?php 
        _e('Grid Skin', EG_TEXTDOMAIN);
        ?>
</label>
									<select name="ess-grid-tiny-entry-skin">
										<?php 
        $skins = Essential_Grid_Item_Skin::get_essential_item_skins('all', false);
        if (!empty($skins)) {
            foreach ($skins as $skin) {
                echo '<option value="' . $skin['id'] . '">' . $skin['name'] . '</option>' . "\n";
            }
        }
        ?>
									</select>
								</p>
								<p>
									<label><?php 
        _e('Layout', EG_TEXTDOMAIN);
        ?>
</label>
									<select name="ess-grid-tiny-layout-sizing">
										<option value="boxed"><?php 
        _e('Boxed', EG_TEXTDOMAIN);
        ?>
</option>
										<option value="fullwidth"><?php 
        _e('Fullwidth', EG_TEXTDOMAIN);
        ?>
</option>
									</select>
								</p>
								<p>
									<label><?php 
        _e('Grid Layout', EG_TEXTDOMAIN);
        ?>
</label>
									<select name="ess-grid-tiny-grid-layout">
										<option value="even"><?php 
        _e('Even', EG_TEXTDOMAIN);
        ?>
</option>
										<option value="masonry"><?php 
        _e('Masonry', EG_TEXTDOMAIN);
        ?>
</option>
										<option value="cobbles"><?php 
        _e('Cobbles', EG_TEXTDOMAIN);
        ?>
</option>
									</select>
								</p>
								<p>
									<label><?php 
        _e('Item Spacing', EG_TEXTDOMAIN);
        ?>
</label>
									<input type="text" name="ess-grid-tiny-spacings" value="0" />
								</p>
								<p>
									<label><?php 
        _e('Pagination', EG_TEXTDOMAIN);
        ?>
</label>
									<input type="radio" style="margin-left:0px !important;" name="ess-grid-tiny-rows-unlimited" value="on" /> <?php 
        _e('Disable', EG_TEXTDOMAIN);
        ?>
 
									<input type="radio" name="ess-grid-tiny-rows-unlimited" checked="checked" value="off" /> <?php 
        _e('Enable', EG_TEXTDOMAIN);
        ?>
 
								</p>
								<p>
									<label><?php 
        _e('Columns', EG_TEXTDOMAIN);
        ?>
</label>
									<input type="text" name="ess-grid-tiny-columns" value="5" />
								</p>
								<p>
									<label><?php 
        _e('Max. Visible Rows', EG_TEXTDOMAIN);
        ?>
</label>
									<input type="text" name="ess-grid-tiny-rows" value="3" />
								</p>
								<p>
									<label><?php 
        _e('Start and Filter Animations', EG_TEXTDOMAIN);
        ?>
</label>
									<?php 
        $anims = Essential_Grid_Base::get_grid_animations();
        ?>
									<select class="eg-tooltip-wrap tooltipstered" name="ess-grid-tiny-grid-animation" id="grid-animation-select">
										<?php 
        foreach ($anims as $value => $name) {
            echo '<option value="' . $value . '">' . $name . '</option>' . "\n";
        }
        ?>
									</select>
								</p>
								<p>
									<label><?php 
        _e('Choose Spinner', EG_TEXTDOMAIN);
        ?>
</label>
									<select class="eg-tooltip-wrap tooltipstered" name="ess-grid-tiny-use-spinner" id="use_spinner">
										<option value="-1"><?php 
        _e('off', EG_TEXTDOMAIN);
        ?>
</option>
										<option value="0" selected="selected">0</option>
										<option value="1">1</option>
										<option value="2">2</option>
										<option value="3">3</option>
										<option value="4">4</option>
										<option value="5">5</option>
									</select>
								</p>
							</div>
						</div>
					</div>
					<!--<a href="javascript:void(0);" class="button-primary ess-revgreen"  id="eg-goto-step-3"><?php 
        _e('Add Entries', EG_TEXTDOMAIN);
        ?>
</a>-->
					<div style="width:100%;height:30px"></div>
					<div class="ess-stepnavigator">
						<a href="javascript:void(0);" class=""  id="eg-goto-step-1">
							<div class="ess-stepbutton-left">
								<div class="dashicons dashicons-arrow-left-alt2"></div>	
								<span class="ess-currentstep"><?php 
        _e('STEP 1 - Select Grid', EG_TEXTDOMAIN);
        ?>
</span>										
							</div>
						</a>

						<a href="javascript:void(0);" class=""  id="eg-goto-step-3">
							<div class="ess-stepbutton-right">
								<span class="ess-currentstep"><?php 
        _e('STEP 3 - Add Items', EG_TEXTDOMAIN);
        ?>
</span>										
								<div class="dashicons dashicons-arrow-right-alt2"></div>									
							</div>
						</a>

						<a href="javascript:void(0);" class=""  id="ess-grid-add-custom-shortcode-special" style="display: none;">
							<div class="ess-stepbutton-right">
								<span class="ess-currentstep"><?php 
        _e('FINNISH - Generate Shortcode', EG_TEXTDOMAIN);
        ?>
</span>										
								<div class="dashicons dashicons-arrow-right-alt2"></div>									
							</div>
						</a>
					</div>
				</div>
			</form>
			<form id="ess-grid-tiny-mce-layers-form" action="">
			
				<!-- STEP 3 -->
				<div id="ess-grid-tiny-dialog-step-3" style="display: none;">
					<div style="padding:30px">
						<div class="ess-mediaselector"><a href="javascript:void(0);" class="eg-add-custom-element" data-type="image"><div class="dashicons dashicons-format-image"></div><?php 
        _e('Image', EG_TEXTDOMAIN);
        ?>
</a></div>
						<div class="ess-mediaselector"><a href="javascript:void(0);" class="eg-add-custom-element" data-type="html5"><div class="dashicons dashicons-editor-video"></div><?php 
        _e('HTML5 Video', EG_TEXTDOMAIN);
        ?>
</a></div>
						<div class="ess-mediaselector"><a href="javascript:void(0);" class="eg-add-custom-element" data-type="vimeo"><div class="dashicons dashicons-format-video"></div><?php 
        _e('Vimeo', EG_TEXTDOMAIN);
        ?>
</a></div>
						<div class="ess-mediaselector"><a href="javascript:void(0);" class="eg-add-custom-element" data-type="youtube"><div class="dashicons dashicons-format-video"></div><?php 
        _e('YouTube', EG_TEXTDOMAIN);
        ?>
</a></div>
						<div class="ess-mediaselector"><a href="javascript:void(0);" class="eg-add-custom-element" data-type="soundcloud"><div class="dashicons dashicons-format-audio"></div><?php 
        _e('SoundCloud', EG_TEXTDOMAIN);
        ?>
</a></div>
						<div class="ess-mediaselector collapseall"><a href="javascript:void(0);"><div class="dashicons dashicons-sort"></div><?php 
        _e('Collapse', EG_TEXTDOMAIN);
        ?>
</a></div>						
						<div id="eg-custom-elements-wrap">
							
						</div>
					</div>
					
					<div style="width:100%;height:30px"></div>
					<div class="ess-stepnavigator">
						<a href="javascript:void(0);" class=""  id="eg-goto-step-2">
							<div class="ess-stepbutton-left">
								<div class="dashicons dashicons-arrow-left-alt2"></div>	
								<span class="ess-currentstep"><?php 
        _e('STEP 2 - Grid Settings', EG_TEXTDOMAIN);
        ?>
</span>										
							</div>
						</a>
						<a href="javascript:void(0);" class="" id="ess-grid-add-custom-shortcode">
							<div class="ess-stepbutton-right">
								<span class="ess-currentstep"><?php 
        _e('FINNISH - Generate Shortcode', EG_TEXTDOMAIN);
        ?>
</span>										
								<div class="dashicons dashicons-arrow-right-alt2"></div>									
							</div>
						</a>
					</div>

				</div>
			</form>
			<div class="esg-tiny-template-wrap esg-tiny-element" style="display: none;">
				<div class="ess-grid-tiny-collapse-wrapper">
						<div style="width:100%;height:10px;"></div>
						<div class="ess-grid-tiny-custom-wrapper" >
							<!-- POSTER  IMAGE -->
							<div id="ess-grid-tiny-custom-poster-wrap" class="ess-grid-tiny-option-wrap" style="display: none;">
								<div class="ess-quicktitle"><?php 
        _e('Choose Poster Image', EG_TEXTDOMAIN);
        ?>
</div>
								<div class="esg-tiny-img-placeholder"><img src="" class="esg-tiny-preshow-img" style="display: none;" /></div>
								<a href="javascript:void(0);" class="esg-toolbutton ess-grid-select-image" data-setto="ess-grid-tiny-custom-poster[]"><div class="dashicons dashicons-plus"></div></a>
								<input type="hidden" name="ess-grid-tiny-custom-poster[]" data-type="image" value="" />
							</div>
							<!-- SIMPLE IMAGE -->
							<div id="ess-grid-tiny-custom-image-wrap" class="ess-grid-tiny-option-wrap" style="display: none;">
								<div class="ess-quicktitle"><?php 
        _e('Choose Image', EG_TEXTDOMAIN);
        ?>
</div>
								<div class="esg-tiny-img-placeholder"><img src="" class="esg-tiny-preshow-img" style="display: none;" /></div>
								<a href="javascript:void(0);" class="esg-toolbutton ess-grid-select-image" data-setto="ess-grid-tiny-custom-image[]"><div class="dashicons dashicons-plus"></div></a>
								<input type="hidden" name="ess-grid-tiny-custom-image[]" data-type="image" value="" />
							</div>
							<!-- VIMEO ID SELECTOR -->
							<div id="ess-grid-tiny-custom-vimeo-wrap" class="ess-grid-tiny-option-wrap" style="display: none;">
								<div class="ess-grid-tiny-elset-label"><?php 
        _e('Vimeo ID', EG_TEXTDOMAIN);
        ?>
 </div><input type="text" name="ess-grid-tiny-custom-vimeo[]" value="" />
							</div>
							<!-- YOUTUBE ID SELECTOR -->
							<div id="ess-grid-tiny-custom-youtube-wrap" class="ess-grid-tiny-option-wrap" style="display: none;">
								<div class="ess-grid-tiny-elset-label"><?php 
        _e('YouTube ID', EG_TEXTDOMAIN);
        ?>
 </div><input type="text" name="ess-grid-tiny-custom-youtube[]" value="" />
							</div>
							<!-- SOUND CLOUD SELECTOR -->
							<div id="ess-grid-tiny-custom-soundcloud-wrap" class="ess-grid-tiny-option-wrap" style="display: none;">
								<div class="ess-quicktitle"><?php 
        _e('SoundCloud', EG_TEXTDOMAIN);
        ?>
</div>
								<div class="ess-grid-tiny-elset-label"><?php 
        _e('SoundCloud ID', EG_TEXTDOMAIN);
        ?>
</div> <input type="text" name="ess-grid-tiny-custom-soundcloud[]" value="" />
							</div>
							<!-- HTML5 SELECTORS -->
							<div id="ess-grid-tiny-custom-html5-wrap" class="ess-grid-tiny-option-wrap" style="display: none;">
								<div class="ess-grid-tiny-elset-label"><?php 
        _e('WEBM URL', EG_TEXTDOMAIN);
        ?>
</div> <input type="text" name="ess-grid-tiny-custom-html5-webm[]" value="" />
								<div class="ess-grid-tiny-elset-label"><?php 
        _e('OGV URL', EG_TEXTDOMAIN);
        ?>
</div> <input type="text" name="ess-grid-tiny-custom-html5-ogv[]" value="" />
								<div class="ess-grid-tiny-elset-label"><?php 
        _e('MP4 URL', EG_TEXTDOMAIN);
        ?>
</div> <input type="text" name="ess-grid-tiny-custom-html5-mp4[]" value="" />
							</div>
							<!-- VIDEO RATIO -->
							<div id="ess-grid-tiny-custom-ratio-wrap" class="ess-grid-tiny-option-wrap" style="display: none;">
								<div class="ess-grid-tiny-elset-label"><?php 
        _e('Video Ratio', EG_TEXTDOMAIN);
        ?>
 </div>
								<select name="ess-grid-tiny-custom-ratio[]">
									<option value="0" selected="selected">4:3</option>
									<option value="1">16:9</option>
								</select>
							</div>
							<!-- COBBLES SETTINGS -->
							<div class="ess-grid-tiny-cobbles-size-wrap ess-grid-tiny-option-wrap" style="display: none;">
								<div class="ess-grid-tiny-elset-label"><?php 
        _e('Cobbles Size', EG_TEXTDOMAIN);
        ?>
 </div>
								<select name="ess-grid-tiny-cobbles-size[]">
									<option value="1:1"><?php 
        _e('width 1, height 1', EG_TEXTDOMAIN);
        ?>
</option>
									<option value="1:2"><?php 
        _e('width 1, height 2', EG_TEXTDOMAIN);
        ?>
</option>
									<option value="1:3"><?php 
        _e('width 1, height 3', EG_TEXTDOMAIN);
        ?>
</option>
									<option value="2:1"><?php 
        _e('width 2, height 1', EG_TEXTDOMAIN);
        ?>
</option>
									<option value="2:2"><?php 
        _e('width 2, height 2', EG_TEXTDOMAIN);
        ?>
</option>
									<option value="2:3"><?php 
        _e('width 2, height 3', EG_TEXTDOMAIN);
        ?>
</option>
									<option value="3:1"><?php 
        _e('width 3, height 1', EG_TEXTDOMAIN);
        ?>
</option>
									<option value="3:2"><?php 
        _e('width 3, height 2', EG_TEXTDOMAIN);
        ?>
</option>
									<option value="3:3"><?php 
        _e('width 3, height 3', EG_TEXTDOMAIN);
        ?>
</option>
								</select>
							</div>
							<!-- CUSTOM SKIN SETTINGS -->
							<div class="ess-grid-tiny-use-skin-wrap ess-grid-tiny-option-wrap">
								<div class="ess-grid-tiny-elset-label"><?php 
        _e('Specific Skin', EG_TEXTDOMAIN);
        ?>
 </div>
								<?php 
        $skins = Essential_Grid_Item_Skin::get_essential_item_skins('all', false);
        ?>
								<select name="ess-grid-tiny-use-skin[]">
									<option value="-1"><?php 
        _e('-- Default Skin --', EG_TEXTDOMAIN);
        ?>
</option>
									<?php 
        if (!empty($skins)) {
            foreach ($skins as $skin) {
                echo '<option value="' . $skin['id'] . '">' . $skin['name'] . '</option>' . "\n";
            }
        }
        ?>
								</select>
							</div>
						</div>
						
						<div class="ess-grid-tiny-custom-wrapper" >
							<?php 
        /*$meta = new Essential_Grid_Meta();
        		$custom_meta = $meta->get_all_meta(false);
        		if(!empty($custom_meta)){
        			echo '<div class="ess-grid-tiny-elset-title">';				
        			_e('Layers Content', EG_TEXTDOMAIN);
        			echo '</div>';
        		
        			foreach($custom_meta as $cmeta){
        				?>
        				<div class="ess-grid-tiny-<?php echo $cmeta['handle']; ?>-wrap ess-grid-tiny-elset-row" style="display: none;"><div class="eg-elset-label" class="eg-mb-label"><?php echo $cmeta['name']; ?>:</div>
        					<?php
        					switch($cmeta['type']){
        						case 'text':
        							echo '<input type="text" name="ess-grid-tiny-'.$cmeta['handle'].'[]" value="" />';
        							break;
        						case 'select':
        							$el = $meta->prepare_select_by_string($cmeta['select']);
        							echo '<select name="ess-grid-tiny-'.$cmeta['handle'].'[]">';
        							if(!empty($el) && is_array($el)){
        								echo '<option value="">'.__('---', EG_TEXTDOMAIN).'</option>';
        								foreach($el as $ele){
        									
        									echo '<option value="'.$ele.'">'.$ele.'</option>';
        								}
        							}
        							echo '</select>';
        							break;
        						case 'image':
        							$var_src = '';
        							?>
        							<input type="hidden" value="" name="ess-grid-tiny-<?php echo $cmeta['handle']; ?>[]" id="ess-grid-tiny-<?php echo $cmeta['handle']; ?>" />
        							<a class="button-primary revblue eg-image-add" href="javascript:void(0);" data-setto="eg-<?php echo $cmeta['handle']; ?>"><?php _e('Choose Image', EG_TEXTDOMAIN); ?></a>
        							<a class="button-primary revred eg-image-clear" href="javascript:void(0);" data-setto="eg-<?php echo $cmeta['handle']; ?>"><?php _e('Remove Image', EG_TEXTDOMAIN); ?></a>
        							<div>
        								<img id="ess-grid-tiny-<?php echo $cmeta['handle']; ?>-img" src="<?php echo $var_src; ?>" <?php echo ($var_src == '') ? 'style="max-width:200px; display: none;margin:20px 0px 0px 250px;"' : ''; ?>>
        							</div>
        							<?php
        							break;
        					}
        					?>
        				</div>
        				<?php
        			}
        		}else{
        			_e('No metas available yet. Add some through the Custom Meta menu of Essential Grid.', EG_TEXTDOMAIN);
        			?><div style="clear:both; height:20px"></div><?php 			
        		}*/
        $elements = Essential_Grid_Item_Element::getElementsForDropdown();
        $p_lang = array('post' => __('Post', EG_TEXTDOMAIN), 'woocommerce' => __('WooCommerce', EG_TEXTDOMAIN));
        foreach ($elements as $type => $element) {
            ?>
								<!--<div class="ess-grid-tiny-elset-title">
									<?php 
            echo $p_lang[$type];
            ?>
								</div>-->
								<?php 
            foreach ($element as $handle => $name) {
                echo '<div class="ess-grid-tiny-' . $handle . '-wrap ess-grid-tiny-elset-row" style="display: none;"><div class="ess-grid-tiny-elset-label"  for="' . $handle . '">' . $name['name'] . ':</div><input name="ess-grid-tiny-' . $handle . '[]" value="" /></div>';
            }
        }
        ?>
						</div>
						<div style="clear:both"></div>
						<div style="width:100%;height:30px;"></div>						
				</div>
				
				<div class="ess-grid-tiny-custom-pictogram"><div class="dashicons dashicons-format-image"></div></div>
				<div class="esg-toolbutton esg-delete-item">
					<a href="javascript:void(0);" class="esg-tiny-delete-entry"><div class="dashicons dashicons-trash"></div></a>
				</div>
				<div class="esg-toolbutton esg-collapsme-item">
					<a href="javascript:void(0);" class="esg-tiny-collapsme-entry"><div class="dashicons dashicons-sort"></div></a>
				</div>
				<img class="esg-toolbarimg" src="">

			</div>
			<script type="text/javascript">
				<?php 
        $skin_layers = array();
        $all_skins = $skins_c->get_essential_item_skins();
        if (!empty($all_skins)) {
            foreach ($all_skins as $cskin) {
                $custom_layer_elements = array();
                if (isset($cskin['layers'])) {
                    foreach ($cskin['layers'] as $layer) {
                        if (@isset($layer['settings']['source'])) {
                            switch ($layer['settings']['source']) {
                                case 'post':
                                    $custom_layer_elements[@$layer['settings']['source-post']] = '';
                                    break;
                                case 'woocommerce':
                                    $custom_layer_elements[@$layer['settings']['source-woocommerce']] = '';
                                    break;
                            }
                        }
                    }
                }
                $skin_layers[$cskin['id']] = $custom_layer_elements;
            }
        }
        ?>
				
				var esg_tiny_skin_layers = jQuery.parseJSON(<?php 
        echo $base->jsonEncodeForClientSide($skin_layers);
        ?>
);
				
				
				// KRIKI SCRIPT 
				var esgCustomCollapser = function(bt,direction) {
					var	cp =  bt.closest('.esg-tiny-element'),
						cpitem = cp.find('.ess-grid-tiny-collapse-wrapper'),
						timg = cp.find('.esg-toolbarimg'),
						pimg = cp.find('.esg-tiny-preshow-img');
						
					if ((direction=="auto" && cpitem.hasClass("collapsed")) || direction=="open") {
					   cpitem.slideDown(200);
					   cpitem.removeClass("collapsed");
					   bt.removeClass("collapsed");
					   timg.removeClass("collapsed");
				   } else {
					   cpitem.slideUp(200);					   
					   cpitem.addClass("collapsed");
					   bt.addClass("collapsed");	
					   timg.addClass("collapsed");
					   jQuery.each(pimg,function(index,pimge) {
							if (jQuery(pimge).attr('src') !=undefined && jQuery(pimge).attr('src').length>0)
									timg.attr('src',jQuery(pimge).attr('src'));						   
					   })
					}
				}
				
				jQuery('body').on('click','.esg-toolbutton.esg-collapsme-item',function() {
					esgCustomCollapser(jQuery(this),"auto");
				});
				
					
				jQuery('.ess-mediaselector.collapseall').click(function() {
					var ca = jQuery(this);
					if (ca.hasClass("collapsed")) {
						jQuery('.esg-toolbutton.esg-collapsme-item').each(function() {
							esgCustomCollapser(jQuery(this),"open");
						})
						ca.removeClass("collapsed");
					} else {
						jQuery('.esg-toolbutton.esg-collapsme-item').each(function() {
							esgCustomCollapser(jQuery(this),"close");
						})
					
						ca.addClass("collapsed");						
					}				
				})

			</script>
		</div>
		<?php 
    }
 public static function add_to_VC()
 {
     $essential_grids_arr = Essential_Grid::get_grids_short_vc();
     wp_enqueue_script('essential-grid-admin-script', plugins_url('assets/js/admin.js', __FILE__), array('jquery'), Essential_Grid::VERSION);
     wp_enqueue_script('wpdialogs', 'jquery-ui-sortable', 'jquery-ui-dialog');
     wp_enqueue_style('wp-jquery-ui-dialog');
     vc_map(array('name' => __('Essential Grid', EG_TEXTDOMAIN), 'base' => 'ess_grid', 'icon' => 'icon-wpb-ess-grid', 'category' => __('Content', EG_TEXTDOMAIN), 'admin_enqueue_js' => array(EG_PLUGIN_URL . '/admin/assets/js/tinymce-shortcode-script.js'), 'params' => array(array('type' => 'ess_grid_shortcode', 'heading' => __('Alias', EG_TEXTDOMAIN), 'param_name' => 'alias', 'admin_label' => true, 'value' => ''), array('type' => 'ess_grid_shortcode', 'heading' => __('Settings', EG_TEXTDOMAIN), 'param_name' => 'settings', 'admin_label' => true, 'value' => ''), array('type' => 'ess_grid_shortcode', 'heading' => __('Layers', EG_TEXTDOMAIN), 'param_name' => 'layers', 'admin_label' => true, 'value' => ''), array('type' => 'ess_grid_shortcode', 'heading' => __('Special', EG_TEXTDOMAIN), 'param_name' => 'special', 'admin_label' => true, 'value' => ''))));
     add_shortcode_param('ess_grid_shortcode', array('Essential_Grid_Admin', 'ess_grid_shortcode_settings_field'), EG_PLUGIN_URL . '/admin/assets/js/vc.js');
     //, EG_PLUGIN_URL.'/admin/assets/js/tinymce-shortcode-script.js')
 }
 public static function add_to_VC()
 {
     $essential_grids_arr = Essential_Grid::get_grids_short_vc();
     wp_enqueue_script('essential-grid-admin-script', plugins_url('assets/js/admin.js', __FILE__), array('jquery'), Essential_Grid::VERSION);
     wp_enqueue_script('wpdialogs', 'jquery-ui-sortable', 'jquery-ui-dialog');
     wp_enqueue_style('wp-jquery-ui-dialog');
     vc_map(array('name' => __('Essential Grid', EG_TEXTDOMAIN), 'base' => 'ess_grid', 'icon' => 'icon-wpb-ess-grid', 'category' => __('Content', EG_TEXTDOMAIN), 'show_settings_on_create' => false, 'js_view' => 'VcEssentialGrid', 'admin_enqueue_js' => EG_PLUGIN_URL . '/admin/assets/js/vc.js', 'front_enqueue_js' => EG_PLUGIN_URL . '/admin/assets/js/vc.js', 'params' => array(array('type' => 'ess_grid_shortcode', 'heading' => __('Alias', EG_TEXTDOMAIN), 'param_name' => 'alias', 'admin_label' => true, 'value' => ''), array('type' => 'ess_grid_shortcode', 'heading' => __('Settings', EG_TEXTDOMAIN), 'param_name' => 'settings', 'admin_label' => true, 'value' => ''), array('type' => 'ess_grid_shortcode', 'heading' => __('Layers', EG_TEXTDOMAIN), 'param_name' => 'layers', 'admin_label' => true, 'value' => ''), array('type' => 'ess_grid_shortcode', 'heading' => __('Special', EG_TEXTDOMAIN), 'param_name' => 'special', 'admin_label' => true, 'value' => ''))));
     if (version_compare(WPB_VC_VERSION, '4.4', '>=')) {
         //use if 4.4 or newer
         vc_add_shortcode_param('ess_grid_shortcode', array('Essential_Grid_Admin', 'ess_grid_shortcode_settings_field'));
     } else {
         //use if older than 4.4
         add_shortcode_param('ess_grid_shortcode', array('Essential_Grid_Admin', 'ess_grid_shortcode_settings_field'));
     }
 }