Plugin Directory

Changeset 3413770


Ignore:
Timestamp:
12/08/2025 01:49:56 AM (3 months ago)
Author:
loftylisting
Message:

update code to trunk

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

Legend:

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

    r3395454 r3413770  
    11{
    2   "_IconCopy.DdKisG8J.js": {
    3     "file": "IconCopy.DdKisG8J.js",
     2  "_IconCopy.Bf0ZYCRd.js": {
     3    "file": "IconCopy.Bf0ZYCRd.js",
    44    "name": "IconCopy",
    55    "imports": [
    6       "__plugin-vue_export-helper.BPal9gCL.js",
    7       "_vendor.DSMCY3-_.js"
    8     ]
    9   },
    10   "_PluginUpdate.!~{00F}~.js": {
     6      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     7      "_vendor.DSMCY3-_.js"
     8    ]
     9  },
     10  "_PluginUpdate.!~{00G}~.js": {
    1111    "file": "PluginUpdate.css",
    12     "src": "_PluginUpdate.!~{00F}~.js"
    13   },
    14   "_PluginUpdate.C7Epye8j.js": {
    15     "file": "PluginUpdate.C7Epye8j.js",
     12    "src": "_PluginUpdate.!~{00G}~.js"
     13  },
     14  "_PluginUpdate.CmVbsX3Y.js": {
     15    "file": "PluginUpdate.CmVbsX3Y.js",
    1616    "name": "PluginUpdate",
    1717    "imports": [
    18       "__plugin-vue_export-helper.BPal9gCL.js",
    19       "_vendor.DSMCY3-_.js",
    20       "_user.BMSYXHG8.js"
     18      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     19      "_vendor.DSMCY3-_.js",
     20      "_user.DZNd_BkT.js"
    2121    ],
    2222    "css": [
     
    2424    ]
    2525  },
    26   "_SubmitJs.!~{00D}~.js": {
     26  "_SubmitJs.!~{00E}~.js": {
    2727    "file": "SubmitJs.css",
    28     "src": "_SubmitJs.!~{00D}~.js"
    29   },
    30   "_SubmitJs.lH7hkJex.js": {
    31     "file": "SubmitJs.lH7hkJex.js",
     28    "src": "_SubmitJs.!~{00E}~.js"
     29  },
     30  "_SubmitJs.Cpx6FIAE.js": {
     31    "file": "SubmitJs.Cpx6FIAE.js",
    3232    "name": "SubmitJs",
    3333    "imports": [
    34       "__plugin-vue_export-helper.BPal9gCL.js",
     34      "__plugin-vue_export-helper.D-Nsc_Tq.js",
    3535      "_vendor.DSMCY3-_.js"
    3636    ],
     
    4343    "src": "__plugin-vue_export-helper.!~{002}~.js"
    4444  },
    45   "__plugin-vue_export-helper.BPal9gCL.js": {
    46     "file": "_plugin-vue_export-helper.BPal9gCL.js",
     45  "__plugin-vue_export-helper.D-Nsc_Tq.js": {
     46    "file": "_plugin-vue_export-helper.D-Nsc_Tq.js",
    4747    "name": "_plugin-vue_export-helper",
    4848    "imports": [
     
    5656    ]
    5757  },
    58   "_auto-login.C-YIkDVx.js": {
    59     "file": "auto-login.C-YIkDVx.js",
     58  "_auto-login.D9gGgNTh.js": {
     59    "file": "auto-login.D9gGgNTh.js",
    6060    "name": "auto-login",
    6161    "imports": [
    62       "__plugin-vue_export-helper.BPal9gCL.js",
    63       "_user.BMSYXHG8.js"
    64     ]
    65   },
    66   "_checkBox.!~{00H}~.js": {
     62      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     63      "_user.DZNd_BkT.js"
     64    ]
     65  },
     66  "_checkBox.!~{00I}~.js": {
    6767    "file": "checkBox.css",
    68     "src": "_checkBox.!~{00H}~.js"
    69   },
    70   "_checkBox.kH23Q5F_.js": {
    71     "file": "checkBox.kH23Q5F_.js",
     68    "src": "_checkBox.!~{00I}~.js"
     69  },
     70  "_checkBox.BqFG4BHZ.js": {
     71    "file": "checkBox.BqFG4BHZ.js",
    7272    "name": "checkBox",
    7373    "imports": [
    7474      "_vendor.DSMCY3-_.js",
    75       "__plugin-vue_export-helper.BPal9gCL.js"
     75      "__plugin-vue_export-helper.D-Nsc_Tq.js"
    7676    ],
    7777    "css": [
     
    7979    ]
    8080  },
    81   "_common.!~{00C}~.js": {
     81  "_common.!~{00D}~.js": {
    8282    "file": "common.css",
    83     "src": "_common.!~{00C}~.js"
     83    "src": "_common.!~{00D}~.js"
    8484  },
    8585  "_date-format.BrUodQAJ.js": {
     
    8787    "name": "date-format"
    8888  },
    89   "_feature-listing-slider.!~{00y}~.js": {
     89  "_feature-listing-slider.!~{00z}~.js": {
    9090    "file": "feature-listing-slider.css",
    91     "src": "_feature-listing-slider.!~{00y}~.js"
    92   },
    93   "_feature-listing-slider.BlB68n6i.js": {
    94     "file": "feature-listing-slider.BlB68n6i.js",
     91    "src": "_feature-listing-slider.!~{00z}~.js"
     92  },
     93  "_feature-listing-slider.K4RTEX_D.js": {
     94    "file": "feature-listing-slider.K4RTEX_D.js",
    9595    "name": "feature-listing-slider",
    9696    "imports": [
    97       "_index.DZeflCfp.js",
    98       "_user.BMSYXHG8.js",
    99       "_mls-compliance.C0pTpKuj.js",
     97      "_index.CUpw1e8g.js",
     98      "_user.DZNd_BkT.js",
     99      "_mls-compliance.CUyE_Kkr.js",
    100100      "_vendor.DSMCY3-_.js"
    101101    ],
     
    111111    "src": "_google.!~{00q}~.js"
    112112  },
    113   "_google.DPK_RKJ0.js": {
    114     "file": "google.DPK_RKJ0.js",
     113  "_google.CP7r4vmz.js": {
     114    "file": "google.CP7r4vmz.js",
    115115    "name": "google",
    116116    "imports": [
    117       "__plugin-vue_export-helper.BPal9gCL.js",
     117      "__plugin-vue_export-helper.D-Nsc_Tq.js",
    118118      "_vendor.DSMCY3-_.js"
    119119    ],
     
    122122    ]
    123123  },
    124   "_house-format.CUT0UGLt.js": {
    125     "file": "house-format.CUT0UGLt.js",
     124  "_house-format.66hvz3g4.js": {
     125    "file": "house-format.66hvz3g4.js",
    126126    "name": "house-format",
    127127    "imports": [
    128       "__plugin-vue_export-helper.BPal9gCL.js",
    129       "_number-format.CLdvQh6j.js",
    130       "_user.BMSYXHG8.js"
    131     ]
    132   },
    133   "_houseSlider.!~{00z}~.js": {
     128      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     129      "_number-format.CLdvQh6j.js",
     130      "_user.DZNd_BkT.js"
     131    ]
     132  },
     133  "_houseSlider.!~{00A}~.js": {
    134134    "file": "houseSlider.css",
    135     "src": "_houseSlider.!~{00z}~.js"
    136   },
    137   "_houseSlider.4Lv23TM1.js": {
    138     "file": "houseSlider.4Lv23TM1.js",
     135    "src": "_houseSlider.!~{00A}~.js"
     136  },
     137  "_houseSlider.Cx69CdCm.js": {
     138    "file": "houseSlider.Cx69CdCm.js",
    139139    "name": "houseSlider",
    140140    "imports": [
    141       "_mls-compliance.C0pTpKuj.js",
    142       "_feature-listing-slider.BlB68n6i.js",
     141      "_mls-compliance.CUyE_Kkr.js",
     142      "_feature-listing-slider.K4RTEX_D.js",
    143143      "_vendor.DSMCY3-_.js"
    144144    ],
     
    147147    ]
    148148  },
    149   "_icon.B39ECm-d.js": {
    150     "file": "icon.B39ECm-d.js",
     149  "_icon.DUYsWlSZ.js": {
     150    "file": "icon.DUYsWlSZ.js",
    151151    "name": "icon",
    152152    "imports": [
    153       "_marker.RpXaiuV5.js",
    154       "__plugin-vue_export-helper.BPal9gCL.js",
     153      "_marker.8y9NSRpW.js",
     154      "__plugin-vue_export-helper.D-Nsc_Tq.js",
    155155      "_vendor.DSMCY3-_.js"
    156156    ]
     
    168168    "src": "_index.!~{009}~.js"
    169169  },
    170   "_index.!~{00A}~.js": {
     170  "_index.!~{00B}~.js": {
    171171    "file": "index4.css",
    172     "src": "_index.!~{00A}~.js"
    173   },
    174   "_index.!~{00B}~.js": {
     172    "src": "_index.!~{00B}~.js"
     173  },
     174  "_index.!~{00C}~.js": {
    175175    "file": "index3.css",
    176     "src": "_index.!~{00B}~.js"
     176    "src": "_index.!~{00C}~.js"
    177177  },
    178178  "_index.!~{00b}~.js": {
    179     "file": "index12.css",
     179    "file": "index11.css",
    180180    "src": "_index.!~{00b}~.js"
    181181  },
    182182  "_index.!~{00c}~.js": {
    183     "file": "index11.css",
     183    "file": "index10.css",
    184184    "src": "_index.!~{00c}~.js"
    185185  },
     
    189189  },
    190190  "_index.!~{00n}~.js": {
    191     "file": "index10.css",
     191    "file": "index9.css",
    192192    "src": "_index.!~{00n}~.js"
    193193  },
     
    196196    "src": "_index.!~{00o}~.js"
    197197  },
    198   "_index.!~{00r}~.js": {
    199     "file": "index9.css",
    200     "src": "_index.!~{00r}~.js"
    201   },
    202   "_index.!~{00x}~.js": {
     198  "_index.!~{00s}~.js": {
     199    "file": "index12.css",
     200    "src": "_index.!~{00s}~.js"
     201  },
     202  "_index.!~{00y}~.js": {
    203203    "file": "index.css",
    204     "src": "_index.!~{00x}~.js"
     204    "src": "_index.!~{00y}~.js"
     205  },
     206  "_index.06wxuzd0.js": {
     207    "file": "index.06wxuzd0.js",
     208    "name": "index",
     209    "imports": [
     210      "_vendor.DSMCY3-_.js",
     211      "__plugin-vue_export-helper.D-Nsc_Tq.js"
     212    ],
     213    "css": [
     214      "index9.css"
     215    ]
    205216  },
    206217  "_index.BIsjoQ8l.js": {
     
    215226    ]
    216227  },
    217   "_index.BcF03SbQ.js": {
    218     "file": "index.BcF03SbQ.js",
    219     "name": "index",
    220     "imports": [
    221       "_vendor.DSMCY3-_.js",
    222       "__plugin-vue_export-helper.BPal9gCL.js"
    223     ],
    224     "css": [
    225       "index6.css"
    226     ]
    227   },
    228228  "_index.BdhGsZUN.js": {
    229229    "file": "index.BdhGsZUN.js",
     
    236236    ]
    237237  },
    238   "_index.CDZjPkAd.js": {
    239     "file": "index.CDZjPkAd.js",
    240     "name": "index",
    241     "imports": [
    242       "_vendor.DSMCY3-_.js",
    243       "__plugin-vue_export-helper.BPal9gCL.js"
    244     ],
    245     "css": [
    246       "index9.css"
    247     ]
    248   },
    249   "_index.CJT61Udz.js": {
    250     "file": "index.CJT61Udz.js",
    251     "name": "index",
    252     "imports": [
    253       "_vendor.DSMCY3-_.js",
    254       "__plugin-vue_export-helper.BPal9gCL.js"
    255     ],
    256     "css": [
    257       "index10.css"
    258     ]
    259   },
    260   "_index.CJTlbLLV.js": {
    261     "file": "index.CJTlbLLV.js",
    262     "name": "index",
    263     "imports": [
    264       "_vendor.DSMCY3-_.js",
    265       "_feature-listing-slider.BlB68n6i.js",
    266       "_mls-compliance.C0pTpKuj.js"
     238  "_index.C-Qy-l5j.js": {
     239    "file": "index.C-Qy-l5j.js",
     240    "name": "index",
     241    "imports": [
     242      "_vendor.DSMCY3-_.js",
     243      "__plugin-vue_export-helper.D-Nsc_Tq.js"
     244    ],
     245    "css": [
     246      "index6.css"
     247    ]
     248  },
     249  "_index.CUpw1e8g.js": {
     250    "file": "index.CUpw1e8g.js",
     251    "name": "index",
     252    "imports": [
     253      "_user.DZNd_BkT.js",
     254      "_vendor.DSMCY3-_.js",
     255      "_google.CP7r4vmz.js",
     256      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     257      "_reg-verify.CFEt1-g0.js",
     258      "_index.Dm4Bynpm.js"
     259    ],
     260    "css": [
     261      "index2.css"
     262    ]
     263  },
     264  "_index.CZOqnZlT.js": {
     265    "file": "index.CZOqnZlT.js",
     266    "name": "index",
     267    "imports": [
     268      "_date-format.BrUodQAJ.js",
     269      "_index.06wxuzd0.js",
     270      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     271      "_vendor.DSMCY3-_.js"
     272    ],
     273    "css": [
     274      "index8.css"
     275    ]
     276  },
     277  "_index.D5xvIcLt.js": {
     278    "file": "index.D5xvIcLt.js",
     279    "name": "index",
     280    "imports": [
     281      "_vendor.DSMCY3-_.js",
     282      "_feature-listing-slider.K4RTEX_D.js",
     283      "_mls-compliance.CUyE_Kkr.js"
    267284    ],
    268285    "css": [
    269286      "index.css"
    270     ]
    271   },
    272   "_index.CpZgndwv.js": {
    273     "file": "index.CpZgndwv.js",
    274     "name": "index",
    275     "imports": [
    276       "_vendor.DSMCY3-_.js",
    277       "__plugin-vue_export-helper.BPal9gCL.js"
    278     ],
    279     "css": [
    280       "index11.css"
    281287    ]
    282288  },
     
    291297    ]
    292298  },
    293   "_index.DZeflCfp.js": {
    294     "file": "index.DZeflCfp.js",
    295     "name": "index",
    296     "imports": [
    297       "_user.BMSYXHG8.js",
    298       "_vendor.DSMCY3-_.js",
    299       "_google.DPK_RKJ0.js",
    300       "__plugin-vue_export-helper.BPal9gCL.js",
    301       "_index.CpZgndwv.js"
    302     ],
    303     "css": [
    304       "index2.css"
    305     ]
    306   },
    307   "_index.Du3p49kO.js": {
    308     "file": "index.Du3p49kO.js",
    309     "name": "index",
    310     "imports": [
    311       "_date-format.BrUodQAJ.js",
    312       "_index.CJT61Udz.js",
    313       "__plugin-vue_export-helper.BPal9gCL.js",
    314       "_vendor.DSMCY3-_.js"
    315     ],
    316     "css": [
    317       "index8.css"
    318     ]
    319   },
    320   "_index.OXpUu6sz.js": {
    321     "file": "index.OXpUu6sz.js",
     299  "_index.Dm4Bynpm.js": {
     300    "file": "index.Dm4Bynpm.js",
     301    "name": "index",
     302    "imports": [
     303      "_vendor.DSMCY3-_.js",
     304      "__plugin-vue_export-helper.D-Nsc_Tq.js"
     305    ],
     306    "css": [
     307      "index10.css"
     308    ]
     309  },
     310  "_index.QzWxvJng.js": {
     311    "file": "index.QzWxvJng.js",
    322312    "name": "index",
    323313    "imports": [
    324314      "_vendor.DSMCY3-_.js",
    325315      "_outsideclick.Bw_hMuzW.js",
    326       "__plugin-vue_export-helper.BPal9gCL.js"
    327     ],
    328     "css": [
    329       "index12.css"
     316      "__plugin-vue_export-helper.D-Nsc_Tq.js"
     317    ],
     318    "css": [
     319      "index11.css"
    330320    ]
    331321  },
     
    338328    "css": [
    339329      "index4.css"
     330    ]
     331  },
     332  "_index.kdbg-iyz.js": {
     333    "file": "index.kdbg-iyz.js",
     334    "name": "index",
     335    "imports": [
     336      "_vendor.DSMCY3-_.js",
     337      "__plugin-vue_export-helper.D-Nsc_Tq.js"
     338    ],
     339    "css": [
     340      "index12.css"
    340341    ]
    341342  },
     
    348349    ]
    349350  },
    350   "_marker.RpXaiuV5.js": {
    351     "file": "marker.RpXaiuV5.js",
     351  "_marker.8y9NSRpW.js": {
     352    "file": "marker.8y9NSRpW.js",
    352353    "name": "marker",
    353354    "imports": [
    354       "_index.BcF03SbQ.js",
    355       "__plugin-vue_export-helper.BPal9gCL.js",
    356       "_number-format.CLdvQh6j.js",
    357       "_vendor.DSMCY3-_.js"
    358     ]
    359   },
    360   "_mls-compliance.C0pTpKuj.js": {
    361     "file": "mls-compliance.C0pTpKuj.js",
     355      "_index.C-Qy-l5j.js",
     356      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     357      "_number-format.CLdvQh6j.js",
     358      "_vendor.DSMCY3-_.js"
     359    ]
     360  },
     361  "_mls-compliance.CUyE_Kkr.js": {
     362    "file": "mls-compliance.CUyE_Kkr.js",
    362363    "name": "mls-compliance",
    363364    "imports": [
    364       "__plugin-vue_export-helper.BPal9gCL.js",
    365       "_index.DZeflCfp.js",
    366       "_house-format.CUT0UGLt.js",
    367       "_user.BMSYXHG8.js"
     365      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     366      "_index.CUpw1e8g.js",
     367      "_house-format.66hvz3g4.js",
     368      "_user.DZNd_BkT.js"
    368369    ]
    369370  },
     
    372373    "src": "_mobileFilter.!~{00a}~.js"
    373374  },
    374   "_mobileFilter.BUk6F300.js": {
    375     "file": "mobileFilter.BUk6F300.js",
     375  "_mobileFilter.C_Zcw7Rf.js": {
     376    "file": "mobileFilter.C_Zcw7Rf.js",
    376377    "name": "mobileFilter",
    377378    "imports": [
    378379      "_vendor.DSMCY3-_.js",
    379       "_index.OXpUu6sz.js",
    380       "__plugin-vue_export-helper.BPal9gCL.js",
    381       "_index.CpZgndwv.js",
    382       "_index.Du3p49kO.js",
     380      "_index.QzWxvJng.js",
     381      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     382      "_index.Dm4Bynpm.js",
     383      "_index.CZOqnZlT.js",
    383384      "_number-format.CLdvQh6j.js",
    384385      "_date-format.BrUodQAJ.js",
    385       "_index.CDZjPkAd.js",
     386      "_index.kdbg-iyz.js",
    386387      "_outsideclick.Bw_hMuzW.js"
    387388    ],
     
    394395    "name": "module"
    395396  },
    396   "_multiSelect.!~{00G}~.js": {
     397  "_multiSelect.!~{00H}~.js": {
    397398    "file": "multiSelect.css",
    398     "src": "_multiSelect.!~{00G}~.js"
    399   },
    400   "_multiSelect.DM7peOwH.js": {
    401     "file": "multiSelect.DM7peOwH.js",
     399    "src": "_multiSelect.!~{00H}~.js"
     400  },
     401  "_multiSelect.BF9kJSgT.js": {
     402    "file": "multiSelect.BF9kJSgT.js",
    402403    "name": "multiSelect",
    403404    "imports": [
    404405      "_vendor.DSMCY3-_.js",
    405       "__plugin-vue_export-helper.BPal9gCL.js",
    406       "_index.OXpUu6sz.js",
    407       "_checkBox.kH23Q5F_.js"
     406      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     407      "_index.QzWxvJng.js",
     408      "_checkBox.BqFG4BHZ.js"
    408409    ],
    409410    "css": [
     
    419420    "name": "outsideclick"
    420421  },
    421   "_popup-mls.0QQMMjaf.js": {
    422     "file": "popup-mls.0QQMMjaf.js",
     422  "_popup-mls.CCmmPq7_.js": {
     423    "file": "popup-mls.CCmmPq7_.js",
    423424    "name": "popup-mls",
    424425    "imports": [
    425       "__plugin-vue_export-helper.BPal9gCL.js",
    426       "_user.BMSYXHG8.js",
    427       "_useConfirm.BzkUN0E6.js"
    428     ]
    429   },
    430   "_popup-trigger.rYjzm3pp.js": {
    431     "file": "popup-trigger.rYjzm3pp.js",
     426      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     427      "_user.DZNd_BkT.js",
     428      "_useConfirm.C3wM7YYe.js"
     429    ]
     430  },
     431  "_popup-trigger.sn6NHdGO.js": {
     432    "file": "popup-trigger.sn6NHdGO.js",
    432433    "name": "popup-trigger",
    433434    "imports": [
    434       "_user.BMSYXHG8.js",
    435       "_index.DZeflCfp.js",
    436       "__plugin-vue_export-helper.BPal9gCL.js"
    437     ]
    438   },
    439   "_service.BLsNo1Yg.js": {
    440     "file": "service.BLsNo1Yg.js",
     435      "_user.DZNd_BkT.js",
     436      "_index.CUpw1e8g.js",
     437      "__plugin-vue_export-helper.D-Nsc_Tq.js"
     438    ]
     439  },
     440  "_reg-verify.CFEt1-g0.js": {
     441    "file": "reg-verify.CFEt1-g0.js",
     442    "name": "reg-verify"
     443  },
     444  "_service.BPx6HgYg.js": {
     445    "file": "service.BPx6HgYg.js",
    441446    "name": "service",
    442447    "imports": [
    443448      "_vendor.DSMCY3-_.js",
    444       "__plugin-vue_export-helper.BPal9gCL.js",
    445       "_index.BcF03SbQ.js"
     449      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     450      "_index.C-Qy-l5j.js"
    446451    ]
    447452  },
     
    450455    "src": "_standard.!~{00e}~.js"
    451456  },
    452   "_standard.DaFkfDIs.js": {
    453     "file": "standard.DaFkfDIs.js",
     457  "_standard.gtRZLXMO.js": {
     458    "file": "standard.gtRZLXMO.js",
    454459    "name": "standard",
    455460    "imports": [
    456       "__plugin-vue_export-helper.BPal9gCL.js",
    457       "_index.CJT61Udz.js",
     461      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     462      "_index.06wxuzd0.js",
    458463      "_vendor.DSMCY3-_.js"
    459464    ],
     
    462467    ]
    463468  },
    464   "_styleConfig.!~{00E}~.js": {
     469  "_styleConfig.!~{00F}~.js": {
    465470    "file": "styleConfig.css",
    466     "src": "_styleConfig.!~{00E}~.js"
    467   },
    468   "_styleConfig.mF4dVrzA.js": {
    469     "file": "styleConfig.mF4dVrzA.js",
     471    "src": "_styleConfig.!~{00F}~.js"
     472  },
     473  "_styleConfig.C0vLR4oO.js": {
     474    "file": "styleConfig.C0vLR4oO.js",
    470475    "name": "styleConfig",
    471476    "imports": [
    472477      "_vendor.DSMCY3-_.js",
    473       "__plugin-vue_export-helper.BPal9gCL.js",
    474       "_number-format.CLdvQh6j.js",
    475       "_index.OXpUu6sz.js",
    476       "_index.Du3p49kO.js",
    477       "_index.CDZjPkAd.js",
    478       "_multiSelect.DM7peOwH.js",
     478      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     479      "_number-format.CLdvQh6j.js",
     480      "_index.QzWxvJng.js",
     481      "_index.CZOqnZlT.js",
     482      "_index.kdbg-iyz.js",
     483      "_multiSelect.BF9kJSgT.js",
    479484      "_outsideclick.Bw_hMuzW.js",
    480       "_index.CpZgndwv.js",
    481       "_index.BcF03SbQ.js",
    482       "_service.BLsNo1Yg.js",
     485      "_index.Dm4Bynpm.js",
     486      "_index.C-Qy-l5j.js",
     487      "_service.BPx6HgYg.js",
    483488      "_index.DAwEVGKX.js",
    484       "_house-format.CUT0UGLt.js",
    485       "_SubmitJs.lH7hkJex.js",
    486       "_checkBox.kH23Q5F_.js",
    487       "_tooltip.D1R52ez8.js"
     489      "_house-format.66hvz3g4.js",
     490      "_SubmitJs.Cpx6FIAE.js",
     491      "_checkBox.BqFG4BHZ.js",
     492      "_tooltip.B9jEbpOe.js"
    488493    ],
    489494    "css": [
     
    498503    ]
    499504  },
    500   "_tooltip.!~{00t}~.js": {
     505  "_tooltip.!~{00u}~.js": {
    501506    "file": "tooltip.css",
    502     "src": "_tooltip.!~{00t}~.js"
    503   },
    504   "_tooltip.D1R52ez8.js": {
    505     "file": "tooltip.D1R52ez8.js",
     507    "src": "_tooltip.!~{00u}~.js"
     508  },
     509  "_tooltip.B9jEbpOe.js": {
     510    "file": "tooltip.B9jEbpOe.js",
    506511    "name": "tooltip",
    507512    "imports": [
    508513      "_vendor.DSMCY3-_.js",
    509514      "_outsideclick.Bw_hMuzW.js",
    510       "__plugin-vue_export-helper.BPal9gCL.js"
     515      "__plugin-vue_export-helper.D-Nsc_Tq.js"
    511516    ],
    512517    "css": [
     
    514519    ]
    515520  },
    516   "_useConfirm.!~{00s}~.js": {
     521  "_useConfirm.!~{00t}~.js": {
    517522    "file": "useConfirm.css",
    518     "src": "_useConfirm.!~{00s}~.js"
    519   },
    520   "_useConfirm.BzkUN0E6.js": {
    521     "file": "useConfirm.BzkUN0E6.js",
     523    "src": "_useConfirm.!~{00t}~.js"
     524  },
     525  "_useConfirm.C3wM7YYe.js": {
     526    "file": "useConfirm.C3wM7YYe.js",
    522527    "name": "useConfirm",
    523528    "imports": [
    524       "_index.CpZgndwv.js",
     529      "_index.Dm4Bynpm.js",
    525530      "_vendor.DSMCY3-_.js"
    526531    ],
     
    536541    ]
    537542  },
    538   "_user.BMSYXHG8.js": {
    539     "file": "user.BMSYXHG8.js",
     543  "_user.DZNd_BkT.js": {
     544    "file": "user.DZNd_BkT.js",
    540545    "name": "user",
    541546    "imports": [
    542       "__plugin-vue_export-helper.BPal9gCL.js",
     547      "__plugin-vue_export-helper.D-Nsc_Tq.js",
    543548      "_vendor.DSMCY3-_.js"
    544549    ]
     
    555560    "isEntry": true,
    556561    "imports": [
    557       "__plugin-vue_export-helper.BPal9gCL.js",
    558       "_vendor.DSMCY3-_.js",
    559       "_PluginUpdate.C7Epye8j.js",
    560       "_user.BMSYXHG8.js"
     562      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     563      "_vendor.DSMCY3-_.js",
     564      "_PluginUpdate.CmVbsX3Y.js",
     565      "_user.DZNd_BkT.js"
    561566    ],
    562567    "css": [
     
    571576    "isEntry": true,
    572577    "imports": [
    573       "__plugin-vue_export-helper.BPal9gCL.js",
    574       "_vendor.DSMCY3-_.js",
    575       "_SubmitJs.lH7hkJex.js",
    576       "_styleConfig.mF4dVrzA.js",
    577       "_PluginUpdate.C7Epye8j.js",
     578      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     579      "_vendor.DSMCY3-_.js",
     580      "_SubmitJs.Cpx6FIAE.js",
     581      "_styleConfig.C0vLR4oO.js",
     582      "_PluginUpdate.CmVbsX3Y.js",
    578583      "_useCopy.CluLpl8Z.js",
    579       "_tooltip.D1R52ez8.js",
    580       "_standard.DaFkfDIs.js",
     584      "_tooltip.B9jEbpOe.js",
     585      "_standard.gtRZLXMO.js",
    581586      "_index.BdhGsZUN.js",
    582       "_useConfirm.BzkUN0E6.js",
     587      "_useConfirm.C3wM7YYe.js",
    583588      "_loading.BdqyMKJZ.js",
    584589      "_number-format.CLdvQh6j.js",
    585       "_index.OXpUu6sz.js",
     590      "_index.QzWxvJng.js",
    586591      "_outsideclick.Bw_hMuzW.js",
    587       "_index.Du3p49kO.js",
     592      "_index.CZOqnZlT.js",
    588593      "_date-format.BrUodQAJ.js",
    589       "_index.CJT61Udz.js",
    590       "_index.CDZjPkAd.js",
    591       "_multiSelect.DM7peOwH.js",
    592       "_checkBox.kH23Q5F_.js",
    593       "_index.CpZgndwv.js",
    594       "_index.BcF03SbQ.js",
    595       "_service.BLsNo1Yg.js",
     594      "_index.06wxuzd0.js",
     595      "_index.kdbg-iyz.js",
     596      "_multiSelect.BF9kJSgT.js",
     597      "_checkBox.BqFG4BHZ.js",
     598      "_index.Dm4Bynpm.js",
     599      "_index.C-Qy-l5j.js",
     600      "_service.BPx6HgYg.js",
    596601      "_index.DAwEVGKX.js",
    597       "_house-format.CUT0UGLt.js",
    598       "_user.BMSYXHG8.js"
     602      "_house-format.66hvz3g4.js",
     603      "_user.DZNd_BkT.js"
    599604    ],
    600605    "css": [
     
    609614    "isEntry": true,
    610615    "imports": [
    611       "__plugin-vue_export-helper.BPal9gCL.js",
    612       "_vendor.DSMCY3-_.js",
    613       "_SubmitJs.lH7hkJex.js",
    614       "_index.CpZgndwv.js",
    615       "_PluginUpdate.C7Epye8j.js",
    616       "_checkBox.kH23Q5F_.js",
    617       "_google.DPK_RKJ0.js",
    618       "_user.BMSYXHG8.js",
    619       "_tooltip.D1R52ez8.js",
     616      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     617      "_vendor.DSMCY3-_.js",
     618      "_SubmitJs.Cpx6FIAE.js",
     619      "_index.Dm4Bynpm.js",
     620      "_PluginUpdate.CmVbsX3Y.js",
     621      "_checkBox.BqFG4BHZ.js",
     622      "_google.CP7r4vmz.js",
     623      "_user.DZNd_BkT.js",
     624      "_tooltip.B9jEbpOe.js",
    620625      "_outsideclick.Bw_hMuzW.js"
    621626    ],
     
    634639    "isEntry": true,
    635640    "imports": [
    636       "__plugin-vue_export-helper.BPal9gCL.js",
    637       "_vendor.DSMCY3-_.js",
    638       "_SubmitJs.lH7hkJex.js",
    639       "_styleConfig.mF4dVrzA.js",
     641      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     642      "_vendor.DSMCY3-_.js",
     643      "_SubmitJs.Cpx6FIAE.js",
     644      "_styleConfig.C0vLR4oO.js",
    640645      "_useCopy.CluLpl8Z.js",
    641646      "_date-format.BrUodQAJ.js",
    642       "_multiSelect.DM7peOwH.js",
    643       "_PluginUpdate.C7Epye8j.js",
     647      "_multiSelect.BF9kJSgT.js",
     648      "_PluginUpdate.CmVbsX3Y.js",
    644649      "_index.DAwEVGKX.js",
    645650      "_index.jjVwSEkV.js",
    646       "_user.BMSYXHG8.js",
     651      "_user.DZNd_BkT.js",
    647652      "_index.BIsjoQ8l.js",
    648       "_standard.DaFkfDIs.js",
    649       "_IconCopy.DdKisG8J.js",
    650       "_number-format.CLdvQh6j.js",
    651       "_index.OXpUu6sz.js",
     653      "_standard.gtRZLXMO.js",
     654      "_IconCopy.Bf0ZYCRd.js",
     655      "_number-format.CLdvQh6j.js",
     656      "_index.QzWxvJng.js",
    652657      "_outsideclick.Bw_hMuzW.js",
    653       "_index.Du3p49kO.js",
    654       "_index.CJT61Udz.js",
    655       "_index.CDZjPkAd.js",
    656       "_index.CpZgndwv.js",
    657       "_index.BcF03SbQ.js",
    658       "_service.BLsNo1Yg.js",
    659       "_house-format.CUT0UGLt.js",
    660       "_checkBox.kH23Q5F_.js",
    661       "_tooltip.D1R52ez8.js"
     658      "_index.CZOqnZlT.js",
     659      "_index.06wxuzd0.js",
     660      "_index.kdbg-iyz.js",
     661      "_index.Dm4Bynpm.js",
     662      "_index.C-Qy-l5j.js",
     663      "_service.BPx6HgYg.js",
     664      "_house-format.66hvz3g4.js",
     665      "_checkBox.BqFG4BHZ.js",
     666      "_tooltip.B9jEbpOe.js"
    662667    ],
    663668    "css": [
     
    678683    "isEntry": true,
    679684    "imports": [
    680       "__plugin-vue_export-helper.BPal9gCL.js",
     685      "__plugin-vue_export-helper.D-Nsc_Tq.js",
    681686      "_module.CKjUdtPN.js",
    682687      "_vendor.DSMCY3-_.js",
    683       "_multiSelect.DM7peOwH.js",
    684       "_index.OXpUu6sz.js",
     688      "_multiSelect.BF9kJSgT.js",
     689      "_index.QzWxvJng.js",
    685690      "_outsideclick.Bw_hMuzW.js",
    686       "_checkBox.kH23Q5F_.js"
     691      "_checkBox.BqFG4BHZ.js"
    687692    ],
    688693    "css": [
     
    701706    "isEntry": true,
    702707    "imports": [
    703       "__plugin-vue_export-helper.BPal9gCL.js",
     708      "__plugin-vue_export-helper.D-Nsc_Tq.js",
    704709      "_vendor.DSMCY3-_.js",
    705710      "_module.CKjUdtPN.js",
    706       "_house-format.CUT0UGLt.js",
    707       "_mls-compliance.C0pTpKuj.js",
    708       "_feature-listing-slider.BlB68n6i.js",
    709       "_houseSlider.4Lv23TM1.js",
    710       "_user.BMSYXHG8.js",
    711       "_popup-trigger.rYjzm3pp.js",
    712       "_popup-mls.0QQMMjaf.js",
    713       "_number-format.CLdvQh6j.js",
    714       "_index.DZeflCfp.js",
    715       "_google.DPK_RKJ0.js",
    716       "_index.CpZgndwv.js",
    717       "_useConfirm.BzkUN0E6.js"
     711      "_house-format.66hvz3g4.js",
     712      "_mls-compliance.CUyE_Kkr.js",
     713      "_feature-listing-slider.K4RTEX_D.js",
     714      "_houseSlider.Cx69CdCm.js",
     715      "_user.DZNd_BkT.js",
     716      "_popup-trigger.sn6NHdGO.js",
     717      "_popup-mls.CCmmPq7_.js",
     718      "_number-format.CLdvQh6j.js",
     719      "_index.CUpw1e8g.js",
     720      "_google.CP7r4vmz.js",
     721      "_reg-verify.CFEt1-g0.js",
     722      "_index.Dm4Bynpm.js",
     723      "_useConfirm.C3wM7YYe.js"
    718724    ],
    719725    "css": [
     
    730736    "isEntry": true,
    731737    "imports": [
    732       "__plugin-vue_export-helper.BPal9gCL.js",
     738      "__plugin-vue_export-helper.D-Nsc_Tq.js",
    733739      "_vendor.DSMCY3-_.js",
    734740      "_module.CKjUdtPN.js",
    735       "_user.BMSYXHG8.js",
    736       "_index.BcF03SbQ.js",
    737       "_icon.B39ECm-d.js",
    738       "_google.DPK_RKJ0.js",
    739       "_index.DZeflCfp.js",
    740       "_number-format.CLdvQh6j.js",
    741       "_tooltip.D1R52ez8.js",
     741      "_user.DZNd_BkT.js",
     742      "_index.C-Qy-l5j.js",
     743      "_icon.DUYsWlSZ.js",
     744      "_google.CP7r4vmz.js",
     745      "_index.CUpw1e8g.js",
     746      "_number-format.CLdvQh6j.js",
     747      "_tooltip.B9jEbpOe.js",
    742748      "_index.DAwEVGKX.js",
    743       "_marker.RpXaiuV5.js",
    744       "_index.CpZgndwv.js",
     749      "_marker.8y9NSRpW.js",
     750      "_reg-verify.CFEt1-g0.js",
     751      "_index.Dm4Bynpm.js",
    745752      "_outsideclick.Bw_hMuzW.js"
    746753    ],
     
    755762    "isEntry": true,
    756763    "imports": [
    757       "__plugin-vue_export-helper.BPal9gCL.js",
     764      "__plugin-vue_export-helper.D-Nsc_Tq.js",
    758765      "_module.CKjUdtPN.js",
    759       "_popup-mls.0QQMMjaf.js",
    760       "_user.BMSYXHG8.js",
    761       "_house-format.CUT0UGLt.js",
    762       "_index.CpZgndwv.js",
    763       "_index.DZeflCfp.js",
    764       "_mls-compliance.C0pTpKuj.js",
    765       "_vendor.DSMCY3-_.js",
    766       "_tooltip.D1R52ez8.js",
    767       "_index.OXpUu6sz.js",
     766      "_popup-mls.CCmmPq7_.js",
     767      "_user.DZNd_BkT.js",
     768      "_house-format.66hvz3g4.js",
     769      "_index.Dm4Bynpm.js",
     770      "_index.CUpw1e8g.js",
     771      "_mls-compliance.CUyE_Kkr.js",
     772      "_vendor.DSMCY3-_.js",
     773      "_tooltip.B9jEbpOe.js",
     774      "_index.QzWxvJng.js",
    768775      "_date-format.BrUodQAJ.js",
    769       "_IconCopy.DdKisG8J.js",
     776      "_IconCopy.Bf0ZYCRd.js",
    770777      "_useCopy.CluLpl8Z.js",
    771       "_index.BcF03SbQ.js",
    772       "_icon.B39ECm-d.js",
    773       "_number-format.CLdvQh6j.js",
    774       "_index.CJTlbLLV.js",
    775       "_popup-trigger.rYjzm3pp.js",
    776       "_auto-login.C-YIkDVx.js",
    777       "_useConfirm.BzkUN0E6.js",
    778       "_google.DPK_RKJ0.js",
     778      "_index.C-Qy-l5j.js",
     779      "_icon.DUYsWlSZ.js",
     780      "_number-format.CLdvQh6j.js",
     781      "_index.D5xvIcLt.js",
     782      "_popup-trigger.sn6NHdGO.js",
     783      "_auto-login.D9gGgNTh.js",
     784      "_useConfirm.C3wM7YYe.js",
     785      "_google.CP7r4vmz.js",
     786      "_reg-verify.CFEt1-g0.js",
    779787      "_outsideclick.Bw_hMuzW.js",
    780       "_marker.RpXaiuV5.js",
    781       "_feature-listing-slider.BlB68n6i.js"
     788      "_marker.8y9NSRpW.js",
     789      "_feature-listing-slider.K4RTEX_D.js"
    782790    ],
    783791    "css": [
     
    791799    "isEntry": true,
    792800    "imports": [
    793       "__plugin-vue_export-helper.BPal9gCL.js",
     801      "__plugin-vue_export-helper.D-Nsc_Tq.js",
    794802      "_module.CKjUdtPN.js",
    795803      "_vendor.DSMCY3-_.js",
    796       "_index.Du3p49kO.js",
     804      "_index.CZOqnZlT.js",
    797805      "_loading.BdqyMKJZ.js",
    798       "_index.BcF03SbQ.js",
    799       "_house-format.CUT0UGLt.js",
    800       "_mls-compliance.C0pTpKuj.js",
    801       "_index.DZeflCfp.js",
    802       "_mobileFilter.BUk6F300.js",
    803       "_index.OXpUu6sz.js",
    804       "_index.CpZgndwv.js",
     806      "_index.C-Qy-l5j.js",
     807      "_house-format.66hvz3g4.js",
     808      "_mls-compliance.CUyE_Kkr.js",
     809      "_index.CUpw1e8g.js",
     810      "_mobileFilter.C_Zcw7Rf.js",
     811      "_index.QzWxvJng.js",
     812      "_index.Dm4Bynpm.js",
    805813      "_index.BIsjoQ8l.js",
    806       "_standard.DaFkfDIs.js",
    807       "_marker.RpXaiuV5.js",
     814      "_standard.gtRZLXMO.js",
     815      "_marker.8y9NSRpW.js",
    808816      "_outsideclick.Bw_hMuzW.js",
    809       "_service.BLsNo1Yg.js",
    810       "_user.BMSYXHG8.js",
    811       "_popup-trigger.rYjzm3pp.js",
    812       "_auto-login.C-YIkDVx.js",
    813       "_popup-mls.0QQMMjaf.js",
     817      "_service.BPx6HgYg.js",
     818      "_user.DZNd_BkT.js",
     819      "_popup-trigger.sn6NHdGO.js",
     820      "_auto-login.D9gGgNTh.js",
     821      "_popup-mls.CCmmPq7_.js",
    814822      "_date-format.BrUodQAJ.js",
    815       "_index.CJT61Udz.js",
     823      "_index.06wxuzd0.js",
    816824      "_index.DAwEVGKX.js",
    817825      "_number-format.CLdvQh6j.js",
    818       "_google.DPK_RKJ0.js",
    819       "_index.CDZjPkAd.js",
    820       "_useConfirm.BzkUN0E6.js"
     826      "_google.CP7r4vmz.js",
     827      "_reg-verify.CFEt1-g0.js",
     828      "_index.kdbg-iyz.js",
     829      "_useConfirm.C3wM7YYe.js"
    821830    ],
    822831    "css": [
     
    830839    "isEntry": true,
    831840    "imports": [
    832       "__plugin-vue_export-helper.BPal9gCL.js",
     841      "__plugin-vue_export-helper.D-Nsc_Tq.js",
    833842      "_vendor.DSMCY3-_.js",
    834843      "_module.CKjUdtPN.js",
    835       "_user.BMSYXHG8.js",
    836       "_popup-mls.0QQMMjaf.js",
    837       "_index.OXpUu6sz.js",
    838       "_index.DZeflCfp.js",
    839       "_index.CpZgndwv.js",
     844      "_user.DZNd_BkT.js",
     845      "_popup-mls.CCmmPq7_.js",
     846      "_index.QzWxvJng.js",
     847      "_index.CUpw1e8g.js",
     848      "_index.Dm4Bynpm.js",
    840849      "_index.BIsjoQ8l.js",
    841850      "_number-format.CLdvQh6j.js",
    842       "_feature-listing-slider.BlB68n6i.js",
    843       "_houseSlider.4Lv23TM1.js",
    844       "_house-format.CUT0UGLt.js",
    845       "_mls-compliance.C0pTpKuj.js",
    846       "_index.CJTlbLLV.js",
    847       "_index.CDZjPkAd.js",
    848       "_useConfirm.BzkUN0E6.js",
     851      "_feature-listing-slider.K4RTEX_D.js",
     852      "_houseSlider.Cx69CdCm.js",
     853      "_house-format.66hvz3g4.js",
     854      "_mls-compliance.CUyE_Kkr.js",
     855      "_index.D5xvIcLt.js",
     856      "_index.kdbg-iyz.js",
     857      "_useConfirm.C3wM7YYe.js",
    849858      "_outsideclick.Bw_hMuzW.js",
    850       "_google.DPK_RKJ0.js"
     859      "_google.CP7r4vmz.js",
     860      "_reg-verify.CFEt1-g0.js"
    851861    ],
    852862    "css": [
    853863      "market-report.css"
     864    ]
     865  },
     866  "src/module/md-password-reset/index.js": {
     867    "file": "md-password-reset.js",
     868    "name": "md-password-reset",
     869    "src": "src/module/md-password-reset/index.js",
     870    "isEntry": true,
     871    "imports": [
     872      "__plugin-vue_export-helper.D-Nsc_Tq.js",
     873      "_vendor.DSMCY3-_.js",
     874      "_index.kdbg-iyz.js",
     875      "_reg-verify.CFEt1-g0.js"
     876    ],
     877    "css": [
     878      "md-password-reset.css"
    854879    ]
    855880  },
     
    860885    "isEntry": true,
    861886    "imports": [
    862       "__plugin-vue_export-helper.BPal9gCL.js",
     887      "__plugin-vue_export-helper.D-Nsc_Tq.js",
    863888      "_vendor.DSMCY3-_.js",
    864889      "_index.jjVwSEkV.js",
    865       "_house-format.CUT0UGLt.js",
    866       "_index.CJTlbLLV.js",
    867       "_index.OXpUu6sz.js",
    868       "_feature-listing-slider.BlB68n6i.js",
     890      "_house-format.66hvz3g4.js",
     891      "_index.D5xvIcLt.js",
     892      "_index.QzWxvJng.js",
     893      "_feature-listing-slider.K4RTEX_D.js",
    869894      "_index.BdhGsZUN.js",
    870       "_index.CpZgndwv.js",
     895      "_index.Dm4Bynpm.js",
    871896      "_date-format.BrUodQAJ.js",
    872       "_standard.DaFkfDIs.js",
     897      "_standard.gtRZLXMO.js",
    873898      "_index.DAwEVGKX.js",
    874       "_mls-compliance.C0pTpKuj.js",
     899      "_mls-compliance.CUyE_Kkr.js",
    875900      "_index.BIsjoQ8l.js",
    876901      "_number-format.CLdvQh6j.js",
    877       "_useConfirm.BzkUN0E6.js",
    878       "_user.BMSYXHG8.js",
    879       "_index.DZeflCfp.js",
     902      "_useConfirm.C3wM7YYe.js",
     903      "_user.DZNd_BkT.js",
     904      "_index.CUpw1e8g.js",
    880905      "_outsideclick.Bw_hMuzW.js",
    881       "_index.CJT61Udz.js",
    882       "_google.DPK_RKJ0.js"
     906      "_index.06wxuzd0.js",
     907      "_google.CP7r4vmz.js",
     908      "_reg-verify.CFEt1-g0.js"
    883909    ],
    884910    "css": [
     
    896922    "isEntry": true,
    897923    "imports": [
    898       "__plugin-vue_export-helper.BPal9gCL.js",
     924      "__plugin-vue_export-helper.D-Nsc_Tq.js",
    899925      "_module.CKjUdtPN.js",
    900926      "_vendor.DSMCY3-_.js",
    901       "_mobileFilter.BUk6F300.js",
    902       "_index.OXpUu6sz.js",
     927      "_mobileFilter.C_Zcw7Rf.js",
     928      "_index.QzWxvJng.js",
    903929      "_outsideclick.Bw_hMuzW.js",
    904       "_index.CpZgndwv.js",
    905       "_index.Du3p49kO.js",
     930      "_index.Dm4Bynpm.js",
     931      "_index.CZOqnZlT.js",
    906932      "_date-format.BrUodQAJ.js",
    907       "_index.CJT61Udz.js",
    908       "_number-format.CLdvQh6j.js",
    909       "_index.CDZjPkAd.js"
     933      "_index.06wxuzd0.js",
     934      "_number-format.CLdvQh6j.js",
     935      "_index.kdbg-iyz.js"
    910936    ],
    911937    "css": [
  • lofty-idx/trunk/assets/admin-customization.js

    r3395454 r3413770  
    1 import{_ as S,h as f}from"./_plugin-vue_export-helper.BPal9gCL.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.C7Epye8j.js";import"./user.BMSYXHG8.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.D-Nsc_Tq.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.CmVbsX3Y.js";import"./user.DZNd_BkT.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

    r3395454 r3413770  
    1 import{_,t as ee,h as L}from"./_plugin-vue_export-helper.BPal9gCL.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.lH7hkJex.js";import{P as pe}from"./index.CpZgndwv.js";import{s as T,P as ge}from"./PluginUpdate.C7Epye8j.js";import{C as F}from"./checkBox.kH23Q5F_.js";import{g as me,F as ce,G as fe,C as z}from"./google.DPK_RKJ0.js";import{g as ve}from"./user.BMSYXHG8.js";import{T as h}from"./tooltip.D1R52ez8.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.D-Nsc_Tq.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.Cpx6FIAE.js";import{P as pe}from"./index.Dm4Bynpm.js";import{s as T,P as ge}from"./PluginUpdate.CmVbsX3Y.js";import{C as F}from"./checkBox.BqFG4BHZ.js";import{g as me,F as ce,G as fe,C as z}from"./google.CP7r4vmz.js";import{g as ve}from"./user.DZNd_BkT.js";import{T as h}from"./tooltip.B9jEbpOe.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.css

    r3393952 r3413770  
    1 .page-url{display:flex;align-items:center;gap:15px}.page-url.readOnly input{background-color:#f0f0f0;border:1px solid #949494;cursor:not-allowed}.suffix{background-color:#fff}.domain{color:#757575;font-size:14px;white-space:nowrap}.separator{color:#666}.action-btns>span.btn>i,.action-btns>i{display:inline-flex;justify-content:center;align-items:center;cursor:pointer}.action-btns{display:flex;align-items:center;gap:15px}.action-btns>i{width:24px;height:24px}.action-btns>i:hover{background-color:#3858e90a;color:#3858e9}.action-btns>span.btn{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border:1px solid #dddddd;cursor:pointer}.action-btns>span.btn>i{font-size:12px!important}.action-btns>span.btn:first-child{color:#cc1818}.action-btns>span.btn:last-child{color:#4ab866}.form-groups[data-v-96cbb891]{padding:22px 20px 20px}.form-group[data-v-96cbb891]{display:flex;flex-direction:column;row-gap:8px;margin-bottom:20px}.form-group input[data-v-96cbb891]{width:max-content}.form-group label[data-v-96cbb891]{width:100px;font-weight:500;font-size:11px;color:#2f2f2f}input[type=text][data-v-96cbb891],select[data-v-96cbb891]{width:100%;height:40px;padding:5px 12px;border:1px solid #949494;border-radius:2px;font-size:14px;box-shadow:none}input[type=text][data-v-96cbb891]:hover,input[type=text][data-v-96cbb891]:focus,select[data-v-96cbb891]:hover,select[data-v-96cbb891]:focus{border-color:#3858e9}.form-groups[data-v-322f86e5]{padding:22px 20px 20px}.form-group[data-v-322f86e5]{display:flex;flex-direction:column;row-gap:8px;margin-bottom:20px}.form-group label[data-v-322f86e5]{width:100px;font-weight:500;font-size:11px;color:#2f2f2f}.form-group .domain[data-v-322f86e5]{color:#757575;font-size:14px;white-space:nowrap}.form-groups[data-v-647c5daa]{padding:22px 20px 20px}.form-group[data-v-647c5daa]{display:flex;flex-direction:column;row-gap:8px;margin-bottom:20px}.form-group input[data-v-647c5daa]{width:max-content}.form-group label[data-v-647c5daa]{width:100px;font-weight:500;font-size:11px;color:#2f2f2f}input[type=text][data-v-647c5daa]{width:100%;height:40px;padding:5px 12px;border:1px solid #949494;border-radius:2px;font-size:14px;box-shadow:none}input[type=text][data-v-647c5daa]:hover,input[type=text][data-v-647c5daa]:focus{border-color:#3858e9}.form-groups[data-v-ee970ace]{padding:22px 20px 20px}.form-group[data-v-ee970ace]{display:flex;flex-direction:column;row-gap:8px;margin-bottom:20px}.form-group input[data-v-ee970ace]{width:max-content}.form-group label[data-v-ee970ace]{width:100px;font-weight:500;font-size:11px;color:#2f2f2f}input[type=text][data-v-ee970ace],select[data-v-ee970ace]{width:100%;height:40px;padding:5px 12px;border:1px solid #949494;border-radius:2px;font-size:14px;box-shadow:none}input[type=text][data-v-ee970ace]:hover,input[type=text][data-v-ee970ace]:focus,select[data-v-ee970ace]:hover,select[data-v-ee970ace]:focus{border-color:#3858e9}.form-groups[data-v-8b1631dc]{padding:22px 20px 20px}.form-group[data-v-8b1631dc]{display:flex;flex-direction:column;row-gap:8px;margin-bottom:20px}.form-group label[data-v-8b1631dc]{width:100px;font-weight:500;font-size:11px;color:#2f2f2f}.form-group .domain[data-v-8b1631dc]{color:#757575;font-size:14px;white-space:nowrap}.form-groups[data-v-bdb4b2d4]{padding:22px 20px 20px}.form-group[data-v-bdb4b2d4]{display:flex;flex-direction:column;row-gap:8px;margin-bottom:20px}.form-group input[data-v-bdb4b2d4]{width:max-content}.form-group label[data-v-bdb4b2d4]{width:100px;font-weight:500;font-size:11px;color:#2f2f2f}.icon-mark{color:#ccc;width:14px;height:14px;position:relative;top:2px}.report-list-title{display:flex;align-items:center;gap:10px}.report-list-table{border:solid 1px #e0e0e0;position:relative}.report-list-table .search-title{display:flex;align-items:center;padding:10px}.report-list-table .search-title input{height:32px;width:300px;padding-right:100px;border-color:transparent;background:#f0f0f0}.report-list-table .search-title input::placeholder{color:#757575;font-size:12px}.report-list-table .search-title .lofty-icon-search{cursor:pointer;position:relative;right:30px}.report-list-table .search-title .add-report-btn{width:160px;height:32px;margin-left:auto;display:flex;align-items:center;justify-content:center;color:#3858e9;border:solid 1px #3858E9;border-radius:2px;cursor:pointer}.report-list-table .search-title .add-report-btn .plus-icon{position:relative;font-size:1.2rem;margin-right:5px}.report-list-table .list-header,.report-list-table .list-row{border-top:solid 1px #e0e0e0;height:44px;line-height:44px;display:flex;font-weight:700;color:#2f2f2f}.report-list-table .list-header .header-title,.report-list-table .list-row .header-title{width:100px;padding-left:10px;flex:1;border-right:solid 1px #e0e0e0}.report-list-table .list-header .header-title .lofty-tooltip-wrapper,.report-list-table .list-row .header-title .lofty-tooltip-wrapper{width:100%}.report-list-table .list-header .header-title .lofty-tooltip-wrapper .trigger,.report-list-table .list-row .header-title .lofty-tooltip-wrapper .trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-list-table .list-header .header-title .lofty-tooltip-wrapper .lofty-tooltip,.report-list-table .list-row .header-title .lofty-tooltip-wrapper .lofty-tooltip{max-width:100%;left:-12px}.report-list-table .list-header .header-subscribe,.report-list-table .list-row .header-subscribe{width:220px;text-align:center;border-right:solid 1px #e0e0e0}.report-list-table .list-header .header-display,.report-list-table .list-row .header-display{width:200px;text-align:center;border-right:solid 1px #e0e0e0}.report-list-table .list-header .header-display .lofty-switch.on,.report-list-table .list-row .header-display .lofty-switch.on{background:#3858e9}.report-list-table .list-header .header-operation,.report-list-table .list-row .header-operation{width:160px;text-align:center}.report-list-table .list-header .header-operation .icon,.report-list-table .list-row .header-operation .icon{cursor:pointer}.report-list-table .list-header .header-operation .icon-view,.report-list-table .list-row .header-operation .icon-view{margin-right:20px;position:relative;top:5px}.report-list-table .list-body{position:relative}.report-list-table .list-body .list-row{font-weight:400}.report-list-table .list-body .no-report-data{border-top:solid 1px #e0e0e0;height:200px;display:flex;align-items:center;justify-content:center}.report-list-table .has-pagination .list-row:last-child{border-bottom:solid 1px #e0e0e0}.lofty-admin-container[data-v-4b01a1b1]{display:flex;gap:20px;max-height:100%;height:100%;padding-top:20px;box-sizing:border-box}.lofty-admin-container .main-content[data-v-4b01a1b1]{flex:1;padding-right:20px}
     1.page-url{display:flex;align-items:center;gap:15px}.page-url.readOnly input{background-color:#f0f0f0;border:1px solid #949494;cursor:not-allowed}.suffix{background-color:#fff}.domain{color:#757575;font-size:14px;white-space:nowrap}.separator{color:#666}.action-btns>span.btn>i,.action-btns>i{display:inline-flex;justify-content:center;align-items:center;cursor:pointer}.action-btns{display:flex;align-items:center;gap:15px}.action-btns>i{width:24px;height:24px}.action-btns>i:hover{background-color:#3858e90a;color:#3858e9}.action-btns>span.btn{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border:1px solid #dddddd;cursor:pointer}.action-btns>span.btn>i{font-size:12px!important}.action-btns>span.btn:first-child{color:#cc1818}.action-btns>span.btn:last-child{color:#4ab866}.form-groups[data-v-96cbb891]{padding:22px 20px 20px}.form-group[data-v-96cbb891]{display:flex;flex-direction:column;row-gap:8px;margin-bottom:20px}.form-group input[data-v-96cbb891]{width:max-content}.form-group label[data-v-96cbb891]{width:100px;font-weight:500;font-size:11px;color:#2f2f2f}input[type=text][data-v-96cbb891],select[data-v-96cbb891]{width:100%;height:40px;padding:5px 12px;border:1px solid #949494;border-radius:2px;font-size:14px;box-shadow:none}input[type=text][data-v-96cbb891]:hover,input[type=text][data-v-96cbb891]:focus,select[data-v-96cbb891]:hover,select[data-v-96cbb891]:focus{border-color:#3858e9}.form-groups[data-v-322f86e5]{padding:22px 20px 20px}.form-group[data-v-322f86e5]{display:flex;flex-direction:column;row-gap:8px;margin-bottom:20px}.form-group label[data-v-322f86e5]{width:100px;font-weight:500;font-size:11px;color:#2f2f2f}.form-group .domain[data-v-322f86e5]{color:#757575;font-size:14px;white-space:nowrap}.form-groups[data-v-647c5daa]{padding:22px 20px 20px}.form-group[data-v-647c5daa]{display:flex;flex-direction:column;row-gap:8px;margin-bottom:20px}.form-group input[data-v-647c5daa]{width:max-content}.form-group label[data-v-647c5daa]{width:100px;font-weight:500;font-size:11px;color:#2f2f2f}input[type=text][data-v-647c5daa]{width:100%;height:40px;padding:5px 12px;border:1px solid #949494;border-radius:2px;font-size:14px;box-shadow:none}input[type=text][data-v-647c5daa]:hover,input[type=text][data-v-647c5daa]:focus{border-color:#3858e9}.form-groups[data-v-ee970ace]{padding:22px 20px 20px}.form-group[data-v-ee970ace]{display:flex;flex-direction:column;row-gap:8px;margin-bottom:20px}.form-group input[data-v-ee970ace]{width:max-content}.form-group label[data-v-ee970ace]{width:100px;font-weight:500;font-size:11px;color:#2f2f2f}input[type=text][data-v-ee970ace],select[data-v-ee970ace]{width:100%;height:40px;padding:5px 12px;border:1px solid #949494;border-radius:2px;font-size:14px;box-shadow:none}input[type=text][data-v-ee970ace]:hover,input[type=text][data-v-ee970ace]:focus,select[data-v-ee970ace]:hover,select[data-v-ee970ace]:focus{border-color:#3858e9}.form-groups[data-v-8b1631dc]{padding:22px 20px 20px}.form-group[data-v-8b1631dc]{display:flex;flex-direction:column;row-gap:8px;margin-bottom:20px}.form-group label[data-v-8b1631dc]{width:100px;font-weight:500;font-size:11px;color:#2f2f2f}.form-group .domain[data-v-8b1631dc]{color:#757575;font-size:14px;white-space:nowrap}.form-groups[data-v-bdb4b2d4]{padding:22px 20px 20px}.form-group[data-v-bdb4b2d4]{display:flex;flex-direction:column;row-gap:8px;margin-bottom:20px}.form-group input[data-v-bdb4b2d4]{width:max-content}.form-group label[data-v-bdb4b2d4]{width:100px;font-weight:500;font-size:11px;color:#2f2f2f}.icon-mark{color:#ccc;width:14px;height:14px;position:relative;top:2px}.report-list-title{display:flex;align-items:center;gap:10px}.report-list-table{border:solid 1px #e0e0e0;position:relative}.report-list-table .search-title{display:flex;align-items:center;padding:10px}.report-list-table .search-title input{height:32px;width:300px;padding-right:100px;border-color:transparent;background:#f0f0f0}.report-list-table .search-title input::placeholder{color:#757575;font-size:12px}.report-list-table .search-title .lofty-icon-search{cursor:pointer;position:relative;right:30px}.report-list-table .search-title .add-report-btn{width:160px;height:32px;margin-left:auto;display:flex;align-items:center;justify-content:center;color:#3858e9;border:solid 1px #3858E9;border-radius:2px;cursor:pointer}.report-list-table .search-title .add-report-btn .plus-icon{position:relative;font-size:1.2rem;margin-right:5px}.report-list-table .list-header,.report-list-table .list-row{border-top:solid 1px #e0e0e0;height:44px;line-height:44px;display:flex;font-weight:700;color:#2f2f2f}.report-list-table .list-header .header-title,.report-list-table .list-row .header-title{width:100px;padding-left:10px;flex:1;border-right:solid 1px #e0e0e0}.report-list-table .list-header .header-title .lofty-tooltip-wrapper,.report-list-table .list-row .header-title .lofty-tooltip-wrapper{width:100%}.report-list-table .list-header .header-title .lofty-tooltip-wrapper .trigger,.report-list-table .list-row .header-title .lofty-tooltip-wrapper .trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-list-table .list-header .header-title .lofty-tooltip-wrapper .lofty-tooltip,.report-list-table .list-row .header-title .lofty-tooltip-wrapper .lofty-tooltip{max-width:100%;left:-12px}.report-list-table .list-header .header-subscribe,.report-list-table .list-row .header-subscribe{width:220px;text-align:center;border-right:solid 1px #e0e0e0}.report-list-table .list-header .header-display,.report-list-table .list-row .header-display{width:200px;text-align:center;border-right:solid 1px #e0e0e0}.report-list-table .list-header .header-display .lofty-switch.on,.report-list-table .list-row .header-display .lofty-switch.on{background:#3858e9}.report-list-table .list-header .header-operation,.report-list-table .list-row .header-operation{width:160px;text-align:center}.report-list-table .list-header .header-operation .icon,.report-list-table .list-row .header-operation .icon{cursor:pointer}.report-list-table .list-header .header-operation .icon-view,.report-list-table .list-row .header-operation .icon-view{margin-right:20px;position:relative;top:5px}.report-list-table .list-body{position:relative}.report-list-table .list-body .list-row{font-weight:400}.report-list-table .list-body .no-report-data{border-top:solid 1px #e0e0e0;height:200px;display:flex;align-items:center;justify-content:center}.report-list-table .has-pagination .list-row:last-child{border-bottom:solid 1px #e0e0e0}.form-groups[data-v-e08939c0]{padding:22px 20px 20px}.form-group[data-v-e08939c0]{display:flex;flex-direction:column;row-gap:8px;margin-bottom:20px}.form-group input[data-v-e08939c0]{width:max-content}.form-group label[data-v-e08939c0]{width:100px;font-weight:500;font-size:11px;color:#2f2f2f}.lofty-admin-container[data-v-4b01a1b1]{display:flex;gap:20px;max-height:100%;height:100%;padding-top:20px;box-sizing:border-box}.lofty-admin-container .main-content[data-v-4b01a1b1]{flex:1;padding-right:20px}
  • lofty-idx/trunk/assets/admin-search.js

    r3395454 r3413770  
    1 import{_ as G,h as _,d as me}from"./_plugin-vue_export-helper.BPal9gCL.js";/* empty css               */import{o as k,g as N,e,K as fe,L as ve,r as f,c as D,p as ye,F as W,f as K,t as A,u as g,q as Y,v as X,j as re,y as F,G as Z,k as M,U as ae,d as B,w as V,z as j,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 z,P as J,m as ie,J as _e,S as Te}from"./SubmitJs.lH7hkJex.js";import{M as q,L as ge,a as se,S as Se,I as le,b as Ve,c as Le}from"./styleConfig.mF4dVrzA.js";import{s as $,P as ke}from"./PluginUpdate.C7Epye8j.js";import{u as $e}from"./useCopy.CluLpl8Z.js";import{T as te}from"./tooltip.D1R52ez8.js";import{p as Pe}from"./standard.DaFkfDIs.js";import{_ as Ee}from"./index.BdhGsZUN.js";import{u as Re}from"./useConfirm.BzkUN0E6.js";import{s as Ue}from"./loading.BdqyMKJZ.js";import"./number-format.CLdvQh6j.js";import"./index.OXpUu6sz.js";import"./outsideclick.Bw_hMuzW.js";import"./index.Du3p49kO.js";import"./date-format.BrUodQAJ.js";import"./index.CJT61Udz.js";import"./index.CDZjPkAd.js";import"./multiSelect.DM7peOwH.js";import"./checkBox.kH23Q5F_.js";import"./index.CpZgndwv.js";import"./index.BcF03SbQ.js";import"./service.BLsNo1Yg.js";import"./index.DAwEVGKX.js";import"./house-format.CUT0UGLt.js";import"./user.BMSYXHG8.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 k(),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=G(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 o=ve(P,"modelValue"),t=f(!0),w=D(()=>{var v;return(v=P.pageConfig.domain)!=null&&v.startsWith("http")?P.pageConfig.domain:"https://"+P.pageConfig.domain});ye(()=>P.initialVal,v=>{o.value=v});const L=()=>{t.value=!0,o.value=P.initialVal},E=()=>{t.value=!0},y=()=>{window.open(`${w.value}/${o.value}`,"_blank")},{copyCode:c}=$e(),b=()=>{c(`${w.value}/${o.value}`)};return a({cancel:L,confirm:E}),(v,T)=>(k(),N("div",{class:F(["page-url",{readOnly:t.value}])},[P.initialVal?(k(),N(W,{key:1},[e("span",Ae,[K(A(g(w))+" ",1),T[2]||(T[2]=e("span",{class:"separator"},"/",-1))]),Y(e("input",{type:"text","onUpdate:modelValue":T[0]||(T[0]=H=>o.value=H),readonly:t.value,class:"suffix"},null,8,Fe),[[X,o.value]]),e("div",Oe,[t.value?(k(),N(W,{key:0},[P.canEdit?(k(),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)):(k(),N(W,{key:1},[e("span",{class:"btn",onClick:L},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)):(k(),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 o=f({}),t=f(""),w=M("page-url"),L=M("listingRef");async function E(){var l,i;const s="/wp-plugin/admin/listing-search/searchCondition/init-info";try{const r=await _.get(s);if(((l=r==null?void 0:r.status)==null?void 0:l.code)!==0)throw new Error(`HTTP error! status: ${(i=r==null?void 0:r.status)==null?void 0:i.msg}`);const n=r.data,{allListingId:d,pluginPage:m={},allListingValues:h=[],sort:S}=n,x={pageName:"Property Search",uri:"listing",layout:"map-grid",metaTagHtml:""};o.value=ie({...m,id:d,sort:S},x,{overrideEmpty:!0}),t.value=o.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(r){console.error("Error fetching initial page info:",r)}}const y=f(!1);ae(async()=>{y.value=!0;try{await E()}catch(s){$("Error fetching page info:"+s.message,{err:!0})}finally{y.value=!1}});const c=f(!1),b=D(()=>{var s,l,i;return!((s=o.value)!=null&&s.id)||!((l=o.value)!=null&&l.pageName)||c.value||!((i=o.value)!=null&&i.uri)}),v=D(()=>y.value||c.value),T=M("metaTags");async function H(){var d,m;const{pageName:s,layout:l,metaTagHtml:i,uri:r}=o.value,n=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"search",pageName:s,metaTag:T.value.getValueString(),metaTagHtml:i,layout:l,uri:r}});if(((d=n==null?void 0:n.status)==null?void 0:d.code)!==0)throw new Error((m=n==null?void 0:n.status)==null?void 0:m.msg);n.data&&(o.value={...o.value,pageName:s,metaTagHtml:i,layout:l,uri:r},t.value=r)}async function R(){var r,n;const s=a.value.map(d=>{const m=ne(d);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),l={id:o.value.id,name:"All Listings",sort:L.value.sortCondition,listingType:1,values:s},i=await _.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:l});if(((r=i==null?void 0:i.status)==null?void 0:r.code)!==0)throw new Error((n=i==null?void 0:i.status)==null?void 0:n.msg)}async function C(){await _.get("/update-routes")}async function u(){if(!b.value){w.value.confirm();try{c.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{c.value=!1}}}return(s,l)=>(k(),B(J,{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:V(()=>[e("button",{class:F(["btn-save",{disable:g(b)}]),onClick:j(u,["prevent"])},A(c.value?"Saving..":"Save"),3)]),default:V(()=>[e("div",Ke,[e("div",Ge,[l[4]||(l[4]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":l[0]||(l[0]=i=>o.value.pageName=i),class:"page-name",maxlength:"100",readonly:g(v)},null,8,Be),[[X,o.value.pageName]])]),e("div",je,[l[5]||(l[5]=e("label",null,"PAGE URL",-1)),p(Q,{modelValue:o.value.uri,"onUpdate:modelValue":l[1]||(l[1]=i=>o.value.uri=i),"page-config":o.value,"initial-val":t.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(q,{class:"form-group",ref:"metaTags",modelValue:o.value.metaTagHtml,"onUpdate:modelValue":l[2]||(l[2]=i=>o.value.metaTagHtml=i),readonly:g(v)},null,8,["modelValue","readonly"]),e("div",ze,[l[6]||(l[6]=e("label",null,"LAYOUT",-1)),p(ge,{modelValue:o.value.layout,"onUpdate:modelValue":l[3]||(l[3]=i=>o.value.layout=i)},null,8,["modelValue"])])]),p(se,{"site-config":o.value,ref:"listingRef"},null,8,["site-config"]),p(z,{loading:y.value},null,8,["loading"])]),_:1}))}},qe=G(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:""}),o=f(!1),t=f(!1),w=D(()=>o.value||t.value),L=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 c(){if(!w.value)try{o.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{o.value=!1}}return(b,v)=>(k(),B(J,{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
    2         and view it through the Search Page or other IDX pages. However, you can set the Meta tags below to optimize SEO.`},{button:V(()=>[e("button",{class:F(["btn-save",{disable:g(w)}]),onClick:j(c,["prevent"])},A(g(o)?"Saving..":"Save"),3)]),default:V(()=>[e("div",Ye,[e("div",Xe,[v[1]||(v[1]=e("label",null,"PAGE URL",-1)),e("input",{type:"text",value:g(L),readonly:"",class:"suffix"},null,8,We)]),p(q,{class:"form-group",ref:"metaTags",type:"listingDetail",modelValue:g(a).metaTagHtml,"onUpdate:modelValue":v[0]||(v[0]=T=>g(a).metaTagHtml=T)},null,8,["modelValue"]),p(z,{loading:g(t)},null,8,["loading"])])]),_:1}))}},Qe=G(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 o=f({}),t=f({}),w=f(""),L=M("page-url");async function E(){var d,m;const n="/wp-plugin/admin/featured-listing/init-info";try{const h=await _.get(n);if(((d=h==null?void 0:h.status)==null?void 0:d.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;o.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);ae(async()=>{y.value=!0;try{await E()}catch(n){console.error("Error fetching page info:",n.message),$("Error fetching page info:"+n.message,{err:!0})}finally{y.value=!1}});const c=f(!1),b=D(()=>{var n,d,m;return!((n=t.value)!=null&&n.id)||!((d=t.value)!=null&&d.pageName)||c.value||!((m=t.value)!=null&&m.uri)}),v=D(()=>y.value||c.value),T=M("metaTags"),H=M("listingRef");async function R(){var x,U;const{pageName:n,metaTagHtml:d,layout:m,uri:h}=t.value,S=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"featured_listing",pageName:n,metaTag:T.value.getValueString(),metaTagHtml:d,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:n,metaTagHtml:d,layout:m,uri:h},w.value=h)}async function C(){var h,S;const n=a.value.map(x=>({data:ne(x).data||{},onlyId:oe()})).filter(Boolean),d={id:t.value.id,name:t.value.name,sort:H.value.sortCondition,listingType:1,values:n},m=await _.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:d});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 u=f({});function s(n){u.value=n}async function l(){var d,m,h;const n=await _.post("/wp-plugin/admin/common/page/page-config/update/FEATURED_LISTING",{data:{...u.value}});if(((d=n==null?void 0:n.status)==null?void 0:d.code)!==0)throw new Error((m=n==null?void 0:n.status)==null?void 0:m.msg);n.data&&(t.value.styleConfig=((h=n.data)==null?void 0:h.pageConfigMap)||{})}async function i(){await _.get("/update-routes")}async function r(){if(!b.value){L.value.confirm();try{c.value=!0;let n=[R(),C()];Object.keys(u.value).length>0&&n.push(l()),await Promise.all(n),await i(),$("Saved Successfully")}catch(n){console.error("Error save page:",n),$("Save failed. Please try again.",{duration:3e3,err:!0})}finally{c.value=!1}}}return(n,d)=>(k(),B(J,{title:"Featured Listings",description:`Create and display a curated selection of featured properties on IDX
     1import{_ as O,h as C,d as me}from"./_plugin-vue_export-helper.D-Nsc_Tq.js";/* empty css               */import{o as $,g as N,e,K as fe,L as ve,r as f,c as D,p as ye,F as Z,f as B,t as A,u as g,q as Y,v as W,j as re,y as F,G as Q,k as x,U as ae,d as G,w as V,z as j,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 q,P as z,m as ie,J as _e,S as Te}from"./SubmitJs.Cpx6FIAE.js";import{M as J,L as ge,a as se,S as Se,I as le,b as Ve,c as Le}from"./styleConfig.C0vLR4oO.js";import{s as k,P as ke}from"./PluginUpdate.CmVbsX3Y.js";import{u as Pe}from"./useCopy.CluLpl8Z.js";import{T as te}from"./tooltip.B9jEbpOe.js";import{p as $e}from"./standard.gtRZLXMO.js";import{_ as Re}from"./index.BdhGsZUN.js";import{u as Ee}from"./useConfirm.C3wM7YYe.js";import{s as Ue}from"./loading.BdqyMKJZ.js";import"./number-format.CLdvQh6j.js";import"./index.QzWxvJng.js";import"./outsideclick.Bw_hMuzW.js";import"./index.CZOqnZlT.js";import"./date-format.BrUodQAJ.js";import"./index.06wxuzd0.js";import"./index.kdbg-iyz.js";import"./multiSelect.BF9kJSgT.js";import"./checkBox.BqFG4BHZ.js";import"./index.Dm4Bynpm.js";import"./index.C-Qy-l5j.js";import"./service.BPx6HgYg.js";import"./index.DAwEVGKX.js";import"./house-format.66hvz3g4.js";import"./user.DZNd_BkT.js";const He={},xe={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Me(R,l){return $(),N("svg",xe,l[0]||(l[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=O(He,[["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},{title:"Password Reset",path:"password-reset",component:"PasswordReset",visible:!0}]}],Ne={key:0},Ae={class:"domain"},Fe=["readonly"],Oe={class:"action-btns"},X={__name:"PageUrl",props:fe({initialVal:String,canEdit:{type:Boolean,default:!0},pageConfig:{type:Object,default:()=>({})}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(R,{expose:l}){const a=ve(R,"modelValue"),t=f(!0),w=D(()=>{var y;return(y=R.pageConfig.domain)!=null&&y.startsWith("http")?R.pageConfig.domain:"https://"+R.pageConfig.domain});ye(()=>R.initialVal,y=>{a.value=y});const L=()=>{t.value=!0,a.value=R.initialVal},P=()=>{t.value=!0},m=()=>{window.open(`${w.value}/${a.value}`,"_blank")},{copyCode:s}=Pe(),h=()=>{s(`${w.value}/${a.value}`)};return l({cancel:L,confirm:P}),(y,T)=>($(),N("div",{class:F(["page-url",{readOnly:t.value}])},[R.initialVal?($(),N(Z,{key:1},[e("span",Ae,[B(A(g(w))+" ",1),T[2]||(T[2]=e("span",{class:"separator"},"/",-1))]),Y(e("input",{type:"text","onUpdate:modelValue":T[0]||(T[0]=M=>a.value=M),readonly:t.value,class:"suffix"},null,8,Fe),[[W,a.value]]),e("div",Oe,[t.value?($(),N(Z,{key:0},[R.canEdit?($(),N("i",{key:0,class:"lofty_iconfont lofty-icon-edit font-16",onClick:T[1]||(T[1]=M=>t.value=!1)})):re("",!0),e("i",{class:"lofty_iconfont lofty-icon-website font-16",onClick:m})],64)):($(),N(Z,{key:1},[e("span",{class:"btn",onClick:L},T[3]||(T[3]=[e("i",{class:"lofty_iconfont lofty-icon-cancel_bold"},null,-1)])),e("span",{class:"btn",onClick:P},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:h})])],64)):($(),N("div",Ne,"Loading page url.."))],2))}},Ge={class:"form-groups"},Ke={class:"form-group"},Be=["readonly"],je={class:"form-group"},qe={class:"form-group"},ze={__name:"index",setup(R){const l=f([]);Q("allConditions",l);const a=f({}),t=f(""),w=x("page-url"),L=x("listingRef");async function P(){var n,i;const r="/wp-plugin/admin/listing-search/searchCondition/init-info";try{const u=await C.get(r);if(((n=u==null?void 0:u.status)==null?void 0:n.code)!==0)throw new Error(`HTTP error! status: ${(i=u==null?void 0:u.status)==null?void 0:i.msg}`);const o=u.data,{allListingId:c,pluginPage:v={},allListingValues:b=[],sort:S}=o,H={pageName:"Property Search",uri:"listing",layout:"map-grid",metaTagHtml:""};a.value=ie({...v,id:c,sort:S},H,{overrideEmpty:!0}),t.value=a.value.uri,l.value=b.map(U=>{var K;const I=Object.keys(U.data);return"orderKeys"in U?((K=U.orderKeys)==null?void 0:K.length)!==I.length?{...U,orderKeys:I}:U:{...U,orderKeys:I}})}catch(u){console.error("Error fetching initial page info:",u)}}const m=f(!1);ae(async()=>{m.value=!0;try{await P()}catch(r){k("Error fetching page info:"+r.message,{err:!0})}finally{m.value=!1}});const s=f(!1),h=D(()=>{var r,n,i;return!((r=a.value)!=null&&r.id)||!((n=a.value)!=null&&n.pageName)||s.value||!((i=a.value)!=null&&i.uri)}),y=D(()=>m.value||s.value),T=x("metaTags");async function M(){var c,v;const{pageName:r,layout:n,metaTagHtml:i,uri:u}=a.value,o=await C.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"search",pageName:r,metaTag:T.value.getValueString(),metaTagHtml:i,layout:n,uri:u}});if(((c=o==null?void 0:o.status)==null?void 0:c.code)!==0)throw new Error((v=o==null?void 0:o.status)==null?void 0:v.msg);o.data&&(a.value={...a.value,pageName:r,metaTagHtml:i,layout:n,uri:u},t.value=u)}async function E(){var u,o;const r=l.value.map(c=>{const v=ne(c);let{data:b={},orderKeys:S=[]}=v;const H=Object.keys(b);return S=S.filter(U=>H.includes(U)),{data:b,onlyId:oe(),orderKeys:S}}).filter(Boolean),n={id:a.value.id,name:"All Listings",sort:L.value.sortCondition,listingType:1,values:r},i=await C.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:n});if(((u=i==null?void 0:i.status)==null?void 0:u.code)!==0)throw new Error((o=i==null?void 0:i.status)==null?void 0:o.msg)}async function _(){await C.get("/update-routes")}async function d(){if(!h.value){w.value.confirm();try{s.value=!0,await Promise.all([M(),E()]),await _(),k("Saved Successfully")}catch(r){console.error("Error save page:",r),k("Error save page:"+r.message,{err:!0})}finally{s.value=!1}}}return(r,n)=>($(),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:V(()=>[e("button",{class:F(["btn-save",{disable:g(h)}]),onClick:j(d,["prevent"])},A(s.value?"Saving..":"Save"),3)]),default:V(()=>[e("div",Ge,[e("div",Ke,[n[4]||(n[4]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":n[0]||(n[0]=i=>a.value.pageName=i),class:"page-name",maxlength:"100",readonly:g(y)},null,8,Be),[[W,a.value.pageName]])]),e("div",je,[n[5]||(n[5]=e("label",null,"PAGE URL",-1)),p(X,{modelValue:a.value.uri,"onUpdate:modelValue":n[1]||(n[1]=i=>a.value.uri=i),"page-config":a.value,"initial-val":t.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(J,{class:"form-group",ref:"metaTags",modelValue:a.value.metaTagHtml,"onUpdate:modelValue":n[2]||(n[2]=i=>a.value.metaTagHtml=i),readonly:g(y)},null,8,["modelValue","readonly"]),e("div",qe,[n[6]||(n[6]=e("label",null,"LAYOUT",-1)),p(ge,{modelValue:a.value.layout,"onUpdate:modelValue":n[3]||(n[3]=i=>a.value.layout=i)},null,8,["modelValue"])])]),p(se,{"site-config":a.value,ref:"listingRef"},null,8,["site-config"]),p(q,{loading:m.value},null,8,["loading"])]),_:1}))}},Je=O(ze,[["__scopeId","data-v-96cbb891"]]),Ye={class:"form-groups"},We={class:"form-group"},Xe=["value"],Ze={__name:"index",setup(R){const l=ue({domain:"",uri:"",metaTagHtml:""}),a=f(!1),t=f(!1),w=D(()=>a.value||t.value),L=D(()=>`https://${l.domain}/${l.uri}`);P();async function P(){t.value=!0;const y=(await C.get("/wp-plugin/admin/listing-detail/active-init-info")).data.pluginPage;l.domain=y.domain,l.metaTagHtml=y.metaTagHtml||"",l.uri=y.uri,t.value=!1}const m=x("metaTags");async function s(){if(!w.value)try{a.value=!0,await C.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"listing_detail",metaTag:m.value.getValueString(),metaTagHtml:l.metaTagHtml}}),k("Saved Successfully")}catch(h){console.error("Error save page:",h),k("Error save page:"+h.message,{err:!0})}finally{a.value=!1}}return(h,y)=>($(),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
     2        and view it through the Search Page or other IDX pages. However, you can set the Meta tags below to optimize SEO.`},{button:V(()=>[e("button",{class:F(["btn-save",{disable:g(w)}]),onClick:j(s,["prevent"])},A(g(a)?"Saving..":"Save"),3)]),default:V(()=>[e("div",Ye,[e("div",We,[y[1]||(y[1]=e("label",null,"PAGE URL",-1)),e("input",{type:"text",value:g(L),readonly:"",class:"suffix"},null,8,Xe)]),p(J,{class:"form-group",ref:"metaTags",type:"listingDetail",modelValue:g(l).metaTagHtml,"onUpdate:modelValue":y[0]||(y[0]=T=>g(l).metaTagHtml=T)},null,8,["modelValue"]),p(q,{loading:g(t)},null,8,["loading"])])]),_:1}))}},Qe=O(Ze,[["__scopeId","data-v-322f86e5"]]),et={class:"form-groups"},tt={class:"form-group"},at=["readonly"],lt={class:"form-group"},nt={__name:"index",setup(R){const l=f([]);Q("allConditions",l);const a=f({}),t=f({}),w=f(""),L=x("page-url");async function P(){var c,v;const o="/wp-plugin/admin/featured-listing/init-info";try{const b=await C.get(o);if(((c=b==null?void 0:b.status)==null?void 0:c.code)!==0)throw new Error(`HTTP error! status: ${(v=b==null?void 0:b.status)==null?void 0:v.msg}`);const S=b.data,{featureListingId:H,featureListingName:U,pluginPage:I={},pageConfigMap:K={},featuredListingValue:ee=[],sort:ce}=S;a.value=S;const pe={pageName:"Featured Listings Page",uri:"feature-listing",layout:"map-grid",metaTagHtml:""};t.value=ie({...I,id:H,name:U,styleConfig:K,sort:ce},pe,{overrideEmpty:!0}),w.value=t.value.uri,l.value=ee}catch(b){console.error("Error fetching initial page info:",b)}}const m=f(!1);ae(async()=>{m.value=!0;try{await P()}catch(o){console.error("Error fetching page info:",o.message),k("Error fetching page info:"+o.message,{err:!0})}finally{m.value=!1}});const s=f(!1),h=D(()=>{var o,c,v;return!((o=t.value)!=null&&o.id)||!((c=t.value)!=null&&c.pageName)||s.value||!((v=t.value)!=null&&v.uri)}),y=D(()=>m.value||s.value),T=x("metaTags"),M=x("listingRef");async function E(){var H,U;const{pageName:o,metaTagHtml:c,layout:v,uri:b}=t.value,S=await C.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"featured_listing",pageName:o,metaTag:T.value.getValueString(),metaTagHtml:c,layout:v,uri:b}});if(((H=S==null?void 0:S.status)==null?void 0:H.code)!==0)throw new Error((U=S==null?void 0:S.status)==null?void 0:U.msg);S.data&&(t.value={...t.value,pageName:o,metaTagHtml:c,layout:v,uri:b},w.value=b)}async function _(){var b,S;const o=l.value.map(H=>({data:ne(H).data||{},onlyId:oe()})).filter(Boolean),c={id:t.value.id,name:t.value.name,sort:M.value.sortCondition,listingType:1,values:o},v=await C.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:c});if(((b=v==null?void 0:v.status)==null?void 0:b.code)!==0)throw new Error((S=v==null?void 0:v.status)==null?void 0:S.msg)}let d=f({});function r(o){d.value=o}async function n(){var c,v,b;const o=await C.post("/wp-plugin/admin/common/page/page-config/update/FEATURED_LISTING",{data:{...d.value}});if(((c=o==null?void 0:o.status)==null?void 0:c.code)!==0)throw new Error((v=o==null?void 0:o.status)==null?void 0:v.msg);o.data&&(t.value.styleConfig=((b=o.data)==null?void 0:b.pageConfigMap)||{})}async function i(){await C.get("/update-routes")}async function u(){if(!h.value){L.value.confirm();try{s.value=!0;let o=[E(),_()];Object.keys(d.value).length>0&&o.push(n()),await Promise.all(o),await i(),k("Saved Successfully")}catch(o){console.error("Error save page:",o),k("Save failed. Please try again.",{duration:3e3,err:!0})}finally{s.value=!1}}}return(o,c)=>($(),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
    4               lead generation.`},{button:V(()=>[e("button",{class:F(["btn-save",{disable:g(b)}]),onClick:j(r,["prevent"])},A(c.value?"Saving..":"Save"),3)]),default:V(()=>[e("div",et,[e("div",tt,[d[3]||(d[3]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":d[0]||(d[0]=m=>t.value.pageName=m),class:"page-name",maxlength:"100",readonly:g(v)},null,8,at),[[X,t.value.pageName]])]),e("div",lt,[d[4]||(d[4]=e("label",null,"PAGE URL",-1)),p(Q,{modelValue:t.value.uri,"onUpdate:modelValue":d[1]||(d[1]=m=>t.value.uri=m),"page-config":t.value,"initial-val":w.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(q,{class:"form-group",ref:"metaTags",modelValue:t.value.metaTagHtml,"onUpdate:modelValue":d[2]||(d[2]=m=>t.value.metaTagHtml=m)},null,8,["modelValue"])]),p(se,{"site-config":t.value,ref:"listingRef"},null,8,["site-config"]),p(Se,{config:t.value.styleConfig,onUpdate:s},null,8,["config"]),p(z,{loading:y.value},null,8,["loading"])]),_:1}))}},ot=G(nt,[["__scopeId","data-v-647c5daa"]]),it={class:"form-groups"},st={class:"form-group"},rt=["readonly"],ut={class:"form-group"},dt={class:"form-group"},gt={__name:"index",setup(P){const a=f([]);Z("allConditions",a),Z("listingFilterExcludeFields",f(["listingStatus"])),Z("listingFilterLabelMap",f({price:"Sold Price"}));const o=f({}),t=f({}),w=f(""),L=M("page-url");async function E(){var i,r;const l="/wp-plugin/admin/sold-listing/init-info";try{const n=await _.get(l);if(((i=n==null?void 0:n.status)==null?void 0:i.code)!==0)throw new Error(`HTTP error! status: ${(r=n==null?void 0:n.status)==null?void 0:r.msg}`);const d=n.data,{soldListingId:m,pluginPage:h={},soldListingValues:S=[],sort:x}=d;o.value=d;const U={pageName:"Sold Listings Page",uri:"sold-listing",layout:"map-grid",metaTagHtml:""};t.value=ie({...h,id:m,sort:x},U,{overrideEmpty:!0}),w.value=t.value.uri,a.value=S.map(I=>{var ee;const O=Object.keys(I.data);return"orderKeys"in I?((ee=I.orderKeys)==null?void 0:ee.length)!==O.length?{...I,orderKeys:O}:I:{...I,orderKeys:O}})}catch(n){console.error("Error fetching initial page info:",n)}}const y=f(!1);ae(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 c=f(!1),b=D(()=>{var l,i,r;return!((l=t.value)!=null&&l.id)||!((i=t.value)!=null&&i.pageName)||c.value||!((r=t.value)!=null&&r.uri)}),v=D(()=>y.value||c.value),T=M("metaTags"),H=M("listingRef");async function R(){var m,h;const{pageName:l,layout:i,metaTagHtml:r,uri:n}=t.value,d=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"sold_listing",pageName:l,metaTag:T.value.getValueString(),metaTagHtml:r,layout:i,uri:n}});if(((m=d==null?void 0:d.status)==null?void 0:m.code)!==0)throw new Error((h=d==null?void 0:d.status)==null?void 0:h.msg);d.data&&(t.value={...t.value,pageName:l,metaTagHtml:r,layout:i,uri:n},w.value=n)}async function C(){var n,d;const l=a.value.map(m=>{const h=ne(m);let{data:S={},orderKeys:x=[]}=h;const U=Object.keys(S);return x=x.filter(I=>U.includes(I)),{data:S,onlyId:oe(),orderKeys:x}}).filter(Boolean),i={id:t.value.id,name:"Sold Listings",sort:H.value.sortCondition,listingType:4,values:l},r=await _.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:i});if(((n=r==null?void 0:r.status)==null?void 0:n.code)!==0)throw new Error((d=r==null?void 0:r.status)==null?void 0:d.msg)}async function u(){await _.get("/update-routes")}async function s(){if(!b.value){L.value.confirm();try{c.value=!0,await Promise.all([R(),C()]),await u(),$("Save succeed")}catch(l){console.error("Error save page:",l),$("Save failed. Please try again",{err:!0})}finally{c.value=!1}}}return(l,i)=>(k(),B(J,{title:"Sold Listings",description:"Create and showcase a curated selection of sold listings on IDX pages, highlighting market activity and building trust to attract potential clients and drive future leads."},{button:V(()=>[e("button",{class:F(["btn-save",{disable:g(b)}]),onClick:j(s,["prevent"])},A(c.value?"Saving..":"Save"),3)]),default:V(()=>[e("div",it,[e("div",st,[i[4]||(i[4]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":i[0]||(i[0]=r=>t.value.pageName=r),class:"page-name",maxlength:"100",readonly:g(v)},null,8,rt),[[X,t.value.pageName]])]),e("div",ut,[i[5]||(i[5]=e("label",null,"PAGE URL",-1)),p(Q,{modelValue:t.value.uri,"onUpdate:modelValue":i[1]||(i[1]=r=>t.value.uri=r),"page-config":t.value,"initial-val":w.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(q,{class:"form-group",ref:"metaTags",modelValue:t.value.metaTagHtml,"onUpdate:modelValue":i[2]||(i[2]=r=>t.value.metaTagHtml=r),readonly:g(v)},null,8,["modelValue","readonly"]),e("div",dt,[i[6]||(i[6]=e("label",null,"LAYOUT",-1)),p(ge,{modelValue:t.value.layout,"onUpdate:modelValue":i[3]||(i[3]=r=>t.value.layout=r)},null,8,["modelValue"])])]),p(se,{"site-config":t.value,"is-sold":!0,ref:"listingRef"},null,8,["site-config"]),p(z,{loading:y.value},null,8,["loading"])]),_:1}))}},ct=G(gt,[["__scopeId","data-v-ee970ace"]]),pt={class:"form-groups"},mt={class:"form-group"},ft=["value"],vt={__name:"index",setup(P){const a=ue({domain:"",uri:"",metaTagHtml:""}),o=f(!1),t=f(!1),w=D(()=>o.value||t.value||!a.domain),L=D(()=>`https://${a.domain}/${a.uri}`);E();async function E(){t.value=!0;try{const v=(await _.get("/wp-plugin/admin/listing-detail/sold-init-info")).data.pluginPage;a.domain=v.domain,a.metaTagHtml=v.metaTagHtml||"",a.uri=v.uri}finally{t.value=!1}}const y=M("metaTags");async function c(){try{o.value=!0,await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"sold_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{o.value=!1}}return(b,v)=>(k(),B(J,{title:"Sold Listing Detail",description:`The Sold 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
    5         and view it through Sold Listings Page. However, you can set the Meta tags below to optimize SEO.`},{button:V(()=>[e("button",{class:F(["btn-save",{disable:g(w)}]),onClick:j(c,["prevent"])},A(g(o)?"Saving..":"Save"),3)]),default:V(()=>[e("div",pt,[e("div",mt,[v[1]||(v[1]=e("label",null,"PAGE URL",-1)),e("input",{type:"text",value:g(L),readonly:"",class:"suffix"},null,8,ft)]),p(q,{class:"form-group",ref:"metaTags",type:"soldListingDetail",modelValue:g(a).metaTagHtml,"onUpdate:modelValue":v[0]||(v[0]=T=>g(a).metaTagHtml=T)},null,8,["modelValue"]),p(z,{loading:g(t)},null,8,["loading"])])]),_:1}))}},yt=G(vt,[["__scopeId","data-v-8b1631dc"]]),wt={class:"form-groups"},ht={class:"form-group"},bt={class:"form-group"},Ct={__name:"index",setup(P){const a=M("metaTags"),o={uri:"profile",domain:window.location.host,metaTagHtml:""},t=f(!1);async function w(){t.value=!0;const y=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"profile",uri:"profile",metaTag:a.value.getValueString(),metaTagHtml:o.metaTagHtml}});y.status.code===0?$("Saved Successfully"):$("Error save page:"+y.status.msg,{err:!0}),t.value=!1}const L=f(!0);E();async function E(){const y=await _.get("/wp-plugin/admin/common/page/setting/profile");L.value=!1,y.status.code===0&&(o.metaTagHtml=y.data.metaTagHtml||"")}return(y,c)=>(k(),B(J,{title:"Lead Center",description:"This is a default page that requires no configuration. When a lead browses your website, the Saved Search List, Favorite Listings, and Account Detail will be displayed here. You can find this page in a set of menu generated by the plugin or add its link as a custom button in your website’s navigation bar."},{button:V(()=>[e("button",{class:F(["btn-save",{disable:g(t)}]),onClick:j(w,["prevent"])},A(g(t)?"Saving..":"Save"),3)]),default:V(()=>[e("div",wt,[e("div",ht,[c[2]||(c[2]=e("label",null,"PAGE URL",-1)),p(Q,{modelValue:o.uri,"onUpdate:modelValue":c[0]||(c[0]=b=>o.uri=b),"page-config":o,"initial-val":"profile","can-edit":!1},null,8,["modelValue"])]),e("div",bt,[p(q,{class:"form-group",ref:"metaTags",modelValue:o.metaTagHtml,"onUpdate:modelValue":c[1]||(c[1]=b=>o.metaTagHtml=b),isShortCode:""},null,8,["modelValue"])])]),p(z,{loading:g(L)},null,8,["loading"])]),_:1}))}},_t=G(Ct,[["__scopeId","data-v-bdb4b2d4"]]),Tt={class:"report-list-title"},St={class:"search-title"},Vt={class:"list-header"},Lt={class:"header-display"},kt={class:"header-operation"},$t={class:"header-title"},Pt={class:"header-subscribe"},Et={class:"header-display"},Rt={class:"header-operation"},Ut={key:0,class:"no-report-data"},xt={__name:"reportList",props:{pageConfig:Object},setup(P){const a=f(""),o=f([]),[t,w]=[f(1),f(0)];function L(){const u=new URLSearchParams(window.location.search);u.set("page","lofty-shortcodes"),u.set("sub","market-report"),window.location.search=u.toString()}function E(u){t.value=1,c(),u.target.blur()}const y=M("listRef"),c=me(async function(){const u={title:a.value.trim(),pageNum:t.value,pageSize:5},s=Ue(y.value),l=await _.post("/admin/report/list",{data:u});w.value=Math.ceil(l.data.total/5),o.value=l.data.pluginReports||[],s()});c();function b(u){t.value=u.page,c()}function v(u){window.open(`${window.location.origin}/${P.pageConfig.uri}?report=${encodeURIComponent(u.title)}&pageKey=market_report_page`)}const{confirm:T}=Re();function H(u){T({title:"Delete Market Report",content:"Delete this report? It will be removed from the Market Report page, and currently subscribed leads will be unsubscribed and won't receive the email.",onConfirm:async()=>{(await _.post(`/admin/report/remove/${u.encryptId}`,{})).status.code===0&&($("Delete Successfully"),await c())}})}function R(u,s){u===!1?T({title:"Hide this Report",content:"Hide this Report? It will be removed from the Market Report page, and currently subscribed leads will be unsubscribed and won't receive the email. If shown again, leads will need to resubscribe.",onConfirm:()=>{C(u,s)},confirmButtonText:"UPDATE",type:"normal"}):C(u,s)}async function C(u,s){const l={encryptId:s.encryptId,collectionDisplay:u};(await _.post("/admin/report/updateReport",{data:l})).status.code===0&&($("Update Successfully"),await c())}return(u,s)=>(k(),N(W,null,[e("div",Tt,[s[2]||(s[2]=e("h2",null,"Report List",-1)),p(te,null,{trigger:V(()=>[p(g(le),{class:"icon-mark"})]),content:V(()=>s[1]||(s[1]=[K(" Create a series of Market Reports to display on the website, and visitors can switch to browse different reports ")])),_:1})]),e("div",{class:"report-list-table",ref_key:"listRef",ref:y},[e("div",St,[Y(e("input",{"onUpdate:modelValue":s[0]||(s[0]=l=>we(a)?a.value=l:null),onKeydown:he(E,["enter"]),type:"text",placeholder:"Search Market Report Title"},null,544),[[X,g(a)]]),p(g(Ve),{class:"lofty-icon-search",onClick:g(c)},null,8,["onClick"]),e("div",{class:"add-report-btn",onClick:L},s[3]||(s[3]=[e("span",{class:"plus-icon"},"+",-1),e("span",null,"Add a New Report",-1)]))]),e("div",Vt,[s[8]||(s[8]=e("div",{class:"header-title"},"Report Title",-1)),s[9]||(s[9]=e("div",{class:"header-subscribe"},"Historical total of subscribers",-1)),e("div",Lt,[s[5]||(s[5]=K(" Collection Display ")),p(te,{right:""},{trigger:V(()=>[p(g(le),{class:"icon-mark"})]),content:V(()=>s[4]||(s[4]=[K(" Once the toggle is enabled, visitors will be able to select the report from the Market Report page on the website. ")])),_:1})]),e("div",kt,[s[7]||(s[7]=K(" Operations ")),p(te,{right:""},{trigger:V(()=>[p(g(le),{class:"icon-mark"})]),content:V(()=>s[6]||(s[6]=[K(" You can quickly view the generated report, delete any report. ")])),_:1})])]),e("div",{class:F(["list-body",{"has-pagination":g(w)>1}])},[(k(!0),N(W,null,be(g(o),(l,i)=>(k(),N("div",{key:i,class:"list-row"},[e("div",$t,[p(te,null,{trigger:V(()=>[K(A(l.title),1)]),content:V(()=>[K(A(l.title),1)]),_:2},1024)]),e("div",Pt,A(l.subscribeCount),1),e("div",Et,[p(Ee,{class:"mt10",modelValue:l.collectionDisplay,"onUpdate:modelValue":r=>l.collectionDisplay=r,onChange:r=>R(r,l),needConfirm:""},null,8,["modelValue","onUpdate:modelValue","onChange"])]),e("div",Rt,[p(g(Ie),{onClick:r=>v(l),class:"icon-view icon"},null,8,["onClick"]),p(g(Le),{onClick:r=>H(l),class:"icon"},null,8,["onClick"])])]))),128)),g(o).length===0?(k(),N("div",Ut,s[10]||(s[10]=[e("div",null,"No Data",-1)]))):re("",!0)],2),p(Pe,{class:"admin-pagination",onPageChange:b,pageNum:g(t),pageSize:5,totalPage:g(w)},null,8,["pageNum","totalPage"])],512)],64))}},Ht={class:"form-groups"},Mt={class:"form-group"},It=["readonly"],Dt={class:"form-group"},Nt={class:"form-group"},At={class:"form-group"},Ft={__name:"index",setup(P){const a=f({}),o=f(""),t=M("page-url"),w=f(!1),L=D(()=>{var R,C,u;return!((R=a.value)!=null&&R.id)||!((C=a.value)!=null&&C.pageName)||w.value||!((u=a.value)!=null&&u.uri)}),E=D(()=>H.value||w.value),y=M("metaTags"),c=f("");async function b(){var C;const R="/wp-plugin/admin/report/init-info";try{const u=await _.get(R);if(u.status.code!==0)throw new Error(`HTTP error! status: ${(C=response==null?void 0:response.status)==null?void 0:C.msg}`);a.value=u.data.pluginPage,o.value=u.data.pluginPage.uri,c.value=u.data.pageConfigMap.submitJs||""}catch(u){console.error("Error fetching initial page info:",u)}}async function v(){if(!L.value){t.value.confirm();try{w.value=!0,(await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"market_report_page",pageName:a.value.pageName,metaTag:y.value.getValueString(),metaTagHtml:a.value.metaTagHtml,uri:a.value.uri}})).status.code===0&&(await _.get("/update-routes"),await T(),$("Saved Successfully"))}catch(R){console.error("Error save page:",R),$("Save failed. Please try again.",{duration:3e3,err:!0})}finally{w.value=!1}}}async function T(){await _.post("/wp-plugin/admin/common/page/page-config/update/MARKET_REPORT_PAGE",{data:{submitJs:c.value}})}const H=f(!1);return ae(async()=>{H.value=!0;try{await b()}catch(R){$("Error fetching page info:"+R.message,{err:!0})}finally{H.value=!1}}),(R,C)=>(k(),B(J,{title:"Market Report Collection",description:"Create multiple Market Reports to be displayed centrally on the website, allowing visitors to easily switch between and view different reports."},{button:V(()=>[e("button",{class:F(["btn-save",{disable:g(L)}]),onClick:j(v,["prevent"])},A(w.value?"Saving..":"Save"),3)]),default:V(()=>[e("div",Ht,[e("div",Mt,[C[4]||(C[4]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":C[0]||(C[0]=u=>a.value.pageName=u),class:"page-name",maxlength:"100",readonly:g(E)},null,8,It),[[X,a.value.pageName]])]),e("div",Dt,[C[5]||(C[5]=e("label",null,"PAGE URL",-1)),p(Q,{modelValue:a.value.uri,"onUpdate:modelValue":C[1]||(C[1]=u=>a.value.uri=u),"page-config":a.value,"initial-val":o.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(q,{class:"form-group",ref:"metaTags",modelValue:a.value.metaTagHtml,"onUpdate:modelValue":C[2]||(C[2]=u=>a.value.metaTagHtml=u),readonly:g(E)},null,8,["modelValue","readonly"]),e("div",Nt,[p(xt,{pageConfig:a.value},null,8,["pageConfig"])]),e("div",At,[p(_e,{modelValue:c.value,"onUpdate:modelValue":C[3]||(C[3]=u=>c.value=u),desc:"The following code will be executed after successfully clicking the 'Subscribe to the report' button."},null,8,["modelValue"])])]),p(z,{loading:H.value},null,8,["loading"])]),_:1}))}},Ot={SearchPage:qe,ListingDetail:Qe,FeaturedListings:ot,SoldListings:ct,SoldListingDetail:yt,LeadCenter:_t,MarketReport:Ft},Kt={class:"lofty-admin-container lofty-reset-style"},Gt={class:"main-content"},Bt={__name:"app",setup(P){let a=f("");function o(t){a.value=Ot[t.component]}return(t,w)=>(k(),N("div",Kt,[p(Te,{menuSections:g(De),onMenuItemClick:o},null,8,["menuSections"]),e("main",Gt,[(k(),B(Ce(g(a)),{key:g(a)}))])]))}},jt=G(Bt,[["__scopeId","data-v-4b01a1b1"]]);de(ke).mount("#plugin-check");de(jt).mount("#app");
     4              lead generation.`},{button:V(()=>[e("button",{class:F(["btn-save",{disable:g(h)}]),onClick:j(u,["prevent"])},A(s.value?"Saving..":"Save"),3)]),default:V(()=>[e("div",et,[e("div",tt,[c[3]||(c[3]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":c[0]||(c[0]=v=>t.value.pageName=v),class:"page-name",maxlength:"100",readonly:g(y)},null,8,at),[[W,t.value.pageName]])]),e("div",lt,[c[4]||(c[4]=e("label",null,"PAGE URL",-1)),p(X,{modelValue:t.value.uri,"onUpdate:modelValue":c[1]||(c[1]=v=>t.value.uri=v),"page-config":t.value,"initial-val":w.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(J,{class:"form-group",ref:"metaTags",modelValue:t.value.metaTagHtml,"onUpdate:modelValue":c[2]||(c[2]=v=>t.value.metaTagHtml=v)},null,8,["modelValue"])]),p(se,{"site-config":t.value,ref:"listingRef"},null,8,["site-config"]),p(Se,{config:t.value.styleConfig,onUpdate:r},null,8,["config"]),p(q,{loading:m.value},null,8,["loading"])]),_:1}))}},ot=O(nt,[["__scopeId","data-v-647c5daa"]]),it={class:"form-groups"},st={class:"form-group"},rt=["readonly"],ut={class:"form-group"},dt={class:"form-group"},gt={__name:"index",setup(R){const l=f([]);Q("allConditions",l),Q("listingFilterExcludeFields",f(["listingStatus"])),Q("listingFilterLabelMap",f({price:"Sold Price"}));const a=f({}),t=f({}),w=f(""),L=x("page-url");async function P(){var i,u;const n="/wp-plugin/admin/sold-listing/init-info";try{const o=await C.get(n);if(((i=o==null?void 0:o.status)==null?void 0:i.code)!==0)throw new Error(`HTTP error! status: ${(u=o==null?void 0:o.status)==null?void 0:u.msg}`);const c=o.data,{soldListingId:v,pluginPage:b={},soldListingValues:S=[],sort:H}=c;a.value=c;const U={pageName:"Sold Listings Page",uri:"sold-listing",layout:"map-grid",metaTagHtml:""};t.value=ie({...b,id:v,sort:H},U,{overrideEmpty:!0}),w.value=t.value.uri,l.value=S.map(I=>{var ee;const K=Object.keys(I.data);return"orderKeys"in I?((ee=I.orderKeys)==null?void 0:ee.length)!==K.length?{...I,orderKeys:K}:I:{...I,orderKeys:K}})}catch(o){console.error("Error fetching initial page info:",o)}}const m=f(!1);ae(async()=>{m.value=!0;try{await P()}catch(n){console.error("Error fetching page info:",n.message),k("Error fetching page info:"+n.message,{err:!0})}finally{m.value=!1}});const s=f(!1),h=D(()=>{var n,i,u;return!((n=t.value)!=null&&n.id)||!((i=t.value)!=null&&i.pageName)||s.value||!((u=t.value)!=null&&u.uri)}),y=D(()=>m.value||s.value),T=x("metaTags"),M=x("listingRef");async function E(){var v,b;const{pageName:n,layout:i,metaTagHtml:u,uri:o}=t.value,c=await C.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"sold_listing",pageName:n,metaTag:T.value.getValueString(),metaTagHtml:u,layout:i,uri:o}});if(((v=c==null?void 0:c.status)==null?void 0:v.code)!==0)throw new Error((b=c==null?void 0:c.status)==null?void 0:b.msg);c.data&&(t.value={...t.value,pageName:n,metaTagHtml:u,layout:i,uri:o},w.value=o)}async function _(){var o,c;const n=l.value.map(v=>{const b=ne(v);let{data:S={},orderKeys:H=[]}=b;const U=Object.keys(S);return H=H.filter(I=>U.includes(I)),{data:S,onlyId:oe(),orderKeys:H}}).filter(Boolean),i={id:t.value.id,name:"Sold Listings",sort:M.value.sortCondition,listingType:4,values:n},u=await C.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:i});if(((o=u==null?void 0:u.status)==null?void 0:o.code)!==0)throw new Error((c=u==null?void 0:u.status)==null?void 0:c.msg)}async function d(){await C.get("/update-routes")}async function r(){if(!h.value){L.value.confirm();try{s.value=!0,await Promise.all([E(),_()]),await d(),k("Save succeed")}catch(n){console.error("Error save page:",n),k("Save failed. Please try again",{err:!0})}finally{s.value=!1}}}return(n,i)=>($(),G(z,{title:"Sold Listings",description:"Create and showcase a curated selection of sold listings on IDX pages, highlighting market activity and building trust to attract potential clients and drive future leads."},{button:V(()=>[e("button",{class:F(["btn-save",{disable:g(h)}]),onClick:j(r,["prevent"])},A(s.value?"Saving..":"Save"),3)]),default:V(()=>[e("div",it,[e("div",st,[i[4]||(i[4]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":i[0]||(i[0]=u=>t.value.pageName=u),class:"page-name",maxlength:"100",readonly:g(y)},null,8,rt),[[W,t.value.pageName]])]),e("div",ut,[i[5]||(i[5]=e("label",null,"PAGE URL",-1)),p(X,{modelValue:t.value.uri,"onUpdate:modelValue":i[1]||(i[1]=u=>t.value.uri=u),"page-config":t.value,"initial-val":w.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(J,{class:"form-group",ref:"metaTags",modelValue:t.value.metaTagHtml,"onUpdate:modelValue":i[2]||(i[2]=u=>t.value.metaTagHtml=u),readonly:g(y)},null,8,["modelValue","readonly"]),e("div",dt,[i[6]||(i[6]=e("label",null,"LAYOUT",-1)),p(ge,{modelValue:t.value.layout,"onUpdate:modelValue":i[3]||(i[3]=u=>t.value.layout=u)},null,8,["modelValue"])])]),p(se,{"site-config":t.value,"is-sold":!0,ref:"listingRef"},null,8,["site-config"]),p(q,{loading:m.value},null,8,["loading"])]),_:1}))}},ct=O(gt,[["__scopeId","data-v-ee970ace"]]),pt={class:"form-groups"},mt={class:"form-group"},ft=["value"],vt={__name:"index",setup(R){const l=ue({domain:"",uri:"",metaTagHtml:""}),a=f(!1),t=f(!1),w=D(()=>a.value||t.value||!l.domain),L=D(()=>`https://${l.domain}/${l.uri}`);P();async function P(){t.value=!0;try{const y=(await C.get("/wp-plugin/admin/listing-detail/sold-init-info")).data.pluginPage;l.domain=y.domain,l.metaTagHtml=y.metaTagHtml||"",l.uri=y.uri}finally{t.value=!1}}const m=x("metaTags");async function s(){try{a.value=!0,await C.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"sold_listing_detail",metaTag:m.value.getValueString(),metaTagHtml:l.metaTagHtml}}),k("Saved Successfully")}catch(h){console.error("Error save page:",h),k("Error save page:"+h.message,{err:!0})}finally{a.value=!1}}return(h,y)=>($(),G(z,{title:"Sold Listing Detail",description:`The Sold 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
     5        and view it through Sold Listings Page. However, you can set the Meta tags below to optimize SEO.`},{button:V(()=>[e("button",{class:F(["btn-save",{disable:g(w)}]),onClick:j(s,["prevent"])},A(g(a)?"Saving..":"Save"),3)]),default:V(()=>[e("div",pt,[e("div",mt,[y[1]||(y[1]=e("label",null,"PAGE URL",-1)),e("input",{type:"text",value:g(L),readonly:"",class:"suffix"},null,8,ft)]),p(J,{class:"form-group",ref:"metaTags",type:"soldListingDetail",modelValue:g(l).metaTagHtml,"onUpdate:modelValue":y[0]||(y[0]=T=>g(l).metaTagHtml=T)},null,8,["modelValue"]),p(q,{loading:g(t)},null,8,["loading"])])]),_:1}))}},yt=O(vt,[["__scopeId","data-v-8b1631dc"]]),wt={class:"form-groups"},ht={class:"form-group"},bt={class:"form-group"},Ct={__name:"index",setup(R){const l=x("metaTags"),a={uri:"profile",domain:window.location.host,metaTagHtml:""},t=f(!1);async function w(){t.value=!0;const m=await C.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"profile",uri:"profile",metaTag:l.value.getValueString(),metaTagHtml:a.metaTagHtml}});m.status.code===0?k("Saved Successfully"):k("Error save page:"+m.status.msg,{err:!0}),t.value=!1}const L=f(!0);P();async function P(){const m=await C.get("/wp-plugin/admin/common/page/setting/profile");L.value=!1,m.status.code===0&&(a.metaTagHtml=m.data.metaTagHtml||"")}return(m,s)=>($(),G(z,{title:"Lead Center",description:"This is a default page that requires no configuration. When a lead browses your website, the Saved Search List, Favorite Listings, and Account Detail will be displayed here. You can find this page in a set of menu generated by the plugin or add its link as a custom button in your website’s navigation bar."},{button:V(()=>[e("button",{class:F(["btn-save",{disable:g(t)}]),onClick:j(w,["prevent"])},A(g(t)?"Saving..":"Save"),3)]),default:V(()=>[e("div",wt,[e("div",ht,[s[2]||(s[2]=e("label",null,"PAGE URL",-1)),p(X,{modelValue:a.uri,"onUpdate:modelValue":s[0]||(s[0]=h=>a.uri=h),"page-config":a,"initial-val":"profile","can-edit":!1},null,8,["modelValue"])]),e("div",bt,[p(J,{class:"form-group",ref:"metaTags",modelValue:a.metaTagHtml,"onUpdate:modelValue":s[1]||(s[1]=h=>a.metaTagHtml=h),isShortCode:""},null,8,["modelValue"])])]),p(q,{loading:g(L)},null,8,["loading"])]),_:1}))}},_t=O(Ct,[["__scopeId","data-v-bdb4b2d4"]]),Tt={class:"report-list-title"},St={class:"search-title"},Vt={class:"list-header"},Lt={class:"header-display"},kt={class:"header-operation"},Pt={class:"header-title"},$t={class:"header-subscribe"},Rt={class:"header-display"},Et={class:"header-operation"},Ut={key:0,class:"no-report-data"},Ht={__name:"reportList",props:{pageConfig:Object},setup(R){const l=f(""),a=f([]),[t,w]=[f(1),f(0)];function L(){const d=new URLSearchParams(window.location.search);d.set("page","lofty-shortcodes"),d.set("sub","market-report"),window.location.search=d.toString()}function P(d){t.value=1,s(),d.target.blur()}const m=x("listRef"),s=me(async function(){const d={title:l.value.trim(),pageNum:t.value,pageSize:5},r=Ue(m.value),n=await C.post("/admin/report/list",{data:d});w.value=Math.ceil(n.data.total/5),a.value=n.data.pluginReports||[],r()});s();function h(d){t.value=d.page,s()}function y(d){window.open(`${window.location.origin}/${R.pageConfig.uri}?report=${encodeURIComponent(d.title)}&pageKey=market_report_page`)}const{confirm:T}=Ee();function M(d){T({title:"Delete Market Report",content:"Delete this report? It will be removed from the Market Report page, and currently subscribed leads will be unsubscribed and won't receive the email.",onConfirm:async()=>{(await C.post(`/admin/report/remove/${d.encryptId}`,{})).status.code===0&&(k("Delete Successfully"),await s())}})}function E(d,r){d===!1?T({title:"Hide this Report",content:"Hide this Report? It will be removed from the Market Report page, and currently subscribed leads will be unsubscribed and won't receive the email. If shown again, leads will need to resubscribe.",onConfirm:()=>{_(d,r)},confirmButtonText:"UPDATE",type:"normal"}):_(d,r)}async function _(d,r){const n={encryptId:r.encryptId,collectionDisplay:d};(await C.post("/admin/report/updateReport",{data:n})).status.code===0&&(k("Update Successfully"),await s())}return(d,r)=>($(),N(Z,null,[e("div",Tt,[r[2]||(r[2]=e("h2",null,"Report List",-1)),p(te,null,{trigger:V(()=>[p(g(le),{class:"icon-mark"})]),content:V(()=>r[1]||(r[1]=[B(" Create a series of Market Reports to display on the website, and visitors can switch to browse different reports ")])),_:1})]),e("div",{class:"report-list-table",ref_key:"listRef",ref:m},[e("div",St,[Y(e("input",{"onUpdate:modelValue":r[0]||(r[0]=n=>we(l)?l.value=n:null),onKeydown:he(P,["enter"]),type:"text",placeholder:"Search Market Report Title"},null,544),[[W,g(l)]]),p(g(Ve),{class:"lofty-icon-search",onClick:g(s)},null,8,["onClick"]),e("div",{class:"add-report-btn",onClick:L},r[3]||(r[3]=[e("span",{class:"plus-icon"},"+",-1),e("span",null,"Add a New Report",-1)]))]),e("div",Vt,[r[8]||(r[8]=e("div",{class:"header-title"},"Report Title",-1)),r[9]||(r[9]=e("div",{class:"header-subscribe"},"Historical total of subscribers",-1)),e("div",Lt,[r[5]||(r[5]=B(" Collection Display ")),p(te,{right:""},{trigger:V(()=>[p(g(le),{class:"icon-mark"})]),content:V(()=>r[4]||(r[4]=[B(" Once the toggle is enabled, visitors will be able to select the report from the Market Report page on the website. ")])),_:1})]),e("div",kt,[r[7]||(r[7]=B(" Operations ")),p(te,{right:""},{trigger:V(()=>[p(g(le),{class:"icon-mark"})]),content:V(()=>r[6]||(r[6]=[B(" You can quickly view the generated report, delete any report. ")])),_:1})])]),e("div",{class:F(["list-body",{"has-pagination":g(w)>1}])},[($(!0),N(Z,null,be(g(a),(n,i)=>($(),N("div",{key:i,class:"list-row"},[e("div",Pt,[p(te,null,{trigger:V(()=>[B(A(n.title),1)]),content:V(()=>[B(A(n.title),1)]),_:2},1024)]),e("div",$t,A(n.subscribeCount),1),e("div",Rt,[p(Re,{class:"mt10",modelValue:n.collectionDisplay,"onUpdate:modelValue":u=>n.collectionDisplay=u,onChange:u=>E(u,n),needConfirm:""},null,8,["modelValue","onUpdate:modelValue","onChange"])]),e("div",Et,[p(g(Ie),{onClick:u=>y(n),class:"icon-view icon"},null,8,["onClick"]),p(g(Le),{onClick:u=>M(n),class:"icon"},null,8,["onClick"])])]))),128)),g(a).length===0?($(),N("div",Ut,r[10]||(r[10]=[e("div",null,"No Data",-1)]))):re("",!0)],2),p($e,{class:"admin-pagination",onPageChange:h,pageNum:g(t),pageSize:5,totalPage:g(w)},null,8,["pageNum","totalPage"])],512)],64))}},xt={class:"form-groups"},Mt={class:"form-group"},It=["readonly"],Dt={class:"form-group"},Nt={class:"form-group"},At={class:"form-group"},Ft={__name:"index",setup(R){const l=f({}),a=f(""),t=x("page-url"),w=f(!1),L=D(()=>{var E,_,d;return!((E=l.value)!=null&&E.id)||!((_=l.value)!=null&&_.pageName)||w.value||!((d=l.value)!=null&&d.uri)}),P=D(()=>M.value||w.value),m=x("metaTags"),s=f("");async function h(){var _;const E="/wp-plugin/admin/report/init-info";try{const d=await C.get(E);if(d.status.code!==0)throw new Error(`HTTP error! status: ${(_=response==null?void 0:response.status)==null?void 0:_.msg}`);l.value=d.data.pluginPage,a.value=d.data.pluginPage.uri,s.value=d.data.pageConfigMap.submitJs||""}catch(d){console.error("Error fetching initial page info:",d)}}async function y(){if(!L.value){t.value.confirm();try{w.value=!0,(await C.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"market_report_page",pageName:l.value.pageName,metaTag:m.value.getValueString(),metaTagHtml:l.value.metaTagHtml,uri:l.value.uri}})).status.code===0&&(await C.get("/update-routes"),await T(),k("Saved Successfully"))}catch(E){console.error("Error save page:",E),k("Save failed. Please try again.",{duration:3e3,err:!0})}finally{w.value=!1}}}async function T(){await C.post("/wp-plugin/admin/common/page/page-config/update/MARKET_REPORT_PAGE",{data:{submitJs:s.value}})}const M=f(!1);return ae(async()=>{M.value=!0;try{await h()}catch(E){k("Error fetching page info:"+E.message,{err:!0})}finally{M.value=!1}}),(E,_)=>($(),G(z,{title:"Market Report Collection",description:"Create multiple Market Reports to be displayed centrally on the website, allowing visitors to easily switch between and view different reports."},{button:V(()=>[e("button",{class:F(["btn-save",{disable:g(L)}]),onClick:j(y,["prevent"])},A(w.value?"Saving..":"Save"),3)]),default:V(()=>[e("div",xt,[e("div",Mt,[_[4]||(_[4]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":_[0]||(_[0]=d=>l.value.pageName=d),class:"page-name",maxlength:"100",readonly:g(P)},null,8,It),[[W,l.value.pageName]])]),e("div",Dt,[_[5]||(_[5]=e("label",null,"PAGE URL",-1)),p(X,{modelValue:l.value.uri,"onUpdate:modelValue":_[1]||(_[1]=d=>l.value.uri=d),"page-config":l.value,"initial-val":a.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(J,{class:"form-group",ref:"metaTags",modelValue:l.value.metaTagHtml,"onUpdate:modelValue":_[2]||(_[2]=d=>l.value.metaTagHtml=d),readonly:g(P)},null,8,["modelValue","readonly"]),e("div",Nt,[p(Ht,{pageConfig:l.value},null,8,["pageConfig"])]),e("div",At,[p(_e,{modelValue:s.value,"onUpdate:modelValue":_[3]||(_[3]=d=>s.value=d),desc:"The following code will be executed after successfully clicking the 'Subscribe to the report' button."},null,8,["modelValue"])])]),p(q,{loading:M.value},null,8,["loading"])]),_:1}))}},Ot={class:"form-groups"},Gt={class:"form-group"},Kt={class:"form-group"},Bt={__name:"index",setup(R){const l=x("metaTags"),a={uri:"pwreset",domain:window.location.host,metaTagHtml:""},t=f(!1);async function w(){t.value=!0;const m=await C.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"pwreset",uri:"pwreset",metaTag:l.value.getValueString(),metaTagHtml:a.metaTagHtml}});m.status.code===0?k("Saved Successfully"):k("Error save page:"+m.status.msg,{err:!0}),t.value=!1}const L=f(!0);P();async function P(){var s;const m=await C.get("/wp-plugin/admin/common/page/setting/pwreset");L.value=!1,m.status.code===0&&(a.metaTagHtml=((s=m.data)==null?void 0:s.metaTagHtml)||"")}return(m,s)=>($(),G(z,{title:"Password Reset",description:"This is a default page that requires no configuration. When a user requests to reset their password, they will be redirected here to complete the process. The page allows users to securely set a new password and regain access to their account."},{button:V(()=>[e("button",{class:F(["btn-save",{disable:g(t)}]),onClick:j(w,["prevent"])},A(g(t)?"Saving..":"Save"),3)]),default:V(()=>[e("div",Ot,[e("div",Gt,[s[2]||(s[2]=e("label",null,"PAGE URL",-1)),p(X,{modelValue:a.uri,"onUpdate:modelValue":s[0]||(s[0]=h=>a.uri=h),"page-config":a,"initial-val":"profile","can-edit":!1},null,8,["modelValue"])]),e("div",Kt,[p(J,{class:"form-group",ref:"metaTags",modelValue:a.metaTagHtml,"onUpdate:modelValue":s[1]||(s[1]=h=>a.metaTagHtml=h),isShortCode:""},null,8,["modelValue"])])]),p(q,{loading:g(L)},null,8,["loading"])]),_:1}))}},jt=O(Bt,[["__scopeId","data-v-e08939c0"]]),qt={SearchPage:Je,ListingDetail:Qe,FeaturedListings:ot,SoldListings:ct,SoldListingDetail:yt,LeadCenter:_t,MarketReport:Ft,PasswordReset:jt},zt={class:"lofty-admin-container lofty-reset-style"},Jt={class:"main-content"},Yt={__name:"app",setup(R){let l=f("");function a(t){l.value=qt[t.component]}return(t,w)=>($(),N("div",zt,[p(Te,{menuSections:g(De),onMenuItemClick:a},null,8,["menuSections"]),e("main",Jt,[($(),G(Ce(g(l)),{key:g(l)}))])]))}},Wt=O(Yt,[["__scopeId","data-v-4b01a1b1"]]);de(ke).mount("#plugin-check");de(Wt).mount("#app");
  • lofty-idx/trunk/assets/admin-shortcodes.js

    r3395454 r3413770  
    1 import{h as F,_ as L}from"./_plugin-vue_export-helper.BPal9gCL.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.lH7hkJex.js";import{M as H,L as de,a as W,d as be,S as Se,c as ke}from"./styleConfig.mF4dVrzA.js";import{u as O}from"./useCopy.CluLpl8Z.js";import{f as le}from"./date-format.BrUodQAJ.js";import{M as Ve}from"./multiSelect.DM7peOwH.js";import{s as A,P as we}from"./PluginUpdate.C7Epye8j.js";import{_ as ne}from"./index.DAwEVGKX.js";import{_ as xe}from"./index.jjVwSEkV.js";import{u as Te}from"./user.BMSYXHG8.js";import{_ as Ue}from"./index.BIsjoQ8l.js";import{p as Le}from"./standard.DaFkfDIs.js";import{I as $e}from"./IconCopy.DdKisG8J.js";import"./number-format.CLdvQh6j.js";import"./index.OXpUu6sz.js";import"./outsideclick.Bw_hMuzW.js";import"./index.Du3p49kO.js";import"./index.CJT61Udz.js";import"./index.CDZjPkAd.js";import"./index.CpZgndwv.js";import"./index.BcF03SbQ.js";import"./service.BLsNo1Yg.js";import"./house-format.CUT0UGLt.js";import"./checkBox.kH23Q5F_.js";import"./tooltip.D1R52ez8.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.D-Nsc_Tq.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.Cpx6FIAE.js";import{M as H,L as de,a as W,d as be,S as Se,c as ke}from"./styleConfig.C0vLR4oO.js";import{u as O}from"./useCopy.CluLpl8Z.js";import{f as le}from"./date-format.BrUodQAJ.js";import{M as Ve}from"./multiSelect.BF9kJSgT.js";import{s as A,P as we}from"./PluginUpdate.CmVbsX3Y.js";import{_ as ne}from"./index.DAwEVGKX.js";import{_ as xe}from"./index.jjVwSEkV.js";import{u as Te}from"./user.DZNd_BkT.js";import{_ as Ue}from"./index.BIsjoQ8l.js";import{p as Le}from"./standard.gtRZLXMO.js";import{I as $e}from"./IconCopy.Bf0ZYCRd.js";import"./number-format.CLdvQh6j.js";import"./index.QzWxvJng.js";import"./outsideclick.Bw_hMuzW.js";import"./index.CZOqnZlT.js";import"./index.06wxuzd0.js";import"./index.kdbg-iyz.js";import"./index.Dm4Bynpm.js";import"./index.C-Qy-l5j.js";import"./service.BPx6HgYg.js";import"./house-format.66hvz3g4.js";import"./checkBox.BqFG4BHZ.js";import"./tooltip.B9jEbpOe.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

    r3395454 r3413770  
    1 import{_ as w,h as m}from"./_plugin-vue_export-helper.BPal9gCL.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.DM7peOwH.js";import"./index.OXpUu6sz.js";import"./outsideclick.Bw_hMuzW.js";import"./checkBox.kH23Q5F_.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.D-Nsc_Tq.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.BF9kJSgT.js";import"./index.QzWxvJng.js";import"./outsideclick.Bw_hMuzW.js";import"./checkBox.BqFG4BHZ.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

    r3395454 r3413770  
    1 import{h as z,i as f}from"./_plugin-vue_export-helper.BPal9gCL.js";import{r as C,I as B,l as U,k as D,o as l,g as i,u as s,e,m as T,y as w,F as _,h as S,j as y,t as h,d as b,c as F,n as H,D as M}from"./vendor.DSMCY3-_.js";import{c as A}from"./module.CKjUdtPN.js";import{f as G}from"./house-format.CUT0UGLt.js";import{S as R,g as V,a as q,c as I}from"./mls-compliance.C0pTpKuj.js";import{E as W,_ as O}from"./feature-listing-slider.BlB68n6i.js";import{_ as E}from"./houseSlider.4Lv23TM1.js";import{u as N}from"./user.BMSYXHG8.js";import{f as K}from"./popup-trigger.rYjzm3pp.js";import{a as Q,s as J}from"./popup-mls.0QQMMjaf.js";import"./number-format.CLdvQh6j.js";import"./index.DZeflCfp.js";import"./google.DPK_RKJ0.js";import"./index.CpZgndwv.js";import"./useConfirm.BzkUN0E6.js";const x={};function X(t){const n=t.getModuleData(),r={module:t,data:n,layout:n.layout||"grid",featuredListingName:n.featuredListingName,list:C([]),showMore:C(n.layoutConfig.showButton),moreText:C(n.layoutConfig.buttonText),isShortCode:!!n.shortcode_config.layout,shortcode_config:n.shortcode_config},u={async searchList(){const a={action:"lofty_idx_api",data:{pageSize:n.layoutConfig.default,page:1,listingType:"featured-listing",featureListingName:n.featureListingName||"WP_CUSTOM_FEATURED_LISTING"},headers:{}};r.isShortCode||(a.headers.trackingpagekey="featured_listing");const g=(await z.get("/search/realTimeListings",a)).data.listings,c=[];for(const o of g)R.includes(o.mlsOrgId)&&c.push(o.id);if(c!=null&&c.length){const o=await V(c,!1);o&&Object.keys(o).length&&g.forEach((v,$)=>{const L=o[v.id]||!1;g[$]={...v,mlsOrg:{...v.mlsOrg,cardTemplate:q(v,L,"cardTemplate")}}})}g.forEach(o=>G(o)),r.list.value=g},moreClick(){const a=document.createElement("a");a.target=f?"_self":"_blank",a.href=`/listing/?featureListingName=${n.featureListingName}&pageKey=search`,document.body.appendChild(a),a.click(),document.body.removeChild(a)}};return{...r,...u,onload:u.searchList()}}function Y(t){x[t.id]=X(t)}const Z={key:0,class:"lofty-listing-slider"},tt=["src"],et={key:0,class:"lofty-single-house"},st={key:1,class:"lofty-listing-slider-empty"},ot={__name:"listingSlider",props:{id:String,config:Object},setup(t){B();const{onload:n,list:r,module:u,showMore:a,moreText:m,moreClick:g}=x[t.id],c=LoftyIdxUtils.static_url(W),o=t.config.layout,v=["prevNext","next"].includes(o);function $(){const k=r.value.length;if(f)return k>1;if(o==="full")return k>1;if(o==="next")return k>2;if(o==="prevNext")return k>3}U(()=>{n.then(()=>{L()})});function L(){if(r.value.length<2)return;r.value.length===2&&o==="next"&&r.value.push(...r.value);const k=u.$(".swiper-container");let d={navigation:{prevEl:".listing-slider-prev-button",nextEl:".listing-slider-next-button"},loop:$(),initialSlide:o==="prevNext"&&r.value.length>2?1:0,observer:!0,spaceBetween:f?10:0,speed:t.config.speed||1e3,centeredSlides:!f&&o!=="next",centeredSlidesBounds:!1,injectStyles:[`:host .swiper-button-disabled {
     1import{h as z,i as f}from"./_plugin-vue_export-helper.D-Nsc_Tq.js";import{r as C,I as B,l as U,k as D,o as l,g as i,u as s,e,m as T,y as w,F as _,h as S,j as y,t as h,d as b,c as F,n as H,D as M}from"./vendor.DSMCY3-_.js";import{c as A}from"./module.CKjUdtPN.js";import{f as G}from"./house-format.66hvz3g4.js";import{S as R,g as V,a as q,c as I}from"./mls-compliance.CUyE_Kkr.js";import{E as W,_ as O}from"./feature-listing-slider.K4RTEX_D.js";import{_ as E}from"./houseSlider.Cx69CdCm.js";import{u as N}from"./user.DZNd_BkT.js";import{f as K}from"./popup-trigger.sn6NHdGO.js";import{a as Q,s as J}from"./popup-mls.CCmmPq7_.js";import"./number-format.CLdvQh6j.js";import"./index.CUpw1e8g.js";import"./google.CP7r4vmz.js";import"./reg-verify.CFEt1-g0.js";import"./index.Dm4Bynpm.js";import"./useConfirm.C3wM7YYe.js";const x={};function X(t){const n=t.getModuleData(),r={module:t,data:n,layout:n.layout||"grid",featuredListingName:n.featuredListingName,list:C([]),showMore:C(n.layoutConfig.showButton),moreText:C(n.layoutConfig.buttonText),isShortCode:!!n.shortcode_config.layout,shortcode_config:n.shortcode_config},u={async searchList(){const a={action:"lofty_idx_api",data:{pageSize:n.layoutConfig.default,page:1,listingType:"featured-listing",featureListingName:n.featureListingName||"WP_CUSTOM_FEATURED_LISTING"},headers:{}};r.isShortCode||(a.headers.trackingpagekey="featured_listing");const g=(await z.get("/search/realTimeListings",a)).data.listings,c=[];for(const o of g)R.includes(o.mlsOrgId)&&c.push(o.id);if(c!=null&&c.length){const o=await V(c,!1);o&&Object.keys(o).length&&g.forEach((v,$)=>{const L=o[v.id]||!1;g[$]={...v,mlsOrg:{...v.mlsOrg,cardTemplate:q(v,L,"cardTemplate")}}})}g.forEach(o=>G(o)),r.list.value=g},moreClick(){const a=document.createElement("a");a.target=f?"_self":"_blank",a.href=`/listing/?featureListingName=${n.featureListingName}&pageKey=search`,document.body.appendChild(a),a.click(),document.body.removeChild(a)}};return{...r,...u,onload:u.searchList()}}function Y(t){x[t.id]=X(t)}const Z={key:0,class:"lofty-listing-slider"},tt=["src"],et={key:0,class:"lofty-single-house"},st={key:1,class:"lofty-listing-slider-empty"},ot={__name:"listingSlider",props:{id:String,config:Object},setup(t){B();const{onload:n,list:r,module:u,showMore:a,moreText:m,moreClick:g}=x[t.id],c=LoftyIdxUtils.static_url(W),o=t.config.layout,v=["prevNext","next"].includes(o);function $(){const k=r.value.length;if(f)return k>1;if(o==="full")return k>1;if(o==="next")return k>2;if(o==="prevNext")return k>3}U(()=>{n.then(()=>{L()})});function L(){if(r.value.length<2)return;r.value.length===2&&o==="next"&&r.value.push(...r.value);const k=u.$(".swiper-container");let d={navigation:{prevEl:".listing-slider-prev-button",nextEl:".listing-slider-next-button"},loop:$(),initialSlide:o==="prevNext"&&r.value.length>2?1:0,observer:!0,spaceBetween:f?10:0,speed:t.config.speed||1e3,centeredSlides:!f&&o!=="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}),(v||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(k,d),k.initialize()}const j=D("swiperRef");return(k,d)=>(l(),i(_,null,[s(r).length>0?(l(),i("div",Z,[e("img",{class:"img-background",src:s(c),alt:""},null,8,tt),d[3]||(d[3]=e("div",{class:"mask"},null,-1)),s(r).length===1?(l(),i("div",et,[T(E,{house:s(r)[0]},null,8,["house"])])):(l(),i("swiper-container",{key:1,init:"false",ref_key:"swiperRef",ref:j,class:w([{"swiper-hide-prev":s(o)==="next"&&!s(f)},"swiper-container"])},[(l(!0),i(_,null,S(s(r),(p,P)=>(l(),i("swiper-slide",{class:w({"swiper-slide-flow":s(v)&&!s(f),"swiper-slide-mobile":s(f)}),key:P},[T(E,{house:p},null,8,["house"])],2))),128))],2)),s(r).length>1&&!s(f)?(l(),i(_,{key:2},[s(o)!=="next"?(l(),i("div",{key:0,class:w(["listing-slider-prev-button",{"sold-button":s(v)}])},d[1]||(d[1]=[e("i",{class:"lofty_iconfont lofty-icon-arrow_06_left"},null,-1)]),2)):y("",!0),e("div",{class:w(["listing-slider-next-button",{"sold-button":s(v),"hide-prev":s(o)==="next"}])},d[2]||(d[2]=[e("i",{class:"lofty_iconfont lofty-icon-arrow_06_right"},null,-1)]),2)],64)):y("",!0)])):(l(),i("div",st,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(a)&&s(r).length>0?(l(),i("div",{key:2,onClick:d[0]||(d[0]=(...p)=>s(g)&&s(g)(...p)),class:"lofty-more"},h(s(m)),1)):y("",!0)],64))}},lt={class:"lofty-house-card-grid"},it={class:"lofty-house-img-grid"},nt=["href"],at=["src","alt"],rt={class:"lofty-house-info-grid"},ct={class:"lofty-house-price"},ut={class:"lofty-house-base"},dt={class:"lofty-feature-address"},ft=["href"],gt={key:0,class:"lofty-house-id"},ht={class:"lofty-mls-info-grid"},yt=["innerHTML"],mt={key:0,class:"lofty-mls-logo"},vt=["src","alt"],kt={__name:"houseGrid",props:{house:Object},setup(t){function n(){I(t.house.id,t.house.collectStatus,()=>{t.house.collectStatus=!t.house.collectStatus})}return(r,u)=>(l(),i("div",lt,[e("div",it,[e("a",{target:"_blank",href:t.house.detailUrl},[e("img",{src:t.house.previewPicture,loading:"lazy",alt:t.house.address},null,8,at),u[0]||(u[0]=e("div",{class:"img-mask"},null,-1))],8,nt)]),t.house.isProtected?(l(),b(O,{key:0,class:"lofty-house-mask-grid"})):y("",!0),e("div",rt,[e("p",ct,h(t.house.price),1),e("p",ut,[(l(!0),i(_,null,S(t.house.basic,a=>(l(),i("span",{key:a.key},h(a.text),1))),128))]),e("p",dt,[e("a",{target:"_blank",href:t.house.detailUrl},h(t.house.address),9,ft)]),t.house.showMls?(l(),i("p",gt," MLS# "+h(t.house.mlsListingId),1)):y("",!0)]),e("div",ht,[e("p",{class:"lofty-mls-text",innerHTML:t.house.provided},null,8,yt),t.house.mlsLogo?(l(),i("div",mt,[e("img",{src:t.house.mlsLogo,alt:t.house.mlsOrg.name},null,8,vt)])):y("",!0)]),e("i",{onClick:n,style:{"font-size":"24px"},class:w(["lofty_iconfont",t.house.collectStatus?"lofty-icon-heart-fill":"lofty-icon-heart"])},null,2)]))}},_t={key:0,class:"lofty-feature-listing-grid"},wt={class:"lofty-grid-house-list"},St={key:1,class:"lofty-feature-listing-grid-empty"},bt={__name:"listingGrid",props:{id:String},setup(t){const{list:n,showMore:r,moreText:u,moreClick:a}=x[t.id],m=F(()=>{if(!f)return{width:n.value.length===4?"50%":"33.33%","flex-grow":1}});return(g,c)=>s(n).length>0?(l(),i("div",_t,[e("div",wt,[(l(!0),i(_,null,S(s(n),o=>(l(),b(kt,{style:H(s(m)),house:o,key:o.id},null,8,["style","house"]))),128))]),s(r)?(l(),i("div",{key:0,class:"lofty-more",onClick:c[0]||(c[0]=(...o)=>s(a)&&s(a)(...o))},h(s(u)),1)):y("",!0)])):(l(),i("div",St,c[1]||(c[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)])))}},xt="/feature-listing-gallery.DAH8vgqo.jpg",$t={class:"lofty-house-card-gallery"},Lt={class:"lofty-house-img-gallery"},pt=["href"],Ct=["src","alt"],Mt={class:"lofty-house-info-gallery"},Tt={class:"lofty-house-price"},Et={class:"lofty-house-base"},Nt={class:"lofty-feature-address"},It=["href"],Ot={key:0,class:"lofty-house-id"},jt={class:"lofty-mls-info-gallery"},Pt=["innerHTML"],zt={key:0,class:"lofty-mls-logo"},Bt=["src","alt"],Ut={__name:"houseGallery",props:{house:Object},setup(t){function n(){I(t.house.id,t.house.collectStatus,()=>{t.house.collectStatus=!t.house.collectStatus})}return(r,u)=>(l(),i("div",$t,[e("div",Lt,[e("a",{target:"_blank",href:t.house.detailUrl},[e("img",{src:t.house.previewPicture,loading:"lazy",alt:t.house.address},null,8,Ct),u[0]||(u[0]=e("div",{class:"img-mask"},null,-1))],8,pt),t.house.isProtected?(l(),b(O,{key:0,"show-lock":!s(f)},null,8,["show-lock"])):y("",!0)]),e("div",Mt,[e("p",Tt,h(t.house.price),1),e("p",Et,[(l(!0),i(_,null,S(t.house.basic,a=>(l(),i("span",{key:a.key},h(a.text),1))),128))]),e("p",Nt,[e("a",{target:"_blank",href:t.house.detailUrl},h(t.house.address),9,It)]),t.house.showMls?(l(),i("p",Ot," MLS# "+h(t.house.mlsListingId),1)):y("",!0),e("div",jt,[e("p",{class:"lofty-mls-text",innerHTML:t.house.provided},null,8,Pt),t.house.mlsLogo?(l(),i("div",zt,[e("img",{src:t.house.mlsLogo,alt:t.house.mlsOrg.name},null,8,Bt)])):y("",!0)])]),e("i",{onClick:n,style:{"font-size":"24px"},class:w(["lofty_iconfont",t.house.collectStatus?"lofty-icon-heart-fill":"lofty-icon-heart"])},null,2)]))}},Dt={key:0,class:"lofty-feature-listing-gallery"},Ft=["src"],Ht={class:"gallery-house-content"},At={class:"title-info"},Gt={class:"title"},Rt={key:1,class:"lofty-feature-listing-gallery-empty"},Vt={__name:"listingGallery",props:{id:String,config:Object},setup(t){const{list:n,showMore:r,moreText:u,moreClick:a}=x[t.id],m=LoftyIdxUtils.static_url(xt);return(g,c)=>s(n).length>0?(l(),i("div",Dt,[e("img",{class:"img-background",src:s(m),alt:""},null,8,Ft),c[3]||(c[3]=e("div",{class:"mask"},null,-1)),e("div",Ht,[e("div",At,[e("div",Gt,h(t.config.title),1),c[2]||(c[2]=e("div",{class:"line"},null,-1)),s(r)&&!s(f)?(l(),i("div",{key:0,class:"lofty-more-btn",onClick:c[0]||(c[0]=(...o)=>s(a)&&s(a)(...o))},h(s(u)),1)):y("",!0)]),(l(!0),i(_,null,S(s(n),o=>(l(),b(Ut,{class:"gallery-house-card",key:o.id,house:o},null,8,["house"]))),128))]),s(r)&&s(f)?(l(),i("div",{key:0,class:"lofty-more-btn",onClick:c[1]||(c[1]=(...o)=>s(a)&&s(a)(...o))},h(s(u)),1)):y("",!0)])):(l(),i("div",Rt,c[4]||(c[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)])))}};(async()=>(Q(),N.initState(()=>{var t,n;K(),(n=(t=N.mlsList)==null?void 0:t.forEach)==null||n.call(t,r=>J(r))}),jQuery(".lofty-feature-listing-page").ready(function(){document.querySelectorAll(".lofty-feature-listing-page").forEach(n=>{const r=n.getAttribute("id"),u=A(r);Y(u);const{id:a,$:m,getModuleData:g}=u,c=g().layout||"grid",o=g().layoutConfig;c==="gallery"?M(Vt,{id:a,config:o}).mount(m("#lofty-feature-listing-container")):c==="slider"?M(ot,{id:a,config:o}).mount(m("#lofty-feature-listing-container")):M(bt,{id:a,config:o}).mount(m("#lofty-feature-listing-container"))})})))();
  • lofty-idx/trunk/assets/home-valuation.js

    r3395454 r3413770  
    1 import{u as q,h as F,_ as Y,i as B,g as Z}from"./_plugin-vue_export-helper.BPal9gCL.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.BMSYXHG8.js";import{_ as ee}from"./index.BcF03SbQ.js";import{M as te}from"./icon.B39ECm-d.js";import{C as se}from"./google.DPK_RKJ0.js";import{s as ne}from"./index.DZeflCfp.js";import{n as T}from"./number-format.CLdvQh6j.js";import{T as oe}from"./tooltip.D1R52ez8.js";import{_ as ae}from"./index.DAwEVGKX.js";import"./marker.RpXaiuV5.js";import"./index.CpZgndwv.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.D-Nsc_Tq.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.DZNd_BkT.js";import{_ as ee}from"./index.C-Qy-l5j.js";import{M as te}from"./icon.DUYsWlSZ.js";import{C as se}from"./google.CP7r4vmz.js";import{s as ne}from"./index.CUpw1e8g.js";import{n as T}from"./number-format.CLdvQh6j.js";import{T as oe}from"./tooltip.B9jEbpOe.js";import{_ as ae}from"./index.DAwEVGKX.js";import"./marker.8y9NSRpW.js";import"./reg-verify.CFEt1-g0.js";import"./index.Dm4Bynpm.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/index10.css

    r3333213 r3413770  
    1 .fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.popper{z-index:99999}.popper .arrow,.popper .arrow:before{position:absolute;width:8px;height:8px;background:inherit}.popper .arrow{visibility:hidden}.popper .arrow:before{visibility:visible;content:"";transform:rotate(45deg);border:1px solid;border-color:inherit}.popper[data-popper-placement^=top]>.arrow{bottom:-4px;border-top-color:transparent;border-left-color:transparent}.popper[data-popper-placement^=bottom]>.arrow{top:-4px;border-right-color:transparent;border-bottom-color:transparent}.popper[data-popper-placement^=left]>.arrow{right:-4px;border-left-color:transparent;border-bottom-color:transparent}.popper[data-popper-placement^=right]>.arrow{left:-4px;border-top-color:transparent;border-right-color:transparent}
     1.pop-mask{position:fixed;left:0;top:0;width:100%;height:100%;background-color:#0009;z-index:299900}.pop-mask.active{display:block}.pop-out-close{position:fixed;z-index:300005;top:30px;right:30px;font-size:14px;color:#fff;width:40px;height:40px;line-height:40px;text-align:center;background:#00000080;border-radius:50%;cursor:pointer}.pop-out-close:hover{color:#fff;background:#fff6}.pop{position:fixed;top:0;left:0;z-index:300000;max-height:100%;max-width:100%}.pop .lofty-pop-close-icon{position:absolute;right:20px;top:20px;width:20px;height:20px;cursor:pointer;transform:translateZ(0)}.pop .lofty-pop-close-icon:before{position:absolute;font-size:14px;color:#515666;top:50%;left:50%;transform:translate(-50%,-50%)}.pop.sign-log .lofty-icon-close{top:10px;right:10px}@media (max-width: 600px){.pop{width:100%}.pop.sign-log{width:calc(100% - 30px)}}.pop.fadeIn{top:50%;left:50%;transform:translate(-50%,-50%)}.pop.fadeIn-enter-active,.pop.fadeIn-leave-active{transition:opacity .2s ease}.pop.fadeIn-enter,.pop.fadeIn-leave-to{opacity:0}.pop.bottomToUp{top:auto;left:50%;bottom:0;transform:translate(-50%)}.pop.bottomToUp-enter-active,.pop.bottomToUp-leave-active{transition:transform ease .2s}.pop.bottomToUp-enter,.pop.bottomToUp-leave-to{transform:translate(-50%,100%)}.pop.leftToRight{top:50%;left:0;right:auto;transform:translateY(-50%)}.pop.leftToRight-enter-active,.pop.leftToRight-leave-active{transition:transform ease .2s}.pop.leftToRight-enter,.pop.leftToRight-leave-to{transform:translate(-100%,-50%)}.pop.fadeInRight{top:50%;left:auto;right:0;transform:translateY(-50%)}.pop.fadeInRight-enter-active,.pop.fadeInRight-leave-active{transition:transform ease .2s}.pop.fadeInRight-enter,.pop.fadeInRight-leave-to{transform:translate(100%,-50%)}.pop.scale{top:50%;left:50%;transform:translate(-50%,-50%) scale(1);opacity:1;transition:all ease .2s}.pop.scale-enter-active,.pop.scale-leave-active{transition:all ease .2s}.pop.scale-enter{transform:translate(-50%,-50%) scale(.6);opacity:1}.pop.scale-leave-to{transform:translate(-50%,-50%) scale(1);opacity:0}
  • lofty-idx/trunk/assets/index11.css

    r3333213 r3413770  
    1 .pop-mask{position:fixed;left:0;top:0;width:100%;height:100%;background-color:#0009;z-index:299900}.pop-mask.active{display:block}.pop-out-close{position:fixed;z-index:300005;top:30px;right:30px;font-size:14px;color:#fff;width:40px;height:40px;line-height:40px;text-align:center;background:#00000080;border-radius:50%;cursor:pointer}.pop-out-close:hover{color:#fff;background:#fff6}.pop{position:fixed;top:0;left:0;z-index:300000;max-height:100%;max-width:100%}.pop .lofty-pop-close-icon{position:absolute;right:20px;top:20px;width:20px;height:20px;cursor:pointer;transform:translateZ(0)}.pop .lofty-pop-close-icon:before{position:absolute;font-size:14px;color:#515666;top:50%;left:50%;transform:translate(-50%,-50%)}.pop.sign-log .lofty-icon-close{top:10px;right:10px}@media (max-width: 600px){.pop{width:100%}.pop.sign-log{width:calc(100% - 30px)}}.pop.fadeIn{top:50%;left:50%;transform:translate(-50%,-50%)}.pop.fadeIn-enter-active,.pop.fadeIn-leave-active{transition:opacity .2s ease}.pop.fadeIn-enter,.pop.fadeIn-leave-to{opacity:0}.pop.bottomToUp{top:auto;left:50%;bottom:0;transform:translate(-50%)}.pop.bottomToUp-enter-active,.pop.bottomToUp-leave-active{transition:transform ease .2s}.pop.bottomToUp-enter,.pop.bottomToUp-leave-to{transform:translate(-50%,100%)}.pop.leftToRight{top:50%;left:0;right:auto;transform:translateY(-50%)}.pop.leftToRight-enter-active,.pop.leftToRight-leave-active{transition:transform ease .2s}.pop.leftToRight-enter,.pop.leftToRight-leave-to{transform:translate(-100%,-50%)}.pop.fadeInRight{top:50%;left:auto;right:0;transform:translateY(-50%)}.pop.fadeInRight-enter-active,.pop.fadeInRight-leave-active{transition:transform ease .2s}.pop.fadeInRight-enter,.pop.fadeInRight-leave-to{transform:translate(100%,-50%)}.pop.scale{top:50%;left:50%;transform:translate(-50%,-50%) scale(1);opacity:1;transition:all ease .2s}.pop.scale-enter-active,.pop.scale-leave-active{transition:all ease .2s}.pop.scale-enter{transform:translate(-50%,-50%) scale(.6);opacity:1}.pop.scale-leave-to{transform:translate(-50%,-50%) scale(1);opacity:0}
     1.lofty-dropdown{display:flex;align-items:center;position:relative;border-radius:var(--3104eb64)}.lofty-dropdown:hover{border-color:var(--fcfe897a)}.lofty-dropdown .reverse{display:inline-block;transform:rotate(180deg)}.lofty-dropdown .trigger{display:flex;justify-content:space-between;align-items:center}.lofty-dropdown .lofty-menu{padding:10px;box-sizing:border-box;box-shadow:0 4px 30px #0000001a;border-radius:0;z-index:10030;background:#fff;position:absolute;float:unset;height:unset}@media (max-width: 600px){.lofty-dropdown .lofty-menu{min-width:240px}}@media (max-width: 600px){.lofty-dropdown .lofty-menu-fixed{position:fixed!important;width:100vw!important;bottom:0!important;left:0;top:unset!important;right:unset!important;transition:all .5s ease;transform:translateY(100%)}.lofty-dropdown .lofty-menu-fixed.isOpen{transform:translateY(0)}}.lofty-dropdown .lofty_iconfont{font-size:10px;font-weight:700;color:#1e1e1e}.lofty-dropdown .float-right{float:right}
  • lofty-idx/trunk/assets/index12.css

    r3333213 r3413770  
    1 .lofty-dropdown{display:flex;align-items:center;position:relative;border-radius:var(--3104eb64)}.lofty-dropdown:hover{border-color:var(--fcfe897a)}.lofty-dropdown .reverse{display:inline-block;transform:rotate(180deg)}.lofty-dropdown .trigger{display:flex;justify-content:space-between;align-items:center}.lofty-dropdown .lofty-menu{padding:10px;box-sizing:border-box;box-shadow:0 4px 30px #0000001a;border-radius:0;z-index:10030;background:#fff;position:absolute;float:unset;height:unset}@media (max-width: 600px){.lofty-dropdown .lofty-menu{min-width:240px}}@media (max-width: 600px){.lofty-dropdown .lofty-menu-fixed{position:fixed!important;width:100vw!important;bottom:0!important;left:0;top:unset!important;right:unset!important;transition:all .5s ease;transform:translateY(100%)}.lofty-dropdown .lofty-menu-fixed.isOpen{transform:translateY(0)}}.lofty-dropdown .lofty_iconfont{font-size:10px;font-weight:700;color:#1e1e1e}.lofty-dropdown .float-right{float:right}
     1.input_container{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;position:relative;box-sizing:border-box;background:#fff;border:1px solid #949494;border-radius:2px;padding-left:12px}.input_container:hover,.input_container:focus{border-color:#3858e9}.input_container.disabled{border:solid 1px #ebecf1;background:#f8f9fd}.input_container.disabled.hover,.input_container.disabled.focus{border:solid 1px #ebecf1}.input_container .input_wrap{position:relative;flex:1 0 0;display:flex;height:100%}.input_container .input_wrap .input{width:100%;height:100%;outline:none;border:0!important;box-shadow:none;border-radius:0;background:transparent;box-sizing:border-box;font-size:14px;min-height:30px;margin:0}.input_container .input_wrap .input.left{text-align:left}.input_container .input_wrap .input.center{text-align:center}.input_container .input_wrap .input.right{text-align:right}.input_container .input_wrap .input ::placeholder{line-height:normal}.input_container .input_wrap .search{width:30px;display:flex;align-items:center;justify-content:center;color:#ccc;cursor:pointer}.input_container .input_wrap .clear{position:absolute;z-index:1;right:0;top:0;cursor:pointer;height:100%;width:30px;display:flex;align-items:center;justify-content:center;color:#ccc}
  • lofty-idx/trunk/assets/index2.css

    r3348447 r3413770  
    1 .login-form-view{width:400px;padding:30px;background:#fff}@media (max-width: 600px){.login-form-view{width:calc(100vw - 30px);padding:15px;margin:0 auto}}.login-form-view .sign-title{font-size:22px;font-weight:700;font-family:font-play-bold;line-height:33px;margin-bottom:0;text-align:center;color:#191919}.login-form-view .sign-desc{margin-top:15px;text-align:center;font-family:font-regular;font-size:12px;line-height:18px;color:#505050}.login-form-view .input-item{margin-top:10px;border:1px solid #dadada;outline:none;height:40px;width:100%;padding:10px;box-sizing:border-box;border-radius:0;transition:all .3s}.login-form-view .input-item:focus{border-color:#111}.login-form-view .input-item::placeholder{color:#a8a8a8}.login-form-view .lofty-error-field{border-color:#fb4444}.login-form-view .lofty-error-msg{margin:5px 0 0;line-height:15px;font-size:12px;color:#fb4444}.login-form-view .form-label{font-family:font-regular;font-size:14px;color:#505050;line-height:21px}.login-form-view .form-label .red{color:#f0454c}.login-form-view .password-container{position:relative}.login-form-view .password-container .lofty_iconfont{position:absolute;cursor:pointer;top:22px;color:#a8a8a8}.login-form-view .password-container .lofty-icon-cancel_02{right:35px}.login-form-view .password-container .lofty-icon-password,.login-form-view .password-container .lofty-icon-view-active{right:10px}.login-form-view .disclaimer-container{margin-top:20px;display:flex}.login-form-view .disclaimer-container .policy-text{margin-left:10px;font-size:12px;line-height:18px;font-family:font-regular;color:#a8a8a8}.login-form-view .submit-button{height:40px;font-size:14px;font-weight:700;line-height:38px;text-align:center;margin-top:20px;border:0;width:100%;padding:0;cursor:pointer}.login-form-view .divider{display:flex;align-items:center;text-align:center;margin-top:16px}.login-form-view .divider:before,.login-form-view .divider:after{content:"";flex:1;border-bottom:1px solid #ddd}.login-form-view .divider>span{color:#a8a8a8;font-size:12px;margin:0 8px}.login-form-view .third-party-login{height:50px;display:flex;align-items:center;justify-content:center;gap:30px;margin-top:10px;position:relative}.login-form-view .third-party-login img{cursor:pointer;width:30px;height:30px;z-index:2;position:relative}.login-form-view .third-party-login .google-btn-container{position:relative;height:30px}.login-form-view .third-party-login .google-btn-container #gmail-div{position:absolute;left:0;top:0;width:30px;height:30px;z-index:1;opacity:0;cursor:pointer}.login-form-view .change-login-type{margin-top:10px;text-align:center;font-family:font-regular;font-size:14px;color:#505050}
     1.login-form-view{width:400px;padding:30px;background:#fff}@media (max-width: 600px){.login-form-view{width:calc(100vw - 30px);padding:15px;margin:0 auto}}.login-form-view .lofty-a-link{color:#4c84ff}.login-form-view .sign-title{font-size:22px;font-weight:700;font-family:font-play-bold;line-height:33px;margin-bottom:0;text-align:center;color:#191919}.login-form-view .sign-desc{margin-top:15px;text-align:center;font-family:font-regular;font-size:12px;line-height:18px;color:#505050}.login-form-view .input-item{margin-top:10px;border:1px solid #dadada;outline:none;height:40px;width:100%;padding:10px;box-sizing:border-box;border-radius:0;transition:all .3s}.login-form-view .input-item:focus{border-color:#111}.login-form-view .input-item::placeholder{color:#a8a8a8}.login-form-view .lofty-error-field{border-color:#fb4444}.login-form-view .lofty-error-msg{margin:5px 0 0;line-height:15px;font-size:12px;color:#fb4444}.login-form-view .form-label{font-family:font-regular;font-size:14px;color:#505050;line-height:21px}.login-form-view .form-label .red{color:#f0454c}.login-form-view .form-label.password-label{display:flex;justify-content:space-between;align-items:center}.login-form-view .form-label.password-label a{font-size:14px}.login-form-view .password-container{position:relative}.login-form-view .password-container .lofty_iconfont{position:absolute;cursor:pointer;top:22px;color:#a8a8a8}.login-form-view .password-container .lofty-icon-cancel_02{right:35px}.login-form-view .password-container .lofty-icon-password,.login-form-view .password-container .lofty-icon-view-active{right:10px}.login-form-view .disclaimer-container{margin-top:20px;display:flex}.login-form-view .disclaimer-container .policy-text{margin-left:10px;font-size:12px;line-height:18px;font-family:font-regular;color:#a8a8a8}.login-form-view .submit-button{height:40px;font-size:14px;font-weight:700;line-height:38px;text-align:center;margin-top:20px;border:0;width:100%;padding:0;cursor:pointer}.login-form-view .divider{display:flex;align-items:center;text-align:center;margin-top:16px}.login-form-view .divider:before,.login-form-view .divider:after{content:"";flex:1;border-bottom:1px solid #ddd}.login-form-view .divider>span{color:#a8a8a8;font-size:12px;margin:0 8px}.login-form-view .third-party-login{height:50px;display:flex;align-items:center;justify-content:center;gap:30px;margin-top:10px;position:relative}.login-form-view .third-party-login img{cursor:pointer;width:30px;height:30px;z-index:2;position:relative}.login-form-view .third-party-login .google-btn-container{position:relative;height:30px}.login-form-view .third-party-login .google-btn-container #gmail-div{position:absolute;left:0;top:0;width:30px;height:30px;z-index:1;opacity:0;cursor:pointer}.login-form-view .change-login-type{margin-top:10px;text-align:center;font-family:font-regular;font-size:14px;color:#505050}
  • lofty-idx/trunk/assets/index9.css

    r3333213 r3413770  
    1 .input_container{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;position:relative;box-sizing:border-box;background:#fff;border:1px solid #949494;border-radius:2px;padding-left:12px}.input_container:hover,.input_container:focus{border-color:#3858e9}.input_container.disabled{border:solid 1px #ebecf1;background:#f8f9fd}.input_container.disabled.hover,.input_container.disabled.focus{border:solid 1px #ebecf1}.input_container .input_wrap{position:relative;flex:1 0 0;display:flex;height:100%}.input_container .input_wrap .input{width:100%;height:100%;outline:none;border:0!important;box-shadow:none;border-radius:0;background:transparent;box-sizing:border-box;font-size:14px;min-height:30px;margin:0}.input_container .input_wrap .input.left{text-align:left}.input_container .input_wrap .input.center{text-align:center}.input_container .input_wrap .input.right{text-align:right}.input_container .input_wrap .input ::placeholder{line-height:normal}.input_container .input_wrap .search{width:30px;display:flex;align-items:center;justify-content:center;color:#ccc;cursor:pointer}.input_container .input_wrap .clear{position:absolute;z-index:1;right:0;top:0;cursor:pointer;height:100%;width:30px;display:flex;align-items:center;justify-content:center;color:#ccc}
     1.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.popper{z-index:99999}.popper .arrow,.popper .arrow:before{position:absolute;width:8px;height:8px;background:inherit}.popper .arrow{visibility:hidden}.popper .arrow:before{visibility:visible;content:"";transform:rotate(45deg);border:1px solid;border-color:inherit}.popper[data-popper-placement^=top]>.arrow{bottom:-4px;border-top-color:transparent;border-left-color:transparent}.popper[data-popper-placement^=bottom]>.arrow{top:-4px;border-right-color:transparent;border-bottom-color:transparent}.popper[data-popper-placement^=left]>.arrow{right:-4px;border-left-color:transparent;border-bottom-color:transparent}.popper[data-popper-placement^=right]>.arrow{left:-4px;border-top-color:transparent;border-right-color:transparent}
  • lofty-idx/trunk/assets/listing-detail.js

    r3395454 r3413770  
    1 import{s as Ct,h as Q,g as St,i as T,u as st,_ as J}from"./_plugin-vue_export-helper.BPal9gCL.js";import{c as At}from"./module.CKjUdtPN.js";import{s as It,a as xt}from"./popup-mls.0QQMMjaf.js";import{u as rt}from"./user.BMSYXHG8.js";import{g as Lt,f as Tt}from"./house-format.CUT0UGLt.js";import{P as ot}from"./index.CpZgndwv.js";import{s as Mt,c as nt}from"./index.DZeflCfp.js";import{v as Dt,d as Pt,S as Et,g as Vt,a as $t,c as Bt,e as Ht}from"./mls-compliance.C0pTpKuj.js";import{k as K,r as w,l as Z,o as s,d as j,w as E,u as e,g as u,e as t,f as G,t as C,j as V,a as it,c as X,D as q,H as pt,F as D,h as H,I as Rt,z as vt,q as P,x as B,y as M,p as lt,m as z,s as tt,v as gt,J as qt,n as et,i as Ot,K as ft,L as Gt}from"./vendor.DSMCY3-_.js";import{T as Nt}from"./tooltip.D1R52ez8.js";import{_ as at}from"./index.OXpUu6sz.js";import{f as U}from"./date-format.BrUodQAJ.js";import{I as Ut}from"./IconCopy.DdKisG8J.js";import{u as zt}from"./useCopy.CluLpl8Z.js";import{_ as jt}from"./index.BcF03SbQ.js";import{M as mt}from"./icon.B39ECm-d.js";import{n as Zt}from"./number-format.CLdvQh6j.js";import{_ as Yt}from"./index.CJTlbLLV.js";import{a as Kt}from"./popup-trigger.rYjzm3pp.js";import{a as Ft}from"./auto-login.C-YIkDVx.js";import"./useConfirm.BzkUN0E6.js";import"./google.DPK_RKJ0.js";import"./outsideclick.Bw_hMuzW.js";import"./marker.RpXaiuV5.js";import"./feature-listing-slider.BlB68n6i.js";const Qt={key:0,class:"pop-protect-container"},Jt={class:"protect-footer"},Xt={key:1,class:"pop-protect-container"},Wt={class:"protect-content"},te={class:"lofty-link"},ee={class:"protect-footer"},oe=["disabled"],se={__name:"protectPop",props:{isDetailPage:{type:Boolean,default:!1}},setup(m){const{loginStatus:p,vowStatus:o,user:r}=rt,v=K("popRef");function i(a){Mt(()=>{m.isDetailPage||window.location.reload()},"",a)}const d=w(!1);function l(){d.value||Dt(()=>{d.value=!0})}return Z(()=>{v.value.open()}),(a,c)=>(s(),j(ot,{class:"lofty-under-mask-pop",ref_key:"popRef",ref:v,popMaskClass:"lofty-filter-blur-mask",allowClose:!1},{default:E(()=>[e(p)?e(o)?V("",!0):(s(),u("div",Xt,[c[6]||(c[6]=t("div",{class:"title"}," Email Verification Required ",-1)),t("div",Wt,[c[4]||(c[4]=G(" Go Verify your email at ")),t("span",te,C(e(r).account),1),c[5]||(c[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",ee,[t("div",{class:"footer-confirm",style:{"margin-left":"auto"},disabled:e(d),onClick:l},"Verify Your Email",8,oe)])])):(s(),u("div",Qt,[c[2]||(c[2]=t("div",{class:"title"}," Free Account Required ",-1)),c[3]||(c[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:c[0]||(c[0]=y=>i("login"))},"Sign In"),t("div",{class:"footer-confirm",onClick:c[1]||(c[1]=y=>i("register"))},"Register")])]))]),_:1},512))}},O={};function ne(m){const p=m.getModuleData(),o={module:m,listingId:p.listingId,sold:p.sold,collectStatus:w(!1),previewPictures:it(p.previewPictures),info:w({}),location:it({lat:0,lng:0,type:"location"}),schoolGroups:w([]),schoolMarkers:X(()=>{const v=[];return o.schoolGroups.value.forEach(i=>{i.data.forEach(d=>{v.push({id:d.id,hjId:d.hjId,key:`${d.latitude}-${d.longitude}`,lat:+d.latitude,lng:+d.longitude,name:d.name,icon:"lofty-icon-school2",group:i.label})})}),v}),tourType:w("tour_info"),dayList:it([]),dayIndex:w(0)},r={async getDetailInfo(){var y,k,h,A,b,L,_;if(!o.listingId){if(Ct()){console.error("listingId is not found",p);return}return}const v={data:{listingId:o.listingId,isSold:o.sold},headers:{trackingpagekey:o.sold?"sold_listing_detail":"listing_detail"}},{data:i}=await Q.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,(k=(y=i.info)==null?void 0:y.mlsOrg)!=null&&k.id&&Pt(i.info.mlsOrg.id);const d=(A=(h=rt.mlsList).find)==null?void 0:A.call(h,f=>f.id===i.info.mlsOrg.id),l=document.querySelector(".lofty-mls-info");if(d&&It(d),(L=(b=i.info)==null?void 0:b.mlsOrg)!=null&&L.id&&Et.includes(i.info.mlsOrg.id)){const f=await Vt([o.listingId],o.sold);if(f&&Object.keys(f).length){const I=f[o.listingId]||!1;I||(o.info.value={...o.info.value,mlsOrg:{...(_=o.info.value)==null?void 0:_.mlsOrg,template:$t(o.info.value,I,"template")}},l&&(l.innerHTML=o.info.value.mlsOrg.template))}}l&&(l.style.display="block");const a=St(),{isPopup:c}=a;if(Lt(i.info)&&c!=="0"){const f=document.createElement("div");document.body.appendChild(f),q(se,{isDetailPage:!0}).mount(f)}},async getNearBySchool(){const v={page:1,pageSize:10,status:o.sold?"sold":"active",miles:5},{data:i}=await Q.get(`/search/listing/detailNearBy/${o.listingId}`,{data:v});if(i&&i.length>0){const d=i.find(l=>l.type==="school");d!=null&&d.groups&&(o.schoolGroups.value=d.groups)}},getDayList(){const v=Date.now(),i=24*60*60*1e3;for(let d=0;d<30;d++){const l=new Date(v+d*i);l.setHours(0,0,0,0);const a=l.getDate();o.dayList.push({month:l.toLocaleString("en-US",{month:"short"}),week:l.toLocaleString("en-US",{weekday:"short"}),dayNum:a,date:l})}}};return r.getDayList(),r.getNearBySchool(),{...o,...r,onLoad:r.getDetailInfo()}}function ie(m){O[m.id]=ne(m)}const le={key:0,class:"mobile-previewImg-gallery-content"},ae=["src"],re=["initialSlide"],ce=["src"],de={__name:"previewImgPop",props:{imgList:{type:Array,default:()=>[]},previewImgIndex:{type:Number,default:0}},emits:["close"],setup(m,{emit:p}){const o=w(null),r=p;function v(){r("close"),o.value.$el.parentNode.remove()}function i(){const l=document.querySelector(".swiper-previewImg-container");Object.assign(l,{navigation:{prevEl:".previewImg-prev-button",nextEl:".previewImg-next-button"},injectStyles:[`:host svg {
     1import{s as Ct,h as Q,g as St,i as T,u as st,_ as J}from"./_plugin-vue_export-helper.D-Nsc_Tq.js";import{c as At}from"./module.CKjUdtPN.js";import{s as It,a as xt}from"./popup-mls.CCmmPq7_.js";import{u as rt}from"./user.DZNd_BkT.js";import{g as Lt,f as Tt}from"./house-format.66hvz3g4.js";import{P as ot}from"./index.Dm4Bynpm.js";import{s as Mt,c as nt}from"./index.CUpw1e8g.js";import{v as Dt,d as Pt,S as Et,g as Vt,a as $t,c as Bt,e as Ht}from"./mls-compliance.CUyE_Kkr.js";import{k as K,r as w,l as Z,o as s,d as j,w as E,u as e,g as u,e as t,f as G,t as C,j as V,a as it,c as X,D as q,H as pt,F as D,h as H,I as Rt,z as vt,q as P,x as B,y as M,p as lt,m as z,s as tt,v as gt,J as qt,n as et,i as Ot,K as ft,L as Gt}from"./vendor.DSMCY3-_.js";import{T as Nt}from"./tooltip.B9jEbpOe.js";import{_ as at}from"./index.QzWxvJng.js";import{f as U}from"./date-format.BrUodQAJ.js";import{I as Ut}from"./IconCopy.Bf0ZYCRd.js";import{u as zt}from"./useCopy.CluLpl8Z.js";import{_ as jt}from"./index.C-Qy-l5j.js";import{M as mt}from"./icon.DUYsWlSZ.js";import{n as Zt}from"./number-format.CLdvQh6j.js";import{_ as Yt}from"./index.D5xvIcLt.js";import{a as Kt}from"./popup-trigger.sn6NHdGO.js";import{a as Ft}from"./auto-login.D9gGgNTh.js";import"./useConfirm.C3wM7YYe.js";import"./google.CP7r4vmz.js";import"./reg-verify.CFEt1-g0.js";import"./outsideclick.Bw_hMuzW.js";import"./marker.8y9NSRpW.js";import"./feature-listing-slider.K4RTEX_D.js";const Qt={key:0,class:"pop-protect-container"},Jt={class:"protect-footer"},Xt={key:1,class:"pop-protect-container"},Wt={class:"protect-content"},te={class:"lofty-link"},ee={class:"protect-footer"},oe=["disabled"],se={__name:"protectPop",props:{isDetailPage:{type:Boolean,default:!1}},setup(m){const{loginStatus:p,vowStatus:o,user:r}=rt,v=K("popRef");function i(a){Mt(()=>{m.isDetailPage||window.location.reload()},"",a)}const d=w(!1);function l(){d.value||Dt(()=>{d.value=!0})}return Z(()=>{v.value.open()}),(a,c)=>(s(),j(ot,{class:"lofty-under-mask-pop",ref_key:"popRef",ref:v,popMaskClass:"lofty-filter-blur-mask",allowClose:!1},{default:E(()=>[e(p)?e(o)?V("",!0):(s(),u("div",Xt,[c[6]||(c[6]=t("div",{class:"title"}," Email Verification Required ",-1)),t("div",Wt,[c[4]||(c[4]=G(" Go Verify your email at ")),t("span",te,C(e(r).account),1),c[5]||(c[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",ee,[t("div",{class:"footer-confirm",style:{"margin-left":"auto"},disabled:e(d),onClick:l},"Verify Your Email",8,oe)])])):(s(),u("div",Qt,[c[2]||(c[2]=t("div",{class:"title"}," Free Account Required ",-1)),c[3]||(c[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:c[0]||(c[0]=y=>i("login"))},"Sign In"),t("div",{class:"footer-confirm",onClick:c[1]||(c[1]=y=>i("register"))},"Register")])]))]),_:1},512))}},O={};function ne(m){const p=m.getModuleData(),o={module:m,listingId:p.listingId,sold:p.sold,collectStatus:w(!1),previewPictures:it(p.previewPictures),info:w({}),location:it({lat:0,lng:0,type:"location"}),schoolGroups:w([]),schoolMarkers:X(()=>{const v=[];return o.schoolGroups.value.forEach(i=>{i.data.forEach(d=>{v.push({id:d.id,hjId:d.hjId,key:`${d.latitude}-${d.longitude}`,lat:+d.latitude,lng:+d.longitude,name:d.name,icon:"lofty-icon-school2",group:i.label})})}),v}),tourType:w("tour_info"),dayList:it([]),dayIndex:w(0)},r={async getDetailInfo(){var y,k,h,A,b,L,_;if(!o.listingId){if(Ct()){console.error("listingId is not found",p);return}return}const v={data:{listingId:o.listingId,isSold:o.sold},headers:{trackingpagekey:o.sold?"sold_listing_detail":"listing_detail"}},{data:i}=await Q.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,(k=(y=i.info)==null?void 0:y.mlsOrg)!=null&&k.id&&Pt(i.info.mlsOrg.id);const d=(A=(h=rt.mlsList).find)==null?void 0:A.call(h,f=>f.id===i.info.mlsOrg.id),l=document.querySelector(".lofty-mls-info");if(d&&It(d),(L=(b=i.info)==null?void 0:b.mlsOrg)!=null&&L.id&&Et.includes(i.info.mlsOrg.id)){const f=await Vt([o.listingId],o.sold);if(f&&Object.keys(f).length){const I=f[o.listingId]||!1;I||(o.info.value={...o.info.value,mlsOrg:{...(_=o.info.value)==null?void 0:_.mlsOrg,template:$t(o.info.value,I,"template")}},l&&(l.innerHTML=o.info.value.mlsOrg.template))}}l&&(l.style.display="block");const a=St(),{isPopup:c}=a;if(Lt(i.info)&&c!=="0"){const f=document.createElement("div");document.body.appendChild(f),q(se,{isDetailPage:!0}).mount(f)}},async getNearBySchool(){const v={page:1,pageSize:10,status:o.sold?"sold":"active",miles:5},{data:i}=await Q.get(`/search/listing/detailNearBy/${o.listingId}`,{data:v});if(i&&i.length>0){const d=i.find(l=>l.type==="school");d!=null&&d.groups&&(o.schoolGroups.value=d.groups)}},getDayList(){const v=Date.now(),i=24*60*60*1e3;for(let d=0;d<30;d++){const l=new Date(v+d*i);l.setHours(0,0,0,0);const a=l.getDate();o.dayList.push({month:l.toLocaleString("en-US",{month:"short"}),week:l.toLocaleString("en-US",{weekday:"short"}),dayNum:a,date:l})}}};return r.getDayList(),r.getNearBySchool(),{...o,...r,onLoad:r.getDetailInfo()}}function ie(m){O[m.id]=ne(m)}const le={key:0,class:"mobile-previewImg-gallery-content"},ae=["src"],re=["initialSlide"],ce=["src"],de={__name:"previewImgPop",props:{imgList:{type:Array,default:()=>[]},previewImgIndex:{type:Number,default:0}},emits:["close"],setup(m,{emit:p}){const o=w(null),r=p;function v(){r("close"),o.value.$el.parentNode.remove()}function i(){const l=document.querySelector(".swiper-previewImg-container");Object.assign(l,{navigation:{prevEl:".previewImg-prev-button",nextEl:".previewImg-next-button"},injectStyles:[`:host svg {
    22        width: ${T?"6px":"8px"};
    33      }`,`:host .swiper-button-disabled {
  • lofty-idx/trunk/assets/listing.js

    r3395454 r3413770  
    1 import{u as K,d as pe,g as le,h as F,o as Le,i as se,_ as Z}from"./_plugin-vue_export-helper.BPal9gCL.js";import{c as Ge}from"./module.CKjUdtPN.js";import{r as f,c as J,a as Q,b as ke,o as d,d as R,w as ie,e as a,t as S,u as c,f as Y,g as h,h as G,F as I,n as me,i as Ae,j as L,k as Ve,l as Ne,m as X,p as ge,q as E,v as Se,s as Pe,x as q,y as H,z as B,A as $e,B as Ce,C as be,T as fe,D as ue,E as Me,G as Te}from"./vendor.DSMCY3-_.js";import{i as Ie}from"./index.Du3p49kO.js";import{s as ze}from"./loading.BdqyMKJZ.js";import{m as je,l as Je,_ as xe}from"./index.BcF03SbQ.js";import{g as Fe,f as qe}from"./house-format.CUT0UGLt.js";import{S as Ke,g as Ze,a as We,c as Ye,v as Qe,b as Xe}from"./mls-compliance.C0pTpKuj.js";import{s as De,c as et}from"./index.DZeflCfp.js";import{c as Be,_ as tt,a as ot}from"./mobileFilter.BUk6F300.js";import{_ as He}from"./index.OXpUu6sz.js";import{P as st}from"./index.CpZgndwv.js";import{_ as it}from"./index.BIsjoQ8l.js";import{p as at}from"./standard.DaFkfDIs.js";import{M as ye}from"./marker.RpXaiuV5.js";import{d as Ue}from"./outsideclick.Bw_hMuzW.js";import{s as nt}from"./service.BLsNo1Yg.js";import{u as _e}from"./user.BMSYXHG8.js";import{l as lt}from"./popup-trigger.rYjzm3pp.js";import{a as rt}from"./auto-login.C-YIkDVx.js";import{a as ut,s as ct}from"./popup-mls.0QQMMjaf.js";import"./date-format.BrUodQAJ.js";import"./index.CJT61Udz.js";import"./index.DAwEVGKX.js";import"./number-format.CLdvQh6j.js";import"./google.DPK_RKJ0.js";import"./index.CDZjPkAd.js";import"./useConfirm.BzkUN0E6.js";const Re=K.getTimeZone(),ae={};function dt(t){const e={cancelList:null,cancelMap:null,module:t,hasMap:f(!0),showMap:f(!K.isMobile),featureListingName:f(""),listingType:J(()=>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:Q([]),listingSort:f("RELEVANCE"),currPage:f(1),pageSize:f(12),address:f(""),condition:Q({}),uiConfig:Q({}),sold:f(!1),map:f(null),zoom:f(14),mapSyncList:f(!1),rect:null,mapSyncType:f(""),mapPath:f(""),needMapPath:J(()=>["mapArea","polygon"].includes(e.mapSyncType.value)),mapRadius:f([]),polygonPath:f([]),markerData:Q({aggregation:[],house:[],school:[],activeHouse:null,activeHouseKey:1}),showSchool:f(!1),schoolData:{},drawing:f(!1),geometry:f([]),shortCodeConfig:f({}),isShortCode:J(()=>!!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=le();if(s.mlsOrgId&&s.complianceCheck&&(o.mlsOrgId=s.mlsOrgId,o.complianceCheck=s.complianceCheck),e.mapSyncList.value){let M=n.formatCondition();if(e.mapSyncType.value==="radius")M.location={mapRadius:e.mapRadius.value};else if(e.needMapPath.value&&(M.location={mapPath:e.mapPath.value},!e.mapPath.value))return;o.condition=JSON.stringify(M)}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);const g=await F.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;const P=r.querySelectorAll(".lofty-house-tag"),O=[];for(const M of g.data.listings)Ke.includes(M.mlsOrgId)&&O.push(M.id);if(O!=null&&O.length){const M=await Ze(O,e.listingType.value==="sold-listing");M&&Object.keys(M).length&&e.listings.value.forEach((U,V)=>{const ee=M[U.id]||!1;e.listings.value[V]={...U,mlsOrg:{...U.mlsOrg,cardTemplate:We(U,ee,"cardTemplate")}},P[V]&&(P[V].innerHTML=e.listings.value[V].mlsOrg.cardTemplate)})}P.forEach(M=>{M.style.display="block"}),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:K.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=le();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();const r=await F.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=[];const i=await F.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 F.post("/search/mapPath",o);e.mapPath.value=s.data.regionId},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");Ye(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=()=>{De(()=>{window.location.reload()},"","register")}),r.querySelector(".lofty-login")&&(r.querySelector(".lofty-login").onclick=()=>{De(()=>{window.location.reload()},"","login")}),r.querySelector(".lofty-verify")&&(r.querySelector(".lofty-verify").onclick=()=>{Qe()}))})}},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=le();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=le();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=le();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&&(o.mapRadius||(o.mapRadius=JSON.stringify(r.location.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=Je.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=Q(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 ht(t){ae[t.id]=dt(t)}const pt={class:"lofty-show-more-name"},gt={key:0},mt={class:"lofty-more-panel"},ft={class:"lofty-more-filter-title"},yt={class:"lofty-more-filter-count"},vt={class:"lofty-group-name"},wt={class:"lofty-group-wrapper"},St={class:"lofty-condition-label"},Ct={__name:"moreFilter",props:{moreConfigs:{type:Array,required:!0},condition:Object,uiConfig:Object},setup(t){const e=t,l=J(()=>{const o=new Set;return e.moreConfigs.forEach(s=>{s.conditions.forEach(i=>{o.add(i.name)})}),o}),n=J(()=>{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(),R(He,{class:"lofty-more-box",right:0,menuStyle:{paddingRight:0},clickMenuClose:!1,"fit-width":!1},{menu:ie(()=>[a("div",mt,[a("div",ft,[a("div",yt,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),Y(" Clear")]))]),(d(!0),h(I,null,G(t.moreConfigs,i=>(d(),h("div",{class:"lofty-condition-group",key:i.name},[a("p",vt,S(i.nameText),1),a("div",wt,[(d(!0),h(I,null,G(i.conditions,r=>(d(),h("div",{key:r.name,class:"lofty-condition-label-input",style:me({width:r.inputType==="keyWord"?"100%":""})},[a("p",St,[a("span",null,S(r.label),1)]),(d(),R(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",pt,[s[0]||(s[0]=Y("More ")),c(n)?(d(),h("span",gt,"("+S(c(n))+")",1)):L("",!0)])]),_:1}))}},bt={class:"lofty-listing-search"},Lt={key:1,class:"lofty-multi-filter"},kt=["disabled"],Pt={class:"save-search-pop-container"},Mt={class:"save-search-pop-content"},Tt={__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:O,sold:M,zoom:U,address:V,mapSyncList:ee,mapSyncType:A,removeMapTag:te,isShortCode:W}=ae[e.id],[T,k,N,ne]=[f([]),f([]),f([]),f([])],ce=J(()=>{if(ee.value){if(A.value==="mapArea")return["Map Area"];if(A.value==="polygon")return["Polygon Search"];if(A.value==="radius")return["Radius Search"]}return[]}),de=f({});async function ve(){const j={data:{isSold:M.value},headers:{}};W.value||(j.headers.trackingpagekey=M.value?"sold_listing":"search");const w=await F.get("/search/center/conditions",j);w.data.configs.forEach(b=>{let D=null;b.conditions.forEach(($,we)=>{$.name==="location"&&(D=we,de.value=$),$.inputType==="suggestion"&&!s[$.name]&&(s[$.name]={}),["multiSelect","singleSelect","keyWord"].includes($.inputType)&&!s[$.name]&&(s[$.name]=[])}),D!==null&&b.conditions.splice(D,1)}),T.value=w.data.configs.filter(b=>b.conditions.length>0),ne.value=JSON.parse(JSON.stringify(T.value));let _=0;T.value.forEach(b=>{b.conditions.forEach(D=>{_<4&&["singleSelect","multiSelect","inputBox","checkBox"].includes(D.inputType)&&(k.value.push(D),_++)}),b.conditions=b.conditions.filter(D=>!k.value.some($=>$.name===D.name)),b.conditions.length>0&&N.value.push(b)}),ge(s,()=>{n.value=1,o()})}const oe=Ve("popRef");function he(){et(()=>{oe.value.open()})}Ne(()=>{ve()});const v=J(()=>Object.values(i()).length===0&&!A.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 z(){let j=p.value.trim();if(j){const w={condition:i(),uiConfig:O,address:V.value,listingSort:P.value,currPage:n.value,pageSize:u.value,zoom:U.value,timezone:K.getTimeZone()};if(A.value==="polygon"&&(w.polygonPath=y.value),A.value==="mapArea"){const b=g(),D=b.split(",");w.rect=b;let $=[{lat:D[0],lng:D[1]},{lat:D[0],lng:D[3]},{lat:D[2],lng:D[3]},{lat:D[2],lng:D[1]}];$=$.map(we=>JSON.stringify(we)),w.condition.location={mapPath:$}}r(w);const _={saveName:j,searchCondition:JSON.stringify(w),mailFrequency:m.value};try{const b=await F.post("/wp-plugin/save-search/saveSearch",{data:_});b.status.code===0&&(p.value="",K.toast(b.data),oe.value.close())}catch(b){console.error("save-search/saveSearch",b)}}}function x(){oe.value.close()}return(j,w)=>(d(),h("div",bt,[X(tt,{class:"location-suggestion",modelValue:c(s).location,"onUpdate:modelValue":w[0]||(w[0]=_=>c(s).location=_),config:c(de),"custom-tag":c(ce),onRemoveCustomTag:c(te)},null,8,["modelValue","config","custom-tag","onRemoveCustomTag"]),c(se)?(d(),R(ot,{key:0,condition:c(s),mobileConfigs:c(ne),uiConfig:c(O),counts:c(l),onSaveSearch:he},null,8,["condition","mobileConfigs","uiConfig","counts"])):(d(),h("div",Lt,[(d(!0),h(I,null,G(c(k),_=>(d(),R(Ae(c(Be)[_.inputType]),{modelValue:c(s)[_.name],"onUpdate:modelValue":b=>c(s)[_.name]=b,class:"lofty-filter-block","show-default-label":!0,"fit-width":!1,uiConfig:c(O),config:_,outSide:""},null,8,["modelValue","onUpdate:modelValue","uiConfig","config"]))),256)),c(N).length>0?(d(),R(Ct,{key:0,class:"lofty-filter-block",moreConfigs:c(N),uiConfig:c(O),condition:c(s)},null,8,["moreConfigs","uiConfig","condition"])):L("",!0),c(M)?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,kt))])),X(st,{ref_key:"popRef",ref:oe,class:"save-search-pop"},{default:ie(()=>[a("div",Pt,[w[6]||(w[6]=a("div",{class:"title"},"SAVE THIS SEARCH",-1)),a("div",Mt,[w[4]||(w[4]=a("div",{class:"label"},"Name This Search",-1)),E(a("input",{"onUpdate:modelValue":w[1]||(w[1]=_=>Pe(p)?p.value=_:null),placeholder:"Type Something"},null,512),[[Se,c(p)]]),w[5]||(w[5]=a("div",{class:"label mt20"},"Property Alert",-1)),X(it,{class:"mt20",modelValue:c(m),"onUpdate:modelValue":w[2]||(w[2]=_=>Pe(m)?m.value=_:null),list:C},null,8,["modelValue"])]),a("div",{class:"save-search-footer"},[a("div",{class:"footer-cancel",onClick:x},"Cancel"),a("div",{class:"footer-save lofty-btn",onClick:z},"Save")])])]),_:1},512)]))}},Dt={class:"lofty-listing-top"},_t={key:0,class:"lofty-page-title"},Rt={key:1,class:"lofty-page-title"},Et={key:0},Ot={key:0,class:"lofty-current-filter"},At={key:1,class:"lofty-map-filter"},Nt={style:{margin:"0 10px"}},$t={class:"lofty-sort-list"},It=["onClick"],jt={class:"lofty_iconfont lofty-icon-checked"},Bt={class:"lofty-filter-name"},Ht={__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:O}=ae[e.id],M=J(()=>l.value?l.value.toString().replace(/\B(?=(\d{3})+(?!\d))/g,","):"0"),U=J(()=>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"),V=J(()=>g.value?A.value:ee.value),ee=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)"}]),A=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)"}]),te=J(()=>{var T;return(T=V.value.find(k=>k.value===n.value))==null?void 0:T.label});function W(T){n.value!==T.value&&(n.value=T.value,u.value=1,s())}return Ne(()=>{O()}),(T,k)=>E((d(),h("div",Dt,[c(l)===0?(d(),h("p",_t,"0 Properties")):(d(),h("p",Rt,[Y(S(c(M))+" "+S(c(U))+" ",1),c(y)?(d(),h("span",Et," In "+S(c(y)),1)):L("",!0)])),X(He,{class:"lofty-sort-filter",top:40,right:c(se)?"auto":0,left:c(se)?0:"auto","fit-width":!1,hideArrow:!0},{menu:ie(()=>[a("ul",$t,[(d(!0),h(I,null,G(c(V),N=>(d(),h("li",{class:"lofty-filter-item",onClick:ne=>W(N)},[Y(S(N.label)+" ",1),E(a("i",jt,null,512),[[q,c(n)===N.value]])],8,It))),256))])]),default:ie(()=>[c(se)?(d(),h("span",Ot,[Y(S(c(te))+" ",1),k[2]||(k[2]=a("i",{class:"lofty_iconfont lofty-icon-sort_04"},null,-1))])):(d(),h("span",At,[k[3]||(k[3]=a("span",{style:{color:"#A8A8A8"}},"Sort by",-1)),a("span",Nt,S(c(te)),1),k[4]||(k[4]=a("i",{class:"lofty_iconfont lofty-icon-sort_04"},null,-1))]))]),_:1},8,["right","left"]),!c(se)&&c(i)?(d(),h("span",{key:2,class:"lofty-map-filter",onClick:k[0]||(k[0]=(...N)=>c(P)&&c(P)(...N))},[a("span",Bt,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(se)&&c(i)?(d(),h("div",{key:3,class:"lofty-map-mobile-btn",onClick:k[1]||(k[1]=(...N)=>c(P)&&c(P)(...N))},k[6]||(k[6]=[a("i",{class:"lofty_iconfont lofty-icon-map_01"},null,-1),a("span",null,"Map",-1)]))):L("",!0)],512)),[[q,!c(se)||!c(r)||!c(i)]])}},Ut={__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(),R(at,{key:0,totalPage:c(n),onPageChange:s,pageSize:24,noScroll:!0,pageNum:c(l)},null,8,["totalPage","pageNum"])):L("",!0)}},Gt={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)}},Vt={class:"select-wrapper"},zt={ref:"switch"},Jt={class:"label-txt"},xt=["onClick"];function Ft(t,e,l,n,u,o){const s=$e("out-side-click");return E((d(),h("div",Vt,[a("div",zt,[a("span",Jt,S(l.value.label),1),a("span",{class:H(["lofty_iconfont lofty-icon-arrow-down",{up:u.showList}])},null,2)],512),E(a("div",{class:"data-list",id:"select-radius-list",onWheel:B(()=>{},["stop"]),onDrag:B(()=>{},["stop"]),onTouchmove:B(()=>{},["stop"]),onTouchstart:B(()=>{},["stop"]),onTouchend:B(()=>{},["stop"])},[a("ul",null,[(d(!0),h(I,null,G(l.dataList,(i,r)=>(d(),h("li",{key:r,onClick:y=>o.changeSelect(i)},S(i.label),9,xt))),128))])],544),[[q,u.showList]])])),[[s,()=>{u.showList=!1}]])}const qt=Z(Gt,[["render",Ft]]);let re="";const Kt={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:qt},watch:{clearKey(){re=""}},methods:{searchSuggest:K.debounce(async function(t){const e={query:t.target.value,country:"usa",beginHighlight:encodeURIComponent("<mark>"),endHighlight:encodeURIComponent("</mark>"),maxresults:20},n=(await F.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 nt.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)}},Zt={class:"radius-search"},Wt={class:"position-wrapper"},Yt={class:"select-container"},Qt={class:"key-search"},Xt={class:"autocomplete"},eo=["onClick"],to=["innerHTML"];function oo(t,e,l,n,u,o){const s=Ce("Select");return E((d(),h("div",Zt,[e[12]||(e[12]=a("div",{class:"radius-search-title"},"Radius",-1)),a("div",Wt,[a("div",Yt,[X(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",Qt,[e[9]||(e[9]=a("i",{class:"lofty_iconfont lofty-icon-search"},null,-1)),E(a("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=i=>u.location=i),onMousedown:e[1]||(e[1]=B(()=>{},["stop"])),onDblclick:e[2]||(e[2]=B(()=>{},["stop"])),onFocus:e[3]||(e[3]=B((...i)=>o.handleMutual&&o.handleMutual(...i),["stop"])),onTouchstart:e[4]||(e[4]=B((...i)=>o.handleMutual&&o.handleMutual(...i),["stop"])),onInput:e[5]||(e[5]=B((...i)=>o.searchSuggest&&o.searchSuggest(...i),["stop"])),placeholder:"Input a location to center the map",ref:"input",class:H({"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)),E(a("ul",Xt,[(d(!0),h(I,null,G(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,to)],8,eo))),128))],512),[[q,u.suggestList.length>0&&u.showSuggest]]),a("span",{class:"lofty_iconfont lofty-icon-close",id:"close_radius_search_form",onClick:e[7]||(e[7]=B(i=>t.$emit("onClose"),["stop"]))})])],512)),[[q,l.showRadiusOption]])}const so=Z(Kt,[["render",oo]]),io=1609.344,ao={mixins:[ye],inject:["isMobile"],props:{radius:{type:Number,default:1},clearKey:{type:Number,default:1}},components:{radiusOption:so},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*io,{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 no(t,e,l,n,u,o){const s=Ce("radius-option");return t.parentDom?(d(),R(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),[X(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 lo=Z(ao,[["render",no]]),ro={name:"tip"},uo={class:"draw-tip"};function co(t,e,l,n,u,o){return d(),h("div",uo,[a("p",null,[e[1]||(e[1]=Y("Click and drag to draw your search ")),a("span",{class:"cancel",onClick:e[0]||(e[0]=s=>t.$emit("cancel"))}," Cancel")])])}const ho=Z(ro,[["render",co]]),Ee=35,po={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=K.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 K,d as pe,g as le,h as F,o as Le,i as se,_ as Z}from"./_plugin-vue_export-helper.D-Nsc_Tq.js";import{c as Ge}from"./module.CKjUdtPN.js";import{r as f,c as J,a as Q,b as ke,o as d,d as R,w as ie,e as a,t as S,u as c,f as Y,g as h,h as G,F as I,n as me,i as Ae,j as L,k as Ve,l as Ne,m as X,p as ge,q as E,v as Se,s as Pe,x as q,y as H,z as B,A as $e,B as Ce,C as be,T as fe,D as ue,E as Me,G as Te}from"./vendor.DSMCY3-_.js";import{i as Ie}from"./index.CZOqnZlT.js";import{s as ze}from"./loading.BdqyMKJZ.js";import{m as je,l as Je,_ as xe}from"./index.C-Qy-l5j.js";import{g as Fe,f as qe}from"./house-format.66hvz3g4.js";import{S as Ke,g as Ze,a as We,c as Ye,v as Qe,b as Xe}from"./mls-compliance.CUyE_Kkr.js";import{s as De,c as et}from"./index.CUpw1e8g.js";import{c as Be,_ as tt,a as ot}from"./mobileFilter.C_Zcw7Rf.js";import{_ as He}from"./index.QzWxvJng.js";import{P as st}from"./index.Dm4Bynpm.js";import{_ as it}from"./index.BIsjoQ8l.js";import{p as at}from"./standard.gtRZLXMO.js";import{M as ye}from"./marker.8y9NSRpW.js";import{d as Ue}from"./outsideclick.Bw_hMuzW.js";import{s as nt}from"./service.BPx6HgYg.js";import{u as _e}from"./user.DZNd_BkT.js";import{l as lt}from"./popup-trigger.sn6NHdGO.js";import{a as rt}from"./auto-login.D9gGgNTh.js";import{a as ut,s as ct}from"./popup-mls.CCmmPq7_.js";import"./date-format.BrUodQAJ.js";import"./index.06wxuzd0.js";import"./index.DAwEVGKX.js";import"./number-format.CLdvQh6j.js";import"./google.CP7r4vmz.js";import"./reg-verify.CFEt1-g0.js";import"./index.kdbg-iyz.js";import"./useConfirm.C3wM7YYe.js";const Re=K.getTimeZone(),ae={};function dt(t){const e={cancelList:null,cancelMap:null,module:t,hasMap:f(!0),showMap:f(!K.isMobile),featureListingName:f(""),listingType:J(()=>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:Q([]),listingSort:f("RELEVANCE"),currPage:f(1),pageSize:f(12),address:f(""),condition:Q({}),uiConfig:Q({}),sold:f(!1),map:f(null),zoom:f(14),mapSyncList:f(!1),rect:null,mapSyncType:f(""),mapPath:f(""),needMapPath:J(()=>["mapArea","polygon"].includes(e.mapSyncType.value)),mapRadius:f([]),polygonPath:f([]),markerData:Q({aggregation:[],house:[],school:[],activeHouse:null,activeHouseKey:1}),showSchool:f(!1),schoolData:{},drawing:f(!1),geometry:f([]),shortCodeConfig:f({}),isShortCode:J(()=>!!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=le();if(s.mlsOrgId&&s.complianceCheck&&(o.mlsOrgId=s.mlsOrgId,o.complianceCheck=s.complianceCheck),e.mapSyncList.value){let M=n.formatCondition();if(e.mapSyncType.value==="radius")M.location={mapRadius:e.mapRadius.value};else if(e.needMapPath.value&&(M.location={mapPath:e.mapPath.value},!e.mapPath.value))return;o.condition=JSON.stringify(M)}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);const g=await F.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;const P=r.querySelectorAll(".lofty-house-tag"),O=[];for(const M of g.data.listings)Ke.includes(M.mlsOrgId)&&O.push(M.id);if(O!=null&&O.length){const M=await Ze(O,e.listingType.value==="sold-listing");M&&Object.keys(M).length&&e.listings.value.forEach((U,V)=>{const ee=M[U.id]||!1;e.listings.value[V]={...U,mlsOrg:{...U.mlsOrg,cardTemplate:We(U,ee,"cardTemplate")}},P[V]&&(P[V].innerHTML=e.listings.value[V].mlsOrg.cardTemplate)})}P.forEach(M=>{M.style.display="block"}),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:K.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=le();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();const r=await F.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=[];const i=await F.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 F.post("/search/mapPath",o);e.mapPath.value=s.data.regionId},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");Ye(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=()=>{De(()=>{window.location.reload()},"","register")}),r.querySelector(".lofty-login")&&(r.querySelector(".lofty-login").onclick=()=>{De(()=>{window.location.reload()},"","login")}),r.querySelector(".lofty-verify")&&(r.querySelector(".lofty-verify").onclick=()=>{Qe()}))})}},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=le();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=le();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=le();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&&(o.mapRadius||(o.mapRadius=JSON.stringify(r.location.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=Je.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=Q(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 ht(t){ae[t.id]=dt(t)}const pt={class:"lofty-show-more-name"},gt={key:0},mt={class:"lofty-more-panel"},ft={class:"lofty-more-filter-title"},yt={class:"lofty-more-filter-count"},vt={class:"lofty-group-name"},wt={class:"lofty-group-wrapper"},St={class:"lofty-condition-label"},Ct={__name:"moreFilter",props:{moreConfigs:{type:Array,required:!0},condition:Object,uiConfig:Object},setup(t){const e=t,l=J(()=>{const o=new Set;return e.moreConfigs.forEach(s=>{s.conditions.forEach(i=>{o.add(i.name)})}),o}),n=J(()=>{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(),R(He,{class:"lofty-more-box",right:0,menuStyle:{paddingRight:0},clickMenuClose:!1,"fit-width":!1},{menu:ie(()=>[a("div",mt,[a("div",ft,[a("div",yt,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),Y(" Clear")]))]),(d(!0),h(I,null,G(t.moreConfigs,i=>(d(),h("div",{class:"lofty-condition-group",key:i.name},[a("p",vt,S(i.nameText),1),a("div",wt,[(d(!0),h(I,null,G(i.conditions,r=>(d(),h("div",{key:r.name,class:"lofty-condition-label-input",style:me({width:r.inputType==="keyWord"?"100%":""})},[a("p",St,[a("span",null,S(r.label),1)]),(d(),R(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",pt,[s[0]||(s[0]=Y("More ")),c(n)?(d(),h("span",gt,"("+S(c(n))+")",1)):L("",!0)])]),_:1}))}},bt={class:"lofty-listing-search"},Lt={key:1,class:"lofty-multi-filter"},kt=["disabled"],Pt={class:"save-search-pop-container"},Mt={class:"save-search-pop-content"},Tt={__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:O,sold:M,zoom:U,address:V,mapSyncList:ee,mapSyncType:A,removeMapTag:te,isShortCode:W}=ae[e.id],[T,k,N,ne]=[f([]),f([]),f([]),f([])],ce=J(()=>{if(ee.value){if(A.value==="mapArea")return["Map Area"];if(A.value==="polygon")return["Polygon Search"];if(A.value==="radius")return["Radius Search"]}return[]}),de=f({});async function ve(){const j={data:{isSold:M.value},headers:{}};W.value||(j.headers.trackingpagekey=M.value?"sold_listing":"search");const w=await F.get("/search/center/conditions",j);w.data.configs.forEach(b=>{let D=null;b.conditions.forEach(($,we)=>{$.name==="location"&&(D=we,de.value=$),$.inputType==="suggestion"&&!s[$.name]&&(s[$.name]={}),["multiSelect","singleSelect","keyWord"].includes($.inputType)&&!s[$.name]&&(s[$.name]=[])}),D!==null&&b.conditions.splice(D,1)}),T.value=w.data.configs.filter(b=>b.conditions.length>0),ne.value=JSON.parse(JSON.stringify(T.value));let _=0;T.value.forEach(b=>{b.conditions.forEach(D=>{_<4&&["singleSelect","multiSelect","inputBox","checkBox"].includes(D.inputType)&&(k.value.push(D),_++)}),b.conditions=b.conditions.filter(D=>!k.value.some($=>$.name===D.name)),b.conditions.length>0&&N.value.push(b)}),ge(s,()=>{n.value=1,o()})}const oe=Ve("popRef");function he(){et(()=>{oe.value.open()})}Ne(()=>{ve()});const v=J(()=>Object.values(i()).length===0&&!A.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 z(){let j=p.value.trim();if(j){const w={condition:i(),uiConfig:O,address:V.value,listingSort:P.value,currPage:n.value,pageSize:u.value,zoom:U.value,timezone:K.getTimeZone()};if(A.value==="polygon"&&(w.polygonPath=y.value),A.value==="mapArea"){const b=g(),D=b.split(",");w.rect=b;let $=[{lat:D[0],lng:D[1]},{lat:D[0],lng:D[3]},{lat:D[2],lng:D[3]},{lat:D[2],lng:D[1]}];$=$.map(we=>JSON.stringify(we)),w.condition.location={mapPath:$}}r(w);const _={saveName:j,searchCondition:JSON.stringify(w),mailFrequency:m.value};try{const b=await F.post("/wp-plugin/save-search/saveSearch",{data:_});b.status.code===0&&(p.value="",K.toast(b.data),oe.value.close())}catch(b){console.error("save-search/saveSearch",b)}}}function x(){oe.value.close()}return(j,w)=>(d(),h("div",bt,[X(tt,{class:"location-suggestion",modelValue:c(s).location,"onUpdate:modelValue":w[0]||(w[0]=_=>c(s).location=_),config:c(de),"custom-tag":c(ce),onRemoveCustomTag:c(te)},null,8,["modelValue","config","custom-tag","onRemoveCustomTag"]),c(se)?(d(),R(ot,{key:0,condition:c(s),mobileConfigs:c(ne),uiConfig:c(O),counts:c(l),onSaveSearch:he},null,8,["condition","mobileConfigs","uiConfig","counts"])):(d(),h("div",Lt,[(d(!0),h(I,null,G(c(k),_=>(d(),R(Ae(c(Be)[_.inputType]),{modelValue:c(s)[_.name],"onUpdate:modelValue":b=>c(s)[_.name]=b,class:"lofty-filter-block","show-default-label":!0,"fit-width":!1,uiConfig:c(O),config:_,outSide:""},null,8,["modelValue","onUpdate:modelValue","uiConfig","config"]))),256)),c(N).length>0?(d(),R(Ct,{key:0,class:"lofty-filter-block",moreConfigs:c(N),uiConfig:c(O),condition:c(s)},null,8,["moreConfigs","uiConfig","condition"])):L("",!0),c(M)?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,kt))])),X(st,{ref_key:"popRef",ref:oe,class:"save-search-pop"},{default:ie(()=>[a("div",Pt,[w[6]||(w[6]=a("div",{class:"title"},"SAVE THIS SEARCH",-1)),a("div",Mt,[w[4]||(w[4]=a("div",{class:"label"},"Name This Search",-1)),E(a("input",{"onUpdate:modelValue":w[1]||(w[1]=_=>Pe(p)?p.value=_:null),placeholder:"Type Something"},null,512),[[Se,c(p)]]),w[5]||(w[5]=a("div",{class:"label mt20"},"Property Alert",-1)),X(it,{class:"mt20",modelValue:c(m),"onUpdate:modelValue":w[2]||(w[2]=_=>Pe(m)?m.value=_:null),list:C},null,8,["modelValue"])]),a("div",{class:"save-search-footer"},[a("div",{class:"footer-cancel",onClick:x},"Cancel"),a("div",{class:"footer-save lofty-btn",onClick:z},"Save")])])]),_:1},512)]))}},Dt={class:"lofty-listing-top"},_t={key:0,class:"lofty-page-title"},Rt={key:1,class:"lofty-page-title"},Et={key:0},Ot={key:0,class:"lofty-current-filter"},At={key:1,class:"lofty-map-filter"},Nt={style:{margin:"0 10px"}},$t={class:"lofty-sort-list"},It=["onClick"],jt={class:"lofty_iconfont lofty-icon-checked"},Bt={class:"lofty-filter-name"},Ht={__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:O}=ae[e.id],M=J(()=>l.value?l.value.toString().replace(/\B(?=(\d{3})+(?!\d))/g,","):"0"),U=J(()=>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"),V=J(()=>g.value?A.value:ee.value),ee=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)"}]),A=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)"}]),te=J(()=>{var T;return(T=V.value.find(k=>k.value===n.value))==null?void 0:T.label});function W(T){n.value!==T.value&&(n.value=T.value,u.value=1,s())}return Ne(()=>{O()}),(T,k)=>E((d(),h("div",Dt,[c(l)===0?(d(),h("p",_t,"0 Properties")):(d(),h("p",Rt,[Y(S(c(M))+" "+S(c(U))+" ",1),c(y)?(d(),h("span",Et," In "+S(c(y)),1)):L("",!0)])),X(He,{class:"lofty-sort-filter",top:40,right:c(se)?"auto":0,left:c(se)?0:"auto","fit-width":!1,hideArrow:!0},{menu:ie(()=>[a("ul",$t,[(d(!0),h(I,null,G(c(V),N=>(d(),h("li",{class:"lofty-filter-item",onClick:ne=>W(N)},[Y(S(N.label)+" ",1),E(a("i",jt,null,512),[[q,c(n)===N.value]])],8,It))),256))])]),default:ie(()=>[c(se)?(d(),h("span",Ot,[Y(S(c(te))+" ",1),k[2]||(k[2]=a("i",{class:"lofty_iconfont lofty-icon-sort_04"},null,-1))])):(d(),h("span",At,[k[3]||(k[3]=a("span",{style:{color:"#A8A8A8"}},"Sort by",-1)),a("span",Nt,S(c(te)),1),k[4]||(k[4]=a("i",{class:"lofty_iconfont lofty-icon-sort_04"},null,-1))]))]),_:1},8,["right","left"]),!c(se)&&c(i)?(d(),h("span",{key:2,class:"lofty-map-filter",onClick:k[0]||(k[0]=(...N)=>c(P)&&c(P)(...N))},[a("span",Bt,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(se)&&c(i)?(d(),h("div",{key:3,class:"lofty-map-mobile-btn",onClick:k[1]||(k[1]=(...N)=>c(P)&&c(P)(...N))},k[6]||(k[6]=[a("i",{class:"lofty_iconfont lofty-icon-map_01"},null,-1),a("span",null,"Map",-1)]))):L("",!0)],512)),[[q,!c(se)||!c(r)||!c(i)]])}},Ut={__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(),R(at,{key:0,totalPage:c(n),onPageChange:s,pageSize:24,noScroll:!0,pageNum:c(l)},null,8,["totalPage","pageNum"])):L("",!0)}},Gt={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)}},Vt={class:"select-wrapper"},zt={ref:"switch"},Jt={class:"label-txt"},xt=["onClick"];function Ft(t,e,l,n,u,o){const s=$e("out-side-click");return E((d(),h("div",Vt,[a("div",zt,[a("span",Jt,S(l.value.label),1),a("span",{class:H(["lofty_iconfont lofty-icon-arrow-down",{up:u.showList}])},null,2)],512),E(a("div",{class:"data-list",id:"select-radius-list",onWheel:B(()=>{},["stop"]),onDrag:B(()=>{},["stop"]),onTouchmove:B(()=>{},["stop"]),onTouchstart:B(()=>{},["stop"]),onTouchend:B(()=>{},["stop"])},[a("ul",null,[(d(!0),h(I,null,G(l.dataList,(i,r)=>(d(),h("li",{key:r,onClick:y=>o.changeSelect(i)},S(i.label),9,xt))),128))])],544),[[q,u.showList]])])),[[s,()=>{u.showList=!1}]])}const qt=Z(Gt,[["render",Ft]]);let re="";const Kt={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:qt},watch:{clearKey(){re=""}},methods:{searchSuggest:K.debounce(async function(t){const e={query:t.target.value,country:"usa",beginHighlight:encodeURIComponent("<mark>"),endHighlight:encodeURIComponent("</mark>"),maxresults:20},n=(await F.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 nt.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)}},Zt={class:"radius-search"},Wt={class:"position-wrapper"},Yt={class:"select-container"},Qt={class:"key-search"},Xt={class:"autocomplete"},eo=["onClick"],to=["innerHTML"];function oo(t,e,l,n,u,o){const s=Ce("Select");return E((d(),h("div",Zt,[e[12]||(e[12]=a("div",{class:"radius-search-title"},"Radius",-1)),a("div",Wt,[a("div",Yt,[X(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",Qt,[e[9]||(e[9]=a("i",{class:"lofty_iconfont lofty-icon-search"},null,-1)),E(a("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=i=>u.location=i),onMousedown:e[1]||(e[1]=B(()=>{},["stop"])),onDblclick:e[2]||(e[2]=B(()=>{},["stop"])),onFocus:e[3]||(e[3]=B((...i)=>o.handleMutual&&o.handleMutual(...i),["stop"])),onTouchstart:e[4]||(e[4]=B((...i)=>o.handleMutual&&o.handleMutual(...i),["stop"])),onInput:e[5]||(e[5]=B((...i)=>o.searchSuggest&&o.searchSuggest(...i),["stop"])),placeholder:"Input a location to center the map",ref:"input",class:H({"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)),E(a("ul",Xt,[(d(!0),h(I,null,G(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,to)],8,eo))),128))],512),[[q,u.suggestList.length>0&&u.showSuggest]]),a("span",{class:"lofty_iconfont lofty-icon-close",id:"close_radius_search_form",onClick:e[7]||(e[7]=B(i=>t.$emit("onClose"),["stop"]))})])],512)),[[q,l.showRadiusOption]])}const so=Z(Kt,[["render",oo]]),io=1609.344,ao={mixins:[ye],inject:["isMobile"],props:{radius:{type:Number,default:1},clearKey:{type:Number,default:1}},components:{radiusOption:so},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*io,{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 no(t,e,l,n,u,o){const s=Ce("radius-option");return t.parentDom?(d(),R(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),[X(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 lo=Z(ao,[["render",no]]),ro={name:"tip"},uo={class:"draw-tip"};function co(t,e,l,n,u,o){return d(),h("div",uo,[a("p",null,[e[1]||(e[1]=Y("Click and drag to draw your search ")),a("span",{class:"cancel",onClick:e[0]||(e[0]=s=>t.$emit("cancel"))}," Cancel")])])}const ho=Z(ro,[["render",co]]),Ee=35,po={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=K.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){K.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(ho,{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:lo}},go={class:"draw"},mo={class:"btn-lofty"},fo={class:"select-item"};function yo(t,e,l,n,u,o){const s=Ce("circle-search");return d(),h("div",go,[a("div",mo,[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:H(["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)),E(a("div",fo,[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),[[q,u.showSelectDraw]])],34))]),u.showCircle?(d(),R(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 vo=Z(po,[["render",yo]]),wo={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()}}},So={key:0,class:"lofty-search"},Co={key:1,class:"lofty-search"},bo={class:"split-line"};function Lo(t,e,l,n,u,o){return o.isMobile?(d(),h("div",Co,[E(a("span",{class:"search-text",onClick:e[1]||(e[1]=(...s)=>o.handler&&o.handler(...s))},"Search this area",512),[[q,!o.hideMapAreaButton]]),E(a("span",bo,null,512),[[q,!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)]))])):E((d(),h("div",So,[a("span",{class:"search-text",onClick:e[0]||(e[0]=(...s)=>o.handler&&o.handler(...s))},"Redo Search On Map Area")],512)),[[q,!o.hideMapAreaButton]])}const ko=Z(wo,[["render",Lo]]),Po={inject:["store","isMobile"],data(){return{isPop:!1,rating:"0",schoolChecked:this.store.showSchool.value,level:Q({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()}},Mo={class:"school"},To={class:"switch"},Do={class:"school"},_o=["onUpdate:modelValue","value"],Ro={class:"rating"},Eo={class:"range"},Oo={class:"label"};function Ao(t,e,l,n,u,o){return d(),h("div",Mo,[a("div",{class:H(["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),E(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",To,[a("label",null,[E(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:H(["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",Do,[(d(!0),h(I,null,G(Object.keys(u.level),s=>(d(),h("label",{key:s},[E(a("input",{type:"checkbox",name:"level","onUpdate:modelValue":i=>u.level[s].value=i,value:s},null,8,_o),[[Me,u.level[s].value]]),a("span",{class:H(["lofty_iconfont lofty-icon-checked",{mobile:o.isMobile}])},null,2),Y(" "+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",Ro,[a("div",Eo,[e[12]||(e[12]=a("span",null,"Low",-1)),a("div",null,[E(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",Oo,S(o.ratingText),1)])],544),[[q,u.isPop]])])}const No=Z(Po,[["render",Ao]]),$o={mixins:[ye],data(){return{type:"house"}},computed:{houses(){return this.data.items},housesStatus(){return"house-status-"+(this.houses[0].listingStatus||"").toLowerCase()}}},Io={key:0,class:"house-header"},jo={class:"house-list"},Bo=["href"],Ho={class:"house-top"},Uo=["src"],Go={class:"house-info"},Vo={key:0,class:"price"},zo={key:1,class:"price"},Jo={class:"info"},xo={class:"addr"},Fo={class:"house-bottom"},qo={class:"detail"},Ko={key:0,class:"house-mls-id"},Zo=["src"];function Wo(t,e,l,n,u,o){return t.parentDom?(d(),R(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]=B(()=>{},["stop"])),onMousewheel:e[4]||(e[4]=B(()=>{},["stop"]))},t.$attrs),[a("span",{class:H(["marker-shape",[{highlight:t.data.keepHighlight},o.housesStatus]])},[t.data.nodisclosureDes?(d(),h(I,{key:0},[Y("﹡﹡﹡﹡﹡")],64)):L("",!0),t.data.nodisclosureDes?L("",!0):(d(),h(I,{key:1},[Y(S(t.showPrice),1)],64))],2),a("div",{ref:"pop",class:H(["marker-pop",{multi:o.houses.length>1,bottom:t.popBottom}]),style:me(t.popStyle)},[o.houses.length>1?(d(),h("div",Io,[a("span",null,S(o.houses.length)+" units here ",1)])):L("",!0),a("ul",jo,[(d(!0),h(I,null,G(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",Ho,[a("img",{class:"img-container",src:s.previewPicture,alt:""},null,8,Uo),a("div",Go,[s.nodisclosureDes?(d(),h("p",zo,S(s.nodisclosureDes),1)):(d(),h("p",Vo,S(s.soldDate?s.soldPrice:s.price),1)),a("div",Jo,[(d(!0),h(I,null,G(s.basic,i=>(d(),h("span",{class:"desc-span",key:i.key},S(i.text),1))),128))]),a("p",xo,S(s.streetAddress),1)])]),a("div",Fo,[a("div",qo,[s.showMls?(d(),h("p",Ko," 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,Zo)):L("",!0)])],8,Bo)]))),128))])],6)],16)],8,["to"])):L("",!0)}const Oe=Z($o,[["render",Wo]]),Yo={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","")}}},Qo={class:"school-list"},Xo={class:"info"},es={class:"left"},ts={class:"name"},os={class:"tip"},ss={class:"right"};function is(t,e,l,n,u,o){const s=$e("out-side-click");return t.parentDom?(d(),R(fe,{key:0,to:t.parentDom},[a("div",{class:H(["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:H(["marker-pop",{bottom:t.popBottom}]),style:me(t.popStyle)},[a("span",{ref:"pointer",class:"pointer",style:me(t.pointerStyle)},null,4),E((d(),h("ul",Qo,[a("li",null,[a("div",Xo,[a("div",es,[a("p",ts,S(t.data.name),1),a("span",os,S(t.data.type)+" · "+S(t.data.gradeRange),1)]),a("div",ss,[a("div",{class:H({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 as=Z(Yo,[["render",is]]),ns={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)}},ls={class:"marker-shape"},rs={class:"info"},us={class:"count"};function cs(t,e,l,n,u,o){return t.parentDom?(d(),R(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",ls,[a("div",rs,[a("span",us,S(t.data.count),1)])])],16)],8,["to"])):L("",!0)}const ds=Z(ns,[["render",cs]]),hs={class:"marker-box aggre"},ps={class:"marker-box house"},gs={class:"marker-box school"},ms={__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:O,condition:M,showMap:U,mapSyncType:V,dealHouseData:ee}=ae[e.id],A=Q({aggre:"",house:"",school:""});Te("isMobile",K.isMobile),Te("store",ae[e.id]);const te=f(!1),W=Q({lat:0,lng:0}),T={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(",");T.center.lat=(+p[0]+ +p[2])/2,T.center.lng=(+p[1]+ +p[3])/2}else if(v)T.center.lng=+v.lng,T.center.lat=+v.lat,T.zoom=11,n.value=11;else{const p=await F.get("search/centerPoint");p.centerLatitude&&p.centerLongitude&&(T.center.lat=p.centerLatitude,T.center.lng=p.centerLongitude,n.value=p.zoom)}te.value=!0}const N=["city","zipCode","neighborhood"];function ne(){ge([M,U],async()=>{if(!U.value)return;const v=M.location||{};Object.keys(v).filter(m=>m!=="mapPath"&&m!=="mapRadius").length>0&&await de(v),N.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"),z=g.value.find(j=>String(j.id)===C),x=ee([JSON.parse(JSON.stringify(z))]);P.activeHouse=x[0],P.activeHouseKey=Date.now()}})}),ge(U,v=>{if(v&&g.value[0]){const p=g.value[0];W.lat=+p.latitude,W.lng=+p.longitude}});const ce=f([]);async function de(v){const p={mlsOrgIds:O};for(let C in v){let z=v[C];["streetAddress"].includes(C)&&(z=v[C].map(x=>x.split(",")[0])),p[C]=z.join(";")}const{data:m}=await F.post("search/listing/locationSearch",{data:p});if(m&&m.length===2){const[C,z,x,j]=[m[0].longitude,m[1].longitude,m[0].latitude,m[1].latitude],w=Math.min(C,z),_=Math.max(C,z),b=Math.min(x,j),D=Math.max(x,j);ce.value=[[w,b],[w,D],[_,D],[_,b]]}else m.length===1&&(W.lat=m[0].latitude,W.lng=m[0].longitude,n.value=18,u.value.setZoom(18))}async function ve(v){const p={};N.forEach(C=>{v[C]&&(p[C]=v[C].join(";"))});const m=await F.get("search/hj/getBoundary",{data:p});i.value=m.geometry}const oe=K.debounce(y,300);function he(v){u.value=v,v.addEventListener("dragend",()=>{["polygon","radius"].includes(V.value)||oe()}),v.addEventListener("dbltap",p=>{let m=v.getZoom(),{viewportX:C,viewportY:z}=p.currentPointer,x=v.screenToGeo(C,z);const j=T.maxZoom||20,w=Math.min(m+1,j);v.getViewModel().setLookAtData({position:x,zoom:w},!0),y()}),v.addEventListener("mapviewchangeend",()=>{const p=Math.round(u.value.getZoom());n.value!==p&&(n.value=p,oe())}),ne()}return(v,p)=>c(te)?(d(),R(xe,{key:0,onInit:he,config:T,center:c(W),boundary:c(ce),geometry:c(i),class:H({drawing:c(r)})},{default:ie(()=>[X(ko,{class:"map-tool"}),c(o)?L("",!0):(d(),R(No,{key:0,class:"map-tool"})),X(vo,{class:H(["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",hs,[(d(!0),h(I,null,G(c(P).aggregation,m=>(d(),R(ds,{key:m.key,map:c(u),class:"map-marker",data:m,active:c(A).aggre,"onUpdate:active":p[0]||(p[0]=C=>c(A).aggre=C)},null,8,["map","data","active"]))),128))]),a("div",ps,[(d(!0),h(I,null,G(c(P).house,m=>(d(),R(Oe,{key:m.key,map:c(u),class:"map-marker",data:m,active:c(A).house,"onUpdate:active":p[1]||(p[1]=C=>c(A).house=C)},null,8,["map","data","active"]))),128)),c(P).activeHouse?(d(),R(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",gs,[(d(!0),h(I,null,G(c(P).school,m=>(d(),R(as,{key:m.key,map:c(u),class:"map-marker",data:m,active:c(A).school,"onUpdate:active":p[2]||(p[2]=C=>c(A).school=C)},null,8,["map","data","active"]))),128))])]),_:1},8,["center","boundary","geometry","class"])):L("",!0)}};(async()=>(rt(),ut(),await _e.initState(()=>{var t,e;lt(),(e=(t=_e.mlsList)==null?void 0:t.forEach)==null||e.call(t,l=>ct(l))}),Xe(),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;ht(n);const s=n.getModuleData();ue(Tt,{id:u}).mount(o("#lofty-listing-search")),ue(Ht,{id:u}).mount(o("#lofty_filter_container")),ue(Ut,{id:u}).mount(o("#lofty_pagination_container")),s.hasMap&&ue(ms,{id:u}).mount(o("#lofty-map-container"))})})))();
  • lofty-idx/trunk/assets/market-report.js

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

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

    r3395454 r3413770  
    1 import{i as f,h as V}from"./_plugin-vue_export-helper.BPal9gCL.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.BUk6F300.js";import"./index.OXpUu6sz.js";import"./outsideclick.Bw_hMuzW.js";import"./index.CpZgndwv.js";import"./index.Du3p49kO.js";import"./date-format.BrUodQAJ.js";import"./index.CJT61Udz.js";import"./number-format.CLdvQh6j.js";import"./index.CDZjPkAd.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.D-Nsc_Tq.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.C_Zcw7Rf.js";import"./index.QzWxvJng.js";import"./outsideclick.Bw_hMuzW.js";import"./index.Dm4Bynpm.js";import"./index.CZOqnZlT.js";import"./date-format.BrUodQAJ.js";import"./index.06wxuzd0.js";import"./number-format.CLdvQh6j.js";import"./index.kdbg-iyz.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/LoftyIDXHelpers.php

    r3390773 r3413770  
    1616    public static function get_current_url()
    1717    {
    18         // $HTTP_REFERER = isset($_SERVER['HTTP_REFERER']) ? sanitize_url(wp_unslash($_SERVER['HTTP_REFERER'])) : "";
    19         // if (strlen($HTTP_REFERER) > 0) {
    20         //     return  $HTTP_REFERER;
    21         // }
     18        // 构建当前页面的完整URL
    2219        $REQUEST_URI = isset($_SERVER['REQUEST_URI']) ? sanitize_url(wp_unslash($_SERVER['REQUEST_URI'])) : "";
    2320        if (strlen(LOFTY_API_REFERRER) > 0) {
    24             return  LOFTY_API_REFERRER . $REQUEST_URI;
     21            return LOFTY_API_REFERRER . $REQUEST_URI;
     22        }
     23        // 检查 HTTP_REFERER 是否来自同一域名
     24        $HTTP_REFERER = isset($_SERVER['HTTP_REFERER']) ? sanitize_url(wp_unslash($_SERVER['HTTP_REFERER'])) : "";
     25        if (strlen($HTTP_REFERER) > 0) {
     26            $referer_host = wp_parse_url($HTTP_REFERER, PHP_URL_HOST);
     27            $current_host = wp_parse_url(home_url(), PHP_URL_HOST);
     28           
     29            // 只有当 referer 来自同一域名时才使用,避免第三方域名跳转的问题
     30            if ($referer_host === $current_host) {
     31                return $HTTP_REFERER;
     32            }
    2533        }
    2634        return home_url($REQUEST_URI);
  • lofty-idx/trunk/includes/LoftyIDXRouter.php

    r3293603 r3413770  
    6161            'pageKey' => 'market_report_page'
    6262        ],
     63        'pwreset' => [
     64            'url' => '/pwreset',
     65            'pattern' => '^pwreset$',
     66            'match' => 'index.php?lofty_page=pwreset',
     67            'template' => 'password-reset.php',
     68            'pageKey' => 'pwreset'
     69        ],
    6370    ];
    6471
  • lofty-idx/trunk/includes/common/LoftyIDXApiCache.php

    r3333213 r3413770  
    4343    public static function setApiCacheData($path, $data, $expiration = 3600)
    4444    {
     45        if(LOFTY_IS_DEV){
     46            return false;
     47        }
    4548        if (in_array($path, self::$cacheApi)) {
    4649            $cache_key = self::getCacheKey($path);
     
    5053
    5154    public static function getApiCacheData($path)
    52     {
     55    {   
     56        if(LOFTY_IS_DEV){
     57            return false;
     58        }
    5359        if (in_array($path, self::$cacheApi)) {
    5460            $cache_key = self::getCacheKey($path);
  • lofty-idx/trunk/includes/providers/LoftyIDXProxyServiceProvider.php

    r3348893 r3413770  
    166166                    LoftyIDXApiCache::setApiCacheData($path, $response, 3600);
    167167                } else {
    168                     if(!LOFTY_IS_DEV){
    169                         // Cache the error for a short time (5 minutes) to prevent repeated API calls
    170                         $errorCache = ['is_error' => true, 'timestamp' => time()];
    171                         LoftyIDXApiCache::setApiCacheData($path, $errorCache, 300);
    172                     }
     168                    // Cache the error for a short time (5 minutes) to prevent repeated API calls
     169                    $errorCache = ['is_error' => true, 'timestamp' => time()];
     170                    LoftyIDXApiCache::setApiCacheData($path, $errorCache, 300);
    173171                }
    174172                return $this->handle_response($response);
     
    309307            // Cache the error for a short time (5 minutes) to prevent repeated API calls
    310308            $errorCache = ['is_error' => true, 'timestamp' => time()];
    311             if(!LOFTY_IS_DEV){
    312                 LoftyIDXApiCache::setApiCacheData($path, $errorCache, 60);
    313             }
     309            LoftyIDXApiCache::setApiCacheData($path, $errorCache, 60);
    314310            return false;
    315311        }
  • lofty-idx/trunk/includes/providers/LoftyIDXTemplateServiceProvider.php

    r3351764 r3413770  
    199199        if (!empty($wp_query->query_vars['lofty_page']) || !empty($wp_query->query_vars['name'])) {
    200200            // when page url dynamically changed, lofty_page maybe null, name param maybe not normalized
     201            // http://127.0.0.1:8000/xxxx?pagekey=search&name=listing
    201202            $page = $wp_query->query_vars['lofty_page'] ?? $wp_query->query_vars['name'];
    202203            $routes = LoftyIDXRouter::getRoutes();
  • lofty-idx/trunk/lofty-idx.php

    r3395454 r3413770  
    55 * Description: A powerful WordPress plugin that integrates IDX/MLS property listings.
    66 * Author: loftylisting
    7  * Version: 1.6.8
     7 * Version: 1.6.9
    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.8');
     44define('LOFTY_IDX_VERSION', '1.6.9');
    4545
    4646define('LOFTY_IDX_PATH', plugin_dir_path(__FILE__));
  • lofty-idx/trunk/package.json

    r3395454 r3413770  
    22  "name": "lofty-idx-web",
    33  "private": true,
    4   "version": "1.6.8",
     4  "version": "1.6.9",
    55  "type": "module",
    66  "scripts": {
  • lofty-idx/trunk/readme.txt

    r3395454 r3413770  
    66Requires at least: 5.0
    77Tested up to: 6.7
    8 Stable tag: 1.6.8
     8Stable tag: 1.6.9
    99Requires PHP: 7.4
    1010License: GPLv2 or later
     
    191191= 1.6.8  =
    192192*  Optimize MLS Compliance
     193
     194= 1.6.9  =
     195*  Optimize login form tag, add  password reset page
  • lofty-idx/trunk/src/admin/idx-pages/menus/config.js

    r3291483 r3413770  
    5757        component: "LeadCenter",
    5858        visible: true,
     59      },
     60      {
     61        title: "Password Reset",
     62        path: "password-reset",
     63        component: "PasswordReset",
     64        visible: true,
    5965      }
    6066    ],
  • lofty-idx/trunk/src/admin/idx-pages/menus/index.js

    r3291483 r3413770  
    66import LeadCenter from '../lead-center/index.vue';
    77import MarketReport from '../market-report/index.vue';
     8import PasswordReset from '../password-reset/index.vue';
    89export default {
    910  SearchPage,
     
    1314  SoldListingDetail,
    1415  LeadCenter,
    15   MarketReport
     16  MarketReport,
     17  PasswordReset
    1618};
  • lofty-idx/trunk/src/components/login-form/index.vue

    r3348447 r3413770  
    11<template>
    2   <div class="login-form-view lofty-reset-style">
     2  <form class="login-form-view lofty-reset-style" @submit.prevent="submit">
    33    <div v-show="type==='register'">
    44      <p class="sign-title">{{ title }}</p>
     
    1414      <p v-show="error.phoneNumber" class="lofty-error-msg">{{error.phoneNumber}}</p>
    1515    </div>
    16 
    1716    <div v-show="type==='login'">
    1817      <p class="sign-title">{{ title }}</p>
     
    2019      <input v-model="form.account" type="text" class="input-item" :class="{'lofty-error-field': error.account}" placeholder="Email*" name="account" maxlength="300">
    2120      <p v-show="error.account" class="lofty-error-msg">{{error.account}}</p>
    22       <div class="form-label mt20">Password <span class="red">*</span></div>
     21      <div class="form-label mt20 password-label">
     22        <div>Password <span class="red">*</span></div>
     23        <a class="lofty-a-link" href="/pwreset/?pageKey=pwreset&lofty_page=pwreset" rel="noopener noreferrer">Forgot?</a>
     24      </div>
    2325      <div class="password-container">
    2426        <input v-model="form.password" :type="passwordType" class="input-item" :class="{'lofty-error-field': error.password}" placeholder="The initial password is phone number" name="password">
     
    3335      <span v-html="disclaimer" class="policy-text"></span>
    3436    </div>
    35     <button class="submit-button lofty-btn" :disabled="disabledSubmit" @click="submit">
     37    <button type="submit" class="submit-button lofty-btn" :disabled="disabledSubmit">
    3638      {{ loginSetting.buttonText }}
    3739    </button>
     
    5052      <div v-show="type==='login'">New here? <span class="lofty-link" @click="type='register'">Create an account</span></div>
    5153    </div>
    52   </div>
     54  </form>
    5355</template>
    5456
     
    6365import { useGoogle } from "@/hooks/useGoogle.js";
    6466import { useFacebook } from "@/hooks/useFacebook.js";
     67import { isEmailValid, isPhoneValid } from '@/common/reg-verify.js';
    6568const { callback, account, formType } = defineProps({ callback : Function, account: String, formType: String })
    6669const loginSetting = userState.commonData.loginSetting || getDefault()
     
    156159}
    157160function verifyEmail() {
    158   const emailReg = /^([a-z0-9]+\+)?[a-z0-9.'\-_]+@[a-z0-9\-_]+\.[a-z0-9.\-]+$/i;
    159161  const { account } = form
    160   error.account = !account ? errorMsg : (!emailReg.test(account)? 'Email invalid' : '')
     162  error.account = !account ? errorMsg : (!isEmailValid(account)? 'Email invalid' : '')
    161163  resetError()
    162   return emailReg.test(account)
     164  return isEmailValid(account)
    163165}
    164166async function verifyPhone() {
    165167  const { phoneNumber } = form
    166168  if (loginSetting.phoneNumberRequired || !!phoneNumber) {
    167     const phoneReg = /^\d{3}-?\d{3}-?\d{4}$/;
    168     if(!phoneReg.test(phoneNumber)) {
     169    if(!isPhoneValid(phoneNumber)) {
    169170      error.phoneNumber = 'Phone invalid'
    170171      resetError()
     
    243244    padding: 15px;
    244245    margin: 0 auto;
     246  }
     247  .lofty-a-link{
     248    color: rgb(76, 132, 255);
    245249  }
    246250  .sign-title {
     
    295299  .red {
    296300    color: rgba(240, 69, 76, 1);
     301  }
     302  &.password-label{
     303    display: flex;
     304    justify-content: space-between;
     305    align-items: center;
     306    a{
     307      font-size: 14px;
     308    }
    297309  }
    298310}
  • lofty-idx/trunk/vite.config.js

    r3390773 r3413770  
    44import AutoImport from 'unplugin-auto-import/vite'
    55import dotenv from 'dotenv'
    6 
     6import inputEntry from './vite.input-entry.js';
    77// import.meta.env.VITE_SOME_KEY
    88// https://vite.dev/config/
     
    6868      manifest: true,
    6969      rollupOptions: {
    70         input: {
    71           'listing': 'src/module/listing/index.js',
    72           'listing-detail': 'src/module/listing-detail/index.js',
    73           'feature-listing': 'src/module/feature-listing/index.js',
    74           'market-report': 'src/module/market-report/index.js',
    75           'home-valuation': 'src/module/home-valuation/index.js',
    76           'profile': 'src/module/profile/index.js',
    77           'widget-quick-search': 'src/module/widget-quick-search/index.js',
    78           'admin-search': 'src/admin/idx-pages/index.js',
    79           'admin-shortcodes': 'src/admin/shortcodes/index.js',
    80           'admin-customization': 'src/admin/customization/index.js',
    81           'admin-lead-setting': 'src/admin/leadCaptureSetting/index.js',
    82           'admin-widget-quick-search': 'src/admin/widget/quickSearch/index.js',
    83         },
     70        input: inputEntry,
    8471        output: {
    8572          entryFileNames: '[name].js',
Note: See TracChangeset for help on using the changeset viewer.