Use new delegation for all tabs

This commit is contained in:
MattIPv4
2020-04-28 12:26:46 +01:00
parent 10c7ced0b7
commit 1df3ab88f6
11 changed files with 227 additions and 217 deletions

View File

@@ -4,51 +4,66 @@
<script>
import i18n from '../../i18n';
import delegatedFromDefaults from '../../util/delegated_from_defaults';
import computedFromDefaults from '../../util/computed_from_defaults';
const defaults = {
https: true,
http2: true,
forceHttps: true,
hsts: true,
hstsSubdomains: true,
hstsPreload: true,
certType: 'letsEncrypt',
letsEncryptEmail: '',
sslCertificate: '',
sslCertificateKey: '',
https: {
default: true,
enabled: true,
},
http2: {
default: true,
enabled: true,
},
forceHttps: {
default: true,
enabled: true,
},
hsts: {
default: true,
enabled: true,
},
hstsSubdomains: {
default: true,
enabled: true,
},
hstsPreload: {
default: true,
enabled: true,
},
certType: {
default: 'letsEncrypt',
options: ['letsEncrypt', 'custom'],
enabled: true,
},
letsEncryptEmail: {
default: '',
enabled: true,
},
sslCertificate: {
default: '',
enabled: false,
},
sslCertificateKey: {
default: '',
enabled: false,
},
};
export default {
name: 'DomainHTTPS',
name: 'DomainHTTPS', // Component name
display: 'HTTPS', // Display name for tab
key: 'https', // Key for data in parent
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
props: {
data: Object,
data: Object, // Data delegated back to us from parent
},
data () {
return {
i18n,
defaults,
...defaults,
};
},
created () {
if (this.$props.data) {
for (const key in this.$props.data) {
if (key in defaults) {
this.$data[key] = this.$props.data[key];
}
}
}
},
methods: {
exports() {
return Object.keys(defaults).reduce((prev, key) => {
prev[key] = this.$data[key];
return prev;
}, {});
},
},
changes() {
return Object.keys(defaults).filter(key => defaults[key] !== this.$data[key]).length;
},
computed: computedFromDefaults(defaults), // Getters & setters for the delegated data
};
</script>

View File

@@ -4,43 +4,33 @@
<script>
import i18n from '../../i18n';
import delegatedFromDefaults from '../../util/delegated_from_defaults';
import computedFromDefaults from '../../util/computed_from_defaults';
const defaults = {
accessLog: false,
errorLog: false,
accessLog: {
default: false,
enabled: true,
},
errorLog: {
default: false,
enabled: true,
},
};
export default {
name: 'DomainLogging',
name: 'DomainLogging', // Component name
display: 'Logging', // Display name for tab
key: 'logging', // Key for data in parent
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
props: {
data: Object,
data: Object, // Data delegated back to us from parent
},
data () {
return {
i18n,
defaults,
...defaults,
};
},
created () {
if (this.$props.data) {
for (const key in this.$props.data) {
if (key in defaults) {
this.$data[key] = this.$props.data[key];
}
}
}
},
methods: {
exports() {
return Object.keys(defaults).reduce((prev, key) => {
prev[key] = this.$data[key];
return prev;
}, {});
},
changes() {
return Object.keys(defaults).filter(key => defaults[key] !== this.$data[key]).length;
},
},
computed: computedFromDefaults(defaults), // Getters & setters for the delegated data
};
</script>

View File

@@ -4,45 +4,41 @@
<script>
import i18n from '../../i18n';
import delegatedFromDefaults from '../../util/delegated_from_defaults';
import computedFromDefaults from '../../util/computed_from_defaults';
const defaults = {
php: true,
wordPressRules: false,
drupalRules: false,
magentoRules: false,
php: {
default: true,
enabled: true,
},
wordPressRules: {
default: false,
enabled: true,
},
drupalRules: {
default: false,
enabled: true,
},
magentoRules: {
default: false,
enabled: true,
},
};
export default {
name: 'DomainPHP',
name: 'DomainPHP', // Component name
display: 'PHP', // Display name for tab
key: 'php', // Key for data in parent
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
props: {
data: Object,
data: Object, // Data delegated back to us from parent
},
data () {
return {
i18n,
defaults,
...defaults,
};
},
created () {
if (this.$props.data) {
for (const key in this.$props.data) {
if (key in defaults) {
this.$data[key] = this.$props.data[key];
}
}
}
},
methods: {
exports() {
return Object.keys(defaults).reduce((prev, key) => {
prev[key] = this.$data[key];
return prev;
}, {});
},
},
changes() {
return Object.keys(defaults).filter(key => defaults[key] !== this.$data[key]).length;
},
computed: computedFromDefaults(defaults), // Getters & setters for the delegated data
};
</script>

View File

@@ -4,49 +4,57 @@
<script>
import i18n from '../../i18n';
import delegatedFromDefaults from '../../util/delegated_from_defaults';
import computedFromDefaults from '../../util/computed_from_defaults';
const defaults = {
frontend: false,
php: true,
django: false,
nodejs: false,
singlePageApplication: false,
wordPress: false,
drupal: false,
magento: false,
frontend: {
default: false,
enabled: true,
},
php: {
default: true,
enabled: true,
},
django: {
default: false,
enabled: true,
},
nodejs: {
default: false,
enabled: true,
},
singlePageApplication: {
default: false,
enabled: true,
},
wordPress: {
default: false,
enabled: true,
},
drupal: {
default: false,
enabled: true,
},
magento: {
default: false,
enabled: true,
},
};
export default {
name: 'DomainPresets',
name: 'DomainPresets', // Component name
display: 'Presets', // Display name for tab
key: 'presets', // Key for data in parent
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
props: {
data: Object,
data: Object, // Data delegated back to us from parent
},
data () {
return {
i18n,
defaults,
...defaults,
};
},
created () {
if (this.$props.data) {
for (const key in this.$props.data) {
if (key in defaults) {
this.$data[key] = this.$props.data[key];
}
}
}
},
methods: {
exports() {
return Object.keys(defaults).reduce((prev, key) => {
prev[key] = this.$data[key];
return prev;
}, {});
},
changes() {
return Object.keys(defaults).filter(key => defaults[key] !== this.$data[key]).length;
},
},
computed: computedFromDefaults(defaults), // Getters & setters for the delegated data
};
</script>

View File

@@ -1,7 +1,6 @@
<template>
<div>
Hello world python
<input v-model="test" type="text" />
</div>
</template>
@@ -17,11 +16,7 @@
},
djangoRules: {
default: false,
enabled: true,
},
test: {
default: '',
enabled: true,
enabled: false,
},
};

View File

@@ -4,44 +4,37 @@
<script>
import i18n from '../../i18n';
import delegatedFromDefaults from '../../util/delegated_from_defaults';
import computedFromDefaults from '../../util/computed_from_defaults';
const defaults = {
reverseProxy: false,
path: '/',
proxyPass: '',
reverseProxy: {
default: false,
enabled: true,
},
path: {
default: '/',
enabled: false,
},
proxyPass: {
default: 'http://127.0.0.1:3000',
enabled: false,
},
};
export default {
name: 'DomainReverseProxy',
name: 'DomainReverseProxy', // Component name
display: 'Reverse proxy', // Display name for tab
key: 'reverseProxy', // Key for data in parent
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
props: {
data: Object,
data: Object, // Data delegated back to us from parent
},
data () {
return {
i18n,
defaults,
...defaults,
};
},
created () {
if (this.$props.data) {
for (const key in this.$props.data) {
if (key in defaults) {
this.$data[key] = this.$props.data[key];
}
}
}
},
methods: {
exports() {
return Object.keys(defaults).reduce((prev, key) => {
prev[key] = this.$data[key];
return prev;
}, {});
},
},
changes() {
return Object.keys(defaults).filter(key => defaults[key] !== this.$data[key]).length;
},
computed: computedFromDefaults(defaults), // Getters & setters for the delegated data
};
</script>

View File

@@ -4,45 +4,43 @@
<script>
import i18n from '../../i18n';
import delegatedFromDefaults from '../../util/delegated_from_defaults';
import computedFromDefaults from '../../util/computed_from_defaults';
const defaults = {
root: true,
index: 'index.php',
fallbackRouting: ['index.php'],
legacyPhpRouting: false,
root: {
default: true,
enabled: true,
},
index: {
default: 'index.php',
options: ['index.html', 'index.php'],
enabled: true,
},
fallbackRouting: {
default: ['index.php'],
options: ['index.html', 'index.php'],
enabled: true,
},
legacyPhpRouting: {
default: false,
enabled: true,
},
};
export default {
name: 'DomainRouting',
name: 'DomainRouting', // Component name
display: 'Routing', // Display name for tab
key: 'routing', // Key for data in parent
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
props: {
data: Object,
data: Object, // Data delegated back to us from parent
},
data () {
return {
i18n,
defaults,
...defaults,
};
},
created () {
if (this.$props.data) {
for (const key in this.$props.data) {
if (key in defaults) {
this.$data[key] = this.$props.data[key];
}
}
}
},
methods: {
exports() {
return Object.keys(defaults).reduce((prev, key) => {
prev[key] = this.$data[key];
return prev;
}, {});
},
changes() {
return Object.keys(defaults).filter(key => defaults[key] !== this.$data[key]).length;
},
},
computed: computedFromDefaults(defaults), // Getters & setters for the delegated data
};
</script>

View File

@@ -7,47 +7,57 @@
<script>
import i18n from '../../i18n';
import delegatedFromDefaults from '../../util/delegated_from_defaults';
import computedFromDefaults from '../../util/computed_from_defaults';
const defaults = {
domain: 'example.com',
path: '',
documentRoot: '',
wwwSubdomain: false,
cdnSubdomain: false,
redirectSubdomains: true,
domain: {
default: 'example.com',
enabled: true,
},
path: {
default: '',
enabled: true,
},
documentRoot: {
default: '/public',
enabled: true,
},
wwwSubdomain: {
default: false,
enabled: true,
},
cdnSubdomain: {
default: false,
enabled: false,
},
redirectSubdomains: {
default: true,
enabled: true,
},
listenIpv4: {
default: '*',
enabled: true,
},
listenIpv6: {
default: '::',
enabled: true,
},
};
export default {
name: 'DomainServer',
name: 'DomainServer', // Component name
display: 'Server', // Display name for tab
key: 'server', // Key for data in parent
delegated: delegatedFromDefaults(defaults), // Data the parent will present here
props: {
data: Object,
data: Object, // Data delegated back to us from parent
},
data () {
return {
i18n,
defaults,
...defaults,
};
},
created () {
if (this.$props.data) {
for (const key in this.$props.data) {
if (key in defaults) {
this.$data[key] = this.$props.data[key];
}
}
}
},
methods: {
exports() {
return Object.keys(defaults).reduce((prev, key) => {
prev[key] = this.$data[key];
return prev;
}, {});
},
changes() {
return Object.keys(defaults).filter(key => defaults[key] !== this.$data[key]).length;
},
},
computed: computedFromDefaults(defaults), // Getters & setters for the delegated data
};
</script>