Markdown tables now have variable column width
This commit is contained in:
@@ -103,6 +103,51 @@ for i in $(seq 1 90); do
|
|||||||
done
|
done
|
||||||
echo "EspoCRM responded with HTTP $code (rc=$?)"
|
echo "EspoCRM responded with HTTP $code (rc=$?)"
|
||||||
|
|
||||||
|
# --- GUI customization: variable column widths for Markdown tables -------------
|
||||||
|
# Core CSS forces `table-layout: fixed; width: 100%` on `.complex-text table`,
|
||||||
|
# giving every column an equal width. Register a custom CSS file via cssList so
|
||||||
|
# those tables size columns to content (table-layout: auto). Created by this
|
||||||
|
# provisioning script (on the persisted bind-mount) so it survives re-runs; the
|
||||||
|
# rebuild step below refreshes the cached cssList metadata.
|
||||||
|
podman exec "$WEB_CTR" sh -lc 'mkdir -p /var/www/html/client/custom/css /var/www/html/custom/Espo/Custom/Resources/metadata/app'
|
||||||
|
podman exec -i "$WEB_CTR" sh -c 'cat > /var/www/html/client/custom/css/table-var-col.css' <<'CSSEOF'
|
||||||
|
/**
|
||||||
|
* Variable column widths for Markdown tables in text fields.
|
||||||
|
*
|
||||||
|
* EspoCRM core CSS forces `table-layout: fixed; width: 100%` on
|
||||||
|
* `.complex-text table`, which makes all columns equally wide.
|
||||||
|
* `auto` lets columns size to content instead.
|
||||||
|
*
|
||||||
|
* Registered via custom/Espo/Custom/Resources/metadata/app/client.json (cssList).
|
||||||
|
*/
|
||||||
|
.complex-text table {
|
||||||
|
table-layout: auto !important;
|
||||||
|
width: auto !important;
|
||||||
|
max-width: 100% !important;
|
||||||
|
}
|
||||||
|
CSSEOF
|
||||||
|
echo "Wrote client/custom/css/table-var-col.css (rc=$?)"
|
||||||
|
|
||||||
|
# Merge the CSS path into cssList (idempotent; preserves other keys/entries and
|
||||||
|
# keeps "__APPEND__" first). Uses the container's php so no host jq is required.
|
||||||
|
podman exec "$WEB_CTR" php -r '
|
||||||
|
$file = "/var/www/html/custom/Espo/Custom/Resources/metadata/app/client.json";
|
||||||
|
$css = "client/custom/css/table-var-col.css";
|
||||||
|
$data = is_file($file) ? json_decode(file_get_contents($file), true) : [];
|
||||||
|
if (!is_array($data)) { $data = []; }
|
||||||
|
$list = (isset($data["cssList"]) && is_array($data["cssList"])) ? $data["cssList"] : [];
|
||||||
|
$list = array_values(array_filter($list, function ($x) use ($css) { return $x !== "__APPEND__" && $x !== $css; }));
|
||||||
|
array_unshift($list, "__APPEND__");
|
||||||
|
$list[] = $css;
|
||||||
|
$data["cssList"] = $list;
|
||||||
|
file_put_contents($file, json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . "\n");
|
||||||
|
'
|
||||||
|
echo "Registered table-var-col.css in cssList (rc=$?)"
|
||||||
|
|
||||||
|
# Match ownership of the other EspoCRM customization files (webserver user).
|
||||||
|
podman exec "$WEB_CTR" chown -R www-data:www-data /var/www/html/client/custom /var/www/html/custom/Espo/Custom/Resources/metadata
|
||||||
|
echo "Fixed ownership of customizations (rc=$?)"
|
||||||
|
|
||||||
# Rebuild EspoCRM cache so customizations on the persisted bind-mount take effect
|
# Rebuild EspoCRM cache so customizations on the persisted bind-mount take effect
|
||||||
# and the client cacheTimestamp is bumped (forces browsers to reload custom views,
|
# and the client cacheTimestamp is bumped (forces browsers to reload custom views,
|
||||||
# e.g. custom field views like the signature image button). The image entrypoint
|
# e.g. custom field views like the signature image button). The image entrypoint
|
||||||
|
|||||||
Reference in New Issue
Block a user