mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
Improved UI performance
This commit is contained in:
1 parent
67319de723
commit
5edc7fa86b
8 files changed
+26
-61
No files matched your search
@@ -1,15 +1,8 @@
|
||||
<div
|
||||
data-service="projects.getProject"
|
||||
data-event="project-load,platform-create,platform-update,platform-delete"
|
||||
data-name="console-project"
|
||||
data-param-project-id="{{router.params.project}}"
|
||||
data-scope="console"></div>
|
||||
|
||||
<header class="clear">
|
||||
|
||||
<div class="list pull-start project-only">
|
||||
<label>
|
||||
<select data-ls-bind="{{console-project.$uid}}" data-switch data-ls-loop="projects" data-ls-as="option">
|
||||
<select data-ls-bind="{{router.params.project}}" data-switch data-ls-loop="projects" data-ls-as="option">
|
||||
<option data-ls-attrs="value={{option.$uid}}" data-ls-bind="{{option.name}}"></option>
|
||||
</select>
|
||||
</label>
|
||||
@@ -44,7 +37,7 @@
|
||||
|
||||
<ul class="links">
|
||||
<li>
|
||||
<a data-ls-attrs="href=/console/home?project={{console-project.$uid}}">
|
||||
<a data-ls-attrs="href=/console/home?project={{router.params.project}}">
|
||||
<i class="icon-home"></i>
|
||||
Home
|
||||
</a>
|
||||
@@ -55,19 +48,19 @@
|
||||
|
||||
<ul class="links">
|
||||
<li>
|
||||
<a data-ls-attrs="href=/console/database?project={{console-project.$uid}}">
|
||||
<a data-ls-attrs="href=/console/database?project={{router.params.project}}">
|
||||
<i class="icon-database"></i>
|
||||
Database
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a data-ls-attrs="href=/console/storage?project={{console-project.$uid}}">
|
||||
<a data-ls-attrs="href=/console/storage?project={{router.params.project}}">
|
||||
<i class="icon-folder"></i>
|
||||
Storage
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a data-ls-attrs="href=/console/users?project={{console-project.$uid}}">
|
||||
<a data-ls-attrs="href=/console/users?project={{router.params.project}}">
|
||||
<i class="icon-users"></i>
|
||||
Users
|
||||
</a>
|
||||
@@ -78,19 +71,19 @@
|
||||
|
||||
<ul class="links">
|
||||
<li>
|
||||
<a data-ls-attrs="href=/console/keys?project={{console-project.$uid}}">
|
||||
<a data-ls-attrs="href=/console/keys?project={{router.params.project}}">
|
||||
<i class="icon-key-inv"></i>
|
||||
API Keys
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a data-ls-attrs="href=/console/webhooks?project={{console-project.$uid}}">
|
||||
<a data-ls-attrs="href=/console/webhooks?project={{router.params.project}}">
|
||||
<i class="icon-link"></i>
|
||||
Webhooks
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a data-ls-attrs="href=/console/tasks?project={{console-project.$uid}}">
|
||||
<a data-ls-attrs="href=/console/tasks?project={{router.params.project}}">
|
||||
<i class="icon-clock"></i>
|
||||
Tasks
|
||||
</a>
|
||||
@@ -100,7 +93,7 @@
|
||||
|
||||
<ul class="links bottom project-only">
|
||||
<li>
|
||||
<a data-ls-attrs="href=/console/settings?project={{console-project.$uid}}"><i class="icon-cog"></i> Settings</a>
|
||||
<a data-ls-attrs="href=/console/settings?project={{router.params.project}}"><i class="icon-cog"></i> Settings</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -4,7 +4,12 @@ $graph = $this->getParam('graph', false);
|
||||
|
||||
<div class="cover margin-bottom-small">
|
||||
<div class="zone xl margin-bottom-large margin-top-small">
|
||||
<h1 class="margin-bottom-small">
|
||||
<h1 class="margin-bottom-small"
|
||||
data-service="projects.getProject"
|
||||
data-event="load,platform-create,platform-update,platform-delete"
|
||||
data-name="console-project"
|
||||
data-param-project-id="{{router.params.project}}"
|
||||
data-scope="console">
|
||||
<span class="title" data-ls-bind="{{console-project.name}}"> </span>
|
||||
</h1>
|
||||
|
||||
|
||||
Vendored
+3
-8
@@ -2113,9 +2113,9 @@ while(match=REGEX_PARAMETERS_VALUES.exec(functionAsString)){params.push(match[1]
|
||||
return params;}
|
||||
let args=getParams(target);return target.apply(target,args.map(function(value){return self.get(value.trim());}));};let path=function(path,value,as,prefix){as=(as)?as:container.get('$as');prefix=(prefix)?prefix:container.get('$prefix');path=((path.indexOf('.')>-1)?path.replace(as+'.',prefix+'.'):path.replace(as,prefix)).split('.');let name=path.shift();let object=this.get(name);let result=null;while(path.length>1){if(!object){return null;}
|
||||
object=object[path.shift()];}
|
||||
if(value!==null&&value!==undefined){object[path.shift()]=value;return true;}
|
||||
let shift=path.shift();if(value!==null&&value!==undefined&&object&&shift&&object[shift]){object[shift]=value;return true;}
|
||||
if(!object){return null;}
|
||||
let shift=path.shift();if(!shift){result=object;}
|
||||
if(!shift){result=object;}
|
||||
else{return object[shift];}
|
||||
return result;};let bind=function(element,path,callback,as,prefix){as=(as)?as:container.get('$as');prefix=(prefix)?prefix:container.get('$prefix');let event=((path.indexOf('.')>-1)?path.replace(as+'.',prefix+'.'):path.replace(as,prefix))+'.changed';let service=event.split('.').slice(0,1).pop();listeners[service]=listeners[service]||{};listeners[service][event]=true;let printer=()=>{if(!document.body.contains(element)){element=null;document.removeEventListener(event,printer,false);return false;}
|
||||
callback();};document.addEventListener(event,printer);};let container={set:set,get:get,resolve:resolve,path:path,bind:bind,stock:stock,listeners:listeners,};set('container',container,true,false);return container;}();window.ls.container.set('http',function(document){let globalParams=[],globalHeaders=[];let addParam=function(url,param,value){param=encodeURIComponent(param);let a=document.createElement('a');param+=(value?"="+encodeURIComponent(value):"");a.href=url;a.search+=(a.search?"&":"")+param;return a.href;};let request=function(method,url,headers,payload,progress){let i;if(-1===['GET','POST','PUT','DELETE','TRACE','HEAD','OPTIONS','CONNECT','PATCH'].indexOf(method)){throw new Error('var method must contain a valid HTTP method name');}
|
||||
@@ -2448,12 +2448,7 @@ output[output.length]=obj['$uid'];});onComplete(message);render(output);},functi
|
||||
output=(multiple)?JSON.parse(element.value):[element.value];render(output);});upload.addEventListener('keypress',function(){input.click();});element.parentNode.insertBefore(wrapper,element);wrapper.appendChild(preview);wrapper.appendChild(progress);wrapper.appendChild(upload);if(multiple){wrapper.appendChild(count);}
|
||||
upload.appendChild(input);render(output);}});})(window);(function(window){"use strict";window.ls.view.add({selector:'data-general-oauth',repeat:false,controller:function(element,env,expression){let provider=expression.parse(element.dataset['authOauth']||'');let success=expression.parse(element.dataset['success']||'');let failure=expression.parse(element.dataset['failure']||'');element.href=env.API+'/oauth/'+provider+'?project='+env.PROJECT
|
||||
+'&success='+encodeURIComponent(success)
|
||||
+'&failure='+encodeURIComponent(failure);}});})(window);(function(window){window.ls.container.get('view').add({'selector':'data-page-title','repeat':true,'controller':function(element,document,expression){document.title=expression.parse(element.getAttribute('data-page-title'))||document.title;}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-setup',controller:function(element,console,form){element.addEventListener('submit',function(event){event.preventDefault();let formData=form.toJson(element);formData['name']=formData['name']||(element.dataset['defaultName']||'');console.teams.createTeam(formData['name']||'').then(function(data){let team=data['$uid'];formData=JSON.parse(JSON.stringify(formData).replace(new RegExp('{{teamId}}','g'),team));console.projects.createProject(formData['name'],team).then(function(project){window.location.href='/console?project='+project['$uid'];},function(){throw new Error('Failed to setup project');});},function(){throw new Error('Setup failed creating project team');});})}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-switch',controller:function(element,router,document){let debug=(element.dataset['debug']);let project=router.params.project||null;if(project){if(debug){console.log('project-load-start-init');}
|
||||
document.dispatchEvent(new CustomEvent('project-load'));}
|
||||
document.addEventListener('state-changed',function(){if(router.params.project&&project!==router.params.project){if(debug){console.log('project-load-init');}
|
||||
document.dispatchEvent(new CustomEvent('project-load'));project=router.params.project;}});element.addEventListener('change',function(){if(debug){console.log('change init',element.value);}
|
||||
if(element.value&&element.value!==project){if(debug){console.log('Changed: selected project from list');}
|
||||
return router.change('/console/home?project='+element.value);}});}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-paging-back',controller:function(element,container,expression,env){let paths=[];let limit=env.PAGING_LIMIT;let check=function(){let offset=parseInt(expression.parse(element.dataset['offset'])||'0');paths=paths.concat(expression.getPaths());if((offset-limit)<0){element.disabled=true;}
|
||||
+'&failure='+encodeURIComponent(failure);}});})(window);(function(window){window.ls.container.get('view').add({'selector':'data-page-title','repeat':true,'controller':function(element,document,expression){document.title=expression.parse(element.getAttribute('data-page-title'))||document.title;}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-setup',controller:function(element,console,form){element.addEventListener('submit',function(event){event.preventDefault();let formData=form.toJson(element);formData['name']=formData['name']||(element.dataset['defaultName']||'');console.teams.createTeam(formData['name']||'').then(function(data){let team=data['$uid'];formData=JSON.parse(JSON.stringify(formData).replace(new RegExp('{{teamId}}','g'),team));console.projects.createProject(formData['name'],team).then(function(project){window.location.href='/console?project='+project['$uid'];},function(){throw new Error('Failed to setup project');});},function(){throw new Error('Setup failed creating project team');});})}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-switch',controller:function(element,router,document){element.addEventListener('change',function(){return router.change('/console/home?project='+element.value);});}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-paging-back',controller:function(element,container,expression,env){let paths=[];let limit=env.PAGING_LIMIT;let check=function(){let offset=parseInt(expression.parse(element.dataset['offset'])||'0');paths=paths.concat(expression.getPaths());if((offset-limit)<0){element.disabled=true;}
|
||||
else{element.disabled=false;element.value=offset-limit;}};check();for(let i=0;i<paths.length;i++){let path=paths[i].split('.');while(path.length){container.bind(element,path.join('.'),check);path.pop();}}}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-paging-next',controller:function(element,container,expression,env){let paths=[];let limit=env.PAGING_LIMIT;let check=function(){let offset=parseInt(expression.parse(element.dataset['offset'])||'0');paths=paths.concat(expression.getPaths());let sum=parseInt(expression.parse(element.dataset['sum'])||'0');paths=paths.concat(expression.getPaths());if((offset+limit)>=sum){element.disabled=true;}
|
||||
else{element.disabled=false;element.value=offset+limit;}};check();for(let i=0;i<paths.length;i++){let path=paths[i].split('.');while(path.length){container.bind(element,path.join('.'),check);path.pop();}}}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-ui-highlight',controller:function(element,expression,document){let check=function(){let links=element.getElementsByTagName('a');let selected=null;let list=[];for(let i=0;i<links.length;i++){links[i].href=links[i].href||expression.parse(links[i].dataset['lsHref']||'');list.push(links[i]);}
|
||||
list.sort(function(a,b){return a.pathname.length-b.pathname.length;});for(let i=0;i<list.length;i++){if(list[i].pathname===window.location.pathname.substring(0,list[i].pathname.length)){list[i].classList.add('selected');if(selected!==null){list[selected].classList.remove('selected');}
|
||||
|
||||
Vendored
+3
-8
@@ -20,9 +20,9 @@ while(match=REGEX_PARAMETERS_VALUES.exec(functionAsString)){params.push(match[1]
|
||||
return params;}
|
||||
let args=getParams(target);return target.apply(target,args.map(function(value){return self.get(value.trim());}));};let path=function(path,value,as,prefix){as=(as)?as:container.get('$as');prefix=(prefix)?prefix:container.get('$prefix');path=((path.indexOf('.')>-1)?path.replace(as+'.',prefix+'.'):path.replace(as,prefix)).split('.');let name=path.shift();let object=this.get(name);let result=null;while(path.length>1){if(!object){return null;}
|
||||
object=object[path.shift()];}
|
||||
if(value!==null&&value!==undefined){object[path.shift()]=value;return true;}
|
||||
let shift=path.shift();if(value!==null&&value!==undefined&&object&&shift&&object[shift]){object[shift]=value;return true;}
|
||||
if(!object){return null;}
|
||||
let shift=path.shift();if(!shift){result=object;}
|
||||
if(!shift){result=object;}
|
||||
else{return object[shift];}
|
||||
return result;};let bind=function(element,path,callback,as,prefix){as=(as)?as:container.get('$as');prefix=(prefix)?prefix:container.get('$prefix');let event=((path.indexOf('.')>-1)?path.replace(as+'.',prefix+'.'):path.replace(as,prefix))+'.changed';let service=event.split('.').slice(0,1).pop();listeners[service]=listeners[service]||{};listeners[service][event]=true;let printer=()=>{if(!document.body.contains(element)){element=null;document.removeEventListener(event,printer,false);return false;}
|
||||
callback();};document.addEventListener(event,printer);};let container={set:set,get:get,resolve:resolve,path:path,bind:bind,stock:stock,listeners:listeners,};set('container',container,true,false);return container;}();window.ls.container.set('http',function(document){let globalParams=[],globalHeaders=[];let addParam=function(url,param,value){param=encodeURIComponent(param);let a=document.createElement('a');param+=(value?"="+encodeURIComponent(value):"");a.href=url;a.search+=(a.search?"&":"")+param;return a.href;};let request=function(method,url,headers,payload,progress){let i;if(-1===['GET','POST','PUT','DELETE','TRACE','HEAD','OPTIONS','CONNECT','PATCH'].indexOf(method)){throw new Error('var method must contain a valid HTTP method name');}
|
||||
@@ -355,12 +355,7 @@ output[output.length]=obj['$uid'];});onComplete(message);render(output);},functi
|
||||
output=(multiple)?JSON.parse(element.value):[element.value];render(output);});upload.addEventListener('keypress',function(){input.click();});element.parentNode.insertBefore(wrapper,element);wrapper.appendChild(preview);wrapper.appendChild(progress);wrapper.appendChild(upload);if(multiple){wrapper.appendChild(count);}
|
||||
upload.appendChild(input);render(output);}});})(window);(function(window){"use strict";window.ls.view.add({selector:'data-general-oauth',repeat:false,controller:function(element,env,expression){let provider=expression.parse(element.dataset['authOauth']||'');let success=expression.parse(element.dataset['success']||'');let failure=expression.parse(element.dataset['failure']||'');element.href=env.API+'/oauth/'+provider+'?project='+env.PROJECT
|
||||
+'&success='+encodeURIComponent(success)
|
||||
+'&failure='+encodeURIComponent(failure);}});})(window);(function(window){window.ls.container.get('view').add({'selector':'data-page-title','repeat':true,'controller':function(element,document,expression){document.title=expression.parse(element.getAttribute('data-page-title'))||document.title;}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-setup',controller:function(element,console,form){element.addEventListener('submit',function(event){event.preventDefault();let formData=form.toJson(element);formData['name']=formData['name']||(element.dataset['defaultName']||'');console.teams.createTeam(formData['name']||'').then(function(data){let team=data['$uid'];formData=JSON.parse(JSON.stringify(formData).replace(new RegExp('{{teamId}}','g'),team));console.projects.createProject(formData['name'],team).then(function(project){window.location.href='/console?project='+project['$uid'];},function(){throw new Error('Failed to setup project');});},function(){throw new Error('Setup failed creating project team');});})}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-switch',controller:function(element,router,document){let debug=(element.dataset['debug']);let project=router.params.project||null;if(project){if(debug){console.log('project-load-start-init');}
|
||||
document.dispatchEvent(new CustomEvent('project-load'));}
|
||||
document.addEventListener('state-changed',function(){if(router.params.project&&project!==router.params.project){if(debug){console.log('project-load-init');}
|
||||
document.dispatchEvent(new CustomEvent('project-load'));project=router.params.project;}});element.addEventListener('change',function(){if(debug){console.log('change init',element.value);}
|
||||
if(element.value&&element.value!==project){if(debug){console.log('Changed: selected project from list');}
|
||||
return router.change('/console/home?project='+element.value);}});}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-paging-back',controller:function(element,container,expression,env){let paths=[];let limit=env.PAGING_LIMIT;let check=function(){let offset=parseInt(expression.parse(element.dataset['offset'])||'0');paths=paths.concat(expression.getPaths());if((offset-limit)<0){element.disabled=true;}
|
||||
+'&failure='+encodeURIComponent(failure);}});})(window);(function(window){window.ls.container.get('view').add({'selector':'data-page-title','repeat':true,'controller':function(element,document,expression){document.title=expression.parse(element.getAttribute('data-page-title'))||document.title;}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-setup',controller:function(element,console,form){element.addEventListener('submit',function(event){event.preventDefault();let formData=form.toJson(element);formData['name']=formData['name']||(element.dataset['defaultName']||'');console.teams.createTeam(formData['name']||'').then(function(data){let team=data['$uid'];formData=JSON.parse(JSON.stringify(formData).replace(new RegExp('{{teamId}}','g'),team));console.projects.createProject(formData['name'],team).then(function(project){window.location.href='/console?project='+project['$uid'];},function(){throw new Error('Failed to setup project');});},function(){throw new Error('Setup failed creating project team');});})}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-switch',controller:function(element,router,document){element.addEventListener('change',function(){return router.change('/console/home?project='+element.value);});}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-paging-back',controller:function(element,container,expression,env){let paths=[];let limit=env.PAGING_LIMIT;let check=function(){let offset=parseInt(expression.parse(element.dataset['offset'])||'0');paths=paths.concat(expression.getPaths());if((offset-limit)<0){element.disabled=true;}
|
||||
else{element.disabled=false;element.value=offset-limit;}};check();for(let i=0;i<paths.length;i++){let path=paths[i].split('.');while(path.length){container.bind(element,path.join('.'),check);path.pop();}}}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-paging-next',controller:function(element,container,expression,env){let paths=[];let limit=env.PAGING_LIMIT;let check=function(){let offset=parseInt(expression.parse(element.dataset['offset'])||'0');paths=paths.concat(expression.getPaths());let sum=parseInt(expression.parse(element.dataset['sum'])||'0');paths=paths.concat(expression.getPaths());if((offset+limit)>=sum){element.disabled=true;}
|
||||
else{element.disabled=false;element.value=offset+limit;}};check();for(let i=0;i<paths.length;i++){let path=paths[i].split('.');while(path.length){container.bind(element,path.join('.'),check);path.pop();}}}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-ui-highlight',controller:function(element,expression,document){let check=function(){let links=element.getElementsByTagName('a');let selected=null;let list=[];for(let i=0;i<links.length;i++){links[i].href=links[i].href||expression.parse(links[i].dataset['lsHref']||'');list.push(links[i]);}
|
||||
list.sort(function(a,b){return a.pathname.length-b.pathname.length;});for(let i=0;i<list.length;i++){if(list[i].pathname===window.location.pathname.substring(0,list[i].pathname.length)){list[i].classList.add('selected');if(selected!==null){list[selected].classList.remove('selected');}
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
.pull-start{float:right}.pull-end{float:left}img[src=""]{visibility:hidden;display:inline-block}.margin-end{margin-left:20px!important}.margin-start{margin-right:20px!important}.margin-end-small{margin-left:10px!important}.margin-start-small{margin-right:10px!important}.margin-end-large{margin-left:50px!important}.margin-start-large{margin-right:50px!important}.margin-end-no{margin-left:0!important}.margin-start-no{margin-right:0!important}.margin-top{margin-top:30px!important}.margin-bottom{margin-bottom:30px!important}.margin-top-no{margin-top:0!important}.margin-bottom-no{margin-bottom:0!important}.margin-top-xxl{margin-top:140px!important}.margin-top-xl{margin-top:80px!important}.margin-top-large{margin-top:50px!important}.margin-top-small{margin-top:15px!important}.margin-top-tiny{margin-top:5px!important}.margin-top-negative{margin-top:-30px!important}.margin-top-negative-tiny{margin-top:-5px!important}.margin-top-negative-small{margin-top:-15px!important}.margin-top-negative-large{margin-top:-50px!important}.margin-top-negative-xl{margin-top:-80px!important}.margin-top-negative-xxl{margin-top:-100px!important}.margin-bottom-xxl{margin-bottom:140px!important}.margin-bottom-xl{margin-bottom:80px!important}.margin-bottom-large{margin-bottom:50px!important}.margin-bottom-small{margin-bottom:15px!important}.margin-bottom-tiny{margin-bottom:5px!important}.margin-bottom-negative{margin-bottom:-30px!important}.margin-bottom-negative-tiny{margin-bottom:-5px!important}.margin-bottom-negative-small{margin-bottom:-15px!important}.margin-bottom-negative-large{margin-bottom:-50px!important}.margin-bottom-negative-xl{margin-bottom:-80px!important}.margin-bottom-negative-xl{margin-bottom:-100px!important}.ratio-wide{height:0;overflow:hidden;padding-top:56%;position:relative;width:100%}.ratio-wide>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-square{height:0;overflow:hidden;padding-top:56%;position:relative;width:100%}.ratio-square>*{position:absolute;top:0;left:0;width:100%;height:100%}.clear:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}*{font-family:Poppins,sans-serif,Arial;-webkit-font-smoothing:antialiased;font-weight:300}h1,h2,h3,h4,h5,h6{margin:0}h4,h5,h6{font-weight:400}.link,a{color:#1e849e;text-decoration:none;border-left:2px solid transparent;border-right:2px solid transparent;border-bottom:solid 1px transparent}.link:hover,a:hover{border-bottom:dotted 1px #1e849e}.link.disabled,a.disabled{opacity:.5}.link.disabled:hover,a.disabled:hover{border-bottom:none}.link.tag:hover,a.tag:hover{border-bottom:none;opacity:.9}b,strong{font-weight:500}p{margin:0 0 20px 0;line-height:30px}p.note{color:#b9b9b9}.note,small{color:#797979}.text-size-small{font-size:13px}.text-size-normal{font-size:16px}.text-one-liner{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-bold{font-weight:400!important}.text-danger{color:#f53d3d}.text-success{color:#1bbf61}.text-upper{text-transform:uppercase}.text-warning{color:#ffed4d}.text-focus{color:#f02e65}.text-fade{color:#b9b9b9}.text-disclaimer{font-size:11px;color:#b9b9b9}.text-fade-extra{color:#b9b9b9;opacity:.5}.text-line-high-large{line-height:30px}.text-line-high-xl{line-height:40px}.text-sign{margin:5px 0;font-size:25px;width:25px;height:25px;line-height:25px;display:inline-block}.text-align-center{text-align:center}.text-align-start{text-align:right}.text-align-end{text-align:left}.text-align-left{text-align:left}.text-align-right{text-align:right}.text-dir-ltr{direction:ltr;display:inline-block}.text-dir-rtl{direction:rtl;display:inline-block}.icon-dot-3:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}table{width:calc(100% + 60px);font-size:14px;border-collapse:collapse;margin:-30px;border-radius:10px;overflow:hidden;position:relative;table-layout:fixed}table thead{box-shadow:0 0 2px rgba(0,0,0,.25);border-bottom:solid 1px #f1f3f5}table thead th{position:sticky;top:0}table.small{font-size:12px}table.open-end tbody tr:last-child{border-bottom:none;font-weight:700;background:#f7fbf7}table.full tbody td,table.full tbody th{vertical-align:top;white-space:normal;overflow:auto;line-height:24px;padding-top:20px;padding-bottom:20px;height:auto}table .avatar{width:30px;height:30px}table tr{border-bottom:solid 1px #f1f3f5}table tr:last-child{border-bottom:none}table tr:nth-child(even){background:#fbfbfb}table th{text-align:right;font-weight:400}table th i{color:#b9b9b9;font-size:10px;display:inline-block;vertical-align:top;line-height:16px;padding:0 3px}table td,table th{height:65px;padding:0 15px;line-height:50px}table td:first-child,table th:first-child{padding-right:30px}table td:last-child,table th:last-child{padding-left:30px}@media only screen and (max-width:550px){table td:first-child,table th:first-child{width:auto}}table td,table th{overflow:hidden;white-space:nowrap}@media only screen and (max-width:550px),only screLine truncated
|
||||
.pull-start{float:right}.pull-end{float:left}img[src=""]{visibility:hidden;display:inline-block}.margin-end{margin-left:20px!important}.margin-start{margin-right:20px!important}.margin-end-small{margin-left:10px!important}.margin-start-small{margin-right:10px!important}.margin-end-large{margin-left:50px!important}.margin-start-large{margin-right:50px!important}.margin-end-no{margin-left:0!important}.margin-start-no{margin-right:0!important}.margin-top{margin-top:30px!important}.margin-bottom{margin-bottom:30px!important}.margin-top-no{margin-top:0!important}.margin-bottom-no{margin-bottom:0!important}.margin-top-xxl{margin-top:140px!important}.margin-top-xl{margin-top:80px!important}.margin-top-large{margin-top:50px!important}.margin-top-small{margin-top:15px!important}.margin-top-tiny{margin-top:5px!important}.margin-top-negative{margin-top:-30px!important}.margin-top-negative-tiny{margin-top:-5px!important}.margin-top-negative-small{margin-top:-15px!important}.margin-top-negative-large{margin-top:-50px!important}.margin-top-negative-xl{margin-top:-80px!important}.margin-top-negative-xxl{margin-top:-100px!important}.margin-bottom-xxl{margin-bottom:140px!important}.margin-bottom-xl{margin-bottom:80px!important}.margin-bottom-large{margin-bottom:50px!important}.margin-bottom-small{margin-bottom:15px!important}.margin-bottom-tiny{margin-bottom:5px!important}.margin-bottom-negative{margin-bottom:-30px!important}.margin-bottom-negative-tiny{margin-bottom:-5px!important}.margin-bottom-negative-small{margin-bottom:-15px!important}.margin-bottom-negative-large{margin-bottom:-50px!important}.margin-bottom-negative-xl{margin-bottom:-80px!important}.margin-bottom-negative-xl{margin-bottom:-100px!important}.ratio-wide{height:0;overflow:hidden;padding-top:56%;position:relative;width:100%}.ratio-wide>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-square{height:0;overflow:hidden;padding-top:56%;position:relative;width:100%}.ratio-square>*{position:absolute;top:0;left:0;width:100%;height:100%}.clear:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}*{font-family:Poppins,sans-serif,Arial;-webkit-font-smoothing:antialiased;font-weight:300}h1,h2,h3,h4,h5,h6{margin:0}h4,h5,h6{font-weight:400}.link,a{color:#1e849e;text-decoration:none;border-left:2px solid transparent;border-right:2px solid transparent;border-bottom:solid 1px transparent}.link:hover,a:hover{border-bottom:dotted 1px #1e849e}.link.disabled,a.disabled{opacity:.5}.link.disabled:hover,a.disabled:hover{border-bottom:none}.link.tag:hover,a.tag:hover{border-bottom:none;opacity:.9}b,strong{font-weight:500}p{margin:0 0 20px 0;line-height:30px}p.note{color:#b9b9b9}.note,small{color:#797979}.text-size-small{font-size:13px}.text-size-normal{font-size:16px}.text-one-liner{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-bold{font-weight:400!important}.text-danger{color:#f53d3d}.text-success{color:#1bbf61}.text-upper{text-transform:uppercase}.text-warning{color:#ffed4d}.text-focus{color:#f02e65}.text-fade{color:#b9b9b9}.text-disclaimer{font-size:11px;color:#b9b9b9}.text-fade-extra{color:#b9b9b9;opacity:.5}.text-line-high-large{line-height:30px}.text-line-high-xl{line-height:40px}.text-sign{margin:5px 0;font-size:25px;width:25px;height:25px;line-height:25px;display:inline-block}.text-align-center{text-align:center}.text-align-start{text-align:right}.text-align-end{text-align:left}.text-align-left{text-align:left}.text-align-right{text-align:right}.text-dir-ltr{direction:ltr;display:inline-block}.text-dir-rtl{direction:rtl;display:inline-block}.icon-dot-3:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}table{width:calc(100% + 60px);font-size:14px;border-collapse:collapse;margin:-30px;border-radius:10px;overflow:hidden;position:relative;table-layout:fixed}table thead{box-shadow:0 0 2px rgba(0,0,0,.25);border-bottom:solid 1px #f1f3f5}table thead th{position:sticky;top:0}table.small{font-size:12px}table.open-end tbody tr:last-child{border-bottom:none;font-weight:700;background:#f7fbf7}table.full tbody td,table.full tbody th{vertical-align:top;white-space:normal;overflow:auto;line-height:24px;padding-top:20px;padding-bottom:20px;height:auto}table .avatar{width:30px;height:30px}table tr{border-bottom:solid 1px #f1f3f5}table tr:last-child{border-bottom:none}table tr:nth-child(even){background:#fbfbfb}table th{text-align:right;font-weight:400}table th i{color:#b9b9b9;font-size:10px;display:inline-block;vertical-align:top;line-height:16px;padding:0 3px}table td,table th{height:65px;padding:0 15px;line-height:50px}table td:first-child,table th:first-child{padding-right:30px}table td:last-child,table th:last-child{padding-left:30px}@media only screen and (max-width:550px){table td:first-child,table th:first-child{width:auto}}table td,table th{overflow:hidden;white-space:nowrap}@media only screen and (max-width:550px),only screLine truncated
|
||||
@@ -20,9 +20,9 @@ while(match=REGEX_PARAMETERS_VALUES.exec(functionAsString)){params.push(match[1]
|
||||
return params;}
|
||||
let args=getParams(target);return target.apply(target,args.map(function(value){return self.get(value.trim());}));};let path=function(path,value,as,prefix){as=(as)?as:container.get('$as');prefix=(prefix)?prefix:container.get('$prefix');path=((path.indexOf('.')>-1)?path.replace(as+'.',prefix+'.'):path.replace(as,prefix)).split('.');let name=path.shift();let object=this.get(name);let result=null;while(path.length>1){if(!object){return null;}
|
||||
object=object[path.shift()];}
|
||||
if(value!==null&&value!==undefined){object[path.shift()]=value;return true;}
|
||||
let shift=path.shift();if(value!==null&&value!==undefined&&object&&shift&&object[shift]){object[shift]=value;return true;}
|
||||
if(!object){return null;}
|
||||
let shift=path.shift();if(!shift){result=object;}
|
||||
if(!shift){result=object;}
|
||||
else{return object[shift];}
|
||||
return result;};let bind=function(element,path,callback,as,prefix){as=(as)?as:container.get('$as');prefix=(prefix)?prefix:container.get('$prefix');let event=((path.indexOf('.')>-1)?path.replace(as+'.',prefix+'.'):path.replace(as,prefix))+'.changed';let service=event.split('.').slice(0,1).pop();listeners[service]=listeners[service]||{};listeners[service][event]=true;let printer=()=>{if(!document.body.contains(element)){element=null;document.removeEventListener(event,printer,false);return false;}
|
||||
callback();};document.addEventListener(event,printer);};let container={set:set,get:get,resolve:resolve,path:path,bind:bind,stock:stock,listeners:listeners,};set('container',container,true,false);return container;}();window.ls.container.set('http',function(document){let globalParams=[],globalHeaders=[];let addParam=function(url,param,value){param=encodeURIComponent(param);let a=document.createElement('a');param+=(value?"="+encodeURIComponent(value):"");a.href=url;a.search+=(a.search?"&":"")+param;return a.href;};let request=function(method,url,headers,payload,progress){let i;if(-1===['GET','POST','PUT','DELETE','TRACE','HEAD','OPTIONS','CONNECT','PATCH'].indexOf(method)){throw new Error('var method must contain a valid HTTP method name');}
|
||||
|
||||
@@ -2,31 +2,8 @@
|
||||
window.ls.container.get('view').add({
|
||||
selector: 'data-switch',
|
||||
controller: function(element, router, document) {
|
||||
let debug = (element.dataset['debug']);
|
||||
|
||||
let project = router.params.project || null;
|
||||
|
||||
if(project) {
|
||||
if(debug) { console.log('project-load-start-init'); }
|
||||
document.dispatchEvent(new CustomEvent('project-load'));
|
||||
}
|
||||
|
||||
document.addEventListener('state-changed', function () {
|
||||
if(router.params.project && project !== router.params.project) {
|
||||
if(debug) { console.log('project-load-init'); }
|
||||
document.dispatchEvent(new CustomEvent('project-load'));
|
||||
project = router.params.project;
|
||||
}
|
||||
});
|
||||
|
||||
element.addEventListener('change', function () {
|
||||
if (debug) { console.log('change init', element.value); }
|
||||
|
||||
if(element.value && element.value !== project) {
|
||||
if (debug) { console.log('Changed: selected project from list');}
|
||||
|
||||
return router.change('/console/home?project=' + element.value);
|
||||
}
|
||||
return router.change('/console/home?project=' + element.value);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
&:after {
|
||||
width: 2px;
|
||||
right: 20px;
|
||||
.func-end(20px);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user