Guest User

Untitled

a guest
Aug 29th, 2012
75
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #?delimiters [%, %], [%=, %]
  2. <wr:LayoutParameter label="Use Empty Unit Message" name="use-empty-unit-message" type="boolean" default="false">
  3. Defines the usage of a message for empty units.
  4. Allowed values are: true(default) or false.
  5. </wr:LayoutParameter>
  6. <wr:LayoutParameter label="Empty Unit Message" name="empty-unit-message" type="string" default="emptyUnitMessage">
  7. Defines the key of the message to use if the unit is empty.
  8. Default value: emptyUnitMessage
  9. </wr:LayoutParameter>
  10. [%
  11. import org.apache.commons.lang.StringUtils
  12.  
  13. setHTMLOutput()
  14.  
  15. def useEmptyUnitMessage = params["use-empty-unit-message"]
  16. def emptyUnitMessage = params["empty-unit-message"]  
  17. def position = "index"
  18. def atts = unit.selectNodes("layout:Attribute")
  19. def rootFirstLink = unit.selectSingleNode("layout:Link[string(@sort) != 'true' and string(@scroll) != 'true']")
  20. def rootFirstLinkId = rootFirstLink?.valueOf("@link")
  21. def isScrollable = unit["blockFactor"] != "" ? "true": "false"
  22. def blockFactor = unit["blockFactor"]
  23. def firstLink = unit.selectSingleNode("layout:Link[contains(@link,'First')]")
  24. def previousLink = unit.selectSingleNode("layout:Link[contains(@link,'Previous')]")
  25. def blockLink = unit.selectSingleNode("layout:Link[contains(@link,'Block')]")
  26. def nextLink = unit.selectSingleNode("layout:Link[contains(@link,'Next')]")
  27. def lastLink = unit.selectSingleNode("layout:Link[contains(@link,'Last')]")
  28.  
  29. def getIconPath(linkLayout) {
  30.     folder = linkLayout.parameters["icon-folder"]
  31.     name = StringUtils.defaultIfEmpty(linkLayout.parameters["icon-name"], linkLayout.contextElement?.attributeValue("name"))
  32.     extension = linkLayout.parameters["icon-extension"]
  33.     return getFilePath(folder, name, extension)
  34. }
  35. // OUR FUNCTION iterates recursively on the hierarchicalLevels
  36.    def getSubLevelsLayoutOur(hLevel, position, levelCount ) {
  37.      
  38.       def levelId = hLevel["id"]
  39.       def currentLevel = "level" + levelCount + "current"
  40.       position = position + ",level" + levelCount
  41.       def atts = hLevel.selectNodes("layout:Attribute")
  42.       def links = hLevel.selectNodes("layout:Link")
  43.       def levelFirstLink = hLevel.selectSingleNode("layout:Link[1]")
  44. %]
  45.  
  46.      <c:forEach items="${level[%=levelCount -1 %]current.[%=levelId%]data}" var="level[%=levelCount%]current"
  47.         varStatus="level[%=levelCount%]status">
  48.               [%/*GET VALUE */%]
  49.               <wr:Iterate var="attr" context="hLevel" select="layout:Attribute">
  50.                 <wr:Visible>
  51.                     <wr:Value item="currentLevel"/>
  52.                 </wr:Visible>    
  53.               </wr:Iterate>
  54.                 [%/*GET VALUES RECURSIVE*/%]
  55.                 <wr:Iterate var="subLevel" context="hLevel" select="HierarchicalIndexLevel">
  56.                         <c:out value=", "/>[% getSubLevelsLayoutOur(subLevel, position, levelCount + 1) %]
  57.                 </wr:Iterate>
  58.             </c:forEach>
  59.  
  60. [% }
  61.  if (useEmptyUnitMessage != "true") { %]
  62. <c:if test="${not(empty <wr:UnitId/>) and (<wr:UnitId/>.dataSize gt 0)}">
  63. [% } else { %]
  64. <c:choose>
  65. <c:when test="${not(empty <wr:UnitId/>) and (<wr:UnitId/>.dataSize gt 0)}">
  66. [% } %]
  67.    
  68.     <wr:Frame>
  69.                 [%/*SHOW OBJECTS*/%]
  70.                 <table class="table table-striped <wr:StyleClass/>">
  71.                 <thead>
  72.                     <tr>
  73.                     <th><bean:message key="Offer"/></th>
  74.                     <th><bean:message key="Desired price"/></th>
  75.                     <th><bean:message key="Current price"/></th>
  76.                     <th><bean:message key="offer.links"/></th>
  77.                 </tr>
  78.                 </thead>
  79.                 <tbody>
  80.                 <c:forEach var="level1current" varStatus="level1status" items="${<wr:UnitId/>.data}">
  81.                     <c:set var="index" value="${level1status.index}"/>
  82.                     <c:set var="currency" value="${level1current.currencySymbol}"/>
  83.                     <wr:Iterate var="attr" context="unit" select="layout:Attribute[@name='add']">
  84.                     [% def attrName = attr.attribute("name").getValue().replaceAll(/(?m)_\w/,{ ((it.size() > 1) ? it[1].toUpperCase() : '') }) %]
  85.                     <c:if test="${not(empty(level1current['[%= attrName%]']))}">
  86.                                                 <c:set var="currency" value="${currency}/${level1current['[%= attrName%]']}"/>
  87.                     </c:if>
  88.                     </wr:Iterate>
  89.                     <tr>
  90.                     [%/* Offer */%]      
  91.                     <td>
  92.                         <wr:Iterate var="attr" context="unit" select="layout:Attribute[@label='offer']">
  93.                         <a rel="popover" data-original-title="[% getSubLevelsLayoutOur(unit.selectSingleNode("HierarchicalIndexLevel[@name='Type']"), "level1", 2) %]" data-load="<c:out value="${pageContext.response.locale.language}"/>/offer-popover/<c:out value="${level1current.[%=getFieldName(attr["attribute"])%]}"/>" href="<c:out value="${pageContext.response.locale.language}"/>/offer/<c:out value="${level1current.[%=getFieldName(attr["attribute"])%]}"/>" target="blank"><bean:message key="Ref."/>&nbsp;<wr:Value item="'level1current'"/></a>.
  94.                         </wr:Iterate>
  95.                         <wr:Iterate var="hLevel" context="unit" select="HierarchicalIndexLevel[@name='Type']">
  96.                                 &nbsp;[% getSubLevelsLayoutOur(hLevel, "level1", 2) %].
  97.                             </wr:Iterate>
  98.                             <wr:Iterate var="attr" context="unit" select="layout:Attribute[@name='aliasPublic']">
  99.                                     <wr:Value item="'level1current'"/>
  100.                             </wr:Iterate>
  101.                     </td>
  102.                     <td>
  103.                         [%/* price */%]    
  104.                         <wr:Iterate var="attr" context="unit" select="layout:Attribute[@name='price']">
  105.                                             <span class="nowrap"><a href="#" class="editable" id="price-<c:out value="${level1current.oid}"/>" data-type="text" data-pk="<c:out value="${level1current.oid}"/>" data-name="price" data-url="<c:out value="${pageContext.response.locale.language}"/>/alertprice-edit" data-original-title="<wr:LocalizationString key="price"/>"><wr:Value item="'level1current'"/></a> <c:out value="${currency}"/></span>&nbsp;
  106.                         </wr:Iterate>  
  107.                        
  108.                     </td>
  109.                     <td>
  110.                     <wr:Iterate var="attr" context="unit" select="layout:Attribute[@name='offerprice']">
  111.                                             <span class="nowrap"><wr:Value item="'level1current'"/> <c:out value="${currency}"/></span>&nbsp;
  112.                         </wr:Iterate>
  113.                     </td>
  114.                    
  115.                     <td>
  116.                     [%/* LINKS */%]
  117.                     <div class="btn-group">
  118.                             <wr:Iterate var="link" context="unit" select="layout:Link[string(@sort) != 'true' and string(@scroll) != 'true']">
  119.                                 <wr:Visible>
  120.                                         <wr:Link class="link" position="position"/>
  121.                                 </wr:Visible>
  122.                             </wr:Iterate>
  123.                     </div>
  124.                     [%/* END LINKS*/%]
  125.                     </td>
  126.                    
  127.                 </tr>
  128.                
  129.                
  130.                 </c:forEach>
  131.                 [%/*END SHOW OBJECT*/%]
  132.                 </tbody>
  133.                 </table>
  134.                
  135.                 [%/*PAGINATION*/%]
  136.                  [% if (isScrollable == "true") { %]
  137.                     <c:if test="${<wr:UnitId/>.scroller.of gt [%= blockFactor %]}">
  138.                         <div class="pagination pagination-centered">
  139.                              <ul>
  140.                                 [% if (firstLink) { %]
  141.                                         <wr:Visible context="firstLink">
  142.                                             <c:if test="${<wr:UnitId/>.scroller.current ne <wr:UnitId/>.scroller.first}">
  143.                                                     <li><wr:Link  context="firstLink"/></li>
  144.                                             </c:if>
  145.                                         </wr:Visible>
  146.                                 [% } %]
  147.                                 [% if (previousLink) { %]
  148.                                         <wr:Visible context="previousLink">
  149.                                             <c:if test="${<wr:UnitId/>.scroller.current ne <wr:UnitId/>.scroller.previous}">
  150.                                                     <li><wr:Link  context="previousLink"/></li>
  151.                                             </c:if>
  152.                                         </wr:Visible>
  153.                                 [% } %]        
  154.                                 [% if (blockLink) {%]
  155.                                         <wr:Visible context="blockLink">
  156.                                             <c:forEach var="current" varStatus="status" items="${<wr:UnitId/>.scroller.blocks}">
  157.                                                 <c:set var="index" value="${status.index}"/>
  158.                                                     <c:choose>
  159.                                                         <c:when test="${current ne <wr:UnitId/>.scroller.current}">
  160.                                                            <li>
  161.                                                                 <a  href="<wr:URL context="blockLink"/>" onclick="<wr:AjaxURL context="blockLink" />">${current}</a>
  162.                                                             </li>
  163.                                                         </c:when>
  164.                                                         <c:otherwise>
  165.                                                             <li class="active"><a>${current}</a></span>
  166.                                                         </c:otherwise>
  167.                                                     </c:choose>
  168.                                             </c:forEach>
  169.                                         </wr:Visible>
  170.                                 [% } %]
  171.                                [% if (nextLink) { %]
  172.                                         <wr:Visible context="nextLink">
  173.                                             <c:if test="${<wr:UnitId/>.scroller.current ne <wr:UnitId/>.scroller.next}">
  174.                                                     <li><wr:Link  context="nextLink"/></li>
  175.                                             </c:if>
  176.                                         </wr:Visible>
  177.                                 [% } %]
  178.                                 [% if (lastLink) { %]
  179.                                         <wr:Visible context="lastLink">
  180.                                             <c:if test="${<wr:UnitId/>.scroller.current ne <wr:UnitId/>.scroller.last}">
  181.                                                 <li><wr:Link context="lastLink"/></li>
  182.                                             </c:if>
  183.                                         </wr:Visible>
  184.                                 [% } %]
  185.                                 </ul>
  186.                         </div>
  187.                     </c:if>
  188.                 [%}%]
  189.                 [%/*END PAGINATION*/%]
  190. <script type="text/javascript">
  191. (function($) { jQuery(document).on('ready', function() {
  192. $('a.editable').editable({
  193.     validate:function(value) {
  194.         var value =  unlocalizeNumber($.trim(value));
  195.         if(value == '') {
  196.             return '<wr:LocalizationString key="MandatoryValidationRule.error"/>';
  197.         }
  198.     },
  199.     getInputValue:function(value) {
  200.         return localizeNumber($.trim(this.$input.val()));
  201.     },
  202.     success:function(data) {
  203.        if (typeof data == 'object' && typeof data.value !== 'undefined') return;
  204.        else return messages["Error"];
  205.     },
  206.     error:function(data) {
  207.        return messages["Error"];
  208.     }
  209. });
  210. $('a[rel="popover"]').on('hover',function(){
  211.         var el=$(this).off('hover');
  212.         $.get(el.attr('data-load'),function(d){
  213.             el.popover({content: d}).popover('show');
  214.         });
  215. });
  216. })})(jQuery);
  217. </script>
  218.     </wr:Frame>
  219. [% if (useEmptyUnitMessage != "true") { %]
  220. </c:if>
  221. [% } else { %]
  222. </c:when>
  223. <c:otherwise>
  224.     <wr:Frame>
  225.         <div class="<wr:StyleClass/>"><bean:message key="[%printJSPTagValue(emptyUnitMessage)%]"/></div>
  226.     </wr:Frame>
  227. </c:otherwise>
  228. </c:choose>
  229. [% } %]
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×