/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
import { createRoot, createSignal, createState, createEffect } from 'solid-js';
import { r } from 'solid-js/dom';
function createLocalState(initState) {
const [state, setState] = createState(initState);
if (localStorage.odoodockerssh) { setState(JSON.parse(localStorage.odoodockerssh)); }
createEffect(() => localStorage.odoodockerssh = JSON.stringify(state));
return [state, setState];
}
const initialState = {
address: '', port: '', username: '', key: '', password: '',
database: '', databases: [], modules: '', serverlog: ''
};
const OdooDockerSshAdminConfig = () => {
const [state, setState] = createLocalState(initialState);
const valueSet = ({target}) => setState(target.name, target.value);
return
};
const OdooDockerSshAdminDatabases = () => {
const [state, setState] = createLocalState(initialState);
const valueSet = ({target}) => setState(target.name, target.value);
const add = (e) => {
e.preventDefault();
if (state.database) {
let database = {name: state.database, checked: false};
setState(['databases', [...state.databases, database]], ['database', '']);
}
};
const inverseCheck = () => {
let databases = state.databases.map((db) => Object.assign({}, db));
setState('databases', databases.map((db) => Object.assign(db, {checked: !db.checked})));
};
const allCheck = () => {
let databases = state.databases.map((db) => Object.assign({}, db));
setState('databases', databases.map((db) => Object.assign(db, {checked: true})));
};
const noCheck = () => {
let databases = state.databases.map((db) => Object.assign({}, db));
setState('databases', databases.map((db) => Object.assign(db, {checked: false})));
};
const toggle = ({target: {checked}}, name) => {
setState('databases', db => db.name === name, {name: name, checked: checked});
};
const remove = (name) => {
setState('databases', state.databases.filter(db => db.name !== name));
};
return
đ Bases de donnĂ©es
Merci de renseigner toutes les bases de votre domaine ici. Pour effectuer une installation ou mise à jour de module, sélectionnez les bases sur lesquelles agir.
â Inverser la sĂ©lection
â SĂ©lectionner tout
â» SĂ©lectionner aucun
};
const OdooDockerSshAdminActions = () => {
const [state, setState] = createLocalState(initialState);
return
đ© Actions
⩠Odoo : démarrer
âč Odoo : arrĂȘter
đ Odoo : redĂ©marrer
⩠Frontal : démarrer
âč Frontal : arrĂȘter
đ Frontal : redĂ©marrer
⩠Moteur de base de données : démarrer
âč Moteur de base de donnĂ©es : arrĂȘter
đ Moteur de base de donnĂ©es : redĂ©marrer
};
const OdooDockerSshAdminModules = () => {
const [state, setState] = createLocalState(initialState);
const valueSet = ({target}) => setState(target.name, target.value);
const checkedDatabases = (databases) => {
let names = databases.filter((db) => db.checked).map((db) => db.name);
return names.length ? names.join(', ') : 'Aucune base sélectionnée';
};
return
đ Modules
Bases sélectionnées : {checkedDatabases(state.databases)}
Installer
Mettre Ă jour
};
const OdooDockerSshAdminServerLog = () => {
const [state, setState] = createLocalState(initialState);
const serverlogClean = () => setState('serverlog', '');
return
đ„ Retour serveur
{(state.serverlog)}
đą Nettoyer
};
const OdooDockerSshAdmin = () => {
const [visibleTab, setVisibleTab] = createSignal('configuration');
const getClassName = (name) => visibleTab() === name ? 'active' : '';
return <>
Odoo Docker SSH Admin
setVisibleTab('configuration')} className={(getClassName('configuration'))}>
đ Configuration
setVisibleTab('actions')} className={(getClassName('actions'))}>
đ© Actions
setVisibleTab('databases')} className={(getClassName('databases'))}>
đ Bases de donnĂ©es
setVisibleTab('modules')} className={(getClassName('modules'))}>
đ Modules
setVisibleTab('serverlog')} className={(getClassName('serverlog'))}>
đ„ Retour serveur
<$ when={(visibleTab() === 'configuration')}> $>
<$ when={(visibleTab() === 'databases')}> $>
<$ when={(visibleTab() === 'modules')}> $>
<$ when={(visibleTab() === 'actions')}> $>
<$ when={(visibleTab() === 'serverlog')}> $>
>
}
createRoot(() => document.body.appendChild( ));