UNPKG

sparnatural

Version:

Visual client-side SPARQL query builder and knowledge graph exploration tool

135 lines 6.21 kB
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