Symbol Info widget cannot be closed once opened #824
Make screenshot button icon look like on tradingview.com #819 Volume labels on Y axis are scaled wrong #809 custom_css_url option in chart widget constructor #806 Load doesn't work when symbol is different from ticker #805 Drawings are placed incorrectly when changing resolution #797 Cannot read property 'supported_resolutions' of null #793 widget.setVisibleRange call does not work #789 Events onLoad and onSave (load/save api) #787 snapshot_url on v1.4 unstable #777 Allow disable undo for position and order lines #771 Option to disable Undo for API created drawings #760 Down button doesn't work when multiple indicators are shown #759 Symbol not loaded after repeated setSymbol/load #757 Number Format support in chart #747 Bar countdown not working #743 Change style of custom Indicators #725 Cannot update positionLine text too quickly #717 Execution shape is not displayed #685 Chart is throwing an error: No real bars known, cannot extrapolate anything #674 DataFeed object not released after widget removal #666 Timescale marks in the future are shifted with overnight symbols #663 Incorrect ToolTip on Show/Hide Left Toolbar panel <Minor one> #648 Volume Indicator - Moving Average to be made configurable #635 Chart Events for UI actions #605 Cannot return back to previous symbol after loading the saved chart #604 ATR indicator result differs from metastock result #586 Uncaught RangeError: Maximum call stack size exceededProperty @ tv-chart.html #570 Do not trim text in menus #560 Review widget API #520 Content popup by marks can't disappear automatic #517 Execution shape is not visible until first symbol/interval change #462 Sub-minute resolution #387 Improvement/Solution: postMessageWrapper() does not work after iframe refresh #237 Time label not update #209 Convert png icons to svgs #32
This commit is contained in:
@@ -36,6 +36,18 @@ Datafeeds.UDFCompatibleDatafeed.prototype.defaultConfiguration = function() {
|
||||
};
|
||||
};
|
||||
|
||||
Datafeeds.UDFCompatibleDatafeed.prototype.getServerTime = function(callback) {
|
||||
if (this._configuration.supports_time) {
|
||||
this._send(this._datafeedURL + "/time", {})
|
||||
.done(function (response) {
|
||||
callback(+response);
|
||||
})
|
||||
.fail(function() {
|
||||
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
Datafeeds.UDFCompatibleDatafeed.prototype.on = function (event, callback) {
|
||||
|
||||
if (!this._callbacks.hasOwnProperty(event)) {
|
||||
@@ -412,13 +424,19 @@ Datafeeds.UDFCompatibleDatafeed.prototype.getQuotes = function(symbols, onDataCa
|
||||
var data = JSON.parse(response);
|
||||
if (data.s == "ok") {
|
||||
// JSON format is {s: "status", [{s: "symbol_status", n: "symbol_name", v: {"field1": "value1", "field2": "value2", ..., "fieldN": "valueN"}}]}
|
||||
onDataCallback && onDataCallback(data.d);
|
||||
if (onDataCallback) {
|
||||
onDataCallback(data.d);
|
||||
}
|
||||
} else {
|
||||
onErrorCallback && onErrorCallback(data.errmsg);
|
||||
if (onErrorCallback) {
|
||||
onErrorCallback(data.errmsg);
|
||||
}
|
||||
}
|
||||
})
|
||||
.fail(function (arg) {
|
||||
onErrorCallback && onErrorCallback("network error: " + arg);
|
||||
if (onErrorCallback) {
|
||||
onErrorCallback("network error: " + arg);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -479,12 +497,12 @@ Datafeeds.SymbolsStorage.prototype._requestFullSymbolsList = function() {
|
||||
that._onExchangeDataReceived(exchange, JSON.parse(response));
|
||||
that._onAnyExchangeResponseReceived(exchange);
|
||||
};
|
||||
}(exchange))
|
||||
}(exchange)) //jshint ignore:line
|
||||
.fail(function(exchange) {
|
||||
return function (reason) {
|
||||
that._onAnyExchangeResponseReceived(exchange);
|
||||
};
|
||||
}(exchange));
|
||||
}(exchange)); //jshint ignore:line
|
||||
}
|
||||
};
|
||||
|
||||
@@ -493,9 +511,9 @@ Datafeeds.SymbolsStorage.prototype._requestFullSymbolsList = function() {
|
||||
Datafeeds.SymbolsStorage.prototype._onExchangeDataReceived = function(exchangeName, data) {
|
||||
|
||||
function tableField(data, name, index) {
|
||||
return data[name] instanceof Array
|
||||
? data[name][index]
|
||||
: data[name];
|
||||
return data[name] instanceof Array ?
|
||||
data[name][index] :
|
||||
data[name];
|
||||
}
|
||||
|
||||
try
|
||||
@@ -722,7 +740,7 @@ Datafeeds.DataPulseUpdater = function(datafeed, updateFrequency) {
|
||||
function() {
|
||||
that._requestsPending--;
|
||||
});
|
||||
})(subscriptionRecord);
|
||||
})(subscriptionRecord); //jshint ignore:line
|
||||
|
||||
}
|
||||
};
|
||||
@@ -837,10 +855,10 @@ Datafeeds.QuotesPulseUpdater.prototype._updateQuotes = function(symbolsGetter) {
|
||||
subscribers[i](data);
|
||||
}
|
||||
};
|
||||
}(subscriptionRecord.listeners, listenerGUID),
|
||||
}(subscriptionRecord.listeners, listenerGUID), //jshint ignore:line
|
||||
// onErrorCallback
|
||||
function (error) {
|
||||
that._requestsPending--;
|
||||
});
|
||||
}); //jshint ignore:line
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user