@vizzly/dashboard 0.14.4-dev-d473758fee30bb90a645bebc2b12058901ef984c → 0.14.4-dev-eaaec8b3050228b960681eeb4fab1bb93dddc66a

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.
@@ -0,0 +1,3 @@
1
+ export default class FailedToSaveError extends Error {
2
+ constructor(message: any);
3
+ }
@@ -14892,6 +14892,7 @@ var ADMIN_FEATURE_TOGGLES = {
14892
14892
  parameters: true,
14893
14893
  disableAutoSave: true,
14894
14894
  showGlobalFilters: true,
14895
+ hideToolbar: false,
14895
14896
  showResetButton: false,
14896
14897
  canManageGlobalFilters: true,
14897
14898
  canEditComponentLibrary: true,
@@ -14929,6 +14930,7 @@ var END_USER_DEFAULT_FEATURE_TOGGLES = {
14929
14930
  parameters: true,
14930
14931
  disableAutoSave: false,
14931
14932
  showGlobalFilters: true,
14933
+ hideToolbar: false,
14932
14934
  showResetButton: true,
14933
14935
  canAddTags: true,
14934
14936
  canManageGlobalFilters: true,
@@ -15884,7 +15886,7 @@ var init$b = function init(overrides, includeComponentTypes, excludeComponentTyp
15884
15886
  organizationName: overrides.organizationName,
15885
15887
  dateTimeFormatOptions: buildDateTimeFormatOptions(_extends({}, base.dateTimeFormatOptions, wrapOverridesInDateObjects(overrides.dateTimeFormatOptions ? overrides.dateTimeFormatOptions : {})), queryEngineConfig),
15886
15888
  datePickerFormat: overrides.datePickerFormat ? overrides.datePickerFormat : base.datePickerFormat,
15887
- disableToolbar: overrides.disableToolbar,
15889
+ disableToolbar: featureToggles.hideToolbar ? featureToggles.hideToolbar : overrides.disableToolbar,
15888
15890
  scheduledReports: overrides.scheduledReports || base.scheduledReports
15889
15891
  });
15890
15892
  };
@@ -41598,7 +41600,7 @@ var AdminTools = function AdminTools(props) {
41598
41600
  logDebug('Received from VizzlyState, `save()`');
41599
41601
  doSave();
41600
41602
  }
41601
- });
41603
+ }, undefined, [dashboard]);
41602
41604
  if (disableToolbar) return null;
41603
41605
  var close = function close() {
41604
41606
  setShowConfirmAdminSave(false);
@@ -42633,18 +42635,31 @@ var useCheckIfPageClosing = function useCheckIfPageClosing(params) {
42633
42635
  var _useState2 = React.useState(null),
42634
42636
  initialDashboardState = _useState2[0],
42635
42637
  setInitialDashboardState = _useState2[1];
42638
+ var _useState3 = React.useState(null),
42639
+ lastSavedDashboardState = _useState3[0],
42640
+ setLastSavedDashboardState = _useState3[1];
42636
42641
  React.useEffect(function () {
42637
42642
  if (params.dashboard) {
42638
42643
  var dashboard = params.dashboard;
42639
42644
  var emptyDashboard = emptyCurrentDashboard(dashboard);
42640
- if (initialDashboardState !== null && hashDashboard(emptyDashboard) !== hashDashboard(initialDashboardState)) {
42645
+ var isSaved = hashDashboard(lastSavedDashboardState) === hashDashboard(dashboard);
42646
+ if (initialDashboardState !== null && hashDashboard(emptyDashboard) !== hashDashboard(initialDashboardState) && !isSaved) {
42641
42647
  setHasChanges(true);
42642
42648
  }
42643
42649
  }
42644
- }, [params]);
42650
+ }, [params.dashboard]);
42645
42651
  React.useEffect(function () {
42646
42652
  setInitialDashboardState(params.dashboard);
42647
42653
  }, []);
42654
+ React.useEffect(function () {
42655
+ if (params.saving) {
42656
+ var saving = params.saving;
42657
+ if (saving === 'Saved') {
42658
+ setLastSavedDashboardState(params.dashboard);
42659
+ setHasChanges(false);
42660
+ }
42661
+ }
42662
+ }, [params.saving]);
42648
42663
  React.useEffect(function () {
42649
42664
  var handleBeforeunload = function handleBeforeunload(event) {
42650
42665
  if (mode === 'admin' && hasChanges) {
@@ -58242,7 +58257,6 @@ function buildFieldCollectorItems(values, dataSet, purpose, queryEngineConfig, _
58242
58257
  value: func
58243
58258
  };
58244
58259
  });
58245
- console.log('selectOptions', selectOptions);
58246
58260
  } else if (purpose === 'grouping' && field.dataType === 'date_time') {
58247
58261
  selectOptions = getDateTimeSelectOptions(field.allowedGranularities, queryEngineConfig.supportedTimeTruncFunctions);
58248
58262
  }
@@ -69788,7 +69802,8 @@ var StudioApp = function StudioApp() {
69788
69802
  isResizing = _useState2[0],
69789
69803
  setIsResizing = _useState2[1];
69790
69804
  useCheckIfPageClosing({
69791
- dashboard: dashboard
69805
+ dashboard: dashboard,
69806
+ saving: saving
69792
69807
  });
69793
69808
  var handleResize = function handleResize(timeout) {
69794
69809
  if (prevWindowWidth.current !== windowWidth) {
@@ -76113,6 +76128,17 @@ var useOnDashboardLoadCallback = function useOnDashboardLoadCallback(session, on
76113
76128
  })]);
76114
76129
  };
76115
76130
 
76131
+ var FailedToSaveError = /*#__PURE__*/function (_Error) {
76132
+ function FailedToSaveError(message) {
76133
+ var _this;
76134
+ _this = _Error.call(this, "Failed to save dashboard.") || this;
76135
+ _this.message = message;
76136
+ return _this;
76137
+ }
76138
+ _inheritsLoose(FailedToSaveError, _Error);
76139
+ return FailedToSaveError;
76140
+ }( /*#__PURE__*/_wrapNativeSuper(Error));
76141
+
76116
76142
  var GlobalProvider = function GlobalProvider(props) {
76117
76143
  var _useState = React.useState(0),
76118
76144
  resetKey = _useState[0],
@@ -76176,15 +76202,23 @@ var GlobalProviderContents = function GlobalProviderContents(props) {
76176
76202
  });
76177
76203
  var onSave = /*#__PURE__*/function () {
76178
76204
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(dashboard, abortSignal) {
76205
+ var error;
76179
76206
  return _regeneratorRuntime().wrap(function _callee$(_context) {
76180
76207
  while (1) switch (_context.prev = _context.next) {
76181
76208
  case 0:
76182
76209
  if (session.scope == 'read_write') {
76183
- session.vizzly.updateDashboard({
76184
- dashboardId: dashboard.id,
76185
- definition: toSaveableDefinition(dashboard),
76186
- abortSignal: abortSignal
76187
- });
76210
+ try {
76211
+ session.vizzly.updateDashboard({
76212
+ dashboardId: dashboard.id,
76213
+ definition: toSaveableDefinition(dashboard),
76214
+ abortSignal: abortSignal
76215
+ });
76216
+ } catch (e) {
76217
+ if (props.onError) {
76218
+ error = new FailedToSaveError(e);
76219
+ props.onError(error, error.message);
76220
+ }
76221
+ }
76188
76222
  }
76189
76223
  case 1:
76190
76224
  case "end":