Danke fuer die Antwort Sempervivum. Der String in options.test ist ok. die Objekte sind in dataJSON auch korrekt. Entscheidend ist Zeile 6 (oben) (32 unten). Welche Methode kann ich anstelle getJSON nutzen um der callback Funktion die daten zu uebergeben? Oder anders wie kann ich die Daten weiter mit Zeile 6 verarbeiten.
Zu deiner Frage: leider gibt es kein php. Ist nen SharePoint server. Ich hole mir die daten mit nem JQUERY REST call in einem anderem script. Dort werden zusammegefasst, sortiert, formartiert und als JSON string (voher in eine JSON datei geschrieben) als Variable gespeichert. Diesen String uebergebe ich in der Haupt html Datei an "gantt". (code snip)
Wie du sehen kannst uebergebe ich hier den Pfad zur data2.js (JSON) zum Einen und zweitens den generierten JSON string. Ersteres ist nun nicht mehr moeglich, da ich keine dateien mehr auf dem Server speichern kann. Beide Argument landen in options.source oder options.test
$(".gantt").gantt({source: "https://PATH/js/data2.js", test: myJsonString})
Hier nen test JSON string, welchen ich erzeugen lasse. Meiner Meinung nach ok
[{"uid":"1","name":"HOPPER, Bob","desc":"Branch","values":[{"from":"/Date(1585090800000)/","to":"/Date(1585090800000)/","desc":"SM","customClass":"ganttGreen"},{"from":"/Date(1586469600000)/","to":"/Date(1586469600000)/","desc":"S","customClass":"ganttRed"}]},{"uid":"2","name":"TALER, Tim","desc":"Branch","values":[{"from":"/Date(1585177200000)/","to":"/Date(1585177200000)/","desc":"P","customClass":"ganttBlue"}]}]
Problem ist wie schon gesagt das Weiterverarbeiten.
getJSON erwartet ein Pfad. Habe aber einen JSON string. Ersetze ich es mit JSON.parse(options.test) funktiert es nicht
(function (jQuery) {
jQuery.fn.gantt = function (options) {
var defaults = {
source: null,
itemsPerPage: 7,
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
dow: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
startPos: new Date()
};
var options = jQuery.extend(defaults, options);
var data = null; // Received data
var pageNum = 0; // Current page number
var pageCount = 0; // Aviable pages count
var rowsOnLastPage = 0; // How many rows on last page
var rowsNum = 0; //
var hPosition = 0; // Current position on diagram (Horizontal)
var dateStart = null;
var dateEnd = null;
var create = function(jQuerythis) {
if (!options.test)
return;
console.log(options.source);
console.log(options.test);
var dataJSON = JSON.parse(options.test);
//jQuery.data(dataJSON, function(rData) {
jQuery.getJSON(options.source, function(rData) {
//jQuery.parseJSON(options.test, function(rdata) {
data = rData;
console.log(data);
rowsNum = data.length;
pageCount = Math.ceil(rowsNum/options.itemsPerPage);
rowsOnLastPage = rowsNum - (Math.floor(rowsNum/options.itemsPerPage) * options.itemsPerPage);
dateStart = tools.getMinDate();
dateEnd = tools.getMaxDate();
var contTable = createContainer();
Alles anzeigen
Hoffe du hast die Erleuchtung fuer mich