diff --git a/dist/tryton-sao.css b/dist/tryton-sao.css
index 614d582..e6faf30 100644
--- a/dist/tryton-sao.css
+++ b/dist/tryton-sao.css
@@ -9865,6 +9865,15 @@ html[data-density="compact"] .form .form-many2many-content .list-form {
.filter-box {
margin: 5px 0;
}
+html.sao-hide-filters .screen-container > .filter-box,
+html.sao-hide-filters .ag-grid-screen-filter-toggle-bar,
+html.sao-hide-filters .ag-grid-value-filter-mode,
+html.sao-hide-filters .ag-grid-active-filter-chips,
+html.sao-hide-filters .ag-grid-filter-logic-panel,
+html.sao-hide-filters .ag-grid-value-set-filter,
+html.sao-hide-filters .ag-filter {
+ display: none !important;
+}
.ag-grid-screen-filter-toggle-bar {
display: flex;
justify-content: flex-start;
@@ -10202,6 +10211,101 @@ html[data-density="compact"] .form .form-many2many-content .list-form {
background: transparent !important; /* optionnel : si tu veux aussi supprimer le fond */
}
+.form-htmlviewer.htmlviewer-self-collapsible {
+ position: relative;
+ padding-top: 28px;
+}
+
+.htmlviewer-collapse-toggle {
+ align-items: center;
+ background: transparent;
+ border: 1px solid transparent;
+ border-radius: 5px;
+ color: #2f8e95;
+ cursor: pointer;
+ display: inline-flex;
+ height: 22px;
+ justify-content: center;
+ margin-left: auto;
+ padding: 0;
+ width: 22px;
+}
+
+.htmlviewer-self-collapsible > .htmlviewer-collapse-toggle {
+ position: absolute;
+ right: 4px;
+ top: 3px;
+}
+
+.form fieldset.form-panel > legend .htmlviewer-collapse-toggle {
+ flex: 0 0 22px;
+ margin-left: auto;
+ position: relative;
+ top: -2px;
+}
+
+.htmlviewer-collapse-toggle::before {
+ border-style: solid;
+ border-width: 0 1.8px 1.8px 0;
+ content: "";
+ display: block;
+ height: 7px;
+ margin-top: -3px;
+ transform: rotate(45deg);
+ width: 7px;
+}
+
+.htmlviewer-collapse-toggle.htmlviewer-collapse-toggle-collapsed::before {
+ margin-top: 3px;
+ transform: rotate(-135deg);
+}
+
+.htmlviewer-collapse-toggle:hover,
+.htmlviewer-collapse-toggle:focus {
+ background: #eef8f6;
+ border-color: #c9e3df;
+ color: #176f78;
+ outline: none;
+}
+
+.form fieldset.form-panel.htmlviewer-collapsed {
+ align-self: start;
+ height: auto !important;
+ min-height: 0;
+ padding-bottom: 4px;
+ padding-top: 34px;
+}
+
+.form .form-item.htmlviewer-collapsed-item {
+ align-self: start !important;
+ height: auto !important;
+ min-height: 0;
+}
+
+.form .form-item.htmlviewer-collapsed-item > .form-widget,
+.form .form-item.htmlviewer-collapsed-item > fieldset.form-panel,
+.form .form-item.htmlviewer-collapsed-item > .form-htmlviewer,
+.form .form-item.htmlviewer-collapsed-item > .form-purchase-summary {
+ align-self: start !important;
+ height: auto !important;
+ min-height: 0;
+}
+
+.form fieldset.form-panel.htmlviewer-collapsed > .form-container {
+ display: none;
+}
+
+.form-htmlviewer.htmlviewer-collapsed,
+.form-purchase-summary.htmlviewer-collapsed {
+ min-height: 28px;
+ padding-bottom: 0;
+}
+
+.form-htmlviewer.htmlviewer-collapsed > .htmlviewer-content,
+.form-purchase-summary.htmlviewer-collapsed > .htmlviewer-content {
+ display: none;
+}
+
html[data-theme-mode="dark"] .form-htmlviewer.htmlviewer-theme-dark,
html[data-theme-mode="dark"] .htmlviewer-content.htmlviewer-react-dashboard {
background: #07100e !important;
@@ -10218,6 +10322,1318 @@ html[data-theme-mode="dark"] .htmlviewer-content.htmlviewer-react-dashboard ifra
background: #07100e !important;
display: block;
}
+
+html[data-theme-mode="dark"] .htmlviewer-collapse-toggle {
+ color: #7abfb9;
+}
+
+html[data-theme-mode="dark"] .htmlviewer-collapse-toggle:hover,
+html[data-theme-mode="dark"] .htmlviewer-collapse-toggle:focus {
+ background: rgba(122, 191, 185, 0.12);
+ border-color: rgba(122, 191, 185, 0.28);
+ color: #bce5df;
+}
+
+.form-purchase-summary.panel.panel-default {
+ border: none !important;
+ box-shadow: none !important;
+ background: transparent !important;
+}
+
+.purchase-summary-banner {
+ display: grid;
+ grid-template-columns: minmax(220px, 0.72fr) minmax(600px, 2.25fr) minmax(180px, 0.58fr);
+ gap: 8px;
+ height: var(--purchase-summary-height, 168px);
+ min-height: 0;
+ overflow: hidden;
+ color: #173b40;
+}
+
+.purchase-summary-banner > div {
+ min-width: 0;
+ border: 1px solid #dce9e5;
+ border-radius: 6px;
+ background: #ffffff;
+ box-shadow: 0 3px 10px rgba(53, 81, 84, 0.08);
+ padding: 8px 12px;
+}
+
+.purchase-summary-section-title {
+ color: #0b5a70;
+ font-size: 12px;
+ font-weight: 800;
+ line-height: 1;
+ margin-bottom: 6px;
+}
+
+.form fieldset.form-panel > legend.purchase-summary-legend {
+ min-width: 0;
+}
+
+.form fieldset.form-panel > legend.purchase-summary-legend > span:first-of-type {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ min-width: 92px;
+ height: 24px;
+ padding: 0 12px;
+ border-radius: 5px;
+ background: linear-gradient(180deg, #116b75 0%, #07535d 100%);
+ color: #ffffff;
+ box-shadow: 0 2px 5px rgba(7, 83, 93, 0.18);
+ font-size: 13px;
+ font-weight: 900;
+}
+
+.purchase-summary-title-strip {
+ display: flex;
+ align-items: center;
+ flex: 1 1 auto;
+ gap: 8px;
+ min-width: 0;
+ margin-left: 12px;
+}
+
+.purchase-summary-title-logs {
+ display: flex;
+ align-items: center;
+ gap: 9px;
+ min-width: 0;
+ overflow: hidden;
+}
+
+.purchase-summary-title-log {
+ position: relative;
+ display: block;
+ flex: 0 0 auto;
+ max-width: none;
+ overflow: hidden;
+ color: #617776;
+ font-size: 9px;
+ font-weight: 700;
+ line-height: 1.1;
+ text-overflow: clip;
+ white-space: nowrap;
+}
+
+.purchase-summary-title-log::before {
+ display: inline-block;
+ width: 5px;
+ height: 5px;
+ margin-right: 4px;
+ border-radius: 50%;
+ background: #2b8c87;
+ content: "";
+ vertical-align: 1px;
+}
+
+.purchase-summary-title-strip > .purchase-summary-approval {
+ flex: 0 0 auto;
+ margin-left: auto;
+}
+
+.purchase-summary-map {
+ display: flex;
+ flex-direction: column;
+ align-items: stretch;
+ gap: 6px;
+ overflow: hidden;
+ padding: 10px 12px !important;
+}
+
+.purchase-summary-map-heading small {
+ display: block;
+ color: #3a7b83;
+ font-size: 9px;
+ font-weight: 900;
+ line-height: 1;
+ text-transform: uppercase;
+}
+
+.purchase-summary-map-heading strong {
+ display: block;
+ overflow: hidden;
+ color: #102f3b;
+ font-size: 15px;
+ font-weight: 900;
+ line-height: 1.2;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.purchase-summary-world {
+ position: relative;
+ flex: 1 1 auto;
+ width: 100%;
+ max-width: 214px;
+ height: auto;
+ margin: 0 auto;
+ min-height: 0;
+ overflow: hidden;
+}
+
+.purchase-summary-world-svg {
+ display: block;
+ width: 214px;
+ max-width: 214px;
+ height: auto;
+}
+
+.purchase-summary-country {
+ fill: #9aa8aa;
+ opacity: 0.74;
+ stroke: rgba(255, 255, 255, 0.85);
+ stroke-width: 0.45;
+}
+
+.purchase-summary-continent,
+.purchase-summary-antarctica {
+ display: none;
+}
+
+.purchase-summary-route-svg {
+ fill: none;
+ stroke: #2b8c87;
+ stroke-width: 2.2;
+ stroke-dasharray: 5 4;
+ stroke-linecap: round;
+}
+
+.purchase-summary-map-marker circle {
+ fill: #c65f37;
+ stroke: rgba(255, 255, 255, 0.95);
+ stroke-width: 2;
+ filter: drop-shadow(0 2px 2px rgba(30, 55, 58, 0.25));
+}
+
+.purchase-summary-map-marker-to circle {
+ fill: #a94d30;
+}
+
+.purchase-summary-map-marker text {
+ fill: #fff;
+ font-size: 9px;
+ font-weight: 800;
+ text-anchor: middle;
+}
+
+.purchase-summary-map-label {
+ fill: #163c42;
+ font-size: 11px;
+ font-weight: 800;
+ paint-order: stroke;
+ stroke: rgba(255, 255, 255, 0.92);
+ stroke-linejoin: round;
+ stroke-width: 3px;
+}
+
+.purchase-summary-stats,
+.purchase-summary-metrics {
+ display: grid;
+ gap: 6px;
+}
+
+.purchase-summary-stats {
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+}
+
+.purchase-summary-stats span,
+.purchase-summary-metrics span {
+ min-width: 0;
+}
+
+.purchase-summary-stats small,
+.purchase-summary-metrics small {
+ display: block;
+ color: #607677;
+ font-size: 10px;
+ font-weight: 800;
+ line-height: 1.1;
+}
+
+.purchase-summary-stats small {
+ display: flex;
+ align-items: center;
+ gap: 5px;
+}
+
+.purchase-summary-stats strong {
+ display: block;
+ overflow: hidden;
+ color: #163c42;
+ font-size: 17px;
+ line-height: 1.1;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.purchase-summary-metrics strong {
+ display: flex;
+ align-items: baseline;
+ gap: 10px;
+ min-width: 0;
+ overflow: hidden;
+ color: #163c42;
+ font-size: 17px;
+ line-height: 1.1;
+ white-space: nowrap;
+}
+
+.purchase-summary-progress {
+ position: relative;
+ height: 8px;
+ margin: 9px 0 10px;
+ overflow: hidden;
+ border-radius: 999px;
+ background: #dce9e5;
+}
+
+.purchase-summary-progress span,
+.purchase-summary-progress i {
+ position: absolute;
+ inset: 0 auto 0 0;
+ display: block;
+ border-radius: inherit;
+}
+
+.purchase-summary-progress span {
+ background: #2b8c87;
+}
+
+.purchase-summary-progress i {
+ background: #55b8b1;
+}
+
+.purchase-summary-execution {
+ position: relative;
+ min-width: 0;
+ overflow: visible;
+ padding: 10px 14px !important;
+}
+
+.purchase-summary-exec-rows {
+ display: grid;
+ gap: 5px;
+ height: 100%;
+ align-content: start;
+}
+
+.purchase-summary-exec-row {
+ display: grid;
+ grid-template-columns: 18px minmax(92px, 0.9fr) minmax(78px, 0.55fr) minmax(78px, 0.55fr) minmax(78px, 0.55fr) minmax(78px, 0.55fr) minmax(60px, 0.4fr) minmax(118px, 0.62fr);
+ grid-template-rows: 22px 24px;
+ gap: 2px 12px;
+ align-items: center;
+ min-width: 0;
+ min-height: 50px;
+ padding: 6px 0;
+ border-bottom: 1px solid #dbe8e4;
+ color: #536a69;
+ font-size: 10.5px;
+ font-weight: 700;
+}
+
+.purchase-summary-exec-one {
+ align-content: center;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-row {
+ position: relative;
+ grid-template-columns: 20px minmax(150px, 1fr) minmax(96px, 0.56fr) minmax(96px, 0.56fr) minmax(96px, 0.56fr) minmax(96px, 0.56fr) minmax(82px, 0.46fr) minmax(122px, 0.58fr);
+ grid-template-rows: 14px 36px 1px 38px;
+ gap: 2px 12px;
+ min-height: 112px;
+ padding: 8px 0;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-row::before {
+ content: "";
+ display: none;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-row::after {
+ content: "";
+ display: none;
+}
+
+.purchase-summary-exec-row .purchase-summary-exec-index {
+ grid-column: 1;
+ grid-row: 1 / -1;
+}
+
+.purchase-summary-exec-product-title,
+.purchase-summary-exec-contract-title {
+ display: none;
+ overflow: hidden;
+ color: #2b7d86;
+ font-size: 9px;
+ font-weight: 900;
+ letter-spacing: 0;
+ line-height: 1;
+ text-transform: uppercase;
+ white-space: nowrap;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-product-title {
+ display: block;
+ grid-column: 2 / 5;
+ grid-row: 1;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-contract-title {
+ display: block;
+ grid-column: 5 / 8;
+ grid-row: 1;
+}
+
+.purchase-summary-exec-product {
+ grid-column: 2;
+ grid-row: 1;
+ align-self: center;
+ font-size: 12px;
+ font-weight: 900;
+}
+
+.purchase-summary-exec-qty {
+ grid-column: 3;
+ grid-row: 1;
+}
+
+.purchase-summary-exec-period {
+ grid-column: 4;
+ grid-row: 1;
+}
+
+.purchase-summary-exec-priced {
+ grid-column: 5;
+ grid-row: 1;
+}
+
+.purchase-summary-exec-hedged {
+ grid-column: 4;
+ grid-row: 2;
+}
+
+.purchase-summary-exec-invoiced {
+ grid-column: 5;
+ grid-row: 2;
+}
+
+.purchase-summary-exec-paid {
+ grid-column: 6;
+ grid-row: 1;
+}
+
+.purchase-summary-exec-matched {
+ grid-column: 2;
+ grid-row: 2;
+}
+
+.purchase-summary-exec-shipped {
+ grid-column: 3;
+ grid-row: 2;
+}
+
+.purchase-summary-exec-sales {
+ grid-column: 8;
+ grid-row: 1;
+}
+
+.purchase-summary-exec-shipments {
+ grid-column: 8;
+ grid-row: 2;
+}
+
+.purchase-summary-exec-financial {
+ display: none !important;
+ grid-column: 9;
+ grid-row: 1 / span 2;
+ grid-template-columns: minmax(0, 1fr);
+ grid-template-rows: repeat(3, minmax(0, 1fr));
+ gap: 1px;
+ align-self: stretch;
+ min-width: 0;
+ padding-left: 8px;
+ border-left: 3px solid #dce9e5;
+}
+
+.purchase-summary-exec-financial span {
+ display: grid;
+ grid-template-columns: 44px minmax(0, 1fr);
+ align-items: baseline;
+ min-width: 0;
+ column-gap: 5px;
+}
+
+.purchase-summary-exec-financial span.positive {
+ color: #207b5a;
+}
+
+.purchase-summary-exec-financial span.negative {
+ color: #a34a2b;
+}
+
+.purchase-summary-exec-financial span.neutral {
+ color: #163c42;
+}
+
+.purchase-summary-exec-financial small {
+ color: #607677;
+ font-size: 8px;
+}
+
+.purchase-summary-exec-financial strong {
+ display: block;
+ overflow: hidden;
+ color: currentColor;
+ font-size: 12px;
+ line-height: 1.05;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.purchase-summary-exec-two,
+.purchase-summary-exec-paged {
+ align-content: center;
+ gap: 7px;
+}
+
+.purchase-summary-exec-two .purchase-summary-exec-row,
+.purchase-summary-exec-paged .purchase-summary-exec-row {
+ grid-template-columns: 18px minmax(130px, 1fr) minmax(86px, 0.62fr) minmax(86px, 0.58fr) minmax(86px, 0.58fr) minmax(68px, 0.46fr) minmax(120px, 0.62fr);
+ min-height: 58px;
+}
+
+.purchase-summary-exec-two .purchase-summary-exec-hedged,
+.purchase-summary-exec-paged .purchase-summary-exec-hedged {
+ grid-column: 4;
+ grid-row: 2;
+}
+
+.purchase-summary-exec-two .purchase-summary-exec-period,
+.purchase-summary-exec-two .purchase-summary-exec-hedged,
+.purchase-summary-exec-paged .purchase-summary-exec-period,
+.purchase-summary-exec-paged .purchase-summary-exec-hedged {
+ border-left: 1px solid #dbe8e4;
+ padding-left: 10px;
+}
+
+.purchase-summary-exec-two .purchase-summary-exec-sales,
+.purchase-summary-exec-two .purchase-summary-exec-shipments,
+.purchase-summary-exec-paged .purchase-summary-exec-sales,
+.purchase-summary-exec-paged .purchase-summary-exec-shipments {
+ border-left: 1px solid #dbe8e4;
+ padding-left: 10px;
+}
+
+.purchase-summary-exec-two .purchase-summary-exec-invoiced,
+.purchase-summary-exec-paged .purchase-summary-exec-invoiced {
+ grid-column: 5;
+ grid-row: 2;
+}
+
+.purchase-summary-exec-two .purchase-summary-exec-sales,
+.purchase-summary-exec-paged .purchase-summary-exec-sales {
+ grid-column: 7;
+ grid-row: 1;
+}
+
+.purchase-summary-exec-two .purchase-summary-exec-shipments,
+.purchase-summary-exec-paged .purchase-summary-exec-shipments {
+ grid-column: 7;
+ grid-row: 2;
+}
+
+.purchase-summary-exec-two .purchase-summary-exec-paid,
+.purchase-summary-exec-paged .purchase-summary-exec-paid {
+ grid-column: 6;
+ grid-row: 1;
+}
+
+.purchase-summary-exec-two .purchase-summary-exec-financial,
+.purchase-summary-exec-paged .purchase-summary-exec-financial {
+ display: none !important;
+}
+
+.purchase-summary-exec-two .purchase-summary-doc-link,
+.purchase-summary-exec-paged .purchase-summary-doc-link {
+ max-width: 110px;
+}
+
+.purchase-summary-exec-two .purchase-summary-doc-label,
+.purchase-summary-exec-paged .purchase-summary-doc-label {
+ font-size: 9.5px;
+ text-overflow: clip;
+}
+
+.purchase-summary-exec-two .purchase-summary-doc-count,
+.purchase-summary-exec-paged .purchase-summary-doc-count {
+ min-width: 12px;
+ height: 12px;
+ font-size: 8px;
+}
+
+.purchase-summary-exec-pager {
+ position: absolute;
+ right: 4px;
+ bottom: 1px;
+ display: inline-flex;
+ align-items: center;
+ gap: 3px;
+ height: 16px;
+ padding: 0 3px;
+ border-radius: 999px;
+ background: rgba(255, 255, 255, 0.86);
+ color: #607677;
+ font-size: 8.5px;
+ font-weight: 800;
+ line-height: 1;
+}
+
+.purchase-summary-exec-pager button {
+ position: relative;
+ width: 13px;
+ height: 13px;
+ padding: 0;
+ border: 0;
+ border-radius: 999px;
+ background: #eef8f6;
+ color: #2b8c87;
+}
+
+.purchase-summary-exec-pager button::before {
+ position: absolute;
+ top: 4px;
+ left: 5px;
+ width: 5px;
+ height: 5px;
+ border-style: solid;
+ border-width: 0 1.5px 1.5px 0;
+ content: "";
+}
+
+.purchase-summary-exec-page-prev::before {
+ transform: rotate(135deg);
+}
+
+.purchase-summary-exec-page-next::before {
+ left: 3px;
+ transform: rotate(-45deg);
+}
+
+.purchase-summary-exec-pager button:disabled {
+ cursor: default;
+ opacity: 0.35;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-row {
+ grid-template-columns: 20px minmax(150px, 1fr) minmax(96px, 0.56fr) minmax(96px, 0.56fr) minmax(96px, 0.56fr) minmax(96px, 0.56fr) minmax(82px, 0.46fr) minmax(122px, 0.58fr);
+ font-size: 12.5px;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-hedged {
+ grid-column: 5;
+ grid-row: 4;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-invoiced {
+ grid-column: 6;
+ grid-row: 4;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-paid {
+ grid-column: 7;
+ grid-row: 2;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-sales {
+ position: absolute;
+ right: calc(50% + 5px);
+ bottom: -19px;
+ grid-column: auto;
+ grid-row: auto;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-shipments {
+ position: absolute;
+ left: calc(50% + 5px);
+ bottom: -19px;
+ grid-column: auto;
+ grid-row: auto;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-product {
+ grid-column: 2 / 5;
+ grid-row: 2;
+ font-size: 14px;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-qty {
+ grid-column: 2;
+ grid-row: 4;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-matched {
+ grid-column: 3;
+ grid-row: 4;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-shipped {
+ grid-column: 4;
+ grid-row: 4;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-period {
+ grid-column: 5;
+ grid-row: 2;
+ border-left: 1px solid #dbe8e4;
+ padding-left: 12px;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-priced {
+ grid-column: 6;
+ grid-row: 2;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-hedged {
+ border-left: 1px solid #dbe8e4;
+ padding-left: 12px;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-row small {
+ font-size: 9.5px;
+}
+
+.purchase-summary-exec-one .purchase-summary-doc-label {
+ font-size: 8.5px;
+ text-overflow: clip;
+}
+
+.purchase-summary-exec-one .purchase-summary-doc-link {
+ max-width: 86px;
+}
+
+.purchase-summary-exec-one .purchase-summary-doc-count {
+ min-width: 13px;
+ height: 13px;
+ font-size: 8.5px;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-index {
+ width: 18px;
+ height: 18px;
+ font-size: 10px;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-financial {
+ display: none;
+}
+
+.purchase-summary-exec-many {
+ gap: 2px;
+}
+
+.purchase-summary-exec-many .purchase-summary-exec-row {
+ grid-template-rows: 18px 18px;
+ min-height: 38px;
+ padding: 1px 0;
+ font-size: 9px;
+}
+
+.purchase-summary-exec-many .purchase-summary-exec-row small,
+.purchase-summary-exec-many .purchase-summary-doc-label {
+ font-size: 7.5px;
+}
+
+.purchase-summary-exec-row > * {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.purchase-summary-exec-row > .purchase-summary-exec-financial {
+ overflow: visible;
+}
+
+.purchase-summary-exec-row strong {
+ color: #164d60;
+}
+
+.purchase-summary-exec-row small {
+ display: block;
+ color: #7b8b89;
+ font-size: 8.5px;
+ font-weight: 800;
+ line-height: 1;
+ text-transform: uppercase;
+}
+
+.purchase-summary-exec-period,
+.purchase-summary-exec-priced,
+.purchase-summary-exec-paid,
+.purchase-summary-exec-matched,
+.purchase-summary-exec-shipped,
+.purchase-summary-exec-hedged,
+.purchase-summary-exec-invoiced {
+ display: inline-grid;
+ grid-template-columns: 22px minmax(0, 1fr);
+ align-items: center;
+ column-gap: 6px;
+ min-width: 0;
+ padding-left: 0;
+}
+
+.purchase-summary-exec-period::before,
+.purchase-summary-exec-priced::before,
+.purchase-summary-exec-paid::before,
+.purchase-summary-exec-matched::before,
+.purchase-summary-exec-shipped::before,
+.purchase-summary-exec-hedged::before,
+.purchase-summary-exec-invoiced::before {
+ content: none;
+}
+
+.purchase-summary-exec-icon {
+ display: inline-flex;
+ grid-column: 1;
+ grid-row: 1;
+ align-items: center;
+ justify-content: center;
+ width: 21px;
+ height: 21px;
+ border: 1px solid #c8e5df;
+ border-radius: 50%;
+ background: #e8f7f4;
+ color: #0f727b;
+ box-shadow: inset 0 0 0 3px rgba(43, 140, 135, 0.08);
+ font-size: 10px;
+ line-height: 1;
+}
+
+.purchase-summary-exec-copy {
+ display: block;
+ grid-column: 2;
+ min-width: 0;
+ overflow: hidden;
+}
+
+.purchase-summary-exec-copy strong {
+ display: block;
+ min-width: 0;
+ overflow: hidden;
+ color: #153f4c;
+ line-height: 1.05;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.purchase-summary-exec-one .purchase-summary-exec-icon {
+ width: 24px;
+ height: 24px;
+ font-size: 11px;
+}
+
+.purchase-summary-exec-period > strong,
+.purchase-summary-exec-priced > strong,
+.purchase-summary-exec-paid > strong,
+.purchase-summary-exec-matched > strong,
+.purchase-summary-exec-shipped > strong,
+.purchase-summary-exec-hedged > strong,
+.purchase-summary-exec-invoiced > strong {
+ grid-column: 2;
+ min-width: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.purchase-summary-exec-index {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 16px;
+ height: 16px;
+ border-radius: 999px;
+ background: #e9f4f1;
+ color: #0f6370;
+ font-size: 9px;
+ font-weight: 900;
+}
+
+.purchase-summary-metrics {
+ grid-template-columns: minmax(0, 1fr);
+ align-items: start;
+ gap: 8px;
+}
+
+.purchase-summary-total {
+ position: relative;
+ border-color: #075a68 !important;
+ background:
+ radial-gradient(circle at 100% 0%, rgba(76, 182, 191, 0.22), transparent 36%),
+ linear-gradient(160deg, #0a6b78 0%, #075763 54%, #054753 100%) !important;
+ box-shadow: 0 6px 14px rgba(5, 71, 83, 0.2) !important;
+ color: #e8fbf8;
+ padding: 8px 12px 8px !important;
+}
+
+.purchase-summary-total .purchase-summary-metrics {
+ height: 100%;
+ align-content: center;
+ gap: 5px;
+ padding-bottom: 22px;
+}
+
+.purchase-summary-metrics span {
+ border-left: 3px solid #dce9e5;
+ min-width: 0;
+ padding-left: 10px;
+}
+
+.purchase-summary-total .purchase-summary-metrics > span {
+ border-left: 0;
+ border-bottom: 1px solid rgba(208, 242, 236, 0.38);
+ padding: 0 0 5px;
+}
+
+.purchase-summary-total .purchase-summary-metrics > span:last-of-type {
+ border-bottom: 0;
+ padding-bottom: 0;
+}
+
+.purchase-summary-metrics span:has(.positive) {
+ border-color: #2f9b73;
+}
+
+.purchase-summary-metrics span:has(.negative) {
+ border-color: #c65f37;
+}
+
+.purchase-summary-metrics span:has(.positive) strong {
+ color: #207b5a;
+}
+
+.purchase-summary-metrics span:has(.negative) strong {
+ color: #a34a2b;
+}
+
+.purchase-summary-metrics .purchase-summary-amount strong {
+ color: #163c42;
+}
+
+.purchase-summary-total .purchase-summary-metrics small {
+ color: rgba(232, 251, 248, 0.82);
+ font-size: 10px;
+}
+
+.purchase-summary-total .purchase-summary-metrics strong,
+.purchase-summary-total .purchase-summary-metrics .purchase-summary-amount strong,
+.purchase-summary-total .purchase-summary-metrics span:has(.positive) strong,
+.purchase-summary-total .purchase-summary-metrics span:has(.negative) strong {
+ color: #ffffff;
+ font-size: 20px;
+ text-shadow: 0 1px 1px rgba(5, 33, 37, 0.16);
+}
+
+.purchase-summary-total .purchase-summary-badge {
+ height: 14px;
+ min-width: 34px;
+ padding: 0 6px;
+ border-color: rgba(187, 247, 208, 0.72);
+ background: #dcfce7;
+ color: #079447;
+ font-size: 8px;
+ text-shadow: none;
+}
+
+.purchase-summary-total .purchase-summary-badge.negative {
+ border-color: rgba(254, 202, 202, 0.82);
+ background: #fff1f2;
+ color: #dc2626;
+}
+
+.purchase-summary-currency-badge {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ height: 14px;
+ min-width: 28px;
+ margin-left: 8px;
+ padding: 0 6px;
+ border: 1px solid #bae6fd;
+ border-radius: 5px;
+ background: #eef9ff;
+ color: #0284c7;
+ font-size: 8px;
+ font-style: normal;
+ font-weight: 800;
+ line-height: 1;
+}
+
+.purchase-summary-total .purchase-summary-currency-badge {
+ position: absolute;
+ right: 10px;
+ top: 8px;
+ border-color: rgba(186, 230, 253, 0.85);
+ background: #e0f2fe;
+ color: #0369a1;
+ text-shadow: none;
+}
+
+.purchase-summary-total-chips {
+ position: absolute;
+ right: 10px;
+ bottom: 9px;
+ left: 10px;
+ display: flex;
+ align-items: center;
+ gap: 5px;
+ min-width: 0;
+ margin-top: 0;
+ padding-left: 0;
+}
+
+.purchase-summary-total-chip {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ flex: 1 1 0;
+ max-width: none;
+ height: 15px;
+ min-width: 0;
+ padding: 0 6px;
+ overflow: hidden;
+ border: 1px solid #d8c8ff;
+ border-radius: 5px;
+ background: #f4f0ff;
+ color: #6d4bc4;
+ font-size: 8px;
+ font-weight: 800;
+ line-height: 1;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.purchase-summary-total .purchase-summary-total-chip {
+ border-color: rgba(221, 214, 254, 0.68);
+ background: rgba(245, 243, 255, 0.94);
+ color: #6d4bc4;
+ text-shadow: none;
+}
+
+.purchase-summary-doc-link {
+ position: relative;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ gap: 4px;
+ width: 100%;
+ max-width: 92px;
+ height: 17px;
+ margin: -2px 0 -1px;
+ padding: 0 7px;
+ border: 1px solid #fed7aa;
+ border-radius: 6px;
+ background: #fff7ed;
+ color: #c05621;
+ cursor: pointer;
+ vertical-align: middle;
+}
+
+.purchase-summary-doc-label {
+ overflow: hidden;
+ color: #9a3412;
+ font-size: 8.5px;
+ font-weight: 800;
+ line-height: 1;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.purchase-summary-doc-link:hover,
+.purchase-summary-doc-link:focus {
+ border-color: #fdba74;
+ background: #ffedd5;
+ color: #9a3412;
+ outline: none;
+}
+
+.purchase-summary-doc-link.disabled {
+ cursor: default;
+ opacity: 0.75;
+}
+
+.purchase-summary-doc-count {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ flex: 0 0 auto;
+ min-width: 12px;
+ height: 12px;
+ padding: 0 3px;
+ border-radius: 999px;
+ background: #f97316;
+ color: #ffffff;
+ font-size: 7.5px;
+ font-weight: 800;
+ line-height: 1;
+}
+
+.purchase-summary-badge {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ min-width: 42px;
+ height: 16px;
+ margin: 0;
+ padding: 0 8px;
+ border: 1px solid #b9efcc;
+ border-radius: 6px;
+ background: #ecfdf3;
+ color: #009b4e;
+ font-size: 9px;
+ font-style: normal;
+ font-weight: 800;
+ line-height: 1;
+}
+
+.purchase-summary-badge.negative {
+ border-color: #ffc8bd;
+ background: #fff4f1;
+ color: #d34d43;
+}
+
+.purchase-summary-badge.neutral {
+ border-color: #b9efcc;
+ background: #ecfdf3;
+ color: #009b4e;
+}
+
+.purchase-summary-approval {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ justify-self: center;
+ gap: 5px;
+ width: max-content;
+ max-width: 100%;
+ height: 16px;
+ min-height: 16px;
+ padding: 0 8px;
+ border: 1px solid #ffd6d1;
+ border-radius: 6px;
+ background: #fff3f2;
+ color: #d9534f;
+ font-size: 9px;
+ font-weight: 800;
+ line-height: 1.1;
+ white-space: nowrap;
+}
+
+.purchase-summary-approval::before {
+ content: "";
+ width: 9px;
+ height: 9px;
+ border: 1.5px solid currentColor;
+ border-radius: 50%;
+ box-sizing: border-box;
+ background:
+ linear-gradient(currentColor, currentColor) 50% 25% / 1px 3px no-repeat,
+ linear-gradient(currentColor, currentColor) 50% 50% / 3px 1px no-repeat;
+}
+
+.purchase-summary-approval-first_approval {
+ border-color: #fde68a;
+ background: #fffbeb;
+ color: #b77900;
+}
+
+.purchase-summary-approval-final_approval {
+ border-color: #b9efcc;
+ background: #ecfdf3;
+ color: #009b4e;
+}
+
+.purchase-summary-activity ol {
+ display: grid;
+ gap: 4px;
+ max-height: calc(var(--purchase-summary-height, 168px) - 30px);
+ margin: 0;
+ padding: 0;
+ overflow: auto;
+ list-style: none;
+}
+
+.purchase-summary-activity-item {
+ display: grid;
+ grid-template-columns: 8px minmax(0, 1fr);
+ gap: 7px;
+ min-width: 0;
+}
+
+.purchase-summary-activity-dot {
+ width: 7px;
+ height: 7px;
+ margin-top: 4px;
+ border-radius: 50%;
+ background: #2b8c87;
+}
+
+.purchase-summary-activity-warning .purchase-summary-activity-dot {
+ background: #c65f37;
+}
+
+.purchase-summary-activity-success .purchase-summary-activity-dot,
+.purchase-summary-activity-approved .purchase-summary-activity-dot {
+ background: #2f9b73;
+}
+
+.purchase-summary-activity-copy {
+ min-width: 0;
+}
+
+.purchase-summary-activity-copy strong,
+.purchase-summary-activity-copy small {
+ display: block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.purchase-summary-activity-copy strong {
+ color: #173b40;
+ font-size: 11px;
+ line-height: 1.2;
+}
+
+.purchase-summary-activity-copy small {
+ color: #6c7d7c;
+ font-size: 10px;
+ line-height: 1.15;
+}
+
+html[data-theme-mode="dark"] .purchase-summary-banner {
+ color: #eaf7f4;
+}
+
+html[data-theme-mode="dark"] .purchase-summary-banner > div {
+ border-color: rgba(118, 173, 165, 0.2);
+ background: #102326;
+ box-shadow: 0 3px 10px rgba(0, 0, 0, 0.28);
+}
+
+html[data-theme-mode="dark"] .purchase-summary-map,
+html[data-theme-mode="dark"] .purchase-summary-execution {
+ border-color: rgba(118, 173, 165, 0.24);
+ background: #11282b !important;
+}
+
+html[data-theme-mode="dark"] .purchase-summary-map-heading small,
+html[data-theme-mode="dark"] .purchase-summary-exec-product-title,
+html[data-theme-mode="dark"] .purchase-summary-exec-contract-title {
+ color: #60d4ce;
+}
+
+html[data-theme-mode="dark"] .purchase-summary-map-heading strong {
+ color: #eef7f4;
+}
+
+html[data-theme-mode="dark"] .purchase-summary-exec-row strong {
+ color: #d7f3ef;
+}
+
+html[data-theme-mode="dark"] .purchase-summary-exec-copy strong {
+ color: #d7f3ef;
+}
+
+html[data-theme-mode="dark"] .purchase-summary-stats strong,
+html[data-theme-mode="dark"] .purchase-summary-metrics strong,
+html[data-theme-mode="dark"] .purchase-summary-activity-copy strong {
+ color: #eef7f4;
+}
+
+html[data-theme-mode="dark"] .purchase-summary-stats small,
+html[data-theme-mode="dark"] .purchase-summary-metrics small,
+html[data-theme-mode="dark"] .purchase-summary-exec-row,
+html[data-theme-mode="dark"] .purchase-summary-activity-copy small {
+ color: #b7cac5;
+}
+
+html[data-theme-mode="dark"] .purchase-summary-exec-row {
+ border-bottom-color: rgba(118, 173, 165, 0.24);
+}
+
+html[data-theme-mode="dark"] .purchase-summary-exec-row small {
+ color: #9fb7b3;
+}
+
+html[data-theme-mode="dark"] .purchase-summary-exec-period,
+html[data-theme-mode="dark"] .purchase-summary-exec-hedged,
+html[data-theme-mode="dark"] .purchase-summary-exec-two .purchase-summary-exec-period,
+html[data-theme-mode="dark"] .purchase-summary-exec-two .purchase-summary-exec-hedged,
+html[data-theme-mode="dark"] .purchase-summary-exec-paged .purchase-summary-exec-period,
+html[data-theme-mode="dark"] .purchase-summary-exec-paged .purchase-summary-exec-hedged,
+html[data-theme-mode="dark"] .purchase-summary-exec-two .purchase-summary-exec-sales,
+html[data-theme-mode="dark"] .purchase-summary-exec-two .purchase-summary-exec-shipments,
+html[data-theme-mode="dark"] .purchase-summary-exec-paged .purchase-summary-exec-sales,
+html[data-theme-mode="dark"] .purchase-summary-exec-paged .purchase-summary-exec-shipments {
+ border-left-color: rgba(118, 173, 165, 0.24);
+}
+
+html[data-theme-mode="dark"] .purchase-summary-exec-icon {
+ border-color: rgba(83, 213, 205, 0.24);
+ background: rgba(72, 210, 200, 0.13);
+ color: #62d8d1;
+ box-shadow: inset 0 0 0 3px rgba(72, 210, 200, 0.08);
+}
+
+html[data-theme-mode="dark"] .purchase-summary-exec-index {
+ background: rgba(72, 210, 200, 0.13);
+ color: #78e0da;
+}
+
+html[data-theme-mode="dark"] .purchase-summary-doc-link {
+ border-color: rgba(251, 146, 60, 0.44);
+ background: rgba(154, 52, 18, 0.24);
+ color: #fdba74;
+}
+
+html[data-theme-mode="dark"] .purchase-summary-doc-label {
+ color: #fed7aa;
+}
+
+html[data-theme-mode="dark"] .purchase-summary-doc-count {
+ background: #fb923c;
+ color: #1f1308;
+}
+
+html[data-theme-mode="dark"] .purchase-summary-doc-link:hover,
+html[data-theme-mode="dark"] .purchase-summary-doc-link:focus {
+ border-color: rgba(253, 186, 116, 0.72);
+ background: rgba(154, 52, 18, 0.36);
+}
+
+html[data-theme-mode="dark"] .purchase-summary-country {
+ fill: #536367;
+ stroke: rgba(10, 22, 24, 0.85);
+}
+
+html[data-theme-mode="dark"] .purchase-summary-map-label {
+ fill: #eef7f4;
+ stroke: rgba(8, 17, 19, 0.88);
+}
+
+html[data-theme-mode="dark"] .purchase-summary-progress {
+ background: #304c48;
+}
+
+@media screen and (max-width: 1200px) {
+ .purchase-summary-banner {
+ grid-template-columns: minmax(210px, 0.82fr) minmax(460px, 1.75fr) minmax(130px, 0.45fr);
+ }
+}
+
.form .form-container,
.form .form-hcontainer,
.form .form-vcontainer {
@@ -10312,6 +11728,15 @@ html[data-theme-mode="dark"] .htmlviewer-content.htmlviewer-react-dashboard ifra
display: table;
clear: both;
}
+.form .form-one2many-menu {
+ position: relative;
+}
+.form .form-one2many-collapse-toggle {
+ position: absolute;
+ right: 5px;
+ top: 3px;
+ z-index: 2;
+}
.form .form-one2many-menu .form-one2many-string,
.form .form-many2many-menu .form-one2many-string,
.form .form-one2many-menu .form-many2many-string,
@@ -10333,6 +11758,12 @@ html[data-theme-mode="dark"] .htmlviewer-content.htmlviewer-react-dashboard ifra
display: inline-table;
float: right;
}
+.form .form-one2many-menu .form-one2many-toolbar {
+ margin-right: 28px;
+}
+.form .form-one2many-line-chips {
+ display: none;
+}
[dir="rtl"] .form .form-one2many-menu .form-one2many-toolbar,
[dir="rtl"] .form .form-many2many-menu .form-one2many-toolbar,
[dir="rtl"] .form .form-one2many-menu .form-many2many-toolbar,
@@ -10356,6 +11787,54 @@ html[data-theme-mode="dark"] .htmlviewer-content.htmlviewer-react-dashboard ifra
min-height: 150px;
max-height: 300px;
}
+.form .form-one2many.form-one2many-collapsed {
+ align-self: start;
+ height: auto !important;
+ min-height: 0 !important;
+ max-height: none !important;
+ overflow: hidden;
+}
+.form .form-one2many.form-one2many-collapsed > .form-one2many-content {
+ display: none !important;
+ height: 0 !important;
+ min-height: 0 !important;
+ max-height: 0 !important;
+ padding: 0 !important;
+ overflow: hidden !important;
+}
+.form .form-one2many.form-one2many-collapsed > .form-one2many-menu {
+ border-bottom: 0;
+}
+.form fieldset.form-panel.form-one2many-panel-collapsed {
+ align-self: start;
+ height: auto !important;
+ min-height: 0 !important;
+ max-height: none !important;
+ padding-bottom: 4px;
+ padding-top: 34px;
+}
+.form fieldset.form-panel.form-one2many-panel-collapsed > .form-container {
+ display: none !important;
+}
+.form .form-item.form-one2many-collapsed-item {
+ align-self: start !important;
+ height: auto !important;
+ min-height: 0;
+}
+.form .form-item.form-one2many-collapsed-item > .form-one2many,
+.form .form-item.form-one2many-collapsed-item > .form-widget {
+ height: auto !important;
+ min-height: 0 !important;
+ max-height: none !important;
+}
+.form .form-one2many.form-one2many-collapsed .treeview,
+.form .form-one2many.form-one2many-collapsed .list-form,
+.form .form-one2many.form-one2many-collapsed .screen-container {
+ display: none !important;
+ height: 0 !important;
+ min-height: 0 !important;
+ max-height: 0 !important;
+}
.form .form-text .input-group,
.form .form-richtext .input-group {
width: 100%;
@@ -10471,10 +11950,13 @@ html[data-theme-mode="dark"] .htmlviewer-content.htmlviewer-react-dashboard ifra
.form fieldset.form-panel > .form-container {
gap: 8px 14px;
height: auto;
+ min-width: 0;
+ max-width: 100%;
}
.form fieldset.form-panel .form-item {
align-items: center;
min-width: 0;
+ max-width: 100%;
padding: 2px;
}
.form fieldset.form-panel > .form-container > .form-item {
@@ -10486,6 +11968,61 @@ html[data-theme-mode="dark"] .htmlviewer-content.htmlviewer-react-dashboard ifra
color: #4b5f60;
font-weight: 600;
}
+.form fieldset.form-panel .form-widget,
+.form fieldset.form-panel .input-group,
+.form fieldset.form-panel .selection {
+ min-width: 0;
+ max-width: 100%;
+}
+.form fieldset.form-panel .input-group {
+ width: 100%;
+}
+.form fieldset.form-panel .input-group > .form-control {
+ min-width: 0;
+}
+.form fieldset.form-panel .form-boolean {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ min-height: 22px;
+}
+.form fieldset.form-panel .form-boolean input[type="checkbox"].form-control {
+ display: inline-block;
+ width: 22px;
+ height: 22px;
+ min-height: 22px;
+ margin: 0;
+ padding: 0;
+ vertical-align: middle;
+}
+html[theme="default"] .screen-container .form fieldset.form-panel
+ .form-boolean input[type="checkbox"].form-control:before {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ right: auto;
+ width: 18px;
+ height: 18px;
+ margin: 0;
+ border: 1.5px solid #6f807d;
+ border-radius: 4px;
+ background: #ffffff;
+ box-shadow: inset 0 1px 2px rgba(53, 81, 84, 0.05);
+ transform: translate(-50%, -50%);
+}
+html[theme="default"] .screen-container .form fieldset.form-panel
+ .form-boolean input[type="checkbox"].form-control:checked:before {
+ border-color: #145369;
+ background: #145369;
+}
+html[theme="default"] .screen-container .form fieldset.form-panel
+ .form-boolean input[type="checkbox"].form-control:after {
+ top: 4px;
+ width: 5px;
+ height: 10px;
+ margin-left: -2.5px;
+ border-width: 0 2px 2px 0;
+}
.form fieldset.form-panel-summary {
padding: 12px 16px;
}
@@ -11489,6 +13026,8 @@ html[theme="default"] .screen-container .control-label,
html[theme="default"] .screen-container label {
color: #5e716f;
font-weight: 600;
+ padding-left: 2px;
+ padding-right: 2px;
}
html[theme="default"] .screen-container input.form-control:not([type="checkbox"]):not([type="radio"]),
@@ -11756,7 +13295,7 @@ html[data-density="compact"][theme="default"] .form fieldset.form-panel > legend
}
html[data-density="compact"][theme="default"] .form fieldset.form-panel .form-item {
- gap: 5px;
+ gap: 1px;
min-height: 25px;
min-width: 0;
padding-top: 2px;
@@ -11765,7 +13304,7 @@ html[data-density="compact"][theme="default"] .form fieldset.form-panel .form-it
html[data-density="compact"][theme="default"] .form fieldset.form-panel .form-label {
flex: 0 0 auto;
- margin-right: 3px;
+ margin-right: 0;
max-width: 18ch;
}
@@ -11902,11 +13441,16 @@ html[data-density="compact"][theme="default"] .form .form-many2many-menu {
gap: 6px;
height: 31px;
min-height: 31px;
- padding: 2px 7px;
+ padding: 2px 34px 2px 7px;
overflow: visible;
box-sizing: border-box;
}
+html[data-density="compact"][theme="default"] .form .form-one2many-collapse-toggle {
+ right: 5px;
+ top: 4px;
+}
+
html[data-density="compact"][theme="default"] .form .form-one2many-menu .form-one2many-string,
html[data-density="compact"][theme="default"] .form .form-many2many-menu .form-one2many-string,
html[data-density="compact"][theme="default"] .form .form-one2many-menu .form-many2many-string,
@@ -11939,6 +13483,151 @@ html[data-density="compact"][theme="default"] .form .form-many2many-menu .form-m
width: min(100%, 420px);
}
+html[data-density="compact"][theme="default"] .form .form-one2many-has-line-chips
+ > .form-one2many-menu .form-one2many-toolbar {
+ flex: 0 0 auto;
+ max-width: none;
+}
+
+html[data-density="compact"][theme="default"] .form .form-one2many-has-line-chips
+ > .form-one2many-menu .form-one2many-toolbar > .input-group {
+ width: auto;
+}
+
+html[data-density="compact"][theme="default"] .form .form-one2many-line-chips {
+ display: flex;
+ align-items: center;
+ flex: 1 1 auto;
+ gap: 4px;
+ min-width: 0;
+ height: 27px;
+ margin-left: 5px;
+ overflow-x: auto;
+ overflow-y: hidden;
+ scrollbar-width: thin;
+}
+
+html[data-density="compact"][theme="default"] .form .form-one2many-line-chip {
+ display: inline-grid;
+ grid-template-columns: 16px minmax(0, 1fr);
+ align-items: center;
+ column-gap: 4px;
+ flex: 0 0 auto;
+ min-width: 88px;
+ max-width: 152px;
+ height: 25px;
+ padding: 2px 7px 2px 4px;
+ border: 1px solid #cde0db;
+ border-radius: 7px;
+ background: #f7fbf9;
+ color: #24484d;
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
+ text-align: left;
+}
+
+html[data-density="compact"][theme="default"] .form .form-one2many-line-chip:hover,
+html[data-density="compact"][theme="default"] .form .form-one2many-line-chip:focus {
+ border-color: #9bc7bf;
+ background: #eef8f6;
+ outline: none;
+}
+
+html[data-density="compact"][theme="default"] .form .form-one2many-line-chip.active {
+ border-color: #2b8c87;
+ background: #e8f6f3;
+ box-shadow: inset 0 0 0 1px rgba(43, 140, 135, 0.12);
+}
+
+html[data-density="compact"][theme="default"] .form .form-one2many-line-chip.pending {
+ border-color: #f7b267;
+ background: #fff8ed;
+ color: #9a4a07;
+ box-shadow:
+ inset 0 0 0 1px rgba(247, 178, 103, 0.2),
+ 0 0 0 0 rgba(247, 178, 103, 0.32);
+ animation: one2many-pending-pulse 1.1s ease-out infinite;
+}
+
+html[data-density="compact"][theme="default"] .form
+ .form-one2many-line-chip.pending .form-one2many-line-chip-index {
+ background: #f97316;
+ color: #ffffff;
+}
+
+html[data-density="compact"][theme="default"] .form
+ .form-one2many-line-chip.pending .form-one2many-line-chip-copy strong {
+ color: #9a3412;
+}
+
+html[data-density="compact"][theme="default"] .form
+ .form-one2many-line-chip.pending .form-one2many-line-chip-copy small {
+ color: #c05621;
+}
+
+html[data-density="compact"][theme="default"] .form
+ .form-one2many-new-pending-button {
+ border-color: #f7b267 !important;
+ background: #fff3df !important;
+ box-shadow: 0 0 0 2px rgba(247, 178, 103, 0.18) !important;
+}
+
+@keyframes one2many-pending-pulse {
+ 0% {
+ box-shadow:
+ inset 0 0 0 1px rgba(247, 178, 103, 0.2),
+ 0 0 0 0 rgba(247, 178, 103, 0.34);
+ }
+ 100% {
+ box-shadow:
+ inset 0 0 0 1px rgba(247, 178, 103, 0.2),
+ 0 0 0 5px rgba(247, 178, 103, 0);
+ }
+}
+
+html[data-density="compact"][theme="default"] .form .form-one2many-line-chip-index {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 15px;
+ height: 15px;
+ border-radius: 999px;
+ background: #dfece8;
+ color: #0f6370;
+ font-size: 9px;
+ font-weight: 900;
+}
+
+html[data-density="compact"][theme="default"] .form .form-one2many-line-chip.active
+ .form-one2many-line-chip-index {
+ background: #2b8c87;
+ color: #ffffff;
+}
+
+html[data-density="compact"][theme="default"] .form .form-one2many-line-chip-copy {
+ min-width: 0;
+}
+
+html[data-density="compact"][theme="default"] .form .form-one2many-line-chip-copy strong,
+html[data-density="compact"][theme="default"] .form .form-one2many-line-chip-copy small {
+ display: block;
+ overflow: hidden;
+ line-height: 1.05;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+html[data-density="compact"][theme="default"] .form .form-one2many-line-chip-copy strong {
+ color: #173b40;
+ font-size: 9.5px;
+ font-weight: 850;
+}
+
+html[data-density="compact"][theme="default"] .form .form-one2many-line-chip-copy small {
+ color: #5f7472;
+ font-size: 8.5px;
+ font-weight: 750;
+}
+
html[data-density="compact"][theme="default"] .form .form-one2many-menu .form-one2many-toolbar > .input-group > .form-control,
html[data-density="compact"][theme="default"] .form .form-many2many-menu .form-many2many-toolbar > .input-group > .form-control {
flex: 1 1 0;
@@ -12429,6 +14118,14 @@ html[data-density="compact"] .input-group-btn > .btn {
padding-bottom: 0;
}
+html[data-density="compact"] .input-group-addon.symbol {
+ flex: 0 0 auto;
+ width: auto;
+ min-width: max-content;
+ overflow: visible;
+ white-space: nowrap;
+}
+
html[data-density="compact"] .form fieldset.form-panel,
html[data-density="compact"][theme="default"] .form fieldset.form-panel {
overflow: visible !important;
@@ -12620,14 +14317,14 @@ html[data-density="compact"][theme="default"] .form fieldset.form-panel fieldset
.ag-grid-tree-grouping-label,
.ag-grid-tree-layouts-label,
.ag-grid-value-filter-mode-label {
- font-size: 12px;
+ font-size: 11.5px;
font-weight: 600;
- letter-spacing: 0.01em;
+ letter-spacing: 0;
text-transform: none;
}
.ag-grid-value-filter-mode.active {
- background: linear-gradient(180deg, #e0f4f1 0%, #cbe9e3 100%);
+ background: #f2faf8;
border-color: #8fc3bd;
color: #0f6f6d;
}
@@ -12759,6 +14456,18 @@ html[data-density="compact"][theme="default"] .form fieldset.form-panel fieldset
border-radius: 999px;
}
+.ag-grid-view-transfer-button {
+ font-size: 11.5px;
+ font-weight: 600;
+}
+
+.ag-grid-tree-layouts-transfer-actions {
+ display: inline-flex;
+ align-items: center;
+ gap: 6px;
+ margin-left: auto;
+}
+
.ag-grid-tree-grouping-panel .btn,
.ag-grid-tree-layouts-panel .btn,
.ag-grid-filter-logic-panel .btn {
@@ -12865,7 +14574,7 @@ html[data-density="compact"][theme="default"] .form fieldset.form-panel fieldset
justify-content: center;
width: 16px;
height: 16px;
- color: #2b8c87;
+ color: #6f8f8b;
vertical-align: middle;
}
@@ -12884,6 +14593,14 @@ html[data-density="compact"][theme="default"] .form fieldset.form-panel fieldset
fill: none;
}
+.ag-grid-tree-columns > .btn:hover .ag-grid-toolbar-icon,
+.ag-grid-tree-grouping > .btn:hover .ag-grid-toolbar-icon,
+.ag-grid-tree-layouts > .btn:hover .ag-grid-toolbar-icon,
+.ag-grid-value-filter-mode:hover .ag-grid-toolbar-icon,
+.ag-grid-value-filter-mode.active .ag-grid-toolbar-icon {
+ color: #2b8c87;
+}
+
.ag-grid-tree-grouping-panel {
width: 420px;
max-width: calc(100vw - 24px);
@@ -13213,6 +14930,7 @@ html[theme="default"] .ag-grid-tree-grouping-panel input[type="checkbox"]:after
gap: 3px;
padding: 8px 18px;
border-right: 1px solid #e7efeb;
+ position: relative;
}
.ag-grid-summary-item:last-child {
@@ -13237,6 +14955,78 @@ html[theme="default"] .ag-grid-tree-grouping-panel input[type="checkbox"]:after
line-height: 1.15;
}
+.ag-grid-summary-value-wrap {
+ display: inline-flex;
+ align-items: center;
+ gap: 8px;
+ min-width: 0;
+}
+
+.ag-grid-summary-variation-badge {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: absolute;
+ top: 7px;
+ right: 10px;
+ min-height: 16px;
+ padding: 0 5px;
+ border-radius: 4px;
+ font-size: 10.5px;
+ font-weight: 800;
+ line-height: 1.1;
+ white-space: nowrap;
+}
+
+.ag-grid-summary-variation-positive {
+ border: none;
+ background: transparent;
+ color: #16a34a;
+}
+
+.ag-grid-summary-variation-negative {
+ border: none;
+ background: transparent;
+ color: #dc2626;
+}
+
+.ag-grid-summary-item-sum .ag-grid-summary-value {
+ color: #145369;
+ font-weight: 800;
+}
+
+.ag-grid-summary-item-sum {
+ flex-basis: 180px;
+ min-width: 165px;
+ max-width: 230px;
+ padding-left: 22px;
+ padding-right: 28px;
+}
+
+.ag-grid-summary-item-variation {
+ flex-basis: 165px;
+ min-width: 145px;
+ max-width: 220px;
+ background: #fbfdfc;
+}
+
+.ag-grid-summary-item-variation .ag-grid-summary-value {
+ font-size: 17px;
+ font-weight: 800;
+}
+
+.ag-grid-summary-variation-up .ag-grid-summary-value {
+ color: #16a34a;
+}
+
+.ag-grid-summary-variation-down .ag-grid-summary-value {
+ color: #dc2626;
+}
+
+.ag-grid-summary-variation-flat .ag-grid-summary-value {
+ color: #64748b;
+}
+
.ag-grid-tree-host {
flex: 0 0 auto;
min-height: 520px;
@@ -13428,6 +15218,12 @@ html[data-density="compact"] .ag-grid-tree-host .ag-header-cell-text {
border-right: 1px solid #e3ebe7;
}
+.ag-grid-tree-host .ag-header-cell:not([col-id="__selection__"]),
+.ag-grid-tree-host .ag-cell:not([col-id="__selection__"]) {
+ padding-left: 10px;
+ padding-right: 14px;
+}
+
.ag-grid-tree-host .ag-header-cell:last-child,
.ag-grid-tree-host .ag-cell:last-child {
border-right: none;
@@ -13457,6 +15253,10 @@ html[data-density="compact"] .ag-grid-tree-host .ag-header-cell-text {
justify-content: flex-end;
}
+.ag-grid-tree-host .ag-grid-right-aligned-cell {
+ padding-right: 18px;
+}
+
.ag-grid-tree-host .ag-grid-badge-cell {
display: flex;
align-items: center;
@@ -14825,6 +16625,31 @@ html[data-theme-mode="dark"] .form .form-many2many-menu {
color: #dce7e2;
}
+html[data-theme-mode="dark"] .form .form-one2many-line-chip.pending {
+ border-color: rgba(251, 146, 60, 0.58);
+ background: rgba(154, 52, 18, 0.22);
+ color: #fed7aa;
+}
+
+html[data-theme-mode="dark"] .form
+ .form-one2many-line-chip.pending .form-one2many-line-chip-index {
+ background: #fb923c;
+ color: #1f1308;
+}
+
+html[data-theme-mode="dark"] .form
+ .form-one2many-line-chip.pending .form-one2many-line-chip-copy strong,
+html[data-theme-mode="dark"] .form
+ .form-one2many-line-chip.pending .form-one2many-line-chip-copy small {
+ color: #fed7aa;
+}
+
+html[data-theme-mode="dark"] .form .form-one2many-new-pending-button {
+ border-color: rgba(251, 146, 60, 0.58) !important;
+ background: rgba(154, 52, 18, 0.22) !important;
+ box-shadow: 0 0 0 2px rgba(251, 146, 60, 0.16) !important;
+}
+
html[data-theme-mode="dark"] .screen-container .control-label,
html[data-theme-mode="dark"] .screen-container label,
html[data-theme-mode="dark"] .ag-grid-tree-grouping-title,
@@ -15000,6 +16825,7 @@ html[data-theme-mode="dark"] .ag-grid-tree-columns > .btn,
html[data-theme-mode="dark"] .ag-grid-tree-grouping > .btn,
html[data-theme-mode="dark"] .ag-grid-tree-layouts > .btn,
html[data-theme-mode="dark"] .ag-grid-value-filter-mode,
+html[data-theme-mode="dark"] .ag-grid-view-transfer-button,
html[data-theme-mode="dark"] .ag-grid-screen-filter-toggle,
html[data-theme-mode="dark"] .ag-grid-tree-grouping-panel .btn,
html[data-theme-mode="dark"] .ag-grid-tree-layouts-panel .btn,
@@ -15026,6 +16852,7 @@ html[data-theme-mode="dark"] .ag-grid-tree-layouts > .btn:hover,
html[data-theme-mode="dark"] .ag-grid-value-filter-mode:hover,
html[data-theme-mode="dark"] .ag-grid-value-filter-mode:focus,
html[data-theme-mode="dark"] .ag-grid-value-filter-mode.active,
+html[data-theme-mode="dark"] .ag-grid-view-transfer-button:hover,
html[data-theme-mode="dark"] .ag-grid-screen-filter-toggle:hover,
html[data-theme-mode="dark"] .ag-grid-screen-filter-toggle:focus,
html[data-theme-mode="dark"] .ag-grid-tree-grouping-panel .btn:hover,
@@ -15095,6 +16922,26 @@ html[data-theme-mode="dark"] .ag-grid-summary-value {
color: #8fe1d8;
}
+html[data-theme-mode="dark"] .ag-grid-summary-item-sum .ag-grid-summary-value {
+ color: #eef7f4 !important;
+}
+
+html[data-theme-mode="dark"] .ag-grid-summary-item-variation {
+ background: #172321;
+}
+
+html[data-theme-mode="dark"] .ag-grid-summary-variation-positive {
+ border-color: transparent;
+ background: transparent;
+ color: #86efac;
+}
+
+html[data-theme-mode="dark"] .ag-grid-summary-variation-negative {
+ border-color: transparent;
+ background: transparent;
+ color: #fca5a5;
+}
+
html[data-theme-mode="dark"] .form-tolerance-gauge {
color: #dce7e2;
}
diff --git a/dist/tryton-sao.js b/dist/tryton-sao.js
index 3b3b126..f5096a5 100644
--- a/dist/tryton-sao.js
+++ b/dist/tryton-sao.js
@@ -386,6 +386,16 @@ var Sao = {
Sao.config.graph_color = '#267f82';
Sao.config.bus_timeout = 10 * 60 * 1000;
Sao.config.image_max_size = Math.pow(10, 6);
+ Sao.config.hide_filters = window.SAO_HIDE_FILTERS !== undefined ?
+ Boolean(window.SAO_HIDE_FILTERS) : true;
+ Sao.set_hide_filters = function(hidden) {
+ Sao.config.hide_filters = Boolean(hidden);
+ if (document && document.documentElement) {
+ document.documentElement.classList.toggle(
+ 'sao-hide-filters', Sao.config.hide_filters);
+ }
+ };
+ Sao.set_hide_filters(Sao.config.hide_filters);
Sao.i18n = i18n();
Sao.i18n.setlang = function(lang) {
@@ -475,7 +485,7 @@ var Sao = {
// Remplacer le texte par une image avec le bon style
var logo_src = 'dist/tradon_wbg.png';
- var app_version = 'v1.2';
+ var app_version = 'v1.3';
if (jQuery('#title').length) {
jQuery('#title').replaceWith(
''
@@ -15727,6 +15737,7 @@ function eval_pyson(value){
this.el = jQuery('