1
0
Fork 0
mirror of synced 2024-06-27 10:41:00 +12:00

Keep query on tab change

This commit is contained in:
eldadfux 2019-08-11 11:47:11 +03:00
parent ce215b9d45
commit 18f126c705
6 changed files with 17 additions and 29 deletions

View file

@ -1,6 +1,6 @@
<?php
$providers = $this->getParam('providers', []);
$limit = 25;
$limit = 5;
?>
<div class="cover">
@ -36,9 +36,9 @@ $limit = 25;
<div
data-service="users.listUsers"
data-event="load,user-create,user-update,user-delete"
data-param-search=""
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo $limit; ?>"
data-param-offset="0"
data-param-offset="{{router.params.offset}}"
data-param-order-type="ASC"
data-scope="sdk"
data-name="project-users">
@ -92,21 +92,10 @@ $limit = 25;
</div>
<div class="clear">
<span class="pull-end paging" data-ls-ui-paging="" data-sum="{{project-users.sum}}" data-offset="{{filter-users.keys.offset}}" data-limit="{{filter-users.keys.limit}}"></span>
<span class="pull-end paging" data-sum="{{project-users.sum}}" data-offset="{{filter-users.keys.offset}}" data-limit="{{filter-users.keys.limit}}"></span>
<span data-ls-if="{{filter-users.backward}} >= 0" style="display: none;">
<button type="button" class="margin-end round" data-forms-filter="filter-users" data-params="<?php echo $this->escape(json_encode(['offset' => '{{filter-users.backward}}'])); ?>" aria-label="Back"><i class="icon-left-open"></i></button>
</span>
<span data-ls-if="{{filter-users.backward}} < 0" style="display: none;">
<button type="button" class="disabled margin-end round" disabled aria-label="Back"><i class="icon-left-open"></i></button>
</span>
<span data-ls-if="{{filter-users.forward}} < {{project-users.sum}}" style="display: none;">
<button type="button" class="margin-end round" data-forms-filter="filter-users" data-params="<?php echo $this->escape(json_encode(['offset' => '{{filter-users.forward}}'])); ?>" aria-label="Next"><i class="icon-right-open"></i></button>
</span>
<span data-ls-if="{{filter-users.forward}} >= {{project-users.sum}}" style="display: none;">
<button type="button" class="disabled margin-end round" disabled aria-label="Next"><i class="icon-right-open"></i></button>
</span>
<button type="button" class="margin-end round small" aria-label="Back"><i class="icon-left-open"></i></button>
<button type="button" class="margin-end round small" aria-label="Next"><i class="icon-right-open"></i></button>
</div>
</div>
</div>

View file

@ -2464,6 +2464,6 @@ return null;};if(blur){button.addEventListener('blur',closeDelay);}
element.addEventListener('click',function(event){let target=findParent('a',event.target);if(!target){return false;}
if(!target.href){return false;}
closeDelay();});element.insertBefore(button,element.firstChild);}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-ls-ui-paging',repeat:true,controller:function(document,element,expression){var sum=expression.parse(element.dataset['sum'])||0;var offset=expression.parse(element.dataset['offset'])||0;var limit=expression.parse(element.dataset['limit'])||0;if(offset===0||limit===0){element.innerHTML='1 / 1';return true;}
var total=Math.ceil(sum/limit);var current=Math.ceil(offset/limit)+1;element.innerHTML=(total>0)?current+' / '+total:'';}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-ui-phases',controller:function(element,window,document,expression,view){var tabs=document.createElement('ul');var container=document.createElement('div');var titles=Array.prototype.slice.call(element.getElementsByTagName('h2'));var next=Array.prototype.slice.call(element.querySelectorAll('[data-next]'));var previous=Array.prototype.slice.call(element.querySelectorAll('[data-previous]'));var position=0;for(var i=0;i<element.children.length;i++){var tabState=expression.parse(element.children[i].dataset['state']||'');if(tabState===window.location.pathname+window.location.search){position=i;}}
var setTab=function(index){var tabState=expression.parse(element.children[index].dataset['state']||'');if((tabState!=='')&&(tabState!==window.location.pathname+window.location.search)){window.history.pushState({},'',tabState);}
var total=Math.ceil(sum/limit);var current=Math.ceil(offset/limit)+1;element.innerHTML=(total>0)?current+' / '+total:'';}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-ui-phases',controller:function(element,window,document,expression){var tabs=document.createElement('ul');var container=document.createElement('div');var titles=Array.prototype.slice.call(element.getElementsByTagName('h2'));var next=Array.prototype.slice.call(element.querySelectorAll('[data-next]'));var previous=Array.prototype.slice.call(element.querySelectorAll('[data-previous]'));var position=0;for(var i=0;i<element.children.length;i++){var tabState=expression.parse(element.children[i].dataset['state']||'');if(tabState===window.location.pathname+window.location.search){position=i;}}
var setTab=function(index){var tabState=expression.parse(element.children[index].dataset['state']||'');if((tabState!=='')&&(tabState!==window.location.pathname+window.location.search)){var parser=document.createElement('a');parser.href=tabState;window.history.pushState({},'',parser.pathname+window.location.search);}
element.children[position].classList.remove('selected');element.children[index].classList.add('selected');tabs.children[position].classList.remove('selected');tabs.children[index].classList.add('selected');position=index;document.dispatchEvent(new CustomEvent('tab-changed'));};tabs.classList.add('tabs');container.classList.add('container');container.classList.add('close');container.dataset['lsUiOpen']='';container.dataset['buttonClass']='icon icon-down-dir';titles.map(function(obj,i){var title=document.createElement('li');title.innerHTML=obj.innerHTML;title.className=obj.className;title.tabIndex=0;tabs.appendChild(title);title.addEventListener('click',function(){setTab(i);});title.addEventListener('keyup',function(){if(event.which===13){setTab(i);}});});next.map(function(obj){obj.addEventListener('click',function(){setTab(position+1)});});previous.map(function(obj){obj.addEventListener('click',function(){setTab(position-1)});});setTab(position);container.appendChild(tabs);element.parentNode.insertBefore(container,element);}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-ls-ui-trigger',repeat:false,controller:function(element,document){let trigger=element.dataset['lsUiTrigger'];let event=element.dataset['event']||'click';element.addEventListener(event,function(){console.log(element,trigger);document.dispatchEvent(new CustomEvent(trigger));});}});})(window);

View file

@ -371,6 +371,6 @@ return null;};if(blur){button.addEventListener('blur',closeDelay);}
element.addEventListener('click',function(event){let target=findParent('a',event.target);if(!target){return false;}
if(!target.href){return false;}
closeDelay();});element.insertBefore(button,element.firstChild);}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-ls-ui-paging',repeat:true,controller:function(document,element,expression){var sum=expression.parse(element.dataset['sum'])||0;var offset=expression.parse(element.dataset['offset'])||0;var limit=expression.parse(element.dataset['limit'])||0;if(offset===0||limit===0){element.innerHTML='1 / 1';return true;}
var total=Math.ceil(sum/limit);var current=Math.ceil(offset/limit)+1;element.innerHTML=(total>0)?current+' / '+total:'';}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-ui-phases',controller:function(element,window,document,expression,view){var tabs=document.createElement('ul');var container=document.createElement('div');var titles=Array.prototype.slice.call(element.getElementsByTagName('h2'));var next=Array.prototype.slice.call(element.querySelectorAll('[data-next]'));var previous=Array.prototype.slice.call(element.querySelectorAll('[data-previous]'));var position=0;for(var i=0;i<element.children.length;i++){var tabState=expression.parse(element.children[i].dataset['state']||'');if(tabState===window.location.pathname+window.location.search){position=i;}}
var setTab=function(index){var tabState=expression.parse(element.children[index].dataset['state']||'');if((tabState!=='')&&(tabState!==window.location.pathname+window.location.search)){window.history.pushState({},'',tabState);}
var total=Math.ceil(sum/limit);var current=Math.ceil(offset/limit)+1;element.innerHTML=(total>0)?current+' / '+total:'';}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-ui-phases',controller:function(element,window,document,expression){var tabs=document.createElement('ul');var container=document.createElement('div');var titles=Array.prototype.slice.call(element.getElementsByTagName('h2'));var next=Array.prototype.slice.call(element.querySelectorAll('[data-next]'));var previous=Array.prototype.slice.call(element.querySelectorAll('[data-previous]'));var position=0;for(var i=0;i<element.children.length;i++){var tabState=expression.parse(element.children[i].dataset['state']||'');if(tabState===window.location.pathname+window.location.search){position=i;}}
var setTab=function(index){var tabState=expression.parse(element.children[index].dataset['state']||'');if((tabState!=='')&&(tabState!==window.location.pathname+window.location.search)){var parser=document.createElement('a');parser.href=tabState;window.history.pushState({},'',parser.pathname+window.location.search);}
element.children[position].classList.remove('selected');element.children[index].classList.add('selected');tabs.children[position].classList.remove('selected');tabs.children[index].classList.add('selected');position=index;document.dispatchEvent(new CustomEvent('tab-changed'));};tabs.classList.add('tabs');container.classList.add('container');container.classList.add('close');container.dataset['lsUiOpen']='';container.dataset['buttonClass']='icon icon-down-dir';titles.map(function(obj,i){var title=document.createElement('li');title.innerHTML=obj.innerHTML;title.className=obj.className;title.tabIndex=0;tabs.appendChild(title);title.addEventListener('click',function(){setTab(i);});title.addEventListener('keyup',function(){if(event.which===13){setTab(i);}});});next.map(function(obj){obj.addEventListener('click',function(){setTab(position+1)});});previous.map(function(obj){obj.addEventListener('click',function(){setTab(position-1)});});setTab(position);container.appendChild(tabs);element.parentNode.insertBefore(container,element);}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-ls-ui-trigger',repeat:false,controller:function(element,document){let trigger=element.dataset['lsUiTrigger'];let event=element.dataset['event']||'click';element.addEventListener(event,function(){console.log(element,trigger);document.dispatchEvent(new CustomEvent(trigger));});}});})(window);

File diff suppressed because one or more lines are too long

View file

@ -2,7 +2,7 @@
window.ls.container.get('view').add(
{
selector: 'data-ui-phases',
controller: function(element, window, document, expression, view) {
controller: function(element, window, document, expression) {
var tabs = document.createElement('ul');
var container = document.createElement('div');
var titles = Array.prototype.slice.call(element.getElementsByTagName('h2'));
@ -22,7 +22,10 @@
var tabState = expression.parse(element.children[index].dataset['state'] || '');
if((tabState !== '') && (tabState !== window.location.pathname + window.location.search)) {
window.history.pushState({}, '', tabState);
var parser = document.createElement('a');
parser.href = tabState;
window.history.pushState({}, '', parser.pathname + window.location.search);
}
element.children[position].classList.remove('selected');
@ -76,11 +79,6 @@
container.appendChild(tabs);
element.parentNode.insertBefore(container, element);
//setTimeout(function () {
// view.render(container.parentNode);
//}, 1000);
}
}
);

View file

@ -77,6 +77,7 @@ button,
padding: 0;
&.small {
font-size: 12px;
width: 30px;
height: 30px;
line-height: 30px;