Plugin Directory

Changeset 3348893


Ignore:
Timestamp:
08/23/2025 08:01:28 AM (5 months ago)
Author:
loftylisting
Message:

update code to trunk

Location:
lofty-idx/trunk
Files:
31 added
18 edited

Legend:

Unmodified
Added
Removed
  • lofty-idx/trunk/assets/.vite/manifest.json

    r3348566 r3348893  
    11{
    2   "_IconCopy.DgrShxpL.js": {
    3     "file": "IconCopy.DgrShxpL.js",
     2  "_IconCopy.7myX4VwF.js": {
     3    "file": "IconCopy.7myX4VwF.js",
    44    "name": "IconCopy",
    55    "imports": [
    6       "__plugin-vue_export-helper.Cq0ParU2.js",
     6      "__plugin-vue_export-helper.xU-N2hzF.js",
    77      "_vendor.DSMCY3-_.js"
    88    ]
     
    1212    "src": "_PluginUpdate.!~{00F}~.js"
    1313  },
    14   "_PluginUpdate.DR7KK_19.js": {
    15     "file": "PluginUpdate.DR7KK_19.js",
     14  "_PluginUpdate.BNhRciDp.js": {
     15    "file": "PluginUpdate.BNhRciDp.js",
    1616    "name": "PluginUpdate",
    1717    "imports": [
    18       "__plugin-vue_export-helper.Cq0ParU2.js",
    19       "_vendor.DSMCY3-_.js",
    20       "_user.BcbXWidr.js"
     18      "__plugin-vue_export-helper.xU-N2hzF.js",
     19      "_vendor.DSMCY3-_.js",
     20      "_user.DqlV81fM.js"
    2121    ],
    2222    "css": [
     
    2828    "src": "_SubmitJs.!~{00D}~.js"
    2929  },
    30   "_SubmitJs.hYiMmqPz.js": {
    31     "file": "SubmitJs.hYiMmqPz.js",
     30  "_SubmitJs.BGSXz3XB.js": {
     31    "file": "SubmitJs.BGSXz3XB.js",
    3232    "name": "SubmitJs",
    3333    "imports": [
    34       "__plugin-vue_export-helper.Cq0ParU2.js",
     34      "__plugin-vue_export-helper.xU-N2hzF.js",
    3535      "_vendor.DSMCY3-_.js"
    3636    ],
     
    4343    "src": "__plugin-vue_export-helper.!~{002}~.js"
    4444  },
    45   "__plugin-vue_export-helper.Cq0ParU2.js": {
    46     "file": "_plugin-vue_export-helper.Cq0ParU2.js",
     45  "__plugin-vue_export-helper.xU-N2hzF.js": {
     46    "file": "_plugin-vue_export-helper.xU-N2hzF.js",
    4747    "name": "_plugin-vue_export-helper",
    4848    "imports": [
     
    5656    ]
    5757  },
    58   "_auto-login.CMpMIf1r.js": {
    59     "file": "auto-login.CMpMIf1r.js",
     58  "_auto-login.CLjZwLBU.js": {
     59    "file": "auto-login.CLjZwLBU.js",
    6060    "name": "auto-login",
    6161    "imports": [
    62       "__plugin-vue_export-helper.Cq0ParU2.js",
    63       "_user.BcbXWidr.js"
     62      "__plugin-vue_export-helper.xU-N2hzF.js",
     63      "_user.DqlV81fM.js"
    6464    ]
    6565  },
     
    6868    "src": "_checkBox.!~{00H}~.js"
    6969  },
    70   "_checkBox.BRkOvSmc.js": {
    71     "file": "checkBox.BRkOvSmc.js",
     70  "_checkBox.97tfRJKL.js": {
     71    "file": "checkBox.97tfRJKL.js",
    7272    "name": "checkBox",
    7373    "imports": [
    7474      "_vendor.DSMCY3-_.js",
    75       "__plugin-vue_export-helper.Cq0ParU2.js"
     75      "__plugin-vue_export-helper.xU-N2hzF.js"
    7676    ],
    7777    "css": [
     
    9191    "src": "_feature-listing-slider.!~{00y}~.js"
    9292  },
    93   "_feature-listing-slider.BkyxHd8D.js": {
    94     "file": "feature-listing-slider.BkyxHd8D.js",
     93  "_feature-listing-slider.D8NpqqUJ.js": {
     94    "file": "feature-listing-slider.D8NpqqUJ.js",
    9595    "name": "feature-listing-slider",
    9696    "imports": [
    97       "_index.DzRoBq24.js",
    98       "_user.BcbXWidr.js",
    99       "_verify-email.x9ITyz1P.js",
     97      "_index.BDRldrfu.js",
     98      "_user.DqlV81fM.js",
     99      "_verify-email.DiKlRKza.js",
    100100      "_vendor.DSMCY3-_.js"
    101101    ],
     
    111111    "src": "_google.!~{00q}~.js"
    112112  },
    113   "_google.Dg-2iVCG.js": {
    114     "file": "google.Dg-2iVCG.js",
     113  "_google.DHErjYju.js": {
     114    "file": "google.DHErjYju.js",
    115115    "name": "google",
    116116    "imports": [
    117       "__plugin-vue_export-helper.Cq0ParU2.js",
     117      "__plugin-vue_export-helper.xU-N2hzF.js",
    118118      "_vendor.DSMCY3-_.js"
    119119    ],
     
    122122    ]
    123123  },
    124   "_house-format.B6FoJSlV.js": {
    125     "file": "house-format.B6FoJSlV.js",
     124  "_house-format.4tigxTMo.js": {
     125    "file": "house-format.4tigxTMo.js",
    126126    "name": "house-format",
    127127    "imports": [
    128       "__plugin-vue_export-helper.Cq0ParU2.js",
    129       "_number-format.CLdvQh6j.js",
    130       "_user.BcbXWidr.js"
     128      "__plugin-vue_export-helper.xU-N2hzF.js",
     129      "_number-format.CLdvQh6j.js",
     130      "_user.DqlV81fM.js"
    131131    ]
    132132  },
     
    135135    "src": "_houseSlider.!~{00z}~.js"
    136136  },
    137   "_houseSlider.CQBIXO6D.js": {
    138     "file": "houseSlider.CQBIXO6D.js",
     137  "_houseSlider.DMvAhjQF.js": {
     138    "file": "houseSlider.DMvAhjQF.js",
    139139    "name": "houseSlider",
    140140    "imports": [
    141       "_verify-email.x9ITyz1P.js",
    142       "_feature-listing-slider.BkyxHd8D.js",
     141      "_verify-email.DiKlRKza.js",
     142      "_feature-listing-slider.D8NpqqUJ.js",
    143143      "_vendor.DSMCY3-_.js"
    144144    ],
     
    147147    ]
    148148  },
    149   "_icon.jDvjNekX.js": {
    150     "file": "icon.jDvjNekX.js",
     149  "_icon.DOVeOS6k.js": {
     150    "file": "icon.DOVeOS6k.js",
    151151    "name": "icon",
    152152    "imports": [
    153       "_marker.CSvYKl9X.js",
    154       "__plugin-vue_export-helper.Cq0ParU2.js",
     153      "_marker.DwqF6Dh_.js",
     154      "__plugin-vue_export-helper.xU-N2hzF.js",
    155155      "_vendor.DSMCY3-_.js"
    156156    ]
     
    204204    "src": "_index.!~{00x}~.js"
    205205  },
    206   "_index.20AV-SFS.js": {
    207     "file": "index.20AV-SFS.js",
    208     "name": "index",
    209     "imports": [
    210       "_vendor.DSMCY3-_.js",
    211       "_feature-listing-slider.BkyxHd8D.js",
    212       "_verify-email.x9ITyz1P.js"
    213     ],
    214     "css": [
    215       "index.css"
    216     ]
    217   },
    218   "_index.3MfMsqfZ.js": {
    219     "file": "index.3MfMsqfZ.js",
    220     "name": "index",
    221     "imports": [
    222       "_vendor.DSMCY3-_.js",
    223       "__plugin-vue_export-helper.Cq0ParU2.js"
    224     ],
    225     "css": [
    226       "index9.css"
    227     ]
    228   },
    229   "_index.5F2_f90D.js": {
    230     "file": "index.5F2_f90D.js",
    231     "name": "index",
    232     "imports": [
    233       "_vendor.DSMCY3-_.js",
    234       "_outsideclick.Bw_hMuzW.js",
    235       "__plugin-vue_export-helper.Cq0ParU2.js"
    236     ],
    237     "css": [
    238       "index12.css"
    239     ]
    240   },
    241   "_index.B-PeUk0y.js": {
    242     "file": "index.B-PeUk0y.js",
    243     "name": "index",
    244     "imports": [
    245       "_vendor.DSMCY3-_.js",
    246       "__plugin-vue_export-helper.Cq0ParU2.js"
    247     ],
    248     "css": [
    249       "index10.css"
     206  "_index.B8LFivOP.js": {
     207    "file": "index.B8LFivOP.js",
     208    "name": "index",
     209    "imports": [
     210      "_vendor.DSMCY3-_.js",
     211      "__plugin-vue_export-helper.xU-N2hzF.js"
     212    ],
     213    "css": [
     214      "index6.css"
     215    ]
     216  },
     217  "_index.BDRldrfu.js": {
     218    "file": "index.BDRldrfu.js",
     219    "name": "index",
     220    "imports": [
     221      "_user.DqlV81fM.js",
     222      "_vendor.DSMCY3-_.js",
     223      "_google.DHErjYju.js",
     224      "__plugin-vue_export-helper.xU-N2hzF.js",
     225      "_index.Bi752R10.js"
     226    ],
     227    "css": [
     228      "index2.css"
    250229    ]
    251230  },
     
    271250    ]
    272251  },
    273   "_index.CHk1aTGT.js": {
    274     "file": "index.CHk1aTGT.js",
    275     "name": "index",
    276     "imports": [
    277       "_date-format.BrUodQAJ.js",
    278       "_index.B-PeUk0y.js",
    279       "__plugin-vue_export-helper.Cq0ParU2.js",
    280       "_vendor.DSMCY3-_.js"
    281     ],
    282     "css": [
    283       "index8.css"
     252  "_index.Bi752R10.js": {
     253    "file": "index.Bi752R10.js",
     254    "name": "index",
     255    "imports": [
     256      "_vendor.DSMCY3-_.js",
     257      "__plugin-vue_export-helper.xU-N2hzF.js"
     258    ],
     259    "css": [
     260      "index11.css"
     261    ]
     262  },
     263  "_index.ChNd4QEZ.js": {
     264    "file": "index.ChNd4QEZ.js",
     265    "name": "index",
     266    "imports": [
     267      "_vendor.DSMCY3-_.js",
     268      "_feature-listing-slider.D8NpqqUJ.js",
     269      "_verify-email.DiKlRKza.js"
     270    ],
     271    "css": [
     272      "index.css"
     273    ]
     274  },
     275  "_index.Cx6n2H90.js": {
     276    "file": "index.Cx6n2H90.js",
     277    "name": "index",
     278    "imports": [
     279      "_vendor.DSMCY3-_.js",
     280      "__plugin-vue_export-helper.xU-N2hzF.js"
     281    ],
     282    "css": [
     283      "index10.css"
     284    ]
     285  },
     286  "_index.D8FXyAh2.js": {
     287    "file": "index.D8FXyAh2.js",
     288    "name": "index",
     289    "imports": [
     290      "_vendor.DSMCY3-_.js",
     291      "_outsideclick.Bw_hMuzW.js",
     292      "__plugin-vue_export-helper.xU-N2hzF.js"
     293    ],
     294    "css": [
     295      "index12.css"
    284296    ]
    285297  },
     
    294306    ]
    295307  },
    296   "_index.DnZD_ROs.js": {
    297     "file": "index.DnZD_ROs.js",
    298     "name": "index",
    299     "imports": [
    300       "_vendor.DSMCY3-_.js",
    301       "__plugin-vue_export-helper.Cq0ParU2.js"
    302     ],
    303     "css": [
    304       "index11.css"
    305     ]
    306   },
    307   "_index.DtjRETok.js": {
    308     "file": "index.DtjRETok.js",
    309     "name": "index",
    310     "imports": [
    311       "_vendor.DSMCY3-_.js",
    312       "__plugin-vue_export-helper.Cq0ParU2.js"
    313     ],
    314     "css": [
    315       "index6.css"
    316     ]
    317   },
    318   "_index.DzRoBq24.js": {
    319     "file": "index.DzRoBq24.js",
    320     "name": "index",
    321     "imports": [
    322       "_user.BcbXWidr.js",
    323       "_vendor.DSMCY3-_.js",
    324       "_google.Dg-2iVCG.js",
    325       "__plugin-vue_export-helper.Cq0ParU2.js",
    326       "_index.DnZD_ROs.js"
    327     ],
    328     "css": [
    329       "index2.css"
     308  "_index.erNjz9Pp.js": {
     309    "file": "index.erNjz9Pp.js",
     310    "name": "index",
     311    "imports": [
     312      "_date-format.BrUodQAJ.js",
     313      "_index.Cx6n2H90.js",
     314      "__plugin-vue_export-helper.xU-N2hzF.js",
     315      "_vendor.DSMCY3-_.js"
     316    ],
     317    "css": [
     318      "index8.css"
    330319    ]
    331320  },
     
    338327    "css": [
    339328      "index4.css"
     329    ]
     330  },
     331  "_index.zyk5jnxc.js": {
     332    "file": "index.zyk5jnxc.js",
     333    "name": "index",
     334    "imports": [
     335      "_vendor.DSMCY3-_.js",
     336      "__plugin-vue_export-helper.xU-N2hzF.js"
     337    ],
     338    "css": [
     339      "index9.css"
    340340    ]
    341341  },
     
    348348    ]
    349349  },
    350   "_marker.CSvYKl9X.js": {
    351     "file": "marker.CSvYKl9X.js",
     350  "_marker.DwqF6Dh_.js": {
     351    "file": "marker.DwqF6Dh_.js",
    352352    "name": "marker",
    353353    "imports": [
    354       "_index.DtjRETok.js",
    355       "__plugin-vue_export-helper.Cq0ParU2.js",
     354      "_index.B8LFivOP.js",
     355      "__plugin-vue_export-helper.xU-N2hzF.js",
    356356      "_number-format.CLdvQh6j.js",
    357357      "_vendor.DSMCY3-_.js"
     
    362362    "src": "_mobileFilter.!~{00a}~.js"
    363363  },
    364   "_mobileFilter.WDC-WzjY.js": {
    365     "file": "mobileFilter.WDC-WzjY.js",
     364  "_mobileFilter.DVwoqcXT.js": {
     365    "file": "mobileFilter.DVwoqcXT.js",
    366366    "name": "mobileFilter",
    367367    "imports": [
    368368      "_vendor.DSMCY3-_.js",
    369       "_index.5F2_f90D.js",
    370       "__plugin-vue_export-helper.Cq0ParU2.js",
    371       "_index.DnZD_ROs.js",
    372       "_index.CHk1aTGT.js",
     369      "_index.D8FXyAh2.js",
     370      "__plugin-vue_export-helper.xU-N2hzF.js",
     371      "_index.Bi752R10.js",
     372      "_index.erNjz9Pp.js",
    373373      "_number-format.CLdvQh6j.js",
    374374      "_date-format.BrUodQAJ.js",
    375       "_index.3MfMsqfZ.js",
     375      "_index.zyk5jnxc.js",
    376376      "_outsideclick.Bw_hMuzW.js"
    377377    ],
     
    388388    "src": "_multiSelect.!~{00G}~.js"
    389389  },
    390   "_multiSelect.8RiC7gKS.js": {
    391     "file": "multiSelect.8RiC7gKS.js",
     390  "_multiSelect.B5wbuXDm.js": {
     391    "file": "multiSelect.B5wbuXDm.js",
    392392    "name": "multiSelect",
    393393    "imports": [
    394394      "_vendor.DSMCY3-_.js",
    395       "__plugin-vue_export-helper.Cq0ParU2.js",
    396       "_index.5F2_f90D.js",
    397       "_checkBox.BRkOvSmc.js"
     395      "__plugin-vue_export-helper.xU-N2hzF.js",
     396      "_index.D8FXyAh2.js",
     397      "_checkBox.97tfRJKL.js"
    398398    ],
    399399    "css": [
     
    409409    "name": "outsideclick"
    410410  },
    411   "_popup-mls.B3nJZ9V8.js": {
    412     "file": "popup-mls.B3nJZ9V8.js",
     411  "_popup-mls.BxADJAYE.js": {
     412    "file": "popup-mls.BxADJAYE.js",
    413413    "name": "popup-mls",
    414414    "imports": [
    415       "__plugin-vue_export-helper.Cq0ParU2.js",
    416       "_user.BcbXWidr.js",
    417       "_useConfirm.DbQjtEKi.js"
    418     ]
    419   },
    420   "_popup-trigger.CvQ0KgB4.js": {
    421     "file": "popup-trigger.CvQ0KgB4.js",
     415      "__plugin-vue_export-helper.xU-N2hzF.js",
     416      "_user.DqlV81fM.js",
     417      "_useConfirm.BD1rw4lC.js"
     418    ]
     419  },
     420  "_popup-trigger.DuPNuQEE.js": {
     421    "file": "popup-trigger.DuPNuQEE.js",
    422422    "name": "popup-trigger",
    423423    "imports": [
    424       "_user.BcbXWidr.js",
    425       "_index.DzRoBq24.js",
    426       "__plugin-vue_export-helper.Cq0ParU2.js"
    427     ]
    428   },
    429   "_service.Bpmx5vDe.js": {
    430     "file": "service.Bpmx5vDe.js",
     424      "_user.DqlV81fM.js",
     425      "_index.BDRldrfu.js",
     426      "__plugin-vue_export-helper.xU-N2hzF.js"
     427    ]
     428  },
     429  "_service.B6OFWnjc.js": {
     430    "file": "service.B6OFWnjc.js",
    431431    "name": "service",
    432432    "imports": [
    433433      "_vendor.DSMCY3-_.js",
    434       "__plugin-vue_export-helper.Cq0ParU2.js",
    435       "_index.DtjRETok.js"
     434      "__plugin-vue_export-helper.xU-N2hzF.js",
     435      "_index.B8LFivOP.js"
    436436    ]
    437437  },
     
    440440    "src": "_standard.!~{00e}~.js"
    441441  },
    442   "_standard.KmwEGgBs.js": {
    443     "file": "standard.KmwEGgBs.js",
     442  "_standard.Dwc2F-8i.js": {
     443    "file": "standard.Dwc2F-8i.js",
    444444    "name": "standard",
    445445    "imports": [
    446       "__plugin-vue_export-helper.Cq0ParU2.js",
    447       "_index.B-PeUk0y.js",
     446      "__plugin-vue_export-helper.xU-N2hzF.js",
     447      "_index.Cx6n2H90.js",
    448448      "_vendor.DSMCY3-_.js"
    449449    ],
     
    456456    "src": "_styleConfig.!~{00E}~.js"
    457457  },
    458   "_styleConfig.B4ddtN7e.js": {
    459     "file": "styleConfig.B4ddtN7e.js",
     458  "_styleConfig.C14bcjUo.js": {
     459    "file": "styleConfig.C14bcjUo.js",
    460460    "name": "styleConfig",
    461461    "imports": [
    462462      "_vendor.DSMCY3-_.js",
    463       "__plugin-vue_export-helper.Cq0ParU2.js",
    464       "_number-format.CLdvQh6j.js",
    465       "_index.5F2_f90D.js",
    466       "_index.CHk1aTGT.js",
    467       "_index.3MfMsqfZ.js",
    468       "_multiSelect.8RiC7gKS.js",
    469       "_outsideclick.Bw_hMuzW.js",
    470       "_index.DnZD_ROs.js",
    471       "_index.DtjRETok.js",
    472       "_service.Bpmx5vDe.js",
     463      "__plugin-vue_export-helper.xU-N2hzF.js",
     464      "_number-format.CLdvQh6j.js",
     465      "_index.D8FXyAh2.js",
     466      "_index.erNjz9Pp.js",
     467      "_index.zyk5jnxc.js",
     468      "_multiSelect.B5wbuXDm.js",
     469      "_outsideclick.Bw_hMuzW.js",
     470      "_index.Bi752R10.js",
     471      "_index.B8LFivOP.js",
     472      "_service.B6OFWnjc.js",
    473473      "_index.DAwEVGKX.js",
    474       "_house-format.B6FoJSlV.js",
    475       "_SubmitJs.hYiMmqPz.js",
    476       "_checkBox.BRkOvSmc.js",
    477       "_tooltip.DzDTXEs_.js"
     474      "_house-format.4tigxTMo.js",
     475      "_SubmitJs.BGSXz3XB.js",
     476      "_checkBox.97tfRJKL.js",
     477      "_tooltip.w0glU4UR.js"
    478478    ],
    479479    "css": [
     
    492492    "src": "_tooltip.!~{00t}~.js"
    493493  },
    494   "_tooltip.DzDTXEs_.js": {
    495     "file": "tooltip.DzDTXEs_.js",
     494  "_tooltip.w0glU4UR.js": {
     495    "file": "tooltip.w0glU4UR.js",
    496496    "name": "tooltip",
    497497    "imports": [
    498498      "_vendor.DSMCY3-_.js",
    499499      "_outsideclick.Bw_hMuzW.js",
    500       "__plugin-vue_export-helper.Cq0ParU2.js"
     500      "__plugin-vue_export-helper.xU-N2hzF.js"
    501501    ],
    502502    "css": [
     
    508508    "src": "_useConfirm.!~{00s}~.js"
    509509  },
    510   "_useConfirm.DbQjtEKi.js": {
    511     "file": "useConfirm.DbQjtEKi.js",
     510  "_useConfirm.BD1rw4lC.js": {
     511    "file": "useConfirm.BD1rw4lC.js",
    512512    "name": "useConfirm",
    513513    "imports": [
    514       "_index.DnZD_ROs.js",
     514      "_index.Bi752R10.js",
    515515      "_vendor.DSMCY3-_.js"
    516516    ],
     
    526526    ]
    527527  },
    528   "_user.BcbXWidr.js": {
    529     "file": "user.BcbXWidr.js",
     528  "_user.DqlV81fM.js": {
     529    "file": "user.DqlV81fM.js",
    530530    "name": "user",
    531531    "imports": [
    532       "__plugin-vue_export-helper.Cq0ParU2.js",
     532      "__plugin-vue_export-helper.xU-N2hzF.js",
    533533      "_vendor.DSMCY3-_.js"
    534534    ]
     
    539539    "isDynamicEntry": true
    540540  },
    541   "_verify-email.x9ITyz1P.js": {
    542     "file": "verify-email.x9ITyz1P.js",
     541  "_verify-email.DiKlRKza.js": {
     542    "file": "verify-email.DiKlRKza.js",
    543543    "name": "verify-email",
    544544    "imports": [
    545       "__plugin-vue_export-helper.Cq0ParU2.js",
    546       "_index.DzRoBq24.js"
     545      "__plugin-vue_export-helper.xU-N2hzF.js",
     546      "_index.BDRldrfu.js"
    547547    ]
    548548  },
     
    553553    "isEntry": true,
    554554    "imports": [
    555       "__plugin-vue_export-helper.Cq0ParU2.js",
    556       "_vendor.DSMCY3-_.js",
    557       "_PluginUpdate.DR7KK_19.js",
    558       "_user.BcbXWidr.js"
     555      "__plugin-vue_export-helper.xU-N2hzF.js",
     556      "_vendor.DSMCY3-_.js",
     557      "_PluginUpdate.BNhRciDp.js",
     558      "_user.DqlV81fM.js"
    559559    ],
    560560    "css": [
     
    569569    "isEntry": true,
    570570    "imports": [
    571       "__plugin-vue_export-helper.Cq0ParU2.js",
    572       "_vendor.DSMCY3-_.js",
    573       "_SubmitJs.hYiMmqPz.js",
    574       "_styleConfig.B4ddtN7e.js",
    575       "_PluginUpdate.DR7KK_19.js",
     571      "__plugin-vue_export-helper.xU-N2hzF.js",
     572      "_vendor.DSMCY3-_.js",
     573      "_SubmitJs.BGSXz3XB.js",
     574      "_styleConfig.C14bcjUo.js",
     575      "_PluginUpdate.BNhRciDp.js",
    576576      "_useCopy.CluLpl8Z.js",
    577       "_tooltip.DzDTXEs_.js",
    578       "_standard.KmwEGgBs.js",
     577      "_tooltip.w0glU4UR.js",
     578      "_standard.Dwc2F-8i.js",
    579579      "_index.BdhGsZUN.js",
    580       "_useConfirm.DbQjtEKi.js",
     580      "_useConfirm.BD1rw4lC.js",
    581581      "_loading.BdqyMKJZ.js",
    582582      "_number-format.CLdvQh6j.js",
    583       "_index.5F2_f90D.js",
    584       "_outsideclick.Bw_hMuzW.js",
    585       "_index.CHk1aTGT.js",
     583      "_index.D8FXyAh2.js",
     584      "_outsideclick.Bw_hMuzW.js",
     585      "_index.erNjz9Pp.js",
    586586      "_date-format.BrUodQAJ.js",
    587       "_index.B-PeUk0y.js",
    588       "_index.3MfMsqfZ.js",
    589       "_multiSelect.8RiC7gKS.js",
    590       "_checkBox.BRkOvSmc.js",
    591       "_index.DnZD_ROs.js",
    592       "_index.DtjRETok.js",
    593       "_service.Bpmx5vDe.js",
     587      "_index.Cx6n2H90.js",
     588      "_index.zyk5jnxc.js",
     589      "_multiSelect.B5wbuXDm.js",
     590      "_checkBox.97tfRJKL.js",
     591      "_index.Bi752R10.js",
     592      "_index.B8LFivOP.js",
     593      "_service.B6OFWnjc.js",
    594594      "_index.DAwEVGKX.js",
    595       "_house-format.B6FoJSlV.js",
    596       "_user.BcbXWidr.js"
     595      "_house-format.4tigxTMo.js",
     596      "_user.DqlV81fM.js"
    597597    ],
    598598    "css": [
     
    607607    "isEntry": true,
    608608    "imports": [
    609       "__plugin-vue_export-helper.Cq0ParU2.js",
    610       "_vendor.DSMCY3-_.js",
    611       "_SubmitJs.hYiMmqPz.js",
    612       "_index.DnZD_ROs.js",
    613       "_PluginUpdate.DR7KK_19.js",
    614       "_checkBox.BRkOvSmc.js",
    615       "_google.Dg-2iVCG.js",
    616       "_user.BcbXWidr.js",
    617       "_tooltip.DzDTXEs_.js",
     609      "__plugin-vue_export-helper.xU-N2hzF.js",
     610      "_vendor.DSMCY3-_.js",
     611      "_SubmitJs.BGSXz3XB.js",
     612      "_index.Bi752R10.js",
     613      "_PluginUpdate.BNhRciDp.js",
     614      "_checkBox.97tfRJKL.js",
     615      "_google.DHErjYju.js",
     616      "_user.DqlV81fM.js",
     617      "_tooltip.w0glU4UR.js",
    618618      "_outsideclick.Bw_hMuzW.js"
    619619    ],
     
    632632    "isEntry": true,
    633633    "imports": [
    634       "__plugin-vue_export-helper.Cq0ParU2.js",
    635       "_vendor.DSMCY3-_.js",
    636       "_SubmitJs.hYiMmqPz.js",
    637       "_styleConfig.B4ddtN7e.js",
     634      "__plugin-vue_export-helper.xU-N2hzF.js",
     635      "_vendor.DSMCY3-_.js",
     636      "_SubmitJs.BGSXz3XB.js",
     637      "_styleConfig.C14bcjUo.js",
    638638      "_useCopy.CluLpl8Z.js",
    639639      "_date-format.BrUodQAJ.js",
    640       "_multiSelect.8RiC7gKS.js",
    641       "_PluginUpdate.DR7KK_19.js",
     640      "_multiSelect.B5wbuXDm.js",
     641      "_PluginUpdate.BNhRciDp.js",
    642642      "_index.DAwEVGKX.js",
    643643      "_index.jjVwSEkV.js",
    644       "_user.BcbXWidr.js",
     644      "_user.DqlV81fM.js",
    645645      "_index.BIsjoQ8l.js",
    646       "_standard.KmwEGgBs.js",
    647       "_IconCopy.DgrShxpL.js",
    648       "_number-format.CLdvQh6j.js",
    649       "_index.5F2_f90D.js",
    650       "_outsideclick.Bw_hMuzW.js",
    651       "_index.CHk1aTGT.js",
    652       "_index.B-PeUk0y.js",
    653       "_index.3MfMsqfZ.js",
    654       "_index.DnZD_ROs.js",
    655       "_index.DtjRETok.js",
    656       "_service.Bpmx5vDe.js",
    657       "_house-format.B6FoJSlV.js",
    658       "_checkBox.BRkOvSmc.js",
    659       "_tooltip.DzDTXEs_.js"
     646      "_standard.Dwc2F-8i.js",
     647      "_IconCopy.7myX4VwF.js",
     648      "_number-format.CLdvQh6j.js",
     649      "_index.D8FXyAh2.js",
     650      "_outsideclick.Bw_hMuzW.js",
     651      "_index.erNjz9Pp.js",
     652      "_index.Cx6n2H90.js",
     653      "_index.zyk5jnxc.js",
     654      "_index.Bi752R10.js",
     655      "_index.B8LFivOP.js",
     656      "_service.B6OFWnjc.js",
     657      "_house-format.4tigxTMo.js",
     658      "_checkBox.97tfRJKL.js",
     659      "_tooltip.w0glU4UR.js"
    660660    ],
    661661    "css": [
     
    676676    "isEntry": true,
    677677    "imports": [
    678       "__plugin-vue_export-helper.Cq0ParU2.js",
     678      "__plugin-vue_export-helper.xU-N2hzF.js",
    679679      "_module.CKjUdtPN.js",
    680680      "_vendor.DSMCY3-_.js",
    681       "_multiSelect.8RiC7gKS.js",
    682       "_index.5F2_f90D.js",
    683       "_outsideclick.Bw_hMuzW.js",
    684       "_checkBox.BRkOvSmc.js"
     681      "_multiSelect.B5wbuXDm.js",
     682      "_index.D8FXyAh2.js",
     683      "_outsideclick.Bw_hMuzW.js",
     684      "_checkBox.97tfRJKL.js"
    685685    ],
    686686    "css": [
     
    699699    "isEntry": true,
    700700    "imports": [
    701       "__plugin-vue_export-helper.Cq0ParU2.js",
     701      "__plugin-vue_export-helper.xU-N2hzF.js",
    702702      "_vendor.DSMCY3-_.js",
    703703      "_module.CKjUdtPN.js",
    704       "_house-format.B6FoJSlV.js",
    705       "_feature-listing-slider.BkyxHd8D.js",
    706       "_houseSlider.CQBIXO6D.js",
    707       "_verify-email.x9ITyz1P.js",
    708       "_user.BcbXWidr.js",
    709       "_popup-trigger.CvQ0KgB4.js",
    710       "_popup-mls.B3nJZ9V8.js",
    711       "_number-format.CLdvQh6j.js",
    712       "_index.DzRoBq24.js",
    713       "_google.Dg-2iVCG.js",
    714       "_index.DnZD_ROs.js",
    715       "_useConfirm.DbQjtEKi.js"
     704      "_house-format.4tigxTMo.js",
     705      "_feature-listing-slider.D8NpqqUJ.js",
     706      "_houseSlider.DMvAhjQF.js",
     707      "_verify-email.DiKlRKza.js",
     708      "_user.DqlV81fM.js",
     709      "_popup-trigger.DuPNuQEE.js",
     710      "_popup-mls.BxADJAYE.js",
     711      "_number-format.CLdvQh6j.js",
     712      "_index.BDRldrfu.js",
     713      "_google.DHErjYju.js",
     714      "_index.Bi752R10.js",
     715      "_useConfirm.BD1rw4lC.js"
    716716    ],
    717717    "css": [
     
    728728    "isEntry": true,
    729729    "imports": [
    730       "__plugin-vue_export-helper.Cq0ParU2.js",
     730      "__plugin-vue_export-helper.xU-N2hzF.js",
    731731      "_vendor.DSMCY3-_.js",
    732732      "_module.CKjUdtPN.js",
    733       "_user.BcbXWidr.js",
    734       "_index.DtjRETok.js",
    735       "_icon.jDvjNekX.js",
    736       "_google.Dg-2iVCG.js",
    737       "_index.DzRoBq24.js",
    738       "_number-format.CLdvQh6j.js",
    739       "_tooltip.DzDTXEs_.js",
     733      "_user.DqlV81fM.js",
     734      "_index.B8LFivOP.js",
     735      "_icon.DOVeOS6k.js",
     736      "_google.DHErjYju.js",
     737      "_index.BDRldrfu.js",
     738      "_number-format.CLdvQh6j.js",
     739      "_tooltip.w0glU4UR.js",
    740740      "_index.DAwEVGKX.js",
    741       "_marker.CSvYKl9X.js",
    742       "_index.DnZD_ROs.js",
     741      "_marker.DwqF6Dh_.js",
     742      "_index.Bi752R10.js",
    743743      "_outsideclick.Bw_hMuzW.js"
    744744    ],
     
    753753    "isEntry": true,
    754754    "imports": [
    755       "__plugin-vue_export-helper.Cq0ParU2.js",
     755      "__plugin-vue_export-helper.xU-N2hzF.js",
    756756      "_module.CKjUdtPN.js",
    757       "_popup-mls.B3nJZ9V8.js",
    758       "_user.BcbXWidr.js",
    759       "_house-format.B6FoJSlV.js",
    760       "_index.DnZD_ROs.js",
    761       "_index.DzRoBq24.js",
    762       "_verify-email.x9ITyz1P.js",
    763       "_vendor.DSMCY3-_.js",
    764       "_tooltip.DzDTXEs_.js",
    765       "_index.5F2_f90D.js",
     757      "_popup-mls.BxADJAYE.js",
     758      "_user.DqlV81fM.js",
     759      "_house-format.4tigxTMo.js",
     760      "_index.Bi752R10.js",
     761      "_index.BDRldrfu.js",
     762      "_verify-email.DiKlRKza.js",
     763      "_vendor.DSMCY3-_.js",
     764      "_tooltip.w0glU4UR.js",
     765      "_index.D8FXyAh2.js",
    766766      "_date-format.BrUodQAJ.js",
    767       "_IconCopy.DgrShxpL.js",
     767      "_IconCopy.7myX4VwF.js",
    768768      "_useCopy.CluLpl8Z.js",
    769       "_index.DtjRETok.js",
    770       "_icon.jDvjNekX.js",
    771       "_number-format.CLdvQh6j.js",
    772       "_index.20AV-SFS.js",
    773       "_popup-trigger.CvQ0KgB4.js",
    774       "_auto-login.CMpMIf1r.js",
    775       "_useConfirm.DbQjtEKi.js",
    776       "_google.Dg-2iVCG.js",
    777       "_outsideclick.Bw_hMuzW.js",
    778       "_marker.CSvYKl9X.js",
    779       "_feature-listing-slider.BkyxHd8D.js"
     769      "_index.B8LFivOP.js",
     770      "_icon.DOVeOS6k.js",
     771      "_number-format.CLdvQh6j.js",
     772      "_index.ChNd4QEZ.js",
     773      "_popup-trigger.DuPNuQEE.js",
     774      "_auto-login.CLjZwLBU.js",
     775      "_useConfirm.BD1rw4lC.js",
     776      "_google.DHErjYju.js",
     777      "_outsideclick.Bw_hMuzW.js",
     778      "_marker.DwqF6Dh_.js",
     779      "_feature-listing-slider.D8NpqqUJ.js"
    780780    ],
    781781    "css": [
     
    789789    "isEntry": true,
    790790    "imports": [
    791       "__plugin-vue_export-helper.Cq0ParU2.js",
     791      "__plugin-vue_export-helper.xU-N2hzF.js",
    792792      "_module.CKjUdtPN.js",
    793793      "_vendor.DSMCY3-_.js",
    794       "_index.CHk1aTGT.js",
     794      "_index.erNjz9Pp.js",
    795795      "_loading.BdqyMKJZ.js",
    796       "_index.DtjRETok.js",
    797       "_house-format.B6FoJSlV.js",
    798       "_verify-email.x9ITyz1P.js",
    799       "_index.DzRoBq24.js",
    800       "_mobileFilter.WDC-WzjY.js",
    801       "_index.5F2_f90D.js",
    802       "_index.DnZD_ROs.js",
     796      "_index.B8LFivOP.js",
     797      "_house-format.4tigxTMo.js",
     798      "_verify-email.DiKlRKza.js",
     799      "_index.BDRldrfu.js",
     800      "_mobileFilter.DVwoqcXT.js",
     801      "_index.D8FXyAh2.js",
     802      "_index.Bi752R10.js",
    803803      "_index.BIsjoQ8l.js",
    804       "_standard.KmwEGgBs.js",
    805       "_marker.CSvYKl9X.js",
    806       "_outsideclick.Bw_hMuzW.js",
    807       "_service.Bpmx5vDe.js",
    808       "_user.BcbXWidr.js",
    809       "_popup-trigger.CvQ0KgB4.js",
    810       "_auto-login.CMpMIf1r.js",
    811       "_popup-mls.B3nJZ9V8.js",
     804      "_standard.Dwc2F-8i.js",
     805      "_marker.DwqF6Dh_.js",
     806      "_outsideclick.Bw_hMuzW.js",
     807      "_service.B6OFWnjc.js",
     808      "_user.DqlV81fM.js",
     809      "_popup-trigger.DuPNuQEE.js",
     810      "_auto-login.CLjZwLBU.js",
     811      "_popup-mls.BxADJAYE.js",
    812812      "_date-format.BrUodQAJ.js",
    813       "_index.B-PeUk0y.js",
     813      "_index.Cx6n2H90.js",
    814814      "_index.DAwEVGKX.js",
    815815      "_number-format.CLdvQh6j.js",
    816       "_google.Dg-2iVCG.js",
    817       "_index.3MfMsqfZ.js",
    818       "_useConfirm.DbQjtEKi.js"
     816      "_google.DHErjYju.js",
     817      "_index.zyk5jnxc.js",
     818      "_useConfirm.BD1rw4lC.js"
    819819    ],
    820820    "css": [
     
    828828    "isEntry": true,
    829829    "imports": [
    830       "__plugin-vue_export-helper.Cq0ParU2.js",
     830      "__plugin-vue_export-helper.xU-N2hzF.js",
    831831      "_vendor.DSMCY3-_.js",
    832832      "_module.CKjUdtPN.js",
    833       "_user.BcbXWidr.js",
    834       "_popup-mls.B3nJZ9V8.js",
    835       "_index.5F2_f90D.js",
    836       "_index.DzRoBq24.js",
    837       "_index.DnZD_ROs.js",
     833      "_user.DqlV81fM.js",
     834      "_popup-mls.BxADJAYE.js",
     835      "_index.D8FXyAh2.js",
     836      "_index.BDRldrfu.js",
     837      "_index.Bi752R10.js",
    838838      "_index.BIsjoQ8l.js",
    839839      "_number-format.CLdvQh6j.js",
    840       "_feature-listing-slider.BkyxHd8D.js",
    841       "_houseSlider.CQBIXO6D.js",
    842       "_house-format.B6FoJSlV.js",
    843       "_index.20AV-SFS.js",
    844       "_index.3MfMsqfZ.js",
    845       "_useConfirm.DbQjtEKi.js",
    846       "_outsideclick.Bw_hMuzW.js",
    847       "_google.Dg-2iVCG.js",
    848       "_verify-email.x9ITyz1P.js"
     840      "_feature-listing-slider.D8NpqqUJ.js",
     841      "_houseSlider.DMvAhjQF.js",
     842      "_house-format.4tigxTMo.js",
     843      "_index.ChNd4QEZ.js",
     844      "_index.zyk5jnxc.js",
     845      "_useConfirm.BD1rw4lC.js",
     846      "_outsideclick.Bw_hMuzW.js",
     847      "_google.DHErjYju.js",
     848      "_verify-email.DiKlRKza.js"
    849849    ],
    850850    "css": [
     
    858858    "isEntry": true,
    859859    "imports": [
    860       "__plugin-vue_export-helper.Cq0ParU2.js",
     860      "__plugin-vue_export-helper.xU-N2hzF.js",
    861861      "_vendor.DSMCY3-_.js",
    862862      "_index.jjVwSEkV.js",
    863       "_house-format.B6FoJSlV.js",
    864       "_index.20AV-SFS.js",
    865       "_index.5F2_f90D.js",
    866       "_feature-listing-slider.BkyxHd8D.js",
     863      "_house-format.4tigxTMo.js",
     864      "_index.ChNd4QEZ.js",
     865      "_index.D8FXyAh2.js",
     866      "_feature-listing-slider.D8NpqqUJ.js",
    867867      "_index.BdhGsZUN.js",
    868       "_index.DnZD_ROs.js",
     868      "_index.Bi752R10.js",
    869869      "_date-format.BrUodQAJ.js",
    870       "_standard.KmwEGgBs.js",
     870      "_standard.Dwc2F-8i.js",
    871871      "_index.DAwEVGKX.js",
    872872      "_index.BIsjoQ8l.js",
    873873      "_number-format.CLdvQh6j.js",
    874       "_useConfirm.DbQjtEKi.js",
    875       "_user.BcbXWidr.js",
    876       "_index.DzRoBq24.js",
    877       "_verify-email.x9ITyz1P.js",
    878       "_outsideclick.Bw_hMuzW.js",
    879       "_index.B-PeUk0y.js",
    880       "_google.Dg-2iVCG.js"
     874      "_useConfirm.BD1rw4lC.js",
     875      "_user.DqlV81fM.js",
     876      "_index.BDRldrfu.js",
     877      "_verify-email.DiKlRKza.js",
     878      "_outsideclick.Bw_hMuzW.js",
     879      "_index.Cx6n2H90.js",
     880      "_google.DHErjYju.js"
    881881    ],
    882882    "css": [
     
    894894    "isEntry": true,
    895895    "imports": [
    896       "__plugin-vue_export-helper.Cq0ParU2.js",
     896      "__plugin-vue_export-helper.xU-N2hzF.js",
    897897      "_module.CKjUdtPN.js",
    898898      "_vendor.DSMCY3-_.js",
    899       "_mobileFilter.WDC-WzjY.js",
    900       "_index.5F2_f90D.js",
    901       "_outsideclick.Bw_hMuzW.js",
    902       "_index.DnZD_ROs.js",
    903       "_index.CHk1aTGT.js",
     899      "_mobileFilter.DVwoqcXT.js",
     900      "_index.D8FXyAh2.js",
     901      "_outsideclick.Bw_hMuzW.js",
     902      "_index.Bi752R10.js",
     903      "_index.erNjz9Pp.js",
    904904      "_date-format.BrUodQAJ.js",
    905       "_index.B-PeUk0y.js",
    906       "_number-format.CLdvQh6j.js",
    907       "_index.3MfMsqfZ.js"
     905      "_index.Cx6n2H90.js",
     906      "_number-format.CLdvQh6j.js",
     907      "_index.zyk5jnxc.js"
    908908    ],
    909909    "css": [
  • lofty-idx/trunk/assets/admin-customization.js

    r3348566 r3348893  
    1 import{_ as S,h as f}from"./_plugin-vue_export-helper.Cq0ParU2.js";/* empty css               */import{r as u,c as w,U as P,o as d,g as v,e,z as m,y as j,u as z,t as D,q as p,v as g,D as y}from"./vendor.DSMCY3-_.js";import{s as _,P as H}from"./PluginUpdate.DR7KK_19.js";import"./user.BcbXWidr.js";const M={class:"lofty-admin-container lofty-reset-style"},U={class:"main-content"},A={class:"header"},B={key:1,class:"btn-group"},E={class:"configuration"},T={class:"form-groups"},V={class:"form-group"},I=["readonly"],X={class:"form-group"},q=["readonly"],J={class:"form-group"},L=["readonly"],N={__name:"page",setup(G){const l=u(!0),n=u(""),i=u(""),o=u(""),r=u({}),c=u(!1),h=w(()=>{const{custom_css:a,custom_js:t,custom_html:s}=r.value;return a===n.value&&t===i.value&&s===o.value||c.value});async function x(){if(h.value)return;o.value&&b();const a={custom_css:n.value,custom_js:i.value,custom_html:o.value};c.value=!0;try{const t=await f.post("/set-custom-data",{action:"lofty_idx_customization",data:{config:a}});r.value=a,_("Save succeed"),l.value=!0}catch{_("Save failed. Please try again",{err:!0})}c.value=!1}function b(){const a=[],t=/<(meta|title|script|link)\b[^>]*>([\s\S]*?<\/\1>)?|<(meta|link)\b[^>]*\/?>/gi;let s;for(;(s=t.exec(o.value))!==null;)a.push(s[0]);o.value=a.join(`
     1import{_ as S,h as f}from"./_plugin-vue_export-helper.xU-N2hzF.js";/* empty css               */import{r as u,c as w,U as P,o as d,g as v,e,z as m,y as j,u as z,t as D,q as p,v as g,D as y}from"./vendor.DSMCY3-_.js";import{s as _,P as H}from"./PluginUpdate.BNhRciDp.js";import"./user.DqlV81fM.js";const M={class:"lofty-admin-container lofty-reset-style"},U={class:"main-content"},A={class:"header"},B={key:1,class:"btn-group"},E={class:"configuration"},T={class:"form-groups"},V={class:"form-group"},I=["readonly"],X={class:"form-group"},q=["readonly"],J={class:"form-group"},L=["readonly"],N={__name:"page",setup(G){const l=u(!0),n=u(""),i=u(""),o=u(""),r=u({}),c=u(!1),h=w(()=>{const{custom_css:a,custom_js:t,custom_html:s}=r.value;return a===n.value&&t===i.value&&s===o.value||c.value});async function x(){if(h.value)return;o.value&&b();const a={custom_css:n.value,custom_js:i.value,custom_html:o.value};c.value=!0;try{const t=await f.post("/set-custom-data",{action:"lofty_idx_customization",data:{config:a}});r.value=a,_("Save succeed"),l.value=!0}catch{_("Save failed. Please try again",{err:!0})}c.value=!1}function b(){const a=[],t=/<(meta|title|script|link)\b[^>]*>([\s\S]*?<\/\1>)?|<(meta|link)\b[^>]*\/?>/gi;let s;for(;(s=t.exec(o.value))!==null;)a.push(s[0]);o.value=a.join(`
    22`)}function C(){l.value=!1}function k(){l.value=!0;const{custom_css:a,custom_js:t,custom_html:s}=r.value;n.value=a,i.value=t,o.value=s}return P(async()=>{try{const t=(await f.get("/get-custom-data",{action:"lofty_idx_customization"})).data;r.value=t,n.value=t.custom_css,i.value=t.custom_js,o.value=t.custom_html}catch(a){_("Error fetch custom data:"+a.message,{err:!0})}}),(a,t)=>(d(),v("div",M,[e("main",U,[t[7]||(t[7]=e("header",null,[e("h1",null,"Customization"),e("p",{class:"description"},"Supports customized code injection and global style configuration, applied to all IDX Pages")],-1)),e("div",A,[t[3]||(t[3]=e("h2",null,"Configuration",-1)),l.value?(d(),v("button",{key:0,class:"btn btn-edit",onClick:m(C,["prevent"])},"Edit")):(d(),v("div",B,[e("button",{class:"btn",onClick:m(k,["prevent"])},"Cancel"),e("button",{class:j(["btn btn-save",{disable:z(h)}]),onClick:m(x,["prevent"])},D(c.value?"Saving..":"Save Changes"),3)]))]),e("section",E,[e("div",T,[e("div",V,[t[4]||(t[4]=e("div",{class:"title"},[e("div",null,"add css to IDX stylesheet"),e("div",null,"Add CSS overrides to all pages")],-1)),p(e("textarea",{name:"page-css",rows:"7",maxlength:"50000","onUpdate:modelValue":t[0]||(t[0]=s=>n.value=s),placeholder:"Type something…",readonly:l.value},null,8,I),[[g,n.value]])]),e("div",X,[t[5]||(t[5]=e("div",{class:"title"},[e("div",null,"add code to idx content"),e("div",null,"Add scripts and other HTML to all pages")],-1)),p(e("textarea",{name:"page-js",rows:"7",maxlength:"50000","onUpdate:modelValue":t[1]||(t[1]=s=>i.value=s),placeholder:"Please enter the script tag code, eg:<script>console.log(1)<\/script>",readonly:l.value},null,8,q),[[g,i.value]])]),e("div",J,[t[6]||(t[6]=e("div",{class:"title"},[e("div",null,"add code to Page head"),e("div",null,"Add meta, title, link, and script elements to the <head> tag of all idx pages.")],-1)),p(e("textarea",{name:"page-head-html",rows:"7",maxlength:"50000","onUpdate:modelValue":t[2]||(t[2]=s=>o.value=s),placeholder:'Please enter the meta tag information, eg:<meta name="test name" content="test content">',readonly:l.value},null,8,L),[[g,o.value]])])])])])]))}},F=S(N,[["__scopeId","data-v-19428191"]]);y(H).mount("#plugin-check");y(F).mount("#app");
  • lofty-idx/trunk/assets/admin-lead-setting.js

    r3348566 r3348893  
    1 import{_,t as ee,h as L}from"./_plugin-vue_export-helper.Cq0ParU2.js";/* empty css               */import{k as E,L as W,a as M,l as te,p as le,o as v,g as V,e as t,z as A,m,w as R,f,q as u,u as l,v as w,H as oe,r as P,d as $,t as x,s as ne,X as b,F as U,j as O,x as C,K as ae,c as se,h as ie,i as ue,D as J}from"./vendor.DSMCY3-_.js";import{P as H,J as re,L as K,I as q,S as de}from"./SubmitJs.hYiMmqPz.js";import{P as pe}from"./index.DnZD_ROs.js";import{s as T,P as ge}from"./PluginUpdate.DR7KK_19.js";import{C as F}from"./checkBox.BRkOvSmc.js";import{g as me,F as ce,G as fe,C as z}from"./google.Dg-2iVCG.js";import{g as ve}from"./user.BcbXWidr.js";import{T as h}from"./tooltip.DzDTXEs_.js";import"./outsideclick.Bw_hMuzW.js";const ye=[{title:"Registration",visible:!0,items:[{title:"Basic Settings",path:"basicSetting",component:"BasicSetting",visible:!0},{title:"Disclaimer",path:"disclaimer",component:"Disclaimer",visible:!0},{title:"Pop-up Trigger Rule",path:"trigger-rule",component:"TriggerRule",visible:!0}]}],be={class:"lofty-disclaimer",ref:"root"},Re={class:"pop-disclaimer-container"},Se={class:"disclaimer-pop-body"},xe={__name:"disclaimerInput",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(S,{expose:a}){const o=E("editorRich"),p=E("popRef"),y=E("root"),g=W(S,"modelValue"),d=M({name:"",url:""});function r(){p.value.close()}function e(){d.name&&d&&(X(),p.value.close())}function n(){d.name="",d.url="",p.value.open()}let I=null;function X(){oe(()=>{let i=o.value;I||Y();let s=document.createElement("a");if(s.className="lofty-a-link",s.setAttribute("contenteditable","false"),s.setAttribute("href",d.url),s.setAttribute("target","_blank"),s.setAttribute("rel","noopener noreferrer"),s.innerHTML=`${d.name}`,!I)return;I.insertNode(s);let c=window.getSelection();c.collapseToEnd(),c.removeAllRanges(),i.blur(),N()})}function j(i){let s=window.getSelection();if(s.rangeCount<=0)return;let c=s.getRangeAt(0),k=i.target,D=k.classList||null;D&&D.contains("lofty-a-link")&&(c.selectNode(k),c.collapse(!1),s.removeAllRanges(),s.addRange(c)),N()}function Y(){let i=document.createRange(),s=window.getSelection();i.selectNodeContents(o.value),i.collapse(!1),s.removeAllRanges(),s.addRange(i),I=B()}function B(){const i=document.getSelection();return i.rangeCount<=0?null:i.getRangeAt(0)}function G(i){if(g.value.length>2e3&&i.key!=="Backspace"&&i.key!=="Delete"){i.preventDefault();return}ee(()=>{i.type==="keyup"&&N()})()}function Q(i){if(I&&i.clipboardData){let s=i.clipboardData.getData("text/plain"),c=document.createTextNode(s.slice(0,2e3)),k=I,D=window.getSelection();D.deleteFromDocument(),k.insertNode(c),k.setStartAfter(c),k.setEndAfter(c),k.collapse(!1),D.removeAllRanges(),D.addRange(k),i.preventDefault(),N()}}function N(){I=B(),o.value&&(g.value=o.value.innerHTML.replace("<br>",""))}function Z(){const i=document.createElement("textarea");i.innerHTML=o.value.innerHTML;let s=i.value;return s=s.replace(/<(?!a\b|\/a\b|br\b)[^>]*>/gi,""),s=s.replace(/<br\s*\/?>/gi,""),s}return te(()=>{o.value.style.width=y.value.clientWidth+"px"}),a({getValueString:Z}),le(()=>g.value,i=>{o.value.innerHTML=i},{once:!0}),(i,s)=>(v(),V("div",be,[t("div",{class:"disclaimer-title"},[s[3]||(s[3]=t("label",null,"DISCLAIMER",-1)),t("span",{class:"insert-variable",onClick:n},s[2]||(s[2]=[t("span",{class:"plus-icon"},"+",-1),t("span",null,"Add hyperlink",-1)]))]),t("div",{class:"disclaimer-content",ref_key:"editorRich",ref:o,placeholder:"By checking this box, I confirm that I have read and agree to the Terms of Service, Privacy Policy, and E-Signature Disclosure.",contenteditable:"",onKeyup:G,onKeydown:G,onPaste:Q,onClick:A(j,["stop"])},null,544),m(pe,{ref_key:"popRef",ref:p,allowClose:!1},{default:R(()=>[t("div",Re,[t("div",{class:"title"},[s[4]||(s[4]=f(" Add Hyperlink ")),t("i",{class:"lofty_iconfont lofty-icon-close",onClick:r})]),t("div",Se,[s[5]||(s[5]=t("label",null,"HYPERLINK TEXT",-1)),u(t("input",{"onUpdate:modelValue":s[0]||(s[0]=c=>l(d).name=c),type:"text"},null,512),[[w,l(d).name]]),s[6]||(s[6]=t("label",null,"URL",-1)),u(t("input",{"onUpdate:modelValue":s[1]||(s[1]=c=>l(d).url=c),type:"text"},null,512),[[w,l(d).url]])]),t("div",{class:"disclaimer-footer"},[t("div",{class:"footer-cancel",onClick:r},"Cancel"),t("div",{class:"footer-save",onClick:e},"Save")])])]),_:1},512)],512))}},ke=_(xe,[["__scopeId","data-v-ab7f05fa"]]),Te={class:"lofty-content"},Ve={__name:"index",setup(S){const a=P(""),o=P(!1),p=E("disclaimerInput");g();async function y(){o.value=!0;const d={disclaimer:a.value,disclaimerHtml:p.value.getValueString()},r=await L.post("/save-data/data/update",{data:d});o.value=!1,r.data?T("Saved Successfully"):T("Save failed. Please try again.",{duration:3e3,err:!0})}async function g(){const d=await L.get("/save-data/common-info");d.data.commonData&&(a.value=d.data.commonData.disclaimerHtml||"")}return(d,r)=>(v(),$(H,{title:"Disclaimer",description:"Once the configuration is complete, the content will be displayed as a checkbox on the Home Valuation registration page."},{button:R(()=>[t("button",{class:"btn-save",onClick:A(y,["prevent"])},x(l(o)?"Saving..":"Save"),1)]),default:R(()=>[t("div",Te,[m(ke,{modelValue:l(a),"onUpdate:modelValue":r[0]||(r[0]=e=>ne(a)?a.value=e:null),ref_key:"disclaimerInput",ref:p},null,8,["modelValue"])])]),_:1}))}},Ie=_(Ve,[["__scopeId","data-v-208bbb35"]]),we="/login-setting-preview.BjeH_jgs.png",Ce={class:"form-groups setting-content"},Pe={class:"login-config"},De={class:"form-group"},Le={class:"form-group"},_e={class:"form-group"},Ne={style:{"font-size":"13px"}},Ee={style:{"margin-left":"30px","font-size":"13px"}},Ue={class:"form-group"},Ae={style:{"font-size":"13px"}},$e={style:{"margin-left":"30px","font-size":"13px"}},Oe={class:"form-group"},Me={class:"form-group"},He={class:"third-party-row"},Be={class:"third-party-row"},Ge={class:"form-group textarea mt30"},qe={class:"right-preview"},Fe=["src"],ze={class:"sign-title lofty-ellipsis"},he={class:"sign-desc"},We={class:"sign-button"},Je={class:"full-name-required"},Ke={class:"phone-number-required"},Xe={class:"third-party-login"},je=["src"],Ye=["src"],Qe={__name:"index",setup(S){const a=LoftyIdxUtils.static_url(we),o=M(me());g();const p=P(!1),y=P(!0);async function g(){const r=await L.get("/save-data/common-info");if(y.value=!1,r.data.commonData){const e=r.data.commonData.loginSetting||{};for(let n in e)o[n]=e[n]}}async function d(){if(o.facebookLogin&&!o.facebookClientId){T("Please input your facebook Client ID");return}if(o.googleLogin&&!o.googleClientId){T("Please input your google Client ID");return}p.value=!0;const r={loginSetting:o},e=await L.post("/save-data/data/update",{data:r});p.value=!1,e.data?T("Saved Successfully"):T("Save failed. Please try again.",{duration:3e3,err:!0})}return(r,e)=>(v(),$(H,{title:"Basic Settings",description:"Set the Style of registration."},{button:R(()=>[t("button",{class:"btn-save",onClick:A(d,["prevent"])},x(l(p)?"Saving..":"Save"),1)]),default:R(()=>[t("div",Ce,[t("div",Pe,[t("div",De,[e[14]||(e[14]=t("label",null,"TITLE",-1)),u(t("input",{"onUpdate:modelValue":e[0]||(e[0]=n=>l(o).title=n),type:"text",maxlength:"50"},null,512),[[w,l(o).title]])]),t("div",Le,[e[15]||(e[15]=t("label",null,"DESCRIPTION",-1)),u(t("input",{"onUpdate:modelValue":e[1]||(e[1]=n=>l(o).description=n),type:"text",maxlength:"400"},null,512),[[w,l(o).description]])]),t("div",_e,[e[18]||(e[18]=t("label",null,"FULL NAME",-1)),t("div",null,[t("span",Ne,[u(t("input",{"onUpdate:modelValue":e[2]||(e[2]=n=>l(o).fullNameRequired=n),type:"radio",name:"name",value:!0},null,512),[[b,l(o).fullNameRequired]]),e[16]||(e[16]=f("Required "))]),t("span",Ee,[u(t("input",{"onUpdate:modelValue":e[3]||(e[3]=n=>l(o).fullNameRequired=n),type:"radio",name:"name",value:!1},null,512),[[b,l(o).fullNameRequired]]),e[17]||(e[17]=f("Optional "))])])]),t("div",Ue,[e[21]||(e[21]=t("label",null,"INPUT PHONE",-1)),t("div",null,[t("span",Ae,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=n=>l(o).phoneNumberRequired=n),type:"radio",name:"phone",value:!0},null,512),[[b,l(o).phoneNumberRequired]]),e[19]||(e[19]=f("Required "))]),t("span",$e,[u(t("input",{"onUpdate:modelValue":e[5]||(e[5]=n=>l(o).phoneNumberRequired=n),type:"radio",name:"phone",value:!1},null,512),[[b,l(o).phoneNumberRequired]]),e[20]||(e[20]=f("Optional "))])])]),t("div",Oe,[e[22]||(e[22]=t("label",null,"BUTTON TEXT",-1)),u(t("input",{"onUpdate:modelValue":e[6]||(e[6]=n=>l(o).buttonText=n),type:"text",maxlength:"20"},null,512),[[w,l(o).buttonText]])]),t("div",Me,[e[29]||(e[29]=t("label",null,"ADD THIRD PARTY REGISTRATION",-1)),t("div",He,[m(F,{modelValue:l(o).facebookLogin,"onUpdate:modelValue":[e[7]||(e[7]=n=>l(o).facebookLogin=n),e[8]||(e[8]=n=>l(o).facebookLogin=n)]},null,8,["modelValue"]),e[25]||(e[25]=t("span",{class:"name"},"Facebook",-1)),l(o).facebookLogin?(v(),V(U,{key:0},[e[23]||(e[23]=t("span",{class:"id-label"},"Client ID",-1)),e[24]||(e[24]=t("a",{href:"https://developers.facebook.com/docs/development/create-an-app",target:"_blank"},"How to get?",-1)),u(t("input",{class:"id-input","onUpdate:modelValue":e[9]||(e[9]=n=>l(o).facebookClientId=n),type:"text",maxlength:"200",placeholder:"Please input your Client ID"},null,512),[[w,l(o).facebookClientId]])],64)):O("",!0)]),t("div",Be,[m(F,{modelValue:l(o).googleLogin,"onUpdate:modelValue":[e[10]||(e[10]=n=>l(o).googleLogin=n),e[11]||(e[11]=n=>l(o).googleLogin=n)]},null,8,["modelValue"]),e[28]||(e[28]=t("span",{class:"name"},"Google",-1)),l(o).googleLogin?(v(),V(U,{key:0},[e[26]||(e[26]=t("span",{class:"id-label"},"Client ID",-1)),e[27]||(e[27]=t("a",{href:"https://developers.google.com/identity/sign-in/web/sign-in",target:"_blank"},"How to get?",-1)),u(t("input",{class:"id-input","onUpdate:modelValue":e[12]||(e[12]=n=>l(o).googleClientId=n),type:"text",maxlength:"200",placeholder:"Please input your Client ID"},null,512),[[w,l(o).googleClientId]])],64)):O("",!0)]),t("div",Ge,[m(re,{modelValue:l(o).submitJs,"onUpdate:modelValue":e[13]||(e[13]=n=>l(o).submitJs=n),desc:"The following code will be executed after a successful registration or login (including Facebook and Google)."},null,8,["modelValue"])])])]),t("div",qe,[e[30]||(e[30]=t("div",{class:"title"},"Preview",-1)),t("img",{class:"preview-image",src:l(a),alt:""},null,8,Fe),t("div",ze,x(l(o).title),1),t("div",he,x(l(o).description),1),t("div",We,x(l(o).buttonText),1),u(t("div",Je,"*",512),[[C,l(o).fullNameRequired]]),u(t("div",Ke,"*",512),[[C,l(o).phoneNumberRequired]]),t("div",Xe,[u(t("img",{src:l(ce),class:"lofty_iconfont",alt:"facebook"},null,8,je),[[C,l(o).facebookLogin]]),u(t("img",{src:l(fe),class:"lofty_iconfont",alt:"google"},null,8,Ye),[[C,l(o).googleLogin]])])]),m(K,{loading:l(y)},null,8,["loading"])])]),_:1}))}},Ze=_(Qe,[["__scopeId","data-v-c0adfb8c"]]),et={class:"lofty-check-group"},tt={class:"lofty-check-group-item"},lt=["onClick"],ot={__name:"group",props:ae({groups:{type:Array,default:()=>[]}},{modelValue:{default:[]},modelModifiers:{}}),emits:["update:modelValue"],setup(S){const a=W(S,"modelValue"),o=se(()=>a.value.length===S.groups.length);function p(){a.value=o.value?[]:S.groups.map(g=>g.value)}function y(g){a.value.includes(g)?a.value.splice(a.value.indexOf(g),1):a.value.push(g)}return(g,d)=>(v(),V("div",et,[t("div",tt,[m(z,{"model-value":l(o),onChange:p},null,8,["model-value"]),d[0]||(d[0]=t("span",null,"All",-1))]),(v(!0),V(U,null,ie(S.groups,r=>(v(),V("div",{class:"lofty-check-group-item",key:r.value,onClick:e=>y(r.value)},[m(z,{"model-value":a.value.includes(r.value)},null,8,["model-value"]),t("span",null,x(r.label),1)],8,lt))),128))]))}},nt=_(ot,[["__scopeId","data-v-9e4402b0"]]),at={class:"form-groups"},st={class:"form-group"},it={style:{"font-size":"13px"}},ut={style:{"margin-left":"30px","font-size":"13px"}},rt={style:{"margin-left":"30px","font-size":"13px"}},dt={class:"form-group"},pt={class:"form-group"},gt={style:{"font-size":"13px"}},mt={style:{"margin-left":"30px","font-size":"13px"}},ct={class:"form-group"},ft={class:"form-group"},vt={class:"form-group"},yt={style:{"font-size":"13px"}},bt={style:{"margin-left":"30px","font-size":"13px"}},Rt={__name:"index",setup(S){const a=M(ve()),o=P(!1),p=[{label:"Search",value:"search"},{label:"Featured Listings",value:"featured_listing"},{label:"Listing Detail",value:"listing_detail"},{label:"Sold Listings",value:"sold_listing"},{label:"Sold Listings Detail",value:"sold_listing_detail"}];d();async function y(){o.value=!0;const r={triggerRule:a},e=await L.post("/save-data/data/update",{data:r});o.value=!1,e.data?T("Saved Successfully"):T("Save failed. Please try again.",{duration:3e3,err:!0})}const g=P(!0);async function d(){const r=await L.get("/save-data/common-info");if(g.value=!1,r.data.commonData){const e=r.data.commonData.triggerRule||{};for(let n in e)a[n]=e[n]}}return(r,e)=>(v(),$(H,{title:"Pop-up Trigger Rule",description:"Set the Pop-up Trigger Rule for registration, which allows you to customize exactly when the forced registration pop-up will appear on your IDX website to capture lead information."},{button:R(()=>[t("button",{class:"btn-save",onClick:A(y,["prevent"])},x(l(o)?"Saving..":"Save"),1)]),default:R(()=>[t("div",at,[t("div",st,[e[13]||(e[13]=t("label",null,"TRIGGER REGISTRATION ON",-1)),t("div",null,[t("span",it,[u(t("input",{"onUpdate:modelValue":e[0]||(e[0]=n=>l(a).place=n),type:"radio",name:"place",value:"detail"},null,512),[[b,l(a).place]]),e[10]||(e[10]=f("Listing Detail Pages "))]),t("span",ut,[u(t("input",{"onUpdate:modelValue":e[1]||(e[1]=n=>l(a).place=n),type:"radio",name:"place",value:"page"},null,512),[[b,l(a).place]]),e[11]||(e[11]=f("Selected Pages "))]),t("span",rt,[u(t("input",{"onUpdate:modelValue":e[2]||(e[2]=n=>l(a).place=n),type:"radio",name:"place",value:"none"},null,512),[[b,l(a).place]]),e[12]||(e[12]=f("Never Trigger Registration Pop-up "))])])]),u(t("div",dt,[e[14]||(e[14]=t("label",null,"SELECT PAGES",-1)),m(nt,{modelValue:l(a).selectPages,"onUpdate:modelValue":e[3]||(e[3]=n=>l(a).selectPages=n),groups:p},null,8,["modelValue"])],512),[[C,l(a).place==="page"]]),l(a).place!=="none"?(v(),V(U,{key:0},[t("div",pt,[e[18]||(e[18]=t("label",null,"HOW TO TRIGGER",-1)),t("div",null,[t("span",gt,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=n=>l(a).type=n),type:"radio",name:"triggerType",value:"count"},null,512),[[b,l(a).type]]),f("Trigger Registration Pop-up based on "+x(l(a).place==="page"?"Page":"Listing")+" Views ",1)]),t("span",mt,[u(t("input",{"onUpdate:modelValue":e[5]||(e[5]=n=>l(a).type=n),type:"radio",name:"triggerType",value:"time"},null,512),[[b,l(a).type]]),e[15]||(e[15]=f("Trigger Registration Pop-up based on Browsing Time "))]),t("span",null,[m(h,null,{trigger:R(()=>e[16]||(e[16]=[t("span",{class:"lofty_iconfont lofty-icon-help"},null,-1)])),content:R(()=>e[17]||(e[17]=[t("span",{class:"help-tip"}," Refers to the time spent on each page ",-1)])),_:1})])])]),u(t("div",ct,[t("label",null,"POP UP AFTER (NUMBER OF "+x(l(a).place==="page"?"PAGE":"LISTING")+" VIEWS)",1),m(q,{modelValue:l(a).count,"onUpdate:modelValue":e[6]||(e[6]=n=>l(a).count=n),min:1},null,8,["modelValue"])],512),[[C,l(a).type==="count"]]),u(t("div",ft,[e[19]||(e[19]=t("label",null,"POP UP AFTER BROWSING FOR (SECONDS)",-1)),m(q,{modelValue:l(a).time,"onUpdate:modelValue":e[7]||(e[7]=n=>l(a).time=n),min:1},null,8,["modelValue"])],512),[[C,l(a).type==="time"]]),t("div",vt,[t("label",null,[e[22]||(e[22]=f("ALLOW FOR POP-UP TO BE CLOSED PRIOR TO REGISTRATION ")),m(h,null,{trigger:R(()=>e[20]||(e[20]=[t("span",{class:"lofty_iconfont lofty-icon-help"},null,-1)])),content:R(()=>e[21]||(e[21]=[t("span",{class:"help-tip"}," Is this allowed to close when pop-up is triggered according to the rule? ",-1)])),_:1})]),t("div",null,[t("span",yt,[u(t("input",{"onUpdate:modelValue":e[8]||(e[8]=n=>l(a).allowClose=n),type:"radio",name:"allowClose",value:!0},null,512),[[b,l(a).allowClose]]),e[23]||(e[23]=f("YES "))]),t("span",bt,[u(t("input",{"onUpdate:modelValue":e[9]||(e[9]=n=>l(a).allowClose=n),type:"radio",name:"allowClose",value:!1},null,512),[[b,l(a).allowClose]]),e[24]||(e[24]=f("NO "))])])])],64)):O("",!0),m(K,{loading:l(g)},null,8,["loading"])])]),_:1}))}},St=_(Rt,[["__scopeId","data-v-8684369e"]]),xt={Disclaimer:Ie,BasicSetting:Ze,TriggerRule:St},kt={class:"lofty-admin-container lofty-reset-style"},Tt={class:"main-content"},Vt={__name:"app",setup(S){let a=P("");function o(p){a.value=xt[p.component]}return(p,y)=>(v(),V("div",kt,[m(de,{menuSections:l(ye),onMenuItemClick:o},null,8,["menuSections"]),t("main",Tt,[(v(),$(ue(l(a))))])]))}},It=_(Vt,[["__scopeId","data-v-d1746e95"]]);J(It).mount("#app");J(ge).mount("#plugin-check");
     1import{_,t as ee,h as L}from"./_plugin-vue_export-helper.xU-N2hzF.js";/* empty css               */import{k as E,L as W,a as M,l as te,p as le,o as v,g as V,e as t,z as A,m,w as R,f,q as u,u as l,v as w,H as oe,r as P,d as $,t as x,s as ne,X as b,F as U,j as O,x as C,K as ae,c as se,h as ie,i as ue,D as J}from"./vendor.DSMCY3-_.js";import{P as H,J as re,L as K,I as q,S as de}from"./SubmitJs.BGSXz3XB.js";import{P as pe}from"./index.Bi752R10.js";import{s as T,P as ge}from"./PluginUpdate.BNhRciDp.js";import{C as F}from"./checkBox.97tfRJKL.js";import{g as me,F as ce,G as fe,C as z}from"./google.DHErjYju.js";import{g as ve}from"./user.DqlV81fM.js";import{T as h}from"./tooltip.w0glU4UR.js";import"./outsideclick.Bw_hMuzW.js";const ye=[{title:"Registration",visible:!0,items:[{title:"Basic Settings",path:"basicSetting",component:"BasicSetting",visible:!0},{title:"Disclaimer",path:"disclaimer",component:"Disclaimer",visible:!0},{title:"Pop-up Trigger Rule",path:"trigger-rule",component:"TriggerRule",visible:!0}]}],be={class:"lofty-disclaimer",ref:"root"},Re={class:"pop-disclaimer-container"},Se={class:"disclaimer-pop-body"},xe={__name:"disclaimerInput",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(S,{expose:a}){const o=E("editorRich"),p=E("popRef"),y=E("root"),g=W(S,"modelValue"),d=M({name:"",url:""});function r(){p.value.close()}function e(){d.name&&d&&(X(),p.value.close())}function n(){d.name="",d.url="",p.value.open()}let I=null;function X(){oe(()=>{let i=o.value;I||Y();let s=document.createElement("a");if(s.className="lofty-a-link",s.setAttribute("contenteditable","false"),s.setAttribute("href",d.url),s.setAttribute("target","_blank"),s.setAttribute("rel","noopener noreferrer"),s.innerHTML=`${d.name}`,!I)return;I.insertNode(s);let c=window.getSelection();c.collapseToEnd(),c.removeAllRanges(),i.blur(),N()})}function j(i){let s=window.getSelection();if(s.rangeCount<=0)return;let c=s.getRangeAt(0),k=i.target,D=k.classList||null;D&&D.contains("lofty-a-link")&&(c.selectNode(k),c.collapse(!1),s.removeAllRanges(),s.addRange(c)),N()}function Y(){let i=document.createRange(),s=window.getSelection();i.selectNodeContents(o.value),i.collapse(!1),s.removeAllRanges(),s.addRange(i),I=B()}function B(){const i=document.getSelection();return i.rangeCount<=0?null:i.getRangeAt(0)}function G(i){if(g.value.length>2e3&&i.key!=="Backspace"&&i.key!=="Delete"){i.preventDefault();return}ee(()=>{i.type==="keyup"&&N()})()}function Q(i){if(I&&i.clipboardData){let s=i.clipboardData.getData("text/plain"),c=document.createTextNode(s.slice(0,2e3)),k=I,D=window.getSelection();D.deleteFromDocument(),k.insertNode(c),k.setStartAfter(c),k.setEndAfter(c),k.collapse(!1),D.removeAllRanges(),D.addRange(k),i.preventDefault(),N()}}function N(){I=B(),o.value&&(g.value=o.value.innerHTML.replace("<br>",""))}function Z(){const i=document.createElement("textarea");i.innerHTML=o.value.innerHTML;let s=i.value;return s=s.replace(/<(?!a\b|\/a\b|br\b)[^>]*>/gi,""),s=s.replace(/<br\s*\/?>/gi,""),s}return te(()=>{o.value.style.width=y.value.clientWidth+"px"}),a({getValueString:Z}),le(()=>g.value,i=>{o.value.innerHTML=i},{once:!0}),(i,s)=>(v(),V("div",be,[t("div",{class:"disclaimer-title"},[s[3]||(s[3]=t("label",null,"DISCLAIMER",-1)),t("span",{class:"insert-variable",onClick:n},s[2]||(s[2]=[t("span",{class:"plus-icon"},"+",-1),t("span",null,"Add hyperlink",-1)]))]),t("div",{class:"disclaimer-content",ref_key:"editorRich",ref:o,placeholder:"By checking this box, I confirm that I have read and agree to the Terms of Service, Privacy Policy, and E-Signature Disclosure.",contenteditable:"",onKeyup:G,onKeydown:G,onPaste:Q,onClick:A(j,["stop"])},null,544),m(pe,{ref_key:"popRef",ref:p,allowClose:!1},{default:R(()=>[t("div",Re,[t("div",{class:"title"},[s[4]||(s[4]=f(" Add Hyperlink ")),t("i",{class:"lofty_iconfont lofty-icon-close",onClick:r})]),t("div",Se,[s[5]||(s[5]=t("label",null,"HYPERLINK TEXT",-1)),u(t("input",{"onUpdate:modelValue":s[0]||(s[0]=c=>l(d).name=c),type:"text"},null,512),[[w,l(d).name]]),s[6]||(s[6]=t("label",null,"URL",-1)),u(t("input",{"onUpdate:modelValue":s[1]||(s[1]=c=>l(d).url=c),type:"text"},null,512),[[w,l(d).url]])]),t("div",{class:"disclaimer-footer"},[t("div",{class:"footer-cancel",onClick:r},"Cancel"),t("div",{class:"footer-save",onClick:e},"Save")])])]),_:1},512)],512))}},ke=_(xe,[["__scopeId","data-v-ab7f05fa"]]),Te={class:"lofty-content"},Ve={__name:"index",setup(S){const a=P(""),o=P(!1),p=E("disclaimerInput");g();async function y(){o.value=!0;const d={disclaimer:a.value,disclaimerHtml:p.value.getValueString()},r=await L.post("/save-data/data/update",{data:d});o.value=!1,r.data?T("Saved Successfully"):T("Save failed. Please try again.",{duration:3e3,err:!0})}async function g(){const d=await L.get("/save-data/common-info");d.data.commonData&&(a.value=d.data.commonData.disclaimerHtml||"")}return(d,r)=>(v(),$(H,{title:"Disclaimer",description:"Once the configuration is complete, the content will be displayed as a checkbox on the Home Valuation registration page."},{button:R(()=>[t("button",{class:"btn-save",onClick:A(y,["prevent"])},x(l(o)?"Saving..":"Save"),1)]),default:R(()=>[t("div",Te,[m(ke,{modelValue:l(a),"onUpdate:modelValue":r[0]||(r[0]=e=>ne(a)?a.value=e:null),ref_key:"disclaimerInput",ref:p},null,8,["modelValue"])])]),_:1}))}},Ie=_(Ve,[["__scopeId","data-v-208bbb35"]]),we="/login-setting-preview.BjeH_jgs.png",Ce={class:"form-groups setting-content"},Pe={class:"login-config"},De={class:"form-group"},Le={class:"form-group"},_e={class:"form-group"},Ne={style:{"font-size":"13px"}},Ee={style:{"margin-left":"30px","font-size":"13px"}},Ue={class:"form-group"},Ae={style:{"font-size":"13px"}},$e={style:{"margin-left":"30px","font-size":"13px"}},Oe={class:"form-group"},Me={class:"form-group"},He={class:"third-party-row"},Be={class:"third-party-row"},Ge={class:"form-group textarea mt30"},qe={class:"right-preview"},Fe=["src"],ze={class:"sign-title lofty-ellipsis"},he={class:"sign-desc"},We={class:"sign-button"},Je={class:"full-name-required"},Ke={class:"phone-number-required"},Xe={class:"third-party-login"},je=["src"],Ye=["src"],Qe={__name:"index",setup(S){const a=LoftyIdxUtils.static_url(we),o=M(me());g();const p=P(!1),y=P(!0);async function g(){const r=await L.get("/save-data/common-info");if(y.value=!1,r.data.commonData){const e=r.data.commonData.loginSetting||{};for(let n in e)o[n]=e[n]}}async function d(){if(o.facebookLogin&&!o.facebookClientId){T("Please input your facebook Client ID");return}if(o.googleLogin&&!o.googleClientId){T("Please input your google Client ID");return}p.value=!0;const r={loginSetting:o},e=await L.post("/save-data/data/update",{data:r});p.value=!1,e.data?T("Saved Successfully"):T("Save failed. Please try again.",{duration:3e3,err:!0})}return(r,e)=>(v(),$(H,{title:"Basic Settings",description:"Set the Style of registration."},{button:R(()=>[t("button",{class:"btn-save",onClick:A(d,["prevent"])},x(l(p)?"Saving..":"Save"),1)]),default:R(()=>[t("div",Ce,[t("div",Pe,[t("div",De,[e[14]||(e[14]=t("label",null,"TITLE",-1)),u(t("input",{"onUpdate:modelValue":e[0]||(e[0]=n=>l(o).title=n),type:"text",maxlength:"50"},null,512),[[w,l(o).title]])]),t("div",Le,[e[15]||(e[15]=t("label",null,"DESCRIPTION",-1)),u(t("input",{"onUpdate:modelValue":e[1]||(e[1]=n=>l(o).description=n),type:"text",maxlength:"400"},null,512),[[w,l(o).description]])]),t("div",_e,[e[18]||(e[18]=t("label",null,"FULL NAME",-1)),t("div",null,[t("span",Ne,[u(t("input",{"onUpdate:modelValue":e[2]||(e[2]=n=>l(o).fullNameRequired=n),type:"radio",name:"name",value:!0},null,512),[[b,l(o).fullNameRequired]]),e[16]||(e[16]=f("Required "))]),t("span",Ee,[u(t("input",{"onUpdate:modelValue":e[3]||(e[3]=n=>l(o).fullNameRequired=n),type:"radio",name:"name",value:!1},null,512),[[b,l(o).fullNameRequired]]),e[17]||(e[17]=f("Optional "))])])]),t("div",Ue,[e[21]||(e[21]=t("label",null,"INPUT PHONE",-1)),t("div",null,[t("span",Ae,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=n=>l(o).phoneNumberRequired=n),type:"radio",name:"phone",value:!0},null,512),[[b,l(o).phoneNumberRequired]]),e[19]||(e[19]=f("Required "))]),t("span",$e,[u(t("input",{"onUpdate:modelValue":e[5]||(e[5]=n=>l(o).phoneNumberRequired=n),type:"radio",name:"phone",value:!1},null,512),[[b,l(o).phoneNumberRequired]]),e[20]||(e[20]=f("Optional "))])])]),t("div",Oe,[e[22]||(e[22]=t("label",null,"BUTTON TEXT",-1)),u(t("input",{"onUpdate:modelValue":e[6]||(e[6]=n=>l(o).buttonText=n),type:"text",maxlength:"20"},null,512),[[w,l(o).buttonText]])]),t("div",Me,[e[29]||(e[29]=t("label",null,"ADD THIRD PARTY REGISTRATION",-1)),t("div",He,[m(F,{modelValue:l(o).facebookLogin,"onUpdate:modelValue":[e[7]||(e[7]=n=>l(o).facebookLogin=n),e[8]||(e[8]=n=>l(o).facebookLogin=n)]},null,8,["modelValue"]),e[25]||(e[25]=t("span",{class:"name"},"Facebook",-1)),l(o).facebookLogin?(v(),V(U,{key:0},[e[23]||(e[23]=t("span",{class:"id-label"},"Client ID",-1)),e[24]||(e[24]=t("a",{href:"https://developers.facebook.com/docs/development/create-an-app",target:"_blank"},"How to get?",-1)),u(t("input",{class:"id-input","onUpdate:modelValue":e[9]||(e[9]=n=>l(o).facebookClientId=n),type:"text",maxlength:"200",placeholder:"Please input your Client ID"},null,512),[[w,l(o).facebookClientId]])],64)):O("",!0)]),t("div",Be,[m(F,{modelValue:l(o).googleLogin,"onUpdate:modelValue":[e[10]||(e[10]=n=>l(o).googleLogin=n),e[11]||(e[11]=n=>l(o).googleLogin=n)]},null,8,["modelValue"]),e[28]||(e[28]=t("span",{class:"name"},"Google",-1)),l(o).googleLogin?(v(),V(U,{key:0},[e[26]||(e[26]=t("span",{class:"id-label"},"Client ID",-1)),e[27]||(e[27]=t("a",{href:"https://developers.google.com/identity/sign-in/web/sign-in",target:"_blank"},"How to get?",-1)),u(t("input",{class:"id-input","onUpdate:modelValue":e[12]||(e[12]=n=>l(o).googleClientId=n),type:"text",maxlength:"200",placeholder:"Please input your Client ID"},null,512),[[w,l(o).googleClientId]])],64)):O("",!0)]),t("div",Ge,[m(re,{modelValue:l(o).submitJs,"onUpdate:modelValue":e[13]||(e[13]=n=>l(o).submitJs=n),desc:"The following code will be executed after a successful registration or login (including Facebook and Google)."},null,8,["modelValue"])])])]),t("div",qe,[e[30]||(e[30]=t("div",{class:"title"},"Preview",-1)),t("img",{class:"preview-image",src:l(a),alt:""},null,8,Fe),t("div",ze,x(l(o).title),1),t("div",he,x(l(o).description),1),t("div",We,x(l(o).buttonText),1),u(t("div",Je,"*",512),[[C,l(o).fullNameRequired]]),u(t("div",Ke,"*",512),[[C,l(o).phoneNumberRequired]]),t("div",Xe,[u(t("img",{src:l(ce),class:"lofty_iconfont",alt:"facebook"},null,8,je),[[C,l(o).facebookLogin]]),u(t("img",{src:l(fe),class:"lofty_iconfont",alt:"google"},null,8,Ye),[[C,l(o).googleLogin]])])]),m(K,{loading:l(y)},null,8,["loading"])])]),_:1}))}},Ze=_(Qe,[["__scopeId","data-v-c0adfb8c"]]),et={class:"lofty-check-group"},tt={class:"lofty-check-group-item"},lt=["onClick"],ot={__name:"group",props:ae({groups:{type:Array,default:()=>[]}},{modelValue:{default:[]},modelModifiers:{}}),emits:["update:modelValue"],setup(S){const a=W(S,"modelValue"),o=se(()=>a.value.length===S.groups.length);function p(){a.value=o.value?[]:S.groups.map(g=>g.value)}function y(g){a.value.includes(g)?a.value.splice(a.value.indexOf(g),1):a.value.push(g)}return(g,d)=>(v(),V("div",et,[t("div",tt,[m(z,{"model-value":l(o),onChange:p},null,8,["model-value"]),d[0]||(d[0]=t("span",null,"All",-1))]),(v(!0),V(U,null,ie(S.groups,r=>(v(),V("div",{class:"lofty-check-group-item",key:r.value,onClick:e=>y(r.value)},[m(z,{"model-value":a.value.includes(r.value)},null,8,["model-value"]),t("span",null,x(r.label),1)],8,lt))),128))]))}},nt=_(ot,[["__scopeId","data-v-9e4402b0"]]),at={class:"form-groups"},st={class:"form-group"},it={style:{"font-size":"13px"}},ut={style:{"margin-left":"30px","font-size":"13px"}},rt={style:{"margin-left":"30px","font-size":"13px"}},dt={class:"form-group"},pt={class:"form-group"},gt={style:{"font-size":"13px"}},mt={style:{"margin-left":"30px","font-size":"13px"}},ct={class:"form-group"},ft={class:"form-group"},vt={class:"form-group"},yt={style:{"font-size":"13px"}},bt={style:{"margin-left":"30px","font-size":"13px"}},Rt={__name:"index",setup(S){const a=M(ve()),o=P(!1),p=[{label:"Search",value:"search"},{label:"Featured Listings",value:"featured_listing"},{label:"Listing Detail",value:"listing_detail"},{label:"Sold Listings",value:"sold_listing"},{label:"Sold Listings Detail",value:"sold_listing_detail"}];d();async function y(){o.value=!0;const r={triggerRule:a},e=await L.post("/save-data/data/update",{data:r});o.value=!1,e.data?T("Saved Successfully"):T("Save failed. Please try again.",{duration:3e3,err:!0})}const g=P(!0);async function d(){const r=await L.get("/save-data/common-info");if(g.value=!1,r.data.commonData){const e=r.data.commonData.triggerRule||{};for(let n in e)a[n]=e[n]}}return(r,e)=>(v(),$(H,{title:"Pop-up Trigger Rule",description:"Set the Pop-up Trigger Rule for registration, which allows you to customize exactly when the forced registration pop-up will appear on your IDX website to capture lead information."},{button:R(()=>[t("button",{class:"btn-save",onClick:A(y,["prevent"])},x(l(o)?"Saving..":"Save"),1)]),default:R(()=>[t("div",at,[t("div",st,[e[13]||(e[13]=t("label",null,"TRIGGER REGISTRATION ON",-1)),t("div",null,[t("span",it,[u(t("input",{"onUpdate:modelValue":e[0]||(e[0]=n=>l(a).place=n),type:"radio",name:"place",value:"detail"},null,512),[[b,l(a).place]]),e[10]||(e[10]=f("Listing Detail Pages "))]),t("span",ut,[u(t("input",{"onUpdate:modelValue":e[1]||(e[1]=n=>l(a).place=n),type:"radio",name:"place",value:"page"},null,512),[[b,l(a).place]]),e[11]||(e[11]=f("Selected Pages "))]),t("span",rt,[u(t("input",{"onUpdate:modelValue":e[2]||(e[2]=n=>l(a).place=n),type:"radio",name:"place",value:"none"},null,512),[[b,l(a).place]]),e[12]||(e[12]=f("Never Trigger Registration Pop-up "))])])]),u(t("div",dt,[e[14]||(e[14]=t("label",null,"SELECT PAGES",-1)),m(nt,{modelValue:l(a).selectPages,"onUpdate:modelValue":e[3]||(e[3]=n=>l(a).selectPages=n),groups:p},null,8,["modelValue"])],512),[[C,l(a).place==="page"]]),l(a).place!=="none"?(v(),V(U,{key:0},[t("div",pt,[e[18]||(e[18]=t("label",null,"HOW TO TRIGGER",-1)),t("div",null,[t("span",gt,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=n=>l(a).type=n),type:"radio",name:"triggerType",value:"count"},null,512),[[b,l(a).type]]),f("Trigger Registration Pop-up based on "+x(l(a).place==="page"?"Page":"Listing")+" Views ",1)]),t("span",mt,[u(t("input",{"onUpdate:modelValue":e[5]||(e[5]=n=>l(a).type=n),type:"radio",name:"triggerType",value:"time"},null,512),[[b,l(a).type]]),e[15]||(e[15]=f("Trigger Registration Pop-up based on Browsing Time "))]),t("span",null,[m(h,null,{trigger:R(()=>e[16]||(e[16]=[t("span",{class:"lofty_iconfont lofty-icon-help"},null,-1)])),content:R(()=>e[17]||(e[17]=[t("span",{class:"help-tip"}," Refers to the time spent on each page ",-1)])),_:1})])])]),u(t("div",ct,[t("label",null,"POP UP AFTER (NUMBER OF "+x(l(a).place==="page"?"PAGE":"LISTING")+" VIEWS)",1),m(q,{modelValue:l(a).count,"onUpdate:modelValue":e[6]||(e[6]=n=>l(a).count=n),min:1},null,8,["modelValue"])],512),[[C,l(a).type==="count"]]),u(t("div",ft,[e[19]||(e[19]=t("label",null,"POP UP AFTER BROWSING FOR (SECONDS)",-1)),m(q,{modelValue:l(a).time,"onUpdate:modelValue":e[7]||(e[7]=n=>l(a).time=n),min:1},null,8,["modelValue"])],512),[[C,l(a).type==="time"]]),t("div",vt,[t("label",null,[e[22]||(e[22]=f("ALLOW FOR POP-UP TO BE CLOSED PRIOR TO REGISTRATION ")),m(h,null,{trigger:R(()=>e[20]||(e[20]=[t("span",{class:"lofty_iconfont lofty-icon-help"},null,-1)])),content:R(()=>e[21]||(e[21]=[t("span",{class:"help-tip"}," Is this allowed to close when pop-up is triggered according to the rule? ",-1)])),_:1})]),t("div",null,[t("span",yt,[u(t("input",{"onUpdate:modelValue":e[8]||(e[8]=n=>l(a).allowClose=n),type:"radio",name:"allowClose",value:!0},null,512),[[b,l(a).allowClose]]),e[23]||(e[23]=f("YES "))]),t("span",bt,[u(t("input",{"onUpdate:modelValue":e[9]||(e[9]=n=>l(a).allowClose=n),type:"radio",name:"allowClose",value:!1},null,512),[[b,l(a).allowClose]]),e[24]||(e[24]=f("NO "))])])])],64)):O("",!0),m(K,{loading:l(g)},null,8,["loading"])])]),_:1}))}},St=_(Rt,[["__scopeId","data-v-8684369e"]]),xt={Disclaimer:Ie,BasicSetting:Ze,TriggerRule:St},kt={class:"lofty-admin-container lofty-reset-style"},Tt={class:"main-content"},Vt={__name:"app",setup(S){let a=P("");function o(p){a.value=xt[p.component]}return(p,y)=>(v(),V("div",kt,[m(de,{menuSections:l(ye),onMenuItemClick:o},null,8,["menuSections"]),t("main",Tt,[(v(),$(ue(l(a))))])]))}},It=_(Vt,[["__scopeId","data-v-d1746e95"]]);J(It).mount("#app");J(ge).mount("#plugin-check");
  • lofty-idx/trunk/assets/admin-search.js

    r3348566 r3348893  
    1 import{_ as K,h as _,d as me}from"./_plugin-vue_export-helper.Cq0ParU2.js";/* empty css               */import{o as L,g as N,e,K as fe,L as ve,r as f,c as D,p as ye,F as W,f as q,t as A,u as d,q as Y,v as X,j as re,y as F,G as Z,k as M,U as te,d as G,w as k,z as B,m as p,P as ne,V as oe,a as ue,s as we,R as he,h as be,i as Ce,D as de}from"./vendor.DSMCY3-_.js";import{L as j,P as z,m as ie,J as _e,S as Te}from"./SubmitJs.hYiMmqPz.js";import{M as J,L as ge,a as se,S as Se,I as ae,b as Ve,c as Le}from"./styleConfig.B4ddtN7e.js";import{s as $,P as ke}from"./PluginUpdate.DR7KK_19.js";import{u as $e}from"./useCopy.CluLpl8Z.js";import{T as le}from"./tooltip.DzDTXEs_.js";import{p as Pe}from"./standard.KmwEGgBs.js";import{_ as Ee}from"./index.BdhGsZUN.js";import{u as Re}from"./useConfirm.DbQjtEKi.js";import{s as Ue}from"./loading.BdqyMKJZ.js";import"./number-format.CLdvQh6j.js";import"./index.5F2_f90D.js";import"./outsideclick.Bw_hMuzW.js";import"./index.CHk1aTGT.js";import"./date-format.BrUodQAJ.js";import"./index.B-PeUk0y.js";import"./index.3MfMsqfZ.js";import"./multiSelect.8RiC7gKS.js";import"./checkBox.BRkOvSmc.js";import"./index.DnZD_ROs.js";import"./index.DtjRETok.js";import"./service.Bpmx5vDe.js";import"./index.DAwEVGKX.js";import"./house-format.B6FoJSlV.js";import"./user.BcbXWidr.js";const xe={},He={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Me(P,a){return L(),N("svg",He,a[0]||(a[0]=[e("path",{d:"M3.99961 13C4.67043 13.3354 4.6703 13.3357 4.67017 13.3359L4.67298 13.3305C4.67621 13.3242 4.68184 13.3135 4.68988 13.2985C4.70595 13.2686 4.7316 13.2218 4.76695 13.1608C4.8377 13.0385 4.94692 12.8592 5.09541 12.6419C5.39312 12.2062 5.84436 11.624 6.45435 11.0431C7.67308 9.88241 9.49719 8.75 11.9996 8.75C14.502 8.75 16.3261 9.88241 17.5449 11.0431C18.1549 11.624 18.6061 12.2062 18.9038 12.6419C19.0523 12.8592 19.1615 13.0385 19.2323 13.1608C19.2676 13.2218 19.2933 13.2686 19.3093 13.2985C19.3174 13.3135 19.323 13.3242 19.3262 13.3305L19.3291 13.3359C19.3289 13.3357 19.3288 13.3354 19.9996 13C20.6704 12.6646 20.6703 12.6643 20.6701 12.664L20.6688 12.6614L20.6662 12.6563L20.6583 12.6408C20.6517 12.6282 20.6427 12.6108 20.631 12.5892C20.6078 12.5459 20.5744 12.4852 20.5306 12.4096C20.4432 12.2584 20.3141 12.0471 20.1423 11.7956C19.7994 11.2938 19.2819 10.626 18.5794 9.9569C17.1731 8.61759 14.9972 7.25 11.9996 7.25C9.00203 7.25 6.82614 8.61759 5.41987 9.9569C4.71736 10.626 4.19984 11.2938 3.85694 11.7956C3.68511 12.0471 3.55605 12.2584 3.4686 12.4096C3.42484 12.4852 3.39142 12.5459 3.36818 12.5892C3.35656 12.6108 3.34748 12.6282 3.34092 12.6408L3.33297 12.6563L3.33041 12.6614L3.32948 12.6632C3.32931 12.6635 3.32879 12.6646 3.99961 13ZM11.9996 16C13.9326 16 15.4996 14.433 15.4996 12.5C15.4996 10.567 13.9326 9 11.9996 9C10.0666 9 8.49961 10.567 8.49961 12.5C8.49961 14.433 10.0666 16 11.9996 16Z",fill:"#757575"},null,-1)]))}const Ie=K(xe,[["render",Me]]),De=[{title:"Listings",visible:!0,items:[{title:"Search",path:"search-page",component:"SearchPage",visible:!0},{title:"Featured Listings",path:"featured-listings",component:"FeaturedListings",visible:!0},{title:"Listing Detail",path:"listing-detail",component:"ListingDetail",visible:!0},{title:"Sold Listings",path:"sold-listings",component:"SoldListings",visible:!0},{title:"Sold Listing Detail",path:"sold-listing-detail",component:"SoldListingDetail",visible:!0}]},{title:"Marketing",visible:!0,items:[{title:"Market Report Collection",path:"market-report-collection",component:"MarketReport",visible:!0}]},{title:"Lead Capture",visible:!0,items:[{title:"Lead Center",path:"lead-center",component:"LeadCenter",visible:!0}]}],Ne={key:0},Ae={class:"domain"},Fe=["readonly"],Oe={class:"action-btns"},Q={__name:"PageUrl",props:fe({initialVal:String,canEdit:{type:Boolean,default:!0},pageConfig:{type:Object,default:()=>({})}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(P,{expose:a}){const i=ve(P,"modelValue"),t=f(!0),w=D(()=>{var v;return(v=P.pageConfig.domain)!=null&&v.startsWith("http")?P.pageConfig.domain:["localhost","127.0.0.1"].includes(location.hostname)?location.origin:"https://"+P.pageConfig.domain});ye(()=>P.initialVal,v=>{i.value=v});const V=()=>{t.value=!0,i.value=P.initialVal},E=()=>{t.value=!0},y=()=>{window.open(`${w.value}/${i.value}`,"_blank")},{copyCode:g}=$e(),b=()=>{g(`${w.value}/${i.value}`)};return a({cancel:V,confirm:E}),(v,T)=>(L(),N("div",{class:F(["page-url",{readOnly:t.value}])},[P.initialVal?(L(),N(W,{key:1},[e("span",Ae,[q(A(d(w))+" ",1),T[2]||(T[2]=e("span",{class:"separator"},"/",-1))]),Y(e("input",{type:"text","onUpdate:modelValue":T[0]||(T[0]=H=>i.value=H),readonly:t.value,class:"suffix"},null,8,Fe),[[X,i.value]]),e("div",Oe,[t.value?(L(),N(W,{key:0},[P.canEdit?(L(),N("i",{key:0,class:"lofty_iconfont lofty-icon-edit font-16",onClick:T[1]||(T[1]=H=>t.value=!1)})):re("",!0),e("i",{class:"lofty_iconfont lofty-icon-website font-16",onClick:y})],64)):(L(),N(W,{key:1},[e("span",{class:"btn",onClick:V},T[3]||(T[3]=[e("i",{class:"lofty_iconfont lofty-icon-cancel_bold"},null,-1)])),e("span",{class:"btn",onClick:E},T[4]||(T[4]=[e("i",{class:"lofty_iconfont lofty-icon-checked_bold"},null,-1)]))],64)),e("i",{class:"lofty_iconfont lofty-icon-copy_02",onClick:b})])],64)):(L(),N("div",Ne,"Loading page url.."))],2))}},Ke={class:"form-groups"},Ge={class:"form-group"},Be=["readonly"],je={class:"form-group"},ze={class:"form-group"},Je={__name:"index",setup(P){const a=f([]);Z("allConditions",a);const i=f({}),t=f(""),w=M("page-url"),V=M("listingRef");async function E(){var n,o;const s="/wp-plugin/admin/listing-search/searchCondition/init-info";try{const c=await _.get(s);if(((n=c==null?void 0:c.status)==null?void 0:n.code)!==0)throw new Error(`HTTP error! status: ${(o=c==null?void 0:c.status)==null?void 0:o.msg}`);const l=c.data,{allListingId:u,pluginPage:m={},allListingValues:h=[],sort:S}=l,x={pageName:"Property Search",uri:"listing",layout:"map-grid",metaTagHtml:""};i.value=ie({...m,id:u,sort:S},x,{overrideEmpty:!0}),t.value=i.value.uri,a.value=h.map(U=>{var O;const I=Object.keys(U.data);return"orderKeys"in U?((O=U.orderKeys)==null?void 0:O.length)!==I.length?{...U,orderKeys:I}:U:{...U,orderKeys:I}})}catch(c){console.error("Error fetching initial page info:",c)}}const y=f(!1);te(async()=>{y.value=!0;try{await E()}catch(s){$("Error fetching page info:"+s.message,{err:!0})}finally{y.value=!1}});const g=f(!1),b=D(()=>{var s,n,o;return!((s=i.value)!=null&&s.id)||!((n=i.value)!=null&&n.pageName)||g.value||!((o=i.value)!=null&&o.uri)}),v=D(()=>y.value||g.value),T=M("metaTags");async function H(){var u,m;const{pageName:s,layout:n,metaTagHtml:o,uri:c}=i.value,l=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"search",pageName:s,metaTag:T.value.getValueString(),metaTagHtml:o,layout:n,uri:c}});if(((u=l==null?void 0:l.status)==null?void 0:u.code)!==0)throw new Error((m=l==null?void 0:l.status)==null?void 0:m.msg);l.data&&(i.value={...i.value,pageName:s,metaTagHtml:o,layout:n,uri:c},t.value=c)}async function R(){var c,l;const s=a.value.map(u=>{const m=ne(u);let{data:h={},orderKeys:S=[]}=m;const x=Object.keys(h);return S=S.filter(U=>x.includes(U)),{data:h,onlyId:oe(),orderKeys:S}}).filter(Boolean),n={id:i.value.id,name:"All Listings",sort:V.value.sortCondition,listingType:1,values:s},o=await _.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:n});if(((c=o==null?void 0:o.status)==null?void 0:c.code)!==0)throw new Error((l=o==null?void 0:o.status)==null?void 0:l.msg)}async function C(){await _.get("/update-routes")}async function r(){if(!b.value){w.value.confirm();try{g.value=!0,await Promise.all([H(),R()]),await C(),$("Saved Successfully")}catch(s){console.error("Error save page:",s),$("Error save page:"+s.message,{err:!0})}finally{g.value=!1}}}return(s,n)=>(L(),G(z,{title:"Search Page",description:"Configure and optimize a powerful real estate search page, delivering an enhanced user experience and driving lead generation through seamless property discovery."},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(b)}]),onClick:B(r,["prevent"])},A(g.value?"Saving..":"Save"),3)]),default:k(()=>[e("div",Ke,[e("div",Ge,[n[4]||(n[4]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":n[0]||(n[0]=o=>i.value.pageName=o),class:"page-name",maxlength:"100",readonly:d(v)},null,8,Be),[[X,i.value.pageName]])]),e("div",je,[n[5]||(n[5]=e("label",null,"PAGE URL",-1)),p(Q,{modelValue:i.value.uri,"onUpdate:modelValue":n[1]||(n[1]=o=>i.value.uri=o),"page-config":i.value,"initial-val":t.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(J,{class:"form-group",ref:"metaTags",modelValue:i.value.metaTagHtml,"onUpdate:modelValue":n[2]||(n[2]=o=>i.value.metaTagHtml=o),readonly:d(v)},null,8,["modelValue","readonly"]),e("div",ze,[n[6]||(n[6]=e("label",null,"LAYOUT",-1)),p(ge,{modelValue:i.value.layout,"onUpdate:modelValue":n[3]||(n[3]=o=>i.value.layout=o)},null,8,["modelValue"])])]),p(se,{"site-config":i.value,ref:"listingRef"},null,8,["site-config"]),p(j,{loading:y.value},null,8,["loading"])]),_:1}))}},qe=K(Je,[["__scopeId","data-v-96cbb891"]]),Ye={class:"form-groups"},Xe={class:"form-group"},We=["value"],Ze={__name:"index",setup(P){const a=ue({domain:"",uri:"",metaTagHtml:""}),i=f(!1),t=f(!1),w=D(()=>i.value||t.value),V=D(()=>`https://${a.domain}/${a.uri}`);E();async function E(){t.value=!0;const v=(await _.get("/wp-plugin/admin/listing-detail/active-init-info")).data.pluginPage;a.domain=v.domain,a.metaTagHtml=v.metaTagHtml||"",a.uri=v.uri,t.value=!1}const y=M("metaTags");async function g(){if(!w.value)try{i.value=!0,await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"listing_detail",metaTag:y.value.getValueString(),metaTagHtml:a.metaTagHtml}}),$("Saved Successfully")}catch(b){console.error("Error save page:",b),$("Error save page:"+b.message,{err:!0})}finally{i.value=!1}}return(b,v)=>(L(),G(z,{title:"Listing Detail",description:`The Listing Detail page is included by default and does not require configuration of the page content. To preview the page, you can click on any listing
     1import{_ as K,h as _,d as me}from"./_plugin-vue_export-helper.xU-N2hzF.js";/* empty css               */import{o as L,g as N,e,K as fe,L as ve,r as f,c as D,p as ye,F as W,f as q,t as A,u as d,q as Y,v as X,j as re,y as F,G as Z,k as M,U as te,d as G,w as k,z as B,m as p,P as ne,V as oe,a as ue,s as we,R as he,h as be,i as Ce,D as de}from"./vendor.DSMCY3-_.js";import{L as j,P as z,m as ie,J as _e,S as Te}from"./SubmitJs.BGSXz3XB.js";import{M as J,L as ge,a as se,S as Se,I as ae,b as Ve,c as Le}from"./styleConfig.C14bcjUo.js";import{s as $,P as ke}from"./PluginUpdate.BNhRciDp.js";import{u as $e}from"./useCopy.CluLpl8Z.js";import{T as le}from"./tooltip.w0glU4UR.js";import{p as Pe}from"./standard.Dwc2F-8i.js";import{_ as Ee}from"./index.BdhGsZUN.js";import{u as Re}from"./useConfirm.BD1rw4lC.js";import{s as Ue}from"./loading.BdqyMKJZ.js";import"./number-format.CLdvQh6j.js";import"./index.D8FXyAh2.js";import"./outsideclick.Bw_hMuzW.js";import"./index.erNjz9Pp.js";import"./date-format.BrUodQAJ.js";import"./index.Cx6n2H90.js";import"./index.zyk5jnxc.js";import"./multiSelect.B5wbuXDm.js";import"./checkBox.97tfRJKL.js";import"./index.Bi752R10.js";import"./index.B8LFivOP.js";import"./service.B6OFWnjc.js";import"./index.DAwEVGKX.js";import"./house-format.4tigxTMo.js";import"./user.DqlV81fM.js";const xe={},He={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Me(P,a){return L(),N("svg",He,a[0]||(a[0]=[e("path",{d:"M3.99961 13C4.67043 13.3354 4.6703 13.3357 4.67017 13.3359L4.67298 13.3305C4.67621 13.3242 4.68184 13.3135 4.68988 13.2985C4.70595 13.2686 4.7316 13.2218 4.76695 13.1608C4.8377 13.0385 4.94692 12.8592 5.09541 12.6419C5.39312 12.2062 5.84436 11.624 6.45435 11.0431C7.67308 9.88241 9.49719 8.75 11.9996 8.75C14.502 8.75 16.3261 9.88241 17.5449 11.0431C18.1549 11.624 18.6061 12.2062 18.9038 12.6419C19.0523 12.8592 19.1615 13.0385 19.2323 13.1608C19.2676 13.2218 19.2933 13.2686 19.3093 13.2985C19.3174 13.3135 19.323 13.3242 19.3262 13.3305L19.3291 13.3359C19.3289 13.3357 19.3288 13.3354 19.9996 13C20.6704 12.6646 20.6703 12.6643 20.6701 12.664L20.6688 12.6614L20.6662 12.6563L20.6583 12.6408C20.6517 12.6282 20.6427 12.6108 20.631 12.5892C20.6078 12.5459 20.5744 12.4852 20.5306 12.4096C20.4432 12.2584 20.3141 12.0471 20.1423 11.7956C19.7994 11.2938 19.2819 10.626 18.5794 9.9569C17.1731 8.61759 14.9972 7.25 11.9996 7.25C9.00203 7.25 6.82614 8.61759 5.41987 9.9569C4.71736 10.626 4.19984 11.2938 3.85694 11.7956C3.68511 12.0471 3.55605 12.2584 3.4686 12.4096C3.42484 12.4852 3.39142 12.5459 3.36818 12.5892C3.35656 12.6108 3.34748 12.6282 3.34092 12.6408L3.33297 12.6563L3.33041 12.6614L3.32948 12.6632C3.32931 12.6635 3.32879 12.6646 3.99961 13ZM11.9996 16C13.9326 16 15.4996 14.433 15.4996 12.5C15.4996 10.567 13.9326 9 11.9996 9C10.0666 9 8.49961 10.567 8.49961 12.5C8.49961 14.433 10.0666 16 11.9996 16Z",fill:"#757575"},null,-1)]))}const Ie=K(xe,[["render",Me]]),De=[{title:"Listings",visible:!0,items:[{title:"Search",path:"search-page",component:"SearchPage",visible:!0},{title:"Featured Listings",path:"featured-listings",component:"FeaturedListings",visible:!0},{title:"Listing Detail",path:"listing-detail",component:"ListingDetail",visible:!0},{title:"Sold Listings",path:"sold-listings",component:"SoldListings",visible:!0},{title:"Sold Listing Detail",path:"sold-listing-detail",component:"SoldListingDetail",visible:!0}]},{title:"Marketing",visible:!0,items:[{title:"Market Report Collection",path:"market-report-collection",component:"MarketReport",visible:!0}]},{title:"Lead Capture",visible:!0,items:[{title:"Lead Center",path:"lead-center",component:"LeadCenter",visible:!0}]}],Ne={key:0},Ae={class:"domain"},Fe=["readonly"],Oe={class:"action-btns"},Q={__name:"PageUrl",props:fe({initialVal:String,canEdit:{type:Boolean,default:!0},pageConfig:{type:Object,default:()=>({})}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(P,{expose:a}){const i=ve(P,"modelValue"),t=f(!0),w=D(()=>{var v;return(v=P.pageConfig.domain)!=null&&v.startsWith("http")?P.pageConfig.domain:["localhost","127.0.0.1"].includes(location.hostname)?location.origin:"https://"+P.pageConfig.domain});ye(()=>P.initialVal,v=>{i.value=v});const V=()=>{t.value=!0,i.value=P.initialVal},E=()=>{t.value=!0},y=()=>{window.open(`${w.value}/${i.value}`,"_blank")},{copyCode:g}=$e(),b=()=>{g(`${w.value}/${i.value}`)};return a({cancel:V,confirm:E}),(v,T)=>(L(),N("div",{class:F(["page-url",{readOnly:t.value}])},[P.initialVal?(L(),N(W,{key:1},[e("span",Ae,[q(A(d(w))+" ",1),T[2]||(T[2]=e("span",{class:"separator"},"/",-1))]),Y(e("input",{type:"text","onUpdate:modelValue":T[0]||(T[0]=H=>i.value=H),readonly:t.value,class:"suffix"},null,8,Fe),[[X,i.value]]),e("div",Oe,[t.value?(L(),N(W,{key:0},[P.canEdit?(L(),N("i",{key:0,class:"lofty_iconfont lofty-icon-edit font-16",onClick:T[1]||(T[1]=H=>t.value=!1)})):re("",!0),e("i",{class:"lofty_iconfont lofty-icon-website font-16",onClick:y})],64)):(L(),N(W,{key:1},[e("span",{class:"btn",onClick:V},T[3]||(T[3]=[e("i",{class:"lofty_iconfont lofty-icon-cancel_bold"},null,-1)])),e("span",{class:"btn",onClick:E},T[4]||(T[4]=[e("i",{class:"lofty_iconfont lofty-icon-checked_bold"},null,-1)]))],64)),e("i",{class:"lofty_iconfont lofty-icon-copy_02",onClick:b})])],64)):(L(),N("div",Ne,"Loading page url.."))],2))}},Ke={class:"form-groups"},Ge={class:"form-group"},Be=["readonly"],je={class:"form-group"},ze={class:"form-group"},Je={__name:"index",setup(P){const a=f([]);Z("allConditions",a);const i=f({}),t=f(""),w=M("page-url"),V=M("listingRef");async function E(){var n,o;const s="/wp-plugin/admin/listing-search/searchCondition/init-info";try{const c=await _.get(s);if(((n=c==null?void 0:c.status)==null?void 0:n.code)!==0)throw new Error(`HTTP error! status: ${(o=c==null?void 0:c.status)==null?void 0:o.msg}`);const l=c.data,{allListingId:u,pluginPage:m={},allListingValues:h=[],sort:S}=l,x={pageName:"Property Search",uri:"listing",layout:"map-grid",metaTagHtml:""};i.value=ie({...m,id:u,sort:S},x,{overrideEmpty:!0}),t.value=i.value.uri,a.value=h.map(U=>{var O;const I=Object.keys(U.data);return"orderKeys"in U?((O=U.orderKeys)==null?void 0:O.length)!==I.length?{...U,orderKeys:I}:U:{...U,orderKeys:I}})}catch(c){console.error("Error fetching initial page info:",c)}}const y=f(!1);te(async()=>{y.value=!0;try{await E()}catch(s){$("Error fetching page info:"+s.message,{err:!0})}finally{y.value=!1}});const g=f(!1),b=D(()=>{var s,n,o;return!((s=i.value)!=null&&s.id)||!((n=i.value)!=null&&n.pageName)||g.value||!((o=i.value)!=null&&o.uri)}),v=D(()=>y.value||g.value),T=M("metaTags");async function H(){var u,m;const{pageName:s,layout:n,metaTagHtml:o,uri:c}=i.value,l=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"search",pageName:s,metaTag:T.value.getValueString(),metaTagHtml:o,layout:n,uri:c}});if(((u=l==null?void 0:l.status)==null?void 0:u.code)!==0)throw new Error((m=l==null?void 0:l.status)==null?void 0:m.msg);l.data&&(i.value={...i.value,pageName:s,metaTagHtml:o,layout:n,uri:c},t.value=c)}async function R(){var c,l;const s=a.value.map(u=>{const m=ne(u);let{data:h={},orderKeys:S=[]}=m;const x=Object.keys(h);return S=S.filter(U=>x.includes(U)),{data:h,onlyId:oe(),orderKeys:S}}).filter(Boolean),n={id:i.value.id,name:"All Listings",sort:V.value.sortCondition,listingType:1,values:s},o=await _.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:n});if(((c=o==null?void 0:o.status)==null?void 0:c.code)!==0)throw new Error((l=o==null?void 0:o.status)==null?void 0:l.msg)}async function C(){await _.get("/update-routes")}async function r(){if(!b.value){w.value.confirm();try{g.value=!0,await Promise.all([H(),R()]),await C(),$("Saved Successfully")}catch(s){console.error("Error save page:",s),$("Error save page:"+s.message,{err:!0})}finally{g.value=!1}}}return(s,n)=>(L(),G(z,{title:"Search Page",description:"Configure and optimize a powerful real estate search page, delivering an enhanced user experience and driving lead generation through seamless property discovery."},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(b)}]),onClick:B(r,["prevent"])},A(g.value?"Saving..":"Save"),3)]),default:k(()=>[e("div",Ke,[e("div",Ge,[n[4]||(n[4]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":n[0]||(n[0]=o=>i.value.pageName=o),class:"page-name",maxlength:"100",readonly:d(v)},null,8,Be),[[X,i.value.pageName]])]),e("div",je,[n[5]||(n[5]=e("label",null,"PAGE URL",-1)),p(Q,{modelValue:i.value.uri,"onUpdate:modelValue":n[1]||(n[1]=o=>i.value.uri=o),"page-config":i.value,"initial-val":t.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(J,{class:"form-group",ref:"metaTags",modelValue:i.value.metaTagHtml,"onUpdate:modelValue":n[2]||(n[2]=o=>i.value.metaTagHtml=o),readonly:d(v)},null,8,["modelValue","readonly"]),e("div",ze,[n[6]||(n[6]=e("label",null,"LAYOUT",-1)),p(ge,{modelValue:i.value.layout,"onUpdate:modelValue":n[3]||(n[3]=o=>i.value.layout=o)},null,8,["modelValue"])])]),p(se,{"site-config":i.value,ref:"listingRef"},null,8,["site-config"]),p(j,{loading:y.value},null,8,["loading"])]),_:1}))}},qe=K(Je,[["__scopeId","data-v-96cbb891"]]),Ye={class:"form-groups"},Xe={class:"form-group"},We=["value"],Ze={__name:"index",setup(P){const a=ue({domain:"",uri:"",metaTagHtml:""}),i=f(!1),t=f(!1),w=D(()=>i.value||t.value),V=D(()=>`https://${a.domain}/${a.uri}`);E();async function E(){t.value=!0;const v=(await _.get("/wp-plugin/admin/listing-detail/active-init-info")).data.pluginPage;a.domain=v.domain,a.metaTagHtml=v.metaTagHtml||"",a.uri=v.uri,t.value=!1}const y=M("metaTags");async function g(){if(!w.value)try{i.value=!0,await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"listing_detail",metaTag:y.value.getValueString(),metaTagHtml:a.metaTagHtml}}),$("Saved Successfully")}catch(b){console.error("Error save page:",b),$("Error save page:"+b.message,{err:!0})}finally{i.value=!1}}return(b,v)=>(L(),G(z,{title:"Listing Detail",description:`The Listing Detail page is included by default and does not require configuration of the page content. To preview the page, you can click on any listing
    22        and view it through the Search Page or other IDX pages. However, you can set the Meta tags below to optimize SEO.`},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(w)}]),onClick:B(g,["prevent"])},A(d(i)?"Saving..":"Save"),3)]),default:k(()=>[e("div",Ye,[e("div",Xe,[v[1]||(v[1]=e("label",null,"PAGE URL",-1)),e("input",{type:"text",value:d(V),readonly:"",class:"suffix"},null,8,We)]),p(J,{class:"form-group",ref:"metaTags",type:"listingDetail",modelValue:d(a).metaTagHtml,"onUpdate:modelValue":v[0]||(v[0]=T=>d(a).metaTagHtml=T)},null,8,["modelValue"]),p(j,{loading:d(t)},null,8,["loading"])])]),_:1}))}},Qe=K(Ze,[["__scopeId","data-v-322f86e5"]]),et={class:"form-groups"},tt={class:"form-group"},at=["readonly"],lt={class:"form-group"},nt={__name:"index",setup(P){const a=f([]);Z("allConditions",a);const i=f({}),t=f({}),w=f(""),V=M("page-url");async function E(){var u,m;const l="/wp-plugin/admin/featured-listing/init-info";try{const h=await _.get(l);if(((u=h==null?void 0:h.status)==null?void 0:u.code)!==0)throw new Error(`HTTP error! status: ${(m=h==null?void 0:h.status)==null?void 0:m.msg}`);const S=h.data,{featureListingId:x,featureListingName:U,pluginPage:I={},pageConfigMap:O={},featuredListingValue:ee=[],sort:ce}=S;i.value=S;const pe={pageName:"Featured Listings Page",uri:"feature-listing",layout:"map-grid",metaTagHtml:""};t.value=ie({...I,id:x,name:U,styleConfig:O,sort:ce},pe,{overrideEmpty:!0}),w.value=t.value.uri,a.value=ee}catch(h){console.error("Error fetching initial page info:",h)}}const y=f(!1);te(async()=>{y.value=!0;try{await E()}catch(l){console.error("Error fetching page info:",l.message),$("Error fetching page info:"+l.message,{err:!0})}finally{y.value=!1}});const g=f(!1),b=D(()=>{var l,u,m;return!((l=t.value)!=null&&l.id)||!((u=t.value)!=null&&u.pageName)||g.value||!((m=t.value)!=null&&m.uri)}),v=D(()=>y.value||g.value),T=M("metaTags"),H=M("listingRef");async function R(){var x,U;const{pageName:l,metaTagHtml:u,layout:m,uri:h}=t.value,S=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"featured_listing",pageName:l,metaTag:T.value.getValueString(),metaTagHtml:u,layout:m,uri:h}});if(((x=S==null?void 0:S.status)==null?void 0:x.code)!==0)throw new Error((U=S==null?void 0:S.status)==null?void 0:U.msg);S.data&&(t.value={...t.value,pageName:l,metaTagHtml:u,layout:m,uri:h},w.value=h)}async function C(){var h,S;const l=a.value.map(x=>({data:ne(x).data||{},onlyId:oe()})).filter(Boolean),u={id:t.value.id,name:t.value.name,sort:H.value.sortCondition,listingType:1,values:l},m=await _.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:u});if(((h=m==null?void 0:m.status)==null?void 0:h.code)!==0)throw new Error((S=m==null?void 0:m.status)==null?void 0:S.msg)}let r=f({});function s(l){r.value=l}async function n(){var u,m,h;const l=await _.post("/wp-plugin/admin/common/page/page-config/update/FEATURED_LISTING",{data:{...r.value}});if(((u=l==null?void 0:l.status)==null?void 0:u.code)!==0)throw new Error((m=l==null?void 0:l.status)==null?void 0:m.msg);l.data&&(t.value.styleConfig=((h=l.data)==null?void 0:h.pageConfigMap)||{})}async function o(){await _.get("/update-routes")}async function c(){if(!b.value){V.value.confirm();try{g.value=!0;let l=[R(),C()];Object.keys(r.value).length>0&&l.push(n()),await Promise.all(l),await o(),$("Saved Successfully")}catch(l){console.error("Error save page:",l),$("Save failed. Please try again.",{duration:3e3,err:!0})}finally{g.value=!1}}}return(l,u)=>(L(),G(z,{title:"Featured Listings",description:`Create and display a curated selection of featured properties on IDX
    33              pages, enhancing property visibility and driving engagement to boost
  • lofty-idx/trunk/assets/admin-shortcodes.js

    r3348566 r3348893  
    1 import{h as F,_ as L}from"./_plugin-vue_export-helper.Cq0ParU2.js";/* empty css               */import{r as v,G as M,k as w,o as c,d as U,w as k,u as o,g as h,z as N,e,m as C,s as R,t as S,l as ce,p as ie,W as me,F as ee,h as te,q as b,x as V,Q as ae,j as B,f as I,y as G,P as se,L as re,c as ge,a as fe,v as $,X as E,i as ve,D as ue}from"./vendor.DSMCY3-_.js";import{P as D,f as ye,J as _e,L as he,S as Ce}from"./SubmitJs.hYiMmqPz.js";import{M as H,L as de,a as W,d as be,S as Se,c as ke}from"./styleConfig.B4ddtN7e.js";import{u as O}from"./useCopy.CluLpl8Z.js";import{f as le}from"./date-format.BrUodQAJ.js";import{M as Ve}from"./multiSelect.8RiC7gKS.js";import{s as A,P as we}from"./PluginUpdate.DR7KK_19.js";import{_ as ne}from"./index.DAwEVGKX.js";import{_ as xe}from"./index.jjVwSEkV.js";import{u as Te}from"./user.BcbXWidr.js";import{_ as Ue}from"./index.BIsjoQ8l.js";import{p as Le}from"./standard.KmwEGgBs.js";import{I as $e}from"./IconCopy.DgrShxpL.js";import"./number-format.CLdvQh6j.js";import"./index.5F2_f90D.js";import"./outsideclick.Bw_hMuzW.js";import"./index.CHk1aTGT.js";import"./index.B-PeUk0y.js";import"./index.3MfMsqfZ.js";import"./index.DnZD_ROs.js";import"./index.DtjRETok.js";import"./service.Bpmx5vDe.js";import"./house-format.B6FoJSlV.js";import"./checkBox.BRkOvSmc.js";import"./tooltip.DzDTXEs_.js";const Re=[{title:"ShortCode",visible:!0,items:[{title:"ShortCode Log",path:"shortcode-log",component:"ShortCodeLog",visible:!0}]},{title:"Listings",visible:!0,items:[{title:"Search",path:"search-page",component:"SearchPage",visible:!0},{title:"Quick Search",path:"quick-search",component:"QuickSearch",visible:!0},{title:"Featured Listings",path:"featured-listings",component:"FeaturedListings",visible:!0},{title:"Sold Listings",path:"sold-listings",component:"SoldListings",visible:!0}]},{title:"Marketing",visible:!0,items:[{title:"Market Report",path:"market-report",component:"MarketReport",visible:!0}]},{title:"Lead Capture",visible:!0,items:[{title:"Home Valuation",path:"home-valuation",component:"HomeValuation",visible:!0}]}];function Ie(m=","){const l=m.split(",");return l[0]&&(l[0]=le("yyyy/MM/dd",+l[0])),l[1]&&(l[1]=le("yyyy/MM/dd",+l[1])),l.join(",")}const q={Search:"Search",QuickSearch:"QuickSearch",FeaturedListings:"FeaturedListings",SoldListings:"SoldListings",MarketReport:"MarketReport",HomeValuation:"HomeValuation"},pe=[{label:"Search",value:"Search"},{label:"Quick Search",value:"QuickSearch"},{label:"Featured Listings",value:"FeaturedListings"},{label:"Sold Listings",value:"SoldListings"},{label:"Market Report",value:"MarketReport"},{label:"Home Valuation",value:"HomeValuation"}],Me=pe.reduce((m,l)=>(m[l.value]=l.label,m),{});function j(m,l){const n=[];return m.forEach(d=>{const a={};for(let f in d.data)l.includes(f)?a[`date_${f}`]=Ie(d.data[f]):a[f]=d.data[f];n.push(a)}),n}function Y(m,l){F.post("/admin/shortCodeLog/save",{data:{type:m,content:l}})}const Fe={key:0},Ne={class:"form-groups"},De={class:"form-group mt20"},Oe={__name:"index",setup(m){const{copyCode:l,copied:n}=O(),d=v("map-grid"),a=v([]);M("allConditions",a);const f=v(""),t=w("metaTags"),s=w("listingRef");let y=[];function _(){const p={layout:d.value,meta:t.value.getValueString(),conditions:j(a.value,y),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:s.value.sortCondition},r=`[lofty_idx_listing_page][[${JSON.stringify(p,null,2)}]][/lofty_idx_listing_page]`;l(r),Y(q.Search,r)}return(p,r)=>(c(),U(D,{title:"Search",description:"Generate and configure the shortcode of search page, then create a new WordPress page and insert the shortcode into it."},{button:k(()=>[o(n)?(c(),h("span",Fe,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(_,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",Ne,[C(H,{class:"listing-groups",ref:"metaTags",modelValue:f.value,"onUpdate:modelValue":r[0]||(r[0]=i=>f.value=i),isShortCode:""},null,8,["modelValue"]),e("div",De,[r[3]||(r[3]=e("label",null,"LAYOUT",-1)),C(de,{modelValue:d.value,"onUpdate:modelValue":r[1]||(r[1]=i=>d.value=i)},null,8,["modelValue"])]),C(W,{class:"search-page-filter",onReady:r[2]||(r[2]=i=>R(y)?y.value=i:y=i),ref:"listingRef"},null,512)])]),_:1}))}},Pe=L(Oe,[["__scopeId","data-v-5cca0e8e"]]),Ee={key:0},Ae={class:"form-groups"},He={class:"form-group mt20"},qe={class:"form-group"},Ye={style:{width:"100%"}},ze={__name:"index",setup(m){const{copyCode:l,copied:n}=O(),d=v([]),a=v("universal"),f=v([]);M("allConditions",d);const t=v(""),s=w("metaTags"),y=w("listingRef");async function _(i){if(i.value.length>0)return;const u=await F.get("/wp-plugin/admin/listing-search/quickSearch/conditions");i.value=u.data}let p=[];function r(){const i={layout:a.value,quick_listing_filters:f.value.join(","),meta:s.value.getValueString(),conditions:j(d.value,p),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:y.value.sortCondition},u=`[lofty_idx_quick_search][[${JSON.stringify(i,null,2)}]][/lofty_idx_quick_search]`;l(u),Y(q.QuickSearch,u)}return(i,u)=>(c(),U(D,{title:"Quick Search",description:"Integrate a streamlined and user-friendly search interface directly into your WordPress page, providing a clean, intuitive experience that allows users to easily find what they're looking for."},{button:k(()=>[o(n)?(c(),h("span",Ee,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(r,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",Ae,[C(H,{class:"listing-groups",ref:"metaTags",modelValue:t.value,"onUpdate:modelValue":u[0]||(u[0]=g=>t.value=g),isShortCode:""},null,8,["modelValue"]),e("div",He,[u[4]||(u[4]=e("label",null,"LAYOUT",-1)),C(be,{options:[{label:"Universal",value:"universal"},{label:"Two-line layout",value:"two-line"}],"initial-condition":[a.value],"onUpdate:condition":u[1]||(u[1]=g=>a.value=g[0])},null,8,["initial-condition"])]),e("div",qe,[e("label",Ye,S("Show Listing Filter".toUpperCase()),1),C(Ve,{"initial-condition":f.value,"onUpdate:condition":u[2]||(u[2]=g=>f.value=g),"get-option-func":_,"any-label":"None"},null,8,["initial-condition"])]),C(W,{onReady:u[3]||(u[3]=g=>R(p)?p.value=g:p=g),class:"search-page-filter",ref:"listingRef"},null,512)])]),_:1}))}},Be=L(ze,[["__scopeId","data-v-5c22ec94"]]),Ge={featuredListingStyle:"grid",grid:{buttonText:"More",default:4,min:1,max:6,showButton:!0},slider:{duration:5,buttonText:"More",default:3,min:1,max:50,showButton:!0,autoPlay:!0,speed:1e3,layout:"full"},gallery:{buttonText:"More",default:3,min:1,max:8,showButton:!0,title:""}},We={key:0},je={class:"form-groups"},Je={__name:"index",setup(m){const l=v([]);M("allConditions",l);const n=v(""),d=w("metaTags"),{copied:a,copyCode:f}=O(),t=w("styleConfig"),s=w("listingRef"),y=v({});function _(i){y.value=i}let p=[];function r(){const i=t.value.getCurrentConfig(),u=i.featuredListingStyle,g=JSON.parse(JSON.stringify(i[u]||{})),x={layout:u,layout_config:g,meta:d.value.getValueString(),conditions:j(l.value,p),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:s.value.sortCondition},P=`[lofty_idx_featured_listing][[${JSON.stringify(x,null,2)}]][/lofty_idx_featured_listing]`;f(P),Y(q.FeaturedListings,P)}return(i,u)=>(c(),U(D,{title:"Featured Listings",description:"Generate and configure the shortcode of various styles featured Listings page, then create a new WordPress page and insert the shortcode into it."},{button:k(()=>[o(a)?(c(),h("span",We,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(r,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",je,[C(H,{class:"listing-groups",ref:"metaTags",modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=g=>n.value=g),isShortCode:""},null,8,["modelValue"]),C(W,{onReady:u[1]||(u[1]=g=>R(p)?p.value=g:p=g),style:{"padding-left":"0"},ref:"listingRef"},null,512),C(Se,{config:o(Ge),onUpdate:_,ref:"styleConfig",style:{"padding-left":"0"}},null,8,["config"])])]),_:1}))}},Qe=L(Je,[["__scopeId","data-v-1ff2633b"]]),Ze=m=>[{key:"title",inputType:"text",label:"Title",value:m.title,maxLength:100},{key:"show_new",inputType:"radio",label:"Display New Listings (Last 30 Days)",value:m.show_new,options:[{label:"Yes",value:!0},{label:"No",value:!1}]},{key:"show_pending",inputType:"radio",label:"Display Pending Listings",value:m.show_pending,options:[{label:"Yes",value:!0},{label:"No",value:!1}]},{key:"show_sold",inputType:"radio",label:"Display Sold Listings (Last 30 Days)",value:m.show_sold,options:[{label:"Yes",value:!0},{label:"No",value:!1}]}],X={title:"",show_new:!0,show_pending:!0,show_sold:!0},Ke={class:"marketReport-config-content"},Xe={class:"config-item-name"},et=["type","onUpdate:modelValue","maxlength"],tt=["type","onUpdate:modelValue","name","value"],ot={__name:"report-config",props:{config:{type:Object,default:()=>({})}},emits:["update"],setup(m,{emit:l}){ce(()=>{d()});let n=v([]);function d(){n.value=Ze(X)}ie(()=>n.value,()=>{f()},{deep:!0});const a=l;function f(){const y=s();a("update",{diffData:y,configData:t()})}function t(){var _;let y={};return(_=n.value)==null||_.forEach(p=>{y[p.key]=p.value}),y}function s(){let y={},_=t();return me(X,_)||(y=ye(X,_)),y}return(y,_)=>(c(),h("div",Ke,[_[0]||(_[0]=e("div",{class:"config-name"},"Style Settings",-1)),(c(!0),h(ee,null,te(o(n),p=>b((c(),h("div",{class:"config-item",key:p.key},[e("div",Xe,S(p.label),1),e("div",{class:G(["config-item-content",{row:p.inputType==="radio"}])},[p.inputType==="text"?b((c(),h("input",{key:0,type:p.inputType,"onUpdate:modelValue":r=>p.value=r,maxlength:p.maxLength},null,8,et)),[[ae,p.value]]):B("",!0),p.inputType==="radio"?(c(!0),h(ee,{key:1},te(p.options,(r,i)=>(c(),h("label",{key:i},[b(e("input",{type:p.inputType,"onUpdate:modelValue":u=>p.value=u,name:m.config.type+"_"+p.key,value:r.value},null,8,tt),[[ae,p.value]]),I(" "+S(r.label),1)]))),128)):B("",!0)],2)])),[[V,p.show!==!1]])),128))]))}},at=L(ot,[["__scopeId","data-v-a8ce3903"]]),st={key:0},lt={__name:"index",setup(m){const l={title:"Market Criteria",tip:"Define the criteria used to generate the market report",criteriaUrl:"/wp-plugin/market-report/conditions",listingCountUrl:"/wp-plugin/market-report/match-count",isMarketReport:!0},n=v([{data:{location:{}},orderKeys:["location"]}]);M("allConditions",n);const{copied:d,copyCode:a}=O();let f=v({});function t({configData:u}){f.value=u}const s=v(""),y=w("metaTags");let _=[];function p(){var T,oe;const u=n.value.map(K=>({data:se(K.data||{})})).filter(Boolean);let g=[];(T=u[0])!=null&&T.data.location&&Object.values((oe=u[0])==null?void 0:oe.data.location).forEach(K=>{g=g.concat(K)});const{title:x,show_new:P,show_pending:J,show_sold:Q}=f.value,Z={title:x,location:g.join(","),show_new:P,show_pending:J,show_sold:Q,meta:y.value.getValueString(),conditions:j(n.value,_),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone},z=`[lofty_idx_market_report][[${JSON.stringify(Z,null,2)}]][/lofty_idx_market_report]`;a(z),Y(q.MarketReport,z)}const r=v(!1);async function i(){if(r.value)return;const{title:u,show_new:g,show_pending:x,show_sold:P}=f.value;if(!u){A("Please fill the report title.",{duration:3e3,err:!0});return}if(!/^[a-zA-Z0-9_\- ]*$/.test(u)){A("Special characters are not allowed in the title.",{duration:3e3,err:!0});return}r.value=!0;const J=n.value.map(T=>({data:se(T.data||{})})).filter(Boolean),Q=await F.post("/admin/listing-search/short-code/saveOrUpdate",{data:{values:J}}),Z={title:u,filterName:Q.data,extraInfoMap:{displayNewListing:g,displayPendingListings:x,displaySoldListings:P}},z=await F.post("/admin/report/save",{data:Z});if(z.status.code===0)A("Add Successfully"),setTimeout(()=>{const T=new URLSearchParams(window.location.search);T.set("page","lofty-idx-pages"),T.set("sub","market-report-collection"),window.location.search=T.toString()},1e3);else{let T="A report with the same filters already exists. Please do not create a duplicate";z.status.code===230001&&(T="This report title is already in use. Please choose a different one"),A(T,{duration:5e3,err:!0}),r.value=!1}}return(u,g)=>(c(),U(D,{title:"Market Report",description:"Generate and configure the shortcode of Market Report, then create a new WordPress Page and insert the shortcode into it, improving market transparency and attracting investor attention to fuel business opportunities."},{button:k(()=>[e("button",{class:G(["btn-save","btn-add-report",{disable:r.value}]),onClick:N(i,["prevent"])},"Add To Report List",2),o(d)?(c(),h("span",st,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(p,["prevent"])}," Copy to clipboard "))]),default:k(()=>[C(H,{class:"market-form-groups",ref:"metaTags",modelValue:s.value,"onUpdate:modelValue":g[0]||(g[0]=x=>s.value=x),type:"marketReport",isShortCode:""},null,8,["modelValue"]),C(W,{class:"market-report-short-code",maxGroupNumber:1,config:l,onReady:g[1]||(g[1]=x=>R(_)?_.value=x:_=x)}),C(at,{onUpdate:t})]),_:1}))}},nt={key:0},it={class:"form-groups"},rt={class:"form-group"},ut={__name:"index",setup(m){const{copyCode:l,copied:n}=O(),d=v("map-grid"),a=v([]);M("allConditions",a),M("listingFilterExcludeFields",v(["listingStatus"])),M("listingFilterLabelMap",v({price:"Sold Price"}));const f=v(""),t=w("metaTags"),s=w("listingRef");let y=[];function _(){const p={layout:d.value,meta:t.value.getValueString(),conditions:j(a.value,y),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:s.value.sortCondition},r=`[lofty_idx_sold_listing][[${JSON.stringify(p,null,2)}]][/lofty_idx_sold_listing]`;l(r),Y(q.SoldListings,r)}return(p,r)=>(c(),U(D,{title:"Sold Listings",description:"Generate and configure the shortcode of sold listings page, then create a new WordPress page and insert the shortcode into it."},{button:k(()=>[o(n)?(c(),h("span",nt,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(_,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",it,[e("div",rt,[r[3]||(r[3]=e("label",null,"LAYOUT",-1)),C(de,{modelValue:d.value,"onUpdate:modelValue":r[0]||(r[0]=i=>d.value=i)},null,8,["modelValue"])]),C(H,{class:"listing-groups",ref:"metaTags",modelValue:f.value,"onUpdate:modelValue":r[1]||(r[1]=i=>f.value=i),isShortCode:""},null,8,["modelValue"]),C(W,{class:"filters-wrap","is-sold":!0,onReady:r[2]||(r[2]=i=>R(y)?y.value=i:y=i),ref:"listingRef"},null,512)])]),_:1}))}},dt=L(ut,[["__scopeId","data-v-74a6f2c5"]]),pt={class:"lofty-img-upload"},ct={key:0,class:"img-wrapper"},mt=["src"],gt={key:1,class:"upload-wrapper"},ft={key:1},vt={__name:"imgUpload",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(m){const l=re(m,"modelValue"),n=w("fileInput");function d(){n.value.click()}const a=v(!1);function f(){const t=n.value.files[0],s=new FileReader;a.value=!0,s.onload=async y=>{const _=y.target.result,p=await F.post("/wp-plugin/evaluation/upload-aws/image",{data:{base64File:_.split(",")[1]}});p.status.code===0&&(l.value=p.data),a.value=!1},s.readAsDataURL(t)}return(t,s)=>(c(),h("div",pt,[l.value?(c(),h("div",ct,[e("img",{src:l.value,alt:""},null,8,mt),e("div",{class:"img-btn edit",onClick:d},s[1]||(s[1]=[e("span",{class:"lofty_iconfont lofty-icon-Shape"},null,-1)])),e("div",{class:"img-btn delete",onClick:s[0]||(s[0]=y=>l.value="")},s[2]||(s[2]=[e("span",{class:"lofty_iconfont lofty-icon-delete2"},null,-1)])),o(a)?(c(),U(ne,{key:0,loading:o(a)},null,8,["loading"])):B("",!0)])):(c(),h("div",gt,[o(a)?(c(),U(ne,{key:0,loading:o(a)},null,8,["loading"])):(c(),h("div",ft,s[3]||(s[3]=[e("div",{class:"lofty_iconfont lofty-icon-plus_01"},null,-1),e("div",{class:"upload-text"},"Upload Image",-1),e("div",{class:"upload-tip"},"(1440×900)",-1),e("label",{for:"fileInput"},null,-1)])))])),e("input",{id:"fileInput",ref_key:"fileInput",ref:n,type:"file",onChange:f,accept:"image/png, image/jpeg, image/gif, image/jpg"},null,544)]))}},yt=L(vt,[["__scopeId","data-v-35cd6e29"]]),_t={class:"style-setting"},ht={__name:"style-setting",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(m){const l=v(""),n=re(m,"modelValue");return ie(l,()=>{n.value=l.value}),n.value=l.value,(d,a)=>(c(),h("div",_t,[a[1]||(a[1]=e("p",{class:"second-title"},"BACKGROUND IMAGE",-1)),C(yt,{modelValue:o(l),"onUpdate:modelValue":a[0]||(a[0]=f=>R(l)?l.value=f:null)},null,8,["modelValue"])]))}},Ct=L(ht,[["__scopeId","data-v-c79f239d"]]),bt="/home-valuation-step1.BcOghYip.png",St="/home-valuation-step2.C1GywpzI.png",kt="/home-valuation-step3-yes.C4P-9dZ9.png",Vt="/home-valuation-step3-no.OGxWnwZp.png",wt={class:"admin-home-valuation-preview"},xt=["src"],Tt=["src"],Ut={class:"title ellipsis"},Lt={class:"desc"},$t={class:"step-1-content"},Rt={class:"placeholder"},It={class:"button-text ellipsis"},Mt={class:"unit-field"},Ft={class:"step-2-content"},Nt={class:"form-title ellipsis"},Dt={class:"form-desc"},Ot={class:"ellipsis"},Pt={class:"name-required"},Et={class:"step-3-content"},At={__name:"preview",props:{stepValue:String,imgUrl:String,config:Object},setup(m){const{step1:l,step2:n,step3:d}=m.config,a=ge(()=>m.stepValue==="1"?LoftyIdxUtils.static_url(bt):m.stepValue==="2"?LoftyIdxUtils.static_url(St):d.autoValuation?LoftyIdxUtils.static_url(kt):LoftyIdxUtils.static_url(Vt));return(f,t)=>(c(),h("div",wt,[t[1]||(t[1]=e("div",{class:"preview-title"},"Preview",-1)),e("div",{class:G(["preview-content",["step-"+m.stepValue,o(d).autoValuation?"yes":"no"]])},[m.imgUrl?(c(),h("img",{key:0,src:m.imgUrl,alt:""},null,8,xt)):B("",!0),e("img",{src:o(a),alt:""},null,8,Tt),e("div",Ut,S(o(l).title),1),e("div",Lt,[e("span",null,S(o(l).desc),1)]),b(e("div",$t,[e("div",Rt,S(o(l).placeholder),1),e("div",It,S(o(l).buttonText),1),b(e("div",Mt,"| Unit",512),[[V,o(l).showUnit]])],512),[[V,m.stepValue==="1"]]),b(e("div",Ft,[e("div",Nt,S(o(n).title),1),e("div",Dt,[e("span",Ot,S(o(n).desc),1)]),b(e("div",Pt,t[0]||(t[0]=[e("span",null,"*",-1),e("span",{style:{"margin-left":"210px"}},"*",-1)]),512),[[V,o(n).nameRequired]])],512),[[V,m.stepValue==="2"]]),b(e("div",Et,[b(e("div",{class:"step3-title ellipsis"},S(o(d).title),513),[[V,o(d).autoValuation]]),b(e("div",{class:"thank-you"},S(o(d).thankYou),513),[[V,!o(d).autoValuation]])],512),[[V,m.stepValue==="3"]])],2)]))}},Ht=L(At,[["__scopeId","data-v-f37d07a7"]]),qt={class:"lofty-admin-step-config"},Yt={class:"step-content"},zt={class:"left-config"},Bt={style:{"margin-left":"30px"}},Gt={style:{"margin-left":"30px"}},Wt={class:"step-3"},jt={style:{"margin-left":"30px"}},Jt={class:"label mt20"},Qt={__name:"step-config",props:{imgUrl:String},setup(m,{expose:l}){const n=v("1"),d=[{label:"Step1",value:"1"},{label:"Step2",value:"2"},{label:"Step3",value:"3"}],a=fe({step1:{title:"What‘s your Home Worth?",desc:"Find out the worth of your home and get the most accurate valuation.",placeholder:"Enter your street address",buttonText:"GET REPORT",showUnit:!0},step2:{title:"Property Found!",desc:"Where would you like us to send your home valuation report?",nameRequired:!0},step3:{autoValuation:!0,title:"Estimated Home Value",thankYou:"At this time we can't provide an automated home value estimate, but we'll be reaching out to arrange a personalized quote based on market conditions and property information. Thank you!"}});return l({config:a}),(f,t)=>(c(),h("div",qt,[C(xe,{modelValue:o(n),"onUpdate:modelValue":t[0]||(t[0]=s=>R(n)?n.value=s:null),tabs:d},null,8,["modelValue"]),e("div",Yt,[e("div",zt,[b(e("div",null,[t[17]||(t[17]=e("div",{class:"title"},"Content",-1)),t[18]||(t[18]=e("div",{class:"label"},"TITLE",-1)),b(e("input",{"onUpdate:modelValue":t[1]||(t[1]=s=>o(a).step1.title=s),type:"text",maxlength:"100"},null,512),[[$,o(a).step1.title]]),t[19]||(t[19]=e("div",{class:"label mt20"},"DESCRIPTION",-1)),b(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>o(a).step1.desc=s),type:"text",maxlength:"100"},null,512),[[$,o(a).step1.desc]]),t[20]||(t[20]=e("div",{class:"title mt30"},"Address Bar",-1)),t[21]||(t[21]=e("div",{class:"label"},"DEFAULT TEXT",-1)),b(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>o(a).step1.placeholder=s),type:"text",maxlength:"50"},null,512),[[$,o(a).step1.placeholder]]),t[22]||(t[22]=e("div",{class:"label mt20"},"BUTTON TEXT",-1)),b(e("input",{"onUpdate:modelValue":t[4]||(t[4]=s=>o(a).step1.buttonText=s),type:"text",maxlength:"20"},null,512),[[$,o(a).step1.buttonText]]),t[23]||(t[23]=e("div",{class:"label mt20"},"SHOW UNIT FIELD",-1)),e("label",null,[b(e("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>o(a).step1.showUnit=s),type:"radio",name:"unit",value:!0},null,512),[[E,o(a).step1.showUnit]]),t[15]||(t[15]=I("Yes "))]),e("label",Bt,[b(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>o(a).step1.showUnit=s),type:"radio",name:"unit",value:!1},null,512),[[E,o(a).step1.showUnit]]),t[16]||(t[16]=I("No "))])],512),[[V,o(n)==="1"]]),b(e("div",null,[t[26]||(t[26]=e("div",{class:"title"},"Content",-1)),t[27]||(t[27]=e("div",{class:"label"},"FORM TITLE",-1)),b(e("input",{"onUpdate:modelValue":t[7]||(t[7]=s=>o(a).step2.title=s),type:"text",maxlength:"50"},null,512),[[$,o(a).step2.title]]),t[28]||(t[28]=e("div",{class:"label mt20"},"DESCRIPTION",-1)),b(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>o(a).step2.desc=s),type:"text",maxlength:"100"},null,512),[[$,o(a).step2.desc]]),t[29]||(t[29]=e("div",{class:"title mt30"},"Form Settings",-1)),t[30]||(t[30]=e("div",{class:"label mt20"},"NAME",-1)),e("label",null,[b(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>o(a).step2.nameRequired=s),type:"radio",name:"name",value:!0},null,512),[[E,o(a).step2.nameRequired]]),t[24]||(t[24]=I("Required "))]),e("label",Gt,[b(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>o(a).step2.nameRequired=s),type:"radio",name:"name",value:!1},null,512),[[E,o(a).step2.nameRequired]]),t[25]||(t[25]=I("Optional "))])],512),[[V,o(n)==="2"]]),b(e("div",Wt,[t[33]||(t[33]=e("div",{class:"title"},"Form Settings",-1)),t[34]||(t[34]=e("div",{class:"label mt20"},"AUTO HOME VALUATION",-1)),e("label",null,[b(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>o(a).step3.autoValuation=s),type:"radio",name:"autoValuation",value:!0},null,512),[[E,o(a).step3.autoValuation]]),t[31]||(t[31]=I("Yes "))]),e("label",jt,[b(e("input",{"onUpdate:modelValue":t[12]||(t[12]=s=>o(a).step3.autoValuation=s),type:"radio",name:"autoValuation",value:!1},null,512),[[E,o(a).step3.autoValuation]]),t[32]||(t[32]=I("No "))]),e("div",Jt,S(o(a).step3.autoValuation?"TITLE":"THANK YOU MESSAGE"),1),b(e("input",{"onUpdate:modelValue":t[13]||(t[13]=s=>o(a).step3.title=s),type:"text",maxlength:"60"},null,512),[[V,o(a).step3.autoValuation],[$,o(a).step3.title]]),b(e("textarea",{"onUpdate:modelValue":t[14]||(t[14]=s=>o(a).step3.thankYou=s),maxlength:"300"},null,512),[[V,!o(a).step3.autoValuation],[$,o(a).step3.thankYou]])],512),[[V,o(n)==="3"]])]),C(Ht,{class:"right-preview",stepValue:o(n),imgUrl:m.imgUrl,config:o(a)},null,8,["stepValue","imgUrl","config"])])]))}},Zt=L(Qt,[["__scopeId","data-v-3d9aec6c"]]),Kt={key:0},Xt={__name:"index",setup(m){const l=v(""),n=v(""),d=w("stepConfig"),a=v(""),f=w("metaTags"),{copied:t,copyCode:s}=O(),y=v(!0);function _(){if(!Te.permission){y.value=!1;return}const{step1:p,step2:r,step3:i}=d.value.config,u={img_url:l.value,step1:p,step2:r,step3:i,meta:f.value.getValueString(),submitJs:n.value},g=`[lofty_idx_home_valuation][[${JSON.stringify(u,null,2)}]][/lofty_idx_home_valuation]`;s(g),Y(q.HomeValuation,g)}return(p,r)=>(c(),U(D,{title:"Home Valuation",description:"Provide a curated and dynamic home valuation experience, showcasing featured properties to enhance visibility, engage users, and drive lead generation effectively."},{button:k(()=>[o(t)?(c(),h("span",Kt,"Copied!")):(c(),h("button",{key:1,class:G(["btn-save",{disable:!y.value}]),onClick:N(_,["prevent"])}," Copy to clipboard ",2))]),default:k(()=>[C(H,{class:"market-form-groups",ref:"metaTags",modelValue:a.value,"onUpdate:modelValue":r[0]||(r[0]=i=>a.value=i),isShortCode:""},null,8,["modelValue"]),C(Ct,{class:"market-form-groups",modelValue:l.value,"onUpdate:modelValue":r[1]||(r[1]=i=>l.value=i)},null,8,["modelValue"]),C(_e,{modelValue:n.value,"onUpdate:modelValue":r[2]||(r[2]=i=>n.value=i),class:"market-form-groups",desc:"The following code will be executed after the report results are generated in step three."},null,8,["modelValue"]),C(Zt,{class:"market-form-groups",ref_key:"stepConfig",ref:d,imgUrl:l.value},null,8,["imgUrl"])]),_:1}))}},eo={class:"lofty-shortCode-log"},to={class:"short-log-table"},oo={class:"list-row"},ao={class:"header-type"},so=["textContent"],lo={class:"header-operation"},no={key:0,class:"no-log-data"},io={__name:"index",setup(m){const{copyCode:l}=O(),n=v(""),[d,a,f,t]=[v(1),v(1),v([]),v(!1)];_();function s(i){n.value=i,d.value=1,_()}function y(i){d.value=i.page,_()}async function _(){t.value=!0;const i=await F.get(`/admin/shortCodeLog/list?pageNum=${d.value}&pageSize=5&type=${n.value}`);a.value=Math.ceil(i.data.total/5),f.value=i.data.shortCodeList,t.value=!1}async function p(i){(await F.post("/admin/shortCodeLog/remove",{data:{id:i.id}})).status.code===0&&(A("Delete Successfully"),d.value=1,await _())}function r(i){l(i.content),A("Copy Successfully")}return(i,u)=>(c(),U(D,{title:"ShortCode Log",showHeader:!1,description:"Review the history and details of your Lofty WordPress ShortCode generation history on this log page."},{default:k(()=>[e("div",eo,[C(Ue,{modelValue:o(n),"onUpdate:modelValue":u[0]||(u[0]=g=>R(n)?n.value=g:null),list:o(pe),"show-all":"",class:"short-log-select",size:"small",onChange:s},{label:k(({label:g})=>[e("span",null,"Type: "+S(g||"All"),1)]),_:1},8,["modelValue","list"]),e("div",to,[u[2]||(u[2]=e("div",{class:"list-header"},[e("div",{class:"header-type"},"Type"),e("div",{class:"header-content"},"Content"),e("div",{class:"header-operation"}," Operations ")],-1)),e("div",{class:G(["list-body",{"has-pagination":o(a)>1}])},[(c(!0),h(ee,null,te(o(f),g=>(c(),h("div",oo,[e("div",ao,S(o(Me)[g.type]),1),e("div",{class:"header-content",textContent:S(g.content)},null,8,so),e("div",lo,[C(o($e),{onClick:x=>r(g),class:"icon"},null,8,["onClick"]),C(o(ke),{onClick:x=>p(g),class:"icon icon-trash"},null,8,["onClick"])])]))),256)),o(f).length===0?(c(),h("div",no,u[1]||(u[1]=[e("div",null,"No Data",-1)]))):B("",!0)],2),C(Le,{class:"admin-pagination",onPageChange:y,pageNum:o(d),pageSize:5,totalPage:o(a)},null,8,["pageNum","totalPage"]),C(he,{loading:o(t)},null,8,["loading"])])])]),_:1}))}},ro={SearchPage:Pe,QuickSearch:Be,FeaturedListings:Qe,MarketReport:lt,SoldListings:dt,HomeValuation:Xt,ShortCodeLog:io},uo={class:"lofty-admin-container lofty-reset-style"},po={class:"main-content"},co={__name:"app",setup(m){let l=v("");function n(d){l.value=ro[d.component]}return(d,a)=>(c(),h("div",uo,[C(Ce,{menuSections:o(Re),onMenuItemClick:n},null,8,["menuSections"]),e("main",po,[(c(),U(ve(o(l))))])]))}},mo=L(co,[["__scopeId","data-v-95cd220e"]]);ue(mo).mount("#app");ue(we).mount("#plugin-check");
     1import{h as F,_ as L}from"./_plugin-vue_export-helper.xU-N2hzF.js";/* empty css               */import{r as v,G as M,k as w,o as c,d as U,w as k,u as o,g as h,z as N,e,m as C,s as R,t as S,l as ce,p as ie,W as me,F as ee,h as te,q as b,x as V,Q as ae,j as B,f as I,y as G,P as se,L as re,c as ge,a as fe,v as $,X as E,i as ve,D as ue}from"./vendor.DSMCY3-_.js";import{P as D,f as ye,J as _e,L as he,S as Ce}from"./SubmitJs.BGSXz3XB.js";import{M as H,L as de,a as W,d as be,S as Se,c as ke}from"./styleConfig.C14bcjUo.js";import{u as O}from"./useCopy.CluLpl8Z.js";import{f as le}from"./date-format.BrUodQAJ.js";import{M as Ve}from"./multiSelect.B5wbuXDm.js";import{s as A,P as we}from"./PluginUpdate.BNhRciDp.js";import{_ as ne}from"./index.DAwEVGKX.js";import{_ as xe}from"./index.jjVwSEkV.js";import{u as Te}from"./user.DqlV81fM.js";import{_ as Ue}from"./index.BIsjoQ8l.js";import{p as Le}from"./standard.Dwc2F-8i.js";import{I as $e}from"./IconCopy.7myX4VwF.js";import"./number-format.CLdvQh6j.js";import"./index.D8FXyAh2.js";import"./outsideclick.Bw_hMuzW.js";import"./index.erNjz9Pp.js";import"./index.Cx6n2H90.js";import"./index.zyk5jnxc.js";import"./index.Bi752R10.js";import"./index.B8LFivOP.js";import"./service.B6OFWnjc.js";import"./house-format.4tigxTMo.js";import"./checkBox.97tfRJKL.js";import"./tooltip.w0glU4UR.js";const Re=[{title:"ShortCode",visible:!0,items:[{title:"ShortCode Log",path:"shortcode-log",component:"ShortCodeLog",visible:!0}]},{title:"Listings",visible:!0,items:[{title:"Search",path:"search-page",component:"SearchPage",visible:!0},{title:"Quick Search",path:"quick-search",component:"QuickSearch",visible:!0},{title:"Featured Listings",path:"featured-listings",component:"FeaturedListings",visible:!0},{title:"Sold Listings",path:"sold-listings",component:"SoldListings",visible:!0}]},{title:"Marketing",visible:!0,items:[{title:"Market Report",path:"market-report",component:"MarketReport",visible:!0}]},{title:"Lead Capture",visible:!0,items:[{title:"Home Valuation",path:"home-valuation",component:"HomeValuation",visible:!0}]}];function Ie(m=","){const l=m.split(",");return l[0]&&(l[0]=le("yyyy/MM/dd",+l[0])),l[1]&&(l[1]=le("yyyy/MM/dd",+l[1])),l.join(",")}const q={Search:"Search",QuickSearch:"QuickSearch",FeaturedListings:"FeaturedListings",SoldListings:"SoldListings",MarketReport:"MarketReport",HomeValuation:"HomeValuation"},pe=[{label:"Search",value:"Search"},{label:"Quick Search",value:"QuickSearch"},{label:"Featured Listings",value:"FeaturedListings"},{label:"Sold Listings",value:"SoldListings"},{label:"Market Report",value:"MarketReport"},{label:"Home Valuation",value:"HomeValuation"}],Me=pe.reduce((m,l)=>(m[l.value]=l.label,m),{});function j(m,l){const n=[];return m.forEach(d=>{const a={};for(let f in d.data)l.includes(f)?a[`date_${f}`]=Ie(d.data[f]):a[f]=d.data[f];n.push(a)}),n}function Y(m,l){F.post("/admin/shortCodeLog/save",{data:{type:m,content:l}})}const Fe={key:0},Ne={class:"form-groups"},De={class:"form-group mt20"},Oe={__name:"index",setup(m){const{copyCode:l,copied:n}=O(),d=v("map-grid"),a=v([]);M("allConditions",a);const f=v(""),t=w("metaTags"),s=w("listingRef");let y=[];function _(){const p={layout:d.value,meta:t.value.getValueString(),conditions:j(a.value,y),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:s.value.sortCondition},r=`[lofty_idx_listing_page][[${JSON.stringify(p,null,2)}]][/lofty_idx_listing_page]`;l(r),Y(q.Search,r)}return(p,r)=>(c(),U(D,{title:"Search",description:"Generate and configure the shortcode of search page, then create a new WordPress page and insert the shortcode into it."},{button:k(()=>[o(n)?(c(),h("span",Fe,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(_,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",Ne,[C(H,{class:"listing-groups",ref:"metaTags",modelValue:f.value,"onUpdate:modelValue":r[0]||(r[0]=i=>f.value=i),isShortCode:""},null,8,["modelValue"]),e("div",De,[r[3]||(r[3]=e("label",null,"LAYOUT",-1)),C(de,{modelValue:d.value,"onUpdate:modelValue":r[1]||(r[1]=i=>d.value=i)},null,8,["modelValue"])]),C(W,{class:"search-page-filter",onReady:r[2]||(r[2]=i=>R(y)?y.value=i:y=i),ref:"listingRef"},null,512)])]),_:1}))}},Pe=L(Oe,[["__scopeId","data-v-5cca0e8e"]]),Ee={key:0},Ae={class:"form-groups"},He={class:"form-group mt20"},qe={class:"form-group"},Ye={style:{width:"100%"}},ze={__name:"index",setup(m){const{copyCode:l,copied:n}=O(),d=v([]),a=v("universal"),f=v([]);M("allConditions",d);const t=v(""),s=w("metaTags"),y=w("listingRef");async function _(i){if(i.value.length>0)return;const u=await F.get("/wp-plugin/admin/listing-search/quickSearch/conditions");i.value=u.data}let p=[];function r(){const i={layout:a.value,quick_listing_filters:f.value.join(","),meta:s.value.getValueString(),conditions:j(d.value,p),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:y.value.sortCondition},u=`[lofty_idx_quick_search][[${JSON.stringify(i,null,2)}]][/lofty_idx_quick_search]`;l(u),Y(q.QuickSearch,u)}return(i,u)=>(c(),U(D,{title:"Quick Search",description:"Integrate a streamlined and user-friendly search interface directly into your WordPress page, providing a clean, intuitive experience that allows users to easily find what they're looking for."},{button:k(()=>[o(n)?(c(),h("span",Ee,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(r,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",Ae,[C(H,{class:"listing-groups",ref:"metaTags",modelValue:t.value,"onUpdate:modelValue":u[0]||(u[0]=g=>t.value=g),isShortCode:""},null,8,["modelValue"]),e("div",He,[u[4]||(u[4]=e("label",null,"LAYOUT",-1)),C(be,{options:[{label:"Universal",value:"universal"},{label:"Two-line layout",value:"two-line"}],"initial-condition":[a.value],"onUpdate:condition":u[1]||(u[1]=g=>a.value=g[0])},null,8,["initial-condition"])]),e("div",qe,[e("label",Ye,S("Show Listing Filter".toUpperCase()),1),C(Ve,{"initial-condition":f.value,"onUpdate:condition":u[2]||(u[2]=g=>f.value=g),"get-option-func":_,"any-label":"None"},null,8,["initial-condition"])]),C(W,{onReady:u[3]||(u[3]=g=>R(p)?p.value=g:p=g),class:"search-page-filter",ref:"listingRef"},null,512)])]),_:1}))}},Be=L(ze,[["__scopeId","data-v-5c22ec94"]]),Ge={featuredListingStyle:"grid",grid:{buttonText:"More",default:4,min:1,max:6,showButton:!0},slider:{duration:5,buttonText:"More",default:3,min:1,max:50,showButton:!0,autoPlay:!0,speed:1e3,layout:"full"},gallery:{buttonText:"More",default:3,min:1,max:8,showButton:!0,title:""}},We={key:0},je={class:"form-groups"},Je={__name:"index",setup(m){const l=v([]);M("allConditions",l);const n=v(""),d=w("metaTags"),{copied:a,copyCode:f}=O(),t=w("styleConfig"),s=w("listingRef"),y=v({});function _(i){y.value=i}let p=[];function r(){const i=t.value.getCurrentConfig(),u=i.featuredListingStyle,g=JSON.parse(JSON.stringify(i[u]||{})),x={layout:u,layout_config:g,meta:d.value.getValueString(),conditions:j(l.value,p),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:s.value.sortCondition},P=`[lofty_idx_featured_listing][[${JSON.stringify(x,null,2)}]][/lofty_idx_featured_listing]`;f(P),Y(q.FeaturedListings,P)}return(i,u)=>(c(),U(D,{title:"Featured Listings",description:"Generate and configure the shortcode of various styles featured Listings page, then create a new WordPress page and insert the shortcode into it."},{button:k(()=>[o(a)?(c(),h("span",We,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(r,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",je,[C(H,{class:"listing-groups",ref:"metaTags",modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=g=>n.value=g),isShortCode:""},null,8,["modelValue"]),C(W,{onReady:u[1]||(u[1]=g=>R(p)?p.value=g:p=g),style:{"padding-left":"0"},ref:"listingRef"},null,512),C(Se,{config:o(Ge),onUpdate:_,ref:"styleConfig",style:{"padding-left":"0"}},null,8,["config"])])]),_:1}))}},Qe=L(Je,[["__scopeId","data-v-1ff2633b"]]),Ze=m=>[{key:"title",inputType:"text",label:"Title",value:m.title,maxLength:100},{key:"show_new",inputType:"radio",label:"Display New Listings (Last 30 Days)",value:m.show_new,options:[{label:"Yes",value:!0},{label:"No",value:!1}]},{key:"show_pending",inputType:"radio",label:"Display Pending Listings",value:m.show_pending,options:[{label:"Yes",value:!0},{label:"No",value:!1}]},{key:"show_sold",inputType:"radio",label:"Display Sold Listings (Last 30 Days)",value:m.show_sold,options:[{label:"Yes",value:!0},{label:"No",value:!1}]}],X={title:"",show_new:!0,show_pending:!0,show_sold:!0},Ke={class:"marketReport-config-content"},Xe={class:"config-item-name"},et=["type","onUpdate:modelValue","maxlength"],tt=["type","onUpdate:modelValue","name","value"],ot={__name:"report-config",props:{config:{type:Object,default:()=>({})}},emits:["update"],setup(m,{emit:l}){ce(()=>{d()});let n=v([]);function d(){n.value=Ze(X)}ie(()=>n.value,()=>{f()},{deep:!0});const a=l;function f(){const y=s();a("update",{diffData:y,configData:t()})}function t(){var _;let y={};return(_=n.value)==null||_.forEach(p=>{y[p.key]=p.value}),y}function s(){let y={},_=t();return me(X,_)||(y=ye(X,_)),y}return(y,_)=>(c(),h("div",Ke,[_[0]||(_[0]=e("div",{class:"config-name"},"Style Settings",-1)),(c(!0),h(ee,null,te(o(n),p=>b((c(),h("div",{class:"config-item",key:p.key},[e("div",Xe,S(p.label),1),e("div",{class:G(["config-item-content",{row:p.inputType==="radio"}])},[p.inputType==="text"?b((c(),h("input",{key:0,type:p.inputType,"onUpdate:modelValue":r=>p.value=r,maxlength:p.maxLength},null,8,et)),[[ae,p.value]]):B("",!0),p.inputType==="radio"?(c(!0),h(ee,{key:1},te(p.options,(r,i)=>(c(),h("label",{key:i},[b(e("input",{type:p.inputType,"onUpdate:modelValue":u=>p.value=u,name:m.config.type+"_"+p.key,value:r.value},null,8,tt),[[ae,p.value]]),I(" "+S(r.label),1)]))),128)):B("",!0)],2)])),[[V,p.show!==!1]])),128))]))}},at=L(ot,[["__scopeId","data-v-a8ce3903"]]),st={key:0},lt={__name:"index",setup(m){const l={title:"Market Criteria",tip:"Define the criteria used to generate the market report",criteriaUrl:"/wp-plugin/market-report/conditions",listingCountUrl:"/wp-plugin/market-report/match-count",isMarketReport:!0},n=v([{data:{location:{}},orderKeys:["location"]}]);M("allConditions",n);const{copied:d,copyCode:a}=O();let f=v({});function t({configData:u}){f.value=u}const s=v(""),y=w("metaTags");let _=[];function p(){var T,oe;const u=n.value.map(K=>({data:se(K.data||{})})).filter(Boolean);let g=[];(T=u[0])!=null&&T.data.location&&Object.values((oe=u[0])==null?void 0:oe.data.location).forEach(K=>{g=g.concat(K)});const{title:x,show_new:P,show_pending:J,show_sold:Q}=f.value,Z={title:x,location:g.join(","),show_new:P,show_pending:J,show_sold:Q,meta:y.value.getValueString(),conditions:j(n.value,_),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone},z=`[lofty_idx_market_report][[${JSON.stringify(Z,null,2)}]][/lofty_idx_market_report]`;a(z),Y(q.MarketReport,z)}const r=v(!1);async function i(){if(r.value)return;const{title:u,show_new:g,show_pending:x,show_sold:P}=f.value;if(!u){A("Please fill the report title.",{duration:3e3,err:!0});return}if(!/^[a-zA-Z0-9_\- ]*$/.test(u)){A("Special characters are not allowed in the title.",{duration:3e3,err:!0});return}r.value=!0;const J=n.value.map(T=>({data:se(T.data||{})})).filter(Boolean),Q=await F.post("/admin/listing-search/short-code/saveOrUpdate",{data:{values:J}}),Z={title:u,filterName:Q.data,extraInfoMap:{displayNewListing:g,displayPendingListings:x,displaySoldListings:P}},z=await F.post("/admin/report/save",{data:Z});if(z.status.code===0)A("Add Successfully"),setTimeout(()=>{const T=new URLSearchParams(window.location.search);T.set("page","lofty-idx-pages"),T.set("sub","market-report-collection"),window.location.search=T.toString()},1e3);else{let T="A report with the same filters already exists. Please do not create a duplicate";z.status.code===230001&&(T="This report title is already in use. Please choose a different one"),A(T,{duration:5e3,err:!0}),r.value=!1}}return(u,g)=>(c(),U(D,{title:"Market Report",description:"Generate and configure the shortcode of Market Report, then create a new WordPress Page and insert the shortcode into it, improving market transparency and attracting investor attention to fuel business opportunities."},{button:k(()=>[e("button",{class:G(["btn-save","btn-add-report",{disable:r.value}]),onClick:N(i,["prevent"])},"Add To Report List",2),o(d)?(c(),h("span",st,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(p,["prevent"])}," Copy to clipboard "))]),default:k(()=>[C(H,{class:"market-form-groups",ref:"metaTags",modelValue:s.value,"onUpdate:modelValue":g[0]||(g[0]=x=>s.value=x),type:"marketReport",isShortCode:""},null,8,["modelValue"]),C(W,{class:"market-report-short-code",maxGroupNumber:1,config:l,onReady:g[1]||(g[1]=x=>R(_)?_.value=x:_=x)}),C(at,{onUpdate:t})]),_:1}))}},nt={key:0},it={class:"form-groups"},rt={class:"form-group"},ut={__name:"index",setup(m){const{copyCode:l,copied:n}=O(),d=v("map-grid"),a=v([]);M("allConditions",a),M("listingFilterExcludeFields",v(["listingStatus"])),M("listingFilterLabelMap",v({price:"Sold Price"}));const f=v(""),t=w("metaTags"),s=w("listingRef");let y=[];function _(){const p={layout:d.value,meta:t.value.getValueString(),conditions:j(a.value,y),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:s.value.sortCondition},r=`[lofty_idx_sold_listing][[${JSON.stringify(p,null,2)}]][/lofty_idx_sold_listing]`;l(r),Y(q.SoldListings,r)}return(p,r)=>(c(),U(D,{title:"Sold Listings",description:"Generate and configure the shortcode of sold listings page, then create a new WordPress page and insert the shortcode into it."},{button:k(()=>[o(n)?(c(),h("span",nt,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(_,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",it,[e("div",rt,[r[3]||(r[3]=e("label",null,"LAYOUT",-1)),C(de,{modelValue:d.value,"onUpdate:modelValue":r[0]||(r[0]=i=>d.value=i)},null,8,["modelValue"])]),C(H,{class:"listing-groups",ref:"metaTags",modelValue:f.value,"onUpdate:modelValue":r[1]||(r[1]=i=>f.value=i),isShortCode:""},null,8,["modelValue"]),C(W,{class:"filters-wrap","is-sold":!0,onReady:r[2]||(r[2]=i=>R(y)?y.value=i:y=i),ref:"listingRef"},null,512)])]),_:1}))}},dt=L(ut,[["__scopeId","data-v-74a6f2c5"]]),pt={class:"lofty-img-upload"},ct={key:0,class:"img-wrapper"},mt=["src"],gt={key:1,class:"upload-wrapper"},ft={key:1},vt={__name:"imgUpload",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(m){const l=re(m,"modelValue"),n=w("fileInput");function d(){n.value.click()}const a=v(!1);function f(){const t=n.value.files[0],s=new FileReader;a.value=!0,s.onload=async y=>{const _=y.target.result,p=await F.post("/wp-plugin/evaluation/upload-aws/image",{data:{base64File:_.split(",")[1]}});p.status.code===0&&(l.value=p.data),a.value=!1},s.readAsDataURL(t)}return(t,s)=>(c(),h("div",pt,[l.value?(c(),h("div",ct,[e("img",{src:l.value,alt:""},null,8,mt),e("div",{class:"img-btn edit",onClick:d},s[1]||(s[1]=[e("span",{class:"lofty_iconfont lofty-icon-Shape"},null,-1)])),e("div",{class:"img-btn delete",onClick:s[0]||(s[0]=y=>l.value="")},s[2]||(s[2]=[e("span",{class:"lofty_iconfont lofty-icon-delete2"},null,-1)])),o(a)?(c(),U(ne,{key:0,loading:o(a)},null,8,["loading"])):B("",!0)])):(c(),h("div",gt,[o(a)?(c(),U(ne,{key:0,loading:o(a)},null,8,["loading"])):(c(),h("div",ft,s[3]||(s[3]=[e("div",{class:"lofty_iconfont lofty-icon-plus_01"},null,-1),e("div",{class:"upload-text"},"Upload Image",-1),e("div",{class:"upload-tip"},"(1440×900)",-1),e("label",{for:"fileInput"},null,-1)])))])),e("input",{id:"fileInput",ref_key:"fileInput",ref:n,type:"file",onChange:f,accept:"image/png, image/jpeg, image/gif, image/jpg"},null,544)]))}},yt=L(vt,[["__scopeId","data-v-35cd6e29"]]),_t={class:"style-setting"},ht={__name:"style-setting",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(m){const l=v(""),n=re(m,"modelValue");return ie(l,()=>{n.value=l.value}),n.value=l.value,(d,a)=>(c(),h("div",_t,[a[1]||(a[1]=e("p",{class:"second-title"},"BACKGROUND IMAGE",-1)),C(yt,{modelValue:o(l),"onUpdate:modelValue":a[0]||(a[0]=f=>R(l)?l.value=f:null)},null,8,["modelValue"])]))}},Ct=L(ht,[["__scopeId","data-v-c79f239d"]]),bt="/home-valuation-step1.BcOghYip.png",St="/home-valuation-step2.C1GywpzI.png",kt="/home-valuation-step3-yes.C4P-9dZ9.png",Vt="/home-valuation-step3-no.OGxWnwZp.png",wt={class:"admin-home-valuation-preview"},xt=["src"],Tt=["src"],Ut={class:"title ellipsis"},Lt={class:"desc"},$t={class:"step-1-content"},Rt={class:"placeholder"},It={class:"button-text ellipsis"},Mt={class:"unit-field"},Ft={class:"step-2-content"},Nt={class:"form-title ellipsis"},Dt={class:"form-desc"},Ot={class:"ellipsis"},Pt={class:"name-required"},Et={class:"step-3-content"},At={__name:"preview",props:{stepValue:String,imgUrl:String,config:Object},setup(m){const{step1:l,step2:n,step3:d}=m.config,a=ge(()=>m.stepValue==="1"?LoftyIdxUtils.static_url(bt):m.stepValue==="2"?LoftyIdxUtils.static_url(St):d.autoValuation?LoftyIdxUtils.static_url(kt):LoftyIdxUtils.static_url(Vt));return(f,t)=>(c(),h("div",wt,[t[1]||(t[1]=e("div",{class:"preview-title"},"Preview",-1)),e("div",{class:G(["preview-content",["step-"+m.stepValue,o(d).autoValuation?"yes":"no"]])},[m.imgUrl?(c(),h("img",{key:0,src:m.imgUrl,alt:""},null,8,xt)):B("",!0),e("img",{src:o(a),alt:""},null,8,Tt),e("div",Ut,S(o(l).title),1),e("div",Lt,[e("span",null,S(o(l).desc),1)]),b(e("div",$t,[e("div",Rt,S(o(l).placeholder),1),e("div",It,S(o(l).buttonText),1),b(e("div",Mt,"| Unit",512),[[V,o(l).showUnit]])],512),[[V,m.stepValue==="1"]]),b(e("div",Ft,[e("div",Nt,S(o(n).title),1),e("div",Dt,[e("span",Ot,S(o(n).desc),1)]),b(e("div",Pt,t[0]||(t[0]=[e("span",null,"*",-1),e("span",{style:{"margin-left":"210px"}},"*",-1)]),512),[[V,o(n).nameRequired]])],512),[[V,m.stepValue==="2"]]),b(e("div",Et,[b(e("div",{class:"step3-title ellipsis"},S(o(d).title),513),[[V,o(d).autoValuation]]),b(e("div",{class:"thank-you"},S(o(d).thankYou),513),[[V,!o(d).autoValuation]])],512),[[V,m.stepValue==="3"]])],2)]))}},Ht=L(At,[["__scopeId","data-v-f37d07a7"]]),qt={class:"lofty-admin-step-config"},Yt={class:"step-content"},zt={class:"left-config"},Bt={style:{"margin-left":"30px"}},Gt={style:{"margin-left":"30px"}},Wt={class:"step-3"},jt={style:{"margin-left":"30px"}},Jt={class:"label mt20"},Qt={__name:"step-config",props:{imgUrl:String},setup(m,{expose:l}){const n=v("1"),d=[{label:"Step1",value:"1"},{label:"Step2",value:"2"},{label:"Step3",value:"3"}],a=fe({step1:{title:"What‘s your Home Worth?",desc:"Find out the worth of your home and get the most accurate valuation.",placeholder:"Enter your street address",buttonText:"GET REPORT",showUnit:!0},step2:{title:"Property Found!",desc:"Where would you like us to send your home valuation report?",nameRequired:!0},step3:{autoValuation:!0,title:"Estimated Home Value",thankYou:"At this time we can't provide an automated home value estimate, but we'll be reaching out to arrange a personalized quote based on market conditions and property information. Thank you!"}});return l({config:a}),(f,t)=>(c(),h("div",qt,[C(xe,{modelValue:o(n),"onUpdate:modelValue":t[0]||(t[0]=s=>R(n)?n.value=s:null),tabs:d},null,8,["modelValue"]),e("div",Yt,[e("div",zt,[b(e("div",null,[t[17]||(t[17]=e("div",{class:"title"},"Content",-1)),t[18]||(t[18]=e("div",{class:"label"},"TITLE",-1)),b(e("input",{"onUpdate:modelValue":t[1]||(t[1]=s=>o(a).step1.title=s),type:"text",maxlength:"100"},null,512),[[$,o(a).step1.title]]),t[19]||(t[19]=e("div",{class:"label mt20"},"DESCRIPTION",-1)),b(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>o(a).step1.desc=s),type:"text",maxlength:"100"},null,512),[[$,o(a).step1.desc]]),t[20]||(t[20]=e("div",{class:"title mt30"},"Address Bar",-1)),t[21]||(t[21]=e("div",{class:"label"},"DEFAULT TEXT",-1)),b(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>o(a).step1.placeholder=s),type:"text",maxlength:"50"},null,512),[[$,o(a).step1.placeholder]]),t[22]||(t[22]=e("div",{class:"label mt20"},"BUTTON TEXT",-1)),b(e("input",{"onUpdate:modelValue":t[4]||(t[4]=s=>o(a).step1.buttonText=s),type:"text",maxlength:"20"},null,512),[[$,o(a).step1.buttonText]]),t[23]||(t[23]=e("div",{class:"label mt20"},"SHOW UNIT FIELD",-1)),e("label",null,[b(e("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>o(a).step1.showUnit=s),type:"radio",name:"unit",value:!0},null,512),[[E,o(a).step1.showUnit]]),t[15]||(t[15]=I("Yes "))]),e("label",Bt,[b(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>o(a).step1.showUnit=s),type:"radio",name:"unit",value:!1},null,512),[[E,o(a).step1.showUnit]]),t[16]||(t[16]=I("No "))])],512),[[V,o(n)==="1"]]),b(e("div",null,[t[26]||(t[26]=e("div",{class:"title"},"Content",-1)),t[27]||(t[27]=e("div",{class:"label"},"FORM TITLE",-1)),b(e("input",{"onUpdate:modelValue":t[7]||(t[7]=s=>o(a).step2.title=s),type:"text",maxlength:"50"},null,512),[[$,o(a).step2.title]]),t[28]||(t[28]=e("div",{class:"label mt20"},"DESCRIPTION",-1)),b(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>o(a).step2.desc=s),type:"text",maxlength:"100"},null,512),[[$,o(a).step2.desc]]),t[29]||(t[29]=e("div",{class:"title mt30"},"Form Settings",-1)),t[30]||(t[30]=e("div",{class:"label mt20"},"NAME",-1)),e("label",null,[b(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>o(a).step2.nameRequired=s),type:"radio",name:"name",value:!0},null,512),[[E,o(a).step2.nameRequired]]),t[24]||(t[24]=I("Required "))]),e("label",Gt,[b(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>o(a).step2.nameRequired=s),type:"radio",name:"name",value:!1},null,512),[[E,o(a).step2.nameRequired]]),t[25]||(t[25]=I("Optional "))])],512),[[V,o(n)==="2"]]),b(e("div",Wt,[t[33]||(t[33]=e("div",{class:"title"},"Form Settings",-1)),t[34]||(t[34]=e("div",{class:"label mt20"},"AUTO HOME VALUATION",-1)),e("label",null,[b(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>o(a).step3.autoValuation=s),type:"radio",name:"autoValuation",value:!0},null,512),[[E,o(a).step3.autoValuation]]),t[31]||(t[31]=I("Yes "))]),e("label",jt,[b(e("input",{"onUpdate:modelValue":t[12]||(t[12]=s=>o(a).step3.autoValuation=s),type:"radio",name:"autoValuation",value:!1},null,512),[[E,o(a).step3.autoValuation]]),t[32]||(t[32]=I("No "))]),e("div",Jt,S(o(a).step3.autoValuation?"TITLE":"THANK YOU MESSAGE"),1),b(e("input",{"onUpdate:modelValue":t[13]||(t[13]=s=>o(a).step3.title=s),type:"text",maxlength:"60"},null,512),[[V,o(a).step3.autoValuation],[$,o(a).step3.title]]),b(e("textarea",{"onUpdate:modelValue":t[14]||(t[14]=s=>o(a).step3.thankYou=s),maxlength:"300"},null,512),[[V,!o(a).step3.autoValuation],[$,o(a).step3.thankYou]])],512),[[V,o(n)==="3"]])]),C(Ht,{class:"right-preview",stepValue:o(n),imgUrl:m.imgUrl,config:o(a)},null,8,["stepValue","imgUrl","config"])])]))}},Zt=L(Qt,[["__scopeId","data-v-3d9aec6c"]]),Kt={key:0},Xt={__name:"index",setup(m){const l=v(""),n=v(""),d=w("stepConfig"),a=v(""),f=w("metaTags"),{copied:t,copyCode:s}=O(),y=v(!0);function _(){if(!Te.permission){y.value=!1;return}const{step1:p,step2:r,step3:i}=d.value.config,u={img_url:l.value,step1:p,step2:r,step3:i,meta:f.value.getValueString(),submitJs:n.value},g=`[lofty_idx_home_valuation][[${JSON.stringify(u,null,2)}]][/lofty_idx_home_valuation]`;s(g),Y(q.HomeValuation,g)}return(p,r)=>(c(),U(D,{title:"Home Valuation",description:"Provide a curated and dynamic home valuation experience, showcasing featured properties to enhance visibility, engage users, and drive lead generation effectively."},{button:k(()=>[o(t)?(c(),h("span",Kt,"Copied!")):(c(),h("button",{key:1,class:G(["btn-save",{disable:!y.value}]),onClick:N(_,["prevent"])}," Copy to clipboard ",2))]),default:k(()=>[C(H,{class:"market-form-groups",ref:"metaTags",modelValue:a.value,"onUpdate:modelValue":r[0]||(r[0]=i=>a.value=i),isShortCode:""},null,8,["modelValue"]),C(Ct,{class:"market-form-groups",modelValue:l.value,"onUpdate:modelValue":r[1]||(r[1]=i=>l.value=i)},null,8,["modelValue"]),C(_e,{modelValue:n.value,"onUpdate:modelValue":r[2]||(r[2]=i=>n.value=i),class:"market-form-groups",desc:"The following code will be executed after the report results are generated in step three."},null,8,["modelValue"]),C(Zt,{class:"market-form-groups",ref_key:"stepConfig",ref:d,imgUrl:l.value},null,8,["imgUrl"])]),_:1}))}},eo={class:"lofty-shortCode-log"},to={class:"short-log-table"},oo={class:"list-row"},ao={class:"header-type"},so=["textContent"],lo={class:"header-operation"},no={key:0,class:"no-log-data"},io={__name:"index",setup(m){const{copyCode:l}=O(),n=v(""),[d,a,f,t]=[v(1),v(1),v([]),v(!1)];_();function s(i){n.value=i,d.value=1,_()}function y(i){d.value=i.page,_()}async function _(){t.value=!0;const i=await F.get(`/admin/shortCodeLog/list?pageNum=${d.value}&pageSize=5&type=${n.value}`);a.value=Math.ceil(i.data.total/5),f.value=i.data.shortCodeList,t.value=!1}async function p(i){(await F.post("/admin/shortCodeLog/remove",{data:{id:i.id}})).status.code===0&&(A("Delete Successfully"),d.value=1,await _())}function r(i){l(i.content),A("Copy Successfully")}return(i,u)=>(c(),U(D,{title:"ShortCode Log",showHeader:!1,description:"Review the history and details of your Lofty WordPress ShortCode generation history on this log page."},{default:k(()=>[e("div",eo,[C(Ue,{modelValue:o(n),"onUpdate:modelValue":u[0]||(u[0]=g=>R(n)?n.value=g:null),list:o(pe),"show-all":"",class:"short-log-select",size:"small",onChange:s},{label:k(({label:g})=>[e("span",null,"Type: "+S(g||"All"),1)]),_:1},8,["modelValue","list"]),e("div",to,[u[2]||(u[2]=e("div",{class:"list-header"},[e("div",{class:"header-type"},"Type"),e("div",{class:"header-content"},"Content"),e("div",{class:"header-operation"}," Operations ")],-1)),e("div",{class:G(["list-body",{"has-pagination":o(a)>1}])},[(c(!0),h(ee,null,te(o(f),g=>(c(),h("div",oo,[e("div",ao,S(o(Me)[g.type]),1),e("div",{class:"header-content",textContent:S(g.content)},null,8,so),e("div",lo,[C(o($e),{onClick:x=>r(g),class:"icon"},null,8,["onClick"]),C(o(ke),{onClick:x=>p(g),class:"icon icon-trash"},null,8,["onClick"])])]))),256)),o(f).length===0?(c(),h("div",no,u[1]||(u[1]=[e("div",null,"No Data",-1)]))):B("",!0)],2),C(Le,{class:"admin-pagination",onPageChange:y,pageNum:o(d),pageSize:5,totalPage:o(a)},null,8,["pageNum","totalPage"]),C(he,{loading:o(t)},null,8,["loading"])])])]),_:1}))}},ro={SearchPage:Pe,QuickSearch:Be,FeaturedListings:Qe,MarketReport:lt,SoldListings:dt,HomeValuation:Xt,ShortCodeLog:io},uo={class:"lofty-admin-container lofty-reset-style"},po={class:"main-content"},co={__name:"app",setup(m){let l=v("");function n(d){l.value=ro[d.component]}return(d,a)=>(c(),h("div",uo,[C(Ce,{menuSections:o(Re),onMenuItemClick:n},null,8,["menuSections"]),e("main",po,[(c(),U(ve(o(l))))])]))}},mo=L(co,[["__scopeId","data-v-95cd220e"]]);ue(mo).mount("#app");ue(we).mount("#plugin-check");
  • lofty-idx/trunk/assets/admin-widget-quick-search.js

    r3348566 r3348893  
    1 import{_ as w,h as m}from"./_plugin-vue_export-helper.Cq0ParU2.js";/* empty css               */import{c as k}from"./module.CKjUdtPN.js";import{r as c,p as _,o as S,g as I,e as i,y as p,u as l,m as q,t as b,n as A,D}from"./vendor.DSMCY3-_.js";import{M as L}from"./multiSelect.8RiC7gKS.js";import"./index.5F2_f90D.js";import"./outsideclick.Bw_hMuzW.js";import"./checkBox.BRkOvSmc.js";const h="/layout-universal.BBQ9Gjhk.png",T="/layout-two-line.NGE2Q4kl.png",x={class:"form-group"},B=["src"],C=["src"],N={class:"form-group"},U={__name:"app",props:{id:String,initData:Object},setup(o){const f=LoftyIdxUtils.static_url(h),g=LoftyIdxUtils.static_url(T),e=c(o.initData.layout||"universal"),s=c(o.initData.quick_listing_filters||[]),r=c(!1),u=o.id.split("-")[1],n=c(!0);_([e,s],async()=>{n.value=!1});async function v(){if(!u)return;(await m.post("/widget/save/quickSearch",{action:"lofty_widget_save",data:{widget_id:u,config:{layout:e.value,quick_listing_filters:s.value}}})).data&&(n.value=!0)}async function y(d){if(d.value.length>0)return;const a=await m.get("/wp-plugin/admin/listing-search/quickSearch/conditions");d.value=a.data}return(d,t)=>(S(),I("div",{class:"lofty-admin-widget-config lofty-reset-style",style:A({height:l(r)?"350px":"unset"})},[i("div",x,[t[6]||(t[6]=i("label",null,"LAYOUT",-1)),i("div",{class:"lofty-fake-radio-container",onClick:t[0]||(t[0]=a=>e.value="universal")},[i("span",{class:p(["lofty-fake-radio",{active:l(e)==="universal"}])},null,2),t[4]||(t[4]=i("span",null,"Universal",-1))]),i("img",{class:"lofty-layout-img",width:"400",src:l(f),alt:""},null,8,B),i("div",{class:"lofty-fake-radio-container",onClick:t[1]||(t[1]=a=>e.value="two-line")},[i("span",{class:p(["lofty-fake-radio",{active:l(e)==="two-line"}])},null,2),t[5]||(t[5]=i("span",null,"Two-line layout",-1))]),i("img",{class:"lofty-layout-img",width:"400",src:l(g),alt:""},null,8,C)]),i("div",N,[t[7]||(t[7]=i("label",{style:{width:"100%"}},"SHOW LISTING FILTER",-1)),q(L,{"initial-condition":l(s),"onUpdate:condition":t[2]||(t[2]=a=>s.value=a),onToggle:t[3]||(t[3]=a=>r.value=a),"get-option-func":y,"any-label":"None"},null,8,["initial-condition"])]),i("div",{class:p(["lofty-widget-save",{disabled:l(n)}]),onClick:v},b(l(n)?"Saved":"Save"),3)],4))}},E=w(U,[["__scopeId","data-v-f7432f80"]]);window.loftyWidgetAdminRender=function(){const o=document.querySelectorAll(".lofty-admin-widget-quick-search");o.length>0&&o.forEach(f=>{const g=f.getAttribute("id"),e=k(g),s=e.getModuleData()||{},{id:r,$:u}=e,n=u("#admin-app");n.__vue_app__||D(E,{id:r,initData:s}).mount(n)})};setTimeout(()=>{loftyWidgetAdminRender()},3e3);
     1import{_ as w,h as m}from"./_plugin-vue_export-helper.xU-N2hzF.js";/* empty css               */import{c as k}from"./module.CKjUdtPN.js";import{r as c,p as _,o as S,g as I,e as i,y as p,u as l,m as q,t as b,n as A,D}from"./vendor.DSMCY3-_.js";import{M as L}from"./multiSelect.B5wbuXDm.js";import"./index.D8FXyAh2.js";import"./outsideclick.Bw_hMuzW.js";import"./checkBox.97tfRJKL.js";const h="/layout-universal.BBQ9Gjhk.png",T="/layout-two-line.NGE2Q4kl.png",x={class:"form-group"},B=["src"],C=["src"],N={class:"form-group"},U={__name:"app",props:{id:String,initData:Object},setup(o){const f=LoftyIdxUtils.static_url(h),g=LoftyIdxUtils.static_url(T),e=c(o.initData.layout||"universal"),s=c(o.initData.quick_listing_filters||[]),r=c(!1),u=o.id.split("-")[1],n=c(!0);_([e,s],async()=>{n.value=!1});async function v(){if(!u)return;(await m.post("/widget/save/quickSearch",{action:"lofty_widget_save",data:{widget_id:u,config:{layout:e.value,quick_listing_filters:s.value}}})).data&&(n.value=!0)}async function y(d){if(d.value.length>0)return;const a=await m.get("/wp-plugin/admin/listing-search/quickSearch/conditions");d.value=a.data}return(d,t)=>(S(),I("div",{class:"lofty-admin-widget-config lofty-reset-style",style:A({height:l(r)?"350px":"unset"})},[i("div",x,[t[6]||(t[6]=i("label",null,"LAYOUT",-1)),i("div",{class:"lofty-fake-radio-container",onClick:t[0]||(t[0]=a=>e.value="universal")},[i("span",{class:p(["lofty-fake-radio",{active:l(e)==="universal"}])},null,2),t[4]||(t[4]=i("span",null,"Universal",-1))]),i("img",{class:"lofty-layout-img",width:"400",src:l(f),alt:""},null,8,B),i("div",{class:"lofty-fake-radio-container",onClick:t[1]||(t[1]=a=>e.value="two-line")},[i("span",{class:p(["lofty-fake-radio",{active:l(e)==="two-line"}])},null,2),t[5]||(t[5]=i("span",null,"Two-line layout",-1))]),i("img",{class:"lofty-layout-img",width:"400",src:l(g),alt:""},null,8,C)]),i("div",N,[t[7]||(t[7]=i("label",{style:{width:"100%"}},"SHOW LISTING FILTER",-1)),q(L,{"initial-condition":l(s),"onUpdate:condition":t[2]||(t[2]=a=>s.value=a),onToggle:t[3]||(t[3]=a=>r.value=a),"get-option-func":y,"any-label":"None"},null,8,["initial-condition"])]),i("div",{class:p(["lofty-widget-save",{disabled:l(n)}]),onClick:v},b(l(n)?"Saved":"Save"),3)],4))}},E=w(U,[["__scopeId","data-v-f7432f80"]]);window.loftyWidgetAdminRender=function(){const o=document.querySelectorAll(".lofty-admin-widget-quick-search");o.length>0&&o.forEach(f=>{const g=f.getAttribute("id"),e=k(g),s=e.getModuleData()||{},{id:r,$:u}=e,n=u("#admin-app");n.__vue_app__||D(E,{id:r,initData:s}).mount(n)})};setTimeout(()=>{loftyWidgetAdminRender()},3e3);
  • lofty-idx/trunk/assets/feature-listing.js

    r3348566 r3348893  
    1 import{h as B,i as f}from"./_plugin-vue_export-helper.Cq0ParU2.js";import{r as L,I as P,l as U,k as H,o,g as l,u as s,e,m as C,y as _,F as k,h as w,j as y,t as g,d as $,c as D,n as F,D as p}from"./vendor.DSMCY3-_.js";import{c as A}from"./module.CKjUdtPN.js";import{f as G}from"./house-format.B6FoJSlV.js";import{E as R,_ as T}from"./feature-listing-slider.BkyxHd8D.js";import{_ as M}from"./houseSlider.CQBIXO6D.js";import{c as E}from"./verify-email.x9ITyz1P.js";import{u as N}from"./user.BcbXWidr.js";import{f as V}from"./popup-trigger.CvQ0KgB4.js";import{a as q,s as W}from"./popup-mls.B3nJZ9V8.js";import"./number-format.CLdvQh6j.js";import"./index.DzRoBq24.js";import"./google.Dg-2iVCG.js";import"./index.DnZD_ROs.js";import"./useConfirm.DbQjtEKi.js";const b={};function K(t){const i=t.getModuleData(),a={module:t,data:i,layout:i.layout||"grid",featuredListingName:i.featuredListingName,list:L([]),showMore:L(i.layoutConfig.showButton),moreText:L(i.layoutConfig.buttonText),isShortCode:!!i.shortcode_config.layout,shortcode_config:i.shortcode_config},c={async searchList(){const n={action:"lofty_idx_api",data:{pageSize:i.layoutConfig.default,page:1,listingType:"featured-listing",featureListingName:i.featureListingName||"WP_CUSTOM_FEATURED_LISTING"},headers:{}};a.isShortCode||(n.headers.trackingpagekey="featured_listing");const h=await B.get("/search/realTimeListings",n);h.data.listings.forEach(m=>G(m)),a.list.value=h.data.listings},moreClick(){const n=document.createElement("a");n.target=f?"_self":"_blank",n.href=`/listing/?featureListingName=${i.featureListingName}&pageKey=search`,document.body.appendChild(n),n.click(),document.body.removeChild(n)}};return{...a,...c,onload:c.searchList()}}function Q(t){b[t.id]=K(t)}const J={key:0,class:"lofty-listing-slider"},X=["src"],Y={key:0,class:"lofty-single-house"},Z={key:1,class:"lofty-listing-slider-empty"},tt={__name:"listingSlider",props:{id:String,config:Object},setup(t){P();const{onload:i,list:a,module:c,showMore:n,moreText:h,moreClick:m}=b[t.id],u=LoftyIdxUtils.static_url(R),r=t.config.layout,x=["prevNext","next"].includes(r);function I(){const v=a.value.length;if(f)return v>1;if(r==="full")return v>1;if(r==="next")return v>2;if(r==="prevNext")return v>3}U(()=>{i.then(()=>{j()})});function j(){if(a.value.length<2)return;a.value.length===2&&r==="next"&&a.value.push(...a.value);const v=c.$(".swiper-container");let d={navigation:{prevEl:".listing-slider-prev-button",nextEl:".listing-slider-next-button"},loop:I(),initialSlide:r==="prevNext"&&a.value.length>2?1:0,observer:!0,spaceBetween:f?10:0,speed:t.config.speed||1e3,centeredSlides:!f&&r!=="next",centeredSlidesBounds:!1,injectStyles:[`:host .swiper-button-disabled {
     1import{h as B,i as f}from"./_plugin-vue_export-helper.xU-N2hzF.js";import{r as L,I as P,l as U,k as H,o,g as l,u as s,e,m as C,y as _,F as k,h as w,j as y,t as g,d as $,c as D,n as F,D as p}from"./vendor.DSMCY3-_.js";import{c as A}from"./module.CKjUdtPN.js";import{f as G}from"./house-format.4tigxTMo.js";import{E as R,_ as T}from"./feature-listing-slider.D8NpqqUJ.js";import{_ as M}from"./houseSlider.DMvAhjQF.js";import{c as E}from"./verify-email.DiKlRKza.js";import{u as N}from"./user.DqlV81fM.js";import{f as V}from"./popup-trigger.DuPNuQEE.js";import{a as q,s as W}from"./popup-mls.BxADJAYE.js";import"./number-format.CLdvQh6j.js";import"./index.BDRldrfu.js";import"./google.DHErjYju.js";import"./index.Bi752R10.js";import"./useConfirm.BD1rw4lC.js";const b={};function K(t){const i=t.getModuleData(),a={module:t,data:i,layout:i.layout||"grid",featuredListingName:i.featuredListingName,list:L([]),showMore:L(i.layoutConfig.showButton),moreText:L(i.layoutConfig.buttonText),isShortCode:!!i.shortcode_config.layout,shortcode_config:i.shortcode_config},c={async searchList(){const n={action:"lofty_idx_api",data:{pageSize:i.layoutConfig.default,page:1,listingType:"featured-listing",featureListingName:i.featureListingName||"WP_CUSTOM_FEATURED_LISTING"},headers:{}};a.isShortCode||(n.headers.trackingpagekey="featured_listing");const h=await B.get("/search/realTimeListings",n);h.data.listings.forEach(m=>G(m)),a.list.value=h.data.listings},moreClick(){const n=document.createElement("a");n.target=f?"_self":"_blank",n.href=`/listing/?featureListingName=${i.featureListingName}&pageKey=search`,document.body.appendChild(n),n.click(),document.body.removeChild(n)}};return{...a,...c,onload:c.searchList()}}function Q(t){b[t.id]=K(t)}const J={key:0,class:"lofty-listing-slider"},X=["src"],Y={key:0,class:"lofty-single-house"},Z={key:1,class:"lofty-listing-slider-empty"},tt={__name:"listingSlider",props:{id:String,config:Object},setup(t){P();const{onload:i,list:a,module:c,showMore:n,moreText:h,moreClick:m}=b[t.id],u=LoftyIdxUtils.static_url(R),r=t.config.layout,x=["prevNext","next"].includes(r);function I(){const v=a.value.length;if(f)return v>1;if(r==="full")return v>1;if(r==="next")return v>2;if(r==="prevNext")return v>3}U(()=>{i.then(()=>{j()})});function j(){if(a.value.length<2)return;a.value.length===2&&r==="next"&&a.value.push(...a.value);const v=c.$(".swiper-container");let d={navigation:{prevEl:".listing-slider-prev-button",nextEl:".listing-slider-next-button"},loop:I(),initialSlide:r==="prevNext"&&a.value.length>2?1:0,observer:!0,spaceBetween:f?10:0,speed:t.config.speed||1e3,centeredSlides:!f&&r!=="next",centeredSlidesBounds:!1,injectStyles:[`:host .swiper-button-disabled {
    22        pointer-events: auto;
    33      }`]};t.config.autoPlay&&(d.autoplay={delay:t.config.duration*1e3,pauseOnMouseEnter:!0}),(x||f)&&(d.slidesPerView="auto",d.effect="coverflow",d.coverflowEffect={rotate:0,depth:0,scale:f?1:(50-100/window.innerWidth*100)/50,slideShadows:!1}),Object.assign(v,d),v.initialize()}const O=H("swiperRef");return(v,d)=>(o(),l(k,null,[s(a).length>0?(o(),l("div",J,[e("img",{class:"img-background",src:s(u),alt:""},null,8,X),d[3]||(d[3]=e("div",{class:"mask"},null,-1)),s(a).length===1?(o(),l("div",Y,[C(M,{house:s(a)[0]},null,8,["house"])])):(o(),l("swiper-container",{key:1,init:"false",ref_key:"swiperRef",ref:O,class:_([{"swiper-hide-prev":s(r)==="next"&&!s(f)},"swiper-container"])},[(o(!0),l(k,null,w(s(a),(S,z)=>(o(),l("swiper-slide",{class:_({"swiper-slide-flow":s(x)&&!s(f),"swiper-slide-mobile":s(f)}),key:z},[C(M,{house:S},null,8,["house"])],2))),128))],2)),s(a).length>1&&!s(f)?(o(),l(k,{key:2},[s(r)!=="next"?(o(),l("div",{key:0,class:_(["listing-slider-prev-button",{"sold-button":s(x)}])},d[1]||(d[1]=[e("i",{class:"lofty_iconfont lofty-icon-arrow_06_left"},null,-1)]),2)):y("",!0),e("div",{class:_(["listing-slider-next-button",{"sold-button":s(x),"hide-prev":s(r)==="next"}])},d[2]||(d[2]=[e("i",{class:"lofty_iconfont lofty-icon-arrow_06_right"},null,-1)]),2)],64)):y("",!0)])):(o(),l("div",Z,d[4]||(d[4]=[e("div",{class:"lofty-no-listing"},[e("i",{class:"lofty_iconfont lofty-icon-house_02"}),e("div",{class:"no-listing-text"},"No Listing Found")],-1)]))),s(n)&&s(a).length>0?(o(),l("div",{key:2,onClick:d[0]||(d[0]=(...S)=>s(m)&&s(m)(...S)),class:"lofty-more"},g(s(h)),1)):y("",!0)],64))}},et={class:"lofty-house-card-grid"},st={class:"lofty-house-img-grid"},ot=["href"],lt=["src","alt"],it={class:"lofty-house-info-grid"},nt={class:"lofty-house-price"},at={class:"lofty-house-base"},rt={class:"lofty-feature-address"},ut=["href"],ct={key:0,class:"lofty-house-id"},dt={class:"lofty-mls-info-grid"},ft=["innerHTML"],gt={key:0,class:"lofty-mls-logo"},ht=["src","alt"],yt={__name:"houseGrid",props:{house:Object},setup(t){function i(){E(t.house.id,t.house.collectStatus,()=>{t.house.collectStatus=!t.house.collectStatus})}return(a,c)=>(o(),l("div",et,[e("div",st,[e("a",{target:"_blank",href:t.house.detailUrl},[e("img",{src:t.house.previewPicture,loading:"lazy",alt:t.house.address},null,8,lt),c[0]||(c[0]=e("div",{class:"img-mask"},null,-1))],8,ot)]),t.house.isProtected?(o(),$(T,{key:0,class:"lofty-house-mask-grid"})):y("",!0),e("div",it,[e("p",nt,g(t.house.price),1),e("p",at,[(o(!0),l(k,null,w(t.house.basic,n=>(o(),l("span",{key:n.key},g(n.text),1))),128))]),e("p",rt,[e("a",{target:"_blank",href:t.house.detailUrl},g(t.house.address),9,ut)]),t.house.showMls?(o(),l("p",ct," MLS# "+g(t.house.mlsListingId),1)):y("",!0)]),e("div",dt,[e("p",{class:"lofty-mls-text",innerHTML:t.house.provided},null,8,ft),t.house.mlsLogo?(o(),l("div",gt,[e("img",{src:t.house.mlsLogo,alt:t.house.mlsOrg.name},null,8,ht)])):y("",!0)]),e("i",{onClick:i,style:{"font-size":"24px"},class:_(["lofty_iconfont",t.house.collectStatus?"lofty-icon-heart-fill":"lofty-icon-heart"])},null,2)]))}},mt={key:0,class:"lofty-feature-listing-grid"},vt={class:"lofty-grid-house-list"},kt={key:1,class:"lofty-feature-listing-grid-empty"},_t={__name:"listingGrid",props:{id:String},setup(t){const{list:i,showMore:a,moreText:c,moreClick:n}=b[t.id],h=D(()=>{if(!f)return{width:i.value.length===4?"50%":"33.33%","flex-grow":1}});return(m,u)=>s(i).length>0?(o(),l("div",mt,[e("div",vt,[(o(!0),l(k,null,w(s(i),r=>(o(),$(yt,{style:F(s(h)),house:r,key:r.id},null,8,["style","house"]))),128))]),s(a)?(o(),l("div",{key:0,class:"lofty-more",onClick:u[0]||(u[0]=(...r)=>s(n)&&s(n)(...r))},g(s(c)),1)):y("",!0)])):(o(),l("div",kt,u[1]||(u[1]=[e("div",{class:"lofty-no-listing"},[e("i",{class:"lofty_iconfont lofty-icon-house_02"}),e("div",{class:"no-listing-text"},"No Listing Found")],-1)])))}},wt="/feature-listing-gallery.DAH8vgqo.jpg",xt={class:"lofty-house-card-gallery"},$t={class:"lofty-house-img-gallery"},bt=["href"],St=["src","alt"],Lt={class:"lofty-house-info-gallery"},pt={class:"lofty-house-price"},Ct={class:"lofty-house-base"},Mt={class:"lofty-feature-address"},Nt=["href"],Tt={key:0,class:"lofty-house-id"},Et={class:"lofty-mls-info-gallery"},It=["innerHTML"],jt={key:0,class:"lofty-mls-logo"},Ot=["src","alt"],zt={__name:"houseGallery",props:{house:Object},setup(t){function i(){E(t.house.id,t.house.collectStatus,()=>{t.house.collectStatus=!t.house.collectStatus})}return(a,c)=>(o(),l("div",xt,[e("div",$t,[e("a",{target:"_blank",href:t.house.detailUrl},[e("img",{src:t.house.previewPicture,loading:"lazy",alt:t.house.address},null,8,St),c[0]||(c[0]=e("div",{class:"img-mask"},null,-1))],8,bt),t.house.isProtected?(o(),$(T,{key:0,"show-lock":!s(f)},null,8,["show-lock"])):y("",!0)]),e("div",Lt,[e("p",pt,g(t.house.price),1),e("p",Ct,[(o(!0),l(k,null,w(t.house.basic,n=>(o(),l("span",{key:n.key},g(n.text),1))),128))]),e("p",Mt,[e("a",{target:"_blank",href:t.house.detailUrl},g(t.house.address),9,Nt)]),t.house.showMls?(o(),l("p",Tt," MLS# "+g(t.house.mlsListingId),1)):y("",!0),e("div",Et,[e("p",{class:"lofty-mls-text",innerHTML:t.house.provided},null,8,It),t.house.mlsLogo?(o(),l("div",jt,[e("img",{src:t.house.mlsLogo,alt:t.house.mlsOrg.name},null,8,Ot)])):y("",!0)])]),e("i",{onClick:i,style:{"font-size":"24px"},class:_(["lofty_iconfont",t.house.collectStatus?"lofty-icon-heart-fill":"lofty-icon-heart"])},null,2)]))}},Bt={key:0,class:"lofty-feature-listing-gallery"},Pt=["src"],Ut={class:"gallery-house-content"},Ht={class:"title-info"},Dt={class:"title"},Ft={key:1,class:"lofty-feature-listing-gallery-empty"},At={__name:"listingGallery",props:{id:String,config:Object},setup(t){const{list:i,showMore:a,moreText:c,moreClick:n}=b[t.id],h=LoftyIdxUtils.static_url(wt);return(m,u)=>s(i).length>0?(o(),l("div",Bt,[e("img",{class:"img-background",src:s(h),alt:""},null,8,Pt),u[3]||(u[3]=e("div",{class:"mask"},null,-1)),e("div",Ut,[e("div",Ht,[e("div",Dt,g(t.config.title),1),u[2]||(u[2]=e("div",{class:"line"},null,-1)),s(a)&&!s(f)?(o(),l("div",{key:0,class:"lofty-more-btn",onClick:u[0]||(u[0]=(...r)=>s(n)&&s(n)(...r))},g(s(c)),1)):y("",!0)]),(o(!0),l(k,null,w(s(i),r=>(o(),$(zt,{class:"gallery-house-card",key:r.id,house:r},null,8,["house"]))),128))]),s(a)&&s(f)?(o(),l("div",{key:0,class:"lofty-more-btn",onClick:u[1]||(u[1]=(...r)=>s(n)&&s(n)(...r))},g(s(c)),1)):y("",!0)])):(o(),l("div",Ft,u[4]||(u[4]=[e("div",{class:"lofty-no-listing"},[e("i",{class:"lofty_iconfont lofty-icon-house_02"}),e("div",{class:"no-listing-text"},"No Listing Found")],-1)])))}};q();N.initState(()=>{var t,i;V(),(i=(t=N.mlsList)==null?void 0:t.forEach)==null||i.call(t,a=>W(a))});jQuery(".lofty-feature-listing-page").ready(function(){document.querySelectorAll(".lofty-feature-listing-page").forEach(i=>{const a=i.getAttribute("id"),c=A(a);Q(c);const{id:n,$:h,getModuleData:m}=c,u=m().layout||"grid",r=m().layoutConfig;u==="gallery"?p(At,{id:n,config:r}).mount(h("#lofty-feature-listing-container")):u==="slider"?p(tt,{id:n,config:r}).mount(h("#lofty-feature-listing-container")):p(_t,{id:n,config:r}).mount(h("#lofty-feature-listing-container"))})});
  • lofty-idx/trunk/assets/home-valuation.js

    r3348566 r3348893  
    1 import{u as q,h as F,_ as Y,i as B,g as Z}from"./_plugin-vue_export-helper.Cq0ParU2.js";import{r as y,o as m,g,e as t,q as w,v as U,u as e,s as D,z as V,x as P,j as k,F as G,h as K,t as f,y as N,a as H,d as z,w as J,m as R,c as O,D as W}from"./vendor.DSMCY3-_.js";import{c as X}from"./module.CKjUdtPN.js";import{u as L}from"./user.BcbXWidr.js";import{_ as ee}from"./index.DtjRETok.js";import{M as te}from"./icon.jDvjNekX.js";import{C as se}from"./google.Dg-2iVCG.js";import{s as ne}from"./index.DzRoBq24.js";import{n as T}from"./number-format.CLdvQh6j.js";import{T as oe}from"./tooltip.DzDTXEs_.js";import{_ as ae}from"./index.DAwEVGKX.js";import"./marker.CSvYKl9X.js";import"./index.DnZD_ROs.js";import"./outsideclick.Bw_hMuzW.js";const le={};function ie(s){return s.getModuleData(),{...{module:s},...{}}}function re(s){le[s.id]=ie(s)}const ce={class:"lofty-home-valuation-step1"},ue={class:"address-body"},de={class:"address-input-container"},me=["placeholder"],pe={class:"error-tip"},fe={class:"autocomplete"},he=["onClick"],ve=["innerHTML"],ge={key:0,class:"shu-line"},_e={__name:"Step1",props:{step1:Object},emits:["next"],setup(s,{emit:p}){const h=p,r=y(""),l=y(""),u=y(!1),n=y([]),a=q.debounce(async function(v){if(!v.target.value)return;const o={query:v.target.value,country:"usa",beginHighlight:encodeURIComponent("<mark>"),endHighlight:encodeURIComponent("</mark>")},S=(await F.get("/search/home-j/here-api/autoSuggest",{data:o})).data,I=[];for(let M=0,j=0,E=S.length;j<5&&M<E;M++){let A=_(S[M]);A&&I.indexOf(A)===-1&&(I.push(A),j++)}n.value=I,u.value=!0}),d=y(!1);function C(){if(!r.value){d.value=!0,setTimeout(()=>{d.value=!1},3e3);return}h("next",r.value,l.value)}function $(v){r.value=v,u.value=!1}function _(v){let o=v.address,c=x(o,["houseNumber","street"])+x(o,["city"]);return c?decodeURIComponent(c+x(o,["state","postalCode"],!1)):null}function x(v,o,c){let S=[],I="";for(let M=0,j=o.length;M<j;M++){let E=v[o[M]];E&&I!==E&&S.push(I=E)}return S.length?S.join(" ")+(c===!1?"":", "):""}function b(){u.value=!1}function i(){r.value="",u.value=!1}return(v,o)=>(m(),g("div",ce,[t("div",ue,[t("div",de,[w(t("input",{class:"address-input","onUpdate:modelValue":o[0]||(o[0]=c=>D(r)?r.value=c:null),type:"text",placeholder:s.step1.placeholder,onMousedown:o[1]||(o[1]=V(()=>{},["stop"])),onDblclick:o[2]||(o[2]=V(()=>{},["stop"])),onFocus:V(b,["stop"]),onTouchstart:V(b,["stop"]),onInput:o[3]||(o[3]=V((...c)=>e(a)&&e(a)(...c),["stop"]))},null,40,me),[[U,e(r)]]),w(t("div",pe,"A valid address is required to continue",512),[[P,e(d)]]),e(r)?(m(),g("i",{key:0,class:"lofty_iconfont lofty-icon-close",onClick:i})):k("",!0),w(t("ul",fe,[(m(!0),g(G,null,K(e(n),c=>(m(),g("li",{key:c,class:"item",onClick:S=>$(c)},[o[5]||(o[5]=t("i",{class:"lofty_iconfont lofty-icon-location_02"},null,-1)),t("span",{innerHTML:c},null,8,ve)],8,he))),128))],512),[[P,e(n).length>0&&e(u)]])]),s.step1.showUnit?(m(),g("div",ge)):k("",!0),s.step1.showUnit?w((m(),g("input",{key:1,"onUpdate:modelValue":o[4]||(o[4]=c=>D(l)?l.value=c:null),class:"unit-input",placeholder:"Unit"},null,512)),[[U,e(l)]]):k("",!0),t("div",{class:"lofty-btn lofty-next-btn",onClick:C},f(s.step1.buttonText),1)])]))}},ye={props:{map:Object},data(){return{fullscreen:!1}},methods:{handler(){this.fullscreen?this.exitFullscreen():this.fullScreen(this.map.getElement().parentElement.parentElement),this.fullscreen=!this.fullscreen},fullScreen(s){s.requestFullscreen?s.requestFullscreen():s.msRequestFullscreen?s.msRequestFullscreen():s.mozRequestFullScreen?s.mozRequestFullScreen():s.webkitRequestFullscreen&&s.webkitRequestFullscreen()},exitFullscreen(){document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()}}};function be(s,p,h,r,l,u){return m(),g("i",{class:N(["lofty_iconfont fullscreen-tool",l.fullscreen?"lofty-icon-exit-fullscreen":"lofty-icon-a-fullscreen"]),onClick:p[0]||(p[0]=(...n)=>u.handler&&u.handler(...n))},null,2)}const $e=Y(ye,[["render",be]]),Q={__name:"StepMap",props:{address:String},setup(s){l();const p={zoom:14,center:{lat:0,lng:0}},h=y(!1),r=H({name:s.address,lat:0,lng:0,icon:"lofty-icon-location_02",iconColor:"rgba(240, 69, 76, 1)"});async function l(){const a={query:s.address},{data:d}=await F.get("/search/home-j/here-api/geoPoint",{data:a});d&&d.lng&&(p.center.lng=d.lng,p.center.lat=d.lat,r.lat=d.lat,r.lng=d.lng,h.value=!0)}const u=y(null);function n(a){u.value=a}return(a,d)=>e(h)?(m(),z(ee,{key:0,class:"step-map-container",config:p,onInit:n},{default:J(()=>[R($e,{class:"map-tool",map:e(u)},null,8,["map"]),R(te,{data:e(r),map:e(u)},null,8,["data","map"])]),_:1})):k("",!0)}},we={class:"lofty-home-valuation-step2"},ke={class:"home-map-container"},xe={class:"lofty-property-form"},Ne={key:0,class:"step2-title"},Se={key:1,class:"step2-desc"},Ce={class:"form-wrap"},Me={class:"form-name"},Re={class:"input-wrapper"},Ie=["placeholder"],Ue={class:"input-wrapper"},Fe=["placeholder"],Pe={class:"input-wrapper"},Ee={class:"input-wrapper"},Ve={key:0,class:"policy-para"},qe=["innerHTML"],Le={__name:"Step2",props:{step2:Object,address:String,unit:String},emits:["next"],setup(s,{emit:p}){const h=L.commonData.disclaimer,r=p,l=y(!1),u=O(()=>{const v=s.step2.nameRequired&&(!n.firstName||!n.lastName);return h&&!l.value||!n.account||!n.phoneNumber||v}),n=H({firstName:"",lastName:"",account:"",phoneNumber:""}),a=H({accountMsg:"",phoneNumberMsg:""}),d=/^([a-z0-9]+\+)?[a-z0-9.'\-_]+@[a-z0-9\-_]+\.[a-z0-9.\-]+$/i,C=/^\d{3}-?\d{3}-?\d{4}$/;async function $(){const v={account:n.account},o=await F.get("/register/hasUser",{data:v});o.status.code===210003?(ne(()=>{_()},n.account,"login"),q.toast(o.status.msg,3e3)):x()}function _(){r("next")}async function x(){var o;const v=await F.get(`/register/phoneValidate?phoneNumber=${n.phoneNumber}`);if(v.status.code===0){const c={firstName:n.firstName,lastName:n.lastName,account:n.account,phoneNumber:n.phoneNumber,roles:"1"};(o=(await F.post("/register/leadRegister",{data:c})).data)!=null&&o.user&&(q.toast("Registered Successfully",2e3),await L.getCommonInfo(),_())}else a.phoneNumber=v.status.msg,i()}function b(){if(!u.value){if(!d.test(n.account)){a.accountMsg="Email invalid",i();return}if(!C.test(n.phoneNumber)){a.phoneNumberMsg="Please enter a valid phone number format.",i();return}$()}}function i(){setTimeout(()=>{Object.keys(a).forEach(v=>{a[v]=""})},3e3)}return(v,o)=>(m(),g("div",we,[t("div",ke,[R(Q,{address:s.address},null,8,["address"])]),t("div",xe,[e(B)?k("",!0):(m(),g("div",Ne,f(s.step2.title),1)),e(B)?k("",!0):(m(),g("div",Se,f(s.step2.desc),1)),t("div",Ce,[t("div",Me,[t("div",Re,[w(t("input",{"onUpdate:modelValue":o[0]||(o[0]=c=>e(n).firstName=c),placeholder:`First Name${s.step2.nameRequired?" *":""}`,type:"text"},null,8,Ie),[[U,e(n).firstName]])]),t("div",Ue,[w(t("input",{"onUpdate:modelValue":o[1]||(o[1]=c=>e(n).lastName=c),placeholder:`Last Name${s.step2.nameRequired?" *":""}`,type:"text"},null,8,Fe),[[U,e(n).lastName]])])]),t("div",Pe,[w(t("input",{"onUpdate:modelValue":o[2]||(o[2]=c=>e(n).account=c),inputmode:"email",class:N([{error:e(a).accountMsg},"mt10"]),placeholder:"Email *",type:"text"},null,2),[[U,e(n).account]]),w(t("span",null,f(e(a).accountMsg),513),[[P,e(a).accountMsg]])]),t("div",Ee,[w(t("input",{"onUpdate:modelValue":o[3]||(o[3]=c=>e(n).phoneNumber=c),inputmode:"tel",class:N([{error:e(a).phoneNumberMsg},"mt10"]),placeholder:"Phone *",type:"text"},null,2),[[U,e(n).phoneNumber]]),w(t("span",null,f(e(a).phoneNumberMsg),513),[[P,e(a).phoneNumberMsg]])]),e(h)?(m(),g("div",Ve,[R(se,{modelValue:e(l),"onUpdate:modelValue":o[4]||(o[4]=c=>D(l)?l.value=c:null)},null,8,["modelValue"]),t("span",{innerHTML:e(h),class:"policy-text"},null,8,qe)])):k("",!0),t("div",{class:N(["lofty-btn next-btn",{disabled:e(u)}]),onClick:b},"Next",2)])])]))}},je={class:"lofty-home-valuation-step3"},Te={class:"home-map-container"},ze={class:"home-report-result"},Ae={class:"address-info"},De={class:"address-detail"},He={class:"street"},Je={class:"report-info"},Oe={key:0,class:"result-detail"},Be={class:"step3-title"},Ze={class:"price-result"},Qe={class:"house-price"},Ye={class:"price-change"},Ge={class:"min-max-container"},Ke={class:"price-wrapper"},We={class:"money"},Xe={class:"price-wrapper"},et={class:"money"},tt={class:"last-30"},st={key:0,class:"price-trend"},nt={class:"money"},ot={key:1},at={key:1,class:"thank-you"},lt={key:0,class:"agent-info"},it=["src"],rt={class:"agent-detail"},ct={class:"agent-name"},ut=["href"],dt=["href"],mt={__name:"Step3",props:{step3:Object,submitJs:String},setup(s){const p=Z(),h=y(decodeURIComponent(p.address||""));let r=p.evaluationId||0;const[l,u]=[y(""),y("")];_(),r===0&&q.executeSubmitJS(s.submitJs);const n=y({}),a=y({}),d=O(()=>+a.value.minus30Zestimate?+a.value.housePrice-+a.value.minus30Zestimate:0),C=O(()=>d.value?`${(100*d.value/+a.value.minus30Zestimate).toFixed(2)}%`:0),$=y(!0);async function _(){const b={address:h.value,unit:decodeURIComponent(p.unit||""),isTimeLine:r?"1":"0",useEvaluation:s.step3.autoValuation?"1":"0"};r&&(b.evaluationId=r);const i=await F.get("/evaluation/report-json",{data:b});$.value=!1,r=i.data.evaluationId,l.value=i.data.listing.streetAddress||"-",u.value=i.data.listing.cityAddress,h.value=`${l.value}${u.value}`,n.value=i.data.agentInfo,i.data.hasReport?a.value=i.data.report:s.step3.autoValuation=!1,x()}function x(){const b=new URL(window.location.href);b.searchParams.set("address",encodeURIComponent(h.value)),b.searchParams.set("evaluationId",r),window.history.replaceState({},"",b)}return(b,i)=>(m(),g("div",je,[R(ae,{loading:e($)},null,8,["loading"]),w(t("div",Te,[R(Q,{address:e(h)},null,8,["address"])],512),[[P,!e($)]]),w(t("div",ze,[t("div",Ae,[i[0]||(i[0]=t("i",{class:"lofty_iconfont lofty-icon-location_02"},null,-1)),t("div",De,[t("div",He,f(e(l)),1),t("div",null,f(e(u)),1)])]),t("div",Je,[s.step3.autoValuation?(m(),g("div",Oe,[t("div",Be,f(s.step3.title),1),t("div",Ze,[t("div",Qe,f(e(T)(e(a).housePrice,null,2,"$")),1),R(oe,null,{trigger:J(()=>i[1]||(i[1]=[t("span",{class:"lofty_iconfont lofty-icon-help"},null,-1)])),content:J(()=>i[2]||(i[2]=[t("span",{class:"help-tip"}," The estimated price is fetched from a 3rd party vendor. ",-1)])),_:1})]),t("div",Ye,[t("div",null,[i[6]||(i[6]=t("div",{class:"label-title"},"Price Range:",-1)),t("div",Ge,[t("div",Ke,[i[3]||(i[3]=t("i",{class:"lofty_iconfont lofty-icon-trend-down"},null,-1)),t("div",We,f(e(T)(e(a).houseLow,null,2,"$")),1)]),i[5]||(i[5]=t("span",null,"-",-1)),t("div",Xe,[i[4]||(i[4]=t("i",{class:"lofty_iconfont lofty-icon-trend-up"},null,-1)),t("div",et,f(e(T)(e(a).houseHigh,null,2,"$")),1)])])]),t("div",tt,[i[7]||(i[7]=t("div",{class:"label-title"},"Last 30-day change:",-1)),e(d)?(m(),g("div",st,[t("div",nt,f(e(d)>0?"+":"-")+f(e(T)(e(d),null,2,"$")),1),t("div",{class:N(["lofty_iconfont",e(d)>0?"lofty-icon-arrow_03_up":"lofty-icon-arrow_04_down"])},null,2),t("span",{class:N(e(d)>0?"up":"down")},f(e(C)),3)])):(m(),g("div",ot,"--"))])])])):(m(),g("div",at,f(s.step3.thankYou),1))]),e(n).agentId?(m(),g("div",lt,[t("img",{src:e(n).image,alt:""},null,8,it),t("div",rt,[t("div",ct,f(e(n).fullName),1),t("a",{href:`tel:${e(n).phone}`,class:"agent-phone"},f(e(n).phone),9,ut),t("a",{href:`mailto:${e(n).email}`,class:"agent-email"},f(e(n).email),9,dt)])])):k("",!0)],512),[[P,!e($)]])]))}},pt={class:"lofty-home-valuation-content"},ft=["src"],ht={class:"step-progress"},vt={class:"title"},gt={class:"desc"},_t={__name:"index",props:{imgUrl:String,config:Object,submitJs:String},setup(s){const{step1:p,step2:h,step3:r}=s.config;q.getHereMapPs();const l=y(1),u=Z(),n=y(decodeURIComponent(u.address||"")),a=y(decodeURIComponent(u.unit||""));u.evaluationId&&(u.isPopup==="0"||L.loginStatus.value?l.value=3:l.value=2);function d($,_){n.value=$,a.value=_;const x=new URL(window.location.href);x.searchParams.set("address",encodeURIComponent($)),x.searchParams.set("unit",encodeURIComponent(_)),window.history.replaceState({},"",x),L.loginStatus.value?l.value=3:l.value=2}function C(){l.value=3}return($,_)=>(m(),g("div",pt,[s.imgUrl?(m(),g("img",{key:0,class:"lofty-home-valuation-bg",src:s.imgUrl,alt:""},null,8,ft)):k("",!0),_[3]||(_[3]=t("div",{class:"img-mask"},null,-1)),t("div",ht,[t("div",{class:N(["step-block",{active:e(l)===1}])},_[0]||(_[0]=[t("div",{class:"step-num has-line"},"1",-1),t("div",{class:"step-desc"},"Enter Property Address",-1)]),2),t("div",{class:N(["step-block",{active:e(l)===2}])},_[1]||(_[1]=[t("div",{class:"step-num has-line"},"2",-1),t("div",{class:"step-desc"},"Property Details",-1)]),2),t("div",{class:N(["step-block",{active:e(l)===3}])},_[2]||(_[2]=[t("div",{class:"step-num"},"3",-1),t("div",{class:"step-desc"},"Property Valuation",-1)]),2)]),t("div",vt,f(e(p).title),1),t("div",gt,f(e(p).desc),1),e(l)===1?(m(),z(_e,{key:1,onNext:d,step1:e(p)},null,8,["step1"])):k("",!0),e(l)===2?(m(),z(Le,{key:2,onNext:C,step2:e(h),address:e(n),unit:e(a)},null,8,["step2","address","unit"])):k("",!0),e(l)===3?(m(),z(mt,{key:3,step3:e(r),submitJs:s.submitJs},null,8,["step3","submitJs"])):k("",!0)]))}};jQuery(".lofty-home-valuation-page").ready(function(){const s=document.querySelectorAll(".lofty-home-valuation-page");L.initState(()=>{s.forEach(p=>{const h=p.getAttribute("id"),r=X(h);re(r);const{$:l,getModuleData:u}=r,{config:n,imgUrl:a,submitJs:d}=u();W(_t,{config:n,imgUrl:a,submitJs:d}).mount(l("#lofty-home-valuation-container"))})})});
     1import{u as q,h as F,_ as Y,i as B,g as Z}from"./_plugin-vue_export-helper.xU-N2hzF.js";import{r as y,o as m,g,e as t,q as w,v as U,u as e,s as D,z as V,x as P,j as k,F as G,h as K,t as f,y as N,a as H,d as z,w as J,m as R,c as O,D as W}from"./vendor.DSMCY3-_.js";import{c as X}from"./module.CKjUdtPN.js";import{u as L}from"./user.DqlV81fM.js";import{_ as ee}from"./index.B8LFivOP.js";import{M as te}from"./icon.DOVeOS6k.js";import{C as se}from"./google.DHErjYju.js";import{s as ne}from"./index.BDRldrfu.js";import{n as T}from"./number-format.CLdvQh6j.js";import{T as oe}from"./tooltip.w0glU4UR.js";import{_ as ae}from"./index.DAwEVGKX.js";import"./marker.DwqF6Dh_.js";import"./index.Bi752R10.js";import"./outsideclick.Bw_hMuzW.js";const le={};function ie(s){return s.getModuleData(),{...{module:s},...{}}}function re(s){le[s.id]=ie(s)}const ce={class:"lofty-home-valuation-step1"},ue={class:"address-body"},de={class:"address-input-container"},me=["placeholder"],pe={class:"error-tip"},fe={class:"autocomplete"},he=["onClick"],ve=["innerHTML"],ge={key:0,class:"shu-line"},_e={__name:"Step1",props:{step1:Object},emits:["next"],setup(s,{emit:p}){const h=p,r=y(""),l=y(""),u=y(!1),n=y([]),a=q.debounce(async function(v){if(!v.target.value)return;const o={query:v.target.value,country:"usa",beginHighlight:encodeURIComponent("<mark>"),endHighlight:encodeURIComponent("</mark>")},S=(await F.get("/search/home-j/here-api/autoSuggest",{data:o})).data,I=[];for(let M=0,j=0,E=S.length;j<5&&M<E;M++){let A=_(S[M]);A&&I.indexOf(A)===-1&&(I.push(A),j++)}n.value=I,u.value=!0}),d=y(!1);function C(){if(!r.value){d.value=!0,setTimeout(()=>{d.value=!1},3e3);return}h("next",r.value,l.value)}function $(v){r.value=v,u.value=!1}function _(v){let o=v.address,c=x(o,["houseNumber","street"])+x(o,["city"]);return c?decodeURIComponent(c+x(o,["state","postalCode"],!1)):null}function x(v,o,c){let S=[],I="";for(let M=0,j=o.length;M<j;M++){let E=v[o[M]];E&&I!==E&&S.push(I=E)}return S.length?S.join(" ")+(c===!1?"":", "):""}function b(){u.value=!1}function i(){r.value="",u.value=!1}return(v,o)=>(m(),g("div",ce,[t("div",ue,[t("div",de,[w(t("input",{class:"address-input","onUpdate:modelValue":o[0]||(o[0]=c=>D(r)?r.value=c:null),type:"text",placeholder:s.step1.placeholder,onMousedown:o[1]||(o[1]=V(()=>{},["stop"])),onDblclick:o[2]||(o[2]=V(()=>{},["stop"])),onFocus:V(b,["stop"]),onTouchstart:V(b,["stop"]),onInput:o[3]||(o[3]=V((...c)=>e(a)&&e(a)(...c),["stop"]))},null,40,me),[[U,e(r)]]),w(t("div",pe,"A valid address is required to continue",512),[[P,e(d)]]),e(r)?(m(),g("i",{key:0,class:"lofty_iconfont lofty-icon-close",onClick:i})):k("",!0),w(t("ul",fe,[(m(!0),g(G,null,K(e(n),c=>(m(),g("li",{key:c,class:"item",onClick:S=>$(c)},[o[5]||(o[5]=t("i",{class:"lofty_iconfont lofty-icon-location_02"},null,-1)),t("span",{innerHTML:c},null,8,ve)],8,he))),128))],512),[[P,e(n).length>0&&e(u)]])]),s.step1.showUnit?(m(),g("div",ge)):k("",!0),s.step1.showUnit?w((m(),g("input",{key:1,"onUpdate:modelValue":o[4]||(o[4]=c=>D(l)?l.value=c:null),class:"unit-input",placeholder:"Unit"},null,512)),[[U,e(l)]]):k("",!0),t("div",{class:"lofty-btn lofty-next-btn",onClick:C},f(s.step1.buttonText),1)])]))}},ye={props:{map:Object},data(){return{fullscreen:!1}},methods:{handler(){this.fullscreen?this.exitFullscreen():this.fullScreen(this.map.getElement().parentElement.parentElement),this.fullscreen=!this.fullscreen},fullScreen(s){s.requestFullscreen?s.requestFullscreen():s.msRequestFullscreen?s.msRequestFullscreen():s.mozRequestFullScreen?s.mozRequestFullScreen():s.webkitRequestFullscreen&&s.webkitRequestFullscreen()},exitFullscreen(){document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()}}};function be(s,p,h,r,l,u){return m(),g("i",{class:N(["lofty_iconfont fullscreen-tool",l.fullscreen?"lofty-icon-exit-fullscreen":"lofty-icon-a-fullscreen"]),onClick:p[0]||(p[0]=(...n)=>u.handler&&u.handler(...n))},null,2)}const $e=Y(ye,[["render",be]]),Q={__name:"StepMap",props:{address:String},setup(s){l();const p={zoom:14,center:{lat:0,lng:0}},h=y(!1),r=H({name:s.address,lat:0,lng:0,icon:"lofty-icon-location_02",iconColor:"rgba(240, 69, 76, 1)"});async function l(){const a={query:s.address},{data:d}=await F.get("/search/home-j/here-api/geoPoint",{data:a});d&&d.lng&&(p.center.lng=d.lng,p.center.lat=d.lat,r.lat=d.lat,r.lng=d.lng,h.value=!0)}const u=y(null);function n(a){u.value=a}return(a,d)=>e(h)?(m(),z(ee,{key:0,class:"step-map-container",config:p,onInit:n},{default:J(()=>[R($e,{class:"map-tool",map:e(u)},null,8,["map"]),R(te,{data:e(r),map:e(u)},null,8,["data","map"])]),_:1})):k("",!0)}},we={class:"lofty-home-valuation-step2"},ke={class:"home-map-container"},xe={class:"lofty-property-form"},Ne={key:0,class:"step2-title"},Se={key:1,class:"step2-desc"},Ce={class:"form-wrap"},Me={class:"form-name"},Re={class:"input-wrapper"},Ie=["placeholder"],Ue={class:"input-wrapper"},Fe=["placeholder"],Pe={class:"input-wrapper"},Ee={class:"input-wrapper"},Ve={key:0,class:"policy-para"},qe=["innerHTML"],Le={__name:"Step2",props:{step2:Object,address:String,unit:String},emits:["next"],setup(s,{emit:p}){const h=L.commonData.disclaimer,r=p,l=y(!1),u=O(()=>{const v=s.step2.nameRequired&&(!n.firstName||!n.lastName);return h&&!l.value||!n.account||!n.phoneNumber||v}),n=H({firstName:"",lastName:"",account:"",phoneNumber:""}),a=H({accountMsg:"",phoneNumberMsg:""}),d=/^([a-z0-9]+\+)?[a-z0-9.'\-_]+@[a-z0-9\-_]+\.[a-z0-9.\-]+$/i,C=/^\d{3}-?\d{3}-?\d{4}$/;async function $(){const v={account:n.account},o=await F.get("/register/hasUser",{data:v});o.status.code===210003?(ne(()=>{_()},n.account,"login"),q.toast(o.status.msg,3e3)):x()}function _(){r("next")}async function x(){var o;const v=await F.get(`/register/phoneValidate?phoneNumber=${n.phoneNumber}`);if(v.status.code===0){const c={firstName:n.firstName,lastName:n.lastName,account:n.account,phoneNumber:n.phoneNumber,roles:"1"};(o=(await F.post("/register/leadRegister",{data:c})).data)!=null&&o.user&&(q.toast("Registered Successfully",2e3),await L.getCommonInfo(),_())}else a.phoneNumber=v.status.msg,i()}function b(){if(!u.value){if(!d.test(n.account)){a.accountMsg="Email invalid",i();return}if(!C.test(n.phoneNumber)){a.phoneNumberMsg="Please enter a valid phone number format.",i();return}$()}}function i(){setTimeout(()=>{Object.keys(a).forEach(v=>{a[v]=""})},3e3)}return(v,o)=>(m(),g("div",we,[t("div",ke,[R(Q,{address:s.address},null,8,["address"])]),t("div",xe,[e(B)?k("",!0):(m(),g("div",Ne,f(s.step2.title),1)),e(B)?k("",!0):(m(),g("div",Se,f(s.step2.desc),1)),t("div",Ce,[t("div",Me,[t("div",Re,[w(t("input",{"onUpdate:modelValue":o[0]||(o[0]=c=>e(n).firstName=c),placeholder:`First Name${s.step2.nameRequired?" *":""}`,type:"text"},null,8,Ie),[[U,e(n).firstName]])]),t("div",Ue,[w(t("input",{"onUpdate:modelValue":o[1]||(o[1]=c=>e(n).lastName=c),placeholder:`Last Name${s.step2.nameRequired?" *":""}`,type:"text"},null,8,Fe),[[U,e(n).lastName]])])]),t("div",Pe,[w(t("input",{"onUpdate:modelValue":o[2]||(o[2]=c=>e(n).account=c),inputmode:"email",class:N([{error:e(a).accountMsg},"mt10"]),placeholder:"Email *",type:"text"},null,2),[[U,e(n).account]]),w(t("span",null,f(e(a).accountMsg),513),[[P,e(a).accountMsg]])]),t("div",Ee,[w(t("input",{"onUpdate:modelValue":o[3]||(o[3]=c=>e(n).phoneNumber=c),inputmode:"tel",class:N([{error:e(a).phoneNumberMsg},"mt10"]),placeholder:"Phone *",type:"text"},null,2),[[U,e(n).phoneNumber]]),w(t("span",null,f(e(a).phoneNumberMsg),513),[[P,e(a).phoneNumberMsg]])]),e(h)?(m(),g("div",Ve,[R(se,{modelValue:e(l),"onUpdate:modelValue":o[4]||(o[4]=c=>D(l)?l.value=c:null)},null,8,["modelValue"]),t("span",{innerHTML:e(h),class:"policy-text"},null,8,qe)])):k("",!0),t("div",{class:N(["lofty-btn next-btn",{disabled:e(u)}]),onClick:b},"Next",2)])])]))}},je={class:"lofty-home-valuation-step3"},Te={class:"home-map-container"},ze={class:"home-report-result"},Ae={class:"address-info"},De={class:"address-detail"},He={class:"street"},Je={class:"report-info"},Oe={key:0,class:"result-detail"},Be={class:"step3-title"},Ze={class:"price-result"},Qe={class:"house-price"},Ye={class:"price-change"},Ge={class:"min-max-container"},Ke={class:"price-wrapper"},We={class:"money"},Xe={class:"price-wrapper"},et={class:"money"},tt={class:"last-30"},st={key:0,class:"price-trend"},nt={class:"money"},ot={key:1},at={key:1,class:"thank-you"},lt={key:0,class:"agent-info"},it=["src"],rt={class:"agent-detail"},ct={class:"agent-name"},ut=["href"],dt=["href"],mt={__name:"Step3",props:{step3:Object,submitJs:String},setup(s){const p=Z(),h=y(decodeURIComponent(p.address||""));let r=p.evaluationId||0;const[l,u]=[y(""),y("")];_(),r===0&&q.executeSubmitJS(s.submitJs);const n=y({}),a=y({}),d=O(()=>+a.value.minus30Zestimate?+a.value.housePrice-+a.value.minus30Zestimate:0),C=O(()=>d.value?`${(100*d.value/+a.value.minus30Zestimate).toFixed(2)}%`:0),$=y(!0);async function _(){const b={address:h.value,unit:decodeURIComponent(p.unit||""),isTimeLine:r?"1":"0",useEvaluation:s.step3.autoValuation?"1":"0"};r&&(b.evaluationId=r);const i=await F.get("/evaluation/report-json",{data:b});$.value=!1,r=i.data.evaluationId,l.value=i.data.listing.streetAddress||"-",u.value=i.data.listing.cityAddress,h.value=`${l.value}${u.value}`,n.value=i.data.agentInfo,i.data.hasReport?a.value=i.data.report:s.step3.autoValuation=!1,x()}function x(){const b=new URL(window.location.href);b.searchParams.set("address",encodeURIComponent(h.value)),b.searchParams.set("evaluationId",r),window.history.replaceState({},"",b)}return(b,i)=>(m(),g("div",je,[R(ae,{loading:e($)},null,8,["loading"]),w(t("div",Te,[R(Q,{address:e(h)},null,8,["address"])],512),[[P,!e($)]]),w(t("div",ze,[t("div",Ae,[i[0]||(i[0]=t("i",{class:"lofty_iconfont lofty-icon-location_02"},null,-1)),t("div",De,[t("div",He,f(e(l)),1),t("div",null,f(e(u)),1)])]),t("div",Je,[s.step3.autoValuation?(m(),g("div",Oe,[t("div",Be,f(s.step3.title),1),t("div",Ze,[t("div",Qe,f(e(T)(e(a).housePrice,null,2,"$")),1),R(oe,null,{trigger:J(()=>i[1]||(i[1]=[t("span",{class:"lofty_iconfont lofty-icon-help"},null,-1)])),content:J(()=>i[2]||(i[2]=[t("span",{class:"help-tip"}," The estimated price is fetched from a 3rd party vendor. ",-1)])),_:1})]),t("div",Ye,[t("div",null,[i[6]||(i[6]=t("div",{class:"label-title"},"Price Range:",-1)),t("div",Ge,[t("div",Ke,[i[3]||(i[3]=t("i",{class:"lofty_iconfont lofty-icon-trend-down"},null,-1)),t("div",We,f(e(T)(e(a).houseLow,null,2,"$")),1)]),i[5]||(i[5]=t("span",null,"-",-1)),t("div",Xe,[i[4]||(i[4]=t("i",{class:"lofty_iconfont lofty-icon-trend-up"},null,-1)),t("div",et,f(e(T)(e(a).houseHigh,null,2,"$")),1)])])]),t("div",tt,[i[7]||(i[7]=t("div",{class:"label-title"},"Last 30-day change:",-1)),e(d)?(m(),g("div",st,[t("div",nt,f(e(d)>0?"+":"-")+f(e(T)(e(d),null,2,"$")),1),t("div",{class:N(["lofty_iconfont",e(d)>0?"lofty-icon-arrow_03_up":"lofty-icon-arrow_04_down"])},null,2),t("span",{class:N(e(d)>0?"up":"down")},f(e(C)),3)])):(m(),g("div",ot,"--"))])])])):(m(),g("div",at,f(s.step3.thankYou),1))]),e(n).agentId?(m(),g("div",lt,[t("img",{src:e(n).image,alt:""},null,8,it),t("div",rt,[t("div",ct,f(e(n).fullName),1),t("a",{href:`tel:${e(n).phone}`,class:"agent-phone"},f(e(n).phone),9,ut),t("a",{href:`mailto:${e(n).email}`,class:"agent-email"},f(e(n).email),9,dt)])])):k("",!0)],512),[[P,!e($)]])]))}},pt={class:"lofty-home-valuation-content"},ft=["src"],ht={class:"step-progress"},vt={class:"title"},gt={class:"desc"},_t={__name:"index",props:{imgUrl:String,config:Object,submitJs:String},setup(s){const{step1:p,step2:h,step3:r}=s.config;q.getHereMapPs();const l=y(1),u=Z(),n=y(decodeURIComponent(u.address||"")),a=y(decodeURIComponent(u.unit||""));u.evaluationId&&(u.isPopup==="0"||L.loginStatus.value?l.value=3:l.value=2);function d($,_){n.value=$,a.value=_;const x=new URL(window.location.href);x.searchParams.set("address",encodeURIComponent($)),x.searchParams.set("unit",encodeURIComponent(_)),window.history.replaceState({},"",x),L.loginStatus.value?l.value=3:l.value=2}function C(){l.value=3}return($,_)=>(m(),g("div",pt,[s.imgUrl?(m(),g("img",{key:0,class:"lofty-home-valuation-bg",src:s.imgUrl,alt:""},null,8,ft)):k("",!0),_[3]||(_[3]=t("div",{class:"img-mask"},null,-1)),t("div",ht,[t("div",{class:N(["step-block",{active:e(l)===1}])},_[0]||(_[0]=[t("div",{class:"step-num has-line"},"1",-1),t("div",{class:"step-desc"},"Enter Property Address",-1)]),2),t("div",{class:N(["step-block",{active:e(l)===2}])},_[1]||(_[1]=[t("div",{class:"step-num has-line"},"2",-1),t("div",{class:"step-desc"},"Property Details",-1)]),2),t("div",{class:N(["step-block",{active:e(l)===3}])},_[2]||(_[2]=[t("div",{class:"step-num"},"3",-1),t("div",{class:"step-desc"},"Property Valuation",-1)]),2)]),t("div",vt,f(e(p).title),1),t("div",gt,f(e(p).desc),1),e(l)===1?(m(),z(_e,{key:1,onNext:d,step1:e(p)},null,8,["step1"])):k("",!0),e(l)===2?(m(),z(Le,{key:2,onNext:C,step2:e(h),address:e(n),unit:e(a)},null,8,["step2","address","unit"])):k("",!0),e(l)===3?(m(),z(mt,{key:3,step3:e(r),submitJs:s.submitJs},null,8,["step3","submitJs"])):k("",!0)]))}};jQuery(".lofty-home-valuation-page").ready(function(){const s=document.querySelectorAll(".lofty-home-valuation-page");L.initState(()=>{s.forEach(p=>{const h=p.getAttribute("id"),r=X(h);re(r);const{$:l,getModuleData:u}=r,{config:n,imgUrl:a,submitJs:d}=u();W(_t,{config:n,imgUrl:a,submitJs:d}).mount(l("#lofty-home-valuation-container"))})})});
  • lofty-idx/trunk/assets/listing-detail.js

    r3348566 r3348893  
    1 import{h as F,g as Ct,i as L,u as st,_ as J}from"./_plugin-vue_export-helper.Cq0ParU2.js";import{c as At}from"./module.CKjUdtPN.js";import{s as St,a as xt}from"./popup-mls.B3nJZ9V8.js";import{u as rt}from"./user.BcbXWidr.js";import{g as It,f as Lt}from"./house-format.B6FoJSlV.js";import{P as ot}from"./index.DnZD_ROs.js";import{s as Tt,c as nt}from"./index.DzRoBq24.js";import{v as Mt,c as Dt}from"./verify-email.x9ITyz1P.js";import{k as K,r as _,l as O,o as s,d as j,w as V,u as e,g as c,e as t,f as N,t as b,j as E,a as it,c as X,D as q,H as pt,F as M,h as H,I as Pt,z as vt,q as P,x as B,y as T,p as lt,m as Z,s as tt,v as gt,J as Vt,n as et,i as Et,K as ft,L as $t}from"./vendor.DSMCY3-_.js";import{T as Bt}from"./tooltip.DzDTXEs_.js";import{_ as at}from"./index.5F2_f90D.js";import{f as z}from"./date-format.BrUodQAJ.js";import{I as Ht}from"./IconCopy.DgrShxpL.js";import{u as Rt}from"./useCopy.CluLpl8Z.js";import{_ as qt}from"./index.DtjRETok.js";import{M as mt}from"./icon.jDvjNekX.js";import{n as Gt}from"./number-format.CLdvQh6j.js";import{_ as Nt}from"./index.20AV-SFS.js";import{a as Ut}from"./popup-trigger.CvQ0KgB4.js";import{a as zt}from"./auto-login.CMpMIf1r.js";import"./useConfirm.DbQjtEKi.js";import"./google.Dg-2iVCG.js";import"./outsideclick.Bw_hMuzW.js";import"./marker.CSvYKl9X.js";import"./feature-listing-slider.BkyxHd8D.js";const Zt={key:0,class:"pop-protect-container"},jt={class:"protect-footer"},Ot={key:1,class:"pop-protect-container"},Yt={class:"protect-content"},Kt={class:"lofty-link"},Qt={class:"protect-footer"},Ft=["disabled"],Jt={__name:"protectPop",props:{isDetailPage:{type:Boolean,default:!1}},setup(u){const{loginStatus:m,vowStatus:o,user:r}=rt,v=K("popRef");function i(d){Tt(()=>{u.isDetailPage||window.location.reload()},"",d)}const l=_(!1);function f(){l.value||Mt(()=>{l.value=!0})}return O(()=>{v.value.open()}),(d,a)=>(s(),j(ot,{class:"lofty-under-mask-pop",ref_key:"popRef",ref:v,popMaskClass:"lofty-filter-blur-mask",allowClose:!1},{default:V(()=>[e(m)?e(o)?E("",!0):(s(),c("div",Ot,[a[6]||(a[6]=t("div",{class:"title"}," Email Verification Required ",-1)),t("div",Yt,[a[4]||(a[4]=N(" Go Verify your email at ")),t("span",Kt,b(e(r).account),1),a[5]||(a[5]=t("div",{class:"lofty-tip"}," If you failed to receive the code, please refresh the page and click on the button again to request another one. ",-1))]),t("div",Qt,[t("div",{class:"footer-confirm",style:{"margin-left":"auto"},disabled:e(l),onClick:f},"Verify Your Email",8,Ft)])])):(s(),c("div",Zt,[a[2]||(a[2]=t("div",{class:"title"}," Free Account Required ",-1)),a[3]||(a[3]=t("div",{class:"protect-content"},[t("ul",null,[t("li",null,"Instant access to listing photos & details"),t("li",null,"Save listings and searches"),t("li",null,"Access details for this property")])],-1)),t("div",jt,[t("div",{class:"footer-cancel",onClick:a[0]||(a[0]=g=>i("login"))},"Sign In"),t("div",{class:"footer-confirm",onClick:a[1]||(a[1]=g=>i("register"))},"Register")])]))]),_:1},512))}},G={};function Xt(u){const m=u.getModuleData(),o={module:u,listingId:m.listingId,sold:m.sold,collectStatus:_(!1),previewPictures:it(m.previewPictures),info:_({}),location:it({lat:0,lng:0,type:"location"}),schoolGroups:_([]),schoolMarkers:X(()=>{const v=[];return o.schoolGroups.value.forEach(i=>{i.data.forEach(l=>{v.push({id:l.id,hjId:l.hjId,key:`${l.latitude}-${l.longitude}`,lat:+l.latitude,lng:+l.longitude,name:l.name,icon:"lofty-icon-school2",group:i.label})})}),v}),tourType:_("tour_info"),dayList:it([]),dayIndex:_(0)},r={async getDetailInfo(){var a,g;if(!o.listingId){window.location.reload();return}const v={data:{listingId:o.listingId,isSold:o.sold},headers:{trackingpagekey:o.sold?"sold_listing_detail":"listing_detail"}},{data:i}=await F.get("/listing/detail",v);o.collectStatus.value=i.collectStatus,o.info.value=i.info,o.location.name=i.info.streetAddress,o.location.key=`house-${i.info.longitude}-${i.info.latitude}`,o.location.lng=i.info.longitude,o.location.lat=i.info.latitude;const l=(g=(a=rt.mlsList).find)==null?void 0:g.call(a,w=>w.id===i.info.mlsOrg.id);l&&St(l);const f=Ct(),{isPopup:d}=f;if(It(i.info)&&d!=="0"){const w=document.createElement("div");document.body.appendChild(w),q(Jt,{isDetailPage:!0}).mount(w)}},async getNearBySchool(){const v={page:1,pageSize:10,status:o.sold?"sold":"active",miles:5},{data:i}=await F.get(`/search/listing/detailNearBy/${o.listingId}`,{data:v});if(i&&i.length>0){const l=i.find(f=>f.type==="school");l!=null&&l.groups&&(o.schoolGroups.value=l.groups)}},getDayList(){const v=Date.now(),i=24*60*60*1e3;for(let l=0;l<30;l++){const f=new Date(v+l*i);f.setHours(0,0,0,0);const d=f.getDate();o.dayList.push({month:f.toLocaleString("en-US",{month:"short"}),week:f.toLocaleString("en-US",{weekday:"short"}),dayNum:d,date:f})}}};return r.getDayList(),r.getNearBySchool(),{...o,...r,onLoad:r.getDetailInfo()}}function Wt(u){G[u.id]=Xt(u)}const te={key:0,class:"mobile-previewImg-gallery-content"},ee=["src"],oe=["initialSlide"],se=["src"],ne={__name:"previewImgPop",props:{imgList:{type:Array,default:()=>[]},previewImgIndex:{type:Number,default:0}},emits:["close"],setup(u,{emit:m}){const o=_(null),r=m;function v(){r("close"),o.value.$el.parentNode.remove()}function i(){const f=document.querySelector(".swiper-previewImg-container");Object.assign(f,{navigation:{prevEl:".previewImg-prev-button",nextEl:".previewImg-next-button"},injectStyles:[`:host svg {
     1import{h as F,g as Ct,i as L,u as st,_ as J}from"./_plugin-vue_export-helper.xU-N2hzF.js";import{c as At}from"./module.CKjUdtPN.js";import{s as St,a as xt}from"./popup-mls.BxADJAYE.js";import{u as rt}from"./user.DqlV81fM.js";import{g as It,f as Lt}from"./house-format.4tigxTMo.js";import{P as ot}from"./index.Bi752R10.js";import{s as Tt,c as nt}from"./index.BDRldrfu.js";import{v as Mt,c as Dt}from"./verify-email.DiKlRKza.js";import{k as K,r as _,l as O,o as s,d as j,w as V,u as e,g as c,e as t,f as N,t as b,j as E,a as it,c as X,D as q,H as pt,F as M,h as H,I as Pt,z as vt,q as P,x as B,y as T,p as lt,m as Z,s as tt,v as gt,J as Vt,n as et,i as Et,K as ft,L as $t}from"./vendor.DSMCY3-_.js";import{T as Bt}from"./tooltip.w0glU4UR.js";import{_ as at}from"./index.D8FXyAh2.js";import{f as z}from"./date-format.BrUodQAJ.js";import{I as Ht}from"./IconCopy.7myX4VwF.js";import{u as Rt}from"./useCopy.CluLpl8Z.js";import{_ as qt}from"./index.B8LFivOP.js";import{M as mt}from"./icon.DOVeOS6k.js";import{n as Gt}from"./number-format.CLdvQh6j.js";import{_ as Nt}from"./index.ChNd4QEZ.js";import{a as Ut}from"./popup-trigger.DuPNuQEE.js";import{a as zt}from"./auto-login.CLjZwLBU.js";import"./useConfirm.BD1rw4lC.js";import"./google.DHErjYju.js";import"./outsideclick.Bw_hMuzW.js";import"./marker.DwqF6Dh_.js";import"./feature-listing-slider.D8NpqqUJ.js";const Zt={key:0,class:"pop-protect-container"},jt={class:"protect-footer"},Ot={key:1,class:"pop-protect-container"},Yt={class:"protect-content"},Kt={class:"lofty-link"},Qt={class:"protect-footer"},Ft=["disabled"],Jt={__name:"protectPop",props:{isDetailPage:{type:Boolean,default:!1}},setup(u){const{loginStatus:m,vowStatus:o,user:r}=rt,v=K("popRef");function i(d){Tt(()=>{u.isDetailPage||window.location.reload()},"",d)}const l=_(!1);function f(){l.value||Mt(()=>{l.value=!0})}return O(()=>{v.value.open()}),(d,a)=>(s(),j(ot,{class:"lofty-under-mask-pop",ref_key:"popRef",ref:v,popMaskClass:"lofty-filter-blur-mask",allowClose:!1},{default:V(()=>[e(m)?e(o)?E("",!0):(s(),c("div",Ot,[a[6]||(a[6]=t("div",{class:"title"}," Email Verification Required ",-1)),t("div",Yt,[a[4]||(a[4]=N(" Go Verify your email at ")),t("span",Kt,b(e(r).account),1),a[5]||(a[5]=t("div",{class:"lofty-tip"}," If you failed to receive the code, please refresh the page and click on the button again to request another one. ",-1))]),t("div",Qt,[t("div",{class:"footer-confirm",style:{"margin-left":"auto"},disabled:e(l),onClick:f},"Verify Your Email",8,Ft)])])):(s(),c("div",Zt,[a[2]||(a[2]=t("div",{class:"title"}," Free Account Required ",-1)),a[3]||(a[3]=t("div",{class:"protect-content"},[t("ul",null,[t("li",null,"Instant access to listing photos & details"),t("li",null,"Save listings and searches"),t("li",null,"Access details for this property")])],-1)),t("div",jt,[t("div",{class:"footer-cancel",onClick:a[0]||(a[0]=g=>i("login"))},"Sign In"),t("div",{class:"footer-confirm",onClick:a[1]||(a[1]=g=>i("register"))},"Register")])]))]),_:1},512))}},G={};function Xt(u){const m=u.getModuleData(),o={module:u,listingId:m.listingId,sold:m.sold,collectStatus:_(!1),previewPictures:it(m.previewPictures),info:_({}),location:it({lat:0,lng:0,type:"location"}),schoolGroups:_([]),schoolMarkers:X(()=>{const v=[];return o.schoolGroups.value.forEach(i=>{i.data.forEach(l=>{v.push({id:l.id,hjId:l.hjId,key:`${l.latitude}-${l.longitude}`,lat:+l.latitude,lng:+l.longitude,name:l.name,icon:"lofty-icon-school2",group:i.label})})}),v}),tourType:_("tour_info"),dayList:it([]),dayIndex:_(0)},r={async getDetailInfo(){var a,g;if(!o.listingId){window.location.reload();return}const v={data:{listingId:o.listingId,isSold:o.sold},headers:{trackingpagekey:o.sold?"sold_listing_detail":"listing_detail"}},{data:i}=await F.get("/listing/detail",v);o.collectStatus.value=i.collectStatus,o.info.value=i.info,o.location.name=i.info.streetAddress,o.location.key=`house-${i.info.longitude}-${i.info.latitude}`,o.location.lng=i.info.longitude,o.location.lat=i.info.latitude;const l=(g=(a=rt.mlsList).find)==null?void 0:g.call(a,w=>w.id===i.info.mlsOrg.id);l&&St(l);const f=Ct(),{isPopup:d}=f;if(It(i.info)&&d!=="0"){const w=document.createElement("div");document.body.appendChild(w),q(Jt,{isDetailPage:!0}).mount(w)}},async getNearBySchool(){const v={page:1,pageSize:10,status:o.sold?"sold":"active",miles:5},{data:i}=await F.get(`/search/listing/detailNearBy/${o.listingId}`,{data:v});if(i&&i.length>0){const l=i.find(f=>f.type==="school");l!=null&&l.groups&&(o.schoolGroups.value=l.groups)}},getDayList(){const v=Date.now(),i=24*60*60*1e3;for(let l=0;l<30;l++){const f=new Date(v+l*i);f.setHours(0,0,0,0);const d=f.getDate();o.dayList.push({month:f.toLocaleString("en-US",{month:"short"}),week:f.toLocaleString("en-US",{weekday:"short"}),dayNum:d,date:f})}}};return r.getDayList(),r.getNearBySchool(),{...o,...r,onLoad:r.getDetailInfo()}}function Wt(u){G[u.id]=Xt(u)}const te={key:0,class:"mobile-previewImg-gallery-content"},ee=["src"],oe=["initialSlide"],se=["src"],ne={__name:"previewImgPop",props:{imgList:{type:Array,default:()=>[]},previewImgIndex:{type:Number,default:0}},emits:["close"],setup(u,{emit:m}){const o=_(null),r=m;function v(){r("close"),o.value.$el.parentNode.remove()}function i(){const f=document.querySelector(".swiper-previewImg-container");Object.assign(f,{navigation:{prevEl:".previewImg-prev-button",nextEl:".previewImg-next-button"},injectStyles:[`:host svg {
    22        width: ${L?"6px":"8px"};
    33      }`,`:host .swiper-button-disabled {
  • lofty-idx/trunk/assets/listing.js

    r3348566 r3348893  
    1 import{u as x,d as pe,g as se,h as U,o as Le,i as te,_ as J}from"./_plugin-vue_export-helper.Cq0ParU2.js";import{c as Ge}from"./module.CKjUdtPN.js";import{r as f,c as G,a as W,b as ke,o as d,d as _,w as ie,e as a,t as S,u as c,f as K,g as h,h as B,F as $,n as me,i as Ae,j as L,k as Ve,l as $e,m as Y,p as ge,q as R,v as Se,s as Pe,x as z,y as j,z as I,A as Ne,B as Ce,C as be,T as fe,D as ue,E as Me,G as De}from"./vendor.DSMCY3-_.js";import{i as Ie}from"./index.CHk1aTGT.js";import{s as ze}from"./loading.BdqyMKJZ.js";import{m as je,l as xe,_ as Je}from"./index.DtjRETok.js";import{g as Fe,f as qe}from"./house-format.B6FoJSlV.js";import{c as Ke,v as Ze}from"./verify-email.x9ITyz1P.js";import{s as Te,c as We}from"./index.DzRoBq24.js";import{c as Be,_ as Ye,a as Qe}from"./mobileFilter.WDC-WzjY.js";import{_ as He}from"./index.5F2_f90D.js";import{P as Xe}from"./index.DnZD_ROs.js";import{_ as et}from"./index.BIsjoQ8l.js";import{p as tt}from"./standard.KmwEGgBs.js";import{M as ye}from"./marker.CSvYKl9X.js";import{d as Ue}from"./outsideclick.Bw_hMuzW.js";import{s as ot}from"./service.Bpmx5vDe.js";import{u as _e}from"./user.BcbXWidr.js";import{l as st}from"./popup-trigger.CvQ0KgB4.js";import{a as it}from"./auto-login.CMpMIf1r.js";import{a as at,s as nt}from"./popup-mls.B3nJZ9V8.js";import"./date-format.BrUodQAJ.js";import"./index.B-PeUk0y.js";import"./index.DAwEVGKX.js";import"./number-format.CLdvQh6j.js";import"./google.Dg-2iVCG.js";import"./index.3MfMsqfZ.js";import"./useConfirm.DbQjtEKi.js";const Re=x.getTimeZone(),ae={};function lt(t){const e={cancelList:null,cancelMap:null,module:t,hasMap:f(!0),showMap:f(!x.isMobile),featureListingName:f(""),listingType:G(()=>e.featureListingName.value&&!e.sold.value?"featured-listing":e.sold.value?"sold-listing":""),counts:f(0),totalPage:f(0),searchType:f("All"),listings:f([]),mlsList:W([]),listingSort:f("RELEVANCE"),currPage:f(1),pageSize:f(12),address:f(""),condition:W({}),uiConfig:W({}),sold:f(!1),map:f(null),zoom:f(14),mapSyncList:f(!1),rect:null,mapSyncType:f(""),mapPath:f(""),needMapPath:G(()=>["mapArea","polygon"].includes(e.mapSyncType.value)),mapRadius:f([]),polygonPath:f([]),markerData:W({aggregation:[],house:[],school:[],activeHouse:null,activeHouseKey:1}),showSchool:f(!1),schoolData:{},drawing:f(!1),geometry:f([]),shortCodeConfig:f({}),isShortCode:G(()=>!!e.shortCodeConfig.value.layout)},l={searchList:pe(async function(){try{e.cancelList&&e.cancelList.cancel("search-list canceled due to new request."),e.cancelList=ke.CancelToken.source();const o={condition:JSON.stringify(n.formatCondition()),pageSize:e.pageSize.value,page:e.currPage.value,currPage:e.currPage.value,listingSort:e.listingSort.value,listingType:e.listingType.value,featureListingName:e.featureListingName.value,timeline:!0,mls_list_id:JSON.stringify(e.mlsList),uiConfig:JSON.stringify(e.uiConfig),timezone:Re};let s=se();if(s.mlsOrgId&&s.complianceCheck&&(o.mlsOrgId=s.mlsOrgId,o.complianceCheck=s.complianceCheck),e.mapSyncList.value){let P=n.formatCondition();if(e.mapSyncType.value==="radius")P.location={mapRadius:e.mapRadius.value};else if(e.needMapPath.value&&(P.location={mapPath:e.mapPath.value},!e.mapPath.value))return;o.condition=JSON.stringify(P)}const i={action:"lofty_idx_api",data:o,cancelToken:e.cancelList.token},r=e.module.$(".lofty-listing"),y=ze(r);r.classList.add("lofty-empty-listing"),n.asyncListConditionToUrl(o),console.log("searchList");const g=await U.get("/search/realTimeListings",i);y(),r.innerHTML=g.data.html,e.totalPage.value=g.data.totalPage,e.counts.value=g.data.counts,e.listings.value=g.data.listings,e.searchType.value=g.data.searchType,r.classList.remove("lofty-empty-listing"),l.addCardEvents()}catch{}},300),searchMap:pe(async function(){if(!(!e.showMap.value||!e.map.value||!Number.isInteger(e.zoom.value)))try{e.cancelMap&&e.cancelMap.cancel("search-map canceled due to new request."),e.cancelMap=ke.CancelToken.source(),e.mapSyncList.value&&e.needMapPath.value&&(await l.getMapPath(),e.currPage.value=1,l.searchList());const o={mobile:x.isMobile,mapSearch:!0,layoutType:"map",listingSort:e.listingSort.value,listingType:e.listingType.value,featureListingName:e.featureListingName.value,zoom:e.zoom.value,rect:n.getRect(),condition:JSON.stringify(n.formatCondition()),timezone:Re};let s=se();s.mlsOrgId&&s.complianceCheck&&(o.mlsOrgId=s.mlsOrgId,o.complianceCheck=s.complianceCheck),n.formatLocation(o);const i={action:"lofty_idx_api",data:o,cancelToken:e.cancelMap.token};l.searchSchool(e.schoolData),n.asyncMapConditionToUrl(),console.log("searchMap");const r=await U.get("/search/realTimeListings",i);e.markerData.aggregation=n.dealAggregationData(r.data.aggregation||[]),e.markerData.house=n.dealHouseData(r.data.house||[]),e.markerData.activeHouse=null,e.markerData.activeHouseKey=Date.now()}catch{}},300),searchSchool:pe(async function(o){if(e.showSchool.value){e.schoolData=o;const s={...o,condition:JSON.stringify(n.formatCondition()),zoom:e.zoom.value,rect:n.getRect(),mapSearch:!1,t:Date.now()};if(e.mapSyncList.value){let r=n.formatCondition();r.location={},s.condition=JSON.stringify(r),n.formatLocation(s)}e.markerData.school=[],console.log("searchSchool");const i=await U.get("/search/schools",{data:s});i&&i.data&&(e.markerData.school=i.data.map(r=>(r.key=`school-${r.latitude}${r.longitude}${Date.now()}`,r.lat=+r.latitude,r.lng=+r.longitude,r)))}},300),async getMapPath(){const o={data:{mapPointList:je.getFormatBounds(e.map.value)}};e.mapSyncType.value==="polygon"&&(o.data.mapPointList=e.polygonPath.value);const s=await U.post("/search/mapPath",o);e.mapPath.value=s.data.regionId},removeMapTag(){console.log("removeMapTag"),e.mapSyncList.value=!1,e.mapSyncType.value="",e.mapPath.value=null,e.polygonPath.value=[],e.mapRadius.value=[]},addCardEvents(){const o=t.$all(".lofty-listing .lofty-house-item");Array.from(o).forEach(s=>{const i=s.querySelector(".collect-heart");i&&(i.onclick=()=>{const y=s.getAttribute("house-id"),g=i.classList.contains("lofty-icon-heart-fill");Ke(y,g,()=>{g?(i.classList.remove("lofty-icon-heart-fill"),i.classList.add("lofty-icon-heart")):(i.classList.remove("lofty-icon-heart"),i.classList.add("lofty-icon-heart-fill"))})});const r=s.querySelector(".lofty-house-login-box");r&&(r.querySelector(".lofty-register")&&(r.querySelector(".lofty-register").onclick=()=>{Te(()=>{window.location.reload()},"","register")}),r.querySelector(".lofty-login")&&(r.querySelector(".lofty-login").onclick=()=>{Te(()=>{window.location.reload()},"","login")}),r.querySelector(".lofty-verify")&&(r.querySelector(".lofty-verify").onclick=()=>{Ze()}))})}},n={formatCondition(){let o={};for(let s in e.condition){let i=e.condition[s];e.uiConfig[s]&&e.uiConfig[s].sqft==="acre"&&(i=i.split(",").map(r=>+r?+r*43560:"").toString()),Ie(i)&&(o[s]=i)}if(e.address.value="",o.location&&e.mapSyncList.value===!1){const s=Object.values(o.location).reduce((i,r)=>i.concat(r),[]);s.length===1&&(e.address.value=s[0].split(",")[0])}return o},formatLocation(o){if(e.mapSyncType.value==="polygon"){let s=n.formatCondition();s.location={mapPath:e.mapPath.value},o.condition=JSON.stringify(s)}else if(e.mapSyncType.value==="radius"){let s=n.formatCondition();s.location={mapRadius:e.mapRadius.value},o.condition=JSON.stringify(s)}},asyncListConditionToUrl(o){if(e.isShortCode.value)return;let s=window.location.pathname,i=se();Object.entries(o).forEach(([r,y])=>{let g=y;typeof y=="object"&&(g=JSON.stringify(y)),(r==="uiConfig"||r==="condition")&&(g=encodeURIComponent(g)),g&&["currPage","pageSize","listingSort","listingType","uiConfig","condition","featureListingName"].includes(r)&&(i[r]=g),i.address=encodeURIComponent(e.address.value),document.querySelector(".lofty-is-shortcode")||(i.pageKey=e.sold.value?"sold_listing":"search")}),i.hideMap=e.showMap.value?0:1,s=s+"?"+Le(i),window.history.pushState(null,"",s)},asyncMapConditionToUrl(){if(e.isShortCode.value)return;let o=window.location.pathname,s=se();delete s.rect,delete s.polygonPath,delete s.mapRadius,s.zoom=e.zoom.value,s.condition&&(s.condition=encodeURIComponent(s.condition)),s.uiConfig&&(s.uiConfig=encodeURIComponent(s.uiConfig)),e.mapSyncList.value&&(e.mapSyncType.value==="mapArea"?s.rect=encodeURIComponent(n.getRect()):e.mapSyncType.value==="polygon"?s.polygonPath=encodeURIComponent(JSON.stringify(e.polygonPath.value)):e.mapSyncType.value==="radius"&&(s.mapRadius=encodeURIComponent(JSON.stringify(e.mapRadius.value)))),o=o+"?"+Le(s),window.history.pushState(null,"",o)},initConditionFromUrl(){var s,i;const o=se();if(o.currPage||o.condition){let r=o.condition?JSON.parse(decodeURIComponent(o.condition)):{},y=o.uiConfig?JSON.parse(decodeURIComponent(o.uiConfig)):{};(s=r.location)!=null&&s.mapPath&&delete r.location.mapPath,(i=r.location)!=null&&i.mapRadius&&delete r.location.mapRadius,o.rect?(e.rect=decodeURIComponent(o.rect),e.mapSyncType.value="mapArea",e.mapSyncList.value=!0):o.polygonPath?(e.polygonPath.value=JSON.parse(decodeURIComponent(o.polygonPath)),e.mapSyncType.value="polygon",e.mapSyncList.value=!0):o.mapRadius&&(e.mapSyncType.value="radius",e.mapRadius.value=JSON.parse(decodeURIComponent(o.mapRadius)),e.mapSyncList.value=!0),Object.keys(r).forEach(g=>{e.condition[g]=r[g]}),Object.keys(y).forEach(g=>{e.uiConfig[g]=y[g]}),e.address.value=decodeURIComponent(o.address||""),e.listingSort.value=o.listingSort||"RELEVANCE",e.currPage.value=+o.currPage||1,e.pageSize.value=+o.pageSize||12,e.zoom.value=+o.zoom||14,e.showMap.value=o.hideMap!=="1"}},dealAggregationData(o){return o.forEach(s=>{s.key=`key-${s.latitude}${s.longitude}${Date.now()}`,s.lat=+s.latitude,s.lng=+s.longitude,Array.isArray(s.bounds)&&(s.bounds=s.bounds.map(i=>({lat:i.latitude,lng:i.longitude})))}),o},dealHouseData(o){o=o.filter(r=>!Fe(r));function s(r){return r.reduce((y,g)=>{if(y===null)return g;let P=y.soldPrice||y.price;return(g.soldPrice||g.price)<P?g:y},null)}const i=xe.generateDataByLatlng(o);return i.forEach(r=>{const y=s(r.items);r.key=`key-${r.lat}${r.lng}${Date.now()}`,r.price=y.soldPrice||y.price,r.nodisclosureDes=y.nodisclosureDes,r.items.forEach(g=>qe(g))}),i},getRect(){const o=e.map.value.getViewModel().getLookAtData().bounds.getBoundingBox();if(o)return`${o.getTop()},${o.getLeft()},${o.getBottom()},${o.getRight()}`},toggleMap(){e.showMap.value=!e.showMap.value,e.currPage.value=1,e.pageSize.value=e.showMap.value?12:24,n.toggleClass(),l.searchList()},toggleClass(){e.hasMap.value&&(e.showMap.value?(t.$(".lofty-result-listing").classList.add("has-map"),t.$("#lofty-map-container").classList.remove("lofty-hidden")):(t.$(".lofty-result-listing").classList.remove("has-map"),t.$("#lofty-map-container").classList.add("lofty-hidden")))}},u=t.getModuleData();return e.counts.value=u.counts||0,e.mlsList=W(u.mls_list),e.searchType.value=u.searchType,e.totalPage.value=u.totalPage||0,e.sold.value=u.sold,e.hasMap.value=u.hasMap,e.shortCodeConfig.value=u.shortcode_config||{},e.featureListingName.value=u.featureListingName||"",e.shortCodeConfig.value.layout||n.initConditionFromUrl(),l.searchList(),{...e,...l,formatCondition:n.formatCondition,formatLocation:n.formatLocation,getRect:n.getRect,toggleMap:n.toggleMap,toggleClass:n.toggleClass,dealHouseData:n.dealHouseData}}function rt(t){ae[t.id]=lt(t)}const ut={class:"lofty-show-more-name"},ct={key:0},dt={class:"lofty-more-panel"},ht={class:"lofty-more-filter-title"},pt={class:"lofty-more-filter-count"},gt={class:"lofty-group-name"},mt={class:"lofty-group-wrapper"},ft={class:"lofty-condition-label"},yt={__name:"moreFilter",props:{moreConfigs:{type:Array,required:!0},condition:Object,uiConfig:Object},setup(t){const e=t,l=G(()=>{const o=new Set;return e.moreConfigs.forEach(s=>{s.conditions.forEach(i=>{o.add(i.name)})}),o}),n=G(()=>{let o=0;for(let s in e.condition){const i=e.condition[s];if(Ie(i)&&l.value.has(s)&&(o++,typeof i=="string")){const r=i.split(",");r.length===2&&r.every(y=>!!y)&&o++}}return o});function u(){for(const o of l.value){const s=e.condition[o];Array.isArray(s)?e.condition[o]=[]:typeof s=="object"?e.condition[o]={}:typeof s=="boolean"?e.condition[o]=!1:typeof s=="string"&&(e.condition[o]="")}}return(o,s)=>(d(),_(He,{class:"lofty-more-box",right:0,menuStyle:{paddingRight:0},clickMenuClose:!1,"fit-width":!1},{menu:ie(()=>[a("div",dt,[a("div",ht,[a("div",pt,S(c(n))+" Filters Applied",1),a("div",{class:"lofty-clear-filter",onClick:u},s[1]||(s[1]=[a("i",{class:"lofty_iconfont lofty-icon-reset"},null,-1),K(" Clear")]))]),(d(!0),h($,null,B(t.moreConfigs,i=>(d(),h("div",{class:"lofty-condition-group",key:i.name},[a("p",gt,S(i.nameText),1),a("div",mt,[(d(!0),h($,null,B(i.conditions,r=>(d(),h("div",{key:r.name,class:"lofty-condition-label-input",style:me({width:r.inputType==="keyWord"?"100%":""})},[a("p",ft,[a("span",null,S(r.label),1)]),(d(),_(Ae(c(Be)[r.inputType]),{modelValue:t.condition[r.name],"onUpdate:modelValue":y=>t.condition[r.name]=y,key:r.name,uiConfig:t.uiConfig,config:r},null,8,["modelValue","onUpdate:modelValue","uiConfig","config"]))],4))),128))])]))),128))])]),default:ie(()=>[a("span",ut,[s[0]||(s[0]=K("More ")),c(n)?(d(),h("span",ct,"("+S(c(n))+")",1)):L("",!0)])]),_:1}))}},vt={class:"lofty-listing-search"},wt={key:1,class:"lofty-multi-filter"},St=["disabled"],Ct={class:"save-search-pop-container"},bt={class:"save-search-pop-content"},Lt={__name:"searchBar",props:{id:String},setup(t){const e=t,{counts:l,currPage:n,pageSize:u,searchList:o,condition:s,formatCondition:i,formatLocation:r,polygonPath:y,getRect:g,listingSort:P,uiConfig:F,sold:Z,zoom:Q,address:oe,mapSyncList:ne,mapSyncType:E,removeMapTag:X,isShortCode:q}=ae[e.id],[M,k,O,le]=[f([]),f([]),f([]),f([])],ce=G(()=>{if(ne.value){if(E.value==="mapArea")return["Map Area"];if(E.value==="polygon")return["Polygon Search"];if(E.value==="radius")return["Radius Search"]}return[]}),de=f({});async function ve(){const N={data:{isSold:Z.value},headers:{}};q.value||(N.headers.trackingpagekey=Z.value?"sold_listing":"search");const w=await U.get("/search/center/conditions",N);w.data.configs.forEach(b=>{let D=null;b.conditions.forEach((A,we)=>{A.name==="location"&&(D=we,de.value=A),A.inputType==="suggestion"&&!s[A.name]&&(s[A.name]={}),["multiSelect","singleSelect","keyWord"].includes(A.inputType)&&!s[A.name]&&(s[A.name]=[])}),D!==null&&b.conditions.splice(D,1)}),M.value=w.data.configs.filter(b=>b.conditions.length>0),le.value=JSON.parse(JSON.stringify(M.value));let T=0;M.value.forEach(b=>{b.conditions.forEach(D=>{T<4&&["singleSelect","multiSelect","inputBox","checkBox"].includes(D.inputType)&&(k.value.push(D),T++)}),b.conditions=b.conditions.filter(D=>!k.value.some(A=>A.name===D.name)),b.conditions.length>0&&O.value.push(b)}),ge(s,()=>{n.value=1,o()})}const ee=Ve("popRef");function he(){We(()=>{ee.value.open()})}$e(()=>{ve()});const v=G(()=>Object.values(i()).length===0&&!E.value),p=f(""),m=f(7),C=[{label:"Instantly",value:0},{label:"Daily",value:1},{label:"Weekly",value:7},{label:"Biweekly",value:14},{label:"Monthly",value:28}];async function H(){let N=p.value.trim();if(N){const w={condition:i(),uiConfig:F,address:oe.value,listingSort:P.value,currPage:n.value,pageSize:u.value,zoom:Q.value,timezone:x.getTimeZone()};if(E.value==="polygon"&&(w.polygonPath=y.value),E.value==="mapArea"){const b=g(),D=b.split(",");w.rect=b;let A=[{lat:D[0],lng:D[1]},{lat:D[0],lng:D[3]},{lat:D[2],lng:D[3]},{lat:D[2],lng:D[1]}];A=A.map(we=>JSON.stringify(we)),w.condition.location={mapPath:A}}r(w);const T={saveName:N,searchCondition:JSON.stringify(w),mailFrequency:m.value};try{const b=await U.post("/wp-plugin/save-search/saveSearch",{data:T});b.status.code===0&&(p.value="",x.toast(b.data),ee.value.close())}catch(b){console.error("save-search/saveSearch",b)}}}function V(){ee.value.close()}return(N,w)=>(d(),h("div",vt,[Y(Ye,{class:"location-suggestion",modelValue:c(s).location,"onUpdate:modelValue":w[0]||(w[0]=T=>c(s).location=T),config:c(de),"custom-tag":c(ce),onRemoveCustomTag:c(X)},null,8,["modelValue","config","custom-tag","onRemoveCustomTag"]),c(te)?(d(),_(Qe,{key:0,condition:c(s),mobileConfigs:c(le),uiConfig:c(F),counts:c(l),onSaveSearch:he},null,8,["condition","mobileConfigs","uiConfig","counts"])):(d(),h("div",wt,[(d(!0),h($,null,B(c(k),T=>(d(),_(Ae(c(Be)[T.inputType]),{modelValue:c(s)[T.name],"onUpdate:modelValue":b=>c(s)[T.name]=b,class:"lofty-filter-block","show-default-label":!0,"fit-width":!1,uiConfig:c(F),config:T,outSide:""},null,8,["modelValue","onUpdate:modelValue","uiConfig","config"]))),256)),c(O).length>0?(d(),_(yt,{key:0,class:"lofty-filter-block",moreConfigs:c(O),uiConfig:c(F),condition:c(s)},null,8,["moreConfigs","uiConfig","condition"])):L("",!0),c(Z)?L("",!0):(d(),h("button",{key:1,class:"save-search lofty-btn",disabled:c(v),onClick:he},w[3]||(w[3]=[a("span",null,"Save Search",-1)]),8,St))])),Y(Xe,{ref_key:"popRef",ref:ee,class:"save-search-pop"},{default:ie(()=>[a("div",Ct,[w[6]||(w[6]=a("div",{class:"title"},"SAVE THIS SEARCH",-1)),a("div",bt,[w[4]||(w[4]=a("div",{class:"label"},"Name This Search",-1)),R(a("input",{"onUpdate:modelValue":w[1]||(w[1]=T=>Pe(p)?p.value=T:null),placeholder:"Type Something"},null,512),[[Se,c(p)]]),w[5]||(w[5]=a("div",{class:"label mt20"},"Property Alert",-1)),Y(et,{class:"mt20",modelValue:c(m),"onUpdate:modelValue":w[2]||(w[2]=T=>Pe(m)?m.value=T:null),list:C},null,8,["modelValue"])]),a("div",{class:"save-search-footer"},[a("div",{class:"footer-cancel",onClick:V},"Cancel"),a("div",{class:"footer-save lofty-btn",onClick:H},"Save")])])]),_:1},512)]))}},kt={class:"lofty-listing-top"},Pt={key:0,class:"lofty-page-title"},Mt={key:1,class:"lofty-page-title"},Dt={key:0},Tt={key:0,class:"lofty-current-filter"},_t={key:1,class:"lofty-map-filter"},Rt={style:{margin:"0 10px"}},Et={class:"lofty-sort-list"},Ot=["onClick"],At={class:"lofty_iconfont lofty-icon-checked"},$t={class:"lofty-filter-name"},Nt={__name:"listingFilter",props:{id:String},setup(t){const e=t,{counts:l,listingSort:n,currPage:u,searchType:o,searchList:s,hasMap:i,showMap:r,address:y,sold:g,toggleMap:P,toggleClass:F}=ae[e.id],Z=G(()=>l.value?l.value.toString().replace(/\B(?=(\d{3})+(?!\d))/g,","):"0"),Q=G(()=>o.value==="sold"?l.value===1?"Sold Property Available":"Sold Properties Available":o.value==="For Rent"?l.value===1?"Property ForRent":"Properties For Rent":o.value==="For Sale"?l.value===1?"Property ForSale":"Properties For Sale":o.value==="neighborhood"?l.value===1?"Property AvailableNearby":"Properties AvailableNearby":"Properties Available"),oe=G(()=>g.value?E.value:ne.value),ne=f([{value:"RELEVANCE",label:"Default"},{value:"PRICE_DESC",label:"Price-High To Low"},{value:"PRICE_ASC",label:"Price-Low To High"},{value:"MLS_LIST_DATE_L_DESC",label:"Newest Listings"},{value:"BEDROOMS_DESC",label:"Beds (Most)"},{value:"BATHS_DESC",label:"Baths (Most)"},{value:"BUILT_YEAR_DESC",label:"Year Built (Newest)"},{value:"SQFT_DESC",label:"Square Feet (Biggest)"}]),E=f([{value:"RELEVANCE",label:"Default"},{value:"MLS_LIST_DATE_L_DESC",label:"Most Recent"},{value:"PRICE_DESC",label:"Price-Highest"},{value:"PRICE_ASC",label:"Price-Lowest"},{value:"BEDROOMS_DESC",label:"Beds (Most)"},{value:"BATHS_DESC",label:"Baths (Most)"},{value:"BUILT_YEAR_DESC",label:"Year Built (Newest)"}]),X=G(()=>{var M;return(M=oe.value.find(k=>k.value===n.value))==null?void 0:M.label});function q(M){n.value!==M.value&&(n.value=M.value,u.value=1,s())}return $e(()=>{F()}),(M,k)=>R((d(),h("div",kt,[c(l)===0?(d(),h("p",Pt,"0 Properties")):(d(),h("p",Mt,[K(S(c(Z))+" "+S(c(Q))+" ",1),c(y)?(d(),h("span",Dt," In "+S(c(y)),1)):L("",!0)])),Y(He,{class:"lofty-sort-filter",top:40,right:c(te)?"auto":0,left:c(te)?0:"auto","fit-width":!1,hideArrow:!0},{menu:ie(()=>[a("ul",Et,[(d(!0),h($,null,B(c(oe),O=>(d(),h("li",{class:"lofty-filter-item",onClick:le=>q(O)},[K(S(O.label)+" ",1),R(a("i",At,null,512),[[z,c(n)===O.value]])],8,Ot))),256))])]),default:ie(()=>[c(te)?(d(),h("span",Tt,[K(S(c(X))+" ",1),k[2]||(k[2]=a("i",{class:"lofty_iconfont lofty-icon-sort_04"},null,-1))])):(d(),h("span",_t,[k[3]||(k[3]=a("span",{style:{color:"#A8A8A8"}},"Sort by",-1)),a("span",Rt,S(c(X)),1),k[4]||(k[4]=a("i",{class:"lofty_iconfont lofty-icon-sort_04"},null,-1))]))]),_:1},8,["right","left"]),!c(te)&&c(i)?(d(),h("span",{key:2,class:"lofty-map-filter",onClick:k[0]||(k[0]=(...O)=>c(P)&&c(P)(...O))},[a("span",$t,S(c(r)?"Hide Map":"Show Map"),1),k[5]||(k[5]=a("i",{class:"lofty_iconfont lofty-icon-map_01"},null,-1))])):L("",!0),c(te)&&c(i)?(d(),h("div",{key:3,class:"lofty-map-mobile-btn",onClick:k[1]||(k[1]=(...O)=>c(P)&&c(P)(...O))},k[6]||(k[6]=[a("i",{class:"lofty_iconfont lofty-icon-map_01"},null,-1),a("span",null,"Map",-1)]))):L("",!0)],512)),[[z,!c(te)||!c(r)||!c(i)]])}},It={__name:"listingPagination",props:{id:String},setup(t){const e=t,{currPage:l,totalPage:n,counts:u,searchList:o}=ae[e.id],s=i=>{l.value=i.page,o()};return(i,r)=>c(u)>1?(d(),_(tt,{key:0,totalPage:c(n),onPageChange:s,pageSize:24,noScroll:!0,pageNum:c(l)},null,8,["totalPage","pageNum"])):L("",!0)}},jt={name:"Select",inject:["isMobile"],directives:{outSideClick:Ue},props:{value:{default:()=>({label:"1 Miles",value:1})},dataList:{type:Array,default:()=>[]}},data(){return{showList:!1}},methods:{changeSelect(t){this.$emit("change",t),this.showList=!1},switchDataList(){this.showList=!this.showList,this.$emit("closeSuggestion")},closeDataList(){this.showList=!1}},mounted(){this.isMobile?(this.$refs.switch.addEventListener("touchend",this.switchDataList),window.addEventListener("resize",this.closeDataList)):this.$refs.switch.addEventListener("click",this.switchDataList)},beforeDestroy(){this.isMobile&&window.removeEventListener("resize",this.closeDataList)}},Bt={class:"select-wrapper"},Ht={ref:"switch"},Ut={class:"label-txt"},Gt=["onClick"];function Vt(t,e,l,n,u,o){const s=Ne("out-side-click");return R((d(),h("div",Bt,[a("div",Ht,[a("span",Ut,S(l.value.label),1),a("span",{class:j(["lofty_iconfont lofty-icon-arrow-down",{up:u.showList}])},null,2)],512),R(a("div",{class:"data-list",id:"select-radius-list",onWheel:I(()=>{},["stop"]),onDrag:I(()=>{},["stop"]),onTouchmove:I(()=>{},["stop"]),onTouchstart:I(()=>{},["stop"]),onTouchend:I(()=>{},["stop"])},[a("ul",null,[(d(!0),h($,null,B(l.dataList,(i,r)=>(d(),h("li",{key:r,onClick:y=>o.changeSelect(i)},S(i.label),9,Gt))),128))])],544),[[z,u.showList]])])),[[s,()=>{u.showList=!1}]])}const zt=J(jt,[["render",Vt]]);let re="";const xt={name:"radius-search",inject:["isMobile"],data(){return{location:re,suggestList:[],latlng:null,mileList:[1,1.5,2,2.5,3,3.5,4,4.5,5,10,15,20,25,30,50].map(t=>({value:t,label:t+(t>1?" miles":" mile")})),showSuggest:!1}},computed:{radiusValue(){return{value:this.radius,label:`${this.radius} ${this.radius>1?"miles":"mile"}`}}},props:{map:{type:Object},showRadiusOption:{type:Boolean},clearKey:{type:Number,default:1},radius:{type:Number,default:1}},components:{Select:zt},watch:{clearKey(){re=""}},methods:{searchSuggest:x.debounce(async function(t){const e={query:t.target.value,country:"usa",beginHighlight:encodeURIComponent("<mark>"),endHighlight:encodeURIComponent("</mark>"),maxresults:20},n=(await U.get("/search/home-j/here-api/autoSuggest",{data:e})).data.filter(o=>!!o.address.street),u=[];for(let o=0,s=0,i=n.length;s<5&&o<i;o++){let r=this.formatAddress(n[o]);r&&u.indexOf(r)===-1&&(u.push(r),s++)}this.suggestList=u,this.showSuggest=!0}),async changeLocation(t){re=t.replace(/<mark>|<\/mark>/g,""),this.location=re;let e=await ot.geocode(t.replace(/<mark>|<\/mark>/g,""),!0);this.latlng=e.center,this.$emit("submit",{location:this.latlng,radius:this.radiusValue.value}),this.showSuggest=!1},changeRadius(t){this.$emit("submit",{location:this.latlng,radius:t.value})},clearLocation(){re="",this.location="",this.showSuggest=!1},handleMutual(){this.$refs.select.showList=!1,this.showSuggest=!0},stopResizeEvent(t){return t&&t.preeventDefault?t.preeventDefault():window.event.returnValue=!1,!1},closeSuggestion(){this.showSuggest=!1},formatAddress(t){let e=t.address,l=this.getAddressItem(e,["houseNumber","street"])+this.getAddressItem(e,["city"]);return l?decodeURIComponent(l+this.getAddressItem(e,["state","postalCode"],!1)):null},getAddressItem(t,e,l){let n=[],u;for(let o=0,s=e.length;o<s;o++){let i=t[e[o]];i&&u!==i&&n.push(u=i)}return n.length?n.join(" ")+(l===!1?"":", "):""}},mounted(){this.isMobileSize&&window.addEventListener("resize",this.stopResizeEvent,!1)},beforeUnmount(){this.isMobile&&window.removeEventListener("resize",this.stopResizeEvent)}},Jt={class:"radius-search"},Ft={class:"position-wrapper"},qt={class:"select-container"},Kt={class:"key-search"},Zt={class:"autocomplete"},Wt=["onClick"],Yt=["innerHTML"];function Qt(t,e,l,n,u,o){const s=Ce("Select");return R((d(),h("div",Jt,[e[12]||(e[12]=a("div",{class:"radius-search-title"},"Radius",-1)),a("div",Ft,[a("div",qt,[Y(s,{dataList:u.mileList,value:o.radiusValue,onChange:o.changeRadius,onCloseSuggestion:o.closeSuggestion,ref:"select"},null,8,["dataList","value","onChange","onCloseSuggestion"]),e[8]||(e[8]=a("span",{class:"select-tag"},"near",-1))]),a("div",Kt,[e[9]||(e[9]=a("i",{class:"lofty_iconfont lofty-icon-search"},null,-1)),R(a("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=i=>u.location=i),onMousedown:e[1]||(e[1]=I(()=>{},["stop"])),onDblclick:e[2]||(e[2]=I(()=>{},["stop"])),onFocus:e[3]||(e[3]=I((...i)=>o.handleMutual&&o.handleMutual(...i),["stop"])),onTouchstart:e[4]||(e[4]=I((...i)=>o.handleMutual&&o.handleMutual(...i),["stop"])),onInput:e[5]||(e[5]=I((...i)=>o.searchSuggest&&o.searchSuggest(...i),["stop"])),placeholder:"Input a location to center the map",ref:"input",class:j({"show-clear-content":u.location})},null,34),[[Se,u.location]]),u.location?(d(),h("i",{key:0,class:"lofty_iconfont lofty-icon-close",onClick:e[6]||(e[6]=(...i)=>o.clearLocation&&o.clearLocation(...i))})):L("",!0)]),e[11]||(e[11]=a("div",{class:"arrow-style"},null,-1)),R(a("ul",Zt,[(d(!0),h($,null,B(u.suggestList,i=>(d(),h("li",{key:i,class:"item",onClick:r=>o.changeLocation(i)},[e[10]||(e[10]=a("i",{class:"lofty_iconfont lofty-icon-location_02"},null,-1)),a("span",{innerHTML:i},null,8,Yt)],8,Wt))),128))],512),[[z,u.suggestList.length>0&&u.showSuggest]]),a("span",{class:"lofty_iconfont lofty-icon-close",id:"close_radius_search_form",onClick:e[7]||(e[7]=I(i=>t.$emit("onClose"),["stop"]))})])],512)),[[z,l.showRadiusOption]])}const Xt=J(xt,[["render",Qt]]),eo=1609.344,to={mixins:[ye],inject:["isMobile"],props:{radius:{type:Number,default:1},clearKey:{type:Number,default:1}},components:{radiusOption:Xt},data(){return{showRadiusOption:!1,className:"search-radius"}},methods:{async initCircle(){this.circle&&this.map.removeObject(this.circle),this.circle=new window.H.map.Circle(this.data,this.radius*eo,{style:{strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)",lineWidth:2,fillColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-bgColor")||"rgba(25, 25, 25, 0.2)"}}),this.circle.addEventListener("tap",()=>{this.showRadiusOption=!0}),this.circle.addEventListener("pointerenter",()=>{document.body.style.cursor="pointer"}),this.circle.addEventListener("pointerleave",()=>{document.body.style.cursor="default"}),this.map.addObject(this.circle),this.updateRadiusOption()},updateRadiusOption(){this.map&&this.circle&&this.map.getViewModel().setLookAtData({bounds:this.circle.getBoundingBox()},!0)},updateCircle(t){const e={location:t.location||this.data,radius:t.radius||this.radius};this.$emit("updateCircle",e)},onOpen(){this.showRadiusOption=!0},onClose(){this.showRadiusOption=!1}},mounted(){this.showRadiusOption=!0,this.initCircle()},unmounted(){this.circle&&this.map.removeObject(this.circle)}};function oo(t,e,l,n,u,o){const s=Ce("radius-option");return t.parentDom?(d(),_(fe,{key:0,to:t.parentDom},[a("div",be({class:"radius-center",onClick:e[0]||(e[0]=(...i)=>o.onOpen&&o.onOpen(...i)),onTouch:e[1]||(e[1]=(...i)=>o.onOpen&&o.onOpen(...i)),id:"open_radius_search_form"},t.$attrs),[Y(s,{showRadiusOption:u.showRadiusOption,map:t.map,radius:l.radius,clearKey:l.clearKey,onSubmit:o.updateCircle,onOnClose:o.onClose},null,8,["showRadiusOption","map","radius","clearKey","onSubmit","onOnClose"])],16)],8,["to"])):L("",!0)}const so=J(to,[["render",oo]]),io={name:"tip"},ao={class:"draw-tip"};function no(t,e,l,n,u,o){return d(),h("div",ao,[a("p",null,[e[1]||(e[1]=K("Click and drag to draw your search ")),a("span",{class:"cancel",onClick:e[0]||(e[0]=s=>t.$emit("cancel"))}," Cancel")])])}const lo=J(io,[["render",no]]),Ee=35,ro={inject:["store","isMobile","mapbox"],props:{map:Object,showPolygon:{type:Boolean,default:!0},showRadius:{type:Boolean,default:!0}},data(){return{path:[],lines:[],points:[],showTip:!1,drawing:!1,outPath:[],showSelectDraw:!1,showCircle:!1,location:null,circleRadius:1,timer:null,clearKey:1}},watch:{mapSyncType:{handler(t){this.map&&(t==="mapArea"||!t)&&this.clearDraw()}},outPath(){if(this.outPath&&this.outPath.length>0){let t=JSON.stringify(this.outPath);this.store.polygonPath.value=JSON.parse(t),this.store.mapSyncType.value="polygon",this.store.mapSyncList.value=!0,this.store.geometry.value=[],this.store.condition.location={}}else{if(this.mapSyncType==="mapArea")return;this.store.mapPath.value="",this.store.mapSyncType.value="",this.store.mapSyncList.value=!1,this.store.searchMap(),this.store.searchList()}}},computed:{mapSyncType(){return this.store.mapSyncType.value}},methods:{handleMouseenter(){this.isMobile||(clearTimeout(this.timer),this.showSelectDraw=!0)},handleMouseleave(){this.isMobile||(this.timer=setTimeout(()=>{this.showSelectDraw=!1},300))},handleClick(){this.isMobile&&(this.showSelectDraw=!this.showSelectDraw)},outsidetouchstart(){this.isMobile&&(this.showSelectDraw=!1)},startDraw(){this.store.drawing.value||(this.store.drawing.value=!0,this.showTip=!0,this.tapCb||(this.tapCb=t=>{var e=this.map.screenToGeo(t.currentPointer.viewportX,t.currentPointer.viewportY);this.addPoint(e)}),this.pointermoveThrottle||(this.pointermoveThrottle=x.throttle(t=>{var e=this.map.screenToGeo(t.currentPointer.viewportX,t.currentPointer.viewportY);this.hoverPoint(e)},200)),this.pointermoveCb||(this.pointermoveCb=t=>{this.pointermoveThrottle(t)}),this.createTip(),this.map.addEventListener("pointerdown",this.tapCb),this.map.addEventListener("pointermove",this.pointermoveCb))},endDraw(){this.store.drawing.value=!1,this.showTip=!0,this.tapCb&&this.map.removeEventListener("pointerdown",this.tapCb),this.pointermoveCb&&this.map.removeEventListener("pointermove",this.pointermoveCb),this.clearDashedLine(),this.destroyTip()},clearDraw(){this.path=[],this.outPath=[],this.endDraw(),this.stopListenDragPoint(),this.mainGroup&&(this.pointGroup&&this.mainGroup.removeObject(this.pointGroup),this.mapPolygon&&this.mainGroup.removeObject(this.mapPolygon),this.mapPolyline&&this.mainGroup.removeObject(this.mapPolyline),this.map.removeObject(this.mainGroup)),this.mainGroup=null,this.pointGroup=null,this.mapPolygon=null,this.mapPolyline=null,this.geoLineString=null,this.clearKey=Date.now(),setTimeout(()=>{this.showCircle=!1},100),this.showTip=!1,this.store.drawing.value=!1,this.mapSyncType!=="mapArea"&&this.store.removeMapTag(),this.destroyTip(),this.showSelectDraw=!1},addLineStringPoint(t){this.geoLineString||(this.geoLineString=new window.H.geo.LineString),this.geoLineString.pushLatLngAlt(t.lat,t.lng,0)},closeLineString(t){var e=t.toGeoJSON().coordinates[0];t.pushLatLngAlt(e[1],e[0],e[2]),this.geoLineString.isClosed=!0},initDraw(){this.pointGroup=new window.H.map.Group({visibility:!0}),this.mainGroup=new window.H.map.Group({volatility:!0,objects:[this.pointGroup]}),this.map.addObject(this.mainGroup)},drawPoint(t,e){var l=`<svg width="12" height="12" version="1.1" xmlns="http://www.w3.org/2000/svg">
     1import{u as x,d as pe,g as se,h as U,o as Le,i as te,_ as J}from"./_plugin-vue_export-helper.xU-N2hzF.js";import{c as Ge}from"./module.CKjUdtPN.js";import{r as f,c as G,a as W,b as ke,o as d,d as _,w as ie,e as a,t as S,u as c,f as K,g as h,h as B,F as $,n as me,i as Ae,j as L,k as Ve,l as $e,m as Y,p as ge,q as R,v as Se,s as Pe,x as z,y as j,z as I,A as Ne,B as Ce,C as be,T as fe,D as ue,E as Me,G as De}from"./vendor.DSMCY3-_.js";import{i as Ie}from"./index.erNjz9Pp.js";import{s as ze}from"./loading.BdqyMKJZ.js";import{m as je,l as xe,_ as Je}from"./index.B8LFivOP.js";import{g as Fe,f as qe}from"./house-format.4tigxTMo.js";import{c as Ke,v as Ze}from"./verify-email.DiKlRKza.js";import{s as Te,c as We}from"./index.BDRldrfu.js";import{c as Be,_ as Ye,a as Qe}from"./mobileFilter.DVwoqcXT.js";import{_ as He}from"./index.D8FXyAh2.js";import{P as Xe}from"./index.Bi752R10.js";import{_ as et}from"./index.BIsjoQ8l.js";import{p as tt}from"./standard.Dwc2F-8i.js";import{M as ye}from"./marker.DwqF6Dh_.js";import{d as Ue}from"./outsideclick.Bw_hMuzW.js";import{s as ot}from"./service.B6OFWnjc.js";import{u as _e}from"./user.DqlV81fM.js";import{l as st}from"./popup-trigger.DuPNuQEE.js";import{a as it}from"./auto-login.CLjZwLBU.js";import{a as at,s as nt}from"./popup-mls.BxADJAYE.js";import"./date-format.BrUodQAJ.js";import"./index.Cx6n2H90.js";import"./index.DAwEVGKX.js";import"./number-format.CLdvQh6j.js";import"./google.DHErjYju.js";import"./index.zyk5jnxc.js";import"./useConfirm.BD1rw4lC.js";const Re=x.getTimeZone(),ae={};function lt(t){const e={cancelList:null,cancelMap:null,module:t,hasMap:f(!0),showMap:f(!x.isMobile),featureListingName:f(""),listingType:G(()=>e.featureListingName.value&&!e.sold.value?"featured-listing":e.sold.value?"sold-listing":""),counts:f(0),totalPage:f(0),searchType:f("All"),listings:f([]),mlsList:W([]),listingSort:f("RELEVANCE"),currPage:f(1),pageSize:f(12),address:f(""),condition:W({}),uiConfig:W({}),sold:f(!1),map:f(null),zoom:f(14),mapSyncList:f(!1),rect:null,mapSyncType:f(""),mapPath:f(""),needMapPath:G(()=>["mapArea","polygon"].includes(e.mapSyncType.value)),mapRadius:f([]),polygonPath:f([]),markerData:W({aggregation:[],house:[],school:[],activeHouse:null,activeHouseKey:1}),showSchool:f(!1),schoolData:{},drawing:f(!1),geometry:f([]),shortCodeConfig:f({}),isShortCode:G(()=>!!e.shortCodeConfig.value.layout)},l={searchList:pe(async function(){try{e.cancelList&&e.cancelList.cancel("search-list canceled due to new request."),e.cancelList=ke.CancelToken.source();const o={condition:JSON.stringify(n.formatCondition()),pageSize:e.pageSize.value,page:e.currPage.value,currPage:e.currPage.value,listingSort:e.listingSort.value,listingType:e.listingType.value,featureListingName:e.featureListingName.value,timeline:!0,mls_list_id:JSON.stringify(e.mlsList),uiConfig:JSON.stringify(e.uiConfig),timezone:Re};let s=se();if(s.mlsOrgId&&s.complianceCheck&&(o.mlsOrgId=s.mlsOrgId,o.complianceCheck=s.complianceCheck),e.mapSyncList.value){let P=n.formatCondition();if(e.mapSyncType.value==="radius")P.location={mapRadius:e.mapRadius.value};else if(e.needMapPath.value&&(P.location={mapPath:e.mapPath.value},!e.mapPath.value))return;o.condition=JSON.stringify(P)}const i={action:"lofty_idx_api",data:o,cancelToken:e.cancelList.token},r=e.module.$(".lofty-listing"),y=ze(r);r.classList.add("lofty-empty-listing"),n.asyncListConditionToUrl(o),console.log("searchList");const g=await U.get("/search/realTimeListings",i);y(),r.innerHTML=g.data.html,e.totalPage.value=g.data.totalPage,e.counts.value=g.data.counts,e.listings.value=g.data.listings,e.searchType.value=g.data.searchType,r.classList.remove("lofty-empty-listing"),l.addCardEvents()}catch{}},300),searchMap:pe(async function(){if(!(!e.showMap.value||!e.map.value||!Number.isInteger(e.zoom.value)))try{e.cancelMap&&e.cancelMap.cancel("search-map canceled due to new request."),e.cancelMap=ke.CancelToken.source(),e.mapSyncList.value&&e.needMapPath.value&&(await l.getMapPath(),e.currPage.value=1,l.searchList());const o={mobile:x.isMobile,mapSearch:!0,layoutType:"map",listingSort:e.listingSort.value,listingType:e.listingType.value,featureListingName:e.featureListingName.value,zoom:e.zoom.value,rect:n.getRect(),condition:JSON.stringify(n.formatCondition()),timezone:Re};let s=se();s.mlsOrgId&&s.complianceCheck&&(o.mlsOrgId=s.mlsOrgId,o.complianceCheck=s.complianceCheck),n.formatLocation(o);const i={action:"lofty_idx_api",data:o,cancelToken:e.cancelMap.token};l.searchSchool(e.schoolData),n.asyncMapConditionToUrl(),console.log("searchMap");const r=await U.get("/search/realTimeListings",i);e.markerData.aggregation=n.dealAggregationData(r.data.aggregation||[]),e.markerData.house=n.dealHouseData(r.data.house||[]),e.markerData.activeHouse=null,e.markerData.activeHouseKey=Date.now()}catch{}},300),searchSchool:pe(async function(o){if(e.showSchool.value){e.schoolData=o;const s={...o,condition:JSON.stringify(n.formatCondition()),zoom:e.zoom.value,rect:n.getRect(),mapSearch:!1,t:Date.now()};if(e.mapSyncList.value){let r=n.formatCondition();r.location={},s.condition=JSON.stringify(r),n.formatLocation(s)}e.markerData.school=[],console.log("searchSchool");const i=await U.get("/search/schools",{data:s});i&&i.data&&(e.markerData.school=i.data.map(r=>(r.key=`school-${r.latitude}${r.longitude}${Date.now()}`,r.lat=+r.latitude,r.lng=+r.longitude,r)))}},300),async getMapPath(){const o={data:{mapPointList:je.getFormatBounds(e.map.value)}};e.mapSyncType.value==="polygon"&&(o.data.mapPointList=e.polygonPath.value);const s=await U.post("/search/mapPath",o);e.mapPath.value=s.data.regionId},removeMapTag(){console.log("removeMapTag"),e.mapSyncList.value=!1,e.mapSyncType.value="",e.mapPath.value=null,e.polygonPath.value=[],e.mapRadius.value=[]},addCardEvents(){const o=t.$all(".lofty-listing .lofty-house-item");Array.from(o).forEach(s=>{const i=s.querySelector(".collect-heart");i&&(i.onclick=()=>{const y=s.getAttribute("house-id"),g=i.classList.contains("lofty-icon-heart-fill");Ke(y,g,()=>{g?(i.classList.remove("lofty-icon-heart-fill"),i.classList.add("lofty-icon-heart")):(i.classList.remove("lofty-icon-heart"),i.classList.add("lofty-icon-heart-fill"))})});const r=s.querySelector(".lofty-house-login-box");r&&(r.querySelector(".lofty-register")&&(r.querySelector(".lofty-register").onclick=()=>{Te(()=>{window.location.reload()},"","register")}),r.querySelector(".lofty-login")&&(r.querySelector(".lofty-login").onclick=()=>{Te(()=>{window.location.reload()},"","login")}),r.querySelector(".lofty-verify")&&(r.querySelector(".lofty-verify").onclick=()=>{Ze()}))})}},n={formatCondition(){let o={};for(let s in e.condition){let i=e.condition[s];e.uiConfig[s]&&e.uiConfig[s].sqft==="acre"&&(i=i.split(",").map(r=>+r?+r*43560:"").toString()),Ie(i)&&(o[s]=i)}if(e.address.value="",o.location&&e.mapSyncList.value===!1){const s=Object.values(o.location).reduce((i,r)=>i.concat(r),[]);s.length===1&&(e.address.value=s[0].split(",")[0])}return o},formatLocation(o){if(e.mapSyncType.value==="polygon"){let s=n.formatCondition();s.location={mapPath:e.mapPath.value},o.condition=JSON.stringify(s)}else if(e.mapSyncType.value==="radius"){let s=n.formatCondition();s.location={mapRadius:e.mapRadius.value},o.condition=JSON.stringify(s)}},asyncListConditionToUrl(o){if(e.isShortCode.value)return;let s=window.location.pathname,i=se();Object.entries(o).forEach(([r,y])=>{let g=y;typeof y=="object"&&(g=JSON.stringify(y)),(r==="uiConfig"||r==="condition")&&(g=encodeURIComponent(g)),g&&["currPage","pageSize","listingSort","listingType","uiConfig","condition","featureListingName"].includes(r)&&(i[r]=g),i.address=encodeURIComponent(e.address.value),document.querySelector(".lofty-is-shortcode")||(i.pageKey=e.sold.value?"sold_listing":"search")}),i.hideMap=e.showMap.value?0:1,s=s+"?"+Le(i),window.history.pushState(null,"",s)},asyncMapConditionToUrl(){if(e.isShortCode.value)return;let o=window.location.pathname,s=se();delete s.rect,delete s.polygonPath,delete s.mapRadius,s.zoom=e.zoom.value,s.condition&&(s.condition=encodeURIComponent(s.condition)),s.uiConfig&&(s.uiConfig=encodeURIComponent(s.uiConfig)),e.mapSyncList.value&&(e.mapSyncType.value==="mapArea"?s.rect=encodeURIComponent(n.getRect()):e.mapSyncType.value==="polygon"?s.polygonPath=encodeURIComponent(JSON.stringify(e.polygonPath.value)):e.mapSyncType.value==="radius"&&(s.mapRadius=encodeURIComponent(JSON.stringify(e.mapRadius.value)))),o=o+"?"+Le(s),window.history.pushState(null,"",o)},initConditionFromUrl(){var s,i;const o=se();if(o.currPage||o.condition){let r=o.condition?JSON.parse(decodeURIComponent(o.condition)):{},y=o.uiConfig?JSON.parse(decodeURIComponent(o.uiConfig)):{};(s=r.location)!=null&&s.mapPath&&delete r.location.mapPath,(i=r.location)!=null&&i.mapRadius&&delete r.location.mapRadius,o.rect?(e.rect=decodeURIComponent(o.rect),e.mapSyncType.value="mapArea",e.mapSyncList.value=!0):o.polygonPath?(e.polygonPath.value=JSON.parse(decodeURIComponent(o.polygonPath)),e.mapSyncType.value="polygon",e.mapSyncList.value=!0):o.mapRadius&&(e.mapSyncType.value="radius",e.mapRadius.value=JSON.parse(decodeURIComponent(o.mapRadius)),e.mapSyncList.value=!0),Object.keys(r).forEach(g=>{e.condition[g]=r[g]}),Object.keys(y).forEach(g=>{e.uiConfig[g]=y[g]}),e.address.value=decodeURIComponent(o.address||""),e.listingSort.value=o.listingSort||"RELEVANCE",e.currPage.value=+o.currPage||1,e.pageSize.value=+o.pageSize||12,e.zoom.value=+o.zoom||14,e.showMap.value=o.hideMap!=="1"}},dealAggregationData(o){return o.forEach(s=>{s.key=`key-${s.latitude}${s.longitude}${Date.now()}`,s.lat=+s.latitude,s.lng=+s.longitude,Array.isArray(s.bounds)&&(s.bounds=s.bounds.map(i=>({lat:i.latitude,lng:i.longitude})))}),o},dealHouseData(o){o=o.filter(r=>!Fe(r));function s(r){return r.reduce((y,g)=>{if(y===null)return g;let P=y.soldPrice||y.price;return(g.soldPrice||g.price)<P?g:y},null)}const i=xe.generateDataByLatlng(o);return i.forEach(r=>{const y=s(r.items);r.key=`key-${r.lat}${r.lng}${Date.now()}`,r.price=y.soldPrice||y.price,r.nodisclosureDes=y.nodisclosureDes,r.items.forEach(g=>qe(g))}),i},getRect(){const o=e.map.value.getViewModel().getLookAtData().bounds.getBoundingBox();if(o)return`${o.getTop()},${o.getLeft()},${o.getBottom()},${o.getRight()}`},toggleMap(){e.showMap.value=!e.showMap.value,e.currPage.value=1,e.pageSize.value=e.showMap.value?12:24,n.toggleClass(),l.searchList()},toggleClass(){e.hasMap.value&&(e.showMap.value?(t.$(".lofty-result-listing").classList.add("has-map"),t.$("#lofty-map-container").classList.remove("lofty-hidden")):(t.$(".lofty-result-listing").classList.remove("has-map"),t.$("#lofty-map-container").classList.add("lofty-hidden")))}},u=t.getModuleData();return e.counts.value=u.counts||0,e.mlsList=W(u.mls_list),e.searchType.value=u.searchType,e.totalPage.value=u.totalPage||0,e.sold.value=u.sold,e.hasMap.value=u.hasMap,e.shortCodeConfig.value=u.shortcode_config||{},e.featureListingName.value=u.featureListingName||"",e.shortCodeConfig.value.layout||n.initConditionFromUrl(),l.searchList(),{...e,...l,formatCondition:n.formatCondition,formatLocation:n.formatLocation,getRect:n.getRect,toggleMap:n.toggleMap,toggleClass:n.toggleClass,dealHouseData:n.dealHouseData}}function rt(t){ae[t.id]=lt(t)}const ut={class:"lofty-show-more-name"},ct={key:0},dt={class:"lofty-more-panel"},ht={class:"lofty-more-filter-title"},pt={class:"lofty-more-filter-count"},gt={class:"lofty-group-name"},mt={class:"lofty-group-wrapper"},ft={class:"lofty-condition-label"},yt={__name:"moreFilter",props:{moreConfigs:{type:Array,required:!0},condition:Object,uiConfig:Object},setup(t){const e=t,l=G(()=>{const o=new Set;return e.moreConfigs.forEach(s=>{s.conditions.forEach(i=>{o.add(i.name)})}),o}),n=G(()=>{let o=0;for(let s in e.condition){const i=e.condition[s];if(Ie(i)&&l.value.has(s)&&(o++,typeof i=="string")){const r=i.split(",");r.length===2&&r.every(y=>!!y)&&o++}}return o});function u(){for(const o of l.value){const s=e.condition[o];Array.isArray(s)?e.condition[o]=[]:typeof s=="object"?e.condition[o]={}:typeof s=="boolean"?e.condition[o]=!1:typeof s=="string"&&(e.condition[o]="")}}return(o,s)=>(d(),_(He,{class:"lofty-more-box",right:0,menuStyle:{paddingRight:0},clickMenuClose:!1,"fit-width":!1},{menu:ie(()=>[a("div",dt,[a("div",ht,[a("div",pt,S(c(n))+" Filters Applied",1),a("div",{class:"lofty-clear-filter",onClick:u},s[1]||(s[1]=[a("i",{class:"lofty_iconfont lofty-icon-reset"},null,-1),K(" Clear")]))]),(d(!0),h($,null,B(t.moreConfigs,i=>(d(),h("div",{class:"lofty-condition-group",key:i.name},[a("p",gt,S(i.nameText),1),a("div",mt,[(d(!0),h($,null,B(i.conditions,r=>(d(),h("div",{key:r.name,class:"lofty-condition-label-input",style:me({width:r.inputType==="keyWord"?"100%":""})},[a("p",ft,[a("span",null,S(r.label),1)]),(d(),_(Ae(c(Be)[r.inputType]),{modelValue:t.condition[r.name],"onUpdate:modelValue":y=>t.condition[r.name]=y,key:r.name,uiConfig:t.uiConfig,config:r},null,8,["modelValue","onUpdate:modelValue","uiConfig","config"]))],4))),128))])]))),128))])]),default:ie(()=>[a("span",ut,[s[0]||(s[0]=K("More ")),c(n)?(d(),h("span",ct,"("+S(c(n))+")",1)):L("",!0)])]),_:1}))}},vt={class:"lofty-listing-search"},wt={key:1,class:"lofty-multi-filter"},St=["disabled"],Ct={class:"save-search-pop-container"},bt={class:"save-search-pop-content"},Lt={__name:"searchBar",props:{id:String},setup(t){const e=t,{counts:l,currPage:n,pageSize:u,searchList:o,condition:s,formatCondition:i,formatLocation:r,polygonPath:y,getRect:g,listingSort:P,uiConfig:F,sold:Z,zoom:Q,address:oe,mapSyncList:ne,mapSyncType:E,removeMapTag:X,isShortCode:q}=ae[e.id],[M,k,O,le]=[f([]),f([]),f([]),f([])],ce=G(()=>{if(ne.value){if(E.value==="mapArea")return["Map Area"];if(E.value==="polygon")return["Polygon Search"];if(E.value==="radius")return["Radius Search"]}return[]}),de=f({});async function ve(){const N={data:{isSold:Z.value},headers:{}};q.value||(N.headers.trackingpagekey=Z.value?"sold_listing":"search");const w=await U.get("/search/center/conditions",N);w.data.configs.forEach(b=>{let D=null;b.conditions.forEach((A,we)=>{A.name==="location"&&(D=we,de.value=A),A.inputType==="suggestion"&&!s[A.name]&&(s[A.name]={}),["multiSelect","singleSelect","keyWord"].includes(A.inputType)&&!s[A.name]&&(s[A.name]=[])}),D!==null&&b.conditions.splice(D,1)}),M.value=w.data.configs.filter(b=>b.conditions.length>0),le.value=JSON.parse(JSON.stringify(M.value));let T=0;M.value.forEach(b=>{b.conditions.forEach(D=>{T<4&&["singleSelect","multiSelect","inputBox","checkBox"].includes(D.inputType)&&(k.value.push(D),T++)}),b.conditions=b.conditions.filter(D=>!k.value.some(A=>A.name===D.name)),b.conditions.length>0&&O.value.push(b)}),ge(s,()=>{n.value=1,o()})}const ee=Ve("popRef");function he(){We(()=>{ee.value.open()})}$e(()=>{ve()});const v=G(()=>Object.values(i()).length===0&&!E.value),p=f(""),m=f(7),C=[{label:"Instantly",value:0},{label:"Daily",value:1},{label:"Weekly",value:7},{label:"Biweekly",value:14},{label:"Monthly",value:28}];async function H(){let N=p.value.trim();if(N){const w={condition:i(),uiConfig:F,address:oe.value,listingSort:P.value,currPage:n.value,pageSize:u.value,zoom:Q.value,timezone:x.getTimeZone()};if(E.value==="polygon"&&(w.polygonPath=y.value),E.value==="mapArea"){const b=g(),D=b.split(",");w.rect=b;let A=[{lat:D[0],lng:D[1]},{lat:D[0],lng:D[3]},{lat:D[2],lng:D[3]},{lat:D[2],lng:D[1]}];A=A.map(we=>JSON.stringify(we)),w.condition.location={mapPath:A}}r(w);const T={saveName:N,searchCondition:JSON.stringify(w),mailFrequency:m.value};try{const b=await U.post("/wp-plugin/save-search/saveSearch",{data:T});b.status.code===0&&(p.value="",x.toast(b.data),ee.value.close())}catch(b){console.error("save-search/saveSearch",b)}}}function V(){ee.value.close()}return(N,w)=>(d(),h("div",vt,[Y(Ye,{class:"location-suggestion",modelValue:c(s).location,"onUpdate:modelValue":w[0]||(w[0]=T=>c(s).location=T),config:c(de),"custom-tag":c(ce),onRemoveCustomTag:c(X)},null,8,["modelValue","config","custom-tag","onRemoveCustomTag"]),c(te)?(d(),_(Qe,{key:0,condition:c(s),mobileConfigs:c(le),uiConfig:c(F),counts:c(l),onSaveSearch:he},null,8,["condition","mobileConfigs","uiConfig","counts"])):(d(),h("div",wt,[(d(!0),h($,null,B(c(k),T=>(d(),_(Ae(c(Be)[T.inputType]),{modelValue:c(s)[T.name],"onUpdate:modelValue":b=>c(s)[T.name]=b,class:"lofty-filter-block","show-default-label":!0,"fit-width":!1,uiConfig:c(F),config:T,outSide:""},null,8,["modelValue","onUpdate:modelValue","uiConfig","config"]))),256)),c(O).length>0?(d(),_(yt,{key:0,class:"lofty-filter-block",moreConfigs:c(O),uiConfig:c(F),condition:c(s)},null,8,["moreConfigs","uiConfig","condition"])):L("",!0),c(Z)?L("",!0):(d(),h("button",{key:1,class:"save-search lofty-btn",disabled:c(v),onClick:he},w[3]||(w[3]=[a("span",null,"Save Search",-1)]),8,St))])),Y(Xe,{ref_key:"popRef",ref:ee,class:"save-search-pop"},{default:ie(()=>[a("div",Ct,[w[6]||(w[6]=a("div",{class:"title"},"SAVE THIS SEARCH",-1)),a("div",bt,[w[4]||(w[4]=a("div",{class:"label"},"Name This Search",-1)),R(a("input",{"onUpdate:modelValue":w[1]||(w[1]=T=>Pe(p)?p.value=T:null),placeholder:"Type Something"},null,512),[[Se,c(p)]]),w[5]||(w[5]=a("div",{class:"label mt20"},"Property Alert",-1)),Y(et,{class:"mt20",modelValue:c(m),"onUpdate:modelValue":w[2]||(w[2]=T=>Pe(m)?m.value=T:null),list:C},null,8,["modelValue"])]),a("div",{class:"save-search-footer"},[a("div",{class:"footer-cancel",onClick:V},"Cancel"),a("div",{class:"footer-save lofty-btn",onClick:H},"Save")])])]),_:1},512)]))}},kt={class:"lofty-listing-top"},Pt={key:0,class:"lofty-page-title"},Mt={key:1,class:"lofty-page-title"},Dt={key:0},Tt={key:0,class:"lofty-current-filter"},_t={key:1,class:"lofty-map-filter"},Rt={style:{margin:"0 10px"}},Et={class:"lofty-sort-list"},Ot=["onClick"],At={class:"lofty_iconfont lofty-icon-checked"},$t={class:"lofty-filter-name"},Nt={__name:"listingFilter",props:{id:String},setup(t){const e=t,{counts:l,listingSort:n,currPage:u,searchType:o,searchList:s,hasMap:i,showMap:r,address:y,sold:g,toggleMap:P,toggleClass:F}=ae[e.id],Z=G(()=>l.value?l.value.toString().replace(/\B(?=(\d{3})+(?!\d))/g,","):"0"),Q=G(()=>o.value==="sold"?l.value===1?"Sold Property Available":"Sold Properties Available":o.value==="For Rent"?l.value===1?"Property ForRent":"Properties For Rent":o.value==="For Sale"?l.value===1?"Property ForSale":"Properties For Sale":o.value==="neighborhood"?l.value===1?"Property AvailableNearby":"Properties AvailableNearby":"Properties Available"),oe=G(()=>g.value?E.value:ne.value),ne=f([{value:"RELEVANCE",label:"Default"},{value:"PRICE_DESC",label:"Price-High To Low"},{value:"PRICE_ASC",label:"Price-Low To High"},{value:"MLS_LIST_DATE_L_DESC",label:"Newest Listings"},{value:"BEDROOMS_DESC",label:"Beds (Most)"},{value:"BATHS_DESC",label:"Baths (Most)"},{value:"BUILT_YEAR_DESC",label:"Year Built (Newest)"},{value:"SQFT_DESC",label:"Square Feet (Biggest)"}]),E=f([{value:"RELEVANCE",label:"Default"},{value:"MLS_LIST_DATE_L_DESC",label:"Most Recent"},{value:"PRICE_DESC",label:"Price-Highest"},{value:"PRICE_ASC",label:"Price-Lowest"},{value:"BEDROOMS_DESC",label:"Beds (Most)"},{value:"BATHS_DESC",label:"Baths (Most)"},{value:"BUILT_YEAR_DESC",label:"Year Built (Newest)"}]),X=G(()=>{var M;return(M=oe.value.find(k=>k.value===n.value))==null?void 0:M.label});function q(M){n.value!==M.value&&(n.value=M.value,u.value=1,s())}return $e(()=>{F()}),(M,k)=>R((d(),h("div",kt,[c(l)===0?(d(),h("p",Pt,"0 Properties")):(d(),h("p",Mt,[K(S(c(Z))+" "+S(c(Q))+" ",1),c(y)?(d(),h("span",Dt," In "+S(c(y)),1)):L("",!0)])),Y(He,{class:"lofty-sort-filter",top:40,right:c(te)?"auto":0,left:c(te)?0:"auto","fit-width":!1,hideArrow:!0},{menu:ie(()=>[a("ul",Et,[(d(!0),h($,null,B(c(oe),O=>(d(),h("li",{class:"lofty-filter-item",onClick:le=>q(O)},[K(S(O.label)+" ",1),R(a("i",At,null,512),[[z,c(n)===O.value]])],8,Ot))),256))])]),default:ie(()=>[c(te)?(d(),h("span",Tt,[K(S(c(X))+" ",1),k[2]||(k[2]=a("i",{class:"lofty_iconfont lofty-icon-sort_04"},null,-1))])):(d(),h("span",_t,[k[3]||(k[3]=a("span",{style:{color:"#A8A8A8"}},"Sort by",-1)),a("span",Rt,S(c(X)),1),k[4]||(k[4]=a("i",{class:"lofty_iconfont lofty-icon-sort_04"},null,-1))]))]),_:1},8,["right","left"]),!c(te)&&c(i)?(d(),h("span",{key:2,class:"lofty-map-filter",onClick:k[0]||(k[0]=(...O)=>c(P)&&c(P)(...O))},[a("span",$t,S(c(r)?"Hide Map":"Show Map"),1),k[5]||(k[5]=a("i",{class:"lofty_iconfont lofty-icon-map_01"},null,-1))])):L("",!0),c(te)&&c(i)?(d(),h("div",{key:3,class:"lofty-map-mobile-btn",onClick:k[1]||(k[1]=(...O)=>c(P)&&c(P)(...O))},k[6]||(k[6]=[a("i",{class:"lofty_iconfont lofty-icon-map_01"},null,-1),a("span",null,"Map",-1)]))):L("",!0)],512)),[[z,!c(te)||!c(r)||!c(i)]])}},It={__name:"listingPagination",props:{id:String},setup(t){const e=t,{currPage:l,totalPage:n,counts:u,searchList:o}=ae[e.id],s=i=>{l.value=i.page,o()};return(i,r)=>c(u)>1?(d(),_(tt,{key:0,totalPage:c(n),onPageChange:s,pageSize:24,noScroll:!0,pageNum:c(l)},null,8,["totalPage","pageNum"])):L("",!0)}},jt={name:"Select",inject:["isMobile"],directives:{outSideClick:Ue},props:{value:{default:()=>({label:"1 Miles",value:1})},dataList:{type:Array,default:()=>[]}},data(){return{showList:!1}},methods:{changeSelect(t){this.$emit("change",t),this.showList=!1},switchDataList(){this.showList=!this.showList,this.$emit("closeSuggestion")},closeDataList(){this.showList=!1}},mounted(){this.isMobile?(this.$refs.switch.addEventListener("touchend",this.switchDataList),window.addEventListener("resize",this.closeDataList)):this.$refs.switch.addEventListener("click",this.switchDataList)},beforeDestroy(){this.isMobile&&window.removeEventListener("resize",this.closeDataList)}},Bt={class:"select-wrapper"},Ht={ref:"switch"},Ut={class:"label-txt"},Gt=["onClick"];function Vt(t,e,l,n,u,o){const s=Ne("out-side-click");return R((d(),h("div",Bt,[a("div",Ht,[a("span",Ut,S(l.value.label),1),a("span",{class:j(["lofty_iconfont lofty-icon-arrow-down",{up:u.showList}])},null,2)],512),R(a("div",{class:"data-list",id:"select-radius-list",onWheel:I(()=>{},["stop"]),onDrag:I(()=>{},["stop"]),onTouchmove:I(()=>{},["stop"]),onTouchstart:I(()=>{},["stop"]),onTouchend:I(()=>{},["stop"])},[a("ul",null,[(d(!0),h($,null,B(l.dataList,(i,r)=>(d(),h("li",{key:r,onClick:y=>o.changeSelect(i)},S(i.label),9,Gt))),128))])],544),[[z,u.showList]])])),[[s,()=>{u.showList=!1}]])}const zt=J(jt,[["render",Vt]]);let re="";const xt={name:"radius-search",inject:["isMobile"],data(){return{location:re,suggestList:[],latlng:null,mileList:[1,1.5,2,2.5,3,3.5,4,4.5,5,10,15,20,25,30,50].map(t=>({value:t,label:t+(t>1?" miles":" mile")})),showSuggest:!1}},computed:{radiusValue(){return{value:this.radius,label:`${this.radius} ${this.radius>1?"miles":"mile"}`}}},props:{map:{type:Object},showRadiusOption:{type:Boolean},clearKey:{type:Number,default:1},radius:{type:Number,default:1}},components:{Select:zt},watch:{clearKey(){re=""}},methods:{searchSuggest:x.debounce(async function(t){const e={query:t.target.value,country:"usa",beginHighlight:encodeURIComponent("<mark>"),endHighlight:encodeURIComponent("</mark>"),maxresults:20},n=(await U.get("/search/home-j/here-api/autoSuggest",{data:e})).data.filter(o=>!!o.address.street),u=[];for(let o=0,s=0,i=n.length;s<5&&o<i;o++){let r=this.formatAddress(n[o]);r&&u.indexOf(r)===-1&&(u.push(r),s++)}this.suggestList=u,this.showSuggest=!0}),async changeLocation(t){re=t.replace(/<mark>|<\/mark>/g,""),this.location=re;let e=await ot.geocode(t.replace(/<mark>|<\/mark>/g,""),!0);this.latlng=e.center,this.$emit("submit",{location:this.latlng,radius:this.radiusValue.value}),this.showSuggest=!1},changeRadius(t){this.$emit("submit",{location:this.latlng,radius:t.value})},clearLocation(){re="",this.location="",this.showSuggest=!1},handleMutual(){this.$refs.select.showList=!1,this.showSuggest=!0},stopResizeEvent(t){return t&&t.preeventDefault?t.preeventDefault():window.event.returnValue=!1,!1},closeSuggestion(){this.showSuggest=!1},formatAddress(t){let e=t.address,l=this.getAddressItem(e,["houseNumber","street"])+this.getAddressItem(e,["city"]);return l?decodeURIComponent(l+this.getAddressItem(e,["state","postalCode"],!1)):null},getAddressItem(t,e,l){let n=[],u;for(let o=0,s=e.length;o<s;o++){let i=t[e[o]];i&&u!==i&&n.push(u=i)}return n.length?n.join(" ")+(l===!1?"":", "):""}},mounted(){this.isMobileSize&&window.addEventListener("resize",this.stopResizeEvent,!1)},beforeUnmount(){this.isMobile&&window.removeEventListener("resize",this.stopResizeEvent)}},Jt={class:"radius-search"},Ft={class:"position-wrapper"},qt={class:"select-container"},Kt={class:"key-search"},Zt={class:"autocomplete"},Wt=["onClick"],Yt=["innerHTML"];function Qt(t,e,l,n,u,o){const s=Ce("Select");return R((d(),h("div",Jt,[e[12]||(e[12]=a("div",{class:"radius-search-title"},"Radius",-1)),a("div",Ft,[a("div",qt,[Y(s,{dataList:u.mileList,value:o.radiusValue,onChange:o.changeRadius,onCloseSuggestion:o.closeSuggestion,ref:"select"},null,8,["dataList","value","onChange","onCloseSuggestion"]),e[8]||(e[8]=a("span",{class:"select-tag"},"near",-1))]),a("div",Kt,[e[9]||(e[9]=a("i",{class:"lofty_iconfont lofty-icon-search"},null,-1)),R(a("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=i=>u.location=i),onMousedown:e[1]||(e[1]=I(()=>{},["stop"])),onDblclick:e[2]||(e[2]=I(()=>{},["stop"])),onFocus:e[3]||(e[3]=I((...i)=>o.handleMutual&&o.handleMutual(...i),["stop"])),onTouchstart:e[4]||(e[4]=I((...i)=>o.handleMutual&&o.handleMutual(...i),["stop"])),onInput:e[5]||(e[5]=I((...i)=>o.searchSuggest&&o.searchSuggest(...i),["stop"])),placeholder:"Input a location to center the map",ref:"input",class:j({"show-clear-content":u.location})},null,34),[[Se,u.location]]),u.location?(d(),h("i",{key:0,class:"lofty_iconfont lofty-icon-close",onClick:e[6]||(e[6]=(...i)=>o.clearLocation&&o.clearLocation(...i))})):L("",!0)]),e[11]||(e[11]=a("div",{class:"arrow-style"},null,-1)),R(a("ul",Zt,[(d(!0),h($,null,B(u.suggestList,i=>(d(),h("li",{key:i,class:"item",onClick:r=>o.changeLocation(i)},[e[10]||(e[10]=a("i",{class:"lofty_iconfont lofty-icon-location_02"},null,-1)),a("span",{innerHTML:i},null,8,Yt)],8,Wt))),128))],512),[[z,u.suggestList.length>0&&u.showSuggest]]),a("span",{class:"lofty_iconfont lofty-icon-close",id:"close_radius_search_form",onClick:e[7]||(e[7]=I(i=>t.$emit("onClose"),["stop"]))})])],512)),[[z,l.showRadiusOption]])}const Xt=J(xt,[["render",Qt]]),eo=1609.344,to={mixins:[ye],inject:["isMobile"],props:{radius:{type:Number,default:1},clearKey:{type:Number,default:1}},components:{radiusOption:Xt},data(){return{showRadiusOption:!1,className:"search-radius"}},methods:{async initCircle(){this.circle&&this.map.removeObject(this.circle),this.circle=new window.H.map.Circle(this.data,this.radius*eo,{style:{strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)",lineWidth:2,fillColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-bgColor")||"rgba(25, 25, 25, 0.2)"}}),this.circle.addEventListener("tap",()=>{this.showRadiusOption=!0}),this.circle.addEventListener("pointerenter",()=>{document.body.style.cursor="pointer"}),this.circle.addEventListener("pointerleave",()=>{document.body.style.cursor="default"}),this.map.addObject(this.circle),this.updateRadiusOption()},updateRadiusOption(){this.map&&this.circle&&this.map.getViewModel().setLookAtData({bounds:this.circle.getBoundingBox()},!0)},updateCircle(t){const e={location:t.location||this.data,radius:t.radius||this.radius};this.$emit("updateCircle",e)},onOpen(){this.showRadiusOption=!0},onClose(){this.showRadiusOption=!1}},mounted(){this.showRadiusOption=!0,this.initCircle()},unmounted(){this.circle&&this.map.removeObject(this.circle)}};function oo(t,e,l,n,u,o){const s=Ce("radius-option");return t.parentDom?(d(),_(fe,{key:0,to:t.parentDom},[a("div",be({class:"radius-center",onClick:e[0]||(e[0]=(...i)=>o.onOpen&&o.onOpen(...i)),onTouch:e[1]||(e[1]=(...i)=>o.onOpen&&o.onOpen(...i)),id:"open_radius_search_form"},t.$attrs),[Y(s,{showRadiusOption:u.showRadiusOption,map:t.map,radius:l.radius,clearKey:l.clearKey,onSubmit:o.updateCircle,onOnClose:o.onClose},null,8,["showRadiusOption","map","radius","clearKey","onSubmit","onOnClose"])],16)],8,["to"])):L("",!0)}const so=J(to,[["render",oo]]),io={name:"tip"},ao={class:"draw-tip"};function no(t,e,l,n,u,o){return d(),h("div",ao,[a("p",null,[e[1]||(e[1]=K("Click and drag to draw your search ")),a("span",{class:"cancel",onClick:e[0]||(e[0]=s=>t.$emit("cancel"))}," Cancel")])])}const lo=J(io,[["render",no]]),Ee=35,ro={inject:["store","isMobile","mapbox"],props:{map:Object,showPolygon:{type:Boolean,default:!0},showRadius:{type:Boolean,default:!0}},data(){return{path:[],lines:[],points:[],showTip:!1,drawing:!1,outPath:[],showSelectDraw:!1,showCircle:!1,location:null,circleRadius:1,timer:null,clearKey:1}},watch:{mapSyncType:{handler(t){this.map&&(t==="mapArea"||!t)&&this.clearDraw()}},outPath(){if(this.outPath&&this.outPath.length>0){let t=JSON.stringify(this.outPath);this.store.polygonPath.value=JSON.parse(t),this.store.mapSyncType.value="polygon",this.store.mapSyncList.value=!0,this.store.geometry.value=[],this.store.condition.location={}}else{if(this.mapSyncType==="mapArea")return;this.store.mapPath.value="",this.store.mapSyncType.value="",this.store.mapSyncList.value=!1,this.store.searchMap(),this.store.searchList()}}},computed:{mapSyncType(){return this.store.mapSyncType.value}},methods:{handleMouseenter(){this.isMobile||(clearTimeout(this.timer),this.showSelectDraw=!0)},handleMouseleave(){this.isMobile||(this.timer=setTimeout(()=>{this.showSelectDraw=!1},300))},handleClick(){this.isMobile&&(this.showSelectDraw=!this.showSelectDraw)},outsidetouchstart(){this.isMobile&&(this.showSelectDraw=!1)},startDraw(){this.store.drawing.value||(this.store.drawing.value=!0,this.showTip=!0,this.tapCb||(this.tapCb=t=>{var e=this.map.screenToGeo(t.currentPointer.viewportX,t.currentPointer.viewportY);this.addPoint(e)}),this.pointermoveThrottle||(this.pointermoveThrottle=x.throttle(t=>{var e=this.map.screenToGeo(t.currentPointer.viewportX,t.currentPointer.viewportY);this.hoverPoint(e)},200)),this.pointermoveCb||(this.pointermoveCb=t=>{this.pointermoveThrottle(t)}),this.createTip(),this.map.addEventListener("pointerdown",this.tapCb),this.map.addEventListener("pointermove",this.pointermoveCb))},endDraw(){this.store.drawing.value=!1,this.showTip=!0,this.tapCb&&this.map.removeEventListener("pointerdown",this.tapCb),this.pointermoveCb&&this.map.removeEventListener("pointermove",this.pointermoveCb),this.clearDashedLine(),this.destroyTip()},clearDraw(){this.path=[],this.outPath=[],this.endDraw(),this.stopListenDragPoint(),this.mainGroup&&(this.pointGroup&&this.mainGroup.removeObject(this.pointGroup),this.mapPolygon&&this.mainGroup.removeObject(this.mapPolygon),this.mapPolyline&&this.mainGroup.removeObject(this.mapPolyline),this.map.removeObject(this.mainGroup)),this.mainGroup=null,this.pointGroup=null,this.mapPolygon=null,this.mapPolyline=null,this.geoLineString=null,this.clearKey=Date.now(),setTimeout(()=>{this.showCircle=!1},100),this.showTip=!1,this.store.drawing.value=!1,this.mapSyncType!=="mapArea"&&this.store.removeMapTag(),this.destroyTip(),this.showSelectDraw=!1},addLineStringPoint(t){this.geoLineString||(this.geoLineString=new window.H.geo.LineString),this.geoLineString.pushLatLngAlt(t.lat,t.lng,0)},closeLineString(t){var e=t.toGeoJSON().coordinates[0];t.pushLatLngAlt(e[1],e[0],e[2]),this.geoLineString.isClosed=!0},initDraw(){this.pointGroup=new window.H.map.Group({visibility:!0}),this.mainGroup=new window.H.map.Group({volatility:!0,objects:[this.pointGroup]}),this.map.addObject(this.mainGroup)},drawPoint(t,e){var l=`<svg width="12" height="12" version="1.1" xmlns="http://www.w3.org/2000/svg">
    22            <circle stroke="#fff" fill="rgb(25,25,25)" stroke-width="2" cx="6" cy="6" r="5"/>
    33            </svg>`,n=new window.H.map.Marker(t,{icon:new window.H.map.Icon(l,{anchor:{x:6,y:6}})});n.draggable=!0,n.setData({index:e}),this.pointGroup.addObject(n)},drawLines(t){this.mapPolyline?this.mapPolyline.setGeometry(t):(this.mapPolyline=new window.H.map.Polyline(t,{style:{lineWidth:2,strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)"}}),this.mainGroup.addObject(this.mapPolyline))},drawPolygon(t){var e=new window.H.geo.Polygon(t);this.mapPolygon?this.mapPolygon.setGeometry(e):(this.mapPolygon=new window.H.map.Polygon(e,{style:{fillColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-bgColor")||"rgba(25, 25, 25, 0.2)",lineWidth:0}}),this.mainGroup.addObject(this.mapPolygon))},addPoint(t){var e=this.path.length;if(e===0&&this.initDraw(),e>=3&&this.closeToFirstPoint(t)){this.closePath();return}if(e>=Ee){x.toast(`Maximum support for ${Ee} strokes`);return}var l=this.path.length;this.path.push(t),this.addLineStringPoint(t),e++,this.drawPoint(t,l),e>=2&&(this.drawLines(this.geoLineString),e>=3&&this.drawPolygon(this.geoLineString))},closeToFirstPoint(t){var e=this.path,l=je.distance(e[0],t),n=3e-6*Math.pow(2,22-this.map.getZoom());return l<n},drawDashedLine(t,e){var l=new window.H.geo.LineString;l.pushLatLngAlt(t.lat,t.lng,0),l.pushLatLngAlt(e.lat,e.lng,0),this.tempDashedline?this.tempDashedline.setGeometry(l):(this.tempDashedline=new window.H.map.Polyline(l,{style:{lineWidth:2,strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)",lineDash:[2,4]}}),this.mainGroup.addObject(this.tempDashedline))},clearDashedLine(){this.tempDashedline&&setTimeout(()=>{this.mainGroup&&this.mainGroup.removeObject(this.tempDashedline),this.tempDashedline=null},210)},hoverPoint(t){var e=this.path.length;if(e>=1){e>=3&&this.closeToFirstPoint(t)&&(t=this.path[0]);var l=this.path[this.path.length-1];if(this.drawDashedLine(l,t),e>=2){this.geoLineString.pushLatLngAlt(t.lat,t.lng,0),this.drawPolygon(this.geoLineString);var n=this.geoLineString.getPointCount();this.geoLineString.removePoint(n-1)}}},closePath(){this.closeLineString(this.geoLineString),this.drawLines(this.geoLineString),this.outPath=this.path,this.endDraw(),this.listenDragPoint()},listenDragPoint(){this.pointGroup&&(this.pointerenterCb||(this.pointerenterCb=()=>{document.body.style.cursor="pointer"}),this.pointGroup.addEventListener("pointerenter",this.pointerenterCb,!0),this.pointerleaveCb||(this.pointerleaveCb=()=>{document.body.style.cursor="default"}),this.pointGroup.addEventListener("pointerleave",this.pointerleaveCb,!0),this.dragCb||(this.dragCb=t=>{var e=t.currentPointer,l=this.map.screenToGeo(e.viewportX,e.viewportY);t.target.setGeometry(l);var n=t.target.getData().index;if(this.geoLineString.removePoint(n),this.geoLineString.insertPoint(n,l),n===0&&this.geoLineString.isClosed){var u=this.geoLineString.getPointCount()-1;this.geoLineString.removePoint(u),this.geoLineString.pushPoint(l)}this.drawLines(this.geoLineString),this.drawPolygon(this.geoLineString),t.stopPropagation()}),this.pointGroup.addEventListener("drag",this.dragCb,!0),this.dragendCb||(this.dragendCb=t=>{var e=t.currentPointer,l=this.map.screenToGeo(e.viewportX,e.viewportY),n=t.target.getData().index;this.path.splice(n,1,l),this.outPath=[...this.path]}),this.pointGroup.addEventListener("dragend",this.dragendCb,!0))},stopListenDragPoint(){this.pointGroup&&(this.pointerenterCb&&this.pointGroup.removeEventListener("pointerenter",this.pointerenterCb,!0),this.pointerleaveCb&&this.pointGroup.removeEventListener("pointerleave",this.pointerleaveCb,!0),this.dragCb&&this.pointGroup.removeEventListener("drag",this.dragCb,!0),this.dragendCb&&this.pointGroup.removeEventListener("dragend",this.dragendCb,!0))},drawPath(t,e=!1){this.initDraw(),this.path=t,this.geoLineString=new window.H.geo.LineString,t.forEach((l,n)=>{this.geoLineString.pushLatLngAlt(l.lat,l.lng,0),this.drawPoint(l,n)}),this.closeLineString(this.geoLineString),this.drawLines(this.geoLineString),this.drawPolygon(this.geoLineString),this.listenDragPoint(),this.showTip=!0,e&&this.map.getViewModel().setLookAtData({bounds:this.geoLineString.getBoundingBox()},!0)},openDrawCircle({location:t,radius:e}){var u,o;(o=(u=this.map)==null?void 0:u.clearBoundary)==null||o.call(u),e=e||1,this.circleRadius=e,t=t||this.map.getCenter();let{lng:l,lat:n}=t;Object.prototype.toString.call(l)==="[object Function]"&&(l=l(),n=n()),this.location={lng:l,lat:n},this.map.setCenter(this.location),this.showCircle=!0,this.showTip=!0,this.store.mapRadius.value=this.formatBackendQuery({location:this.location,radius:e}),this.store.mapSyncType.value="radius",this.store.mapSyncList.value=!0,this.store.geometry.value=[],this.store.condition.location={}},createTip(){if(this.destroyTip(),this.mapbox){const t=this.mapbox.parentElement.querySelector("#tip");this.tipComp=ue(lo,{onCancel:()=>{this.clearDraw()}}),this.tipComp.mount(t)}},destroyTip(){this.tipComp&&(this.tipComp.unmount(),this.tipComp=null)},updateCircle({location:t,radius:e}){this.map.setCenter(t),this.circleRadius=e,this.location=t,this.showCircle=!1,this.$nextTick(()=>{this.drawing=!1,this.showCircle=!0,this.showTip=!0,this.store.mapRadius.value=this.formatBackendQuery({location:this.location,radius:e}),this.store.searchMap(),this.store.searchList()})},formatBackendQuery({location:t,radius:e}){return[JSON.stringify({originPoint:t,radius:e,unit:"miles"})]}},mounted(){if(this.store.polygonPath.value.length>0&&this.drawPath(this.store.polygonPath.value,!0),this.store.mapRadius.value.length>0){let{originPoint:t,radius:e}=JSON.parse(this.store.mapRadius.value[0]);this.openDrawCircle({location:t,radius:e},!1)}},components:{circleSearch:so}},uo={class:"draw"},co={class:"btn-lofty"},ho={class:"select-item"};function po(t,e,l,n,u,o){const s=Ce("circle-search");return d(),h("div",uo,[a("div",co,[u.showTip?(d(),h("span",{key:1,class:"btn-lofty-txt clear",onClick:e[5]||(e[5]=(...i)=>o.clearDraw&&o.clearDraw(...i))},"Clear")):(d(),h("div",{key:0,class:j(["btn-lofty-select",{unfold:u.showSelectDraw}]),onMouseenter:e[2]||(e[2]=(...i)=>o.handleMouseenter&&o.handleMouseenter(...i)),onMouseleave:e[3]||(e[3]=(...i)=>o.handleMouseleave&&o.handleMouseleave(...i)),onClick:e[4]||(e[4]=(...i)=>o.handleClick&&o.handleClick(...i))},[e[7]||(e[7]=a("span",{class:"btn-lofty-txt"},"Draw",-1)),e[8]||(e[8]=a("span",{class:"lofty_iconfont lofty-icon-arrow-down"},null,-1)),R(a("div",ho,[l.showPolygon?(d(),h("p",{key:0,onClick:e[0]||(e[0]=(...i)=>o.startDraw&&o.startDraw(...i))},"Polygon")):L("",!0),l.showRadius?(d(),h("p",{key:1,onClick:e[1]||(e[1]=(...i)=>o.openDrawCircle&&o.openDrawCircle(...i))},"Radius")):L("",!0),e[6]||(e[6]=a("div",{class:"opacity"},null,-1))],512),[[z,u.showSelectDraw]])],34))]),u.showCircle?(d(),_(s,{key:0,map:l.map,clearKey:u.clearKey,data:u.location,radius:u.circleRadius,onUpdateCircle:o.updateCircle},null,8,["map","clearKey","data","radius","onUpdateCircle"])):L("",!0)])}const go=J(ro,[["render",po]]),mo={inject:["store","isMobile"],computed:{hideMapAreaButton(){return this.store.mapSyncList.value&&this.store.mapSyncType.value==="mapArea"}},methods:{handler(){this.store.mapSyncList.value=!0,this.store.mapSyncType.value="mapArea",this.store.condition.location={}},showList(){this.store.toggleMap()}}},fo={key:0,class:"lofty-search"},yo={key:1,class:"lofty-search"},vo={class:"split-line"};function wo(t,e,l,n,u,o){return o.isMobile?(d(),h("div",yo,[R(a("span",{class:"search-text",onClick:e[1]||(e[1]=(...s)=>o.handler&&o.handler(...s))},"Search this area",512),[[z,!o.hideMapAreaButton]]),R(a("span",vo,null,512),[[z,!o.hideMapAreaButton]]),a("span",{class:"change-grid",onClick:e[2]||(e[2]=(...s)=>o.showList&&o.showList(...s))},e[3]||(e[3]=[a("i",{class:"lofty_iconfont lofty-icon-grid-fill"},null,-1),a("span",null,"Grid",-1)]))])):R((d(),h("div",fo,[a("span",{class:"search-text",onClick:e[0]||(e[0]=(...s)=>o.handler&&o.handler(...s))},"Redo Search On Map Area")],512)),[[z,!o.hideMapAreaButton]])}const So=J(mo,[["render",wo]]),Co={inject:["store","isMobile"],data(){return{isPop:!1,rating:"0",schoolChecked:this.store.showSchool.value,level:W({elementary:{label:"Elementary",value:!0},middle:{label:"Middle",value:!0},high:{label:"High",value:!0}}),timer:null}},computed:{ratingText(){let t=this.rating;return t==="0"?"All":t+(t==="10"?"":"+")},schoolData(){return{admission:"public,private",level:Object.keys(this.level).filter(t=>this.level[t].value).join(","),rating:this.rating}}},watch:{schoolData:{handler:pe(function(){this.searchSchool()},300)}},methods:{toggleSchool(t){const e=t.target.checked;this.store.showSchool.value=e,e?this.searchSchool():this.store.markerData.school=[]},searchSchool(){this.store.searchSchool(this.schoolData)},handleMouseenter(){this.isMobile||(clearTimeout(this.timer),this.isPop=!0)},handleMouseleave(){this.isMobile||(this.timer=setTimeout(()=>{this.isPop=!1},100))},handleClick(){this.isMobile&&(this.isPop=!this.isPop)},updateRangeStyle(){const t=100*+this.rating/10;this.$refs.range.style.background=`linear-gradient(to right, #191919 ${t}%, rgba(218, 218, 218, 0.5) ${t}%)`}},mounted(){this.updateRangeStyle()}},bo={class:"school"},Lo={class:"switch"},ko={class:"school"},Po=["onUpdate:modelValue","value"],Mo={class:"rating"},Do={class:"range"},To={class:"label"};function _o(t,e,l,n,u,o){return d(),h("div",bo,[a("div",{class:j(["school-btn",{unfold:u.isPop}]),onClick:e[0]||(e[0]=(...s)=>o.handleClick&&o.handleClick(...s)),onMouseenter:e[1]||(e[1]=(...s)=>o.handleMouseenter&&o.handleMouseenter(...s)),onMouseleave:e[2]||(e[2]=(...s)=>o.handleMouseleave&&o.handleMouseleave(...s))},e[9]||(e[9]=[a("span",{class:"btn-txt"},"School",-1),a("span",{class:"lofty_iconfont lofty-icon-arrow-down"},null,-1)]),34),R(a("div",{class:"pop-school-search",ref:"pop",onMouseenter:e[7]||(e[7]=(...s)=>o.handleMouseenter&&o.handleMouseenter(...s)),onMouseleave:e[8]||(e[8]=(...s)=>o.handleMouseleave&&o.handleMouseleave(...s))},[a("div",Lo,[a("label",null,[R(a("input",{type:"checkbox",name:"switch","onUpdate:modelValue":e[3]||(e[3]=s=>u.schoolChecked=s),onInput:e[4]||(e[4]=(...s)=>o.toggleSchool&&o.toggleSchool(...s))},null,544),[[Me,u.schoolChecked]]),a("span",{class:j(["lofty_iconfont lofty-icon-checked",{mobile:o.isMobile}])},null,2),e[10]||(e[10]=a("span",null,"Show Schools On Map",-1))])]),e[14]||(e[14]=a("div",{class:"divider"},null,-1)),a("div",ko,[(d(!0),h($,null,B(Object.keys(u.level),s=>(d(),h("label",{key:s},[R(a("input",{type:"checkbox",name:"level","onUpdate:modelValue":i=>u.level[s].value=i,value:s},null,8,Po),[[Me,u.level[s].value]]),a("span",{class:j(["lofty_iconfont lofty-icon-checked",{mobile:o.isMobile}])},null,2),K(" "+S(s),1)]))),128))]),e[15]||(e[15]=a("div",{class:"divider"},null,-1)),e[16]||(e[16]=a("p",{class:"rating-title"},"GreatSchools Rating",-1)),a("div",Mo,[a("div",Do,[e[12]||(e[12]=a("span",null,"Low",-1)),a("div",null,[R(a("input",{ref:"range",type:"range",name:"rating",min:"0",max:"10","onUpdate:modelValue":e[5]||(e[5]=s=>u.rating=s),onInput:e[6]||(e[6]=(...s)=>o.updateRangeStyle&&o.updateRangeStyle(...s))},null,544),[[Se,u.rating]]),e[11]||(e[11]=a("div",{class:"bar"},null,-1))]),e[13]||(e[13]=a("span",null,"High",-1))]),a("span",To,S(o.ratingText),1)])],544),[[z,u.isPop]])])}const Ro=J(Co,[["render",_o]]),Eo={mixins:[ye],data(){return{type:"house"}},computed:{houses(){return this.data.items},housesStatus(){return"house-status-"+(this.houses[0].listingStatus||"").toLowerCase()}}},Oo={key:0,class:"house-header"},Ao={class:"house-list"},$o=["href"],No={class:"house-top"},Io=["src"],jo={class:"house-info"},Bo={key:0,class:"price"},Ho={key:1,class:"price"},Uo={class:"info"},Go={class:"addr"},Vo={class:"house-bottom"},zo={class:"detail"},xo={key:0,class:"house-mls-id"},Jo=["src"];function Fo(t,e,l,n,u,o){return t.parentDom?(d(),_(fe,{key:0,to:t.parentDom},[a("div",be({ref:"marker",class:["marker-house map-marker",{active:t.active===t.fmLatlng,hidden:t.data.destroyed}],onMouseenter:e[0]||(e[0]=(...s)=>t.onMouseEnter&&t.onMouseEnter(...s)),onMouseleave:e[1]||(e[1]=(...s)=>t.onMouseLeave&&t.onMouseLeave(...s)),onClick:e[2]||(e[2]=(...s)=>t.onClick&&t.onClick(...s)),onWheel:e[3]||(e[3]=I(()=>{},["stop"])),onMousewheel:e[4]||(e[4]=I(()=>{},["stop"]))},t.$attrs),[a("span",{class:j(["marker-shape",[{highlight:t.data.keepHighlight},o.housesStatus]])},[t.data.nodisclosureDes?(d(),h($,{key:0},[K("﹡﹡﹡﹡﹡")],64)):L("",!0),t.data.nodisclosureDes?L("",!0):(d(),h($,{key:1},[K(S(t.showPrice),1)],64))],2),a("div",{ref:"pop",class:j(["marker-pop",{multi:o.houses.length>1,bottom:t.popBottom}]),style:me(t.popStyle)},[o.houses.length>1?(d(),h("div",Oo,[a("span",null,S(o.houses.length)+" units here ",1)])):L("",!0),a("ul",Ao,[(d(!0),h($,null,B(o.houses,s=>(d(),h("li",{class:"house-item",key:s.id},[a("a",{href:s.detailLink||s.detailUrl,target:"_blank",rel:"noopener noreferrer"},[a("div",No,[a("img",{class:"img-container",src:s.previewPicture,alt:""},null,8,Io),a("div",jo,[s.nodisclosureDes?(d(),h("p",Ho,S(s.nodisclosureDes),1)):(d(),h("p",Bo,S(s.soldDate?s.soldPrice:s.price),1)),a("div",Uo,[(d(!0),h($,null,B(s.basic,i=>(d(),h("span",{class:"desc-span",key:i.key},S(i.text),1))),128))]),a("p",Go,S(s.streetAddress),1)])]),a("div",Vo,[a("div",zo,[s.showMls?(d(),h("p",xo," Listing # "+S(s.mlsListingId),1)):L("",!0)]),s.mlsLogo?(d(),h("img",{key:0,class:"house-mls-logo",height:"18",src:s.mlsLogo,alt:"house mls logo"},null,8,Jo)):L("",!0)])],8,$o)]))),128))])],6)],16)],8,["to"])):L("",!0)}const Oe=J(Eo,[["render",Fo]]),qo={emits:["update:active"],mixins:[ye],inject:["store"],directives:{outSideClick:Ue},data(){return{type:"school"}},methods:{pushLocation(){const{location:t}=this.store.condition;this.store.removeMapTag();const{keywordType:e,label:l}=this.data;t[e]?t[e].includes(l)===-1&&t[e].push(l):t[e]=[l]},touchstart(t){this.active||t.preventDefault(),this.onClick()},outClick(){this.active&&this.$emit("update:active","")}}},Ko={class:"school-list"},Zo={class:"info"},Wo={class:"left"},Yo={class:"name"},Qo={class:"tip"},Xo={class:"right"};function es(t,e,l,n,u,o){const s=Ne("out-side-click");return t.parentDom?(d(),_(fe,{key:0,to:t.parentDom},[a("div",{class:j(["marker-school map-marker",{active:t.active===t.fmLatlng}]),onMouseenter:e[1]||(e[1]=(...i)=>t.onMouseEnter&&t.onMouseEnter(...i)),onMouseleave:e[2]||(e[2]=(...i)=>t.onMouseLeave&&t.onMouseLeave(...i)),onTouchstart:e[3]||(e[3]=(...i)=>o.touchstart&&o.touchstart(...i))},[e[5]||(e[5]=a("i",{class:"lofty_iconfont lofty-icon-school2"},null,-1)),a("div",{ref:"pop",class:j(["marker-pop",{bottom:t.popBottom}]),style:me(t.popStyle)},[a("span",{ref:"pointer",class:"pointer",style:me(t.pointerStyle)},null,4),R((d(),h("ul",Ko,[a("li",null,[a("div",Zo,[a("div",Wo,[a("p",Yo,S(t.data.name),1),a("span",Qo,S(t.data.type)+" · "+S(t.data.gradeRange),1)]),a("div",Xo,[a("div",{class:j({rating:!0,high:t.data.gsRating>9,middle:t.data.gsRating>=6&&t.data.gsRating<=9})},S(t.data.gsRating),3),e[4]||(e[4]=a("span",{class:"tip"},"Out of 10",-1))])]),a("div",{class:"link",onClick:e[0]||(e[0]=(...i)=>o.pushLocation&&o.pushLocation(...i))},"View Homes in This School Area")])])),[[s,o.outClick]])],6)],34)],8,["to"])):L("",!0)}const ts=J(qo,[["render",es]]),os={mixins:[ye],data(){return{type:"aggre"}},methods:{showBoundary(){if(this.boundary&&!this.isMobile)this.boundary.setVisibility(!0);else{const t={strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)",fillColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-bgColor")||"rgba(25, 25, 25, 0.2)",lineWidth:2},e=new window.H.geo.LineString,l=[];this.data.bounds.forEach((o,s)=>{if(Array.isArray(o))if(s===0)o.forEach(i=>{e.pushPoint(i)});else{const i=new window.H.geo.LineString;o.forEach(r=>{i.pushPoint(r)}),l.push(i)}else e.pushPoint(o)});const u=new window.H.geo.Polygon(e,l);this.boundary=new window.H.map.Polygon(u,{style:t}),this.map.addObject(this.boundary),this.boundary.setVisibility(!0)}this.onMouseEnter()},hideBoundary(){this.boundary&&this.boundary.setVisibility(!1),this.onMouseLeave()},onClick(){const t=this.events&&this.events.click;t&&t.call(this),this.hideBoundary();let{lat:e,lng:l}=this.data,n=this.map.getZoom();this.isMobile?n+=2:n+=n<10?3:n<=16?2:1,this.map.getViewModel().setLookAtData({position:{lat:e,lng:l},zoom:n},!0)}},beforeUnmount(){this.boundary&&this.map&&this.map.removeObject(this.boundary)}},ss={class:"marker-shape"},is={class:"info"},as={class:"count"};function ns(t,e,l,n,u,o){return t.parentDom?(d(),_(fe,{key:0,to:t.parentDom},[a("div",be({class:["marker-aggre map-marker",{active:t.active===t.fmLatlng}],onMouseenter:e[0]||(e[0]=(...s)=>o.showBoundary&&o.showBoundary(...s)),onMouseleave:e[1]||(e[1]=(...s)=>o.hideBoundary&&o.hideBoundary(...s)),onClick:e[2]||(e[2]=(...s)=>o.onClick&&o.onClick(...s))},t.$attrs),[a("div",ss,[a("div",is,[a("span",as,S(t.data.count),1)])])],16)],8,["to"])):L("",!0)}const ls=J(os,[["render",ns]]),rs={class:"marker-box aggre"},us={class:"marker-box house"},cs={class:"marker-box school"},ds={__name:"listingMap",props:{id:String},setup(t){const e=t,{module:l,zoom:n,map:u,sold:o,rect:s,geometry:i,drawing:r,searchMap:y,listings:g,markerData:P,mlsList:F,condition:Z,showMap:Q,mapSyncType:oe,dealHouseData:ne}=ae[e.id],E=W({aggre:"",house:"",school:""});De("isMobile",x.isMobile),De("store",ae[e.id]);const X=f(!1),q=W({lat:0,lng:0}),M={minZoom:4,maxZoom:20,zoom:n.value,center:{lat:40.00267,lng:-75.3057}};k();async function k(){const v=l.getModuleData().mapCenter;if(s){const p=s.split(",");M.center.lat=(+p[0]+ +p[2])/2,M.center.lng=(+p[1]+ +p[3])/2}else if(v)M.center.lng=+v.lng,M.center.lat=+v.lat,M.zoom=11,n.value=11;else{const p=await U.get("search/centerPoint");p.centerLatitude&&p.centerLongitude&&(M.center.lat=p.centerLatitude,M.center.lng=p.centerLongitude,n.value=p.zoom)}X.value=!0}const O=["city","zipCode","neighborhood"];function le(){ge([Z,Q],async()=>{if(!Q.value)return;const v=Z.location||{};Object.keys(v).filter(m=>m!=="mapPath"&&m!=="mapRadius").length>0&&await de(v),O.some(m=>!!v[m])?ve(v):i.value=[],y()},{immediate:!0})}ge(g,()=>{const v=l.$all(".lofty-listing .lofty-house-item");Array.from(v).forEach(p=>{p.onmouseenter=m=>{const C=m.target.getAttribute("house-id"),H=g.value.find(N=>String(N.id)===C),V=ne([JSON.parse(JSON.stringify(H))]);P.activeHouse=V[0],P.activeHouseKey=Date.now()}})}),ge(Q,v=>{if(v&&g.value[0]){const p=g.value[0];q.lat=+p.latitude,q.lng=+p.longitude}});const ce=f([]);async function de(v){const p={mlsOrgIds:F};for(let C in v){let H=v[C];["streetAddress"].includes(C)&&(H=v[C].map(V=>V.split(",")[0])),p[C]=H.join(";")}const{data:m}=await U.post("search/listing/locationSearch",{data:p});if(m&&m.length===2){const[C,H,V,N]=[m[0].longitude,m[1].longitude,m[0].latitude,m[1].latitude],w=Math.min(C,H),T=Math.max(C,H),b=Math.min(V,N),D=Math.max(V,N);ce.value=[[w,b],[w,D],[T,D],[T,b]]}else m.length===1&&(q.lat=m[0].latitude,q.lng=m[0].longitude,n.value=18,u.value.setZoom(18))}async function ve(v){const p={};O.forEach(C=>{v[C]&&(p[C]=v[C].join(";"))});const m=await U.get("search/hj/getBoundary",{data:p});i.value=m.geometry}const ee=x.debounce(y,300);function he(v){u.value=v,v.addEventListener("dragend",()=>{["polygon","radius"].includes(oe.value)||ee()}),v.addEventListener("dbltap",p=>{let m=v.getZoom(),{viewportX:C,viewportY:H}=p.currentPointer,V=v.screenToGeo(C,H);const N=M.maxZoom||20,w=Math.min(m+1,N);v.getViewModel().setLookAtData({position:V,zoom:w},!0),y()}),v.addEventListener("mapviewchangeend",()=>{const p=Math.round(u.value.getZoom());n.value!==p&&(n.value=p,ee())}),le()}return(v,p)=>c(X)?(d(),_(Je,{key:0,onInit:he,config:M,center:c(q),boundary:c(ce),geometry:c(i),class:j({drawing:c(r)})},{default:ie(()=>[Y(So,{class:"map-tool"}),c(o)?L("",!0):(d(),_(Ro,{key:0,class:"map-tool"})),Y(go,{class:j(["map-tool",{"draw-is-sold":c(o)}]),map:c(u)},null,8,["class","map"]),p[3]||(p[3]=a("div",{id:"tip"},null,-1)),a("div",rs,[(d(!0),h($,null,B(c(P).aggregation,m=>(d(),_(ls,{key:m.key,map:c(u),class:"map-marker",data:m,active:c(E).aggre,"onUpdate:active":p[0]||(p[0]=C=>c(E).aggre=C)},null,8,["map","data","active"]))),128))]),a("div",us,[(d(!0),h($,null,B(c(P).house,m=>(d(),_(Oe,{key:m.key,map:c(u),class:"map-marker",data:m,active:c(E).house,"onUpdate:active":p[1]||(p[1]=C=>c(E).house=C)},null,8,["map","data","active"]))),128)),c(P).activeHouse?(d(),_(Oe,{map:c(u),key:c(P).activeHouseKey,class:"map-marker active-house",data:c(P).activeHouse},null,8,["map","data"])):L("",!0)]),a("div",cs,[(d(!0),h($,null,B(c(P).school,m=>(d(),_(ts,{key:m.key,map:c(u),class:"map-marker",data:m,active:c(E).school,"onUpdate:active":p[2]||(p[2]=C=>c(E).school=C)},null,8,["map","data","active"]))),128))])]),_:1},8,["center","boundary","geometry","class"])):L("",!0)}},hs=async function(){const t=se(),{mlsOrgId:e,complianceCheck:l}=t;if(!(!e||!l))try{const n=await U.get(`/listing/site-mls/${e}`);(!n.data||!n.data.applyStatus||n.data.applyStatus!==1)&&document.body.classList.add("lofty-site-pending")}catch(n){console.error("error",n)}};it();at();_e.initState(()=>{var t,e;st(),(e=(t=_e.mlsList)==null?void 0:t.forEach)==null||e.call(t,l=>nt(l))});hs();jQuery(".lofty-listing-page").ready(function(){const t=document.querySelectorAll(".lofty-listing-page");t.length>0&&t.forEach(e=>{const l=e.getAttribute("id"),n=Ge(l),{id:u,$:o}=n;rt(n);const s=n.getModuleData();ue(Lt,{id:u}).mount(o("#lofty-listing-search")),ue(Nt,{id:u}).mount(o("#lofty_filter_container")),ue(It,{id:u}).mount(o("#lofty_pagination_container")),s.hasMap&&ue(ds,{id:u}).mount(o("#lofty-map-container"))})});
  • lofty-idx/trunk/assets/market-report.js

    r3348566 r3348893  
    1 import{g as U,i as d,h as A,o as Y,u as F,d as Z}from"./_plugin-vue_export-helper.Cq0ParU2.js";import{r as S,c as C,k as j,l as E,o as l,d as x,w as R,e,f as V,q as N,s as O,y as z,u as t,v as tt,x as D,m as B,g as y,F as k,D as Q,p as et,M as st,J as ot,j as b,a as it,N as at,h as M,t as $,I as nt,H as lt}from"./vendor.DSMCY3-_.js";import{c as rt}from"./module.CKjUdtPN.js";import{u as q}from"./user.BcbXWidr.js";import{a as dt,s as ct}from"./popup-mls.B3nJZ9V8.js";import{_ as ut}from"./index.5F2_f90D.js";import{c as pt}from"./index.DzRoBq24.js";import{P as yt}from"./index.DnZD_ROs.js";import{_ as ft}from"./index.BIsjoQ8l.js";import{n as P}from"./number-format.CLdvQh6j.js";import{E as mt}from"./feature-listing-slider.BkyxHd8D.js";import{_ as gt}from"./houseSlider.CQBIXO6D.js";import{f as W}from"./house-format.B6FoJSlV.js";import{_ as X}from"./index.20AV-SFS.js";import{I as vt}from"./index.3MfMsqfZ.js";import"./useConfirm.DbQjtEKi.js";import"./outsideclick.Bw_hMuzW.js";import"./google.Dg-2iVCG.js";import"./verify-email.x9ITyz1P.js";const I={};function ht(o){const i=o.getModuleData(),s={module:o,isShortCode:i.isShortCode,config:S(i.isShortCode?i.shortcode_config:{}),featureListingName:C(()=>s.config.value.featureListingName),hideDropDown:S(!1),submitJs:i.submitJs},r={getPageSize(){if(d)return 4;{const n=window.innerWidth;if(n>1480)return 4;if(n>900)return 3}},async getReportByTitle(n){r.syncUrl(n);const{data:f}=await A.post("/admin/report/getByTitle",{data:{title:n}});s.config.value={encryptId:f.encryptId,title:f.title,featureListingName:f.filterName,show_new:f.extraInfo.displayNewListing,show_pending:f.extraInfo.displayPendingListings,show_sold:f.extraInfo.displaySoldListings,leadSubscribeStatus:!!f.leadSubscribeStatus}},syncUrl(n){let f=window.location.pathname,g=U();g.report=encodeURIComponent(n),f=f+"?"+Y(g),window.history.pushState(null,"",f)}},a=U();return a.report&&r.getReportByTitle(decodeURIComponent(a.report)),{...s,...r}}function _t(o){I[o.id]=ht(o)}const bt={class:"lofty-subscribe-pop"},St={class:"market-subscribe-pop-content"},wt={class:"snapshot-input-wrap"},xt={__name:"subscribePop",props:{reportId:[String,Number],name:String},emits:["submit"],setup(o,{emit:i}){const s=j("popRef"),r=i,a=S(o.name),n=S(7),f=[{label:"Instantly",value:0},{label:"Daily",value:1},{label:"Weekly",value:7},{label:"Biweekly",value:14},{label:"Monthly",value:28}];E(()=>{s.value.open()});const g=S(!1);async function m(){if(!a.value.trim()){g.value=!0,setTimeout(()=>{g.value=!1},3e3);return}const _={encryptId:o.reportId,subscribe:!0,snapshotName:a.value,mailFrequency:n.value};(await A.post("/admin/report/subscribe",{data:_})).status.code===0?(r("submit"),h()):F.toast("Failed to subscribe to this report")}function h(){s.value.$el.parentNode.remove(),document.body.classList.remove("lofty-overflow-hidden")}return(_,c)=>(l(),x(yt,{ref_key:"popRef",ref:s,allowClose:!1},{default:R(()=>[e("div",bt,[e("div",{class:"title"},[c[3]||(c[3]=V("SAVE MARKET REPORT")),e("i",{class:"lofty_iconfont lofty-icon-close",onClick:h})]),c[6]||(c[6]=e("div",{class:"desc"}," Market updates that will help you to better understand the local market. ",-1)),e("div",St,[c[4]||(c[4]=e("div",{class:"label"},"Custom Market Report Name",-1)),e("div",wt,[N(e("input",{"onUpdate:modelValue":c[0]||(c[0]=p=>O(a)?a.value=p:null),class:z({error:t(g)}),placeholder:"Type Something"},null,2),[[tt,t(a)]]),N(e("span",null,"Please fill out this field.",512),[[D,t(g)]]),N(e("span",{class:"lofty_iconfont lofty-icon-clear_circle_outlined",onClick:c[1]||(c[1]=p=>a.value="")},null,512),[[D,t(a)]])]),c[5]||(c[5]=e("div",{class:"label mt20"},"Email Frequency",-1)),B(ft,{class:"mt10",modelValue:t(n),"onUpdate:modelValue":c[2]||(c[2]=p=>O(n)?n.value=p:null),list:f},null,8,["modelValue"])]),e("div",{class:"lofty-btn mt20",onClick:m},"Save")])]),_:1},512))}},kt={class:"lofty-btn is-subscribed ml-auto"},H={__name:"subscribeButton",props:{submitJs:String,reportId:[String,Number],leadSubscribeStatus:Boolean,name:String},setup(o){const i=S(o.leadSubscribeStatus);function s(){pt(async()=>{const r=document.createElement("div");document.body.appendChild(r),Q(xt,{reportId:o.reportId,name:o.name,onSubmit:()=>{i.value=!0,F.toast("Subscribe Successful!"),F.executeSubmitJS(o.submitJs)}}).mount(r)})}return(r,a)=>(l(),y(k,null,[N(e("div",{class:"lofty-btn ml-auto",onClick:s},"Subscribe to the report",512),[[D,!t(i)]]),N(e("div",kt,a[0]||(a[0]=[e("span",null,"Already subscribed to the report",-1),e("i",{class:"lofty_iconfont lofty-icon-checked"},null,-1)]),512),[[D,t(i)]])],64))}},Lt={class:"lofty-chart-container"},At={key:0,class:"lofty-chart-no-data"},G={__name:"index",props:{option:Object},setup(o){const i=C(()=>o.option.series.every(f=>f.data.every(g=>g===0))),s=j("chart");let r=null;et(()=>o.option,f=>{r&&r.setOption(f,!0)},{deep:!0});const a=Z(()=>{r&&r.resize()},1e3),n=new ResizeObserver(()=>{a()});return E(()=>{r=st(s.value),r.setOption(o.option),n.observe(s.value)}),ot(()=>{n.unobserve(s.value)}),(f,g)=>(l(),y("div",Lt,[e("div",{class:"lofty-charts",ref_key:"chart",ref:s},null,512),t(i)?(l(),y("div",At,g[0]||(g[0]=[e("div",{class:"lofty-no-listing"},[e("i",{class:"lofty_iconfont lofty-icon-activities_04"}),e("div",{class:"no-listing-text"},"No Data")],-1)]))):b("",!0)]))}},T=getComputedStyle(document.documentElement),J="border-radius: 0;box-shadow: 0px 2px 5px 0px rgba(25, 25, 25, 0.1)",$t={price:{color:[T.getPropertyValue("--lofty-market-report-list-price-color")||"#A8A8A8",T.getPropertyValue("--lofty-market-report-sold-price-color")||"#505050"],legend:{data:["List Price","Sold Price"],left:d?0:40,top:d?315:40,icon:"rect",itemWidth:12,itemHeight:3,itemGap:30},grid:{top:d?10:100,left:d?45:100,right:d?10:50},xAxis:{type:"category",boundaryGap:!1,data:[],axisLine:{lineStyle:{color:"#dadada"}},axisLabel:{color:"#A8A8A8"}},yAxis:{type:"value",scale:!0,axisLabel:{padding:d?[0,0,0,0]:[0,10,0,0],color:"#A8A8A8",formatter:function(o){if(o)return"$"+(P(o,!0,1)||"0")}},axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisTick:{show:!0,lineStyle:{color:"#A8A8A8"}},splitLine:{show:!1}},tooltip:{trigger:"axis",position:d?[45,10]:null,extraCssText:J,formatter:function(o){let i=`<div style="color:#A8A8A8">${o[0].axisValue}</div>`;return o.forEach(s=>{const r="$"+String(s.value).replace(/\B(?=(\d{3})+(?!\d))/g,",");i+=`<div style="color: #191919;margin-top: 10px;padding-right: 20px">${s.seriesName}:${r} </div>`}),i}},series:[{name:"List Price",data:[],type:"line",showSymbol:!1,symbolSize:5,lineStyle:{width:3},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(25, 25, 25, 0.15)"},{offset:1,color:"rgba(25, 25, 25, 0)"}]}}},{name:"Sold Price",data:[],type:"line",showSymbol:!1,symbolSize:5,lineStyle:{width:3},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(25, 25, 25, 0.15)"},{offset:1,color:"rgba(25, 25, 25, 0)"}]}}}]},day:{color:[T.getPropertyValue("--lofty-market-report-day-color")||"#505050"],grid:{top:d?10:100,left:d?30:60,right:d?10:50,bottom:d?40:60},xAxis:{type:"category",data:[],axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisLabel:{color:"#A8A8A8"}},yAxis:{type:"value",axisLabel:{padding:d?[0,0,0,0]:[0,10,0,0],color:"#A8A8A8"},axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisTick:{show:!0,lineStyle:{color:"#A8A8A8"}},splitLine:{show:!1}},tooltip:{trigger:"axis",position:d?[30,10]:null,extraCssText:J,formatter:function(o){let i=`<div style="color:#A8A8A8">${o[0].axisValue}</div>`;return o.forEach(s=>{i+=`<div style="color: #191919;margin-top: 10px;padding-right: 20px">${s.seriesName}:${s.value} </div>`}),i}},series:[{name:"Median Days on Market",data:[],type:"bar",barWidth:d?15:30}]},inventory:{color:[T.getPropertyValue("--lofty-market-report-inventory-active-color")||"#A8A8A8",T.getPropertyValue("--lofty-market-report-inventory-sold-color")||"#505050"],legend:{data:["Active Listings","Sold Listings"],left:d?0:40,top:d?315:40,icon:"rect",itemWidth:12,itemHeight:3,itemGap:30},grid:{top:d?10:100,left:d?30:80,right:d?10:50},xAxis:{type:"category",data:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisLabel:{color:"#A8A8A8"}},yAxis:{type:"value",axisLabel:{padding:d?[0,0,0,0]:[0,10,0,0],color:"#A8A8A8"},axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisTick:{show:!0,lineStyle:{color:"#A8A8A8"}},splitLine:{show:!1}},tooltip:{trigger:"axis",position:d?[30,10]:null,extraCssText:J,formatter:function(o){let i=`<div style="color:#A8A8A8">${o[0].axisValue}</div>`;return o.forEach(s=>{i+=`<div style="color: #191919;margin-top: 10px;padding-right: 20px">${s.seriesName}:${s.value} </div>`}),i}},series:[{name:"Active Listings",data:[],type:"bar",barWidth:d?10:30},{name:"Sold Listings",data:[],type:"bar",barWidth:d?10:30}]}},Ct={class:"market-report-three-data"},Nt={class:"lofty-three-card-wrap"},It=["onClick"],Tt={class:"title"},Dt={class:"value"},Et={key:0,class:"lofty_iconfont lofty-icon-arrow_03_up"},Mt={key:1,class:"lofty_iconfont lofty-icon-arrow_04_down"},Pt={class:"desc"},Rt={__name:"threeData",props:{id:String},setup(o){const i=it({price:{title:"Median List Price",value:null,rate:"",trend:"",desc:"The past 30 days -over- the previous 30 days"},day:{title:"Median Days on Market",value:null,rate:"",trend:"",desc:"The past 30 days -over- the previous 30 days"},inventory:{title:"Inventory",value:null,rate:"",trend:"",desc:"The past 30 days -over- the previous 30 days"}}),s=S(1),r=S("price"),a=at($t),n=S(a.price);function f(c){!d&&r.value!==c&&(r.value=c,n.value=a[c])}const{config:g}=I[o.id],m={filterName:g.value.featureListingName};h(),_();async function h(){const c=await A.get("market-report/statsInLastSixtyDays",{data:m}),{last_30_days:p,month_over_month:u}=c.data;i.price.value=P(p.median_list_price,!1,0,"$"),i.price.rate=u.median_list_price,i.price.trend=u.median_list_price_trend,i.day.value=P(p.median_days_on_market),i.day.rate=u.median_days_on_market,i.day.trend=u.median_days_on_market_trend,i.inventory.value=P(p.list_inventory+""),i.inventory.rate=u.list_inventory,i.inventory.trend=u.list_inventory_trend}async function _(){const c=await A.get("market-report/statsInLastSixMonths",{data:m}),p=[];for(let u in c.data){const v=c.data[u],w=new Date(`${u}-01`).toLocaleString("en-US",{month:"short"});p.push(w),a.price.series[0].data.push(+v.median_list_price||0),a.price.series[1].data.push(+v.median_sale_price||0),a.day.series[0].data.push(+v.median_days_on_market||0),a.inventory.series[0].data.push(v.list_inventory||0),a.inventory.series[1].data.push(v.sold_inventory||0)}a.price.xAxis.data=p,a.day.xAxis.data=p,a.inventory.xAxis.data=p,s.value=Date.now()}return(c,p)=>(l(),y("div",Ct,[e("div",Nt,[(l(!0),y(k,null,M(t(i),(u,v)=>(l(),y("div",{class:z(["card",{active:t(r)===v||t(d)}]),onClick:w=>f(v)},[e("div",Tt,$(u.title),1),e("div",Dt,[V($(u.value||"--")+" ",1),e("span",{class:z(["rate-number",u.trend])},[u.trend==="up"?(l(),y("i",Et)):u.trend==="down"?(l(),y("i",Mt)):b("",!0),V(" "+$(u.rate),1)],2)]),e("div",Pt,$(u.desc),1),t(d)?(l(),x(G,{option:t(a)[v],key:t(s),class:"chart-wrap-mobile"},null,8,["option"])):b("",!0)],10,It))),256))]),t(d)?b("",!0):(l(),x(G,{option:t(n),key:t(s),class:"chart-wrap-pc",style:{height:"calc(100vh - 300px)"}},null,8,["option"]))]))}},Vt={key:0,class:"lofty-market-listing-slider"},zt=["src"],Bt={init:"false",class:"swiper-container"},Jt={key:2,class:"lofty-no-listing"},Ut={__name:"newListing",props:{id:String},setup(o){nt();const{module:i,featureListingName:s}=I[o.id],r=LoftyIdxUtils.static_url(mt),a=S(!0),n=S([]),f=Date.now(),g=f-30*24*60*60*1e3,m=JSON.stringify({listingDate:[g,f].join(",")});async function h(){const p={pageSize:50,page:1,listingType:"featured-listing",featureListingName:s.value,condition:m},u=await A.get("/search/realTimeListings",{data:p,action:"lofty_idx_api"});u.data.listings.forEach(v=>W(v)),n.value=u.data.listings,a.value=!1,n.value.length>0&&lt(()=>{_()})}function _(){const p=i.$(".swiper-container");let u={navigation:{prevEl:".listing-slider-prev-button",nextEl:".listing-slider-next-button"},loop:n.value.length>3,initialSlide:1,observer:!0,spaceBetween:d?10:0,speed:1e3,autoplay:{pauseOnMouseEnter:!0,delay:5e3},centeredSlides:!d,centeredSlidesBounds:!1,slidesPerView:"auto",effect:"coverflow",coverflowEffect:{rotate:0,depth:0,scale:d?1:(50-100/window.innerWidth*100)/50,slideShadows:!1}};Object.assign(p,u),p.initialize()}function c(){const p=document.createElement("a");p.href=`/listing/?pageKey=search&featureListingName=${s.value}&condition=${encodeURIComponent(m)}`,p.target=d?"_self":"_blank",document.body.appendChild(p),p.click(),document.body.removeChild(p)}return E(()=>{h()}),(p,u)=>(l(),y(k,null,[u[5]||(u[5]=e("div",{class:"lofty-market-report-title lofty-page-padding"},[e("p",{class:"page-title"},"New Listings"),e("span",{class:"last-time"},"Last 30 Days")],-1)),t(n).length>0&&!t(a)?(l(),y("div",Vt,[e("img",{class:"img-background",src:t(r),alt:""},null,8,zt),u[3]||(u[3]=e("div",{class:"mask"},null,-1)),e("swiper-container",Bt,[(l(!0),y(k,null,M(t(n),(v,w)=>(l(),y("swiper-slide",{key:w,class:z({"swiper-slide-flow":!t(d),"swiper-slide-mobile":t(d)})},[B(gt,{house:v},{default:R(()=>u[0]||(u[0]=[e("div",{class:"lofty-status-tag new"},"Active",-1)])),_:2},1032,["house"])],2))),128))]),t(d)?b("",!0):(l(),y(k,{key:0},[u[1]||(u[1]=e("div",{class:"listing-slider-prev-button"},[e("i",{class:"lofty_iconfont lofty-icon-arrow_06_left"})],-1)),u[2]||(u[2]=e("div",{class:"listing-slider-next-button"},[e("i",{class:"lofty_iconfont lofty-icon-arrow_06_right"})],-1))],64))])):b("",!0),t(n).length>0&&!t(a)?(l(),y("div",{key:1,onClick:c,class:"lofty-more"},"More")):b("",!0),t(n).length===0&&!t(a)?(l(),y("div",Jt,u[4]||(u[4]=[e("i",{class:"lofty_iconfont lofty-icon-house_02"},null,-1),e("div",{class:"no-listing-text"},"No Listing Found",-1)]))):b("",!0)],64))}},Ft={key:0,class:"lofty-listing pending-listing"},Ot={key:2,class:"lofty-no-listing"},jt={__name:"pendingListing",props:{id:String},setup(o){const{featureListingName:i,getPageSize:s}=I[o.id],r=S([]),a=S(!0);E(()=>{f()});const n=JSON.stringify({listingStatus:["Pending"]});async function f(){const m={pageSize:s(),page:1,listingType:"featured-listing",featureListingName:i.value,condition:n},h=await A.get("/search/realTimeListings",{data:m,action:"lofty_idx_api"});h.data.listings.forEach(_=>W(_)),r.value=h.data.listings,a.value=!1}function g(){const m=document.createElement("a");m.href=`/listing/?pageKey=search&featureListingName=${i.value}&condition=${encodeURIComponent(n)}`,m.target=d?"_self":"_blank",document.body.appendChild(m),m.click(),document.body.removeChild(m)}return(m,h)=>(l(),y(k,null,[h[1]||(h[1]=e("div",{class:"lofty-market-report-title"},[e("p",{class:"page-title"},"Pending Listings")],-1)),t(r).length>0&&!t(a)?(l(),y("div",Ft,[(l(!0),y(k,null,M(t(r),_=>(l(),x(X,{class:"list-card",house:_},null,8,["house"]))),256))])):b("",!0),t(r).length>0&&!t(a)?(l(),y("div",{key:1,onClick:g,class:"lofty-more"},"More")):b("",!0),t(r).length===0&&!t(a)?(l(),y("div",Ot,h[0]||(h[0]=[e("i",{class:"lofty_iconfont lofty-icon-house_02"},null,-1),e("div",{class:"no-listing-text"},"No Listing Found",-1)]))):b("",!0)],64))}},Wt={key:0,class:"lofty-listing"},Kt={key:2,class:"lofty-no-listing"},qt={__name:"soldListing",props:{id:String},setup(o){const{featureListingName:i,getPageSize:s}=I[o.id],r=S([]),a=S(!0),n=Date.now(),f=n-30*24*60*60*1e3,g=JSON.stringify({soldDate:[f,n].join(",")});E(()=>{m()});async function m(){const _={pageSize:s(),page:1,featureListingName:i.value,listingType:"sold-listing",condition:g},c=await A.get("/search/realTimeListings",{data:_,action:"lofty_idx_api"});c.data.listings.forEach(p=>W(p)),r.value=c.data.listings,a.value=!1}function h(){const _=document.createElement("a");_.href=`/sold-listing/?pageKey=sold_listing&featureListingName=${i.value}&condition=${encodeURIComponent(g)}`,_.target=d?"_self":"_blank",document.body.appendChild(_),_.click(),document.body.removeChild(_)}return(_,c)=>(l(),y(k,null,[c[1]||(c[1]=e("div",{class:"lofty-market-report-title"},[e("p",{class:"page-title"},"Sold Listings"),e("span",{class:"last-time"},"Last 30 Days")],-1)),t(r).length>0&&!t(a)?(l(),y("div",Wt,[(l(!0),y(k,null,M(t(r),p=>(l(),x(X,{class:"list-card",house:p},null,8,["house"]))),256))])):b("",!0),t(r).length>0&&!t(a)?(l(),y("div",{key:1,onClick:h,class:"lofty-more"},"More")):b("",!0),t(r).length===0&&!t(a)?(l(),y("div",Kt,c[0]||(c[0]=[e("i",{class:"lofty_iconfont lofty-icon-house_02"},null,-1),e("div",{class:"no-listing-text"},"No Listing Found",-1)]))):b("",!0)],64))}},Ht={key:0,class:"lofty-market-report-header lofty-page-padding"},Gt={class:"lofty-ellipsis"},Qt={class:"market-report-list"},Xt=["onClick"],Yt={class:"lofty_iconfont lofty-icon-checked"},Zt={class:"lofty-market-report-title lofty-page-padding"},te={class:"page-title"},ee={class:"lofty-page-padding"},se={key:1},oe={key:2,class:"lofty-page-padding"},ie={key:3,class:"lofty-page-padding"},ae={key:4,class:"lofty-mobile-fix-bottom lofty-mobile-subscribe"},ne={__name:"index",props:{id:String},setup(o){const{isShortCode:i,config:s,getReportByTitle:r,submitJs:a}=I[o.id],n=C(()=>s.value.encryptId),f=C(()=>s.value.leadSubscribeStatus),g=C(()=>i||n.value),m=S(""),h=S([]),_=C(()=>h.value.filter(v=>m.value?v.title.toLowerCase().includes(m.value.toLowerCase()):h.value));i||c();async function c(){const v={pageNum:1,pageSize:300,onlyShowDisplay:!0},w=await A.post("/admin/report/list",{data:v});h.value=w.data.pluginReports||[];const L=h.value[0],K=U();L&&!K.report&&r(L.title)}const p=j("dropdown");function u(v){v.encryptId!==s.value.encryptId&&(s.value.title=v.title,r(v.title)),p.value.open(!1)}return(v,w)=>(l(),y(k,null,[t(i)?b("",!0):(l(),y("div",Ht,[B(ut,{class:"lofty-report-list-dropdown",left:0,clickMenuClose:!1,ref_key:"dropdown",ref:p},{menu:R(()=>[e("ul",Qt,[B(vt,{value:t(m),"onUpdate:value":w[0]||(w[0]=L=>O(m)?m.value=L:null),searchable:""},null,8,["value"]),(l(!0),y(k,null,M(t(_),L=>(l(),y("li",{class:"lofty-report-item lofty-ellipsis",onClick:K=>u(L)},[V($(L.title)+" ",1),N(e("i",Yt,null,512),[[D,t(n)===L.encryptId]])],8,Xt))),256))])]),default:R(()=>[e("span",Gt,$(t(s).title),1)]),_:1},512),!t(d)&&t(n)?(l(),x(H,{reportId:t(n),key:t(n),submitJs:t(a),name:t(s).title,leadSubscribeStatus:t(f)},null,8,["reportId","submitJs","name","leadSubscribeStatus"])):b("",!0)])),e("div",Zt,[e("p",te,$(t(s).title),1),w[1]||(w[1]=e("span",{class:"last-time"},"Last 30 Days",-1))]),e("div",ee,[t(g)?(l(),x(Rt,{id:o.id,key:t(n)},null,8,["id"])):b("",!0)]),t(s).show_new?(l(),y("div",se,[(l(),x(Ut,{id:o.id,key:t(n)},null,8,["id"]))])):b("",!0),t(s).show_pending?(l(),y("div",oe,[(l(),x(jt,{id:o.id,key:t(n)},null,8,["id"]))])):b("",!0),t(s).show_sold?(l(),y("div",ie,[(l(),x(qt,{id:o.id,key:t(n)},null,8,["id"]))])):b("",!0),t(d)&&t(n)?(l(),y("div",ae,[(l(),x(H,{reportId:t(n),key:t(n),submitJs:t(a),name:t(s).title,leadSubscribeStatus:t(f)},null,8,["reportId","submitJs","name","leadSubscribeStatus"]))])):b("",!0)],64))}};dt();q.initState(()=>{var o,i;(i=(o=q.mlsList)==null?void 0:o.forEach)==null||i.call(o,s=>ct(s))});jQuery(".lofty-market-report-page").ready(function(){document.querySelectorAll(".lofty-market-report-page").forEach(i=>{const s=i.getAttribute("id"),r=rt(s);_t(r);const{id:a,$:n}=r;Q(ne,{id:a}).mount(n("#lofty-market-report-container"))})});
     1import{g as U,i as d,h as A,o as Y,u as F,d as Z}from"./_plugin-vue_export-helper.xU-N2hzF.js";import{r as S,c as C,k as j,l as E,o as l,d as x,w as R,e,f as V,q as N,s as O,y as z,u as t,v as tt,x as D,m as B,g as y,F as k,D as Q,p as et,M as st,J as ot,j as b,a as it,N as at,h as M,t as $,I as nt,H as lt}from"./vendor.DSMCY3-_.js";import{c as rt}from"./module.CKjUdtPN.js";import{u as q}from"./user.DqlV81fM.js";import{a as dt,s as ct}from"./popup-mls.BxADJAYE.js";import{_ as ut}from"./index.D8FXyAh2.js";import{c as pt}from"./index.BDRldrfu.js";import{P as yt}from"./index.Bi752R10.js";import{_ as ft}from"./index.BIsjoQ8l.js";import{n as P}from"./number-format.CLdvQh6j.js";import{E as mt}from"./feature-listing-slider.D8NpqqUJ.js";import{_ as gt}from"./houseSlider.DMvAhjQF.js";import{f as W}from"./house-format.4tigxTMo.js";import{_ as X}from"./index.ChNd4QEZ.js";import{I as vt}from"./index.zyk5jnxc.js";import"./useConfirm.BD1rw4lC.js";import"./outsideclick.Bw_hMuzW.js";import"./google.DHErjYju.js";import"./verify-email.DiKlRKza.js";const I={};function ht(o){const i=o.getModuleData(),s={module:o,isShortCode:i.isShortCode,config:S(i.isShortCode?i.shortcode_config:{}),featureListingName:C(()=>s.config.value.featureListingName),hideDropDown:S(!1),submitJs:i.submitJs},r={getPageSize(){if(d)return 4;{const n=window.innerWidth;if(n>1480)return 4;if(n>900)return 3}},async getReportByTitle(n){r.syncUrl(n);const{data:f}=await A.post("/admin/report/getByTitle",{data:{title:n}});s.config.value={encryptId:f.encryptId,title:f.title,featureListingName:f.filterName,show_new:f.extraInfo.displayNewListing,show_pending:f.extraInfo.displayPendingListings,show_sold:f.extraInfo.displaySoldListings,leadSubscribeStatus:!!f.leadSubscribeStatus}},syncUrl(n){let f=window.location.pathname,g=U();g.report=encodeURIComponent(n),f=f+"?"+Y(g),window.history.pushState(null,"",f)}},a=U();return a.report&&r.getReportByTitle(decodeURIComponent(a.report)),{...s,...r}}function _t(o){I[o.id]=ht(o)}const bt={class:"lofty-subscribe-pop"},St={class:"market-subscribe-pop-content"},wt={class:"snapshot-input-wrap"},xt={__name:"subscribePop",props:{reportId:[String,Number],name:String},emits:["submit"],setup(o,{emit:i}){const s=j("popRef"),r=i,a=S(o.name),n=S(7),f=[{label:"Instantly",value:0},{label:"Daily",value:1},{label:"Weekly",value:7},{label:"Biweekly",value:14},{label:"Monthly",value:28}];E(()=>{s.value.open()});const g=S(!1);async function m(){if(!a.value.trim()){g.value=!0,setTimeout(()=>{g.value=!1},3e3);return}const _={encryptId:o.reportId,subscribe:!0,snapshotName:a.value,mailFrequency:n.value};(await A.post("/admin/report/subscribe",{data:_})).status.code===0?(r("submit"),h()):F.toast("Failed to subscribe to this report")}function h(){s.value.$el.parentNode.remove(),document.body.classList.remove("lofty-overflow-hidden")}return(_,c)=>(l(),x(yt,{ref_key:"popRef",ref:s,allowClose:!1},{default:R(()=>[e("div",bt,[e("div",{class:"title"},[c[3]||(c[3]=V("SAVE MARKET REPORT")),e("i",{class:"lofty_iconfont lofty-icon-close",onClick:h})]),c[6]||(c[6]=e("div",{class:"desc"}," Market updates that will help you to better understand the local market. ",-1)),e("div",St,[c[4]||(c[4]=e("div",{class:"label"},"Custom Market Report Name",-1)),e("div",wt,[N(e("input",{"onUpdate:modelValue":c[0]||(c[0]=p=>O(a)?a.value=p:null),class:z({error:t(g)}),placeholder:"Type Something"},null,2),[[tt,t(a)]]),N(e("span",null,"Please fill out this field.",512),[[D,t(g)]]),N(e("span",{class:"lofty_iconfont lofty-icon-clear_circle_outlined",onClick:c[1]||(c[1]=p=>a.value="")},null,512),[[D,t(a)]])]),c[5]||(c[5]=e("div",{class:"label mt20"},"Email Frequency",-1)),B(ft,{class:"mt10",modelValue:t(n),"onUpdate:modelValue":c[2]||(c[2]=p=>O(n)?n.value=p:null),list:f},null,8,["modelValue"])]),e("div",{class:"lofty-btn mt20",onClick:m},"Save")])]),_:1},512))}},kt={class:"lofty-btn is-subscribed ml-auto"},H={__name:"subscribeButton",props:{submitJs:String,reportId:[String,Number],leadSubscribeStatus:Boolean,name:String},setup(o){const i=S(o.leadSubscribeStatus);function s(){pt(async()=>{const r=document.createElement("div");document.body.appendChild(r),Q(xt,{reportId:o.reportId,name:o.name,onSubmit:()=>{i.value=!0,F.toast("Subscribe Successful!"),F.executeSubmitJS(o.submitJs)}}).mount(r)})}return(r,a)=>(l(),y(k,null,[N(e("div",{class:"lofty-btn ml-auto",onClick:s},"Subscribe to the report",512),[[D,!t(i)]]),N(e("div",kt,a[0]||(a[0]=[e("span",null,"Already subscribed to the report",-1),e("i",{class:"lofty_iconfont lofty-icon-checked"},null,-1)]),512),[[D,t(i)]])],64))}},Lt={class:"lofty-chart-container"},At={key:0,class:"lofty-chart-no-data"},G={__name:"index",props:{option:Object},setup(o){const i=C(()=>o.option.series.every(f=>f.data.every(g=>g===0))),s=j("chart");let r=null;et(()=>o.option,f=>{r&&r.setOption(f,!0)},{deep:!0});const a=Z(()=>{r&&r.resize()},1e3),n=new ResizeObserver(()=>{a()});return E(()=>{r=st(s.value),r.setOption(o.option),n.observe(s.value)}),ot(()=>{n.unobserve(s.value)}),(f,g)=>(l(),y("div",Lt,[e("div",{class:"lofty-charts",ref_key:"chart",ref:s},null,512),t(i)?(l(),y("div",At,g[0]||(g[0]=[e("div",{class:"lofty-no-listing"},[e("i",{class:"lofty_iconfont lofty-icon-activities_04"}),e("div",{class:"no-listing-text"},"No Data")],-1)]))):b("",!0)]))}},T=getComputedStyle(document.documentElement),J="border-radius: 0;box-shadow: 0px 2px 5px 0px rgba(25, 25, 25, 0.1)",$t={price:{color:[T.getPropertyValue("--lofty-market-report-list-price-color")||"#A8A8A8",T.getPropertyValue("--lofty-market-report-sold-price-color")||"#505050"],legend:{data:["List Price","Sold Price"],left:d?0:40,top:d?315:40,icon:"rect",itemWidth:12,itemHeight:3,itemGap:30},grid:{top:d?10:100,left:d?45:100,right:d?10:50},xAxis:{type:"category",boundaryGap:!1,data:[],axisLine:{lineStyle:{color:"#dadada"}},axisLabel:{color:"#A8A8A8"}},yAxis:{type:"value",scale:!0,axisLabel:{padding:d?[0,0,0,0]:[0,10,0,0],color:"#A8A8A8",formatter:function(o){if(o)return"$"+(P(o,!0,1)||"0")}},axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisTick:{show:!0,lineStyle:{color:"#A8A8A8"}},splitLine:{show:!1}},tooltip:{trigger:"axis",position:d?[45,10]:null,extraCssText:J,formatter:function(o){let i=`<div style="color:#A8A8A8">${o[0].axisValue}</div>`;return o.forEach(s=>{const r="$"+String(s.value).replace(/\B(?=(\d{3})+(?!\d))/g,",");i+=`<div style="color: #191919;margin-top: 10px;padding-right: 20px">${s.seriesName}:${r} </div>`}),i}},series:[{name:"List Price",data:[],type:"line",showSymbol:!1,symbolSize:5,lineStyle:{width:3},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(25, 25, 25, 0.15)"},{offset:1,color:"rgba(25, 25, 25, 0)"}]}}},{name:"Sold Price",data:[],type:"line",showSymbol:!1,symbolSize:5,lineStyle:{width:3},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(25, 25, 25, 0.15)"},{offset:1,color:"rgba(25, 25, 25, 0)"}]}}}]},day:{color:[T.getPropertyValue("--lofty-market-report-day-color")||"#505050"],grid:{top:d?10:100,left:d?30:60,right:d?10:50,bottom:d?40:60},xAxis:{type:"category",data:[],axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisLabel:{color:"#A8A8A8"}},yAxis:{type:"value",axisLabel:{padding:d?[0,0,0,0]:[0,10,0,0],color:"#A8A8A8"},axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisTick:{show:!0,lineStyle:{color:"#A8A8A8"}},splitLine:{show:!1}},tooltip:{trigger:"axis",position:d?[30,10]:null,extraCssText:J,formatter:function(o){let i=`<div style="color:#A8A8A8">${o[0].axisValue}</div>`;return o.forEach(s=>{i+=`<div style="color: #191919;margin-top: 10px;padding-right: 20px">${s.seriesName}:${s.value} </div>`}),i}},series:[{name:"Median Days on Market",data:[],type:"bar",barWidth:d?15:30}]},inventory:{color:[T.getPropertyValue("--lofty-market-report-inventory-active-color")||"#A8A8A8",T.getPropertyValue("--lofty-market-report-inventory-sold-color")||"#505050"],legend:{data:["Active Listings","Sold Listings"],left:d?0:40,top:d?315:40,icon:"rect",itemWidth:12,itemHeight:3,itemGap:30},grid:{top:d?10:100,left:d?30:80,right:d?10:50},xAxis:{type:"category",data:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisLabel:{color:"#A8A8A8"}},yAxis:{type:"value",axisLabel:{padding:d?[0,0,0,0]:[0,10,0,0],color:"#A8A8A8"},axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisTick:{show:!0,lineStyle:{color:"#A8A8A8"}},splitLine:{show:!1}},tooltip:{trigger:"axis",position:d?[30,10]:null,extraCssText:J,formatter:function(o){let i=`<div style="color:#A8A8A8">${o[0].axisValue}</div>`;return o.forEach(s=>{i+=`<div style="color: #191919;margin-top: 10px;padding-right: 20px">${s.seriesName}:${s.value} </div>`}),i}},series:[{name:"Active Listings",data:[],type:"bar",barWidth:d?10:30},{name:"Sold Listings",data:[],type:"bar",barWidth:d?10:30}]}},Ct={class:"market-report-three-data"},Nt={class:"lofty-three-card-wrap"},It=["onClick"],Tt={class:"title"},Dt={class:"value"},Et={key:0,class:"lofty_iconfont lofty-icon-arrow_03_up"},Mt={key:1,class:"lofty_iconfont lofty-icon-arrow_04_down"},Pt={class:"desc"},Rt={__name:"threeData",props:{id:String},setup(o){const i=it({price:{title:"Median List Price",value:null,rate:"",trend:"",desc:"The past 30 days -over- the previous 30 days"},day:{title:"Median Days on Market",value:null,rate:"",trend:"",desc:"The past 30 days -over- the previous 30 days"},inventory:{title:"Inventory",value:null,rate:"",trend:"",desc:"The past 30 days -over- the previous 30 days"}}),s=S(1),r=S("price"),a=at($t),n=S(a.price);function f(c){!d&&r.value!==c&&(r.value=c,n.value=a[c])}const{config:g}=I[o.id],m={filterName:g.value.featureListingName};h(),_();async function h(){const c=await A.get("market-report/statsInLastSixtyDays",{data:m}),{last_30_days:p,month_over_month:u}=c.data;i.price.value=P(p.median_list_price,!1,0,"$"),i.price.rate=u.median_list_price,i.price.trend=u.median_list_price_trend,i.day.value=P(p.median_days_on_market),i.day.rate=u.median_days_on_market,i.day.trend=u.median_days_on_market_trend,i.inventory.value=P(p.list_inventory+""),i.inventory.rate=u.list_inventory,i.inventory.trend=u.list_inventory_trend}async function _(){const c=await A.get("market-report/statsInLastSixMonths",{data:m}),p=[];for(let u in c.data){const v=c.data[u],w=new Date(`${u}-01`).toLocaleString("en-US",{month:"short"});p.push(w),a.price.series[0].data.push(+v.median_list_price||0),a.price.series[1].data.push(+v.median_sale_price||0),a.day.series[0].data.push(+v.median_days_on_market||0),a.inventory.series[0].data.push(v.list_inventory||0),a.inventory.series[1].data.push(v.sold_inventory||0)}a.price.xAxis.data=p,a.day.xAxis.data=p,a.inventory.xAxis.data=p,s.value=Date.now()}return(c,p)=>(l(),y("div",Ct,[e("div",Nt,[(l(!0),y(k,null,M(t(i),(u,v)=>(l(),y("div",{class:z(["card",{active:t(r)===v||t(d)}]),onClick:w=>f(v)},[e("div",Tt,$(u.title),1),e("div",Dt,[V($(u.value||"--")+" ",1),e("span",{class:z(["rate-number",u.trend])},[u.trend==="up"?(l(),y("i",Et)):u.trend==="down"?(l(),y("i",Mt)):b("",!0),V(" "+$(u.rate),1)],2)]),e("div",Pt,$(u.desc),1),t(d)?(l(),x(G,{option:t(a)[v],key:t(s),class:"chart-wrap-mobile"},null,8,["option"])):b("",!0)],10,It))),256))]),t(d)?b("",!0):(l(),x(G,{option:t(n),key:t(s),class:"chart-wrap-pc",style:{height:"calc(100vh - 300px)"}},null,8,["option"]))]))}},Vt={key:0,class:"lofty-market-listing-slider"},zt=["src"],Bt={init:"false",class:"swiper-container"},Jt={key:2,class:"lofty-no-listing"},Ut={__name:"newListing",props:{id:String},setup(o){nt();const{module:i,featureListingName:s}=I[o.id],r=LoftyIdxUtils.static_url(mt),a=S(!0),n=S([]),f=Date.now(),g=f-30*24*60*60*1e3,m=JSON.stringify({listingDate:[g,f].join(",")});async function h(){const p={pageSize:50,page:1,listingType:"featured-listing",featureListingName:s.value,condition:m},u=await A.get("/search/realTimeListings",{data:p,action:"lofty_idx_api"});u.data.listings.forEach(v=>W(v)),n.value=u.data.listings,a.value=!1,n.value.length>0&&lt(()=>{_()})}function _(){const p=i.$(".swiper-container");let u={navigation:{prevEl:".listing-slider-prev-button",nextEl:".listing-slider-next-button"},loop:n.value.length>3,initialSlide:1,observer:!0,spaceBetween:d?10:0,speed:1e3,autoplay:{pauseOnMouseEnter:!0,delay:5e3},centeredSlides:!d,centeredSlidesBounds:!1,slidesPerView:"auto",effect:"coverflow",coverflowEffect:{rotate:0,depth:0,scale:d?1:(50-100/window.innerWidth*100)/50,slideShadows:!1}};Object.assign(p,u),p.initialize()}function c(){const p=document.createElement("a");p.href=`/listing/?pageKey=search&featureListingName=${s.value}&condition=${encodeURIComponent(m)}`,p.target=d?"_self":"_blank",document.body.appendChild(p),p.click(),document.body.removeChild(p)}return E(()=>{h()}),(p,u)=>(l(),y(k,null,[u[5]||(u[5]=e("div",{class:"lofty-market-report-title lofty-page-padding"},[e("p",{class:"page-title"},"New Listings"),e("span",{class:"last-time"},"Last 30 Days")],-1)),t(n).length>0&&!t(a)?(l(),y("div",Vt,[e("img",{class:"img-background",src:t(r),alt:""},null,8,zt),u[3]||(u[3]=e("div",{class:"mask"},null,-1)),e("swiper-container",Bt,[(l(!0),y(k,null,M(t(n),(v,w)=>(l(),y("swiper-slide",{key:w,class:z({"swiper-slide-flow":!t(d),"swiper-slide-mobile":t(d)})},[B(gt,{house:v},{default:R(()=>u[0]||(u[0]=[e("div",{class:"lofty-status-tag new"},"Active",-1)])),_:2},1032,["house"])],2))),128))]),t(d)?b("",!0):(l(),y(k,{key:0},[u[1]||(u[1]=e("div",{class:"listing-slider-prev-button"},[e("i",{class:"lofty_iconfont lofty-icon-arrow_06_left"})],-1)),u[2]||(u[2]=e("div",{class:"listing-slider-next-button"},[e("i",{class:"lofty_iconfont lofty-icon-arrow_06_right"})],-1))],64))])):b("",!0),t(n).length>0&&!t(a)?(l(),y("div",{key:1,onClick:c,class:"lofty-more"},"More")):b("",!0),t(n).length===0&&!t(a)?(l(),y("div",Jt,u[4]||(u[4]=[e("i",{class:"lofty_iconfont lofty-icon-house_02"},null,-1),e("div",{class:"no-listing-text"},"No Listing Found",-1)]))):b("",!0)],64))}},Ft={key:0,class:"lofty-listing pending-listing"},Ot={key:2,class:"lofty-no-listing"},jt={__name:"pendingListing",props:{id:String},setup(o){const{featureListingName:i,getPageSize:s}=I[o.id],r=S([]),a=S(!0);E(()=>{f()});const n=JSON.stringify({listingStatus:["Pending"]});async function f(){const m={pageSize:s(),page:1,listingType:"featured-listing",featureListingName:i.value,condition:n},h=await A.get("/search/realTimeListings",{data:m,action:"lofty_idx_api"});h.data.listings.forEach(_=>W(_)),r.value=h.data.listings,a.value=!1}function g(){const m=document.createElement("a");m.href=`/listing/?pageKey=search&featureListingName=${i.value}&condition=${encodeURIComponent(n)}`,m.target=d?"_self":"_blank",document.body.appendChild(m),m.click(),document.body.removeChild(m)}return(m,h)=>(l(),y(k,null,[h[1]||(h[1]=e("div",{class:"lofty-market-report-title"},[e("p",{class:"page-title"},"Pending Listings")],-1)),t(r).length>0&&!t(a)?(l(),y("div",Ft,[(l(!0),y(k,null,M(t(r),_=>(l(),x(X,{class:"list-card",house:_},null,8,["house"]))),256))])):b("",!0),t(r).length>0&&!t(a)?(l(),y("div",{key:1,onClick:g,class:"lofty-more"},"More")):b("",!0),t(r).length===0&&!t(a)?(l(),y("div",Ot,h[0]||(h[0]=[e("i",{class:"lofty_iconfont lofty-icon-house_02"},null,-1),e("div",{class:"no-listing-text"},"No Listing Found",-1)]))):b("",!0)],64))}},Wt={key:0,class:"lofty-listing"},Kt={key:2,class:"lofty-no-listing"},qt={__name:"soldListing",props:{id:String},setup(o){const{featureListingName:i,getPageSize:s}=I[o.id],r=S([]),a=S(!0),n=Date.now(),f=n-30*24*60*60*1e3,g=JSON.stringify({soldDate:[f,n].join(",")});E(()=>{m()});async function m(){const _={pageSize:s(),page:1,featureListingName:i.value,listingType:"sold-listing",condition:g},c=await A.get("/search/realTimeListings",{data:_,action:"lofty_idx_api"});c.data.listings.forEach(p=>W(p)),r.value=c.data.listings,a.value=!1}function h(){const _=document.createElement("a");_.href=`/sold-listing/?pageKey=sold_listing&featureListingName=${i.value}&condition=${encodeURIComponent(g)}`,_.target=d?"_self":"_blank",document.body.appendChild(_),_.click(),document.body.removeChild(_)}return(_,c)=>(l(),y(k,null,[c[1]||(c[1]=e("div",{class:"lofty-market-report-title"},[e("p",{class:"page-title"},"Sold Listings"),e("span",{class:"last-time"},"Last 30 Days")],-1)),t(r).length>0&&!t(a)?(l(),y("div",Wt,[(l(!0),y(k,null,M(t(r),p=>(l(),x(X,{class:"list-card",house:p},null,8,["house"]))),256))])):b("",!0),t(r).length>0&&!t(a)?(l(),y("div",{key:1,onClick:h,class:"lofty-more"},"More")):b("",!0),t(r).length===0&&!t(a)?(l(),y("div",Kt,c[0]||(c[0]=[e("i",{class:"lofty_iconfont lofty-icon-house_02"},null,-1),e("div",{class:"no-listing-text"},"No Listing Found",-1)]))):b("",!0)],64))}},Ht={key:0,class:"lofty-market-report-header lofty-page-padding"},Gt={class:"lofty-ellipsis"},Qt={class:"market-report-list"},Xt=["onClick"],Yt={class:"lofty_iconfont lofty-icon-checked"},Zt={class:"lofty-market-report-title lofty-page-padding"},te={class:"page-title"},ee={class:"lofty-page-padding"},se={key:1},oe={key:2,class:"lofty-page-padding"},ie={key:3,class:"lofty-page-padding"},ae={key:4,class:"lofty-mobile-fix-bottom lofty-mobile-subscribe"},ne={__name:"index",props:{id:String},setup(o){const{isShortCode:i,config:s,getReportByTitle:r,submitJs:a}=I[o.id],n=C(()=>s.value.encryptId),f=C(()=>s.value.leadSubscribeStatus),g=C(()=>i||n.value),m=S(""),h=S([]),_=C(()=>h.value.filter(v=>m.value?v.title.toLowerCase().includes(m.value.toLowerCase()):h.value));i||c();async function c(){const v={pageNum:1,pageSize:300,onlyShowDisplay:!0},w=await A.post("/admin/report/list",{data:v});h.value=w.data.pluginReports||[];const L=h.value[0],K=U();L&&!K.report&&r(L.title)}const p=j("dropdown");function u(v){v.encryptId!==s.value.encryptId&&(s.value.title=v.title,r(v.title)),p.value.open(!1)}return(v,w)=>(l(),y(k,null,[t(i)?b("",!0):(l(),y("div",Ht,[B(ut,{class:"lofty-report-list-dropdown",left:0,clickMenuClose:!1,ref_key:"dropdown",ref:p},{menu:R(()=>[e("ul",Qt,[B(vt,{value:t(m),"onUpdate:value":w[0]||(w[0]=L=>O(m)?m.value=L:null),searchable:""},null,8,["value"]),(l(!0),y(k,null,M(t(_),L=>(l(),y("li",{class:"lofty-report-item lofty-ellipsis",onClick:K=>u(L)},[V($(L.title)+" ",1),N(e("i",Yt,null,512),[[D,t(n)===L.encryptId]])],8,Xt))),256))])]),default:R(()=>[e("span",Gt,$(t(s).title),1)]),_:1},512),!t(d)&&t(n)?(l(),x(H,{reportId:t(n),key:t(n),submitJs:t(a),name:t(s).title,leadSubscribeStatus:t(f)},null,8,["reportId","submitJs","name","leadSubscribeStatus"])):b("",!0)])),e("div",Zt,[e("p",te,$(t(s).title),1),w[1]||(w[1]=e("span",{class:"last-time"},"Last 30 Days",-1))]),e("div",ee,[t(g)?(l(),x(Rt,{id:o.id,key:t(n)},null,8,["id"])):b("",!0)]),t(s).show_new?(l(),y("div",se,[(l(),x(Ut,{id:o.id,key:t(n)},null,8,["id"]))])):b("",!0),t(s).show_pending?(l(),y("div",oe,[(l(),x(jt,{id:o.id,key:t(n)},null,8,["id"]))])):b("",!0),t(s).show_sold?(l(),y("div",ie,[(l(),x(qt,{id:o.id,key:t(n)},null,8,["id"]))])):b("",!0),t(d)&&t(n)?(l(),y("div",ae,[(l(),x(H,{reportId:t(n),key:t(n),submitJs:t(a),name:t(s).title,leadSubscribeStatus:t(f)},null,8,["reportId","submitJs","name","leadSubscribeStatus"]))])):b("",!0)],64))}};dt();q.initState(()=>{var o,i;(i=(o=q.mlsList)==null?void 0:o.forEach)==null||i.call(o,s=>ct(s))});jQuery(".lofty-market-report-page").ready(function(){document.querySelectorAll(".lofty-market-report-page").forEach(i=>{const s=i.getAttribute("id"),r=rt(s);_t(r);const{id:a,$:n}=r;Q(ne,{id:a}).mount(n("#lofty-market-report-container"))})});
  • lofty-idx/trunk/assets/profile.js

    r3348566 r3348893  
    1 import{h as R,u as V,i as T}from"./_plugin-vue_export-helper.Cq0ParU2.js";import{K as IA,L as sA,c as Z,o,g as i,F as _,h as P,e as A,n as F,u as e,y as S,k as H,r as g,l as aA,d as D,w as U,f as O,t as B,m as k,q as Y,x as $,s as K,v as j,j as x,p as oA,D as J,H as mA,a as eA,i as EA}from"./vendor.DSMCY3-_.js";import{_ as CA}from"./index.jjVwSEkV.js";import{f as W}from"./house-format.B6FoJSlV.js";import{_ as X}from"./index.20AV-SFS.js";import{_ as pA}from"./index.5F2_f90D.js";import{E as hA}from"./feature-listing-slider.BkyxHd8D.js";import{_ as BA}from"./index.BdhGsZUN.js";import{P as QA}from"./index.DnZD_ROs.js";import{f as nA}from"./date-format.BrUodQAJ.js";import{p as iA}from"./standard.KmwEGgBs.js";import{_ as lA}from"./index.DAwEVGKX.js";import{_ as vA}from"./index.BIsjoQ8l.js";import{n as wA}from"./number-format.CLdvQh6j.js";import{u as yA}from"./useConfirm.DbQjtEKi.js";import{u as z}from"./user.BcbXWidr.js";import{_ as MA}from"./index.DzRoBq24.js";import"./verify-email.x9ITyz1P.js";import"./outsideclick.Bw_hMuzW.js";import"./index.B-PeUk0y.js";import"./google.Dg-2iVCG.js";const YA="/no-favority-yet.BlN9RJ9T.png",GA={class:"lofty-rate-stars"},RA=["onClick"],tA={__name:"index",props:IA({size:{type:[Number,String],default:20},gap:{type:[Number,String],default:10}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const c=sA(a,"modelValue"),I=Z(()=>({fontSize:`${a.size}px`,"margin-right":`${a.gap}px`}));return(r,n)=>(o(),i("div",GA,[(o(),i(_,null,P(5,t=>A("i",{onClick:s=>c.value=t,style:F(e(I)),class:S(["lofty_iconfont lofty-icon-star-fill",{active:c.value>=t}])},null,14,RA)),64))]))}},xA={class:"note-pop-container"},NA={class:"note-pop-content"},_A={class:"house-info"},bA=["src","alt"],SA=["src","alt"],$A={class:"house-base-info"},DA={class:"house-address"},PA={class:"house-basic"},kA={class:"house-price"},jA={class:"note-write"},LA={class:"note-title"},VA={class:"note-footer"},UA={class:"note-date"},TA={__name:"notePop",props:{house:Object,isView:Boolean},setup(a){const c=LoftyIdxUtils.static_url(hA),I=H("popRef"),r=g(!a.isView),n=g("");function t(){n.value=a.house.leadListingNote,r.value=!0}const s=g(!1);async function m(){if(s.value)return;s.value=!0;const G={listingId:a.house.id};(await R.post("/lead/operate/rating/delete-note",{data:G})).status.code===0&&(u(),V.toast("Delete Successfully",3e3),a.house.leadListingNote="",s.value=!1)}async function Q(){if(s.value)return;if(!n.value){V.toast("Please Type Something",2e3);return}const G={listingId:a.house.id,note:n.value};s.value=!0,(await R.post("/lead/operate/rating/update",{data:G})).status.code===0&&(u(),V.toast("Save Successfully",3e3),a.house.leadListingNote=n.value,s.value=!1)}async function d(G){const f={listingId:a.house.id,syncCrm:G};await R.post("/lead/operate/rating/syncCrm",{data:f})}function u(){I.value.$el.parentNode.remove(),document.body.classList.remove("lofty-overflow-hidden")}return aA(()=>{I.value.open()}),(G,f)=>(o(),D(QA,{ref_key:"popRef",ref:I,allowClose:!1},{default:U(()=>[A("div",xA,[A("div",{class:"note-title"},[f[2]||(f[2]=O(" MY NOTES ")),A("i",{class:"lofty_iconfont lofty-icon-close",onClick:u})]),A("div",NA,[A("div",_A,[a.house.previewPicture?(o(),i("img",{key:0,src:a.house.previewPicture,loading:"lazy",alt:a.house.address},null,8,bA)):(o(),i("img",{key:1,src:e(c),loading:"lazy",alt:a.house.address},null,8,SA)),(o(!0),i(_,null,P(a.house.listingTags,v=>(o(),i("div",{class:S(["lofty-status-tag",v.style.className])},B(v.value),3))),256)),A("div",$A,[A("p",DA,B(a.house.address),1),A("p",PA,[(o(!0),i(_,null,P(a.house.basic,v=>(o(),i("span",{key:v.key},B(v.text),1))),128))])]),A("div",kA,B(a.house.price),1)]),A("div",jA,[A("div",LA,[f[3]||(f[3]=A("div",null,"Note",-1)),f[4]||(f[4]=A("span",{class:"note-share"},"Share with my Agent",-1)),k(BA,{modelValue:a.house.leadListingSyncCrm,"onUpdate:modelValue":f[0]||(f[0]=v=>a.house.leadListingSyncCrm=v),onChange:d},null,8,["modelValue"])]),Y(A("p",{class:"note-text"},B(a.house.leadListingNote),513),[[$,!e(r)]]),Y(A("textarea",{"onUpdate:modelValue":f[1]||(f[1]=v=>K(n)?n.value=v:null),placeholder:"Type Something",maxlength:"3000"},null,512),[[$,e(r)],[j,e(n)]])]),A("div",VA,[e(r)?x("",!0):(o(),i(_,{key:0},[A("div",UA,B(e(nA)("MM/dd/yyyy",a.house.leadListingNoteTime)),1),A("span",{class:"lofty_iconfont lofty-icon-edit_01",onClick:t}),A("span",{class:"lofty_iconfont lofty-icon-delete",onClick:m})],64)),Y(A("div",{class:"lofty-btn",onClick:Q},"Save",512),[[$,e(r)]])])])])]),_:1},512))}},OA={key:0,class:"rate-star-wrap"},zA={class:"rating-panel"},qA={key:0,class:"lofty_iconfont lofty-icon-blog_01"},FA={key:1},HA={key:2},KA={__name:"rateNote",props:{house:Object},setup(a){const c=Z(()=>!!a.house.leadListingNote);function I(){const n=document.createElement("div");document.body.appendChild(n),J(TA,{house:a.house,isView:c.value}).mount(n)}oA(()=>a.house.leadListingRating,r);async function r(){const n={listingId:a.house.id,note:a.house.leadListingNote};a.house.leadListingRating&&(n.rating=String(a.house.leadListingRating)),await R.post("/lead/operate/rating/update",{data:n})}return(n,t)=>(o(),i("div",{class:"house-rate-note",style:F({display:e(c)?"block":"flex"})},[a.house.leadListingRating?(o(),i("div",OA,[k(tA,{modelValue:a.house.leadListingRating,"onUpdate:modelValue":t[0]||(t[0]=s=>a.house.leadListingRating=s),size:"12",gap:"5"},null,8,["modelValue"])])):(o(),D(pA,{key:1,left:0,top:24,"hide-arrow":"",trigger:"hover","fit-width":!1},{menu:U(()=>[A("div",zA,[t[2]||(t[2]=A("div",{class:"rating-panel-title"},"Rating",-1)),k(tA,{modelValue:a.house.leadListingRating,"onUpdate:modelValue":t[1]||(t[1]=s=>a.house.leadListingRating=s)},null,8,["modelValue"])])]),default:U(()=>[t[3]||(t[3]=A("span",{class:"rating-button"},[A("i",{class:"lofty_iconfont lofty-icon-star"}),A("span",null,"Rating")],-1))]),_:1})),A("div",{class:"rating-button",onClick:I,style:F({marginTop:e(c)?"6px":"0"})},[e(c)?x("",!0):(o(),i("i",qA)),e(c)?(o(),i("span",HA,[t[4]||(t[4]=A("span",null,"Noted:",-1)),A("span",null,B(a.house.leadListingNote),1)])):(o(),i("span",FA,"Note"))],4)],4))}},JA={class:"lofty-detail-title"},WA={key:0,style:{"margin-right":"10px"}},XA={class:"save-result"},ZA={key:0,class:"no-favorite-listing"},Ae=["src"],ee={class:"lofty-listing"},te={class:"lofty-listing"},se={__name:"saveListing",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(a){const c=LoftyIdxUtils.static_url(YA);function I(){if(T)return 5;{const w=window.innerWidth;if(w>1480)return 8;if(w>900)return 6}}const r=g([]),n=g(1),t=g(I()),s=g(1),m=g(0),Q=g(!0),d=sA(a,"modelValue");u();async function u(){Q.value=!0;const w={data:{pageIndex:n.value,pageSize:t.value},headers:{}};d.value&&(w.headers.trackingpagekey="profile",d.value=!1);const y=await R.get("/lead/profile/favorite-listing/list",w);Q.value=!1,y.status.code===0&&(r.value=y.data.listings,r.value.forEach(W),s.value=y.data.totalPage,m.value=y.data.counts,n.value===1&&(G.value=r.value.length>0,G.value&&v()))}const G=g(!1),f=g([]);async function v(){const w={pageSize:T?4:I()/2,detailId:r.value[0].id},y=await R.get("/search/recommended-listings",{data:w});y.status.code===0&&(f.value=y.data.listings,f.value.forEach(W))}function E(){n.value=1,u()}function l(w){n.value=w.page,u()}function h(){const w=document.createElement("a");w.href="/listing/?pageKey=search",document.body.appendChild(w),w.click(),document.body.removeChild(w)}return(w,y)=>(o(),i("div",null,[A("div",JA,[e(m)?(o(),i("span",WA,B(e(m)),1)):x("",!0),O("SAVED LISTING"+B(e(m)>1?"S":""),1)]),A("div",XA,[k(lA,{loading:e(Q)},null,8,["loading"]),e(r).length===0&&!e(Q)?(o(),i("div",ZA,[A("img",{src:e(c),width:"240",height:"240",alt:""},null,8,Ae),y[0]||(y[0]=A("div",{class:"tip"},"You don’t have any saved listings yet",-1)),y[1]||(y[1]=A("div",{class:"desc"},"Simply browse our website and add properties to your favorites list. Collect more!",-1)),A("div",{class:"get-start",onClick:h},"Let's get started!")])):x("",!0),A("div",ee,[(o(!0),i(_,null,P(e(r),L=>(o(),D(X,{house:L,class:"list-card",onRefresh:E},{inner:U(()=>[k(KA,{house:L},null,8,["house"])]),_:2},1032,["house"]))),256))])]),e(s)>1&&!e(Q)?(o(),D(iA,{key:0,totalPage:e(s),onPageChange:l,pageNum:e(n),pageSize:e(t),noScroll:!0},null,8,["totalPage","pageNum","pageSize"])):x("",!0),e(G)?(o(),i(_,{key:1},[y[2]||(y[2]=A("div",{class:"lofty-detail-title recommend-title"},"RECOMMEND LISTINGS FOR YOU",-1)),A("div",te,[(o(!0),i(_,null,P(e(f),L=>(o(),D(X,{house:L,class:"list-card",onRefresh:E},null,8,["house"]))),256))])],64)):x("",!0)]))}},ae="/no-saved-search-yet.DyaetOmV.png",oe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAKoCAYAAADnMk54AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAuvSURBVHgB7d0xcQRBEATBuSOzNJfmsBEFKWQoXpVpN4Dy+tndOwAAZLwDAECKAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDas7t3AD7AOecOAL/2DgAAKQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMd6dvcOAAAZ7wAAkCIAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/Nizu3cAAMjwBQwAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAXnt29AwAknHPud3b64H97BwCAFAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIOYLSHMYsAMFv7MAAAAASUVORK5CYII=",ne={class:"lofty-house-item"},ie=["src"],le={__name:"houseSkeleton",setup(a){return(c,I)=>(o(),i("div",ne,[A("img",{class:"lofty-house-skeleton",src:e(oe),alt:""},null,8,ie)]))}},re={class:"search-title"},ue={class:"search-date"},de={class:"mail-label"},ce={class:"mail-value"},ge={class:"tag"},fe={class:"value"},Ie={class:"lofty-listing"},me={__name:"searchResult",props:{search:Object},emits:["refresh"],setup(a,{emit:c}){const I=nA("MM/dd/yyyy",new Date(a.search.createTime)),r=c,n=JSON.parse(a.search.searchCondition);let t=n.origin.condition;typeof t=="object"&&(t=JSON.stringify(t));const s=m();function m(){if(T)return 4;{const C=window.innerWidth;if(C>1480)return 4;if(C>900)return 3}}const Q=H("result"),d=new IntersectionObserver((C,M)=>{C.forEach(p=>{p.isIntersecting&&(rA(),M.unobserve(p.target))})},{threshold:.3});aA(()=>{d.observe(Q.value)});const u=g([]);G();async function G(){const C={action:"lofty_idx_api",condition:t,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone};n.origin.rect&&(C.rect=n.origin.rect);const M=await R.get("/save-search/tags",{data:C});if(M.data.data){const p=M.data.data.split(";");u.value=p.map(N=>{const b=N.split(":");return{label:b[1]?b[0]+":":"",value:b[1]||b[0]}}),h()}}const f=g(999),v=g(!1),E=g(!0),l=H("tagRef");function h(){f.value=u.value.length,C();function C(){mA(()=>{l.value&&l.value.scrollHeight>50&&(f.value--,C(),v.value=!0,E.value=!1)})}}function w(){E.value?h():(f.value=u.value.length,E.value=!0)}const y=g([]),L=g(0),AA=g(!0);async function rA(){const C={action:"lofty_idx_api",data:{...n.origin,condition:t}},M=await R.get("/search/realTimeListings",C);AA.value=!1,L.value=M.data.counts;const p=M.data.listings.slice(0,s);p.forEach(N=>W(N)),y.value=p}const{confirm:uA}=yA();function dA(){uA({title:"Delete Saved Search",content:"Are you sure to delete this alert ?",onConfirm:async()=>{(await R.post(`/save-search/delete?saveSearchId=${a.search.id}`,{})).status.code===0&&r("refresh")}})}function cA(){const{origin:C}=n;delete C.wordpressSiteId;let M="/listing/?pageKey=search";for(let b in C)typeof C[b]=="object"?M+=`&${b}=${encodeURIComponent(JSON.stringify(C[b]))}`:M+=`&${b}=${encodeURIComponent(C[b])}`;let p=JSON.parse(t);p.location&&p.location.mapRadius&&(M+=`&mapRadius=${encodeURIComponent(JSON.stringify(p.location.mapRadius))}`);const N=document.createElement("a");N.href=M,N.target="_blank",document.body.appendChild(N),N.click(),document.body.removeChild(N)}const gA=[{label:"Instantly",value:0},{label:"Daily",value:1},{label:"Weekly",value:7},{label:"Biweekly",value:14},{label:"Monthly",value:28}];oA(()=>a.search.alertFrequency,fA);async function fA(){(await R.post("/save-search/updateSnapshot",{data:{snapshotId:a.search.id,frequency:a.search.alertFrequency}})).status.code===0&&V.toast("Update Successfully",3e3)}return(C,M)=>(o(),i("div",{class:"search-result-container",ref_key:"result",ref:Q},[A("div",re,[A("span",null,[O(B(a.search.alertName)+" ",1),A("i",{class:"lofty_iconfont lofty-icon-delete",onClick:dA})]),A("span",ue,B(e(I)),1),k(vA,{class:"alert-select",modelValue:a.search.alertFrequency,"onUpdate:modelValue":M[0]||(M[0]=p=>a.search.alertFrequency=p),list:gA,size:"small"},{label:U(({label:p})=>[A("span",de,[M[1]||(M[1]=O("Property Alert ")),A("span",ce,B(p),1)])]),_:1},8,["modelValue"])]),A("div",{class:"search-tag-list",ref_key:"tagRef",ref:l},[(o(!0),i(_,null,P(e(u),(p,N)=>Y((o(),i("div",ge,[A("label",null,B(p.label),1),A("span",fe,B(p.value),1)],512)),[[$,N<e(f)]])),256)),e(v)?(o(),i("div",{key:0,class:"tag",onClick:w},[A("span",{class:S(["value","lofty_iconfont",e(E)?"lofty-icon-arrow_08_up":"lofty-icon-arrow_08_down"])},null,2)])):x("",!0)],512),A("div",Ie,[e(AA)?(o(!0),i(_,{key:0},P(e(s),p=>(o(),D(le,{class:"list-card"}))),256)):x("",!0),(o(!0),i(_,null,P(e(y),p=>(o(),D(X,{class:"list-card",house:p},null,8,["house"]))),256))]),A("div",{class:"view-all-listing",onClick:cA}," View All Matched "+B(e(wA)(e(L))||0)+" Listings ",1)],512))}},Ee={style:{"min-height":"300px",position:"relative"}},Ce={key:0,class:"no-favorite-listing"},pe=["src"],he={class:"search-list"},Be={__name:"saveSearch",setup(a){const c=LoftyIdxUtils.static_url(ae),I=g(1),r=g([]),n=g(!0),t=g(1);s();async function s(){n.value=!0;const d={pageIndex:I.value,pageSize:10,leadType:2},u=await R.get("/save-search/list",{data:d});t.value=u.data.totalPage,r.value=u.data.searchList||[],n.value=!1}function m(d){I.value=d.page,s()}function Q(){const d=document.createElement("a");d.href="/listing/?pageKey=search",document.body.appendChild(d),d.click(),document.body.removeChild(d)}return(d,u)=>(o(),i("div",null,[u[2]||(u[2]=A("div",{class:"lofty-detail-title"},"SAVED SEARCHES",-1)),A("div",Ee,[k(lA,{loading:e(n)},null,8,["loading"]),e(r).length===0&&!e(n)?(o(),i("div",Ce,[A("img",{src:e(c),width:"240",height:"240",alt:""},null,8,pe),u[0]||(u[0]=A("div",{class:"tip"},"You don’t have any saved searches yet.",-1)),u[1]||(u[1]=A("div",{class:"desc"},"Easily add saved searches and we'll send you new properties once they become available.",-1)),A("div",{class:"get-start",onClick:Q},"Let's get started!")])):x("",!0),A("div",he,[(o(!0),i(_,null,P(e(r),G=>(o(),D(me,{search:G,onRefresh:s},null,8,["search"]))),256))]),e(t)>1?(o(),D(iA,{key:1,totalPage:e(t),onPageChange:m,pageNum:e(I),pageSize:10,noScroll:!0},null,8,["totalPage","pageNum"])):x("",!0)])]))}},Qe={class:"lofty-form-panel"},ve={class:"info-form"},we={class:"form-wrap"},ye={class:"form-name"},Me={class:"input-wrapper"},Ye={class:"input-wrapper"},Ge={class:"input-wrapper"},Re={class:"info-form"},xe={class:"form-wrap"},Ne={class:"input-wrapper"},_e={class:"input-wrapper"},be={class:"input-wrapper"},q=`The password must be between 6-20 characters, have both numbers and letters, and no spaces. The following special characters are supported:-/:;()$&@\\".,?!'[]{}#%^*+=_|~<>€£¥·`,Se="Please enter the same password as the former",$e={__name:"account",emits:["refresh"],setup(a,{emit:c}){const I=c,r=z.getUser(),n=Z(()=>{const E=t.firstName!==r.firstName||t.lastName!==r.lastName||t.phoneNumber!==r.phoneNumber,l=t.password&&t.newPassword&&t.confirmPassword;return E||l}),t=eA({account:r.account,firstName:r.firstName,lastName:r.lastName,phoneNumber:r.phoneNumber,password:"",newPassword:"",confirmPassword:""}),s=eA({firstName:!1,lastName:!1,phone:!1,phoneMsg:"Please enter your phone number",password:!1,newPassword:!1,confirmPassword:!1,passwordRequire:!1});function m(){setTimeout(()=>{Object.keys(s).forEach(E=>{s[E]=!1})},3e3)}async function Q(){if(n.value){if(!t.firstName){s.firstName=!0,m();return}if(!t.lastName){s.lastName=!0,m();return}if(!t.phoneNumber){s.phone=!0,s.phoneMsg="Please enter your phone number",m();return}if(/^\d{3}-?\d{3}-?\d{4}$/.test(t.phoneNumber)){const E=await R.get(`/register/phoneValidate?phoneNumber=${t.phoneNumber}`);E.status.code===0?f():(s.phone=!0,s.phoneMsg=E.status.msg)}else s.phone=!0,s.phoneMsg="Please enter a valid phone number format.";m()}}const d=/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d\-\/:;()$&@".,?!'\[\]{}#%^*+=_|~<>€£¥·]{6,20}$/,u=g(q);function G(){if(s.passwordRequire=!0,!t.password){s.password=!0,m();return}if(!t.newPassword||!d.test(t.newPassword)){s.newPassword=!0,u.value=q,m();return}if(!t.confirmPassword||!d.test(t.confirmPassword)){s.confirmPassword=!0,u.value=q,m();return}if(t.confirmPassword!==t.newPassword){s.confirmPassword=!0,u.value=Se,m();return}v()}function f(){const{password:E,newPassword:l,confirmPassword:h}=t;E||l||h?G():v()}async function v(){await V.addScript(LoftyIdxUtils.public_url("js/md5.min.js"),!0);const E={firstName:t.firstName,lastName:t.lastName,phoneNumber:t.phoneNumber};t.password&&(E.password=window.md5(t.password),E.newPassword=window.md5(t.newPassword));const l=await R.post("/lead/profile/update",{data:E});l.status.code===0?(V.toast("Update Successfully",3e3),I("refresh")):V.toast(l.status.msg,3e3)}return(E,l)=>(o(),i("div",null,[l[9]||(l[9]=A("div",{class:"lofty-detail-title"},"ACCOUNT",-1)),A("div",Qe,[A("div",ve,[l[7]||(l[7]=A("div",{class:"form-title"},"Personal Info",-1)),A("div",we,[A("div",ye,[A("div",Me,[Y(A("input",{"onUpdate:modelValue":l[0]||(l[0]=h=>e(t).firstName=h),placeholder:"First Name",type:"text",class:S({error:e(s).firstName})},null,2),[[j,e(t).firstName]]),Y(A("span",null,"Please fill out this field.",512),[[$,e(s).firstName]])]),A("div",Ye,[Y(A("input",{"onUpdate:modelValue":l[1]||(l[1]=h=>e(t).lastName=h),placeholder:"Last Name",type:"text",class:S({error:e(s).lastName})},null,2),[[j,e(t).lastName]]),Y(A("span",null,"Please fill out this field.",512),[[$,e(s).lastName]])])]),A("div",Ge,[Y(A("input",{"onUpdate:modelValue":l[2]||(l[2]=h=>e(t).phoneNumber=h),inputmode:"tel",class:S([{error:e(s).phone},"mt20"]),placeholder:"Phone Number",type:"text"},null,2),[[j,e(t).phoneNumber]]),Y(A("span",null,B(e(s).phoneMsg),513),[[$,e(s).phone]])]),Y(A("input",{"onUpdate:modelValue":l[3]||(l[3]=h=>e(t).account=h),readonly:"",disabled:"",class:"mt20",type:"text"},null,512),[[j,e(t).account]])])]),A("div",Re,[l[8]||(l[8]=A("div",{class:"form-title"},"Login Info Settings",-1)),A("div",xe,[A("div",Ne,[Y(A("input",{"onUpdate:modelValue":l[4]||(l[4]=h=>e(t).password=h),class:S({error:e(s).passwordRequire&&!e(t).password}),type:"password",placeholder:"Current Password"},null,2),[[j,e(t).password]]),Y(A("span",null,"Please fill out this field.",512),[[$,e(s).passwordRequire&&!e(t).password]])]),A("div",_e,[Y(A("input",{"onUpdate:modelValue":l[5]||(l[5]=h=>e(t).newPassword=h),class:S([{error:e(s).passwordRequire&&e(s).newPassword},"mt20"]),placeholder:"New Password",type:"password"},null,2),[[j,e(t).newPassword]]),Y(A("span",null,B(e(u)),513),[[$,e(s).passwordRequire&&e(s).newPassword]])]),A("div",be,[Y(A("input",{"onUpdate:modelValue":l[6]||(l[6]=h=>e(t).confirmPassword=h),class:S([{error:e(s).passwordRequire&&e(s).confirmPassword},"mt20"]),placeholder:"Confirm New Password",type:"password"},null,2),[[j,e(t).confirmPassword]]),Y(A("span",null,B(e(u)),513),[[$,e(s).passwordRequire&&e(s).confirmPassword]])])])])]),A("div",{class:S(["lofty-btn update-button",{disabled:!e(n)}]),onClick:Q},"Update",2)]))}},De={__name:"index",setup(a){const c=g("SaveListing"),I={SaveListing:se,SaveSearch:Be,Account:$e},r=[{label:"Saved Listings",value:"SaveListing"},{label:"Saved Searches",value:"SaveSearch"},{label:"Account",value:"Account"}];function n(){R.get("/lofty-logout").then(Q=>{Q.data&&window.location.reload()})}const t=g(1),s=g(!0);function m(){z.getCommonInfo().then(()=>{t.value=Date.now()})}return(Q,d)=>(o(),i("div",null,[e(T)?(o(),i("div",{key:0,class:"lofty-logout-button",onClick:n},d[2]||(d[2]=[A("i",{class:"lofty_iconfont lofty-icon-map_01"},null,-1),A("span",null,"Logout",-1)]))):x("",!0),k(CA,{modelValue:e(c),"onUpdate:modelValue":d[0]||(d[0]=u=>K(c)?c.value=u:null),tabs:r},{default:U(()=>[e(T)?x("",!0):(o(),i("span",{key:0,class:"lofty-logout-button",onClick:n},d[3]||(d[3]=[A("i",{class:"lofty_iconfont lofty-icon-export"},null,-1),A("span",null,"Logout",-1)])))]),_:1},8,["modelValue"]),(o(),D(EA(I[e(c)]),{onRefresh:m,key:e(t),modelValue:e(s),"onUpdate:modelValue":d[1]||(d[1]=u=>K(s)?s.value=u:null)},null,40,["modelValue"]))]))}},Pe={__name:"login",setup(a){function c(){window.location.reload()}return(I,r)=>(o(),i("div",null,[k(MA,{class:"account-login-form",callback:c})]))}};z.initState(()=>{z.loginStatus.value?J(De).mount("#lofty-app"):J(Pe).mount("#lofty-app")});
     1import{h as R,u as V,i as T}from"./_plugin-vue_export-helper.xU-N2hzF.js";import{K as IA,L as sA,c as Z,o,g as i,F as _,h as P,e as A,n as F,u as e,y as S,k as H,r as g,l as aA,d as D,w as U,f as O,t as B,m as k,q as Y,x as $,s as K,v as j,j as x,p as oA,D as J,H as mA,a as eA,i as EA}from"./vendor.DSMCY3-_.js";import{_ as CA}from"./index.jjVwSEkV.js";import{f as W}from"./house-format.4tigxTMo.js";import{_ as X}from"./index.ChNd4QEZ.js";import{_ as pA}from"./index.D8FXyAh2.js";import{E as hA}from"./feature-listing-slider.D8NpqqUJ.js";import{_ as BA}from"./index.BdhGsZUN.js";import{P as QA}from"./index.Bi752R10.js";import{f as nA}from"./date-format.BrUodQAJ.js";import{p as iA}from"./standard.Dwc2F-8i.js";import{_ as lA}from"./index.DAwEVGKX.js";import{_ as vA}from"./index.BIsjoQ8l.js";import{n as wA}from"./number-format.CLdvQh6j.js";import{u as yA}from"./useConfirm.BD1rw4lC.js";import{u as z}from"./user.DqlV81fM.js";import{_ as MA}from"./index.BDRldrfu.js";import"./verify-email.DiKlRKza.js";import"./outsideclick.Bw_hMuzW.js";import"./index.Cx6n2H90.js";import"./google.DHErjYju.js";const YA="/no-favority-yet.BlN9RJ9T.png",GA={class:"lofty-rate-stars"},RA=["onClick"],tA={__name:"index",props:IA({size:{type:[Number,String],default:20},gap:{type:[Number,String],default:10}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const c=sA(a,"modelValue"),I=Z(()=>({fontSize:`${a.size}px`,"margin-right":`${a.gap}px`}));return(r,n)=>(o(),i("div",GA,[(o(),i(_,null,P(5,t=>A("i",{onClick:s=>c.value=t,style:F(e(I)),class:S(["lofty_iconfont lofty-icon-star-fill",{active:c.value>=t}])},null,14,RA)),64))]))}},xA={class:"note-pop-container"},NA={class:"note-pop-content"},_A={class:"house-info"},bA=["src","alt"],SA=["src","alt"],$A={class:"house-base-info"},DA={class:"house-address"},PA={class:"house-basic"},kA={class:"house-price"},jA={class:"note-write"},LA={class:"note-title"},VA={class:"note-footer"},UA={class:"note-date"},TA={__name:"notePop",props:{house:Object,isView:Boolean},setup(a){const c=LoftyIdxUtils.static_url(hA),I=H("popRef"),r=g(!a.isView),n=g("");function t(){n.value=a.house.leadListingNote,r.value=!0}const s=g(!1);async function m(){if(s.value)return;s.value=!0;const G={listingId:a.house.id};(await R.post("/lead/operate/rating/delete-note",{data:G})).status.code===0&&(u(),V.toast("Delete Successfully",3e3),a.house.leadListingNote="",s.value=!1)}async function Q(){if(s.value)return;if(!n.value){V.toast("Please Type Something",2e3);return}const G={listingId:a.house.id,note:n.value};s.value=!0,(await R.post("/lead/operate/rating/update",{data:G})).status.code===0&&(u(),V.toast("Save Successfully",3e3),a.house.leadListingNote=n.value,s.value=!1)}async function d(G){const f={listingId:a.house.id,syncCrm:G};await R.post("/lead/operate/rating/syncCrm",{data:f})}function u(){I.value.$el.parentNode.remove(),document.body.classList.remove("lofty-overflow-hidden")}return aA(()=>{I.value.open()}),(G,f)=>(o(),D(QA,{ref_key:"popRef",ref:I,allowClose:!1},{default:U(()=>[A("div",xA,[A("div",{class:"note-title"},[f[2]||(f[2]=O(" MY NOTES ")),A("i",{class:"lofty_iconfont lofty-icon-close",onClick:u})]),A("div",NA,[A("div",_A,[a.house.previewPicture?(o(),i("img",{key:0,src:a.house.previewPicture,loading:"lazy",alt:a.house.address},null,8,bA)):(o(),i("img",{key:1,src:e(c),loading:"lazy",alt:a.house.address},null,8,SA)),(o(!0),i(_,null,P(a.house.listingTags,v=>(o(),i("div",{class:S(["lofty-status-tag",v.style.className])},B(v.value),3))),256)),A("div",$A,[A("p",DA,B(a.house.address),1),A("p",PA,[(o(!0),i(_,null,P(a.house.basic,v=>(o(),i("span",{key:v.key},B(v.text),1))),128))])]),A("div",kA,B(a.house.price),1)]),A("div",jA,[A("div",LA,[f[3]||(f[3]=A("div",null,"Note",-1)),f[4]||(f[4]=A("span",{class:"note-share"},"Share with my Agent",-1)),k(BA,{modelValue:a.house.leadListingSyncCrm,"onUpdate:modelValue":f[0]||(f[0]=v=>a.house.leadListingSyncCrm=v),onChange:d},null,8,["modelValue"])]),Y(A("p",{class:"note-text"},B(a.house.leadListingNote),513),[[$,!e(r)]]),Y(A("textarea",{"onUpdate:modelValue":f[1]||(f[1]=v=>K(n)?n.value=v:null),placeholder:"Type Something",maxlength:"3000"},null,512),[[$,e(r)],[j,e(n)]])]),A("div",VA,[e(r)?x("",!0):(o(),i(_,{key:0},[A("div",UA,B(e(nA)("MM/dd/yyyy",a.house.leadListingNoteTime)),1),A("span",{class:"lofty_iconfont lofty-icon-edit_01",onClick:t}),A("span",{class:"lofty_iconfont lofty-icon-delete",onClick:m})],64)),Y(A("div",{class:"lofty-btn",onClick:Q},"Save",512),[[$,e(r)]])])])])]),_:1},512))}},OA={key:0,class:"rate-star-wrap"},zA={class:"rating-panel"},qA={key:0,class:"lofty_iconfont lofty-icon-blog_01"},FA={key:1},HA={key:2},KA={__name:"rateNote",props:{house:Object},setup(a){const c=Z(()=>!!a.house.leadListingNote);function I(){const n=document.createElement("div");document.body.appendChild(n),J(TA,{house:a.house,isView:c.value}).mount(n)}oA(()=>a.house.leadListingRating,r);async function r(){const n={listingId:a.house.id,note:a.house.leadListingNote};a.house.leadListingRating&&(n.rating=String(a.house.leadListingRating)),await R.post("/lead/operate/rating/update",{data:n})}return(n,t)=>(o(),i("div",{class:"house-rate-note",style:F({display:e(c)?"block":"flex"})},[a.house.leadListingRating?(o(),i("div",OA,[k(tA,{modelValue:a.house.leadListingRating,"onUpdate:modelValue":t[0]||(t[0]=s=>a.house.leadListingRating=s),size:"12",gap:"5"},null,8,["modelValue"])])):(o(),D(pA,{key:1,left:0,top:24,"hide-arrow":"",trigger:"hover","fit-width":!1},{menu:U(()=>[A("div",zA,[t[2]||(t[2]=A("div",{class:"rating-panel-title"},"Rating",-1)),k(tA,{modelValue:a.house.leadListingRating,"onUpdate:modelValue":t[1]||(t[1]=s=>a.house.leadListingRating=s)},null,8,["modelValue"])])]),default:U(()=>[t[3]||(t[3]=A("span",{class:"rating-button"},[A("i",{class:"lofty_iconfont lofty-icon-star"}),A("span",null,"Rating")],-1))]),_:1})),A("div",{class:"rating-button",onClick:I,style:F({marginTop:e(c)?"6px":"0"})},[e(c)?x("",!0):(o(),i("i",qA)),e(c)?(o(),i("span",HA,[t[4]||(t[4]=A("span",null,"Noted:",-1)),A("span",null,B(a.house.leadListingNote),1)])):(o(),i("span",FA,"Note"))],4)],4))}},JA={class:"lofty-detail-title"},WA={key:0,style:{"margin-right":"10px"}},XA={class:"save-result"},ZA={key:0,class:"no-favorite-listing"},Ae=["src"],ee={class:"lofty-listing"},te={class:"lofty-listing"},se={__name:"saveListing",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(a){const c=LoftyIdxUtils.static_url(YA);function I(){if(T)return 5;{const w=window.innerWidth;if(w>1480)return 8;if(w>900)return 6}}const r=g([]),n=g(1),t=g(I()),s=g(1),m=g(0),Q=g(!0),d=sA(a,"modelValue");u();async function u(){Q.value=!0;const w={data:{pageIndex:n.value,pageSize:t.value},headers:{}};d.value&&(w.headers.trackingpagekey="profile",d.value=!1);const y=await R.get("/lead/profile/favorite-listing/list",w);Q.value=!1,y.status.code===0&&(r.value=y.data.listings,r.value.forEach(W),s.value=y.data.totalPage,m.value=y.data.counts,n.value===1&&(G.value=r.value.length>0,G.value&&v()))}const G=g(!1),f=g([]);async function v(){const w={pageSize:T?4:I()/2,detailId:r.value[0].id},y=await R.get("/search/recommended-listings",{data:w});y.status.code===0&&(f.value=y.data.listings,f.value.forEach(W))}function E(){n.value=1,u()}function l(w){n.value=w.page,u()}function h(){const w=document.createElement("a");w.href="/listing/?pageKey=search",document.body.appendChild(w),w.click(),document.body.removeChild(w)}return(w,y)=>(o(),i("div",null,[A("div",JA,[e(m)?(o(),i("span",WA,B(e(m)),1)):x("",!0),O("SAVED LISTING"+B(e(m)>1?"S":""),1)]),A("div",XA,[k(lA,{loading:e(Q)},null,8,["loading"]),e(r).length===0&&!e(Q)?(o(),i("div",ZA,[A("img",{src:e(c),width:"240",height:"240",alt:""},null,8,Ae),y[0]||(y[0]=A("div",{class:"tip"},"You don’t have any saved listings yet",-1)),y[1]||(y[1]=A("div",{class:"desc"},"Simply browse our website and add properties to your favorites list. Collect more!",-1)),A("div",{class:"get-start",onClick:h},"Let's get started!")])):x("",!0),A("div",ee,[(o(!0),i(_,null,P(e(r),L=>(o(),D(X,{house:L,class:"list-card",onRefresh:E},{inner:U(()=>[k(KA,{house:L},null,8,["house"])]),_:2},1032,["house"]))),256))])]),e(s)>1&&!e(Q)?(o(),D(iA,{key:0,totalPage:e(s),onPageChange:l,pageNum:e(n),pageSize:e(t),noScroll:!0},null,8,["totalPage","pageNum","pageSize"])):x("",!0),e(G)?(o(),i(_,{key:1},[y[2]||(y[2]=A("div",{class:"lofty-detail-title recommend-title"},"RECOMMEND LISTINGS FOR YOU",-1)),A("div",te,[(o(!0),i(_,null,P(e(f),L=>(o(),D(X,{house:L,class:"list-card",onRefresh:E},null,8,["house"]))),256))])],64)):x("",!0)]))}},ae="/no-saved-search-yet.DyaetOmV.png",oe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAKoCAYAAADnMk54AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAuvSURBVHgB7d0xcQRBEATBuSOzNJfmsBEFKWQoXpVpN4Dy+tndOwAAZLwDAECKAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDas7t3AD7AOecOAL/2DgAAKQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMd6dvcOAAAZ7wAAkCIAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/Nizu3cAAMjwBQwAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAXnt29AwAknHPud3b64H97BwCAFAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIOYLSHMYsAMFv7MAAAAASUVORK5CYII=",ne={class:"lofty-house-item"},ie=["src"],le={__name:"houseSkeleton",setup(a){return(c,I)=>(o(),i("div",ne,[A("img",{class:"lofty-house-skeleton",src:e(oe),alt:""},null,8,ie)]))}},re={class:"search-title"},ue={class:"search-date"},de={class:"mail-label"},ce={class:"mail-value"},ge={class:"tag"},fe={class:"value"},Ie={class:"lofty-listing"},me={__name:"searchResult",props:{search:Object},emits:["refresh"],setup(a,{emit:c}){const I=nA("MM/dd/yyyy",new Date(a.search.createTime)),r=c,n=JSON.parse(a.search.searchCondition);let t=n.origin.condition;typeof t=="object"&&(t=JSON.stringify(t));const s=m();function m(){if(T)return 4;{const C=window.innerWidth;if(C>1480)return 4;if(C>900)return 3}}const Q=H("result"),d=new IntersectionObserver((C,M)=>{C.forEach(p=>{p.isIntersecting&&(rA(),M.unobserve(p.target))})},{threshold:.3});aA(()=>{d.observe(Q.value)});const u=g([]);G();async function G(){const C={action:"lofty_idx_api",condition:t,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone};n.origin.rect&&(C.rect=n.origin.rect);const M=await R.get("/save-search/tags",{data:C});if(M.data.data){const p=M.data.data.split(";");u.value=p.map(N=>{const b=N.split(":");return{label:b[1]?b[0]+":":"",value:b[1]||b[0]}}),h()}}const f=g(999),v=g(!1),E=g(!0),l=H("tagRef");function h(){f.value=u.value.length,C();function C(){mA(()=>{l.value&&l.value.scrollHeight>50&&(f.value--,C(),v.value=!0,E.value=!1)})}}function w(){E.value?h():(f.value=u.value.length,E.value=!0)}const y=g([]),L=g(0),AA=g(!0);async function rA(){const C={action:"lofty_idx_api",data:{...n.origin,condition:t}},M=await R.get("/search/realTimeListings",C);AA.value=!1,L.value=M.data.counts;const p=M.data.listings.slice(0,s);p.forEach(N=>W(N)),y.value=p}const{confirm:uA}=yA();function dA(){uA({title:"Delete Saved Search",content:"Are you sure to delete this alert ?",onConfirm:async()=>{(await R.post(`/save-search/delete?saveSearchId=${a.search.id}`,{})).status.code===0&&r("refresh")}})}function cA(){const{origin:C}=n;delete C.wordpressSiteId;let M="/listing/?pageKey=search";for(let b in C)typeof C[b]=="object"?M+=`&${b}=${encodeURIComponent(JSON.stringify(C[b]))}`:M+=`&${b}=${encodeURIComponent(C[b])}`;let p=JSON.parse(t);p.location&&p.location.mapRadius&&(M+=`&mapRadius=${encodeURIComponent(JSON.stringify(p.location.mapRadius))}`);const N=document.createElement("a");N.href=M,N.target="_blank",document.body.appendChild(N),N.click(),document.body.removeChild(N)}const gA=[{label:"Instantly",value:0},{label:"Daily",value:1},{label:"Weekly",value:7},{label:"Biweekly",value:14},{label:"Monthly",value:28}];oA(()=>a.search.alertFrequency,fA);async function fA(){(await R.post("/save-search/updateSnapshot",{data:{snapshotId:a.search.id,frequency:a.search.alertFrequency}})).status.code===0&&V.toast("Update Successfully",3e3)}return(C,M)=>(o(),i("div",{class:"search-result-container",ref_key:"result",ref:Q},[A("div",re,[A("span",null,[O(B(a.search.alertName)+" ",1),A("i",{class:"lofty_iconfont lofty-icon-delete",onClick:dA})]),A("span",ue,B(e(I)),1),k(vA,{class:"alert-select",modelValue:a.search.alertFrequency,"onUpdate:modelValue":M[0]||(M[0]=p=>a.search.alertFrequency=p),list:gA,size:"small"},{label:U(({label:p})=>[A("span",de,[M[1]||(M[1]=O("Property Alert ")),A("span",ce,B(p),1)])]),_:1},8,["modelValue"])]),A("div",{class:"search-tag-list",ref_key:"tagRef",ref:l},[(o(!0),i(_,null,P(e(u),(p,N)=>Y((o(),i("div",ge,[A("label",null,B(p.label),1),A("span",fe,B(p.value),1)],512)),[[$,N<e(f)]])),256)),e(v)?(o(),i("div",{key:0,class:"tag",onClick:w},[A("span",{class:S(["value","lofty_iconfont",e(E)?"lofty-icon-arrow_08_up":"lofty-icon-arrow_08_down"])},null,2)])):x("",!0)],512),A("div",Ie,[e(AA)?(o(!0),i(_,{key:0},P(e(s),p=>(o(),D(le,{class:"list-card"}))),256)):x("",!0),(o(!0),i(_,null,P(e(y),p=>(o(),D(X,{class:"list-card",house:p},null,8,["house"]))),256))]),A("div",{class:"view-all-listing",onClick:cA}," View All Matched "+B(e(wA)(e(L))||0)+" Listings ",1)],512))}},Ee={style:{"min-height":"300px",position:"relative"}},Ce={key:0,class:"no-favorite-listing"},pe=["src"],he={class:"search-list"},Be={__name:"saveSearch",setup(a){const c=LoftyIdxUtils.static_url(ae),I=g(1),r=g([]),n=g(!0),t=g(1);s();async function s(){n.value=!0;const d={pageIndex:I.value,pageSize:10,leadType:2},u=await R.get("/save-search/list",{data:d});t.value=u.data.totalPage,r.value=u.data.searchList||[],n.value=!1}function m(d){I.value=d.page,s()}function Q(){const d=document.createElement("a");d.href="/listing/?pageKey=search",document.body.appendChild(d),d.click(),document.body.removeChild(d)}return(d,u)=>(o(),i("div",null,[u[2]||(u[2]=A("div",{class:"lofty-detail-title"},"SAVED SEARCHES",-1)),A("div",Ee,[k(lA,{loading:e(n)},null,8,["loading"]),e(r).length===0&&!e(n)?(o(),i("div",Ce,[A("img",{src:e(c),width:"240",height:"240",alt:""},null,8,pe),u[0]||(u[0]=A("div",{class:"tip"},"You don’t have any saved searches yet.",-1)),u[1]||(u[1]=A("div",{class:"desc"},"Easily add saved searches and we'll send you new properties once they become available.",-1)),A("div",{class:"get-start",onClick:Q},"Let's get started!")])):x("",!0),A("div",he,[(o(!0),i(_,null,P(e(r),G=>(o(),D(me,{search:G,onRefresh:s},null,8,["search"]))),256))]),e(t)>1?(o(),D(iA,{key:1,totalPage:e(t),onPageChange:m,pageNum:e(I),pageSize:10,noScroll:!0},null,8,["totalPage","pageNum"])):x("",!0)])]))}},Qe={class:"lofty-form-panel"},ve={class:"info-form"},we={class:"form-wrap"},ye={class:"form-name"},Me={class:"input-wrapper"},Ye={class:"input-wrapper"},Ge={class:"input-wrapper"},Re={class:"info-form"},xe={class:"form-wrap"},Ne={class:"input-wrapper"},_e={class:"input-wrapper"},be={class:"input-wrapper"},q=`The password must be between 6-20 characters, have both numbers and letters, and no spaces. The following special characters are supported:-/:;()$&@\\".,?!'[]{}#%^*+=_|~<>€£¥·`,Se="Please enter the same password as the former",$e={__name:"account",emits:["refresh"],setup(a,{emit:c}){const I=c,r=z.getUser(),n=Z(()=>{const E=t.firstName!==r.firstName||t.lastName!==r.lastName||t.phoneNumber!==r.phoneNumber,l=t.password&&t.newPassword&&t.confirmPassword;return E||l}),t=eA({account:r.account,firstName:r.firstName,lastName:r.lastName,phoneNumber:r.phoneNumber,password:"",newPassword:"",confirmPassword:""}),s=eA({firstName:!1,lastName:!1,phone:!1,phoneMsg:"Please enter your phone number",password:!1,newPassword:!1,confirmPassword:!1,passwordRequire:!1});function m(){setTimeout(()=>{Object.keys(s).forEach(E=>{s[E]=!1})},3e3)}async function Q(){if(n.value){if(!t.firstName){s.firstName=!0,m();return}if(!t.lastName){s.lastName=!0,m();return}if(!t.phoneNumber){s.phone=!0,s.phoneMsg="Please enter your phone number",m();return}if(/^\d{3}-?\d{3}-?\d{4}$/.test(t.phoneNumber)){const E=await R.get(`/register/phoneValidate?phoneNumber=${t.phoneNumber}`);E.status.code===0?f():(s.phone=!0,s.phoneMsg=E.status.msg)}else s.phone=!0,s.phoneMsg="Please enter a valid phone number format.";m()}}const d=/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d\-\/:;()$&@".,?!'\[\]{}#%^*+=_|~<>€£¥·]{6,20}$/,u=g(q);function G(){if(s.passwordRequire=!0,!t.password){s.password=!0,m();return}if(!t.newPassword||!d.test(t.newPassword)){s.newPassword=!0,u.value=q,m();return}if(!t.confirmPassword||!d.test(t.confirmPassword)){s.confirmPassword=!0,u.value=q,m();return}if(t.confirmPassword!==t.newPassword){s.confirmPassword=!0,u.value=Se,m();return}v()}function f(){const{password:E,newPassword:l,confirmPassword:h}=t;E||l||h?G():v()}async function v(){await V.addScript(LoftyIdxUtils.public_url("js/md5.min.js"),!0);const E={firstName:t.firstName,lastName:t.lastName,phoneNumber:t.phoneNumber};t.password&&(E.password=window.md5(t.password),E.newPassword=window.md5(t.newPassword));const l=await R.post("/lead/profile/update",{data:E});l.status.code===0?(V.toast("Update Successfully",3e3),I("refresh")):V.toast(l.status.msg,3e3)}return(E,l)=>(o(),i("div",null,[l[9]||(l[9]=A("div",{class:"lofty-detail-title"},"ACCOUNT",-1)),A("div",Qe,[A("div",ve,[l[7]||(l[7]=A("div",{class:"form-title"},"Personal Info",-1)),A("div",we,[A("div",ye,[A("div",Me,[Y(A("input",{"onUpdate:modelValue":l[0]||(l[0]=h=>e(t).firstName=h),placeholder:"First Name",type:"text",class:S({error:e(s).firstName})},null,2),[[j,e(t).firstName]]),Y(A("span",null,"Please fill out this field.",512),[[$,e(s).firstName]])]),A("div",Ye,[Y(A("input",{"onUpdate:modelValue":l[1]||(l[1]=h=>e(t).lastName=h),placeholder:"Last Name",type:"text",class:S({error:e(s).lastName})},null,2),[[j,e(t).lastName]]),Y(A("span",null,"Please fill out this field.",512),[[$,e(s).lastName]])])]),A("div",Ge,[Y(A("input",{"onUpdate:modelValue":l[2]||(l[2]=h=>e(t).phoneNumber=h),inputmode:"tel",class:S([{error:e(s).phone},"mt20"]),placeholder:"Phone Number",type:"text"},null,2),[[j,e(t).phoneNumber]]),Y(A("span",null,B(e(s).phoneMsg),513),[[$,e(s).phone]])]),Y(A("input",{"onUpdate:modelValue":l[3]||(l[3]=h=>e(t).account=h),readonly:"",disabled:"",class:"mt20",type:"text"},null,512),[[j,e(t).account]])])]),A("div",Re,[l[8]||(l[8]=A("div",{class:"form-title"},"Login Info Settings",-1)),A("div",xe,[A("div",Ne,[Y(A("input",{"onUpdate:modelValue":l[4]||(l[4]=h=>e(t).password=h),class:S({error:e(s).passwordRequire&&!e(t).password}),type:"password",placeholder:"Current Password"},null,2),[[j,e(t).password]]),Y(A("span",null,"Please fill out this field.",512),[[$,e(s).passwordRequire&&!e(t).password]])]),A("div",_e,[Y(A("input",{"onUpdate:modelValue":l[5]||(l[5]=h=>e(t).newPassword=h),class:S([{error:e(s).passwordRequire&&e(s).newPassword},"mt20"]),placeholder:"New Password",type:"password"},null,2),[[j,e(t).newPassword]]),Y(A("span",null,B(e(u)),513),[[$,e(s).passwordRequire&&e(s).newPassword]])]),A("div",be,[Y(A("input",{"onUpdate:modelValue":l[6]||(l[6]=h=>e(t).confirmPassword=h),class:S([{error:e(s).passwordRequire&&e(s).confirmPassword},"mt20"]),placeholder:"Confirm New Password",type:"password"},null,2),[[j,e(t).confirmPassword]]),Y(A("span",null,B(e(u)),513),[[$,e(s).passwordRequire&&e(s).confirmPassword]])])])])]),A("div",{class:S(["lofty-btn update-button",{disabled:!e(n)}]),onClick:Q},"Update",2)]))}},De={__name:"index",setup(a){const c=g("SaveListing"),I={SaveListing:se,SaveSearch:Be,Account:$e},r=[{label:"Saved Listings",value:"SaveListing"},{label:"Saved Searches",value:"SaveSearch"},{label:"Account",value:"Account"}];function n(){R.get("/lofty-logout").then(Q=>{Q.data&&window.location.reload()})}const t=g(1),s=g(!0);function m(){z.getCommonInfo().then(()=>{t.value=Date.now()})}return(Q,d)=>(o(),i("div",null,[e(T)?(o(),i("div",{key:0,class:"lofty-logout-button",onClick:n},d[2]||(d[2]=[A("i",{class:"lofty_iconfont lofty-icon-map_01"},null,-1),A("span",null,"Logout",-1)]))):x("",!0),k(CA,{modelValue:e(c),"onUpdate:modelValue":d[0]||(d[0]=u=>K(c)?c.value=u:null),tabs:r},{default:U(()=>[e(T)?x("",!0):(o(),i("span",{key:0,class:"lofty-logout-button",onClick:n},d[3]||(d[3]=[A("i",{class:"lofty_iconfont lofty-icon-export"},null,-1),A("span",null,"Logout",-1)])))]),_:1},8,["modelValue"]),(o(),D(EA(I[e(c)]),{onRefresh:m,key:e(t),modelValue:e(s),"onUpdate:modelValue":d[1]||(d[1]=u=>K(s)?s.value=u:null)},null,40,["modelValue"]))]))}},Pe={__name:"login",setup(a){function c(){window.location.reload()}return(I,r)=>(o(),i("div",null,[k(MA,{class:"account-login-form",callback:c})]))}};z.initState(()=>{z.loginStatus.value?J(De).mount("#lofty-app"):J(Pe).mount("#lofty-app")});
  • lofty-idx/trunk/assets/widget-quick-search.js

    r3348566 r3348893  
    1 import{i as f,h as V}from"./_plugin-vue_export-helper.Cq0ParU2.js";import{c as v}from"./module.CKjUdtPN.js";import{a as q,c as N,r as m,l as $,o as s,g as p,m as B,u as o,d as k,w as E,F as L,h as U,i as M,e as _,y as A,D}from"./vendor.DSMCY3-_.js";import{_ as I,a as x,c as F}from"./mobileFilter.WDC-WzjY.js";import"./index.5F2_f90D.js";import"./outsideclick.Bw_hMuzW.js";import"./index.DnZD_ROs.js";import"./index.CHk1aTGT.js";import"./date-format.BrUodQAJ.js";import"./index.B-PeUk0y.js";import"./number-format.CLdvQh6j.js";import"./index.3MfMsqfZ.js";const b={};function J(i){return{...{module:i,condition:q({location:{}}),config:i.getModuleData()}}}function K(i){b[i.id]=J(i)}const O={key:1,class:"lofty-multi-filter"},Q={__name:"quickSearchBar",props:{id:String},setup(i){const c=i,{condition:t,config:n}=b[c.id];console.log("quick-search-config",n);const u=N(()=>n.layout==="two-line"||f),[l,g,h]=[m([]),m([]),m({})],{quick_listing_filters:C}=n,d=[];async function S(){(await V.get("/search/center/conditions",{data:{isSold:!1}})).data.configs.forEach(r=>{r.conditions.forEach(e=>{e.name==="location"&&(h.value=e),C.includes(e.name)&&(d.push(e),["multiSelect","singleSelect"].includes(e.inputType)&&!t[e.name]&&(t[e.name]=[]))})}),l.value=d,g.value=d}function y(){const a=document.createElement("a");a.href=`/listing/?pageKey=search&condition=${encodeURIComponent(JSON.stringify(t))}`,n.featureListingName&&(a.href=`/listing/?pageKey=search&featureListingName=${n.featureListingName}&condition=${encodeURIComponent(JSON.stringify(t))}`),a.target=f?"_self":"_blank",document.body.appendChild(a),a.click(),document.body.removeChild(a)}return $(()=>{S()}),(a,r)=>(s(),p("div",{class:A(["lofty-listing-search",{"two-line":o(u)}])},[B(I,{class:"location-suggestion",modelValue:o(t).location,"onUpdate:modelValue":r[0]||(r[0]=e=>o(t).location=e),config:o(h)},null,8,["modelValue","config"]),o(f)?(s(),k(x,{key:0,condition:o(t),mobileConfigs:o(g),isQuickSearch:!0},{default:E(()=>[_("button",{class:"lofty-btn",onClick:y},"Search")]),_:1},8,["condition","mobileConfigs"])):(s(),p("div",O,[(s(!0),p(L,null,U(o(l),e=>(s(),k(M(o(F)[e.inputType]),{modelValue:o(t)[e.name],"onUpdate:modelValue":w=>o(t)[e.name]=w,class:"lofty-filter-block","show-default-label":!0,"fit-width":!1,config:e,outSide:""},null,8,["modelValue","onUpdate:modelValue","config"]))),256)),_("button",{class:"lofty-btn",onClick:y},"Search")]))],2))}};jQuery(".lofty-widget-quick-search-container").ready(function(){document.querySelectorAll(".lofty-widget-quick-search-container").forEach(c=>{const t=c.getAttribute("id"),n=v(t),{id:u,$:l}=n;K(n),D(Q,{id:u}).mount(l("#lofty-widget-quick-search-app"))})});
     1import{i as f,h as V}from"./_plugin-vue_export-helper.xU-N2hzF.js";import{c as v}from"./module.CKjUdtPN.js";import{a as q,c as N,r as m,l as $,o as s,g as p,m as B,u as o,d as k,w as E,F as L,h as U,i as M,e as _,y as A,D}from"./vendor.DSMCY3-_.js";import{_ as I,a as x,c as F}from"./mobileFilter.DVwoqcXT.js";import"./index.D8FXyAh2.js";import"./outsideclick.Bw_hMuzW.js";import"./index.Bi752R10.js";import"./index.erNjz9Pp.js";import"./date-format.BrUodQAJ.js";import"./index.Cx6n2H90.js";import"./number-format.CLdvQh6j.js";import"./index.zyk5jnxc.js";const b={};function J(i){return{...{module:i,condition:q({location:{}}),config:i.getModuleData()}}}function K(i){b[i.id]=J(i)}const O={key:1,class:"lofty-multi-filter"},Q={__name:"quickSearchBar",props:{id:String},setup(i){const c=i,{condition:t,config:n}=b[c.id];console.log("quick-search-config",n);const u=N(()=>n.layout==="two-line"||f),[l,g,h]=[m([]),m([]),m({})],{quick_listing_filters:C}=n,d=[];async function S(){(await V.get("/search/center/conditions",{data:{isSold:!1}})).data.configs.forEach(r=>{r.conditions.forEach(e=>{e.name==="location"&&(h.value=e),C.includes(e.name)&&(d.push(e),["multiSelect","singleSelect"].includes(e.inputType)&&!t[e.name]&&(t[e.name]=[]))})}),l.value=d,g.value=d}function y(){const a=document.createElement("a");a.href=`/listing/?pageKey=search&condition=${encodeURIComponent(JSON.stringify(t))}`,n.featureListingName&&(a.href=`/listing/?pageKey=search&featureListingName=${n.featureListingName}&condition=${encodeURIComponent(JSON.stringify(t))}`),a.target=f?"_self":"_blank",document.body.appendChild(a),a.click(),document.body.removeChild(a)}return $(()=>{S()}),(a,r)=>(s(),p("div",{class:A(["lofty-listing-search",{"two-line":o(u)}])},[B(I,{class:"location-suggestion",modelValue:o(t).location,"onUpdate:modelValue":r[0]||(r[0]=e=>o(t).location=e),config:o(h)},null,8,["modelValue","config"]),o(f)?(s(),k(x,{key:0,condition:o(t),mobileConfigs:o(g),isQuickSearch:!0},{default:E(()=>[_("button",{class:"lofty-btn",onClick:y},"Search")]),_:1},8,["condition","mobileConfigs"])):(s(),p("div",O,[(s(!0),p(L,null,U(o(l),e=>(s(),k(M(o(F)[e.inputType]),{modelValue:o(t)[e.name],"onUpdate:modelValue":w=>o(t)[e.name]=w,class:"lofty-filter-block","show-default-label":!0,"fit-width":!1,config:e,outSide:""},null,8,["modelValue","onUpdate:modelValue","config"]))),256)),_("button",{class:"lofty-btn",onClick:y},"Search")]))],2))}};jQuery(".lofty-widget-quick-search-container").ready(function(){document.querySelectorAll(".lofty-widget-quick-search-container").forEach(c=>{const t=c.getAttribute("id"),n=v(t),{id:u,$:l}=n;K(n),D(Q,{id:u}).mount(l("#lofty-widget-quick-search-app"))})});
  • lofty-idx/trunk/includes/pages/LoftyIDXListingDetailPage.php

    r3348447 r3348893  
    4040      $this->data = $data['data'] ?? [];
    4141     
    42       // Extract SEO data for filters instead of raw meta tags
     42      // Extract SEO data for filters from API response
    4343      $page_info = $this->data['pluginPage'] ?? [];
    4444      $seo_params = $this->data['seoParamMap'] ?? [];
     
    4949      }
    5050     
    51       // Store SEO data for use in filters
     51      // Store comprehensive SEO data for use in filters
    5252      $this->seoData = [
    53           'title' => $seo_params['og:title'] ?? $defaultTitle,
    54           'description' => $seo_params['og:description'] ?? '',
    55           'image' => $seo_params['og:image'] ?? ''
     53          'title' => $seo_params['og:title'] ?? $seo_params['title'] ?? $defaultTitle,
     54          'description' => $seo_params['og:description'] ?? $seo_params['description'] ?? '',
     55          'image' => $seo_params['og:image'] ?? '',
     56          'favicon' => $seo_params['favicon'] ?? '',
     57          'canonical' => $seo_params['canonical'] ?? '',
     58          'keywords' => $seo_params['keywords'] ?? '',
     59          'page_info' => $page_info, // Store full page info for additional meta extraction
     60          'seo_params' => $seo_params // Store all seo params
    5661      ];
    5762     
     
    6873      add_filter('wp_title', [$this, 'filterWpTitle'], 10, 2);
    6974     
    70       // Common SEO plugin filters (Yoast is most popular)
     75      // Common SEO plugin filters (Yoast SEO)
    7176      add_filter('wpseo_title', [$this, 'filterSeoTitle'], 10, 1);
    7277      add_filter('wpseo_metadesc', [$this, 'filterSeoDescription'], 10, 1);
     
    7580      add_filter('wpseo_opengraph_image', [$this, 'filterSeoImage'], 10, 1);
    7681     
    77       // Fallback meta tags if no SEO plugin
    78       add_action('wp_head', [$this, 'addFallbackMetaTags'], 1);
     82      // RankMath SEO plugin filters
     83      add_filter('rank_math/frontend/title', [$this, 'filterSeoTitle'], 10, 1);
     84      add_filter('rank_math/frontend/description', [$this, 'filterSeoDescription'], 10, 1);
     85      add_filter('rank_math/opengraph/facebook/og_title', [$this, 'filterSeoTitle'], 10, 1);
     86      add_filter('rank_math/opengraph/facebook/og_description', [$this, 'filterSeoDescription'], 10, 1);
     87      add_filter('rank_math/opengraph/facebook/og_image', [$this, 'filterSeoImage'], 10, 1);
     88     
     89      // All in One SEO plugin filters
     90      add_filter('aioseo_title', [$this, 'filterSeoTitle'], 10, 1);
     91      add_filter('aioseo_description', [$this, 'filterSeoDescription'], 10, 1);
     92      add_filter('aioseo_facebook_title', [$this, 'filterSeoTitle'], 10, 1);
     93      add_filter('aioseo_facebook_description', [$this, 'filterSeoDescription'], 10, 1);
     94     
     95      // Always add our custom meta tags
     96      add_action('wp_head', [$this, 'addCustomMetaTags'], 1);
    7997  }
    8098
     
    120138
    121139  /**
    122    * Add fallback meta tags if no SEO plugin is detected
     140   * Add meta tags intelligently - avoid conflicts with SEO plugins
    123141   */
    124   public function addFallbackMetaTags()
    125   {
    126       // Simple check - if Yoast is not active, add basic meta tags
    127       if (!defined('WPSEO_VERSION') && !empty($this->seoData)) {
    128           if (!empty($this->seoData['description'])) {
    129               echo '<meta name="description" content="' . esc_attr($this->seoData['description']) . '">' . "\n";
     142  public function addCustomMetaTags()
     143  {
     144      // Debug comment to confirm this method is called
     145      echo "<!-- LoftyIDX Custom Meta Tags Start -->\n";
     146     
     147      // Check if major SEO plugins are active
     148      $has_seo_plugin = defined('WPSEO_VERSION') || // Yoast SEO
     149                       defined('RANK_MATH_VERSION') || // RankMath
     150                       defined('AIOSEO_VERSION') || // All in One SEO
     151                       class_exists('SEOPressor');
     152     
     153      if (!empty($this->seoData)) {
     154         
     155          // Always add favicon (SEO plugins usually don't handle this)
     156          if (!empty($this->seoData['favicon'])) {
     157              echo '<link rel="icon" href="' . esc_url($this->seoData['favicon']) . '" type="image/x-icon">' . "\n";
     158              echo '<link rel="shortcut icon" href="' . esc_url($this->seoData['favicon']) . '" type="image/x-icon">' . "\n";
    130159          }
    131           if (!empty($this->seoData['title'])) {
    132               echo '<meta property="og:title" content="' . esc_attr($this->seoData['title']) . '">' . "\n";
     160         
     161          // Always process API-specific meta tags (these are unique to our plugin)
     162          $this->processApiMetaTags();
     163         
     164          // Only add basic meta tags if no SEO plugin is present
     165          if (!$has_seo_plugin) {
     166              echo "<!-- No SEO plugin detected, adding fallback meta tags -->\n";
     167             
     168              // Basic meta tags
     169              if (!empty($this->seoData['description'])) {
     170                  echo '<meta name="description" content="' . esc_attr($this->seoData['description']) . '">' . "\n";
     171              }
     172             
     173              if (!empty($this->seoData['keywords'])) {
     174                  echo '<meta name="keywords" content="' . esc_attr($this->seoData['keywords']) . '">' . "\n";
     175              }
     176             
     177              // Open Graph meta tags
     178              if (!empty($this->seoData['title'])) {
     179                  echo '<meta property="og:title" content="' . esc_attr($this->seoData['title']) . '">' . "\n";
     180              }
     181              if (!empty($this->seoData['description'])) {
     182                  echo '<meta property="og:description" content="' . esc_attr($this->seoData['description']) . '">' . "\n";
     183              }
     184              if (!empty($this->seoData['image'])) {
     185                  echo '<meta property="og:image" content="' . esc_url($this->seoData['image']) . '">' . "\n";
     186              }
     187             
     188              echo '<meta property="og:type" content="website">' . "\n";
     189              echo '<meta property="og:url" content="' . esc_url(get_permalink()) . '">' . "\n";
     190             
     191              // Twitter Card meta tags
     192              echo '<meta name="twitter:card" content="summary_large_image">' . "\n";
     193              if (!empty($this->seoData['title'])) {
     194                  echo '<meta name="twitter:title" content="' . esc_attr($this->seoData['title']) . '">' . "\n";
     195              }
     196              if (!empty($this->seoData['description'])) {
     197                  echo '<meta name="twitter:description" content="' . esc_attr($this->seoData['description']) . '">' . "\n";
     198              }
     199              if (!empty($this->seoData['image'])) {
     200                  echo '<meta name="twitter:image" content="' . esc_url($this->seoData['image']) . '">' . "\n";
     201              }
     202             
     203              // Canonical URL
     204              if (!empty($this->seoData['canonical'])) {
     205                  echo '<link rel="canonical" href="' . esc_url($this->seoData['canonical']) . '">' . "\n";
     206              }
     207             
     208          } else {
     209              echo "<!-- SEO plugin detected, using filters only -->\n";
    133210          }
    134           if (!empty($this->seoData['description'])) {
    135               echo '<meta property="og:description" content="' . esc_attr($this->seoData['description']) . '">' . "\n";
    136           }
    137           if (!empty($this->seoData['image'])) {
    138               echo '<meta property="og:image" content="' . esc_url($this->seoData['image']) . '">' . "\n";
     211      }
     212     
     213      // Debug comment to confirm method completed
     214      echo "<!-- LoftyIDX Custom Meta Tags End -->\n";
     215  }
     216 
     217  /**
     218   * Process additional meta tags from API response
     219   */
     220  private function processApiMetaTags()
     221  {
     222      $page_info = $this->seoData['page_info'] ?? [];
     223      $meta_tag = $page_info['metaTag'] ?? $page_info['metaTagHtml'] ?? '';
     224     
     225      if (!empty($meta_tag)) {
     226          $seo_params = $this->seoData['seo_params'] ?? [];
     227         
     228          // Replace parameters in meta tags
     229          $processed_tags = preg_replace_callback('/\{([^}]+)}/', function ($matches) use ($seo_params) {
     230              return $seo_params[$matches[1]] ?? $matches[0];
     231          }, $meta_tag);
     232         
     233          // Filter and output meta tags safely
     234          if (!empty($processed_tags)) {
     235              $filtered_tags = LoftyIDXListingHelper::filterMetaTags($processed_tags);
     236              foreach ($filtered_tags as $tag) {
     237                  if (!empty(trim($tag))) {
     238                      echo $tag . "\n";
     239                  }
     240              }
    139241          }
    140242      }
  • lofty-idx/trunk/includes/providers/LoftyIDXProxyServiceProvider.php

    r3348566 r3348893  
    9595
    9696            if($request_method === 'post' && trim($path, '/') === 'token/key/check'){
     97                if (!current_user_can('manage_options') ) {
     98                    return $this->fail('permission denied');
     99                }
    97100                return $this->updateApiKey($params);
    98101            }
  • lofty-idx/trunk/lofty-idx.php

    r3348566 r3348893  
    55 * Description: A powerful WordPress plugin that integrates IDX/MLS property listings.
    66 * Author: loftylisting
    7  * Version: 1.6.1
     7 * Version: 1.6.2
    88 * License: GPLv2 or later
    99 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    4242define('LOFTY_LANGUAGE', isset($_ENV['LOFTY_LANGUAGE']) ? sanitize_text_field($_ENV['LOFTY_LANGUAGE']) : 'en');
    4343
    44 define('LOFTY_IDX_VERSION', '1.6.1');
     44define('LOFTY_IDX_VERSION', '1.6.2');
    4545
    4646define('LOFTY_IDX_PATH', plugin_dir_path(__FILE__));
  • lofty-idx/trunk/package.json

    r3348566 r3348893  
    22  "name": "lofty-idx-web",
    33  "private": true,
    4   "version": "1.6.1",
     4  "version": "1.6.2",
    55  "type": "module",
    66  "scripts": {
  • lofty-idx/trunk/readme.txt

    r3348566 r3348893  
    66Requires at least: 5.0
    77Tested up to: 6.7
    8 Stable tag: 1.6.1
     8Stable tag: 1.6.2
    99Requires PHP: 7.4
    1010License: GPLv2 or later
     
    166166= 1.6.1 =
    167167*  Fixed Cache bug
     168
     169
     170= 1.6.2  =
     171*  Fixed SEO bug
Note: See TracChangeset for help on using the changeset viewer.