Commit 53e46ee6 by Mac Stephens

updated styling on main form to fix scroll issues, fixed modal backdrop issues,…

updated styling on main form to fix scroll issues, fixed modal backdrop issues, updated kg logo image, deployed version 0.9.3
parent dfe97fe5
...@@ -4,6 +4,7 @@ kgOrdersClient/__recovery/ ...@@ -4,6 +4,7 @@ kgOrdersClient/__recovery/
kgOrdersClient/TMSWeb/ kgOrdersClient/TMSWeb/
kgOrdersClient/Win32/ kgOrdersClient/Win32/
kgOrdersClient/css/__history/ kgOrdersClient/css/__history/
kgOrdersClient/css/__recovery/
kgOrdersClient/config/__history/ kgOrdersClient/config/__history/
kgOrdersServer/__history kgOrdersServer/__history
kgOrdersServer/__recovery kgOrdersServer/__recovery
......
...@@ -19,7 +19,7 @@ type ...@@ -19,7 +19,7 @@ type
FUnauthorizedAccessProc: TUnauthorizedAccessProc; FUnauthorizedAccessProc: TUnauthorizedAccessProc;
public public
const clientVersion = '0.9.2'; const clientVersion = '0.9.3';
procedure InitApp(SuccessProc: TSuccessProc; procedure InitApp(SuccessProc: TSuccessProc;
UnauthorizedAccessProc: TUnauthorizedAccessProc); UnauthorizedAccessProc: TUnauthorizedAccessProc);
procedure SetClientConfig(Callback: TVersionCheckCallback); procedure SetClientConfig(Callback: TVersionCheckCallback);
......
...@@ -344,9 +344,16 @@ begin ...@@ -344,9 +344,16 @@ begin
end; end;
} }
asm asm
var confirmationModal = new bootstrap.Modal(document.getElementById('confirmation_modal'), { var modal = document.getElementById('confirmation_modal');
keyboard: false }); // ensure the modal is directly under <body>
confirmationModal.show(); if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var bsModal = new bootstrap.Modal(modal, {
keyboard: false
});
bsModal.show();
end; end;
end; end;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -223,19 +223,19 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -223,19 +223,19 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
Text = '' Text = ''
OnChange = dtpMountDueChange OnChange = dtpMountDueChange
end end
object WebButton1: TWebButton object btnAddColor: TWebButton
Left = 658 Left = 658
Top = 150 Top = 150
Width = 96 Width = 96
Height = 25 Height = 25
Caption = '+' Caption = 'Add Color'
ChildOrder = 59 ChildOrder = 59
ElementID = 'btnaddcolor' ElementID = 'btnaddcolor'
ElementPosition = epRelative ElementPosition = epRelative
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
Role = 'null' Role = 'null'
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = WebButton1Click OnClick = btnAddColorClick
end end
object dtpApprovedDate: TWebDateTimePicker object dtpApprovedDate: TWebDateTimePicker
Left = 662 Left = 662
......
<nav class="navbar navbar-expand navbar-light bg-light sticky-top" style="z-index: 100;"> <nav class="navbar navbar-expand navbar-light bg-light border-light sticky-top" style="z-index: 100;">
<div class="container-fluid ps-0"> <div class="container-fluid ps-0">
<div id="view.login.message" class="alert alert-danger" <div id="view.login.message" class="alert alert-danger"
style="padding: 0.25rem 0.5rem; font-size: 0.875rem; line-height: 1.5; display: flex; align-items: center; margin: 0 0 0 60px; height: 32px; width: 400px;"> style="padding: 0.25rem 0.5rem; font-size: 0.875rem; line-height: 1.5; display: flex; align-items: center; margin: 0 0 0 60px; height: 32px; width: 400px;">
...@@ -265,13 +265,24 @@ ...@@ -265,13 +265,24 @@
</div> </div>
<h4 class="custom-h4 mt-3">Colors</h4> <h4 class="custom-h4 mt-3">Colors</h4>
<hr class="custom-hr"> <hr class="custom-hr">
<div class="row"> <div class="row align-items-center">
<div class="col-auto"> <!-- placeholders for the 4 dynamic input columns to center the Add Color button the dynamically created Remove button -->
<label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">Colors:</label> <div class="col-sm"></div>
<button id="btnaddcolor" class="btn btn-primary btn-sm float-end">+</button> <div class="col-sm"></div>
<div id="additionalFields" class="row mt-3"></div> <div class="col-sm"></div>
</div> <div class="col-sm"></div>
<div class="col-auto d-flex justify-content-center">
<!-- Delphi-generated TWebButton stays here -->
<button id="btnaddcolor" class="btn btn-primary btn-sm me-3">
Add Color
</button>
</div>
</div> </div>
<!-- your existing container for the dynamic rows -->
<div id="additionalFields" class="row mt-3"></div>
<h4 class="custom-h4 mt-3">Proofing</h4> <h4 class="custom-h4 mt-3">Proofing</h4>
<hr class="custom-hr"> <hr class="custom-hr">
<div class="row"> <div class="row">
......
...@@ -28,7 +28,7 @@ type ...@@ -28,7 +28,7 @@ type
WebLabel4: TWebLabel; WebLabel4: TWebLabel;
WebLabel5: TWebLabel; WebLabel5: TWebLabel;
WebLabel6: TWebLabel; WebLabel6: TWebLabel;
WebButton1: TWebButton; btnAddColor: TWebButton;
WebLabel7: TWebLabel; WebLabel7: TWebLabel;
dtpApprovedDate: TWebDateTimePicker; dtpApprovedDate: TWebDateTimePicker;
WebLabel8: TWebLabel; WebLabel8: TWebLabel;
...@@ -209,7 +209,7 @@ type ...@@ -209,7 +209,7 @@ type
[async] procedure getOrder(Order_ID: string); [async] procedure getOrder(Order_ID: string);
[async] procedure getCustomer(customerID: string); [async] procedure getCustomer(customerID: string);
procedure tmrScrollTopTimer(Sender: TObject); procedure tmrScrollTopTimer(Sender: TObject);
procedure WebButton1Click(Sender: TObject); procedure btnAddColorClick(Sender: TObject);
procedure addColorRow(num, Color, LPI, Size: string); procedure addColorRow(num, Color, LPI, Size: string);
procedure btnSaveClick(Sender: TObject); procedure btnSaveClick(Sender: TObject);
[async] procedure AddCorrugatedOrder(orderJSON: TJSONObject); [async] procedure AddCorrugatedOrder(orderJSON: TJSONObject);
...@@ -492,9 +492,16 @@ begin ...@@ -492,9 +492,16 @@ begin
document.getElementById('btn_confirm_cancel').innerText := 'Cancel'; document.getElementById('btn_confirm_cancel').innerText := 'Cancel';
document.getElementById('btn_confirm_delete').innerText := 'Delete'; document.getElementById('btn_confirm_delete').innerText := 'Delete';
asm asm
var confirmationModal = new bootstrap.Modal(document.getElementById('confirmation_modal'), { var modal = document.getElementById('confirmation_modal');
keyboard: false }); // ensure the modal lives directly under <body>
confirmationModal.show(); if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var bsModal = new bootstrap.Modal(modal, {
keyboard: false
});
bsModal.show();
end; end;
end; end;
...@@ -526,9 +533,16 @@ begin ...@@ -526,9 +533,16 @@ begin
else else
begin begin
asm asm
var confirmationModal = new bootstrap.Modal(document.getElementById('confirmation_modal'), { var modal = document.getElementById('confirmation_modal');
keyboard: false }); // ensure the modal lives directly under <body>
confirmationModal.hide(); if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var bsModal = new bootstrap.Modal(modal, {
keyboard: false
});
bsModal.hide();
startSpinner(); startSpinner();
end; end;
delOrder(); delOrder();
...@@ -632,10 +646,10 @@ begin ...@@ -632,10 +646,10 @@ begin
}); });
const removeButtonCol = document.createElement('div'); const removeButtonCol = document.createElement('div');
removeButtonCol.className = 'col-auto d-flex align-items-center'; removeButtonCol.className = 'col-auto d-flex align-items-center mt-3';
const removeButton = document.createElement('button'); const removeButton = document.createElement('button');
removeButton.className = 'btn btn-danger btn-sm'; removeButton.className = 'btn btn-danger btn-sm mt-1';
removeButton.textContent = 'Remove'; removeButton.textContent = 'Remove';
removeButton.addEventListener('click', function() { removeButton.addEventListener('click', function() {
container.removeChild(newRow); container.removeChild(newRow);
...@@ -648,7 +662,7 @@ begin ...@@ -648,7 +662,7 @@ begin
end; end;
end; end;
procedure TFOrderEntryCorrugated.WebButton1Click(Sender: TObject); procedure TFOrderEntryCorrugated.btnAddColorClick(Sender: TObject);
begin begin
addColorRow('','','',''); addColorRow('','','','');
end; end;
...@@ -696,9 +710,16 @@ begin ...@@ -696,9 +710,16 @@ begin
document.getElementById('btn_confirm_cancel').innerText := 'No'; document.getElementById('btn_confirm_cancel').innerText := 'No';
document.getElementById('btn_confirm_delete').innerText := 'Yes'; document.getElementById('btn_confirm_delete').innerText := 'Yes';
asm asm
var confirmationModal = new bootstrap.Modal(document.getElementById('confirmation_modal'), { var modal = document.getElementById('confirmation_modal');
keyboard: false }); // ensure the modal is directly under <body>
confirmationModal.show(); if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var bsModal = new bootstrap.Modal(modal, {
keyboard: false
});
bsModal.show();
end; end;
end; end;
......
...@@ -261,9 +261,16 @@ end; ...@@ -261,9 +261,16 @@ end;
procedure TFOrderEntryCuttingDie.btnDeleteClick(Sender: TObject); procedure TFOrderEntryCuttingDie.btnDeleteClick(Sender: TObject);
begin begin
asm asm
var confirmationModal = new bootstrap.Modal(document.getElementById('confirmation_modal'), { var modal = document.getElementById('confirmation_modal');
keyboard: false }); // ensure the modal is directly under <body>
confirmationModal.show(); if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var bsModal = new bootstrap.Modal(modal, {
keyboard: false
});
bsModal.show();
end; end;
end; end;
procedure TFOrderEntryCuttingDie.btnEditClick(Sender: TObject); procedure TFOrderEntryCuttingDie.btnEditClick(Sender: TObject);
...@@ -299,9 +306,16 @@ begin ...@@ -299,9 +306,16 @@ begin
else else
begin begin
asm asm
var confirmationModal = new bootstrap.Modal(document.getElementById('confirmation_modal'), { var modal = document.getElementById('confirmation_modal');
keyboard: false }); // ensure the modal lives directly under <body>
confirmationModal.hide(); if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var bsModal = new bootstrap.Modal(modal, {
keyboard: false
});
bsModal.hide();
startSpinner(); startSpinner();
end; end;
delOrder(); delOrder();
...@@ -401,9 +415,16 @@ begin ...@@ -401,9 +415,16 @@ begin
document.getElementById('btn_confirm_cancel').innerText := 'No'; document.getElementById('btn_confirm_cancel').innerText := 'No';
document.getElementById('btn_confirm_delete').innerText := 'Yes'; document.getElementById('btn_confirm_delete').innerText := 'Yes';
asm asm
var confirmationModal = new bootstrap.Modal(document.getElementById('confirmation_modal'), { var modal = document.getElementById('confirmation_modal');
keyboard: false }); // ensure the modal is directly under <body>
confirmationModal.show(); if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var bsModal = new bootstrap.Modal(modal, {
keyboard: false
});
bsModal.show();
end; end;
end; end;
......
...@@ -350,9 +350,16 @@ end; ...@@ -350,9 +350,16 @@ end;
procedure TFOrderEntryWeb.btnDeleteClick(Sender: TObject); procedure TFOrderEntryWeb.btnDeleteClick(Sender: TObject);
begin begin
asm asm
var confirmationModal = new bootstrap.Modal(document.getElementById('confirmation_modal'), { var modal = document.getElementById('confirmation_modal');
keyboard: false }); // ensure the modal is directly under <body>
confirmationModal.show(); if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var bsModal = new bootstrap.Modal(modal, {
keyboard: false
});
bsModal.show();
end; end;
end; end;
...@@ -497,9 +504,16 @@ begin ...@@ -497,9 +504,16 @@ begin
else else
begin begin
asm asm
var confirmationModal = new bootstrap.Modal(document.getElementById('confirmation_modal'), { var modal = document.getElementById('confirmation_modal');
keyboard: false }); // ensure the modal is directly under <body>
confirmationModal.hide(); if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var bsModal = new bootstrap.Modal(modal, {
keyboard: false
});
bsModal.hide();
startSpinner(); startSpinner();
end; end;
delOrder(); delOrder();
...@@ -658,9 +672,16 @@ begin ...@@ -658,9 +672,16 @@ begin
document.getElementById('btn_confirm_cancel').innerText := 'No'; document.getElementById('btn_confirm_cancel').innerText := 'No';
document.getElementById('btn_confirm_delete').innerText := 'Yes'; document.getElementById('btn_confirm_delete').innerText := 'Yes';
asm asm
var confirmationModal = new bootstrap.Modal(document.getElementById('confirmation_modal'), { var modal = document.getElementById('confirmation_modal');
keyboard: false }); // ensure the modal is directly under <body>
confirmationModal.show(); if (modal && modal.parentNode !== document.body) {
document.body.appendChild(modal);
}
var bsModal = new bootstrap.Modal(modal, {
keyboard: false
});
bsModal.show();
end; end;
end; end;
......
...@@ -98,7 +98,7 @@ object FViewOrders: TFViewOrders ...@@ -98,7 +98,7 @@ object FViewOrders: TFViewOrders
BorderColor = clSilver BorderColor = clSilver
ChildOrder = 11 ChildOrder = 11
ElementFont = efCSS ElementFont = efCSS
ElementHeaderClassName = 'thead-light sticky-top bg-light' ElementHeaderClassName = 'thead-light sticky-top bg-light border-dark'
ElementPosition = epRelative ElementPosition = epRelative
ElementTableClassName = 'table table-striped table-hover table-bordered text-sm' ElementTableClassName = 'table table-striped table-hover table-bordered text-sm'
Footer.ButtonActiveElementClassName = 'btn btn-primary' Footer.ButtonActiveElementClassName = 'btn btn-primary'
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<!-- Table Section --> <!-- Table Section -->
<div id="order_table_section" class="overflow-auto mt-2" <div id="order_table_section" class="overflow-auto mt-2"
style="max-height: calc(100vh - 250px); padding-bottom: 0; width: 100%;"> style="max-height: calc(100vh - 250px); padding-bottom: 0; width: 100%;">
<table id="tblPhoneGrid" class="table table-striped table-bordered" style="width: 100%;"> <table id="tblPhoneGrid" class="table table-striped table-bordered border-light" style="width: 100%;">
<thead class="sticky-top thead-light"> <thead class="sticky-top thead-light">
<tr style="font-size: 0.875rem;"> <tr style="font-size: 0.875rem;">
<!-- Table headers are dynamically generated --> <!-- Table headers are dynamically generated -->
......
...@@ -165,6 +165,7 @@ is-invalid .form-check-input { ...@@ -165,6 +165,7 @@ is-invalid .form-check-input {
.table tbody tr:hover { .table tbody tr:hover {
background-color: #d1e7fd; /* Light blue color for hover effect */ background-color: #d1e7fd; /* Light blue color for hover effect */
cursor: pointer; cursor: pointer;
margin-top: 5px;
} }
.form-input{ .form-input{
...@@ -179,6 +180,15 @@ is-invalid .form-check-input { ...@@ -179,6 +180,15 @@ is-invalid .form-check-input {
transition: background-color 0.3s ease; transition: background-color 0.3s ease;
} }
.table thead th{
border: 2px;
background-color: #e6e6e6;
}
.table thead {
border-color: #cccccc;
}|
.table { .table {
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
border-radius: 5px; border-radius: 5px;
...@@ -341,6 +351,18 @@ is-invalid .form-check-input { ...@@ -341,6 +351,18 @@ is-invalid .form-check-input {
box-sizing: border-box !important; /* Prevent borders from affecting dimensions */ box-sizing: border-box !important; /* Prevent borders from affecting dimensions */
} }
#tblPhoneGrid {
--bs-table-bg: #fff;
--bs-table-border-color: #dee2e6; /* or whatever border tone you like */
}
/* and make sure the table collapses borders so there are no gaps */
#tblPhoneGrid {
border-collapse: collapse !important;
}
......
...@@ -107,7 +107,6 @@ ...@@ -107,7 +107,6 @@
<TMSWebDefines>RELEASE</TMSWebDefines> <TMSWebDefines>RELEASE</TMSWebDefines>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Win32)'!=''"> <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<VerInfo_Build>8</VerInfo_Build> <VerInfo_Build>8</VerInfo_Build>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.8;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;LastCompiledTime=2018/08/22 16:25:56</VerInfo_Keys> <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.8;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;LastCompiledTime=2018/08/22 16:25:56</VerInfo_Keys>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
......
...@@ -116,8 +116,8 @@ ...@@ -116,8 +116,8 @@
<DCC_UnitSearchPath>C:\RADTOOLS\FastMM4;$(DCC_UnitSearchPath)</DCC_UnitSearchPath> <DCC_UnitSearchPath>C:\RADTOOLS\FastMM4;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
<VerInfo_MajorVer>0</VerInfo_MajorVer> <VerInfo_MajorVer>0</VerInfo_MajorVer>
<VerInfo_MinorVer>9</VerInfo_MinorVer> <VerInfo_MinorVer>9</VerInfo_MinorVer>
<VerInfo_Release>2</VerInfo_Release> <VerInfo_Release>3</VerInfo_Release>
<VerInfo_Keys>CompanyName=EM Systems;FileDescription=$(MSBuildProjectName);FileVersion=0.9.2.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys> <VerInfo_Keys>CompanyName=EM Systems;FileDescription=$(MSBuildProjectName);FileVersion=0.9.3.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=0.9.3.0;Comments=</VerInfo_Keys>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1_Win64)'!=''"> <PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode> <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
...@@ -130,6 +130,12 @@ ...@@ -130,6 +130,12 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Win32)'!=''"> <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode> <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
<DCC_UnitSearchPath>C:\RADTOOLS\FastMM4;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_MajorVer>0</VerInfo_MajorVer>
<VerInfo_MinorVer>9</VerInfo_MinorVer>
<VerInfo_Release>2</VerInfo_Release>
<VerInfo_Locale>1033</VerInfo_Locale>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Win64)'!=''"> <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode> <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
......
[Settings] [Settings]
MemoLogLevel=3 MemoLogLevel=3
FileLogLevel=5 FileLogLevel=5
webClientVersion=0.9.2 webClientVersion=0.9.3
LogFileNum=438 LogFileNum=444
[Database] [Database]
Server=192.168.159.131 --Server=192.168.159.131
--Server=192.168.102.130 Server=192.168.102.130
--Server=192.168.75.133 --Server=192.168.75.133
Database=kg_order_entry Database=kg_order_entry
Username=root Username=root
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment