").attr("data-bind", widgetName + ": options").get(0);
(0, _renderer.default)(options.container).append(markup);
_knockout.default.applyBindings(options.model, markup)
}
}
},
createTemplate: function(element) {
return new _template.KoTemplate(element)
}
}
};
var optionNameToModelMap = {};
var applyModelValueToOption = function(optionName, modelValue, unwrap) {
var locks = $element.data("dxKoLocks");
var optionValue = unwrap ? _knockout.default.unwrap(modelValue) : modelValue;
if (_knockout.default.isWriteableObservable(modelValue)) {
optionNameToModelMap[optionName] = modelValue
}
if (component) {
if (locks.locked(optionName)) {
return
}
locks.obtain(optionName);
try {
if (_knockout.default.ignoreDependencies) {
_knockout.default.ignoreDependencies(component.option, component, [optionName, optionValue])
} else {
component.option(optionName, optionValue)
}
} finally {
locks.release(optionName)
}
} else {
ctorOptions[optionName] = optionValue
}
};
var handleOptionChanged = function(args) {
var optionName = args.fullName;
var optionValue = args.value;
if (!(optionName in optionNameToModelMap)) {
return
}
var $element = this._$element;
var locks = $element.data("dxKoLocks");
if (locks.locked(optionName)) {
return
}
locks.obtain(optionName);
try {
optionNameToModelMap[optionName](optionValue)
} finally {
locks.release(optionName)
}
};
var unwrapModelValue = function(currentModel, propertyName, propertyPath) {
if (propertyPath === isBindingPropertyPredicateName) {
return
}
if (!isBindingPropertyPredicate || isBindingPropertyPredicate(propertyPath, propertyName, currentModel)) {
var unwrappedPropertyValue;
_knockout.default.computed((function() {
var propertyValue = currentModel[propertyName];
applyModelValueToOption(propertyPath, propertyValue, true);
unwrappedPropertyValue = _knockout.default.unwrap(propertyValue)
}), null, {
disposeWhenNodeIsRemoved: domNode
});
if ((0, _type.isPlainObject)(unwrappedPropertyValue)) {
if (!optionsByReference[propertyPath]) {
unwrapModel(unwrappedPropertyValue, propertyPath)
}
}
} else {
applyModelValueToOption(propertyPath, currentModel[propertyName], false)
}
};
function unwrapModel(model, propertyPath) {
for (var propertyName in model) {
if (Object.prototype.hasOwnProperty.call(model, propertyName)) {
unwrapModelValue(model, propertyName, propertyPath ? [propertyPath, propertyName].join(".") : propertyName)
}
}
}! function() {
optionChangedCallbacks.add(handleOptionChanged);
$element.data("dxKoCreation", true).data("dxKoLocks", new _locker.default);
new componentClass($element, ctorOptions);
ctorOptions = null
}();
return {
controlsDescendantBindings: componentClass.subclassOf(_ui.default) || componentClass.subclassOf(_draggable.default)
}
}
};
if ("dxValidator" === componentName) {
_knockout.default.bindingHandlers.dxValidator.after = editorsBindingHandlers
}
}(name, componentClass)
}))
}
},
/*!******************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/integration/knockout/template.js ***!
\******************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.KoTemplate = void 0;
var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 2));
var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 11));
var _knockout = _interopRequireDefault(__webpack_require__( /*! knockout */ 69));
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _template_base = __webpack_require__( /*! ../../core/templates/template_base */ 77);
var _dom = __webpack_require__( /*! ../../core/utils/dom */ 35);
var _utils = __webpack_require__( /*! ./utils */ 266);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function(o, p) {
o.__proto__ = p;
return o
};
return _setPrototypeOf(o, p)
}
var KoTemplate = function(_TemplateBase) {
! function(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
_setPrototypeOf(subClass, superClass)
}(KoTemplate, _TemplateBase);
function KoTemplate(element) {
var _this;
_this = _TemplateBase.call(this) || this;
_this._element = element;
_this._template = (0, _renderer.default)("
").append((0, _dom.normalizeTemplateElement)(element));
_this._registerKoTemplate();
return _this
}
var _proto = KoTemplate.prototype;
_proto._registerKoTemplate = function() {
var template = this._template.get(0);
new _knockout.default.templateSources.anonymousTemplate(template).nodes(template)
};
_proto._prepareDataForContainer = function(data, container) {
if (container && container.length) {
var node = (0, _utils.getClosestNodeWithContext)(container.get(0));
var containerContext = _knockout.default.contextFor(node);
data = void 0 !== data ? data : _knockout.default.dataFor(node) || {};
if (containerContext) {
return data === containerContext.$data ? containerContext : containerContext.createChildContext(data)
}
}
return function(data) {
var parentNode = _dom_adapter.default.createElement("div");
_knockout.default.applyBindingsToNode(parentNode, null, data);
var parentContext = _knockout.default.contextFor(parentNode);
_knockout.default.cleanNode(parentNode);
return parentContext
}(data).createChildContext(data)
};
_proto._renderCore = function(options) {
var model = this._prepareDataForContainer(options.model, (0, _renderer.default)(options.container));
if ((0, _type.isDefined)(options.index)) {
model.$index = options.index
}
var $placeholder = (0, _renderer.default)("
").appendTo(options.container);
var $result;
_knockout.default.renderTemplate(this._template.get(0), model, {
afterRender: function(nodes) {
$result = (0, _renderer.default)(nodes)
}
}, $placeholder.get(0), "replaceNode");
return $result
};
_proto.source = function() {
return (0, _renderer.default)(this._element).clone()
};
_proto.dispose = function() {
this._template.remove()
};
return KoTemplate
}(_template_base.TemplateBase);
exports.KoTemplate = KoTemplate
},
/*!***************************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/integration/knockout/event_registrator.js ***!
\***************************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 2));
var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 5));
var _knockout = _interopRequireDefault(__webpack_require__( /*! knockout */ 69));
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _event_registrator_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../events/core/event_registrator_callbacks */ 137));
var _index = __webpack_require__( /*! ../../events/utils/index */ 9);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
if (_knockout.default) {
_event_registrator_callbacks.default.add((function(name) {
var koBindingEventName = (0, _index.addNamespace)(name, name + "Binding");
_knockout.default.bindingHandlers[name] = {
update: function(element, valueAccessor, allBindingsAccessor, viewModel) {
var $element = (0, _renderer.default)(element);
var unwrappedValue = _knockout.default.utils.unwrapObservable(valueAccessor());
var eventSource = unwrappedValue.execute ? unwrappedValue.execute : unwrappedValue;
_events_engine.default.off($element, koBindingEventName);
_events_engine.default.on($element, koBindingEventName, (0, _type.isPlainObject)(unwrappedValue) ? unwrappedValue : {}, (function(e) {
eventSource.call(viewModel, viewModel, e)
}))
}
}
}))
}
},
/*!********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/integration/knockout/components.js ***!
\********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _knockout = (obj = __webpack_require__( /*! knockout */ 69), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _icon = __webpack_require__( /*! ../../core/utils/icon */ 54);
if (_knockout.default) {
_knockout.default.bindingHandlers.dxControlsDescendantBindings = {
init: function(_, valueAccessor) {
return {
controlsDescendantBindings: _knockout.default.unwrap(valueAccessor())
}
}
};
_knockout.default.bindingHandlers.dxIcon = {
init: function(element, valueAccessor) {
var options = _knockout.default.utils.unwrapObservable(valueAccessor()) || {};
var iconElement = (0, _icon.getImageContainer)(options);
_knockout.default.virtualElements.emptyNode(element);
if (iconElement) {
_knockout.default.virtualElements.prepend(element, iconElement.get(0))
}
},
update: function(element, valueAccessor) {
var options = _knockout.default.utils.unwrapObservable(valueAccessor()) || {};
var iconElement = (0, _icon.getImageContainer)(options);
_knockout.default.virtualElements.emptyNode(element);
if (iconElement) {
_knockout.default.virtualElements.prepend(element, iconElement.get(0))
}
}
};
_knockout.default.virtualElements.allowedBindings.dxIcon = true
}
},
/*!********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/integration/knockout/validation.js ***!
\********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _extend = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 15));
var _events_strategy = __webpack_require__( /*! ../../core/events_strategy */ 106);
var _validation_engine = _interopRequireDefault(__webpack_require__( /*! ../../ui/validation_engine */ 101));
var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 6);
var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 36));
var _knockout = _interopRequireDefault(__webpack_require__( /*! knockout */ 69));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
if (_knockout.default) {
var koDxValidator = _class.default.inherit({
ctor: function(target, _ref) {
var _this = this;
var name = _ref.name,
validationRules = _ref.validationRules;
this.target = target;
this.name = name;
this.isValid = _knockout.default.observable(true);
this.validationError = _knockout.default.observable();
this.validationErrors = _knockout.default.observable();
this.validationStatus = _knockout.default.observable("valid");
this._eventsStrategy = new _events_strategy.EventsStrategy(this);
this.validationRules = (0, _iterator.map)(validationRules, (function(rule, index) {
return (0, _extend.extend)({}, rule, {
validator: _this,
index: index
})
}));
this._validationInfo = {
result: null,
deferred: null
}
},
_updateValidationResult: function(result) {
if (!this._validationInfo.result || this._validationInfo.result.id !== result.id) {
var complete = this._validationInfo.deferred && this._validationInfo.result.complete;
this._validationInfo.result = (0, _extend.extend)({}, result, {
complete: complete
})
} else {
for (var prop in result) {
if ("id" !== prop && "complete" !== prop) {
this._validationInfo.result[prop] = result[prop]
}
}
}
},
validate: function() {
var _this2 = this;
var currentResult = this._validationInfo && this._validationInfo.result;
var value = this.target();
if (currentResult && "pending" === currentResult.status && currentResult.value === value) {
return (0, _extend.extend)({}, currentResult)
}
var result = _validation_engine.default.validate(value, this.validationRules, this.name);
result.id = (new _guid.default).toString();
this._applyValidationResult(result);
result.complete && result.complete.then((function(res) {
if (res.id === _this2._validationInfo.result.id) {
_this2._applyValidationResult(res)
}
}));
return (0, _extend.extend)({}, this._validationInfo.result)
},
reset: function() {
this.target(null);
var result = {
id: null,
isValid: true,
brokenRule: null,
pendingRules: null,
status: "valid",
complete: null
};
this._applyValidationResult(result);
return result
},
_applyValidationResult: function(result) {
result.validator = this;
this._updateValidationResult(result);
this.target.dxValidator.isValid(this._validationInfo.result.isValid);
this.target.dxValidator.validationError(this._validationInfo.result.brokenRule);
this.target.dxValidator.validationErrors(this._validationInfo.result.brokenRules);
this.target.dxValidator.validationStatus(this._validationInfo.result.status);
if ("pending" === result.status) {
if (!this._validationInfo.deferred) {
this._validationInfo.deferred = new _deferred.Deferred;
this._validationInfo.result.complete = this._validationInfo.deferred.promise()
}
this._eventsStrategy.fireEvent("validating", [this._validationInfo.result]);
return
}
if ("pending" !== result.status) {
this._eventsStrategy.fireEvent("validated", [result]);
if (this._validationInfo.deferred) {
this._validationInfo.deferred.resolve(result);
this._validationInfo.deferred = null
}
}
},
on: function(eventName, eventHandler) {
this._eventsStrategy.on(eventName, eventHandler);
return this
},
off: function(eventName, eventHandler) {
this._eventsStrategy.off(eventName, eventHandler);
return this
}
});
_knockout.default.extenders.dxValidator = function(target, option) {
target.dxValidator = new koDxValidator(target, option);
target.subscribe(target.dxValidator.validate.bind(target.dxValidator));
return target
};
_validation_engine.default.registerModelForValidation = function(model) {
(0, _iterator.each)(model, (function(name, member) {
if (_knockout.default.isObservable(member) && member.dxValidator) {
_validation_engine.default.registerValidatorInGroup(model, member.dxValidator)
}
}))
};
_validation_engine.default.unregisterModelForValidation = function(model) {
(0, _iterator.each)(model, (function(name, member) {
if (_knockout.default.isObservable(member) && member.dxValidator) {
_validation_engine.default.removeRegisteredValidator(model, member.dxValidator)
}
}))
};
_validation_engine.default.validateModel = _validation_engine.default.validateGroup
}
},
/*!********************************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/integration/knockout/variable_wrapper_utils.js ***!
\********************************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _knockout = _interopRequireDefault(__webpack_require__( /*! knockout */ 69));
var _variable_wrapper = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/variable_wrapper */ 108));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
if (_knockout.default) {
_variable_wrapper.default.inject({
isWrapped: _knockout.default.isObservable,
isWritableWrapped: _knockout.default.isWritableObservable,
wrap: _knockout.default.observable,
unwrap: function(value) {
if (_knockout.default.isObservable(value)) {
return _knockout.default.utils.unwrapObservable(value)
}
return this.callBase(value)
},
assign: function(variable, value) {
if (_knockout.default.isObservable(variable)) {
variable(value)
} else {
this.callBase(variable, value)
}
}
})
}
},
/*!********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/integration/knockout/clean_node.js ***!
\********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _element_data = __webpack_require__( /*! ../../core/element_data */ 43);
var _knockout = (obj = __webpack_require__( /*! knockout */ 69), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _version = __webpack_require__( /*! ../../core/utils/version */ 72);
if (_knockout.default) {
var originalKOCleanExternalData = _knockout.default.utils.domNodeDisposal.cleanExternalData;
! function() {
(0, _element_data.afterCleanData)((function(nodes) {
var i;
for (i = 0; i < nodes.length; i++) {
nodes[i].cleanedByJquery = true
}
for (i = 0; i < nodes.length; i++) {
if (!nodes[i].cleanedByKo) {
_knockout.default.cleanNode(nodes[i])
}
delete nodes[i].cleanedByKo
}
for (i = 0; i < nodes.length; i++) {
delete nodes[i].cleanedByJquery
}
}));
_knockout.default.utils.domNodeDisposal.cleanExternalData = function(node) {
node.cleanedByKo = true;
if (!node.cleanedByJquery) {
(0, _element_data.cleanData)([node])
}
}
}();
_element_data.strategyChanging.add((function(strategy) {
var isJQuery = !!strategy.fn;
if (isJQuery && (0, _version.compare)(strategy.fn.jquery, [2, 0]) < 0) {
! function() {
(0, _element_data.afterCleanData)((function() {}));
_knockout.default.utils.domNodeDisposal.cleanExternalData = originalKOCleanExternalData
}()
}
}))
}
},
/*!************************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/integration/knockout/clean_node_old.js ***!
\************************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _knockout = (obj = __webpack_require__( /*! knockout */ 69), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _version = __webpack_require__( /*! ../../core/utils/version */ 72);
var _element_data = __webpack_require__( /*! ../../core/element_data */ 43);
if (_knockout.default) {
_element_data.strategyChanging.add((function(strategy) {
var isJQuery = !!strategy.fn;
if (isJQuery && (0, _version.compare)(strategy.fn.jquery, [2, 0]) < 0) {
! function(jQuery) {
var cleanKoData = function(element, andSelf) {
var cleanNode = function() {
_knockout.default.cleanNode(this)
};
if (andSelf) {
element.each(cleanNode)
} else {
element.find("*").each(cleanNode)
}
};
var originalEmpty = jQuery.fn.empty;
jQuery.fn.empty = function() {
cleanKoData(this, false);
return originalEmpty.apply(this, arguments)
};
var originalRemove = jQuery.fn.remove;
jQuery.fn.remove = function(selector, keepData) {
if (!keepData) {
var subject = this;
if (selector) {
subject = subject.filter(selector)
}
cleanKoData(subject, true)
}
return originalRemove.call(this, selector, keepData)
};
var originalHtml = jQuery.fn.html;
jQuery.fn.html = function(value) {
if ("string" === typeof value) {
cleanKoData(this, false)
}
return originalHtml.apply(this, arguments)
};
var originalReplaceWith = jQuery.fn.replaceWith;
jQuery.fn.replaceWith = function() {
var result = originalReplaceWith.apply(this, arguments);
if (!this.parent().length) {
cleanKoData(this, true)
}
return result
}
}(strategy)
}
}))
}
},
/*!*******************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/localization/globalize/message.js ***!
\*******************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
__webpack_require__( /*! ./core */ 141);
var _globalize = _interopRequireDefault(__webpack_require__( /*! globalize */ 80));
var _message = _interopRequireDefault(__webpack_require__( /*! ../message */ 10));
var _core2 = _interopRequireDefault(__webpack_require__( /*! ../core */ 90));
__webpack_require__( /*! globalize/message */ 80);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
if (_globalize.default && _globalize.default.formatMessage) {
var originalLoadMessages = _globalize.default.loadMessages;
_globalize.default.loadMessages = function(messages) {
_message.default.load(messages)
};
var globalizeMessageLocalization = {
engine: function() {
return "globalize"
},
ctor: function() {
this.load(this._dictionary)
},
load: function(messages) {
this.callBase(messages);
originalLoadMessages(messages)
},
getMessagesByLocales: function() {
return _globalize.default.cldr.get("globalize-messages")
},
getFormatter: function(key, locale) {
var currentLocale = locale || _core2.default.locale();
var formatter = this._getFormatterBase(key, locale);
if (!formatter) {
formatter = this._formatterByGlobalize(key, locale)
}
if (!formatter && "en" !== currentLocale) {
formatter = this.getFormatter(key, "en")
}
return formatter
},
_formatterByGlobalize: function(key, locale) {
var currentGlobalize = !locale || locale === _core2.default.locale() ? _globalize.default : new _globalize.default(locale);
var result;
if (this._messageLoaded(key, locale)) {
result = currentGlobalize.messageFormatter(key)
}
return result
},
_messageLoaded: function(key, locale) {
var currentCldr = locale ? new _globalize.default(locale).cldr : _globalize.default.locale();
var value = currentCldr.get(["globalize-messages/{bundle}", key]);
return !!value
},
_loadSingle: function(key, value, locale) {
var data = {};
data[locale] = {};
data[locale][key] = value;
this.load(data)
}
};
_message.default.inject(globalizeMessageLocalization)
}
},
/*!****************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/localization/globalize/date.js ***!
\****************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
function _typeof(obj) {
if ("function" === typeof Symbol && "symbol" === typeof Symbol.iterator) {
_typeof = function(obj) {
return typeof obj
}
} else {
_typeof = function(obj) {
return obj && "function" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj
}
}
return _typeof(obj)
}
__webpack_require__( /*! ./core */ 141);
__webpack_require__( /*! ./number */ 207);
__webpack_require__( /*! globalize/date */ 80);
var _globalize = _interopRequireDefault(__webpack_require__( /*! globalize */ 80));
var _date2 = _interopRequireDefault(__webpack_require__( /*! ../date */ 34));
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _array = __webpack_require__( /*! ../../core/utils/array */ 12);
var iteratorUtils = function(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj
}
if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) {
return {
default: obj
}
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj)
}
var newObj = {};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for (var key in obj) {
if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc)
} else {
newObj[key] = obj[key]
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj)
}
return newObj
}(__webpack_require__( /*! ../../core/utils/iterator */ 3));
function _getRequireWildcardCache(nodeInterop) {
if ("function" !== typeof WeakMap) {
return null
}
var cacheBabelInterop = new WeakMap;
var cacheNodeInterop = new WeakMap;
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop
})(nodeInterop)
}
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var ACCEPTABLE_JSON_FORMAT_PROPERTIES = ["skeleton", "date", "time", "datetime", "raw"];
var RTL_MARKS_REGEX = /[\u200E\u200F]/g;
if (_globalize.default && _globalize.default.formatDate) {
if ("en" === _globalize.default.locale().locale) {
_globalize.default.load({
supplemental: {
version: {
_cldrVersion: "28",
_unicodeVersion: "8.0.0",
_number: "$Revision: 11969 $"
},
weekData: {
minDays: {
"001": "1",
US: "1",
DE: "4"
},
firstDay: {
"001": "mon",
DE: "mon",
RU: "mon",
JP: "sun",
US: "sun"
},
weekendStart: {
"001": "sat"
},
weekendEnd: {
"001": "sun"
}
}
}
}, {
supplemental: {
version: {
_cldrVersion: "28",
_unicodeVersion: "8.0.0",
_number: "$Revision: 11969 $"
},
timeData: {
"001": {
_allowed: "H h",
_preferred: "H"
},
DE: {
_allowed: "H",
_preferred: "H"
},
JP: {
_allowed: "H K h",
_preferred: "H"
},
RU: {
_allowed: "H",
_preferred: "H"
},
US: {
_allowed: "H h",
_preferred: "h"
}
}
}
}, {
main: {
en: {
identity: {
version: {
_cldrVersion: "28",
_number: "$Revision: 11972 $"
},
language: "en"
},
dates: {
calendars: {
gregorian: {
months: {
format: {
abbreviated: {
1: "Jan",
2: "Feb",
3: "Mar",
4: "Apr",
5: "May",
6: "Jun",
7: "Jul",
8: "Aug",
9: "Sep",
10: "Oct",
11: "Nov",
12: "Dec"
},
narrow: {
1: "J",
2: "F",
3: "M",
4: "A",
5: "M",
6: "J",
7: "J",
8: "A",
9: "S",
10: "O",
11: "N",
12: "D"
},
wide: {
1: "January",
2: "February",
3: "March",
4: "April",
5: "May",
6: "June",
7: "July",
8: "August",
9: "September",
10: "October",
11: "November",
12: "December"
}
},
"stand-alone": {
abbreviated: {
1: "Jan",
2: "Feb",
3: "Mar",
4: "Apr",
5: "May",
6: "Jun",
7: "Jul",
8: "Aug",
9: "Sep",
10: "Oct",
11: "Nov",
12: "Dec"
},
narrow: {
1: "J",
2: "F",
3: "M",
4: "A",
5: "M",
6: "J",
7: "J",
8: "A",
9: "S",
10: "O",
11: "N",
12: "D"
},
wide: {
1: "January",
2: "February",
3: "March",
4: "April",
5: "May",
6: "June",
7: "July",
8: "August",
9: "September",
10: "October",
11: "November",
12: "December"
}
}
},
days: {
format: {
abbreviated: {
sun: "Sun",
mon: "Mon",
tue: "Tue",
wed: "Wed",
thu: "Thu",
fri: "Fri",
sat: "Sat"
},
narrow: {
sun: "S",
mon: "M",
tue: "T",
wed: "W",
thu: "T",
fri: "F",
sat: "S"
},
short: {
sun: "Su",
mon: "Mo",
tue: "Tu",
wed: "We",
thu: "Th",
fri: "Fr",
sat: "Sa"
},
wide: {
sun: "Sunday",
mon: "Monday",
tue: "Tuesday",
wed: "Wednesday",
thu: "Thursday",
fri: "Friday",
sat: "Saturday"
}
},
"stand-alone": {
abbreviated: {
sun: "Sun",
mon: "Mon",
tue: "Tue",
wed: "Wed",
thu: "Thu",
fri: "Fri",
sat: "Sat"
},
narrow: {
sun: "S",
mon: "M",
tue: "T",
wed: "W",
thu: "T",
fri: "F",
sat: "S"
},
short: {
sun: "Su",
mon: "Mo",
tue: "Tu",
wed: "We",
thu: "Th",
fri: "Fr",
sat: "Sa"
},
wide: {
sun: "Sunday",
mon: "Monday",
tue: "Tuesday",
wed: "Wednesday",
thu: "Thursday",
fri: "Friday",
sat: "Saturday"
}
}
},
quarters: {
format: {
abbreviated: {
1: "Q1",
2: "Q2",
3: "Q3",
4: "Q4"
},
narrow: {
1: "1",
2: "2",
3: "3",
4: "4"
},
wide: {
1: "1st quarter",
2: "2nd quarter",
3: "3rd quarter",
4: "4th quarter"
}
},
"stand-alone": {
abbreviated: {
1: "Q1",
2: "Q2",
3: "Q3",
4: "Q4"
},
narrow: {
1: "1",
2: "2",
3: "3",
4: "4"
},
wide: {
1: "1st quarter",
2: "2nd quarter",
3: "3rd quarter",
4: "4th quarter"
}
}
},
dayPeriods: {
format: {
abbreviated: {
midnight: "midnight",
am: "AM",
"am-alt-variant": "am",
noon: "noon",
pm: "PM",
"pm-alt-variant": "pm",
morning1: "in the morning",
afternoon1: "in the afternoon",
evening1: "in the evening",
night1: "at night"
},
narrow: {
midnight: "mi",
am: "a",
"am-alt-variant": "am",
noon: "n",
pm: "p",
"pm-alt-variant": "pm",
morning1: "in the morning",
afternoon1: "in the afternoon",
evening1: "in the evening",
night1: "at night"
},
wide: {
midnight: "midnight",
am: "AM",
"am-alt-variant": "am",
noon: "noon",
pm: "PM",
"pm-alt-variant": "pm",
morning1: "in the morning",
afternoon1: "in the afternoon",
evening1: "in the evening",
night1: "at night"
}
},
"stand-alone": {
abbreviated: {
midnight: "midnight",
am: "AM",
"am-alt-variant": "am",
noon: "noon",
pm: "PM",
"pm-alt-variant": "pm",
morning1: "in the morning",
afternoon1: "in the afternoon",
evening1: "in the evening",
night1: "at night"
},
narrow: {
midnight: "midnight",
am: "AM",
"am-alt-variant": "am",
noon: "noon",
pm: "PM",
"pm-alt-variant": "pm",
morning1: "in the morning",
afternoon1: "in the afternoon",
evening1: "in the evening",
night1: "at night"
},
wide: {
midnight: "midnight",
am: "AM",
"am-alt-variant": "am",
noon: "noon",
pm: "PM",
"pm-alt-variant": "pm",
morning1: "morning",
afternoon1: "afternoon",
evening1: "evening",
night1: "night"
}
}
},
eras: {
eraNames: {
0: "Before Christ",
"0-alt-variant": "Before Common Era",
1: "Anno Domini",
"1-alt-variant": "Common Era"
},
eraAbbr: {
0: "BC",
"0-alt-variant": "BCE",
1: "AD",
"1-alt-variant": "CE"
},
eraNarrow: {
0: "B",
"0-alt-variant": "BCE",
1: "A",
"1-alt-variant": "CE"
}
},
dateFormats: {
full: "EEEE, MMMM d, y",
long: "MMMM d, y",
medium: "MMM d, y",
short: "M/d/yy"
},
timeFormats: {
full: "h:mm:ss a zzzz",
long: "h:mm:ss a z",
medium: "h:mm:ss a",
short: "h:mm a"
},
dateTimeFormats: {
full: "{1} 'at' {0}",
long: "{1} 'at' {0}",
medium: "{1}, {0}",
short: "{1}, {0}",
availableFormats: {
d: "d",
E: "ccc",
Ed: "d E",
Ehm: "E h:mm a",
EHm: "E HH:mm",
Ehms: "E h:mm:ss a",
EHms: "E HH:mm:ss",
Gy: "y G",
GyMMM: "MMM y G",
GyMMMd: "MMM d, y G",
GyMMMEd: "E, MMM d, y G",
h: "h a",
H: "HH",
hm: "h:mm a",
Hm: "HH:mm",
hms: "h:mm:ss a",
Hms: "HH:mm:ss",
hmsv: "h:mm:ss a v",
Hmsv: "HH:mm:ss v",
hmv: "h:mm a v",
Hmv: "HH:mm v",
M: "L",
Md: "M/d",
MEd: "E, M/d",
MMM: "LLL",
MMMd: "MMM d",
MMMEd: "E, MMM d",
MMMMd: "MMMM d",
ms: "mm:ss",
y: "y",
yM: "M/y",
yMd: "M/d/y",
yMEd: "E, M/d/y",
yMMM: "MMM y",
yMMMd: "MMM d, y",
yMMMEd: "E, MMM d, y",
yMMMM: "MMMM y",
yQQQ: "QQQ y",
yQQQQ: "QQQQ y"
},
appendItems: {
Day: "{0} ({2}: {1})",
"Day-Of-Week": "{0} {1}",
Era: "{0} {1}",
Hour: "{0} ({2}: {1})",
Minute: "{0} ({2}: {1})",
Month: "{0} ({2}: {1})",
Quarter: "{0} ({2}: {1})",
Second: "{0} ({2}: {1})",
Timezone: "{0} {1}",
Week: "{0} ({2}: {1})",
Year: "{0} {1}"
},
intervalFormats: {
intervalFormatFallback: "{0} \u2013 {1}",
d: {
d: "d \u2013 d"
},
h: {
a: "h a \u2013 h a",
h: "h \u2013 h a"
},
H: {
H: "HH \u2013 HH"
},
hm: {
a: "h:mm a \u2013 h:mm a",
h: "h:mm \u2013 h:mm a",
m: "h:mm \u2013 h:mm a"
},
Hm: {
H: "HH:mm \u2013 HH:mm",
m: "HH:mm \u2013 HH:mm"
},
hmv: {
a: "h:mm a \u2013 h:mm a v",
h: "h:mm \u2013 h:mm a v",
m: "h:mm \u2013 h:mm a v"
},
Hmv: {
H: "HH:mm \u2013 HH:mm v",
m: "HH:mm \u2013 HH:mm v"
},
hv: {
a: "h a \u2013 h a v",
h: "h \u2013 h a v"
},
Hv: {
H: "HH \u2013 HH v"
},
M: {
M: "M \u2013 M"
},
Md: {
d: "M/d \u2013 M/d",
M: "M/d \u2013 M/d"
},
MEd: {
d: "E, M/d \u2013 E, M/d",
M: "E, M/d \u2013 E, M/d"
},
MMM: {
M: "MMM \u2013 MMM"
},
MMMd: {
d: "MMM d \u2013 d",
M: "MMM d \u2013 MMM d"
},
MMMEd: {
d: "E, MMM d \u2013 E, MMM d",
M: "E, MMM d \u2013 E, MMM d"
},
y: {
y: "y \u2013 y"
},
yM: {
M: "M/y \u2013 M/y",
y: "M/y \u2013 M/y"
},
yMd: {
d: "M/d/y \u2013 M/d/y",
M: "M/d/y \u2013 M/d/y",
y: "M/d/y \u2013 M/d/y"
},
yMEd: {
d: "E, M/d/y \u2013 E, M/d/y",
M: "E, M/d/y \u2013 E, M/d/y",
y: "E, M/d/y \u2013 E, M/d/y"
},
yMMM: {
M: "MMM \u2013 MMM y",
y: "MMM y \u2013 MMM y"
},
yMMMd: {
d: "MMM d \u2013 d, y",
M: "MMM d \u2013 MMM d, y",
y: "MMM d, y \u2013 MMM d, y"
},
yMMMEd: {
d: "E, MMM d \u2013 E, MMM d, y",
M: "E, MMM d \u2013 E, MMM d, y",
y: "E, MMM d, y \u2013 E, MMM d, y"
},
yMMMM: {
M: "MMMM \u2013 MMMM y",
y: "MMMM y \u2013 MMMM y"
}
}
}
}
}
}
}
}
});
_globalize.default.locale("en")
}
var formattersCache = {};
var FORMATS_TO_GLOBALIZE_MAP = {
shortdate: {
path: "dateTimeFormats/availableFormats/yMd"
},
shorttime: {
path: "timeFormats/short"
},
longdate: {
path: "dateFormats/full"
},
longtime: {
path: "timeFormats/medium"
},
monthandday: {
path: "dateTimeFormats/availableFormats/MMMMd"
},
monthandyear: {
path: "dateTimeFormats/availableFormats/yMMMM"
},
quarterandyear: {
path: "dateTimeFormats/availableFormats/yQQQ"
},
day: {
path: "dateTimeFormats/availableFormats/d"
},
year: {
path: "dateTimeFormats/availableFormats/y"
},
shortdateshorttime: {
path: "dateTimeFormats/short",
parts: ["shorttime", "shortdate"]
},
longdatelongtime: {
path: "dateTimeFormats/medium",
parts: ["longtime", "longdate"]
},
month: {
pattern: "LLLL"
},
shortyear: {
pattern: "yy"
},
dayofweek: {
pattern: "EEEE"
},
quarter: {
pattern: "QQQ"
},
millisecond: {
pattern: "SSS"
},
hour: {
pattern: "HH"
},
minute: {
pattern: "mm"
},
second: {
pattern: "ss"
}
};
var globalizeDateLocalization = {
engine: function() {
return "globalize"
},
_getPatternByFormat: function(format) {
var that = this;
var lowerFormat = format.toLowerCase();
var globalizeFormat = FORMATS_TO_GLOBALIZE_MAP[lowerFormat];
if ("datetime-local" === lowerFormat) {
return "yyyy-MM-ddTHH':'mm':'ss"
}
if (!globalizeFormat) {
return
}
var result = globalizeFormat.path && that._getFormatStringByPath(globalizeFormat.path) || globalizeFormat.pattern;
if (globalizeFormat.parts) {
iteratorUtils.each(globalizeFormat.parts, (function(index, part) {
result = result.replace("{" + index + "}", that._getPatternByFormat(part))
}))
}
return result
},
_getFormatStringByPath: function(path) {
return _globalize.default.locale().main("dates/calendars/gregorian/" + path)
},
getPeriodNames: function() {
var json = _globalize.default.locale().main("dates/calendars/gregorian/dayPeriods/stand-alone/wide");
return [json.am, json.pm]
},
getMonthNames: function(format, type) {
var months = _globalize.default.locale().main("dates/calendars/gregorian/months/" + ("format" === type ? type : "stand-alone") + "/" + (format || "wide"));
return iteratorUtils.map(months, (function(month) {
return month
}))
},
getDayNames: function(format) {
var days = _globalize.default.locale().main("dates/calendars/gregorian/days/stand-alone/" + (format || "wide"));
return iteratorUtils.map(days, (function(day) {
return day
}))
},
getTimeSeparator: function() {
return _globalize.default.locale().main("numbers/symbols-numberSystem-latn/timeSeparator")
},
removeRtlMarks: function(text) {
return text.replace(RTL_MARKS_REGEX, "")
},
format: function(date, _format) {
if (!date) {
return
}
if (!_format) {
return date
}
var formatter;
var formatCacheKey;
if ("function" === typeof _format) {
return _format(date)
}
if (_format.formatter) {
return _format.formatter(date)
}
_format = _format.type || _format;
if ("string" === typeof _format) {
formatCacheKey = _globalize.default.locale().locale + ":" + _format;
formatter = formattersCache[formatCacheKey];
if (!formatter) {
_format = {
raw: this._getPatternByFormat(_format) || _format
};
formatter = formattersCache[formatCacheKey] = _globalize.default.dateFormatter(_format)
}
} else {
if (!this._isAcceptableFormat(_format)) {
return
}
formatter = _globalize.default.dateFormatter(_format)
}
return this.removeRtlMarks(formatter(date))
},
parse: function(text, format) {
if (!text) {
return
}
if (!format || "function" === typeof format || (0, _type.isObject)(format) && !this._isAcceptableFormat(format)) {
if (format) {
var parsedValue = this.callBase(text, format);
if (parsedValue) {
return parsedValue
}
}
return _globalize.default.parseDate(text)
}
if (format.parser) {
return format.parser(text)
}
if ("string" === typeof format) {
format = {
raw: this._getPatternByFormat(format) || format
}
}
return _globalize.default.parseDate(text, format)
},
_isAcceptableFormat: function(format) {
if (format.parser) {
return true
}
for (var i = 0; i < ACCEPTABLE_JSON_FORMAT_PROPERTIES.length; i++) {
if (Object.prototype.hasOwnProperty.call(format, ACCEPTABLE_JSON_FORMAT_PROPERTIES[i])) {
return true
}
}
},
firstDayOfWeekIndex: function() {
var firstDay = _globalize.default.locale().supplemental.weekData.firstDay();
return (0, _array.inArray)(firstDay, this._getDayKeys())
},
_getDayKeys: function() {
var days = _globalize.default.locale().main("dates/calendars/gregorian/days/format/short");
return iteratorUtils.map(days, (function(day, key) {
return key
}))
}
};
_date2.default.resetInjection();
_date2.default.inject(globalizeDateLocalization)
}
},
/*!********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/localization/globalize/currency.js ***!
\********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _open_xml_currency_format = _interopRequireDefault(__webpack_require__( /*! ../open_xml_currency_format */ 246));
__webpack_require__( /*! ./core */ 141);
__webpack_require__( /*! ./number */ 207);
__webpack_require__( /*! ../currency */ 119);
__webpack_require__( /*! globalize/currency */ 80);
var _globalize = _interopRequireDefault(__webpack_require__( /*! globalize */ 80));
var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 32));
var _number2 = _interopRequireDefault(__webpack_require__( /*! ../number */ 47));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
function _typeof(obj) {
if ("function" === typeof Symbol && "symbol" === typeof Symbol.iterator) {
_typeof = function(obj) {
return typeof obj
}
} else {
_typeof = function(obj) {
return obj && "function" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj
}
}
return _typeof(obj)
}
if (_globalize.default && _globalize.default.formatCurrency) {
if ("en" === _globalize.default.locale().locale) {
_globalize.default.load({
main: {
en: {
identity: {
version: {
_cldrVersion: "28",
_number: "$Revision: 11972 $"
},
language: "en"
},
numbers: {
currencies: {
USD: {
displayName: "US Dollar",
"displayName-count-one": "US dollar",
"displayName-count-other": "US dollars",
symbol: "$",
"symbol-alt-narrow": "$"
}
}
}
}
}
}, {
supplemental: {
version: {
_cldrVersion: "28",
_unicodeVersion: "8.0.0",
_number: "$Revision: 11969 $"
},
currencyData: {
fractions: {
DEFAULT: {
_rounding: "0",
_digits: "2"
}
}
}
}
});
_globalize.default.locale("en")
}
var formattersCache = {};
var getFormatter = function(currency, format) {
var formatter;
var formatCacheKey;
if ("object" === _typeof(format)) {
formatCacheKey = _globalize.default.locale().locale + ":" + currency + ":" + JSON.stringify(format)
} else {
formatCacheKey = _globalize.default.locale().locale + ":" + currency + ":" + format
}
formatter = formattersCache[formatCacheKey];
if (!formatter) {
formatter = formattersCache[formatCacheKey] = _globalize.default.currencyFormatter(currency, format)
}
return formatter
};
var globalizeCurrencyLocalization = {
_formatNumberCore: function(value, format, formatConfig) {
if ("currency" === format) {
var currency = formatConfig && formatConfig.currency || (0, _config.default)().defaultCurrency;
return getFormatter(currency, this._normalizeFormatConfig(format, formatConfig, value))(value)
}
return this.callBase.apply(this, arguments)
},
_normalizeFormatConfig: function(format, formatConfig, value) {
var config = this.callBase(format, formatConfig, value);
if ("currency" === format) {
config.style = "accounting"
}
return config
},
format: function(value, _format) {
if ("number" !== typeof value) {
return value
}
_format = this._normalizeFormat(_format);
if (_format) {
if ("default" === _format.currency) {
_format.currency = (0, _config.default)().defaultCurrency
}
if ("currency" === _format.type) {
return this._formatNumber(value, this._parseNumberFormatString("currency"), _format)
} else if (!_format.type && _format.currency) {
return getFormatter(_format.currency, _format)(value)
}
}
return this.callBase.apply(this, arguments)
},
getCurrencySymbol: function(currency) {
if (!currency) {
currency = (0, _config.default)().defaultCurrency
}
return _globalize.default.cldr.main("numbers/currencies/" + currency)
},
getOpenXmlCurrencyFormat: function(currency) {
var currencySymbol = this.getCurrencySymbol(currency).symbol;
var accountingFormat = _globalize.default.cldr.main("numbers/currencyFormats-numberSystem-latn").accounting;
return (0, _open_xml_currency_format.default)(currencySymbol, accountingFormat)
}
};
_number2.default.inject(globalizeCurrencyLocalization)
}
},
/*!*****************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/data/local_store.js ***!
\*****************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 5));
var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 11));
var _window = __webpack_require__( /*! ../core/utils/window */ 7);
var _class = _interopRequireDefault(__webpack_require__( /*! ../core/class */ 15));
var _errors = __webpack_require__( /*! ./errors */ 39);
var _array_store = _interopRequireDefault(__webpack_require__( /*! ./array_store */ 79));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var window = (0, _window.getWindow)();
var abstract = _class.default.abstract;
var LocalStoreBackend = _class.default.inherit({
ctor: function(store, storeOptions) {
this._store = store;
this._dirty = !!storeOptions.data;
this.save();
var immediate = this._immediate = storeOptions.immediate;
var flushInterval = Math.max(100, storeOptions.flushInterval || 1e4);
if (!immediate) {
var saveProxy = this.save.bind(this);
setInterval(saveProxy, flushInterval);
_events_engine.default.on(window, "beforeunload", saveProxy);
if (window.cordova) {
_dom_adapter.default.listen(_dom_adapter.default.getDocument(), "pause", saveProxy, false)
}
}
},
notifyChanged: function() {
this._dirty = true;
if (this._immediate) {
this.save()
}
},
load: function() {
this._store._array = this._loadImpl();
this._dirty = false
},
save: function() {
if (!this._dirty) {
return
}
this._saveImpl(this._store._array);
this._dirty = false
},
_loadImpl: abstract,
_saveImpl: abstract
});
var DomLocalStoreBackend = LocalStoreBackend.inherit({
ctor: function(store, storeOptions) {
var name = storeOptions.name;
if (!name) {
throw _errors.errors.Error("E4013")
}
this._key = "dx-data-localStore-" + name;
this.callBase(store, storeOptions)
},
_loadImpl: function() {
var raw = window.localStorage.getItem(this._key);
if (raw) {
return JSON.parse(raw)
}
return []
},
_saveImpl: function(array) {
if (!array.length) {
window.localStorage.removeItem(this._key)
} else {
window.localStorage.setItem(this._key, JSON.stringify(array))
}
}
});
var localStoreBackends = {
dom: DomLocalStoreBackend
};
var LocalStore = _array_store.default.inherit({
ctor: function(options) {
if ("string" === typeof options) {
options = {
name: options
}
} else {
options = options || {}
}
this.callBase(options);
this._backend = new localStoreBackends[options.backend || "dom"](this, options);
this._backend.load()
},
clear: function() {
this.callBase();
this._backend.notifyChanged()
},
_insertImpl: function(values) {
var b = this._backend;
return this.callBase(values).done(b.notifyChanged.bind(b))
},
_updateImpl: function(key, values) {
var b = this._backend;
return this.callBase(key, values).done(b.notifyChanged.bind(b))
},
_removeImpl: function(key) {
var b = this._backend;
return this.callBase(key).done(b.notifyChanged.bind(b))
}
}, "local");
var _default = LocalStore;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*******************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/data/apply_changes.js ***!
\*******************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _array_utils = __webpack_require__( /*! ./array_utils */ 89);
var _default = _array_utils.applyChanges;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!***********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/data/endpoint_selector.js ***!
\***********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _errors = (obj = __webpack_require__( /*! ../core/errors */ 28), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _window = __webpack_require__( /*! ../core/utils/window */ 7);
var window = (0, _window.getWindow)();
var IS_WINJS_ORIGIN;
var IS_LOCAL_ORIGIN;
var EndpointSelector = function(config) {
this.config = config;
IS_WINJS_ORIGIN = "ms-appx:" === window.location.protocol;
IS_LOCAL_ORIGIN = (url = window.location.hostname, /^(localhost$|127\.)/i.test(url));
var url
};
EndpointSelector.prototype = {
urlFor: function(key) {
var bag = this.config[key];
if (!bag) {
throw _errors.default.Error("E0006")
}
if (bag.production) {
if (IS_WINJS_ORIGIN && !Debug.debuggerEnabled || !IS_WINJS_ORIGIN && !IS_LOCAL_ORIGIN) {
return bag.production
}
}
return bag.local
}
};
var _default = EndpointSelector;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!***************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/bundles/modules/data.odata.js ***!
\***************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
__webpack_require__( /*! ./data */ 267);
DevExpress.data.ODataStore = __webpack_require__( /*! ../../data/odata/store */ 268);
DevExpress.data.ODataContext = __webpack_require__( /*! ../../data/odata/context */ 607);
DevExpress.data.utils = DevExpress.data.utils || {};
DevExpress.data.utils.odata = {};
DevExpress.data.utils.odata.keyConverters = __webpack_require__( /*! ../../data/odata/utils */ 107).keyConverters;
DevExpress.data.EdmLiteral = __webpack_require__( /*! ../../data/odata/utils */ 107).EdmLiteral;
var ODataUtilsModule = __webpack_require__( /*! ../../data/odata/utils */ 107);
DevExpress.data.utils.odata.serializePropName = ODataUtilsModule.serializePropName;
DevExpress.data.utils.odata.serializeValue = ODataUtilsModule.serializeValue;
DevExpress.data.utils.odata.serializeKey = ODataUtilsModule.serializeKey;
DevExpress.data.utils.odata.sendRequest = ODataUtilsModule.sendRequest;
DevExpress.data.queryAdapters = DevExpress.data.queryAdapters || {};
DevExpress.data.queryAdapters.odata = __webpack_require__( /*! ../../data/odata/query_adapter */ 178).odata
},
/*!*******************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/data/odata/context.js ***!
\*******************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 15));
var _extend = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _errors = __webpack_require__( /*! ../errors */ 39);
var _store = _interopRequireDefault(__webpack_require__( /*! ./store */ 268));
var _request_dispatcher = _interopRequireDefault(__webpack_require__( /*! ./request_dispatcher */ 269));
var _utils = __webpack_require__( /*! ./utils */ 107);
var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 6);
__webpack_require__( /*! ./query_adapter */ 178);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var ODataContext = _class.default.inherit({
ctor: function(options) {
var _this = this;
this._requestDispatcher = new _request_dispatcher.default(options);
this._errorHandler = options.errorHandler;
(0, _iterator.each)(options.entities || [], (function(entityAlias, entityOptions) {
_this[entityAlias] = new _store.default((0, _extend.extend)({}, options, {
url: "".concat(_this._requestDispatcher.url, "/").concat(encodeURIComponent(entityOptions.name || entityAlias))
}, entityOptions))
}))
},
get: function(operationName, params) {
return this.invoke(operationName, params, "GET")
},
invoke: function(operationName) {
var params = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
var httpMethod = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "POST";
httpMethod = httpMethod.toLowerCase();
var d = new _deferred.Deferred;
var url = "".concat(this._requestDispatcher.url, "/").concat(encodeURIComponent(operationName));
var payload;
if (4 === this.version()) {
if ("get" === httpMethod) {
url = (0, _utils.formatFunctionInvocationUrl)(url, (0, _utils.escapeServiceOperationParams)(params, this.version()));
params = null
} else if ("post" === httpMethod) {
payload = params;
params = null
}
}(0, _deferred.when)(this._requestDispatcher.sendRequest(url, httpMethod, (0, _utils.escapeServiceOperationParams)(params, this.version()), payload)).done((function(r) {
if ((0, _type.isPlainObject)(r) && operationName in r) {
r = r[operationName]
}
d.resolve(r)
})).fail(this._errorHandler).fail(_errors.handleError).fail(d.reject);
return d.promise()
},
objectLink: function(entityAlias, key) {
var store = this[entityAlias];
if (!store) {
throw _errors.errors.Error("E4015", entityAlias)
}
if (!(0, _type.isDefined)(key)) {
return null
}
return {
__metadata: {
uri: store._byKeyUrl(key)
}
}
},
version: function() {
return this._requestDispatcher.version
}
});
var _default = ODataContext;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
}, , ,
/*!**********************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/utils.js ***!
\**********************************************************/
/*! dynamic exports provided */
/*! all exports used */
,
function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "refreshPaths", {
enumerable: true,
get: function() {
return _renderer.refreshPaths
}
});
exports.prepareSegmentRectPoints = void 0;
var _renderer = __webpack_require__( /*! ./core/renderers/renderer */ 184);
var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 3);
exports.prepareSegmentRectPoints = function(left, top, width, height, borderOptions) {
var maxSW = ~~((width < height ? width : height) / 2);
var sw = borderOptions.width || 0;
var newSW = sw < maxSW ? sw : maxSW;
left += newSW / 2;
top += newSW / 2;
width -= newSW;
height -= newSW;
var right = left + width;
var bottom = top + height;
var points = [];
var segments = [];
var segmentSequence;
var visiblyOpt = 0;
var prevSegmentVisibility = 0;
var allSegment = {
top: [
[left, top],
[right, top]
],
right: [
[right, top],
[right, bottom]
],
bottom: [
[right, bottom],
[left, bottom]
],
left: [
[left, bottom],
[left, top]
]
};
(0, _iterator.each)(allSegment, (function(seg) {
var visibility = !!borderOptions[seg];
visiblyOpt = 2 * visiblyOpt + ~~visibility
}));
switch (visiblyOpt) {
case 13:
case 9:
segmentSequence = ["left", "top", "right", "bottom"];
break;
case 11:
segmentSequence = ["bottom", "left", "top", "right"];
break;
default:
segmentSequence = ["top", "right", "bottom", "left"]
}(0, _iterator.each)(segmentSequence, (function(_, seg) {
var segmentVisibility = !!borderOptions[seg];
if (!prevSegmentVisibility && segments.length) {
points.push(segments);
segments = []
}
if (segmentVisibility) {
(0, _iterator.each)(allSegment[seg].slice(prevSegmentVisibility), (function(_, segment) {
segments = segments.concat(segment)
}))
}
prevSegmentVisibility = ~~segmentVisibility
}));
segments.length && points.push(segments);
1 === points.length && (points = points[0]);
return {
points: points,
pathType: 15 === visiblyOpt ? "area" : "line"
}
}
}, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
/*!********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/bundles/modules/viz.js ***!
\********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
,
function(module, exports, __webpack_require__) {
__webpack_require__( /*! ./core */ 160);
module.exports = DevExpress.viz = DevExpress.viz || {}
},
/*!**********************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/chart.js ***!
\**********************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _common = __webpack_require__( /*! ../core/utils/common */ 4);
var _extend2 = __webpack_require__( /*! ../core/utils/extend */ 0);
var _array = __webpack_require__( /*! ../core/utils/array */ 12);
var _window = __webpack_require__( /*! ../core/utils/window */ 7);
var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 3);
var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 8));
var _utils = __webpack_require__( /*! ./utils */ 611);
var _utils2 = __webpack_require__( /*! ./core/utils */ 14);
var _type = __webpack_require__( /*! ../core/utils/type */ 1);
var _math = __webpack_require__( /*! ../core/utils/math */ 31);
var _base_chart = __webpack_require__( /*! ./chart_components/base_chart */ 319);
var _multi_axes_synchronizer = _interopRequireDefault(__webpack_require__( /*! ./chart_components/multi_axes_synchronizer */ 1018));
var _advanced_chart = __webpack_require__( /*! ./chart_components/advanced_chart */ 502);
var _scroll_bar = __webpack_require__( /*! ./chart_components/scroll_bar */ 1027);
var _crosshair = __webpack_require__( /*! ./chart_components/crosshair */ 509);
var _range_data_calculator = _interopRequireDefault(__webpack_require__( /*! ./series/helpers/range_data_calculator */ 230));
var _layout_manager = __webpack_require__( /*! ./chart_components/layout_manager */ 500);
var _range = __webpack_require__( /*! ./translators/range */ 132);
var _shutter_zoom = _interopRequireDefault(__webpack_require__( /*! ./chart_components/shutter_zoom */ 1028));
var _zoom_and_pan = _interopRequireDefault(__webpack_require__( /*! ./chart_components/zoom_and_pan */ 1029));
var _annotations = __webpack_require__( /*! ./core/annotations */ 233);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var DEFAULT_PANES = [{
name: "default",
border: {}
}];
var _isArray = Array.isArray;
function changeVisibilityAxisGrids(axis, gridVisibility, minorGridVisibility) {
var gridOpt = axis.getOptions().grid;
var minorGridOpt = axis.getOptions().minorGrid;
gridOpt.visible = gridVisibility;
minorGridOpt && (minorGridOpt.visible = minorGridVisibility)
}
function compareAxes(a, b) {
return a.priority - b.priority
}
function doesPaneExist(panes, paneName) {
var found = false;
(0, _iterator.each)(panes, (function(_, pane) {
if (pane.name === paneName) {
found = true;
return false
}
}));
return found
}
function accumulate(field, src1, src2, auxSpacing) {
var val1 = src1[field] || 0;
var val2 = src2[field] || 0;
return val1 + val2 + (val1 && val2 ? auxSpacing : 0)
}
function pickMax(field, src1, src2) {
return pickMaxValue(src1[field], src2[field])
}
function pickMaxValue(val1, val2) {
return Math.max(val1 || 0, val2 || 0)
}
function getAxisMargins(axis) {
return axis.getMargins()
}
function getHorizontalAxesMargins(axes, getMarginsFunc) {
return axes.reduce((function(margins, axis) {
var _axis$getOrthogonalAx;
var axisMargins = getMarginsFunc(axis);
var paneMargins = margins.panes[axis.pane] = margins.panes[axis.pane] || {};
var spacing = axis.getMultipleAxesSpacing();
paneMargins.top = accumulate("top", paneMargins, axisMargins, spacing);
paneMargins.bottom = accumulate("bottom", paneMargins, axisMargins, spacing);
paneMargins.left = pickMax("left", paneMargins, axisMargins);
paneMargins.right = pickMax("right", paneMargins, axisMargins);
margins.top = pickMax("top", paneMargins, margins);
margins.bottom = pickMax("bottom", paneMargins, margins);
margins.left = pickMax("left", paneMargins, margins);
margins.right = pickMax("right", paneMargins, margins);
var orthogonalAxis = null === (_axis$getOrthogonalAx = axis.getOrthogonalAxis) || void 0 === _axis$getOrthogonalAx ? void 0 : _axis$getOrthogonalAx.call(axis);
if (orthogonalAxis && orthogonalAxis.customPositionIsAvailable() && (!axis.customPositionIsBoundaryOrthogonalAxis() || !orthogonalAxis.customPositionEqualsToPredefined())) {
margins[orthogonalAxis.getResolvedBoundaryPosition()] = 0
}
return margins
}), {
panes: {}
})
}
function getVerticalAxesMargins(axes) {
return axes.reduce((function(margins, axis) {
var axisMargins = axis.getMargins();
var paneMargins = margins.panes[axis.pane] = margins.panes[axis.pane] || {};
var spacing = axis.getMultipleAxesSpacing();
paneMargins.top = pickMax("top", paneMargins, axisMargins);
paneMargins.bottom = pickMax("bottom", paneMargins, axisMargins);
paneMargins.left = accumulate("left", paneMargins, axisMargins, spacing);
paneMargins.right = accumulate("right", paneMargins, axisMargins, spacing);
margins.top = pickMax("top", paneMargins, margins);
margins.bottom = pickMax("bottom", paneMargins, margins);
margins.left = pickMax("left", paneMargins, margins);
margins.right = pickMax("right", paneMargins, margins);
return margins
}), {
panes: {}
})
}
function performActionOnAxes(axes, action, actionArgument1, actionArgument2, actionArgument3) {
axes.forEach((function(axis) {
axis[action](actionArgument1 && actionArgument1[axis.pane], actionArgument2 && actionArgument2[axis.pane] || actionArgument2, actionArgument3)
}))
}
function shrinkCanvases(isRotated, canvases, sizes, verticalMargins, horizontalMargins) {
function getMargin(side, margins, pane) {
var m = -1 === (isRotated ? ["left", "right"] : ["top", "bottom"]).indexOf(side) ? margins : margins.panes[pane] || {};
return m[side]
}
function getMaxMargin(side, margins1, margins2, pane) {
return pickMaxValue(getMargin(side, margins1, pane), getMargin(side, margins2, pane))
}
var getOriginalField = function(field) {
return "original".concat(field[0].toUpperCase()).concat(field.slice(1))
};
function shrink(canvases, paneNames, sizeField, startMargin, endMargin, oppositeMargins) {
paneNames = paneNames.sort((function(p1, p2) {
return canvases[p2][startMargin] - canvases[p1][startMargin]
}));
paneNames.forEach((function(pane) {
var canvas = canvases[pane];
oppositeMargins.forEach((function(margin) {
canvas[margin] = canvas[getOriginalField(margin)] + getMaxMargin(margin, verticalMargins, horizontalMargins, pane)
}))
}));
var firstPane = canvases[paneNames[0]];
var emptySpace = paneNames.reduce((function(space, paneName) {
space -= getMaxMargin(startMargin, verticalMargins, horizontalMargins, paneName) + getMaxMargin(endMargin, verticalMargins, horizontalMargins, paneName);
return space
}), firstPane[sizeField] - firstPane[getOriginalField(endMargin)] - canvases[paneNames[paneNames.length - 1]][getOriginalField(startMargin)]) - _utils2.PANE_PADDING * (paneNames.length - 1);
emptySpace -= Object.keys(sizes).reduce((function(prev, key) {
return prev + (!(0, _utils2.isRelativeHeightPane)(sizes[key]) ? sizes[key].height : 0)
}), 0);
paneNames.reduce((function(offset, pane) {
var canvas = canvases[pane];
var paneSize = sizes[pane];
offset -= getMaxMargin(endMargin, verticalMargins, horizontalMargins, pane);
canvas[endMargin] = firstPane[sizeField] - offset;
offset -= !(0, _utils2.isRelativeHeightPane)(paneSize) ? paneSize.height : Math.floor(emptySpace * paneSize.height);
canvas[startMargin] = offset;
offset -= getMaxMargin(startMargin, verticalMargins, horizontalMargins, pane) + _utils2.PANE_PADDING;
return offset
}), firstPane[sizeField] - firstPane[getOriginalField(endMargin)] - (emptySpace < 0 ? emptySpace : 0))
}
var paneNames = Object.keys(canvases);
if (!isRotated) {
shrink(canvases, paneNames, "height", "top", "bottom", ["left", "right"])
} else {
shrink(canvases, paneNames, "width", "left", "right", ["top", "bottom"])
}
return canvases
}
function drawAxesWithTicks(axes, condition, canvases, panesBorderOptions) {
if (condition) {
performActionOnAxes(axes, "createTicks", canvases);
_multi_axes_synchronizer.default.synchronize(axes)
}
performActionOnAxes(axes, "draw", !condition && canvases, panesBorderOptions)
}
function shiftAxis(side1, side2) {
var shifts = {};
return function(axis) {
if (!axis.customPositionIsAvailable() || axis.customPositionEqualsToPredefined()) {
var shift = shifts[axis.pane] = shifts[axis.pane] || {
top: 0,
left: 0,
bottom: 0,
right: 0
};
var spacing = axis.getMultipleAxesSpacing();
var margins = axis.getMargins();
axis.shift(shift);
shift[side1] = accumulate(side1, shift, margins, spacing);
shift[side2] = accumulate(side2, shift, margins, spacing)
} else {
axis.shift({
top: 0,
left: 0,
bottom: 0,
right: 0
})
}
}
}
function getCommonSize(side, margins) {
var size = 0;
var pane;
var paneMargins;
for (pane in margins.panes) {
paneMargins = margins.panes[pane];
size += "height" === side ? paneMargins.top + paneMargins.bottom : paneMargins.left + paneMargins.right
}
return size
}
function checkUsedSpace(sizeShortage, side, axes, getMarginFunc) {
var size = 0;
if (sizeShortage[side] > 0) {
size = getCommonSize(side, getMarginFunc(axes, getAxisMargins));
performActionOnAxes(axes, "hideTitle");
sizeShortage[side] -= size - getCommonSize(side, getMarginFunc(axes, getAxisMargins))
}
if (sizeShortage[side] > 0) {
performActionOnAxes(axes, "hideOuterElements")
}
}
var dxChart = _advanced_chart.AdvancedChart.inherit({
_themeSection: "chart",
_fontFields: ["crosshair.label.font"],
_initCore: function() {
this.paneAxis = {};
this.callBase()
},
_init: function() {
this._containerInitialHeight = (0, _window.hasWindow)() ? this._$element.height() : 0;
this.callBase()
},
_correctAxes: function() {
this._correctValueAxes(true)
},
_getExtraOptions: _common.noop,
_createPanes: function() {
var panes = this.option("panes");
var panesNameCounter = 0;
var defaultPane;
if (!panes || _isArray(panes) && !panes.length) {
panes = DEFAULT_PANES
}
this.callBase();
defaultPane = this.option("defaultPane");
panes = (0, _extend2.extend)(true, [], _isArray(panes) ? panes : [panes]);
(0, _iterator.each)(panes, (function(_, pane) {
pane.name = !(0, _type.isDefined)(pane.name) ? "default" + panesNameCounter++ : pane.name
}));
if ((0, _type.isDefined)(defaultPane)) {
if (!doesPaneExist(panes, defaultPane)) {
this._incidentOccurred("W2101", [defaultPane]);
defaultPane = panes[panes.length - 1].name
}
} else {
defaultPane = panes[panes.length - 1].name
}
this.defaultPane = defaultPane;
panes = this._isRotated() ? panes.reverse() : panes;
return panes
},
_getAxisRenderingOptions: function() {
return {
axisType: "xyAxes",
drawingType: "linear"
}
},
_prepareAxisOptions: function(typeSelector, userOptions, rotated) {
return {
isHorizontal: "argumentAxis" === typeSelector !== rotated,
containerColor: this._themeManager.getOptions("containerBackgroundColor")
}
},
_checkPaneName: function(seriesTheme) {
var paneList = (0, _utils2.map)(this.panes, (function(pane) {
return pane.name
}));
seriesTheme.pane = seriesTheme.pane || this.defaultPane;
return -1 !== (0, _array.inArray)(seriesTheme.pane, paneList)
},
_initCustomPositioningAxes: function() {
var that = this;
var argumentAxis = that.getArgumentAxis();
var valueAxisName = argumentAxis.getOptions().customPositionAxis;
var valueAxis = that._valueAxes.filter((function(v) {
return v.pane === argumentAxis.pane && (!valueAxisName || valueAxisName === v.name)
}))[0];
that._valueAxes.forEach((function(v) {
if (argumentAxis !== v.getOrthogonalAxis()) {
v.getOrthogonalAxis = function() {
return argumentAxis
};
v.customPositionIsBoundaryOrthogonalAxis = function() {
return argumentAxis.customPositionIsBoundary()
}
}
}));
if ((0, _type.isDefined)(valueAxis) && valueAxis !== argumentAxis.getOrthogonalAxis()) {
argumentAxis.getOrthogonalAxis = function() {
return valueAxis
};
argumentAxis.customPositionIsBoundaryOrthogonalAxis = function() {
return that._valueAxes.some((function(v) {
return v.customPositionIsBoundary()
}))
}
} else if ((0, _type.isDefined)(argumentAxis.getOrthogonalAxis()) && !(0, _type.isDefined)(valueAxis)) {
argumentAxis.getOrthogonalAxis = _common.noop
}
},
_getAllAxes: function() {
return this._argumentAxes.concat(this._valueAxes)
},
_resetAxesAnimation: function(isFirstDrawing, isHorizontal) {
var axes = (0, _type.isDefined)(isHorizontal) ? isHorizontal ^ this._isRotated() ? this._argumentAxes : this._valueAxes : this._getAllAxes();
axes.forEach((function(a) {
a.resetApplyingAnimation(isFirstDrawing)
}))
},
_axesBoundaryPositioning: function() {
var allAxes = this._getAllAxes();
var boundaryStateChanged = false;
allAxes.forEach((function(a) {
if (!a.customPositionIsAvailable()) {
return false
}
var prevBoundaryState = a.customPositionIsBoundary();
a._customBoundaryPosition = a.getCustomBoundaryPosition();
boundaryStateChanged |= prevBoundaryState !== a.customPositionIsBoundary()
}));
return boundaryStateChanged
},
_getValueAxis: function(paneName, axisName) {
var valueAxes = this._valueAxes;
var valueAxisOptions = this.option("valueAxis") || {};
var valueAxesOptions = _isArray(valueAxisOptions) ? valueAxisOptions : [valueAxisOptions];
var rotated = this._isRotated();
var crosshairMargins = this._getCrosshairMargins();
var axisOptions;
var axis;
axisName = axisName || function(axes, paneName, defaultPane) {
var result;
for (var i = 0; i < axes.length; i++) {
if (axes[i].pane === paneName || void 0 === axes[i].pane && paneName === defaultPane) {
result = axes[i].name;
break
}
}
if (!result) {
result = axes[0].name
}
return result
}(valueAxes, paneName, this.defaultPane);
axis = function findAxis(paneName, axisName, axes) {
var axis;
var i;
for (i = 0; i < axes.length; i++) {
axis = axes[i];
if (axis.name === axisName && axis.pane === paneName) {
return axis
}
}
if (paneName) {
return findAxis(void 0, axisName, axes)
}
}(paneName, axisName, valueAxes);
if (!axis) {
axisOptions = function(valueAxes, valueAxesOptions, axisName) {
var result;
var axInd;
for (axInd = 0; axInd < valueAxesOptions.length; axInd++) {
if (valueAxesOptions[axInd].name === axisName) {
result = valueAxesOptions[axInd];
result.priority = axInd;
break
}
}
if (!result) {
for (axInd = 0; axInd < valueAxes.length; axInd++) {
if (valueAxes[axInd].name === axisName) {
result = valueAxes[axInd].getOptions();
result.priority = valueAxes[axInd].priority;
break
}
}
}
return result
}(valueAxes, valueAxesOptions, axisName);
if (!axisOptions) {
this._incidentOccurred("W2102", [axisName]);
axisOptions = {
name: axisName,
priority: valueAxes.length
}
}
axis = this._createAxis(false, this._populateAxesOptions("valueAxis", axisOptions, {
pane: paneName,
name: axisName,
optionPath: _isArray(valueAxisOptions) ? "valueAxis[".concat(axisOptions.priority, "]") : "valueAxis",
crosshairMargin: rotated ? crosshairMargins.y : crosshairMargins.x
}, rotated));
axis.applyVisualRangeSetter(this._getVisualRangeSetter());
valueAxes.push(axis)
}
axis.setPane(paneName);
return axis
},
_correctValueAxes: function(needHideGrids) {
var that = this;
var synchronizeMultiAxes = that._themeManager.getOptions("synchronizeMultiAxes");
var valueAxes = that._valueAxes;
var paneWithAxis = {};
that.series.forEach((function(series) {
var axis = series.getValueAxis();
paneWithAxis[axis.pane] = true
}));
that.panes.forEach((function(pane) {
var paneName = pane.name;
if (!paneWithAxis[paneName]) {
that._getValueAxis(paneName)
}
if (needHideGrids && synchronizeMultiAxes) {
! function(axesForPane) {
var axisShown = false;
var hiddenStubAxis = [];
var minorGridVisibility = axesForPane.some((function(axis) {
var minorGridOptions = axis.getOptions().minorGrid;
return minorGridOptions && minorGridOptions.visible
}));
var gridVisibility = axesForPane.some((function(axis) {
var gridOptions = axis.getOptions().grid;
return gridOptions && gridOptions.visible
}));
if (axesForPane.length > 1) {
axesForPane.forEach((function(axis) {
var gridOpt = axis.getOptions().grid;
if (axisShown) {
changeVisibilityAxisGrids(axis, false, false)
} else if (gridOpt && gridOpt.visible) {
if (axis.getTranslator().getBusinessRange().isEmpty()) {
changeVisibilityAxisGrids(axis, false, false);
hiddenStubAxis.push(axis)
} else {
axisShown = true;
changeVisibilityAxisGrids(axis, gridVisibility, minorGridVisibility)
}
}
}));
!axisShown && hiddenStubAxis.length && changeVisibilityAxisGrids(hiddenStubAxis[0], gridVisibility, minorGridVisibility)
}
}(valueAxes.filter((function(axis) {
return axis.pane === paneName
})))
}
}));
that._valueAxes = valueAxes.filter((function(axis) {
if (!axis.pane) {
axis.setPane(that.defaultPane)
}
return doesPaneExist(that.panes, axis.pane)
})).sort(compareAxes);
var defaultAxis = this.getValueAxis();
that._valueAxes.forEach((function(axis) {
var optionPath = axis.getOptions().optionPath;
if (optionPath) {
var axesWithSamePath = that._valueAxes.filter((function(a) {
return a.getOptions().optionPath === optionPath
}));
if (axesWithSamePath.length > 1) {
if (axesWithSamePath.some((function(a) {
return a === defaultAxis
}))) {
axesWithSamePath.forEach((function(a) {
if (a !== defaultAxis) {
a.getOptions().optionPath = null
}
}))
} else {
axesWithSamePath.forEach((function(a, i) {
if (0 !== i) {
a.getOptions().optionPath = null
}
}))
}
}
}
}))
},
_getSeriesForPane: function(paneName) {
var paneSeries = [];
(0, _iterator.each)(this.series, (function(_, oneSeries) {
if (oneSeries.pane === paneName) {
paneSeries.push(oneSeries)
}
}));
return paneSeries
},
_createPanesBorderOptions: function() {
var commonBorderOptions = this._themeManager.getOptions("commonPaneSettings").border;
var panesBorderOptions = {};
this.panes.forEach((function(pane) {
return panesBorderOptions[pane.name] = (0, _extend2.extend)(true, {}, commonBorderOptions, pane.border)
}));
return panesBorderOptions
},
_createScrollBar: function() {
var scrollBarOptions = this._themeManager.getOptions("scrollBar") || {};
var scrollBarGroup = this._scrollBarGroup;
if (scrollBarOptions.visible) {
scrollBarOptions.rotated = this._isRotated();
this._scrollBar = (this._scrollBar || new _scroll_bar.ScrollBar(this._renderer, scrollBarGroup)).update(scrollBarOptions)
} else {
scrollBarGroup.linkRemove();
this._scrollBar && this._scrollBar.dispose();
this._scrollBar = null
}
},
_executeAppendAfterSeries: function(append) {
append()
},
_prepareToRender: function(drawOptions) {
var panesBorderOptions = this._createPanesBorderOptions();
this._createPanesBackground();
this._appendAxesGroups();
this._adjustViewport();
return panesBorderOptions
},
_adjustViewport: function() {
var adjustOnZoom = this._themeManager.getOptions("adjustOnZoom");
if (!adjustOnZoom) {
return
}
this._valueAxes.forEach((function(axis) {
return axis.adjust()
}))
},
_recreateSizeDependentObjects: function(isCanvasChanged) {
var that = this;
var series = that._getVisibleSeries();
var useAggregation = series.some((function(s) {
return s.useAggregation()
}));
var zoomChanged = that._isZooming();
if (!useAggregation) {
return
}
that._argumentAxes.forEach((function(axis) {
axis.updateCanvas(that._canvas, true)
}));
series.forEach((function(series) {
if (series.useAggregation() && (isCanvasChanged || zoomChanged || !series._useAllAggregatedPoints)) {
series.createPoints()
}
}));
that._processSeriesFamilies()
},
_isZooming: function() {
var argumentAxis = this.getArgumentAxis();
if (!argumentAxis || !argumentAxis.getTranslator()) {
return false
}
var businessRange = argumentAxis.getTranslator().getBusinessRange();
var zoomRange = argumentAxis.getViewport();
var min = zoomRange ? zoomRange.min : 0;
var max = zoomRange ? zoomRange.max : 0;
if ("logarithmic" === businessRange.axisType) {
min = (0, _utils2.getLog)(min, businessRange.base);
max = (0, _utils2.getLog)(max, businessRange.base)
}
var viewportDistance = "discrete" === businessRange.axisType ? (0, _utils2.getCategoriesInfo)(businessRange.categories, min, max).categories.length : Math.abs(max - min);
var precision = (0, _math.getPrecision)(viewportDistance);
precision = precision > 1 ? Math.pow(10, precision - 2) : 1;
var zoomChanged = Math.round((this._zoomLength - viewportDistance) * precision) / precision !== 0;
this._zoomLength = viewportDistance;
return zoomChanged
},
_handleSeriesDataUpdated: function() {
var that = this;
var viewport = new _range.Range;
that.series.forEach((function(s) {
viewport.addRange(s.getArgumentRange())
}));
that._argumentAxes.forEach((function(axis) {
axis.updateCanvas(that._canvas, true);
axis.setBusinessRange(viewport, that._axesReinitialized)
}));
that.callBase()
},
_isLegendInside: function() {
return this._legend && "inside" === this._legend.getPosition()
},
_isRotated: function() {
return this._themeManager.getOptions("rotated")
},
_getLayoutTargets: function() {
return this.panes
},
_applyClipRects: function(panesBorderOptions) {
this._drawPanesBorders(panesBorderOptions);
this._createClipRectsForPanes();
this._applyClipRectsForAxes();
this._fillPanesBackground()
},
_updateLegendPosition: function(drawOptions, legendHasInsidePosition) {
if (drawOptions.drawLegend && this._legend && legendHasInsidePosition) {
var panes = this.panes;
var newCanvas = (0, _extend2.extend)({}, panes[0].canvas);
var layoutManager = new _layout_manager.LayoutManager;
newCanvas.right = panes[panes.length - 1].canvas.right;
newCanvas.bottom = panes[panes.length - 1].canvas.bottom;
layoutManager.layoutInsideLegend(this._legend, newCanvas)
}
},
_allowLegendInsidePosition: function() {
return true
},
_applyExtraSettings: function(series) {
var paneIndex = this._getPaneIndex(series.pane);
var panesClipRects = this._panesClipRects;
var wideClipRect = panesClipRects.wide[paneIndex];
series.setClippingParams(panesClipRects.base[paneIndex].id, wideClipRect && wideClipRect.id, this._getPaneBorderVisibility(paneIndex))
},
_updatePanesCanvases: function(drawOptions) {
if (!drawOptions.recreateCanvas) {
return
}(0, _utils2.updatePanesCanvases)(this.panes, this._canvas, this._isRotated())
},
_normalizePanesHeight: function() {
(0, _utils2.normalizePanesHeight)(this.panes)
},
_renderScaleBreaks: function() {
this._valueAxes.concat(this._argumentAxes).forEach((function(axis) {
axis.drawScaleBreaks()
}))
},
_getArgFilter: function() {
return _range_data_calculator.default.getViewPortFilter(this.getArgumentAxis().visualRange() || {})
},
_applyPointMarkersAutoHiding: function() {
var that = this;
var allSeries = that.series;
if (!that._themeManager.getOptions("autoHidePointMarkers")) {
allSeries.forEach((function(s) {
return s.autoHidePointMarkers = false
}));
return
}
that.panes.forEach((function(_ref) {
var borderCoords = _ref.borderCoords,
name = _ref.name;
var series = allSeries.filter((function(s) {
return s.pane === name && s.usePointsToDefineAutoHiding()
}));
var argAxis = that.getArgumentAxis();
var markersInfo = function(allSeries, filteredSeries, argAxis) {
var series = [];
var overloadedSeries = {};
var argVisualRange = argAxis.visualRange();
var argTranslator = argAxis.getTranslator();
var argViewPortFilter = _range_data_calculator.default.getViewPortFilter(argVisualRange || {});
filteredSeries.forEach((function(s) {
var valAxis = s.getValueAxis();
var valVisualRange = valAxis.getCanvasRange();
var valTranslator = valAxis.getTranslator();
var seriesIndex = allSeries.indexOf(s);
var valViewPortFilter = _range_data_calculator.default.getViewPortFilter(valVisualRange || {});
overloadedSeries[seriesIndex] = {};
filteredSeries.forEach((function(sr) {
return overloadedSeries[seriesIndex][allSeries.indexOf(sr)] = 0
}));
var seriesPoints = [];
s.getPoints().filter((function(p) {
return p.getOptions().visible && argViewPortFilter(p.argument) && (valViewPortFilter(p.getMinValue(true)) || valViewPortFilter(p.getMaxValue(true)))
})).forEach((function(p) {
var tp = {
seriesIndex: seriesIndex,
argument: p.argument,
value: p.getMaxValue(true),
size: p.bubbleSize || p.getOptions().size
};
if (p.getMinValue(true) !== p.getMaxValue(true)) {
var mp = (0, _extend2.extend)({}, tp);
mp.value = p.getMinValue(true);
mp.x = argTranslator.to(mp.argument, 1);
mp.y = valTranslator.to(mp.value, 1);
seriesPoints.push(mp)
}
tp.x = argTranslator.to(tp.argument, 1);
tp.y = valTranslator.to(tp.value, 1);
seriesPoints.push(tp)
}));
overloadedSeries[seriesIndex].pointsCount = seriesPoints.length;
overloadedSeries[seriesIndex].total = 0;
overloadedSeries[seriesIndex].continuousSeries = 0;
series.push({
name: s.name,
index: seriesIndex,
points: seriesPoints
})
}));
return {
series: series,
overloadedSeries: overloadedSeries
}
}(allSeries, series, argAxis);
! function(canvas, markersInfo, series) {
var area = canvas.width * canvas.height;
var seriesPoints = markersInfo.series;
var _loop = function(i) {
var currentSeries = series.filter((function(s) {
return s.name === seriesPoints[i].name
}))[0];
var points = seriesPoints[i].points;
var pointSize = points.length ? points[0].size : 0;
var pointsArea = pointSize * pointSize * points.length;
if (currentSeries.autoHidePointMarkersEnabled() && pointsArea >= area / seriesPoints.length) {
var index = seriesPoints[i].index;
currentSeries.autoHidePointMarkers = true;
seriesPoints.splice(i, 1);
series.splice(series.indexOf(currentSeries), 1);
delete markersInfo.overloadedSeries[index]
}
};
for (var i = seriesPoints.length - 1; i >= 0; i--) {
_loop(i)
}
}(borderCoords, markersInfo, series);
if (markersInfo.series.length) {
var argVisualRange = argAxis.visualRange();
var argAxisIsDiscrete = "discrete" === argAxis.getOptions().type;
var sortingCallback = argAxisIsDiscrete ? function(p1, p2) {
return argVisualRange.categories.indexOf(p1.argument) - argVisualRange.categories.indexOf(p2.argument)
} : function(p1, p2) {
return p1.argument - p2.argument
};
var points = [];
markersInfo.series.forEach((function(s) {
return points = points.concat(s.points)
}));
points.sort(sortingCallback);
! function(points, overloadedSeries) {
var isContinuousSeries = false;
for (var i = 0; i < points.length - 1; i++) {
var curPoint = points[i];
var size = curPoint.size;
if ((0, _type.isDefined)(curPoint.x) && (0, _type.isDefined)(curPoint.y)) {
for (var j = i + 1; j < points.length; j++) {
var nextPoint = points[j];
var next_x = null === nextPoint || void 0 === nextPoint ? void 0 : nextPoint.x;
var next_y = null === nextPoint || void 0 === nextPoint ? void 0 : nextPoint.y;
if (!(0, _type.isDefined)(next_x) || Math.abs(curPoint.x - next_x) >= size) {
isContinuousSeries &= j !== i + 1;
break
} else {
var distance = (0, _type.isDefined)(next_x) && (0, _type.isDefined)(next_y) && Math.sqrt(Math.pow(curPoint.x - next_x, 2) + Math.pow(curPoint.y - next_y, 2));
if (distance && distance < size) {
overloadedSeries[curPoint.seriesIndex][nextPoint.seriesIndex]++;
overloadedSeries[curPoint.seriesIndex].total++;
if (!isContinuousSeries) {
overloadedSeries[curPoint.seriesIndex].continuousSeries++;
isContinuousSeries = true
}
}
}
}
}
}
}(points, markersInfo.overloadedSeries);
! function(allSeries, filteredSeries, overloadedSeries, argAxis) {
var argAxisType = argAxis.getOptions().type;
filteredSeries.forEach((function(s) {
var seriesIndex = allSeries.indexOf(s);
s.autoHidePointMarkers = false;
var tickCount = argAxis.getTicksValues().majorTicksValues.length;
if (s.autoHidePointMarkersEnabled() && ("discrete" === argAxisType || overloadedSeries[seriesIndex].pointsCount > tickCount)) {
for (var index in overloadedSeries[seriesIndex]) {
var i = parseInt(index);
if (isNaN(i) || overloadedSeries[seriesIndex].total / overloadedSeries[seriesIndex].continuousSeries < 3) {
continue
}
if (i === seriesIndex) {
if (2 * overloadedSeries[i][i] >= overloadedSeries[i].pointsCount) {
s.autoHidePointMarkers = true;
break
}
} else if (overloadedSeries[seriesIndex].total >= overloadedSeries[seriesIndex].pointsCount) {
s.autoHidePointMarkers = true;
break
}
}
}
}))
}(allSeries, series, markersInfo.overloadedSeries, argAxis)
}
}))
},
_renderAxes: function(drawOptions, panesBorderOptions) {
function calculateTitlesWidth(axes) {
return axes.map((function(axis) {
if (!axis.getTitle) {
return 0
}
var title = axis.getTitle();
return title ? title.bBox.width : 0
}))
}
var that = this;
var rotated = that._isRotated();
var synchronizeMultiAxes = that._themeManager.getOptions("synchronizeMultiAxes");
var scrollBar = that._scrollBar ? [that._scrollBar] : [];
var extendedArgAxes = that._isArgumentAxisBeforeScrollBar() ? that._argumentAxes.concat(scrollBar) : scrollBar.concat(that._argumentAxes);
var verticalAxes = rotated ? that._argumentAxes : that._valueAxes;
var verticalElements = rotated ? extendedArgAxes : that._valueAxes;
var horizontalAxes = rotated ? that._valueAxes : that._argumentAxes;
var horizontalElements = rotated ? that._valueAxes : extendedArgAxes;
var allAxes = verticalAxes.concat(horizontalAxes);
var allElements = allAxes.concat(scrollBar);
var verticalAxesFirstDrawing = verticalAxes.some((function(v) {
return v.isFirstDrawing()
}));
that._normalizePanesHeight();
that._updatePanesCanvases(drawOptions);
var panesCanvases = that.panes.reduce((function(canvases, pane) {
canvases[pane.name] = (0, _extend2.extend)({}, pane.canvas);
return canvases
}), {});
var paneSizes = that.panes.reduce((function(sizes, pane) {
sizes[pane.name] = {
height: pane.height,
unit: pane.unit
};
return sizes
}), {});
var cleanPanesCanvases = (0, _extend2.extend)(true, {}, panesCanvases);
that._initCustomPositioningAxes();
var needCustomAdjustAxes = that._axesBoundaryPositioning();
if (!drawOptions.adjustAxes && !needCustomAdjustAxes) {
drawAxesWithTicks(verticalAxes, !rotated && synchronizeMultiAxes, panesCanvases, panesBorderOptions);
drawAxesWithTicks(horizontalAxes, rotated && synchronizeMultiAxes, panesCanvases, panesBorderOptions);
performActionOnAxes(allAxes, "prepareAnimation");
that._renderScaleBreaks();
horizontalAxes.forEach((function(a) {
return a.resolveOverlappingForCustomPositioning(verticalAxes)
}));
verticalAxes.forEach((function(a) {
return a.resolveOverlappingForCustomPositioning(horizontalAxes)
}));
return false
}
if (needCustomAdjustAxes) {
allAxes.forEach((function(a) {
return a.customPositionIsAvailable() && a.shift({
top: 0,
left: 0,
bottom: 0,
right: 0
})
}))
}
if (that._scrollBar) {
that._scrollBar.setPane(that.panes)
}
var vAxesMargins = {
panes: {}
};
var hAxesMargins = getHorizontalAxesMargins(horizontalElements, (function(axis) {
return axis.estimateMargins(panesCanvases[axis.pane])
}));
panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins);
var drawAxesAndSetCanvases = function(isHorizontal) {
var axes = isHorizontal ? horizontalAxes : verticalAxes;
var condition = (isHorizontal ? rotated : !rotated) && synchronizeMultiAxes;
drawAxesWithTicks(axes, condition, panesCanvases, panesBorderOptions);
if (isHorizontal) {
hAxesMargins = getHorizontalAxesMargins(horizontalElements, getAxisMargins)
} else {
vAxesMargins = getVerticalAxesMargins(verticalElements)
}
panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins)
};
drawAxesAndSetCanvases(false);
drawAxesAndSetCanvases(true);
if (!that._changesApplying && that._estimateTickIntervals(verticalAxes, panesCanvases)) {
drawAxesAndSetCanvases(false)
}
var oldTitlesWidth = calculateTitlesWidth(verticalAxes);
var visibleSeries = that._getVisibleSeries();
var pointsToAnimation = that._getPointsToAnimation(visibleSeries);
var axesIsAnimated = function(drawOptions, pointsToAnimation) {
var pointsCount = pointsToAnimation.reduce((function(sum, count) {
return sum + count
}), 0) / pointsToAnimation.length;
return drawOptions.animate && pointsCount <= drawOptions.animationPointsLimit
}(drawOptions, pointsToAnimation);
performActionOnAxes(allElements, "updateSize", panesCanvases, axesIsAnimated);
horizontalElements.forEach(shiftAxis("top", "bottom"));
verticalElements.forEach(shiftAxis("left", "right"));
that._renderScaleBreaks();
that.panes.forEach((function(pane) {
(0, _extend2.extend)(pane.canvas, panesCanvases[pane.name])
}));
that._valueAxes.forEach((function(axis) {
axis.setInitRange()
}));
verticalAxes.forEach((function(axis, i) {
var _axis$hasWrap;
if (null !== (_axis$hasWrap = axis.hasWrap) && void 0 !== _axis$hasWrap && _axis$hasWrap.call(axis)) {
var title = axis.getTitle();
var newTitleWidth = title ? title.bBox.width : 0;
var offset = newTitleWidth - oldTitlesWidth[i];
if ("right" === axis.getOptions().position) {
vAxesMargins.right += offset
} else {
vAxesMargins.left += offset;
that.panes.forEach((function(_ref2) {
var name = _ref2.name;
return vAxesMargins.panes[name].left += offset
}))
}
panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins);
performActionOnAxes(allElements, "updateSize", panesCanvases, false, false);
oldTitlesWidth = calculateTitlesWidth(verticalAxes)
}
}));
if (verticalAxes.some((function(v) {
return v.customPositionIsAvailable() && v.getCustomPosition() !== v._axisPosition
}))) {
axesIsAnimated && that._resetAxesAnimation(verticalAxesFirstDrawing, false);
performActionOnAxes(verticalAxes, "updateSize", panesCanvases, axesIsAnimated)
}
horizontalAxes.forEach((function(a) {
return a.resolveOverlappingForCustomPositioning(verticalAxes)
}));
verticalAxes.forEach((function(a) {
return a.resolveOverlappingForCustomPositioning(horizontalAxes)
}));
return cleanPanesCanvases
},
_getExtraTemplatesItems: function() {
var allAxes = (this._argumentAxes || []).concat(this._valueAxes || []);
var elements = this._collectTemplatesFromItems(allAxes);
return {
items: elements.items,
groups: elements.groups,
launchRequest: function() {
allAxes.forEach((function(a) {
a.setRenderedState(true)
}))
},
doneRequest: function() {
allAxes.forEach((function(a) {
a.setRenderedState(false)
}))
}
}
},
_estimateTickIntervals: function(axes, canvases) {
return axes.some((function(axis) {
return axis.estimateTickInterval(canvases[axis.pane])
}))
},
checkForMoreSpaceForPanesCanvas: function() {
var rotated = this._isRotated();
var panesAreCustomSized = this.panes.filter((function(p) {
return p.unit
})).length === this.panes.length;
var needSpace = false;
if (panesAreCustomSized) {
var needHorizontalSpace = 0;
var needVerticalSpace = 0;
if (rotated) {
var argAxisRightMargin = this.getArgumentAxis().getMargins().right;
var rightPanesIndent = Math.min.apply(Math, this.panes.map((function(p) {
return p.canvas.right
})));
needHorizontalSpace = this._canvas.right + argAxisRightMargin - rightPanesIndent
} else {
var argAxisBottomMargin = this.getArgumentAxis().getMargins().bottom;
var bottomPanesIndent = Math.min.apply(Math, this.panes.map((function(p) {
return p.canvas.bottom
})));
needVerticalSpace = this._canvas.bottom + argAxisBottomMargin - bottomPanesIndent
}
needSpace = needHorizontalSpace > 0 || needVerticalSpace > 0 ? {
width: needHorizontalSpace,
height: needVerticalSpace
} : false;
if (0 !== needVerticalSpace) {
var realSize = this.getSize();
var customSize = this.option("size");
var container = this._$element[0];
var containerHasStyledHeight = !!parseInt(container.style.height) || 0 !== this._containerInitialHeight;
if (!rotated && !(customSize && customSize.height) && !containerHasStyledHeight) {
this._forceResize(realSize.width, realSize.height + needVerticalSpace);
needSpace = false
}
}
} else {
needSpace = this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(), rotated, (function(pane) {
return {
width: rotated && !!pane.unit,
height: !rotated && !!pane.unit
}
}))
}
return needSpace
},
_forceResize: function(width, height) {
this._renderer.resize(width, height);
this._updateSize();
this._setContentSize();
this._preserveOriginalCanvas();
this._updateCanvasClipRect(this._canvas)
},
_shrinkAxes: function(sizeShortage, panesCanvases) {
if (!sizeShortage || !panesCanvases) {
return
}
this._renderer.stopAllAnimations(true);
var rotated = this._isRotated();
var scrollBar = this._scrollBar ? [this._scrollBar] : [];
var extendedArgAxes = this._isArgumentAxisBeforeScrollBar() ? this._argumentAxes.concat(scrollBar) : scrollBar.concat(this._argumentAxes);
var verticalAxes = rotated ? extendedArgAxes : this._valueAxes;
var horizontalAxes = rotated ? this._valueAxes : extendedArgAxes;
var allAxes = verticalAxes.concat(horizontalAxes);
if (sizeShortage.width || sizeShortage.height) {
checkUsedSpace(sizeShortage, "height", horizontalAxes, getHorizontalAxesMargins);
checkUsedSpace(sizeShortage, "width", verticalAxes, getVerticalAxesMargins);
performActionOnAxes(allAxes, "updateSize", panesCanvases);
var paneSizes = this.panes.reduce((function(sizes, pane) {
sizes[pane.name] = {
height: pane.height,
unit: pane.unit
};
return sizes
}), {});
panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, getVerticalAxesMargins(verticalAxes), getHorizontalAxesMargins(horizontalAxes, getAxisMargins));
performActionOnAxes(allAxes, "updateSize", panesCanvases);
horizontalAxes.forEach(shiftAxis("top", "bottom"));
verticalAxes.forEach(shiftAxis("left", "right"));
this.panes.forEach((function(pane) {
return (0, _extend2.extend)(pane.canvas, panesCanvases[pane.name])
}))
}
},
_isArgumentAxisBeforeScrollBar: function() {
var argumentAxis = this.getArgumentAxis();
if (this._scrollBar) {
var _argumentAxis$getOpti;
var argAxisPosition = argumentAxis.getResolvedBoundaryPosition();
var argAxisLabelPosition = null === (_argumentAxis$getOpti = argumentAxis.getOptions().label) || void 0 === _argumentAxis$getOpti ? void 0 : _argumentAxis$getOpti.position;
var scrollBarPosition = this._scrollBar.getOptions().position;
return argumentAxis.hasNonBoundaryPosition() || scrollBarPosition === argAxisPosition && argAxisLabelPosition !== scrollBarPosition
}
return false
},
_getPanesParameters: function() {
var panes = this.panes;
var i;
var params = [];
for (i = 0; i < panes.length; i++) {
if (this._getPaneBorderVisibility(i)) {
params.push({
coords: panes[i].borderCoords,
clipRect: this._panesClipRects.fixed[i]
})
}
}
return params
},
_createCrosshairCursor: function() {
var options = this._themeManager.getOptions("crosshair") || {};
var argumentAxis = this.getArgumentAxis();
var axes = !this._isRotated() ? [
[argumentAxis], this._valueAxes
] : [this._valueAxes, [argumentAxis]];
var parameters = {
canvas: this._getCommonCanvas(),
panes: this._getPanesParameters(),
axes: axes
};
if (!options || !options.enabled) {
return
}
if (!this._crosshair) {
this._crosshair = new _crosshair.Crosshair(this._renderer, options, parameters, this._crosshairCursorGroup)
} else {
this._crosshair.update(options, parameters)
}
this._crosshair.render()
},
_getCommonCanvas: function() {
var i;
var canvas;
var commonCanvas;
var panes = this.panes;
for (i = 0; i < panes.length; i++) {
canvas = panes[i].canvas;
if (!commonCanvas) {
commonCanvas = (0, _extend2.extend)({}, canvas)
} else {
commonCanvas.right = canvas.right;
commonCanvas.bottom = canvas.bottom
}
}
return commonCanvas
},
_createPanesBackground: function() {
var defaultBackgroundColor = this._themeManager.getOptions("commonPaneSettings").backgroundColor;
var backgroundColor;
var renderer = this._renderer;
var rect;
var i;
var rects = [];
this._panesBackgroundGroup.clear();
for (i = 0; i < this.panes.length; i++) {
backgroundColor = this.panes[i].backgroundColor || defaultBackgroundColor;
if (!backgroundColor || "none" === backgroundColor) {
rects.push(null);
continue
}
rect = renderer.rect(0, 0, 0, 0).attr({
fill: backgroundColor,
"stroke-width": 0
}).append(this._panesBackgroundGroup);
rects.push(rect)
}
this.panesBackground = rects
},
_fillPanesBackground: function() {
var that = this;
var bc;
(0, _iterator.each)(that.panes, (function(i, pane) {
bc = pane.borderCoords;
if (null !== that.panesBackground[i]) {
that.panesBackground[i].attr({
x: bc.left,
y: bc.top,
width: bc.width,
height: bc.height
})
}
}))
},
_calcPaneBorderCoords: function(pane) {
var canvas = pane.canvas;
var bc = pane.borderCoords = pane.borderCoords || {};
bc.left = canvas.left;
bc.top = canvas.top;
bc.right = canvas.width - canvas.right;
bc.bottom = canvas.height - canvas.bottom;
bc.width = Math.max(bc.right - bc.left, 0);
bc.height = Math.max(bc.bottom - bc.top, 0)
},
_drawPanesBorders: function(panesBorderOptions) {
var that = this;
var rotated = that._isRotated();
that._panesBorderGroup.linkRemove().clear();
(0, _iterator.each)(that.panes, (function(i, pane) {
var borderOptions = panesBorderOptions[pane.name];
var attr = {
fill: "none",
stroke: borderOptions.color,
"stroke-opacity": borderOptions.opacity,
"stroke-width": borderOptions.width,
dashStyle: borderOptions.dashStyle,
"stroke-linecap": "square"
};
that._calcPaneBorderCoords(pane, rotated);
if (!borderOptions.visible) {
return
}
var bc = pane.borderCoords;
var segmentRectParams = (0, _utils.prepareSegmentRectPoints)(bc.left, bc.top, bc.width, bc.height, borderOptions);
that._renderer.path(segmentRectParams.points, segmentRectParams.pathType).attr(attr).append(that._panesBorderGroup)
}));
that._panesBorderGroup.linkAppend()
},
_createClipRect: function(clipArray, index, left, top, width, height) {
var clipRect = clipArray[index];
if (!clipRect) {
clipRect = this._renderer.clipRect(left, top, width, height);
clipArray[index] = clipRect
} else {
clipRect.attr({
x: left,
y: top,
width: width,
height: height
})
}
},
_createClipRectsForPanes: function() {
var that = this;
var canvas = that._canvas;
(0, _iterator.each)(that.panes, (function(i, pane) {
var needWideClipRect = false;
var bc = pane.borderCoords;
var left = bc.left;
var top = bc.top;
var width = bc.width;
var height = bc.height;
var panesClipRects = that._panesClipRects;
that._createClipRect(panesClipRects.fixed, i, left, top, width, height);
that._createClipRect(panesClipRects.base, i, left, top, width, height);
(0, _iterator.each)(that.series, (function(_, series) {
if (series.pane === pane.name && (series.isFinancialSeries() || series.areErrorBarsVisible())) {
needWideClipRect = true
}
}));
if (needWideClipRect) {
if (that._isRotated()) {
top = 0;
height = canvas.height
} else {
left = 0;
width = canvas.width
}
that._createClipRect(panesClipRects.wide, i, left, top, width, height)
} else {
panesClipRects.wide[i] = null
}
}))
},
_applyClipRectsForAxes: function() {
var axes = this._getAllAxes();
var chartCanvasClipRectID = this._getCanvasClipRectID();
for (var i = 0; i < axes.length; i++) {
var elementsClipRectID = this._getElementsClipRectID(axes[i].pane);
axes[i].applyClipRects(elementsClipRectID, chartCanvasClipRectID)
}
},
_getPaneBorderVisibility: function(paneIndex) {
var commonPaneBorderVisible = this._themeManager.getOptions("commonPaneSettings").border.visible;
var pane = this.panes[paneIndex] || {};
var paneBorder = pane.border || {};
return "visible" in paneBorder ? paneBorder.visible : commonPaneBorderVisible
},
_getCanvasForPane: function(paneName) {
var panes = this.panes;
var panesNumber = panes.length;
var i;
for (i = 0; i < panesNumber; i++) {
if (panes[i].name === paneName) {
return panes[i].canvas
}
}
},
_getTrackerSettings: function() {
var themeManager = this._themeManager;
return (0, _extend2.extend)(this.callBase(), {
chart: this,
rotated: this._isRotated(),
crosshair: this._getCrosshairOptions().enabled ? this._crosshair : null,
stickyHovering: themeManager.getOptions("stickyHovering")
})
},
_resolveLabelOverlappingStack: function() {
var that = this;
var isRotated = that._isRotated();
var shiftDirection = isRotated ? function(box, length) {
return {
x: box.x - length,
y: box.y
}
} : function(box, length) {
return {
x: box.x,
y: box.y - length
}
};
(0, _iterator.each)(that._getStackPoints(), (function(_, stacks) {
(0, _iterator.each)(stacks, (function(_, points) {
_base_chart.overlapping.resolveLabelOverlappingInOneDirection(points, that._getCommonCanvas(), isRotated, shiftDirection, (function(a, b) {
var coordPosition = isRotated ? 1 : 0;
var figureCenter1 = a.labels[0].getFigureCenter()[coordPosition];
var figureCenter12 = b.labels[0].getFigureCenter()[coordPosition];
if (figureCenter1 - figureCenter12 === 0) {
return (a.value() - b.value()) * (a.labels[0].getPoint().series.getValueAxis().getTranslator().isInverted() ? -1 : 1)
}
return 0
}))
}))
}))
},
_getStackPoints: function() {
var stackPoints = {};
var visibleSeries = this._getVisibleSeries();
(0, _iterator.each)(visibleSeries, (function(_, singleSeries) {
var points = singleSeries.getPoints();
var stackName = singleSeries.getStackName() || null;
(0, _iterator.each)(points, (function(_, point) {
var argument = point.argument;
if (!stackPoints[argument]) {
stackPoints[argument] = {}
}
if (!stackPoints[argument][stackName]) {
stackPoints[argument][stackName] = []
}
stackPoints[argument][stackName].push(point)
}))
}));
return stackPoints
},
_getCrosshairOptions: function() {
return this._getOption("crosshair")
},
zoomArgument: function(min, max) {
if (!this._initialized || !(0, _type.isDefined)(min) && !(0, _type.isDefined)(max)) {
return
}
this.getArgumentAxis().visualRange([min, max])
},
resetVisualRange: function() {
var that = this;
var axes = that._argumentAxes;
var nonVirtualArgumentAxis = that.getArgumentAxis();
axes.forEach((function(axis) {
axis.resetVisualRange(nonVirtualArgumentAxis !== axis);
that._applyCustomVisualRangeOption(axis)
}));
that.callBase()
},
getVisibleArgumentBounds: function() {
var translator = this._argumentAxes[0].getTranslator();
var range = translator.getBusinessRange();
var isDiscrete = "discrete" === range.axisType;
var categories = range.categories;
return {
minVisible: isDiscrete ? range.minVisible || categories[0] : range.minVisible,
maxVisible: isDiscrete ? range.maxVisible || categories[categories.length - 1] : range.maxVisible
}
},
_change_FULL_RENDER: function() {
this.callBase();
if (this._changes.has("VISUAL_RANGE")) {
this._raiseZoomEndHandlers()
}
},
_getAxesForScaling: function() {
return [this.getArgumentAxis()].concat(this._valueAxes)
},
_applyVisualRangeByVirtualAxes: function(axis, range) {
if (axis.isArgumentAxis) {
if (axis !== this.getArgumentAxis()) {
return true
}
this._argumentAxes.filter((function(a) {
return a !== axis
})).forEach((function(a) {
return a.visualRange(range, {
start: true,
end: true
})
}))
}
return false
},
_raiseZoomEndHandlers: function() {
this._argumentAxes.forEach((function(axis) {
return axis.handleZoomEnd()
}));
this.callBase()
},
_setOptionsByReference: function() {
this.callBase();
(0, _extend2.extend)(this._optionsByReference, {
"argumentAxis.visualRange": true
})
},
option: function() {
var option = this.callBase.apply(this, arguments);
var valueAxis = this._options.silent("valueAxis");
if ("array" === (0, _type.type)(valueAxis)) {
for (var i = 0; i < valueAxis.length; i++) {
var optionPath = "valueAxis[".concat(i, "].visualRange");
this._optionsByReference[optionPath] = true
}
}
return option
},
_notifyVisualRange: function() {
var argAxis = this._argumentAxes[0];
var argumentVisualRange = (0, _utils2.convertVisualRangeObject)(argAxis.visualRange(), !_isArray(this.option("argumentAxis.visualRange")));
if (!argAxis.skipEventRising || !(0, _utils2.rangesAreEqual)(argumentVisualRange, this.option("argumentAxis.visualRange"))) {
this.option("argumentAxis.visualRange", argumentVisualRange)
} else {
argAxis.skipEventRising = null
}
this.callBase()
}
});
dxChart.addPlugin(_shutter_zoom.default);
dxChart.addPlugin(_zoom_and_pan.default);
dxChart.addPlugin(_annotations.plugins.core);
dxChart.addPlugin(_annotations.plugins.chart);
(0, _component_registrator.default)("dxChart", dxChart);
var _default = dxChart;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*****************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/core/renderers/animation.js ***!
\*****************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.AnimationController = AnimationController;
exports.animationSvgStep = exports.easingFunctions = void 0;
var _frame = __webpack_require__( /*! ../../../animation/frame */ 134);
var noop = function() {};
var easingFunctions = {
easeOutCubic: function(pos, start, end) {
return 1 === pos ? end : (1 - Math.pow(1 - pos, 3)) * (end - start) + +start
},
linear: function(pos, start, end) {
return 1 === pos ? end : pos * (end - start) + +start
}
};
exports.easingFunctions = easingFunctions;
var animationSvgStep = {
segments: function(elem, params, progress, easing, currentParams) {
var from = params.from;
var to = params.to;
var curSeg;
var seg;
var i;
var j;
var segments = [];
for (i = 0; i < from.length; i++) {
curSeg = from[i];
seg = [curSeg[0]];
if (curSeg.length > 1) {
for (j = 1; j < curSeg.length; j++) {
seg.push(easing(progress, curSeg[j], to[i][j]))
}
}
segments.push(seg)
}
currentParams.segments = params.end && 1 === progress ? params.end : segments;
elem.attr({
segments: segments
})
},
arc: function(elem, params, progress, easing) {
var from = params.from;
var to = params.to;
var current = {};
for (var i in from) {
current[i] = easing(progress, from[i], to[i])
}
elem.attr(current)
},
transform: function(elem, params, progress, easing, currentParams) {
var from = params.from;
var to = params.to;
var current = {};
for (var i in from) {
current[i] = currentParams[i] = easing(progress, from[i], to[i])
}
elem.attr(current)
},
base: function(elem, params, progress, easing, currentParams, attributeName) {
var obj = {};
obj[attributeName] = currentParams[attributeName] = easing(progress, params.from, params.to);
elem.attr(obj)
},
_: noop,
complete: function(element, currentSettings) {
element.attr(currentSettings)
}
};
exports.animationSvgStep = animationSvgStep;
function step(now) {
var animateStep = this._animateStep;
var attrName;
this._progress = this._calcProgress(now);
for (attrName in this.params) {
var anim = animateStep[attrName] || animateStep.base;
anim(this.element, this.params[attrName], this._progress, this._easing, this._currentParams, attrName)
}
this.options.step && this.options.step(this._easing(this._progress, 0, 1), this._progress);
if (1 === this._progress) {
return this.stop()
}
return true
}
function delayTick(now) {
if (now - this._startTime >= this.delay) {
this.tick = step
}
return true
}
function start(now) {
this._startTime = now;
this.tick = this.delay ? delayTick : step;
return true
}
function Animation(element, params, options) {
this._progress = 0;
this.element = element;
this.params = params;
this.options = options;
this.duration = options.partitionDuration ? options.duration * options.partitionDuration : options.duration;
this.delay = options.delay && options.duration * options.delay || 0;
this._animateStep = options.animateStep || animationSvgStep;
this._easing = easingFunctions[options.easing] || easingFunctions.easeOutCubic;
this._currentParams = {};
this.tick = start
}
Animation.prototype = {
_calcProgress: function(now) {
return Math.min(1, (now - this.delay - this._startTime) / this.duration)
},
stop: function(disableComplete) {
var options = this.options;
var animateStep = this._animateStep;
this.stop = this.tick = noop;
animateStep.complete && animateStep.complete(this.element, this._currentParams);
options.complete && !disableComplete && options.complete()
}
};
function AnimationController(element) {
this._animationCount = 0;
this._timerId = null;
this._animations = {};
this.element = element
}
AnimationController.prototype = {
_loop: function() {
var that = this;
var animations = that._animations;
var activeAnimation = 0;
var now = (new Date).getTime();
var an;
var endAnimation = that._endAnimation;
for (an in animations) {
if (!animations[an].tick(now)) {
delete animations[an]
}
activeAnimation++
}
if (0 === activeAnimation) {
that.stop();
that._endAnimationTimer = endAnimation && setTimeout((function() {
if (0 === that._animationCount) {
endAnimation();
that._endAnimation = null
}
}));
return
}
that._timerId = _frame.requestAnimationFrame.call(null, (function() {
that._loop()
}), that.element)
},
addAnimation: function(animation) {
var that = this;
that._animations[that._animationCount++] = animation;
clearTimeout(that._endAnimationTimer);
if (!that._timerId) {
clearTimeout(that._startDelay);
that._startDelay = setTimeout((function() {
that._timerId = 1;
that._loop()
}), 0)
}
},
animateElement: function(elem, params, options) {
if (elem && params && options) {
elem.animation && elem.animation.stop();
this.addAnimation(elem.animation = new Animation(elem, params, options))
}
},
onEndAnimation: function(endAnimation) {
this._animationCount ? this._endAnimation = endAnimation : endAnimation()
},
dispose: function() {
this.stop();
this.element = null
},
stop: function() {
this._animations = {};
this._animationCount = 0;
(0, _frame.cancelAnimationFrame)(this._timerId);
clearTimeout(this._startDelay);
clearTimeout(this._endAnimationTimer);
this._timerId = null
},
lock: function() {
var an;
var animations = this._animations;
var unstoppable;
var hasUnstoppableInAnimations;
for (an in animations) {
unstoppable = animations[an].options.unstoppable;
hasUnstoppableInAnimations = hasUnstoppableInAnimations || unstoppable;
if (!unstoppable) {
animations[an].stop(true);
delete animations[an]
}
}!hasUnstoppableInAnimations && this.stop()
}
}
},
/*!******************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.light.js ***!
\******************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _themes = __webpack_require__( /*! ../../themes */ 57);
var WHITE = "#ffffff";
var BLACK = "#000000";
var RED = "#ff0000";
var NONE = "none";
var SOLID = "solid";
var TOP = "top";
var RIGHT = "right";
var LEFT = "left";
var CENTER = "center";
(0, _themes.registerTheme)({
name: "generic.light",
isDefault: true,
font: {
color: "#767676",
family: "'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana, sans-serif",
weight: 400,
size: 12,
cursor: "default"
},
redrawOnResize: true,
backgroundColor: WHITE,
primaryTitleColor: "#232323",
secondaryTitleColor: "#767676",
gridColor: "#d3d3d3",
axisColor: "#767676",
title: {
backgroundColor: WHITE,
font: {
size: 28,
family: "'Segoe UI Light', 'Helvetica Neue Light', 'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana, sans-serif",
weight: 200
},
subtitle: {
font: {
size: 16
},
offset: 0,
wordWrap: "normal",
textOverflow: "ellipsis"
},
wordWrap: "normal",
textOverflow: "ellipsis"
},
loadingIndicator: {
text: "Loading..."
},
export: {
backgroundColor: WHITE,
margin: 10,
font: {
size: 14,
color: "#232323",
weight: 400
},
button: {
margin: {
top: 8,
left: 10,
right: 10,
bottom: 8
},
default: {
color: "#333",
borderColor: "#ddd",
backgroundColor: WHITE
},
hover: {
color: "#333",
borderColor: "#bebebe",
backgroundColor: "#e6e6e6"
},
focus: {
color: BLACK,
borderColor: "#9d9d9d",
backgroundColor: "#e6e6e6"
},
active: {
color: "#333",
borderColor: "#9d9d9d",
backgroundColor: "#d4d4d4"
}
},
shadowColor: "#d3d3d3"
},
tooltip: {
enabled: false,
border: {
width: 1,
color: "#d3d3d3",
dashStyle: SOLID,
visible: true
},
font: {
color: "#232323"
},
color: WHITE,
arrowLength: 10,
paddingLeftRight: 18,
paddingTopBottom: 15,
textAlignment: "center",
shared: false,
location: CENTER,
shadow: {
opacity: .4,
offsetX: 0,
offsetY: 4,
blur: 2,
color: BLACK
},
interactive: false
},
legend: {
hoverMode: "includePoints",
verticalAlignment: TOP,
horizontalAlignment: RIGHT,
position: "outside",
visible: true,
margin: 10,
markerSize: 12,
border: {
visible: false,
width: 1,
cornerRadius: 0,
dashStyle: SOLID
},
paddingLeftRight: 20,
paddingTopBottom: 15,
columnCount: 0,
rowCount: 0,
columnItemSpacing: 20,
rowItemSpacing: 8,
title: {
backgroundColor: WHITE,
margin: {
left: 0,
bottom: 9,
right: 0,
top: 0
},
font: {
size: 18,
weight: 200
},
subtitle: {
offset: 0,
font: {
size: 14
},
wordWrap: "none",
textOverflow: "ellipsis"
},
wordWrap: "none",
textOverflow: "ellipsis"
}
},
"chart:common": {
animation: {
enabled: true,
duration: 1e3,
easing: "easeOutCubic",
maxPointCountSupported: 300
},
commonSeriesSettings: {
border: {
visible: false,
width: 2
},
showInLegend: true,
visible: true,
hoverMode: "nearestPoint",
selectionMode: "includePoints",
hoverStyle: {
hatching: {
direction: RIGHT,
width: 2,
step: 6,
opacity: .75
},
border: {
visible: false,
width: 3
}
},
selectionStyle: {
hatching: {
direction: RIGHT,
width: 2,
step: 6,
opacity: .5
},
border: {
visible: false,
width: 3
}
},
valueErrorBar: {
displayMode: "auto",
value: 1,
color: BLACK,
lineWidth: 2,
edgeLength: 8
},
label: {
visible: false,
alignment: CENTER,
rotationAngle: 0,
horizontalOffset: 0,
verticalOffset: 0,
radialOffset: 0,
showForZeroValues: true,
customizeText: void 0,
maxLabelCount: void 0,
position: "outside",
font: {
color: WHITE
},
border: {
visible: false,
width: 1,
color: "#d3d3d3",
dashStyle: SOLID
},
connector: {
visible: false,
width: 1
}
}
},
seriesSelectionMode: "single",
pointSelectionMode: "single",
equalRowHeight: true,
dataPrepareSettings: {
checkTypeForAllData: false,
convertToAxisDataType: true,
sortingMethod: true
},
title: {
margin: 10
},
adaptiveLayout: {
width: 80,
height: 80,
keepLabels: true
},
_rtl: {
legend: {
itemTextPosition: LEFT
}
},
resolveLabelOverlapping: NONE
},
"chart:common:axis": {
visible: true,
valueMarginsEnabled: true,
placeholderSize: null,
logarithmBase: 10,
discreteAxisDivisionMode: "betweenLabels",
width: 1,
label: {
visible: true
},
grid: {
visible: false,
width: 1
},
minorGrid: {
visible: false,
width: 1,
opacity: .3
},
tick: {
visible: true,
width: 1,
length: 7,
shift: 3
},
minorTick: {
visible: false,
width: 1,
opacity: .3,
length: 7,
shift: 3
},
stripStyle: {
paddingLeftRight: 10,
paddingTopBottom: 5
},
constantLineStyle: {
width: 1,
color: BLACK,
dashStyle: SOLID,
label: {
visible: true,
position: "inside"
}
},
marker: {
label: {}
}
},
"chart:common:annotation": {
font: {
color: "#333333"
},
tooltipEnabled: true,
border: {
width: 1,
color: "#dddddd",
dashStyle: SOLID,
visible: true
},
color: WHITE,
opacity: .9,
arrowLength: 14,
arrowWidth: 14,
paddingLeftRight: 10,
paddingTopBottom: 10,
shadow: {
opacity: .15,
offsetX: 0,
offsetY: 1,
blur: 4,
color: BLACK
},
image: {
width: 30,
height: 30
},
wordWrap: "normal",
textOverflow: "ellipsis",
allowDragging: false
},
chart: {
commonSeriesSettings: {
type: "line",
stack: "default",
aggregation: {
enabled: void 0
},
point: {
visible: true,
symbol: "circle",
size: 12,
border: {
visible: false,
width: 1
},
hoverMode: "onlyPoint",
selectionMode: "onlyPoint",
hoverStyle: {
border: {
visible: true,
width: 4
}
},
selectionStyle: {
border: {
visible: true,
width: 4
}
}
},
scatter: {},
line: {
width: 2,
dashStyle: SOLID,
hoverStyle: {
width: 3,
hatching: {
direction: NONE
}
},
selectionStyle: {
width: 3
}
},
stackedline: {
width: 2,
dashStyle: SOLID,
hoverStyle: {
width: 3,
hatching: {
direction: NONE
}
},
selectionStyle: {
width: 3
}
},
stackedspline: {
width: 2,
dashStyle: SOLID,
hoverStyle: {
width: 3,
hatching: {
direction: NONE
}
},
selectionStyle: {
width: 3
}
},
fullstackedline: {
width: 2,
dashStyle: SOLID,
hoverStyle: {
width: 3,
hatching: {
direction: NONE
}
},
selectionStyle: {
width: 3
}
},
fullstackedspline: {
width: 2,
dashStyle: SOLID,
hoverStyle: {
width: 3,
hatching: {
direction: NONE
}
},
selectionStyle: {
width: 3
}
},
stepline: {
width: 2,
dashStyle: SOLID,
hoverStyle: {
width: 3,
hatching: {
direction: NONE
}
},
selectionStyle: {
width: 3
}
},
area: {
point: {
visible: false
},
opacity: .5
},
stackedarea: {
point: {
visible: false
},
opacity: .5
},
fullstackedarea: {
point: {
visible: false
},
opacity: .5
},
fullstackedsplinearea: {
point: {
visible: false
},
opacity: .5
},
steparea: {
border: {
visible: true,
width: 2
},
point: {
visible: false
},
hoverStyle: {
border: {
visible: true,
width: 3
}
},
selectionStyle: {
border: {
visible: true,
width: 3
}
},
opacity: .5
},
spline: {
width: 2,
hoverStyle: {
width: 3,
hatching: {
direction: NONE
}
},
selectionStyle: {
width: 3
}
},
splinearea: {
point: {
visible: false
},
opacity: .5
},
stackedsplinearea: {
point: {
visible: false
},
opacity: .5
},
bar: {
cornerRadius: 0,
point: {
hoverStyle: {
border: {
visible: false
}
},
selectionStyle: {
border: {
visible: false
}
}
}
},
stackedbar: {
cornerRadius: 0,
point: {
hoverStyle: {
border: {
visible: false
}
},
selectionStyle: {
border: {
visible: false
}
}
},
label: {
position: "inside"
}
},
fullstackedbar: {
cornerRadius: 0,
point: {
hoverStyle: {
border: {
visible: false
}
},
selectionStyle: {
border: {
visible: false
}
}
},
label: {
position: "inside"
}
},
rangebar: {
cornerRadius: 0,
point: {
hoverStyle: {
border: {
visible: false
}
},
selectionStyle: {
border: {
visible: false
}
}
}
},
rangearea: {
point: {
visible: false
},
opacity: .5
},
rangesplinearea: {
point: {
visible: false
},
opacity: .5
},
bubble: {
opacity: .5,
point: {
hoverStyle: {
border: {
visible: false
}
},
selectionStyle: {
border: {
visible: false
}
}
}
},
candlestick: {
width: 1,
reduction: {
color: RED
},
hoverStyle: {
width: 3,
hatching: {
direction: NONE
}
},
selectionStyle: {
width: 3
},
point: {
border: {
visible: true
}
}
},
stock: {
width: 1,
reduction: {
color: RED
},
hoverStyle: {
width: 3,
hatching: {
direction: NONE
}
},
selectionStyle: {
width: 3
},
point: {
border: {
visible: true
}
}
}
},
crosshair: {
enabled: false,
color: "#f05b41",
width: 1,
dashStyle: SOLID,
label: {
visible: false,
font: {
color: WHITE,
size: 12
}
},
verticalLine: {
visible: true
},
horizontalLine: {
visible: true
}
},
commonAxisSettings: {
multipleAxesSpacing: 5,
forceUserTickInterval: false,
breakStyle: {
width: 5,
color: "#ababab",
line: "waved"
},
label: {
displayMode: "standard",
overlappingBehavior: "hide",
indentFromAxis: 10,
wordWrap: "normal",
textOverflow: "none"
},
title: {
font: {
size: 16
},
margin: 6,
alignment: CENTER
},
constantLineStyle: {
paddingLeftRight: 10,
paddingTopBottom: 10
}
},
horizontalAxis: {
position: "bottom",
axisDivisionFactor: 70,
label: {
rotationAngle: 90,
staggeringSpacing: 5,
alignment: CENTER
},
stripStyle: {
label: {
horizontalAlignment: CENTER,
verticalAlignment: TOP
}
},
constantLineStyle: {
label: {
horizontalAlignment: RIGHT,
verticalAlignment: TOP
}
},
constantLines: []
},
verticalAxis: {
position: LEFT,
axisDivisionFactor: 40,
label: {
alignment: RIGHT
},
stripStyle: {
label: {
horizontalAlignment: LEFT,
verticalAlignment: CENTER
}
},
constantLineStyle: {
label: {
horizontalAlignment: LEFT,
verticalAlignment: TOP
}
},
constantLines: []
},
argumentAxis: {
endOnTick: false,
workWeek: [1, 2, 3, 4, 5]
},
valueAxis: {
grid: {
visible: true
},
autoBreaksEnabled: false,
maxAutoBreakCount: 4
},
commonPaneSettings: {
backgroundColor: NONE,
border: {
color: "#d3d3d3",
width: 1,
visible: false,
top: true,
bottom: true,
left: true,
right: true,
dashStyle: SOLID
}
},
scrollBar: {
visible: false,
offset: 5,
color: "gray",
width: 10
},
adjustOnZoom: true,
autoHidePointMarkers: true,
rotated: false,
synchronizeMultiAxes: true,
stickyHovering: true,
barGroupPadding: .3,
minBubbleSize: 12,
maxBubbleSize: .2,
zoomAndPan: {
dragBoxStyle: {
color: "#2a2a2a",
opacity: .2
},
panKey: "shift",
allowMouseWheel: true,
allowTouchGestures: true
}
},
pie: {
innerRadius: .5,
minDiameter: .5,
type: "pie",
dataPrepareSettings: {
_skipArgumentSorting: true
},
commonSeriesSettings: {
pie: {
border: {
visible: false,
width: 2,
color: WHITE
},
hoverStyle: {
hatching: {
direction: RIGHT,
width: 4,
step: 10,
opacity: .75
},
border: {
visible: false,
width: 2
}
},
selectionStyle: {
hatching: {
direction: RIGHT,
width: 4,
step: 10,
opacity: .5
},
border: {
visible: false,
width: 2
}
}
},
doughnut: {
border: {
visible: false,
width: 2,
color: WHITE
},
hoverStyle: {
hatching: {
direction: RIGHT,
width: 4,
step: 10,
opacity: .75
},
border: {
visible: false,
width: 2
}
},
selectionStyle: {
hatching: {
direction: RIGHT,
width: 4,
step: 10,
opacity: .5
},
border: {
visible: false,
width: 2
}
}
},
donut: {
border: {
visible: false,
width: 2,
color: WHITE
},
hoverStyle: {
hatching: {
direction: RIGHT,
width: 4,
step: 10,
opacity: .75
},
border: {
visible: false,
width: 2
}
},
selectionStyle: {
hatching: {
direction: RIGHT,
width: 4,
step: 10,
opacity: .5
},
border: {
visible: false,
width: 2
}
}
},
label: {
textOverflow: "ellipsis",
wordWrap: "normal"
}
},
legend: {
hoverMode: "allArgumentPoints",
backgroundColor: NONE
},
adaptiveLayout: {
keepLabels: false
}
},
gauge: {
scale: {
tick: {
visible: true,
length: 5,
width: 2,
opacity: 1
},
minorTick: {
visible: false,
length: 3,
width: 1,
opacity: 1
},
label: {
visible: true,
alignment: CENTER,
hideFirstOrLast: "last",
overlappingBehavior: "hide"
},
position: TOP,
endOnTick: false
},
rangeContainer: {
offset: 0,
width: 5,
backgroundColor: "#808080"
},
valueIndicators: {
_default: {
color: "#c2c2c2"
},
rangebar: {
space: 2,
size: 10,
color: "#cbc5cf",
backgroundColor: NONE,
text: {
indent: 0,
font: {
size: 14,
color: null
}
}
},
twocolorneedle: {
secondColor: "#e18e92"
},
trianglemarker: {
space: 2,
length: 14,
width: 13,
color: "#8798a5"
},
textcloud: {
arrowLength: 5,
horizontalOffset: 6,
verticalOffset: 3,
color: "#679ec5",
text: {
font: {
color: WHITE,
size: 18
}
}
}
},
indicator: {
hasPositiveMeaning: true,
layout: {
horizontalAlignment: CENTER,
verticalAlignment: "bottom"
},
text: {
font: {
size: 18
}
}
},
_circular: {
scale: {
scaleDivisionFactor: 17,
orientation: "outside",
label: {
indentFromTick: 10
}
},
rangeContainer: {
orientation: "outside"
},
valueIndicatorType: "rectangleneedle",
subvalueIndicatorType: "trianglemarker",
valueIndicators: {
_type: "rectangleneedle",
_default: {
offset: 20,
indentFromCenter: 0,
width: 2,
spindleSize: 14,
spindleGapSize: 10,
beginAdaptingAtRadius: 50
},
triangleneedle: {
width: 4
},
twocolorneedle: {
space: 2,
secondFraction: .4
},
rangebar: {
offset: 30
},
trianglemarker: {
offset: 6
},
textcloud: {
offset: -6
}
}
},
_linear: {
scale: {
scaleDivisionFactor: 25,
horizontalOrientation: RIGHT,
verticalOrientation: "bottom",
label: {
indentFromTick: -10
}
},
rangeContainer: {
horizontalOrientation: RIGHT,
verticalOrientation: "bottom"
},
valueIndicatorType: "rangebar",
subvalueIndicatorType: "trianglemarker",
valueIndicators: {
_type: "rectangle",
_default: {
offset: 2.5,
length: 15,
width: 15
},
rectangle: {
width: 10
},
rangebar: {
offset: 10,
horizontalOrientation: RIGHT,
verticalOrientation: "bottom"
},
trianglemarker: {
offset: 10,
horizontalOrientation: LEFT,
verticalOrientation: TOP
},
textcloud: {
offset: -1,
horizontalOrientation: LEFT,
verticalOrientation: TOP
}
}
}
},
barGauge: {
backgroundColor: "#e0e0e0",
relativeInnerRadius: .3,
barSpacing: 4,
resolveLabelOverlapping: "hide",
label: {
indent: 20,
connectorWidth: 2,
font: {
size: 16
}
},
legend: {
visible: false
},
indicator: {
hasPositiveMeaning: true,
layout: {
horizontalAlignment: CENTER,
verticalAlignment: "bottom"
},
text: {
font: {
size: 18
}
}
}
},
rangeSelector: {
scale: {
valueMarginsEnabled: true,
width: 1,
color: BLACK,
opacity: .1,
showCustomBoundaryTicks: true,
label: {
overlappingBehavior: "hide",
alignment: CENTER,
visible: true,
topIndent: 7,
font: {
size: 11
}
},
tick: {
width: 1,
color: BLACK,
opacity: .17,
visible: true,
length: 12
},
minorTick: {
width: 1,
color: BLACK,
opacity: .05,
visible: true,
length: 12
},
marker: {
width: 1,
color: "#000000",
opacity: .1,
visible: true,
separatorHeight: 33,
topIndent: 10,
textLeftIndent: 7,
textTopIndent: 11,
label: {}
},
logarithmBase: 10,
workWeek: [1, 2, 3, 4, 5],
breakStyle: {
width: 5,
color: "#ababab",
line: "waved"
},
endOnTick: false
},
selectedRangeColor: "#606060",
sliderMarker: {
visible: true,
paddingTopBottom: 2,
paddingLeftRight: 4,
color: "#606060",
invalidRangeColor: RED,
font: {
color: WHITE,
size: 11
}
},
sliderHandle: {
width: 1,
color: BLACK,
opacity: .2
},
shutter: {
opacity: .75
},
background: {
color: "#c0bae1",
visible: true,
image: {
location: "full"
}
},
behavior: {
snapToTicks: true,
animationEnabled: true,
moveSelectedRangeByClick: true,
manualRangeSelectionEnabled: true,
allowSlidersSwap: true,
callValueChanged: "onMovingComplete"
},
redrawOnResize: true,
chart: {
barGroupPadding: .3,
minBubbleSize: 12,
maxBubbleSize: .2,
topIndent: .1,
bottomIndent: 0,
valueAxis: {
inverted: false,
logarithmBase: 10
},
commonSeriesSettings: {
type: "area",
aggregation: {
enabled: void 0
},
point: {
visible: false
},
scatter: {
point: {
visible: true
}
}
}
}
},
map: {
title: {
margin: 10
},
background: {
borderWidth: 1,
borderColor: "#cacaca"
},
layer: {
label: {
enabled: false,
stroke: WHITE,
"stroke-width": 1,
"stroke-opacity": .7,
font: {
color: "#2b2b2b",
size: 12
}
}
},
"layer:area": {
borderWidth: 1,
borderColor: WHITE,
color: "#d2d2d2",
hoveredBorderColor: "#303030",
selectedBorderWidth: 2,
selectedBorderColor: "#303030",
label: {
"stroke-width": 2,
font: {
size: 16
}
}
},
"layer:line": {
borderWidth: 2,
color: "#ba8365",
hoveredColor: "#a94813",
selectedBorderWidth: 3,
selectedColor: "#e55100",
label: {
"stroke-width": 2,
font: {
size: 16
}
}
},
"layer:marker": {
label: {
enabled: true,
"stroke-width": 1,
font: {
size: 12
}
}
},
"layer:marker:dot": {
borderWidth: 2,
borderColor: WHITE,
size: 8,
selectedStep: 2,
backStep: 18,
backColor: WHITE,
backOpacity: .32,
shadow: true
},
"layer:marker:bubble": {
minSize: 20,
maxSize: 50,
hoveredBorderWidth: 1,
hoveredBorderColor: "#303030",
selectedBorderWidth: 2,
selectedBorderColor: "#303030"
},
"layer:marker:pie": {
size: 50,
hoveredBorderWidth: 1,
hoveredBorderColor: "#303030",
selectedBorderWidth: 2,
selectedBorderColor: "#303030"
},
"layer:marker:image": {
size: 20
},
legend: {
verticalAlignment: "bottom",
horizontalAlignment: RIGHT,
position: "inside",
backgroundOpacity: .65,
border: {
visible: true
},
paddingLeftRight: 16,
paddingTopBottom: 12
},
controlBar: {
borderColor: "#5d5d5d",
borderWidth: 3,
color: WHITE,
margin: 20,
opacity: .3
},
_rtl: {
legend: {
itemTextPosition: LEFT
}
}
},
treeMap: {
tile: {
border: {
width: 1,
opacity: .2,
color: "#000000"
},
color: "#5f8b95",
hoverStyle: {
hatching: {
opacity: .75,
step: 6,
width: 2,
direction: "right"
},
border: {}
},
selectionStyle: {
hatching: {
opacity: .5,
step: 6,
width: 2,
direction: "right"
},
border: {
opacity: 1
}
},
label: {
visible: true,
paddingLeftRight: 5,
paddingTopBottom: 4,
font: {
color: "#ffffff",
weight: 600
},
shadow: {
opacity: .6,
offsetX: 0,
offsetY: 1,
blur: 2,
color: "#000000"
},
wordWrap: "normal",
textOverflow: "ellipsis"
}
},
group: {
padding: 4,
border: {
width: 1
},
color: "#eeeeee",
hoverStyle: {
hatching: {
opacity: 0,
step: 6,
width: 2,
direction: "right"
},
border: {}
},
selectionStyle: {
hatching: {
opacity: 0,
step: 6,
width: 2,
direction: "right"
},
border: {}
},
label: {
visible: true,
paddingLeftRight: 5,
paddingTopBottom: 4,
font: {
color: "#767676",
weight: 600
},
textOverflow: "ellipsis"
}
},
title: {
subtitle: {}
},
tooltip: {},
loadingIndicator: {}
},
sparkline: {
lineColor: "#666666",
lineWidth: 2,
areaOpacity: .2,
minColor: "#e8c267",
maxColor: "#e55253",
barPositiveColor: "#a9a9a9",
barNegativeColor: "#d7d7d7",
winColor: "#a9a9a9",
lossColor: "#d7d7d7",
firstLastColor: "#666666",
pointSymbol: "circle",
pointColor: WHITE,
pointSize: 4,
type: "line",
argumentField: "arg",
valueField: "val",
winlossThreshold: 0,
showFirstLast: true,
showMinMax: false,
tooltip: {
enabled: true
}
},
bullet: {
color: "#e8c267",
targetColor: "#666666",
targetWidth: 4,
showTarget: true,
showZeroLevel: true,
tooltip: {
enabled: true
}
},
polar: {
commonSeriesSettings: {
type: "scatter",
closed: true,
point: {
visible: true,
symbol: "circle",
size: 12,
border: {
visible: false,
width: 1
},
hoverMode: "onlyPoint",
selectionMode: "onlyPoint",
hoverStyle: {
border: {
visible: true,
width: 4
},
size: 12
},
selectionStyle: {
border: {
visible: true,
width: 4
},
size: 12
}
},
scatter: {},
line: {
width: 2,
dashStyle: SOLID,
hoverStyle: {
width: 3,
hatching: {
direction: NONE
}
},
selectionStyle: {
width: 3
}
},
area: {
point: {
visible: false
},
opacity: .5
},
stackedline: {
width: 2
},
bar: {
opacity: .8
},
stackedbar: {
opacity: .8
}
},
adaptiveLayout: {
width: 80,
height: 80,
keepLabels: true
},
barGroupPadding: .3,
commonAxisSettings: {
visible: true,
forceUserTickInterval: false,
label: {
overlappingBehavior: "hide",
indentFromAxis: 5
},
grid: {
visible: true
},
minorGrid: {
visible: true
},
tick: {
visible: true
},
title: {
font: {
size: 16
},
margin: 10
}
},
argumentAxis: {
startAngle: 0,
firstPointOnStartAngle: false,
period: void 0
},
valueAxis: {
endOnTick: false,
tick: {
visible: false
}
},
horizontalAxis: {
position: TOP,
axisDivisionFactor: 50,
label: {
alignment: CENTER
}
},
verticalAxis: {
position: TOP,
axisDivisionFactor: 30,
label: {
alignment: RIGHT
}
}
},
funnel: {
sortData: true,
valueField: "val",
colorField: "color",
argumentField: "arg",
hoverEnabled: true,
selectionMode: "single",
item: {
border: {
visible: false,
width: 2,
color: WHITE
},
hoverStyle: {
hatching: {
opacity: .75,
step: 6,
width: 2,
direction: RIGHT
},
border: {}
},
selectionStyle: {
hatching: {
opacity: .5,
step: 6,
width: 2,
direction: RIGHT
},
border: {}
}
},
title: {
margin: 10
},
adaptiveLayout: {
width: 80,
height: 80,
keepLabels: true
},
legend: {
visible: false
},
_rtl: {
legend: {
itemTextPosition: LEFT
}
},
tooltip: {
customizeTooltip: function(info) {
return {
text: info.item.argument + " " + info.valueText
}
}
},
inverted: false,
algorithm: "dynamicSlope",
neckWidth: 0,
neckHeight: 0,
resolveLabelOverlapping: "shift",
label: {
textOverflow: "ellipsis",
wordWrap: "normal",
visible: true,
horizontalAlignment: RIGHT,
horizontalOffset: 0,
verticalOffset: 0,
showForZeroValues: false,
customizeText: function(info) {
return info.item.argument + " " + info.valueText
},
position: "columns",
font: {
color: WHITE
},
border: {
visible: false,
width: 1,
color: "#d3d3d3",
dashStyle: SOLID
},
connector: {
visible: true,
width: 1,
opacity: .5
}
}
},
sankey: {
sourceField: "source",
targetField: "target",
weightField: "weight",
hoverEnabled: true,
alignment: CENTER,
adaptiveLayout: {
width: 80,
height: 80,
keepLabels: true
},
label: {
visible: true,
horizontalOffset: 8,
verticalOffset: 0,
overlappingBehavior: "ellipsis",
useNodeColors: false,
font: {
color: BLACK,
weight: 500
},
border: {
visible: false,
width: 2,
color: WHITE
},
customizeText: function(info) {
return info.title
},
shadow: {
opacity: .2,
offsetX: 0,
offsetY: 1,
blur: 1,
color: WHITE
}
},
title: {
margin: 10,
font: {
size: 28,
weight: 200
},
subtitle: {
font: {
size: 16
}
}
},
tooltip: {
enabled: true
},
node: {
padding: 30,
width: 8,
opacity: 1,
border: {
color: WHITE,
width: 1,
visible: false
},
hoverStyle: {
hatching: {
opacity: .75,
step: 6,
width: 2,
direction: RIGHT
},
border: {}
}
},
link: {
color: "#888888",
colorMode: "none",
opacity: .3,
border: {
color: WHITE,
width: 1,
visible: false
},
hoverStyle: {
opacity: .5,
hatching: {
opacity: .75,
step: 6,
width: 2,
direction: RIGHT
},
border: {}
}
}
}
});
(0, _themes.registerTheme)({
name: "generic.light.compact"
}, "generic.light")
},
/*!*****************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.dark.js ***!
\*****************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _themes = __webpack_require__( /*! ../../themes */ 57);
var WHITE = "#ffffff";
(0, _themes.registerTheme)({
name: "generic.dark",
font: {
color: "#808080"
},
backgroundColor: "#2a2a2a",
primaryTitleColor: "#dedede",
secondaryTitleColor: "#a3a3a3",
gridColor: "#555555",
axisColor: "#a3a3a3",
export: {
backgroundColor: "#2a2a2a",
font: {
color: "#dbdbdb"
},
button: {
default: {
color: "#dedede",
borderColor: "#4d4d4d",
backgroundColor: "#2e2e2e"
},
hover: {
color: "#dedede",
borderColor: "#6c6c6c",
backgroundColor: "#444"
},
focus: {
color: "#dedede",
borderColor: "#8d8d8d",
backgroundColor: "#444444"
},
active: {
color: "#dedede",
borderColor: "#8d8d8d",
backgroundColor: "#555555"
}
},
shadowColor: "#292929"
},
tooltip: {
color: "#2b2b2b",
border: {
color: "#494949"
},
font: {
color: "#929292"
}
},
"chart:common": {
commonSeriesSettings: {
label: {
border: {
color: "#494949"
}
},
valueErrorBar: {
color: WHITE
}
}
},
"chart:common:axis": {
constantLineStyle: {
color: WHITE
}
},
"chart:common:annotation": {
font: {
color: "#929292"
},
border: {
color: "#494949"
},
color: "#2b2b2b",
shadow: {
opacity: .008,
offsetY: 4,
blur: 8
}
},
chart: {
commonPaneSettings: {
border: {
color: "#494949"
}
},
commonAxisSettings: {
breakStyle: {
color: "#818181"
}
},
zoomAndPan: {
dragBoxStyle: {
color: WHITE
}
}
},
gauge: {
rangeContainer: {
backgroundColor: "#b5b5b5"
},
valueIndicators: {
_default: {
color: "#b5b5b5"
},
rangebar: {
color: "#84788b"
},
twocolorneedle: {
secondColor: "#ba544d"
},
trianglemarker: {
color: "#b7918f"
},
textcloud: {
color: "#ba544d"
}
}
},
barGauge: {
backgroundColor: "#3c3c3c"
},
rangeSelector: {
scale: {
tick: {
color: WHITE,
opacity: .32
},
minorTick: {
color: WHITE,
opacity: .1
},
breakStyle: {
color: "#818181"
}
},
selectedRangeColor: "#b5b5b5",
sliderMarker: {
color: "#b5b5b5",
font: {
color: "#303030"
}
},
sliderHandle: {
color: WHITE,
opacity: .2
},
shutter: {
color: "#2b2b2b",
opacity: .9
}
},
map: {
background: {
borderColor: "#3f3f3f"
},
layer: {
label: {
stroke: "#000000",
font: {
color: WHITE
}
}
},
"layer:area": {
borderColor: "#303030",
color: "#686868",
hoveredBorderColor: WHITE,
selectedBorderColor: WHITE
},
"layer:line": {
color: "#c77244",
hoveredColor: "#ff5d04",
selectedColor: "#ff784f"
},
"layer:marker:bubble": {
hoveredBorderColor: WHITE,
selectedBorderColor: WHITE
},
"layer:marker:pie": {
hoveredBorderColor: WHITE,
selectedBorderColor: WHITE
},
legend: {
border: {
color: "#3f3f3f"
},
font: {
color: WHITE
}
},
controlBar: {
borderColor: "#c7c7c7",
color: "#303030"
}
},
treeMap: {
group: {
color: "#4c4c4c",
label: {
font: {
color: "#a3a3a3"
}
}
}
},
sparkline: {
lineColor: "#c7c7c7",
firstLastColor: "#c7c7c7",
barPositiveColor: "#b8b8b8",
barNegativeColor: "#8e8e8e",
winColor: "#b8b8b8",
lossColor: "#8e8e8e",
pointColor: "#303030"
},
bullet: {
targetColor: "#8e8e8e"
},
funnel: {
item: {
border: {
color: "#2a2a2a"
}
}
},
sankey: {
label: {
font: {
color: WHITE
},
shadow: {
opacity: 0
}
},
node: {
border: {
color: "#2a2a2a"
}
},
link: {
color: "#888888",
border: {
color: "#2a2a2a"
},
hoverStyle: {
color: "#bbbbbb"
}
}
}
}, "generic.light");
(0, _themes.registerTheme)({
name: "generic.dark.compact"
}, "generic.dark")
},
/*!*********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.contrast.js ***!
\*********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _themes = __webpack_require__( /*! ../../themes */ 57);
var WHITE = "#ffffff";
var BLACK = "#000000";
(0, _themes.registerTheme)({
name: "generic.contrast",
defaultPalette: "Bright",
font: {
color: WHITE
},
backgroundColor: BLACK,
primaryTitleColor: WHITE,
secondaryTitleColor: WHITE,
gridColor: WHITE,
axisColor: WHITE,
export: {
backgroundColor: BLACK,
font: {
color: WHITE
},
button: {
default: {
color: WHITE,
borderColor: WHITE,
backgroundColor: BLACK
},
hover: {
color: WHITE,
borderColor: WHITE,
backgroundColor: "#cf00d7"
},
focus: {
color: WHITE,
borderColor: "#cf00d7",
backgroundColor: BLACK
},
active: {
color: BLACK,
borderColor: WHITE,
backgroundColor: WHITE
}
},
borderColor: WHITE,
menuButtonColor: BLACK,
activeBackgroundColor: WHITE,
activeColor: BLACK,
selectedBorderColor: "#cf00da",
selectedColor: "#cf00da",
shadowColor: "none"
},
tooltip: {
border: {
color: WHITE
},
font: {
color: WHITE
},
color: BLACK
},
"chart:common": {
commonSeriesSettings: {
valueErrorBar: {
color: WHITE
},
hoverStyle: {
hatching: {
opacity: .5
}
},
selectionStyle: {
hatching: {
opacity: .35
}
},
label: {
font: {
color: WHITE
},
border: {
color: WHITE
}
}
}
},
"chart:common:axis": {
constantLineStyle: {
color: WHITE
}
},
"chart:common:annotation": {
font: {
color: WHITE
},
border: {
color: WHITE
},
color: BLACK
},
chart: {
commonSeriesSettings: {},
crosshair: {
color: "#cf00d7"
},
commonPaneSettings: {
backgroundColor: BLACK,
border: {
color: WHITE
}
},
scrollBar: {
color: WHITE
},
commonAxisSettings: {
breakStyle: {
color: "#cf00d7"
}
},
zoomAndPan: {
dragBoxStyle: {
color: WHITE,
opacity: .7
}
}
},
pie: {
commonSeriesSettings: {
pie: {
hoverStyle: {
hatching: {
opacity: .5
}
},
selectionStyle: {
hatching: {
opacity: .35
}
}
},
doughnut: {
hoverStyle: {
hatching: {
opacity: .5
}
},
selectionStyle: {
hatching: {
opacity: .35
}
}
},
donut: {
hoverStyle: {
hatching: {
opacity: .5
}
},
selectionStyle: {
hatching: {
opacity: .35
}
}
}
}
},
gauge: {
rangeContainer: {
backgroundColor: WHITE
},
valueIndicators: {
_default: {
color: WHITE
},
rangebar: {
color: WHITE,
backgroundColor: BLACK
},
twocolorneedle: {
secondColor: WHITE
},
trianglemarker: {
color: WHITE
},
textcloud: {
color: WHITE,
text: {
font: {
color: BLACK
}
}
}
}
},
barGauge: {
backgroundColor: "#3c3c3c"
},
rangeSelector: {
scale: {
tick: {
color: WHITE,
opacity: .4
},
minorTick: {
color: WHITE,
opacity: .12
},
breakStyle: {
color: "#cf00d7"
}
},
selectedRangeColor: "#cf00da",
sliderMarker: {
color: "#cf00da"
},
sliderHandle: {
color: "#cf00da",
opacity: 1
},
shutter: {
opacity: .75
},
background: {
color: BLACK
}
},
map: {
background: {
borderColor: WHITE
},
layer: {
label: {
stroke: BLACK,
font: {
color: WHITE
}
}
},
"layer:area": {
borderColor: BLACK,
color: "#686868",
hoveredBorderColor: WHITE,
selectedBorderColor: WHITE,
label: {
font: {
opacity: 1
}
}
},
"layer:line": {
color: "#267cff",
hoveredColor: "#f613ff",
selectedColor: WHITE
},
"layer:marker:dot": {
borderColor: BLACK,
color: "#f8ca00",
backColor: BLACK,
backOpacity: .32
},
"layer:marker:bubble": {
color: "#f8ca00",
hoveredBorderColor: WHITE,
selectedBorderColor: WHITE
},
"layer:marker:pie": {
hoveredBorderColor: WHITE,
selectedBorderColor: WHITE
},
controlBar: {
borderColor: WHITE,
color: BLACK,
opacity: .3
}
},
treeMap: {
tile: {
color: "#70c92f"
},
group: {
color: "#797979",
label: {
font: {
color: WHITE
}
}
}
},
sparkline: {
pointColor: BLACK
},
bullet: {},
polar: {
commonSeriesSettings: {}
},
funnel: {
label: {
connector: {
opacity: 1
}
}
},
sankey: {
label: {
font: {
color: WHITE
},
shadow: {
opacity: 0
}
},
node: {
border: {
visible: true,
width: 1,
color: WHITE
}
},
link: {
opacity: .5,
border: {
visible: true,
width: 1,
color: WHITE
},
hoverStyle: {
opacity: .9
}
}
}
}, "generic.light");
(0, _themes.registerTheme)({
name: "generic.contrast.compact"
}, "generic.contrast")
},
/*!********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.carmine.js ***!
\********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _themes = __webpack_require__( /*! ../../themes */ 57);
(0, _themes.registerTheme)({
name: "generic.carmine",
defaultPalette: "Carmine",
backgroundColor: "#fff",
primaryTitleColor: "#333",
secondaryTitleColor: "#8899a8",
gridColor: "#dee1e3",
axisColor: "#707070",
export: {
backgroundColor: "#fff",
font: {
color: "#333"
},
button: {
default: {
color: "#333",
borderColor: "#b1b7bd",
backgroundColor: "#fff"
},
hover: {
color: "#333",
borderColor: "#b1b7bd",
backgroundColor: "#faf2f0"
},
focus: {
color: "#333",
borderColor: "#6d7781",
backgroundColor: "#faf2f0"
},
active: {
color: "#333",
borderColor: "#6d7781",
backgroundColor: "#f5e7e4"
}
}
},
legend: {
font: {
color: "#707070"
}
},
tooltip: {
color: "#fff",
border: {
color: "#dee1e3"
},
font: {
color: "#333"
}
},
"chart:common": {
commonSeriesSettings: {
label: {
border: {
color: "#dee1e3"
}
}
}
},
"chart:common:annotation": {
font: {
color: "#333"
},
border: {
color: "#dee1e3"
},
color: "#fff"
},
chart: {
commonPaneSettings: {
border: {
color: "#dee1e3"
}
},
commonAxisSettings: {
breakStyle: {
color: "#c1c5c7"
}
}
},
rangeSelector: {
scale: {
breakStyle: {
color: "#c1c5c7"
},
tick: {
opacity: .12
}
},
selectedRangeColor: "#f05b41",
sliderMarker: {
color: "#f05b41"
},
sliderHandle: {
color: "#f05b41",
opacity: .5
}
},
sparkline: {
pointColor: "#fff",
minColor: "#f0ad4e",
maxColor: "#f74d61"
},
treeMap: {
group: {
color: "#dee1e3",
label: {
font: {
color: "#8899a8"
}
}
}
},
bullet: {
color: "#f05b41"
},
gauge: {
valueIndicators: {
rangebar: {
color: "#f05b41"
},
textcloud: {
color: "#f05b41"
}
}
}
}, "generic.light");
(0, _themes.registerTheme)({
name: "generic.carmine.compact"
}, "generic.carmine")
},
/*!*********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.darkmoon.js ***!
\*********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _themes = __webpack_require__( /*! ../../themes */ 57);
(0, _themes.registerTheme)({
name: "generic.darkmoon",
defaultPalette: "Dark Moon",
backgroundColor: "#465672",
primaryTitleColor: "#fff",
secondaryTitleColor: "#919bac",
gridColor: "#596980",
axisColor: "#c7ccd4",
export: {
backgroundColor: "#465672",
font: {
color: "#fff"
},
button: {
default: {
color: "#fff",
borderColor: "#7a889e",
backgroundColor: "#465672"
},
hover: {
color: "#fff",
borderColor: "#9da8b8",
backgroundColor: "#596e92"
},
focus: {
color: "#fff",
borderColor: "#c4cad4",
backgroundColor: "#596e92"
},
active: {
color: "#fff",
borderColor: "#c4cad4",
backgroundColor: "#6b80a4"
}
}
},
legend: {
font: {
color: "#c7ccd4"
}
},
tooltip: {
color: "#62789e",
border: {
color: "#596980"
},
font: {
color: "#fff"
}
},
"chart:common": {
commonSeriesSettings: {
label: {
border: {
color: "#596980"
}
}
}
},
"chart:common:annotation": {
font: {
color: "#fff"
},
border: {
color: "#596980"
},
color: "#62789e"
},
chart: {
commonPaneSettings: {
border: {
color: "#596980"
}
},
commonAxisSettings: {
breakStyle: {
color: "#73869e"
}
}
},
gauge: {
valueIndicators: {
rangebar: {
color: "#3debd3"
},
textcloud: {
color: "#3debd3",
text: {
font: {
color: "#465672"
}
}
}
}
},
barGauge: {
backgroundColor: "#526280"
},
funnel: {
item: {
border: {
color: "#465672"
}
}
},
sparkline: {
pointColor: "#465672",
minColor: "#f0ad4e",
maxColor: "#f9517e"
},
treeMap: {
group: {
color: "#596980",
label: {
font: {
color: "#fff"
}
}
}
},
map: {
background: {
borderColor: "#596980"
},
"layer:area": {
color: "#97a3b6",
borderColor: "#465672"
}
},
rangeSelector: {
shutter: {
color: "#465672"
},
scale: {
breakStyle: {
color: "#73869e"
},
tick: {
opacity: .2
}
},
selectedRangeColor: "#3debd3",
sliderMarker: {
color: "#3debd3",
font: {
color: "#000"
}
},
sliderHandle: {
color: "#3debd3",
opacity: .5
}
},
bullet: {
color: "#3debd3"
},
sankey: {
link: {
border: {
color: "#465672"
}
},
node: {
border: {
color: "#465672"
}
}
}
}, "generic.dark");
(0, _themes.registerTheme)({
name: "generic.darkmoon.compact"
}, "generic.darkmoon")
},
/*!*********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.softblue.js ***!
\*********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _themes = __webpack_require__( /*! ../../themes */ 57);
(0, _themes.registerTheme)({
name: "generic.softblue",
defaultPalette: "Soft Blue",
backgroundColor: "#fff",
primaryTitleColor: "#333",
secondaryTitleColor: "#99a1a8",
gridColor: "#e8eaeb",
axisColor: "#707070",
export: {
backgroundColor: "#fff",
font: {
color: "#333"
},
button: {
default: {
color: "#333",
borderColor: "#c9d0d4",
backgroundColor: "#fff"
},
hover: {
color: "#333",
borderColor: "#a7b2b9",
backgroundColor: "#e6e6e6"
},
focus: {
color: "#333",
borderColor: "#82929b",
backgroundColor: "#e6e6e6"
},
active: {
color: "#333",
borderColor: "#82929b",
backgroundColor: "#d4d4d4"
}
}
},
legend: {
font: {
color: "#707070"
}
},
tooltip: {
color: "#fff",
border: {
color: "#e8eaeb"
},
font: {
color: "#333"
}
},
"chart:common": {
commonSeriesSettings: {
label: {
border: {
color: "#e8eaeb"
}
}
}
},
"chart:common:annotation": {
color: "#fff",
border: {
color: "#e8eaeb"
},
font: {
color: "#333"
}
},
chart: {
commonPaneSettings: {
border: {
color: "#e8eaeb"
}
},
commonAxisSettings: {
breakStyle: {
color: "#cfd2d3"
}
}
},
rangeSelector: {
scale: {
breakStyle: {
color: "#cfd2d3"
},
tick: {
opacity: .12
}
},
selectedRangeColor: "#7ab8eb",
sliderMarker: {
color: "#7ab8eb"
},
sliderHandle: {
color: "#7ab8eb",
opacity: .5
}
},
sparkline: {
pointColor: "#fff",
minColor: "#f0ad4e",
maxColor: "#d9534f"
},
treeMap: {
group: {
color: "#e8eaeb",
label: {
font: {
color: "#99a1a8"
}
}
}
},
bullet: {
color: "#7ab8eb"
},
gauge: {
valueIndicators: {
rangebar: {
color: "#7ab8eb"
},
textcloud: {
color: "#7ab8eb"
}
}
}
}, "generic.light");
(0, _themes.registerTheme)({
name: "generic.softblue.compact"
}, "generic.softblue")
},
/*!***********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.darkviolet.js ***!
\***********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _themes = __webpack_require__( /*! ../../themes */ 57);
(0, _themes.registerTheme)({
name: "generic.darkviolet",
defaultPalette: "Dark Violet",
backgroundColor: "#17171f",
primaryTitleColor: "#f5f6f7",
secondaryTitleColor: "#fff",
gridColor: "#343840",
axisColor: "#b2b2b6",
export: {
backgroundColor: "#17171f",
font: {
color: "#f5f6f7"
},
button: {
default: {
color: "#f5f6f7",
borderColor: "#414152",
backgroundColor: "#17171f"
},
hover: {
color: "#f5f6f7",
borderColor: "#5c5c74",
backgroundColor: "#2d2d3c"
},
focus: {
color: "#f5f6f7",
borderColor: "#7c7c97",
backgroundColor: "#2d2d3c"
},
active: {
color: "#f5f6f7",
borderColor: "#7c7c97",
backgroundColor: "#3c3c51"
}
}
},
legend: {
font: {
color: "#b2b2b6"
}
},
tooltip: {
color: "#17171f",
border: {
color: "#414152"
},
font: {
color: "#f5f6f7"
}
},
"chart:common": {
commonSeriesSettings: {
label: {
border: {
color: "#343840"
}
}
}
},
"chart:common:annotation": {
font: {
color: "#f5f6f7"
},
border: {
color: "#414152"
},
color: "#17171f"
},
chart: {
commonPaneSettings: {
border: {
color: "#343840"
}
},
commonAxisSettings: {
breakStyle: {
color: "#575e6b"
}
}
},
funnel: {
item: {
border: {
color: "#17171f"
}
}
},
sparkline: {
pointColor: "#17171f",
minColor: "#f0ad4e",
maxColor: "#d9534f"
},
treeMap: {
group: {
color: "#343840",
label: {
font: {
color: "#fff"
}
}
}
},
rangeSelector: {
shutter: {
color: "#17171f"
},
scale: {
breakStyle: {
color: "#575e6b"
},
tick: {
opacity: .2
}
},
selectedRangeColor: "#9c63ff",
sliderMarker: {
color: "#9c63ff",
font: {
color: "#fff"
}
},
sliderHandle: {
color: "#9c63ff",
opacity: .5
}
},
bullet: {
color: "#9c63ff"
},
gauge: {
valueIndicators: {
rangebar: {
color: "#9c63ff"
},
textcloud: {
color: "#9c63ff"
}
}
},
sankey: {
link: {
border: {
color: "#17171f"
}
},
node: {
border: {
color: "#17171f"
}
}
}
}, "generic.dark");
(0, _themes.registerTheme)({
name: "generic.darkviolet.compact"
}, "generic.darkviolet")
},
/*!**********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.greenmist.js ***!
\**********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _themes = __webpack_require__( /*! ../../themes */ 57);
(0, _themes.registerTheme)({
name: "generic.greenmist",
defaultPalette: "Green Mist",
backgroundColor: "#f5f5f5",
primaryTitleColor: "#28484f",
secondaryTitleColor: "#7eb2be",
gridColor: "#dedede",
axisColor: "#657c80",
export: {
backgroundColor: "#f5f5f5",
font: {
color: "#28484f"
},
button: {
default: {
color: "#28484f",
borderColor: "#a2b4b8",
backgroundColor: "#f5f5f5"
},
hover: {
color: "#28484f",
borderColor: "#7f989e",
backgroundColor: "rgba(222, 222, 222, 0.4)"
},
focus: {
color: "#28484f",
borderColor: "#5f777c",
backgroundColor: "rgba(222, 222, 222, 0.4)"
},
active: {
color: "#28484f",
borderColor: "#5f777c",
backgroundColor: "rgba(222, 222, 222, 0.8)"
}
}
},
legend: {
font: {
color: "#657c80"
}
},
tooltip: {
color: "#fff",
border: {
color: "#dedede"
},
font: {
color: "#28484f"
}
},
"chart:common": {
commonSeriesSettings: {
label: {
border: {
color: "#dedede"
}
}
}
},
"chart:common:annotation": {
color: "#fff",
border: {
color: "#dedede"
},
font: {
color: "#28484f"
}
},
chart: {
commonPaneSettings: {
border: {
color: "#dedede"
}
},
commonAxisSettings: {
breakStyle: {
color: "#c1c1c1"
}
}
},
funnel: {
item: {
border: {
color: "#f5f5f5"
}
}
},
sparkline: {
pointColor: "#f5f5f5",
minColor: "#ffc852",
maxColor: "#f74a5e"
},
treeMap: {
group: {
color: "#dedede",
label: {
font: {
color: "#7eb2be"
}
}
}
},
rangeSelector: {
shutter: {
color: "#f5f5f5"
},
scale: {
breakStyle: {
color: "#c1c1c1"
},
tick: {
opacity: .12
}
},
selectedRangeColor: "#3cbab2",
sliderMarker: {
color: "#3cbab2"
},
sliderHandle: {
color: "#3cbab2",
opacity: .5
}
},
bullet: {
color: "#3cbab2"
},
gauge: {
valueIndicators: {
rangebar: {
color: "#3cbab2"
},
textcloud: {
color: "#3cbab2"
}
}
}
}, "generic.light");
(0, _themes.registerTheme)({
name: "generic.greenmist.compact"
}, "generic.greenmist")
},
/*!*************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/core/themes/material.js ***!
\*************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _themes = __webpack_require__( /*! ../../themes */ 57);
var FONT_FAMILY = "'Roboto', 'RobotoFallback', 'Helvetica', 'Arial', sans-serif";
var WHITE = "#ffffff";
(0, _themes.registerTheme)({
name: "material",
defaultPalette: "Material",
font: {
family: FONT_FAMILY
},
title: {
margin: {
top: 20,
bottom: 20,
left: 0,
right: 0
},
font: {
size: 20,
family: FONT_FAMILY,
weight: 500
},
horizontalAlignment: "left",
subtitle: {
font: {
size: 14
},
horizontalAlignment: "left"
}
},
tooltip: {
shadow: {
opacity: 0
},
border: {
visible: false
},
paddingLeftRight: 8,
paddingTopBottom: 6,
arrowLength: 0,
location: "edge",
color: "#616161",
font: {
color: WHITE
},
cornerRadius: 4
},
chart: {
commonAxisSettings: {
minorTick: {
opacity: .5
},
label: {
font: {
size: 11
}
}
},
commonAnnotationSettings: {
font: {
color: WHITE
},
border: {
color: "#616161"
},
color: "#616161",
arrowLength: 14,
arrowWidth: 0,
shadow: {
opacity: .08,
offsetY: 4,
blur: 8
},
cornerRadius: 4
}
},
pie: {
title: {
horizontalAlignment: "center",
subtitle: {
horizontalAlignment: "center"
}
}
},
polar: {
commonAxisSettings: {
minorTick: {
opacity: .5
}
},
title: {
horizontalAlignment: "center",
subtitle: {
horizontalAlignment: "center"
}
}
},
funnel: {
title: {
horizontalAlignment: "center",
subtitle: {
horizontalAlignment: "center"
}
}
},
gauge: {
title: {
horizontalAlignment: "center",
subtitle: {
horizontalAlignment: "center"
}
}
},
barGauge: {
title: {
horizontalAlignment: "center",
subtitle: {
horizontalAlignment: "center"
}
}
},
rangeSelector: {
sliderHandle: {
opacity: .5
}
},
treeMap: {
group: {
label: {
font: {
weight: 500
}
}
}
}
}, "generic.light");
(0, _themes.registerTheme)({
name: "material.light",
gridColor: "#e0e0e0",
axisColor: "rgba(0,0,0,0.54)",
primaryTitleColor: "rgba(0,0,0,0.87)",
legend: {
font: {
color: "rgba(0,0,0,0.54)"
}
},
chart: {
scrollBar: {
color: "#bfbfbf",
opacity: .7
}
},
gauge: {
rangeContainer: {
backgroundColor: "rgba(0,0,0,0.2)"
}
},
barGauge: {
backgroundColor: "#efefef"
}
}, "material");
(0, _themes.registerTheme)({
name: "material.dark",
gridColor: "#515159",
backgroundColor: "#363640",
axisColor: "rgba(255,255,255,0.54)",
font: {
color: "rgba(255,255,255,0.54)"
},
primaryTitleColor: "rgba(255,255,255,0.87)",
secondaryTitleColor: "rgba(255,255,255,0.87)",
tooltip: {
color: "#000"
},
export: {
backgroundColor: "#363640",
font: {
color: "#dbdbdb"
},
button: {
default: {
color: "#dedede",
borderColor: "#4d4d4d",
backgroundColor: "#363640"
},
hover: {
color: "#dedede",
borderColor: "#6c6c6c",
backgroundColor: "#3f3f4b"
},
focus: {
color: "#dedede",
borderColor: "#8d8d8d",
backgroundColor: "#494956"
},
active: {
color: "#dedede",
borderColor: "#8d8d8d",
backgroundColor: "#494956"
}
},
shadowColor: "#292929"
},
"chart:common": {
commonSeriesSettings: {
label: {
border: {
color: "#494949"
}
},
valueErrorBar: {
color: WHITE
}
}
},
"chart:common:axis": {
constantLineStyle: {
color: WHITE
}
},
"chart:common:annotation": {
border: {
color: "#000"
},
color: "#000"
},
chart: {
commonPaneSettings: {
border: {
color: "#494949"
}
},
commonAxisSettings: {
breakStyle: {
color: "#818181"
}
},
zoomAndPan: {
dragBoxStyle: {
color: WHITE
}
}
},
gauge: {
rangeContainer: {
backgroundColor: "#b5b5b5"
},
valueIndicators: {
_default: {
color: "#b5b5b5"
},
rangebar: {
color: "#84788b"
},
twocolorneedle: {
secondColor: "#ba544d"
},
trianglemarker: {
color: "#b7918f"
},
textcloud: {
color: "#ba544d"
}
}
},
barGauge: {
backgroundColor: "#3c3c3c"
},
rangeSelector: {
scale: {
tick: {
color: WHITE,
opacity: .32
},
minorTick: {
color: WHITE,
opacity: .1
},
breakStyle: {
color: "#818181"
}
},
selectedRangeColor: "#b5b5b5",
sliderMarker: {
color: "#b5b5b5",
font: {
color: "#363640"
}
},
sliderHandle: {
color: WHITE,
opacity: .2
},
shutter: {
color: WHITE,
opacity: .1
}
},
map: {
background: {
borderColor: "#3f3f3f"
},
layer: {
label: {
stroke: "#000000",
font: {
color: WHITE
}
}
},
"layer:area": {
borderColor: "#363640",
color: "#686868",
hoveredBorderColor: WHITE,
selectedBorderColor: WHITE
},
"layer:line": {
color: "#c77244",
hoveredColor: "#ff5d04",
selectedColor: "#ff784f"
},
"layer:marker:bubble": {
hoveredBorderColor: WHITE,
selectedBorderColor: WHITE
},
"layer:marker:pie": {
hoveredBorderColor: WHITE,
selectedBorderColor: WHITE
},
legend: {
border: {
color: "#3f3f3f"
},
font: {
color: WHITE
}
},
controlBar: {
borderColor: "#c7c7c7",
color: "#363640"
}
},
treeMap: {
group: {
color: "#4c4c4c",
label: {
font: {
color: "#a3a3a3"
}
}
}
},
sparkline: {
lineColor: "#c7c7c7",
firstLastColor: "#c7c7c7",
barPositiveColor: "#b8b8b8",
barNegativeColor: "#8e8e8e",
winColor: "#b8b8b8",
lossColor: "#8e8e8e",
pointColor: "#363640"
},
bullet: {
targetColor: "#8e8e8e"
},
funnel: {
item: {
border: {
color: "#363640"
}
}
},
sankey: {
label: {
font: {
color: WHITE
}
}
}
}, "material");
function registerMaterialColorScheme(accentName, themeName, accentColor) {
(0, _themes.registerTheme)({
name: "material." + accentName + "." + themeName,
rangeSelector: {
selectedRangeColor: accentColor,
sliderMarker: {
color: accentColor
},
sliderHandle: {
color: accentColor
}
},
map: {
"layer:marker:dot": {
color: accentColor
},
"layer:marker:bubble": {
color: accentColor
},
legend: {
markerColor: accentColor
}
},
bullet: {
color: accentColor
},
gauge: {
valueIndicators: {
rangebar: {
color: accentColor
},
textcloud: {
color: accentColor
}
}
}
}, "material." + themeName)
}
var materialAccents = {
blue: "#03a9f4",
lime: "#cddc39",
orange: "#ff5722",
purple: "#9c27b0",
teal: "#009688"
};
for (var accent in materialAccents) {
if (Object.prototype.hasOwnProperty.call(materialAccents, accent)) {
var color = materialAccents[accent];
registerMaterialColorScheme(accent, "light", color);
registerMaterialColorScheme(accent, "dark", color);
(0, _themes.registerTheme)({
name: "material.".concat(accent, ".light.compact")
}, "material.".concat(accent, ".light"));
(0, _themes.registerTheme)({
name: "material.".concat(accent, ".dark.compact")
}, "material.".concat(accent, ".dark"))
}
}
},
/*!****************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/core/layout.js ***!
\****************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _utils = __webpack_require__( /*! ./utils */ 14);
var _min = Math.min;
var _max = Math.max;
var _round = Math.round;
var horizontalAlignmentMap = {
left: 0,
center: 1,
right: 2
};
var verticalAlignmentMap = {
top: 0,
center: 1,
bottom: 2
};
var sideMap = {
horizontal: 0,
vertical: 1
};
var slicersMap = {};
slicersMap[0] = function(a, b, size) {
return [a, _min(b, a + size)]
};
slicersMap[1] = function(a, b, size) {
return [_max(a, (a + b - size) / 2), _min(b, (a + b + size) / 2)]
};
slicersMap[2] = function(a, b, size) {
return [_max(a, b - size), b]
};
function pickValue(value, map, defaultValue) {
var val = (0, _utils.normalizeEnum)(value);
return val in map ? map[val] : defaultValue
}
function getShrink(alignment, size) {
return (alignment > 0 ? -1 : 1) * size
}
function processForward(item, rect, minSize) {
var side = item.side;
var size = item.element.measure([rect[2] - rect[0], rect[3] - rect[1]]);
var minSide = "indside" === item.position ? 0 : minSize[side];
var isValid = size[side] < rect[2 + side] - rect[side] - minSide;
if (isValid) {
if ("inside" !== item.position) {
rect[item.primary + side] += getShrink(item.primary, size[side])
}
item.size = size
}
return isValid
}
function processRectBackward(item, rect, alignmentRect) {
var primarySide = item.side;
var secondarySide = (side = primarySide, 1 - side);
var side;
var itemRect = [];
var secondary = (alignment = item.secondary, a = alignmentRect[secondarySide], b = alignmentRect[2 + secondarySide], size = item.size[secondarySide], slicersMap[alignment](a, b, size));
var alignment, a, b, size;
itemRect[primarySide] = _round(itemRect[2 + primarySide] = rect[item.primary + primarySide] + ("inside" === item.position ? getShrink(item.primary, item.size[primarySide]) : 0));
itemRect[item.primary + primarySide] = _round(rect[item.primary + primarySide] - getShrink(item.primary, item.size[primarySide]));
if ("inside" !== item.position) {
rect[item.primary + primarySide] = itemRect[item.primary + primarySide]
}
itemRect[secondarySide] = _round(secondary[0]);
itemRect[2 + secondarySide] = _round(secondary[1]);
return itemRect
}
function processBackward(item, rect, alignmentRect, fitRect, size, targetRect) {
var itemRect = processRectBackward(item, rect, alignmentRect);
var itemFitRect = processRectBackward(item, fitRect, fitRect);
if (size[item.side] > 0) {
size[item.side] -= item.size[item.side];
targetRect[item.primary + item.side] = itemRect[item.primary + item.side];
item.element.freeSpace()
} else {
item.element.move(itemRect, itemFitRect)
}
}
function Layout() {
this._targets = []
}
Layout.prototype = {
constructor: Layout,
dispose: function() {
this._targets = null
},
add: function(target) {
this._targets.push(target)
},
forward: function(targetRect, minSize) {
var rect = targetRect.slice();
var targets = function(targets) {
var i;
var ii = targets.length;
var collection = [];
var layout;
for (i = 0; i < ii; ++i) {
layout = targets[i].layoutOptions();
if (layout) {
layout = (options = layout, side = void 0, alignment = void 0, primary = void 0, side = pickValue(options.side, sideMap, 1), alignment = [pickValue(options.horizontalAlignment, horizontalAlignmentMap, 1), pickValue(options.verticalAlignment, verticalAlignmentMap, 0)], {
side: side,
primary: (primary = alignment[side], primary < 2 ? 0 : 2),
secondary: alignment[1 - side],
weak: options.weak,
priority: options.priority || 0,
header: options.header,
position: options.position
});
layout.element = targets[i];
collection.push(layout)
}
}
var options, side, alignment, primary;
collection.sort((function(a, b) {
return b.side - a.side || a.priority - b.priority
}));
collection = function(collection) {
var weakItem = collection.filter((function(item) {
return true === item.weak
}))[0];
var headerItem;
if (weakItem) {
headerItem = collection.filter((function(item) {
return weakItem.primary === item.primary && item.side === weakItem.side && item !== weakItem
}))[0]
}
if (weakItem && headerItem) {
return [makeHeader(headerItem, weakItem)].concat(collection.filter((function(item) {
return !(item === headerItem || item === weakItem)
})))
}
return collection
}(collection);
return collection
}(this._targets);
var i;
var ii = targets.length;
var cache = [];
for (i = 0; i < ii; ++i) {
if (processForward(targets[i], rect, minSize)) {
cache.push(targets[i])
} else {
targets[i].element.freeSpace()
}
}
this._cache = cache.reverse();
return rect
},
backward: function(targetRect, alignmentRect) {
var size = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [0, 0];
var backwardRect = targetRect.slice();
var fitRect = targetRect.slice();
var targets = this._cache;
var targetSide = 0;
var target;
var i;
var ii = targets.length;
for (i = 0; i < ii; ++i) {
target = targets[i];
if (target.side !== targetSide) {
backwardRect = targetRect.slice()
}
processBackward(target, backwardRect, alignmentRect, fitRect, size, targetRect);
targetSide = target.side
}
return size
}
};
function processBackwardHeaderRect(element, rect) {
var rectCopy = rect.slice();
var itemRect = processRectBackward(element, rectCopy, rectCopy);
itemRect[element.side] = rect[element.side];
itemRect[2 + element.side] = rect[2 + element.side];
return itemRect
}
function makeHeader(header, weakElement) {
var side = header.side;
var primary = header.primary;
var secondary = header.secondary;
return {
side: side,
primary: primary,
secondary: secondary,
priority: 0,
element: {
measure: function(targetSize) {
var result = targetSize.slice();
var weakSize = weakElement.element.measure(targetSize.slice());
targetSize[primary] -= weakSize[primary];
var headerSize = header.element.measure(targetSize.slice());
result[side] = weakSize[side] = headerSize[side] = Math.max(headerSize[side], weakSize[side]);
weakElement.size = weakSize;
header.size = headerSize;
return result
},
move: function(rect, fitRect) {
if (fitRect[2] - fitRect[0] < header.size[0] + weakElement.size[0] - 2) {
this.freeSpace();
return
}
var weakRect = processBackwardHeaderRect(weakElement, fitRect);
fitRect[2 + weakElement.primary] = weakRect[weakElement.primary];
var headerFitReact = processBackwardHeaderRect(header, fitRect);
if (fitRect[2 + weakElement.primary] < rect[2 + weakElement.primary] && header.size[header.primary] > rect[2 + header.primary] - rect[header.primary]) {
rect[2 + weakElement.primary] = fitRect[2 + weakElement.primary]
}
var headerRect = processBackwardHeaderRect(header, rect);
if (headerRect[2 + weakElement.primary] > fitRect[2 + weakElement.primary]) {
rect[2 + weakElement.primary] = fitRect[2 + weakElement.primary];
headerRect = processBackwardHeaderRect(header, rect)
}
weakElement.element.move(weakRect);
header.element.move(headerRect, headerFitReact)
},
freeSpace: function() {
header.element.freeSpace();
weakElement.element.freeSpace()
}
}
}
}
var _default = Layout;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!***************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/core/base_widget.utils.js ***!
\***************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.createEventTrigger = function(eventsMap, callbackGetter) {
var triggers = {};
(0, _iterator.each)(eventsMap, (function(name, info) {
if (info.name) {
createEvent(name)
}
}));
var changes;
triggerEvent.change = function(name) {
var eventInfo = eventsMap[name];
if (eventInfo) {
(changes = changes || {})[name] = eventInfo
}
return !!eventInfo
};
triggerEvent.applyChanges = function() {
if (changes) {
(0, _iterator.each)(changes, (function(name, eventInfo) {
createEvent(eventInfo.newName || name)
}));
changes = null
}
};
triggerEvent.dispose = function() {
eventsMap = callbackGetter = triggers = null
};
return triggerEvent;
function createEvent(name) {
var eventInfo = eventsMap[name];
triggers[eventInfo.name] = callbackGetter(name)
}
function triggerEvent(name, arg, complete) {
triggers[name](arg);
complete && complete()
}
};
exports.createResizeHandler = function(callback) {
var timeout;
var handler = function() {
clearTimeout(timeout);
timeout = setTimeout(callback, 100)
};
handler.dispose = function() {
clearTimeout(timeout);
return this
};
return handler
};
exports.createIncidentOccurred = void 0;
var _version = __webpack_require__( /*! ../../core/version */ 180);
var _string = __webpack_require__( /*! ../../core/utils/string */ 42);
var _errors_warnings = (obj = __webpack_require__( /*! ./errors_warnings */ 495), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var ERROR_MESSAGES = _errors_warnings.default.ERROR_MESSAGES;
exports.createIncidentOccurred = function(widgetName, eventTrigger) {
return function(id, args) {
eventTrigger("incidentOccurred", {
target: {
id: id,
type: "E" === id[0] ? "error" : "warning",
args: args,
text: _string.format.apply(null, [ERROR_MESSAGES[id]].concat(args || [])),
widget: widgetName,
version: _version.version
}
})
}
}
},
/*!*****************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/series/points/base_point.js ***!
\*****************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.Point = Point;
var _consts = _interopRequireDefault(__webpack_require__( /*! ../../components/consts */ 149));
var _symbol_point = _interopRequireDefault(__webpack_require__( /*! ./symbol_point */ 150));
var _bar_point = _interopRequireDefault(__webpack_require__( /*! ./bar_point */ 229));
var _bubble_point = _interopRequireDefault(__webpack_require__( /*! ./bubble_point */ 1008));
var _pie_point = _interopRequireDefault(__webpack_require__( /*! ./pie_point */ 496));
var _range_symbol_point = _interopRequireDefault(__webpack_require__( /*! ./range_symbol_point */ 497));
var _range_bar_point = _interopRequireDefault(__webpack_require__( /*! ./range_bar_point */ 1009));
var _candlestick_point = _interopRequireDefault(__webpack_require__( /*! ./candlestick_point */ 498));
var _stock_point = _interopRequireDefault(__webpack_require__( /*! ./stock_point */ 1010));
var _polar_point = __webpack_require__( /*! ./polar_point */ 1011);
var _utils = __webpack_require__( /*! ../../core/utils */ 14);
var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 0);
var _type = __webpack_require__( /*! ../../../core/utils/type */ 1);
var _common = __webpack_require__( /*! ../../../core/utils/common */ 4);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var mixins = {};
var _extend = _extend2.extend;
var statesConsts = _consts.default.states;
var SELECTED_STATE = statesConsts.selectedMark;
var HOVER_STATE = statesConsts.hoverMark;
var NORMAL_STATE = statesConsts.normalMark;
var HOVER = statesConsts.hover;
var NORMAL = statesConsts.normal;
var SELECTION = statesConsts.selection;
var pointTypes = {
chart: {
scatter: "symbolPoint",
line: "symbolPoint",
spline: "symbolPoint",
stepline: "symbolPoint",
stackedline: "symbolPoint",
fullstackedline: "symbolPoint",
stackedspline: "symbolPoint",
fullstackedspline: "symbolPoint",
stackedsplinearea: "symbolPoint",
fullstackedsplinearea: "symbolPoint",
area: "symbolPoint",
splinearea: "symbolPoint",
steparea: "symbolPoint",
stackedarea: "symbolPoint",
fullstackedarea: "symbolPoint",
rangearea: "rangeSymbolPoint",
bar: "barPoint",
stackedbar: "barPoint",
fullstackedbar: "barPoint",
rangebar: "rangeBarPoint",
bubble: "bubblePoint",
stock: "stockPoint",
candlestick: "candlestickPoint"
},
pie: {
pie: "piePoint",
doughnut: "piePoint",
donut: "piePoint"
},
polar: {
scatter: "polarSymbolPoint",
line: "polarSymbolPoint",
area: "polarSymbolPoint",
bar: "polarBarPoint",
stackedbar: "polarBarPoint"
}
};
function isNoneMode(mode) {
return "none" === (0, _utils.normalizeEnum)(mode)
}
function Point(series, dataItem, options) {
this.fullState = NORMAL_STATE;
this.series = series;
this.update(dataItem, options);
this._viewCounters = {
hover: 0,
selection: 0
};
this._emptySettings = {
fill: null,
stroke: null,
dashStyle: null
}
}
mixins.symbolPoint = _symbol_point.default;
mixins.barPoint = _bar_point.default;
mixins.bubblePoint = _bubble_point.default;
mixins.piePoint = _pie_point.default;
mixins.rangeSymbolPoint = _range_symbol_point.default;
mixins.rangeBarPoint = _range_bar_point.default;
mixins.candlestickPoint = _candlestick_point.default;
mixins.stockPoint = _stock_point.default;
mixins.polarSymbolPoint = _polar_point.polarSymbolPoint;
mixins.polarBarPoint = _polar_point.polarBarPoint;
Point.prototype = {
constructor: Point,
getColor: function() {
if (!this.hasValue() && !this._styles.usePointCustomOptions) {
this.series.customizePoint(this, this._dataItem)
}
return this._styles.normal.fill || this.series.getColor()
},
_getStyle: function() {
return this._styles[this._currentStyle || "normal"]
},
update: function(dataItem, options) {
this.updateOptions(options);
this.updateData(dataItem)
},
updateData: function(dataItem) {
var argumentWasChanged = this.argument !== dataItem.argument;
this.argument = this.initialArgument = this.originalArgument = dataItem.argument;
this.tag = dataItem.tag;
this.index = dataItem.index;
this._dataItem = dataItem;
this.data = dataItem.data;
this.lowError = dataItem.lowError;
this.highError = dataItem.highError;
this.aggregationInfo = dataItem.aggregationInfo;
this._updateData(dataItem, argumentWasChanged);
!this.hasValue() && this.setInvisibility();
this._fillStyle();
this._updateLabelData()
},
deleteMarker: function() {
if (this.graphic) {
this.graphic.dispose()
}
this.graphic = null
},
draw: function(renderer, groups, animationEnabled, firstDrawing) {
if (this._needDeletingOnDraw || this.series.autoHidePointMarkers && !this.isSelected()) {
this.deleteMarker();
this._needDeletingOnDraw = false
}
if (this._needClearingOnDraw) {
this.clearMarker();
this._needClearingOnDraw = false
}
if (!this._hasGraphic()) {
this.getMarkerVisibility() && !this.series.autoHidePointMarkers && this._drawMarker(renderer, groups.markers, animationEnabled, firstDrawing)
} else {
this._updateMarker(animationEnabled, this._getStyle(), groups.markers)
}
this._drawLabel();
this._drawErrorBar(renderer, groups.errorBars, animationEnabled);
return this
},
_getViewStyle: function() {
var state = NORMAL_STATE;
var fullState = this.fullState;
var styles = [NORMAL, HOVER, SELECTION, SELECTION];
if (this._viewCounters.hover) {
state |= HOVER_STATE
}
if (this._viewCounters.selection) {
state |= SELECTED_STATE
}
if (isNoneMode(this.getOptions().selectionMode)) {
fullState &= ~SELECTED_STATE
}
if (isNoneMode(this.getOptions().hoverMode)) {
fullState &= ~HOVER_STATE
}
state |= fullState;
return styles[state]
},
applyView: function(legendCallback) {
var style = this._getViewStyle();
this._currentStyle = style;
if (!this.graphic && this.series.autoHidePointMarkers && (style === SELECTION || style === HOVER)) {
this._drawMarker(this.series.getRenderer(), this.series.getMarkersGroup())
}
if (this.graphic) {
if (this.series.autoHidePointMarkers && style !== SELECTION && style !== HOVER) {
this.deleteMarker()
} else {
if ("normal" === style) {
this.clearMarker()
} else {
this.graphic.toForeground()
}
this._updateMarker(true, this._styles[style], void 0, legendCallback)
}
}
},
setView: function(style) {
this._viewCounters[style]++;
this.applyView()
},
resetView: function(style) {
var viewCounters = this._viewCounters;
--viewCounters[style];
if (viewCounters[style] < 0) {
viewCounters[style] = 0
}
this.applyView()
},
releaseHoverState: function() {
if (this.graphic && !this.isSelected()) {
this.graphic.toBackground()
}
},
select: function() {
this.series.selectPoint(this)
},
clearSelection: function() {
this.series.deselectPoint(this)
},
hover: function() {
this.series.hoverPoint(this)
},
clearHover: function() {
this.series.clearPointHover()
},
showTooltip: function() {
this.series.showPointTooltip(this)
},
hideTooltip: function() {
this.series.hidePointTooltip(this)
},
_checkLabelsChanging: function(oldType, newType) {
var isNewRange = ~newType.indexOf("range");
var isOldRange = ~oldType.indexOf("range");
return isOldRange && !isNewRange || !isOldRange && isNewRange
},
updateOptions: function(newOptions) {
if (!newOptions) {
return
}
var oldOptions = this._options;
var widgetType = newOptions.widgetType;
var oldType = oldOptions && oldOptions.type;
var newType = newOptions.type;
var newPointTypeMixin = pointTypes[widgetType][newType];
if (oldType !== newType) {
this._needDeletingOnDraw = true;
this._needClearingOnDraw = false;
if (oldType) {
this._checkLabelsChanging(oldType, newType) && this.deleteLabel();
this._resetType(mixins[pointTypes[oldType]])
}
this._setType(mixins[newPointTypeMixin])
} else {
this._needDeletingOnDraw = this._checkSymbol(oldOptions, newOptions);
this._needClearingOnDraw = this._checkCustomize(oldOptions, newOptions)
}
this._options = newOptions;
this._fillStyle();
this._updateLabelOptions(newPointTypeMixin)
},
translate: function() {
if (this.hasValue()) {
this._translate();
this.translated = true
}
},
_checkCustomize: function(oldOptions, newOptions) {
return oldOptions.styles.usePointCustomOptions && !newOptions.styles.usePointCustomOptions
},
_getCustomLabelVisibility: function() {
return this._styles.useLabelCustomOptions ? !!this._options.label.visible : null
},
getBoundingRect: function() {
return this._getGraphicBBox()
},
_resetType: function(methods) {
for (var methodName in methods) {
delete this[methodName]
}
},
_setType: function(methods) {
for (var methodName in methods) {
this[methodName] = methods[methodName]
}
},
isInVisibleArea: function() {
return this.inVisibleArea
},
isSelected: function() {
return !!(this.fullState & SELECTED_STATE)
},
isHovered: function() {
return !!(this.fullState & HOVER_STATE)
},
getOptions: function() {
return this._options
},
animate: function(complete, settings, partitionDuration) {
if (!this.graphic) {
complete && complete();
return
}
this.graphic.animate(settings, {
partitionDuration: partitionDuration
}, complete)
},
getCoords: function(min) {
if (!min) {
return {
x: this.x,
y: this.y
}
}
if (!this._options.rotated) {
return {
x: this.x,
y: this.minY + (this.y - this.minY ? 0 : 1)
}
}
return {
x: this.minX - (this.x - this.minX ? 0 : 1),
y: this.y
}
},
getDefaultCoords: function() {
return !this._options.rotated ? {
x: this.x,
y: this.defaultY
} : {
x: this.defaultX,
y: this.y
}
},
setDefaultCoords: function() {
var coords = this.getDefaultCoords();
this.x = coords.x;
this.y = coords.y
},
_getVisibleArea: function() {
return this.series.getVisibleArea()
},
_getArgTranslator: function() {
return this.series.getArgumentAxis().getTranslator()
},
_getValTranslator: function() {
return this.series.getValueAxis().getTranslator()
},
_calculateVisibility: function(x, y, width, height) {
var visibleArea = this._getVisibleArea();
var rotated = this._options.rotated;
if (visibleArea.minX > x + (width || 0) || visibleArea.maxX < x || visibleArea.minY > y + (height || 0) || visibleArea.maxY < y || rotated && (0, _type.isDefined)(width) && 0 !== width && (visibleArea.minX === x + width || visibleArea.maxX === x) || !rotated && (0, _type.isDefined)(height) && 0 !== height && (visibleArea.minY === y + height || visibleArea.maxY === y)) {
this.inVisibleArea = false
} else {
this.inVisibleArea = true
}
},
isArgumentCorrect: function() {
return this.series._argumentChecker(this.argument)
},
isValueCorrect: function() {
var valueChecker = this.series._valueChecker;
return valueChecker(this.getMinValue()) && valueChecker(this.getMaxValue())
},
hasValue: function() {
return null !== this.value && null !== this.minValue && this.isArgumentCorrect() && this.isValueCorrect()
},
hasCoords: _common.noop,
correctPosition: _common.noop,
correctRadius: _common.noop,
correctLabelRadius: _common.noop,
getCrosshairData: _common.noop,
getPointRadius: _common.noop,
_populatePointShape: _common.noop,
_checkSymbol: _common.noop,
getMarkerCoords: _common.noop,
hide: _common.noop,
show: _common.noop,
hideMarker: _common.noop,
setInvisibility: _common.noop,
clearVisibility: _common.noop,
isVisible: _common.noop,
resetCorrection: _common.noop,
correctValue: _common.noop,
resetValue: _common.noop,
setPercentValue: _common.noop,
correctCoordinates: _common.noop,
coordsIn: _common.noop,
getTooltipParams: _common.noop,
applyWordWrap: _common.noop,
setLabelTrackerData: _common.noop,
updateLabelCoord: _common.noop,
drawLabel: _common.noop,
correctLabelPosition: _common.noop,
getMinValue: _common.noop,
getMaxValue: _common.noop,
_drawErrorBar: _common.noop,
getMarkerVisibility: _common.noop,
dispose: function() {
this.deleteMarker();
this.deleteLabel();
this._errorBar && this._errorBar.dispose();
this._options = this._styles = this.series = this._errorBar = null
},
getTooltipFormatObject: function(tooltip, stackPoints) {
var tooltipFormatObject = this._getFormatObject(tooltip);
var sharedTooltipValuesArray = [];
var tooltipStackPointsFormatObject = [];
if (stackPoints) {
stackPoints.forEach((function(point) {
if (!point.isVisible()) {
return
}
var formatObject = point._getFormatObject(tooltip);
tooltipStackPointsFormatObject.push(formatObject);
sharedTooltipValuesArray.push(formatObject.seriesName + ": " + formatObject.valueText)
}));
_extend(tooltipFormatObject, {
points: tooltipStackPointsFormatObject,
valueText: sharedTooltipValuesArray.join("\n"),
stackName: this.series.getStackName() || null
})
}
var aggregationInfo = this.aggregationInfo;
if (aggregationInfo) {
var axis = this.series.getArgumentAxis();
var rangeText = axis.formatRange(aggregationInfo.intervalStart, aggregationInfo.intervalEnd, aggregationInfo.aggregationInterval);
if (rangeText) {
tooltipFormatObject.valueText += "\n".concat(rangeText)
}
}
return tooltipFormatObject
},
setHole: function(holeValue, position) {
var minValue = isFinite(this.minValue) ? this.minValue : 0;
if ((0, _type.isDefined)(holeValue)) {
if ("left" === position) {
this.leftHole = this.value - holeValue;
this.minLeftHole = minValue - holeValue
} else {
this.rightHole = this.value - holeValue;
this.minRightHole = minValue - holeValue
}
}
},
resetHoles: function() {
this.leftHole = null;
this.minLeftHole = null;
this.rightHole = null;
this.minRightHole = null
},
getLabel: function() {
return this._label
},
getLabels: function() {
return [this._label]
},
getCenterCoord: function() {
return {
x: this.x,
y: this.y
}
}
}
},
/*!*******************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/series/points/bubble_point.js ***!
\*******************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 0);
var _symbol_point = (obj = __webpack_require__( /*! ./symbol_point */ 150), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _extend = _extend2.extend;
var _default = _extend({}, _symbol_point.default, {
correctCoordinates: function(diameter) {
this.bubbleSize = diameter / 2
},
_drawMarker: function(renderer, group, animationEnabled) {
var attr = _extend({
translateX: this.x,
translateY: this.y
}, this._getStyle());
this.graphic = renderer.circle(0, 0, animationEnabled ? 0 : this.bubbleSize).smartAttr(attr).data({
"chart-data-point": this
}).append(group)
},
getTooltipParams: function(location) {
var graphic = this.graphic;
if (!graphic) {
return
}
var height = graphic.getBBox().height;
return {
x: this.x,
y: this.y,
offset: height < 20 || "edge" === location ? height / 2 : 0
}
},
_getLabelFormatObject: function() {
var formatObject = _symbol_point.default._getLabelFormatObject.call(this);
formatObject.size = this.initialSize;
return formatObject
},
_updateData: function(data) {
_symbol_point.default._updateData.call(this, data);
this.size = this.initialSize = data.size
},
_getGraphicBBox: function() {
return this._getSymbolBBox(this.x, this.y, this.bubbleSize)
},
_updateMarker: function(animationEnabled, style) {
if (!animationEnabled) {
style = _extend({
r: this.bubbleSize,
translateX: this.x,
translateY: this.y
}, style)
}
this.graphic.smartAttr(style)
},
_getFormatObject: function(tooltip) {
var formatObject = _symbol_point.default._getFormatObject.call(this, tooltip);
formatObject.sizeText = tooltip.formatValue(this.initialSize);
return formatObject
},
_storeTrackerR: function() {
return this.bubbleSize
},
_getLabelCoords: function(label) {
var coords;
if ("inside" === label.getLayoutOptions().position) {
coords = this._getLabelCoordOfPosition(label, "inside")
} else {
coords = _symbol_point.default._getLabelCoords.call(this, label)
}
return coords
}
});
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!**********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/series/points/range_bar_point.js ***!
\**********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _common = __webpack_require__( /*! ../../../core/utils/common */ 4);
var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 0);
var _bar_point = _interopRequireDefault(__webpack_require__( /*! ./bar_point */ 229));
var _range_symbol_point = _interopRequireDefault(__webpack_require__( /*! ./range_symbol_point */ 497));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var _extend = _extend2.extend;
var _default = _extend({}, _bar_point.default, {
deleteLabel: _range_symbol_point.default.deleteLabel,
_getFormatObject: _range_symbol_point.default._getFormatObject,
clearVisibility: function() {
var graphic = this.graphic;
if (graphic && graphic.attr("visibility")) {
graphic.attr({
visibility: null
})
}
},
setInvisibility: function() {
var graphic = this.graphic;
if (graphic && "hidden" !== graphic.attr("visibility")) {
graphic.attr({
visibility: "hidden"
})
}
this._topLabel.draw(false);
this._bottomLabel.draw(false)
},
getTooltipParams: function(location) {
var edgeLocation = "edge" === location;
var x;
var y;
if (this._options.rotated) {
x = edgeLocation ? this.x + this.width : this.x + this.width / 2;
y = this.y + this.height / 2
} else {
x = this.x + this.width / 2;
y = edgeLocation ? this.y : this.y + this.height / 2
}
return {
x: x,
y: y,
offset: 0
}
},
_translate: function() {
var barMethods = _bar_point.default;
barMethods._translate.call(this);
if (this._options.rotated) {
this.width = this.width || 1
} else {
this.height = this.height || 1
}
},
hasCoords: _range_symbol_point.default.hasCoords,
_updateData: _range_symbol_point.default._updateData,
_getLabelPosition: _range_symbol_point.default._getLabelPosition,
_getLabelMinFormatObject: _range_symbol_point.default._getLabelMinFormatObject,
_updateLabelData: _range_symbol_point.default._updateLabelData,
_updateLabelOptions: _range_symbol_point.default._updateLabelOptions,
getCrosshairData: _range_symbol_point.default.getCrosshairData,
_createLabel: _range_symbol_point.default._createLabel,
_checkOverlay: _range_symbol_point.default._checkOverlay,
_checkLabelsOverlay: _range_symbol_point.default._checkLabelsOverlay,
_getOverlayCorrections: _range_symbol_point.default._getOverlayCorrections,
_drawLabel: _range_symbol_point.default._drawLabel,
_getLabelCoords: _range_symbol_point.default._getLabelCoords,
getLabel: _range_symbol_point.default.getLabel,
getLabels: _range_symbol_point.default.getLabels,
getBoundingRect: _common.noop,
getMinValue: _range_symbol_point.default.getMinValue,
getMaxValue: _range_symbol_point.default.getMaxValue
});
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!******************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/series/points/stock_point.js ***!
\******************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 0);
var _type = __webpack_require__( /*! ../../../core/utils/type */ 1);
var _candlestick_point = (obj = __webpack_require__( /*! ./candlestick_point */ 498), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _extend = _extend2.extend;
var _isNumeric = _type.isNumeric;
var _default = _extend({}, _candlestick_point.default, {
_getPoints: function() {
var createPoint = this._options.rotated ? function(x, y) {
return [y, x]
} : function(x, y) {
return [x, y]
};
var openYExist = _isNumeric(this.openY);
var closeYExist = _isNumeric(this.closeY);
var x = this.x;
var width = this.width;
var points = [].concat(createPoint(x, this.highY));
openYExist && (points = points.concat(createPoint(x, this.openY)));
openYExist && (points = points.concat(createPoint(x - width / 2, this.openY)));
openYExist && (points = points.concat(createPoint(x, this.openY)));
closeYExist && (points = points.concat(createPoint(x, this.closeY)));
closeYExist && (points = points.concat(createPoint(x + width / 2, this.closeY)));
closeYExist && (points = points.concat(createPoint(x, this.closeY)));
points = points.concat(createPoint(x, this.lowY));
return points
},
_drawMarkerInGroup: function(group, attributes, renderer) {
this.graphic = renderer.path(this._getPoints(), "line").attr({
"stroke-linecap": "square"
}).attr(attributes).data({
"chart-data-point": this
}).sharp().append(group)
},
_getMinTrackerWidth: function() {
var width = 2 + this._styles.normal["stroke-width"];
return width + width % 2
}
});
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!******************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/series/points/polar_point.js ***!
\******************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.polarBarPoint = exports.polarSymbolPoint = void 0;
var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 0);
var _symbol_point = _interopRequireDefault(__webpack_require__( /*! ./symbol_point */ 150));
var _bar_point = _interopRequireDefault(__webpack_require__( /*! ./bar_point */ 229));
var _pie_point = _interopRequireDefault(__webpack_require__( /*! ./pie_point */ 496));
var _type = __webpack_require__( /*! ../../../core/utils/type */ 1);
var _utils = __webpack_require__( /*! ../../core/utils */ 14);
var _consts = _interopRequireDefault(__webpack_require__( /*! ../../components/consts */ 149));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var _extend = _extend2.extend;
var _math = Math;
var _max = _math.max;
var RADIAL_LABEL_INDENT = _consts.default.radialLabelIndent;
var polarSymbolPoint = _extend({}, _symbol_point.default, {
_getLabelCoords: _pie_point.default._getLabelCoords,
_getElementCoords: _pie_point.default._getElementCoords,
_moveLabelOnCanvas: function(coord, visibleArea, labelBBox) {
var x = coord.x;
var y = coord.y;
if (visibleArea.minX > x) {
x = visibleArea.minX
}
if (visibleArea.maxX < x + labelBBox.width) {
x = visibleArea.maxX - labelBBox.width
}
if (visibleArea.minY > y) {
y = visibleArea.minY
}
if (visibleArea.maxY < y + labelBBox.height) {
y = visibleArea.maxY - labelBBox.height
}
return {
x: x,
y: y
}
},
_getLabelPosition: function() {
return "outside"
},
_getCoords: function(argument, value) {
var axis = this.series.getValueAxis();
var startAngle = axis.getAngles()[0];
var angle = this._getArgTranslator().translate(argument);
var radius = this._getValTranslator().translate(value);
var coords = (0, _utils.convertPolarToXY)(axis.getCenter(), axis.getAngles()[0], angle, radius);
coords.angle = angle + startAngle - 90, coords.radius = radius;
return coords
},
_translate: function() {
var center = this.series.getValueAxis().getCenter();
var coord = this._getCoords(this.argument, this.value);
var translator = this._getValTranslator();
var maxRadius = translator.isInverted() ? translator.translate("canvas_position_start") : translator.translate("canvas_position_end");
var normalizedRadius = (0, _type.isDefined)(coord.radius) && coord.radius >= 0 ? coord.radius : null;
this.vx = (0, _utils.normalizeAngle)(coord.angle);
this.vy = this.radiusOuter = this.radiusLabels = normalizedRadius;
this.radiusLabels += RADIAL_LABEL_INDENT;
this.radius = normalizedRadius;
this.middleAngle = -coord.angle;
this.angle = -coord.angle;
this.x = coord.x;
this.y = coord.y;
this.defaultX = this.centerX = center.x;
this.defaultY = this.centerY = center.y;
this._translateErrorBars();
this.inVisibleArea = this._checkRadiusForVisibleArea(normalizedRadius, maxRadius)
},
_checkRadiusForVisibleArea: function(radius, maxRadius) {
return (0, _type.isDefined)(radius) && radius <= maxRadius
},
_translateErrorBars: function() {
var errorBars = this._options.errorBars;
var translator = this._getValTranslator();
if (!errorBars) {
return
}(0, _type.isDefined)(this.lowError) && (this._lowErrorCoord = this.centerY - translator.translate(this.lowError));
(0, _type.isDefined)(this.highError) && (this._highErrorCoord = this.centerY - translator.translate(this.highError));
this._errorBarPos = this.centerX;
this._baseErrorBarPos = "stdDeviation" === errorBars.type ? this._lowErrorCoord + (this._highErrorCoord - this._lowErrorCoord) / 2 : this.centerY - this.radius
},
_getTranslates: function(animationEnabled) {
return animationEnabled ? this.getDefaultCoords() : {
x: this.x,
y: this.y
}
},
getDefaultCoords: function() {
var cosSin = (0, _utils.getCosAndSin)(-this.angle);
var radius = this._getValTranslator().translate("canvas_position_default");
var x = this.defaultX + radius * cosSin.cos;
var y = this.defaultY + radius * cosSin.sin;
return {
x: x,
y: y
}
},
_addLabelAlignmentAndOffset: function(label, coord) {
return coord
},
_checkLabelPosition: function(label, coord) {
var visibleArea = this._getVisibleArea();
var graphicBBox = this._getGraphicBBox();
if (this._isPointInVisibleArea(visibleArea, graphicBBox)) {
coord = this._moveLabelOnCanvas(coord, visibleArea, label.getBoundingRect())
}
return coord
},
_getErrorBarSettings: function(errorBarOptions, animationEnabled) {
var settings = _symbol_point.default._getErrorBarSettings.call(this, errorBarOptions, animationEnabled);
settings.rotate = 90 - this.angle;
settings.rotateX = this.centerX;
settings.rotateY = this.centerY;
return settings
},
getCoords: function(min) {
return min ? this.getDefaultCoords() : {
x: this.x,
y: this.y
}
}
});
exports.polarSymbolPoint = polarSymbolPoint;
var polarBarPoint = _extend({}, _bar_point.default, {
_translateErrorBars: polarSymbolPoint._translateErrorBars,
_getErrorBarSettings: polarSymbolPoint._getErrorBarSettings,
_moveLabelOnCanvas: polarSymbolPoint._moveLabelOnCanvas,
_getLabelCoords: _pie_point.default._getLabelCoords,
_getElementCoords: _pie_point.default._getElementCoords,
_getLabelConnector: _pie_point.default._getLabelConnector,
getTooltipParams: _pie_point.default.getTooltipParams,
_getLabelPosition: _pie_point.default._getLabelPosition,
_getCoords: polarSymbolPoint._getCoords,
_translate: function() {
var translator = this._getValTranslator();
var businessRange = translator.getBusinessRange();
var maxRadius = translator.isInverted() ? translator.translate("canvas_position_start") : translator.translate("canvas_position_end");
this.radiusInner = translator.translate(this.minValue);
polarSymbolPoint._translate.call(this);
if (null === this.radiusInner) {
this.radiusInner = this.radius = maxRadius
} else if (null === this.radius) {
this.radius = this.value >= businessRange.minVisible ? maxRadius : 0
} else if (this.radius > maxRadius) {
this.radius = maxRadius
}
this.radiusOuter = this.radiusLabels = _max(this.radiusInner, this.radius);
this.radiusLabels += RADIAL_LABEL_INDENT;
this.radiusInner = this.defaultRadius = _math.min(this.radiusInner, this.radius);
this.middleAngle = this.angle = -(0, _utils.normalizeAngle)(this.middleAngleCorrection - this.angle)
},
_checkRadiusForVisibleArea: function(radius) {
return (0, _type.isDefined)(radius) || this._getValTranslator().translate(this.minValue) > 0
},
_getErrorBarBaseEdgeLength: function() {
var coord = this.getMarkerCoords();
return _math.PI * coord.outerRadius * _math.abs(coord.startAngle - coord.endAngle) / 180
},
getMarkerCoords: function() {
return {
x: this.centerX,
y: this.centerY,
outerRadius: this.radiusOuter,
innerRadius: this.defaultRadius,
startAngle: this.middleAngle - this.interval / 2,
endAngle: this.middleAngle + this.interval / 2
}
},
_drawMarker: function(renderer, group, animationEnabled) {
var styles = this._getStyle();
var coords = this.getMarkerCoords();
var innerRadius = coords.innerRadius;
var outerRadius = coords.outerRadius;
var start = this._getCoords(this.argument, "canvas_position_default");
var x = coords.x;
var y = coords.y;
if (animationEnabled) {
innerRadius = 0;
outerRadius = 0;
x = start.x;
y = start.y
}
this.graphic = renderer.arc(x, y, innerRadius, outerRadius, coords.startAngle, coords.endAngle).attr(styles).data({
"chart-data-point": this
}).append(group)
},
_checkLabelPosition: function(label, coord) {
var visibleArea = this._getVisibleArea();
var angleFunctions = (0, _utils.getCosAndSin)(this.middleAngle);
var x = this.centerX + this.defaultRadius * angleFunctions.cos;
var y = this.centerY - this.defaultRadius * angleFunctions.sin;
if (x > visibleArea.minX && x < visibleArea.maxX && y > visibleArea.minY && y < visibleArea.maxY) {
coord = this._moveLabelOnCanvas(coord, visibleArea, label.getBoundingRect())
}
return coord
},
_addLabelAlignmentAndOffset: function(label, coord) {
return coord
},
correctCoordinates: function(correctOptions) {
this.middleAngleCorrection = correctOptions.offset;
this.interval = correctOptions.width
},
coordsIn: function(x, y) {
var val = (0, _utils.convertXYToPolar)(this.series.getValueAxis().getCenter(), x, y);
var coords = this.getMarkerCoords();
var isBetweenAngles = coords.startAngle < coords.endAngle ? -val.phi >= coords.startAngle && -val.phi <= coords.endAngle : -val.phi <= coords.startAngle && -val.phi >= coords.endAngle;
return val.r >= coords.innerRadius && val.r <= coords.outerRadius && isBetweenAngles
}
});
exports.polarBarPoint = polarBarPoint
},
/*!************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/series/range_series.js ***!
\************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.chart = void 0;
var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _common = __webpack_require__( /*! ../../core/utils/common */ 4);
var _scatter_series = __webpack_require__( /*! ./scatter_series */ 130);
var _bar_series = __webpack_require__( /*! ./bar_series */ 169);
var _area_series = __webpack_require__( /*! ./area_series */ 192);
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
})
} else {
obj[key] = value
}
return obj
}
var _extend = _extend2.extend;
var barSeries = _bar_series.chart.bar;
var areaSeries = _area_series.chart.area;
var chart = {};
exports.chart = chart;
var baseRangeSeries = {
areErrorBarsVisible: _common.noop,
_createErrorBarGroup: _common.noop,
_checkData: function(data, skippedFields) {
var valueFields = this.getValueFields();
return _scatter_series.chart._checkData.call(this, data, skippedFields, {
minValue: valueFields[0],
value: valueFields[1]
}) && data.minValue === data.minValue
},
getValueRangeInitialValue: _scatter_series.chart.getValueRangeInitialValue,
_getPointDataSelector: function(data) {
var _this = this;
var valueFields = this.getValueFields();
var val1Field = valueFields[0];
var val2Field = valueFields[1];
var tagField = this.getTagField();
var argumentField = this.getArgumentField();
return function(data) {
return {
tag: data[tagField],
minValue: _this._processEmptyValue(data[val1Field]),
value: _this._processEmptyValue(data[val2Field]),
argument: data[argumentField],
data: data
}
}
},
_defaultAggregator: "range",
_aggregators: {
range: function(_ref, series) {
var _data$reduce;
var intervalStart = _ref.intervalStart,
intervalEnd = _ref.intervalEnd,
data = _ref.data;
if (!data.length) {
return
}
var valueFields = series.getValueFields();
var val1Field = valueFields[0];
var val2Field = valueFields[1];
var result = data.reduce((function(result, item) {
var val1 = item[val1Field];
var val2 = item[val2Field];
if (!(0, _type.isDefined)(val1) || !(0, _type.isDefined)(val2)) {
return result
}
result[val1Field] = Math.min(result[val1Field], Math.min(val1, val2));
result[val2Field] = Math.max(result[val2Field], Math.max(val1, val2));
return result
}), (_data$reduce = {}, _defineProperty(_data$reduce, val1Field, 1 / 0), _defineProperty(_data$reduce, val2Field, -1 / 0), _defineProperty(_data$reduce, series.getArgumentField(), series._getIntervalCenter(intervalStart, intervalEnd)), _data$reduce));
if (!isFinite(result[val1Field]) || !isFinite(result[val2Field])) {
if (data.filter((function(i) {
return null === i[val1Field] && null === i[val2Field]
})).length === data.length) {
result[val1Field] = result[val2Field] = null
} else {
return
}
}
return result
}
},
getValueFields: function() {
return [this._options.rangeValue1Field || "val1", this._options.rangeValue2Field || "val2"]
},
getSeriesPairCoord: function(coord, isArgument) {
var oppositeCoord = null;
var rotated = this._options.rotated;
var isOpposite = !isArgument && !rotated || isArgument && rotated;
var coordName = isOpposite ? "vy" : "vx";
var minCoordName = rotated ? "minX" : "minY";
var oppositeCoordName = isOpposite ? "vx" : "vy";
var points = this.getPoints();
for (var i = 0; i < points.length; i++) {
var p = points[i];
var tmpCoord = void 0;
if (isArgument) {
tmpCoord = p.getCenterCoord()[coordName[1]] === coord ? p[oppositeCoordName] : void 0
} else {
var coords = [Math.min(p[coordName], p[minCoordName]), Math.max(p[coordName], p[minCoordName])];
tmpCoord = coord >= coords[0] && coord <= coords[1] ? p[oppositeCoordName] : void 0
}
if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {
oppositeCoord = tmpCoord;
break
}
}
return oppositeCoord
}
};
chart.rangebar = _extend({}, barSeries, baseRangeSeries);
chart.rangearea = _extend({}, areaSeries, {
_drawPoint: function(options) {
var point = options.point;
if (point.isInVisibleArea()) {
point.clearVisibility();
point.draw(this._renderer, options.groups);
this._drawnPoints.push(point);
if (!point.visibleTopMarker) {
point.hideMarker("top")
}
if (!point.visibleBottomMarker) {
point.hideMarker("bottom")
}
} else {
point.setInvisibility()
}
},
_prepareSegment: function(points, rotated) {
var processedPoints = this._processSinglePointsAreaSegment(points, rotated);
var processedMinPointsCoords = (0, _utils.map)(processedPoints, (function(pt) {
return pt.getCoords(true)
}));
return {
line: processedPoints,
bottomLine: processedMinPointsCoords,
area: (0, _utils.map)(processedPoints, (function(pt) {
return pt.getCoords()
})).concat(processedMinPointsCoords.slice().reverse()),
singlePointSegment: processedPoints !== points
}
},
_getDefaultSegment: function(segment) {
var defaultSegment = areaSeries._getDefaultSegment.call(this, segment);
defaultSegment.bottomLine = defaultSegment.line;
return defaultSegment
},
_removeElement: function(element) {
areaSeries._removeElement.call(this, element);
element.bottomLine && element.bottomLine.remove()
},
_drawElement: function(segment, group) {
var drawnElement = areaSeries._drawElement.call(this, segment, group);
drawnElement.bottomLine = this._bordersGroup && this._createBorderElement(segment.bottomLine, {
"stroke-width": this._styles.normal.border["stroke-width"]
}).append(this._bordersGroup);
return drawnElement
},
_applyStyle: function(style) {
var elementsGroup = this._elementsGroup;
var bordersGroup = this._bordersGroup;
elementsGroup && elementsGroup.smartAttr(style.elements);
bordersGroup && bordersGroup.attr(style.border);
(this._graphics || []).forEach((function(graphic) {
graphic.line && graphic.line.attr({
"stroke-width": style.border["stroke-width"]
});
graphic.bottomLine && graphic.bottomLine.attr({
"stroke-width": style.border["stroke-width"]
})
}))
},
_updateElement: function(element, segment, animate, complete) {
var bottomLineParams = {
points: segment.bottomLine
};
var bottomBorderElement = element.bottomLine;
areaSeries._updateElement.apply(this, arguments);
if (bottomBorderElement) {
animate ? bottomBorderElement.animate(bottomLineParams) : bottomBorderElement.attr(bottomLineParams)
}
}
}, baseRangeSeries)
},
/*!*************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/series/bubble_series.js ***!
\*************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.chart = void 0;
var _line_series = __webpack_require__( /*! ./line_series */ 231);
var _scatter_series = __webpack_require__( /*! ./scatter_series */ 130);
var _area_series = __webpack_require__( /*! ./area_series */ 192);
var _bar_series = __webpack_require__( /*! ./bar_series */ 169);
var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _common = __webpack_require__( /*! ../../core/utils/common */ 4);
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
})
} else {
obj[key] = value
}
return obj
}
var lineSeries = _line_series.chart.line;
var areaSeries = _area_series.chart.area;
var chartBarSeries = _bar_series.chart.bar;
var polarBarSeries = _bar_series.polar.bar;
var _extend = _extend2.extend;
var _each = _iterator.each;
var _noop = _common.noop;
var chart = {};
exports.chart = chart;
chart.bubble = _extend({}, _scatter_series.chart, {
_calculateErrorBars: _noop,
_getMainColor: chartBarSeries._getMainColor,
_createPointStyles: chartBarSeries._createPointStyles,
_updatePointsVisibility: chartBarSeries._updatePointsVisibility,
_getOptionsForPoint: chartBarSeries._getOptionsForPoint,
_applyMarkerClipRect: lineSeries._applyElementsClipRect,
_parsePointStyle: polarBarSeries._parsePointStyle,
_createLegendState: areaSeries._createLegendState,
_setMarkerGroupSettings: polarBarSeries._setMarkerGroupSettings,
areErrorBarsVisible: _noop,
_createErrorBarGroup: _noop,
_checkData: function(data, skippedFields) {
return _scatter_series.chart._checkData.call(this, data, skippedFields, {
value: this.getValueFields()[0],
size: this.getSizeField()
})
},
_getPointDataSelector: function(data, options) {
var sizeField = this.getSizeField();
var baseGetter = _scatter_series.chart._getPointDataSelector.call(this);
return function(data) {
var pointData = baseGetter(data);
pointData.size = data[sizeField];
return pointData
}
},
_aggregators: {
avg: function(_ref, series) {
var _ref2;
var data = _ref.data,
intervalStart = _ref.intervalStart,
intervalEnd = _ref.intervalEnd;
if (!data.length) {
return
}
var valueField = series.getValueFields()[0];
var sizeField = series.getSizeField();
var aggregate = data.reduce((function(result, item) {
result[0] += item[valueField];
result[1] += item[sizeField];
result[2]++;
return result
}), [0, 0, 0]);
return _ref2 = {}, _defineProperty(_ref2, valueField, aggregate[0] / aggregate[2]), _defineProperty(_ref2, sizeField, aggregate[1] / aggregate[2]), _defineProperty(_ref2, series.getArgumentField(), series._getIntervalCenter(intervalStart, intervalEnd)), _ref2
}
},
getValueFields: function() {
return [this._options.valueField || "val"]
},
getSizeField: function() {
return this._options.sizeField || "size"
},
_animate: function() {
var that = this;
var lastPointIndex = that._drawnPoints.length - 1;
var labelsGroup = that._labelsGroup;
var labelAnimFunc = function() {
labelsGroup && labelsGroup.animate({
opacity: 1
}, {
duration: that._defaultDuration
})
};
_each(that._drawnPoints || [], (function(i, p) {
p.animate(i === lastPointIndex ? labelAnimFunc : void 0, {
r: p.bubbleSize,
translateX: p.x,
translateY: p.y
})
}))
},
_patchMarginOptions: function(options) {
options.processBubbleSize = true;
return options
}
})
},
/*!**********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/series/pie_series.js ***!
\**********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.donut = exports.doughnut = exports.pie = void 0;
var _common = __webpack_require__( /*! ../../core/utils/common */ 4);
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _scatter_series = __webpack_require__( /*! ./scatter_series */ 130);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _bar_series = __webpack_require__( /*! ./bar_series */ 169);
var chartScatterSeries = _scatter_series.chart;
var barSeries = _bar_series.chart.bar;
var _extend = _extend2.extend;
var _each = _iterator.each;
var _noop = _common.noop;
var _map = _utils.map;
var _isFinite = isFinite;
var _max = Math.max;
var pie = _extend({}, barSeries, {
_setGroupsSettings: function() {
chartScatterSeries._setGroupsSettings.apply(this, arguments);
this._labelsGroup.attr({
"pointer-events": null
})
},
_createErrorBarGroup: _noop,
_drawPoint: function(options) {
var point = options.point;
var legendCallback = this._legendCallback;
chartScatterSeries._drawPoint.call(this, options);
!point.isVisible() && point.setInvisibility();
point.isSelected() && legendCallback()
},
_getOldPoint: function(data, oldPointsByArgument, index) {
var point = (this._points || [])[index];
if (point) {
oldPointsByArgument[point.argument.valueOf()] = oldPointsByArgument[point.argument.valueOf()].filter((function(p) {
return p !== point
}))
}
return point
},
adjustLabels: function(moveLabelsFromCenter) {
return (this._points || []).reduce((function(r, p) {
if (p._label.isVisible()) {
p.setLabelTrackerData();
r = p.applyWordWrap(moveLabelsFromCenter) || r;
p.updateLabelCoord(moveLabelsFromCenter);
return r
}
}), false)
},
_applyElementsClipRect: _noop,
getColor: _noop,
areErrorBarsVisible: _noop,
drawLabelsWOPoints: function() {
if ("inside" === this._options.label.position) {
return false
}
this._labelsGroup.append(this._extGroups.labelsGroup);
(this._points || []).forEach((function(point) {
point.drawLabel()
}));
return true
},
getPointsCount: function() {
var _this = this;
return this._data.filter((function(d) {
return _this._checkData(d)
})).length
},
setMaxPointsCount: function(count) {
this._pointsCount = count
},
_getCreatingPointOptions: function(data, dataIndex) {
return this._getPointOptions(data, dataIndex)
},
_updateOptions: function(options) {
this.labelSpace = 0;
this.innerRadius = "pie" === this.type ? 0 : options.innerRadius
},
_checkData: function(data, skippedFields) {
var base = barSeries._checkData.call(this, data, skippedFields, {
value: this.getValueFields()[0]
});
return this._options.paintNullPoints ? base : base && null !== data.value
},
_createGroups: chartScatterSeries._createGroups,
_setMarkerGroupSettings: function() {
this._markersGroup.attr({
class: "dxc-markers"
})
},
_getMainColor: function(data, point) {
var pointsByArg = this.getPointsByArg(data.argument);
var argumentIndex = point ? pointsByArg.indexOf(point) : pointsByArg.length;
return this._options.mainSeriesColor(data.argument, argumentIndex, this._pointsCount)
},
_getPointOptions: function(data) {
return this._parsePointOptions(this._preparePointOptions(), this._options.label, data)
},
_getRangeData: function() {
return this._rangeData
},
_createPointStyles: function(pointOptions, data, point) {
var mainColor = pointOptions.color || this._getMainColor(data, point);
return {
normal: this._parsePointStyle(pointOptions, mainColor, mainColor),
hover: this._parsePointStyle(pointOptions.hoverStyle, mainColor, mainColor),
selection: this._parsePointStyle(pointOptions.selectionStyle, mainColor, mainColor),
legendStyles: {
normal: this._createLegendState(pointOptions, mainColor),
hover: this._createLegendState(pointOptions.hoverStyle, mainColor),
selection: this._createLegendState(pointOptions.selectionStyle, mainColor)
}
}
},
_getArrangeMinShownValue: function(points, total) {
var minSegmentSize = this._options.minSegmentSize;
var totalMinSegmentSize = 0;
var totalNotMinValues = 0;
total = total || points.length;
_each(points, (function(_, point) {
if (point.isVisible()) {
if (point.normalInitialValue < minSegmentSize * total / 360) {
totalMinSegmentSize += minSegmentSize
} else {
totalNotMinValues += point.normalInitialValue
}
}
}));
return totalMinSegmentSize < 360 ? minSegmentSize * totalNotMinValues / (360 - totalMinSegmentSize) : 0
},
_applyArrangeCorrection: function(points, minShownValue, total) {
var options = this._options;
var isClockWise = "anticlockwise" !== options.segmentsDirection;
var shiftedAngle = _isFinite(options.startAngle) ? (0, _utils.normalizeAngle)(options.startAngle) : 0;
var minSegmentSize = options.minSegmentSize;
var percent;
var correction = 0;
var zeroTotalCorrection = 0;
if (0 === total) {
total = points.filter((function(el) {
return el.isVisible()
})).length;
zeroTotalCorrection = 1
}
_each(isClockWise ? points : points.concat([]).reverse(), (function(_, point) {
var val = point.isVisible() ? zeroTotalCorrection || point.normalInitialValue : 0;
var updatedZeroValue;
if (minSegmentSize && point.isVisible() && val < minShownValue) {
updatedZeroValue = minShownValue
}
percent = val / total;
point.correctValue(correction, percent, zeroTotalCorrection + (updatedZeroValue || 0));
point.shiftedAngle = shiftedAngle;
correction += updatedZeroValue || val
}));
this._rangeData = {
val: {
min: 0,
max: correction
}
}
},
_removePoint: function(point) {
var points = this.getPointsByArg(point.argument);
points.splice(points.indexOf(point), 1);
point.dispose()
},
arrangePoints: function() {
var that = this;
var originalPoints = that._points || [];
var minSegmentSize = that._options.minSegmentSize;
var minShownValue;
var isAllPointsNegative = true;
var i = 0;
var len = originalPoints.length;
while (i < len && isAllPointsNegative) {
isAllPointsNegative = originalPoints[i].value <= 0;
i++
}
var points = that._points = _map(originalPoints, (function(point) {
if (null === point.value || !isAllPointsNegative && point.value < 0) {
that._removePoint(point);
return null
} else {
return point
}
}));
var maxValue = points.reduce((function(max, p) {
return _max(max, Math.abs(p.initialValue))
}), 0);
points.forEach((function(p) {
p.normalInitialValue = p.initialValue / (0 !== maxValue ? maxValue : 1)
}));
var total = points.reduce((function(total, point) {
return total + (point.isVisible() ? point.normalInitialValue : 0)
}), 0);
if (minSegmentSize) {
minShownValue = this._getArrangeMinShownValue(points, total)
}
that._applyArrangeCorrection(points, minShownValue, total)
},
correctPosition: function(correction, canvas) {
_each(this._points, (function(_, point) {
point.correctPosition(correction)
}));
this.setVisibleArea(canvas)
},
correctRadius: function(correction) {
this._points.forEach((function(point) {
point.correctRadius(correction)
}))
},
correctLabelRadius: function(labelRadius) {
this._points.forEach((function(point) {
point.correctLabelRadius(labelRadius)
}))
},
setVisibleArea: function(canvas) {
this._visibleArea = {
minX: canvas.left,
maxX: canvas.width - canvas.right,
minY: canvas.top,
maxY: canvas.height - canvas.bottom
}
},
_applyVisibleArea: _noop,
_animate: function(firstDrawing) {
var that = this;
var points = that._points;
var pointsCount = points && points.length;
var completeFunc = function() {
that._animateComplete()
};
var animatePoint;
if (firstDrawing) {
animatePoint = function(p, i) {
p.animate(i === pointsCount - 1 ? completeFunc : void 0, .7, (1 - .7) * i / (pointsCount - 1))
}
} else {
animatePoint = function(p, i) {
p.animate(i === pointsCount - 1 ? completeFunc : void 0)
}
}
points.forEach(animatePoint)
},
getVisiblePoints: function() {
return _map(this._points, (function(p) {
return p.isVisible() ? p : null
}))
},
getPointsByKeys: function(arg, argumentIndex) {
var pointsByArg = this.getPointsByArg(arg);
return pointsByArg[argumentIndex] && [pointsByArg[argumentIndex]] || []
}
});
exports.pie = pie;
var doughnut = pie;
exports.doughnut = doughnut;
var donut = pie;
exports.donut = donut
},
/*!****************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/series/financial_series.js ***!
\****************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.candlestick = exports.stock = void 0;
var _scatter_series = __webpack_require__( /*! ./scatter_series */ 130);
var _bar_series = __webpack_require__( /*! ./bar_series */ 169);
var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _common = __webpack_require__( /*! ../../core/utils/common */ 4);
var barSeries = _bar_series.chart.bar;
var stock = (0, _extend2.extend)({}, _scatter_series.chart, {
_animate: _common.noop,
_applyMarkerClipRect: function(settings) {
settings["clip-path"] = this._forceClipping ? this._paneClipRectID : this._widePaneClipRectID
},
_updatePointsVisibility: barSeries._updatePointsVisibility,
_getOptionsForPoint: barSeries._getOptionsForPoint,
_createErrorBarGroup: _common.noop,
areErrorBarsVisible: _common.noop,
_createGroups: _scatter_series.chart._createGroups,
_setMarkerGroupSettings: function() {
var markersGroup = this._markersGroup;
var styles = this._createPointStyles(this._getMarkerGroupOptions());
var defaultStyle = (0, _extend2.extend)(styles.normal, {
class: "default-markers"
});
var defaultPositiveStyle = (0, _extend2.extend)(styles.positive.normal, {
class: "default-positive-markers"
});
var reductionStyle = (0, _extend2.extend)(styles.reduction.normal, {
class: "reduction-markers"
});
var reductionPositiveStyle = (0, _extend2.extend)(styles.reductionPositive.normal, {
class: "reduction-positive-markers"
});
var markerSettings = {
class: "dxc-markers"
};
this._applyMarkerClipRect(markerSettings);
markersGroup.attr(markerSettings);
this._createGroup("defaultMarkersGroup", markersGroup, markersGroup, defaultStyle);
this._createGroup("reductionMarkersGroup", markersGroup, markersGroup, reductionStyle);
this._createGroup("defaultPositiveMarkersGroup", markersGroup, markersGroup, defaultPositiveStyle);
this._createGroup("reductionPositiveMarkersGroup", markersGroup, markersGroup, reductionPositiveStyle)
},
_setGroupsSettings: function() {
_scatter_series.chart._setGroupsSettings.call(this, false)
},
_getCreatingPointOptions: function() {
var defaultPointOptions;
var creatingPointOptions = this._predefinedPointOptions;
if (!creatingPointOptions) {
defaultPointOptions = this._getPointOptions();
this._predefinedPointOptions = creatingPointOptions = (0, _extend2.extend)(true, {
styles: {}
}, defaultPointOptions);
creatingPointOptions.styles.normal = creatingPointOptions.styles.positive.normal = creatingPointOptions.styles.reduction.normal = creatingPointOptions.styles.reductionPositive.normal = {
"stroke-width": defaultPointOptions.styles && defaultPointOptions.styles.normal && defaultPointOptions.styles.normal["stroke-width"]
}
}
return creatingPointOptions
},
_checkData: function(data, skippedFields) {
var valueFields = this.getValueFields();
return _scatter_series.chart._checkData.call(this, data, skippedFields, {
openValue: valueFields[0],
highValue: valueFields[1],
lowValue: valueFields[2],
closeValue: valueFields[3]
}) && data.highValue === data.highValue && data.lowValue === data.lowValue
},
_getPointDataSelector: function(data, options) {
var _this = this;
var that = this;
var level;
var valueFields = that.getValueFields();
var argumentField = that.getArgumentField();
var openValueField = valueFields[0];
var highValueField = valueFields[1];
var lowValueField = valueFields[2];
var closeValueField = valueFields[3];
that.level = that._options.reduction.level;
switch ((0, _utils.normalizeEnum)(that.level)) {
case "open":
level = openValueField;
break;
case "high":
level = highValueField;
break;
case "low":
level = lowValueField;
break;
default:
level = closeValueField;
that.level = "close"
}
var prevLevelValue;
return function(data) {
var reductionValue = data[level];
var isReduction = false;
if ((0, _type.isDefined)(reductionValue)) {
if ((0, _type.isDefined)(prevLevelValue)) {
isReduction = reductionValue < prevLevelValue
}
prevLevelValue = reductionValue
}
return {
argument: data[argumentField],
highValue: _this._processEmptyValue(data[highValueField]),
lowValue: _this._processEmptyValue(data[lowValueField]),
closeValue: _this._processEmptyValue(data[closeValueField]),
openValue: _this._processEmptyValue(data[openValueField]),
reductionValue: reductionValue,
tag: data[that.getTagField()],
isReduction: isReduction,
data: data
}
}
},
_parsePointStyle: function(style, defaultColor, innerColor) {
return {
stroke: style.color || defaultColor,
"stroke-width": style.width,
fill: style.color || innerColor
}
},
_getDefaultStyle: function(options) {
var mainPointColor = options.color || this._options.mainSeriesColor;
return {
normal: this._parsePointStyle(options, mainPointColor, mainPointColor),
hover: this._parsePointStyle(options.hoverStyle, mainPointColor, mainPointColor),
selection: this._parsePointStyle(options.selectionStyle, mainPointColor, mainPointColor)
}
},
_getReductionStyle: function(options) {
var reductionColor = options.reduction.color;
return {
normal: this._parsePointStyle({
color: reductionColor,
width: options.width,
hatching: options.hatching
}, reductionColor, reductionColor),
hover: this._parsePointStyle(options.hoverStyle, reductionColor, reductionColor),
selection: this._parsePointStyle(options.selectionStyle, reductionColor, reductionColor)
}
},
_createPointStyles: function(pointOptions) {
var innerColor = this._options.innerColor;
var styles = this._getDefaultStyle(pointOptions);
var positiveStyle = (0, _extend2.extend)(true, {}, styles);
var reductionStyle = this._getReductionStyle(pointOptions);
var reductionPositiveStyle = (0, _extend2.extend)(true, {}, reductionStyle);
positiveStyle.normal.fill = positiveStyle.hover.fill = positiveStyle.selection.fill = innerColor;
reductionPositiveStyle.normal.fill = reductionPositiveStyle.hover.fill = reductionPositiveStyle.selection.fill = innerColor;
styles.positive = positiveStyle;
styles.reduction = reductionStyle;
styles.reductionPositive = reductionPositiveStyle;
return styles
},
_endUpdateData: function() {
delete this._predefinedPointOptions
},
_defaultAggregator: "ohlc",
_aggregators: {
ohlc: function(_ref, series) {
var intervalStart = _ref.intervalStart,
intervalEnd = _ref.intervalEnd,
data = _ref.data;
if (!data.length) {
return
}
var result = {};
var valueFields = series.getValueFields();
var highValueField = valueFields[1];
var lowValueField = valueFields[2];
result[highValueField] = -1 / 0;
result[lowValueField] = 1 / 0;
result = data.reduce((function(result, item) {
if (null !== item[highValueField]) {
result[highValueField] = Math.max(result[highValueField], item[highValueField])
}
if (null !== item[lowValueField]) {
result[lowValueField] = Math.min(result[lowValueField], item[lowValueField])
}
return result
}), result);
result[valueFields[0]] = data[0][valueFields[0]];
result[valueFields[3]] = data[data.length - 1][valueFields[3]];
if (!isFinite(result[highValueField])) {
result[highValueField] = null
}
if (!isFinite(result[lowValueField])) {
result[lowValueField] = null
}
result[series.getArgumentField()] = series._getIntervalCenter(intervalStart, intervalEnd);
return result
}
},
getValueFields: function() {
var options = this._options;
return [options.openValueField || "open", options.highValueField || "high", options.lowValueField || "low", options.closeValueField || "close"]
},
getArgumentField: function() {
return this._options.argumentField || "date"
},
_patchMarginOptions: function(options) {
var pointOptions = this._getCreatingPointOptions();
var styles = pointOptions.styles;
var border = [styles.normal, styles.hover, styles.selection].reduce((function(max, style) {
return Math.max(max, style["stroke-width"])
}), 0);
options.size = 10 + border;
options.sizePointNormalState = 10;
return options
},
getSeriesPairCoord: function(coord, isArgument) {
var oppositeCoord = null;
var points = this.getVisiblePoints();
for (var i = 0; i < points.length; i++) {
var p = points[i];
var tmpCoord = void 0;
if (isArgument) {
tmpCoord = p.vx === coord ? (p.openY + p.closeY) / 2 : void 0
} else {
var coords = [Math.min(p.lowY, p.highY), Math.max(p.lowY, p.highY)];
tmpCoord = coord >= coords[0] && coord <= coords[1] ? p.vx : void 0
}
if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {
oppositeCoord = tmpCoord;
break
}
}
return oppositeCoord
},
usePointsToDefineAutoHiding: function() {
return false
}
});
exports.stock = stock;
var candlestick = (0, _extend2.extend)({}, stock, {
_parsePointStyle: function(style, defaultColor, innerColor) {
var color = style.color || innerColor;
var base = stock._parsePointStyle.call(this, style, defaultColor, color);
base.fill = color;
base.hatching = style.hatching;
return base
}
});
exports.candlestick = candlestick
},
/*!**************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/series/stacked_series.js ***!
\**************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.polar = exports.chart = void 0;
var _common = __webpack_require__( /*! ../../core/utils/common */ 4);
var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _area_series = __webpack_require__( /*! ./area_series */ 192);
var _bar_series = __webpack_require__( /*! ./bar_series */ 169);
var _line_series = __webpack_require__( /*! ./line_series */ 231);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _object = __webpack_require__( /*! ../../core/utils/object */ 52);
var chartAreaSeries = _area_series.chart.area;
var chartBarSeries = _bar_series.chart.bar;
var baseStackedSeries = {
_calculateErrorBars: _common.noop,
_updateOptions: function(options) {
this._stackName = "axis_" + (options.axis || "default")
}
};
var chart = {};
exports.chart = chart;
var polar = {};
exports.polar = polar;
chart.stackedline = (0, _extend2.extend)({}, _line_series.chart.line, baseStackedSeries, {});
chart.stackedspline = (0, _extend2.extend)({}, _line_series.chart.spline, baseStackedSeries, {});
chart.fullstackedline = (0, _extend2.extend)({}, _line_series.chart.line, baseStackedSeries, {
getValueRangeInitialValue: _area_series.chart.area.getValueRangeInitialValue
});
chart.fullstackedspline = (0, _extend2.extend)({}, _line_series.chart.spline, baseStackedSeries, {
getValueRangeInitialValue: _area_series.chart.area.getValueRangeInitialValue
});
var stackedBar = chart.stackedbar = (0, _extend2.extend)({}, chartBarSeries, baseStackedSeries, {
_updateOptions: function(options) {
baseStackedSeries._updateOptions.call(this, options);
this._stackName = this._stackName + "_stack_" + (options.stack || "default")
}
});
chart.fullstackedbar = (0, _extend2.extend)({}, chartBarSeries, baseStackedSeries, {
_updateOptions: stackedBar._updateOptions
});
function clonePoint(point, value, minValue, position) {
point = (0, _object.clone)(point);
point.value = value;
point.minValue = minValue;
point.translate();
point.argument = point.argument + position;
return point
}
function preparePointsForStackedAreaSegment(points) {
var i = 0;
var p;
var result = [];
var array;
var len = points.length;
while (i < len) {
p = points[i];
array = [p];
if (p.leftHole) {
array = [clonePoint(p, p.leftHole, p.minLeftHole, "left"), p]
}
if (p.rightHole) {
array.push(clonePoint(p, p.rightHole, p.minRightHole, "right"))
}
result.push(array);
i++
}
return [].concat.apply([], result)
}
chart.stackedarea = (0, _extend2.extend)({}, chartAreaSeries, baseStackedSeries, {
_prepareSegment: function(points, rotated) {
return chartAreaSeries._prepareSegment.call(this, preparePointsForStackedAreaSegment(points), rotated)
},
_appendInGroup: function() {
this._group.append(this._extGroups.seriesGroup).toBackground()
}
});
chart.stackedsplinearea = (0, _extend2.extend)({}, _area_series.chart.splinearea, baseStackedSeries, {
_prepareSegment: function(points, rotated) {
var that = this;
var areaSegment;
points = preparePointsForStackedAreaSegment(points);
if (!this._prevSeries || 1 === points.length) {
areaSegment = _area_series.chart.splinearea._prepareSegment.call(this, points, rotated)
} else {
var forwardPoints = _line_series.chart.spline._calculateBezierPoints(points, rotated);
var backwardPoints = (0, _utils.map)(points, (function(p) {
var point = p.getCoords(true);
point.argument = p.argument;
return point
}));
var prevSeriesForwardPoints = [];
var pointByArg = {};
var i = 0;
var len = that._prevSeries._segments.length;
while (i < len) {
prevSeriesForwardPoints = prevSeriesForwardPoints.concat(that._prevSeries._segments[i].line);
i++
}(0, _iterator.each)(prevSeriesForwardPoints, (function(_, p) {
if (null !== p.argument) {
var argument = p.argument.valueOf();
if (!pointByArg[argument]) {
pointByArg[argument] = [p]
} else {
pointByArg[argument].push(p)
}
}
}));
that._prevSeries._segmentByArg = pointByArg;
backwardPoints = _line_series.chart.spline._calculateBezierPoints(backwardPoints, rotated);
(0, _iterator.each)(backwardPoints, (function(i, p) {
var argument = p.argument.valueOf();
var prevSeriesPoints;
if (i % 3 === 0) {
prevSeriesPoints = pointByArg[argument] || function(prevSeries, argument) {
var result;
while (!result && prevSeries) {
result = prevSeries._segmentByArg && prevSeries._segmentByArg[argument];
prevSeries = prevSeries._prevSeries
}
return result
}(that._prevSeries, argument);
if (prevSeriesPoints) {
backwardPoints[i - 1] && prevSeriesPoints[0] && (backwardPoints[i - 1] = prevSeriesPoints[0]);
backwardPoints[i + 1] && (backwardPoints[i + 1] = prevSeriesPoints[2] || p)
}
}
}));
areaSegment = {
line: forwardPoints,
area: forwardPoints.concat(backwardPoints.reverse())
};
that._areaPointsToSplineAreaPoints(areaSegment.area)
}
return areaSegment
},
_appendInGroup: chart.stackedarea._appendInGroup
});
chart.fullstackedarea = (0, _extend2.extend)({}, chartAreaSeries, baseStackedSeries, {
_prepareSegment: chart.stackedarea._prepareSegment,
_appendInGroup: chart.stackedarea._appendInGroup
});
chart.fullstackedsplinearea = (0, _extend2.extend)({}, _area_series.chart.splinearea, baseStackedSeries, {
_prepareSegment: chart.stackedsplinearea._prepareSegment,
_appendInGroup: chart.stackedarea._appendInGroup
});
polar.stackedbar = (0, _extend2.extend)({}, _bar_series.polar.bar, baseStackedSeries, {})
},
/*!*****************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/chart_components/tracker.js ***!
\*****************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.PieTracker = exports.ChartTracker = void 0;
var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 11));
var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 5));
var _click = __webpack_require__( /*! ../../events/click */ 22);
var _extend = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _consts = _interopRequireDefault(__webpack_require__( /*! ../components/consts */ 149));
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 25));
var _index = __webpack_require__( /*! ../../events/utils/index */ 9);
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _common = __webpack_require__( /*! ../../core/utils/common */ 4);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var _floor = Math.floor;
var eventsConsts = _consts.default.events;
var statesConsts = _consts.default.states;
var HOVER_STATE = statesConsts.hoverMark;
var NORMAL_STATE = statesConsts.normalMark;
var EVENT_NS = "dxChartTracker";
var POINTER_ACTION = (0, _index.addNamespace)([_pointer.default.down, _pointer.default.move], EVENT_NS);
var LEGEND_HOVER_MODES = ["includepoints", "excludepoints", "none"];
function getData(event, dataKey, tryCheckParent) {
var target = event.target;
if ("tspan" === target.tagName) {
return target.parentNode[dataKey]
}
var data = target[dataKey];
if (tryCheckParent && !(0, _type.isDefined)(data)) {
return function getParentData(node) {
if (node.parentNode) {
if ((0, _type.isDefined)(node.parentNode[dataKey])) {
return node.parentNode[dataKey]
} else {
return getParentData(node.parentNode)
}
}
return
}(target)
}
return data
}
function eventCanceled(event, target) {
return event.cancel || !target.getOptions()
}
function correctHoverMode(target) {
var mode = target.getOptions().hoverMode;
return "none" === mode ? mode : "allargumentpoints"
}
var baseTrackerPrototype = {
ctor: function(options) {
var that = this;
var data = {
tracker: that
};
that._renderer = options.renderer;
that._legend = options.legend;
that._tooltip = options.tooltip;
that._eventTrigger = options.eventTrigger;
that._seriesGroup = options.seriesGroup;
options.seriesGroup.off(".dxChartTracker").on((0, _index.addNamespace)(eventsConsts.showPointTooltip, EVENT_NS), data, that._showPointTooltip).on((0, _index.addNamespace)(eventsConsts.hidePointTooltip, EVENT_NS), data, that._hidePointTooltip);
that._renderer.root.off(".dxChartTracker").on(POINTER_ACTION, data, that._pointerHandler).on((0, _index.addNamespace)(_pointer.default.up, EVENT_NS), (function() {
return clearTimeout(that._holdTimer)
})).on((0, _index.addNamespace)(_click.name, EVENT_NS), data, that._clickHandler)
},
update: function(options) {
this._chart = options.chart
},
updateSeries: function(series, resetDecorations) {
var that = this;
var noHoveredSeries = !(null !== series && void 0 !== series && series.some((function(s) {
return s === that.hoveredSeries
})) || that._hoveredPoint && that._hoveredPoint.series);
if (that._storedSeries !== series) {
that._storedSeries = series || []
}
if (noHoveredSeries) {
that._clean();
that._renderer.initHatching()
}
if (resetDecorations) {
that.clearSelection();
if (!noHoveredSeries) {
that._hideTooltip(that.pointAtShownTooltip);
that.clearHover()
}
}
},
setCanvases: function(mainCanvas, paneCanvases) {
this._mainCanvas = mainCanvas;
this._canvases = paneCanvases
},
repairTooltip: function() {
var point = this.pointAtShownTooltip;
if (!point || !point.series || !point.isVisible()) {
this._hideTooltip(point, true)
} else {
this._showTooltip(point)
}
},
_setHoveredPoint: function(point) {
if (point === this._hoveredPoint) {
return
}
this._releaseHoveredPoint();
point.hover();
this._hoveredPoint = point
},
_releaseHoveredPoint: function() {
if (this._hoveredPoint && this._hoveredPoint.getOptions()) {
this._hoveredPoint.clearHover();
this._hoveredPoint = null;
if (this._tooltip.isEnabled()) {
this._hideTooltip(this._hoveredPoint)
}
}
},
_setHoveredSeries: function(series, mode) {
this._releaseHoveredSeries();
this._releaseHoveredPoint();
series.hover(mode);
this.hoveredSeries = series
},
_releaseHoveredSeries: function() {
if (this.hoveredSeries) {
this.hoveredSeries.clearHover();
this.hoveredSeries = null
}
},
clearSelection: function() {
this._storedSeries.forEach((function(series) {
if (series) {
series.clearSelection();
series.getPoints().forEach((function(point) {
return point.clearSelection()
}))
}
}))
},
_clean: function() {
this.hoveredPoint = this.hoveredSeries = this._hoveredArgumentPoints = null;
this._hideTooltip(this.pointAtShownTooltip)
},
clearHover: function() {
this._resetHoveredArgument();
this._releaseHoveredSeries();
this._releaseHoveredPoint()
},
_hideTooltip: function(point, silent) {
if (!this._tooltip || point && this.pointAtShownTooltip !== point) {
return
}
if (!silent && this.pointAtShownTooltip) {
this.pointAtShownTooltip = null
}
this._tooltip.hide()
},
_showTooltip: function(point) {
var that = this;
var tooltipFormatObject;
var eventData = {
target: point
};
if (null !== point && void 0 !== point && point.getOptions()) {
tooltipFormatObject = point.getTooltipFormatObject(that._tooltip, that._tooltip.isShared() && that._chart.getStackedPoints(point));
if (!(0, _type.isDefined)(tooltipFormatObject.valueText) && !tooltipFormatObject.points || !point.isVisible()) {
return
}
var coords = point.getTooltipParams(that._tooltip.getLocation());
var rootOffset = that._renderer.getRootOffset();
coords.x += rootOffset.left;
coords.y += rootOffset.top;
var callback = function(result) {
result && (that.pointAtShownTooltip = point)
};
callback(that._tooltip.show(tooltipFormatObject, coords, eventData, void 0, callback))
}
},
_showPointTooltip: function(event, point) {
var that = event.data.tracker;
var pointWithTooltip = that.pointAtShownTooltip;
if (pointWithTooltip && pointWithTooltip !== point) {
that._hideTooltip(pointWithTooltip)
}
that._showTooltip(point)
},
_hidePointTooltip: function(event, point) {
event.data.tracker._hideTooltip(point)
},
_enableOutHandler: function() {
if (this._outHandler) {
return
}
var that = this;
var handler = function(e) {
var rootOffset = that._renderer.getRootOffset();
var x = _floor(e.pageX - rootOffset.left);
var y = _floor(e.pageY - rootOffset.top);
if (!(0, _utils.pointInCanvas)(that._mainCanvas, x, y) && !that._tooltip.isCursorOnTooltip(e.pageX, e.pageY)) {
that._pointerOut();
that._disableOutHandler()
}
};
_events_engine.default.on(_dom_adapter.default.getDocument(), POINTER_ACTION, handler);
this._outHandler = handler
},
_disableOutHandler: function() {
this._outHandler && _events_engine.default.off(_dom_adapter.default.getDocument(), POINTER_ACTION, this._outHandler);
this._outHandler = null
},
stopCurrentHandling: function() {
this._pointerOut(true)
},
_pointerOut: function(force) {
this.clearHover();
(force || this._tooltip.isEnabled()) && this._hideTooltip(this.pointAtShownTooltip)
},
_triggerLegendClick: function(eventArgs, elementClick) {
var eventTrigger = this._eventTrigger;
eventTrigger("legendClick", eventArgs, (function() {
!eventCanceled(eventArgs.event, eventArgs.target) && eventTrigger(elementClick, eventArgs)
}))
},
_hoverLegendItem: function(x, y) {
var item = this._legend.getItemByCoord(x, y);
var series;
var legendHoverMode = function(mode) {
if (LEGEND_HOVER_MODES.indexOf(mode) > -1) {
return mode
} else {
return "includepoints"
}
}(this._legend.getOptions().hoverMode);
if (item) {
series = this._storedSeries[item.id];
if (!series.isHovered() || series.lastHoverMode !== legendHoverMode) {
this._setHoveredSeries(series, legendHoverMode)
}
this._tooltip.isEnabled() && this._hideTooltip(this.pointAtShownTooltip)
} else {
this.clearHover()
}
},
_hoverArgument: function(argument, argumentIndex) {
var hoverMode = this._getArgumentHoverMode();
if ((0, _type.isDefined)(argument)) {
this._releaseHoveredPoint();
this._hoveredArgument = argument;
this._argumentIndex = argumentIndex;
this._notifySeries({
action: "pointHover",
notifyLegend: this._notifyLegendOnHoverArgument,
target: {
argument: argument,
fullState: HOVER_STATE,
argumentIndex: argumentIndex,
getOptions: function() {
return {
hoverMode: hoverMode
}
}
}
})
}
},
_resetHoveredArgument: function() {
var hoverMode;
if ((0, _type.isDefined)(this._hoveredArgument)) {
hoverMode = this._getArgumentHoverMode();
this._notifySeries({
action: "clearPointHover",
notifyLegend: this._notifyLegendOnHoverArgument,
target: {
fullState: NORMAL_STATE,
argumentIndex: this._argumentIndex,
argument: this._hoveredArgument,
getOptions: function() {
return {
hoverMode: hoverMode
}
}
}
});
this._hoveredArgument = null
}
},
_notifySeries: function(data) {
this._storedSeries.forEach((function(series) {
series.notify(data)
}))
},
_pointerHandler: function(e) {
var _series;
var that = e.data.tracker;
var rootOffset = that._renderer.getRootOffset();
var x = _floor(e.pageX - rootOffset.left);
var y = _floor(e.pageY - rootOffset.top);
var canvas = that._getCanvas(x, y);
var series = getData(e, "chart-data-series");
var point = getData(e, "chart-data-point") || (null === (_series = series) || void 0 === _series ? void 0 : _series.getPointByCoord(x, y));
that._isHolding = false;
clearTimeout(that._holdTimer);
if (e.type === _pointer.default.down) {
that._holdTimer = setTimeout((function() {
return that._isHolding = true
}), 300)
}
if (point && !point.getMarkerVisibility()) {
point = void 0
}
that._enableOutHandler();
if (that._legend.coordsIn(x, y)) {
that._hoverLegendItem(x, y);
return
}
if (that.hoveredSeries && that.hoveredSeries !== that._stuckSeries) {
that._releaseHoveredSeries()
}
if (that._hoverArgumentAxis(x, y, e)) {
return
}
if (that._isPointerOut(canvas, point)) {
that._pointerOut()
}
if (!canvas && !point) {
return
}
if (series && !point) {
point = series.getNeighborPoint(x, y);
if (!that._stickyHovering && point && !point.coordsIn(x, y)) {
point = null
}
if (series !== that.hoveredSeries) {
that._setTimeout((function() {
that._setHoveredSeries(series);
that._setStuckSeries(e, series, x, y);
that._pointerComplete(point, x, y)
}), series);
return
}
} else if (point) {
if (e.type !== _pointer.default.move && "touch" !== e.pointerType) {
return
}
if (that.hoveredSeries) {
that._setTimeout((function() {
return that._pointerOnPoint(point, x, y, e)
}), point)
} else {
that._pointerOnPoint(point, x, y, e)
}
return
} else if (that._setStuckSeries(e, void 0, x, y) && that._stickyHovering) {
var _point;
series = that._stuckSeries;
point = series.getNeighborPoint(x, y);
that._releaseHoveredSeries();
(null === (_point = point) || void 0 === _point ? void 0 : _point.getMarkerVisibility()) && that._setHoveredPoint(point)
} else if (!that._stickyHovering) {
that._pointerOut()
}
that._pointerComplete(point, x, y)
},
_pointerOnPoint: function(point, x, y) {
this._resetHoveredArgument();
this._setHoveredPoint(point);
this._pointerComplete(point, x, y)
},
_pointerComplete: function(point) {
this.pointAtShownTooltip !== point && this._tooltip.isEnabled() && this._showTooltip(point)
},
_clickHandler: function(e) {
var _point2;
var that = e.data.tracker;
if (that._isHolding) {
return
}
var rootOffset = that._renderer.getRootOffset();
var x = _floor(e.pageX - rootOffset.left);
var y = _floor(e.pageY - rootOffset.top);
var point = getData(e, "chart-data-point");
var series = that._stuckSeries || getData(e, "chart-data-series") || (null === (_point2 = point) || void 0 === _point2 ? void 0 : _point2.series);
var axis = that._argumentAxis;
if (that._legend.coordsIn(x, y)) {
var item = that._legend.getItemByCoord(x, y);
if (item) {
that._legendClick(item, e)
}
} else if (null !== axis && void 0 !== axis && axis.coordsIn(x, y)) {
var argument = getData(e, "chart-data-argument", true);
if ((0, _type.isDefined)(argument)) {
that._eventTrigger("argumentAxisClick", {
argument: argument,
event: e
})
}
} else if (series) {
var _point3;
point = point || series.getPointByCoord(x, y);
if (null !== (_point3 = point) && void 0 !== _point3 && _point3.getMarkerVisibility()) {
that._pointClick(point, e)
} else {
getData(e, "chart-data-series") && that._eventTrigger("seriesClick", {
target: series,
event: e
})
}
}
},
dispose: function() {
this._disableOutHandler();
this._renderer.root.off(".dxChartTracker");
this._seriesGroup.off(".dxChartTracker")
}
};
var ChartTracker = function(options) {
this.ctor(options)
};
exports.ChartTracker = ChartTracker;
(0, _extend.extend)(ChartTracker.prototype, baseTrackerPrototype, {
_pointClick: function(point, event) {
var eventTrigger = this._eventTrigger;
var series = point.series;
eventTrigger("pointClick", {
target: point,
event: event
}, (function() {
!eventCanceled(event, series) && eventTrigger("seriesClick", {
target: series,
event: event
})
}))
},
update: function(options) {
baseTrackerPrototype.update.call(this, options);
this._argumentAxis = options.argumentAxis || {};
this._axisHoverEnabled = this._argumentAxis && "allargumentpoints" === (0, _utils.normalizeEnum)(this._argumentAxis.getOptions().hoverMode);
this._rotated = options.rotated;
this._crosshair = options.crosshair;
this._stickyHovering = options.stickyHovering
},
_getCanvas: function(x, y) {
var canvases = this._canvases || [];
for (var i = 0; i < canvases.length; i++) {
var c = canvases[i];
if ((0, _utils.pointInCanvas)(c, x, y)) {
return c
}
}
return null
},
_isPointerOut: function(canvas) {
return !canvas && this._stuckSeries
},
_hideCrosshair: function() {
var _this$_crosshair;
null === (_this$_crosshair = this._crosshair) || void 0 === _this$_crosshair ? void 0 : _this$_crosshair.hide()
},
_moveCrosshair: function(point, x, y) {
if (this._crosshair && null !== point && void 0 !== point && point.isVisible()) {
this._crosshair.show({
point: point,
x: x,
y: y
})
}
},
_clean: function() {
baseTrackerPrototype._clean.call(this);
this._resetTimer();
this._stuckSeries = null
},
_getSeriesForShared: function(x, y) {
var _point4;
var points = [];
var point = null;
var distance = 1 / 0;
if (this._tooltip.isShared() && !this.hoveredSeries) {
(0, _iterator.each)(this._storedSeries, (function(_, series) {
var point = series.getNeighborPoint(x, y);
point && points.push(point)
}));
(0, _iterator.each)(points, (function(_, p) {
var coords = p.getCrosshairData(x, y);
var d = (0, _utils.getDistance)(x, y, coords.x, coords.y);
if (d < distance) {
point = p;
distance = d
}
}))
}
return null === (_point4 = point) || void 0 === _point4 ? void 0 : _point4.series
},
_setTimeout: function(callback, keeper) {
var that = this;
if (that._timeoutKeeper !== keeper) {
that._resetTimer();
that._hoverTimeout = setTimeout((function() {
callback();
that._timeoutKeeper = null
}), 100);
that._timeoutKeeper = keeper
}
},
_resetTimer: function() {
clearTimeout(this._hoverTimeout);
this._timeoutKeeper = this._hoverTimeout = null
},
_stopEvent: function(e) {
if (!(0, _type.isDefined)(e.cancelable) || e.cancelable) {
e.preventDefault();
e.stopPropagation()
}
},
_setStuckSeries: function(e, series, x, y) {
if ("mouse" !== e.pointerType) {
this._stuckSeries = null
} else {
this._stuckSeries = series || this._stuckSeries || this._getSeriesForShared(x, y)
}
return !!this._stuckSeries
},
_pointerOut: function() {
var that = this;
that._stuckSeries = null;
that._hideCrosshair();
that._resetTimer();
baseTrackerPrototype._pointerOut.apply(that, arguments)
},
_hoverArgumentAxis: function(x, y, e) {
this._resetHoveredArgument();
if (this._axisHoverEnabled && this._argumentAxis.coordsIn(x, y)) {
this._hoverArgument(getData(e, "chart-data-argument", true));
return true
}
},
_pointerComplete: function(point, x, y) {
this.hoveredSeries && this.hoveredSeries.updateHover(x, y);
this._resetTimer();
this._moveCrosshair(point, x, y);
baseTrackerPrototype._pointerComplete.call(this, point)
},
_legendClick: function(item, e) {
var series = this._storedSeries[item.id];
this._triggerLegendClick({
target: series,
event: e
}, "seriesClick")
},
_hoverLegendItem: function(x, y) {
this._stuckSeries = null;
this._hideCrosshair();
baseTrackerPrototype._hoverLegendItem.call(this, x, y)
},
_pointerOnPoint: function(point, x, y, e) {
this._setStuckSeries(e, point.series, x, y);
this._releaseHoveredSeries();
baseTrackerPrototype._pointerOnPoint.call(this, point, x, y, e)
},
_notifyLegendOnHoverArgument: false,
_getArgumentHoverMode: function() {
return correctHoverMode(this._argumentAxis)
},
dispose: function() {
this._resetTimer();
baseTrackerPrototype.dispose.call(this)
}
});
var PieTracker = function(options) {
this.ctor(options)
};
exports.PieTracker = PieTracker;
(0, _extend.extend)(PieTracker.prototype, baseTrackerPrototype, {
_isPointerOut: function(_, point) {
return !point
},
_legendClick: function(item, e) {
var points = [];
this._storedSeries.forEach((function(s) {
return points.push.apply(points, s.getPointsByKeys(item.argument, item.argumentIndex))
}));
this._eventTrigger("legendClick", {
target: item.argument,
points: points,
event: e
})
},
_pointClick: function(point, e) {
this._eventTrigger("pointClick", {
target: point,
event: e
})
},
_hoverLegendItem: function(x, y) {
var item = this._legend.getItemByCoord(x, y);
if (item && this._hoveredArgument !== item.argument) {
this._resetHoveredArgument();
this._hoverArgument(item.argument, item.argumentIndex)
} else if (!item) {
this.clearHover()
}
},
_getArgumentHoverMode: function() {
return correctHoverMode(this._legend)
},
_hoverArgumentAxis: _common.noop,
_setStuckSeries: _common.noop,
_getCanvas: _common.noop,
_notifyLegendOnHoverArgument: true
})
},
/*!*********************************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/chart_components/multi_axes_synchronizer.js ***!
\*********************************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
__webpack_require__( /*! ../../core/utils/console */ 115);
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _math2 = __webpack_require__( /*! ../../core/utils/math */ 31);
var _math = Math;
var _floor = _math.floor;
var _max = _math.max;
var _abs = _math.abs;
var linearConverter = {
transform: function(v, b) {
return (0, _math2.adjust)((0, _utils.getLog)(v, b))
},
addInterval: function(v, i) {
return (0, _math2.adjust)(v + i)
},
getInterval: function(base, tickInterval) {
return tickInterval
}
};
var logConverter = {
transform: function(v, b) {
return (0, _math2.adjust)((0, _utils.raiseTo)(v, b))
},
addInterval: function(v, i) {
return (0, _math2.adjust)(v * i)
},
getInterval: function(base, tickInterval) {
return _math.pow(base, tickInterval)
}
};
function convertAxisInfo(axisInfo, converter) {
if (!axisInfo.isLogarithmic) {
return
}
var base = axisInfo.logarithmicBase;
var tickValues = axisInfo.tickValues;
var tick;
var ticks = [];
axisInfo.minValue = converter.transform(axisInfo.minValue, base);
axisInfo.oldMinValue = converter.transform(axisInfo.oldMinValue, base);
axisInfo.maxValue = converter.transform(axisInfo.maxValue, base);
axisInfo.oldMaxValue = converter.transform(axisInfo.oldMaxValue, base);
axisInfo.tickInterval = _math.round(axisInfo.tickInterval);
if (axisInfo.tickInterval < 1) {
axisInfo.tickInterval = 1
}
var interval = converter.getInterval(base, axisInfo.tickInterval);
tick = converter.transform(tickValues[0], base);
while (ticks.length < tickValues.length) {
ticks.push(tick);
tick = converter.addInterval(tick, interval)
}
ticks.tickInterval = axisInfo.tickInterval;
axisInfo.tickValues = ticks
}
function getAxisRange(axisInfo) {
return axisInfo.maxValue - axisInfo.minValue || 1
}
function getMainAxisInfo(axesInfo) {
for (var i = 0; i < axesInfo.length; i++) {
if (!axesInfo[i].stubData) {
return axesInfo[i]
}
}
return null
}
var multiAxesSynchronizer = {
synchronize: function(valueAxes) {
(0, _iterator.each)(function(valueAxes) {
var result = {};
valueAxes.forEach((function(axis) {
var pane = axis.pane;
if (!result[pane]) {
result[pane] = []
}
result[pane].push(axis)
}));
return result
}(valueAxes), (function(_, axes) {
var axesInfo;
var paddings;
if (axes.length > 1) {
axesInfo = function(axes) {
return axes.reduce((function(result, axis) {
var ticksValues = axis.getTicksValues();
var majorTicks = ticksValues.majorTicksValues;
var options = axis.getOptions();
var businessRange = axis.getTranslator().getBusinessRange();
var visibleArea = axis.getVisibleArea();
var axisInfo;
var tickInterval = axis._tickInterval;
var synchronizedValue = options.synchronizedValue;
var action = axis.getViewport().action;
if (majorTicks && majorTicks.length > 0 && (0, _type.isNumeric)(majorTicks[0]) && "discrete" !== options.type && !businessRange.isEmpty() && !(businessRange.breaks && businessRange.breaks.length) && "zoom" !== action && "pan" !== action) {
axis.applyMargins();
var startValue = axis.getTranslator().from(visibleArea[0]);
var endValue = axis.getTranslator().from(visibleArea[1]);
var minValue = startValue < endValue ? startValue : endValue;
var maxValue = startValue < endValue ? endValue : startValue;
if (minValue === maxValue && (0, _type.isDefined)(synchronizedValue)) {
tickInterval = _abs(majorTicks[0] - synchronizedValue) || 1;
minValue = majorTicks[0] - tickInterval;
maxValue = majorTicks[0] + tickInterval
}
axisInfo = {
axis: axis,
isLogarithmic: "logarithmic" === options.type,
logarithmicBase: businessRange.base,
tickValues: majorTicks,
minorValues: ticksValues.minorTicksValues,
minorTickInterval: axis._minorTickInterval,
minValue: minValue,
oldMinValue: minValue,
maxValue: maxValue,
oldMaxValue: maxValue,
inverted: businessRange.invert,
tickInterval: tickInterval,
synchronizedValue: synchronizedValue
};
convertAxisInfo(axisInfo, linearConverter);
result.push(axisInfo)
}
return result
}), [])
}(axes);
if (axesInfo.length < 2 || !getMainAxisInfo(axesInfo)) {
return
}! function(axesInfo) {
var maxTicksCount = axesInfo.reduce((function(max, axisInfo) {
return _max(max, axisInfo.tickValues.length)
}), 0);
axesInfo.forEach((function(axisInfo) {
var ticksMultiplier;
var ticksCount;
var additionalStartTicksCount = 0;
var synchronizedValue = axisInfo.synchronizedValue;
var tickValues = axisInfo.tickValues;
var tickInterval = axisInfo.tickInterval;
if ((0, _type.isDefined)(synchronizedValue)) {
axisInfo.baseTickValue = axisInfo.invertedBaseTickValue = synchronizedValue;
axisInfo.tickValues = [axisInfo.baseTickValue]
} else {
if (tickValues.length > 1 && tickInterval) {
ticksMultiplier = _floor((maxTicksCount + 1) / tickValues.length);
ticksCount = ticksMultiplier > 1 ? _floor((maxTicksCount + 1) / ticksMultiplier) : maxTicksCount;
additionalStartTicksCount = _floor((ticksCount - tickValues.length) / 2);
while (additionalStartTicksCount > 0 && 0 !== tickValues[0]) {
tickValues.unshift((0, _math2.adjust)(tickValues[0] - tickInterval));
additionalStartTicksCount--
}
while (tickValues.length < ticksCount) {
tickValues.push((0, _math2.adjust)(tickValues[tickValues.length - 1] + tickInterval))
}
axisInfo.tickInterval = tickInterval / ticksMultiplier
}
axisInfo.baseTickValue = tickValues[0];
axisInfo.invertedBaseTickValue = tickValues[tickValues.length - 1]
}
}))
}(axesInfo);
! function(axesInfo) {
var mainAxisInfo = getMainAxisInfo(axesInfo);
var mainAxisInfoTickInterval = mainAxisInfo.tickInterval;
axesInfo.forEach((function(axisInfo) {
var scale;
var move;
var mainAxisBaseValueOffset;
var valueFromAxisInfo;
if (axisInfo !== mainAxisInfo) {
if (mainAxisInfoTickInterval && axisInfo.tickInterval) {
if (axisInfo.stubData && (0, _type.isDefined)(axisInfo.synchronizedValue)) {
axisInfo.oldMinValue = axisInfo.minValue = axisInfo.baseTickValue - (mainAxisInfo.baseTickValue - mainAxisInfo.minValue) / mainAxisInfoTickInterval * axisInfo.tickInterval;
axisInfo.oldMaxValue = axisInfo.maxValue = axisInfo.baseTickValue - (mainAxisInfo.baseTickValue - mainAxisInfo.maxValue) / mainAxisInfoTickInterval * axisInfo.tickInterval
}
scale = mainAxisInfoTickInterval / getAxisRange(mainAxisInfo) / axisInfo.tickInterval * getAxisRange(axisInfo);
axisInfo.maxValue = axisInfo.minValue + getAxisRange(axisInfo) / scale
}
if (mainAxisInfo.inverted && !axisInfo.inverted || !mainAxisInfo.inverted && axisInfo.inverted) {
mainAxisBaseValueOffset = mainAxisInfo.maxValue - mainAxisInfo.invertedBaseTickValue
} else {
mainAxisBaseValueOffset = mainAxisInfo.baseTickValue - mainAxisInfo.minValue
}
valueFromAxisInfo = getAxisRange(axisInfo);
move = (mainAxisBaseValueOffset / getAxisRange(mainAxisInfo) - (axisInfo.baseTickValue - axisInfo.minValue) / valueFromAxisInfo) * valueFromAxisInfo;
axisInfo.minValue -= move;
axisInfo.maxValue -= move
}
}))
}(axesInfo);
paddings = function(axesInfo) {
var minPadding;
var maxPadding;
var startPadding = 0;
var endPadding = 0;
axesInfo.forEach((function(axisInfo) {
var inverted = axisInfo.inverted;
minPadding = axisInfo.minValue > axisInfo.oldMinValue ? (axisInfo.minValue - axisInfo.oldMinValue) / getAxisRange(axisInfo) : 0;
maxPadding = axisInfo.maxValue < axisInfo.oldMaxValue ? (axisInfo.oldMaxValue - axisInfo.maxValue) / getAxisRange(axisInfo) : 0;
startPadding = _max(startPadding, inverted ? maxPadding : minPadding);
endPadding = _max(endPadding, inverted ? minPadding : maxPadding)
}));
return {
start: startPadding,
end: endPadding
}
}(axesInfo);
paddings = function(axesInfo, paddings) {
return axesInfo.reduce((function(prev, info) {
var inverted = info.inverted;
var _info$axis$getCorrect = info.axis.getCorrectedValuesToZero(info.minValue, info.maxValue),
start = _info$axis$getCorrect.start,
end = _info$axis$getCorrect.end;
if ((0, _type.isDefined)(start) || (0, _type.isDefined)(end)) {
return inverted ? {
start: prev.start,
end: Math.min(prev.end, end)
} : {
start: Math.min(prev.start, start),
end: prev.end
}
}
return prev
}), paddings)
}(axesInfo, paddings);
! function(axesInfo, paddings) {
axesInfo.forEach((function(info) {
var range = getAxisRange(info);
var inverted = info.inverted;
info.minValue = (0, _math2.adjust)(info.minValue - paddings[inverted ? "end" : "start"] * range);
info.maxValue = (0, _math2.adjust)(info.maxValue + paddings[inverted ? "start" : "end"] * range)
}))
}(axesInfo, paddings);
! function(axesInfo) {
var invalidAxisInfo = [];
var correctValue;
axesInfo.forEach((function(info) {
if (info.oldMaxValue - info.oldMinValue === 0) {
invalidAxisInfo.push(info)
} else if (!(0, _type.isDefined)(correctValue) && !(0, _type.isDefined)(info.synchronizedValue)) {
correctValue = _abs((info.maxValue - info.minValue) / (info.tickValues[_floor(info.tickValues.length / 2)] - info.minValue || info.maxValue))
}
}));
if (!(0, _type.isDefined)(correctValue)) {
return
}
invalidAxisInfo.forEach((function(info) {
var firstTick = info.tickValues[0];
var correctedTick = firstTick * correctValue;
if (firstTick > 0) {
info.maxValue = correctedTick;
info.minValue = 0
} else if (firstTick < 0) {
info.minValue = correctedTick;
info.maxValue = 0
}
}))
}(axesInfo);
! function(axesInfo) {
var hasSynchronizedValue = false;
axesInfo.forEach((function(info) {
hasSynchronizedValue = hasSynchronizedValue || (0, _type.isDefined)(info.synchronizedValue)
}));
axesInfo.forEach((function(info) {
var tickInterval = info.tickInterval;
var tickValues = info.tickValues;
var maxValue = info.maxValue;
var minValue = info.minValue;
var tick;
if (hasSynchronizedValue && tickInterval) {
while ((tick = (0, _math2.adjust)(tickValues[0] - tickInterval)) >= minValue) {
tickValues.unshift(tick)
}
tick = tickValues[tickValues.length - 1];
while ((tick = (0, _math2.adjust)(tick + tickInterval)) <= maxValue) {
tickValues.push(tick)
}
}
while (tickValues[0] + tickInterval / 10 < minValue) {
tickValues.shift()
}
while (tickValues[tickValues.length - 1] - tickInterval / 10 > maxValue) {
tickValues.pop()
}
}))
}(axesInfo);
! function(axesInfo) {
axesInfo.forEach((function(axisInfo) {
if (!axisInfo.minorTickInterval) {
return
}
var ticks = [];
var interval = axisInfo.minorTickInterval;
var tickCount = axisInfo.tickInterval / interval - 1;
for (var i = 1; i < axisInfo.tickValues.length; i++) {
var tick = axisInfo.tickValues[i - 1];
for (var j = 0; j < tickCount; j++) {
tick += interval;
ticks.push(tick)
}
}
axisInfo.minorValues = ticks
}))
}(axesInfo);
axesInfo.forEach((function(info) {
convertAxisInfo(info, logConverter)
}));
! function(axesInfo) {
axesInfo.forEach((function(info) {
var axis = info.axis;
var range = axis.getTranslator().getBusinessRange();
if (range.min === range.minVisible) {
range.min = info.minValue
}
if (range.max === range.maxVisible) {
range.max = info.maxValue
}
range.minVisible = info.minValue;
range.maxVisible = info.maxValue;
if (range.min > range.minVisible) {
range.min = range.minVisible
}
if (range.max < range.maxVisible) {
range.max = range.maxVisible
}
axis.getTranslator().updateBusinessRange(range);
axis.setTicks({
majorTicks: info.tickValues,
minorTicks: info.minorValues
})
}))
}(axesInfo)
}
}))
}
};
var _default = multiAxesSynchronizer;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!************************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/translators/category_translator.js ***!
\************************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _math = __webpack_require__( /*! ../../core/utils/math */ 31);
var round = Math.round;
function getValue(value) {
return value
}
var _default = {
translate: function(category, directionOffset) {
var canvasOptions = this._canvasOptions;
var categoryIndex = this._categoriesToPoints[null === category || void 0 === category ? void 0 : category.valueOf()];
var specialValue = this.translateSpecialCase(category);
var startPointIndex = canvasOptions.startPointIndex || 0;
var stickInterval = this._options.stick ? 0 : .5;
if ((0, _type.isDefined)(specialValue)) {
return round(specialValue)
}
if (!categoryIndex && 0 !== categoryIndex) {
return null
}
directionOffset = directionOffset || 0;
var stickDelta = categoryIndex + stickInterval - startPointIndex + .5 * directionOffset;
return round(this._calculateProjection(canvasOptions.interval * stickDelta))
},
getInterval: function() {
return this._canvasOptions.interval
},
getEventScale: function(zoomEvent) {
var scale = zoomEvent.deltaScale || 1;
return 1 - (1 - scale) / (.75 + this.visibleCategories.length / this._categories.length)
},
zoom: function(translate, scale) {
var categories = this._categories;
var canvasOptions = this._canvasOptions;
var stick = this._options.stick;
var invert = canvasOptions.invert;
var interval = canvasOptions.interval * scale;
var translateCategories = translate / interval;
var visibleCount = (this.visibleCategories || []).length;
var startCategoryIndex = parseInt((canvasOptions.startPointIndex || 0) + translateCategories + .5);
var categoriesLength = parseInt((0, _math.adjust)(canvasOptions.canvasLength / interval) + (stick ? 1 : 0)) || 1;
var endCategoryIndex;
if (invert) {
startCategoryIndex = parseInt((canvasOptions.startPointIndex || 0) + visibleCount - translateCategories + .5) - categoriesLength
}
if (startCategoryIndex < 0) {
startCategoryIndex = 0
}
endCategoryIndex = startCategoryIndex + categoriesLength;
if (endCategoryIndex > categories.length) {
endCategoryIndex = categories.length;
startCategoryIndex = endCategoryIndex - categoriesLength;
if (startCategoryIndex < 0) {
startCategoryIndex = 0
}
}
var newVisibleCategories = categories.slice(parseInt(startCategoryIndex), parseInt(endCategoryIndex));
var newInterval = this._getDiscreteInterval(newVisibleCategories.length, canvasOptions);
scale = newInterval / canvasOptions.interval;
translate = this.translate(!invert ? newVisibleCategories[0] : newVisibleCategories[newVisibleCategories.length - 1]) * scale - (canvasOptions.startPoint + (stick ? 0 : newInterval / 2));
return {
min: newVisibleCategories[0],
max: newVisibleCategories[newVisibleCategories.length - 1],
translate: translate,
scale: scale
}
},
getMinScale: function(zoom) {
var canvasOptions = this._canvasOptions;
var categoriesLength = (this.visibleCategories || this._categories).length;
categoriesLength += (parseInt(.1 * categoriesLength) || 1) * (zoom ? -2 : 2);
return canvasOptions.canvasLength / (Math.max(categoriesLength, 1) * canvasOptions.interval)
},
getScale: function(min, max) {
var canvasOptions = this._canvasOptions;
var visibleArea = this.getCanvasVisibleArea();
var stickOffset = !this._options.stick && 1;
var minPoint = (0, _type.isDefined)(min) ? this.translate(min, -stickOffset) : null;
var maxPoint = (0, _type.isDefined)(max) ? this.translate(max, +stickOffset) : null;
if (null === minPoint) {
minPoint = canvasOptions.invert ? visibleArea.max : visibleArea.min
}
if (null === maxPoint) {
maxPoint = canvasOptions.invert ? visibleArea.min : visibleArea.max
}
return this.canvasLength / Math.abs(maxPoint - minPoint)
},
isValid: function(value) {
return (0, _type.isDefined)(value) ? this._categoriesToPoints[value.valueOf()] >= 0 : false
},
getCorrectValue: getValue,
to: function(value, direction) {
var canvasOptions = this._canvasOptions;
var categoryIndex = this._categoriesToPoints[null === value || void 0 === value ? void 0 : value.valueOf()];
var startPointIndex = canvasOptions.startPointIndex || 0;
var stickDelta = categoryIndex + (this._options.stick ? 0 : .5) - startPointIndex + (this._businessRange.invert ? -1 : 1) * direction * .5;
return round(this._calculateProjection(canvasOptions.interval * stickDelta))
},
from: function(position) {
var direction = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;
var canvasOptions = this._canvasOptions;
var startPoint = canvasOptions.startPoint;
var categories = this.visibleCategories || this._categories;
var categoriesLength = categories.length;
var stickInterval = this._options.stick ? .5 : 0;
var result = round((position - startPoint) / canvasOptions.interval + stickInterval - .5 - .5 * direction);
if (result >= categoriesLength) {
result = categoriesLength - 1
}
if (result < 0) {
result = 0
}
if (canvasOptions.invert) {
result = categoriesLength - result - 1
}
return categories[result]
},
_add: function() {
return NaN
},
toValue: getValue,
isValueProlonged: true,
getRangeByMinZoomValue: function(minZoom, visualRange) {
var categories = this._categories;
var minVisibleIndex = categories.indexOf(visualRange.minVisible);
var maxVisibleIndex = categories.indexOf(visualRange.maxVisible);
var startIndex = minVisibleIndex + minZoom - 1;
var endIndex = maxVisibleIndex - minZoom + 1;
if (categories[startIndex]) {
return [visualRange.minVisible, categories[startIndex]]
} else {
return [categories[endIndex], visualRange.maxVisible]
}
}
};
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!************************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/translators/interval_translator.js ***!
\************************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _date = (obj = __webpack_require__( /*! ../../core/utils/date */ 19), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _math = __webpack_require__( /*! ../../core/utils/math */ 31);
var floor = Math.floor;
var _default = {
_intervalize: function(value, interval) {
if (!(0, _type.isDefined)(value)) {
return
}
if ("datetime" === this._businessRange.dataType) {
if ((0, _type.isNumeric)(value)) {
value = new Date(value)
} else {
value = new Date(value.getTime())
}
value = _date.default.correctDateWithUnitBeginning(value, interval, null, this._options.firstDayOfWeek)
} else {
value = (0, _math.adjust)(floor((0, _math.adjust)(value / interval)) * interval, interval)
}
return value
},
translate: function(bp, direction, interval) {
var specialValue = this.translateSpecialCase(bp);
if ((0, _type.isDefined)(specialValue)) {
return Math.round(specialValue)
}
interval = interval || this._options.interval;
if (!this.isValid(bp, interval)) {
return null
}
return this.to(bp, direction, interval)
},
getInterval: function() {
return Math.round(this._canvasOptions.ratioOfCanvasRange * (this._businessRange.interval || Math.abs(this._canvasOptions.rangeMax - this._canvasOptions.rangeMin)))
},
zoom: function() {},
getMinScale: function() {},
getScale: function() {},
_parse: function(value) {
return "datetime" === this._businessRange.dataType ? new Date(value) : Number(value)
},
fromValue: function(value) {
return this._parse(value)
},
toValue: function(value) {
return this._parse(value)
},
isValid: function(value, interval) {
var co = this._canvasOptions;
var rangeMin = co.rangeMin;
var rangeMax = co.rangeMax;
interval = interval || this._options.interval;
if (null === value || isNaN(value)) {
return false
}
value = "datetime" === this._businessRange.dataType && (0, _type.isNumeric)(value) ? new Date(value) : value;
if (interval !== this._options.interval) {
rangeMin = this._intervalize(rangeMin, interval);
rangeMax = this._intervalize(rangeMax, interval)
}
if (value.valueOf() < rangeMin || value.valueOf() >= _date.default.addInterval(rangeMax, interval)) {
return false
}
return true
},
to: function(bp, direction, interval) {
interval = interval || this._options.interval;
var v1 = this._intervalize(bp, interval);
var v2 = _date.default.addInterval(v1, interval);
var res = this._to(v1);
var p2 = this._to(v2);
if (!direction) {
res = floor((res + p2) / 2)
} else if (direction > 0) {
res = p2
}
return res
},
_to: function(value) {
var co = this._canvasOptions;
var rMin = co.rangeMinVisible;
var rMax = co.rangeMaxVisible;
var offset = value - rMin;
if (value < rMin) {
offset = 0
} else if (value > rMax) {
offset = _date.default.addInterval(rMax, this._options.interval) - rMin
}
return this._conversionValue(this._calculateProjection(offset * this._canvasOptions.ratioOfCanvasRange))
},
from: function(position, direction) {
var origInterval = this._options.interval;
var interval = origInterval;
var co = this._canvasOptions;
var rMin = co.rangeMinVisible;
var rMax = co.rangeMaxVisible;
var value;
if ("datetime" === this._businessRange.dataType) {
interval = _date.default.dateToMilliseconds(origInterval)
}
value = this._calculateUnProjection((position - this._canvasOptions.startPoint) / this._canvasOptions.ratioOfCanvasRange);
value = this._intervalize(_date.default.addInterval(value, interval / 2, direction > 0), origInterval);
if (value < rMin) {
value = rMin
} else if (value > rMax) {
value = rMax
}
return value
},
_add: function() {
return NaN
},
isValueProlonged: true
};
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!************************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/translators/datetime_translator.js ***!
\************************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _date = (obj = __webpack_require__( /*! ../../core/utils/date */ 19), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
function parse(value) {
return null !== value ? new Date(value) : value
}
var _default = {
fromValue: parse,
toValue: parse,
_add: _date.default.addDateInterval,
convert: _date.default.dateToMilliseconds
};
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!***************************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/translators/logarithmic_translator.js ***!
\***************************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _default = {
fromValue: function(value) {
return null !== value ? (0, _utils.getLogExt)(value, this._canvasOptions.base, this._businessRange.allowNegatives, this._businessRange.linearThreshold) : value
},
toValue: function(value) {
return null !== value ? (0, _utils.raiseToExt)(value, this._canvasOptions.base, this._businessRange.allowNegatives, this._businessRange.linearThreshold) : value
},
getMinBarSize: function(minBarSize) {
var visibleArea = this.getCanvasVisibleArea();
var minValue = this.from(visibleArea.min + minBarSize);
var canvasOptions = this._canvasOptions;
return Math.pow(canvasOptions.base, canvasOptions.rangeMinVisible + this.fromValue(this.from(visibleArea.min)) - this.fromValue(!(0, _type.isDefined)(minValue) ? this.from(visibleArea.max) : minValue))
},
checkMinBarSize: function(initialValue, minShownValue, stackValue) {
var canvasOptions = this._canvasOptions;
var prevValue = stackValue - initialValue;
var baseMethod = this.constructor.prototype.checkMinBarSize;
var minBarSize;
var updateValue;
if ((0, _type.isDefined)(minShownValue) && prevValue > 0) {
minBarSize = baseMethod(this.fromValue(stackValue / prevValue), this.fromValue(minShownValue) - canvasOptions.rangeMinVisible);
updateValue = Math.pow(canvasOptions.base, this.fromValue(prevValue) + minBarSize) - prevValue
} else {
updateValue = baseMethod(initialValue, minShownValue)
}
return updateValue
}
};
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/axes/datetime_breaks.js ***!
\*************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.generateDateBreaks = function(min, max, workWeek, singleWorkdays, holidays) {
var weekendDayIndices = function(workDays) {
var indices = (workdays = workDays, days.filter((function(day) {
return !workdays.some((function(workDay) {
return workDay === day
}))
})));
var workdays;
if (indices.length < 7) {
while (getNextDayIndex(indices[indices.length - 1]) === indices[0]) {
indices.unshift(indices.pop())
}
}
return indices
}(workWeek);
var breaks = function(min, max, weekendDayIndices) {
var day = min.getDate();
var breaks = [];
var weekends = weekendDayIndices.reduce((function(obj, day) {
var currentWeekEnd = obj[1];
if (void 0 === currentWeekEnd.start) {
currentWeekEnd = {
start: day,
end: getNextDayIndex(day)
};
obj[0].push(currentWeekEnd);
return [obj[0], currentWeekEnd]
} else if (currentWeekEnd.end === day) {
currentWeekEnd.end = getNextDayIndex(day);
return obj
}
currentWeekEnd = {
start: day,
end: getNextDayIndex(day)
};
obj[0].push(currentWeekEnd);
return [obj[0], currentWeekEnd]
}), [
[], {}
]);
weekends[0].forEach((function(weekend) {
var currentDate = new Date(min);
currentDate = _date.default.trimTime(currentDate);
while (currentDate < max) {
day = currentDate.getDay();
var date = currentDate.getDate();
if (dayBetweenWeekend(weekend, day)) {
var from = new Date(currentDate);
currentDate.setDate(date + getDaysDistance(day, weekend.end));
var to = new Date(currentDate);
breaks.push({
from: from,
to: to
})
}
currentDate.setDate(currentDate.getDate() + 1)
}
}));
return breaks
}(min, max, weekendDayIndices);
breaks.push.apply(breaks, function(min, max, holidays, weekendDayIndices) {
var day;
var dayInWeekend = function(dayIndex) {
return dayIndex === day
};
var adjustedMin = _date.default.trimTime(min);
var adjustedMax = _date.default.trimTime(max);
adjustedMax.setDate(max.getDate() + 1);
return holidays.reduce((function(breaks, holiday) {
var holidayStart;
var holidayEnd;
holiday = new Date(holiday);
day = holiday.getDay();
if (!weekendDayIndices.some(dayInWeekend) && holiday >= adjustedMin && holiday <= adjustedMax) {
holidayStart = _date.default.trimTime(holiday);
holidayEnd = new Date(holidayStart);
holidayEnd.setDate(holidayStart.getDate() + 1);
breaks.push({
from: holidayStart,
to: holidayEnd
})
}
return breaks
}), [])
}(min, max, holidays || [], weekendDayIndices));
return function(breaks) {
return breaks.map((function(b) {
return {
from: b.from,
to: b.to,
gapSize: _date.default.convertMillisecondsToDateUnits(b.to - b.from)
}
}))
}(function(breaks, exactWorkDays) {
var result = breaks.slice();
var i;
var processWorkDay = function(workday) {
workday = _date.default.trimTime(new Date(workday));
if (result[i].from <= workday && result[i].to > workday) {
var separatedBreak = function(scaleBreak, day) {
var result = [];
var dayEnd = new Date(day);
dayEnd.setDate(day.getDate() + 1);
if (day > scaleBreak.from) {
result.push({
from: scaleBreak.from,
to: day
})
}
if (dayEnd < scaleBreak.to) {
result.push({
from: dayEnd,
to: scaleBreak.to
})
}
return result
}(result[i], workday);
if (2 === separatedBreak.length) {
result.splice(i, 1, separatedBreak[0], separatedBreak[1])
} else if (1 === separatedBreak.length) {
result.splice(i, 1, separatedBreak[0])
} else {
result.splice(i, 1)
}
}
};
for (i = 0; i < result.length; i++) {
exactWorkDays.forEach(processWorkDay)
}
return result
}(breaks, singleWorkdays || []))
};
var _date = (obj = __webpack_require__( /*! ../../core/utils/date */ 19), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var days = [0, 1, 2, 3, 4, 5, 6];
function getNextDayIndex(dayIndex) {
return (dayIndex + 1) % 7
}
function dayBetweenWeekend(weekend, day) {
var start = weekend.start;
var end = weekend.end;
while (start !== end) {
if (start === day) {
return true
}
start = getNextDayIndex(start)
}
return false
}
function getDaysDistance(day, end) {
var length = 0;
while (day !== end) {
day = getNextDayIndex(day);
length++
}
return length
}
},
/*!********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/axes/polar_axes.js ***!
\********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.linearSpider = exports.linear = exports.circularSpider = exports.circular = void 0;
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _extend = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _axes_constants = _interopRequireDefault(__webpack_require__( /*! ./axes_constants */ 232));
var _xy_axes = _interopRequireDefault(__webpack_require__( /*! ./xy_axes */ 506));
var _tick = __webpack_require__( /*! ./tick */ 505);
var _axes_utils = __webpack_require__( /*! ./axes_utils */ 507);
var _common = __webpack_require__( /*! ../../core/utils/common */ 4);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var PI = Math.PI,
abs = Math.abs,
atan = Math.atan,
round = Math.round;
var _min = Math.min;
var _max = Math.max;
var xyAxesLinear = _xy_axes.default.linear;
function getPolarQuarter(angle) {
var quarter;
angle = (0, _utils.normalizeAngle)(angle);
if (angle >= 315 && angle <= 360 || angle < 45 && angle >= 0) {
quarter = 1
} else if (angle >= 45 && angle < 135) {
quarter = 2
} else if (angle >= 135 && angle < 225) {
quarter = 3
} else if (angle >= 225 && angle < 315) {
quarter = 4
}
return quarter
}
var circularAxes = {
_calculateValueMargins: function(ticks) {
var _this$_getViewportRan = this._getViewportRange(),
minVisible = _this$_getViewportRan.minVisible,
maxVisible = _this$_getViewportRan.maxVisible;
if (ticks && ticks.length > 1) {
minVisible = minVisible < ticks[0].value ? minVisible : ticks[0].value;
maxVisible = minVisible > ticks[ticks.length - 1].value ? maxVisible : ticks[ticks.length - 1].value
}
return {
minValue: minVisible,
maxValue: maxVisible
}
},
applyMargins: function() {
var margins = this._calculateValueMargins(this._majorTicks);
var br = this._translator.getBusinessRange();
br.addRange({
minVisible: margins.minValue,
maxVisible: margins.maxValue,
interval: this._calculateRangeInterval(br.interval)
});
this._translator.updateBusinessRange(br)
},
_getTranslatorOptions: function() {
return {
isHorizontal: true,
conversionValue: true,
addSpiderCategory: this._getSpiderCategoryOption(),
stick: this._getStick()
}
},
getCenter: function() {
return this._center
},
getRadius: function() {
return this._radius
},
getAngles: function() {
var options = this._options;
return [options.startAngle, options.endAngle]
},
_updateRadius: function(canvas) {
var rad = _min(canvas.width - canvas.left - canvas.right, canvas.height - canvas.top - canvas.bottom) / 2;
this._radius = rad < 0 ? 0 : rad
},
_updateCenter: function(canvas) {
this._center = {
x: canvas.left + (canvas.width - canvas.right - canvas.left) / 2,
y: canvas.top + (canvas.height - canvas.top - canvas.bottom) / 2
}
},
_processCanvas: function(canvas) {
this._updateRadius(canvas);
this._updateCenter(canvas);
return {
left: 0,
right: 0,
width: this._getScreenDelta()
}
},
_createAxisElement: function() {
return this._renderer.circle()
},
_updateAxisElementPosition: function() {
var center = this.getCenter();
this._axisElement.attr({
cx: center.x,
cy: center.y,
r: this.getRadius()
})
},
_boundaryTicksVisibility: {
min: true
},
_getSpiderCategoryOption: function() {
return this._options.firstPointOnStartAngle
},
_validateOptions: function(options) {
var originValue = options.originValue;
var wholeRange = options.wholeRange = {};
var period = options.period;
if ((0, _type.isDefined)(originValue)) {
originValue = this.validateUnit(originValue)
}
if (period > 0 && options.argumentType === _axes_constants.default.numeric) {
originValue = originValue || 0;
wholeRange.endValue = originValue + period;
this._viewport = (0, _utils.getVizRangeObject)([originValue, wholeRange.endValue])
}
if ((0, _type.isDefined)(originValue)) {
wholeRange.startValue = originValue
}
},
getMargins: function() {
var tickOptions = this._options.tick;
var tickOuterLength = _max(tickOptions.visible ? tickOptions.length / 2 + tickOptions.shift : 0, 0);
var radius = this.getRadius();
var _this$_center = this._center,
x = _this$_center.x,
y = _this$_center.y;
var labelBoxes = this._majorTicks.map((function(t) {
return t.label && t.label.getBBox()
})).filter((function(b) {
return b
}));
var canvas = (0, _extend.extend)({}, this._canvas, {
left: x - radius,
top: y - radius,
right: this._canvas.width - (x + radius),
bottom: this._canvas.height - (y + radius)
});
var margins = (0, _axes_utils.calculateCanvasMargins)(labelBoxes, canvas);
Object.keys(margins).forEach((function(k) {
return margins[k] = margins[k] < tickOuterLength ? tickOuterLength : margins[k]
}));
return margins
},
_updateLabelsPosition: function() {
(0, _axes_utils.measureLabels)(this._majorTicks);
this._adjustLabelsCoord(0, 0, true);
this._checkBoundedLabelsOverlapping(this._majorTicks, this._majorTicks.map((function(t) {
return t.labelBBox
})))
},
_setVisualRange: _common.noop,
applyVisualRangeSetter: _common.noop,
_getStick: function() {
return this._options.firstPointOnStartAngle || this._options.type !== _axes_constants.default.discrete
},
_getTranslatedCoord: function(value, offset) {
return this._translator.translate(value, offset) - 90
},
_getCanvasStartEnd: function() {
return {
start: -90,
end: 270
}
},
_getStripGraphicAttributes: function(fromAngle, toAngle) {
var center = this.getCenter();
var angle = this.getAngles()[0];
var r = this.getRadius();
return {
x: center.x,
y: center.y,
innerRadius: 0,
outerRadius: r,
startAngle: -toAngle - angle,
endAngle: -fromAngle - angle
}
},
_createStrip: function(coords) {
return this._renderer.arc(coords.x, coords.y, coords.innerRadius, coords.outerRadius, coords.startAngle, coords.endAngle)
},
_getStripLabelCoords: function(from, to) {
var coords = this._getStripGraphicAttributes(from, to);
var angle = coords.startAngle + (coords.endAngle - coords.startAngle) / 2;
var cosSin = (0, _utils.getCosAndSin)(angle);
var halfRad = this.getRadius() / 2;
var center = this.getCenter();
var x = round(center.x + halfRad * cosSin.cos);
var y = round(center.y - halfRad * cosSin.sin);
return {
x: x,
y: y,
align: _axes_constants.default.center
}
},
_getConstantLineGraphicAttributes: function(value) {
var center = this.getCenter();
var r = this.getRadius();
return {
points: [center.x, center.y, center.x + r, center.y]
}
},
_createConstantLine: function(value, attr) {
return this._createPathElement(this._getConstantLineGraphicAttributes(value).points, attr)
},
_rotateConstantLine: function(line, value) {
var _this$getCenter = this.getCenter(),
x = _this$getCenter.x,
y = _this$getCenter.y;
line.rotate(value + this.getAngles()[0], x, y)
},
_getConstantLineLabelsCoords: function(value) {
var cosSin = (0, _utils.getCosAndSin)(-value - this.getAngles()[0]);
var halfRad = this.getRadius() / 2;
var center = this.getCenter();
var x = round(center.x + halfRad * cosSin.cos);
var y = round(center.y - halfRad * cosSin.sin);
return {
x: x,
y: y
}
},
_checkAlignmentConstantLineLabels: _common.noop,
_adjustDivisionFactor: function(val) {
return 180 * val / (this.getRadius() * PI)
},
_getScreenDelta: function() {
var angles = this.getAngles();
return abs(angles[0] - angles[1])
},
_getTickMarkPoints: function(coords, length, _ref) {
var _ref$shift = _ref.shift,
shift = void 0 === _ref$shift ? 0 : _ref$shift;
var center = this.getCenter();
var radiusWithTicks = this.getRadius() + length * {
inside: -1,
center: -.5,
outside: 0
} [this._options.tickOrientation || "center"];
return [center.x + radiusWithTicks + shift, center.y, center.x + radiusWithTicks + length + shift, center.y]
},
_getLabelAdjustedCoord: function(tick, _offset, _maxWidth, checkCanvas) {
var labelCoords = tick.labelCoords;
var labelY = labelCoords.y;
var labelAngle = labelCoords.angle;
var cosSin = (0, _utils.getCosAndSin)(labelAngle);
var cos = cosSin.cos;
var sin = cosSin.sin;
var box = tick.labelBBox;
var halfWidth = box.width / 2;
var halfHeight = box.height / 2;
var indentFromAxis = this._options.label.indentFromAxis || 0;
var x = labelCoords.x + indentFromAxis * cos;
var y = labelY + (labelY - box.y - halfHeight) + indentFromAxis * sin;
var shiftX = 0;
var shiftY = 0;
switch (getPolarQuarter(labelAngle)) {
case 1:
shiftX = halfWidth;
shiftY = halfHeight * sin;
break;
case 2:
shiftX = halfWidth * cos;
shiftY = halfHeight;
break;
case 3:
shiftX = -halfWidth;
shiftY = halfHeight * sin;
break;
case 4:
shiftX = halfWidth * cos;
shiftY = -halfHeight
}
if (checkCanvas) {
var canvas = this._canvas;
var boxShiftX = x - labelCoords.x + shiftX;
var boxShiftY = y - labelCoords.y + shiftY;
if (box.x + boxShiftX < canvas.originalLeft) {
shiftX -= box.x + boxShiftX - canvas.originalLeft
}
if (box.x + box.width + boxShiftX > canvas.width - canvas.originalRight) {
shiftX -= box.x + box.width + boxShiftX - (canvas.width - canvas.originalRight)
}
if (box.y + boxShiftY < canvas.originalTop) {
shiftY -= box.y + boxShiftY - canvas.originalTop
}
if (box.y + box.height + boxShiftY > canvas.height - canvas.originalBottom) {
shiftY -= box.y + box.height + boxShiftY - (canvas.height - canvas.originalBottom)
}
}
return {
x: x + shiftX,
y: y + shiftY
}
},
_getGridLineDrawer: function() {
var that = this;
return function(tick, gridStyle) {
var center = that.getCenter();
return that._createPathElement(that._getGridPoints().points, gridStyle).rotate(tick.coords.angle, center.x, center.y)
}
},
_getGridPoints: function() {
var r = this.getRadius();
var center = this.getCenter();
return {
points: [center.x, center.y, center.x + r, center.y]
}
},
_getTranslatedValue: function(value, offset) {
var startAngle = this.getAngles()[0];
var angle = this._translator.translate(value, -offset);
var coords = (0, _utils.convertPolarToXY)(this.getCenter(), startAngle, angle, this.getRadius());
return {
x: coords.x,
y: coords.y,
angle: this.getTranslatedAngle(angle)
}
},
_getAdjustedStripLabelCoords: function(strip) {
var box = strip.labelBBox;
return {
translateY: strip.label.attr("y") - box.y - box.height / 2
}
},
coordsIn: function(x, y) {
return (0, _utils.convertXYToPolar)(this.getCenter(), x, y).r > this.getRadius()
},
_rotateTick: function(element, coords) {
var center = this.getCenter();
element.rotate(coords.angle, center.x, center.y)
},
_validateOverlappingMode: function(mode) {
return _axes_constants.default.validateOverlappingMode(mode)
},
_validateDisplayMode: function() {
return "standard"
},
_getStep: function(boxes) {
var radius = this.getRadius() + (this._options.label.indentFromAxis || 0);
var maxLabelBox = boxes.reduce((function(prevValue, box) {
var curValue = prevValue;
if (prevValue.width < box.width) {
curValue.width = box.width
}
if (prevValue.height < box.height) {
curValue.height = box.height
}
return curValue
}), {
width: 0,
height: 0
});
var angle1 = abs(2 * atan(maxLabelBox.height / (2 * radius - maxLabelBox.width)) * 180 / PI);
var angle2 = abs(2 * atan(maxLabelBox.width / (2 * radius - maxLabelBox.height)) * 180 / PI);
return _axes_constants.default.getTicksCountInRange(this._majorTicks, "angle", _max(angle1, angle2))
},
_checkBoundedLabelsOverlapping: function(majorTicks, boxes, mode) {
var labelOpt = this._options.label;
mode = mode || this._validateOverlappingMode(labelOpt.overlappingBehavior);
if ("hide" !== mode) {
return
}
var lastVisibleLabelIndex = majorTicks.reduce((function(lastVisibleLabelIndex, tick, index) {
return tick.label ? index : lastVisibleLabelIndex
}), null);
if (!lastVisibleLabelIndex) {
return
}
if (_axes_constants.default.areLabelsOverlap(boxes[0], boxes[lastVisibleLabelIndex], labelOpt.minSpacing, _axes_constants.default.center)) {
"first" === labelOpt.hideFirstOrLast ? majorTicks[0].removeLabel() : majorTicks[lastVisibleLabelIndex].removeLabel()
}
},
shift: function(margins) {
this._axisGroup.attr({
translateX: margins.right,
translateY: margins.bottom
});
this._axisElementsGroup.attr({
translateX: margins.right,
translateY: margins.bottom
})
},
getTranslatedAngle: function(angle) {
var startAngle = this.getAngles()[0];
return angle + startAngle - 90
}
};
var circular = circularAxes;
exports.circular = circular;
var circularSpider = (0, _extend.extend)({}, circularAxes, {
_createAxisElement: function() {
return this._renderer.path([], "area")
},
_updateAxisElementPosition: function() {
this._axisElement.attr({
points: (0, _utils.map)(this.getSpiderTicks(), (function(tick) {
return {
x: tick.coords.x,
y: tick.coords.y
}
}))
})
},
_getStick: function() {
return true
},
_getSpiderCategoryOption: function() {
return true
},
getSpiderTicks: function() {
var ticks = this.getFullTicks();
this._spiderTicks = ticks.map((0, _tick.tick)(this, this.renderer, {}, {}, this._getSkippedCategory(ticks), true));
this._spiderTicks.forEach((function(tick) {
tick.initCoords()
}));
return this._spiderTicks
},
_getStripGraphicAttributes: function(fromAngle, toAngle) {
var center = this.getCenter();
var spiderTicks = this.getSpiderTicks();
var firstTick;
var lastTick;
var nextTick;
var tick;
var points = [];
var i = 0;
var len = spiderTicks.length;
while (i < len) {
tick = spiderTicks[i].coords;
if (tick.angle >= fromAngle && tick.angle <= toAngle) {
if (!firstTick) {
firstTick = (spiderTicks[i - 1] || spiderTicks[spiderTicks.length - 1]).coords;
points.push((tick.x + firstTick.x) / 2, (tick.y + firstTick.y) / 2)
}
points.push(tick.x, tick.y);
nextTick = (spiderTicks[i + 1] || spiderTicks[0]).coords;
lastTick = {
x: (tick.x + nextTick.x) / 2,
y: (tick.y + nextTick.y) / 2
}
}
i++
}
points.push(lastTick.x, lastTick.y);
points.push(center.x, center.y);
return {
points: points
}
},
_createStrip: function(_ref2) {
var points = _ref2.points;
return this._renderer.path(points, "area")
},
_getTranslatedCoord: function(value, offset) {
return this._translator.translate(value, offset) - 90
},
_setTickOffset: function() {
this._tickOffset = false
}
});
exports.circularSpider = circularSpider;
var linear = {
_resetMargins: function() {
this._reinitTranslator(this._getViewportRange())
},
_getStick: xyAxesLinear._getStick,
_getSpiderCategoryOption: _common.noop,
_getTranslatorOptions: function() {
return {
isHorizontal: true,
stick: this._getStick()
}
},
getRadius: circularAxes.getRadius,
getCenter: circularAxes.getCenter,
getAngles: circularAxes.getAngles,
_updateRadius: circularAxes._updateRadius,
_updateCenter: circularAxes._updateCenter,
_processCanvas: function(canvas) {
this._updateRadius(canvas);
this._updateCenter(canvas);
return {
left: 0,
right: 0,
startPadding: canvas.startPadding,
endPadding: canvas.endPadding,
width: this.getRadius()
}
},
_createAxisElement: xyAxesLinear._createAxisElement,
_updateAxisElementPosition: function() {
var centerCoord = this.getCenter();
this._axisElement.attr({
points: [centerCoord.x, centerCoord.y, centerCoord.x + this.getRadius(), centerCoord.y]
}).rotate(this.getAngles()[0] - 90, centerCoord.x, centerCoord.y)
},
_getScreenDelta: function() {
return this.getRadius()
},
_getTickMarkPoints: function(coords, length) {
return [coords.x - length / 2, coords.y, coords.x + length / 2, coords.y]
},
_getLabelAdjustedCoord: function(tick) {
var labelCoords = tick.labelCoords;
var labelY = labelCoords.y;
var cosSin = (0, _utils.getCosAndSin)(labelCoords.angle);
var indentFromAxis = this._options.label.indentFromAxis || 0;
var box = tick.labelBBox;
var x = labelCoords.x - abs(indentFromAxis * cosSin.sin) + abs(box.width / 2 * cosSin.cos) - box.width / 2;
var y = labelY + (labelY - box.y) - abs(box.height / 2 * cosSin.sin) + abs(indentFromAxis * cosSin.cos);
return {
x: x,
y: y
}
},
_getGridLineDrawer: function() {
var that = this;
return function(tick, gridStyle) {
var grid = that._getGridPoints(tick.coords);
return that._renderer.circle(grid.cx, grid.cy, grid.r).attr(gridStyle).sharp()
}
},
_getGridPoints: function(coords) {
var pos = this.getCenter();
var radius = (0, _utils.getDistance)(pos.x, pos.y, coords.x, coords.y);
if (radius > this.getRadius()) {
return {
cx: null,
cy: null,
r: null
}
}
return {
cx: pos.x,
cy: pos.y,
r: radius
}
},
_getTranslatedValue: function(value, offset) {
var startAngle = this.getAngles()[0];
var xy = (0, _utils.convertPolarToXY)(this.getCenter(), startAngle, 0, this._translator.translate(value, offset));
return {
x: xy.x,
y: xy.y,
angle: startAngle - 90
}
},
_getTranslatedCoord: function(value, offset) {
return this._translator.translate(value, offset)
},
_getCanvasStartEnd: function() {
var invert = this.getTranslator().getBusinessRange().invert;
var coords = [0, this.getRadius()];
invert && coords.reverse();
return {
start: coords[0],
end: coords[1]
}
},
_getStripGraphicAttributes: function(fromPoint, toPoint) {
var center = this.getCenter();
return {
x: center.x,
y: center.y,
innerRadius: fromPoint,
outerRadius: toPoint
}
},
_createStrip: function(attrs) {
return this._renderer.arc(attrs.x, attrs.y, attrs.innerRadius, attrs.outerRadius, 0, 360)
},
_getAdjustedStripLabelCoords: circularAxes._getAdjustedStripLabelCoords,
_getStripLabelCoords: function(from, to) {
var labelPos = from + (to - from) / 2;
var center = this.getCenter();
var y = round(center.y - labelPos);
return {
x: center.x,
y: y,
align: _axes_constants.default.center
}
},
_getConstantLineGraphicAttributes: function(value) {
var center = this.getCenter();
return {
cx: center.x,
cy: center.y,
r: value
}
},
_createConstantLine: function(value, attr) {
var attrs = this._getConstantLineGraphicAttributes(value);
return this._renderer.circle(attrs.cx, attrs.cy, attrs.r).attr(attr).sharp()
},
_getConstantLineLabelsCoords: function(value) {
var center = this.getCenter();
var y = round(center.y - value);
return {
x: center.x,
y: y
}
},
_checkAlignmentConstantLineLabels: _common.noop,
_rotateTick: function(element, coords, isGridLine) {
!isGridLine && element.rotate(coords.angle + 90, coords.x, coords.y)
},
_validateOverlappingMode: circularAxes._validateOverlappingMode,
_validateDisplayMode: circularAxes._validateDisplayMode,
_getStep: function(boxes) {
var quarter = getPolarQuarter(this.getAngles()[0]);
var spacing = this._options.label.minSpacing;
var func = 2 === quarter || 4 === quarter ? function(box) {
return box.width + spacing
} : function(box) {
return box.height
};
var maxLabelLength = boxes.reduce((function(prevValue, box) {
return _max(prevValue, func(box))
}), 0);
return _axes_constants.default.getTicksCountInRange(this._majorTicks, 2 === quarter || 4 === quarter ? "x" : "y", maxLabelLength)
}
};
exports.linear = linear;
var linearSpider = (0, _extend.extend)({}, linear, {
_createPathElement: function(points, attr) {
return this._renderer.path(points, "area").attr(attr).sharp()
},
setSpiderTicks: function(ticks) {
this._spiderTicks = ticks
},
_getGridLineDrawer: function() {
var that = this;
return function(tick, gridStyle) {
return that._createPathElement(that._getGridPoints(tick.coords).points, gridStyle)
}
},
_getGridPoints: function(coords) {
var pos = this.getCenter();
var radius = (0, _utils.getDistance)(pos.x, pos.y, coords.x, coords.y);
return this._getGridPointsByRadius(radius)
},
_getGridPointsByRadius: function(radius) {
var pos = this.getCenter();
if (radius > this.getRadius()) {
return {
points: null
}
}
return {
points: (0, _utils.map)(this._spiderTicks, (function(tick) {
var cosSin = (0, _utils.getCosAndSin)(tick.coords.angle);
return {
x: round(pos.x + radius * cosSin.cos),
y: round(pos.y + radius * cosSin.sin)
}
}))
}
},
_getStripGraphicAttributes: function(fromPoint, toPoint) {
var innerPoints = this._getGridPointsByRadius(toPoint).points;
var outerPoints = this._getGridPointsByRadius(fromPoint).points;
return {
points: [outerPoints, innerPoints.reverse()]
}
},
_createStrip: circularSpider._createStrip,
_getConstantLineGraphicAttributes: function(value) {
return this._getGridPointsByRadius(value)
},
_createConstantLine: function(value, attr) {
return this._createPathElement(this._getConstantLineGraphicAttributes(value).points, attr)
}
});
exports.linearSpider = linearSpider
},
/*!***********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/axes/constant_line.js ***!
\***********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = function(axis, options) {
var labelOptions = options.label || {};
var labelPosition = labelOptions.position || "inside";
var parsedValue;
var valueIsParsed = false;
var lastStoredCoordinates;
axis._checkAlignmentConstantLineLabels(labelOptions);
var storedCoord;
return {
options: options,
labelOptions: labelOptions,
labelPosition: labelPosition,
label: null,
line: null,
getParsedValue: function() {
if (!valueIsParsed) {
parsedValue = axis.validateUnit(options.value, "E2105", "constantLine");
valueIsParsed = true;
return parsedValue
}
return parsedValue
},
draw: function() {
if (!(0, _type.isDefined)(options.value) || axis._translator.getBusinessRange().isEmpty()) {
return this
}
var canvas = axis._getCanvasStartEnd();
var parsedValue = this.getParsedValue();
this.coord = axis._getConstantLinePos(parsedValue, canvas.start, canvas.end);
var rootGroup = options.displayBehindSeries ? axis._axisConstantLineGroups.under : axis._axisConstantLineGroups.above;
var group = rootGroup[labelPosition];
if (!group) {
var side = axis._isHorizontal ? labelOptions.verticalAlignment : labelOptions.horizontalAlignment;
group = rootGroup[side]
}
if (!(0, _type.isDefined)(this.coord)) {
return this
}
var path = axis._createConstantLine(this.coord, {
stroke: options.color,
"stroke-width": options.width,
dashStyle: options.dashStyle
});
this.line = path.append(rootGroup.inside);
this.label = labelOptions.visible ? axis._drawConstantLineLabels(parsedValue, labelOptions, this.coord, group) : null;
this.updatePosition();
return this
},
getContentContainer: function() {
return this.label
},
removeLabel: function() {
this.label && this.label.remove()
},
updatePosition: function(animate) {
var canvas = axis._getCanvasStartEnd();
var coord = axis._getConstantLinePos(this.getParsedValue(), canvas.start, canvas.end);
if (!(0, _type.isDefined)(coord)) {
return
}
this.coord = coord;
if (animate && storedCoord) {
this.label && this.label.attr(axis._getConstantLineLabelsCoords(storedCoord, this.labelOptions));
this.line && this.line.attr(axis._getConstantLineGraphicAttributes(storedCoord));
this.label && this.label.animate(axis._getConstantLineLabelsCoords(this.coord, this.labelOptions));
this.line && this.line.animate(axis._getConstantLineGraphicAttributes(this.coord))
} else {
this.label && this.label.attr(axis._getConstantLineLabelsCoords(this.coord, this.labelOptions));
this.line && this.line.attr(axis._getConstantLineGraphicAttributes(this.coord));
axis._rotateConstantLine(this.line, this.coord)
}
},
saveCoords: function() {
lastStoredCoordinates = storedCoord;
storedCoord = this.coord
},
resetCoordinates: function() {
storedCoord = lastStoredCoordinates
}
}
};
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
module.exports = exports.default;
module.exports.default = exports.default
},
/*!***************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/axes/strip.js ***!
\***************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = function(axis, options) {
var storedCoord;
var lastStoredCoordinates;
var labelOptions = options.label || {};
return {
options: options,
label: null,
rect: null,
_getCoord: function() {
var canvas = axis._getCanvasStartEnd();
var range = axis._translator.getBusinessRange();
return axis._getStripPos(options.startValue, options.endValue, canvas.start, canvas.end, range)
},
_drawLabel: function(coords) {
return axis._renderer.text(labelOptions.text, coords.x, coords.y).css((0, _utils.patchFontOptions)((0, _extend.extend)({}, axis.getOptions().label.font, labelOptions.font))).attr({
align: "center",
class: labelOptions.cssClass
}).append(axis._axisStripLabelGroup)
},
draw: function() {
if (axis._translator.getBusinessRange().isEmpty()) {
return
}
if (((0, _type.isDefined)(options.startValue) || (0, _type.isDefined)(options.endValue)) && (0, _type.isDefined)(options.color)) {
var stripPos = this._getCoord();
this.labelCoords = labelOptions.text ? axis._getStripLabelCoords(stripPos.from, stripPos.to, labelOptions) : null;
if (stripPos.outOfCanvas || !(0, _type.isDefined)(stripPos.to) || !(0, _type.isDefined)(stripPos.from)) {
return
}
this.rect = axis._createStrip(axis._getStripGraphicAttributes(stripPos.from, stripPos.to)).attr({
fill: options.color
}).append(axis._axisStripGroup);
this.label = labelOptions.text ? this._drawLabel(this.labelCoords) : null
}
},
getContentContainer: function() {
return this.label
},
removeLabel: function() {},
updatePosition: function(animate) {
var stripPos = this._getCoord();
if (animate && storedCoord) {
this.label && this.label.attr(axis._getStripLabelCoords(storedCoord.from, storedCoord.to, options.label));
this.rect && this.rect.attr(axis._getStripGraphicAttributes(storedCoord.from, storedCoord.to));
this.label && this.label.animate(axis._getStripLabelCoords(stripPos.from, stripPos.to, options.label));
this.rect && this.rect.animate(axis._getStripGraphicAttributes(stripPos.from, stripPos.to))
} else {
this.label && this.label.attr(axis._getStripLabelCoords(stripPos.from, stripPos.to, options.label));
this.rect && this.rect.attr(axis._getStripGraphicAttributes(stripPos.from, stripPos.to))
}
},
saveCoords: function() {
lastStoredCoordinates = storedCoord;
storedCoord = this._getCoord()
},
resetCoordinates: function() {
storedCoord = lastStoredCoordinates
}
}
};
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _extend = __webpack_require__( /*! ../../core/utils/extend */ 0);
module.exports = exports.default;
module.exports.default = exports.default
},
/*!********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/chart_components/scroll_bar.js ***!
\********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.ScrollBar = void 0;
var _events_engine = (obj = __webpack_require__( /*! ../../events/core/events_engine */ 5), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _index = __webpack_require__( /*! ../../events/utils/index */ 9);
var _extend = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _translator2d = __webpack_require__( /*! ../translators/translator2d */ 327);
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _common = __webpack_require__( /*! ../../core/utils/common */ 4);
var _drag = __webpack_require__( /*! ../../events/drag */ 73);
var _min = Math.min;
var _max = Math.max;
var ScrollBar = function(renderer, group) {
this._translator = new _translator2d.Translator2D({}, {}, {});
this._scroll = renderer.rect().append(group);
this._addEvents()
};
exports.ScrollBar = ScrollBar;
function _getXCoord(canvas, pos, offset, width) {
var x = 0;
if ("right" === pos) {
x = canvas.width - canvas.right + offset
} else if ("left" === pos) {
x = canvas.left - offset - width
}
return x
}
function _getYCoord(canvas, pos, offset, width) {
var y = 0;
if ("top" === pos) {
y = canvas.top - offset
} else if ("bottom" === pos) {
y = canvas.height - canvas.bottom + width + offset
}
return y
}
ScrollBar.prototype = {
_addEvents: function() {
var _this = this;
var scrollElement = this._scroll.element;
_events_engine.default.on(scrollElement, _drag.start, (function(e) {
(0, _index.fireEvent)({
type: "dxc-scroll-start",
originalEvent: e,
target: scrollElement
})
}));
_events_engine.default.on(scrollElement, _drag.move, (function(e) {
var dX = -e.offset.x * _this._scale;
var dY = -e.offset.y * _this._scale;
var lx = _this._offset - (_this._layoutOptions.vertical ? dY : dX) / _this._scale;
_this._applyPosition(lx, lx + _this._translator.canvasLength / _this._scale);
(0, _index.fireEvent)({
type: "dxc-scroll-move",
originalEvent: e,
target: scrollElement,
offset: {
x: dX,
y: dY
}
})
}));
_events_engine.default.on(scrollElement, _drag.end, (function(e) {
(0, _index.fireEvent)({
type: "dxc-scroll-end",
originalEvent: e,
target: scrollElement,
offset: {
x: -e.offset.x * _this._scale,
y: -e.offset.y * _this._scale
}
})
}))
},
update: function(options) {
var position = options.position;
var isVertical = options.rotated;
var defaultPosition = isVertical ? "right" : "top";
var secondaryPosition = isVertical ? "left" : "bottom";
if (position !== defaultPosition && position !== secondaryPosition) {
position = defaultPosition
}
this._scroll.attr({
rotate: !options.rotated ? -90 : 0,
rotateX: 0,
rotateY: 0,
fill: options.color,
width: options.width,
opacity: options.opacity
});
this._layoutOptions = {
width: options.width,
offset: options.offset,
vertical: isVertical,
position: position
};
return this
},
init: function(range, stick) {
var isDiscrete = "discrete" === range.axisType;
this._translateWithOffset = isDiscrete && !stick ? 1 : 0;
this._translator.update((0, _extend.extend)({}, range, {
minVisible: null,
maxVisible: null,
visibleCategories: null
}, isDiscrete && {
min: null,
max: null
} || {}), this._canvas, {
isHorizontal: !this._layoutOptions.vertical,
stick: stick
});
return this
},
getOptions: function() {
return this._layoutOptions
},
setPane: function(panes) {
var position = this._layoutOptions.position;
var pane;
if ("left" === position || "top" === position) {
pane = panes[0]
} else {
pane = panes[panes.length - 1]
}
this.pane = pane.name;
return this
},
updateSize: function(canvas) {
this._canvas = (0, _extend.extend)({}, canvas);
var options = this._layoutOptions;
var pos = options.position;
var offset = options.offset;
var width = options.width;
this._scroll.attr({
translateX: _getXCoord(canvas, pos, offset, width),
translateY: _getYCoord(canvas, pos, offset, width)
})
},
getMultipleAxesSpacing: function() {
return 0
},
estimateMargins: function() {
return this.getMargins()
},
getMargins: function() {
var options = this._layoutOptions;
var margins = {
left: 0,
top: 0,
right: 0,
bottom: 0
};
margins[options.position] = options.width + options.offset;
return margins
},
shift: function(margins) {
var _that$_scroll$attr, _that$_scroll$attr2;
var options = this._layoutOptions;
var side = options.position;
var isVertical = options.vertical;
var attr = {
translateX: null !== (_that$_scroll$attr = this._scroll.attr("translateX")) && void 0 !== _that$_scroll$attr ? _that$_scroll$attr : 0,
translateY: null !== (_that$_scroll$attr2 = this._scroll.attr("translateY")) && void 0 !== _that$_scroll$attr2 ? _that$_scroll$attr2 : 0
};
var shift = margins[side];
attr[isVertical ? "translateX" : "translateY"] += ("left" === side || "top" === side ? -1 : 1) * shift;
this._scroll.attr(attr)
},
hideTitle: _common.noop,
hideOuterElements: _common.noop,
setPosition: function(min, max) {
var translator = this._translator;
var minPoint = (0, _type.isDefined)(min) ? translator.translate(min, -this._translateWithOffset) : translator.translate("canvas_position_start");
var maxPoint = (0, _type.isDefined)(max) ? translator.translate(max, this._translateWithOffset) : translator.translate("canvas_position_end");
this._offset = _min(minPoint, maxPoint);
this._scale = translator.getScale(min, max);
this._applyPosition(_min(minPoint, maxPoint), _max(minPoint, maxPoint))
},
customPositionIsAvailable: function() {
return false
},
dispose: function() {
this._scroll.dispose();
this._scroll = this._translator = null
},
_applyPosition: function(x1, x2) {
var visibleArea = this._translator.getCanvasVisibleArea();
x1 = _max(x1, visibleArea.min);
x1 = _min(x1, visibleArea.max);
x2 = _min(x2, visibleArea.max);
x2 = _max(x2, visibleArea.min);
var height = Math.abs(x2 - x1);
this._scroll.attr({
y: x1,
height: height < 2 ? 2 : height
})
}
}
},
/*!**********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/chart_components/shutter_zoom.js ***!
\**********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _drag = __webpack_require__( /*! ../../events/drag */ 73);
var DRAG_START_EVENT_NAME = _drag.start + ".shutter-zoom";
var DRAG_UPDATE_EVENT_NAME = _drag.move + ".shutter-zoom";
var DRAG_END_EVENT_NAME = _drag.end + ".shutter-zoom";
function getPointerCoord(rootOffset, canvas, rotated, e) {
var coord = Math.floor(rotated ? e.pageY - rootOffset.top : e.pageX - rootOffset.left);
var min = rotated ? canvas.y1 : canvas.x1;
var max = rotated ? canvas.y2 : canvas.x2;
if (coord < min) {
coord = min
} else if (coord > max) {
coord = max
}
return coord
}
function shutterZoom(options) {
var chart = options.chart;
var renderer = options.renderer;
var rotated = options.rotated;
var rect = renderer.rect(0, 0, 0, 0).attr(options.shutterOptions);
var shutter = {
rect: rect,
root: renderer.root,
rotated: rotated,
triggerStart: function() {
chart._eventTrigger("zoomStart")
},
triggerEnd: function() {
var tr = chart._argumentAxes[0].getTranslator();
var rangeStart = Math.min(this.startCoord, this.curCoord);
var rangeEnd = Math.max(this.startCoord, this.curCoord);
chart._eventTrigger("zoomEnd", {
rangeStart: tr.from(rangeStart),
rangeEnd: tr.from(rangeEnd)
})
},
dispose: function() {
renderer.root.off(".shutter-zoom");
rect.dispose()
},
getRootOffset: function() {
return renderer.getRootOffset()
},
getCanvas: function() {
var canvas = chart._canvas;
var panes = chart.panes;
var firstPane = panes[0].canvas;
var lastPane = panes[panes.length - 1].canvas;
return {
x1: firstPane.left,
y1: firstPane.top,
x2: canvas.width - lastPane.right,
y2: canvas.height - lastPane.bottom,
width: canvas.width - firstPane.left - lastPane.right,
height: canvas.height - firstPane.top - lastPane.bottom
}
}
};
renderer.root.off(".shutter-zoom").on(DRAG_START_EVENT_NAME, {
direction: rotated ? "vertical" : "horizontal",
immediate: true
}, (ctx = shutter, function(e) {
var offset = ctx.getRootOffset();
var canvas = ctx.getCanvas();
if (! function(rootOffset, canvas, e) {
var x = e.pageX - rootOffset.left;
var y = e.pageY - rootOffset.top;
return x >= canvas.x1 && x <= canvas.x2 && y >= canvas.y1 && y <= canvas.y2
}(offset, canvas, e)) {
e.cancel = true;
return
}
ctx.rootOffset = offset;
ctx.canvas = canvas;
ctx.startCoord = getPointerCoord(offset, canvas, ctx.rotated, e);
ctx.triggerStart();
ctx.rect.attr({
x: canvas.x1,
y: canvas.y1,
width: canvas.width,
height: canvas.height
}).append(ctx.root)
})).on(DRAG_UPDATE_EVENT_NAME, function(ctx) {
return function(e) {
var curCoord = getPointerCoord(ctx.rootOffset, ctx.canvas, ctx.rotated, e);
var attr = {};
ctx.curCoord = curCoord;
attr[ctx.rotated ? "y" : "x"] = Math.min(ctx.startCoord, curCoord);
attr[ctx.rotated ? "height" : "width"] = Math.abs(ctx.startCoord - curCoord);
ctx.rect.attr(attr)
}
}(shutter)).on(DRAG_END_EVENT_NAME, function(ctx) {
return function(e) {
ctx.triggerEnd();
ctx.rect.remove()
}
}(shutter));
var ctx;
return shutter
}
var _default = {
name: "shutter_zoom",
init: function() {
var options = this.option("shutterZoom") || {};
if (!options.enabled) {
return
}
this._shutterZoom = shutterZoom({
chart: this,
renderer: this._renderer,
rotated: this.option("rotated"),
shutterOptions: options
})
},
dispose: function() {
this._shutterZoom && this._shutterZoom.dispose()
}
};
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!**********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/chart_components/zoom_and_pan.js ***!
\**********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
function _typeof(obj) {
if ("function" === typeof Symbol && "symbol" === typeof Symbol.iterator) {
_typeof = function(obj) {
return typeof obj
}
} else {
_typeof = function(obj) {
return obj && "function" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj
}
}
return _typeof(obj)
}
exports.default = void 0;
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _extend = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _wheel = __webpack_require__( /*! ../../events/core/wheel */ 154);
var transformEvents = function(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj
}
if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) {
return {
default: obj
}
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj)
}
var newObj = {};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for (var key in obj) {
if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc)
} else {
newObj[key] = obj[key]
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj)
}
return newObj
}(__webpack_require__( /*! ../../events/transform */ 340));
var _drag = __webpack_require__( /*! ../../events/drag */ 73);
function _getRequireWildcardCache(nodeInterop) {
if ("function" !== typeof WeakMap) {
return null
}
var cacheBabelInterop = new WeakMap;
var cacheNodeInterop = new WeakMap;
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop
})(nodeInterop)
}
var EVENTS_NS = ".zoomAndPanNS";
var DRAG_START_EVENT_NAME = _drag.start + EVENTS_NS;
var DRAG_EVENT_NAME = _drag.move + EVENTS_NS;
var DRAG_END_EVENT_NAME = _drag.end + EVENTS_NS;
var PINCH_START_EVENT_NAME = transformEvents.pinchstart + EVENTS_NS;
var PINCH_EVENT_NAME = transformEvents.pinch + EVENTS_NS;
var PINCH_END_EVENT_NAME = transformEvents.pinchend + EVENTS_NS;
var _min = Math.min;
var _max = Math.max;
var _abs = Math.abs;
function canvasToRect(canvas) {
return {
x: canvas.left,
y: canvas.top,
width: canvas.width - canvas.left - canvas.right,
height: canvas.height - canvas.top - canvas.bottom
}
}
function checkCoords(rect, coords) {
var x = coords.x;
var y = coords.y;
return x >= rect.x && x <= rect.width + rect.x && y >= rect.y && y <= rect.height + rect.y
}
function sortAxes(axes, onlyAxisToNotify) {
if (onlyAxisToNotify) {
axes = axes.sort((function(a, b) {
if (a === onlyAxisToNotify) {
return -1
}
if (b === onlyAxisToNotify) {
return 1
}
return 0
}))
}
return axes
}
function isNotEmptyAxisBusinessRange(axis) {
return !axis.getTranslator().getBusinessRange().isEmpty()
}
function axisZoom(axis, onlyAxisToNotify, getRange, getParameters, actionField, scale, e) {
var silent = onlyAxisToNotify && axis !== onlyAxisToNotify;
var range = getRange(axis);
var _axis$checkZoomingLow = axis.checkZoomingLowerLimitOvercome(actionField, scale, range),
stopInteraction = _axis$checkZoomingLow.stopInteraction,
correctedRange = _axis$checkZoomingLow.correctedRange;
var result = axis.handleZooming(stopInteraction ? null : correctedRange, getParameters(silent), e, actionField);
stopInteraction && axis.handleZoomEnd();
return {
stopInteraction: stopInteraction,
result: result
}
}
var _default = {
name: "zoom_and_pan",
init: function() {
var chart = this;
var renderer = this._renderer;
function cancelEvent(e) {
if (e.originalEvent) {
cancelEvent(e.originalEvent)
}
if (false !== e.cancelable) {
e.cancel = true
}
}
function startAxesViewportChanging(zoomAndPan, actionField, e) {
var options = zoomAndPan.options;
var actionData = zoomAndPan.actionData;
var axes = [];
if (options.argumentAxis[actionField]) {
axes.push(chart.getArgumentAxis())
}
if (options.valueAxis[actionField]) {
axes = axes.concat(actionData.valueAxes)
}
axes.reduce((function(isPrevented, axis) {
if (isPrevented) {
return isPrevented
}
if (isNotEmptyAxisBusinessRange(axis)) {
return axis.handleZooming(null, {
end: true
}, e, actionField).isPrevented
}
return isPrevented
}), false) && cancelEvent(e)
}
function axesViewportChanging(zoomAndPan, actionField, e, offsetCalc, centerCalc) {
function zoomAxes(axes, criteria, coordField, e, actionData) {
var zoom = {
zoomed: false
};
criteria && axes.filter(isNotEmptyAxisBusinessRange).forEach((function(axis) {
var options = axis.getOptions();
var viewport = axis.visualRange();
var scale = axis.getTranslator().getEventScale(e);
var translate = -offsetCalc(e, actionData, coordField, scale);
zoom = (0, _extend.extend)(true, zoom, axis.getTranslator().zoom(translate, scale, axis.getZoomBounds()));
var range = axis.adjustRange((0, _utils.getVizRangeObject)([zoom.min, zoom.max]));
var _axis$checkZoomingLow2 = axis.checkZoomingLowerLimitOvercome(actionField, scale, range),
stopInteraction = _axis$checkZoomingLow2.stopInteraction,
correctedRange = _axis$checkZoomingLow2.correctedRange;
if (!(0, _type.isDefined)(viewport) || viewport.startValue.valueOf() !== correctedRange.startValue.valueOf() || viewport.endValue.valueOf() !== correctedRange.endValue.valueOf()) {
axis.handleZooming(stopInteraction ? null : correctedRange, {
start: true,
end: true
}, e, actionField);
if (!stopInteraction) {
zoom.zoomed = true;
zoom.deltaTranslate = translate - zoom.translate
}
} else if ("touch" === e.pointerType && "discrete" === options.type) {
var isMinPosition = axis.isExtremePosition(false);
var isMaxPosition = axis.isExtremePosition(true);
var zoomInEnabled = scale > 1 && !stopInteraction;
var zoomOutEnabled = scale < 1 && (!isMinPosition || !isMaxPosition);
var panningEnabled = 1 === scale && !(isMinPosition && (translate < 0 && !options.inverted || translate > 0 && options.inverted) || isMaxPosition && (translate > 0 && !options.inverted || translate < 0 && options.inverted));
zoom.enabled = zoomInEnabled || zoomOutEnabled || panningEnabled
}
}));
return zoom
}
function storeOffset(e, actionData, zoom, coordField) {
if (zoom.zoomed) {
actionData.offset[coordField] = (e.offset ? e.offset[coordField] : actionData.offset[coordField]) + zoom.deltaTranslate
}
}
function storeCenter(center, actionData, zoom, coordField) {
if (zoom.zoomed) {
actionData.center[coordField] = center[coordField] + zoom.deltaTranslate
}
}
var rotated = chart.option("rotated");
var actionData = zoomAndPan.actionData;
var options = zoomAndPan.options;
var argZoom = {};
var valZoom = {};
if (!actionData.fallback) {
argZoom = zoomAxes(chart._argumentAxes, options.argumentAxis[actionField], rotated ? "y" : "x", e, actionData);
valZoom = zoomAxes(actionData.valueAxes, options.valueAxis[actionField], rotated ? "x" : "y", e, actionData);
chart._requestChange(["VISUAL_RANGE"]);
storeOffset(e, actionData, argZoom, rotated ? "y" : "x");
storeOffset(e, actionData, valZoom, rotated ? "x" : "y")
}
var center = centerCalc(e);
storeCenter(center, actionData, argZoom, rotated ? "y" : "x");
storeCenter(center, actionData, valZoom, rotated ? "x" : "y");
if (!argZoom.zoomed && !valZoom.zoomed) {
actionData.center = center
}
return argZoom.zoomed || valZoom.zoomed || actionData.fallback || argZoom.enabled || valZoom.enabled
}
function finishAxesViewportChanging(zoomAndPan, actionField, e, offsetCalc) {
function zoomAxes(axes, criteria, coordField, actionData, onlyAxisToNotify) {
var zoomStarted = false;
var scale = e.scale || 1;
var getRange = function(axis) {
var zoom = axis.getTranslator().zoom(-offsetCalc(e, actionData, coordField, scale), scale, axis.getZoomBounds());
return {
startValue: zoom.min,
endValue: zoom.max
}
};
var getParameters = function(silent) {
return {
start: true,
end: silent
}
};
criteria && axes.forEach((function(axis) {
zoomStarted = !axisZoom(axis, onlyAxisToNotify, getRange, getParameters, actionField, scale, e).stopInteraction
}));
return zoomStarted
}
var rotated = chart.option("rotated");
var actionData = zoomAndPan.actionData;
var options = zoomAndPan.options;
var zoomStarted = true;
if (actionData.fallback) {
zoomStarted &= zoomAxes(chart._argumentAxes, options.argumentAxis[actionField], rotated ? "y" : "x", actionData, chart.getArgumentAxis());
zoomStarted |= zoomAxes(actionData.valueAxes, options.valueAxis[actionField], rotated ? "x" : "y", actionData)
} else {
var axes = [];
if (options.argumentAxis[actionField]) {
axes.push(chart.getArgumentAxis())
}
if (options.valueAxis[actionField]) {
axes = axes.concat(actionData.valueAxes)
}
axes.filter(isNotEmptyAxisBusinessRange).forEach((function(axis) {
axis.handleZooming(null, {
start: true
}, e, actionField)
}));
zoomStarted = axes.length
}
zoomStarted && chart._requestChange(["VISUAL_RANGE"])
}
function prepareActionData(coords, action) {
var axes = chart._argumentAxes.filter((function(axis) {
return checkCoords(canvasToRect(axis.getCanvas()), coords)
}));
return {
fallback: chart._lastRenderingTime > 300,
cancel: !axes.length || !(0, _type.isDefined)(action),
action: action,
curAxisRect: axes.length && canvasToRect(axes[0].getCanvas()),
valueAxes: axes.length && chart._valueAxes.filter((function(axis) {
return checkCoords(canvasToRect(axis.getCanvas()), coords)
})),
offset: {
x: 0,
y: 0
},
center: coords,
startCenter: coords
}
}
function getPointerCoord(rect, e) {
var rootOffset = renderer.getRootOffset();
return {
x: _min(_max(e.pageX - rootOffset.left, rect.x), rect.width + rect.x),
y: _min(_max(e.pageY - rootOffset.top, rect.y), rect.height + rect.y)
}
}
function calcCenterForPinch(e) {
var rootOffset = renderer.getRootOffset();
var x1 = e.pointers[0].pageX;
var x2 = e.pointers[1].pageX;
var y1 = e.pointers[0].pageY;
var y2 = e.pointers[1].pageY;
return {
x: _min(x1, x2) + _abs(x2 - x1) / 2 - rootOffset.left,
y: _min(y1, y2) + _abs(y2 - y1) / 2 - rootOffset.top
}
}
function calcCenterForDrag(e) {
var rootOffset = renderer.getRootOffset();
return {
x: e.pageX - rootOffset.left,
y: e.pageY - rootOffset.top
}
}
function calcOffsetForDrag(e, actionData, coordField) {
return e.offset[coordField] - actionData.offset[coordField]
}
function preventDefaults(e) {
if (false !== e.cancelable) {
e.preventDefault();
e.stopPropagation()
}
chart._stopCurrentHandling()
}
var zoomAndPan = {
dragStartHandler: function(e) {
var options = zoomAndPan.options;
var isTouch = "touch" === e.pointerType;
var wantPan = options.argumentAxis.pan || options.valueAxis.pan;
var wantZoom = options.argumentAxis.zoom || options.valueAxis.zoom;
var panKeyPressed = (0, _type.isDefined)(options.panKey) && e[(0, _utils.normalizeEnum)(options.panKey) + "Key"];
var dragToZoom = options.dragToZoom;
var action;
e._cancelPreventDefault = true;
if (isTouch) {
if (options.allowTouchGestures && wantPan) {
var cancelPanning = !zoomAndPan.panningVisualRangeEnabled() || zoomAndPan.skipEvent;
action = cancelPanning ? null : "pan"
}
} else if (dragToZoom && wantPan && panKeyPressed) {
action = "pan"
} else if (!dragToZoom && wantPan) {
action = "pan"
} else if (dragToZoom && wantZoom) {
action = "zoom"
}
var actionData = prepareActionData(calcCenterForDrag(e), action);
if (actionData.cancel) {
zoomAndPan.skipEvent = false;
if (false !== e.cancelable) {
e.cancel = true
}
return
}
zoomAndPan.actionData = actionData;
if ("zoom" === action) {
actionData.startCoords = getPointerCoord(actionData.curAxisRect, e);
actionData.rect = renderer.rect(0, 0, 0, 0).attr(options.dragBoxStyle).append(renderer.root)
} else {
startAxesViewportChanging(zoomAndPan, "pan", e)
}
},
dragHandler: function(e) {
var rotated = chart.option("rotated");
var options = zoomAndPan.options;
var actionData = zoomAndPan.actionData;
var isTouch = "touch" === e.pointerType;
e._cancelPreventDefault = true;
if (!actionData || isTouch && !zoomAndPan.panningVisualRangeEnabled()) {
return
}
if ("zoom" === actionData.action) {
preventDefaults(e);
var curCanvas = actionData.curAxisRect;
var startCoords = actionData.startCoords;
var curCoords = getPointerCoord(curCanvas, e);
var zoomArg = options.argumentAxis.zoom;
var zoomVal = options.valueAxis.zoom;
var rect = {
x: _min(startCoords.x, curCoords.x),
y: _min(startCoords.y, curCoords.y),
width: _abs(startCoords.x - curCoords.x),
height: _abs(startCoords.y - curCoords.y)
};
if (!zoomArg || !zoomVal) {
if (!zoomArg && !rotated || !zoomVal && rotated) {
rect.x = curCanvas.x;
rect.width = curCanvas.width
} else {
rect.y = curCanvas.y;
rect.height = curCanvas.height
}
}
actionData.rect.attr(rect)
} else if ("pan" === actionData.action) {
axesViewportChanging(zoomAndPan, "pan", e, calcOffsetForDrag, (function(e) {
return e.offset
}));
var deltaOffsetY = Math.abs(e.offset.y - actionData.offset.y);
var deltaOffsetX = Math.abs(e.offset.x - actionData.offset.x);
if (isTouch && (deltaOffsetY > 5 && deltaOffsetY > Math.abs(actionData.offset.x) || deltaOffsetX > 5 && deltaOffsetX > Math.abs(actionData.offset.y))) {
return
}
preventDefaults(e)
}
},
dragEndHandler: function(e) {
var rotated = chart.option("rotated");
var options = zoomAndPan.options;
var actionData = zoomAndPan.actionData;
var isTouch = "touch" === e.pointerType;
var panIsEmpty = actionData && "pan" === actionData.action && !actionData.fallback && 0 === actionData.offset.x && 0 === actionData.offset.y;
if (!actionData || isTouch && !zoomAndPan.panningVisualRangeEnabled() || panIsEmpty) {
return
}(!isTouch || !zoomAndPan.actionData.isNative) && preventDefaults(e);
if ("zoom" === actionData.action) {
var zoomAxes = function(axes, criteria, coordField, startCoords, curCoords, onlyAxisToNotify) {
axes = sortAxes(axes, onlyAxisToNotify);
var curCoord = curCoords[coordField];
var startCoord = startCoords[coordField];
var zoomStarted = false;
var getParameters = function(silent) {
return {
start: !!silent,
end: !!silent
}
};
if (criteria && _abs(curCoord - startCoord) > 5) {
axes.some((function(axis) {
var tr = axis.getTranslator();
if (tr.getBusinessRange().isEmpty()) {
return
}
var _axisZoom = axisZoom(axis, onlyAxisToNotify, (function() {
return [tr.from(startCoord), tr.from(curCoord)]
}), getParameters, actionData.action, tr.getMinScale(true), e),
stopInteraction = _axisZoom.stopInteraction,
result = _axisZoom.result;
zoomStarted = !stopInteraction;
return onlyAxisToNotify && result.isPrevented
}))
}
return zoomStarted
};
var curCoords = getPointerCoord(actionData.curAxisRect, e);
var argumentAxesZoomed = zoomAxes(chart._argumentAxes, options.argumentAxis.zoom, rotated ? "y" : "x", actionData.startCoords, curCoords, chart.getArgumentAxis());
var valueAxesZoomed = zoomAxes(actionData.valueAxes, options.valueAxis.zoom, rotated ? "x" : "y", actionData.startCoords, curCoords);
if (valueAxesZoomed || argumentAxesZoomed) {
chart._requestChange(["VISUAL_RANGE"])
}
actionData.rect.dispose()
} else if ("pan" === actionData.action) {
finishAxesViewportChanging(zoomAndPan, "pan", e, calcOffsetForDrag)
}
zoomAndPan.actionData = null
},
pinchStartHandler: function(e) {
var actionData = prepareActionData(calcCenterForPinch(e), "zoom");
actionData.isNative = !zoomAndPan.panningVisualRangeEnabled();
if (actionData.cancel) {
cancelEvent(e);
return
}
zoomAndPan.actionData = actionData;
startAxesViewportChanging(zoomAndPan, "zoom", e)
},
pinchHandler: function(e) {
if (!zoomAndPan.actionData) {
return
}
var viewportChanged = axesViewportChanging(zoomAndPan, "zoom", e, (function(e, actionData, coordField, scale) {
return calcCenterForPinch(e)[coordField] - actionData.center[coordField] + (actionData.center[coordField] - actionData.center[coordField] * scale)
}), calcCenterForPinch);
zoomAndPan.defineTouchBehavior(!viewportChanged, e);
!viewportChanged && (zoomAndPan.actionData = null)
},
pinchEndHandler: function(e) {
if (!zoomAndPan.actionData) {
return
}
finishAxesViewportChanging(zoomAndPan, "zoom", e, (function(e, actionData, coordField, scale) {
return actionData.center[coordField] - actionData.startCenter[coordField] + (actionData.startCenter[coordField] - actionData.startCenter[coordField] * scale)
}));
zoomAndPan.actionData = null
},
cleanup: function() {
renderer.root.off(EVENTS_NS);
zoomAndPan.actionData && zoomAndPan.actionData.rect && zoomAndPan.actionData.rect.dispose();
zoomAndPan.actionData = null;
renderer.root.css({
"touch-action": "",
"-ms-touch-action": ""
})
},
setup: function(options) {
zoomAndPan.cleanup();
if (!options.argumentAxis.pan) {
renderer.root.on("dxc-scroll-start.zoomAndPanNS", cancelEvent)
}
if (options.argumentAxis.none && options.valueAxis.none) {
return
}
zoomAndPan.options = options;
var rotated = chart.option("rotated");
if ((options.argumentAxis.zoom || options.valueAxis.zoom) && options.allowMouseWheel) {
renderer.root.on(_wheel.name + EVENTS_NS, (function(e) {
function zoomAxes(axes, coord, delta, onlyAxisToNotify) {
axes = sortAxes(axes, onlyAxisToNotify);
var zoomStarted = false;
var getParameters = function(silent) {
return {
start: !!silent,
end: !!silent
}
};
axes.some((function(axis) {
var translator = axis.getTranslator();
if (translator.getBusinessRange().isEmpty()) {
return
}
var scale = translator.getMinScale(delta > 0);
var _axisZoom2 = axisZoom(axis, onlyAxisToNotify, (function() {
var zoom = translator.zoom(-(coord - coord * scale), scale, axis.getZoomBounds());
return {
startValue: zoom.min,
endValue: zoom.max
}
}), getParameters, "zoom", scale, e),
stopInteraction = _axisZoom2.stopInteraction,
result = _axisZoom2.result;
zoomStarted = !stopInteraction;
return onlyAxisToNotify && result.isPrevented
}));
return zoomStarted
}
var coords = calcCenterForDrag(e);
var axesZoomed = false;
var targetAxes;
if (options.valueAxis.zoom) {
targetAxes = chart._valueAxes.filter((function(axis) {
return checkCoords(canvasToRect(axis.getCanvas()), coords)
}));
if (0 === targetAxes.length) {
var targetCanvas = chart._valueAxes.reduce((function(r, axis) {
if (!r && axis.coordsIn(coords.x, coords.y)) {
r = axis.getCanvas()
}
return r
}), null);
if (targetCanvas) {
targetAxes = chart._valueAxes.filter((function(axis) {
return checkCoords(canvasToRect(axis.getCanvas()), {
x: targetCanvas.left,
y: targetCanvas.top
})
}))
}
}
axesZoomed |= zoomAxes(targetAxes, rotated ? coords.x : coords.y, e.delta)
}
if (options.argumentAxis.zoom) {
var canZoom = chart._argumentAxes.some((function(axis) {
if (checkCoords(canvasToRect(axis.getCanvas()), coords) || axis.coordsIn(coords.x, coords.y)) {
return true
}
return false
}));
axesZoomed |= canZoom && zoomAxes(chart._argumentAxes, rotated ? coords.y : coords.x, e.delta, chart.getArgumentAxis())
}
if (axesZoomed) {
chart._requestChange(["VISUAL_RANGE"]);
zoomAndPan.panningVisualRangeEnabled(targetAxes) && preventDefaults(e)
}
}))
}
if (options.allowTouchGestures) {
if (options.argumentAxis.zoom || options.valueAxis.zoom) {
renderer.root.on(PINCH_START_EVENT_NAME, {
passive: false
}, zoomAndPan.pinchStartHandler).on(PINCH_EVENT_NAME, {
passive: false
}, zoomAndPan.pinchHandler).on(PINCH_END_EVENT_NAME, zoomAndPan.pinchEndHandler)
}
}
renderer.root.on(DRAG_START_EVENT_NAME, {
immediate: true,
passive: false
}, zoomAndPan.dragStartHandler).on(DRAG_EVENT_NAME, {
immediate: true,
passive: false
}, zoomAndPan.dragHandler).on(DRAG_END_EVENT_NAME, zoomAndPan.dragEndHandler);
if (options.argumentAxis.pan) {
renderer.root.on("dxc-scroll-start.zoomAndPanNS", (function(e) {
zoomAndPan.actionData = {
valueAxes: [],
offset: {
x: 0,
y: 0
},
center: {
x: 0,
y: 0
}
};
preventDefaults(e);
startAxesViewportChanging(zoomAndPan, "pan", e)
})).on("dxc-scroll-move.zoomAndPanNS", (function(e) {
preventDefaults(e);
axesViewportChanging(zoomAndPan, "pan", e, calcOffsetForDrag, (function(e) {
return e.offset
}))
})).on("dxc-scroll-end.zoomAndPanNS", (function(e) {
preventDefaults(e);
finishAxesViewportChanging(zoomAndPan, "pan", e, calcOffsetForDrag);
zoomAndPan.actionData = null
}))
}
},
defineTouchBehavior: function(isDefault, e) {
zoomAndPan.actionData && (zoomAndPan.actionData.isNative = isDefault);
if (!isDefault) {
preventDefaults(e)
}
},
panningVisualRangeEnabled: function(targetAxes) {
if (null !== targetAxes && void 0 !== targetAxes && targetAxes.length) {
return targetAxes.some((function(axis) {
return !axis.isExtremePosition(false) || !axis.isExtremePosition(true)
}))
}
var enablePanByValueAxis = chart._valueAxes.some((function(axis) {
return !axis.isExtremePosition(false) || !axis.isExtremePosition(true)
}));
var enablePanByArgumentAxis = chart._argumentAxes.some((function(axis) {
return !axis.isExtremePosition(false) || !axis.isExtremePosition(true)
}));
return enablePanByValueAxis || enablePanByArgumentAxis
}
};
this._zoomAndPan = zoomAndPan
},
members: {
_setupZoomAndPan: function() {
this._zoomAndPan.setup(this._themeManager.getOptions("zoomAndPan"))
}
},
dispose: function() {
this._zoomAndPan.cleanup()
},
customize: function(constructor) {
constructor.addChange({
code: "ZOOM_AND_PAN",
handler: function() {
this._setupZoomAndPan()
},
isThemeDependent: true,
isOptionChange: true,
option: "zoomAndPan"
})
}
};
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!**************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/pie_chart.js ***!
\**************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _consts = _interopRequireDefault(__webpack_require__( /*! ./components/consts */ 149));
var _utils = __webpack_require__( /*! ./core/utils */ 14);
var _extend2 = __webpack_require__( /*! ../core/utils/extend */ 0);
var _type = __webpack_require__( /*! ../core/utils/type */ 1);
var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 3);
var _range = __webpack_require__( /*! ./translators/range */ 132);
var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 8));
var _base_chart = __webpack_require__( /*! ./chart_components/base_chart */ 319);
var _common = __webpack_require__( /*! ../core/utils/common */ 4);
var _translator1d = __webpack_require__( /*! ./translators/translator1d */ 510);
var _annotations = __webpack_require__( /*! ./core/annotations */ 233);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var states = _consts.default.states;
var seriesSpacing = _consts.default.pieSeriesSpacing;
var NORMAL_STATE = states.normalMark;
var HOVER_STATE = states.hoverMark;
var SELECTED_STATE = states.selectedMark;
var LEGEND_ACTIONS = [states.resetItem, states.applyHover, states.applySelected, states.applySelected];
function correctPercentValue(value) {
if ((0, _type.isNumeric)(value)) {
if (value > 1) {
value = 1
} else if (value < 0) {
value = 0
}
} else {
value = void 0
}
return value
}
var pieSizeEqualizer = function() {
function removeFromList(list, item) {
return list.filter((function(li) {
return li !== item
}))
}
var pies = [];
var timers = {};
return {
queue: function(pie) {
var group = pie.getSizeGroup();
pies = (list = pies, item = pie, removeFromList(list, item).concat(item));
var list, item;
clearTimeout(timers[group]);
timers[group] = setTimeout((function() {
! function(group, allPies) {
var pies = allPies.filter((function(p) {
return p._isVisible() && p.getSizeGroup() === group
}));
var minRadius = Math.min.apply(null, pies.map((function(p) {
return p.getSizeGroupLayout().radius
})));
var minPie = pies.filter((function(p) {
return p.getSizeGroupLayout().radius === minRadius
}));
pies.forEach((function(p) {
return p.render({
force: true,
sizeGroupLayout: minPie.length ? minPie[0].getSizeGroupLayout() : {}
})
}))
}(group, pies)
}))
},
remove: function(pie) {
pies = removeFromList(pies, pie);
if (!pies.length) {
timers = {}
}
}
}
}();
var dxPieChart = _base_chart.BaseChart.inherit({
_themeSection: "pie",
_layoutManagerOptions: function() {
return (0, _extend2.extend)(true, {}, this.callBase(), {
piePercentage: correctPercentValue(this._themeManager.getOptions("diameter")),
minPiePercentage: correctPercentValue(this._themeManager.getOptions("minDiameter"))
})
},
_optionChangesOrder: ["CENTER_TEMPLATE"],
_optionChangesMap: {
diameter: "REINIT",
minDiameter: "REINIT",
sizeGroup: "REINIT",
centerTemplate: "CENTER_TEMPLATE"
},
_change_CENTER_TEMPLATE: function() {
this._renderExtraElements()
},
_disposeCore: function() {
pieSizeEqualizer.remove(this);
this.callBase();
this._centerTemplateGroup.linkOff().dispose()
},
_groupSeries: function() {
var series = this.series;
this._groupsData = {
groups: [{
series: series,
valueOptions: {
valueType: "numeric"
}
}],
argumentOptions: series[0] && series[0].getOptions()
}
},
getArgumentAxis: function() {
return null
},
_getValueAxis: function() {
var translator = (new _translator1d.Translator1D).setCodomain(360, 0);
return {
getTranslator: function() {
return translator
},
setBusinessRange: function(range) {
translator.setDomain(range.min, range.max)
}
}
},
_populateBusinessRange: function() {
this.series.map((function(series) {
var range = new _range.Range;
range.addRange(series.getRangeData().val);
series.getValueAxis().setBusinessRange(range);
return range
}))
},
_specialProcessSeries: function() {
(0, _iterator.each)(this.series, (function(_, singleSeries) {
singleSeries.arrangePoints()
}))
},
_checkPaneName: function() {
return true
},
_processSingleSeries: function(singleSeries) {
this.callBase(singleSeries);
singleSeries.arrangePoints()
},
_handleSeriesDataUpdated: function() {
var maxPointCount = 0;
this.series.forEach((function(s) {
maxPointCount = Math.max(s.getPointsCount(), maxPointCount)
}));
this.series.forEach((function(s) {
s.setMaxPointsCount(maxPointCount)
}));
this.callBase()
},
_getLegendOptions: function(item) {
var legendItem = this.callBase(item);
var legendData = legendItem.legendData;
legendData.argument = item.argument;
legendData.argumentIndex = item.argumentIndex;
legendData.points = [item];
return legendItem
},
_getLegendTargets: function() {
var that = this;
var itemsByArgument = {};
(that.series || []).forEach((function(series) {
series.getPoints().forEach((function(point) {
var argument = point.argument.valueOf();
var index = series.getPointsByArg(argument).indexOf(point);
var key = argument.valueOf().toString() + index;
itemsByArgument[key] = itemsByArgument[key] || [];
var argumentCount = itemsByArgument[key].push(point);
point.index = itemsByArgument[key][argumentCount - 2] ? itemsByArgument[key][argumentCount - 2].index : Object.keys(itemsByArgument).length - 1;
point.argumentIndex = index
}))
}));
var items = [];
(0, _iterator.each)(itemsByArgument, (function(_, points) {
points.forEach((function(point, index) {
if (0 === index) {
items.push(that._getLegendOptions(point));
return
}
var item = items[items.length - 1];
item.legendData.points.push(point);
if (!item.visible) {
item.visible = point.isVisible()
}
}))
}));
return items
},
_getLayoutTargets: function() {
return [{
canvas: this._canvas
}]
},
_getLayoutSeries: function(series, drawOptions) {
var layout;
var canvas = this._canvas;
var drawnLabels = false;
layout = this.layoutManager.applyPieChartSeriesLayout(canvas, series, true);
series.forEach((function(singleSeries) {
singleSeries.correctPosition(layout, canvas);
drawnLabels = singleSeries.drawLabelsWOPoints() || drawnLabels
}));
if (drawnLabels) {
layout = this.layoutManager.applyPieChartSeriesLayout(canvas, series, drawOptions.hideLayoutLabels)
}
series.forEach((function(singleSeries) {
singleSeries.hideLabels()
}));
this._sizeGroupLayout = {
x: layout.centerX,
y: layout.centerY,
radius: layout.radiusOuter,
drawOptions: drawOptions
};
return layout
},
_getLayoutSeriesForEqualPies: function(series, sizeGroupLayout) {
var canvas = this._canvas;
var layout = this.layoutManager.applyEqualPieChartLayout(series, sizeGroupLayout);
series.forEach((function(s) {
s.correctPosition(layout, canvas);
s.drawLabelsWOPoints()
}));
this.layoutManager.correctPieLabelRadius(series, layout, canvas);
return layout
},
_updateSeriesDimensions: function(drawOptions) {
var visibleSeries = this._getVisibleSeries();
var lengthVisibleSeries = visibleSeries.length;
var innerRad;
var delta;
var layout;
var sizeGroupLayout = drawOptions.sizeGroupLayout;
if (lengthVisibleSeries) {
layout = sizeGroupLayout ? this._getLayoutSeriesForEqualPies(visibleSeries, sizeGroupLayout) : this._getLayoutSeries(visibleSeries, drawOptions);
delta = (layout.radiusOuter - layout.radiusInner - seriesSpacing * (lengthVisibleSeries - 1)) / lengthVisibleSeries;
innerRad = layout.radiusInner;
this._setGeometry(layout);
visibleSeries.forEach((function(singleSeries) {
singleSeries.correctRadius({
radiusInner: innerRad,
radiusOuter: innerRad + delta
});
innerRad += delta + seriesSpacing
}))
}
},
_renderSeries: function(drawOptions, isRotated, isLegendInside) {
this._calculateSeriesLayout(drawOptions, isRotated);
if (!drawOptions.sizeGroupLayout && this.getSizeGroup()) {
pieSizeEqualizer.queue(this);
this._clearCanvas();
return
}
this._renderSeriesElements(drawOptions, isLegendInside)
},
_createHtmlStructure: function() {
this.callBase();
this._centerTemplateGroup = this._renderer.g().attr({
class: "dxc-hole-template"
}).linkOn(this._renderer.root, "center-template").css((0, _utils.patchFontOptions)(this._themeManager._font)).linkAppend()
},
_renderExtraElements: function() {
var _this = this;
var template = this.option("centerTemplate");
var centerTemplateGroup = this._centerTemplateGroup.clear();
if (!template) {
return
}
centerTemplateGroup.attr({
visibility: "hidden"
});
template = this._getTemplate(template);
template.render({
model: this,
container: centerTemplateGroup.element,
onRendered: function() {
var group = centerTemplateGroup;
var bBox = group.getBBox();
group.move(_this._center.x - (bBox.x + bBox.width / 2), _this._center.y - (bBox.y + bBox.height / 2));
group.attr({
visibility: "visible"
})
}
})
},
getInnerRadius: function() {
return this._innerRadius
},
_getLegendCallBack: function() {
var that = this;
var legend = this._legend;
var items = this._getLegendTargets().map((function(i) {
return i.legendData
}));
return function(target) {
items.forEach((function(data) {
var points = [];
var callback = legend.getActionCallback({
index: data.id
});
that.series.forEach((function(series) {
var seriesPoints = series.getPointsByKeys(data.argument, data.argumentIndex);
points.push.apply(points, seriesPoints)
}));
if (target && target.argument === data.argument && target.argumentIndex === data.argumentIndex) {
points.push(target)
}
callback(function(points) {
var state = NORMAL_STATE;
points.forEach((function(point) {
var _point$series;
var seriesOptions = null === (_point$series = point.series) || void 0 === _point$series ? void 0 : _point$series.getOptions();
var pointState = point.fullState;
if ("none" === (null === seriesOptions || void 0 === seriesOptions ? void 0 : seriesOptions.hoverMode)) {
pointState &= ~HOVER_STATE
}
if ("none" === (null === seriesOptions || void 0 === seriesOptions ? void 0 : seriesOptions.selectionMode)) {
pointState &= ~SELECTED_STATE
}
state |= pointState
}));
return LEGEND_ACTIONS[state]
}(points))
}))
}
},
_locateLabels: function(resolveLabelOverlapping) {
var iterationCount = 0;
var labelsWereOverlapped;
var wordWrapApplied;
do {
wordWrapApplied = this._adjustSeriesLabels("shift" === resolveLabelOverlapping);
labelsWereOverlapped = this._resolveLabelOverlapping(resolveLabelOverlapping)
} while ((labelsWereOverlapped || wordWrapApplied) && ++iterationCount < 5)
},
_adjustSeriesLabels: function(moveLabelsFromCenter) {
return this.series.reduce((function(r, s) {
return s.adjustLabels(moveLabelsFromCenter) || r
}), false)
},
_applyExtraSettings: _common.noop,
_resolveLabelOverlappingShift: function() {
var that = this;
var inverseDirection = "anticlockwise" === that.option("segmentsDirection");
var seriesByPosition = that.series.reduce((function(r, s) {
(r[s.getOptions().label.position] || r.outside).push(s);
return r
}), {
inside: [],
columns: [],
outside: []
});
var labelsOverlapped = false;
if (seriesByPosition.inside.length > 0) {
labelsOverlapped = resolve(seriesByPosition.inside.reduce((function(r, singleSeries) {
return singleSeries.getVisiblePoints().reduce((function(r, point) {
r.left.push(point);
return r
}), r)
}), {
left: [],
right: []
}), shiftInColumnFunction) || labelsOverlapped
}
labelsOverlapped = seriesByPosition.columns.reduce((function(r, singleSeries) {
return resolve(dividePoints(singleSeries), shiftInColumnFunction) || r
}), labelsOverlapped);
if (seriesByPosition.outside.length > 0) {
labelsOverlapped = resolve(seriesByPosition.outside.reduce((function(r, singleSeries) {
return dividePoints(singleSeries, r)
}), null), (function(box, length) {
return (0, _utils.getVerticallyShiftedAngularCoords)(box, -length, that._center)
})) || labelsOverlapped
}
return labelsOverlapped;
function dividePoints(series, points) {
return series.getVisiblePoints().reduce((function(r, point) {
var angle = (0, _utils.normalizeAngle)(point.middleAngle);
(angle <= 90 || angle >= 270 ? r.right : r.left).push(point);
return r
}), points || {
left: [],
right: []
})
}
function resolve(points, shiftCallback) {
var overlapped;
if (inverseDirection) {
points.left.reverse();
points.right.reverse()
}
overlapped = _base_chart.overlapping.resolveLabelOverlappingInOneDirection(points.left, that._canvas, false, shiftCallback);
return _base_chart.overlapping.resolveLabelOverlappingInOneDirection(points.right, that._canvas, false, shiftCallback) || overlapped
}
function shiftInColumnFunction(box, length) {
return {
x: box.x,
y: box.y - length
}
}
},
_setGeometry: function(_ref) {
var x = _ref.centerX,
y = _ref.centerY,
radiusInner = _ref.radiusInner;
this._center = {
x: x,
y: y
};
this._innerRadius = radiusInner
},
_disposeSeries: function(seriesIndex) {
this.callBase.apply(this, arguments);
this._abstractSeries = null
},
_legendDataField: "point",
_legendItemTextField: "argument",
_applyPointMarkersAutoHiding: _common.noop,
_renderTrackers: _common.noop,
_trackerType: "PieTracker",
_createScrollBar: _common.noop,
_updateAxesLayout: _common.noop,
_applyClipRects: _common.noop,
_appendAdditionalSeriesGroups: _common.noop,
_prepareToRender: _common.noop,
_isLegendInside: _common.noop,
_renderAxes: _common.noop,
_shrinkAxes: _common.noop,
_isRotated: _common.noop,
_seriesPopulatedHandlerCore: _common.noop,
_reinitAxes: _common.noop,
_correctAxes: _common.noop,
_getExtraOptions: function() {
return {
startAngle: this.option("startAngle"),
innerRadius: this.option("innerRadius"),
segmentsDirection: this.option("segmentsDirection"),
type: this.option("type")
}
},
getSizeGroup: function() {
return this._themeManager.getOptions("sizeGroup")
},
getSizeGroupLayout: function() {
return this._sizeGroupLayout || {}
}
});
(0, _iterator.each)(["startAngle", "innerRadius", "segmentsDirection", "type"], (function(_, name) {
dxPieChart.prototype._optionChangesMap[name] = "REFRESH_SERIES_DATA_INIT"
}));
dxPieChart.addPlugin(_annotations.plugins.core);
dxPieChart.addPlugin(_annotations.plugins.pieChart);
(0, _component_registrator.default)("dxPieChart", dxPieChart);
var _default = dxPieChart;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!****************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/polar_chart.js ***!
\****************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _common = __webpack_require__( /*! ../core/utils/common */ 4);
var _component_registrator = (obj = __webpack_require__( /*! ../core/component_registrator */ 8), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _extend = __webpack_require__( /*! ../core/utils/extend */ 0);
var _utils = __webpack_require__( /*! ./core/utils */ 14);
var _advanced_chart = __webpack_require__( /*! ./chart_components/advanced_chart */ 502);
var _type = __webpack_require__( /*! ../core/utils/type */ 1);
var _annotations = __webpack_require__( /*! ./core/annotations */ 233);
var dxPolarChart = _advanced_chart.AdvancedChart.inherit({
_themeSection: "polar",
_createPanes: function() {
this.callBase();
return [{
name: "default"
}]
},
_checkPaneName: function() {
return true
},
_getAxisRenderingOptions: function(typeSelector) {
var isArgumentAxis = "argumentAxis" === typeSelector;
var type = isArgumentAxis ? "circular" : "linear";
var useSpiderWeb = this.option("useSpiderWeb");
if (useSpiderWeb) {
type += "Spider"
}
return {
axisType: "polarAxes",
drawingType: type
}
},
_executeAppendBeforeSeries: function(append) {
append()
},
_prepareAxisOptions: function(typeSelector, axisOptions) {
var isArgumentAxis = "argumentAxis" === typeSelector;
var themeManager = this._themeManager;
var axisUserOptions = this.option("argumentAxis");
var argumentAxisOptions = themeManager.getOptions("argumentAxis", axisUserOptions) || {};
var startAngle = isFinite(argumentAxisOptions.startAngle) ? (0, _utils.normalizeAngle)(argumentAxisOptions.startAngle) : 0;
return {
type: this.option("useSpiderWeb") && isArgumentAxis ? "discrete" : axisOptions.type,
isHorizontal: true,
showCustomBoundaryTicks: isArgumentAxis,
startAngle: startAngle,
endAngle: startAngle + 360
}
},
_optionChangesMap: {
useSpiderWeb: "AXES_AND_PANES"
},
_getExtraOptions: function() {
return {
spiderWidget: this.option("useSpiderWeb")
}
},
_prepareToRender: function() {
this._appendAxesGroups();
return {}
},
_calcCanvas: function() {
var canvas = (0, _extend.extend)({}, this._canvas);
var argumentAxis = this.getArgumentAxis();
var margins = argumentAxis.getMargins();
Object.keys(margins).forEach((function(margin) {
return canvas[margin] = canvas["original".concat(margin[0].toUpperCase()).concat(margin.slice(1))] + margins[margin]
}));
return canvas
},
_renderAxes: function(drawOptions) {
var valueAxis = this._getValueAxis();
var argumentAxis = this.getArgumentAxis();
argumentAxis.draw(this._canvas);
valueAxis.setSpiderTicks(argumentAxis.getSpiderTicks());
var canvas = this._calcCanvas();
argumentAxis.updateSize(canvas);
valueAxis.draw(canvas);
return canvas
},
_getValueAxis: function() {
return this._valueAxes[0]
},
_shrinkAxes: function(sizeStorage) {
var valueAxis = this._getValueAxis();
var argumentAxis = this.getArgumentAxis();
if (sizeStorage && (sizeStorage.width || sizeStorage.height)) {
argumentAxis.hideOuterElements();
var canvas = this._calcCanvas();
argumentAxis.updateSize(canvas);
valueAxis.updateSize(canvas)
}
},
checkForMoreSpaceForPanesCanvas: function() {
return this.layoutManager.needMoreSpaceForPanesCanvas([{
canvas: this.getArgumentAxis().getCanvas()
}], this._isRotated())
},
_getLayoutTargets: function() {
return [{
canvas: this._canvas
}]
},
_getSeriesForPane: function() {
return this.series
},
_applyClipRects: function() {
var canvasClipRectID = this._getCanvasClipRectID();
this._createClipPathForPane();
this.getArgumentAxis().applyClipRects(this._getElementsClipRectID(), canvasClipRectID);
this._getValueAxis().applyClipRects(this._getElementsClipRectID(), canvasClipRectID)
},
_createClipPathForPane: function() {
var valueAxis = this._getValueAxis();
var center = valueAxis.getCenter();
var radius = valueAxis.getRadius();
var panesClipRects = this._panesClipRects;
center = {
x: Math.round(center.x),
y: Math.round(center.y)
};
this._createClipCircle(panesClipRects.fixed, center.x, center.y, radius);
this._createClipCircle(panesClipRects.base, center.x, center.y, radius);
if (this.series.some((function(s) {
return s.areErrorBarsVisible()
}))) {
this._createClipCircle(panesClipRects.wide, center.x, center.y, radius)
} else {
panesClipRects.wide[0] = null
}
},
_createClipCircle: function(clipArray, left, top, radius) {
var clipCircle = clipArray[0];
if (!clipCircle) {
clipCircle = this._renderer.clipCircle(left, top, radius);
clipArray[0] = clipCircle
} else {
clipCircle.attr({
cx: left,
cy: top,
r: radius
})
}
},
_applyExtraSettings: function(series) {
var wideClipRect = this._panesClipRects.wide[0];
series.setClippingParams(this._panesClipRects.base[0].id, wideClipRect && wideClipRect.id, false, false)
},
getActualAngle: function(angle) {
return this.getArgumentAxis().getOptions().inverted ? 360 - angle : angle
},
getXYFromPolar: function(angle, radius, argument, value) {
var layoutInfo = {
angle: void 0,
radius: void 0,
x: void 0,
y: void 0
};
if (!(0, _type.isDefined)(angle) && !(0, _type.isDefined)(radius) && !(0, _type.isDefined)(argument) && !(0, _type.isDefined)(value)) {
return layoutInfo
}
var argAxis = this.getArgumentAxis();
var startAngle = argAxis.getAngles()[0];
var argAngle;
var translatedRadius;
if ((0, _type.isDefined)(argument)) {
argAngle = argAxis.getTranslator().translate(argument)
} else if (isFinite(angle)) {
argAngle = this.getActualAngle(angle)
} else if (!(0, _type.isDefined)(angle)) {
argAngle = 0
}
if ((0, _type.isDefined)(value)) {
translatedRadius = this.getValueAxis().getTranslator().translate(value)
} else if (isFinite(radius)) {
translatedRadius = radius
} else if (!(0, _type.isDefined)(radius)) {
translatedRadius = argAxis.getRadius()
}
if ((0, _type.isDefined)(argAngle) && (0, _type.isDefined)(translatedRadius)) {
var coords = (0, _utils.convertPolarToXY)(argAxis.getCenter(), startAngle, argAngle, translatedRadius);
(0, _extend.extend)(layoutInfo, coords, {
angle: argAxis.getTranslatedAngle(argAngle),
radius: translatedRadius
})
}
return layoutInfo
},
_applyPointMarkersAutoHiding: _common.noop,
_createScrollBar: _common.noop,
_isRotated: _common.noop,
_getCrosshairOptions: _common.noop,
_isLegendInside: _common.noop
});
dxPolarChart.addPlugin(_annotations.plugins.core);
dxPolarChart.addPlugin(_annotations.plugins.polarChart);
(0, _component_registrator.default)("dxPolarChart", dxPolarChart);
var _default = dxPolarChart;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*****************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/linear_gauge.js ***!
\*****************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _linear_gauge = (obj = __webpack_require__( /*! ./gauges/linear_gauge */ 1033), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _default = _linear_gauge.default;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/gauges/linear_gauge.js ***!
\************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
function _typeof(obj) {
if ("function" === typeof Symbol && "symbol" === typeof Symbol.iterator) {
_typeof = function(obj) {
return typeof obj
}
} else {
_typeof = function(obj) {
return obj && "function" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj
}
}
return _typeof(obj)
}
exports.default = void 0;
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 8));
var _extend = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _object = __webpack_require__( /*! ../../core/utils/object */ 52);
var _base_gauge = __webpack_require__( /*! ./base_gauge */ 193);
var _common = __webpack_require__( /*! ./common */ 511);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var linearIndicators = function(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj
}
if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) {
return {
default: obj
}
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj)
}
var newObj = {};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for (var key in obj) {
if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc)
} else {
newObj[key] = obj[key]
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj)
}
return newObj
}(__webpack_require__( /*! ./linear_indicators */ 1036));
var _linear_range_container = _interopRequireDefault(__webpack_require__( /*! ./linear_range_container */ 1037));
function _getRequireWildcardCache(nodeInterop) {
if ("function" !== typeof WeakMap) {
return null
}
var cacheBabelInterop = new WeakMap;
var cacheNodeInterop = new WeakMap;
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop
})(nodeInterop)
}
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var _max = Math.max;
var _min = Math.min;
var _round = Math.round;
var dxLinearGauge = _common.dxGauge.inherit({
_rootClass: "dxg-linear-gauge",
_factoryMethods: {
rangeContainer: "createLinearRangeContainer",
indicator: "createLinearIndicator"
},
_gridSpacingFactor: 25,
_scaleTypes: {
type: "xyAxes",
drawingType: "linear"
},
_getTicksOrientation: function(scaleOptions) {
return scaleOptions.isHorizontal ? scaleOptions.verticalOrientation : scaleOptions.horizontalOrientation
},
_getThemeManagerOptions: function() {
var options = this.callBase.apply(this, arguments);
options.subTheme = "_linear";
return options
},
_getInvertedState: function() {
return !this._area.vertical && this.option("rtlEnabled")
},
_prepareScaleSettings: function() {
var scaleOptions = this.callBase();
scaleOptions.inverted = this._getInvertedState();
return scaleOptions
},
_updateScaleTickIndent: function(scaleOptions) {
var indentFromTick = scaleOptions.label.indentFromTick;
var length = scaleOptions.tick.length;
var textParams = this._scale.measureLabels((0, _extend.extend)({}, this._canvas));
var verticalTextCorrection = scaleOptions.isHorizontal ? textParams.height + textParams.y : 0;
var isIndentPositive = indentFromTick > 0;
var orientation;
var textCorrection;
var tickCorrection;
if (scaleOptions.isHorizontal) {
orientation = isIndentPositive ? {
center: .5,
top: 0,
bottom: 1
} : {
center: .5,
top: 1,
bottom: 0
};
tickCorrection = length * orientation[scaleOptions.verticalOrientation];
textCorrection = textParams.y
} else {
orientation = isIndentPositive ? {
center: .5,
left: 0,
right: 1
} : {
center: .5,
left: 1,
right: 0
};
tickCorrection = length * orientation[scaleOptions.horizontalOrientation];
textCorrection = -textParams.width
}
scaleOptions.label.indentFromAxis = -indentFromTick + (isIndentPositive ? -tickCorrection + textCorrection : tickCorrection - verticalTextCorrection);
this._scale.updateOptions(scaleOptions)
},
_shiftScale: function(layout, scaleOptions) {
var canvas = (0, _extend.extend)({}, this._canvas);
var isHorizontal = scaleOptions.isHorizontal;
var scale = this._scale;
canvas[isHorizontal ? "left" : "top"] = this._area[isHorizontal ? "startCoord" : "endCoord"];
canvas[isHorizontal ? "right" : "bottom"] = canvas[isHorizontal ? "width" : "height"] - this._area[isHorizontal ? "endCoord" : "startCoord"];
scale.draw(canvas);
scale.shift({
left: -layout.x,
top: -layout.y
})
},
_setupCodomain: function() {
var geometry = this.option("geometry") || {};
var vertical = "vertical" === (0, _utils.normalizeEnum)(geometry.orientation);
this._area = {
vertical: vertical,
x: 0,
y: 0,
startCoord: -100,
endCoord: 100
};
this._rangeContainer.vertical = vertical;
this._translator.setInverted(this._getInvertedState());
this._translator.setCodomain(-100, 100)
},
_getScaleLayoutValue: function() {
return this._area[this._area.vertical ? "x" : "y"]
},
_getTicksCoefficients: function(options) {
var coefs = {
inner: 0,
outer: 1
};
if (this._area.vertical) {
if ("left" === options.horizontalOrientation) {
coefs.inner = 1;
coefs.outer = 0
} else if ("center" === options.horizontalOrientation) {
coefs.inner = coefs.outer = .5
}
} else if ("top" === options.verticalOrientation) {
coefs.inner = 1;
coefs.outer = 0
} else if ("center" === options.verticalOrientation) {
coefs.inner = coefs.outer = .5
}
return coefs
},
_correctScaleIndents: function(result, indentFromTick, textParams) {
var vertical = this._area.vertical;
if (indentFromTick >= 0) {
result.max += indentFromTick + textParams[vertical ? "width" : "height"]
} else {
result.min -= -indentFromTick + textParams[vertical ? "width" : "height"]
}
result.indent = textParams[vertical ? "height" : "width"] / 2
},
_measureMainElements: function(elements, scaleMeasurement) {
var x = this._area.x;
var y = this._area.y;
var minBound = 1e3;
var maxBound = 0;
var indent = 0;
var scale = this._scale;
(0, _iterator.each)(elements.concat(scale), (function(_, element) {
var bounds = element.measure ? element.measure({
x: x + element.getOffset(),
y: y + element.getOffset()
}) : scaleMeasurement;
void 0 !== bounds.max && (maxBound = _max(maxBound, bounds.max));
void 0 !== bounds.min && (minBound = _min(minBound, bounds.min));
bounds.indent > 0 && (indent = _max(indent, bounds.indent))
}));
return {
minBound: minBound,
maxBound: maxBound,
indent: indent
}
},
_applyMainLayout: function(elements, scaleMeasurement) {
var measurements = this._measureMainElements(elements, scaleMeasurement);
var area = this._area;
var rect;
var offset;
if (area.vertical) {
rect = selectRectBySizes(this._innerRect, {
width: measurements.maxBound - measurements.minBound
});
offset = (rect.left + rect.right) / 2 - (measurements.minBound + measurements.maxBound) / 2;
area.startCoord = rect.bottom - measurements.indent;
area.endCoord = rect.top + measurements.indent;
area.x = _round(area.x + offset)
} else {
rect = selectRectBySizes(this._innerRect, {
height: measurements.maxBound - measurements.minBound
});
offset = (rect.top + rect.bottom) / 2 - (measurements.minBound + measurements.maxBound) / 2;
area.startCoord = rect.left + measurements.indent;
area.endCoord = rect.right - measurements.indent;
area.y = _round(area.y + offset)
}
this._translator.setCodomain(area.startCoord, area.endCoord);
this._innerRect = rect
},
_getElementLayout: function(offset) {
return {
x: _round(this._area.x + offset),
y: _round(this._area.y + offset)
}
},
_getApproximateScreenRange: function() {
var area = this._area;
var s = area.vertical ? this._canvas.height : this._canvas.width;
s > area.totalSize && (s = area.totalSize);
s *= .8;
return s
},
_getDefaultSize: function() {
var geometry = this.option("geometry") || {};
if ("vertical" === geometry.orientation) {
return {
width: 100,
height: 300
}
} else {
return {
width: 300,
height: 100
}
}
},
_factory: (0, _object.clone)(_base_gauge.BaseGauge.prototype._factory)
});
function selectRectBySizes(srcRect, sizes, margins) {
var rect = (0, _extend.extend)({}, srcRect);
var step;
margins = margins || {};
if (sizes) {
rect.left += margins.left || 0;
rect.right -= margins.right || 0;
rect.top += margins.top || 0;
rect.bottom -= margins.bottom || 0;
if (sizes.width > 0) {
step = (rect.right - rect.left - sizes.width) / 2;
if (step > 0) {
rect.left += step;
rect.right -= step
}
}
if (sizes.height > 0) {
step = (rect.bottom - rect.top - sizes.height) / 2;
if (step > 0) {
rect.top += step;
rect.bottom -= step
}
}
}
return rect
}
var indicators = dxLinearGauge.prototype._factory.indicators = {};
dxLinearGauge.prototype._factory.createIndicator = (0, _common.createIndicatorCreator)(indicators);
indicators._default = linearIndicators._default;
indicators.rectangle = linearIndicators.rectangle;
indicators.rhombus = linearIndicators.rhombus;
indicators.circle = linearIndicators.circle;
indicators.trianglemarker = linearIndicators.trianglemarker;
indicators.textcloud = linearIndicators.textcloud;
indicators.rangebar = linearIndicators.rangebar;
dxLinearGauge.prototype._factory.RangeContainer = _linear_range_container.default;
(0, _component_registrator.default)("dxLinearGauge", dxLinearGauge);
var _default = dxLinearGauge;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/gauges/theme_manager.js ***!
\*************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _base_theme_manager = __webpack_require__( /*! ../core/base_theme_manager */ 320);
var _extend = _extend2.extend;
var ThemeManager = _base_theme_manager.BaseThemeManager.inherit({
ctor: function(options) {
this.callBase.apply(this, arguments);
this._subTheme = options.subTheme
},
_initializeTheme: function() {
var that = this;
var subTheme;
if (that._subTheme) {
subTheme = _extend(true, {}, that._theme[that._subTheme], that._theme);
_extend(true, that._theme, subTheme)
}
that.callBase.apply(that, arguments)
}
});
var _default = {
ThemeManager: ThemeManager
};
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*******************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/gauges/tracker.js ***!
\*******************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 5));
var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 15));
var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 11));
var _wheel = __webpack_require__( /*! ../../events/core/wheel */ 154);
var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ready_callbacks */ 51));
var _index = __webpack_require__( /*! ../../events/utils/index */ 9);
var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 25));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var EVENT_NS = "gauge-tooltip";
var ready = _ready_callbacks.default.add;
var Tracker = _class.default.inherit({
ctor: function(parameters) {
var that = this;
that._element = parameters.renderer.g().attr({
class: "dxg-tracker",
stroke: "none",
"stroke-width": 0,
fill: "#000000",
opacity: 1e-4
}).linkOn(parameters.container, {
name: "tracker",
after: "peripheral"
});
that._showTooltipCallback = function() {
var target = that._tooltipEvent.target;
var data_target = target["gauge-data-target"];
var data_info = target["gauge-data-info"];
that._targetEvent = null;
if (that._tooltipTarget !== target) {
var callback = function(result) {
result && (that._tooltipTarget = target)
};
callback(that._callbacks["tooltip-show"](data_target, data_info, callback))
}
};
that._hideTooltipCallback = function() {
that._hideTooltipTimeout = null;
that._targetEvent = null;
if (that._tooltipTarget) {
that._callbacks["tooltip-hide"]();
that._tooltipTarget = null
}
};
that._dispose = function() {
clearTimeout(that._hideTooltipTimeout);
that._showTooltipCallback = that._hideTooltipCallback = that._dispose = null
}
},
dispose: function() {
this._dispose();
this.deactivate();
this._element.off("." + EVENT_NS);
this._element.linkOff();
this._element = this._context = this._callbacks = null;
return this
},
activate: function() {
this._element.linkAppend();
return this
},
deactivate: function() {
this._element.linkRemove().clear();
return this
},
attach: function(element, target, info) {
element.data({
"gauge-data-target": target,
"gauge-data-info": info
}).append(this._element);
return this
},
detach: function(element) {
element.remove();
return this
},
setTooltipState: function(state) {
this._element.off("." + EVENT_NS);
if (state) {
var data = {
tracker: this
};
this._element.on((0, _index.addNamespace)([_pointer.default.move], EVENT_NS), data, handleTooltipMouseOver).on((0, _index.addNamespace)([_pointer.default.out], EVENT_NS), data, handleTooltipMouseOut).on((0, _index.addNamespace)([_pointer.default.down], EVENT_NS), data, handleTooltipTouchStart).on((0, _index.addNamespace)([_pointer.default.up], EVENT_NS), data, handleTooltipTouchEnd).on((0, _index.addNamespace)([_wheel.name], EVENT_NS), data, handleTooltipMouseWheel)
}
return this
},
setCallbacks: function(callbacks) {
this._callbacks = callbacks;
return this
},
_showTooltip: function(event) {
clearTimeout(this._hideTooltipTimeout);
this._hideTooltipTimeout = null;
if (this._tooltipTarget === event.target) {
return
}
this._tooltipEvent = event;
this._showTooltipCallback()
},
_hideTooltip: function(delay) {
clearTimeout(this._hideTooltipTimeout);
if (delay) {
this._hideTooltipTimeout = setTimeout(this._hideTooltipCallback, delay)
} else {
this._hideTooltipCallback()
}
}
});
var active_touch_tooltip_tracker = null;
function handleTooltipMouseOver(event) {
var tracker = event.data.tracker;
tracker._x = event.pageX;
tracker._y = event.pageY;
tracker._showTooltip(event)
}
function handleTooltipMouseOut(event) {
event.data.tracker._hideTooltip(100)
}
function handleTooltipMouseWheel(event) {
event.data.tracker._hideTooltip()
}
function handleTooltipTouchStart(event) {
var tracker = active_touch_tooltip_tracker = event.data.tracker;
tracker._touch = true;
handleTooltipMouseOver(event)
}
function handleTooltipTouchEnd() {
active_touch_tooltip_tracker._touch = false
}
function handleDocumentTooltipTouchStart(event) {
var tracker = active_touch_tooltip_tracker;
if (tracker && !tracker._touch) {
tracker._hideTooltip(100);
active_touch_tooltip_tracker = null
}
}
ready((function() {
_events_engine.default.subscribeGlobal(_dom_adapter.default.getDocument(), (0, _index.addNamespace)([_pointer.default.down], EVENT_NS), handleDocumentTooltipTouchStart)
}));
var _default = Tracker;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*****************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/gauges/linear_indicators.js ***!
\*****************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.textcloud = exports.trianglemarker = exports.circle = exports.rhombus = exports.rectangle = exports.rangebar = exports._default = void 0;
var _base_indicators = __webpack_require__( /*! ./base_indicators */ 328);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _Number = Number;
var SimpleIndicator = _base_indicators.BaseIndicator.inherit({
_move: function() {
var delta = this._actualPosition - this._zeroPosition;
this._rootElement.move(this.vertical ? 0 : delta, this.vertical ? delta : 0);
this._trackerElement && this._trackerElement.move(this.vertical ? 0 : delta, this.vertical ? delta : 0)
},
_isEnabled: function() {
this.vertical = this._options.vertical;
return this._options.length > 0 && this._options.width > 0
},
_isVisible: function() {
return true
},
_getTrackerSettings: function() {
var options = this._options;
var x1;
var x2;
var y1;
var y2;
var width = options.width / 2;
var length = options.length / 2;
var p = this._zeroPosition;
width > 10 || (width = 10);
length > 10 || (length = 10);
if (this.vertical) {
x1 = options.x - length;
x2 = options.x + length;
y1 = p + width;
y2 = p - width
} else {
x1 = p - width;
x2 = p + width;
y1 = options.y + length;
y2 = options.y - length
}
return {
points: [x1, y1, x1, y2, x2, y2, x2, y1]
}
},
_render: function() {
this._zeroPosition = this._translator.getCodomainStart()
},
_clear: function() {
delete this._element
},
measure: function(layout) {
var p = this.vertical ? layout.x : layout.y;
return {
min: p - this._options.length / 2,
max: p + this._options.length / 2
}
},
getTooltipParameters: function() {
var options = this._options;
var p = this._actualPosition;
var parameters = {
x: p,
y: p,
value: this._currentValue,
color: options.color,
offset: options.width / 2
};
this.vertical ? parameters.x = options.x : parameters.y = options.y;
return parameters
}
});
var rectangle = SimpleIndicator.inherit({
_render: function() {
var options = this._options;
var x1;
var x2;
var y1;
var y2;
this.callBase();
var p = this._zeroPosition;
if (this.vertical) {
x1 = options.x - options.length / 2;
x2 = options.x + options.length / 2;
y1 = p + options.width / 2;
y2 = p - options.width / 2
} else {
x1 = p - options.width / 2;
x2 = p + options.width / 2;
y1 = options.y + options.length / 2;
y2 = options.y - options.length / 2
}
this._element = this._element || this._renderer.path([], "area").append(this._rootElement);
this._element.attr({
points: [x1, y1, x1, y2, x2, y2, x2, y1]
})
}
});
exports.rectangle = rectangle;
var rhombus = SimpleIndicator.inherit({
_render: function() {
var options = this._options;
var x;
var y;
var dx;
var dy;
this.callBase();
if (this.vertical) {
x = options.x;
y = this._zeroPosition;
dx = options.length / 2 || 0;
dy = options.width / 2 || 0
} else {
x = this._zeroPosition;
y = options.y;
dx = options.width / 2 || 0;
dy = options.length / 2 || 0
}
this._element = this._element || this._renderer.path([], "area").append(this._rootElement);
this._element.attr({
points: [x - dx, y, x, y - dy, x + dx, y, x, y + dy]
})
}
});
exports.rhombus = rhombus;
var circle = SimpleIndicator.inherit({
_render: function() {
var options = this._options;
var x;
var y;
this.callBase();
if (this.vertical) {
x = options.x;
y = this._zeroPosition
} else {
x = this._zeroPosition;
y = options.y
}
var r = options.length / 2 || 0;
this._element = this._element || this._renderer.circle().append(this._rootElement);
this._element.attr({
cx: x,
cy: y,
r: r
})
}
});
exports.circle = circle;
var triangleMarker = SimpleIndicator.inherit({
_isEnabled: function() {
this.vertical = this._options.vertical;
this._inverted = this.vertical ? "right" === (0, _utils.normalizeEnum)(this._options.horizontalOrientation) : "bottom" === (0, _utils.normalizeEnum)(this._options.verticalOrientation);
return this._options.length > 0 && this._options.width > 0
},
_isVisible: function() {
return true
},
_render: function() {
var options = this._options;
var x1;
var x2;
var y1;
var y2;
var settings = {
stroke: "none",
"stroke-width": 0,
"stroke-linecap": "square"
};
this.callBase();
if (this.vertical) {
x1 = options.x;
y1 = this._zeroPosition;
x2 = x1 + _Number(this._inverted ? options.length : -options.length);
settings.points = [x1, y1, x2, y1 - options.width / 2, x2, y1 + options.width / 2]
} else {
y1 = options.y;
x1 = this._zeroPosition;
y2 = y1 + _Number(this._inverted ? options.length : -options.length);
settings.points = [x1, y1, x1 - options.width / 2, y2, x1 + options.width / 2, y2]
}
if (options.space > 0) {
settings["stroke-width"] = Math.min(options.space, options.width / 4) || 0;
settings.stroke = settings["stroke-width"] > 0 ? options.containerBackgroundColor || "none" : "none"
}
this._element = this._element || this._renderer.path([], "area").append(this._rootElement);
this._element.attr(settings).sharp()
},
_getTrackerSettings: function() {
var options = this._options;
var width = options.width / 2;
var length = _Number(options.length);
var x1;
var x2;
var y1;
var y2;
var result;
width > 10 || (width = 10);
length > 20 || (length = 20);
if (this.vertical) {
x1 = options.x;
x2 = x1 + (this._inverted ? length : -length);
y1 = this._zeroPosition + width;
y2 = this._zeroPosition - width;
result = [x1, y1, x2, y1, x2, y2, x1, y2]
} else {
y1 = options.y;
y2 = y1 + (this._inverted ? length : -length);
x1 = this._zeroPosition - width;
x2 = this._zeroPosition + width;
result = [x1, y1, x1, y2, x2, y2, x2, y1]
}
return {
points: result
}
},
measure: function(layout) {
var length = _Number(this._options.length);
var minBound;
var maxBound;
if (this.vertical) {
minBound = maxBound = layout.x;
if (this._inverted) {
maxBound = minBound + length
} else {
minBound = maxBound - length
}
} else {
minBound = maxBound = layout.y;
if (this._inverted) {
maxBound = minBound + length
} else {
minBound = maxBound - length
}
}
return {
min: minBound,
max: maxBound,
indent: this._options.width / 2
}
},
getTooltipParameters: function() {
var options = this._options;
var s = (this._inverted ? options.length : -options.length) / 2;
var parameters = this.callBase();
this.vertical ? parameters.x += s : parameters.y += s;
parameters.offset = options.length / 2;
return parameters
}
});
exports.trianglemarker = triangleMarker;
var textCloud = _base_indicators.BaseTextCloudMarker.inherit({
_isEnabled: function() {
this.vertical = this._options.vertical;
this._inverted = this.vertical ? "right" === (0, _utils.normalizeEnum)(this._options.horizontalOrientation) : "bottom" === (0, _utils.normalizeEnum)(this._options.verticalOrientation);
return true
},
_isVisible: function() {
return true
},
_getTextCloudOptions: function() {
var x = this._actualPosition;
var y = this._actualPosition;
var type;
if (this.vertical) {
x = this._options.x;
type = this._inverted ? "top-left" : "top-right"
} else {
y = this._options.y;
type = this._inverted ? "right-top" : "right-bottom"
}
return {
x: x,
y: y,
type: type
}
},
measure: function(layout) {
var minBound;
var maxBound;
var arrowLength = _Number(this._options.arrowLength) || 0;
this._measureText();
if (this.vertical) {
if (this._inverted) {
minBound = layout.x;
maxBound = layout.x + arrowLength + this._textFullWidth
} else {
minBound = layout.x - arrowLength - this._textFullWidth;
maxBound = layout.x
}
} else if (this._inverted) {
minBound = layout.y;
maxBound = layout.y + arrowLength + this._textFullHeight
} else {
minBound = layout.y - arrowLength - this._textFullHeight;
maxBound = layout.y
}
return {
min: minBound,
max: maxBound,
indent: 0
}
},
_correctCloudType: function(type, _ref, _ref2) {
var x = _ref.x,
y = _ref.y;
var width = _ref2.width,
height = _ref2.height;
if ("right-top" === type || "right-bottom" === type) {
if (x - width < this._translator.getCodomainStart()) {
type = "left-".concat(type.split("-")[1])
}
} else if ("top-left" === type || "top-right" === type) {
if (y + height > this._translator.getCodomainStart()) {
type = "bottom-".concat(type.split("-")[1])
}
}
return type
}
});
exports.textcloud = textCloud;
var rangeBar = _base_indicators.BaseRangeBar.inherit({
_isEnabled: function() {
this.vertical = this._options.vertical;
this._inverted = this.vertical ? "right" === (0, _utils.normalizeEnum)(this._options.horizontalOrientation) : "bottom" === (0, _utils.normalizeEnum)(this._options.verticalOrientation);
return this._options.size > 0
},
_isVisible: function() {
return true
},
_createBarItem: function() {
return this._renderer.path([], "area").append(this._rootElement)
},
_createTracker: function() {
return this._renderer.path([], "area")
},
_setBarSides: function() {
var options = this._options;
var size = _Number(options.size);
var minSide;
var maxSide;
if (this.vertical) {
if (this._inverted) {
minSide = options.x;
maxSide = options.x + size
} else {
minSide = options.x - size;
maxSide = options.x
}
} else if (this._inverted) {
minSide = options.y;
maxSide = options.y + size
} else {
minSide = options.y - size;
maxSide = options.y
}
this._minSide = minSide;
this._maxSide = maxSide;
this._minBound = minSide;
this._maxBound = maxSide
},
_getSpace: function() {
var options = this._options;
return options.space > 0 ? _Number(options.space) : 0
},
_isTextVisible: function() {
var textOptions = this._options.text || {};
return textOptions.indent > 0 || textOptions.indent < 0
},
_getTextAlign: function() {
return this.vertical ? this._options.text.indent > 0 ? "left" : "right" : "center"
},
_setTextItemsSides: function() {
var indent = _Number(this._options.text.indent);
if (indent > 0) {
this._lineStart = this._maxSide;
this._lineEnd = this._maxSide + indent;
this._textPosition = this._lineEnd + (this.vertical ? 2 : this._textHeight / 2);
this._maxBound = this._textPosition + (this.vertical ? this._textWidth : this._textHeight / 2)
} else if (indent < 0) {
this._lineStart = this._minSide;
this._lineEnd = this._minSide + indent;
this._textPosition = this._lineEnd - (this.vertical ? 2 : this._textHeight / 2);
this._minBound = this._textPosition - (this.vertical ? this._textWidth : this._textHeight / 2)
}
},
_getPositions: function() {
var startPosition = this._startPosition;
var endPosition = this._endPosition;
var space = this._space;
var basePosition = this._basePosition;
var actualPosition = this._actualPosition;
var mainPosition1;
var mainPosition2;
var backPosition1;
var backPosition2;
if (startPosition < endPosition) {
if (basePosition < actualPosition) {
mainPosition1 = basePosition;
mainPosition2 = actualPosition
} else {
mainPosition1 = actualPosition;
mainPosition2 = basePosition
}
backPosition1 = mainPosition1 - space;
backPosition2 = mainPosition2 + space
} else {
if (basePosition > actualPosition) {
mainPosition1 = basePosition;
mainPosition2 = actualPosition
} else {
mainPosition1 = actualPosition;
mainPosition2 = basePosition
}
backPosition1 = mainPosition1 + space;
backPosition2 = mainPosition2 - space
}
return {
start: startPosition,
end: endPosition,
main1: mainPosition1,
main2: mainPosition2,
back1: backPosition1,
back2: backPosition2
}
},
_buildItemSettings: function(from, to) {
var side1 = this._minSide;
var side2 = this._maxSide;
var points = this.vertical ? [side1, from, side1, to, side2, to, side2, from] : [from, side1, from, side2, to, side2, to, side1];
return {
points: points
}
},
_updateTextPosition: function() {
this._text.attr(this.vertical ? {
x: this._textPosition,
y: this._actualPosition + this._textVerticalOffset
} : {
x: this._actualPosition,
y: this._textPosition + this._textVerticalOffset
})
},
_updateLinePosition: function() {
var actualPosition = this._actualPosition;
var side1;
var side2;
var points;
if (this.vertical) {
if (this._basePosition >= actualPosition) {
side1 = actualPosition;
side2 = actualPosition + 2
} else {
side1 = actualPosition - 2;
side2 = actualPosition
}
points = [this._lineStart, side1, this._lineStart, side2, this._lineEnd, side2, this._lineEnd, side1]
} else {
if (this._basePosition <= actualPosition) {
side1 = actualPosition - 2;
side2 = actualPosition
} else {
side1 = actualPosition;
side2 = actualPosition + 2
}
points = [side1, this._lineStart, side1, this._lineEnd, side2, this._lineEnd, side2, this._lineStart]
}
this._line.attr({
points: points
}).sharp()
},
_getTooltipPosition: function() {
var crossCenter = (this._minSide + this._maxSide) / 2;
var alongCenter = (this._basePosition + this._actualPosition) / 2;
return this.vertical ? {
x: crossCenter,
y: alongCenter
} : {
x: alongCenter,
y: crossCenter
}
},
measure: function(layout) {
var size = _Number(this._options.size);
var textIndent = _Number(this._options.text.indent);
var minBound;
var maxBound;
var indent;
this._measureText();
if (this.vertical) {
minBound = maxBound = layout.x;
if (this._inverted) {
maxBound += size
} else {
minBound -= size
}
if (this._hasText) {
indent = this._textHeight / 2;
if (textIndent > 0) {
maxBound += textIndent + this._textWidth
}
if (textIndent < 0) {
minBound += textIndent - this._textWidth
}
}
} else {
minBound = maxBound = layout.y;
if (this._inverted) {
maxBound += size
} else {
minBound -= size
}
if (this._hasText) {
indent = this._textWidth / 2;
if (textIndent > 0) {
maxBound += textIndent + this._textHeight
}
if (textIndent < 0) {
minBound += textIndent - this._textHeight
}
}
}
return {
min: minBound,
max: maxBound,
indent: indent
}
}
});
exports.rangebar = exports._default = rangeBar
},
/*!**********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/gauges/linear_range_container.js ***!
\**********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _base_range_container = (obj = __webpack_require__( /*! ./base_range_container */ 512), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _Number = Number;
var _max = Math.max;
var LinearRangeContainer = _base_range_container.default.inherit({
_processOptions: function() {
this.vertical = this._options.vertical;
this._inner = this._outer = 0;
if (this.vertical) {
switch ((0, _utils.normalizeEnum)(this._options.horizontalOrientation)) {
case "left":
this._inner = 1;
break;
case "center":
this._inner = this._outer = .5;
break;
default:
this._outer = 1
}
} else {
switch ((0, _utils.normalizeEnum)(this._options.verticalOrientation)) {
case "top":
this._inner = 1;
break;
case "center":
this._inner = this._outer = .5;
break;
default:
this._outer = 1
}
}
},
_isVisible: function() {
return true
},
_createRange: function(range, layout) {
var inner = this._inner;
var outer = this._outer;
var startPosition = this._translator.translate(range.start);
var endPosition = this._translator.translate(range.end);
var points;
var x = layout.x;
var y = layout.y;
var startWidth = range.startWidth;
var endWidth = range.endWidth;
if (this.vertical) {
points = [x - startWidth * inner, startPosition, x - endWidth * inner, endPosition, x + endWidth * outer, endPosition, x + startWidth * outer, startPosition]
} else {
points = [startPosition, y + startWidth * outer, startPosition, y - startWidth * inner, endPosition, y - endWidth * inner, endPosition, y + endWidth * outer]
}
return this._renderer.path(points, "area")
},
measure: function(layout) {
var result = {};
var width;
result.min = result.max = layout[this.vertical ? "x" : "y"];
width = this._options.width;
width = _Number(width) || _max(_Number(width.start), _Number(width.end));
result.min -= this._inner * width;
result.max += this._outer * width;
return result
}
});
var _default = LinearRangeContainer;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*******************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/circular_gauge.js ***!
\*******************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _circular_gauge = (obj = __webpack_require__( /*! ./gauges/circular_gauge */ 513), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _default = _circular_gauge.default;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*******************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/gauges/circular_indicators.js ***!
\*******************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.rangebar = exports.textcloud = exports.trianglemarker = exports.twocolorneedle = exports.triangleneedle = exports.rectangleneedle = exports._default = void 0;
var _base_indicators = __webpack_require__( /*! ./base_indicators */ 328);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _Number = Number;
var _getCosAndSin = _utils.getCosAndSin;
var _convertAngleToRendererSpace = _utils.convertAngleToRendererSpace;
var SimpleIndicator = _base_indicators.BaseIndicator.inherit({
_move: function() {
var options = this._options;
var angle = _convertAngleToRendererSpace(this._actualPosition);
this._rootElement.rotate(angle, options.x, options.y);
this._trackerElement && this._trackerElement.rotate(angle, options.x, options.y)
},
_isEnabled: function() {
return this._options.width > 0
},
_isVisible: function(layout) {
return layout.radius - _Number(this._options.indentFromCenter) > 0
},
_getTrackerSettings: function() {
var options = this._options;
var radius = this._getRadius();
var indentFromCenter = this._getIndentFromCenter();
var x = options.x;
var y = options.y - (radius + indentFromCenter) / 2;
var width = options.width / 2;
var length = (radius - indentFromCenter) / 2;
width > 10 || (width = 10);
length > 10 || (length = 10);
return {
points: [x - width, y - length, x - width, y + length, x + width, y + length, x + width, y - length]
}
},
_render: function() {
this._renderPointer()
},
_clearPointer: function() {
delete this._element
},
_clear: function() {
this._clearPointer()
},
_getIndentFromCenter: function(radius) {
return Number(this._options.indentFromCenter) || 0
},
_getRadius: function() {
return 0
},
measure: function(layout) {
var result = {
max: layout.radius
};
if (this._options.indentFromCenter < 0) {
result.inverseHorizontalOffset = result.inverseVerticalOffset = -_Number(this._options.indentFromCenter)
}
return result
},
getTooltipParameters: function() {
var options = this._options;
var cosSin = _getCosAndSin(this._actualPosition);
var r = (this._getRadius() + this._getIndentFromCenter()) / 2;
return {
x: options.x + cosSin.cos * r,
y: options.y - cosSin.sin * r,
value: this._currentValue,
color: options.color,
offset: options.width / 2
}
}
});
var NeedleIndicator = SimpleIndicator.inherit({
_isVisible: function(layout) {
var indentFromCenter = this._adjustOffset(Number(this._options.indentFromCenter), layout.radius);
var offset = this._adjustOffset(Number(this._options.offset), layout.radius);
return layout.radius - indentFromCenter - offset > 0
},
getOffset: function() {
return 0
},
_adjustOffset: function(value, radius) {
var minRadius = Number(this._options.beginAdaptingAtRadius);
var diff = radius / minRadius;
if (diff < 1) {
value = Math.floor(value * diff)
}
return value || 0
},
_getIndentFromCenter: function(radius) {
return this._adjustOffset(Number(this._options.indentFromCenter), this._options.radius)
},
_getRadius: function() {
var options = this._options;
return options.radius - this._adjustOffset(Number(options.offset), options.radius)
},
_renderSpindle: function() {
var options = this._options;
var radius = options.radius;
var spindleSize = 2 * this._adjustOffset(_Number(options.spindleSize) / 2, radius);
var gapSize = 2 * this._adjustOffset(_Number(options.spindleGapSize) / 2, radius) || 0;
if (gapSize > 0) {
gapSize = gapSize <= spindleSize ? gapSize : spindleSize
}
if (spindleSize > 0) {
this._spindleOuter = this._spindleOuter || this._renderer.circle().append(this._rootElement);
this._spindleInner = this._spindleInner || this._renderer.circle().append(this._rootElement);
this._spindleOuter.attr({
class: "dxg-spindle-border",
cx: options.x,
cy: options.y,
r: spindleSize / 2
});
this._spindleInner.attr({
class: "dxg-spindle-hole",
cx: options.x,
cy: options.y,
r: gapSize / 2,
fill: options.containerBackgroundColor
})
}
},
_render: function() {
this.callBase();
this._renderSpindle()
},
_clear: function() {
this.callBase();
delete this._spindleOuter;
delete this._spindleInner
}
});
var rectangleNeedle = NeedleIndicator.inherit({
_renderPointer: function() {
var options = this._options;
var y2 = options.y - this._getRadius();
var y1 = options.y - this._getIndentFromCenter();
var x1 = options.x - options.width / 2;
var x2 = x1 + _Number(options.width);
this._element = this._element || this._renderer.path([], "area").append(this._rootElement);
this._element.attr({
points: [x1, y1, x1, y2, x2, y2, x2, y1]
})
}
});
exports.rectangleneedle = exports._default = rectangleNeedle;
var triangleNeedle = NeedleIndicator.inherit({
_renderPointer: function() {
var options = this._options;
var y2 = options.y - this._getRadius();
var y1 = options.y - this._getIndentFromCenter();
var x1 = options.x - options.width / 2;
var x2 = options.x + options.width / 2;
this._element = this._element || this._renderer.path([], "area").append(this._rootElement);
this._element.attr({
points: [x1, y1, options.x, y2, x2, y1]
})
}
});
exports.triangleneedle = triangleNeedle;
var twoColorNeedle = NeedleIndicator.inherit({
_renderPointer: function() {
var options = this._options;
var x1 = options.x - options.width / 2;
var x2 = options.x + options.width / 2;
var y4 = options.y - this._getRadius();
var y1 = options.y - this._getIndentFromCenter();
var fraction = _Number(options.secondFraction) || 0;
var y2;
var y3;
if (fraction >= 1) {
y2 = y3 = y1
} else if (fraction <= 0) {
y2 = y3 = y4
} else {
y3 = y4 + (y1 - y4) * fraction;
y2 = y3 + _Number(options.space)
}
this._firstElement = this._firstElement || this._renderer.path([], "area").append(this._rootElement);
this._spaceElement = this._spaceElement || this._renderer.path([], "area").append(this._rootElement);
this._secondElement = this._secondElement || this._renderer.path([], "area").append(this._rootElement);
this._firstElement.attr({
points: [x1, y1, x1, y2, x2, y2, x2, y1]
});
this._spaceElement.attr({
points: [x1, y2, x1, y3, x2, y3, x2, y2],
class: "dxg-hole",
fill: options.containerBackgroundColor
});
this._secondElement.attr({
points: [x1, y3, x1, y4, x2, y4, x2, y3],
class: "dxg-part",
fill: options.secondColor
})
},
_clearPointer: function() {
delete this._firstElement;
delete this._secondElement;
delete this._spaceElement
}
});
exports.twocolorneedle = twoColorNeedle;
var triangleMarker = SimpleIndicator.inherit({
_isEnabled: function() {
return this._options.length > 0 && this._options.width > 0
},
_isVisible: function(layout) {
return layout.radius > 0
},
_render: function() {
var options = this._options;
var x = options.x;
var y1 = options.y - options.radius;
var dx = options.width / 2 || 0;
var y2 = y1 - _Number(options.length);
this._element = this._element || this._renderer.path([], "area").append(this._rootElement);
var settings = {
points: [x, y1, x - dx, y2, x + dx, y2],
stroke: "none",
"stroke-width": 0,
"stroke-linecap": "square"
};
if (options.space > 0) {
settings["stroke-width"] = Math.min(options.space, options.width / 4) || 0;
settings.stroke = settings["stroke-width"] > 0 ? options.containerBackgroundColor || "none" : "none"
}
this._element.attr(settings).sharp()
},
_clear: function() {
delete this._element
},
_getTrackerSettings: function() {
var options = this._options;
var x = options.x;
var y = options.y - options.radius - options.length / 2;
var width = options.width / 2;
var length = options.length / 2;
width > 10 || (width = 10);
length > 10 || (length = 10);
return {
points: [x - width, y - length, x - width, y + length, x + width, y + length, x + width, y - length]
}
},
measure: function(layout) {
return {
min: layout.radius,
max: layout.radius + _Number(this._options.length)
}
},
getTooltipParameters: function() {
var options = this._options;
var cosSin = _getCosAndSin(this._actualPosition);
var r = options.radius + options.length / 2;
var parameters = this.callBase();
parameters.x = options.x + cosSin.cos * r;
parameters.y = options.y - cosSin.sin * r;
parameters.offset = options.length / 2;
return parameters
}
});
exports.trianglemarker = triangleMarker;
var textCloud = _base_indicators.BaseTextCloudMarker.inherit({
_isEnabled: function() {
return true
},
_isVisible: function(layout) {
return layout.radius > 0
},
_getTextCloudOptions: function() {
var cosSin = _getCosAndSin(this._actualPosition);
var nAngle = (0, _utils.normalizeAngle)(this._actualPosition);
return {
x: this._options.x + cosSin.cos * this._options.radius,
y: this._options.y - cosSin.sin * this._options.radius,
type: nAngle > 270 ? "left-top" : nAngle > 180 ? "top-right" : nAngle > 90 ? "right-bottom" : "bottom-left"
}
},
measure: function(layout) {
var arrowLength = _Number(this._options.arrowLength) || 0;
this._measureText();
var verticalOffset = this._textFullHeight + arrowLength;
var horizontalOffset = this._textFullWidth + arrowLength;
return {
min: layout.radius,
max: layout.radius,
horizontalOffset: horizontalOffset,
verticalOffset: verticalOffset,
inverseHorizontalOffset: horizontalOffset,
inverseVerticalOffset: verticalOffset
}
}
});
exports.textcloud = textCloud;
var rangeBar = _base_indicators.BaseRangeBar.inherit({
_isEnabled: function() {
return this._options.size > 0
},
_isVisible: function(layout) {
return layout.radius - _Number(this._options.size) > 0
},
_createBarItem: function() {
return this._renderer.arc().attr({
"stroke-linejoin": "round"
}).append(this._rootElement)
},
_createTracker: function() {
return this._renderer.arc().attr({
"stroke-linejoin": "round"
})
},
_setBarSides: function() {
this._maxSide = this._options.radius;
this._minSide = this._maxSide - _Number(this._options.size)
},
_getSpace: function() {
var options = this._options;
return options.space > 0 ? 180 * options.space / options.radius / Math.PI : 0
},
_isTextVisible: function() {
var options = this._options.text || {};
return options.indent > 0
},
_setTextItemsSides: function() {
var options = this._options;
var indent = _Number(options.text.indent);
this._lineFrom = options.y - options.radius;
this._lineTo = this._lineFrom - indent;
this._textRadius = options.radius + indent
},
_getPositions: function() {
var basePosition = this._basePosition;
var actualPosition = this._actualPosition;
var mainPosition1;
var mainPosition2;
if (basePosition >= actualPosition) {
mainPosition1 = basePosition;
mainPosition2 = actualPosition
} else {
mainPosition1 = actualPosition;
mainPosition2 = basePosition
}
return {
start: this._startPosition,
end: this._endPosition,
main1: mainPosition1,
main2: mainPosition2,
back1: Math.min(mainPosition1 + this._space, this._startPosition),
back2: Math.max(mainPosition2 - this._space, this._endPosition)
}
},
_buildItemSettings: function(from, to) {
return {
x: this._options.x,
y: this._options.y,
innerRadius: this._minSide,
outerRadius: this._maxSide,
startAngle: to,
endAngle: from
}
},
_updateTextPosition: function() {
var cosSin = _getCosAndSin(this._actualPosition);
var x = this._options.x + this._textRadius * cosSin.cos;
var y = this._options.y - this._textRadius * cosSin.sin;
x += cosSin.cos * this._textWidth * .6;
y -= cosSin.sin * this._textHeight * .6;
this._text.attr({
x: x,
y: y + this._textVerticalOffset
})
},
_updateLinePosition: function() {
var x = this._options.x;
var x1;
var x2;
if (this._basePosition > this._actualPosition) {
x1 = x - 2;
x2 = x
} else if (this._basePosition < this._actualPosition) {
x1 = x;
x2 = x + 2
} else {
x1 = x - 1;
x2 = x + 1
}
this._line.attr({
points: [x1, this._lineFrom, x1, this._lineTo, x2, this._lineTo, x2, this._lineFrom]
}).rotate(_convertAngleToRendererSpace(this._actualPosition), x, this._options.y).sharp()
},
_getTooltipPosition: function() {
var cosSin = _getCosAndSin((this._basePosition + this._actualPosition) / 2);
var r = (this._minSide + this._maxSide) / 2;
return {
x: this._options.x + cosSin.cos * r,
y: this._options.y - cosSin.sin * r
}
},
measure: function(layout) {
var result = {
min: layout.radius - _Number(this._options.size),
max: layout.radius
};
this._measureText();
if (this._hasText) {
result.max += _Number(this._options.text.indent);
result.horizontalOffset = this._textWidth;
result.verticalOffset = this._textHeight
}
return result
}
});
exports.rangebar = rangeBar
},
/*!************************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/gauges/circular_range_container.js ***!
\************************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _base_range_container = (obj = __webpack_require__( /*! ./base_range_container */ 512), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _Number = Number;
var _max = Math.max;
var CircularRangeContainer = _base_range_container.default.inherit({
_processOptions: function() {
this._inner = this._outer = 0;
switch ((0, _utils.normalizeEnum)(this._options.orientation)) {
case "inside":
this._inner = 1;
break;
case "center":
this._inner = this._outer = .5;
break;
default:
this._outer = 1
}
},
_isVisible: function(layout) {
var width = this._options.width;
width = _Number(width) || _max(_Number(width.start), _Number(width.end));
return layout.radius - this._inner * width > 0
},
_createRange: function(range, layout) {
var width = (range.startWidth + range.endWidth) / 2;
return this._renderer.arc(layout.x, layout.y, layout.radius - this._inner * width, layout.radius + this._outer * width, this._translator.translate(range.end), this._translator.translate(range.start)).attr({
"stroke-linejoin": "round"
})
},
measure: function(layout) {
var width = this._options.width;
width = _Number(width) || _max(_Number(width.start), _Number(width.end));
return {
min: layout.radius - this._inner * width,
max: layout.radius + this._outer * width
}
}
});
var _default = CircularRangeContainer;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!**************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/bar_gauge.js ***!
\**************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _bar_gauge = __webpack_require__( /*! ./gauges/bar_gauge */ 1042);
var _default = _bar_gauge.dxBarGauge;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/gauges/bar_gauge.js ***!
\*********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.dxBarGauge = void 0;
var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 8));
var _object = __webpack_require__( /*! ../../core/utils/object */ 52);
var _common = __webpack_require__( /*! ../../core/utils/common */ 4);
var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _base_gauge = __webpack_require__( /*! ./base_gauge */ 193);
var _circular_gauge = _interopRequireDefault(__webpack_require__( /*! ./circular_gauge */ 513));
var _legend = __webpack_require__( /*! ../components/legend */ 228);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var PI_DIV_180 = Math.PI / 180;
var _abs = Math.abs;
var _round = Math.round;
var _floor = Math.floor;
var _min = Math.min;
var _max = Math.max;
var _getSampleText = _base_gauge.getSampleText;
var _formatValue = _base_gauge.formatValue;
var _compareArrays = _base_gauge.compareArrays;
var _isArray = Array.isArray;
var _convertAngleToRendererSpace = _utils.convertAngleToRendererSpace;
var _getCosAndSin = _utils.getCosAndSin;
var _patchFontOptions = _utils.patchFontOptions;
var _Number = Number;
var _isFinite = isFinite;
var _noop = _common.noop;
var _extend = _extend2.extend;
var BarWrapper;
var dxBarGauge = _base_gauge.BaseGauge.inherit({
_rootClass: "dxbg-bar-gauge",
_themeSection: "barGauge",
_fontFields: ["label.font", "legend.font", "legend.title.font", "legend.title.subtitle.font"],
_initCore: function() {
var that = this;
that.callBase.apply(that, arguments);
that._barsGroup = that._renderer.g().attr({
class: "dxbg-bars"
}).linkOn(that._renderer.root, "bars");
that._values = [];
that._context = {
renderer: that._renderer,
translator: that._translator,
tracker: that._tracker,
group: that._barsGroup
};
that._animateStep = function(pos) {
var bars = that._bars;
var i;
var ii;
for (i = 0, ii = bars.length; i < ii; ++i) {
bars[i].animate(pos)
}
};
that._animateComplete = function() {
that._bars.forEach((function(bar) {
return bar.endAnimation()
}));
that._checkOverlap()
}
},
_disposeCore: function() {
var that = this;
that._barsGroup.linkOff();
that._barsGroup = that._values = that._context = that._animateStep = that._animateComplete = null;
that.callBase.apply(that, arguments)
},
_setupDomainCore: function() {
var startValue = this.option("startValue");
var endValue = this.option("endValue");
_isFinite(startValue) || (startValue = 0);
_isFinite(endValue) || (endValue = 100);
this._translator.setDomain(startValue, endValue);
this._baseValue = this._translator.adjust(this.option("baseValue"));
_isFinite(this._baseValue) || (this._baseValue = startValue < endValue ? startValue : endValue)
},
_getDefaultSize: function() {
return {
width: 300,
height: 300
}
},
_setupCodomain: _circular_gauge.default.prototype._setupCodomain,
_getApproximateScreenRange: function() {
var sides = this._area.sides;
var width = this._canvas.width / (sides.right - sides.left);
var height = this._canvas.height / (sides.down - sides.up);
var r = width < height ? width : height;
return -this._translator.getCodomainRange() * r * PI_DIV_180
},
_setupAnimationSettings: function() {
var that = this;
that.callBase.apply(that, arguments);
if (that._animationSettings) {
that._animationSettings.step = that._animateStep;
that._animationSettings.complete = that._animateComplete
}
},
_cleanContent: function() {
this._barsGroup.linkRemove();
this._animationSettings && this._barsGroup.stopAnimation();
this._barsGroup.clear()
},
_renderContent: function() {
var labelOptions = this.option("label");
var text;
var bBox;
var context = this._context;
this._barsGroup.linkAppend();
context.textEnabled = void 0 === labelOptions || labelOptions && (!("visible" in labelOptions) || labelOptions.visible);
if (context.textEnabled) {
context.textColor = labelOptions && labelOptions.font && labelOptions.font.color || null;
labelOptions = _extend(true, {}, this._themeManager.theme().label, labelOptions);
context.formatOptions = {
format: void 0 !== labelOptions.format ? labelOptions.format : this._defaultFormatOptions,
customizeText: labelOptions.customizeText
};
context.textOptions = {
align: "center"
};
context.fontStyles = _patchFontOptions(_extend({}, this._themeManager.theme().label.font, labelOptions.font, {
color: null
}));
this._textIndent = labelOptions.indent > 0 ? _Number(labelOptions.indent) : 0;
context.lineWidth = labelOptions.connectorWidth > 0 ? _Number(labelOptions.connectorWidth) : 0;
context.lineColor = labelOptions.connectorColor || null;
text = this._renderer.text(_getSampleText(this._translator, context.formatOptions), 0, 0).attr(context.textOptions).css(context.fontStyles).append(this._barsGroup);
bBox = text.getBBox();
text.remove();
context.textY = bBox.y;
context.textWidth = bBox.width;
context.textHeight = bBox.height
}
_circular_gauge.default.prototype._applyMainLayout.call(this);
this._renderBars()
},
_measureMainElements: function() {
var result = {
maxRadius: this._area.radius
};
if (this._context.textEnabled) {
result.horizontalMargin = this._context.textWidth;
result.verticalMargin = this._context.textHeight;
result.inverseHorizontalMargin = this._context.textWidth / 2;
result.inverseVerticalMargin = this._context.textHeight / 2
}
return result
},
_renderBars: function() {
var options = _extend({}, this._themeManager.theme(), this.option());
var radius;
var area = this._area;
var relativeInnerRadius = options.relativeInnerRadius > 0 && options.relativeInnerRadius < 1 ? _Number(options.relativeInnerRadius) : .1;
radius = area.radius;
if (this._context.textEnabled) {
this._textIndent = _round(_min(this._textIndent, radius / 2));
radius -= this._textIndent
}
this._outerRadius = _floor(radius);
this._innerRadius = _floor(radius * relativeInnerRadius);
this._barSpacing = options.barSpacing > 0 ? _Number(options.barSpacing) : 0;
_extend(this._context, {
backgroundColor: options.backgroundColor,
x: area.x,
y: area.y,
startAngle: area.startCoord,
endAngle: area.endCoord,
baseAngle: this._translator.translate(this._baseValue)
});
this._arrangeBars()
},
_arrangeBars: function() {
var radius = this._outerRadius - this._innerRadius;
var context = this._context;
var i;
var count = this._bars.length;
this._beginValueChanging();
context.barSize = count > 0 ? _max((radius - (count - 1) * this._barSpacing) / count, 1) : 0;
var spacing = count > 1 ? _max(_min((radius - count * context.barSize) / (count - 1), this._barSpacing), 0) : 0;
var _count = _min(_floor((radius + spacing) / context.barSize), count);
this._setBarsCount(count);
radius = this._outerRadius;
context.textRadius = radius;
context.textIndent = this._textIndent;
this._palette.reset();
var unitOffset = context.barSize + spacing;
var colors = this._palette.generateColors(_count);
for (i = 0; i < _count; ++i, radius -= unitOffset) {
this._bars[i].arrange({
radius: radius,
color: colors[i]
})
}
for (var _i = _count; _i < count; _i++) {
this._bars[_i].hide()
}
if (this._animationSettings && !this._noAnimation) {
this._animateBars()
} else {
this._updateBars()
}
this._endValueChanging()
},
_setBarsCount: function() {
if (this._bars.length > 0) {
if (this._dummyBackground) {
this._dummyBackground.dispose();
this._dummyBackground = null
}
} else {
if (!this._dummyBackground) {
this._dummyBackground = this._renderer.arc().attr({
"stroke-linejoin": "round"
})
}
this._dummyBackground.attr({
x: this._context.x,
y: this._context.y,
outerRadius: this._outerRadius,
innerRadius: this._innerRadius,
startAngle: this._context.endAngle,
endAngle: this._context.startAngle,
fill: this._context.backgroundColor
}).append(this._barsGroup)
}
},
_updateBars: function() {
this._bars.forEach((function(bar) {
return bar.applyValue()
}));
this._checkOverlap()
},
_checkOverlap: function() {
var bars = this._bars;
var overlapStrategy = (0, _utils.normalizeEnum)(this._getOption("resolveLabelOverlapping", true));
if ("none" === overlapStrategy) {
return
}
var sortedBars = bars.concat().sort((function(a, b) {
return a.getValue() - b.getValue()
}));
var currentIndex = 0;
var nextIndex = 1;
while (currentIndex < sortedBars.length && nextIndex < sortedBars.length) {
var current = sortedBars[currentIndex];
var next = sortedBars[nextIndex];
if (current.checkIntersect(next)) {
next.hideLabel();
nextIndex++
} else {
currentIndex = nextIndex;
nextIndex = currentIndex + 1
}
}
},
_animateBars: function() {
var i;
var ii = this._bars.length;
if (ii > 0) {
for (i = 0; i < ii; ++i) {
this._bars[i].beginAnimation()
}
this._barsGroup.animate({
_: 0
}, this._animationSettings)
}
},
_buildNodes: function() {
var that = this;
var options = that._options.silent();
that._palette = that._themeManager.createPalette(options.palette, {
useHighlight: true,
extensionMode: options.paletteExtensionMode
});
that._palette.reset();
that._bars = that._bars || [];
that._animationSettings && that._barsGroup.stopAnimation();
var barValues = that._values.filter(_isFinite);
var count = barValues.length;
if (that._bars.length > count) {
var ii = that._bars.length;
for (var i = count; i < ii; ++i) {
that._bars[i].dispose()
}
that._bars.splice(count, ii - count)
} else if (that._bars.length < count) {
for (var _i2 = that._bars.length; _i2 < count; ++_i2) {
that._bars.push(new BarWrapper(_i2, that._context))
}
}
that._bars.forEach((function(bar, index) {
bar.update({
color: that._palette.getNextColor(count),
value: barValues[index]
})
}))
},
_updateValues: function(values) {
var list = _isArray(values) && values || _isFinite(values) && [values] || [];
var i;
var ii = list.length;
var value;
this._values.length = ii;
for (i = 0; i < ii; ++i) {
value = list[i];
this._values[i] = _Number(_isFinite(value) ? value : this._values[i])
}
if (!this._resizing) {
if (!_compareArrays(this._values, this.option("values"))) {
this.option("values", this._values.slice())
}
}
this._change(["NODES"])
},
values: function(arg) {
if (void 0 !== arg) {
this._updateValues(arg);
return this
} else {
return this._values.slice(0)
}
},
_optionChangesMap: {
backgroundColor: "MOSTLY_TOTAL",
relativeInnerRadius: "MOSTLY_TOTAL",
barSpacing: "MOSTLY_TOTAL",
label: "MOSTLY_TOTAL",
resolveLabelOverlapping: "MOSTLY_TOTAL",
palette: "MOSTLY_TOTAL",
paletteExtensionMode: "MOSTLY_TOTAL",
values: "VALUES"
},
_change_VALUES: function() {
this._updateValues(this.option("values"))
},
_factory: (0, _object.clone)(_base_gauge.BaseGauge.prototype._factory),
_optionChangesOrder: ["VALUES", "NODES"],
_initialChanges: ["VALUES"],
_change_NODES: function() {
this._buildNodes()
},
_change_MOSTLY_TOTAL: function() {
this._change(["NODES"]);
this.callBase()
},
_proxyData: [],
_getLegendData: function() {
var formatOptions = {};
var options = this._options.silent();
var labelFormatOptions = (options.label || {}).format;
var legendFormatOptions = (options.legend || {}).itemTextFormat;
if (legendFormatOptions) {
formatOptions.format = legendFormatOptions
} else {
formatOptions.format = labelFormatOptions || this._defaultFormatOptions
}
return (this._bars || []).map((function(b) {
return {
id: b.index,
item: {
value: b.getValue(),
color: b.getColor(),
index: b.index
},
text: _formatValue(b.getValue(), formatOptions),
visible: true,
states: {
normal: {
fill: b.getColor()
}
}
}
}))
}
});
exports.dxBarGauge = dxBarGauge;
BarWrapper = function(index, context) {
this._context = context;
this._tracker = context.renderer.arc().attr({
"stroke-linejoin": "round"
});
this.index = index
};
_extend(BarWrapper.prototype, {
dispose: function() {
this._background.dispose();
this._bar.dispose();
if (this._context.textEnabled) {
this._line.dispose();
this._text.dispose()
}
this._context.tracker.detach(this._tracker);
this._context = this._settings = this._background = this._bar = this._line = this._text = this._tracker = null;
return this
},
arrange: function(options) {
var context = this._context;
this._visible = true;
context.tracker.attach(this._tracker, this, {
index: this.index
});
this._background = context.renderer.arc().attr({
"stroke-linejoin": "round",
fill: context.backgroundColor
}).append(context.group);
this._settings = this._settings || {
x: context.x,
y: context.y,
startAngle: context.baseAngle,
endAngle: context.baseAngle
};
this._bar = context.renderer.arc().attr(_extend({
"stroke-linejoin": "round"
}, this._settings)).append(context.group);
if (context.textEnabled) {
this._line = context.renderer.path([], "line").attr({
"stroke-width": context.lineWidth
}).append(context.group);
this._text = context.renderer.text().css(context.fontStyles).attr(context.textOptions).append(context.group)
}
this._angle = isFinite(this._angle) ? this._angle : context.baseAngle;
this._settings.outerRadius = options.radius;
this._settings.innerRadius = options.radius - context.barSize;
this._settings.x = context.x;
this._settings.y = context.y;
this._background.attr(_extend({}, this._settings, {
startAngle: context.endAngle,
endAngle: context.startAngle,
fill: this._context.backgroundColor
}));
this._bar.attr({
x: context.x,
y: context.y,
outerRadius: this._settings.outerRadius,
innerRadius: this._settings.innerRadius,
fill: this._color
});
this._tracker.attr(this._settings);
if (context.textEnabled) {
this._line.attr({
points: [context.x, context.y - this._settings.innerRadius, context.x, context.y - context.textRadius - context.textIndent],
stroke: context.lineColor || this._color
}).sharp();
this._text.css({
fill: context.textColor || this._color
})
}
return this
},
getTooltipParameters: function() {
var cosSin = _getCosAndSin((this._angle + this._context.baseAngle) / 2);
return {
x: _round(this._context.x + (this._settings.outerRadius + this._settings.innerRadius) / 2 * cosSin.cos),
y: _round(this._context.y - (this._settings.outerRadius + this._settings.innerRadius) / 2 * cosSin.sin),
offset: 0,
color: this._color,
value: this._value
}
},
setAngle: function(angle) {
var context = this._context;
var settings = this._settings;
var cosSin;
this._angle = angle;
setAngles(settings, context.baseAngle, angle);
this._bar.attr(settings);
this._tracker.attr(settings);
if (context.textEnabled) {
cosSin = _getCosAndSin(angle);
var indent = context.textIndent;
var radius = context.textRadius + indent;
var x = context.x + radius * cosSin.cos;
var y = context.y - radius * cosSin.sin;
var halfWidth = .5 * context.textWidth;
var textHeight = context.textHeight;
var textY = context.textY;
if (_abs(x - context.x) > indent) {
x += x < context.x ? -halfWidth : halfWidth
}
if (_abs(y - context.y) <= indent) {
y -= textY + .5 * textHeight
} else {
y -= y < context.y ? textY + textHeight : textY
}
var text = _formatValue(this._value, context.formatOptions, {
index: this.index
});
var visibility = "" === text ? "hidden" : null;
this._text.attr({
text: text,
x: x,
y: y,
visibility: visibility
});
this._line.attr({
visibility: visibility
});
this._line.rotate(_convertAngleToRendererSpace(angle), context.x, context.y)
}
return this
},
hideLabel: function() {
this._text.attr({
visibility: "hidden"
});
this._line.attr({
visibility: "hidden"
})
},
checkIntersect: function(anotherBar) {
var coords = this.calculateLabelCoords();
var anotherCoords = anotherBar.calculateLabelCoords();
if (!coords || !anotherCoords) {
return false
}
var width = Math.max(0, Math.min(coords.bottomRight.x, anotherCoords.bottomRight.x) - Math.max(coords.topLeft.x, anotherCoords.topLeft.x));
var height = Math.max(0, Math.min(coords.bottomRight.y, anotherCoords.bottomRight.y) - Math.max(coords.topLeft.y, anotherCoords.topLeft.y));
return width * height !== 0
},
calculateLabelCoords: function() {
if (!this._text) {
return
}
var box = this._text.getBBox();
return {
topLeft: {
x: box.x,
y: box.y
},
bottomRight: {
x: box.x + box.width,
y: box.y + box.height
}
}
},
_processValue: function(value) {
return this._context.translator.translate(this._context.translator.adjust(value))
},
applyValue: function() {
if (!this._visible) {
return this
}
return this.setAngle(this._processValue(this.getValue()))
},
update: function(_ref) {
var color = _ref.color,
value = _ref.value;
this._color = color;
this._value = value
},
hide: function() {
this._visible = false
},
getColor: function() {
return this._color
},
getValue: function() {
return this._value
},
beginAnimation: function() {
if (!this._visible) {
return this
}
var angle = this._processValue(this.getValue());
if (!compareFloats(this._angle, angle)) {
this._start = this._angle;
this._delta = angle - this._angle;
this._tracker.attr({
visibility: "hidden"
});
if (this._context.textEnabled) {
this._line.attr({
visibility: "hidden"
});
this._text.attr({
visibility: "hidden"
})
}
} else {
this.animate = _noop;
this.setAngle(this._angle)
}
},
animate: function(pos) {
if (!this._visible) {
return this
}
this._angle = this._start + this._delta * pos;
setAngles(this._settings, this._context.baseAngle, this._angle);
this._bar.attr(this._settings)
},
endAnimation: function() {
if (void 0 !== this._delta) {
if (compareFloats(this._angle, this._start + this._delta)) {
this._tracker.attr({
visibility: null
});
this.setAngle(this._angle)
}
} else {
delete this.animate
}
delete this._start;
delete this._delta
}
});
function setAngles(target, angle1, angle2) {
target.startAngle = angle1 < angle2 ? angle1 : angle2;
target.endAngle = angle1 < angle2 ? angle2 : angle1
}
function compareFloats(value1, value2) {
return _abs(value1 - value2) < 1e-4
}(0, _component_registrator.default)("dxBarGauge", dxBarGauge);
dxBarGauge.addPlugin(_legend.plugin)
},
/*!*******************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/range_selector.js ***!
\*******************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _range_selector = (obj = __webpack_require__( /*! ./range_selector/range_selector */ 1044), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _default = _range_selector.default;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!**********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/range_selector/range_selector.js ***!
\**********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 8));
var _type2 = __webpack_require__( /*! ../../core/utils/type */ 1);
var _extend = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 19));
var _math = __webpack_require__( /*! ../../core/utils/math */ 31);
var _range = __webpack_require__( /*! ../translators/range */ 132);
var _base_axis = __webpack_require__( /*! ../axes/base_axis */ 326);
var _parse_utils = __webpack_require__( /*! ../components/parse_utils */ 323);
var _format_helper = _interopRequireDefault(__webpack_require__( /*! ../../format_helper */ 71));
var _common = __webpack_require__( /*! ./common */ 234);
var _sliders_controller = __webpack_require__( /*! ./sliders_controller */ 1045);
var _tracker = __webpack_require__( /*! ./tracker */ 1048);
var _range_view = __webpack_require__( /*! ./range_view */ 1049);
var _series_data_source = __webpack_require__( /*! ./series_data_source */ 1050);
var _tick_generator = __webpack_require__( /*! ../axes/tick_generator */ 504);
var _axes_constants = _interopRequireDefault(__webpack_require__( /*! ../axes/axes_constants */ 232));
var _base_widget = _interopRequireDefault(__webpack_require__( /*! ../core/base_widget */ 118));
var _export = __webpack_require__( /*! ../core/export */ 113);
var _title = __webpack_require__( /*! ../core/title */ 129);
var _loading_indicator = __webpack_require__( /*! ../core/loading_indicator */ 151);
var _data_source = __webpack_require__( /*! ../core/data_source */ 170);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var _max = Math.max;
var _ceil = Math.ceil;
var _floor = Math.floor;
var VALUE = "value";
function calculateMarkerHeight(renderer, value, sliderMarkerOptions) {
var formattedText = void 0 === value ? _common.consts.emptySliderMarkerText : (0, _common.formatValue)(value, sliderMarkerOptions);
var textBBox = getTextBBox(renderer, formattedText, sliderMarkerOptions.font);
return _ceil(textBBox.height) + 2 * sliderMarkerOptions.paddingTopBottom + _common.consts.pointerSize
}
function calculateScaleLabelHalfWidth(renderer, value, scaleOptions, tickIntervalsInfo) {
var formattedText = (0, _common.formatValue)(value, scaleOptions.label, tickIntervalsInfo, scaleOptions.valueType, scaleOptions.type, scaleOptions.logarithmBase);
var textBBox = getTextBBox(renderer, formattedText, scaleOptions.label.font);
return _ceil(textBBox.width / 2)
}
function calculateValueType(firstValue, secondValue) {
var typeFirstValue = (0, _type2.type)(firstValue);
var typeSecondValue = (0, _type2.type)(secondValue);
var validType = function(type) {
return typeFirstValue === type || typeSecondValue === type
};
return validType("date") ? "datetime" : validType("number") ? "numeric" : validType("string") ? "string" : ""
}
function showScaleMarkers(scaleOptions) {
return "datetime" === scaleOptions.valueType && scaleOptions.marker.visible
}
function checkLogarithmicOptions(options, defaultLogarithmBase, incidentOccurred) {
if (!options) {
return
}
var logarithmBase = options.logarithmBase;
if ("logarithmic" === options.type && logarithmBase <= 0 || logarithmBase && !(0, _type2.isNumeric)(logarithmBase)) {
options.logarithmBase = defaultLogarithmBase;
incidentOccurred("E2104")
} else if ("logarithmic" !== options.type) {
options.logarithmBase = void 0
}
}
function calculateScaleAreaHeight(renderer, scaleOptions, visibleMarkers, tickIntervalsInfo) {
var labelScaleOptions = scaleOptions.label;
var markerScaleOptions = scaleOptions.marker;
var placeholderHeight = scaleOptions.placeholderHeight;
var ticks = "semidiscrete" === scaleOptions.type ? scaleOptions.customTicks : tickIntervalsInfo.ticks;
var text = (0, _common.formatValue)(ticks[0], labelScaleOptions);
if (placeholderHeight) {
return placeholderHeight
} else {
return (labelScaleOptions.visible ? labelScaleOptions.topIndent + getTextBBox(renderer, text, labelScaleOptions.font).height : 0) + (visibleMarkers ? markerScaleOptions.topIndent + markerScaleOptions.separatorHeight : 0)
}
}
function getNextTickInterval(tickInterval, minorTickInterval, isDateType) {
if (!tickInterval) {
tickInterval = minorTickInterval
} else if (isDateType) {
tickInterval = _date.default.getNextDateUnit(tickInterval)
} else {
tickInterval += minorTickInterval
}
return tickInterval
}
function updateTickIntervals(scaleOptions, screenDelta, incidentOccurred, range) {
var result;
var min = (0, _type2.isDefined)(range.minVisible) ? range.minVisible : range.min;
var max = (0, _type2.isDefined)(range.maxVisible) ? range.maxVisible : range.max;
var categoriesInfo = scaleOptions._categoriesInfo;
var ticksInfo;
var length;
var bounds = {};
if ("semidiscrete" === scaleOptions.type) {
result = function(scaleOptions, min, max, screenDelta) {
var minorTickInterval = scaleOptions.minorTickInterval;
var tickInterval = scaleOptions.tickInterval;
var interval;
var isDateType = "datetime" === scaleOptions.valueType;
var gridSpacingFactor = scaleOptions.axisDivisionFactor || {};
var tickCountByInterval;
var tickCountByScreen;
if (!tickInterval) {
do {
interval = getNextTickInterval(tickInterval, minorTickInterval, isDateType);
if (tickInterval !== interval) {
tickInterval = interval
} else {
break
}
if (isDateType) {
interval = _date.default.dateToMilliseconds(tickInterval)
}
tickCountByInterval = _ceil((max - min) / interval);
tickCountByScreen = _floor(screenDelta / (gridSpacingFactor[tickInterval] || 50)) || 1
} while (interval && tickCountByInterval > tickCountByScreen)
}
return {
tickInterval: tickInterval,
minorTickInterval: minorTickInterval,
bounds: {
minVisible: min,
maxVisible: max
},
ticks: []
}
}(scaleOptions, min, max, screenDelta)
} else {
ticksInfo = (0, _tick_generator.tickGenerator)({
axisType: scaleOptions.type,
dataType: scaleOptions.valueType,
logBase: scaleOptions.logarithmBase,
allowNegatives: true,
linearThreshold: Math.abs(scaleOptions.linearThreshold || 0),
axisDivisionFactor: scaleOptions.axisDivisionFactor,
minorAxisDivisionFactor: scaleOptions.minorAxisDivisionFactor,
calculateMinors: true,
allowDecimals: scaleOptions.allowDecimals,
endOnTick: scaleOptions.endOnTick,
incidentOccurred: incidentOccurred,
rangeIsEmpty: range.isEmpty()
})({
min: min,
max: max,
categories: (0, _type2.isDefined)(categoriesInfo) ? categoriesInfo.categories : []
}, screenDelta, scaleOptions.tickInterval, scaleOptions.forceUserTickInterval, void 0, scaleOptions.minorTickInterval, scaleOptions.minorTickCount);
length = ticksInfo.ticks.length;
bounds.minVisible = ticksInfo.ticks[0] < min ? ticksInfo.ticks[0] : min;
bounds.maxVisible = ticksInfo.ticks[length - 1] > max ? ticksInfo.ticks[length - 1] : max;
result = {
tickInterval: ticksInfo.tickInterval,
minorTickInterval: 0 === scaleOptions.minorTickInterval ? 0 : ticksInfo.minorTickInterval,
bounds: bounds,
ticks: ticksInfo.ticks
}
}
return result
}
function getFirstDayOfWeek(options) {
var _options$workWeek;
return null === (_options$workWeek = options.workWeek) || void 0 === _options$workWeek ? void 0 : _options$workWeek[0]
}
function getTextBBox(renderer, text, fontOptions) {
var textElement = renderer.text(text, -1e3, -1e3).css((0, _utils.patchFontOptions)(fontOptions)).append(renderer.root);
var textBBox = textElement.getBBox();
textElement.remove();
return textBBox
}
function updateScaleOptions(scaleOptions, seriesDataSource, translatorRange, tickIntervalsInfo, checkDateMarkerVisibility) {
var bounds;
var isEmptyInterval;
var categoriesInfo = scaleOptions._categoriesInfo;
var intervals;
var isDateTime = "datetime" === scaleOptions.valueType;
if (seriesDataSource && !seriesDataSource.isEmpty() && !translatorRange.isEmpty()) {
bounds = tickIntervalsInfo.bounds;
translatorRange.addRange(bounds);
scaleOptions.startValue = translatorRange.invert ? bounds.maxVisible : bounds.minVisible;
scaleOptions.endValue = translatorRange.invert ? bounds.minVisible : bounds.maxVisible
}
scaleOptions.marker.visible = checkDateMarkerVisibility(isDateTime && -1 === scaleOptions.type.indexOf("discrete"), scaleOptions.marker.visible, scaleOptions.startValue, scaleOptions.endValue, tickIntervalsInfo.tickInterval);
if (categoriesInfo) {
scaleOptions.startValue = categoriesInfo.start;
scaleOptions.endValue = categoriesInfo.end
}
if (-1 === scaleOptions.type.indexOf("discrete")) {
isEmptyInterval = (0, _type2.isDate)(scaleOptions.startValue) && (0, _type2.isDate)(scaleOptions.endValue) && scaleOptions.startValue.getTime() === scaleOptions.endValue.getTime() || scaleOptions.startValue === scaleOptions.endValue
}
scaleOptions.isEmpty = (start = scaleOptions.startValue, end = scaleOptions.endValue, !(0, _type2.isDefined)(start) || !(0, _type2.isDefined)(end)) || isEmptyInterval;
var start, end;
if (scaleOptions.isEmpty) {
scaleOptions.startValue = scaleOptions.endValue = void 0
} else {
scaleOptions.minorTickInterval = tickIntervalsInfo.minorTickInterval;
scaleOptions.tickInterval = tickIntervalsInfo.tickInterval;
if (isDateTime && (!(0, _type2.isDefined)(scaleOptions.label.format) || "semidiscrete" === scaleOptions.type && scaleOptions.minorTickInterval !== scaleOptions.tickInterval)) {
if ("discrete" === scaleOptions.type) {
scaleOptions.label.format = _format_helper.default.getDateFormatByTicks(tickIntervalsInfo.ticks)
} else if (!scaleOptions.marker.visible) {
scaleOptions.label.format = _format_helper.default.getDateFormatByTickInterval(scaleOptions.startValue, scaleOptions.endValue, scaleOptions.tickInterval)
} else {
scaleOptions.label.format = _date.default.getDateFormatByTickInterval(scaleOptions.tickInterval)
}
}
}
if ("semidiscrete" === scaleOptions.type) {
intervals = function(options) {
var min = options.startValue;
var max = options.endValue;
var isDate = "datetime" === options.valueType;
var firstDayOfWeek = getFirstDayOfWeek(options);
var tickInterval = options.tickInterval;
var res = {
intervals: []
};
if (!(0, _type2.isDefined)(min) || !(0, _type2.isDefined)(max)) {
return res
}
res.intervals = _date.default.getSequenceByInterval(min, max, options.minorTickInterval);
if (tickInterval !== options.minorTickInterval) {
res.altIntervals = res.intervals;
min = correctValueByInterval(min, isDate, tickInterval, firstDayOfWeek);
max = correctValueByInterval(max, isDate, tickInterval, firstDayOfWeek);
res.intervals = _date.default.getSequenceByInterval(min, max, tickInterval);
res.intervals[0] = res.altIntervals[0]
}
return res
}(scaleOptions);
scaleOptions.customMinorTicks = intervals.altIntervals;
scaleOptions.customTicks = intervals.intervals;
scaleOptions.customBoundTicks = [scaleOptions.customTicks[0]]
}
}
function correctValueByInterval(value, isDate, interval, firstDayOfWeek) {
if ((0, _type2.isDefined)(value)) {
value = isDate ? _date.default.correctDateWithUnitBeginning(new Date(value), interval, null, firstDayOfWeek) : (0, _math.adjust)(_floor((0, _math.adjust)(value / interval)) * interval)
}
return value
}
function getPrecisionForSlider(startValue, endValue, screenDelta) {
var d = Math.abs(endValue - startValue) / screenDelta;
var tail = d - _floor(d);
return tail > 0 ? _ceil(Math.abs((0, _math.adjust)((0, _utils.getLog)(tail, 10)))) : 0
}
var dxRangeSelector = _base_widget.default.inherit({
_toggleParentsScrollSubscription: function() {},
_eventsMap: {
onValueChanged: {
name: "valueChanged"
}
},
_rootClassPrefix: "dxrs",
_rootClass: "dxrs-range-selector",
_dataIsReady: function() {
return this._dataIsLoaded()
},
_initialChanges: ["DATA_SOURCE", "VALUE"],
_themeDependentChanges: ["MOSTLY_TOTAL"],
_themeSection: "rangeSelector",
_fontFields: ["scale.label.font", "sliderMarker.font"],
_initCore: function() {
var that = this;
var renderer = that._renderer;
var root = renderer.root;
root.css({
"touch-action": "pan-y"
});
that._clipRect = renderer.clipRect();
var rangeViewGroup = renderer.g().attr({
class: "dxrs-view"
}).append(root);
var slidersGroup = renderer.g().attr({
class: "dxrs-slidersContainer",
"clip-path": that._clipRect.id
}).append(root);
var scaleGroup = renderer.g().attr({
class: "dxrs-scale",
"clip-path": that._clipRect.id
}).append(root);
var labelsAxesGroup = renderer.g().attr({
class: "dxrs-scale-elements",
"clip-path": that._clipRect.id
}).append(root);
var scaleBreaksGroup = renderer.g().attr({
class: "dxrs-scale-breaks"
}).append(root);
var trackersGroup = renderer.g().attr({
class: "dxrs-trackers"
}).append(root);
that._axis = new AxisWrapper({
renderer: renderer,
root: scaleGroup,
scaleBreaksGroup: scaleBreaksGroup,
labelsAxesGroup: labelsAxesGroup,
updateSelectedRange: function(range, e) {
that.setValue((0, _utils.convertVisualRangeObject)(range), e)
},
incidentOccurred: that._incidentOccurred
});
that._rangeView = new _range_view.RangeView({
renderer: renderer,
root: rangeViewGroup,
translator: that._axis.getTranslator()
});
that._slidersController = new _sliders_controller.SlidersController({
renderer: renderer,
root: slidersGroup,
trackersGroup: trackersGroup,
updateSelectedRange: function(range, lastSelectedRange, e) {
if (!that._rangeOption) {
that.option(VALUE, (0, _utils.convertVisualRangeObject)(range, (0, _type2.isPlainObject)(that._options.silent(VALUE))))
}
that._eventTrigger("valueChanged", {
value: (0, _utils.convertVisualRangeObject)(range),
previousValue: (0, _utils.convertVisualRangeObject)(lastSelectedRange),
event: e
})
},
axis: that._axis,
translator: that._axis.getTranslator()
});
that._tracker = new _tracker.Tracker({
renderer: renderer,
controller: that._slidersController
})
},
_getDefaultSize: function() {
return {
width: 400,
height: 160
}
},
_disposeCore: function() {
this._axis.dispose();
this._slidersController.dispose();
this._tracker.dispose()
},
_applySize: function(rect) {
this._clientRect = rect.slice();
this._change(["MOSTLY_TOTAL"])
},
_optionChangesMap: {
scale: "SCALE",
value: "VALUE",
dataSource: "DATA_SOURCE"
},
_optionChangesOrder: ["SCALE", "DATA_SOURCE"],
_change_SCALE: function() {
this._change(["MOSTLY_TOTAL"])
},
_setValueByDataSource: function() {
var options = this._options.silent();
var axis = this._axis;
if (options.dataSource) {
var selectedRangeUpdateMode = this.option("selectedRangeUpdateMode");
var value = this.getValue();
var valueIsReady = (0, _type2.isDefined)(value[0]) && (0, _type2.isDefined)(value[1]);
if ((0, _type2.isDefined)(selectedRangeUpdateMode)) {
selectedRangeUpdateMode = (0, _utils.normalizeEnum)(selectedRangeUpdateMode);
this.__skipAnimation = true
} else if (valueIsReady && !this._dataSourceIsAsync) {
selectedRangeUpdateMode = "reset"
}
if ("auto" === selectedRangeUpdateMode && valueIsReady) {
var rangesInfo = axis.allScaleSelected(value);
if (rangesInfo.startValue && rangesInfo.endValue) {
selectedRangeUpdateMode = "reset"
} else if (rangesInfo.endValue) {
selectedRangeUpdateMode = "shift"
} else {
selectedRangeUpdateMode = "keep"
}
}
if ("reset" === selectedRangeUpdateMode) {
options[VALUE] = null
} else if ("shift" === selectedRangeUpdateMode && valueIsReady) {
var _value = this.getValue();
this.__skipAnimation = true;
options[VALUE] = {
length: axis.getVisualRangeLength({
minVisible: _value[0],
maxVisible: _value[1]
})
}
} else if ("keep" === selectedRangeUpdateMode) {
this.__skipAnimation = true
}
}
this._dataSourceIsAsync = void 0
},
_change_DATA_SOURCE: function() {
if (this._options.silent("dataSource")) {
this._updateDataSource()
}
},
_customChangesOrder: ["MOSTLY_TOTAL", "VALUE", "SLIDER_SELECTION"],
_change_MOSTLY_TOTAL: function() {
this._applyMostlyTotalChange()
},
_change_SLIDER_SELECTION: function() {
var value = this._options.silent(VALUE);
this._slidersController.setSelectedRange(value && (0, _utils.getVizRangeObject)(value))
},
_change_VALUE: function() {
var option = this._rangeOption;
this._dataSourceIsAsync = !this._dataIsReady();
if (option) {
this._options.silent(VALUE, option);
this.setValue(option)
}
},
_validateRange: function(start, end) {
var translator = this._axis.getTranslator();
if ((0, _type2.isDefined)(start) && !translator.isValid(start) || (0, _type2.isDefined)(end) && !translator.isValid(end)) {
this._incidentOccurred("E2203")
}
},
_applyChanges: function() {
var that = this;
var value = that._options.silent(VALUE);
if (that._changes.has("VALUE") && value) {
that._rangeOption = value
}
that.callBase.apply(that, arguments);
that._rangeOption = null;
that.__isResizing = that.__skipAnimation = false
},
_applyMostlyTotalChange: function() {
var renderer = this._renderer;
var rect = this._clientRect;
var currentAnimationEnabled;
var canvas = {
left: rect[0],
top: rect[1],
width: rect[2] - rect[0],
height: rect[3] - rect[1]
};
if (this.__isResizing || this.__skipAnimation) {
currentAnimationEnabled = renderer.animationEnabled();
renderer.updateAnimationOptions({
enabled: false
})
}
this._clipRect.attr({
x: rect[0],
y: rect[1],
width: rect[2] - rect[0],
height: rect[3] - rect[1]
});
this._axis.getTranslator().update(new _range.Range, canvas, {
isHorizontal: true
});
this._updateContent({
left: rect[0],
top: rect[1],
width: rect[2] - rect[0],
height: rect[3] - rect[1]
});
if (this.__isResizing || this.__skipAnimation) {
renderer.updateAnimationOptions({
enabled: currentAnimationEnabled
})
}
this._drawn()
},
_dataSourceChangedHandler: function() {
this._setValueByDataSource();
this._requestChange(["MOSTLY_TOTAL"])
},
_completeSeriesDataSourceCreation: function(scaleOptions, seriesDataSource) {
var rect = this._clientRect;
var canvas = {
left: rect[0],
top: rect[1],
width: rect[2] - rect[0],
height: rect[3] - rect[1]
};
this._axis.updateOptions((0, _extend.extend)({}, scaleOptions, {
isHorizontal: true,
label: {}
}));
seriesDataSource.isShowChart() && this._axis.setMarginOptions(seriesDataSource.getMarginOptions(canvas));
this._axis.updateCanvas(canvas);
seriesDataSource.createPoints()
},
_updateContent: function(canvas) {
var chartOptions = this.option("chart");
var seriesDataSource = this._createSeriesDataSource(chartOptions);
var isCompactMode = !(seriesDataSource && seriesDataSource.isShowChart() || this.option("background.image.url"));
var scaleOptions = function(scaleOption, calculatedValueType, incidentOccurred, containerColor) {
var parsedValue = 0;
var valueType = (0, _parse_utils.correctValueType)((0, _utils.normalizeEnum)(scaleOption.valueType));
var validateStartEndValues = function(field, parser) {
var messageToIncidentOccurred = "startValue" === field ? "start" : "end";
if ((0, _type2.isDefined)(scaleOption[field])) {
parsedValue = parser(scaleOption[field]);
if ((0, _type2.isDefined)(parsedValue)) {
scaleOption[field] = parsedValue
} else {
scaleOption[field] = void 0;
incidentOccurred("E2202", [messageToIncidentOccurred])
}
}
};
valueType = calculatedValueType || valueType;
if (!valueType) {
valueType = calculateValueType(scaleOption.startValue, scaleOption.endValue) || "numeric"
}
if ("string" === valueType || scaleOption.categories) {
scaleOption.type = "discrete";
valueType = "string"
}
scaleOption.containerColor = containerColor;
scaleOption.valueType = valueType;
scaleOption.dataType = valueType;
var parser = (0, _parse_utils.getParser)(valueType);
validateStartEndValues("startValue", parser);
validateStartEndValues("endValue", parser);
checkLogarithmicOptions(scaleOption, 10, incidentOccurred);
if (!scaleOption.type) {
scaleOption.type = "continuous"
}
scaleOption.parser = parser;
if ("semidiscrete" === scaleOption.type) {
scaleOption.minorTick.visible = false;
scaleOption.minorTickInterval = scaleOption.minRange;
scaleOption.marker.visible = false;
scaleOption.maxRange = void 0
}
scaleOption.forceUserTickInterval |= (0, _type2.isDefined)(scaleOption.tickInterval) && !(0, _type2.isDefined)(scaleOption.axisDivisionFactor);
scaleOption.axisDivisionFactor = (0, _type2.isDefined)(scaleOption.axisDivisionFactor) ? scaleOption.axisDivisionFactor : 30;
scaleOption.minorAxisDivisionFactor = (0, _type2.isDefined)(scaleOption.minorAxisDivisionFactor) ? scaleOption.minorAxisDivisionFactor : 15;
return scaleOption
}(this._getOption("scale"), seriesDataSource && seriesDataSource.getCalculatedValueType(), this._incidentOccurred, this._getOption("containerBackgroundColor", true));
seriesDataSource && this._completeSeriesDataSourceCreation(scaleOptions, seriesDataSource);
var argTranslatorRange = function(seriesDataSource, scaleOptions) {
var minValue;
var maxValue;
var inverted = false;
var startValue = scaleOptions.startValue;
var endValue = scaleOptions.endValue;
var categories;
var categoriesInfo;
var translatorRange = seriesDataSource ? seriesDataSource.getBoundRange().arg : new _range.Range;
var rangeForCategories;
var isDate = "datetime" === scaleOptions.valueType;
var firstDayOfWeek = getFirstDayOfWeek(scaleOptions);
var minRange = scaleOptions.minRange;
if ("discrete" === scaleOptions.type) {
rangeForCategories = new _range.Range({
minVisible: startValue,
maxVisible: endValue
});
rangeForCategories.addRange(translatorRange);
translatorRange = rangeForCategories;
categories = seriesDataSource ? seriesDataSource.argCategories : scaleOptions.categories || startValue && endValue && [startValue, endValue];
categories = categories || [];
scaleOptions._categoriesInfo = categoriesInfo = (0, _utils.getCategoriesInfo)(categories, startValue, endValue)
}
if ("semidiscrete" === scaleOptions.type) {
startValue = scaleOptions.startValue = correctValueByInterval(scaleOptions.startValue, isDate, minRange, firstDayOfWeek);
endValue = scaleOptions.endValue = correctValueByInterval(scaleOptions.endValue, isDate, minRange, firstDayOfWeek);
translatorRange.minVisible = correctValueByInterval(translatorRange.minVisible, isDate, minRange, firstDayOfWeek);
translatorRange.maxVisible = correctValueByInterval(translatorRange.maxVisible, isDate, minRange, firstDayOfWeek);
translatorRange.min = correctValueByInterval(translatorRange.min, isDate, minRange, firstDayOfWeek);
translatorRange.max = correctValueByInterval(translatorRange.max, isDate, minRange, firstDayOfWeek)
}
if ((0, _type2.isDefined)(startValue) && (0, _type2.isDefined)(endValue)) {
inverted = categoriesInfo ? categoriesInfo.inverted : startValue > endValue;
minValue = categoriesInfo ? categoriesInfo.start : inverted ? endValue : startValue;
maxValue = categoriesInfo ? categoriesInfo.end : inverted ? startValue : endValue
} else if ((0, _type2.isDefined)(startValue) || (0, _type2.isDefined)(endValue)) {
minValue = startValue;
maxValue = endValue
} else if (categoriesInfo) {
minValue = categoriesInfo.start;
maxValue = categoriesInfo.end
}
translatorRange.addRange({
invert: inverted,
min: minValue,
max: maxValue,
minVisible: minValue,
maxVisible: maxValue,
dataType: scaleOptions.valueType
});
translatorRange.addRange({
categories: !seriesDataSource ? categories : void 0,
base: scaleOptions.logarithmBase,
axisType: scaleOptions.type,
dataType: scaleOptions.valueType
});
seriesDataSource && translatorRange.sortCategories(categories);
return translatorRange
}(seriesDataSource, scaleOptions);
var tickIntervalsInfo = updateTickIntervals(scaleOptions, canvas.width, this._incidentOccurred, argTranslatorRange);
var chartThemeManager = seriesDataSource && seriesDataSource.isShowChart() && seriesDataSource.getThemeManager();
if (chartThemeManager) {
checkLogarithmicOptions(chartOptions && chartOptions.valueAxis, chartThemeManager.getOptions("valueAxis").logarithmBase, this._incidentOccurred)
}
updateScaleOptions(scaleOptions, seriesDataSource, argTranslatorRange, tickIntervalsInfo, (screenDelta = canvas.width, function(isDateScale, isMarkerVisible, min, max, tickInterval) {
if (isMarkerVisible && isDateScale) {
if (!(0, _type2.isDefined)(tickInterval) || tickInterval.years || tickInterval.months >= 6 || screenDelta / 50 < _ceil((max - min) / _date.default.dateToMilliseconds("year")) + 1) {
isMarkerVisible = false
}
}
return isMarkerVisible
}));
var screenDelta;
! function(translatorRange, scaleOptions) {
var intervalX = scaleOptions.minorTickInterval || scaleOptions.tickInterval;
if ("datetime" === scaleOptions.valueType) {
intervalX = _date.default.dateToMilliseconds(intervalX)
}
translatorRange.addRange({
interval: intervalX
})
}(argTranslatorRange, scaleOptions);
var sliderMarkerOptions = this._prepareSliderMarkersOptions(scaleOptions, canvas.width, tickIntervalsInfo, argTranslatorRange);
var indents = function(renderer, scale, sliderMarkerOptions, indentOptions, tickIntervalsInfo) {
var leftMarkerHeight;
var leftScaleLabelWidth = 0;
var rightScaleLabelWidth = 0;
var rightMarkerHeight;
var placeholderWidthLeft;
var placeholderWidthRight;
var placeholderHeight;
var ticks = "semidiscrete" === scale.type ? scale.customTicks : tickIntervalsInfo.ticks;
var startTickValue;
var endTickValue;
indentOptions = indentOptions || {};
placeholderWidthLeft = indentOptions.left;
placeholderWidthRight = indentOptions.right;
placeholderHeight = sliderMarkerOptions.placeholderHeight;
if (sliderMarkerOptions.visible) {
leftMarkerHeight = calculateMarkerHeight(renderer, scale.startValue, sliderMarkerOptions);
rightMarkerHeight = calculateMarkerHeight(renderer, scale.endValue, sliderMarkerOptions);
if (void 0 === placeholderHeight) {
placeholderHeight = _max(leftMarkerHeight, rightMarkerHeight)
}
}
if (scale.label.visible) {
startTickValue = (0, _type2.isDefined)(scale.startValue) ? ticks[0] : void 0;
endTickValue = (0, _type2.isDefined)(scale.endValue) ? ticks[ticks.length - 1] : void 0;
leftScaleLabelWidth = calculateScaleLabelHalfWidth(renderer, startTickValue, scale, tickIntervalsInfo);
rightScaleLabelWidth = calculateScaleLabelHalfWidth(renderer, endTickValue, scale, tickIntervalsInfo)
}
placeholderWidthLeft = void 0 !== placeholderWidthLeft ? placeholderWidthLeft : leftScaleLabelWidth;
placeholderWidthRight = (void 0 !== placeholderWidthRight ? placeholderWidthRight : rightScaleLabelWidth) || 1;
return {
left: placeholderWidthLeft,
right: placeholderWidthRight,
top: placeholderHeight || 0,
bottom: 0
}
}(this._renderer, scaleOptions, sliderMarkerOptions, this.option("indent"), tickIntervalsInfo);
var rangeContainerCanvas = {
left: canvas.left + indents.left,
top: canvas.top + indents.top,
width: canvas.left + indents.left + _max(canvas.width - indents.left - indents.right, 1),
height: _max(!isCompactMode ? canvas.height - indents.top - indents.bottom - calculateScaleAreaHeight(this._renderer, scaleOptions, showScaleMarkers(scaleOptions), tickIntervalsInfo) : _common.HEIGHT_COMPACT_MODE, 0),
right: 0,
bottom: 0
};
this._axis.update(scaleOptions, isCompactMode, rangeContainerCanvas, argTranslatorRange, seriesDataSource);
scaleOptions.minorTickInterval = scaleOptions.isEmpty ? 0 : scaleOptions.minorTickInterval;
this._updateElements(scaleOptions, sliderMarkerOptions, isCompactMode, rangeContainerCanvas, seriesDataSource);
if (chartThemeManager) {
chartThemeManager.dispose()
}
},
_updateElements: function(scaleOptions, sliderMarkerOptions, isCompactMode, canvas, seriesDataSource) {
var behavior = this._getOption("behavior");
var shutterOptions = this._getOption("shutter");
var isNotSemiDiscrete = "semidiscrete" !== scaleOptions.type;
shutterOptions.color = shutterOptions.color || this._getOption("containerBackgroundColor", true);
this._rangeView.update(this.option("background"), this._themeManager.theme("background"), canvas, isCompactMode, behavior.animationEnabled && this._renderer.animationEnabled(), seriesDataSource);
this._isUpdating = true;
this._slidersController.update([canvas.top, canvas.top + canvas.height], behavior, isCompactMode, this._getOption("sliderHandle"), sliderMarkerOptions, shutterOptions, {
minRange: isNotSemiDiscrete ? this.option("scale.minRange") : void 0,
maxRange: isNotSemiDiscrete ? this.option("scale.maxRange") : void 0
}, this._axis.getFullTicks(), this._getOption("selectedRangeColor", true));
this._requestChange(["SLIDER_SELECTION"]);
this._isUpdating = false;
this._tracker.update(!this._axis.getTranslator().getBusinessRange().isEmpty(), behavior)
},
_createSeriesDataSource: function(chartOptions) {
var seriesDataSource;
var dataSource = this._dataSourceItems();
var scaleOptions = this._getOption("scale");
var valueType = scaleOptions.valueType || calculateValueType(scaleOptions.startValue, scaleOptions.endValue);
var valueAxis = new _base_axis.Axis({
renderer: this._renderer,
axisType: "xyAxes",
drawingType: "linear"
});
valueAxis.updateOptions({
isHorizontal: false,
label: {},
categoriesSortingMethod: this._getOption("chart").valueAxis.categoriesSortingMethod
});
if (dataSource || chartOptions && chartOptions.series) {
chartOptions = (0, _extend.extend)({}, chartOptions, {
theme: this.option("theme")
});
seriesDataSource = new _series_data_source.SeriesDataSource({
renderer: this._renderer,
dataSource: dataSource,
valueType: (0, _utils.normalizeEnum)(valueType),
axisType: scaleOptions.type,
chart: chartOptions,
dataSourceField: this.option("dataSourceField"),
incidentOccurred: this._incidentOccurred,
categories: scaleOptions.categories,
argumentAxis: this._axis,
valueAxis: valueAxis
})
}
return seriesDataSource
},
_prepareSliderMarkersOptions: function(scaleOptions, screenDelta, tickIntervalsInfo, argRange) {
var minorTickInterval = tickIntervalsInfo.minorTickInterval;
var tickInterval = tickIntervalsInfo.tickInterval;
var interval = tickInterval;
var endValue = scaleOptions.endValue;
var startValue = scaleOptions.startValue;
var sliderMarkerOptions = this._getOption("sliderMarker");
var doNotSnap = !this._getOption("behavior").snapToTicks;
var isTypeDiscrete = "discrete" === scaleOptions.type;
var isValueTypeDatetime = "datetime" === scaleOptions.valueType;
sliderMarkerOptions.borderColor = this._getOption("containerBackgroundColor", true);
if (!sliderMarkerOptions.format && !argRange.isEmpty()) {
if (doNotSnap && (0, _type2.isNumeric)(scaleOptions.startValue)) {
sliderMarkerOptions.format = {
type: "fixedPoint",
precision: getPrecisionForSlider(startValue, endValue, screenDelta)
}
}
if (isValueTypeDatetime && !isTypeDiscrete) {
if ((0, _type2.isDefined)(minorTickInterval) && 0 !== minorTickInterval) {
interval = function(tickInterval, minorTickInterval, withCorrection) {
var interval = _date.default.getDateUnitInterval(minorTickInterval);
var majorUnit = _date.default.getDateUnitInterval(tickInterval);
var idx = _date.default.dateUnitIntervals.indexOf(interval);
if (withCorrection && interval === majorUnit && idx > 0) {
interval = _date.default.dateUnitIntervals[idx - 1]
}
return interval
}(tickInterval, minorTickInterval, doNotSnap)
}
if (!scaleOptions.marker.visible) {
if ((0, _type2.isDefined)(startValue) && (0, _type2.isDefined)(endValue)) {
sliderMarkerOptions.format = _format_helper.default.getDateFormatByTickInterval(startValue, endValue, interval)
}
} else {
sliderMarkerOptions.format = _date.default.getDateFormatByTickInterval(interval)
}
}
if (isValueTypeDatetime && isTypeDiscrete && tickIntervalsInfo.ticks.length) {
sliderMarkerOptions.format = _format_helper.default.getDateFormatByTicks(tickIntervalsInfo.ticks)
}
}
return sliderMarkerOptions
},
getValue: function() {
return (0, _utils.convertVisualRangeObject)(this._slidersController.getSelectedRange())
},
setValue: function(value, e) {
var visualRange = (0, _utils.getVizRangeObject)(value);
if (!this._isUpdating && value) {
this._validateRange(visualRange.startValue, visualRange.endValue);
!(0, _utils.rangesAreEqual)(visualRange, this._slidersController.getSelectedRange()) && this._slidersController.setSelectedRange(visualRange, e)
}
},
_setContentSize: function() {
this.__isResizing = 2 === this._changes.count();
this.callBase.apply(this, arguments)
}
});
(0, _iterator.each)(["selectedRangeColor", "containerBackgroundColor", "sliderMarker", "sliderHandle", "shutter", "background", "behavior", "chart", "indent"], (function(_, name) {
dxRangeSelector.prototype._optionChangesMap[name] = "MOSTLY_TOTAL"
}));
function getShiftDirection() {
return 1
}
function getTickStartPositionShift(length) {
return length % 2 === 1 ? -_floor(length / 2) : -length / 2
}
function checkShiftedLabels(majorTicks, boxes, minSpacing, alignment) {
function checkLabelsOverlapping(nearestLabelsIndexes) {
if (2 === nearestLabelsIndexes.length && _axes_constants.default.areLabelsOverlap(boxes[nearestLabelsIndexes[0]], boxes[nearestLabelsIndexes[1]], minSpacing, alignment)) {
majorTicks[nearestLabelsIndexes[0]].removeLabel()
}
}
function getTwoVisibleLabels(startIndex) {
var labels = [];
for (var i = startIndex; labels.length < 2 && i < majorTicks.length; i++) {
majorTicks[i].label && labels.push(i)
}
return labels
}
if (majorTicks.length < 3) {
return
}
checkLabelsOverlapping(getTwoVisibleLabels(0));
checkLabelsOverlapping(getTwoVisibleLabels(majorTicks.length - 2).reverse())
}
function AxisWrapper(params) {
this._axis = new _base_axis.Axis({
renderer: params.renderer,
axesContainerGroup: params.root,
scaleBreaksGroup: params.scaleBreaksGroup,
labelsAxesGroup: params.labelsAxesGroup,
incidentOccurred: params.incidentOccurred,
axisType: "xyAxes",
drawingType: "linear",
widgetClass: "dxrs",
axisClass: "range-selector",
isArgumentAxis: true,
getTemplate: function() {}
});
this._updateSelectedRangeCallback = params.updateSelectedRange;
this._axis.getAxisSharpDirection = this._axis.getSharpDirectionByCoords = getShiftDirection;
this._axis.getTickStartPositionShift = getTickStartPositionShift;
this._axis._checkShiftedLabels = checkShiftedLabels
}
AxisWrapper.prototype = {
constructor: AxisWrapper,
dispose: function() {
this._axis.dispose()
},
calculateInterval: function(value, prevValue) {
return this._axis.calculateInterval(value, prevValue)
},
update: function(options, isCompactMode, canvas, businessRange, seriesDataSource) {
var axis = this._axis;
axis.updateOptions(function(scaleOptions, isCompactMode, height, axisPosition) {
scaleOptions.marker.label.font = scaleOptions.label.font;
scaleOptions.color = scaleOptions.marker.color = scaleOptions.tick.color;
scaleOptions.opacity = scaleOptions.marker.opacity = scaleOptions.tick.opacity;
scaleOptions.width = scaleOptions.marker.width = scaleOptions.tick.width;
scaleOptions.placeholderSize = (scaleOptions.placeholderHeight || 0) + axisPosition;
scaleOptions.argumentType = scaleOptions.valueType;
scaleOptions.visible = isCompactMode;
scaleOptions.isHorizontal = true;
scaleOptions.calculateMinors = true;
scaleOptions.semiDiscreteInterval = scaleOptions.minRange;
if (!isCompactMode) {
scaleOptions.minorTick.length = scaleOptions.tick.length = height
}
scaleOptions.label.indentFromAxis = scaleOptions.label.topIndent + axisPosition;
return scaleOptions
}(options, isCompactMode, canvas.height, canvas.height / 2 - _ceil(options.width / 2)));
axis.validate();
axis.setBusinessRange(businessRange, true);
if (void 0 !== seriesDataSource && seriesDataSource.isShowChart()) {
axis.setMarginOptions(seriesDataSource.getMarginOptions(canvas))
}
axis.draw(canvas);
axis.shift({
left: 0,
bottom: -canvas.height / 2 + canvas.top
});
if (axis.getMarkerTrackers()) {
! function(scaleOptions, markerTrackers, setSelectedRange) {
(0, _iterator.each)(markerTrackers, (function(_, value) {
value.on("dxpointerdown", onPointerDown)
}));
function onPointerDown(e) {
var range = e.target.range;
var minRange = scaleOptions.minRange ? _date.default.addInterval(range.startValue, scaleOptions.minRange) : void 0;
var maxRange = scaleOptions.maxRange ? _date.default.addInterval(range.startValue, scaleOptions.maxRange) : void 0;
if (!(minRange && minRange > range.endValue || maxRange && maxRange < range.endValue)) {
setSelectedRange(range, e)
}
}
}(options, axis.getMarkerTrackers(), this._updateSelectedRangeCallback)
}
axis.drawScaleBreaks({
start: canvas.top,
end: canvas.top + canvas.height
})
},
visualRange: function() {},
getViewport: function() {
return {}
},
allScaleSelected: function(value) {
var _this$_axis$visualRan = this._axis.visualRange(),
startValue = _this$_axis$visualRan.startValue,
endValue = _this$_axis$visualRan.endValue;
return {
startValue: value[0].valueOf() === startValue.valueOf(),
endValue: value[1].valueOf() === endValue.valueOf()
}
},
getOptions: function() {
return this._axis.getOptions() || {}
}
};
["setMarginOptions", "getFullTicks", "updateCanvas", "updateOptions", "getAggregationInfo", "getTranslator", "getVisualRangeLength", "getVisibleArea", "getMarginOptions", "getVisualRangeCenter"].forEach((function(methodName) {
AxisWrapper.prototype[methodName] = function() {
var axis = this._axis;
return axis[methodName].apply(axis, arguments)
}
}));
(0, _component_registrator.default)("dxRangeSelector", dxRangeSelector);
var _default = dxRangeSelector;
exports.default = _default;
dxRangeSelector.addPlugin(_export.plugin);
dxRangeSelector.addPlugin(_title.plugin);
dxRangeSelector.addPlugin(_loading_indicator.plugin);
dxRangeSelector.addPlugin(_data_source.plugin);
module.exports = exports.default;
module.exports.default = exports.default
},
/*!**************************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/range_selector/sliders_controller.js ***!
\**************************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.SlidersController = SlidersController;
var _common = __webpack_require__( /*! ../../core/utils/common */ 4);
var _common2 = __webpack_require__( /*! ./common */ 234);
var _slider = (obj = __webpack_require__( /*! ./slider */ 1046), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _math = __webpack_require__( /*! ../../core/utils/math */ 31);
var animationSettings = _common2.utils.animationSettings;
var emptySliderMarkerText = _common2.consts.emptySliderMarkerText;
function buildRectPoints(left, top, right, bottom) {
return [left, top, right, top, right, bottom, left, bottom]
}
function isLess(a, b) {
return a < b
}
function isGreater(a, b) {
return a > b
}
function selectClosestValue(target, values) {
var start = 0;
var end = values ? values.length - 1 : 0;
var middle;
var val = target;
while (end - start > 1) {
middle = start + end >> 1;
val = values[middle];
if (val === target) {
return target
} else if (target < val) {
end = middle
} else {
start = middle
}
}
if (values) {
val = values[target - values[start] <= values[end] - target ? start : end]
}
return val
}
function dummyProcessSelectionChanged() {
this._lastSelectedRange = this.getSelectedRange();
delete this._processSelectionChanged
}
function SlidersController(params) {
var sliderParams = {
renderer: params.renderer,
root: params.root,
trackersGroup: params.trackersGroup,
translator: params.translator
};
this._params = params;
this._areaTracker = params.renderer.path(null, "area").attr({
class: "area-tracker",
fill: "#000000",
opacity: 1e-4
}).append(params.trackersGroup);
this._selectedAreaTracker = params.renderer.path(null, "area").attr({
class: "selected-area-tracker",
fill: "#000000",
opacity: 1e-4
}).append(params.trackersGroup);
this._shutter = params.renderer.path(null, "area").append(params.root);
this._sliders = [new _slider.default(sliderParams, 0), new _slider.default(sliderParams, 1)];
this._processSelectionChanged = dummyProcessSelectionChanged
}
SlidersController.prototype = {
constructor: SlidersController,
dispose: function() {
this._sliders[0].dispose();
this._sliders[1].dispose()
},
getTrackerTargets: function() {
return {
area: this._areaTracker,
selectedArea: this._selectedAreaTracker,
sliders: this._sliders
}
},
_processSelectionChanged: function(e) {
var selectedRange = this.getSelectedRange();
if (!(0, _utils.rangesAreEqual)(selectedRange, this._lastSelectedRange)) {
this._params.updateSelectedRange(selectedRange, this._lastSelectedRange, e);
this._lastSelectedRange = selectedRange
}
},
update: function(verticalRange, behavior, isCompactMode, sliderHandleOptions, sliderMarkerOptions, shutterOptions, rangeBounds, fullTicks, selectedRangeColor) {
var screenRange = this._params.translator.getScreenRange();
this._verticalRange = verticalRange;
this._minRange = rangeBounds.minRange;
this._maxRange = rangeBounds.maxRange;
this._animationEnabled = behavior.animationEnabled && this._params.renderer.animationEnabled();
this._allowSlidersSwap = behavior.allowSlidersSwap;
this._sliders[0].update(verticalRange, sliderHandleOptions, sliderMarkerOptions);
this._sliders[1].update(verticalRange, sliderHandleOptions, sliderMarkerOptions);
this._sliders[0]._position = this._sliders[1]._position = screenRange[0];
this._values = !this._params.translator.isValueProlonged && behavior.snapToTicks ? fullTicks : null;
this._areaTracker.attr({
points: buildRectPoints(screenRange[0], verticalRange[0], screenRange[1], verticalRange[1])
});
this._isCompactMode = isCompactMode;
this._shutterOffset = sliderHandleOptions.width / 2;
this._updateSelectedView(shutterOptions, selectedRangeColor);
this._isOnMoving = "onmoving" === (0, _utils.normalizeEnum)(behavior.callValueChanged);
this._updateSelectedRange();
this._applyTotalPosition(false)
},
_updateSelectedView: function(shutterOptions, selectedRangeColor) {
var settings = {
fill: null,
"fill-opacity": null,
stroke: null,
"stroke-width": null
};
if (this._isCompactMode) {
settings.stroke = selectedRangeColor;
settings["stroke-width"] = 3;
settings.sharp = "v"
} else {
settings.fill = shutterOptions.color;
settings["fill-opacity"] = shutterOptions.opacity
}
this._shutter.attr(settings)
},
_updateSelectedRange: function() {
var sliders = this._sliders;
sliders[0].cancelAnimation();
sliders[1].cancelAnimation();
this._shutter.stopAnimation();
if (this._params.translator.getBusinessRange().isEmpty()) {
sliders[0]._setText(emptySliderMarkerText);
sliders[1]._setText(emptySliderMarkerText);
sliders[0]._value = sliders[1]._value = void 0;
sliders[0]._position = this._params.translator.getScreenRange()[0];
sliders[1]._position = this._params.translator.getScreenRange()[1];
this._applyTotalPosition(false);
! function(controller) {
controller.setSelectedRange = _common.noop;
if (controller._processSelectionChanged === dummyProcessSelectionChanged) {
controller._processSelectionChanged()
}
}(this)
} else {
controller = this, void delete controller.setSelectedRange
}
var controller
},
_applyTotalPosition: function(isAnimated) {
var sliders = this._sliders;
isAnimated = this._animationEnabled && isAnimated;
sliders[0].applyPosition(isAnimated);
sliders[1].applyPosition(isAnimated);
var areOverlapped = sliders[0].getCloudBorder() > sliders[1].getCloudBorder();
sliders[0].setOverlapped(areOverlapped);
sliders[1].setOverlapped(areOverlapped);
this._applyAreaTrackersPosition();
this._applySelectedRangePosition(isAnimated)
},
_applyAreaTrackersPosition: function() {
var position1 = this._sliders[0].getPosition();
var position2 = this._sliders[1].getPosition();
this._selectedAreaTracker.attr({
points: buildRectPoints(position1, this._verticalRange[0], position2, this._verticalRange[1])
}).css({
cursor: Math.abs(this._params.translator.getScreenRange()[1] - this._params.translator.getScreenRange()[0] - position2 + position1) < .001 ? "default" : "pointer"
})
},
_applySelectedRangePosition: function(isAnimated) {
var verticalRange = this._verticalRange;
var pos1 = this._sliders[0].getPosition();
var pos2 = this._sliders[1].getPosition();
var screenRange;
var points;
if (this._isCompactMode) {
points = [pos1 + Math.ceil(this._shutterOffset), (verticalRange[0] + verticalRange[1]) / 2, pos2 - Math.floor(this._shutterOffset), (verticalRange[0] + verticalRange[1]) / 2]
} else {
screenRange = this._params.axis.getVisibleArea();
points = [buildRectPoints(screenRange[0], verticalRange[0], Math.max(pos1 - Math.floor(this._shutterOffset), screenRange[0]), verticalRange[1]), buildRectPoints(screenRange[1], verticalRange[0], Math.min(pos2 + Math.ceil(this._shutterOffset), screenRange[1]), verticalRange[1])]
}
if (isAnimated) {
this._shutter.animate({
points: points
}, animationSettings)
} else {
this._shutter.attr({
points: points
})
}
},
getSelectedRange: function() {
return {
startValue: this._sliders[0].getValue(),
endValue: this._sliders[1].getValue()
}
},
setSelectedRange: function(visualRange, e) {
visualRange = visualRange || {};
var translator = this._params.translator;
var businessRange = translator.getBusinessRange();
var compare = "discrete" === businessRange.axisType ? function(a, b) {
return a < b
} : function(a, b) {
return a <= b
};
var _adjustVisualRange = (0, _utils.adjustVisualRange)({
dataType: businessRange.dataType,
axisType: businessRange.axisType,
base: businessRange.base
}, {
startValue: translator.isValid(visualRange.startValue) ? translator.getCorrectValue(visualRange.startValue, 1) : void 0,
endValue: translator.isValid(visualRange.endValue) ? translator.getCorrectValue(visualRange.endValue, -1) : void 0,
length: visualRange.length
}, {
min: businessRange.minVisible,
max: businessRange.maxVisible,
categories: businessRange.categories
}),
startValue = _adjustVisualRange.startValue,
endValue = _adjustVisualRange.endValue;
startValue = (0, _type.isNumeric)(startValue) ? (0, _math.adjust)(startValue) : startValue;
endValue = (0, _type.isNumeric)(endValue) ? (0, _math.adjust)(endValue) : endValue;
var values = compare(translator.to(startValue, -1), translator.to(endValue, 1)) ? [startValue, endValue] : [endValue, startValue];
this._sliders[0].setDisplayValue(values[0]);
this._sliders[1].setDisplayValue(values[1]);
this._sliders[0]._position = translator.to(values[0], -1);
this._sliders[1]._position = translator.to(values[1], 1);
this._applyTotalPosition(true);
this._processSelectionChanged(e)
},
beginSelectedAreaMoving: function(initialPosition) {
var that = this;
var sliders = that._sliders;
var offset = (sliders[0].getPosition() + sliders[1].getPosition()) / 2 - initialPosition;
var currentPosition = initialPosition;
move.complete = function(e) {
that._dockSelectedArea(e)
};
return move;
function move(position, e) {
if (position !== currentPosition && position > currentPosition === position > (sliders[0].getPosition() + sliders[1].getPosition()) / 2 - offset) {
that._moveSelectedArea(position + offset, false, e)
}
currentPosition = position
}
},
_dockSelectedArea: function(e) {
var translator = this._params.translator;
var sliders = this._sliders;
sliders[0]._position = translator.to(sliders[0].getValue(), -1);
sliders[1]._position = translator.to(sliders[1].getValue(), 1);
this._applyTotalPosition(true);
this._processSelectionChanged(e)
},
moveSelectedArea: function(screenPosition, e) {
this._moveSelectedArea(screenPosition, true, e);
this._dockSelectedArea(e)
},
_moveSelectedArea: function(screenPosition, isAnimated, e) {
var translator = this._params.translator;
var sliders = this._sliders;
var interval = sliders[1].getPosition() - sliders[0].getPosition();
var startPosition = screenPosition - interval / 2;
var endPosition = screenPosition + interval / 2;
if (startPosition < translator.getScreenRange()[0]) {
startPosition = translator.getScreenRange()[0];
endPosition = startPosition + interval
}
if (endPosition > translator.getScreenRange()[1]) {
endPosition = translator.getScreenRange()[1];
startPosition = endPosition - interval
}
var startValue = selectClosestValue(translator.from(startPosition, -1), this._values);
sliders[0].setDisplayValue(startValue);
sliders[1].setDisplayValue(selectClosestValue(translator.from(translator.to(startValue, -1) + interval, 1), this._values));
sliders[0]._position = startPosition;
sliders[1]._position = endPosition;
this._applyTotalPosition(isAnimated);
if (this._isOnMoving) {
this._processSelectionChanged(e)
}
},
placeSliderAndBeginMoving: function(firstPosition, secondPosition, e) {
var translator = this._params.translator;
var sliders = this._sliders;
var index = firstPosition < secondPosition ? 0 : 1;
var dir = index > 0 ? 1 : -1;
var compare = index > 0 ? isGreater : isLess;
var antiCompare = index > 0 ? isLess : isGreater;
var thresholdPosition;
var positions = [];
var values = [];
values[index] = translator.from(firstPosition, dir);
values[1 - index] = translator.from(secondPosition, -dir);
positions[1 - index] = secondPosition;
if (translator.isValueProlonged) {
if (compare(firstPosition, translator.to(values[index], dir))) {
values[index] = translator.from(firstPosition, -dir)
}
if (compare(secondPosition, translator.to(values[index], -dir))) {
values[1 - index] = values[index]
}
}
if (this._minRange) {
thresholdPosition = translator.to(translator.add(selectClosestValue(values[index], this._values), this._minRange, -dir), -dir);
if (compare(secondPosition, thresholdPosition)) {
values[1 - index] = translator.add(values[index], this._minRange, -dir)
}
thresholdPosition = translator.to(translator.add(translator.getRange()[1 - index], this._minRange, dir), -dir);
if (antiCompare(firstPosition, thresholdPosition)) {
values[1 - index] = translator.getRange()[1 - index];
values[index] = translator.add(values[1 - index], this._minRange, dir);
positions[1 - index] = firstPosition
}
}
values[0] = selectClosestValue(values[0], this._values);
values[1] = selectClosestValue(values[1], this._values);
positions[index] = translator.to(values[index], dir);
sliders[0].setDisplayValue(values[0]);
sliders[1].setDisplayValue(values[1]);
sliders[0]._position = positions[0];
sliders[1]._position = positions[1];
this._applyTotalPosition(true);
if (this._isOnMoving) {
this._processSelectionChanged(e)
}
var handler = this.beginSliderMoving(1 - index, secondPosition);
sliders[1 - index]._sliderGroup.stopAnimation();
this._shutter.stopAnimation();
handler(secondPosition);
return handler
},
beginSliderMoving: function(initialIndex, initialPosition) {
var that = this;
var translator = that._params.translator;
var sliders = that._sliders;
var minPosition = translator.getScreenRange()[0];
var maxPosition = translator.getScreenRange()[1];
var index = initialIndex;
var staticPosition = sliders[1 - index].getPosition();
var currentPosition = initialPosition;
var dir = index > 0 ? 1 : -1;
var compareMin = index > 0 ? isLess : isGreater;
var compareMax = index > 0 ? isGreater : isLess;
var moveOffset = sliders[index].getPosition() - initialPosition;
var swapOffset = compareMin(sliders[index].getPosition(), initialPosition) ? -moveOffset : moveOffset;
move.complete = function(e) {
sliders[index]._setValid(true);
that._dockSelectedArea(e)
};
return move;
function move(position, e) {
var isValid;
var temp;
var pos;
var slider;
var value;
if (position !== currentPosition) {
if (compareMin(position + swapOffset, staticPosition)) {
isValid = that._allowSlidersSwap;
if (isValid && !translator.isValueProlonged && that._minRange) {
isValid = translator.isValid(translator.add(sliders[1 - index].getValue(), that._minRange, -dir))
}
if (isValid) {
that._changeMovingSlider(index);
index = 1 - index;
dir = -dir;
temp = compareMin;
compareMin = compareMax;
compareMax = temp;
moveOffset = -dir * Math.abs(moveOffset);
swapOffset = -moveOffset
}
}
if (compareMax(position + moveOffset, staticPosition)) {
slider = sliders[index];
value = sliders[1 - index].getValue();
pos = Math.max(Math.min(position + moveOffset, maxPosition), minPosition);
isValid = translator.isValueProlonged ? !compareMin(pos, translator.to(value, dir)) : true;
var invalidStateValue;
if (isValid && that._minRange) {
isValid = !compareMin(pos, translator.to(translator.add(value, that._minRange, dir), dir));
if (!isValid) {
invalidStateValue = translator.add(value, that._minRange, dir)
}
}
if (isValid && that._maxRange) {
isValid = !compareMax(pos, translator.to(translator.add(value, that._maxRange, dir), dir));
if (!isValid) {
invalidStateValue = translator.add(value, that._maxRange, dir)
}
}
slider._setValid(isValid);
slider.setDisplayValue(isValid ? selectClosestValue(translator.from(pos, dir), that._values) : (0, _type.isDefined)(invalidStateValue) ? invalidStateValue : slider.getValue());
slider._position = pos;
that._applyTotalPosition(false);
slider.toForeground();
if (that._isOnMoving) {
that._processSelectionChanged(e)
}
}
}
currentPosition = position
}
},
_changeMovingSlider: function(index) {
var translator = this._params.translator;
var sliders = this._sliders;
var position = sliders[1 - index].getPosition();
var dir = index > 0 ? 1 : -1;
var newValue;
sliders[index].setDisplayValue(selectClosestValue(translator.from(position, dir), this._values));
newValue = translator.from(position, -dir);
if (translator.isValueProlonged) {
newValue = translator.from(position, dir)
} else if (this._minRange) {
newValue = translator.add(newValue, this._minRange, -dir)
}
sliders[1 - index].setDisplayValue(selectClosestValue(newValue, this._values));
sliders[index]._setValid(true);
sliders[index]._marker._update();
sliders[0]._position = sliders[1]._position = position
},
foregroundSlider: function(index) {
this._sliders[index].toForeground()
}
}
},
/*!**************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/range_selector/slider.js ***!
\**************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _common = __webpack_require__( /*! ./common */ 234);
var _slider_marker = (obj = __webpack_require__( /*! ./slider_marker */ 1047), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _support = __webpack_require__( /*! ../../core/utils/support */ 48);
var animationSettings = _common.utils.animationSettings;
function Slider(params, index) {
this._translator = params.translator;
this._sliderGroup = params.renderer.g().attr({
class: "slider"
}).append(params.root);
this._line = params.renderer.path(null, "line").append(this._sliderGroup);
this._marker = new _slider_marker.default(params.renderer, this._sliderGroup, 1 === index);
this._tracker = params.renderer.rect().attr({
class: "slider-tracker",
fill: "#000000",
opacity: 1e-4
}).css({
cursor: "w-resize"
}).append(params.trackersGroup)
}
Slider.prototype = {
constructor: Slider,
cancelAnimation: function() {
this._sliderGroup.stopAnimation();
this._tracker.stopAnimation()
},
applyPosition: function(isAnimated) {
var slider = this._sliderGroup;
var tracker = this._tracker;
var attrs = {
translateX: this._position
};
this._marker.setPosition(this._position);
if (isAnimated) {
slider.animate(attrs, animationSettings);
tracker.animate(attrs, animationSettings)
} else {
slider.attr(attrs);
tracker.attr(attrs)
}
},
_setValid: function(isValid) {
this._marker.setValid(isValid);
this._line.attr({
stroke: this._colors[Number(isValid)]
})
},
_setText: function(text) {
this._marker.setText(text)
},
update: function(verticalRange, sliderHandleOptions, sliderMarkerOptions) {
this._formatOptions = {
format: sliderMarkerOptions.format,
customizeText: sliderMarkerOptions.customizeText
};
this._marker.applyOptions(sliderMarkerOptions, this._translator.getScreenRange());
this._colors = [sliderMarkerOptions.invalidRangeColor, sliderHandleOptions.color];
this._sliderGroup.attr({
translateY: verticalRange[0]
});
this._line.attr({
"stroke-width": sliderHandleOptions.width,
stroke: sliderHandleOptions.color,
"stroke-opacity": sliderHandleOptions.opacity,
sharp: "h",
points: [0, 0, 0, verticalRange[1] - verticalRange[0]]
});
var trackerWidth = (sliderHandleWidth = sliderHandleOptions.width, _support.touchEvents || _support.pointerEvents ? 20 : 8 < sliderHandleWidth ? sliderHandleWidth : 8);
var sliderHandleWidth;
this._tracker.attr({
x: -trackerWidth / 2,
y: 0,
width: trackerWidth,
height: verticalRange[1] - verticalRange[0],
translateY: verticalRange[0]
})
},
toForeground: function() {
this._sliderGroup.toForeground()
},
getSliderTracker: function() {
return this._tracker
},
getPosition: function() {
return this._position
},
setDisplayValue: function(value) {
this._value = value;
this._setText((0, _common.formatValue)(value, this._formatOptions))
},
setOverlapped: function(isOverlapped) {
this._marker.setOverlapped(isOverlapped)
},
getValue: function() {
return this._value
},
on: function(event, handler) {
this._tracker.on(event, handler);
this._marker.getTracker().on(event, handler)
},
getCloudBorder: function() {
return this._marker.getBorderPosition()
},
dispose: function() {
this._marker.dispose()
}
};
var _default = Slider;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/range_selector/slider_marker.js ***!
\*********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _common = __webpack_require__( /*! ./common */ 234);
var POINTER_SIZE = _common.consts.pointerSize;
function SliderMarker(renderer, root, isLeftPointer) {
this._isLeftPointer = isLeftPointer;
this._isOverlapped = false;
this._group = renderer.g().attr({
class: "slider-marker"
}).append(root);
this._area = renderer.path(null, "area").append(this._group);
this._label = renderer.text().attr({
align: "left"
}).append(this._group);
this._tracker = renderer.rect().attr({
class: "slider-marker-tracker",
fill: "#000000",
opacity: 1e-4
}).css({
cursor: "pointer"
}).append(this._group);
this._border = renderer.rect(0, 0, 1, 0)
}
SliderMarker.prototype = {
constructor: SliderMarker,
_getRectSize: function(textSize) {
return {
width: Math.round(2 * this._paddingLeftRight + textSize.width),
height: Math.round(2 * this._paddingTopBottom + textSize.height)
}
},
_getTextSize: function() {
var textSize = this._label.getBBox();
if (!this._textHeight && isFinite(textSize.height)) {
this._textHeight = textSize.height
}
return {
width: textSize.width,
height: this._textHeight,
y: textSize.y
}
},
_getAreaPointsInfo: function(textSize) {
var rectSize = this._getRectSize(textSize);
var rectWidth = rectSize.width;
var rectHeight = rectSize.height;
var rectLeftBorder = -rectWidth;
var rectRightBorder = 0;
var pointerRightPoint = POINTER_SIZE;
var pointerCenterPoint = 0;
var pointerLeftPoint = -POINTER_SIZE;
var position = this._position;
var isLeft = this._isLeftPointer;
var correctCloudBorders = function() {
rectLeftBorder++;
rectRightBorder++;
pointerRightPoint++;
pointerCenterPoint++;
pointerLeftPoint++
};
var checkPointerBorders = function() {
if (pointerRightPoint > rectRightBorder) {
pointerRightPoint = rectRightBorder
} else if (pointerLeftPoint < rectLeftBorder) {
pointerLeftPoint = rectLeftBorder
}
isLeft && correctCloudBorders()
};
var borderPosition = position;
if (isLeft) {
if (position > this._range[1] - rectWidth) {
rectRightBorder = -position + this._range[1];
rectLeftBorder = rectRightBorder - rectWidth;
checkPointerBorders();
borderPosition += rectLeftBorder
} else {
rectLeftBorder = pointerLeftPoint = 0;
rectRightBorder = rectWidth
}
} else if (position - this._range[0] < rectWidth) {
rectLeftBorder = -(position - this._range[0]);
rectRightBorder = rectLeftBorder + rectWidth;
checkPointerBorders();
borderPosition += rectRightBorder
} else {
pointerRightPoint = 0;
correctCloudBorders()
}
this._borderPosition = borderPosition;
return {
offset: rectLeftBorder,
isCut: (!isLeft || pointerCenterPoint !== pointerLeftPoint) && (isLeft || pointerCenterPoint !== pointerRightPoint),
points: [rectLeftBorder, 0, rectRightBorder, 0, rectRightBorder, rectHeight, pointerRightPoint, rectHeight, pointerCenterPoint, rectHeight + POINTER_SIZE, pointerLeftPoint, rectHeight, rectLeftBorder, rectHeight]
}
},
_update: function() {
var that = this;
var textSize;
clearTimeout(that._timeout);
that._label.attr({
text: that._text || ""
});
var currentTextSize = that._getTextSize();
var rectSize = that._getRectSize(currentTextSize);
textSize = that._textSize || currentTextSize;
textSize = that._textSize = currentTextSize.width > textSize.width || currentTextSize.height > textSize.height ? currentTextSize : textSize;
that._timeout = setTimeout((function() {
updateSliderMarker(currentTextSize, rectSize);
that._textSize = currentTextSize
}), 75);
function updateSliderMarker(size, rectSize) {
rectSize = rectSize || that._getRectSize(size);
that._group.attr({
translateY: -(rectSize.height + POINTER_SIZE)
});
var pointsData = that._getAreaPointsInfo(size);
var points = pointsData.points;
var offset = pointsData.offset;
that._area.attr({
points: points
});
that._border.attr({
x: that._isLeftPointer ? points[0] - 1 : points[2],
height: pointsData.isCut ? rectSize.height : rectSize.height + POINTER_SIZE
});
that._tracker.attr({
translateX: offset,
width: rectSize.width,
height: rectSize.height + POINTER_SIZE
});
that._label.attr({
translateX: that._paddingLeftRight + offset,
translateY: rectSize.height / 2 - (size.y + size.height / 2)
})
}
updateSliderMarker(textSize)
},
setText: function(value) {
this._text = value
},
setPosition: function(position) {
this._position = position;
this._update()
},
applyOptions: function(options, screenRange) {
this._range = screenRange;
this._paddingLeftRight = options.paddingLeftRight;
this._paddingTopBottom = options.paddingTopBottom;
this._textHeight = null;
this._colors = [options.invalidRangeColor, options.color];
this._area.attr({
fill: options.color
});
this._border.attr({
fill: options.borderColor
});
this._label.css((0, _utils.patchFontOptions)(options.font));
this._update()
},
getTracker: function() {
return this._tracker
},
setValid: function(isValid) {
this._area.attr({
fill: this._colors[Number(isValid)]
})
},
setColor: function(color) {
this._area.attr({
fill: color
})
},
dispose: function() {
clearTimeout(this._timeout)
},
setOverlapped: function(isOverlapped) {
if (this._isOverlapped !== isOverlapped) {
if (isOverlapped) {
this._border.append(this._group)
} else {
this._isOverlapped && this._border.remove()
}
this._isOverlapped = isOverlapped
}
},
getBorderPosition: function() {
return this._borderPosition
}
};
var _default = SliderMarker;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!***************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/range_selector/tracker.js ***!
\***************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.Tracker = Tracker;
var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 5));
var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 25));
var _window = __webpack_require__( /*! ../../core/utils/window */ 7);
var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 11));
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _support = __webpack_require__( /*! ../../core/utils/support */ 48);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
})
} else {
obj[key] = value
}
return obj
}
var window = (0, _window.getWindow)();
function isLeftButtonPressed(event) {
var e = event || window.event;
var originalEvent = e.originalEvent;
var touches = e.touches;
var pointerType = originalEvent ? originalEvent.pointerType : false;
var eventTouches = originalEvent ? originalEvent.touches : false;
var isMSPointerLeftClick = originalEvent && void 0 !== pointerType && (pointerType === (originalEvent.MSPOINTER_TYPE_TOUCH || "touch") || pointerType === (originalEvent.MSPOINTER_TYPE_MOUSE || "mouse") && 1 === originalEvent.buttons);
var isTouches = touches && touches.length > 0 || eventTouches && eventTouches.length > 0;
return 1 === e.which || isMSPointerLeftClick || isTouches
}
function isMultiTouches(event) {
var originalEvent = event.originalEvent;
var touches = event.touches;
var eventTouches = originalEvent && originalEvent.touches;
return touches && touches.length > 1 || eventTouches && eventTouches.length > 1 || null
}
function preventDefault(e) {
if (!isMultiTouches(e)) {
e.preventDefault()
}
}
function stopPropagationAndPreventDefault(e) {
if (!isMultiTouches(e)) {
e.stopPropagation();
e.preventDefault()
}
}
function isTouchEventArgs(e) {
return e && e.type && 0 === e.type.indexOf("touch")
}
function getEventPageX(event) {
var originalEvent = event.originalEvent;
var result = 0;
if (event.pageX) {
result = event.pageX
} else if (originalEvent && originalEvent.pageX) {
result = originalEvent.pageX
}
if (originalEvent && originalEvent.touches) {
if (originalEvent.touches.length > 0) {
result = originalEvent.touches[0].pageX
} else if (originalEvent.changedTouches.length > 0) {
result = originalEvent.changedTouches[0].pageX
}
}
return result
}
function initializeAreaEvents(controller, area, state, getRootOffsetLeft) {
var _docEvents;
var isTouchEvent;
var isActive = false;
var initialPosition;
var movingHandler = null;
var docEvents = (_docEvents = {}, _defineProperty(_docEvents, _pointer.default.move, (function(e) {
var position;
var offset;
if (isTouchEvent !== isTouchEventArgs(e)) {
return
}
if (!isLeftButtonPressed(e)) {
cancel(e)
}
if (isActive) {
position = getEventPageX(e);
offset = getRootOffsetLeft();
if (movingHandler) {
movingHandler(position - offset, e)
} else if (state.manualRangeSelectionEnabled && Math.abs(initialPosition - position) >= 10) {
movingHandler = controller.placeSliderAndBeginMoving(initialPosition - offset, position - offset, e)
}
}
})), _defineProperty(_docEvents, _pointer.default.up, (function(e) {
var position;
if (isActive) {
position = getEventPageX(e);
if (!movingHandler && state.moveSelectedRangeByClick && Math.abs(initialPosition - position) < 10) {
controller.moveSelectedArea(position - getRootOffsetLeft(), e)
}
cancel(e)
}
})), _docEvents);
function cancel(e) {
if (isActive) {
isActive = false;
if (movingHandler) {
movingHandler.complete(e);
movingHandler = null
}
}
}
area.on(_pointer.default.down, (function(e) {
if (!state.enabled || !isLeftButtonPressed(e) || isActive) {
return
}
isActive = true;
isTouchEvent = isTouchEventArgs(e);
initialPosition = getEventPageX(e)
}));
return docEvents
}
function initializeSelectedAreaEvents(controller, area, state, getRootOffsetLeft) {
var _docEvents2;
var isTouchEvent;
var isActive = false;
var movingHandler = null;
var docEvents = (_docEvents2 = {}, _defineProperty(_docEvents2, _pointer.default.move, (function(e) {
if (isTouchEvent !== isTouchEventArgs(e)) {
return
}
if (!isLeftButtonPressed(e)) {
cancel(e)
}
if (isActive) {
preventDefault(e);
movingHandler(getEventPageX(e) - getRootOffsetLeft(), e)
}
})), _defineProperty(_docEvents2, _pointer.default.up, cancel), _docEvents2);
function cancel(e) {
if (isActive) {
isActive = false;
movingHandler.complete(e);
movingHandler = null
}
}
area.on(_pointer.default.down, (function(e) {
if (!state.enabled || !isLeftButtonPressed(e) || isActive) {
return
}
isActive = true;
isTouchEvent = isTouchEventArgs(e);
movingHandler = controller.beginSelectedAreaMoving(getEventPageX(e) - getRootOffsetLeft());
stopPropagationAndPreventDefault(e)
}));
return docEvents
}
function initializeSliderEvents(controller, sliders, state, getRootOffsetLeft) {
var _docEvents3;
var isTouchEvent;
var isActive = false;
var movingHandler = null;
var docEvents = (_docEvents3 = {}, _defineProperty(_docEvents3, _pointer.default.move, (function(e) {
if (isTouchEvent !== isTouchEventArgs(e)) {
return
}
if (!isLeftButtonPressed(e)) {
cancel(e)
}
if (isActive) {
preventDefault(e);
movingHandler(getEventPageX(e) - getRootOffsetLeft(), e)
}
})), _defineProperty(_docEvents3, _pointer.default.up, cancel), _docEvents3);
(0, _iterator.each)(sliders, (function(i, slider) {
var _slider$on;
slider.on((_slider$on = {}, _defineProperty(_slider$on, _pointer.default.down, (function(e) {
if (!state.enabled || !isLeftButtonPressed(e) || isActive) {
return
}
isActive = true;
isTouchEvent = isTouchEventArgs(e);
movingHandler = controller.beginSliderMoving(i, getEventPageX(e) - getRootOffsetLeft());
stopPropagationAndPreventDefault(e)
})), _defineProperty(_slider$on, _pointer.default.move, (function() {
if (!movingHandler) {
controller.foregroundSlider(i)
}
})), _slider$on))
}));
function cancel(e) {
if (isActive) {
isActive = false;
movingHandler.complete(e);
movingHandler = null
}
}
return docEvents
}
function Tracker(params) {
var state = this._state = {};
var targets = params.controller.getTrackerTargets();
if (_support.pointerEvents) {
params.renderer.root.css({
msTouchAction: "pinch-zoom"
})
}
this._docEvents = [initializeSelectedAreaEvents(params.controller, targets.selectedArea, state, getRootOffsetLeft), initializeAreaEvents(params.controller, targets.area, state, getRootOffsetLeft), initializeSliderEvents(params.controller, targets.sliders, state, getRootOffsetLeft)];
(0, _iterator.each)(this._docEvents, (function(_, events) {
_events_engine.default.on(_dom_adapter.default.getDocument(), events)
}));
function getRootOffsetLeft() {
return params.renderer.getRootOffset().left
}
}
Tracker.prototype = {
constructor: Tracker,
dispose: function() {
(0, _iterator.each)(this._docEvents, (function(_, events) {
_events_engine.default.off(_dom_adapter.default.getDocument(), events)
}))
},
update: function(enabled, behavior) {
var state = this._state;
state.enabled = enabled;
state.moveSelectedRangeByClick = behavior.moveSelectedRangeByClick;
state.manualRangeSelectionEnabled = behavior.manualRangeSelectionEnabled
}
}
},
/*!******************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/range_selector/range_view.js ***!
\******************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.RangeView = RangeView;
function merge(a, b) {
return void 0 !== a ? a : b
}
function RangeView(params) {
this._params = params;
this._clipRect = params.renderer.clipRect();
params.root.attr({
"clip-path": this._clipRect.id
})
}
RangeView.prototype = {
constructor: RangeView,
update: function(backgroundOption, backgroundTheme, canvas, isCompactMode, isAnimationEnabled, seriesDataSource) {
var renderer = this._params.renderer;
var root = this._params.root;
var canvasWidth = canvas.width - canvas.left;
var seriesGroup;
backgroundOption = backgroundOption || {};
root.clear();
this._clipRect.attr({
x: canvas.left,
y: canvas.top,
width: canvasWidth,
height: canvas.height
});
if (!isCompactMode) {
if (merge(backgroundOption.visible, backgroundTheme.visible)) {
if (backgroundOption.color) {
renderer.rect(canvas.left, canvas.top, canvasWidth + 1, canvas.height).attr({
fill: merge(backgroundOption.color, backgroundTheme.color),
class: "dx-range-selector-background"
}).append(root)
}
if (backgroundOption.image && backgroundOption.image.url) {
renderer.image(canvas.left, canvas.top, canvasWidth + 1, canvas.height, backgroundOption.image.url, merge(backgroundOption.image.location, backgroundTheme.image.location)).append(root)
}
}
if (seriesDataSource && seriesDataSource.isShowChart()) {
seriesGroup = renderer.g().attr({
class: "dxrs-series-group"
}).append(root);
! function(root, seriesDataSource, canvas, isAnimationEnabled) {
var seriesList = seriesDataSource.getSeries();
if (!seriesList.length) {
return
}
var valueAxis = seriesList[0].getValueAxis();
valueAxis.updateCanvas({
top: canvas.top,
bottom: 0,
height: canvas.height + canvas.top
});
seriesDataSource.adjustSeriesDimensions();
var valueRange = seriesDataSource.getBoundRange().val;
valueRange.sortCategories(valueAxis.getCategoriesSorter());
valueAxis.setBusinessRange(valueRange);
seriesList.forEach((function(series) {
series._extGroups.seriesGroup = series._extGroups.labelsGroup = root;
series.draw(isAnimationEnabled)
}))
}(seriesGroup, seriesDataSource, canvas, isAnimationEnabled)
}
}
}
}
},
/*!**************************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/range_selector/series_data_source.js ***!
\**************************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.SeriesDataSource = void 0;
var _base_series = __webpack_require__( /*! ../series/base_series */ 324);
var _series_family = __webpack_require__( /*! ../core/series_family */ 508);
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _extend = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _array = __webpack_require__( /*! ../../core/utils/array */ 12);
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _range = __webpack_require__( /*! ../translators/range */ 132);
var _data_validator = __webpack_require__( /*! ../components/data_validator */ 322);
var _chart_theme_manager = __webpack_require__( /*! ../components/chart_theme_manager */ 499);
var SeriesDataSource = function(options) {
var themeManager = this._themeManager = (chartOptions = options.chart, new _chart_theme_manager.ThemeManager({
options: chartOptions,
themeSection: "rangeSelector.chart",
fontFields: ["commonSeriesSettings.label.font"]
}));
var chartOptions;
themeManager.setTheme(options.chart.theme);
var topIndent = themeManager.getOptions("topIndent");
var bottomIndent = themeManager.getOptions("bottomIndent");
this._indent = {
top: topIndent >= 0 && topIndent < 1 ? topIndent : 0,
bottom: bottomIndent >= 0 && bottomIndent < 1 ? bottomIndent : 0
};
this._valueAxis = themeManager.getOptions("valueAxisRangeSelector") || {};
this._hideChart = false;
this._series = this._calculateSeries(options);
this._seriesFamilies = []
};
exports.SeriesDataSource = SeriesDataSource;
SeriesDataSource.prototype = {
constructor: SeriesDataSource,
_calculateSeries: function(options) {
var series = [];
var particularSeriesOptions;
var seriesTheme;
var data = options.dataSource || [];
var parsedData;
var chartThemeManager = this._themeManager;
var seriesTemplate = chartThemeManager.getOptions("seriesTemplate");
var allSeriesOptions = seriesTemplate ? (0, _utils.processSeriesTemplate)(seriesTemplate, data) : options.chart.series;
var dataSourceField;
var valueAxis = this._valueAxis;
var i;
var newSeries;
var groupsData;
if (options.dataSource && !allSeriesOptions) {
dataSourceField = options.dataSourceField || "arg";
allSeriesOptions = {
argumentField: dataSourceField,
valueField: dataSourceField
};
this._hideChart = true
}
allSeriesOptions = Array.isArray(allSeriesOptions) ? allSeriesOptions : allSeriesOptions ? [allSeriesOptions] : [];
for (i = 0; i < allSeriesOptions.length; i++) {
particularSeriesOptions = (0, _extend.extend)(true, {}, allSeriesOptions[i]);
particularSeriesOptions.rotated = false;
seriesTheme = chartThemeManager.getOptions("series", particularSeriesOptions, allSeriesOptions.length);
seriesTheme.argumentField = seriesTheme.argumentField || options.dataSourceField;
if (!seriesTheme.name) {
seriesTheme.name = "Series " + (i + 1).toString()
}
if (data && data.length > 0) {
newSeries = new _base_series.Series({
renderer: options.renderer,
argumentAxis: options.argumentAxis,
valueAxis: options.valueAxis,
incidentOccurred: options.incidentOccurred
}, seriesTheme);
series.push(newSeries)
}
}
if (series.length) {
groupsData = {
groups: [{
series: series,
valueAxis: options.valueAxis,
valueOptions: {
type: valueAxis.type,
valueType: dataSourceField ? options.valueType : valueAxis.valueType
}
}],
argumentOptions: {
categories: options.categories,
argumentType: options.valueType,
type: options.axisType
}
};
parsedData = (0, _data_validator.validateData)(data, groupsData, options.incidentOccurred, chartThemeManager.getOptions("dataPrepareSettings"));
this.argCategories = groupsData.categories;
for (i = 0; i < series.length; i++) {
series[i].updateData(parsedData[series[i].getArgumentField()])
}
}
return series
},
createPoints: function() {
if (0 === this._series.length) {
return
}
var series = this._series;
var viewport = new _range.Range;
var axis = series[0].getArgumentAxis();
var themeManager = this._themeManager;
var negativesAsZeroes = themeManager.getOptions("negativesAsZeroes");
var negativesAsZeros = themeManager.getOptions("negativesAsZeros");
series.forEach((function(s) {
viewport.addRange(s.getArgumentRange())
}));
axis.getTranslator().updateBusinessRange(viewport);
series.forEach((function(s) {
s.createPoints()
}));
this._seriesFamilies = function(series, minBubbleSize, maxBubbleSize, barOptions, negativesAsZeroes) {
var families = [];
var types = [];
(0, _iterator.each)(series, (function(i, item) {
if (-1 === (0, _array.inArray)(item.type, types)) {
types.push(item.type)
}
}));
(0, _iterator.each)(types, (function(_, type) {
var family = new _series_family.SeriesFamily({
type: type,
minBubbleSize: minBubbleSize,
maxBubbleSize: maxBubbleSize,
barGroupPadding: barOptions.barGroupPadding,
barGroupWidth: barOptions.barGroupWidth,
negativesAsZeroes: negativesAsZeroes
});
family.add(series);
family.adjustSeriesValues();
families.push(family)
}));
return families
}(series, themeManager.getOptions("minBubbleSize"), themeManager.getOptions("maxBubbleSize"), {
barGroupPadding: themeManager.getOptions("barGroupPadding"),
barGroupWidth: themeManager.getOptions("barGroupWidth")
}, (0, _type.isDefined)(negativesAsZeroes) ? negativesAsZeroes : negativesAsZeros)
},
adjustSeriesDimensions: function() {
(0, _iterator.each)(this._seriesFamilies, (function(_, family) {
family.adjustSeriesDimensions()
}))
},
getBoundRange: function() {
var rangeData;
var valueAxis = this._valueAxis;
var valRange = new _range.Range({
min: valueAxis.min,
minVisible: valueAxis.min,
max: valueAxis.max,
maxVisible: valueAxis.max,
axisType: valueAxis.type,
base: valueAxis.logarithmBase
});
var argRange = new _range.Range({});
var rangeYSize;
var rangeVisibleSizeY;
var minIndent;
var maxIndent;
(0, _iterator.each)(this._series, (function(_, series) {
rangeData = series.getRangeData();
valRange.addRange(rangeData.val);
argRange.addRange(rangeData.arg)
}));
if (!valRange.isEmpty() && !argRange.isEmpty()) {
minIndent = valueAxis.inverted ? this._indent.top : this._indent.bottom;
maxIndent = valueAxis.inverted ? this._indent.bottom : this._indent.top;
rangeYSize = valRange.max - valRange.min;
rangeVisibleSizeY = ((0, _type.isNumeric)(valRange.maxVisible) ? valRange.maxVisible : valRange.max) - ((0, _type.isNumeric)(valRange.minVisible) ? valRange.minVisible : valRange.min);
if ((0, _type.isDate)(valRange.min)) {
valRange.min = new Date(valRange.min.valueOf() - rangeYSize * minIndent)
} else {
valRange.min -= rangeYSize * minIndent
}
if ((0, _type.isDate)(valRange.max)) {
valRange.max = new Date(valRange.max.valueOf() + rangeYSize * maxIndent)
} else {
valRange.max += rangeYSize * maxIndent
}
if ((0, _type.isNumeric)(rangeVisibleSizeY)) {
valRange.maxVisible = valRange.maxVisible ? valRange.maxVisible + rangeVisibleSizeY * maxIndent : void 0;
valRange.minVisible = valRange.minVisible ? valRange.minVisible - rangeVisibleSizeY * minIndent : void 0
}
valRange.invert = valueAxis.inverted
}
return {
arg: argRange,
val: valRange
}
},
getMarginOptions: function(canvas) {
var bubbleSize = Math.min(canvas.width, canvas.height) * this._themeManager.getOptions("maxBubbleSize");
return this._series.reduce((function(marginOptions, series) {
var seriesOptions = series.getMarginOptions();
if (true === seriesOptions.processBubbleSize) {
seriesOptions.size = bubbleSize
}
return (0, _utils.mergeMarginOptions)(marginOptions, seriesOptions)
}), {})
},
getSeries: function() {
return this._series
},
isEmpty: function() {
return 0 === this.getSeries().length
},
isShowChart: function() {
return !this._hideChart
},
getCalculatedValueType: function() {
var series = this._series[0];
return null === series || void 0 === series ? void 0 : series.argumentType
},
getThemeManager: function() {
return this._themeManager
}
}
},
/*!***************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/vector_map.js ***!
\***************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _vector_map = (obj = __webpack_require__( /*! ./vector_map/vector_map */ 1052), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _default = _vector_map.default;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!**************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/vector_map/vector_map.js ***!
\**************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _projection = __webpack_require__( /*! ./projection.main */ 514);
var _control_bar = __webpack_require__( /*! ./control_bar */ 1053);
var _gesture_handler = __webpack_require__( /*! ./gesture_handler */ 1054);
var _tracker = __webpack_require__( /*! ./tracker */ 1055);
var _data_exchanger = __webpack_require__( /*! ./data_exchanger */ 1056);
var _legend = __webpack_require__( /*! ./legend */ 1057);
var _layout = __webpack_require__( /*! ./layout */ 1058);
var _map_layer = __webpack_require__( /*! ./map_layer */ 1059);
var _tooltip_viewer = __webpack_require__( /*! ./tooltip_viewer */ 1060);
var _vector_map = __webpack_require__( /*! ./vector_map.utils */ 1061);
__webpack_require__( /*! ./projection */ 516);
var _base_widget = _interopRequireDefault(__webpack_require__( /*! ../core/base_widget */ 118));
var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 8));
var _export = __webpack_require__( /*! ../core/export */ 113);
var _title = __webpack_require__( /*! ../core/title */ 129);
var _tooltip = __webpack_require__( /*! ../core/tooltip */ 131);
var _loading_indicator = __webpack_require__( /*! ../core/loading_indicator */ 151);
var _annotations = __webpack_require__( /*! ../core/annotations */ 233);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var RE_STARTS_LAYERS = /^layers/;
var RE_ENDS_DATA_SOURCE = /\.dataSource$/;
function mergeBounds(sumBounds, dataBounds) {
return dataBounds ? [Math.min(dataBounds[0], dataBounds[2], sumBounds[0]), Math.min(dataBounds[1], dataBounds[3], sumBounds[3]), Math.max(dataBounds[0], dataBounds[2], sumBounds[2]), Math.max(dataBounds[1], dataBounds[3], sumBounds[1])] : sumBounds
}
var dxVectorMap = _base_widget.default.inherit({
_eventsMap: {
onClick: {
name: "click"
},
onCenterChanged: {
name: "centerChanged"
},
onZoomFactorChanged: {
name: "zoomFactorChanged"
},
onHoverChanged: {
name: "hoverChanged"
},
onSelectionChanged: {
name: "selectionChanged"
}
},
_rootClassPrefix: "dxm",
_rootClass: "dxm-vector-map",
_themeSection: "map",
_fontFields: ["layer:area.label.font", "layer:marker:dot.label.font", "layer:marker:bubble.label.font", "layer:marker:pie.label.font", "layer:marker:image.label.font", "legend.font", "legend.title.font", "legend.title.subtitle.font"],
_initLayerCollection: function(dataKey) {
var that = this;
that._layerCollection = new _map_layer.MapLayerCollection({
renderer: that._renderer,
projection: that._projection,
themeManager: that._themeManager,
tracker: that._tracker,
dataKey: dataKey,
eventTrigger: that._eventTrigger,
dataExchanger: that._dataExchanger,
tooltip: that._tooltip,
notifyDirty: that._notifyDirty,
notifyReady: that._notifyReady,
dataReady: function() {
var bounds;
if (that.option("getBoundsFromData") && !that.option("bounds")) {
that._preventProjectionEvents();
bounds = that._getBoundsFromData();
that._projection.setBounds(bounds);
that._allowProjectionEvents()
}
if (!that.option("projection")) {
bounds = bounds || that._getBoundsFromData();
if (Math.ceil(bounds[0]) < -180 || Math.ceil(bounds[3]) < -90 || Math.floor(bounds[2]) > 180 || Math.floor(bounds[1]) > 90) {
var longitudeLength = bounds[2] - bounds[0];
var latitudeLength = bounds[1] - bounds[3];
that._projection.setEngine({
to: function(coordinates) {
return [2 * (coordinates[0] - bounds[0]) / longitudeLength - 1, 2 * (coordinates[1] - bounds[3]) / latitudeLength - 1]
},
from: function(coordinates) {
return [(coordinates[0] + 1) * longitudeLength / 2 + bounds[0], (coordinates[1] + 1) * latitudeLength / 2 + bounds[3]]
}
})
}
}
}
})
},
_getBoundsFromData: function() {
var bounds = this._getBoundingBoxFromDataSource();
if (!bounds) {
var boundsByData = (0, _map_layer.getMaxBound)(this.getLayers().map((function(l) {
return l.getBounds()
})));
if (boundsByData) {
bounds = boundsByData
}
}
bounds = bounds || [];
bounds = [bounds[0], bounds[3], bounds[2], bounds[1]];
return bounds
},
_initLegendsControl: function() {
this._legendsControl = new _legend.LegendsControl({
renderer: this._renderer,
container: this._root,
widget: this,
layoutControl: this._layoutControl,
themeManager: this._themeManager,
dataExchanger: this._dataExchanger,
notifyDirty: this._notifyDirty,
notifyReady: this._notifyReady
})
},
_initControlBar: function(dataKey) {
this._controlBar = new _control_bar.ControlBar({
renderer: this._renderer,
container: this._root,
layoutControl: this._layoutControl,
projection: this._projection,
tracker: this._tracker,
dataKey: dataKey
})
},
_initElements: function() {
var that = this;
var dataKey = (0, _vector_map.generateDataKey)();
var notifyCounter = 0;
var preventProjectionEvents;
that._preventProjectionEvents = function() {
preventProjectionEvents = true
};
that._allowProjectionEvents = function() {
preventProjectionEvents = false
};
that._notifyDirty = function() {
that._resetIsReady();
++notifyCounter
};
that._notifyReady = function() {
that._allowProjectionEvents();
if (0 === --notifyCounter) {
that._drawn()
}
};
that._preventProjectionEvents();
that._dataExchanger = new _data_exchanger.DataExchanger;
that._projection = new _projection.Projection({
centerChanged: function(value) {
if (!preventProjectionEvents) {
that._eventTrigger("centerChanged", {
center: value
})
}
},
zoomChanged: function(value) {
if (!preventProjectionEvents) {
that._eventTrigger("zoomFactorChanged", {
zoomFactor: value
})
}
}
});
that._tracker = new _tracker.Tracker({
root: that._root,
projection: that._projection,
dataKey: dataKey
});
that._gestureHandler = new _gesture_handler.GestureHandler({
projection: that._projection,
renderer: that._renderer,
tracker: that._tracker
});
that._layoutControl = new _layout.LayoutControl(that);
that._layoutControl.suspend();
that._initLayerCollection(dataKey);
that._createHtmlStructure();
that._initControlBar(dataKey);
that._initLegendsControl();
that._prepareExtraElements();
that._tooltipViewer = new _tooltip_viewer.TooltipViewer({
tracker: that._tracker,
tooltip: that._tooltip,
layerCollection: that._layerCollection
})
},
_change_RESUME_LAYOUT: function() {
this._layoutControl.resume()
},
_initialChanges: ["PROJECTION", "RESUME_LAYOUT", "LAYOUT_INIT", "BOUNDS", "MAX_ZOOM_FACTOR", "ZOOM_FACTOR", "CENTER"],
_layoutChangesOrder: ["RESUME_LAYOUT", "LAYERS"],
_customChangesOrder: ["EXTRA_ELEMENTS"],
_initCore: function() {
this._root = this._renderer.root.attr({
align: "center",
cursor: "default"
});
this._initElements()
},
_disposeCore: function() {
this._controlBar.dispose();
this._gestureHandler.dispose();
this._tracker.dispose();
this._legendsControl.dispose();
this._layerCollection.dispose();
this._layoutControl.dispose();
this._tooltipViewer.dispose();
this._dataExchanger.dispose();
this._projection.dispose();
this._dataExchanger = this._gestureHandler = this._projection = this._tracker = this._layoutControl = this._root = this._layerCollection = this._controlBar = this._legendsControl = null
},
_setupInteraction: function() {
var options = {
centeringEnabled: !!(0, _utils.parseScalar)(this._getOption("panningEnabled", true), true),
zoomingEnabled: !!(0, _utils.parseScalar)(this._getOption("zoomingEnabled", true), true)
};
this._gestureHandler.setInteraction(options);
this._controlBar.setInteraction(options)
},
_getDefaultSize: function() {
return {
width: 800,
height: 400
}
},
_applySize: function(rect) {
var layout = {
left: rect[0],
top: rect[1],
width: rect[2] - rect[0],
height: rect[3] - rect[1],
right: 0,
bottom: 0
};
this._projection.setSize(layout);
this._layoutControl.setSize(layout);
this._layerCollection.setRect([layout.left, layout.top, layout.width, layout.height]);
this._requestChange(["EXTRA_ELEMENTS"])
},
_optionChanging: function(name, currentValue, nextValue) {
if (currentValue && nextValue) {
if (RE_STARTS_LAYERS.test(name)) {
if (currentValue.dataSource && nextValue.dataSource && currentValue !== nextValue) {
currentValue.dataSource = null
} else if (RE_ENDS_DATA_SOURCE.test(name)) {
this.option(name, null)
}
}
}
},
_applyChanges: function() {
this._notifyDirty();
this.callBase.apply(this, arguments);
this._notifyReady()
},
_optionChangesMap: {
background: "BACKGROUND",
layers: "LAYERS",
extraElements: "EXTRA_ELEMENTS",
controlBar: "CONTROL_BAR",
legends: "LEGENDS",
touchEnabled: "TRACKER",
wheelEnabled: "TRACKER",
panningEnabled: "INTERACTION",
zoomingEnabled: "INTERACTION",
projection: "PROJECTION",
bounds: "BOUNDS",
maxZoomFactor: "MAX_ZOOM_FACTOR",
zoomFactor: "ZOOM_FACTOR",
center: "CENTER"
},
_optionChangesOrder: ["PROJECTION", "BOUNDS", "MAX_ZOOM_FACTOR", "ZOOM_FACTOR", "CENTER", "BACKGROUND", "CONTROL_BAR", "LEGENDS", "TRACKER", "INTERACTION"],
_change_PROJECTION: function() {
this._setProjection()
},
_change_BOUNDS: function() {
this._setBounds()
},
_change_MAX_ZOOM_FACTOR: function() {
this._setMaxZoom()
},
_change_ZOOM_FACTOR: function() {
this._setZoom()
},
_change_CENTER: function() {
this._setCenter()
},
_change_BACKGROUND: function() {
this._setBackgroundOptions()
},
_change_LAYERS: function() {
this._setLayerCollectionOptions()
},
_change_CONTROL_BAR: function() {
this._setControlBarOptions()
},
_change_EXTRA_ELEMENTS: function() {
this._renderExtraElements()
},
_change_LEGENDS: function() {
this._setLegendsOptions()
},
_change_TRACKER: function() {
this._setTrackerOptions()
},
_change_INTERACTION: function() {
this._setupInteraction()
},
_themeDependentChanges: ["BACKGROUND", "LAYERS", "CONTROL_BAR", "LEGENDS", "TRACKER", "INTERACTION"],
_setProjection: function() {
this._projection.setEngine(this.option("projection"))
},
_setBounds: function() {
this._projection.setBounds(this.option("bounds"))
},
_setMaxZoom: function() {
this._projection.setMaxZoom(this.option("maxZoomFactor"))
},
_setZoom: function() {
this._projection.setZoom(this.option("zoomFactor"))
},
_setCenter: function() {
this._projection.setCenter(this.option("center"))
},
_setBackgroundOptions: function() {
this._layerCollection.setBackgroundOptions(this._getOption("background"))
},
_setLayerCollectionOptions: function() {
this._layerCollection.setOptions(this.option("layers"))
},
_getBoundingBoxFromDataSource: function() {
var layers = this._layerCollection.items();
var infinityBounds = [1 / 0, -1 / 0, -1 / 0, 1 / 0];
var resultBBox = layers && layers.length ? layers.reduce((function(sumBBox, l) {
var layerData = l.getData();
var itemCount = layerData.count();
if (itemCount > 0) {
var rootBBox = layerData.getBBox();
if (rootBBox) {
sumBBox = mergeBounds(sumBBox, rootBBox)
} else {
for (var i = 0; i < itemCount; i++) {
sumBBox = mergeBounds(sumBBox, layerData.getBBox(i))
}
}
}
return sumBBox
}), infinityBounds) : void 0;
return resultBBox === infinityBounds ? void 0 : resultBBox
},
_setControlBarOptions: function() {
this._controlBar.setOptions(this._getOption("controlBar"))
},
_setLegendsOptions: function() {
this._legendsControl.setOptions(this.option("legends"))
},
_setTrackerOptions: function() {
this._tracker.setOptions({
touchEnabled: this._getOption("touchEnabled", true),
wheelEnabled: this._getOption("wheelEnabled", true)
})
},
getLayers: function() {
return this._layerCollection.items().map((function(l) {
return l.proxy
}))
},
getLayerByIndex: function(index) {
var layer = this._layerCollection.byIndex(index);
return layer ? layer.proxy : null
},
getLayerByName: function(name) {
var layer = this._layerCollection.byName(name);
return layer ? layer.proxy : null
},
clearSelection: function(_noEvent) {
var layers = this._layerCollection.items();
var i;
var ii = layers.length;
for (i = 0; i < ii; ++i) {
layers[i].clearSelection(_noEvent)
}
return this
},
center: function(value) {
if (void 0 === value) {
return this._projection.getCenter()
} else {
this._projection.setCenter(value);
return this
}
},
zoomFactor: function(value) {
if (void 0 === value) {
return this._projection.getZoom()
} else {
this._projection.setZoom(value);
return this
}
},
viewport: function(value) {
if (void 0 === value) {
return this._projection.getViewport()
} else {
this._projection.setViewport(value);
return this
}
},
convertCoordinates: function(coordinates) {
coordinates = coordinates && coordinates.length ? coordinates : [arguments[0], arguments[1]];
return this.convertToGeo(coordinates[0], coordinates[1])
},
convertToGeo: function(x, y) {
return this._projection.fromScreenPoint([x, y])
},
convertToXY: function(longitude, latitude) {
return this._projection.toScreenPoint([longitude, latitude])
}
});
(0, _component_registrator.default)("dxVectorMap", dxVectorMap);
var _default = dxVectorMap;
exports.default = _default;
dxVectorMap.addPlugin(_export.plugin);
dxVectorMap.addPlugin(_title.plugin);
dxVectorMap.addPlugin(_tooltip.plugin);
dxVectorMap.addPlugin(_loading_indicator.plugin);
dxVectorMap.addPlugin(_annotations.plugins.core);
dxVectorMap.addPlugin(_annotations.plugins.vectorMap);
module.exports = exports.default;
module.exports.default = exports.default
},
/*!***************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/vector_map/control_bar.js ***!
\***************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.ControlBar = ControlBar;
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _math = Math;
var _min = _math.min;
var _max = _math.max;
var _round = _math.round;
var _floor = _math.floor;
var _sqrt = _math.sqrt;
var parseHorizontalAlignment = (0, _utils.enumParser)(["left", "center", "right"]);
var parseVerticalAlignment = (0, _utils.enumParser)(["top", "bottom"]);
var SIZE_OPTIONS = {
bigCircleSize: 58,
smallCircleSize: 28,
buttonSize: 10,
arrowButtonOffset: 20,
incDecButtonSize: 11,
incButtonOffset: 66,
decButtonOffset: 227,
sliderLineStartOffset: 88.5,
sliderLineEndOffset: 205.5,
sliderLength: 20,
sliderWidth: 8,
trackerGap: 4
};
var COMMAND_TO_TYPE_MAP = {};
COMMAND_TO_TYPE_MAP["command-reset"] = ResetCommand;
COMMAND_TO_TYPE_MAP["command-move-up"] = COMMAND_TO_TYPE_MAP["command-move-right"] = COMMAND_TO_TYPE_MAP["command-move-down"] = COMMAND_TO_TYPE_MAP["command-move-left"] = MoveCommand;
COMMAND_TO_TYPE_MAP["command-zoom-in"] = COMMAND_TO_TYPE_MAP["command-zoom-out"] = ZoomCommand;
COMMAND_TO_TYPE_MAP["command-zoom-drag"] = ZoomDragCommand;
function ControlBar(parameters) {
this._params = parameters;
this._createElements(parameters.renderer, parameters.container, parameters.dataKey);
parameters.layoutControl.addItem(this);
this._subscribeToProjection(parameters.projection);
this._subscribeToTracker(parameters.tracker);
this._createCallbacks(parameters.projection)
}
ControlBar.prototype = {
constructor: ControlBar,
_flags: 0,
dispose: function() {
this._params.layoutControl.removeItem(this);
this._root.linkRemove().linkOff();
this._offProjection();
this._offTracker();
this._params = this._root = this._offProjection = this._offTracker = this._callbacks = null
},
_subscribeToProjection: function(projection) {
var that = this;
that._offProjection = projection.on({
engine: function() {
that._update()
},
zoom: updateZoom,
"max-zoom": function() {
that._zoomPartition = projection.getZoomScalePartition();
that._sliderUnitLength = that._sliderLineLength / that._zoomPartition;
updateZoom()
}
});
function updateZoom() {
that._adjustZoom(projection.getScaledZoom())
}
},
_subscribeToTracker: function(tracker) {
var that = this;
var isActive = false;
that._offTracker = tracker.on({
start: function(arg) {
isActive = "control-bar" === arg.data.name;
if (isActive) {
that._processStart(arg.data.index, arg)
}
},
move: function(arg) {
if (isActive) {
that._processMove(arg.data.index, arg)
}
},
end: function() {
if (isActive) {
that._processEnd();
isActive = false
}
}
})
},
_createCallbacks: function(projection) {
this._callbacks = {
reset: function(isCenter, isZoom) {
if (isCenter) {
projection.setCenter(null)
}
if (isZoom) {
projection.setZoom(null)
}
},
beginMove: function() {
projection.beginMoveCenter()
},
endMove: function() {
projection.endMoveCenter()
},
move: function(shift) {
projection.moveCenter(shift)
},
zoom: function(_zoom) {
projection.setScaledZoom(_zoom)
}
}
},
_createElements: function(renderer, container, dataKey) {
this._root = renderer.g().attr({
class: "dxm-control-bar"
}).linkOn(container, "control-bar");
var buttonsGroups = this._buttonsGroup = renderer.g().attr({
class: "dxm-control-buttons"
}).append(this._root);
var trackersGroup = renderer.g().attr({
stroke: "none",
"stroke-width": 0,
fill: "#000000",
opacity: 1e-4
}).css({
cursor: "pointer"
}).append(this._root);
this._createButtons(renderer, dataKey, buttonsGroups);
this._createTrackers(renderer, dataKey, trackersGroup)
},
_createButtons: function(renderer, dataKey, group) {
var options = SIZE_OPTIONS;
var size = options.buttonSize / 2;
var offset1 = options.arrowButtonOffset - size;
var offset2 = options.arrowButtonOffset;
var incDecButtonSize = options.incDecButtonSize / 2;
var directionOptions = {
"stroke-linecap": "square",
fill: "none"
};
renderer.circle(0, 0, options.bigCircleSize / 2).append(group);
renderer.circle(0, 0, size).attr({
fill: "none"
}).append(group);
renderer.path([-size, -offset1, 0, -offset2, size, -offset1], "line").attr(directionOptions).append(group);
renderer.path([offset1, -size, offset2, 0, offset1, size], "line").attr(directionOptions).append(group);
renderer.path([size, offset1, 0, offset2, -size, offset1], "line").attr(directionOptions).append(group);
renderer.path([-offset1, size, -offset2, 0, -offset1, -size], "line").attr(directionOptions).append(group);
renderer.circle(0, options.incButtonOffset, options.smallCircleSize / 2).append(group);
renderer.path([
[-incDecButtonSize, options.incButtonOffset, incDecButtonSize, options.incButtonOffset],
[0, options.incButtonOffset - incDecButtonSize, 0, options.incButtonOffset + incDecButtonSize]
], "area").append(group);
renderer.circle(0, options.decButtonOffset, options.smallCircleSize / 2).append(group);
renderer.path([-incDecButtonSize, options.decButtonOffset, incDecButtonSize, options.decButtonOffset], "area").append(group);
this._zoomLine = renderer.path([], "line").append(group);
this._zoomDrag = renderer.rect(_floor(-options.sliderLength / 2), _floor(options.sliderLineEndOffset - options.sliderWidth / 2), options.sliderLength, options.sliderWidth).append(group);
this._sliderLineLength = options.sliderLineEndOffset - options.sliderLineStartOffset
},
_createTrackers: function(renderer, dataKey, group) {
var options = SIZE_OPTIONS;
var size = _round((options.arrowButtonOffset - options.trackerGap) / 2);
var offset1 = options.arrowButtonOffset - size;
var offset2 = _round(_sqrt(options.bigCircleSize * options.bigCircleSize / 4 - size * size));
var size2 = offset2 - offset1;
renderer.rect(-size, -size, 2 * size, 2 * size).data(dataKey, {
index: "command-reset",
name: "control-bar"
}).append(group);
renderer.rect(-size, -offset2, 2 * size, size2).data(dataKey, {
index: "command-move-up",
name: "control-bar"
}).append(group);
renderer.rect(offset1, -size, size2, 2 * size).data(dataKey, {
index: "command-move-right",
name: "control-bar"
}).append(group);
renderer.rect(-size, offset1, 2 * size, size2).data(dataKey, {
index: "command-move-down",
name: "control-bar"
}).append(group);
renderer.rect(-offset2, -size, size2, 2 * size).data(dataKey, {
index: "command-move-left",
name: "control-bar"
}).append(group);
renderer.circle(0, options.incButtonOffset, options.smallCircleSize / 2).data(dataKey, {
index: "command-zoom-in",
name: "control-bar"
}).append(group);
renderer.circle(0, options.decButtonOffset, options.smallCircleSize / 2).data(dataKey, {
index: "command-zoom-out",
name: "control-bar"
}).append(group);
renderer.rect(-2, options.sliderLineStartOffset - 2, 4, options.sliderLineEndOffset - options.sliderLineStartOffset + 4).css({
cursor: "default"
}).data(dataKey, {
index: "command-zoom-drag-line",
name: "control-bar"
}).append(group);
this._zoomDragTracker = renderer.rect(-options.sliderLength / 2, options.sliderLineEndOffset - options.sliderWidth / 2, options.sliderLength, options.sliderWidth).data(dataKey, {
index: "command-zoom-drag",
name: "control-bar"
}).append(group)
},
resize: function(size) {
if (this._isActive) {
this._root.attr({
visibility: null !== size ? null : "hidden"
})
}
},
getLayoutOptions: function() {
return this._isActive ? this._layoutOptions : null
},
locate: function(x, y) {
this._root.attr({
translateX: x + this._margin + 30.5,
translateY: y + this._margin + 30.5
})
},
_update: function() {
this._isActive = this._isEnabled && this._flags && this._params.projection.isInvertible();
if (this._isActive) {
this._root.linkAppend()
} else {
this._root.linkRemove()
}
this._processEnd();
this.updateLayout()
},
setInteraction: function(interaction) {
if ((0, _utils.parseScalar)(interaction.centeringEnabled, true)) {
this._flags |= 1
} else {
this._flags &= -2
}
if ((0, _utils.parseScalar)(interaction.zoomingEnabled, true)) {
this._flags |= 2
} else {
this._flags &= -3
}
this._update()
},
setOptions: function(options) {
this._isEnabled = !!(0, _utils.parseScalar)(options.enabled, true);
this._margin = options.margin || 0;
this._layoutOptions = {
width: 2 * this._margin + 61,
height: 2 * this._margin + 274,
horizontalAlignment: parseHorizontalAlignment(options.horizontalAlignment, "left"),
verticalAlignment: parseVerticalAlignment(options.verticalAlignment, "top")
};
this._buttonsGroup.attr({
"stroke-width": options.borderWidth,
stroke: options.borderColor,
fill: options.color,
"fill-opacity": options.opacity
});
this._update()
},
_adjustZoom: function(zoom) {
var start = SIZE_OPTIONS.sliderLineStartOffset;
var end = SIZE_OPTIONS.sliderLineEndOffset;
var h = SIZE_OPTIONS.sliderWidth;
this._zoomFactor = _max(_min(_round(zoom), this._zoomPartition), 0);
var transform = {
translateY: -_round(this._zoomFactor * this._sliderUnitLength)
};
var y = end - h / 2 + transform.translateY;
this._zoomLine.attr({
points: [
[0, start, 0, _max(start, y)],
[0, _min(end, y + h), 0, end]
]
});
this._zoomDrag.attr(transform);
this._zoomDragTracker.attr(transform)
},
_applyZoom: function() {
this._callbacks.zoom(this._zoomFactor)
},
_processStart: function(command, arg) {
var commandType;
if (this._isActive) {
commandType = COMMAND_TO_TYPE_MAP[command];
this._command = commandType && commandType.flags & this._flags ? new commandType(this, command, arg) : null
}
},
_processMove: function(command, arg) {
this._command && this._command.update(command, arg)
},
_processEnd: function() {
this._command && this._command.finish();
this._command = null
}
};
function disposeCommand(command) {
delete command._owner;
command.update = function() {};
command.finish = function() {}
}
function ResetCommand(owner, command) {
this._owner = owner;
this._command = command
}
ResetCommand.flags = 3;
ResetCommand.prototype.update = function(command) {
command !== this._command && disposeCommand(this)
};
ResetCommand.prototype.finish = function() {
var flags = this._owner._flags;
this._owner._callbacks.reset(!!(1 & flags), !!(2 & flags));
disposeCommand(this)
};
function MoveCommand(owner, command, arg) {
this._command = command;
var timeout = null;
var dx = 0;
var dy = 0;
switch (this._command) {
case "command-move-up":
dy = -10;
break;
case "command-move-right":
dx = 10;
break;
case "command-move-down":
dy = 10;
break;
case "command-move-left":
dx = -10
}
this._stop = function() {
clearTimeout(timeout);
owner._callbacks.endMove();
this._stop = owner = null;
return this
};
null;
owner._callbacks.beginMove();
! function callback() {
owner._callbacks.move([dx, dy]);
timeout = setTimeout(callback, 100)
}()
}
MoveCommand.flags = 1;
MoveCommand.prototype.update = function(command) {
this._command !== command && this.finish()
};
MoveCommand.prototype.finish = function() {
disposeCommand(this._stop())
};
function ZoomCommand(owner, command) {
this._owner = owner;
this._command = command;
var timeout = null;
var dZoom = "command-zoom-in" === this._command ? 1 : -1;
this._stop = function() {
clearTimeout(timeout);
this._stop = owner = null;
return this
};
! function callback() {
owner._adjustZoom(owner._zoomFactor + dZoom);
timeout = setTimeout(callback, 150)
}()
}
ZoomCommand.flags = 2;
ZoomCommand.prototype.update = function(command) {
this._command !== command && this.finish()
};
ZoomCommand.prototype.finish = function() {
this._owner._applyZoom();
disposeCommand(this._stop())
};
function ZoomDragCommand(owner, command, arg) {
this._owner = owner;
this._zoomFactor = owner._zoomFactor;
this._pos = arg.y
}
ZoomDragCommand.flags = 2;
ZoomDragCommand.prototype.update = function(command, arg) {
var owner = this._owner;
owner._adjustZoom(this._zoomFactor + owner._zoomPartition * (this._pos - arg.y) / owner._sliderLineLength)
};
ZoomDragCommand.prototype.finish = function() {
this._owner._applyZoom();
disposeCommand(this)
}
},
/*!*******************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/vector_map/gesture_handler.js ***!
\*******************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.GestureHandler = GestureHandler;
var _ln = Math.log;
var _LN2 = Math.LN2;
function GestureHandler(params) {
this._projection = params.projection;
this._renderer = params.renderer;
this._x = this._y = 0;
this._subscribeToTracker(params.tracker)
}
GestureHandler.prototype = {
constructor: GestureHandler,
dispose: function() {
this._offTracker();
this._offTracker = null
},
_subscribeToTracker: function(tracker) {
var that = this;
var isActive = false;
that._offTracker = tracker.on({
start: function(arg) {
isActive = "control-bar" !== arg.data.name;
if (isActive) {
that._processStart(arg)
}
},
move: function(arg) {
if (isActive) {
that._processMove(arg)
}
},
end: function() {
if (isActive) {
that._processEnd()
}
},
zoom: function(arg) {
that._processZoom(arg)
}
})
},
setInteraction: function(options) {
this._processEnd();
this._centeringEnabled = options.centeringEnabled;
this._zoomingEnabled = options.zoomingEnabled
},
_processStart: function(arg) {
if (this._centeringEnabled) {
this._x = arg.x;
this._y = arg.y;
this._projection.beginMoveCenter()
}
},
_processMove: function(arg) {
if (this._centeringEnabled) {
this._renderer.root.attr({
cursor: "move"
});
this._projection.moveCenter([this._x - arg.x, this._y - arg.y]);
this._x = arg.x;
this._y = arg.y
}
},
_processEnd: function() {
if (this._centeringEnabled) {
this._renderer.root.attr({
cursor: "default"
});
this._projection.endMoveCenter()
}
},
_processZoom: function(arg) {
var delta;
var screenPosition;
var coords;
if (this._zoomingEnabled) {
if (arg.delta) {
delta = arg.delta
} else if (arg.ratio) {
delta = _ln(arg.ratio) / _LN2
}
if (this._centeringEnabled) {
screenPosition = this._renderer.getRootOffset();
screenPosition = [arg.x - screenPosition.left, arg.y - screenPosition.top];
coords = this._projection.fromScreenPoint(screenPosition)
}
this._projection.changeScaledZoom(delta);
if (this._centeringEnabled) {
this._projection.setCenterByPoint(coords, screenPosition)
}
}
}
}
},
/*!***********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/vector_map/tracker.js ***!
\***********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.Tracker = Tracker;
var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 5));
var _window = __webpack_require__( /*! ../../core/utils/window */ 7);
var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 11));
var _event_emitter = __webpack_require__( /*! ./event_emitter */ 515);
var _index = __webpack_require__( /*! ../../events/utils/index */ 9);
var _wheel = __webpack_require__( /*! ../../events/core/wheel */ 154);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var navigator = (0, _window.getNavigator)();
var _math = Math;
var _abs = _math.abs;
var _sqrt = _math.sqrt;
var _round = _math.round;
var _addNamespace = _index.addNamespace;
var _NAME = "dxVectorMap";
var EVENTS;
var Focus;
flags = [navigator.pointerEnabled, navigator.msPointerEnabled, (0, _window.hasProperty)("ontouchstart")], void(EVENTS = {
start: selectItem(flags, ["pointerdown", "MSPointerDown", "touchstart mousedown", "mousedown"]),
move: selectItem(flags, ["pointermove", "MSPointerMove", "touchmove mousemove", "mousemove"]),
end: selectItem(flags, ["pointerup", "MSPointerUp", "touchend mouseup", "mouseup"]),
wheel: _addNamespace(_wheel.name, _NAME)
});
var flags;
function Tracker(parameters) {
var that = this;
that._root = parameters.root;
that._createEventHandlers(parameters.dataKey);
that._createProjectionHandlers(parameters.projection);
that._initEvents();
that._focus = new Focus((function(name, arg) {
that._fire(name, arg)
}));
that._attachHandlers()
}
Tracker.prototype = {
constructor: Tracker,
dispose: function() {
this._detachHandlers();
this._disposeEvents();
this._focus.dispose();
this._root = this._focus = this._docHandlers = this._rootHandlers = null
},
_eventNames: ["start", "move", "end", "zoom", "click", "hover-on", "hover-off", "focus-on", "focus-off", "focus-move"],
_startClick: function(event, data) {
if (!data) {
return
}
var coords = getEventCoords(event);
this._clickState = {
x: coords.x,
y: coords.y,
threshold: isTouchEvent(event) ? 20 : 5,
time: Date.now()
}
},
_endClick: function(event, data) {
var state = this._clickState;
var threshold;
var coords;
if (!state) {
return
}
if (data && Date.now() - state.time <= 500) {
threshold = state.threshold;
coords = getEventCoords(event);
if (_abs(coords.x - state.x) <= threshold && _abs(coords.y - state.y) <= threshold) {
this._fire("click", {
data: data,
x: coords.x,
y: coords.y,
$event: event
})
}
}
this._clickState = null
},
_startDrag: function(event, data) {
if (!data) {
return
}
var coords = getEventCoords(event);
var state = this._dragState = {
x: coords.x,
y: coords.y,
data: data
};
this._fire("start", {
x: state.x,
y: state.y,
data: state.data
})
},
_moveDrag: function(event, data) {
var state = this._dragState;
if (!state) {
return
}
var coords = getEventCoords(event);
var threshold = isTouchEvent(event) ? 10 : 5;
if (state.active || _abs(coords.x - state.x) > threshold || _abs(coords.y - state.y) > threshold) {
state.x = coords.x;
state.y = coords.y;
state.active = true;
state.data = data || {};
this._fire("move", {
x: state.x,
y: state.y,
data: state.data
})
}
},
_endDrag: function() {
var state = this._dragState;
if (!state) {
return
}
this._dragState = null;
this._fire("end", {
x: state.x,
y: state.y,
data: state.data
})
},
_wheelZoom: function(event, data) {
if (!data) {
return
}
var lock = this._wheelLock;
var time = Date.now();
if (time - lock.time <= 50) {
return
}
if (time - lock.dirTime > 300) {
lock.dir = 0
}
var delta = function(delta, lock) {
if (0 === delta) {
return 0
}
var _delta = _abs(delta);
var sign = _round(delta / _delta);
if (lock.dir && sign !== lock.dir) {
return 0
}
lock.dir = sign;
if (_delta < .1) {
_delta = 0
} else if (_delta < 1) {
_delta = 1
} else if (_delta > 4) {
_delta = 4
} else {
_delta = _round(_delta)
}
return sign * _delta
}(event.delta / 120 || 0, lock);
if (0 === delta) {
return
}
var coords = getEventCoords(event);
this._fire("zoom", {
delta: delta,
x: coords.x,
y: coords.y
});
lock.time = lock.dirTime = time
},
_startZoom: function(event, data) {
if (!isTouchEvent(event) || !data) {
return
}
var state = this._zoomState = this._zoomState || {};
var coords;
var pointer2;
if (state.pointer1 && state.pointer2) {
return
}
if (void 0 === state.pointer1) {
state.pointer1 = getPointerId(event) || 0;
coords = getMultitouchEventCoords(event, state.pointer1);
state.x1 = state.x1_0 = coords.x;
state.y1 = state.y1_0 = coords.y
}
if (void 0 === state.pointer2) {
pointer2 = getPointerId(event) || 1;
if (pointer2 !== state.pointer1) {
coords = getMultitouchEventCoords(event, pointer2);
if (coords) {
state.x2 = state.x2_0 = coords.x;
state.y2 = state.y2_0 = coords.y;
state.pointer2 = pointer2;
state.ready = true;
this._endDrag()
}
}
}
},
_moveZoom: function(event) {
var state = this._zoomState;
var coords;
if (!state || !isTouchEvent(event)) {
return
}
if (void 0 !== state.pointer1) {
coords = getMultitouchEventCoords(event, state.pointer1);
if (coords) {
state.x1 = coords.x;
state.y1 = coords.y
}
}
if (void 0 !== state.pointer2) {
coords = getMultitouchEventCoords(event, state.pointer2);
if (coords) {
state.x2 = coords.x;
state.y2 = coords.y
}
}
},
_endZoom: function(event) {
var state = this._zoomState;
var startDistance;
var currentDistance;
if (!state || !isTouchEvent(event)) {
return
}
if (state.ready) {
startDistance = getDistance(state.x1_0, state.y1_0, state.x2_0, state.y2_0);
currentDistance = getDistance(state.x1, state.y1, state.x2, state.y2);
this._fire("zoom", {
ratio: currentDistance / startDistance,
x: (state.x1_0 + state.x2_0) / 2,
y: (state.y1_0 + state.y2_0) / 2
})
}
this._zoomState = null
},
_startHover: function(event, data) {
this._doHover(event, data, true)
},
_moveHover: function(event, data) {
this._doHover(event, data, false)
},
_doHover: function(event, data, isTouch) {
if (this._dragState && this._dragState.active || this._zoomState && this._zoomState.ready) {
this._cancelHover();
return
}
if (isTouchEvent(event) !== isTouch || this._hoverTarget === event.target || this._hoverState && this._hoverState.data === data) {
return
}
this._cancelHover();
if (data) {
this._hoverState = {
data: data
};
this._fire("hover-on", {
data: data
})
}
this._hoverTarget = event.target
},
_cancelHover: function() {
var state = this._hoverState;
this._hoverState = this._hoverTarget = null;
if (state) {
this._fire("hover-off", {
data: state.data
})
}
},
_startFocus: function(event, data) {
this._doFocus(event, data, true)
},
_moveFocus: function(event, data) {
this._doFocus(event, data, false)
},
_doFocus: function(event, data, isTouch) {
if (this._dragState && this._dragState.active || this._zoomState && this._zoomState.ready) {
this._cancelFocus();
return
}
if (isTouchEvent(event) !== isTouch) {
return
}
this._focus.turnOff();
data && this._focus.turnOn(data, getEventCoords(event))
},
_cancelFocus: function() {
this._focus.cancel()
},
_createEventHandlers: function(DATA_KEY) {
var that = this;
that._docHandlers = {};
that._rootHandlers = {};
that._rootHandlers[EVENTS.start] = that._docHandlers[EVENTS.start] = function(event) {
var isTouch = isTouchEvent(event);
var data = getData(event);
if (isTouch && !that._isTouchEnabled) {
return
}
if (data) {
event.preventDefault();
event.stopPropagation()
}
that._startClick(event, data);
that._startDrag(event, data);
that._startZoom(event, data);
that._startHover(event, data);
that._startFocus(event, data)
};
that._docHandlers[EVENTS.move] = function(event) {
var isTouch = isTouchEvent(event);
var data = getData(event);
if (isTouch && !that._isTouchEnabled) {
return
}
that._moveDrag(event, data);
that._moveZoom(event, data);
that._moveHover(event, data);
that._moveFocus(event, data)
};
that._docHandlers[EVENTS.end] = function(event) {
var isTouch = isTouchEvent(event);
var data = getData(event);
if (isTouch && !that._isTouchEnabled) {
return
}
that._endClick(event, data);
that._endDrag(event, data);
that._endZoom(event, data)
};
that._rootHandlers[EVENTS.wheel] = function(event) {
that._cancelFocus();
if (!that._isWheelEnabled) {
return
}
var data = getData(event);
if (data) {
event.preventDefault();
event.stopPropagation();
that._wheelZoom(event, data)
}
};
that._wheelLock = {
dir: 0
};
function getData(event) {
var target = event.target;
return ("tspan" === target.tagName ? target.parentNode : target)[DATA_KEY]
}
},
_createProjectionHandlers: function(projection) {
var that = this;
projection.on({
center: handler,
zoom: handler
});
function handler() {
that._cancelFocus()
}
},
reset: function() {
this._clickState = null;
this._endDrag();
this._cancelHover();
this._cancelFocus()
},
setOptions: function(options) {
this.reset();
this._detachHandlers();
this._isTouchEnabled = !!(0, _utils.parseScalar)(options.touchEnabled, true);
this._isWheelEnabled = !!(0, _utils.parseScalar)(options.wheelEnabled, true);
this._attachHandlers()
},
_detachHandlers: function() {
if (this._isTouchEnabled) {
this._root.css({
"touch-action": "",
"-webkit-user-select": ""
}).off(_addNamespace("MSHoldVisual", _NAME)).off(_addNamespace("contextmenu", _NAME))
}
_events_engine.default.off(_dom_adapter.default.getDocument(), this._docHandlers);
this._root.off(this._rootHandlers)
},
_attachHandlers: function() {
if (this._isTouchEnabled) {
this._root.css({
"touch-action": "none",
"-webkit-user-select": "none"
}).on(_addNamespace("MSHoldVisual", _NAME), (function(event) {
event.preventDefault()
})).on(_addNamespace("contextmenu", _NAME), (function(event) {
isTouchEvent(event) && event.preventDefault()
}))
}
_events_engine.default.on(_dom_adapter.default.getDocument(), this._docHandlers);
this._root.on(this._rootHandlers)
}
};
Focus = function(fire) {
var that = this;
var _activeData = null;
var _data = null;
var _disabled = false;
var _offTimer = null;
var _x;
var _y;
that.dispose = function() {
clearTimeout(_offTimer);
that.turnOn = that.turnOff = that.cancel = that.dispose = that = fire = _activeData = _data = _offTimer = null
};
that.turnOn = function(data, coords) {
if (data === _data && _disabled) {
return
}
_disabled = false;
_data = data;
if (_activeData) {
_x = coords.x;
_y = coords.y;
if (_data === _activeData) {
fire("focus-move", {
data: _data,
x: _x,
y: _y
});
onCheck(true)
} else {
fire("focus-on", {
data: _data,
x: _x,
y: _y,
done: onCheck
})
}
} else {
_x = coords.x;
_y = coords.y;
fire("focus-on", {
data: _data,
x: _x,
y: _y,
done: onCheck
})
}
function onCheck(result) {
_disabled = !result;
if (result) {
_activeData = _data;
clearTimeout(_offTimer);
_offTimer = null
}
}
};
that.turnOff = function() {
_data = null;
if (_activeData && !_disabled) {
_offTimer = _offTimer || setTimeout((function() {
_offTimer = null;
fire("focus-off", {
data: _activeData
});
_activeData = null
}), 100)
}
};
that.cancel = function() {
clearTimeout(_offTimer);
if (_activeData) {
fire("focus-off", {
data: _activeData
})
}
_activeData = _data = _offTimer = null
}
};
(0, _event_emitter.makeEventEmitter)(Tracker);
function getDistance(x1, y1, x2, y2) {
return _sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2))
}
function isTouchEvent(event) {
var type = event.originalEvent.type;
var pointerType = event.originalEvent.pointerType;
return /^touch/.test(type) || /^MSPointer/.test(type) && 4 !== pointerType || /^pointer/.test(type) && "mouse" !== pointerType
}
function selectItem(flags, items) {
var i = 0;
var ii = flags.length;
var item;
for (; i < ii; ++i) {
if (flags[i]) {
item = items[i];
break
}
}
return _addNamespace(item || items[i], _NAME)
}
function getEventCoords(event) {
var originalEvent = event.originalEvent;
var touch = originalEvent.touches && originalEvent.touches[0] || {};
return {
x: touch.pageX || originalEvent.pageX || event.pageX,
y: touch.pageY || originalEvent.pageY || event.pageY
}
}
function getPointerId(event) {
return event.originalEvent.pointerId
}
function getMultitouchEventCoords(event, pointerId) {
var originalEvent = event.originalEvent;
if (void 0 !== originalEvent.pointerId) {
originalEvent = originalEvent.pointerId === pointerId ? originalEvent : null
} else {
originalEvent = originalEvent.touches[pointerId]
}
return originalEvent ? {
x: originalEvent.pageX || event.pageX,
y: originalEvent.pageY || event.pageY
} : null
}
},
/*!******************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/vector_map/data_exchanger.js ***!
\******************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.DataExchanger = DataExchanger;
var _callbacks = (obj = __webpack_require__( /*! ../../core/utils/callbacks */ 30), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
function DataExchanger() {
this._store = {}
}
DataExchanger.prototype = {
constructor: DataExchanger,
dispose: function() {
this._store = null;
return this
},
_get: function(category, name) {
var store = this._store[category] || (this._store[category] = {});
return store[name] || (store[name] = {
callbacks: (0, _callbacks.default)()
})
},
set: function(category, name, data) {
var item = this._get(category, name);
item.data = data;
item.callbacks.fire(data);
return this
},
bind: function(category, name, callback) {
var item = this._get(category, name);
item.callbacks.add(callback);
item.data && callback(item.data);
return this
},
unbind: function(category, name, callback) {
var item = this._get(category, name);
item.callbacks.remove(callback);
return this
}
}
},
/*!**********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/vector_map/legend.js ***!
\**********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.LegendsControl = LegendsControl;
var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _object = __webpack_require__( /*! ../../core/utils/object */ 52);
var _legend = __webpack_require__( /*! ../components/legend */ 228);
var _extend = _extend2.extend;
var _each = _iterator.each;
var unknownSource = {
category: "UNKNOWN",
name: "UNKNOWN"
};
var Legend = function(parameters) {
var that = this;
that._params = parameters;
that._root = parameters.renderer.g().attr({
class: "dxm-legend"
}).linkOn(parameters.container, {
name: "legend",
after: "legend-base"
}).enableLinks().linkAppend();
parameters.layoutControl.addItem(that);
_legend.Legend.call(that, {
renderer: parameters.renderer,
widget: parameters.widget,
group: that._root,
backgroundClass: null,
itemsGroupClass: null,
textField: "text",
getFormatObject: function(data) {
return data
}
});
that._onDataChanged = function(data) {
that._updateData(data)
}
};
Legend.prototype = _extend((0, _object.clone)(_legend.Legend.prototype), {
constructor: Legend,
dispose: function() {
var that = this;
that._params.layoutControl.removeItem(that);
that._unbindData();
that._root.linkRemove().linkOff();
that._params = that._root = that._onDataChanged = null;
return _legend.Legend.prototype.dispose.apply(that, arguments)
},
resize: function(size) {
this._params.notifyDirty();
if (null === size) {
this.erase()
} else {
this.draw(size.width, size.height)
}
this._params.notifyReady()
},
locate: _legend.Legend.prototype.shift,
_updateData: function(data) {
this._options.defaultColor = data && data.defaultColor;
this.update(data ? function(partition, values, field) {
var i;
var ii = values.length;
var list = [];
var item;
for (i = 0; i < ii; ++i) {
list[i] = item = {
start: partition[i],
end: partition[i + 1],
index: i
};
item[field] = values[i];
item.states = {
normal: {
fill: item.color
}
};
item.visible = true
}
return list
}(data.partition, data.values, this._dataName) : [], this._options, this._params.themeManager.theme("legend").title);
this.updateLayout()
},
_unbindData: function() {
if (this._dataCategory) {
this._params.dataExchanger.unbind(this._dataCategory, this._dataName, this._onDataChanged)
}
},
_bindData: function(arg) {
this._params.dataExchanger.bind(this._dataCategory = arg.category, this._dataName = arg.name, this._onDataChanged)
},
setOptions: function(options) {
this.update(this._data, options, this._params.themeManager.theme("legend").title);
this._unbindData();
var source = options.source;
this._bindData(source ? {
category: source.layer,
name: source.grouping
} : unknownSource);
this.updateLayout();
return this
}
});
function LegendsControl(parameters) {
this._params = parameters;
this._items = [];
parameters.container.virtualLink("legend-base")
}
LegendsControl.prototype = {
constructor: LegendsControl,
dispose: function() {
_each(this._items, (function(_, item) {
item.dispose()
}));
this._params = this._items = null
},
setOptions: function(options) {
var optionList = options && options.length ? options : [];
var items = this._items;
var i;
var ii = optionList.length;
var params = this._params;
var theme = params.themeManager.theme("legend");
for (i = items.length; i < ii; ++i) {
items[i] = new Legend(params)
}
for (i = items.length - 1; i >= ii; --i) {
items[i].dispose();
items.splice(i, 1)
}
params.layoutControl.suspend();
for (i = 0; i < ii; ++i) {
items[i].setOptions(_extend(true, {}, theme, optionList[i]))
}
params.layoutControl.resume()
}
}
},
/*!**********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/vector_map/layout.js ***!
\**********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.LayoutControl = LayoutControl;
var _array = __webpack_require__( /*! ../../core/utils/array */ 12);
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _round = Math.round;
var _min = Math.min;
var _max = Math.max;
var _each = _iterator.each;
var _inArray = _array.inArray;
var horizontalAlignmentMap = {
left: 0,
center: 1,
right: 2
};
var verticalAlignmentMap = {
top: 0,
bottom: 1
};
function createCells(canvas, items) {
var hStep = (canvas.right - canvas.left) / 3;
var vStep = (canvas.bottom - canvas.top) / 2;
var h1 = canvas.left;
var h2 = _round(h1 + hStep);
var h3 = _round(h1 + hStep + hStep);
var h4 = canvas.right;
var v1 = canvas.top;
var v2 = _round(v1 + vStep);
var v3 = canvas.bottom;
var cells = [{
rect: [h1, v1, h2, v2]
}, {
rect: [h2, v1, h3, v2],
center: true
}, {
rect: [h3, v1, h4, v2],
horInversion: true
}, {
rect: [h1, v2, h2, v3],
verInversion: true
}, {
rect: [h2, v2, h3, v3],
center: true,
verInversion: true
}, {
rect: [h3, v2, h4, v3],
horInversion: true,
verInversion: true
}];
var itemsList = [
[],
[],
[],
[],
[],
[]
];
_each(items, (function(_, item) {
var options = item.getLayoutOptions();
if (options) {
itemsList[function(options) {
return 3 * verticalAlignmentMap[options.verticalAlignment] + horizontalAlignmentMap[options.horizontalAlignment]
}(options)].push({
item: item,
width: options.width,
height: options.height
})
}
}));
_each(cells, (function(i, cell) {
if (itemsList[i].length) {
cell.items = itemsList[i]
} else {
if (cell.center) {
cell.rect[0] = cell.rect[2] = (cell.rect[0] + cell.rect[2]) / 2
} else {
cell.rect[cell.horInversion ? 0 : 2] = cell.rect[cell.horInversion ? 2 : 0]
}
cell.rect[cell.verInversion ? 1 : 3] = cell.rect[cell.verInversion ? 3 : 1]
}
}));
return cells
}
function adjustCellsAndApplyLayout(cells, forceMode) {
var hasHiddenItems = false;
! function(cells) {
_each([0, 1, 2, 3, 4, 5], (function(_, index) {
var cell = cells[index];
var otherCell = cells[(index + 3) % 6];
if (cell.items) {
if (!otherCell.items) {
cell.rect[1] = _min(cell.rect[1], otherCell.rect[3]);
cell.rect[3] = _max(cell.rect[3], otherCell.rect[1])
}
}
}));
_each([1, 4], (function(_, index) {
var cell = cells[index];
var otherCell1 = cells[index - 1];
var otherCell2 = cells[index + 1];
var size1;
var size2;
if (cell.items) {
if (!otherCell1.items && !otherCell2.items) {
size1 = cell.rect[0] - otherCell1.rect[2];
size2 = otherCell2.rect[0] - cell.rect[2];
if (size1 > size2) {
if (size1 / size2 >= 2) {
cell.rect[0] -= size1;
cell.right = true
} else {
cell.rect[0] -= size2;
cell.rect[2] += size2
}
} else if (size2 / size1 >= 2) {
cell.rect[2] += size2;
cell.center = null
} else {
cell.rect[0] -= size1;
cell.rect[2] += size1
}
}
} else {
if (otherCell1.items) {
otherCell1.rect[2] = (cell.rect[0] + cell.rect[2]) / 2
}
if (otherCell2.items) {
otherCell2.rect[0] = (cell.rect[0] + cell.rect[2]) / 2
}
}
}))
}(cells);
_each(cells, (function(_, cell) {
if (cell.items) {
hasHiddenItems = function(cell, forceMode) {
var cellRect = cell.rect;
var cellWidth = cellRect[2] - cellRect[0];
var cellHeight = cellRect[3] - cellRect[1];
var xOffset = 0;
var yOffset = 0;
var currentHeight = 0;
var totalL = cellRect[2];
var totalT = cellRect[3];
var totalR = cellRect[0];
var totalB = cellRect[1];
var moves = [];
var hasHiddenItems = false;
_each(cell.items, (function(_, item) {
if (item.width > cellWidth || item.height > cellHeight) {
moves.push(null);
hasHiddenItems = true;
return forceMode || false
}
if (xOffset + item.width > cellWidth) {
yOffset += currentHeight;
xOffset = currentHeight = 0
}
if (yOffset + item.height > cellHeight) {
moves.push(null);
hasHiddenItems = true;
return forceMode || false
}
currentHeight = _max(currentHeight, item.height);
var dx = cell.horInversion ? cellRect[2] - item.width - xOffset : cellRect[0] + xOffset;
var dy = cell.verInversion ? cellRect[3] - item.height - yOffset : cellRect[1] + yOffset;
xOffset += item.width;
totalL = _min(totalL, dx);
totalT = _min(totalT, dy);
totalR = _max(totalR, dx + item.width);
totalB = _max(totalB, dy + item.height);
moves.push([dx, dy])
}));
if (forceMode || !hasHiddenItems) {
xOffset = 0;
if (cell.right) {
xOffset = cellRect[2] - cellRect[0] - totalR + totalL
} else if (cell.center) {
xOffset = _round((cellRect[2] - cellRect[0] - totalR + totalL) / 2)
}
_each(cell.items, (function(i, item) {
var move = moves[i];
if (move) {
item.item.locate(move[0] + xOffset, move[1])
} else {
item.item.resize(null)
}
}));
cell.rect = [totalL, totalT, totalR, totalB];
cell.items = null
}
return hasHiddenItems
}(cell, forceMode) || hasHiddenItems
}
}));
return hasHiddenItems
}
function LayoutControl(widget) {
var that = this;
that._items = [];
that._suspended = 0;
that._widget = widget;
that._updateLayout = function() {
that._update()
}
}
LayoutControl.prototype = {
constructor: LayoutControl,
dispose: function() {
this._items = this._updateLayout = null
},
setSize: function(canvas) {
this._canvas = canvas;
this._update()
},
suspend: function() {
++this._suspended
},
resume: function() {
if (0 === --this._suspended) {
this._update()
}
},
addItem: function(item) {
this._items.push(item);
item.updateLayout = this._updateLayout
},
removeItem: function(item) {
this._items.splice(_inArray(item, this._items), 1);
item.updateLayout = null
},
_update: function() {
var canvas;
if (0 === this._suspended) {
canvas = this._canvas;
_each(this._items, (function(_, item) {
item.resize(canvas)
}));
this._widget.resolveItemsDeferred(this._items.filter((function(el) {
return el.getTemplatesGroups && el.getTemplatesDef
})));
! function(canvas, items) {
var cells = createCells(canvas, items);
if (adjustCellsAndApplyLayout(cells)) {
adjustCellsAndApplyLayout(cells, true)
}
}({
left: canvas.left,
top: canvas.top,
right: canvas.width + canvas.left,
bottom: canvas.height + canvas.top
}, this._items)
}
}
}
},
/*!*************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/vector_map/map_layer.js ***!
\*************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.getMaxBound = getMaxBound;
exports.MapLayerCollection = MapLayerCollection;
var _common = __webpack_require__( /*! ../../core/utils/common */ 4);
var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _data_helper = (obj = __webpack_require__( /*! ../../data_helper */ 97), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 6);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _noop = _common.noop;
var _extend = _extend2.extend;
var _each = _iterator.each;
var _concat = Array.prototype.concat;
var STATE_TO_INDEX = [0, 1, 2, 2];
var SELECTIONS = {
none: null,
single: -1,
multiple: NaN
};
var _isArray = Array.isArray;
var _Number = Number;
var _String = String;
var _abs = Math.abs;
var _round = Math.round;
var _min = Math.min;
var _max = Math.max;
var _sqrt = Math.sqrt;
function getMaxBound(arr) {
return arr.reduce((function(a, c) {
return c ? [_min(a[0], c[0]), _min(a[1], c[1]), _max(a[2], c[2]), _max(a[3], c[3])] : a
}), arr[0])
}
function getName(opt, index) {
return (opt[index] || {}).name
}
function EmptySource() {}
EmptySource.prototype.count = function() {
return 0
};
function ArraySource(raw) {
this.raw = raw
}
ArraySource.prototype = {
constructor: ArraySource,
count: function() {
return this.raw.length
},
item: function(index) {
return this.raw[index]
},
geometry: function(item) {
return {
coordinates: item.coordinates
}
},
attributes: function(item) {
return item.attributes
},
getBBox: function(index) {
return 0 === arguments.length ? void 0 : this.raw[index].bbox
}
};
function GeoJsonSource(raw) {
this.raw = raw
}
GeoJsonSource.prototype = {
constructor: GeoJsonSource,
count: function() {
return this.raw.features.length
},
item: function(index) {
return this.raw.features[index]
},
geometry: function(item) {
return item.geometry
},
attributes: function(item) {
return item.properties
},
getBBox: function(index) {
return 0 === arguments.length ? this.raw.bbox : this.raw.features[index].bbox
}
};
function isGeoJsonObject(obj) {
return _isArray(obj.features)
}
function setAreaLabelVisibility(label) {
label.text.attr({
visibility: label.size[0] / label.spaceSize[0] < 1 && label.size[1] / label.spaceSize[1] < 1 ? null : "hidden"
})
}
function setLineLabelVisibility(label) {
label.text.attr({
visibility: label.size[0] / label.spaceSize[0] < 1 || label.size[1] / label.spaceSize[1] < 1 ? null : "hidden"
})
}
function getDataValue(proxy, dataField) {
return proxy.attribute(dataField)
}
var TYPE_TO_TYPE_MAP = {
Point: "marker",
MultiPoint: "line",
LineString: "line",
MultiLineString: "line",
Polygon: "area",
MultiPolygon: "area"
};
function pick(a, b) {
return void 0 !== a ? a : b
}
var emptyStrategy = {
setup: _noop,
reset: _noop,
arrange: _noop,
updateGrouping: _noop,
getDefaultColor: _noop
};
var strategiesByType = {};
var strategiesByGeometry = {};
var strategiesByElementType = {};
var groupByColor;
var groupBySize;
var selectStrategy = function(options, data) {
var type = (0, _utils.normalizeEnum)(options.type);
var elementType = (0, _utils.normalizeEnum)(options.elementType);
var sample;
var strategy = _extend({}, emptyStrategy);
if (data.count() > 0) {
sample = data.geometry(data.item(0));
type = strategiesByType[type] ? type : function(sample) {
var type = TYPE_TO_TYPE_MAP[sample.type];
var coordinates = sample.coordinates;
if (!type) {
if ("number" === typeof coordinates[0]) {
type = "marker"
} else if ("number" === typeof coordinates[0][0]) {
type = "line"
} else {
type = "area"
}
}
return type
}(sample);
_extend(strategy, strategiesByType[type]);
strategy.fullType = strategy.type = type;
if (strategiesByGeometry[type]) {
_extend(strategy, strategiesByGeometry[type](sample))
}
if (strategiesByElementType[type]) {
elementType = strategiesByElementType[type][elementType] ? elementType : strategiesByElementType[type]._default;
_extend(strategy, strategiesByElementType[type][elementType]);
strategy.elementType = elementType;
strategy.fullType += ":" + elementType
}
}
return strategy
};
function applyElementState(figure, styles, state, field) {
figure[field].attr(styles[field][state])
}
strategiesByType.area = {
projectLabel: function(coordinates) {
var i;
var ii = coordinates.length;
var centroid;
var resultCentroid;
var maxArea = 0;
for (i = 0; i < ii; ++i) {
centroid = calculatePolygonCentroid(coordinates[i]);
if (centroid.area > maxArea) {
maxArea = centroid.area;
resultCentroid = centroid
}
}
return resultCentroid ? [resultCentroid.center, [_sqrt(resultCentroid.area), _sqrt(resultCentroid.area)]] : [
[],
[]
]
},
transform: transformPointList,
transformLabel: function(label, projection, coordinates) {
var data = projection.transform(coordinates[0]);
label.spaceSize = projection.getSquareSize(coordinates[1]);
label.text.attr({
translateX: data[0],
translateY: data[1]
});
setAreaLabelVisibility(label)
},
draw: function(context, figure, data) {
figure.root = context.renderer.path([], "area").data(context.dataKey, data)
},
refresh: _noop,
getLabelOffset: function(label) {
setAreaLabelVisibility(label);
return [0, 0]
},
getStyles: function(settings) {
var color = settings.color || null;
var borderColor = settings.borderColor || null;
var borderWidth = pick(settings.borderWidth, null);
var opacity = pick(settings.opacity, null);
return {
root: [{
class: "dxm-area",
stroke: borderColor,
"stroke-width": borderWidth,
fill: color,
opacity: opacity
}, {
class: "dxm-area dxm-area-hovered",
stroke: settings.hoveredBorderColor || borderColor,
"stroke-width": pick(settings.hoveredBorderWidth, borderWidth),
fill: settings.hoveredColor || color,
opacity: pick(settings.hoveredOpacity, opacity)
}, {
class: "dxm-area dxm-area-selected",
stroke: settings.selectedBorderColor || borderColor,
"stroke-width": pick(settings.selectedBorderWidth, borderWidth),
fill: settings.selectedColor || color,
opacity: pick(settings.selectedOpacity, opacity)
}]
}
},
setState: function(figure, styles, state) {
applyElementState(figure, styles, state, "root")
},
hasLabelsGroup: true,
updateGrouping: function(context) {
groupByColor(context)
},
getDefaultColor: _noop
};
strategiesByType.line = {
projectLabel: function(coordinates) {
var i;
var ii = coordinates.length;
var maxLength = 0;
var data;
var resultData;
for (i = 0; i < ii; ++i) {
data = calculateLineStringData(coordinates[i]);
if (data[2] > maxLength) {
maxLength = data[2];
resultData = data
}
}
return resultData || [
[],
[]
]
},
transform: transformPointList,
transformLabel: function(label, projection, coordinates) {
var data = projection.transform(coordinates[0]);
label.spaceSize = projection.getSquareSize(coordinates[1]);
label.text.attr({
translateX: data[0],
translateY: data[1]
});
setLineLabelVisibility(label)
},
draw: function(context, figure, data) {
figure.root = context.renderer.path([], "line").data(context.dataKey, data)
},
refresh: _noop,
getLabelOffset: function(label) {
setLineLabelVisibility(label);
return [0, 0]
},
getStyles: function(settings) {
var color = settings.color || settings.borderColor || null;
var width = pick(settings.borderWidth, null);
var opacity = pick(settings.opacity, null);
return {
root: [{
class: "dxm-line",
stroke: color,
"stroke-width": width,
opacity: opacity
}, {
class: "dxm-line dxm-line-hovered",
stroke: settings.hoveredColor || settings.hoveredBorderColor || color,
"stroke-width": pick(settings.hoveredBorderWidth, width),
opacity: pick(settings.hoveredOpacity, opacity)
}, {
class: "dxm-line dxm-line-selected",
stroke: settings.selectedColor || settings.selectedBorderColor || color,
"stroke-width": pick(settings.selectedBorderWidth, width),
opacity: pick(settings.selectedOpacity, opacity)
}]
}
},
setState: function(figure, styles, state) {
applyElementState(figure, styles, state, "root")
},
hasLabelsGroup: true,
updateGrouping: function(context) {
groupByColor(context)
},
getDefaultColor: _noop
};
strategiesByType.marker = {
project: function(projection, coordinates) {
return projection.project(coordinates)
},
transform: function(content, projection, coordinates) {
var data = projection.transform(coordinates);
content.root.attr({
translateX: data[0],
translateY: data[1]
})
},
draw: function(context, figure, data) {
figure.root = context.renderer.g();
this._draw(context, figure, data)
},
refresh: _noop,
hasLabelsGroup: false,
getLabelOffset: function(label, settings) {
return [_round((label.size[0] + _max(settings.size || 0, 0)) / 2) + 2, 0]
},
getStyles: function(settings) {
var styles = {
root: [{
class: "dxm-marker"
}, {
class: "dxm-marker dxm-marker-hovered"
}, {
class: "dxm-marker dxm-marker-selected"
}]
};
this._getStyles(styles, settings);
return styles
},
setState: function(figure, styles, state) {
applyElementState(figure, styles, state, "root");
this._setState(figure, styles, state)
},
updateGrouping: function(context) {
groupByColor(context);
groupBySize(context)
},
getDefaultColor: function(ctx, palette) {
return ctx.params.themeManager.getAccentColor(palette)
}
};
strategiesByGeometry.area = function(sample) {
return {
project: function(projection, coordinates) {
return coordinates[0] && coordinates[0][0] && coordinates[0][0][0] && "number" === typeof coordinates[0][0][0][0] ? function(projection, coordinates) {
var output = [];
var i;
var ii = output.length = coordinates.length;
for (i = 0; i < ii; ++i) {
output[i] = projectPolygon(projection, coordinates[i])
}
return _concat.apply([], output)
}(projection, coordinates) : projectPolygon(projection, coordinates)
}
}
};
strategiesByGeometry.line = function(sample) {
var coordinates = sample.coordinates;
return {
project: coordinates[0] && coordinates[0][0] && "number" === typeof coordinates[0][0][0] ? projectPolygon : projectLineString
}
};
strategiesByElementType.marker = {
_default: "dot",
dot: {
setup: function(context) {
context.filter = context.renderer.shadowFilter("-40%", "-40%", "180%", "200%", 0, 1, 1, "#000000", .2)
},
reset: function(context) {
context.filter.dispose();
context.filter = null
},
_draw: function(ctx, figure, data) {
figure.back = ctx.renderer.circle().sharp().data(ctx.dataKey, data).append(figure.root);
figure.dot = ctx.renderer.circle().sharp().data(ctx.dataKey, data).append(figure.root)
},
refresh: function(ctx, figure, data, proxy, settings) {
figure.dot.attr({
filter: settings.shadow ? ctx.filter.id : null
})
},
_getStyles: function(styles, style) {
var size = style.size > 0 ? _Number(style.size) : 0;
var hoveredSize = size;
var selectedSize = size + (style.selectedStep > 0 ? _Number(style.selectedStep) : 0);
var hoveredBackSize = hoveredSize + (style.backStep > 0 ? _Number(style.backStep) : 0);
var selectedBackSize = selectedSize + (style.backStep > 0 ? _Number(style.backStep) : 0);
var color = style.color || null;
var borderColor = style.borderColor || null;
var borderWidth = pick(style.borderWidth, null);
var opacity = pick(style.opacity, null);
var backColor = style.backColor || null;
var backOpacity = pick(style.backOpacity, null);
styles.dot = [{
r: size / 2,
stroke: borderColor,
"stroke-width": borderWidth,
fill: color,
opacity: opacity
}, {
r: hoveredSize / 2,
stroke: style.hoveredBorderColor || borderColor,
"stroke-width": pick(style.hoveredBorderWidth, borderWidth),
fill: style.hoveredColor || color,
opacity: pick(style.hoveredOpacity, opacity)
}, {
r: selectedSize / 2,
stroke: style.selectedBorderColor || borderColor,
"stroke-width": pick(style.selectedBorderWidth, borderWidth),
fill: style.selectedColor || color,
opacity: pick(style.selectedOpacity, opacity)
}];
styles.back = [{
r: size / 2,
stroke: "none",
"stroke-width": 0,
fill: backColor,
opacity: backOpacity
}, {
r: hoveredBackSize / 2,
stroke: "none",
"stroke-width": 0,
fill: backColor,
opacity: backOpacity
}, {
r: selectedBackSize / 2,
stroke: "none",
"stroke-width": 0,
fill: backColor,
opacity: backOpacity
}]
},
_setState: function(figure, styles, state) {
applyElementState(figure, styles, state, "dot");
applyElementState(figure, styles, state, "back")
}
},
bubble: {
_draw: function(ctx, figure, data) {
figure.bubble = ctx.renderer.circle().sharp().data(ctx.dataKey, data).append(figure.root)
},
refresh: function(ctx, figure, data, proxy, settings) {
figure.bubble.attr({
r: settings.size / 2
})
},
_getStyles: function(styles, style) {
var color = style.color || null;
var borderColor = style.borderColor || null;
var borderWidth = pick(style.borderWidth, null);
var opacity = pick(style.opacity, null);
styles.bubble = [{
stroke: borderColor,
"stroke-width": borderWidth,
fill: color,
opacity: opacity
}, {
stroke: style.hoveredBorderColor || borderColor,
"stroke-width": pick(style.hoveredBorderWidth, borderWidth),
fill: style.hoveredColor || style.color,
opacity: pick(style.hoveredOpacity, opacity)
}, {
stroke: style.selectedBorderColor || borderColor,
"stroke-width": pick(style.selectedBorderWidth, borderWidth),
fill: style.selectedColor || style.color,
opacity: pick(style.selectedOpacity, opacity)
}]
},
_setState: function(figure, styles, state) {
applyElementState(figure, styles, state, "bubble")
},
arrange: function(context, handles) {
var values = [];
var i;
var ii = values.length = handles.length;
var settings = context.settings;
var dataField = settings.dataField;
var minSize = settings.minSize > 0 ? _Number(settings.minSize) : 0;
var maxSize = settings.maxSize > minSize ? _Number(settings.maxSize) : minSize;
if (settings.sizeGroups) {
return
}
for (i = 0; i < ii; ++i) {
values[i] = _max(getDataValue(handles[i].proxy, dataField) || 0, 0)
}
var minValue = _min.apply(null, values);
var maxValue = _max.apply(null, values);
var deltaValue = maxValue - minValue || 1;
var deltaSize = maxSize - minSize;
for (i = 0; i < ii; ++i) {
handles[i]._settings.size = minSize + deltaSize * (values[i] - minValue) / deltaValue
}
},
updateGrouping: function(context) {
var dataField = context.settings.dataField;
strategiesByType.marker.updateGrouping(context);
groupBySize(context, (function(proxy) {
return getDataValue(proxy, dataField)
}))
}
},
pie: {
_draw: function(ctx, figure, data) {
figure.pie = ctx.renderer.g().append(figure.root);
figure.border = ctx.renderer.circle().sharp().data(ctx.dataKey, data).append(figure.root)
},
refresh: function(ctx, figure, data, proxy, settings) {
var values = getDataValue(proxy, ctx.settings.dataField) || [];
var colors = settings._colors;
var sum = 0;
var pie = figure.pie;
var renderer = ctx.renderer;
var dataKey = ctx.dataKey;
var r = (settings.size > 0 ? _Number(settings.size) : 0) / 2;
var start = 90;
var end = start;
var zeroSum = false;
sum = values.reduce((function(total, item) {
return total + (item || 0)
}), 0);
if (0 === sum) {
zeroSum = true;
sum = 360 / values.length
}
values.forEach((function(item, i) {
start = end;
end += zeroSum ? sum : (item || 0) / sum * 360;
renderer.arc(0, 0, 0, r, start, end).attr({
"stroke-linejoin": "round",
fill: colors[i]
}).data(dataKey, data).append(pie)
}));
figure.border.attr({
r: r
})
},
_getStyles: function(styles, style) {
var opacity = pick(style.opacity, null);
var borderColor = style.borderColor || null;
var borderWidth = pick(style.borderWidth, null);
styles.pie = [{
opacity: opacity
}, {
opacity: pick(style.hoveredOpacity, opacity)
}, {
opacity: pick(style.selectedOpacity, opacity)
}];
styles.border = [{
stroke: borderColor,
"stroke-width": borderWidth
}, {
stroke: style.hoveredBorderColor || borderColor,
"stroke-width": pick(style.hoveredBorderWidth, borderWidth)
}, {
stroke: style.selectedBorderColor || borderColor,
"stroke-width": pick(style.selectedBorderWidth, borderWidth)
}]
},
_setState: function(figure, styles, state) {
applyElementState(figure, styles, state, "pie");
applyElementState(figure, styles, state, "border")
},
arrange: function(context, handles) {
var i;
var ii = handles.length;
var dataField = context.settings.dataField;
var values;
var count = 0;
var palette;
for (i = 0; i < ii; ++i) {
values = getDataValue(handles[i].proxy, dataField);
if (values && values.length > count) {
count = values.length
}
}
if (count > 0) {
palette = context.params.themeManager.createPalette(context.settings.palette, {
useHighlight: true,
extensionMode: "alternate"
});
values = palette.generateColors(count);
context.settings._colors = values;
context.grouping.color = {
callback: _noop,
field: "",
partition: [],
values: []
};
context.params.dataExchanger.set(context.name, "color", {
partition: [],
values: values
})
}
}
},
image: {
_draw: function(ctx, figure, data) {
figure.image = ctx.renderer.image(null, null, null, null, null, "center").attr({
"pointer-events": "visible"
}).data(ctx.dataKey, data).append(figure.root)
},
refresh: function(ctx, figure, data, proxy) {
figure.image.attr({
href: getDataValue(proxy, ctx.settings.dataField)
})
},
_getStyles: function(styles, style) {
var size = style.size > 0 ? _Number(style.size) : 0;
var hoveredSize = size + (style.hoveredStep > 0 ? _Number(style.hoveredStep) : 0);
var selectedSize = size + (style.selectedStep > 0 ? _Number(style.selectedStep) : 0);
var opacity = pick(style.opacity, null);
styles.image = [{
x: -size / 2,
y: -size / 2,
width: size,
height: size,
opacity: opacity
}, {
x: -hoveredSize / 2,
y: -hoveredSize / 2,
width: hoveredSize,
height: hoveredSize,
opacity: pick(style.hoveredOpacity, opacity)
}, {
x: -selectedSize / 2,
y: -selectedSize / 2,
width: selectedSize,
height: selectedSize,
opacity: pick(style.selectedOpacity, opacity)
}]
},
_setState: function(figure, styles, state) {
applyElementState(figure, styles, state, "image")
}
}
};
function projectPointList(projection, coordinates) {
var output = [];
var i;
var ii = output.length = coordinates.length;
for (i = 0; i < ii; ++i) {
output[i] = projection.project(coordinates[i])
}
return output
}
function projectLineString(projection, coordinates) {
return [projectPointList(projection, coordinates)]
}
function projectPolygon(projection, coordinates) {
var output = [];
var i;
var ii = output.length = coordinates.length;
for (i = 0; i < ii; ++i) {
output[i] = projectPointList(projection, coordinates[i])
}
return output
}
function transformList(projection, coordinates) {
var output = [];
var i;
var ii = coordinates.length;
var item;
var k = 0;
output.length = 2 * ii;
for (i = 0; i < ii; ++i) {
item = projection.transform(coordinates[i]);
output[k++] = item[0];
output[k++] = item[1]
}
return output
}
function transformPointList(content, projection, coordinates) {
var output = [];
var i;
var ii = output.length = coordinates.length;
for (i = 0; i < ii; ++i) {
output[i] = transformList(projection, coordinates[i])
}
content.root.attr({
points: output
})
}
function getItemSettings(context, proxy, settings) {
var result = combineSettings(context.settings, settings);
! function(grouping, proxy, settings) {
_each(grouping, (function(name, data) {
var index = findGroupingIndex(data.callback(proxy, data.field), data.partition);
if (index >= 0) {
settings[name] = data.values[index]
}
}))
}(context.grouping, proxy, result);
if (void 0 === settings.color && settings.paletteIndex >= 0) {
result.color = result._colors[settings.paletteIndex]
}
return result
}
function findGroupingIndex(value, partition) {
var start = 0;
var end = partition.length - 1;
var index = -1;
var middle;
if (partition[start] <= value && value <= partition[end]) {
if (value === partition[end]) {
index = end - 1
} else {
while (end - start > 1) {
middle = start + end >> 1;
if (value < partition[middle]) {
end = middle
} else {
start = middle
}
}
index = start
}
}
return index
}
function raiseChanged(context, handle, state, name) {
context.params.eventTrigger(name, {
target: handle.proxy,
state: state
})
}
function combineSettings(common, partial) {
var obj = _extend({}, common, partial);
obj.label = _extend({}, common.label, obj.label);
obj.label.font = _extend({}, common.label.font, obj.label.font);
return obj
}
function valueCallback(proxy, dataField) {
return proxy.attribute(dataField)
}
var performGrouping = function(context, partition, settingField, dataField, valuesCallback) {
var values;
if (dataField && partition && partition.length > 1) {
values = valuesCallback(partition.length - 1);
context.grouping[settingField] = {
callback: (0, _type.isFunction)(dataField) ? dataField : valueCallback,
field: dataField,
partition: partition,
values: values
};
context.params.dataExchanger.set(context.name, settingField, {
partition: partition,
values: values,
defaultColor: context.settings.color
})
}
};
function dropGrouping(context) {
var name = context.name;
var dataExchanger = context.params.dataExchanger;
_each(context.grouping, (function(field) {
dataExchanger.set(name, field, null)
}));
context.grouping = {}
}
groupByColor = function(context) {
performGrouping(context, context.settings.colorGroups, "color", context.settings.colorGroupingField, (function(count) {
var _palette = context.params.themeManager.createDiscretePalette(context.settings.palette, count);
var i;
var list = [];
for (i = 0; i < count; ++i) {
list.push(_palette.getColor(i))
}
return list
}))
};
groupBySize = function(context, valueCallback) {
var settings = context.settings;
performGrouping(context, settings.sizeGroups, "size", valueCallback || settings.sizeGroupingField, (function(count) {
var minSize = settings.minSize > 0 ? _Number(settings.minSize) : 0;
var maxSize = settings.maxSize >= minSize ? _Number(settings.maxSize) : 0;
var i = 0;
var sizes = [];
if (count > 1) {
for (i = 0; i < count; ++i) {
sizes.push((minSize * (count - i - 1) + maxSize * i) / (count - 1))
}
} else if (1 === count) {
sizes.push((minSize + maxSize) / 2)
}
return sizes
}))
};
function setFlag(flags, flag, state) {
if (state) {
flags |= flag
} else {
flags &= ~flag
}
return flags
}
function hasFlag(flags, flag) {
return !!(flags & flag)
}
var MapLayerElement;
var MapLayer = function(params, container, name, index) {
this._params = params;
this._onProjection();
this.proxy = function(layer, name, index) {
var proxy = {
index: index,
name: name,
getElements: function() {
return layer.getProxies()
},
clearSelection: function(_noEvent) {
layer.clearSelection(_noEvent);
return proxy
},
getDataSource: function() {
return layer.getDataSource()
},
getBounds: function() {
return layer.getBounds()
}
};
return proxy
}(this, name, index);
this._context = {
name: name,
layer: this.proxy,
renderer: params.renderer,
projection: params.projection,
params: params,
dataKey: params.dataKey,
str: emptyStrategy,
hover: false,
selection: null,
grouping: {},
root: params.renderer.g().attr({
class: "dxm-layer"
}).linkOn(container, name).linkAppend()
};
this._container = container;
this._options = {};
this._handles = [];
this._data = new EmptySource;
this._dataSourceLoaded = null
};
MapLayer.prototype = _extend({
constructor: MapLayer,
getDataReadyCallback: function() {
return this._dataSourceLoaded
},
_onProjection: function() {
var that = this;
that._removeHandlers = that._params.projection.on({
engine: function() {
that._project()
},
screen: function() {
that._transform()
},
center: function() {
that._transformCore()
},
zoom: function() {
that._transform()
}
})
},
getData: function() {
return this._data
},
_dataSourceLoadErrorHandler: function() {
this._dataSourceChangedHandler()
},
_dataSourceChangedHandler: function() {
this._data = function(source) {
var sourceType;
if (source) {
if (isGeoJsonObject(source)) {
sourceType = GeoJsonSource
} else if (1 === source.length && source[0] && isGeoJsonObject(source[0])) {
sourceType = GeoJsonSource;
source = source[0]
} else if (_isArray(source)) {
sourceType = ArraySource
}
}
sourceType = sourceType || EmptySource;
return new sourceType(source)
}(this._dataSource && this._dataSource.items());
this._update(true)
},
_dataSourceOptions: function() {
return {
paginate: false
}
},
_getSpecificDataSourceOption: function() {
return this._specificDataSourceOption
},
_normalizeDataSource: function(dataSource) {
var store = dataSource.store();
if ("raw" === store._loadMode) {
store._loadMode = void 0
}
return dataSource
},
_offProjection: function() {
this._removeHandlers();
this._removeHandlers = null
},
dispose: function() {
this._disposeDataSource();
this._destroyHandles();
dropGrouping(this._context);
this._context.root.linkRemove().linkOff();
this._context.labelRoot && this._context.labelRoot.linkRemove().linkOff();
this._context.str.reset(this._context);
this._offProjection();
this._params = this._container = this._context = this.proxy = null;
return this
},
setOptions: function(options) {
options = this._options = options || {};
this._dataSourceLoaded = new _deferred.Deferred;
if ("dataSource" in options && options.dataSource !== this._options_dataSource) {
this._options_dataSource = options.dataSource;
this._params.notifyDirty();
this._specificDataSourceOption = (option = options.dataSource, option ? isGeoJsonObject(option) ? [option] : option : []);
this._refreshDataSource()
} else if (this._data.count() > 0) {
this._params.notifyDirty();
this._update(void 0 !== options.type && options.type !== this._context.str.type || void 0 !== options.elementType && options.elementType !== this._context.str.elementType)
}
var option;
this._transformCore()
},
_update: function(isContextChanged) {
var context = this._context;
if (isContextChanged) {
context.str.reset(context);
context.root.clear();
context.labelRoot && context.labelRoot.clear();
this._params.tracker.reset();
this._destroyHandles();
context.str = selectStrategy(this._options, this._data);
context.str.setup(context);
this.proxy.type = context.str.type;
this.proxy.elementType = context.str.elementType
}
context.settings = function(context, options) {
var themeManager = context.params.themeManager;
var strategy = context.str;
var settings = combineSettings(_extend({
label: {},
color: strategy.getDefaultColor(context, options.palette)
}, themeManager.theme("layer:" + strategy.fullType)), options);
var colors;
var i;
var palette;
if (settings.paletteSize > 0) {
palette = themeManager.createDiscretePalette(settings.palette, settings.paletteSize);
for (i = 0, colors = []; i < settings.paletteSize; ++i) {
colors.push(palette.getColor(i))
}
settings._colors = colors
}
return settings
}(context, this._options);
context.hasSeparateLabel = !!(context.settings.label.enabled && context.str.hasLabelsGroup);
context.hover = !!(0, _utils.parseScalar)(context.settings.hoverEnabled, true);
if (context.selection) {
_each(context.selection.state, (function(_, handle) {
handle && handle.resetSelected()
}))
}
context.selection = function(selectionMode) {
var selection = (0, _utils.normalizeEnum)(selectionMode);
selection = selection in SELECTIONS ? SELECTIONS[selection] : SELECTIONS.single;
if (null !== selection) {
selection = {
state: {},
single: selection
}
}
return selection
}(context.settings.selectionMode);
if (context.hasSeparateLabel) {
if (!context.labelRoot) {
context.labelRoot = context.renderer.g().attr({
class: "dxm-layer-labels"
}).linkOn(this._container, {
name: context.name + "-labels",
after: context.name
}).linkAppend();
this._transformCore()
}
} else if (context.labelRoot) {
context.labelRoot.linkRemove().linkOff();
context.labelRoot = null
}
if (isContextChanged) {
this._createHandles()
}
dropGrouping(context);
context.str.arrange(context, this._handles);
context.str.updateGrouping(context);
this._updateHandles();
this._params.notifyReady();
if (this._dataSourceLoaded) {
this._dataSourceLoaded.resolve();
this._dataSourceLoaded = null
} else {
this._params.dataReady()
}
},
getBounds: function() {
return getMaxBound(this._handles.map((function(_ref) {
var proxy = _ref.proxy;
return proxy.coordinates().map((function(coords) {
if (!_isArray(coords)) {
return
}
var coordsToBoundsSearch = _isArray(coords[0][0]) ? coords.reduce((function(ac, val) {
return ac.concat(val)
}), []) : coords;
var initValue = coordsToBoundsSearch[0];
return coordsToBoundsSearch.reduce((function(min, c) {
return [_min(min[0], c[0]), _min(min[1], c[1]), _max(min[2], c[0]), _max(min[3], c[1])]
}), [initValue[0], initValue[1], initValue[0], initValue[1]])
}))
})).map(getMaxBound))
},
_destroyHandles: function() {
this._handles.forEach((function(h) {
return h.dispose()
}));
if (this._context.selection) {
this._context.selection.state = {}
}
this._handles = []
},
_createHandles: function() {
var handles = this._handles = [];
var data = this._data;
var i;
var ii = handles.length = data.count();
var context = this._context;
var geometry = data.geometry;
var attributes = data.attributes;
var handle;
var dataItem;
for (i = 0; i < ii; ++i) {
dataItem = data.item(i);
handles[i] = new MapLayerElement(context, i, geometry(dataItem), attributes(dataItem))
}(0, _type.isFunction)(this._options.customize) && (proxies = this.getProxies(), callback = this._options.customize, widget = this._params.widget, void callback.call(widget, proxies));
var proxies, callback, widget;
for (i = 0; i < ii; ++i) {
handle = handles[i];
handle.project();
handle.draw();
handle.transform()
}
if (context.selection) {
_each(context.selection.state, (function(_, handle) {
handle && handle.restoreSelected()
}))
}
},
_updateHandles: function() {
var handles = this._handles;
var i;
var ii = handles.length;
for (i = 0; i < ii; ++i) {
handles[i].refresh()
}
if (this._context.settings.label.enabled) {
for (i = 0; i < ii; ++i) {
handles[i].measureLabel()
}
for (i = 0; i < ii; ++i) {
handles[i].adjustLabel()
}
}
},
_transformCore: function() {
var transform = this._params.projection.getTransform();
this._context.root.attr(transform);
this._context.labelRoot && this._context.labelRoot.attr(transform)
},
_project: function() {
var handles = this._handles;
var i;
var ii = handles.length;
for (i = 0; i < ii; ++i) {
handles[i].project()
}
},
_transform: function() {
var handles = this._handles;
var i;
var ii = handles.length;
this._transformCore();
for (i = 0; i < ii; ++i) {
handles[i].transform()
}
},
getProxies: function() {
return this._handles.map((function(p) {
return p.proxy
}))
},
getProxy: function(index) {
return this._handles[index].proxy
},
raiseClick: function(i, dxEvent) {
this._params.eventTrigger("click", {
target: this._handles[i].proxy,
event: dxEvent
})
},
hoverItem: function(i, state) {
this._handles[i].setHovered(state)
},
selectItem: function(i, state, _noEvent) {
this._handles[i].setSelected(state, _noEvent)
},
clearSelection: function() {
var selection = this._context.selection;
if (selection) {
_each(selection.state, (function(_, handle) {
handle && handle.setSelected(false)
}));
selection.state = {}
}
}
}, _data_helper.default);
MapLayerElement = function(context, index, geometry, attributes) {
var proxy = this.proxy = function(handle, coords, attrs) {
var proxy = {
coordinates: function() {
return coords
},
attribute: function(name, value) {
if (arguments.length > 1) {
attrs[name] = value;
return proxy
} else {
return arguments.length > 0 ? attrs[name] : attrs
}
},
selected: function(state, _noEvent) {
if (arguments.length > 0) {
handle.setSelected(state, _noEvent);
return proxy
} else {
return handle.isSelected()
}
},
applySettings: function(settings) {
handle.update(settings);
return proxy
}
};
return proxy
}(this, geometry.coordinates, _extend({}, attributes));
this._ctx = context;
this._index = index;
this._fig = this._label = null;
this._state = 0;
this._coordinates = geometry.coordinates;
this._settings = {
label: {}
};
proxy.index = index;
proxy.layer = context.layer;
this._data = {
name: context.name,
index: index
}
};
MapLayerElement.prototype = {
constructor: MapLayerElement,
dispose: function() {
this._ctx = this.proxy = this._settings = this._fig = this._label = this.data = null;
return this
},
project: function() {
var context = this._ctx;
this._projection = context.str.project(context.projection, this._coordinates);
if (context.hasSeparateLabel && this._label) {
this._projectLabel()
}
},
_projectLabel: function() {
this._labelProjection = this._ctx.str.projectLabel(this._projection)
},
draw: function() {
var context = this._ctx;
context.str.draw(context, this._fig = {}, this._data);
this._fig.root.append(context.root)
},
transform: function() {
var context = this._ctx;
context.str.transform(this._fig, context.projection, this._projection);
if (context.hasSeparateLabel && this._label) {
this._transformLabel()
}
},
_transformLabel: function() {
this._ctx.str.transformLabel(this._label, this._ctx.projection, this._labelProjection)
},
refresh: function() {
var strategy = this._ctx.str;
var settings = getItemSettings(this._ctx, this.proxy, this._settings);
this._styles = strategy.getStyles(settings);
strategy.refresh(this._ctx, this._fig, this._data, this.proxy, settings);
this._refreshLabel(settings);
this._setState()
},
_refreshLabel: function(settings) {
var context = this._ctx;
var labelSettings = settings.label;
var label = this._label;
if (context.settings.label.enabled) {
if (!label) {
label = this._label = {
root: context.labelRoot || this._fig.root,
text: context.renderer.text().attr({
class: "dxm-label"
}),
size: [0, 0]
};
if (context.hasSeparateLabel) {
this._projectLabel();
this._transformLabel()
}
}
label.value = _String(this.proxy.text || this.proxy.attribute(labelSettings.dataField) || "");
if (label.value) {
label.text.attr({
text: label.value,
x: 0,
y: 0
}).css((0, _utils.patchFontOptions)(labelSettings.font)).attr({
align: "center",
stroke: labelSettings.stroke,
"stroke-width": labelSettings["stroke-width"],
"stroke-opacity": labelSettings["stroke-opacity"]
}).data(context.dataKey, this._data).append(label.root);
label.settings = settings
}
} else if (label) {
label.text.remove();
this._label = null
}
},
measureLabel: function() {
var label = this._label;
var bBox;
if (label.value) {
bBox = label.text.getBBox();
label.size = [bBox.width, bBox.height, -bBox.y - bBox.height / 2]
}
},
adjustLabel: function() {
var label = this._label;
var offset;
if (label.value) {
offset = this._ctx.str.getLabelOffset(label, label.settings);
label.settings = null;
label.text.attr({
x: offset[0],
y: offset[1] + label.size[2]
})
}
},
update: function(settings) {
this._settings = combineSettings(this._settings, settings);
if (this._fig) {
this.refresh();
if (this._label && this._label.value) {
this.measureLabel();
this.adjustLabel()
}
}
},
_setState: function() {
this._ctx.str.setState(this._fig, this._styles, STATE_TO_INDEX[this._state])
},
_setForeground: function() {
var root = this._fig.root;
this._state ? root.toForeground() : root.toBackground()
},
setHovered: function(state) {
var currentState = hasFlag(this._state, 1);
var newState = !!state;
if (this._ctx.hover && currentState !== newState) {
this._state = setFlag(this._state, 1, newState);
this._setState();
this._setForeground();
raiseChanged(this._ctx, this, newState, "hoverChanged")
}
return this
},
setSelected: function(state, _noEvent) {
var currentState = hasFlag(this._state, 2);
var newState = !!state;
var selection = this._ctx.selection;
var tmp;
if (selection && currentState !== newState) {
this._state = setFlag(this._state, 2, newState);
tmp = selection.state[selection.single];
selection.state[selection.single] = null;
if (tmp) {
tmp.setSelected(false)
}
selection.state[selection.single || this._index] = state ? this : null;
if (this._fig) {
this._setState();
this._setForeground();
if (!_noEvent) {
raiseChanged(this._ctx, this, newState, "selectionChanged")
}
}
}
},
isSelected: function() {
return hasFlag(this._state, 2)
},
resetSelected: function() {
this._state = setFlag(this._state, 2, false)
},
restoreSelected: function() {
this._fig.root.toForeground()
}
};
function calculatePolygonCentroid(coordinates) {
var i;
var length = coordinates.length;
var v1;
var v2 = coordinates[length - 1];
var cross;
var cx = 0;
var cy = 0;
var area = 0;
var minX = 1 / 0;
var maxX = -1 / 0;
var minY = 1 / 0;
var maxY = -1 / 0;
for (i = 0; i < length; ++i) {
v1 = v2;
v2 = coordinates[i];
cross = v1[0] * v2[1] - v2[0] * v1[1];
area += cross;
cx += (v1[0] + v2[0]) * cross;
cy += (v1[1] + v2[1]) * cross;
minX = _min(minX, v2[0]);
maxX = _max(maxX, v2[0]);
minY = _min(minY, v2[1]);
maxY = _max(maxY, v2[1])
}
return {
area: _abs(area) / 2,
center: [2 * cx / 3 / area - (minX + maxX) / 2, 2 * cy / 3 / area - (minY + maxY) / 2]
}
}
function calculateLineStringData(coordinates) {
var i;
var ii = coordinates.length;
var v1;
var v2 = coordinates[0] || [];
var totalLength = 0;
var items = [0];
var min0 = v2[0];
var max0 = v2[0];
var min1 = v2[1];
var max1 = v2[1];
for (i = 1; i < ii; ++i) {
v1 = v2;
v2 = coordinates[i];
totalLength += _sqrt((v1[0] - v2[0]) * (v1[0] - v2[0]) + (v1[1] - v2[1]) * (v1[1] - v2[1]));
items[i] = totalLength;
min0 = _min(min0, v2[0]);
max0 = _max(max0, v2[0]);
min1 = _min(min1, v2[1]);
max1 = _max(max1, v2[1])
}
i = findGroupingIndex(totalLength / 2, items);
v1 = coordinates[i];
v2 = coordinates[i + 1];
var t = (totalLength / 2 - items[i]) / (items[i + 1] - items[i]);
return ii ? [
[v1[0] * (1 - t) + v2[0] * t, v1[1] * (1 - t) + v2[1] * t],
[max0 - min0, max1 - min1], totalLength
] : []
}
function MapLayerCollection(params) {
var renderer = params.renderer;
this._params = params;
this._layers = [];
this._layerByName = {};
this._rect = [0, 0, 0, 0];
this._clip = renderer.clipRect();
this._background = renderer.rect().attr({
class: "dxm-background"
}).data(params.dataKey, {
name: "background"
}).append(renderer.root);
this._container = renderer.g().attr({
class: "dxm-layers",
"clip-path": this._clip.id
}).append(renderer.root).enableLinks();
this._subscribeToTracker(params.tracker, renderer, params.eventTrigger);
this._dataReady = params.dataReady
}
MapLayerCollection.prototype = {
constructor: MapLayerCollection,
dispose: function() {
this._clip.dispose();
this._layers.forEach((function(l) {
return l.dispose()
}));
this._offTracker();
this._params = this._offTracker = this._layers = this._layerByName = this._clip = this._background = this._container = null
},
_subscribeToTracker: function(tracker, renderer, eventTrigger) {
var that = this;
that._offTracker = tracker.on({
click: function(arg) {
var offset = renderer.getRootOffset();
var layer = that.byName(arg.data.name);
arg.$event.x = arg.x - offset.left;
arg.$event.y = arg.y - offset.top;
if (layer) {
layer.raiseClick(arg.data.index, arg.$event)
} else if ("background" === arg.data.name) {
eventTrigger("click", {
event: arg.$event
})
}
},
"hover-on": function(arg) {
var layer = that.byName(arg.data.name);
if (layer) {
layer.hoverItem(arg.data.index, true)
}
},
"hover-off": function(arg) {
var layer = that.byName(arg.data.name);
if (layer) {
layer.hoverItem(arg.data.index, false)
}
}
})
},
setOptions: function(options) {
var optionList = options ? _isArray(options) ? options : [options] : [];
var layers = this._layers;
var readyCallbacks;
var needToCreateLayers = optionList.length !== layers.length || layers.some((function(l, i) {
var name = getName(optionList, i);
return (0, _type.isDefined)(name) && name !== l.proxy.name
}));
if (needToCreateLayers) {
this._params.tracker.reset();
this._layers.forEach((function(l) {
return l.dispose()
}));
var layerByName = this._layerByName = {};
this._layers = layers = [];
for (var i = 0, ii = optionList.length; i < ii; ++i) {
var name = getName(optionList, i) || "map-layer-" + i;
var layer = layers[i] = new MapLayer(this._params, this._container, name, i);
layerByName[name] = layer
}
}
layers.forEach((function(l, i) {
l.setOptions(optionList[i])
}));
readyCallbacks = layers.map((function(l) {
return l.getDataReadyCallback()
}));
readyCallbacks.length && _deferred.when.apply(void 0, readyCallbacks).done(this._dataReady)
},
_updateClip: function() {
var rect = this._rect;
var bw = this._borderWidth;
this._clip.attr({
x: rect[0] + bw,
y: rect[1] + bw,
width: _max(rect[2] - 2 * bw, 0),
height: _max(rect[3] - 2 * bw, 0)
})
},
setBackgroundOptions: function(options) {
this._background.attr({
stroke: options.borderColor,
"stroke-width": options.borderWidth,
fill: options.color
});
this._borderWidth = _max(options.borderWidth, 0);
this._updateClip()
},
setRect: function(rect) {
this._rect = rect;
this._background.attr({
x: rect[0],
y: rect[1],
width: rect[2],
height: rect[3]
});
this._updateClip()
},
byIndex: function(index) {
return this._layers[index]
},
byName: function(name) {
return this._layerByName[name]
},
items: function() {
return this._layers
}
}
},
/*!******************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/vector_map/tooltip_viewer.js ***!
\******************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.TooltipViewer = TooltipViewer;
function TooltipViewer(params) {
this._subscribeToTracker(params.tracker, params.tooltip, params.layerCollection)
}
TooltipViewer.prototype = {
constructor: TooltipViewer,
dispose: function() {
this._offTracker();
this._offTracker = null
},
_subscribeToTracker: function(tracker, tooltip, layerCollection) {
this._offTracker = tracker.on({
"focus-on": function(arg) {
var layer;
var proxy;
if (tooltip.isEnabled()) {
layer = layerCollection.byName(arg.data.name);
proxy = layer && layer.getProxy(arg.data.index);
var callback = function(result) {
result && arg.done(result)
};
proxy && callback(tooltip.show(proxy, {
x: arg.x,
y: arg.y,
offset: 12
}, {
target: proxy
}, void 0, callback))
}
},
"focus-move": function(arg) {
tooltip.move(arg.x, arg.y, 12)
},
"focus-off": function() {
tooltip.hide()
}
})
}
}
},
/*!********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/vector_map/vector_map.utils.js ***!
\********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.generateDataKey = function() {
return "vectormap-data-" + nextDataKey++
};
var nextDataKey = 1
},
/*!**************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/sparkline.js ***!
\**************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _sparkline = (obj = __webpack_require__( /*! ./sparklines/sparkline */ 1063), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _default = _sparkline.default;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/sparklines/sparkline.js ***!
\*************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _base_sparkline = _interopRequireDefault(__webpack_require__( /*! ./base_sparkline */ 517));
var _data_validator = __webpack_require__( /*! ../components/data_validator */ 322);
var _base_series = __webpack_require__( /*! ../series/base_series */ 324);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 8));
var _data_source = __webpack_require__( /*! ../core/data_source */ 170);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var ALLOWED_TYPES = {
line: true,
spline: true,
stepline: true,
area: true,
steparea: true,
splinearea: true,
bar: true,
winloss: true
};
var _math = Math;
var _abs = _math.abs;
var _round = _math.round;
var _max = _math.max;
var _min = _math.min;
var _isFinite = isFinite;
var _Number = Number;
var _String = String;
function selectPointColor(color, options, index, pointIndexes) {
if (index === pointIndexes.first || index === pointIndexes.last) {
color = options.firstLastColor
}
if ((pointIndexes.min || []).indexOf(index) >= 0) {
color = options.minColor
}
if ((pointIndexes.max || []).indexOf(index) >= 0) {
color = options.maxColor
}
return color
}
var dxSparkline = _base_sparkline.default.inherit({
_rootClassPrefix: "dxsl",
_rootClass: "dxsl-sparkline",
_themeSection: "sparkline",
_defaultSize: {
width: 250,
height: 30
},
_initCore: function() {
this.callBase();
this._createSeries()
},
_initialChanges: ["DATA_SOURCE"],
_dataSourceChangedHandler: function() {
this._requestChange(["UPDATE"])
},
_updateWidgetElements: function() {
this._updateSeries();
this.callBase()
},
_disposeWidgetElements: function() {
this._series && this._series.dispose();
this._series = this._seriesGroup = this._seriesLabelGroup = null
},
_cleanWidgetElements: function() {
this._seriesGroup.remove();
this._seriesLabelGroup.remove();
this._seriesGroup.clear();
this._seriesLabelGroup.clear()
},
_drawWidgetElements: function() {
if (this._dataIsLoaded()) {
this._drawSeries();
this._drawn()
}
},
_getCorrectCanvas: function() {
var options = this._allOptions;
var canvas = this._canvas;
var halfPointSize = options.pointSize && Math.ceil(options.pointSize / 2) + 2;
var type = options.type;
if ("bar" !== type && "winloss" !== type && (options.showFirstLast || options.showMinMax)) {
return {
width: canvas.width,
height: canvas.height,
left: canvas.left + halfPointSize,
right: canvas.right + halfPointSize,
top: canvas.top + halfPointSize,
bottom: canvas.bottom + halfPointSize
}
}
return canvas
},
_prepareOptions: function() {
this._allOptions = this.callBase();
this._allOptions.type = (0, _utils.normalizeEnum)(this._allOptions.type);
if (!ALLOWED_TYPES[this._allOptions.type]) {
this._allOptions.type = "line"
}
},
_createHtmlElements: function() {
this._seriesGroup = this._renderer.g().attr({
class: "dxsl-series"
});
this._seriesLabelGroup = this._renderer.g().attr({
class: "dxsl-series-labels"
})
},
_createSeries: function() {
this._series = new _base_series.Series({
renderer: this._renderer,
seriesGroup: this._seriesGroup,
labelsGroup: this._seriesLabelGroup,
argumentAxis: this._argumentAxis,
valueAxis: this._valueAxis
}, {
widgetType: "chart",
type: "line"
})
},
_updateSeries: function() {
var singleSeries = this._series;
this._prepareDataSource();
var seriesOptions = this._prepareSeriesOptions();
singleSeries.updateOptions(seriesOptions);
var groupsData = {
groups: [{
series: [singleSeries]
}]
};
groupsData.argumentOptions = {
type: "bar" === seriesOptions.type ? "discrete" : void 0
};
this._simpleDataSource = (0, _data_validator.validateData)(this._simpleDataSource, groupsData, this._incidentOccurred, {
checkTypeForAllData: false,
convertToAxisDataType: true,
sortingMethod: true
})[singleSeries.getArgumentField()];
seriesOptions.customizePoint = this._getCustomizeFunction();
singleSeries.updateData(this._simpleDataSource);
singleSeries.createPoints();
this._groupsDataCategories = groupsData.categories
},
_optionChangesMap: {
dataSource: "DATA_SOURCE"
},
_optionChangesOrder: ["DATA_SOURCE"],
_change_DATA_SOURCE: function() {
this._updateDataSource()
},
_prepareDataSource: function() {
var options = this._allOptions;
var argField = options.argumentField;
var valField = options.valueField;
var dataSource = this._dataSourceItems() || [];
var data = function(data, argField, valField, ignoreEmptyPoints) {
return (0, _utils.map)(data, (function(dataItem, index) {
var item = null;
var isDataNumber;
var value;
if (void 0 !== dataItem) {
item = {};
isDataNumber = _isFinite(dataItem);
item[argField] = isDataNumber ? _String(index) : dataItem[argField];
value = isDataNumber ? dataItem : dataItem[valField];
item[valField] = null === value ? ignoreEmptyPoints ? void 0 : value : _Number(value);
item = void 0 !== item[argField] && void 0 !== item[valField] ? item : null
}
return item
}))
}(dataSource, argField, valField, this.option("ignoreEmptyPoints"));
if ("winloss" === options.type) {
this._winlossDataSource = data;
this._simpleDataSource = function(data, argField, valField, target) {
return (0, _utils.map)(data, (function(dataItem) {
var item = {};
item[argField] = dataItem[argField];
if (_abs(dataItem[valField] - target) < 1e-4) {
item[valField] = 0
} else if (dataItem[valField] > target) {
item[valField] = 1
} else {
item[valField] = -1
}
return item
}))
}(data, argField, valField, options.winlossThreshold)
} else {
this._simpleDataSource = data
}
},
_prepareSeriesOptions: function() {
var options = this._allOptions;
var type = "winloss" === options.type ? "bar" : options.type;
return {
visible: true,
argumentField: options.argumentField,
valueField: options.valueField,
color: options.lineColor,
width: options.lineWidth,
widgetType: "chart",
type: type,
opacity: -1 !== type.indexOf("area") ? this._allOptions.areaOpacity : void 0,
point: {
size: options.pointSize,
symbol: options.pointSymbol,
border: {
visible: true,
width: 2
},
color: options.pointColor,
visible: false,
hoverStyle: {
border: {}
},
selectionStyle: {
border: {}
}
},
border: {
color: options.lineColor,
width: options.lineWidth,
visible: "bar" !== type
}
}
},
_getCustomizeFunction: function() {
var options = this._allOptions;
var dataSource = this._winlossDataSource || this._simpleDataSource;
var drawnPointIndexes = this._getExtremumPointsIndexes(dataSource);
var customizeFunction;
if ("winloss" === options.type || "bar" === options.type) {
customizeFunction = function(pointIndexes, options, winlossData) {
return function() {
var index = this.index;
var isWinloss = "winloss" === options.type;
var target = isWinloss ? options.winlossThreshold : 0;
var value = isWinloss ? winlossData[index][options.valueField] : this.value;
var positiveColor = isWinloss ? options.winColor : options.barPositiveColor;
var negativeColor = isWinloss ? options.lossColor : options.barNegativeColor;
return {
color: selectPointColor(value >= target ? positiveColor : negativeColor, options, index, pointIndexes)
}
}
}(drawnPointIndexes, options, this._winlossDataSource)
} else {
customizeFunction = function(pointIndexes, options) {
return function() {
var color = selectPointColor(void 0, options, this.index, pointIndexes);
return color ? {
visible: true,
border: {
color: color
}
} : {}
}
}(drawnPointIndexes, options)
}
return customizeFunction
},
_getExtremumPointsIndexes: function(data) {
var options = this._allOptions;
var lastIndex = data.length - 1;
var indexes = {};
this._minMaxIndexes = function(data, valField) {
var firstItem = data[0] || {};
var firstValue = firstItem[valField] || 0;
var min = firstValue;
var max = firstValue;
var minIndexes = [0];
var maxIndexes = [0];
var dataLength = data.length;
var value;
var i;
for (i = 1; i < dataLength; i++) {
value = data[i][valField];
if (value < min) {
min = value;
minIndexes = [i]
} else if (value === min) {
minIndexes.push(i)
}
if (value > max) {
max = value;
maxIndexes = [i]
} else if (value === max) {
maxIndexes.push(i)
}
}
if (max === min) {
minIndexes = maxIndexes = []
}
return {
minIndexes: minIndexes,
maxIndexes: maxIndexes
}
}(data, options.valueField);
if (options.showFirstLast) {
indexes.first = 0;
indexes.last = lastIndex
}
if (options.showMinMax) {
indexes.min = this._minMaxIndexes.minIndexes;
indexes.max = this._minMaxIndexes.maxIndexes
}
return indexes
},
_getStick: function() {
return {
stick: "bar" !== this._series.type
}
},
_updateRange: function() {
var series = this._series;
var type = series.type;
var isBarType = "bar" === type;
var isWinlossType = "winloss" === type;
var rangeData = series.getRangeData();
var minValue = this._allOptions.minValue;
var hasMinY = (0, _type.isDefined)(minValue) && _isFinite(minValue);
var maxValue = this._allOptions.maxValue;
var hasMaxY = (0, _type.isDefined)(maxValue) && _isFinite(maxValue);
var argCoef;
var valCoef = .15 * (rangeData.val.max - rangeData.val.min);
if (isBarType || isWinlossType || "area" === type) {
if (0 !== rangeData.val.min) {
rangeData.val.min -= valCoef
}
if (0 !== rangeData.val.max) {
rangeData.val.max += valCoef
}
} else {
rangeData.val.min -= valCoef;
rangeData.val.max += valCoef
}
if (hasMinY || hasMaxY) {
if (hasMinY && hasMaxY) {
rangeData.val.minVisible = _min(minValue, maxValue);
rangeData.val.maxVisible = _max(minValue, maxValue)
} else {
rangeData.val.minVisible = hasMinY ? _Number(minValue) : void 0;
rangeData.val.maxVisible = hasMaxY ? _Number(maxValue) : void 0
}
if (isWinlossType) {
rangeData.val.minVisible = hasMinY ? _max(rangeData.val.minVisible, -1) : void 0;
rangeData.val.maxVisible = hasMaxY ? _min(rangeData.val.maxVisible, 1) : void 0
}
}
if (series.getPoints().length > 1) {
if (isBarType) {
argCoef = .1 * (rangeData.arg.max - rangeData.arg.min);
rangeData.arg.min = rangeData.arg.min - argCoef;
rangeData.arg.max = rangeData.arg.max + argCoef
}
}
rangeData.arg.categories = this._groupsDataCategories;
this._ranges = rangeData
},
_getBarWidth: function(pointsCount) {
var canvas = this._canvas;
var intervalWidth = 4 * pointsCount;
var rangeWidth = canvas.width - canvas.left - canvas.right - intervalWidth;
var width = _round(rangeWidth / pointsCount);
if (width < 1) {
width = 1
}
if (width > 50) {
width = 50
}
return width
},
_correctPoints: function() {
var seriesType = this._allOptions.type;
var seriesPoints = this._series.getPoints();
var pointsLength = seriesPoints.length;
var barWidth;
var i;
if ("bar" === seriesType || "winloss" === seriesType) {
barWidth = this._getBarWidth(pointsLength);
for (i = 0; i < pointsLength; i++) {
seriesPoints[i].correctCoordinates({
width: barWidth,
offset: 0
})
}
}
},
_drawSeries: function() {
if (this._simpleDataSource.length > 0) {
this._correctPoints();
this._series.draw();
this._seriesGroup.append(this._renderer.root)
}
},
_isTooltipEnabled: function() {
return !!this._simpleDataSource.length
},
_getTooltipData: function() {
var options = this._allOptions;
var dataSource = this._winlossDataSource || this._simpleDataSource;
var tooltip = this._tooltip;
if (0 === dataSource.length) {
return {}
}
var minMax = this._minMaxIndexes;
var valueField = options.valueField;
var first = dataSource[0][valueField];
var last = dataSource[dataSource.length - 1][valueField];
var min = (0, _type.isDefined)(minMax.minIndexes[0]) ? dataSource[minMax.minIndexes[0]][valueField] : first;
var max = (0, _type.isDefined)(minMax.maxIndexes[0]) ? dataSource[minMax.maxIndexes[0]][valueField] : first;
var formattedFirst = tooltip.formatValue(first);
var formattedLast = tooltip.formatValue(last);
var formattedMin = tooltip.formatValue(min);
var formattedMax = tooltip.formatValue(max);
var customizeObject = {
firstValue: formattedFirst,
lastValue: formattedLast,
minValue: formattedMin,
maxValue: formattedMax,
originalFirstValue: first,
originalLastValue: last,
originalMinValue: min,
originalMaxValue: max,
valueText: ["Start:", formattedFirst, "End:", formattedLast, "Min:", formattedMin, "Max:", formattedMax]
};
if ("winloss" === options.type) {
customizeObject.originalThresholdValue = options.winlossThreshold;
customizeObject.thresholdValue = tooltip.formatValue(options.winlossThreshold)
}
return customizeObject
}
});
(0, _utils.map)(["lineColor", "lineWidth", "areaOpacity", "minColor", "maxColor", "barPositiveColor", "barNegativeColor", "winColor", "lessColor", "firstLastColor", "pointSymbol", "pointColor", "pointSize", "type", "argumentField", "valueField", "winlossThreshold", "showFirstLast", "showMinMax", "ignoreEmptyPoints", "minValue", "maxValue"], (function(name) {
dxSparkline.prototype._optionChangesMap[name] = "OPTIONS"
}));
(0, _component_registrator.default)("dxSparkline", dxSparkline);
var _default = dxSparkline;
exports.default = _default;
dxSparkline.addPlugin(_data_source.plugin);
module.exports = exports.default;
module.exports.default = exports.default
},
/*!***********************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/bullet.js ***!
\***********************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _bullet = (obj = __webpack_require__( /*! ./sparklines/bullet */ 1065), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _default = _bullet.default;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!**********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/sparklines/bullet.js ***!
\**********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 3);
var _base_sparkline = _interopRequireDefault(__webpack_require__( /*! ./base_sparkline */ 517));
var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 8));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var _Number = Number;
var _isFinite = isFinite;
var dxBullet = _base_sparkline.default.inherit({
_rootClassPrefix: "dxb",
_rootClass: "dxb-bullet",
_themeSection: "bullet",
_defaultSize: {
width: 300,
height: 30,
left: 1,
right: 1,
top: 2,
bottom: 2
},
_disposeWidgetElements: function() {
delete this._zeroLevelPath;
delete this._targetPath;
delete this._barValuePath
},
_cleanWidgetElements: function() {
this._zeroLevelPath.remove();
this._targetPath.remove();
this._barValuePath.remove()
},
_drawWidgetElements: function() {
this._drawBullet();
this._drawn()
},
_createHtmlElements: function() {
var renderer = this._renderer;
this._zeroLevelPath = renderer.path(void 0, "line").attr({
class: "dxb-zero-level",
"stroke-linecap": "square"
});
this._targetPath = renderer.path(void 0, "line").attr({
class: "dxb-target",
"stroke-linecap": "square"
});
this._barValuePath = renderer.path(void 0, "line").attr({
class: "dxb-bar-value",
"stroke-linecap": "square"
})
},
_prepareOptions: function() {
var options;
var startScaleValue;
var endScaleValue;
var level;
var value;
var target;
this._allOptions = options = this.callBase();
var isValueUndefined = void 0 === this._allOptions.value;
var isTargetUndefined = void 0 === this._allOptions.target;
this._tooltipEnabled = !(isValueUndefined && isTargetUndefined);
if (isValueUndefined) {
this._allOptions.value = 0
}
if (isTargetUndefined) {
this._allOptions.target = 0
}
options.value = value = _Number(options.value);
options.target = target = _Number(options.target);
if (void 0 === this._allOptions.startScaleValue) {
this._allOptions.startScaleValue = target < value ? target : value;
this._allOptions.startScaleValue = this._allOptions.startScaleValue < 0 ? this._allOptions.startScaleValue : 0
}
if (void 0 === this._allOptions.endScaleValue) {
this._allOptions.endScaleValue = target > value ? target : value
}
options.startScaleValue = startScaleValue = _Number(options.startScaleValue);
options.endScaleValue = endScaleValue = _Number(options.endScaleValue);
if (endScaleValue < startScaleValue) {
level = endScaleValue;
this._allOptions.endScaleValue = startScaleValue;
this._allOptions.startScaleValue = level;
this._allOptions.inverted = true
}
},
_updateRange: function() {
var options = this._allOptions;
this._ranges = {
arg: {
invert: options.rtlEnabled ? !options.inverted : options.inverted,
min: options.startScaleValue,
max: options.endScaleValue,
axisType: "continuous",
dataType: "numeric"
},
val: {
min: 0,
max: 1,
axisType: "continuous",
dataType: "numeric"
}
}
},
_drawBullet: function() {
var options = this._allOptions;
var isValidBounds = options.startScaleValue !== options.endScaleValue;
var isValidMin = _isFinite(options.startScaleValue);
var isValidMax = _isFinite(options.endScaleValue);
var isValidValue = _isFinite(options.value);
var isValidTarget = _isFinite(options.target);
if (isValidBounds && isValidMax && isValidMin && isValidTarget && isValidValue) {
this._drawBarValue();
this._drawTarget();
this._drawZeroLevel()
}
},
_getTargetParams: function() {
var options = this._allOptions;
var translatorY = this._valueAxis.getTranslator();
var x = this._argumentAxis.getTranslator().translate(options.target);
return {
points: [x, translatorY.translate(.02), x, translatorY.translate(.98)],
stroke: options.targetColor,
"stroke-width": options.targetWidth
}
},
_getBarValueParams: function() {
var options = this._allOptions;
var translatorX = this._argumentAxis.getTranslator();
var translatorY = this._valueAxis.getTranslator();
var startLevel = options.startScaleValue;
var endLevel = options.endScaleValue;
var value = options.value;
var y2 = translatorY.translate(.1);
var y1 = translatorY.translate(.9);
var x1;
var x2;
if (value > 0) {
x1 = startLevel <= 0 ? 0 : startLevel;
x2 = value >= endLevel ? endLevel : value < x1 ? x1 : value
} else {
x1 = endLevel >= 0 ? 0 : endLevel;
x2 = value < startLevel ? startLevel : value > x1 ? x1 : value
}
x1 = translatorX.translate(x1);
x2 = translatorX.translate(x2);
return {
points: [x1, y1, x2, y1, x2, y2, x1, y2],
fill: options.color
}
},
_getCorrectCanvas: function() {
return this._canvas
},
_getZeroLevelParams: function() {
var translatorY = this._valueAxis.getTranslator();
var x = this._argumentAxis.getTranslator().translate(0);
return {
points: [x, translatorY.translate(.02), x, translatorY.translate(.98)],
stroke: this._allOptions.targetColor,
"stroke-width": 1
}
},
_drawZeroLevel: function() {
var options = this._allOptions;
if (0 > options.endScaleValue || 0 < options.startScaleValue || !options.showZeroLevel) {
return
}
this._zeroLevelPath.attr(this._getZeroLevelParams()).sharp().append(this._renderer.root)
},
_drawTarget: function() {
var options = this._allOptions;
var target = options.target;
if (target > options.endScaleValue || target < options.startScaleValue || !options.showTarget) {
return
}
this._targetPath.attr(this._getTargetParams()).sharp().append(this._renderer.root)
},
_drawBarValue: function() {
this._barValuePath.attr(this._getBarValueParams()).append(this._renderer.root)
},
_getTooltipCoords: function() {
var canvas = this._canvas;
var rootOffset = this._renderer.getRootOffset();
var bBox = this._barValuePath.getBBox();
return {
x: bBox.x + bBox.width / 2 + rootOffset.left,
y: canvas.height / 2 + rootOffset.top
}
},
_getTooltipData: function() {
var tooltip = this._tooltip;
var options = this._allOptions;
var value = options.value;
var target = options.target;
var valueText = tooltip.formatValue(value);
var targetText = tooltip.formatValue(target);
return {
originalValue: value,
originalTarget: target,
value: valueText,
target: targetText,
valueText: ["Actual Value:", valueText, "Target Value:", targetText]
}
},
_isTooltipEnabled: function() {
return this._tooltipEnabled
}
});
(0, _iterator.each)(["color", "targetColor", "targetWidth", "showTarget", "showZeroLevel", "value", "target", "startScaleValue", "endScaleValue"], (function(_, name) {
dxBullet.prototype._optionChangesMap[name] = "OPTIONS"
}));
(0, _component_registrator.default)("dxBullet", dxBullet);
var _default = dxBullet;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/tree_map.js ***!
\*************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _tree_map = (obj = __webpack_require__( /*! ./tree_map/tree_map */ 1067), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _default = _tree_map.default;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!**********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tree_map.js ***!
\**********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _tree_map = (obj = __webpack_require__( /*! ./tree_map.base */ 114), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
__webpack_require__( /*! ./tiling.squarified */ 518);
__webpack_require__( /*! ./tiling.strip */ 1068);
__webpack_require__( /*! ./tiling.slice_and_dice */ 1069);
__webpack_require__( /*! ./tiling.rotated_slice_and_dice */ 1070);
__webpack_require__( /*! ./colorizing.discrete */ 520);
__webpack_require__( /*! ./colorizing.gradient */ 1071);
__webpack_require__( /*! ./colorizing.range */ 1072);
__webpack_require__( /*! ./api */ 172);
__webpack_require__( /*! ./hover */ 521);
__webpack_require__( /*! ./selection */ 1073);
__webpack_require__( /*! ./tooltip */ 523);
__webpack_require__( /*! ./tracker */ 1074);
__webpack_require__( /*! ./drilldown */ 1075);
__webpack_require__( /*! ./plain_data_source */ 1076);
var _export = __webpack_require__( /*! ../core/export */ 113);
var _title = __webpack_require__( /*! ../core/title */ 129);
var _loading_indicator = __webpack_require__( /*! ../core/loading_indicator */ 151);
var _default = _tree_map.default;
exports.default = _default;
_tree_map.default.addPlugin(_export.plugin);
_tree_map.default.addPlugin(_title.plugin);
_tree_map.default.addPlugin(_loading_indicator.plugin);
module.exports = exports.default;
module.exports.default = exports.default
},
/*!**************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tiling.strip.js ***!
\**************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _tilingSquarified = (obj = __webpack_require__( /*! ./tiling.squarified.base */ 519), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _tiling = __webpack_require__( /*! ./tiling */ 171);
function accumulate(total, current, count) {
return ((count - 1) * total + current) / count
}
function strip(data) {
return (0, _tilingSquarified.default)(data, accumulate, true)
}(0, _tiling.addAlgorithm)("strip", strip);
var _default = strip;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!***********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tiling.slice_and_dice.js ***!
\***********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _tiling = __webpack_require__( /*! ./tiling */ 171);
function sliceAndDice(data) {
var items = data.items;
var sidesData = (0, _tiling.buildSidesData)(data.rect, data.directions, data.isRotated ? 1 : 0);
(0, _tiling.calculateRectangles)(items, 0, data.rect, sidesData, {
sum: data.sum,
count: items.length,
side: sidesData.variedSide
})
}(0, _tiling.addAlgorithm)("sliceanddice", sliceAndDice);
var _default = sliceAndDice;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*******************************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tiling.rotated_slice_and_dice.js ***!
\*******************************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _tiling = __webpack_require__( /*! ./tiling */ 171);
var sliceAndDiceAlgorithm = (0, _tiling.getAlgorithm)("sliceanddice");
(0, _tiling.addAlgorithm)("rotatedsliceanddice", (function(data) {
data.isRotated = !data.isRotated;
return sliceAndDiceAlgorithm.call(this, data)
}))
},
/*!*********************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/tree_map/colorizing.gradient.js ***!
\*********************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _colorizing = __webpack_require__( /*! ./colorizing */ 235);
var _min = Math.min;
var _max = Math.max;
function getRangeData(range) {
return [Number(range[0]) || 0, range[1] - range[0] || 1]
}
function createGuessingColorizer(getColor, getValue) {
var ranges = {};
return function(node) {
var parent = node.parent;
return getColor(node, ranges[parent._id] || (ranges[parent._id] = function(nodes, getValue) {
var i;
var ii = nodes.length;
var codes = [];
var code;
for (i = 0; i < ii; ++i) {
code = getValue(nodes[i]);
if (isFinite(code)) {
codes.push(code)
}
}
return getRangeData([_min.apply(null, codes), _max.apply(null, codes)])
}(parent.nodes, getValue)))
}
}
function gradientColorizer(options, themeManager) {
var palette = themeManager.createGradientPalette(options.palette);
var getValue = (0, _colorizing.createColorCodeGetter)(options);
return "range" in options ? function(getColor, range) {
return function(node) {
return getColor(node, range)
}
}(getColor, getRangeData(options.range || [])) : createGuessingColorizer(getColor, getValue);
function getColor(node, arg) {
return palette.getColor((getValue(node) - arg[0]) / arg[1])
}
}(0, _colorizing.addColorizer)("gradient", gradientColorizer);
var _default = gradientColorizer;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!******************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/tree_map/colorizing.range.js ***!
\******************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _colorizing = __webpack_require__( /*! ./colorizing */ 235);
function rangeColorizer(options, themeManager) {
var range = options.range || [];
var palette = themeManager.createDiscretePalette(options.palette, range.length - 1);
var getValue = (0, _colorizing.createColorCodeGetter)(options);
return function(node) {
return palette.getColor(function(value, items) {
var start = 0;
var end = items.length - 1;
var index = -1;
var middle;
if (items[start] <= value && value <= items[end]) {
if (value === items[end]) {
index = end - 1
} else {
while (end - start > 1) {
middle = start + end >> 1;
if (value < items[middle]) {
end = middle
} else {
start = middle
}
}
index = start
}
}
return index
}(getValue(node), range))
}
}(0, _colorizing.addColorizer)("range", rangeColorizer);
var _default = rangeColorizer;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!***********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/tree_map/selection.js ***!
\***********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _tree_map = _interopRequireDefault(__webpack_require__( /*! ./tree_map.base */ 114));
var _node = _interopRequireDefault(__webpack_require__( /*! ./node */ 194));
var _helpers = __webpack_require__( /*! ../core/helpers */ 168);
var _common = __webpack_require__( /*! ./common */ 329);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _array = __webpack_require__( /*! ../../core/utils/array */ 12);
__webpack_require__( /*! ./api */ 172);
__webpack_require__( /*! ./states */ 522);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var proto = _tree_map.default.prototype;
var nodeProto = _node.default.prototype;
proto._eventsMap.onSelectionChanged = {
name: "selectionChanged"
};
(0, _helpers.expand)(proto._handlers, "calculateAdditionalStates", (function(states, options) {
states[2] = options.selectionStyle ? (0, _common.buildRectAppearance)(options.selectionStyle) : {}
}));
nodeProto.statesMap[2] = nodeProto.statesMap[3] = 2;
nodeProto.additionalStates.push(2);
(0, _helpers.expand)(proto, "_onNodesCreated", (function() {
this._selectionList.length = 0
}));
(0, _helpers.expand)(proto, "_extendProxyType", (function(proto) {
var that = this;
proto.select = function(state) {
that._selectNode(this._id, !!state)
};
proto.isSelected = function() {
return (0, _array.inArray)(this._id, that._selectionList) >= 0
};
that._selectionList = []
}));
_tree_map.default.addChange({
code: "SELECTION_MODE",
handler: function() {
var option = (0, _utils.normalizeEnum)(this._getOption("selectionMode", true));
var selectionList = this._selectionList;
var tmp;
var mode = "none" === option ? 0 : "multiple" === option ? 2 : 1;
if (1 === mode && selectionList.length > 1) {
tmp = selectionList.pop();
this.clearSelection();
selectionList.push(tmp)
} else if (0 === mode) {
this.clearSelection()
}
this._selectionMode = mode
},
isThemeDependent: true,
isOptionChange: true,
option: "selectionMode"
});
(0, _helpers.expand)(proto, "_applyTilesAppearance", (function() {
if (this._selectionList.length) {
! function(nodes, selectionList) {
var i;
var ii = selectionList.length;
var node;
for (i = 0; i < ii; ++i) {
node = nodes[selectionList[i]];
tileToFront[Number(node.isNode())](node.tile)
}
}(this._nodes, this._selectionList)
}
}));
var tileToFront = [function(content) {
content.toForeground()
}, function(content) {
content.outer.toForeground();
content.inner.toForeground()
}];
proto._applySelectionState = function(index, state) {
var node = this._nodes[index];
node.setState(2, state);
this._eventTrigger("selectionChanged", {
node: node.proxy
})
};
proto._selectNode = function(index, state) {
var selectionList;
var k;
var tmp;
if (0 !== this._selectionMode) {
this._context.suspend();
selectionList = this._selectionList;
k = (0, _array.inArray)(index, selectionList);
if (state && -1 === k) {
if (1 === this._selectionMode) {
if (selectionList.length) {
tmp = selectionList.pop();
this._applySelectionState(tmp, false)
}
}
selectionList.push(index);
this._applySelectionState(index, true)
} else if (!state && k >= 0) {
selectionList.splice(k, 1);
this._applySelectionState(index, false)
}
this._context.resume()
}
};
proto.clearSelection = function() {
var selectionList = this._selectionList;
var i;
var ii = selectionList.length;
if (0 !== this._selectionMode) {
this._context.suspend();
for (i = 0; i < ii; ++i) {
this._applySelectionState(selectionList[i], false)
}
selectionList.length = 0;
this._context.resume()
}
}
},
/*!*********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tracker.js ***!
\*********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _tree_map = (obj = __webpack_require__( /*! ./tree_map.base */ 114), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _tracker = __webpack_require__( /*! ../components/tracker */ 330);
var _helpers = __webpack_require__( /*! ../core/helpers */ 168);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
__webpack_require__( /*! ./api */ 172);
__webpack_require__( /*! ./hover */ 521);
__webpack_require__( /*! ./tooltip */ 523);
var dataKeyModifier = 0;
var proto = _tree_map.default.prototype;
proto._eventsMap.onClick = {
name: "click"
};
(0, _helpers.expand)(proto, "_initCore", (function() {
var that = this;
var dataKey = function() {
var dataKey = "__treemap_data_" + dataKeyModifier++;
return dataKey
}();
var getProxy = function(index) {
return that._nodes[index].proxy
};
that._tracker = new _tracker.Tracker({
widget: that,
root: that._renderer.root,
getNode: function(id) {
var proxy = getProxy(id);
var interactWithGroup = (0, _utils.parseScalar)(that._getOption("interactWithGroup", true));
return interactWithGroup && proxy.isLeaf() && proxy.getParent().isActive() ? proxy.getParent() : proxy
},
getData: function(e) {
var target = e.target;
return ("tspan" === target.tagName ? target.parentNode : target)[dataKey]
},
getProxy: getProxy,
click: function(e) {
that._eventTrigger("click", e)
}
});
that._handlers.setTrackerData = function(node, element) {
element.data(dataKey, node._id)
}
}));
(0, _helpers.expand)(proto, "_disposeCore", (function() {
this._tracker.dispose()
}))
},
/*!***********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/tree_map/drilldown.js ***!
\***********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _tree_map = (obj = __webpack_require__( /*! ./tree_map.base */ 114), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _helpers = __webpack_require__( /*! ../core/helpers */ 168);
__webpack_require__( /*! ./api */ 172);
var proto = _tree_map.default.prototype;
proto._eventsMap.onDrill = {
name: "drill"
};
(0, _helpers.expand)(proto, "_extendProxyType", (function(proto) {
var that = this;
proto.drillDown = function() {
that._drillToNode(this._id)
}
}));
(0, _helpers.expand)(proto, "_onNodesCreated", (function() {
this._drilldownIndex = -1
}));
proto._drillToNode = function(index) {
var node;
if (this._drilldownIndex !== index) {
node = this._nodes[index] || this._root;
if (node.nodes) {
this._drilldownIndex = index;
this._topNode = node;
this._context.suspend();
this._context.change(["MAX_DEPTH", "NODES_RESET"]);
this._context.resume();
this._eventTrigger("drill", {
node: node.proxy
})
}
}
};
proto.resetDrillDown = function() {
this._drillToNode(-1);
return this
};
proto.drillUp = function() {
this._drillToNode(this._topNode.parent._id || -1);
return this
};
proto.getCurrentNode = function() {
return this._topNode.proxy
}
},
/*!*******************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/tree_map/plain_data_source.js ***!
\*******************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
var _tree_map = (obj = __webpack_require__( /*! ./tree_map.base */ 114), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var proto = _tree_map.default.prototype;
proto._optionChangesMap.idField = proto._optionChangesMap.parentField = "NODES_CREATE";
proto._processDataSourceItems = function(items) {
var i;
var struct = {};
var currentItem;
var idField = this._getOption("idField", true);
var parentField = this._getOption("parentField", true);
var parentId;
var rootNodes = [];
var tmpItems;
var item;
if (!idField || !parentField || 0 === items.length) {
return {
items: items,
isPlain: false
}
}
for (i = 0; i < items.length; i++) {
currentItem = items[i];
parentId = currentItem[parentField];
if (parentId) {
struct[parentId] = struct[parentId] || {
items: []
};
tmpItems = struct[parentId].items
} else {
tmpItems = rootNodes
}
tmpItems.push(currentItem)
}! function treeFiller(context, items) {
var currentItem;
var i;
var struct = context.struct;
var id;
for (i = 0; i < items.length; i++) {
currentItem = items[i];
id = currentItem[context.idField];
if (struct[id]) {
currentItem.items = struct[id].items;
struct[id] = null;
treeFiller(context, currentItem.items)
}
}
}({
struct: struct,
idField: idField
}, rootNodes);
for (item in struct) {
struct[item] && rootNodes.push(struct[item])
}
return {
items: rootNodes,
isPlain: true
}
}
},
/*!***********************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/funnel.js ***!
\***********************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _funnel = (obj = __webpack_require__( /*! ./funnel/funnel */ 524), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _label = __webpack_require__( /*! ./funnel/label */ 1082);
var _export = __webpack_require__( /*! ./core/export */ 113);
var _title = __webpack_require__( /*! ./core/title */ 129);
var _legend = __webpack_require__( /*! ./components/legend */ 228);
var _tracker = __webpack_require__( /*! ./funnel/tracker */ 1083);
var _tooltip = __webpack_require__( /*! ./funnel/tooltip */ 1084);
var _loading_indicator = __webpack_require__( /*! ./core/loading_indicator */ 151);
_funnel.default.addPlugin(_label.plugin);
_funnel.default.addPlugin(_export.plugin);
_funnel.default.addPlugin(_title.plugin);
_funnel.default.addPlugin(_legend.plugin);
_funnel.default.addPlugin(_tracker.plugin);
_funnel.default.addPlugin(_tooltip.plugin);
_funnel.default.addPlugin(_loading_indicator.plugin);
var _default = _funnel.default;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!******************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/funnel/tiling.js ***!
\******************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.getAlgorithm = function(name) {
return algorithms[(0, _utils.normalizeEnum)(name)] || defaultAlgorithm
};
exports.addAlgorithm = function(name, callback, setDefault) {
algorithms[name] = callback;
if (setDefault) {
defaultAlgorithm = algorithms[name]
}
};
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var algorithms = {};
var defaultAlgorithm
},
/*!*************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/funnel/tiling.funnel.js ***!
\*************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _default = {
getFigures: function(data) {
var height = 1 / data.length;
return data.map((function(value, index, array) {
var nextValue = array[index + 1] ? array[index + 1] : array[index];
return [.5 - value / 2, height * index, .5 + value / 2, height * index, .5 + nextValue / 2, height * (index + 1), .5 - nextValue / 2, height * (index + 1)]
}))
},
normalizeValues: function(items) {
var max = items.reduce((function(max, item) {
return Math.max(item.value, max)
}), items[0] && items[0].value || 0);
return items.map((function(item) {
return item.value / max
}))
}
};
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!**************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/funnel/tiling.pyramid.js ***!
\**************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _default = {
getFigures: function(data, neckWidth, neckHeight) {
var height = 0;
var y = 0;
var x = 0;
var offsetX = 0;
var halfNeckWidth = neckWidth / 2;
var offsetFromCorner = .5 - halfNeckWidth;
var funnelHeight = 1 - neckHeight;
var neckLeftCorner = .5 - halfNeckWidth;
var neckRightCorner = .5 + halfNeckWidth;
return data.map((function(value) {
x = offsetX;
y = height;
height += value;
offsetX = offsetFromCorner * height / funnelHeight;
if (y <= funnelHeight && height <= funnelHeight) {
return [x, y, 1 - x, y, 1 - offsetX, height, 0 + offsetX, height]
} else if (y <= funnelHeight && height > funnelHeight) {
return [x, y, 1 - x, y, neckRightCorner, funnelHeight, neckRightCorner, height, neckLeftCorner, height, neckLeftCorner, funnelHeight]
} else {
return [neckLeftCorner, y, neckRightCorner, y, neckRightCorner, height, neckLeftCorner, height]
}
}))
},
normalizeValues: function(items) {
var sum = items.reduce((function(sum, item) {
return sum + item.value
}), 0);
return items.map((function(item) {
return item.value / sum
}))
}
};
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!****************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/funnel/item.js ***!
\****************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var states = ["normal", "hover", "selection", "selection"];
function parseStyles(color, style, baseStyle) {
var border = style.border;
var baseBorder = baseStyle.border;
var borderVisible = (0, _type.isDefined)(border.visible) ? border.visible : baseBorder.visible;
var borderWidth = (0, _type.isDefined)(border.width) ? border.width : baseBorder.width;
return {
fill: color,
hatching: style.hatching,
stroke: border.color || baseBorder.color,
"stroke-width": borderVisible ? borderWidth : 0
}
}
function Item(widget, options) {
var data = options.data;
this.code = 0;
this.widget = widget;
this.figure = options.figure;
this.argument = data.argument;
this.value = data.value;
this.data = data.dataItem;
this.percent = options.percent;
this.id = options.id;
this.color = options.color;
this.states = {
normal: parseStyles(options.color, options.itemOptions, options.itemOptions),
hover: parseStyles(options.color, options.itemOptions.hoverStyle, options.itemOptions),
selection: parseStyles(options.color, options.itemOptions.selectionStyle, options.itemOptions)
}
}
Item.prototype = {
getState: function() {
return states[this.code]
},
getNormalStyle: function() {
return this.states.normal
},
setHover: function() {
this.hover(true)
},
hover: function(state) {
if (!this.widget._getOption("hoverEnabled", true) || state === this.isHovered()) {
return
}
this.widget._suspend();
state && this.widget.clearHover();
this.setState(1, state);
this.widget._eventTrigger("hoverChanged", {
item: this
});
this.widget._resume()
},
setState: function(code, state) {
if (state) {
this.code |= code
} else {
this.code &= ~code
}
this.widget._applyTilesAppearance()
},
select: function(state) {
var mode = this.widget._getOption("selectionMode", true);
if ("none" === mode || state === this.isSelected()) {
return
}
this.widget._suspend();
if (state && "multiple" !== mode) {
this.widget.clearSelection()
}
this.setState(2, state);
this.widget._eventTrigger("selectionChanged", {
item: this
});
this.widget._resume()
},
showTooltip: function(coords) {
this.widget._showTooltip(this.id, coords)
},
getColor: function() {
return this.color
},
isHovered: function() {
return !!(1 & this.code)
},
isSelected: function() {
return !!(2 & this.code)
}
};
var _default = Item;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*****************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/funnel/label.js ***!
\*****************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.plugin = void 0;
var _label = __webpack_require__( /*! ../series/points/label */ 325);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var _extend = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _common = __webpack_require__( /*! ../../core/utils/common */ 4);
function _slicedToArray(arr, i) {
return function(arr) {
if (Array.isArray(arr)) {
return arr
}
}(arr) || function(arr, i) {
var _i = null == arr ? null : "undefined" !== typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
if (null == _i) {
return
}
var _arr = [];
var _n = true;
var _d = false;
var _s, _e;
try {
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
_arr.push(_s.value);
if (i && _arr.length === i) {
break
}
}
} catch (err) {
_d = true;
_e = err
} finally {
try {
if (!_n && null != _i.return) {
_i.return()
}
} finally {
if (_d) {
throw _e
}
}
}
return _arr
}(arr, i) || _unsupportedIterableToArray(arr, i) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function _toConsumableArray(arr) {
return function(arr) {
if (Array.isArray(arr)) {
return _arrayLikeToArray(arr)
}
}(arr) || function(iter) {
if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) {
return Array.from(iter)
}
}(arr) || _unsupportedIterableToArray(arr) || function() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function _unsupportedIterableToArray(o, minLen) {
if (!o) {
return
}
if ("string" === typeof o) {
return _arrayLikeToArray(o, minLen)
}
var n = Object.prototype.toString.call(o).slice(8, -1);
if ("Object" === n && o.constructor) {
n = o.constructor.name
}
if ("Map" === n || "Set" === n) {
return Array.from(o)
}
if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {
return _arrayLikeToArray(o, minLen)
}
}
function _arrayLikeToArray(arr, len) {
if (null == len || len > arr.length) {
len = arr.length
}
for (var i = 0, arr2 = new Array(len); i < len; i++) {
arr2[i] = arr[i]
}
return arr2
}
function isOutsidePosition(pos) {
pos = (0, _utils.normalizeEnum)(pos);
return "outside" === pos || "inside" !== pos
}
function correctYForInverted(y, bBox, inverted) {
return inverted ? y - bBox.height : y
}
function getOutsideRightLabelPosition(coords, bBox, options, inverted) {
return {
x: coords[2] + options.horizontalOffset + 5,
y: correctYForInverted(coords[3] + options.verticalOffset, bBox, inverted)
}
}
function getOutsideLeftLabelPosition(coords, bBox, options, inverted) {
return {
x: coords[0] - bBox.width - options.horizontalOffset - 5,
y: correctYForInverted(coords[1] + options.verticalOffset, bBox, inverted)
}
}
function getInsideLabelPosition(coords, bBox, options) {
var width = coords[2] - coords[0];
var height = coords[7] - coords[1];
return {
x: coords[0] + width / 2 + options.horizontalOffset - bBox.width / 2,
y: coords[1] + options.verticalOffset + height / 2 - bBox.height / 2
}
}
var plugin = {
name: "lables",
init: _common.noop,
dispose: _common.noop,
extenders: {
_initCore: function() {
this._labelsGroup = this._renderer.g().attr({
class: this._rootClassPrefix + "-labels"
}).append(this._renderer.root);
this._labels = []
},
_applySize: function() {
var options = this._getOption("label");
var adaptiveLayout = this._getOption("adaptiveLayout");
var rect = this._rect;
var labelWidth = 0;
var width = rect[2] - rect[0];
this._labelRect = rect.slice();
if (!this._labels.length || !isOutsidePosition(options.position)) {
if ((0, _utils.normalizeEnum)("none" !== this._getOption("resolveLabelOverlapping", true))) {
this._labels.forEach((function(l) {
return !l.isVisible() && l.draw(true)
}))
}
return
}
var groupWidth = this._labels.map((function(label) {
label.resetEllipsis();
return label.getBoundingRect().width
})).reduce((function(max, width) {
return Math.max(max, width)
}), 0);
labelWidth = groupWidth + options.horizontalOffset + function(pos) {
pos = (0, _utils.normalizeEnum)(pos);
if ("outside" === pos) {
return 5
} else if ("inside" === pos) {
return 0
}
return 20
}(options.position);
if (!adaptiveLayout.keepLabels && width - labelWidth < adaptiveLayout.width) {
this._labels.forEach((function(label) {
label.draw(false)
}));
return
} else {
if (width - labelWidth < adaptiveLayout.width) {
labelWidth = width - adaptiveLayout.width;
labelWidth = labelWidth > 0 ? labelWidth : 0
}
this._labels.forEach((function(label) {
label.draw(true)
}))
}
if ("left" === options.horizontalAlignment) {
rect[0] += labelWidth
} else {
rect[2] -= labelWidth
}
},
_buildNodes: function() {
this._createLabels()
},
_change_TILING: function() {
var that = this;
var options = that._getOption("label");
var getCoords = getInsideLabelPosition;
var inverted = that._getOption("inverted", true);
var textAlignment;
if (isOutsidePosition(options.position)) {
if ("outside" === (0, _utils.normalizeEnum)(options.position)) {
getCoords = "left" === options.horizontalAlignment ? getOutsideLeftLabelPosition : getOutsideRightLabelPosition
} else {
textAlignment = this._defaultLabelTextAlignment();
getCoords = "left" === options.horizontalAlignment ? function(labelRect, rect, textAlignment) {
return function(coords, bBox, options, inverted) {
return {
x: "left" === textAlignment ? labelRect[0] : rect[0] - bBox.width - options.horizontalOffset - 20,
y: correctYForInverted(coords[3] + options.verticalOffset, bBox, inverted)
}
}
}(this._labelRect, this._rect, textAlignment) : function(labelRect, rect, textAlignment) {
return function(coords, bBox, options, inverted) {
return {
x: "left" === textAlignment ? rect[2] + options.horizontalOffset + 20 : labelRect[2] - bBox.width,
y: correctYForInverted(coords[3] + options.verticalOffset, bBox, inverted)
}
}
}(this._labelRect, this._rect, textAlignment)
}
}
that._labels.forEach((function(label, index) {
var item = that._items[index];
var borderWidth = item.getNormalStyle()["stroke-width"];
var halfBorderWidth = inverted ? borderWidth / 2 : -borderWidth / 2;
var coords = halfBorderWidth ? item.coords.map((function(coord, index) {
if (1 === index || 3 === index) {
return coord - halfBorderWidth
} else if (2 === index) {
return coord - borderWidth
} else if (0 === index) {
return coord + borderWidth
}
return coord
})) : item.coords;
if (!options.showForZeroValues && 0 === item.value) {
label.draw(false);
return
}
if (isOutsidePosition(options.position)) {
that._correctLabelWidth(label, item.coords, options)
}
var bBox = label.getBoundingRect();
var pos = function(pos, bBox, rect) {
if (pos.x < rect[0]) {
pos.x = rect[0]
}
if (pos.x + bBox.width > rect[2]) {
pos.x = rect[2] - bBox.width
}
if (pos.y < rect[1]) {
pos.y = rect[1]
}
if (pos.y + bBox.height > rect[3]) {
pos.y = rect[3] - bBox.height
}
return pos
}(getCoords(coords, bBox, options, inverted), bBox, that._labelRect);
label.setFigureToDrawConnector(coords);
label.shift(pos.x, pos.y)
}));
that._resolveLabelOverlapping()
}
},
members: {
_resolveLabelOverlapping: function() {
var that = this;
var resolveLabelOverlapping = (0, _utils.normalizeEnum)(that._getOption("resolveLabelOverlapping", true));
var labels = this._getOption("inverted", true) ? that._labels.slice().reverse() : that._labels;
if ("hide" === resolveLabelOverlapping) {
labels.reduce((function(height, label) {
if (label.getBoundingRect().y < height) {
label.hide()
} else {
height = label.getBoundingRect().y + label.getBoundingRect().height
}
return height
}), 0)
} else if ("shift" === resolveLabelOverlapping) {
var maxHeight = this._labelRect[3];
labels.reduce((function(_ref, label, index, labels) {
var _ref2 = _slicedToArray(_ref, 2),
height = _ref2[0],
emptySpace = _ref2[1];
var bBox = label.getBoundingRect();
var y = bBox.y;
if (bBox.y < height) {
label.shift(bBox.x, height);
y = height
}
if (y - height > 0) {
emptySpace += y - height
}
if (y + bBox.height > maxHeight) {
if (emptySpace && emptySpace > y + bBox.height - maxHeight) {
! function(labels, requiredSpace, startPoint) {
labels.reduce((function(requiredSpace, label, index, labels) {
var prevLabel = labels[index + 1];
if (requiredSpace > 0) {
var bBox = label.getBoundingRect();
var point = prevLabel ? prevLabel.getBoundingRect().y + prevLabel.getBoundingRect().height : startPoint;
var emptySpace = bBox.y - point;
var shift = Math.min(emptySpace, requiredSpace);
labels.slice(0, index + 1).forEach((function(label) {
var bBox = label.getBoundingRect();
label.shift(bBox.x, bBox.y - shift)
}));
requiredSpace -= shift
}
return requiredSpace
}), requiredSpace)
}(labels.slice(0, index).reverse(), y + bBox.height - maxHeight, that._labelRect[1]);
emptySpace -= y + bBox.height - maxHeight;
label.shift(bBox.x, y - (y + bBox.height - maxHeight));
height = y - (y + bBox.height - maxHeight) + bBox.height
} else {
label.hide()
}
} else {
height = y + bBox.height
}
return [height, emptySpace]
}), [this._labelRect[1], 0])
}
},
_defaultLabelTextAlignment: function() {
return this._getOption("rtlEnabled", true) ? "right" : "left"
},
_correctLabelWidth: function(label, item, options) {
var isLeftPos = "left" === options.horizontalAlignment;
var minX = isLeftPos ? this._labelRect[0] : item[2];
var maxX = isLeftPos ? item[0] : this._labelRect[2];
var maxWidth = maxX - minX;
if (label.getBoundingRect().width > maxWidth) {
label.fit(maxWidth)
}
},
_createLabels: function() {
var that = this;
var labelOptions = that._getOption("label");
var connectorStrategy = function(options, inverted) {
var isLeftPos = "left" === options.horizontalAlignment;
var connectorIndent = isLeftPos ? 4 : -4;
var verticalCorrection = inverted ? -1 : 0;
function getFigureCenter(figure) {
return isLeftPos ? [figure[0] + 1, figure[1] + verticalCorrection] : [figure[2] - 1, figure[3] + verticalCorrection]
}
return {
isLabelInside: function() {
return !isOutsidePosition(options.position)
},
getFigureCenter: getFigureCenter,
prepareLabelPoints: function(bBox) {
var x = bBox.x + connectorIndent;
var y = bBox.y;
var x1 = x + bBox.width;
return _toConsumableArray(Array(bBox.height + 1)).map((function(_, i) {
return [x, y + i]
})).concat(_toConsumableArray(Array(bBox.height + 1)).map((function(_, i) {
return [x1, y + i]
})))
},
isHorizontal: function() {
return true
},
findFigurePoint: function(figure) {
return getFigureCenter(figure)
},
adjustPoints: function(points) {
return points.map(Math.round)
}
}
}(labelOptions, that._getOption("inverted", true));
this._labelsGroup.clear();
if (!labelOptions.visible) {
return
}
this._labels = that._items.map((function(item) {
var label = new _label.Label({
renderer: that._renderer,
labelsGroup: that._labelsGroup,
strategy: connectorStrategy
});
label.setOptions(function(labelOptions, defaultColor, defaultTextAlignment) {
var opt = labelOptions || {};
var labelFont = (0, _extend.extend)({}, opt.font) || {};
var labelBorder = opt.border || {};
var labelConnector = opt.connector || {};
var backgroundAttr = {
fill: opt.backgroundColor || defaultColor,
"stroke-width": labelBorder.visible ? labelBorder.width || 0 : 0,
stroke: labelBorder.visible && labelBorder.width ? labelBorder.color : "none",
dashStyle: labelBorder.dashStyle
};
var connectorAttr = {
stroke: labelConnector.visible && labelConnector.width ? labelConnector.color || defaultColor : "none",
"stroke-width": labelConnector.visible ? labelConnector.width || 0 : 0,
opacity: labelConnector.opacity
};
labelFont.color = "none" === opt.backgroundColor && "#ffffff" === (0, _utils.normalizeEnum)(labelFont.color) && "inside" !== opt.position ? defaultColor : labelFont.color;
return {
format: opt.format,
textAlignment: opt.textAlignment || (isOutsidePosition(opt.position) ? defaultTextAlignment : "center"),
customizeText: opt.customizeText,
attributes: {
font: labelFont
},
visible: 0 !== labelFont.size ? opt.visible : false,
showForZeroValues: opt.showForZeroValues,
horizontalOffset: opt.horizontalOffset,
verticalOffset: opt.verticalOffset,
background: backgroundAttr,
connector: connectorAttr,
wordWrap: labelOptions.wordWrap,
textOverflow: labelOptions.textOverflow
}
}(labelOptions, item.color, that._defaultLabelTextAlignment()));
label.setData({
item: item,
value: item.value,
percent: item.percent
});
label.draw(true);
return label
}));
if (this._labels.length && isOutsidePosition(labelOptions.position)) {
this._requestChange(["LAYOUT"])
}
}
},
customize: function(constructor) {
constructor.prototype._proxyData.push((function(x, y) {
var that = this;
var data;
that._labels.forEach((function(label, index) {
var rect = label.getBoundingRect();
if (x >= rect.x && x <= rect.x + rect.width && y >= rect.y && y <= rect.y + rect.height) {
var pos = isOutsidePosition(that._getOption("label").position) ? "outside" : "inside";
data = {
id: index,
type: pos + "-label"
};
return true
}
}));
return data
}));
["label", "resolveLabelOverlapping"].forEach((function(optionName) {
constructor.addChange({
code: optionName.toUpperCase(),
handler: function() {
this._createLabels();
this._requestChange(["LAYOUT"])
},
isThemeDependent: true,
isOptionChange: true,
option: optionName
})
}))
},
fontFields: ["label.font"]
};
exports.plugin = plugin
},
/*!*******************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/funnel/tracker.js ***!
\*******************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.plugin = void 0;
var _funnel = (obj = __webpack_require__( /*! ./funnel */ 524), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _tracker = __webpack_require__( /*! ../components/tracker */ 330);
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var dataKeyModifier = 0;
var proto = _funnel.default.prototype;
proto._eventsMap.onItemClick = {
name: "itemClick"
};
proto._eventsMap.onLegendClick = {
name: "legendClick"
};
var plugin = {
name: "tracker",
init: function() {
var that = this;
var dataKey = "__funnel_data_" + dataKeyModifier++;
var getProxyData = function(e) {
var rootOffset = that._renderer.getRootOffset();
var x = Math.floor(e.pageX - rootOffset.left);
var y = Math.floor(e.pageY - rootOffset.top);
return that._hitTestTargets(x, y)
};
that._tracker = new _tracker.Tracker({
widget: that,
root: that._renderer.root,
getData: function(e, tooltipData) {
var target = e.target;
var data = target[dataKey];
if ((0, _type.isDefined)(data)) {
return data
}
var proxyData = getProxyData(e);
if (tooltipData && proxyData && "inside-label" !== proxyData.type) {
return
}
return proxyData && proxyData.id
},
getNode: function(index) {
return that._items[index]
},
click: function(e) {
var proxyData = getProxyData(e.event);
var dataType = proxyData && proxyData.type;
var event = "legend" === dataType ? "legendClick" : "itemClick";
that._eventTrigger(event, {
item: e.node,
event: e.event
})
}
});
this._dataKey = dataKey
},
dispose: function() {
this._tracker.dispose()
},
extenders: {
_change_TILING: function() {
var dataKey = this._dataKey;
this._items.forEach((function(item, index) {
item.element.data(dataKey, index)
}))
}
}
};
exports.plugin = plugin
},
/*!*******************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/funnel/tooltip.js ***!
\*******************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.plugin = void 0;
var _common = __webpack_require__( /*! ../../core/utils/common */ 4);
var _tooltip = __webpack_require__( /*! ../core/tooltip */ 131);
function getCoords(coords, figureCoords, renderer) {
var offset = renderer.getRootOffset();
return coords || figureCoords && [(figureCoords[0] + figureCoords[2]) / 2 + offset.left, (figureCoords[1] + figureCoords[5]) / 2 + offset.top] || [-1e3, -1e3]
}
var plugin = {
name: "funnel-tooltip",
init: _common.noop,
dispose: _common.noop,
extenders: {
_buildNodes: function() {
this.hideTooltip()
},
_change_TILING: function() {
if (this._tooltipIndex >= 0) {
this._moveTooltip(this._items[this._tooltipIndex])
}
}
},
members: {
hideTooltip: function() {
if (this._tooltipIndex >= 0) {
this._tooltipIndex = -1;
this._tooltip.hide()
}
},
_moveTooltip: function(item, coords) {
var xy = getCoords(coords, item.coords, this._renderer);
this._tooltip.move(xy[0], xy[1], 0)
},
_showTooltip: function(index, coords) {
var that = this;
var tooltip = that._tooltip;
var item = that._items[index];
if (that._tooltipIndex === index) {
that._moveTooltip(item, coords);
return
}
var callback = function(result) {
if (void 0 === result) {
return
}
if (!result) {
tooltip.hide()
}
that._tooltipIndex = result ? index : -1
};
var xy = getCoords(coords, item.coords, this._renderer);
callback(tooltip.show({
value: item.value,
valueText: tooltip.formatValue(item.value),
percentText: tooltip.formatValue(item.percent, "percent"),
percent: item.percent,
item: item
}, {
x: xy[0],
y: xy[1],
offset: 0
}, {
item: item
}, void 0, callback))
}
},
customize: function(constructor) {
constructor.addPlugin(_tooltip.plugin)
}
};
exports.plugin = plugin
},
/*!***********************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/sankey.js ***!
\***********************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _sankey = (obj = __webpack_require__( /*! ./sankey/sankey */ 525), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _tooltip = __webpack_require__( /*! ./sankey/tooltip */ 1090);
var _export = __webpack_require__( /*! ./core/export */ 113);
var _title = __webpack_require__( /*! ./core/title */ 129);
var _tracker = __webpack_require__( /*! ./sankey/tracker */ 1091);
var _tooltip2 = __webpack_require__( /*! ./core/tooltip */ 131);
var _loading_indicator = __webpack_require__( /*! ./core/loading_indicator */ 151);
_sankey.default.addPlugin(_export.plugin);
_sankey.default.addPlugin(_title.plugin);
_sankey.default.addPlugin(_tracker.plugin);
_sankey.default.addPlugin(_loading_indicator.plugin);
_sankey.default.addPlugin(_tooltip2.plugin);
(0, _tooltip.setTooltipCustomOptions)(_sankey.default);
var _default = _sankey.default;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/sankey/node_item.js ***!
\*********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _utils = __webpack_require__( /*! ../core/utils */ 14);
var states = ["normal", "hover"];
function _compileAttrs(color, itemOptions, itemBaseOptions) {
var border = itemOptions.border;
var baseBorder = itemBaseOptions.border;
var borderVisible = (0, _type.isDefined)(border.visible) ? border.visible : baseBorder.visible;
var borderWidth = (0, _type.isDefined)(border.width) ? border.width : baseBorder.width;
var borderOpacity = (0, _type.isDefined)(border.opacity) ? border.opacity : (0, _type.isDefined)(baseBorder.opacity) ? baseBorder.opacity : 1;
var opacity = (0, _type.isDefined)(itemOptions.opacity) ? itemOptions.opacity : (0, _type.isDefined)(itemBaseOptions.opacity) ? itemBaseOptions.opacity : 1;
return {
fill: itemOptions.color || color,
"stroke-width": borderVisible ? borderWidth : 0,
stroke: itemOptions.border.color || itemBaseOptions.border.color,
"stroke-opacity": borderOpacity,
opacity: opacity,
hatching: itemOptions.hatching
}
}
function Node(widget, params) {
var widgetOffset = widget._renderer.getRootOffset();
this.code = 0;
this.widget = widget;
this.color = params.color;
this.options = params.options;
this.rect = params.rect;
this.label = this.title = params.rect._name;
this.coords = {
x: params.rect.x + params.rect.width / 2 + widgetOffset.left,
y: params.rect.y + params.rect.height / 2 + widgetOffset.top
};
this.id = params.id;
this.linksIn = params.linksIn;
this.linksOut = params.linksOut;
this.states = {
normal: _compileAttrs(this.color, this.options, this.options),
hover: _compileAttrs(this.color, this.options.hoverStyle, this.options)
}
}
Node.prototype = {
compileAttrs: function() {
return _compileAttrs(this.color, this.options)
},
getState: function() {
return states[this.code]
},
isHovered: function() {
return !!(1 & this.code)
},
setState: function(code, state) {
var _this = this;
if (state) {
this.code |= code
} else {
this.code &= ~code
}
if (state) {
this.linksIn.concat(this.linksOut).forEach((function(adjacentLink) {
_this.widget._links[adjacentLink.index].setAdjacentNodeHover(true)
}))
} else {
this.widget._links.forEach((function(link) {
link.isAdjacentNodeHovered() && link.adjacentNodeHover(false)
}));
this.hideTooltip()
}
this.widget._applyNodesAppearance();
this.widget._applyLinksAppearance()
},
hover: function(state) {
if (!this.widget._getOption("hoverEnabled", true) || state === this.isHovered()) {
return
}
this.widget._suspend();
state && this.widget.clearHover();
this.setState(1, state);
this.widget._eventTrigger("nodeHoverChanged", {
target: this
});
this.widget._resume()
},
setHover: function() {
this.hover(true)
},
showTooltip: function(coords) {
this.widget._getOption("hoverEnabled", true) && this.widget._tooltip && this.widget._tooltip.show({
type: "node",
info: {
label: this.label,
title: this.label,
weightIn: this.linksIn.reduce((function(previousValue, currentValue) {
return previousValue + currentValue.weight
}), 0),
weightOut: this.linksOut.reduce((function(previousValue, currentValue) {
return previousValue + currentValue.weight
}), 0)
}
}, "undefined" !== typeof coords ? {
x: coords[0],
y: coords[1]
} : this.coords)
},
hideTooltip: function() {
this.widget._tooltip && this.widget._tooltip.hide()
},
getLabelAttributes: function(labelSettings, filter) {
return function(labelOptions, filter, node) {
var _patchFontOptions = _utils.patchFontOptions;
if (labelOptions.useNodeColors) {
labelOptions.font.color = node.color
}
var borderVisible = (0, _type.isDefined)(labelOptions.border.visible) ? labelOptions.border.visible : false;
var borderWidth = (0, _type.isDefined)(labelOptions.border.width) ? labelOptions.border.width : 0;
var borderColor = (0, _type.isDefined)(labelOptions.border.color) ? labelOptions.border.color : labelOptions.font.color;
var borderOpacity = (0, _type.isDefined)(labelOptions.border.opacity) ? labelOptions.border.opacity : 1;
var attr = {
filter: filter
};
if (borderVisible && borderWidth) {
attr.stroke = borderColor;
attr["stroke-width"] = borderVisible ? borderWidth : 0;
attr["stroke-opacity"] = borderOpacity
}
return {
attr: attr,
css: _patchFontOptions(labelOptions.font)
}
}(labelSettings, filter, this)
}
};
var _default = Node;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/sankey/link_item.js ***!
\*********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _constants = __webpack_require__( /*! ./constants */ 526);
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var states = ["normal", "adjacentNodeHover", "hover"];
function compileAttrs(color, itemOptions, itemBaseOptions, gradient) {
var border = itemOptions.border;
var baseBorder = itemBaseOptions.border;
var borderVisible = (0, _type.isDefined)(border.visible) ? border.visible : baseBorder.visible;
var borderWidth = (0, _type.isDefined)(border.width) ? border.width : baseBorder.width;
var borderOpacity = (0, _type.isDefined)(border.opacity) ? border.opacity : (0, _type.isDefined)(baseBorder.opacity) ? baseBorder.opacity : 1;
var opacity = (0, _type.isDefined)(itemOptions.opacity) ? itemOptions.opacity : (0, _type.isDefined)(itemBaseOptions.opacity) ? itemBaseOptions.opacity : 1;
var fill = itemOptions.color || color;
if (itemBaseOptions.colorMode === _constants.COLOR_MODE_TARGET || itemBaseOptions.colorMode === _constants.COLOR_MODE_SOURCE) {
fill = color
} else if (itemBaseOptions.colorMode === _constants.COLOR_MODE_GRADIENT && gradient && (0, _type.isDefined)(gradient.id)) {
fill = gradient.id
}
return {
fill: fill,
"stroke-width": borderVisible ? borderWidth : 0,
stroke: itemOptions.border.color || itemBaseOptions.border.color,
"stroke-opacity": borderOpacity,
opacity: opacity,
hatching: itemOptions.hatching
}
}
function Link(widget, params) {
var widgetOffset = widget._renderer.getRootOffset();
this.code = 0;
this.widget = widget;
this.color = params.color;
this.connection = params.connection;
this.d = params.d;
this.options = params.options;
this.boundingRect = params.boundingRect, this.coords = {
x: params.boundingRect.x + params.boundingRect.width / 2 + widgetOffset.left,
y: params.boundingRect.y + params.boundingRect.height / 2 + widgetOffset.top
};
this.states = {
normal: compileAttrs(this.color, this.options, this.options, params.gradient),
adjacentNodeHover: compileAttrs(this.color, {
opacity: 0,
border: {}
}, this.options, params.gradient),
hover: compileAttrs(this.color, {
opacity: 0,
border: {}
}, this.options, params.gradient)
};
this.overlayStates = {
normal: compileAttrs(this.color, {
opacity: 0,
border: {}
}, this.options),
adjacentNodeHover: compileAttrs(this.color, this.options.hoverStyle, this.options),
hover: compileAttrs(this.color, this.options.hoverStyle, this.options)
}
}
Link.prototype = {
getState: function() {
return states[this.code]
},
isHovered: function() {
return 2 === this.code
},
isAdjacentNodeHovered: function() {
return 1 === this.code
},
setState: function(code, state) {
if (state) {
this.code = code
} else {
this.code = 0;
this.hideTooltip()
}
this.widget._applyLinksAppearance()
},
setHover: function() {
this.hover(true)
},
hover: function(state) {
if (!this.widget._getOption("hoverEnabled", true) || state === this.isHovered()) {
return
}
this.widget._suspend();
state && this.widget.clearHover();
this.setState(2, state);
this.widget._eventTrigger("linkHoverChanged", {
target: this
});
this.widget._resume()
},
adjacentNodeHover: function(state) {
if (!this.widget._getOption("hoverEnabled", true) || state === this.isAdjacentNodeHovered()) {
return
}
this.widget._suspend();
this.setState(1, state);
this.widget._resume()
},
setAdjacentNodeHover: function() {
this.adjacentNodeHover(true)
},
showTooltip: function(coords) {
this.widget._getOption("hoverEnabled", true) && this.widget._tooltip && this.widget._tooltip.show({
type: "link",
info: {
source: this.connection.source,
target: this.connection.target,
weight: this.connection.weight
}
}, "undefined" !== typeof coords ? {
x: coords[0],
y: coords[1]
} : this.coords)
},
hideTooltip: function() {
this.widget._tooltip && this.widget._tooltip.hide()
}
};
var _default = Link;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!******************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/sankey/layout.js ***!
\******************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.layout = void 0;
var _graph = _interopRequireDefault(__webpack_require__( /*! ./graph */ 527));
var _data_validator = _interopRequireDefault(__webpack_require__( /*! ./data_validator */ 1089));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var layout = {
_weightPerPixel: null,
_getCascadeIdx: function(nodeTitle, cascadesConfig) {
var nodeInfo = cascadesConfig.filter((function(c) {
return c.name === nodeTitle
}))[0];
if (nodeInfo.outgoing.length > 0) {
return nodeInfo.lp
} else {
return _graph.default.routines.maxOfArray(cascadesConfig.map((function(c) {
return c.lp
})))
}
},
_getInWeightForNode: function(nodeTitle, links) {
var w = 0;
links.forEach((function(link) {
if (link[1] === nodeTitle) {
w += link[2]
}
}));
return w
},
_getOutWeightForNode: function(nodeTitle, links) {
var w = 0;
links.forEach((function(link) {
if (link[0] === nodeTitle) {
w += link[2]
}
}));
return w
},
_computeCascades: function(links) {
var _this = this;
var cascadesConfig = _graph.default.struct.computeLongestPaths(links);
var maxCascade = _graph.default.routines.maxOfArray(cascadesConfig.map((function(c) {
return c.lp
})));
var cascades = [];
for (var i = 0; i < maxCascade + 1; i++) {
cascades.push({})
}
links.forEach((function(link) {
var cascade = cascades[_this._getCascadeIdx(link[0], cascadesConfig)];
if (!cascade[link[0]]) {
cascade[link[0]] = {
nodeTitle: link[0]
}
}
cascade = cascades[_this._getCascadeIdx(link[1], cascadesConfig)];
if (!cascade[link[1]]) {
cascade[link[1]] = {
nodeTitle: link[1]
}
}
}));
cascades.forEach((function(cascade) {
Object.keys(cascade).forEach((function(nodeTitle) {
var node = cascade[nodeTitle];
node.inWeight = _this._getInWeightForNode(node.nodeTitle, links);
node.outWeight = _this._getOutWeightForNode(node.nodeTitle, links);
node.maxWeight = Math.max(node.inWeight, node.outWeight)
}))
}));
return cascades
},
_getWeightForCascade: function(cascades, cascadeIdx) {
var wMax = 0;
var cascade = cascades[cascadeIdx];
Object.keys(cascade).forEach((function(nodeTitle) {
wMax += Math.max(cascade[nodeTitle].inWeight, cascade[nodeTitle].outWeight)
}));
return wMax
},
_getMaxWeightThroughCascades: function(cascades) {
var max = [];
cascades.forEach((function(cascade) {
var mW = 0;
Object.keys(cascade).forEach((function(nodeTitle) {
var node = cascade[nodeTitle];
mW += Math.max(node.inWeight, node.outWeight)
}));
max.push(mW)
}));
return _graph.default.routines.maxOfArray(max)
},
_computeNodes: function(cascades, options) {
var _this2 = this;
var rects = [];
var maxWeight = this._getMaxWeightThroughCascades(cascades);
var maxNodeNum = _graph.default.routines.maxOfArray(cascades.map((function(nodesInCascade) {
return Object.keys(nodesInCascade).length
})));
var nodePadding = options.nodePadding;
var heightAvailable = options.height - nodePadding * (maxNodeNum - 1);
if (heightAvailable < 0) {
nodePadding = 0;
heightAvailable = options.height - nodePadding * (maxNodeNum - 1)
}
this._weightPerPixel = maxWeight / heightAvailable;
var cascadeIdx = 0;
cascades.forEach((function(cascade) {
var cascadeRects = [];
var y = 0;
var nodesInCascade = Object.keys(cascade).length;
var cascadeHeight = _this2._getWeightForCascade(cascades, cascadeIdx) / _this2._weightPerPixel + nodePadding * (nodesInCascade - 1);
var cascadeAlign;
if (Array.isArray(options.nodeAlign)) {
cascadeAlign = cascadeIdx < options.nodeAlign.length ? options.nodeAlign[cascadeIdx] : "center"
} else {
cascadeAlign = options.nodeAlign
}
if ("bottom" === cascadeAlign) {
y = options.height - cascadeHeight
} else if ("center" === cascadeAlign) {
y = .5 * (options.height - cascadeHeight)
}
y = Math.round(y);
Object.keys(cascade).forEach((function(nodeTitle) {
cascade[nodeTitle].sort = _this2._sort && Object.prototype.hasOwnProperty.call(_this2._sort, nodeTitle) ? _this2._sort[nodeTitle] : 1
}));
Object.keys(cascade).sort((function(a, b) {
return cascade[a].sort - cascade[b].sort
})).forEach((function(nodeTitle) {
var node = cascade[nodeTitle];
var height = Math.floor(heightAvailable * node.maxWeight / maxWeight);
var x = Math.round(cascadeIdx * options.width / (cascades.length - 1)) - (0 === cascadeIdx ? 0 : options.nodeWidth);
var rect = {};
rect._name = nodeTitle;
rect.width = options.nodeWidth;
rect.height = height;
rect.x = x + options.x;
rect.y = y + options.y;
y += height + nodePadding;
cascadeRects.push(rect)
}));
cascadeIdx++;
rects.push(cascadeRects)
}));
return rects
},
_findRectByName: function(rects, name) {
for (var c = 0; c < rects.length; c++) {
for (var r = 0; r < rects[c].length; r++) {
if (name === rects[c][r]._name) {
return rects[c][r]
}
}
}
return null
},
_findIndexByName: function(rects, nodeTitle) {
var index = 0;
for (var c = 0; c < rects.length; c++) {
for (var r = 0; r < rects[c].length; r++) {
if (nodeTitle === rects[c][r]._name) {
return index
}
index++
}
}
return null
},
_computeLinks: function(links, rects, cascades) {
var _this3 = this;
var yOffsets = {};
var paths = [];
var result = [];
cascades.forEach((function(cascade) {
Object.keys(cascade).forEach((function(nodeTitle) {
yOffsets[nodeTitle] = {
in: 0,
out: 0
}
}))
}));
rects.forEach((function(rectsOfCascade) {
rectsOfCascade.forEach((function(nodeRect) {
var nodeTitle = nodeRect._name;
var rectFrom = _this3._findRectByName(rects, nodeTitle);
var linksFromNode = links.filter((function(link) {
return link[0] === nodeTitle
}));
linksFromNode.forEach((function(link) {
link.sort = _this3._findIndexByName(rects, link[1])
}));
linksFromNode.sort((function(a, b) {
return a.sort - b.sort
})).forEach((function(link) {
var rectTo = _this3._findRectByName(rects, link[1]);
var height = Math.round(link[2] / _this3._weightPerPixel);
var yOffsetFrom = yOffsets[link[0]].out;
var yOffsetTo = yOffsets[link[1]].in;
var heightFrom = yOffsets[link[0]].out + height > rectFrom.height ? rectFrom.height - yOffsets[link[0]].out : height;
var heightTo = yOffsets[link[1]].in + height > rectTo.height ? rectTo.height - yOffsets[link[1]].in : height;
paths.push({
from: {
x: rectFrom.x,
y: rectFrom.y + yOffsetFrom,
width: rectFrom.width,
height: heightFrom,
node: rectFrom,
weight: link[2]
},
to: {
x: rectTo.x,
y: rectTo.y + yOffsetTo,
width: rectTo.width,
height: heightTo,
node: rectTo
}
});
yOffsets[link[0]].out += height;
yOffsets[link[1]].in += height
}))
}))
}));
paths.forEach((function(link) {
var path = {
d: _this3._spline(link.from, link.to),
_boundingRect: {
x: link.from.x + link.from.width,
y: Math.min(link.from.y, link.to.y),
width: link.to.x - (link.from.x + link.from.width),
height: Math.max(link.from.x + link.from.height, link.to.y + link.to.height) - Math.min(link.from.y, link.to.y)
},
_weight: link.from.weight,
_from: link.from.node,
_to: link.to.node
};
result.push(path)
}));
this._fitAllNodesHeight(rects, paths);
return result
},
_fitNodeHeight: function(nodeName, nodeRects, paths) {
var targetRect = this._findRectByName(nodeRects, nodeName);
var heightOfLinksSummaryIn = 0;
var heightOfLinksSummaryOut = 0;
paths.forEach((function(path) {
if (path.from.node._name === nodeName) {
heightOfLinksSummaryOut += path.from.height
}
if (path.to.node._name === nodeName) {
heightOfLinksSummaryIn += path.to.height
}
}));
targetRect.height = Math.max(heightOfLinksSummaryIn, heightOfLinksSummaryOut)
},
_fitAllNodesHeight: function(nodeRects, paths) {
for (var c = 0; c < nodeRects.length; c++) {
for (var r = 0; r < nodeRects[c].length; r++) {
this._fitNodeHeight(nodeRects[c][r]._name, nodeRects, paths)
}
}
},
_spline: function(rectLeft, rectRight) {
var p_UpLeft = {
x: rectLeft.x + rectLeft.width,
y: rectLeft.y
};
var p_DownLeft = {
x: rectLeft.x + rectLeft.width,
y: rectLeft.y + rectLeft.height
};
var p_UpRight = {
x: rectRight.x,
y: rectRight.y
};
var p_DownRight = {
x: rectRight.x,
y: rectRight.y + rectRight.height
};
var curve_width = .3 * (p_UpRight.x - p_UpLeft.x);
var result = "M ".concat(p_UpLeft.x, " ").concat(p_UpLeft.y, " C ").concat(p_UpLeft.x + curve_width, " ").concat(p_UpLeft.y, " ").concat(p_UpRight.x - curve_width, " ").concat(p_UpRight.y, " ").concat(p_UpRight.x, " ").concat(p_UpRight.y, " L ").concat(p_DownRight.x, " ").concat(p_DownRight.y, " C ").concat(p_DownRight.x - curve_width, " ").concat(p_DownRight.y, " ").concat(p_DownLeft.x + curve_width, " ").concat(p_DownLeft.y, " ").concat(p_DownLeft.x, " ").concat(p_DownLeft.y, " Z");
return result
},
computeLayout: function(linksData, sortData, options, incidentOccurred) {
this._sort = sortData;
var result = {};
var validateResult = _data_validator.default.validate(linksData, incidentOccurred);
if (!validateResult) {
result.cascades = this._computeCascades(linksData);
result.nodes = this._computeNodes(result.cascades, {
width: options.availableRect.width,
height: options.availableRect.height,
x: options.availableRect.x,
y: options.availableRect.y,
nodePadding: options.nodePadding,
nodeWidth: options.nodeWidth,
nodeAlign: options.nodeAlign
});
result.links = this._computeLinks(linksData, result.nodes, result.cascades)
} else {
result.error = validateResult
}
return result
},
overlap: function(box1, box2) {
return !(box2.x > box1.x + box1.width || box2.x + box2.width < box1.x || box2.y >= box1.y + box1.height || box2.y + box2.height <= box1.y)
}
};
exports.layout = layout
},
/*!**************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/sankey/data_validator.js ***!
\**************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _graph = (obj = __webpack_require__( /*! ./graph */ 527), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var validator = {
validate: function(data, incidentOccurred) {
var result = null;
if (this._hasCycle(data)) {
result = "E2006";
incidentOccurred("E2006")
}
return result
},
_hasCycle: function(data) {
return _graph.default.struct.hasCycle(data)
}
};
var _default = validator;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!*******************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/sankey/tooltip.js ***!
\*******************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.setTooltipCustomOptions = function(sankey) {
sankey.prototype._setTooltipOptions = function() {
var tooltip = this._tooltip;
var options = tooltip && this._getOption("tooltip");
var linkTemplate;
var nodeTemplate;
if (options.linkTooltipTemplate) {
linkTemplate = this._getTemplate(options.linkTooltipTemplate)
}
if (options.nodeTooltipTemplate) {
nodeTemplate = this._getTemplate(options.nodeTooltipTemplate)
}
tooltip && tooltip.update((0, _extend2.extend)({}, options, {
customizeTooltip: function(args) {
if (!(linkTemplate && "link" === args.type || nodeTemplate && "node" === args.type)) {
args.skipTemplate = true
}
if ("node" === args.type) {
return generateCustomCallback(options.customizeNodeTooltip, defaultCustomizeNodeTooltip)(args.info)
} else if ("link" === args.type) {
return generateCustomCallback(options.customizeLinkTooltip, defaultCustomizeLinkTooltip)(args.info)
}
return {}
},
contentTemplate: function(arg, div) {
var templateArgs = {
model: arg.info,
container: div
};
if (linkTemplate && "link" === arg.type) {
return linkTemplate.render(templateArgs)
}
if (nodeTemplate && "node" === arg.type) {
return nodeTemplate.render(templateArgs)
}
},
enabled: options.enabled
}))
};
sankey.prototype.hideTooltip = function() {
this._tooltip && this._tooltip.hide()
}
};
var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var defaultCustomizeLinkTooltip = function(info) {
return {
html: "".concat(info.source, " > ").concat(info.target, "
Weight: ").concat(info.weight)
}
};
var defaultCustomizeNodeTooltip = function(info) {
return {
html: "".concat(info.label, "
Incoming weight: ").concat(info.weightIn, "
Outgoing weight: ").concat(info.weightOut)
}
};
var generateCustomCallback = function(customCallback, defaultCallback) {
return function(objectInfo) {
var res = (0, _type.isFunction)(customCallback) ? customCallback.call(objectInfo, objectInfo) : {};
var hasOwnProperty = Object.prototype.hasOwnProperty.bind(res);
if (!hasOwnProperty("html") && !hasOwnProperty("text")) {
res = (0, _extend2.extend)(res, defaultCallback.call(objectInfo, objectInfo))
}
return res
}
}
},
/*!*******************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/viz/sankey/tracker.js ***!
\*******************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.plugin = void 0;
var _sankey = (obj = __webpack_require__( /*! ./sankey */ 525), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _tracker = __webpack_require__( /*! ../components/tracker */ 330);
var proto = _sankey.default.prototype;
var dataKeyModifier = 0;
proto._eventsMap.onNodeClick = {
name: "nodeClick"
};
proto._eventsMap.onLinkClick = {
name: "linkClick"
};
var plugin = {
name: "tracker",
init: function() {
var that = this;
var dataKey = "__sankey_data_" + dataKeyModifier++;
that._tracker = new _tracker.Tracker({
widget: that,
root: that._renderer.root,
getData: function(e) {
var target = e.target;
return target[dataKey]
},
getNode: function(index) {
if (index < that._nodes.length) {
return that._nodes[index]
} else {
return that._links[index - that._nodes.length]
}
},
click: function(e) {
var eventName = this.getData(e.event) < that._nodes.length ? "nodeClick" : "linkClick";
that._eventTrigger(eventName, {
target: e.node,
event: e.event
})
}
});
this._dataKey = dataKey
},
dispose: function() {
this._tracker.dispose()
},
extenders: {
_change_LINKS_DRAW: function() {
var dataKey = this._dataKey;
this._nodes.concat(this._links).forEach((function(item, index) {
item.element.data(dataKey, index)
}))
}
}
};
exports.plugin = plugin
}, , , , , ,
/*!**************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/bundles/modules/parts/viz.js ***!
\**************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
,
function(module, exports, __webpack_require__) {
var DevExpress = __webpack_require__( /*! ./core */ 240);
__webpack_require__( /*! ./data */ 346);
var viz = DevExpress.viz = __webpack_require__( /*! ../../../bundles/modules/viz */ 993);
viz.currentTheme = __webpack_require__( /*! ../../../viz/themes */ 57).currentTheme;
viz.registerTheme = __webpack_require__( /*! ../../../viz/themes */ 57).registerTheme;
viz.exportFromMarkup = __webpack_require__( /*! ../../../viz/export */ 318).exportFromMarkup;
viz.getMarkup = __webpack_require__( /*! ../../../viz/export */ 318).getMarkup;
viz.exportWidgets = __webpack_require__( /*! ../../../viz/export */ 318).exportWidgets;
viz.currentPalette = __webpack_require__( /*! ../../../viz/palette */ 191).currentPalette;
viz.getPalette = __webpack_require__( /*! ../../../viz/palette */ 191).getPalette;
viz.generateColors = __webpack_require__( /*! ../../../viz/palette */ 191).generateColors;
viz.registerPalette = __webpack_require__( /*! ../../../viz/palette */ 191).registerPalette;
viz.refreshTheme = __webpack_require__( /*! ../../../viz/themes */ 57).refreshTheme;
viz.dxChart = __webpack_require__( /*! ../../../viz/chart */ 994);
viz.dxPieChart = __webpack_require__( /*! ../../../viz/pie_chart */ 1030);
viz.dxPolarChart = __webpack_require__( /*! ../../../viz/polar_chart */ 1031);
viz.dxLinearGauge = __webpack_require__( /*! ../../../viz/linear_gauge */ 1032);
viz.dxCircularGauge = __webpack_require__( /*! ../../../viz/circular_gauge */ 1038);
viz.dxBarGauge = __webpack_require__( /*! ../../../viz/bar_gauge */ 1041);
viz.dxRangeSelector = __webpack_require__( /*! ../../../viz/range_selector */ 1043);
viz.dxVectorMap = __webpack_require__( /*! ../../../viz/vector_map */ 1051);
viz.map = {};
viz.map.sources = {};
viz.map.projection = __webpack_require__( /*! ../../../viz/vector_map/projection */ 516).projection;
viz.dxSparkline = __webpack_require__( /*! ../../../viz/sparkline */ 1062);
viz.dxBullet = __webpack_require__( /*! ../../../viz/bullet */ 1064);
viz.dxTreeMap = __webpack_require__( /*! ../../../viz/tree_map */ 1066);
viz.dxFunnel = __webpack_require__( /*! ../../../viz/funnel */ 1077);
viz.dxSankey = __webpack_require__( /*! ../../../viz/sankey */ 1085);
viz.BaseWidget = __webpack_require__( /*! ../../../viz/core/base_widget */ 118);
viz.getTheme = __webpack_require__( /*! ../../../viz/themes */ 57).getTheme;
viz.findTheme = __webpack_require__( /*! ../../../viz/themes */ 57).getTheme;
viz.refreshAll = __webpack_require__( /*! ../../../viz/themes */ 57).refreshTheme;
viz.refreshPaths = __webpack_require__( /*! ../../../viz/utils */ 611).refreshPaths;
viz.gauges = {
__internals: {}
};
viz._dashboard = {};
viz._dashboard.Renderer = __webpack_require__( /*! ../../../viz/core/renderers/renderer */ 184).Renderer;
viz._dashboard.SvgElement = __webpack_require__( /*! ../../../viz/core/renderers/renderer */ 184).SvgElement;
viz._dashboard.patchFontOptions = __webpack_require__( /*! ../../../viz/core/utils */ 14).patchFontOptions;
module.exports = viz
}, , , , , ,
/*!*********************************************************************!*\
!*** multi ./artifacts/transpiled-renovation-npm/bundles/dx.viz.js ***!
\*********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
,
function(module, exports, __webpack_require__) {
module.exports = __webpack_require__( /*! c:\Projects\DevExtreme\21.1\BuildLabel\Temp\DevExtreme.v21.1\repo\GitHub\artifacts\transpiled-renovation-npm\bundles\dx.viz.js */ 1106)
},
/*!***************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/bundles/dx.viz.js ***!
\***************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
__webpack_require__( /*! ./modules/parts/viz */ 1098)
}
]);