You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
3.3 KiB
90 lines
3.3 KiB
3 years ago
|
var debug = "found"
|
||
|
var debugtitle = "string"
|
||
|
let curr = dv.current();
|
||
|
let {placetype, dateadded, style, ambiance, area, theme, country, status} = input;
|
||
|
let page = dv.pages()
|
||
|
.filter(p => {return !p.file.path.contains('00.') && p.DocType !== undefined && p.DocType !== null && p.DocType.contains('Place')})
|
||
|
|
||
|
function PDataCheck(arg1, arg2) {
|
||
|
var iarg1 = arg1
|
||
|
if (moment(iarg1).isValid()) {iarg1 = arg1.toString()}
|
||
|
var iarg2 = arg2
|
||
|
if (moment(iarg2).isValid()) {iarg2 = arg2.toString()}
|
||
|
if (!Array.isArray(iarg2)) {
|
||
|
var resultdc = iarg1.contains(iarg2)
|
||
|
} else if (!Array.isArray(iarg1)) {
|
||
|
var resultdc = iarg2.contains(iarg1)
|
||
|
} else {
|
||
|
let count = iarg2.length
|
||
|
let tempresult = false
|
||
|
for (let i = 0; i < count; i++) {
|
||
|
tempresult = tempresult || iarg1.contains(iarg2[i])
|
||
|
}
|
||
|
var resultdc = tempresult
|
||
|
}
|
||
|
return resultdc
|
||
|
}
|
||
|
|
||
|
function IsInPSearch(argobj) {
|
||
|
if (Boolean(placetype)) {
|
||
|
var result_ptype = PDataCheck(argobj.Place.Type, placetype)
|
||
|
} else {var result_ptype = true}
|
||
|
if (Boolean(theme)) {
|
||
|
var result_tag = PDataCheck(argobj.Tag, theme)
|
||
|
} else {var result_tag = true}
|
||
|
if (Boolean(dateadded)) {
|
||
|
var result_date = PDataCheck(argobj.Date, dateadded)
|
||
|
} else {var result_date = true}
|
||
|
if (Boolean(ambiance)) {
|
||
|
var result_amb = PDataCheck(argobj.Place.SubType, ambiance)
|
||
|
} else {var result_amb = true}
|
||
|
if (Boolean(style)) {
|
||
|
if (argobj.Place.Style == undefined) {var result_style = false} else {
|
||
|
var result_style = PDataCheck(argobj.Place.Style, style)
|
||
|
}
|
||
|
} else {var result_style = true}
|
||
|
if (Boolean(area)) {
|
||
|
var result_area = PDataCheck(argobj.Place.Location, area)
|
||
|
} else {var result_area = true}
|
||
|
if (Boolean(country)) {
|
||
|
var result_ctry = PDataCheck(argobj.Place.Country, country)
|
||
|
} else {var result_ctry = true}
|
||
|
if (Boolean(status)) {
|
||
|
var result_stat = PDataCheck(argobj.Place.Status, status)
|
||
|
} else {var result_stat = true}
|
||
|
var resultiid = result_ptype && result_tag && result_date && result_amb && result_style && result_area && result_ctry && result_stat
|
||
|
return resultiid
|
||
|
}
|
||
|
|
||
|
let templacetype = GetMainPlaceType(placetype)
|
||
|
|
||
|
function GetMainPlaceType(arg3) {
|
||
|
if (!Array.isArray(arg3)) {
|
||
|
return arg3
|
||
|
} else {
|
||
|
return arg3[0]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (page.length > 0 && (templacetype == 'Restaurant' || templacetype == 'Brunch')) {
|
||
|
dv.table(["Name", "Style", "Cuisine", "Phone", "Email", "Website"], page
|
||
|
.where(p => p && IsInPSearch(p))
|
||
|
.sort(p => p.file.name, `asc`)
|
||
|
.map(p => [p.file.link, p.Place.SubType, p.Place.Style, p.Phone, p.Email, p.Website]));
|
||
|
} else if (page.length > 0 && (templacetype == 'Hotel' || templacetype == 'Bar')) {
|
||
|
dv.table(["Name", "Type", "Influence", "Phone", "Email", "Website"], page
|
||
|
.where(p => p && IsInPSearch(p))
|
||
|
.sort(p => p.file.name, `asc`)
|
||
|
.map(p => [p.file.link, p.Place.SubType, p.Place.Style, p.Phone, p.Email, p.Website]));
|
||
|
} else if (page.length > 0 && (templacetype == 'Sport')) {
|
||
|
dv.table(["Name", "Phone", "Email", "Website"], page
|
||
|
.where(p => p && IsInPSearch(p))
|
||
|
.sort(p => p.file.name, `asc`)
|
||
|
.map(p => [p.file.link, p.Phone, p.Email, p.Website]));
|
||
|
} else if (page.length > 0 && (templacetype == 'Café')) {
|
||
|
dv.table(["Name", "Style", "Phone", "Email", "Website"], page
|
||
|
.where(p => p && IsInPSearch(p))
|
||
|
.sort(p => p.file.name, `asc`)
|
||
|
.map(p => [p.file.link, p.Place.SubType, p.Phone, p.Email, p.Website]));
|
||
|
} else { return '"No result matching your query"'}
|