charts-8.x-4.x-dev/modules/charts_c3/js/d3-c3-shim.js

modules/charts_c3/js/d3-c3-shim.js
/**
 * @file
 * D3 v6/v7 compatibility shim for C3.js.
 */

/* global d3 */
(function () {
  // Only add shims if d3 exists and is missing the methods.
  if (typeof d3 !== 'undefined') {
    // Add d3.set if missing.
    if (!d3.set) {
      d3.set = function (values) {
        const set = new Set(values);
        return {
          has(value) {
            return set.has(value);
          },
          add(value) {
            set.add(value);
            return this;
          },
          remove(value) {
            set.delete(value);
            return this;
          },
          clear() {
            set.clear();
            return this;
          },
          size() {
            return set.size;
          },
          empty() {
            return set.size === 0;
          },
          values() {
            return Array.from(set);
          },
        };
      };
    }

    // Add d3.mouse if missing (replaced by d3.pointer in v6+).
    if (!d3.mouse) {
      d3.mouse = function (node) {
        const event = d3.event || window.event;
        if (event) {
          return d3.pointer(event, node);
        }
        return [0, 0];
      };
    }
  }
})();

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc