@vizzly/dashboard 0.15.0-dev-d8c6020f516c4db05074d3f3e57c59a3eb56308b → 0.15.0-dev-7ff9d1595e60e37497596000c80eee55ff192ba9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -74,6 +74,7 @@ export declare const useGlobalContext: () => (import("../../types").InBrowserPro
74
74
  onDashboardUpdate?: ((dashboard: Dashboard, meta: {
75
75
  hasUnsavedChanges: boolean;
76
76
  }) => void) | undefined;
77
+ customFields?: ((dataSet: import("../../../../shared-logic/src/DataSet/types").DataSet<import("../../../../shared-logic/src/DataSet/types").DataSet.Field>) => import("../../../../shared-logic/src/CustomField/types").CustomField[]) | undefined;
77
78
  } & Partial<import("../../../../shared-ui/src").VizzlyComponents.ComponentOverrides> & {
78
79
  onSave: (dashboard: Dashboard) => void;
79
80
  }) | (import("../../types").SelfHostedProps & {
@@ -146,6 +147,7 @@ export declare const useGlobalContext: () => (import("../../types").InBrowserPro
146
147
  onDashboardUpdate?: ((dashboard: Dashboard, meta: {
147
148
  hasUnsavedChanges: boolean;
148
149
  }) => void) | undefined;
150
+ customFields?: ((dataSet: import("../../../../shared-logic/src/DataSet/types").DataSet<import("../../../../shared-logic/src/DataSet/types").DataSet.Field>) => import("../../../../shared-logic/src/CustomField/types").CustomField[]) | undefined;
149
151
  } & Partial<import("../../../../shared-ui/src").VizzlyComponents.ComponentOverrides> & {
150
152
  onSave: (dashboard: Dashboard) => void;
151
153
  }) | (import("../../types").CustomProps & {
@@ -218,6 +220,7 @@ export declare const useGlobalContext: () => (import("../../types").InBrowserPro
218
220
  onDashboardUpdate?: ((dashboard: Dashboard, meta: {
219
221
  hasUnsavedChanges: boolean;
220
222
  }) => void) | undefined;
223
+ customFields?: ((dataSet: import("../../../../shared-logic/src/DataSet/types").DataSet<import("../../../../shared-logic/src/DataSet/types").DataSet.Field>) => import("../../../../shared-logic/src/CustomField/types").CustomField[]) | undefined;
221
224
  } & Partial<import("../../../../shared-ui/src").VizzlyComponents.ComponentOverrides> & {
222
225
  onSave: (dashboard: Dashboard) => void;
223
226
  }) | undefined;
@@ -291,6 +294,7 @@ export declare const GlobalContext: import("react").Context<(import("../../types
291
294
  onDashboardUpdate?: ((dashboard: Dashboard, meta: {
292
295
  hasUnsavedChanges: boolean;
293
296
  }) => void) | undefined;
297
+ customFields?: ((dataSet: import("../../../../shared-logic/src/DataSet/types").DataSet<import("../../../../shared-logic/src/DataSet/types").DataSet.Field>) => import("../../../../shared-logic/src/CustomField/types").CustomField[]) | undefined;
294
298
  } & Partial<import("../../../../shared-ui/src").VizzlyComponents.ComponentOverrides> & {
295
299
  onSave: (dashboard: Dashboard) => void;
296
300
  }) | (import("../../types").SelfHostedProps & {
@@ -363,6 +367,7 @@ export declare const GlobalContext: import("react").Context<(import("../../types
363
367
  onDashboardUpdate?: ((dashboard: Dashboard, meta: {
364
368
  hasUnsavedChanges: boolean;
365
369
  }) => void) | undefined;
370
+ customFields?: ((dataSet: import("../../../../shared-logic/src/DataSet/types").DataSet<import("../../../../shared-logic/src/DataSet/types").DataSet.Field>) => import("../../../../shared-logic/src/CustomField/types").CustomField[]) | undefined;
366
371
  } & Partial<import("../../../../shared-ui/src").VizzlyComponents.ComponentOverrides> & {
367
372
  onSave: (dashboard: Dashboard) => void;
368
373
  }) | (import("../../types").CustomProps & {
@@ -435,6 +440,7 @@ export declare const GlobalContext: import("react").Context<(import("../../types
435
440
  onDashboardUpdate?: ((dashboard: Dashboard, meta: {
436
441
  hasUnsavedChanges: boolean;
437
442
  }) => void) | undefined;
443
+ customFields?: ((dataSet: import("../../../../shared-logic/src/DataSet/types").DataSet<import("../../../../shared-logic/src/DataSet/types").DataSet.Field>) => import("../../../../shared-logic/src/CustomField/types").CustomField[]) | undefined;
438
444
  } & Partial<import("../../../../shared-ui/src").VizzlyComponents.ComponentOverrides> & {
439
445
  onSave: (dashboard: Dashboard) => void;
440
446
  }) | undefined>;
@@ -23,6 +23,7 @@ declare type Params = {
23
23
  isEditor?: boolean;
24
24
  developerMode?: boolean;
25
25
  textOverrides?: Partial<VizzlyTranslations>;
26
+ extraCustomFields?: VizzlyServicesProperties['extraCustomFields'];
26
27
  };
27
28
  export declare type StillLoading = null;
28
29
  export declare type ErrorProvided = {
@@ -94,6 +94,7 @@ export declare type SharedDashboardProps = {
94
94
  labelFormat?: DashboardBehaviour['labelFormat'];
95
95
  filterLibrary?: DashboardBehaviour['filterLibrary'];
96
96
  onDashboardUpdate?: DashboardBehaviour['onDashboardUpdate'];
97
+ customFields?: DashboardBehaviour['customFields'];
97
98
  } & Partial<VizzlyComponents.ComponentOverrides>;
98
99
  export declare type CustomDashboardProps = CustomProps & SharedDashboardProps;
99
100
  export declare type CustomEditorProps = CustomProps & SharedEditorProps;
@@ -12335,14 +12335,21 @@ var buildViewOnlyQuery = function buildViewOnlyQuery(dataSet) {
12335
12335
  };
12336
12336
  };
12337
12337
 
12338
- // Idempotently add custom fields
12338
+ // Idempotently add custom fields, preferring those defined in data sets than persisted
12339
+ // on dashboards to allow updating.
12339
12340
  var addCustomFields = function addCustomFields(dataSets, customFields) {
12340
12341
  if (!customFields) return dataSets;
12341
- dataSets = dataSets.map(removeCustomFields);
12342
12342
  var newDataSets = [].concat(dataSets).map(function (dataSet) {
12343
- var customFieldsForDataSet = (customFields[dataSet.id] || []).map(upcast);
12343
+ var customFieldsForDataSetFromDashboard = (customFields[dataSet.id] || []).map(upcast);
12344
+ var preferredFieldIds = dataSet.fields.map(function (field) {
12345
+ return field.id;
12346
+ });
12347
+ customFieldsForDataSetFromDashboard = customFieldsForDataSetFromDashboard.filter(function (persistedCustomFieldOnDashboard) {
12348
+ var fieldIdAlreadyUsed = preferredFieldIds.includes(persistedCustomFieldOnDashboard.id);
12349
+ return !fieldIdAlreadyUsed;
12350
+ });
12344
12351
  return _extends({}, dataSet, {
12345
- fields: [].concat(dataSet.fields, customFieldsForDataSet)
12352
+ fields: [].concat(dataSet.fields, customFieldsForDataSetFromDashboard)
12346
12353
  });
12347
12354
  });
12348
12355
  return [].concat(newDataSets);
@@ -73254,7 +73261,7 @@ var IN_BROWSER = 'in-browser';
73254
73261
  * access tokens used for the identity logic.
73255
73262
  */
73256
73263
  var VizzlyLoader = /*#__PURE__*/function () {
73257
- function VizzlyLoader(queryEngine, loadAccessTokens, loadDataSetsCallback, options) {
73264
+ function VizzlyLoader(queryEngine, loadAccessTokens, loadDataSetsCallback, extraCustomFields, options) {
73258
73265
  if (options === void 0) {
73259
73266
  options = DEFAULT_OPTIONS$1;
73260
73267
  }
@@ -73263,7 +73270,9 @@ var VizzlyLoader = /*#__PURE__*/function () {
73263
73270
  this.queryEngine = void 0;
73264
73271
  this.loadAccessTokens = void 0;
73265
73272
  this.loadDataSetsCallback = void 0;
73273
+ this.extraCustomFields = void 0;
73266
73274
  this.options = void 0;
73275
+ this.extraCustomFields = extraCustomFields;
73267
73276
  this.queryEngine = queryEngine || IN_BROWSER;
73268
73277
  this.loadAccessTokens = loadAccessTokens;
73269
73278
  this.loadDataSetsCallback = loadDataSetsCallback;
@@ -73370,6 +73379,7 @@ var VizzlyLoader = /*#__PURE__*/function () {
73370
73379
  }();
73371
73380
  _proto.load = /*#__PURE__*/function () {
73372
73381
  var _load = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
73382
+ var _this2 = this;
73373
73383
  var _yield$Promise$all, identityConfig, queryEngineConfig, dataSets, dashboardStorageStrategy;
73374
73384
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
73375
73385
  while (1) switch (_context4.prev = _context4.next) {
@@ -73382,13 +73392,22 @@ var VizzlyLoader = /*#__PURE__*/function () {
73382
73392
  queryEngineConfig = _yield$Promise$all[1];
73383
73393
  dataSets = _yield$Promise$all[2];
73384
73394
  dashboardStorageStrategy = this.getDashboardStorageStrategy(queryEngineConfig);
73395
+ if (this.extraCustomFields) {
73396
+ dataSets = dataSets.map(function (dataSet) {
73397
+ var newFields = _this2.extraCustomFields ? _this2.extraCustomFields(dataSet) : [];
73398
+ console.log('adding fields', newFields);
73399
+ return _extends({}, dataSet, {
73400
+ fields: [].concat(dataSet.fields, newFields)
73401
+ });
73402
+ });
73403
+ }
73385
73404
  return _context4.abrupt("return", {
73386
73405
  queryEngineConfig: queryEngineConfig,
73387
73406
  dataSets: dataSets,
73388
73407
  identityConfig: identityConfig,
73389
73408
  dashboardStorageStrategy: dashboardStorageStrategy
73390
73409
  });
73391
- case 8:
73410
+ case 9:
73392
73411
  case "end":
73393
73412
  return _context4.stop();
73394
73413
  }
@@ -75532,17 +75551,21 @@ var VizzlyServices = /*#__PURE__*/function () {
75532
75551
  this.identityConfig = identityConfig;
75533
75552
  this.vizzlyAPIClient = getVizzlyAPIClient(identityConfig, dashboardStorageStrategy, options);
75534
75553
  }
75554
+ var _proto = VizzlyServices.prototype;
75555
+ _proto.getDataSets = function getDataSets() {
75556
+ return this.dataSets;
75557
+ }
75535
75558
 
75536
75559
  /**
75537
75560
  * @param properties
75538
75561
  * @param options
75539
75562
  * @returns Vizzly instance for programmatically managing dashboards.
75540
- */
75563
+ */;
75541
75564
  VizzlyServices.load =
75542
75565
  /*#__PURE__*/
75543
75566
  function () {
75544
75567
  var _load = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(properties, options) {
75545
- var queryEngine, dataSetsFn, loadAccessTokens, programmaticDashboard, loader, _yield$loader$load, queryEngineConfig, dataSets, identityConfig, dashboardStorageStrategy, vizzly;
75568
+ var queryEngine, dataSetsFn, loadAccessTokens, programmaticDashboard, extraCustomFields, loader, _yield$loader$load, queryEngineConfig, dataSets, identityConfig, dashboardStorageStrategy, vizzly;
75546
75569
  return _regeneratorRuntime().wrap(function _callee$(_context) {
75547
75570
  while (1) switch (_context.prev = _context.next) {
75548
75571
  case 0:
@@ -75550,8 +75573,8 @@ var VizzlyServices = /*#__PURE__*/function () {
75550
75573
  options = DEFAULT_LOADER_OPTIONS;
75551
75574
  }
75552
75575
  logDebug('Starting load process for the services package.');
75553
- queryEngine = properties.queryEngine, dataSetsFn = properties.dataSets, loadAccessTokens = properties.identity, programmaticDashboard = properties.programmaticDashboard;
75554
- loader = new VizzlyLoader(queryEngine, loadAccessTokens, dataSetsFn, options);
75576
+ queryEngine = properties.queryEngine, dataSetsFn = properties.dataSets, loadAccessTokens = properties.identity, programmaticDashboard = properties.programmaticDashboard, extraCustomFields = properties.extraCustomFields;
75577
+ loader = new VizzlyLoader(queryEngine, loadAccessTokens, dataSetsFn, extraCustomFields, options);
75555
75578
  _context.next = 6;
75556
75579
  return loader.load();
75557
75580
  case 6:
@@ -75641,7 +75664,6 @@ var VizzlyServices = /*#__PURE__*/function () {
75641
75664
  * Use the dashboard API to create the dashboard, upcast
75642
75665
  * and return the dashboard with the data sets.
75643
75666
  */;
75644
- var _proto = VizzlyServices.prototype;
75645
75667
  _proto.createDashboard =
75646
75668
  /*#__PURE__*/
75647
75669
  function () {
@@ -78700,7 +78722,8 @@ var useSessionContext = function useSessionContext(params) {
78700
78722
  queryEngine: params.queryEngine,
78701
78723
  identity: params.identityCallback,
78702
78724
  dataSets: params.loadDataSetsCallback,
78703
- programmaticDashboard: params.programmaticDashboard
78725
+ programmaticDashboard: params.programmaticDashboard,
78726
+ extraCustomFields: params.extraCustomFields
78704
78727
  }, {
78705
78728
  apiHost: params.apiConfig.host,
78706
78729
  developerMode: params.developerMode,
@@ -78831,7 +78854,8 @@ var GlobalProviderContents = function GlobalProviderContents(props) {
78831
78854
  textOverride: textOverride,
78832
78855
  isEditor: props.isEditor,
78833
78856
  developerMode: developerMode,
78834
- textOverrides: props.textOverrides
78857
+ textOverrides: props.textOverrides,
78858
+ extraCustomFields: props.customFields
78835
78859
  });
78836
78860
  var updateDashboardHash = function updateDashboardHash(dashboard) {
78837
78861
  var definition = toSaveableDefinition(dashboard);