sparnatural
Version:
Visual client-side SPARQL query builder and knowledge graph exploration tool
135 lines • 6.21 kB
JavaScript
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _DatesWidget_addValueBtnClicked, _DatesWidget_getValueLabel;
import { AddUserInputBtn } from "../buttons/AddUserInputBtn";
import { AbstractWidget, ValueRepetition } from "./AbstractWidget";
import { I18n } from "../../settings/I18n";
/**
* Old time period widget
* @deprecated
*/
export class DatesWidget extends AbstractWidget {
constructor(parentComponent, datesHandler, startClassVal, objectPropVal, endClassVal) {
super("date-widget", parentComponent, null, startClassVal, objectPropVal, endClassVal, ValueRepetition.SINGLE);
_DatesWidget_addValueBtnClicked.set(this, () => {
let val = {
label: "",
criteria: {
start: this.inputStart.val().toString(),
stop: this.inputEnd.val().toString()
}
};
this.triggerRenderWidgetVal(this.parseInput(val));
});
_DatesWidget_getValueLabel.set(this, function (start, stop) {
let lbl = "";
if (start != "" && start) {
lbl = lbl.concat(` ${start.toISOString().slice(0, 10)}`);
}
if (stop && stop != "") {
lbl = lbl.concat(` - ${stop.toISOString().slice(0, 10)}`);
}
return lbl;
});
this.datesHandler = datesHandler;
this.startClassVal = startClassVal;
this.objectPropVal = objectPropVal;
this.endClassVal = endClassVal;
}
render() {
super.render();
this.input = $(`<input id="input" placeholder="${I18n.labels.PlaceHolderDatePeriod}"/>`);
this.inputStart = $(`<input id="input-start" placeholder="${I18n.labels.TimeWidgetDateFrom}"/>`);
this.inputEnd = $(`<input id="input-start" placeholder="${I18n.labels.TimeWidgetDateFrom}"/>`);
this.inputValue = $(`<input id="input-value" type="hidden"/>`);
this.html
.append(this.input)
.append(this.inputStart)
.append(this.inputEnd)
.append(this.inputValue);
this.addWidgetValueBtn = new AddUserInputBtn(this, I18n.labels.ButtonAdd, __classPrivateFieldGet(this, _DatesWidget_addValueBtnClicked, "f")).render();
var phrase = "";
var data_json = null;
$.ajax({
url: this.datesHandler.datesUrl(this.startClassVal.type, this.objectPropVal.type, this.endClassVal.type, phrase),
async: false,
success: function (data) {
data_json = data;
},
});
var options = {
data: {},
getValue: function (element) {
return this.datesHandler.elementLabel(element);
},
list: {
match: {
enabled: true,
},
onChooseEvent: function () {
var values = this.input.getSelectedItemData();
var value = this.datesHandler.elementLabel(values);
var start = this.datesHandler.elementStart(values);
var stop = this.datesHandler.elementEnd(values);
this.input.val(value).trigger("change");
this.inputStart.val(start).trigger("change");
this.inputEnd.val(stop).trigger("change");
this.inputValue.val(value).trigger("change");
},
},
template: {
type: "custom",
method: function (value, item) {
var label = this.datesHandler.elementLabel(item);
var start = this.datesHandler.elementStart(item);
var stop = this.datesHandler.elementEnd(item);
return ("<div>" +
label +
' <span class="start">' +
start +
'</span><span class="end">' +
stop +
"</span></div>");
},
},
requestDelay: 400,
};
this.input.easyAutocomplete(options);
return this;
}
parseInput(dateValue) {
let theValue = dateValue.criteria;
if (theValue.start !== "" && theValue.stop !== "") {
if (parseInt(theValue.start) > parseInt(theValue.stop)) {
dateValue = null;
}
else {
var absoluteStartYear = theValue.start.startsWith("-")
? theValue.start.substring(1)
: theValue.start;
var paddedAbsoluteStartYear = absoluteStartYear.padStart(4, "0");
var paddedStartYear = theValue.start.startsWith("-")
? "-" + paddedAbsoluteStartYear
: paddedAbsoluteStartYear;
theValue.start = paddedStartYear + "-01-01T00:00:00";
var absoluteStopYear = theValue.stop.startsWith("-")
? theValue.stop.substring(1)
: theValue.stop;
var paddedAbsoluteStopYear = absoluteStopYear.padStart(4, "0");
var paddedStopYear = theValue.stop.startsWith("-")
? "-" + paddedAbsoluteStopYear
: paddedAbsoluteStopYear;
theValue.stop = paddedStopYear + "-12-31T23:59:59";
}
}
return {
label: __classPrivateFieldGet(this, _DatesWidget_getValueLabel, "f").call(this, theValue.start, theValue.stop),
criteria: theValue
};
}
}
_DatesWidget_addValueBtnClicked = new WeakMap(), _DatesWidget_getValueLabel = new WeakMap();
//# sourceMappingURL=DatesWidget.js.map