From e5367895cc01d4ef62ffabe0aa40047e8a77547c Mon Sep 17 00:00:00 2001 From: satish <satish.dvnk@vtiger.com> Date: Wed, 22 Feb 2017 12:54:06 +0530 Subject: [PATCH] Fixes #459 - Bugs in all modules - list filters --- .../Vtiger/partials/SidebarEssentials.tpl | 46 +++++++++++++------ .../modules/Vtiger/resources/ListSidebar.js | 4 +- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/layouts/v7/modules/Vtiger/partials/SidebarEssentials.tpl b/layouts/v7/modules/Vtiger/partials/SidebarEssentials.tpl index 779b22029..742e14afa 100644 --- a/layouts/v7/modules/Vtiger/partials/SidebarEssentials.tpl +++ b/layouts/v7/modules/Vtiger/partials/SidebarEssentials.tpl @@ -11,7 +11,7 @@ <div class="sidebar-container lists-menu-container"> <div class="sidebar-header clearfix"> <h5 class="pull-left">{vtranslate('LBL_LISTS',$MODULE)}</h5> - <button id="createFilter" data-url="{CustomView_Record_Model::getCreateViewUrl($MODULE)}" class="btn btn-default pull-right sidebar-btn" title="{vtranslate('LBL_CREATE_FILTER',$MODULE)}"> + <button id="createFilter" data-url="{CustomView_Record_Model::getCreateViewUrl($MODULE)}" class="btn btn-sm btn-default pull-right sidebar-btn" title="{vtranslate('LBL_CREATE_LIST',$MODULE)}"> <div class="fa fa-plus" aria-hidden="true"></div> </button> </div> @@ -20,13 +20,14 @@ <input class="search-list" type="text" placeholder="{vtranslate('LBL_SEARCH_FOR_LIST',$MODULE)}"> </div> <div class="menu-scroller scrollContainer" style="position:relative; top:0; left:0;"> - <div class="list-menu-content"> + <div class="list-menu-content"> + {assign var="CUSTOM_VIEW_NAMES" value=array()} {if $CUSTOM_VIEWS && count($CUSTOM_VIEWS) > 0} {foreach key=GROUP_LABEL item=GROUP_CUSTOM_VIEWS from=$CUSTOM_VIEWS} {if $GROUP_LABEL neq 'Mine' && $GROUP_LABEL neq 'Shared'} {continue} {/if} - <div class="list-group"> + <div class="list-group" id="{if $GROUP_LABEL eq 'Mine'}myList{else}sharedList{/if}"> <h6 class="lists-header {if count($GROUP_CUSTOM_VIEWS) <=0} hide {/if}" > {if $GROUP_LABEL eq 'Mine'} {vtranslate('LBL_MY_LIST',$MODULE)} @@ -36,17 +37,27 @@ </h6> <input type="hidden" name="allCvId" value="{CustomView_Record_Model::getAllFilterByModule($MODULE)->get('cvid')}" /> <ul class="lists-menu"> + {assign var=count value=0} {foreach item="CUSTOM_VIEW" from=$GROUP_CUSTOM_VIEWS name="customView"} {assign var=IS_DEFAULT value=$CUSTOM_VIEW->isDefault()} - <li style="font-size:12px;" class='listViewFilter {if $VIEWID eq $CUSTOM_VIEW->getId() && ($CURRENT_TAG eq '')} active{/if} {if $smarty.foreach.customView.iteration gt 5} filterHidden hide{/if} '> - {assign var=VIEWNAME value={vtranslate($CUSTOM_VIEW->get('viewname'), $MODULE)}} - <a class="filterName" href="javascript:;" data-filter-id="{$CUSTOM_VIEW->getId()}">{if {$VIEWNAME|strlen > 30} } {$VIEWNAME|substr:0:21|@escape:'html'}..{else}{$VIEWNAME|@escape:'html'}{/if}</a> + {assign var="CUSTOME_VIEW_RECORD_MODEL" value=CustomView_Record_Model::getInstanceById($CUSTOM_VIEW->getId())} + {assign var="MEMBERS" value=$CUSTOME_VIEW_RECORD_MODEL->getMembers()} + {assign var="LIST_STATUS" value=$CUSTOME_VIEW_RECORD_MODEL->get('status')} + {foreach key=GROUP_LABEL item="MEMBER_LIST" from=$MEMBERS} + {if $MEMBER_LIST|@count gt 0} + {assign var="SHARED_MEMBER_COUNT" value=1} + {/if} + {/foreach} + <li style="font-size:12px;" class='listViewFilter {if $VIEWID eq $CUSTOM_VIEW->getId() && ($CURRENT_TAG eq '')} active {if $smarty.foreach.customView.iteration gt 10} {assign var=count value=1} {/if} {else if $smarty.foreach.customView.iteration gt 10} filterHidden hide{/if} '> + {assign var=VIEWNAME value={vtranslate($CUSTOM_VIEW->get('viewname'), $MODULE)}} + {append var="CUSTOM_VIEW_NAMES" value=$VIEWNAME} + <a class="filterName listViewFilterElipsis" href="javascript:;" oncontextmenu="return false;" data-filter-id="{$CUSTOM_VIEW->getId()}" title="{$VIEWNAME|@escape:'html'}">{$VIEWNAME|@escape:'html'}</a> <div class="pull-right"> <span class="js-popover-container" style="cursor:pointer;"> <span class="fa fa-angle-down" rel="popover" data-toggle="popover" aria-expanded="true" {if $CUSTOM_VIEW->isMine() and $CUSTOM_VIEW->get('viewname') neq 'All'} data-deletable="{if $CUSTOM_VIEW->isDeletable()}true{else}false{/if}" data-editable="{if $CUSTOM_VIEW->isEditable()}true{else}false{/if}" - {if $CUSTOM_VIEW->isEditable()} data-editurl="{$CUSTOM_VIEW->getEditUrl()}{/if}" {if $CUSTOM_VIEW->isDeletable()} data-deleteurl="{$CUSTOM_VIEW->getDeleteUrl()}"{/if} + {if $CUSTOM_VIEW->isEditable()} data-editurl="{$CUSTOM_VIEW->getEditUrl()}{/if}" {if $CUSTOM_VIEW->isDeletable()} {if $SHARED_MEMBER_COUNT eq 1 or $LIST_STATUS eq 3} data-shared="1"{/if} data-deleteurl="{$CUSTOM_VIEW->getDeleteUrl()}"{/if} {/if} toggleClass="fa {if $IS_DEFAULT}fa-check-square-o{else}fa-square-o{/if}" data-filter-id="{$CUSTOM_VIEW->getId()}" data-is-default="{$IS_DEFAULT}" data-defaulttoggle="{$CUSTOM_VIEW->getToggleDefaultUrl()}" data-default="{$CUSTOM_VIEW->getDuplicateUrl()}" data-isMine="{if $CUSTOM_VIEW->isMine()}true{else}false{/if}"> @@ -56,17 +67,22 @@ </li> {/foreach} </ul> - <div class='clearfix'> - <a class="toggleFilterSize" data-more-text="Show more" data-less-text="Show less">{if $smarty.foreach.customView.iteration gt 5} - {vtranslate('LBL_SHOW_MORE',Vtiger)} - {/if}</a> - </div> + <div class='clearfix'> + {if $smarty.foreach.customView.iteration - 10 - $count} + <a class="toggleFilterSize" data-more-text=" {$smarty.foreach.customView.iteration - 10 - $count} {vtranslate('LBL_MORE',Vtiger)|@strtolower}" data-less-text="Show less"> + {if $smarty.foreach.customView.iteration gt 10} + {$smarty.foreach.customView.iteration - 10 - $count} {vtranslate('LBL_MORE',Vtiger)|@strtolower} + {/if} + </a>{/if} + </div> </div> - {/foreach} + {/foreach} + + <input type="hidden" id='allFilterNames' value='{Vtiger_Util_Helper::toSafeHTML(Zend_JSON::encode($CUSTOM_VIEWS_NAMES))}'/> <div id="filterActionPopoverHtml"> <ul class="listmenu hide" role="menu"> <li role="presentation" class="editFilter"> - <a role="menuitem"><i class="fa fa-pencil-square-o"></i> {vtranslate('LBL_EDIT',$MODULE)}</a> + <a role="menuitem"><i class="fa fa-pencil"></i> {vtranslate('LBL_EDIT',$MODULE)}</a> </li> <li role="presentation" class="deleteFilter"> <a role="menuitem"><i class="fa fa-trash"></i> {vtranslate('LBL_DELETE',$MODULE)}</a> @@ -157,7 +173,7 @@ <input type="hidden" name="id" value="" /> <div class="editTagContents"> <div> - <input type="text" name="tagName" value="" style="width:100%" /> + <input type="text" name="tagName" value="" style="width:100%" maxlength="25"/> </div> <div> <div class="checkbox"> diff --git a/layouts/v7/modules/Vtiger/resources/ListSidebar.js b/layouts/v7/modules/Vtiger/resources/ListSidebar.js index 5e680829f..ea126f19c 100644 --- a/layouts/v7/modules/Vtiger/resources/ListSidebar.js +++ b/layouts/v7/modules/Vtiger/resources/ListSidebar.js @@ -175,12 +175,12 @@ Vtiger.Class('Vtiger_ListSidebar_Js',{},{ contentEle.find('.deleteFilter').css("display","none"); } if (!jQuery(ele).data('editable')) { - contentEle.find('.editFilter').addClass('disabled'); + contentEle.find('.editFilter').remove(); } else { contentEle.find('.editFilter').removeClass('disabled'); } if (!jQuery(ele).data('deletable')) { - contentEle.find('.deleteFilter').addClass('disabled'); + contentEle.find('.deleteFilter').remove(); } else { contentEle.find('.deleteFilter').removeClass('disabled'); } -- GitLab