- Improved/Fixed 3rd party system Links (dotlan, eveeye, anoik), closed #859
- Improved UI on `/setup` page. Info panels are collapsible now
This commit is contained in:
@@ -18,6 +18,9 @@ define([
|
||||
// navigation
|
||||
navigationElementId: 'pf-navbar', // id for navbar element
|
||||
|
||||
// sticky panel
|
||||
stickyPanelClass: 'pf-landing-sticky-panel', // class for sticky panels
|
||||
|
||||
hiddenByAttributeClass: 'pf-hidden-by-attr', // class for elements that are hidden/shown by [data-attr] value
|
||||
shownByAttributeClass: 'pf-shown-by-attr', // class for elements that are hidden/shown by [data-attr] value
|
||||
|
||||
@@ -85,10 +88,17 @@ define([
|
||||
// collapse ---------------------------------------------------------------------------------------------------
|
||||
setCollapseObserver(body, '[data-toggle="collapse"]');
|
||||
|
||||
// panel actions ----------------------------------------------------------------------------------------------
|
||||
let collapsedState = false;
|
||||
$('.' + config.stickyPanelClass + ' a[data-panel-action="collapse-all"]').on('click', function(e){
|
||||
e.preventDefault();
|
||||
$('.row.collapse').collapse(collapsedState ? 'show' : 'hide');
|
||||
collapsedState = !collapsedState;
|
||||
});
|
||||
|
||||
// buttons ----------------------------------------------------------------------------------------------------
|
||||
// exclude "download" && "navigation" buttons
|
||||
body.find('.btn')
|
||||
.not('.navbar-fixed-bottom .btn')
|
||||
.not('[data-action]')
|
||||
.not('[href^="?export"]')
|
||||
.on('click', function(){
|
||||
|
||||
@@ -20,12 +20,12 @@ define([
|
||||
|
||||
// headline toolbar
|
||||
moduleHeadlineIconClass: 'pf-module-icon-button', // class for toolbar icons in the head
|
||||
textActionIconCopyClass: 'pf-module-icon-button-copy', // class for text action "copy"
|
||||
|
||||
// breadcrumb
|
||||
constellationLinkClass: 'pf-system-info-constellation', // class for "constellation" name
|
||||
regionLinkClass: 'pf-system-info-region', // class for "region" name
|
||||
typeLinkClass: 'pf-system-info-type', // class for "type" name
|
||||
urlLinkClass: 'pf-system-info-url', // class for "url" copy link
|
||||
|
||||
// info col/table
|
||||
systemInfoSectionClass: 'pf-system-info-section', // class for system info section
|
||||
@@ -193,20 +193,25 @@ define([
|
||||
* @param systemData
|
||||
*/
|
||||
let getThirdPartySystemLinks = (pages, systemData) => {
|
||||
let urls = {};
|
||||
let links = [];
|
||||
let isWormhole = MapUtil.getSystemTypeInfo(Util.getObjVal(systemData, 'type.id'), 'name') === 'w-space';
|
||||
let systemName = Util.getObjVal(systemData, 'name') || '';
|
||||
let regionName = Util.getObjVal(systemData, 'region.name') || '';
|
||||
|
||||
let validUrls = 0;
|
||||
let setDestination = e => {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
Util.setDestination('set_destination', 'system', {id: systemData.systemId, name: systemData.name});
|
||||
};
|
||||
|
||||
for(let i = 0; i < pages.length; i++){
|
||||
let url = false;
|
||||
let link = null;
|
||||
let showInModuleHead = true;
|
||||
let domain = Util.getObjVal(Init, 'url.' + pages[i]);
|
||||
if(domain || pages[i] === 'eve'){
|
||||
if(domain){
|
||||
// linkOut url
|
||||
let url = false;
|
||||
switch(pages[i]){
|
||||
case 'eve':
|
||||
url = 'https://client'; // fake url
|
||||
break;
|
||||
case 'dotlan':
|
||||
let systemNameTemp = systemName.replace(/ /g, '_');
|
||||
let regionNameTemp = regionName.replace(/ /g, '_');
|
||||
@@ -231,16 +236,41 @@ define([
|
||||
|
||||
if(url){
|
||||
let urlObj = new URL(url);
|
||||
urls[++validUrls + '_url'] = {
|
||||
page: pages[i],
|
||||
domain: urlObj.hostname,
|
||||
link = {
|
||||
title: urlObj.hostname,
|
||||
url: url
|
||||
};
|
||||
}
|
||||
}else{
|
||||
// custom callback
|
||||
let action = false;
|
||||
let title = false;
|
||||
switch(pages[i]){
|
||||
case 'eve':
|
||||
action = setDestination;
|
||||
title = 'set destination';
|
||||
showInModuleHead = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if(action){
|
||||
link = {
|
||||
title: title|| pages[i],
|
||||
action: action
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(link){
|
||||
links.push(Object.assign({}, link, {
|
||||
page: pages[i],
|
||||
showInModuleHead: showInModuleHead
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
return urls;
|
||||
return links;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -326,6 +356,7 @@ define([
|
||||
sovereigntySecondary: sovereigntySecondary ? Object.assign({}, sovereigntyDefault, sovereigntySecondary) : undefined,
|
||||
static: staticsData,
|
||||
moduleHeadlineIconClass: config.moduleHeadlineIconClass,
|
||||
textActionIconCopyClass: config.textActionIconCopyClass,
|
||||
infoSectionClass: config.systemInfoSectionClass,
|
||||
descriptionSectionClass: config.descriptionSectionClass,
|
||||
sovSectionClass: config.systemSovSectionClass,
|
||||
@@ -378,9 +409,9 @@ define([
|
||||
systemConstellationLinkClass: config.constellationLinkClass,
|
||||
systemRegionLinkClass: config.regionLinkClass,
|
||||
systemTypeLinkClass: config.typeLinkClass,
|
||||
systemUrlLinkClass: config.urlLinkClass,
|
||||
systemUrlLinkClass: config.textActionIconCopyClass,
|
||||
ccpImageServerUrl: Init.url.ccpImageServer,
|
||||
thirdPartyLinks: getThirdPartySystemLinks(['eve', 'dotlan', 'eveeye', 'anoik'], systemData)
|
||||
thirdPartyLinks: getThirdPartySystemLinks(['dotlan', 'eveeye', 'anoik', 'eve'], systemData)
|
||||
};
|
||||
|
||||
requirejs(['text!templates/modules/system_info.html', 'mustache', 'summernote.loader'], (template, Mustache, Summernote) => {
|
||||
@@ -526,7 +557,7 @@ define([
|
||||
}
|
||||
|
||||
// copy system deeplink URL -------------------------------------------------------------------------------
|
||||
moduleElement.find('.' + config.urlLinkClass).on('click', function(){
|
||||
moduleElement.find('.' + config.textActionIconCopyClass).on('click', function(){
|
||||
let mapUrl = $(this).attr('data-url');
|
||||
Util.copyToClipboard(mapUrl).then(payload => {
|
||||
if(payload.data){
|
||||
@@ -562,6 +593,19 @@ define([
|
||||
return 'Loading...';
|
||||
};
|
||||
|
||||
// 3rd party click callbacks ------------------------------------------------------------------------------
|
||||
moduleElement.on('click', '[data-link]', e => {
|
||||
for(let link of data.thirdPartyLinks){
|
||||
if(
|
||||
e.target.dataset.link === link.page &&
|
||||
typeof link.action === 'function'
|
||||
){
|
||||
link.action(e);
|
||||
break;
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// init tooltips ------------------------------------------------------------------------------------------
|
||||
let tooltipElements = moduleElement.find('[data-toggle="tooltip"]');
|
||||
tooltipElements.tooltip({
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -18,6 +18,9 @@ define([
|
||||
// navigation
|
||||
navigationElementId: 'pf-navbar', // id for navbar element
|
||||
|
||||
// sticky panel
|
||||
stickyPanelClass: 'pf-landing-sticky-panel', // class for sticky panels
|
||||
|
||||
hiddenByAttributeClass: 'pf-hidden-by-attr', // class for elements that are hidden/shown by [data-attr] value
|
||||
shownByAttributeClass: 'pf-shown-by-attr', // class for elements that are hidden/shown by [data-attr] value
|
||||
|
||||
@@ -85,10 +88,17 @@ define([
|
||||
// collapse ---------------------------------------------------------------------------------------------------
|
||||
setCollapseObserver(body, '[data-toggle="collapse"]');
|
||||
|
||||
// panel actions ----------------------------------------------------------------------------------------------
|
||||
let collapsedState = false;
|
||||
$('.' + config.stickyPanelClass + ' a[data-panel-action="collapse-all"]').on('click', function(e){
|
||||
e.preventDefault();
|
||||
$('.row.collapse').collapse(collapsedState ? 'show' : 'hide');
|
||||
collapsedState = !collapsedState;
|
||||
});
|
||||
|
||||
// buttons ----------------------------------------------------------------------------------------------------
|
||||
// exclude "download" && "navigation" buttons
|
||||
body.find('.btn')
|
||||
.not('.navbar-fixed-bottom .btn')
|
||||
.not('[data-action]')
|
||||
.not('[href^="?export"]')
|
||||
.on('click', function(){
|
||||
|
||||
@@ -20,12 +20,12 @@ define([
|
||||
|
||||
// headline toolbar
|
||||
moduleHeadlineIconClass: 'pf-module-icon-button', // class for toolbar icons in the head
|
||||
textActionIconCopyClass: 'pf-module-icon-button-copy', // class for text action "copy"
|
||||
|
||||
// breadcrumb
|
||||
constellationLinkClass: 'pf-system-info-constellation', // class for "constellation" name
|
||||
regionLinkClass: 'pf-system-info-region', // class for "region" name
|
||||
typeLinkClass: 'pf-system-info-type', // class for "type" name
|
||||
urlLinkClass: 'pf-system-info-url', // class for "url" copy link
|
||||
|
||||
// info col/table
|
||||
systemInfoSectionClass: 'pf-system-info-section', // class for system info section
|
||||
@@ -193,20 +193,25 @@ define([
|
||||
* @param systemData
|
||||
*/
|
||||
let getThirdPartySystemLinks = (pages, systemData) => {
|
||||
let urls = {};
|
||||
let links = [];
|
||||
let isWormhole = MapUtil.getSystemTypeInfo(Util.getObjVal(systemData, 'type.id'), 'name') === 'w-space';
|
||||
let systemName = Util.getObjVal(systemData, 'name') || '';
|
||||
let regionName = Util.getObjVal(systemData, 'region.name') || '';
|
||||
|
||||
let validUrls = 0;
|
||||
let setDestination = e => {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
Util.setDestination('set_destination', 'system', {id: systemData.systemId, name: systemData.name});
|
||||
};
|
||||
|
||||
for(let i = 0; i < pages.length; i++){
|
||||
let url = false;
|
||||
let link = null;
|
||||
let showInModuleHead = true;
|
||||
let domain = Util.getObjVal(Init, 'url.' + pages[i]);
|
||||
if(domain || pages[i] === 'eve'){
|
||||
if(domain){
|
||||
// linkOut url
|
||||
let url = false;
|
||||
switch(pages[i]){
|
||||
case 'eve':
|
||||
url = 'https://client'; // fake url
|
||||
break;
|
||||
case 'dotlan':
|
||||
let systemNameTemp = systemName.replace(/ /g, '_');
|
||||
let regionNameTemp = regionName.replace(/ /g, '_');
|
||||
@@ -231,16 +236,41 @@ define([
|
||||
|
||||
if(url){
|
||||
let urlObj = new URL(url);
|
||||
urls[++validUrls + '_url'] = {
|
||||
page: pages[i],
|
||||
domain: urlObj.hostname,
|
||||
link = {
|
||||
title: urlObj.hostname,
|
||||
url: url
|
||||
};
|
||||
}
|
||||
}else{
|
||||
// custom callback
|
||||
let action = false;
|
||||
let title = false;
|
||||
switch(pages[i]){
|
||||
case 'eve':
|
||||
action = setDestination;
|
||||
title = 'set destination';
|
||||
showInModuleHead = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if(action){
|
||||
link = {
|
||||
title: title|| pages[i],
|
||||
action: action
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(link){
|
||||
links.push(Object.assign({}, link, {
|
||||
page: pages[i],
|
||||
showInModuleHead: showInModuleHead
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
return urls;
|
||||
return links;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -326,6 +356,7 @@ define([
|
||||
sovereigntySecondary: sovereigntySecondary ? Object.assign({}, sovereigntyDefault, sovereigntySecondary) : undefined,
|
||||
static: staticsData,
|
||||
moduleHeadlineIconClass: config.moduleHeadlineIconClass,
|
||||
textActionIconCopyClass: config.textActionIconCopyClass,
|
||||
infoSectionClass: config.systemInfoSectionClass,
|
||||
descriptionSectionClass: config.descriptionSectionClass,
|
||||
sovSectionClass: config.systemSovSectionClass,
|
||||
@@ -378,9 +409,9 @@ define([
|
||||
systemConstellationLinkClass: config.constellationLinkClass,
|
||||
systemRegionLinkClass: config.regionLinkClass,
|
||||
systemTypeLinkClass: config.typeLinkClass,
|
||||
systemUrlLinkClass: config.urlLinkClass,
|
||||
systemUrlLinkClass: config.textActionIconCopyClass,
|
||||
ccpImageServerUrl: Init.url.ccpImageServer,
|
||||
thirdPartyLinks: getThirdPartySystemLinks(['eve', 'dotlan', 'eveeye', 'anoik'], systemData)
|
||||
thirdPartyLinks: getThirdPartySystemLinks(['dotlan', 'eveeye', 'anoik', 'eve'], systemData)
|
||||
};
|
||||
|
||||
requirejs(['text!templates/modules/system_info.html', 'mustache', 'summernote.loader'], (template, Mustache, Summernote) => {
|
||||
@@ -526,7 +557,7 @@ define([
|
||||
}
|
||||
|
||||
// copy system deeplink URL -------------------------------------------------------------------------------
|
||||
moduleElement.find('.' + config.urlLinkClass).on('click', function(){
|
||||
moduleElement.find('.' + config.textActionIconCopyClass).on('click', function(){
|
||||
let mapUrl = $(this).attr('data-url');
|
||||
Util.copyToClipboard(mapUrl).then(payload => {
|
||||
if(payload.data){
|
||||
@@ -562,6 +593,19 @@ define([
|
||||
return 'Loading...';
|
||||
};
|
||||
|
||||
// 3rd party click callbacks ------------------------------------------------------------------------------
|
||||
moduleElement.on('click', '[data-link]', e => {
|
||||
for(let link of data.thirdPartyLinks){
|
||||
if(
|
||||
e.target.dataset.link === link.page &&
|
||||
typeof link.action === 'function'
|
||||
){
|
||||
link.action(e);
|
||||
break;
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// init tooltips ------------------------------------------------------------------------------------------
|
||||
let tooltipElements = moduleElement.find('[data-toggle="tooltip"]');
|
||||
tooltipElements.tooltip({
|
||||
|
||||
@@ -1,10 +1,18 @@
|
||||
<footer class="navbar-default navbar-fixed-bottom">
|
||||
<div class="container-fluid">
|
||||
<a href="{{ 'login' | alias }}" class="btn btn-fake navbar-btn">
|
||||
<i class="fas fa-arrow-left"></i> back
|
||||
</a>
|
||||
<a href="#pf-setup-server" class="btn btn-fake navbar-btn pull-right">
|
||||
<i class="fas fa-arrow-up"></i> top
|
||||
</a>
|
||||
</div>
|
||||
</footer>
|
||||
<set linkLogin="{{ 'login' | alias }}"/>
|
||||
<set p1="{{ array_merge([['icon' => 'fas fa-arrow-left', 'label' => 'back', 'href' => @linkLogin]], (array) @p1) }}" />
|
||||
<set p2="{{ array_merge([['icon' => 'fas fa-arrow-up', 'label' => 'top', 'href' => '#pf-setup-server']], (array) @p2) }}" />
|
||||
|
||||
<div class="hidden-xs pf-landing-sticky-panel pf-landing-sticky-panel--bottom pf-landing-sticky-panel--left">
|
||||
<ul class="fa-ul">
|
||||
<repeat group="{{ @p1 }}" value="{{ @link }}">
|
||||
<li><i class="fa-li {{ @link.icon }}"></i><a href="{{ @link.href }}" data-panel-action="{{ @link.action }}">{{ @link.label }}</a></li>
|
||||
</repeat>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="hidden-xs pf-landing-sticky-panel pf-landing-sticky-panel--bottom pf-landing-sticky-panel--right">
|
||||
<ul class="fa-ul">
|
||||
<repeat group="{{ @p2 }}" value="{{ @link }}">
|
||||
<li><i class="fa-li {{ @link.icon }}"></i><a href="{{ @link.href }}" data-panel-action="{{ @link.action }}">{{ @link.label }}</a></li>
|
||||
</repeat>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -15,10 +15,16 @@
|
||||
<h5><a href="javascript:void(0);" data-url="{{ajaxConstellationInfoUrl}}/{{system.constellation.id}}" class="{{systemConstellationLinkClass}} popup-ajax {{popoverTriggerClass}} {{#systemNameClass}}{{system.security}}{{/systemNameClass}}" title="constellation">{{system.constellation.name}}</a> <i class="fas fa-fw fa-angle-double-right"></i></h5>
|
||||
<h5>
|
||||
<span data-toggle="tooltip" title="system" class="{{#systemNameClass}}{{system.security}}{{/systemNameClass}}">{{system.name}}</span>
|
||||
<i class="fas fa-fw fa-copy {{moduleHeadlineIconClass}} {{systemUrlLinkClass}}" data-toggle="tooltip" title="copy link" data-url="{{systemUrl}}"></i>
|
||||
<i class="fas fa-fw fa-copy {{moduleHeadlineIconClass}} {{systemUrlLinkClass}}" data-toggle="tooltip" title="copy url" data-url="{{systemUrl}}"></i>
|
||||
{{#system.locked}}
|
||||
<i class="fas fa-fw fa-lock" data-toggle="tooltip" title="locked"></i>
|
||||
{{/system.locked}}
|
||||
|
||||
{{#thirdPartyLinks}}
|
||||
{{#showInModuleHead}}
|
||||
<a class="pf-bg-icon-inline" style="--bg-image: url('/public/img/icons/logo_{{page}}.png');" data-toggle="tooltip" title="{{ title }}" href="{{ url }}" target="_blank" rel="noopener"></a>
|
||||
{{/showInModuleHead}}
|
||||
{{/thirdPartyLinks}}
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
@@ -82,7 +88,7 @@
|
||||
{{/static}}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!--
|
||||
<div class="pf-resizearea">
|
||||
<table class="table table-condensed pf-table-fixed {{infoTableClass}}">
|
||||
<colgroup>
|
||||
@@ -94,21 +100,21 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Links</th>
|
||||
<th class="pf-table-cell-bg-image" rowspan="2">
|
||||
{{#thirdPartyLinks.1_url}}
|
||||
<a class="pf-table-cell-bg-image-wrapper smaller" style="--bg-image: url('/public/img/icons/logo_{{page}}.png');" data-toggle="tooltip" title="{{ domain }}" href="{{ url }}" target="_blank" rel="noopener"></a>
|
||||
{{/thirdPartyLinks.1_url}}
|
||||
</th>
|
||||
<th class="pf-table-cell-bg-image" rowspan="2">
|
||||
{{#thirdPartyLinks.2_url}}
|
||||
<a class="pf-table-cell-bg-image-wrapper smaller" style="--bg-image: url('/public/img/icons/logo_{{page}}.png');" data-toggle="tooltip" title="{{ domain }}" href="{{ url }}" target="_blank" rel="noopener"></a>
|
||||
{{/thirdPartyLinks.2_url}}
|
||||
</th>
|
||||
<th class="pf-table-cell-bg-image" rowspan="2">
|
||||
{{#thirdPartyLinks.3_url}}
|
||||
<a class="pf-table-cell-bg-image-wrapper smaller" style="--bg-image: url('/public/img/icons/logo_{{page}}.png');" data-toggle="tooltip" title="{{ domain }}" href="{{ url }}" target="_blank" rel="noopener"></a>
|
||||
{{/thirdPartyLinks.3_url}}
|
||||
</th>
|
||||
{{#thirdPartyLinks}}
|
||||
{{#showInModuleHead}}
|
||||
<th class="pf-table-cell-bg-image" rowspan="2"></th>
|
||||
{{/showInModuleHead}}
|
||||
{{^showInModuleHead}}
|
||||
<th class="pf-table-cell-bg-image" rowspan="2">
|
||||
{{#url}}
|
||||
<a class="pf-table-cell-bg-image-wrapper smaller" style="--bg-image: url('/public/img/icons/logo_{{page}}.png');" data-toggle="tooltip" title="{{ title }}" href="{{ url }}" target="_blank" rel="noopener"></a>
|
||||
{{/url}}
|
||||
{{^url}}
|
||||
<span class="pf-table-cell-bg-image-wrapper smaller pf-link" style="--bg-image: url('/public/img/icons/logo_{{page}}.png');" data-toggle="tooltip" title="{{ title }}" data-link="{{page}}"></span>
|
||||
{{/url}}
|
||||
</th>
|
||||
{{/showInModuleHead}}
|
||||
{{/thirdPartyLinks}}
|
||||
</tr>
|
||||
<tr>
|
||||
<th> </th>
|
||||
@@ -125,6 +131,7 @@
|
||||
<div class="pf-resizebar-bar"></div>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div id="pf-landing-admin-panel" class="hidden-xs pf-landing-sticky-panel">
|
||||
<div id="pf-landing-admin-panel" class="hidden-xs pf-landing-sticky-panel pf-landing-sticky-panel--right pf-landing-sticky-panel--bottom">
|
||||
<h4 class="text-center">Admin</h4>
|
||||
<ul class="fa-ul">
|
||||
<li><i class="fas fa-li fa-sign-in-alt"></i><a href="{{ @BASE }}{{ 'admin', ['*' => ''] | alias }}">SSO login</a></li>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div id="{{ stickyPanelServerId }}" class="hidden-xs {{ stickyPanelClass }}">
|
||||
<div id="{{ stickyPanelServerId }}" class="hidden-xs {{ stickyPanelClass }} {{ stickyPanelClass }}--left {{ stickyPanelClass }}--top">
|
||||
{{#server}}
|
||||
<h4>{{ name }}</h4>
|
||||
<ul class="fa-ul">
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</section>
|
||||
|
||||
<section id="pf-setup-server">
|
||||
<div class="container row-reverse">
|
||||
<div class="container row--reverse">
|
||||
<div class="row text-center pf-setup-body-server collapse in">
|
||||
|
||||
<div class="col-xs-12 col-md-6 pf-landing-pricing-panel">
|
||||
@@ -184,7 +184,7 @@
|
||||
</section>
|
||||
|
||||
<section id="pf-setup-environment">
|
||||
<div class="container row-reverse">
|
||||
<div class="container row--reverse">
|
||||
<div class="row text-center pf-setup-body-environment collapse in">
|
||||
<div class="col-xs-12 col-md-6 pf-landing-pricing-panel">
|
||||
{* Framework requirements (PHP) *}
|
||||
@@ -249,7 +249,7 @@
|
||||
</section>
|
||||
|
||||
<section id="pf-setup-settings">
|
||||
<div class="container row-reverse">
|
||||
<div class="container row--reverse">
|
||||
<div class="row text-center pf-setup-body-settings collapse in">
|
||||
<div class="col-xs-12 col-md-6 pf-landing-pricing-panel">
|
||||
<div class="panel panel-default pricing-big">
|
||||
@@ -404,7 +404,7 @@
|
||||
</section>
|
||||
|
||||
<section id="pf-setup-database">
|
||||
<div class="container row-reverse">
|
||||
<div class="container row--reverse">
|
||||
<div class="row text-center pf-setup-body-database collapse in">
|
||||
|
||||
<repeat group="{{ @checkDatabase }}" key="{{ @dbKey }}" value="{{ @dbInformation }}">
|
||||
@@ -916,7 +916,7 @@
|
||||
</section>
|
||||
|
||||
<section id="pf-setup-cache">
|
||||
<div class="container row-reverse">
|
||||
<div class="container row--reverse">
|
||||
<div class="row text-center pf-setup-body-cache collapse in">
|
||||
<check if="{{ @checkRedisInformation }}">
|
||||
<true>
|
||||
@@ -1045,7 +1045,7 @@
|
||||
</section>
|
||||
|
||||
<section id="pf-setup-socket">
|
||||
<div class="container row-reverse">
|
||||
<div class="container row--reverse">
|
||||
<div class="row text-center pf-setup-body-socket collapse in">
|
||||
|
||||
<repeat group="{{ @socketInformation }}" key="{{ @socketType }}" value="{{ @socketData }}">
|
||||
@@ -1185,7 +1185,7 @@
|
||||
</section>
|
||||
|
||||
<section id="pf-setup-cronjob">
|
||||
<div class="container row-reverse">
|
||||
<div class="container row--reverse">
|
||||
<div class="row text-center pf-setup-body-cronjob collapse in">
|
||||
|
||||
<div class="col-xs-12 col-md-6 pf-landing-pricing-panel">
|
||||
@@ -1285,7 +1285,7 @@
|
||||
</section>
|
||||
|
||||
<section id="pf-setup-administration">
|
||||
<div class="container row-reverse">
|
||||
<div class="container row--reverse">
|
||||
<div class="row text-center pf-setup-body-administration collapse in">
|
||||
<div class="col-xs-12 col-md-6 pf-landing-pricing-panel">
|
||||
|
||||
@@ -1407,28 +1407,36 @@
|
||||
</div>
|
||||
|
||||
<div class="panel-body no-padding">
|
||||
<repeat group="{{ @checkDirSize.dirAll }}" key="{{ @key }}" value="{{ @dirData }}">
|
||||
<div class="btn-group btn-group-justified">
|
||||
<span class="btn btn-default disabled btn-fake">
|
||||
{{ @dirData.label }}
|
||||
<kbd class="pull-right">{{ @dirData.path }} →
|
||||
<check if="{{ @dirData.size }}">
|
||||
<true>
|
||||
{{ @dirData.size }}
|
||||
</true>
|
||||
<false>
|
||||
0KB
|
||||
</false>
|
||||
</check>
|
||||
</kbd>
|
||||
</span>
|
||||
<repeat group="{{ @dirData.task }}" value="{{ @taskData }}">
|
||||
<a href="?{{ @taskData.action }}#pf-setup-administration" class="btn {{ @taskData.btn }}" role="button">
|
||||
<i class="fas fa-fw {{ @taskData.icon }}"></i> {{ @taskData.label }}
|
||||
</a>
|
||||
</repeat>
|
||||
</div>
|
||||
</repeat>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<repeat group="{{ @checkDirSize.dirAll }}" key="{{ @key }}" value="{{ @dirData }}">
|
||||
<tr>
|
||||
<td>{{ @dirData.label }}</td>
|
||||
<td class="col-xs-3 text-right">
|
||||
<kbd>{{ @dirData.path }} →
|
||||
<check if="{{ @dirData.size }}">
|
||||
<true>
|
||||
{{ @dirData.size }}
|
||||
</true>
|
||||
<false>
|
||||
0KB
|
||||
</false>
|
||||
</check>
|
||||
</kbd>
|
||||
</td>
|
||||
<td class="col-xs-6 no-padding">
|
||||
<div class="btn-group btn-group-justified">
|
||||
<repeat group="{{ @dirData.task }}" value="{{ @taskData }}">
|
||||
<a href="?{{ @taskData.action }}#pf-setup-administration" class="btn {{ @taskData.btn }}" role="button">
|
||||
<i class="fas fa-fw {{ @taskData.icon }}"></i> {{ @taskData.label }}
|
||||
</a>
|
||||
</repeat>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</repeat>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1443,12 +1451,23 @@
|
||||
</div>
|
||||
|
||||
<div class="panel-body no-padding">
|
||||
<div class="btn-group btn-group-justified">
|
||||
<span class="btn btn-default disabled btn-fake">Invalidate all Cookie data</span>
|
||||
<a href="?action=invalidateCookies#pf-setup-administration" class="btn btn-danger" role="button">
|
||||
<i class="fas fa-fw fa-trash"></i> Clear authentication data
|
||||
</a>
|
||||
</div>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Invalidate all Cookie data</td>
|
||||
<td class="col-xs-6 no-padding">
|
||||
<div class="btn-group btn-group-justified">
|
||||
<a class="btn btn-danger" href="?action=invalidateCookies#pf-setup-administration" role="button" >
|
||||
<i class="fas fa-fw fa-trash"></i> Clear authentication data
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1491,4 +1510,5 @@
|
||||
</nav>
|
||||
|
||||
{* footer *}
|
||||
<include href="templates/layout/footer_simple.html"/>
|
||||
<set panel2="{{ [['icon' => 'far fa-window-maximize', 'label' => 'toggle', 'action' => 'collapse-all']] }}" />
|
||||
<include href="templates/layout/footer_simple.html" with="p2={{ @panel2 }}"/>
|
||||
@@ -124,16 +124,6 @@ fieldset[disabled]{
|
||||
|
||||
// buttons ============================================================================================================
|
||||
.btn{
|
||||
// "fake" button (no user interaction)
|
||||
&.btn-fake{
|
||||
border: none;
|
||||
text-align: left;
|
||||
cursor: default;
|
||||
opacity: 1 !important;
|
||||
color: $gray-light !important;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
// progress bar inside button
|
||||
.btn-progress{
|
||||
position: absolute;
|
||||
|
||||
@@ -15,6 +15,7 @@ body{
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
// links ==========================================================================================
|
||||
a, .pf-link{
|
||||
color: $teal;
|
||||
will-change: color;
|
||||
@@ -30,6 +31,12 @@ a, .pf-link{
|
||||
&:focus{
|
||||
color: $teal;
|
||||
}
|
||||
|
||||
&.disabled{
|
||||
color: $navbar-default-link-color;
|
||||
pointer-events: none;
|
||||
cursor: default;
|
||||
}
|
||||
}
|
||||
|
||||
em,
|
||||
@@ -159,7 +166,7 @@ em,
|
||||
|
||||
.row{
|
||||
// swap render order
|
||||
&-reverse{
|
||||
&--reverse{
|
||||
display: flex;
|
||||
flex-direction: column-reverse;
|
||||
}
|
||||
@@ -242,15 +249,30 @@ em,
|
||||
user-select: text;
|
||||
}
|
||||
|
||||
// links ==========================================================================================
|
||||
a{
|
||||
&.disabled{
|
||||
color: $navbar-default-link-color;
|
||||
pointer-events: none;
|
||||
cursor: default;
|
||||
}
|
||||
%pf-bg-image-wrapper{
|
||||
background-size: contain;
|
||||
background-origin: content-box;
|
||||
background-repeat: no-repeat;
|
||||
background-image: var(--bg-image);
|
||||
background-position: bottom 0 right 0;
|
||||
image-rendering: -webkit-optimize-contrast;
|
||||
}
|
||||
|
||||
.pf-bg-icon-inline{
|
||||
@extend %pf-bg-image-wrapper;
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: -5px 5px;
|
||||
outline: 1px solid;
|
||||
outline-color: transparent;
|
||||
outline-offset: 2px;
|
||||
@include transition(outline-color 0.15s ease-out);
|
||||
|
||||
&:hover{
|
||||
outline-color: $teal;
|
||||
}
|
||||
}
|
||||
// alert messages =================================================================================
|
||||
.alert{
|
||||
will-change: opacity, transform;
|
||||
@@ -703,13 +725,8 @@ table{
|
||||
border-top-color: transparent !important;
|
||||
|
||||
.pf-table-cell-bg-image-wrapper{
|
||||
@extend %pf-bg-image-wrapper;
|
||||
display: block;
|
||||
background-size: contain;
|
||||
background-origin: content-box;
|
||||
background-repeat: no-repeat;
|
||||
background-image: var(--bg-image);
|
||||
background-position: bottom 0 right 0;
|
||||
image-rendering: -webkit-optimize-contrast;
|
||||
width: auto;
|
||||
height: 40px;
|
||||
padding: 2px 0;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
.pf-landing-sticky-panel{
|
||||
position: fixed;
|
||||
min-width: 100px;
|
||||
min-width: 65px;
|
||||
border-radius: 5px;
|
||||
padding: 7px;
|
||||
padding: 8px 10px;
|
||||
box-shadow: 0 4px 10px rgba(0,0,0,0.4);
|
||||
text-shadow: #000000b8 0 1px 1px; // improve text readability
|
||||
z-index: 100; // over "gallery slider"
|
||||
@@ -22,14 +22,20 @@
|
||||
ul + h4{
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
#pf-landing-server-panel{
|
||||
top: 50px;
|
||||
left: 10px;
|
||||
}
|
||||
&--top{
|
||||
top: 50px;
|
||||
}
|
||||
|
||||
#pf-landing-admin-panel{
|
||||
bottom: 10px;
|
||||
right: 10px;
|
||||
&--bottom{
|
||||
bottom: 10px;
|
||||
}
|
||||
|
||||
&--left{
|
||||
left: 10px;
|
||||
}
|
||||
|
||||
&--right{
|
||||
right: 10px;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user