Subversion Repositories SmartDukaan

Rev

Rev 2748 | Rev 3928 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

## This velocity file will generate all slides for a given entity. It will get just {$expentity}  from java and generate the content.
#set( $expslides = $expentity.getExpandedSlides() )
#set($entityid = $expentity.getID())
#set($urlpart1 = "http://static")
#set($urlpart2 = "." + $domain)
#set($staticnum = $entityid%3)
#set($defaulturl = $urlpart1 + $staticnum + $urlpart2)
#set($staticnum = $staticnum+1)
#set($staticnum = $staticnum%3)
#set($skinurl = $urlpart1 + $staticnum + $urlpart2)
#set($staticnum = $staticnum+1)
#set($staticnum = $staticnum%3)
#set($numcount = $staticnum)
#set($dynamicurl = $urlpart1 + $numcount + $urlpart2)
#set($entitytitle =  $expentity.getBrand().trim() + ' ' + $expentity.getModelName().trim() + ' ' + $expentity.getModelNumber().trim())
#set($requiresSkinImg = false)  ##If this product has vedios which require skin image or not 
<!-- slide guide -->
<div id="slideGuideContent">
  <div class="top">
    <div class="left">
      <div class="right">
        <div class="center"></div>
      </div>
    </div>
  </div>
  <div class="middle">
    <div class="left">
      <div class="controls contweak">
      <!-- slideGuideNav -->
        <div id="slideGuideNav">
          <ul id="sideNav">
## Get necessary data from summary slide. This data will be used later on in the code 
#foreach( $expslide in $expslides )
        #if($expslide.getSlideDefinitionID() == 130054)
                #set($expfeatures = $expslide.getExpandedFeatures())
                #foreach($expfeature in $expfeatures)
                        #if($expfeature.getFeatureDefinitionID() == 120085)
                                #set($expbullet = $expfeature.getExpandedBullets().get(0))
                                #set($skinheight = $expbullet.getDataObject().getPrimitiveDataObjects().get(0).getValue())
                                #set($skinwidth = $expbullet.getDataObject().getPrimitiveDataObjects().get(1).getValue())
                        #end
                        #if($expfeature.getFeatureDefinitionID() == 120088)
                                #set($expbullets = $expfeature.getExpandedBullets())
                                #foreach($expbullet in $expbullets)
                                        #set($videotype = $expbullet.displayText())
                                #end
                        #end
                        #if($expfeature.getFeatureDefinitionID() == 120086)
                                #set($expbullet = $expfeature.getExpandedBullets().get(0))
                                #set($screentopcornerx = $expbullet.getDataObject().getPrimitiveDataObjects().get(0).getValue())
                                #set($screentopcornery = $expbullet.getDataObject().getPrimitiveDataObjects().get(1).getValue())
                                #set($requiresSkinImg = true)
                        #end
                        #if($expfeature.getFeatureDefinitionID() == 120087)
                                #set($expbullet = $expfeature.getExpandedBullets().get(0))
                                #set($screenheight = $expbullet.getDataObject().getPrimitiveDataObjects().get(0).getValue())
                                #set($screenwidth = $expbullet.getDataObject().getPrimitiveDataObjects().get(1).getValue())
                        #end
                #end
        #end
        #if($expslide.getSlideDefinitionID() != 130054 && $expslide.getSlideDefinitionID() != 130088)
      <li><a href="#vtab-$expslide.getSlideDefinitionID()" class="vt"><span>$expslide.getSlideDefinition().getLabel()</span></a></li>
#end
#end
     </ul>
    </div>
<!-- /slideGuideNav -->

## Javascript if generated to keep the state of current video in a slide 
<script language="JavaScript">
    <!--
#foreach ( $expslide in $expslides )
#if($expslide.getFreeformContent().getYoutubeLabels())
#set( $medias = $expslide.getFreeformContent().getMedias())
#set( $videoRefs = $expslide.getFreeformContent().getYoutubeLabels())
#set( $slideId = $velocityCount)
#if($videoRefs && $videoRefs.size() != 0)
#set( $videoLabel = $videoRefs.get(0) )
#set( $video = $medias.get($videoLabel) )
#set( $youtubeId = $video.getYoutubeId())
var currentVideoId$slideId = "$youtubeId";
#end
#end
#end

function onYouTubePlayerReady(playerId) {
#foreach ( $expslide in $expslides )
#if($expslide.getFreeformContent().getYoutubeLabels())
#set( $medias = $expslide.getFreeformContent().getMedias())
#set( $videoRefs = $expslide.getFreeformContent().getYoutubeLabels())
#set( $slideId = $velocityCount)
#if($videoRefs.size() != 0)
#set( $videoLabel = $videoRefs.get(0) )
#set( $video = $medias.get($videoLabel) )
#set( $youtubeId = $video.getYoutubeId())
#if($youtubeId)
if(playerId == "player$slideId") {
ytplayer = document.getElementById("ytPlayer$slideId");
ytplayer.addEventListener("onStateChange", "onPlayerStateChange$slideId");
ytplayer.cueVideoById(currentVideoId$slideId);
}
#end
#end
#end
#end
}


#foreach( $expslide in $expslides )
#if($expslide.getFreeformContent().getYoutubeLabels())
#set( $medias = $expslide.getFreeformContent().getMedias())
#set( $videoRefs = $expslide.getFreeformContent().getYoutubeLabels())
#set( $slideId = $velocityCount)
#if($videoRefs.size() != 0)
#set( $videoLabel = $videoRefs.get(0) )
#set( $video = $medias.get($videoLabel) )
#set( $youtubeId = $video.getYoutubeId())

played$slideId = 0;
function onPlayerStateChange$slideId(newState) {
  if(newState==0){
    ytplayer = document.getElementById("ytPlayer$slideId");
    ytplayer.cueVideoById(currentVideoId$slideId);
  }
  if (played$slideId == 0 && newState==1) {
    played$slideId = 1;
    trackEventWithGA('Product', 'Video-play', $('title').text().split('|')[0].trim() + " | $youtubeId");
  }
}
#end
#end
#end
-->
</script>
<!-- slideGuideProduct -->

## Checks wether images and videos or both are available in the slide. Also sets variables accordingly 
## if no image or video is available, default image will be published on the slide 
    <div id="slideGuideProduct">
#foreach( $expslide in $expslides )
#if($expslide.getSlideDefinitionID() != 130054 && $expslide.getSlideDefinitionID() != 130088)
#if($expslide.getFreeformContent().getImageLabels())
#set( $imageRefs = $expslide.getFreeformContent().getImageLabels())
#if( $imageRefs && $imageRefs.size() !=0 )
#set($isImage = 1)
#else
#set($isImage = 0)
#end
#else
#set($isImage = 0)
#end
#if($expslide.getFreeformContent().getYoutubeLabels())
#set ( $videoRefs = $expslide.getFreeformContent().getYoutubeLabels())
#if( $videoRefs && $videoRefs.size() !=0 )
#set($isVideo = 1)
#else
#set($isVideo = 0)
#end
#else
#set($isVideo = 0)
#end
#set($default = 0)
#if($isImage == 0)
#if($isVideo == 0)
#set($default = 1)
#end
#end

#set($slideDefinitionID = $expslide.getSlideDefinitionID())
#set($slideno = $velocityCount)
     <div class="teaser" id="vtab-$expslide.getSlideDefinitionID()">
      <h1>$expentity.getBrand() <span>$expentity.getModelName() $expentity.getModelNumber()</span></h1>
      <div class="demo">
       <div id="vtab-media-$velocityCount">
        <ul>
#if($isImage == 1)
         <li><a href="#vtab-media-img-$velocityCount">Images</a></li>
#end
#if($isVideo == 1)
         <li><a href="#vtab-media-vid-$velocityCount">Video</a></li>
#end 
#if($default == 1)
         <li><a href="#vtab-media-img-$velocityCount">Images</a></li>
#end
        </ul>
#if($default == 1)
        <div id="vtab-media-img-$velocityCount">
<script language="JavaScript">
<!-- 
var NumberOfImages_$velocityCount = 1;
var img_$velocityCount = new Array(NumberOfImages_$velocityCount)
#set($count=0)
img_$velocityCount[$count] = "${defaulturl}/images/${entityid}/${imagePrefix}-default-${contentVersion}.jpg"
#set($firstImageRef="${defaulturl}/images/${entityid}/${imagePrefix}-default-${contentVersion}.jpg")
var imgNumber$velocityCount = 0;  
 //-->
</script>
         <div class="container">
          <div class="slides">
           <div>
            <img src="$firstImageRef" name="Image$velocityCount" alt="$entitytitle" title="$entitytitle" />
           </div>
          </div>
         </div>
        </div>
#end

#if($isImage == 1)
        <div id="vtab-media-img-$velocityCount">
<!-- slide show start -->
<!-- Script required for slideshow start -->
<script language="JavaScript">
<!-- 
#set( $imageRefs = $expslide.getFreeformContent().getImageLabels())
var NumberOfImages_$velocityCount = $imageRefs.size();
var img_$velocityCount = new Array(NumberOfImages_$velocityCount);
var title_$velocityCount = new Array(NumberOfImages_$velocityCount);
#set($count=0)
#foreach( $imageLabel in $imageRefs )
#set( $medias = $expslide.getFreeformContent().getMedias())
#set( $image = $medias.get($imageLabel) )
#set($imageName = $image.getFileName())
#set($imageNames = $imageName.split("\."))
#foreach ($part in $imageNames)
#if ($velocityCount == 1) #set ($part1 = $part) #end 
#if ($velocityCount == 2) #set ($part2 = $part) #end
#end
#set($imageName = $part1 + "-" +$contentVersion + "." + $part2)
#set($imageTitle = $image.getTitle())
img_$slideno[$count] = "${dynamicurl}/images/${entityid}/${imagePrefix}-$imageName";
#set($numcount = $numcount + 1)
#set($numcount = $numcount % 3)
#set($dynamicurl = $urlpart1 + $numcount + $urlpart2)
title_$slideno[$count] = "$imageTitle";
#set($count = $count + 1)
#if($velocityCount == 1)
#set($firstImageRef="${defaulturl}/images/${entityid}/${imagePrefix}-$imageName")
#set($firstImageTitle="$imageTitle")
#end
#end
var imgNumber$velocityCount = 0;  
//-->
</script>
        <!-- Script required for slideshow end -->     
        <div class="container">
        <!-- image label scroll start -->
         <div class="slider-content">
          <div class="slider">
           <button style="display: inline; visibility: hidden;" class="prev">&lt;&lt;</button>
           <button style="display: inline; visibility: visible;" class="next">&gt;&gt;</button>
           <div class="sliderScroll">
            <ul style="margin-left: 0px;">
#foreach( $imageLabel in $imageRefs )
#set($localcount = $velocityCount - 1)
#if($localcount != 0)
             <span style="color: rgb(102, 102, 102);">|</span>
#end
             <li onclick="javascript:goToImg('Image$slideno','$localcount',img_$slideno,title_$slideno,'vtab-$slideDefinitionID')">$imageLabel</li>
#end
            </ul>
           </div>
          </div>
         </div>
         <!-- image label scroll end -->
         <div class="slides">
          <div><span></span>
          <img src="$firstImageRef" id="Image$velocityCount" alt="$entitytitle" title="$entitytitle" />
         </div>
         <div class="modelName">$firstImageTitle</div>
        </div>
       </div>
       <!-- slide show end -->     
      </div>
#end
#if($isVideo == 1)
      <div id="vtab-media-vid-$velocityCount">
<script language="JavaScript">
<!-- 
#set( $videoRefs = $expslide.getFreeformContent().getYoutubeLabels())
var NumberOfVideos_$velocityCount = $videoRefs.size();
var video_title_$velocityCount = new Array(NumberOfVideos_$velocityCount);
#set( $medias = $expslide.getFreeformContent().getMedias())
#set($count=0)
#foreach( $videoLabel in $videoRefs )
#set( $video = $medias.get($videoLabel) )
#set($videoTitle = $video.getTitle())
#set( $youtubeId = $video.getYoutubeId())
video_title_$slideno[$count] = "$videoTitle";
#set($count = $count + 1)
#if($velocityCount == 1)
#set($firstVideoTitle="$videoTitle")
#set($firstVideoId="$youtubeId")
#end
#end
var vidNumber$velocityCount = 0;  
//-->
</script>

      <div class="container">
       <div class="slider-content">
        <div class="slider">
         <button style="display: inline; visibility: hidden;" class="prev">&laquo;</button>
         <button style="display: inline; visibility: visible;" class="next">&raquo;</button>
         <div class="">
          <ul style="margin-left: 0px;">
#set($firstVideoType = "")
#set($firstYoutubeId = "")
#set($firstVideoInitCode = "")

#foreach( $videoLabel in $videoRefs )
        #set( $video = $medias.get($videoLabel) )
        #set( $youtubeId = $video.getYoutubeId())
        #set($localcount = $velocityCount - 1)
        
        #if($firstYoutubeId == "")
                #set($firstYoutubeId = $youtubeId)
        #end
        
        #if($localcount != 0)
          <span style="color: rgb(102, 102, 102);">|</span>
        #end

        #set($videotype = $video.getType().name())

        #if($firstVideoType == "")
                #set($firstVideoType = $videotype)
        #end
        
        #if($videotype == "VIDEO_WITH_SKIN")
                #set($videoHeight = $skinheight)
                #set($videoWidth = $skinwidth)
        #else
                #set($videoHeight = $screenheight)
                #set($videoWidth = $screenwidth)
        #end
        
        #if($firstVideoInitCode == "")
                #set($firstVideoInitCode = "goToVid('ytPlayer" + $slideno + "', '" + $youtubeId + "', '" + $localcount + "', video_title_" + $slideno + ",'vtab-" + $slideDefinitionID + "', '" + $videotype + "', '" + $videoHeight + "', '" + $videoWidth + "', '" + $screentopcornerx + "', '" + $screentopcornery + "')")
        #end
                <li onclick="javascript:goToVid('ytPlayer$slideno', '$youtubeId', '$localcount', video_title_$slideno,'vtab-$slideDefinitionID', '$videotype', '$videoHeight', '$videoWidth', '$screentopcornerx', '$screentopcornery')">$videoLabel</li>
#end
         </ul>
        </div>
       </div>
      </div>
          <script type="text/javascript">
                $(function(){
                        $firstVideoInitCode;
                });
      </script>
        #if($requiresSkinImg)
                #set($backgroundCSSStyle = "background:url(${skinurl}/images/${entityid}/${imagePrefix}-skin-${contentVersion}.jpg) no-repeat;")
        #else
                #set($backgroundCSSStyle = "")
        #end
      <div class="slides">
        <span style="height:${skinheight}px; $backgroundCSSStyle width:${skinwidth}px; float:left;">
          <span id="vedioContainer$velocityCount" style="height:${screenheight}px; width:${screenwidth}px; margin:${screentopcornery}px 0px 0px ${screentopcornerx}px; float:left;">
            <div id="videoDiv$velocityCount"></div>
          </span>
        </span>
        <div class="modelName">$firstVideoTitle</div>
      </div>
    </div>
  </div>
#end
           </div>
          </div>
<script type="text/javascript">
  $(function() {
    $("#vtab-media-$velocityCount").tabs();
  });
</script>          
<!-- demo end -->
## Text content of each slide will be displayed here
<div class="desc">
        #set($slideLabel = $expslide.getSlideDefinition().getLabel())   ##Also used in My Notes section
<h4>$slideLabel</h4>
<ul>
#if ( $expslide.getExpandedFeatures() )
#set ( $expfeatures = $expslide.getExpandedFeatures() )
#foreach( $expfeature in $expfeatures )
#set($helpdocid = $expfeature.getFeatureDefinition().getHelpDocDefinitionID())
#if( $helpdocid && $helpdocid!=0) #set($helpdocname = $helpdocs.get($helpdocid).getName()) #set($filename = $helpdocname.toLowerCase().replace(' ', '-').replaceAll("/", ""))   
<li class="mainFeature helpdoc"><span class="tooltip" name="$filename">$expfeature.getFeatureDefinition().getLabel()</span></li>
#else
<li class="mainFeature">$expfeature.getFeatureDefinition().getLabel()</li>
#end
#if ( $expfeature.getExpandedBullets() )
#set ( $expbullets = $expfeature.getExpandedBullets() )
#foreach ( $expbullet in $expbullets)
#if($expbullet.isEnumerated())
        #set($helpdocid = $expbullet.getExpandedEnumDataObject().getEnumValue().getHelpDocDefinitionID())
        #if( $helpdocid && $helpdocid!=0) #set($helpdocname = $helpdocs.get($helpdocid).getName()) #set($filename = $helpdocname.toLowerCase().replace(' ', '-').replaceAll("/", ""))
        <li class="mainFeatureValue helpdoc"><span class="tooltip" name="$filename">$expbullet.displayText()</span></li>
        #else
        <li class="mainFeatureValue">$expbullet.displayText()</li>
        #end
#else
<li class="mainFeatureValue">$expbullet.displayText()</li>
#end

#if ( $expbullet.getFreeformContent() )
#if($expbullet.getFreeformContent().getFreeformText() && !$expbullet.getFreeformContent().getFreeformText().trim().isEmpty())
<li class="mainFeaturePunchline">$expbullet.getFreeformContent().getFreeformText()</li>
#end
#end
#end
#end

#if ( $expfeature.getFreeformContent() )
#if($expfeature.getFreeformContent().getFreeformText())
#set($lines = $expfeature.getFreeformContent().getFreeformText())
#set($lines = $lines.replaceAll("</?li>|</?ul>|</?br>|</?b>|</?p>",""))
#foreach($line in $lines.split("\n"))
#if(!$line.trim().isEmpty())
<li class="mainFeaturePunchline">$line</li>
#end
#end
#end
#end
#end
#end

#if ( $expslide.getExpandedChildrenSlides() )
#set ( $expchildren = $expslide.getExpandedChildrenSlides() )
#foreach( $expchild in $expchildren )
#showchildslide ( $expchild 1)
#end
#end

#if ( $expslide.getFreeformContent() )
#if($expslide.getSlideDefinitionID() != 130001)
#if($expslide.getFreeformContent().getFreeformText())
#set($lines = $expslide.getFreeformContent().getFreeformText())
#set($lines = $lines.replaceAll("</?li>|</?ul>|</?br>|</?b>|</?p>",""))
#set($isfirst = 1)
#foreach($line in $lines.split("\n"))
#if(!$line.trim().isEmpty())
#if($isfirst == 1)  
<li class="mainPunchline  spacing">$line</li>
#set($isfirst = 0)
#else
<li class="mainPunchline">$line</li>
#end
#end
#end
#end
#else
<li class="introduction">$expslide.getFreeformContent().getFreeformText()</li>
#end
#end
</ul>
  </div>
        <div id="mynotes-$slideLabel.replace(' ', '')" class="mynotes-section">
                <h3>My Notes</h3>
                <div class="note-display"></div>
                <textarea class="note-input"></textarea>
                <p>
                        <span></span>
                        <a>Save</a>
                </p>
        </div>
     <div class="clearBoth"></div>
         </div>
#end
#end
    </div>
    <!-- /slideGuideProduct -->
    <div class="clearBoth"></div>
   </div>
  </div>
 </div>
 <div class="bottom">
  <div class="left">
   <div class="right">
    <div class="center">&nbsp;</div>
   </div>
  </div>
 </div>
</div>

## MACROS ##
## Show content of child slide.
#macro ( showchildslide $expslide $level)
#set($helpdocid = $expslide.getSlideDefinition().getHelpDocDefinitionID())
#if($level == 1)#set($class="mainFeature")#else #set($class="subFeature") #end
#if( $helpdocid && $helpdocid!=0) #set($helpdocname = $helpdocs.get($helpdocid).getName()) #set($filename = $helpdocname.toLowerCase().replace(' ', '-').replaceAll("/", ""))
<li class="$class helpdoc"><span class="tooltip" name="$filename">$expslide.getSlideDefinition().getLabel()</span></li>
#else
<li class="$class">$expslide.getSlideDefinition().getLabel()</li>
#end
#if ( $expslide.getExpandedFeatures() )
#set ( $expfeatures = $expslide.getExpandedFeatures() )
#foreach( $expfeature in $expfeatures )
#if($level == 1)#set($class="subFeature")#else #set($class="subsubFeature") #end
#set($helpdocid = $expfeature.getFeatureDefinition().getHelpDocDefinitionID())
#if( $helpdocid && $helpdocid!=0) #set($helpdocname = $helpdocs.get($helpdocid).getName()) #set($filename = $helpdocname.toLowerCase().replace(' ', '-').replaceAll("/", ""))
<li class="$class helpdoc"><span class="tooltip" name="$filename">$expfeature.getFeatureDefinition().getLabel()</span></li>
#else
<li class="$class">$expfeature.getFeatureDefinition().getLabel()</li>
#end
#if ( $expfeature.getExpandedBullets() )
#set ( $expbullets = $expfeature.getExpandedBullets() )
#foreach ( $expbullet in $expbullets )
#if($level == 1)#set($class="subFeatureValue")#else #set($class="subsubFeatureValue") #end
#if($expbullet.isEnumerated())
        #set($helpdocid = $expbullet.getExpandedEnumDataObject().getEnumValue().getHelpDocDefinitionID())
        #if( $helpdocid && $helpdocid!=0) #set($helpdocname = $helpdocs.get($helpdocid).getName()) #set($filename = $helpdocname.toLowerCase().replace(' ', '-').replaceAll("/", ""))
        <li class="$class helpdoc"><span class="tooltip" name="$filename">$expbullet.displayText()</span></li>
        #else
        <li class="$class"> $expbullet.displayText()</li>
        #end
#else
<li class="$class"> $expbullet.displayText()</li>
#end
#if ( $expbullet.getFreeformContent() )
#if($expbullet.getFreeformContent().getFreeformText() && !$expbullet.getFreeformContent().getFreeformText().trim().isEmpty())
<li class="subFeaturePunchline"> $expbullet.getFreeformContent().getFreeformText()</li>
#end
#end
#end
#end
#if ( $expfeature.getFreeformContent() )
#if($expfeature.getFreeformContent().getFreeformText())
#set($lines = $expfeature.getFreeformContent().getFreeformText())
#set($lines = $lines.replaceAll("</?li>|</?ul>|</?br>|</?b>|</?p>",""))
#foreach($line in $lines.split("\n"))
#if(!$line.trim().isEmpty())
#if($level == 1)
<li class="subFeaturePunchline">$line</li>
#else
<li class="subsubFeaturePunchline">$line</li>
#end
#end
#end
#end
#end
#end
#end
 
#if ( $expslide.getExpandedChildrenSlides() )
#set ( $expchildren = $expslide.getExpandedChildrenSlides() )
#foreach( $expchild in $expchildren )
#showchildslide ( $expchild 2)
#end
#end

#if ( $expslide.getFreeformContent() )
#if($expslide.getFreeformContent().getFreeformText())
#set($lines = $expslide.getFreeformContent().getFreeformText())
#set($lines = $lines.replaceAll("</?li>|</?ul>|</?br>|</?b>|</?p>",""))
#set($isfirst = 1)
#foreach($line in $lines.split("\n"))
#if(!$line.trim().isEmpty())
#if($level == 1)
#if($isfirst == 1)
<li class="mainFeaturePunchline subspacing">$line</li>
#set($isfirst = 0)
#else
<li class="mainFeaturePunchline">$line</li>
#end
#else
#if($isfirst == 1)
<li class="subFeaturePunchline subspacing">$line</li>
#set($isfirst = 0)
#else
<li class="subFeaturePunchline">$line</li>
#end
#end
#end
#end
#end
#end
#end