module.exports.dashCard = function dashCard(data) { let { name, service, id, state, image, external_port, internal_port, ports, volumes, environment_variables, labels } = data; //disable controls for a docker container depending on its name let enabled = ""; if (name.startsWith('Dweeb')) { enabled = 'disabled=""'; } if ( external_port == undefined ) { external_port = 0; } if ( internal_port == undefined ) { internal_port = 0; } let shortened_name = name; if (name.length > 13) { shortened_name = name.slice(0, 10) + '...'; } let state_indicator = 'green'; if (state == 'exited') { state = 'stopped'; state_indicator = 'red'; } else if (state == 'paused') { state_indicator = 'orange'; } let app_name = name let modal = app_name.replaceAll(" ", "-"); let form_id = app_name.replaceAll("-", "_"); let restart_policy = 'unless-stopped'; let ports_data = []; if (ports) { ports_data = ports; } else { for (let i = 0; i < 12; i++) { let port_check = "checked"; let external = i; let internal = i; let protocol = "tcp"; ports_data.push({ check: port_check, external: external, internal: internal, protocol: protocol }); } } let volumes_data = []; if (volumes) { volumes_data = volumes; } else { for (let i = 0; i < 12; i++) { let vol_check = "checked"; let bind = i; let container = i; let readwrite = "rw"; volumes_data.push({ check: vol_check, bind: bind, container: container, readwrite: readwrite }); } } let env_data = []; if (environment_variables) { env_data = environment_variables; } else { for (let i = 0; i < 12; i++) { let env_check = "checked"; let env_name = i; let env_default = i; env_data.push({ check: env_check, name: env_name, default: env_default }); } } let label_data = []; if (labels) { label_data = labels; } else { for (let i = 0; i < 12; i++) { let label_check = "checked"; let label_name = i; let label_default = i; label_data.push({ check: label_check, name: label_name, value: label_default }); } } return `
${external_port}:${internal_port}
`; }