Commit 8190ffe0 by Mac Stephens

add “View On Map” actions in unit/complaint lists and details, implement map…

add “View On Map” actions in unit/complaint lists and details, implement map focus for units/complaints (with delayed navigation), and normalize complaint dispatch district to single-letter in map/detail JSON
parent f5a72c13
...@@ -17,6 +17,7 @@ type ...@@ -17,6 +17,7 @@ type
procedure AfterConstruction; override; procedure AfterConstruction; override;
procedure BeforeDestruction; override; procedure BeforeDestruction; override;
function GetComplaintMemos(const CfsId: string): TJSONObject; function GetComplaintMemos(const CfsId: string): TJSONObject;
function DispatchDistrictLetter(const value: string): string;
public public
function GetBadgeCounts: TJSONObject; function GetBadgeCounts: TJSONObject;
function GetComplaintList: TJSONObject; function GetComplaintList: TJSONObject;
...@@ -152,7 +153,7 @@ begin ...@@ -152,7 +153,7 @@ begin
item:=TJSONObject.Create; item:=TJSONObject.Create;
item.AddPair('ComplaintId',ApiDB.uqMapComplaintsCOMPLAINTID.AsString); item.AddPair('ComplaintId',ApiDB.uqMapComplaintsCOMPLAINTID.AsString);
item.AddPair('DispatchDistrict',ApiDB.uqMapComplaintsDISPATCHDISTRICT.AsString); item.AddPair('DispatchDistrict', DispatchDistrictLetter(ApiDB.uqMapComplaintsDISPATCHDISTRICT.AsString));
item.AddPair('DispatchCodeDesc',ApiDB.uqMapComplaintsDISPATCH_CODE_DESC.AsString); item.AddPair('DispatchCodeDesc',ApiDB.uqMapComplaintsDISPATCH_CODE_DESC.AsString);
item.AddPair('DispatchCodeCategory',ApiDB.uqMapComplaintsDISPATCHCODECATEGORY.AsString); item.AddPair('DispatchCodeCategory',ApiDB.uqMapComplaintsDISPATCHCODECATEGORY.AsString);
item.AddPair('Priority',ApiDB.uqMapComplaintsPRIORITY.AsString); item.AddPair('Priority',ApiDB.uqMapComplaintsPRIORITY.AsString);
...@@ -332,7 +333,7 @@ begin ...@@ -332,7 +333,7 @@ begin
item.AddPair('Address', ApiDB.uqComplaintListADDRESS.AsString); item.AddPair('Address', ApiDB.uqComplaintListADDRESS.AsString);
item.AddPair('CFSId', ApiDB.uqComplaintListCFSID.AsString); item.AddPair('CFSId', ApiDB.uqComplaintListCFSID.AsString);
item.AddPair('Status', status); item.AddPair('Status', status);
item.AddPair('DispatchDistrict', curDistrict); item.AddPair('DispatchDistrict', DispatchDistrictLetter(curDistrict));
item.AddPair('DateReported', ApiDB.uqComplaintListDATEREPORTED.AsString); item.AddPair('DateReported', ApiDB.uqComplaintListDATEREPORTED.AsString);
data.AddElement(item); data.AddElement(item);
...@@ -464,7 +465,7 @@ begin ...@@ -464,7 +465,7 @@ begin
obj.AddPair('Priority', ApiDB.uqComplaintDetailsPRIORITY.AsString); obj.AddPair('Priority', ApiDB.uqComplaintDetailsPRIORITY.AsString);
obj.AddPair('DispatchCode', ApiDB.uqComplaintDetailsDISPATCHCODE.AsString); obj.AddPair('DispatchCode', ApiDB.uqComplaintDetailsDISPATCHCODE.AsString);
obj.AddPair('DispatchCodeDesc', ApiDB.uqComplaintDetailsDISPATCH_CODE_DESC.AsString); obj.AddPair('DispatchCodeDesc', ApiDB.uqComplaintDetailsDISPATCH_CODE_DESC.AsString);
obj.AddPair('DispatchDistrict', ApiDB.uqComplaintDetailsDISPATCHDISTRICT.AsString); obj.AddPair('DispatchDistrict', DispatchDistrictLetter(ApiDB.uqComplaintDetailsDISPATCHDISTRICT.AsString));
obj.AddPair('Address', ApiDB.uqComplaintDetailsADDRESS.AsString); obj.AddPair('Address', ApiDB.uqComplaintDetailsADDRESS.AsString);
obj.AddPair('History', ApiDB.uqComplaintDetailsHISTORY.AsString); obj.AddPair('History', ApiDB.uqComplaintDetailsHISTORY.AsString);
obj.AddPair('Contacts', ApiDB.uqComplaintDetailsCONTACTS.AsString); obj.AddPair('Contacts', ApiDB.uqComplaintDetailsCONTACTS.AsString);
...@@ -892,6 +893,17 @@ begin ...@@ -892,6 +893,17 @@ begin
end; end;
function TApiService.DispatchDistrictLetter(const value: string): string;
var
s: string;
begin
s := Trim(value);
if s = '' then
Exit('');
Result := s[Length(s)];
end;
initialization initialization
RegisterServiceType(TApiService); RegisterServiceType(TApiService);
......
[Settings] [Settings]
LogFileNum=592 LogFileNum=597
webClientVersion=0.1.0 webClientVersion=0.1.0
...@@ -56,9 +56,9 @@ object FViewComplaints: TFViewComplaints ...@@ -56,9 +56,9 @@ object FViewComplaints: TFViewComplaints
' gap-1"> <button type="button" class="btn btn-prima' + ' gap-1"> <button type="button" class="btn btn-prima' +
'ry btn-sm complaint-details-btn" data-id="(%ComplaintId%)" ' + 'ry btn-sm complaint-details-btn" data-id="(%ComplaintId%)" ' +
' > Details </button> <button type="button" ' + ' > Details </button> <button type="button" ' +
' class="btn btn-secondary btn-sm btn-complaint-map" data-i' + ' class="btn btn-primary btn-sm btn-complaint-map" data-id=' +
'd="(%ComplaintId%)" > View On Map </button> </div></' + '"(%ComplaintId%)" > View On Map </button> </div></di' +
'div>' 'v>'
ListSource = wdsComplaints ListSource = wdsComplaints
end end
object xdwcComplaints: TXDataWebClient object xdwcComplaints: TXDataWebClient
......
...@@ -55,8 +55,8 @@ object FViewUnits: TFViewUnits ...@@ -55,8 +55,8 @@ object FViewUnits: TFViewUnits
'-y pe-2"> <button type="button" class="btn btn-prim' + '-y pe-2"> <button type="button" class="btn btn-prim' +
'ary btn-sm btn-unit-details" data-unitid="(%UnitId%)" > ' + 'ary btn-sm btn-unit-details" data-unitid="(%UnitId%)" > ' +
' Details </button> <button type="button" class=' + ' Details </button> <button type="button" class=' +
'"btn btn-secondary btn-sm btn-unit-map" data-unitid="(%Un' + '"btn btn-primary btn-sm btn-unit-map" data-unitid="(%Unit' +
'itId%)"> View On Map </button> </div></div>' 'Id%)"> View On Map </button> </div></div>'
ListSource = wdsUnits ListSource = wdsUnits
end end
object wdsUnits: TWebDataSource object wdsUnits: TWebDataSource
......
...@@ -192,6 +192,7 @@ ...@@ -192,6 +192,7 @@
<None Include="css\spinner.css"/> <None Include="css\spinner.css"/>
<None Include="assets\bpddistricts-updated.geojson"/> <None Include="assets\bpddistricts-updated.geojson"/>
<None Include="assets\bpddistricts.geojson"/> <None Include="assets\bpddistricts.geojson"/>
<None Include="config\config.json"/>
<RcItem Include="assets\markers\alarm_1.png"> <RcItem Include="assets\markers\alarm_1.png">
<ResourceType>RCDATA</ResourceType> <ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_1</ResourceId> <ResourceId>PngImage_1</ResourceId>
...@@ -484,7 +485,6 @@ ...@@ -484,7 +485,6 @@
<ResourceType>RCDATA</ResourceType> <ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_73</ResourceId> <ResourceId>PngImage_73</ResourceId>
</RcItem> </RcItem>
<None Include="config\config.json"/>
<BuildConfiguration Include="Base"> <BuildConfiguration Include="Base">
<Key>Base</Key> <Key>Base</Key>
</BuildConfiguration> </BuildConfiguration>
......
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