@djb25/digit-ui-module-ws 1.0.52 → 1.0.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1869,11 +1869,12 @@ const WSCalculationPayload = (data, tenantId) => {
1869
1869
  farArea: useDetails !== null && useDetails !== void 0 && useDetails.farArea ? Number(useDetails.farArea) : 0,
1870
1870
  numberOfFloors: useDetails !== null && useDetails !== void 0 && (_useDetails$noOfFloor = useDetails.noOfFloors) !== null && _useDetails$noOfFloor !== void 0 && _useDetails$noOfFloor.code ? Number(useDetails.noOfFloors.code) : 0,
1871
1871
  numberOfStudents: useDetails !== null && useDetails !== void 0 && useDetails.numberOfStudents ? Number(useDetails.numberOfStudents) : 0,
1872
- numberOfBeds: useDetails !== null && useDetails !== void 0 && useDetails.numberOfBeds ? Number(useDetails.numberOfBeds) : 0
1872
+ numberOfBeds: useDetails !== null && useDetails !== void 0 && useDetails.numberOfBeds ? Number(useDetails.numberOfBeds) : 0,
1873
+ servantQuarterArea: useDetails !== null && useDetails !== void 0 && useDetails.servantQuarterArea ? Number(useDetails.servantQuarterArea) : 0
1873
1874
  };
1874
1875
  if (useDetails !== null && useDetails !== void 0 && useDetails.NumberofRooms) payload.numberOfRooms = Number(useDetails.NumberofRooms);
1875
1876
  if (useDetails !== null && useDetails !== void 0 && useDetails.NumberofDwellingUnits) payload.numberOfDwellingUnits = Number(useDetails.NumberofDwellingUnits);
1876
- if (useDetails !== null && useDetails !== void 0 && useDetails.ServantQuartersRoom) payload.servantQuartersRoom = Number(useDetails.ServantQuartersRoom);
1877
+ if (useDetails !== null && useDetails !== void 0 && useDetails.servantQuarterArea) payload.servantQuarterArea = Number(useDetails.servantQuarterArea);
1877
1878
  return payload;
1878
1879
  };
1879
1880
 
@@ -9664,7 +9665,7 @@ const WSCalculation = _ref => {
9664
9665
  NumberofRooms: "",
9665
9666
  numberOfBeds: "",
9666
9667
  numberOfStudents: "",
9667
- ServantQuartersRoom: "",
9668
+ servantQuarterArea: "",
9668
9669
  colonyName: ""
9669
9670
  }
9670
9671
  }
@@ -9681,8 +9682,9 @@ const WSCalculation = _ref => {
9681
9682
  const _Digit$Hooks$ws$useWS = Digit.Hooks.ws.useWSCalculater({
9682
9683
  tenantId
9683
9684
  }),
9684
- calculateCharges = _Digit$Hooks$ws$useWS.mutate;
9685
- const _Digit$Hooks$pt$usePr = Digit.Hooks.pt.usePropertyMDMS(tenantId, "PropertyTax", ["PropertyCategory", "PropertyType", "PropertyNewUsageType"]),
9685
+ calculateCharges = _Digit$Hooks$ws$useWS.mutate,
9686
+ isLoading = _Digit$Hooks$ws$useWS.isLoading;
9687
+ const _Digit$Hooks$pt$usePr = Digit.Hooks.pt.usePropertyMDMS(tenantId, "PropertyTax", ["PropertyCategory", "PropertyType", "PropertyNewUsageType", "PropertyToUsageMapping"]),
9686
9688
  ptServicesMastersData = _Digit$Hooks$pt$usePr.data;
9687
9689
  const _Digit$Hooks$ws$useMD = Digit.Hooks.ws.useMDMS(tenantId, "ws-services-masters", ["WsCategoryType"]),
9688
9690
  wsServicesMastersData = _Digit$Hooks$ws$useMD.data;
@@ -9710,17 +9712,18 @@ const WSCalculation = _ref => {
9710
9712
  const watchPropertyType = watch("useDetails.propertyType");
9711
9713
  const watchPropertyCategory = watch("useDetails.propertyCategory");
9712
9714
  const watchWaterConnectionUsageType = watch("useDetails.WaterConnectionUsageType");
9713
- const isHospitalProperty = (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "HOSPITAL_NURSING_HOME" || (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "HospitalNursingHome";
9715
+ const watchColonyName = watch("useDetails.colonyName");
9716
+ const isCalculateButtonEnabled = watchCategoryType && watchPropertyCategory && watchPropertyType && watchWaterConnectionUsageType && watchColonyName && !calculationData;
9717
+ const isHospitalProperty = (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "HOSPITAL_NURSING_HOME" || (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "DharamshalasOrHostels" || (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "HospitalNursingHome";
9714
9718
  const isHotelRestaurantProperty = (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "HOTEL_OR_RESTAURANT" || (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "HotelOrRestaurant";
9715
9719
  const isSchoolCollegeProperty = (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "School" || (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "College";
9716
9720
  const isDwellingUnit = (watchPropertyCategory === null || watchPropertyCategory === void 0 ? void 0 : watchPropertyCategory.code) === "RESIDENTIAL" || (watchPropertyCategory === null || watchPropertyCategory === void 0 ? void 0 : watchPropertyCategory.code) === "RESIDENTIAL";
9717
9721
  const isServentHouse = (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "Apartment" || (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "FlatOrApartment" || (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "IndividualHouse";
9718
9722
  const categoryOptions = useMemo(() => {
9719
9723
  var _ptServicesMastersDat, _ptServicesMastersDat2;
9724
+ if (!(watchCategoryType !== null && watchCategoryType !== void 0 && watchCategoryType.code)) return [];
9720
9725
  let options = (ptServicesMastersData === null || ptServicesMastersData === void 0 ? void 0 : (_ptServicesMastersDat = ptServicesMastersData.PropertyTax) === null || _ptServicesMastersDat === void 0 ? void 0 : (_ptServicesMastersDat2 = _ptServicesMastersDat.PropertyCategory) === null || _ptServicesMastersDat2 === void 0 ? void 0 : _ptServicesMastersDat2.filter(item => item.active)) || [];
9721
- if (watchCategoryType !== null && watchCategoryType !== void 0 && watchCategoryType.code) {
9722
- options = options.filter(item => item.type === watchCategoryType.code);
9723
- }
9726
+ options = options.filter(item => item.type === watchCategoryType.code);
9724
9727
  return options.map(item => ({
9725
9728
  code: item.code,
9726
9729
  name: item.name
@@ -9735,16 +9738,18 @@ const WSCalculation = _ref => {
9735
9738
  }
9736
9739
  }, [watchCategoryType, categoryOptions, setValue, watchPropertyCategory]);
9737
9740
  const propertyTypeOptions = useMemo(() => {
9738
- var _ptServicesMastersDat3, _ptServicesMastersDat4;
9741
+ var _ptServicesMastersDat3, _ptServicesMastersDat4, _ptServicesMastersDat5, _watchPropertyCategor;
9742
+ if (!(watchPropertyCategory !== null && watchPropertyCategory !== void 0 && watchPropertyCategory.code)) return [];
9739
9743
  let options = (ptServicesMastersData === null || ptServicesMastersData === void 0 ? void 0 : (_ptServicesMastersDat3 = ptServicesMastersData.PropertyTax) === null || _ptServicesMastersDat3 === void 0 ? void 0 : (_ptServicesMastersDat4 = _ptServicesMastersDat3.PropertyType) === null || _ptServicesMastersDat4 === void 0 ? void 0 : _ptServicesMastersDat4.filter(item => item.active)) || [];
9740
- if (watchPropertyCategory !== null && watchPropertyCategory !== void 0 && watchPropertyCategory.code) {
9741
- var _watchPropertyCategor;
9742
- if ((watchPropertyCategory === null || watchPropertyCategory === void 0 ? void 0 : (_watchPropertyCategor = watchPropertyCategory.code) === null || _watchPropertyCategor === void 0 ? void 0 : _watchPropertyCategor.toUpperCase()) !== "MIXED") {
9743
- options = options.filter(item => {
9744
- var _item$type, _watchPropertyCategor2;
9745
- return ((_item$type = item.type) === null || _item$type === void 0 ? void 0 : _item$type.toUpperCase()) === ((_watchPropertyCategor2 = watchPropertyCategory.code) === null || _watchPropertyCategor2 === void 0 ? void 0 : _watchPropertyCategor2.toUpperCase());
9746
- });
9747
- }
9744
+ let mapping = (ptServicesMastersData === null || ptServicesMastersData === void 0 ? void 0 : (_ptServicesMastersDat5 = ptServicesMastersData.PropertyTax) === null || _ptServicesMastersDat5 === void 0 ? void 0 : _ptServicesMastersDat5.PropertyToUsageMapping) || [];
9745
+ if (mapping.length > 0) {
9746
+ options = options.filter(item => mapping.some(m => m.propertyTypeCode === item.code));
9747
+ }
9748
+ if ((watchPropertyCategory === null || watchPropertyCategory === void 0 ? void 0 : (_watchPropertyCategor = watchPropertyCategory.code) === null || _watchPropertyCategor === void 0 ? void 0 : _watchPropertyCategor.toUpperCase()) !== "MIXED") {
9749
+ options = options.filter(item => {
9750
+ var _item$type, _watchPropertyCategor2;
9751
+ return ((_item$type = item.type) === null || _item$type === void 0 ? void 0 : _item$type.toUpperCase()) === ((_watchPropertyCategor2 = watchPropertyCategory.code) === null || _watchPropertyCategor2 === void 0 ? void 0 : _watchPropertyCategor2.toUpperCase());
9752
+ });
9748
9753
  }
9749
9754
  return options.map(item => ({
9750
9755
  code: item.code,
@@ -9760,22 +9765,21 @@ const WSCalculation = _ref => {
9760
9765
  }
9761
9766
  }, [watchPropertyCategory, propertyTypeOptions, setValue, watchPropertyType]);
9762
9767
  const usageTypeOptions = useMemo(() => {
9763
- var _ptServicesMastersDat5, _ptServicesMastersDat6;
9764
- let options = (ptServicesMastersData === null || ptServicesMastersData === void 0 ? void 0 : (_ptServicesMastersDat5 = ptServicesMastersData.PropertyTax) === null || _ptServicesMastersDat5 === void 0 ? void 0 : (_ptServicesMastersDat6 = _ptServicesMastersDat5.PropertyNewUsageType) === null || _ptServicesMastersDat6 === void 0 ? void 0 : _ptServicesMastersDat6.filter(item => item.active)) || [];
9765
- if (watchPropertyCategory !== null && watchPropertyCategory !== void 0 && watchPropertyCategory.code) {
9766
- var _watchPropertyCategor3;
9767
- if ((watchPropertyCategory === null || watchPropertyCategory === void 0 ? void 0 : (_watchPropertyCategor3 = watchPropertyCategory.code) === null || _watchPropertyCategor3 === void 0 ? void 0 : _watchPropertyCategor3.toUpperCase()) !== "MIXED") {
9768
- options = options.filter(item => {
9769
- var _item$type2, _watchPropertyCategor4;
9770
- return ((_item$type2 = item.type) === null || _item$type2 === void 0 ? void 0 : _item$type2.toUpperCase()) === ((_watchPropertyCategor4 = watchPropertyCategory.code) === null || _watchPropertyCategor4 === void 0 ? void 0 : _watchPropertyCategor4.toUpperCase());
9771
- });
9772
- }
9768
+ var _ptServicesMastersDat6, _ptServicesMastersDat7, _ptServicesMastersDat8;
9769
+ if (!(watchPropertyType !== null && watchPropertyType !== void 0 && watchPropertyType.code)) return [];
9770
+ let options = (ptServicesMastersData === null || ptServicesMastersData === void 0 ? void 0 : (_ptServicesMastersDat6 = ptServicesMastersData.PropertyTax) === null || _ptServicesMastersDat6 === void 0 ? void 0 : (_ptServicesMastersDat7 = _ptServicesMastersDat6.PropertyNewUsageType) === null || _ptServicesMastersDat7 === void 0 ? void 0 : _ptServicesMastersDat7.filter(item => item.active)) || [];
9771
+ let mapping = (ptServicesMastersData === null || ptServicesMastersData === void 0 ? void 0 : (_ptServicesMastersDat8 = ptServicesMastersData.PropertyTax) === null || _ptServicesMastersDat8 === void 0 ? void 0 : _ptServicesMastersDat8.PropertyToUsageMapping) || [];
9772
+ const selectedMapping = mapping.find(m => m.propertyTypeCode === watchPropertyType.code);
9773
+ if (selectedMapping && selectedMapping.allowedUsages) {
9774
+ options = options.filter(item => selectedMapping.allowedUsages.includes(item.code));
9775
+ } else {
9776
+ options = [];
9773
9777
  }
9774
9778
  return options.map(item => ({
9775
9779
  code: item.code,
9776
9780
  name: item.name
9777
9781
  }));
9778
- }, [ptServicesMastersData, watchPropertyCategory]);
9782
+ }, [ptServicesMastersData, watchPropertyCategory, watchPropertyType]);
9779
9783
  useEffect(() => {
9780
9784
  if (watchPropertyType && watchWaterConnectionUsageType) {
9781
9785
  const isUsageTypeValid = usageTypeOptions.some(opt => opt.code === watchWaterConnectionUsageType.code);
@@ -9819,7 +9823,7 @@ const WSCalculation = _ref => {
9819
9823
  setValue("useDetails.NumberofRooms", "");
9820
9824
  setValue("useDetails.numberOfBeds", "");
9821
9825
  setValue("useDetails.numberOfStudents", "");
9822
- setValue("useDetails.ServantQuartersRoom", "");
9826
+ setValue("useDetails.servantQuarterArea", "");
9823
9827
  setValue("useDetails.colonyName", "");
9824
9828
  }
9825
9829
  }, [formData === null || formData === void 0 ? void 0 : (_formData$cpt2 = formData.cpt) === null || _formData$cpt2 === void 0 ? void 0 : _formData$cpt2.details, formData === null || formData === void 0 ? void 0 : formData.cpt, categoryOptions, propertyTypeOptions, usageTypeOptions, categoryTypeList, setValue]);
@@ -10350,10 +10354,10 @@ const WSCalculation = _ref => {
10350
10354
  message: t("ERR_INVALID_NUMBER")
10351
10355
  }
10352
10356
  }),
10353
- name: "useDetails.ServantQuartersRoom"
10354
- }))) : null, isServentHouse && (errors === null || errors === void 0 ? void 0 : (_errors$useDetails11 = errors.useDetails) === null || _errors$useDetails11 === void 0 ? void 0 : _errors$useDetails11.ServantQuartersRoom) && /*#__PURE__*/React.createElement(CardLabelError, {
10357
+ name: "useDetails.servantQuarterArea"
10358
+ }))) : null, isServentHouse && (errors === null || errors === void 0 ? void 0 : (_errors$useDetails11 = errors.useDetails) === null || _errors$useDetails11 === void 0 ? void 0 : _errors$useDetails11.servantQuarterArea) && /*#__PURE__*/React.createElement(CardLabelError, {
10355
10359
  style: errorStyle
10356
- }, errors.useDetails.ServantQuartersRoom.message))), /*#__PURE__*/React.createElement("div", {
10360
+ }, errors.useDetails.servantQuarterArea.message))), /*#__PURE__*/React.createElement("div", {
10357
10361
  style: {
10358
10362
  display: "flex",
10359
10363
  marginTop: "24px",
@@ -10371,9 +10375,10 @@ const WSCalculation = _ref => {
10371
10375
  reset();
10372
10376
  setCalculationData(null);
10373
10377
  }
10374
- }, t("CS_COMMON_CLEAR_SEARCH")), /*#__PURE__*/React.createElement(SubmitBar, {
10378
+ }, t("CS_COMMON_CLEAR_SEARCH")), isLoading ? /*#__PURE__*/React.createElement(Loader, null) : /*#__PURE__*/React.createElement(SubmitBar, {
10375
10379
  label: t("ES_COMMON_CALCULATE"),
10376
- onSubmit: handleSubmit
10380
+ onSubmit: handleSubmit,
10381
+ disabled: !isCalculateButtonEnabled
10377
10382
  })), calculationData && /*#__PURE__*/React.createElement(RenderCalculationDetails, {
10378
10383
  data: calculationData
10379
10384
  })));
@@ -21450,7 +21455,7 @@ const PropertyWaterConnection = _ref => {
21450
21455
  NumberofRooms: "",
21451
21456
  numberOfBeds: "",
21452
21457
  numberOfStudents: "",
21453
- ServantQuartersRoom: ""
21458
+ servantQuarterArea: ""
21454
21459
  }
21455
21460
  }
21456
21461
  }),
@@ -21460,7 +21465,7 @@ const PropertyWaterConnection = _ref => {
21460
21465
  watch = _useForm.watch,
21461
21466
  setValue = _useForm.setValue;
21462
21467
  const tenantId = Digit.ULBService.getCurrentTenantId();
21463
- const _Digit$Hooks$pt$usePr = Digit.Hooks.pt.usePropertyMDMS(tenantId, "PropertyTax", ["PropertyCategory", "PropertyType", "NoOfFloors", "PropertyNewUsageType"]),
21468
+ const _Digit$Hooks$pt$usePr = Digit.Hooks.pt.usePropertyMDMS(tenantId, "PropertyTax", ["PropertyCategory", "PropertyType", "NoOfFloors", "PropertyNewUsageType", "PropertyToUsageMapping"]),
21464
21469
  ptServicesMastersData = _Digit$Hooks$pt$usePr.data;
21465
21470
  const _Digit$Hooks$ws$useMD = Digit.Hooks.ws.useMDMS(tenantId, "ws-services-masters", ["WsCategoryType"]),
21466
21471
  wsServicesMastersData = _Digit$Hooks$ws$useMD.data;
@@ -21486,7 +21491,7 @@ const PropertyWaterConnection = _ref => {
21486
21491
  const watchPropertyType = watch("useDetails.propertyType");
21487
21492
  const watchPropertyCategory = watch("useDetails.propertyCategory");
21488
21493
  const watchWaterConnectionUsageType = watch("useDetails.WaterConnectionUsageType");
21489
- const isHospitalProperty = (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "HOSPITAL_NURSING_HOME" || (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "HospitalNursingHome";
21494
+ const isHospitalProperty = (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "HOSPITAL_NURSING_HOME" || (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "DharamshalasOrHostels" || (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "HospitalNursingHome";
21490
21495
  const isHotelRestaurantProperty = (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "HOTEL_OR_RESTAURANT" || (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "HotelOrRestaurant";
21491
21496
  const isSchoolCollegeProperty = (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "School" || (watchPropertyType === null || watchPropertyType === void 0 ? void 0 : watchPropertyType.code) === "College";
21492
21497
  const isDwellingUnit = (watchPropertyCategory === null || watchPropertyCategory === void 0 ? void 0 : watchPropertyCategory.code) === "RESIDENTIAL" || (watchPropertyCategory === null || watchPropertyCategory === void 0 ? void 0 : watchPropertyCategory.code) === "RESIDENTIAL";
@@ -21504,10 +21509,9 @@ const PropertyWaterConnection = _ref => {
21504
21509
  }, []);
21505
21510
  const categoryOptions = useMemo(() => {
21506
21511
  var _ptServicesMastersDat, _ptServicesMastersDat2;
21512
+ if (!(watchCategoryType !== null && watchCategoryType !== void 0 && watchCategoryType.code)) return [];
21507
21513
  let options = (ptServicesMastersData === null || ptServicesMastersData === void 0 ? void 0 : (_ptServicesMastersDat = ptServicesMastersData.PropertyTax) === null || _ptServicesMastersDat === void 0 ? void 0 : (_ptServicesMastersDat2 = _ptServicesMastersDat.PropertyCategory) === null || _ptServicesMastersDat2 === void 0 ? void 0 : _ptServicesMastersDat2.filter(item => item.active)) || [];
21508
- if (watchCategoryType !== null && watchCategoryType !== void 0 && watchCategoryType.code) {
21509
- options = options.filter(item => item.type === watchCategoryType.code);
21510
- }
21514
+ options = options.filter(item => item.type === watchCategoryType.code);
21511
21515
  return options.map(item => ({
21512
21516
  code: item.code,
21513
21517
  name: item.name
@@ -21522,16 +21526,18 @@ const PropertyWaterConnection = _ref => {
21522
21526
  }
21523
21527
  }, [watchCategoryType, categoryOptions, setValue, watchPropertyCategory]);
21524
21528
  const propertyTypeOptions = useMemo(() => {
21525
- var _ptServicesMastersDat3, _ptServicesMastersDat4;
21529
+ var _ptServicesMastersDat3, _ptServicesMastersDat4, _ptServicesMastersDat5, _watchPropertyCategor;
21530
+ if (!(watchPropertyCategory !== null && watchPropertyCategory !== void 0 && watchPropertyCategory.code)) return [];
21526
21531
  let options = (ptServicesMastersData === null || ptServicesMastersData === void 0 ? void 0 : (_ptServicesMastersDat3 = ptServicesMastersData.PropertyTax) === null || _ptServicesMastersDat3 === void 0 ? void 0 : (_ptServicesMastersDat4 = _ptServicesMastersDat3.PropertyType) === null || _ptServicesMastersDat4 === void 0 ? void 0 : _ptServicesMastersDat4.filter(item => item.active)) || [];
21527
- if (watchPropertyCategory !== null && watchPropertyCategory !== void 0 && watchPropertyCategory.code) {
21528
- var _watchPropertyCategor;
21529
- if ((watchPropertyCategory === null || watchPropertyCategory === void 0 ? void 0 : (_watchPropertyCategor = watchPropertyCategory.code) === null || _watchPropertyCategor === void 0 ? void 0 : _watchPropertyCategor.toUpperCase()) !== "MIXED") {
21530
- options = options.filter(item => {
21531
- var _item$type, _watchPropertyCategor2;
21532
- return ((_item$type = item.type) === null || _item$type === void 0 ? void 0 : _item$type.toUpperCase()) === ((_watchPropertyCategor2 = watchPropertyCategory.code) === null || _watchPropertyCategor2 === void 0 ? void 0 : _watchPropertyCategor2.toUpperCase());
21533
- });
21534
- }
21532
+ let mapping = (ptServicesMastersData === null || ptServicesMastersData === void 0 ? void 0 : (_ptServicesMastersDat5 = ptServicesMastersData.PropertyTax) === null || _ptServicesMastersDat5 === void 0 ? void 0 : _ptServicesMastersDat5.PropertyToUsageMapping) || [];
21533
+ if (mapping.length > 0) {
21534
+ options = options.filter(item => mapping.some(m => m.propertyTypeCode === item.code));
21535
+ }
21536
+ if ((watchPropertyCategory === null || watchPropertyCategory === void 0 ? void 0 : (_watchPropertyCategor = watchPropertyCategory.code) === null || _watchPropertyCategor === void 0 ? void 0 : _watchPropertyCategor.toUpperCase()) !== "MIXED") {
21537
+ options = options.filter(item => {
21538
+ var _item$type, _watchPropertyCategor2;
21539
+ return ((_item$type = item.type) === null || _item$type === void 0 ? void 0 : _item$type.toUpperCase()) === ((_watchPropertyCategor2 = watchPropertyCategory.code) === null || _watchPropertyCategor2 === void 0 ? void 0 : _watchPropertyCategor2.toUpperCase());
21540
+ });
21535
21541
  }
21536
21542
  return options.map(item => ({
21537
21543
  code: item.code,
@@ -21547,22 +21553,21 @@ const PropertyWaterConnection = _ref => {
21547
21553
  }
21548
21554
  }, [watchPropertyCategory, propertyTypeOptions, setValue, watchPropertyType]);
21549
21555
  const usageTypeOptions = useMemo(() => {
21550
- var _ptServicesMastersDat5, _ptServicesMastersDat6;
21551
- let options = (ptServicesMastersData === null || ptServicesMastersData === void 0 ? void 0 : (_ptServicesMastersDat5 = ptServicesMastersData.PropertyTax) === null || _ptServicesMastersDat5 === void 0 ? void 0 : (_ptServicesMastersDat6 = _ptServicesMastersDat5.PropertyNewUsageType) === null || _ptServicesMastersDat6 === void 0 ? void 0 : _ptServicesMastersDat6.filter(item => item.active)) || [];
21552
- if (watchPropertyCategory !== null && watchPropertyCategory !== void 0 && watchPropertyCategory.code) {
21553
- var _watchPropertyCategor3;
21554
- if ((watchPropertyCategory === null || watchPropertyCategory === void 0 ? void 0 : (_watchPropertyCategor3 = watchPropertyCategory.code) === null || _watchPropertyCategor3 === void 0 ? void 0 : _watchPropertyCategor3.toUpperCase()) !== "MIXED") {
21555
- options = options.filter(item => {
21556
- var _item$type2, _watchPropertyCategor4;
21557
- return ((_item$type2 = item.type) === null || _item$type2 === void 0 ? void 0 : _item$type2.toUpperCase()) === ((_watchPropertyCategor4 = watchPropertyCategory.code) === null || _watchPropertyCategor4 === void 0 ? void 0 : _watchPropertyCategor4.toUpperCase());
21558
- });
21559
- }
21556
+ var _ptServicesMastersDat6, _ptServicesMastersDat7, _ptServicesMastersDat8;
21557
+ if (!(watchPropertyType !== null && watchPropertyType !== void 0 && watchPropertyType.code)) return [];
21558
+ let options = (ptServicesMastersData === null || ptServicesMastersData === void 0 ? void 0 : (_ptServicesMastersDat6 = ptServicesMastersData.PropertyTax) === null || _ptServicesMastersDat6 === void 0 ? void 0 : (_ptServicesMastersDat7 = _ptServicesMastersDat6.PropertyNewUsageType) === null || _ptServicesMastersDat7 === void 0 ? void 0 : _ptServicesMastersDat7.filter(item => item.active)) || [];
21559
+ let mapping = (ptServicesMastersData === null || ptServicesMastersData === void 0 ? void 0 : (_ptServicesMastersDat8 = ptServicesMastersData.PropertyTax) === null || _ptServicesMastersDat8 === void 0 ? void 0 : _ptServicesMastersDat8.PropertyToUsageMapping) || [];
21560
+ const selectedMapping = mapping.find(m => m.propertyTypeCode === watchPropertyType.code);
21561
+ if (selectedMapping && selectedMapping.allowedUsages) {
21562
+ options = options.filter(item => selectedMapping.allowedUsages.includes(item.code));
21563
+ } else {
21564
+ options = [];
21560
21565
  }
21561
21566
  return options.map(item => ({
21562
21567
  code: item.code,
21563
21568
  name: item.name
21564
21569
  }));
21565
- }, [ptServicesMastersData, watchPropertyCategory]);
21570
+ }, [ptServicesMastersData, watchPropertyCategory, watchPropertyType]);
21566
21571
  useEffect(() => {
21567
21572
  if (watchPropertyType && watchWaterConnectionUsageType) {
21568
21573
  const isUsageTypeValid = usageTypeOptions.some(opt => opt.code === watchWaterConnectionUsageType.code);
@@ -21572,8 +21577,8 @@ const PropertyWaterConnection = _ref => {
21572
21577
  }
21573
21578
  }, [watchPropertyType, usageTypeOptions, setValue, watchWaterConnectionUsageType]);
21574
21579
  const floorOptions = useMemo(() => {
21575
- var _ptServicesMastersDat7, _ptServicesMastersDat8;
21576
- return ptServicesMastersData === null || ptServicesMastersData === void 0 ? void 0 : (_ptServicesMastersDat7 = ptServicesMastersData.PropertyTax) === null || _ptServicesMastersDat7 === void 0 ? void 0 : (_ptServicesMastersDat8 = _ptServicesMastersDat7.NoOfFloors) === null || _ptServicesMastersDat8 === void 0 ? void 0 : _ptServicesMastersDat8.filter(item => item.active).map(item => ({
21580
+ var _ptServicesMastersDat9, _ptServicesMastersDat0;
21581
+ return ptServicesMastersData === null || ptServicesMastersData === void 0 ? void 0 : (_ptServicesMastersDat9 = ptServicesMastersData.PropertyTax) === null || _ptServicesMastersDat9 === void 0 ? void 0 : (_ptServicesMastersDat0 = _ptServicesMastersDat9.NoOfFloors) === null || _ptServicesMastersDat0 === void 0 ? void 0 : _ptServicesMastersDat0.filter(item => item.active).map(item => ({
21577
21582
  code: item.code,
21578
21583
  name: item.name
21579
21584
  }));
@@ -21622,7 +21627,7 @@ const PropertyWaterConnection = _ref => {
21622
21627
  setValue("useDetails.NumberofRooms", "");
21623
21628
  setValue("useDetails.numberOfBeds", "");
21624
21629
  setValue("useDetails.numberOfStudents", "");
21625
- setValue("useDetails.ServantQuartersRoom", "");
21630
+ setValue("useDetails.servantQuarterArea", "");
21626
21631
  }
21627
21632
  }, [formData === null || formData === void 0 ? void 0 : (_formData$cpt2 = formData.cpt) === null || _formData$cpt2 === void 0 ? void 0 : _formData$cpt2.details, formData === null || formData === void 0 ? void 0 : formData.cpt, categoryOptions, propertyTypeOptions, usageTypeOptions, floorOptions, yearOptions, categoryTypeList, setValue]);
21628
21633
  const lastErrorState = React.useRef(null);
@@ -21873,11 +21878,11 @@ const PropertyWaterConnection = _ref => {
21873
21878
  message: t("ERR_INVALID_NUMBER")
21874
21879
  }
21875
21880
  }),
21876
- name: "useDetails.ServantQuartersRoom",
21881
+ name: "useDetails.servantQuarterArea",
21877
21882
  disabled: isPropertyFound
21878
- }))) : null, isServentHouse && (errors === null || errors === void 0 ? void 0 : (_errors$useDetails12 = errors.useDetails) === null || _errors$useDetails12 === void 0 ? void 0 : _errors$useDetails12.ServantQuartersRoom) && /*#__PURE__*/React.createElement(CardLabelError, {
21883
+ }))) : null, isServentHouse && (errors === null || errors === void 0 ? void 0 : (_errors$useDetails12 = errors.useDetails) === null || _errors$useDetails12 === void 0 ? void 0 : _errors$useDetails12.servantQuarterArea) && /*#__PURE__*/React.createElement(CardLabelError, {
21879
21884
  style: errorStyle
21880
- }, errors.useDetails.ServantQuartersRoom.message)));
21885
+ }, errors.useDetails.servantQuarterArea.message)));
21881
21886
  };
21882
21887
 
21883
21888
  const WSPropertyWaterConnection = props => {