@grafana/scenes 5.27.0--canary.912.12031759221.0 → 5.27.0--canary.968.12050773878.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +12 -0
- package/dist/esm/components/SceneControlsSpacer.js +3 -6
- package/dist/esm/components/SceneControlsSpacer.js.map +1 -1
- package/dist/esm/components/VizPanel/VizPanel.js.map +1 -1
- package/dist/esm/components/VizPanel/VizPanelRenderer.js +2 -0
- package/dist/esm/components/VizPanel/VizPanelRenderer.js.map +1 -1
- package/dist/esm/core/PanelBuilders/VizPanelBuilder.js +4 -35
- package/dist/esm/core/PanelBuilders/VizPanelBuilder.js.map +1 -1
- package/dist/esm/core/SceneComponentWrapper.js +1 -1
- package/dist/esm/core/SceneComponentWrapper.js.map +1 -1
- package/dist/esm/core/SceneObjectBase.js +4 -0
- package/dist/esm/core/SceneObjectBase.js.map +1 -1
- package/dist/esm/core/sceneGraph/index.js +2 -3
- package/dist/esm/core/sceneGraph/index.js.map +1 -1
- package/dist/esm/core/sceneGraph/sceneGraph.js +1 -8
- package/dist/esm/core/sceneGraph/sceneGraph.js.map +1 -1
- package/dist/esm/core/types.js.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/variables/adhoc/patchGetAdhocFilters.js +1 -1
- package/dist/esm/variables/adhoc/patchGetAdhocFilters.js.map +1 -1
- package/dist/index.d.ts +14 -39
- package/dist/index.js +41 -162
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/esm/components/LimitFramesTitleItemScene.js +0 -98
- package/dist/esm/components/LimitFramesTitleItemScene.js.map +0 -1
package/dist/index.js
CHANGED
@@ -169,7 +169,7 @@ function SceneComponentWrapperWithoutMemo(_a) {
|
|
169
169
|
setValue((prevState) => prevState + 1);
|
170
170
|
return unsub;
|
171
171
|
}, [model]);
|
172
|
-
if (!model.isActive) {
|
172
|
+
if (!model.isActive && !model.renderBeforeActivation) {
|
173
173
|
return null;
|
174
174
|
}
|
175
175
|
return /* @__PURE__ */ React__default["default"].createElement(Component, __spreadProps$v(__spreadValues$N({}, otherProps), {
|
@@ -241,6 +241,7 @@ class SceneObjectBase {
|
|
241
241
|
this._deactivationHandlers = /* @__PURE__ */ new Map();
|
242
242
|
this._subs = new rxjs.Subscription();
|
243
243
|
this._refCount = 0;
|
244
|
+
this._renderBeforeActivation = false;
|
244
245
|
if (!state.key) {
|
245
246
|
state.key = uuid.v4();
|
246
247
|
}
|
@@ -254,6 +255,9 @@ class SceneObjectBase {
|
|
254
255
|
get isActive() {
|
255
256
|
return this._isActive;
|
256
257
|
}
|
258
|
+
get renderBeforeActivation() {
|
259
|
+
return this._renderBeforeActivation;
|
260
|
+
}
|
257
261
|
get parent() {
|
258
262
|
return this._parent;
|
259
263
|
}
|
@@ -2434,7 +2438,7 @@ function patchGetAdhocFilters(filterVar) {
|
|
2434
2438
|
templateSrv.getAdhocFilters = function getAdhocFiltersScenePatch(dsName) {
|
2435
2439
|
var _a;
|
2436
2440
|
if (allActiveFilterSets.size === 0) {
|
2437
|
-
return originalGetAdhocFilters.call(templateSrv);
|
2441
|
+
return originalGetAdhocFilters.call(templateSrv, dsName);
|
2438
2442
|
}
|
2439
2443
|
const ds = runtime.getDataSourceSrv().getInstanceSettings(dsName);
|
2440
2444
|
if (!ds) {
|
@@ -3110,7 +3114,7 @@ function LoadingIndicator(props) {
|
|
3110
3114
|
}
|
3111
3115
|
|
3112
3116
|
function ControlsLabel(props) {
|
3113
|
-
const styles = ui.useStyles2(getStyles$
|
3117
|
+
const styles = ui.useStyles2(getStyles$f);
|
3114
3118
|
const theme = ui.useTheme2();
|
3115
3119
|
const isVertical = props.layout === "vertical";
|
3116
3120
|
const loadingIndicator = Boolean(props.isLoading) ? /* @__PURE__ */ React__default["default"].createElement("div", {
|
@@ -3173,7 +3177,7 @@ function ControlsLabel(props) {
|
|
3173
3177
|
}
|
3174
3178
|
return labelElement;
|
3175
3179
|
}
|
3176
|
-
const getStyles$
|
3180
|
+
const getStyles$f = (theme) => ({
|
3177
3181
|
horizontalLabel: css.css({
|
3178
3182
|
background: theme.isDark ? theme.colors.background.primary : theme.colors.background.secondary,
|
3179
3183
|
display: `flex`,
|
@@ -3242,7 +3246,7 @@ function keyLabelToOption(key, label) {
|
|
3242
3246
|
const filterNoOp = () => true;
|
3243
3247
|
function AdHocFilterRenderer({ filter, model }) {
|
3244
3248
|
var _a, _b, _c, _d, _e;
|
3245
|
-
const styles = ui.useStyles2(getStyles$
|
3249
|
+
const styles = ui.useStyles2(getStyles$e);
|
3246
3250
|
const [keys, setKeys] = React.useState([]);
|
3247
3251
|
const [values, setValues] = React.useState([]);
|
3248
3252
|
const [isKeysLoading, setIsKeysLoading] = React.useState(false);
|
@@ -3445,7 +3449,7 @@ function AdHocFilterRenderer({ filter, model }) {
|
|
3445
3449
|
onClick: () => model._removeFilter(filter)
|
3446
3450
|
}));
|
3447
3451
|
}
|
3448
|
-
const getStyles$
|
3452
|
+
const getStyles$e = (theme) => ({
|
3449
3453
|
field: css.css({
|
3450
3454
|
marginBottom: 0
|
3451
3455
|
}),
|
@@ -3628,7 +3632,7 @@ var __objRest$3 = (source, exclude) => {
|
|
3628
3632
|
const DropdownItem = React.forwardRef(
|
3629
3633
|
function DropdownItem2(_a, ref) {
|
3630
3634
|
var _b = _a, { children, active, addGroupBottomBorder, isMultiValueEdit, checked } = _b, rest = __objRest$3(_b, ["children", "active", "addGroupBottomBorder", "isMultiValueEdit", "checked"]);
|
3631
|
-
const styles = ui.useStyles2(getStyles$
|
3635
|
+
const styles = ui.useStyles2(getStyles$d);
|
3632
3636
|
const id = React.useId();
|
3633
3637
|
return /* @__PURE__ */ React__default["default"].createElement("div", __spreadValues$C({
|
3634
3638
|
ref,
|
@@ -3646,7 +3650,7 @@ const DropdownItem = React.forwardRef(
|
|
3646
3650
|
}) : null, children)));
|
3647
3651
|
}
|
3648
3652
|
);
|
3649
|
-
const getStyles$
|
3653
|
+
const getStyles$d = (theme) => ({
|
3650
3654
|
option: css.css({
|
3651
3655
|
label: "grafana-select-option",
|
3652
3656
|
top: 0,
|
@@ -3717,7 +3721,7 @@ const OptionsErrorPlaceholder = ({ handleFetchOptions }) => {
|
|
3717
3721
|
}, "An error has occurred fetching labels. Click to retry");
|
3718
3722
|
};
|
3719
3723
|
const MultiValueApplyButton = ({ onApply, floatingElement, maxOptionWidth, menuHeight }) => {
|
3720
|
-
const styles = ui.useStyles2(getStyles$
|
3724
|
+
const styles = ui.useStyles2(getStyles$d);
|
3721
3725
|
const floatingElementRect = floatingElement == null ? void 0 : floatingElement.getBoundingClientRect();
|
3722
3726
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
3723
3727
|
className: styles.multiValueApplyWrapper,
|
@@ -3963,7 +3967,7 @@ const MultiValuePill = ({
|
|
3963
3967
|
handleEditMultiValuePill
|
3964
3968
|
}) => {
|
3965
3969
|
var _a, _b;
|
3966
|
-
const styles = ui.useStyles2(getStyles$
|
3970
|
+
const styles = ui.useStyles2(getStyles$c);
|
3967
3971
|
const editMultiValuePill = React.useCallback(
|
3968
3972
|
(e) => {
|
3969
3973
|
e.stopPropagation();
|
@@ -4016,7 +4020,7 @@ const MultiValuePill = ({
|
|
4016
4020
|
id: `${item.value}-${index}-close-icon`
|
4017
4021
|
})));
|
4018
4022
|
};
|
4019
|
-
const getStyles$
|
4023
|
+
const getStyles$c = (theme) => ({
|
4020
4024
|
basePill: css.css(__spreadProps$p(__spreadValues$B({
|
4021
4025
|
display: "flex",
|
4022
4026
|
alignItems: "center",
|
@@ -4073,7 +4077,7 @@ const AdHocCombobox = React.forwardRef(function AdHocCombobox2({ filter, model,
|
|
4073
4077
|
const [inputValue, setInputValue] = React.useState("");
|
4074
4078
|
const [activeIndex, setActiveIndex] = React.useState(null);
|
4075
4079
|
const [filterInputType, setInputType] = React.useState(!isAlwaysWip ? "value" : "key");
|
4076
|
-
const styles = ui.useStyles2(getStyles$
|
4080
|
+
const styles = ui.useStyles2(getStyles$b);
|
4077
4081
|
const [filterMultiValues, setFilterMultiValues] = React.useState([]);
|
4078
4082
|
const [_, setForceRefresh] = React.useState({});
|
4079
4083
|
const allowCustomValue = (_a = model.state.allowCustomValue) != null ? _a : true;
|
@@ -4577,7 +4581,7 @@ const AdHocCombobox = React.forwardRef(function AdHocCombobox2({ filter, model,
|
|
4577
4581
|
menuHeight: Math.min(rowVirtualizer.getTotalSize(), MAX_MENU_HEIGHT)
|
4578
4582
|
}) : null))));
|
4579
4583
|
});
|
4580
|
-
const getStyles$
|
4584
|
+
const getStyles$b = (theme) => ({
|
4581
4585
|
comboboxWrapper: css.css({
|
4582
4586
|
display: "flex",
|
4583
4587
|
flexWrap: "wrap"
|
@@ -4668,7 +4672,7 @@ var __spreadValues$z = (a, b) => {
|
|
4668
4672
|
var __spreadProps$n = (a, b) => __defProps$n(a, __getOwnPropDescs$n(b));
|
4669
4673
|
function AdHocFilterPill({ filter, model, readOnly, focusOnWipInputRef }) {
|
4670
4674
|
var _a, _b, _c;
|
4671
|
-
const styles = ui.useStyles2(getStyles$
|
4675
|
+
const styles = ui.useStyles2(getStyles$a);
|
4672
4676
|
const [viewMode, setViewMode] = React.useState(true);
|
4673
4677
|
const [shouldFocusOnPillWrapper, setShouldFocusOnPillWrapper] = React.useState(false);
|
4674
4678
|
const pillWrapperRef = React.useRef(null);
|
@@ -4758,7 +4762,7 @@ function AdHocFilterPill({ filter, model, readOnly, focusOnWipInputRef }) {
|
|
4758
4762
|
populateInputOnEdit
|
4759
4763
|
});
|
4760
4764
|
}
|
4761
|
-
const getStyles$
|
4765
|
+
const getStyles$a = (theme) => ({
|
4762
4766
|
combinedFilterPill: css.css(__spreadProps$n(__spreadValues$z({
|
4763
4767
|
display: "flex",
|
4764
4768
|
alignItems: "center",
|
@@ -4819,7 +4823,7 @@ const AdHocFiltersAlwaysWipCombobox = React.forwardRef(function AdHocFiltersAlwa
|
|
4819
4823
|
|
4820
4824
|
const AdHocFiltersComboboxRenderer = React.memo(function AdHocFiltersComboboxRenderer2({ model }) {
|
4821
4825
|
const { filters, readOnly } = model.useState();
|
4822
|
-
const styles = ui.useStyles2(getStyles$
|
4826
|
+
const styles = ui.useStyles2(getStyles$9);
|
4823
4827
|
const focusOnWipInputRef = React.useRef();
|
4824
4828
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
4825
4829
|
className: css.cx(styles.comboboxWrapper, { [styles.comboboxFocusOutline]: !readOnly }),
|
@@ -4842,7 +4846,7 @@ const AdHocFiltersComboboxRenderer = React.memo(function AdHocFiltersComboboxRen
|
|
4842
4846
|
ref: focusOnWipInputRef
|
4843
4847
|
}) : null);
|
4844
4848
|
});
|
4845
|
-
const getStyles$
|
4849
|
+
const getStyles$9 = (theme) => ({
|
4846
4850
|
comboboxWrapper: css.css({
|
4847
4851
|
display: "flex",
|
4848
4852
|
flexWrap: "wrap",
|
@@ -5095,7 +5099,7 @@ function renderExpression(builder, filters) {
|
|
5095
5099
|
}
|
5096
5100
|
function AdHocFiltersVariableRenderer({ model }) {
|
5097
5101
|
const { filters, readOnly, addFilterButtonText } = model.useState();
|
5098
|
-
const styles = ui.useStyles2(getStyles$
|
5102
|
+
const styles = ui.useStyles2(getStyles$8);
|
5099
5103
|
if (model.state.layout === "combobox") {
|
5100
5104
|
return /* @__PURE__ */ React__default["default"].createElement(AdHocFiltersComboboxRenderer, {
|
5101
5105
|
model
|
@@ -5114,7 +5118,7 @@ function AdHocFiltersVariableRenderer({ model }) {
|
|
5114
5118
|
addFilterButtonText
|
5115
5119
|
}));
|
5116
5120
|
}
|
5117
|
-
const getStyles$
|
5121
|
+
const getStyles$8 = (theme) => ({
|
5118
5122
|
wrapper: css.css({
|
5119
5123
|
display: "flex",
|
5120
5124
|
flexWrap: "wrap",
|
@@ -6545,13 +6549,6 @@ function findAllObjects(scene, check) {
|
|
6545
6549
|
});
|
6546
6550
|
return found;
|
6547
6551
|
}
|
6548
|
-
function findDescendent(scene, descendentType) {
|
6549
|
-
function isDescendentType(scene2) {
|
6550
|
-
return scene2 instanceof descendentType;
|
6551
|
-
}
|
6552
|
-
const targetScenes = findAllObjects(scene, isDescendentType);
|
6553
|
-
return targetScenes.find(isDescendentType);
|
6554
|
-
}
|
6555
6552
|
function getDataLayers(sceneObject, localOnly = false) {
|
6556
6553
|
let currentLevel = sceneObject;
|
6557
6554
|
let collected = [];
|
@@ -6636,8 +6633,7 @@ const sceneGraph = {
|
|
6636
6633
|
getAncestor,
|
6637
6634
|
findDescendents,
|
6638
6635
|
getQueryController,
|
6639
|
-
getUrlSyncManager
|
6640
|
-
findDescendent
|
6636
|
+
getUrlSyncManager
|
6641
6637
|
};
|
6642
6638
|
|
6643
6639
|
class UniqueUrlKeyMapper {
|
@@ -6876,6 +6872,7 @@ function VizPanelRenderer({ model }) {
|
|
6876
6872
|
_pluginLoadError,
|
6877
6873
|
displayMode,
|
6878
6874
|
hoverHeader,
|
6875
|
+
showMenuAlways,
|
6879
6876
|
hoverHeaderOffset,
|
6880
6877
|
menu,
|
6881
6878
|
headerActions,
|
@@ -6997,6 +6994,7 @@ function VizPanelRenderer({ model }) {
|
|
6997
6994
|
width,
|
6998
6995
|
height,
|
6999
6996
|
displayMode,
|
6997
|
+
showMenuAlways,
|
7000
6998
|
hoverHeader,
|
7001
6999
|
hoverHeaderOffset,
|
7002
7000
|
titleItems: titleItemsElement,
|
@@ -9851,7 +9849,7 @@ class EmbeddedScene extends SceneObjectBase {
|
|
9851
9849
|
EmbeddedScene.Component = EmbeddedSceneRenderer;
|
9852
9850
|
function EmbeddedSceneRenderer({ model }) {
|
9853
9851
|
const { body, controls } = model.useState();
|
9854
|
-
const styles = ui.useStyles2(getStyles$
|
9852
|
+
const styles = ui.useStyles2(getStyles$7);
|
9855
9853
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
9856
9854
|
className: styles.container
|
9857
9855
|
}, controls && /* @__PURE__ */ React__default["default"].createElement("div", {
|
@@ -9865,7 +9863,7 @@ function EmbeddedSceneRenderer({ model }) {
|
|
9865
9863
|
model: body
|
9866
9864
|
})));
|
9867
9865
|
}
|
9868
|
-
const getStyles$
|
9866
|
+
const getStyles$7 = (theme) => {
|
9869
9867
|
return {
|
9870
9868
|
container: css.css({
|
9871
9869
|
flexGrow: 1,
|
@@ -10082,7 +10080,7 @@ const LazyLoader = React__default["default"].forwardRef(
|
|
10082
10080
|
(_a, ref) => {
|
10083
10081
|
var _b = _a, { children, onLoad, onChange, className } = _b, rest = __objRest$1(_b, ["children", "onLoad", "onChange", "className"]);
|
10084
10082
|
const id = useUniqueId();
|
10085
|
-
const { hideEmpty } = ui.useStyles2(getStyles$
|
10083
|
+
const { hideEmpty } = ui.useStyles2(getStyles$6);
|
10086
10084
|
const [loaded, setLoaded] = React.useState(false);
|
10087
10085
|
const [isInView, setIsInView] = React.useState(false);
|
10088
10086
|
const innerRef = React.useRef(null);
|
@@ -10116,7 +10114,7 @@ const LazyLoader = React__default["default"].forwardRef(
|
|
10116
10114
|
}, rest), loaded && (typeof children === "function" ? children({ isInView }) : children));
|
10117
10115
|
}
|
10118
10116
|
);
|
10119
|
-
function getStyles$
|
10117
|
+
function getStyles$6() {
|
10120
10118
|
return {
|
10121
10119
|
hideEmpty: css.css({
|
10122
10120
|
"&:empty": {
|
@@ -10813,7 +10811,7 @@ NestedScene.Component = NestedSceneRenderer;
|
|
10813
10811
|
function NestedSceneRenderer({ model }) {
|
10814
10812
|
const { title, isCollapsed, canCollapse, canRemove, body, controls } = model.useState();
|
10815
10813
|
const gridRow = ui.useStyles2(getSceneGridRowStyles);
|
10816
|
-
const styles = ui.useStyles2(getStyles$
|
10814
|
+
const styles = ui.useStyles2(getStyles$5);
|
10817
10815
|
const toolbarControls = (controls != null ? controls : []).map((action) => /* @__PURE__ */ React__default["default"].createElement(action.Component, {
|
10818
10816
|
key: action.state.key,
|
10819
10817
|
model: action
|
@@ -10848,7 +10846,7 @@ function NestedSceneRenderer({ model }) {
|
|
10848
10846
|
model: body
|
10849
10847
|
}));
|
10850
10848
|
}
|
10851
|
-
const getStyles$
|
10849
|
+
const getStyles$5 = (theme) => ({
|
10852
10850
|
wrapper: css.css({
|
10853
10851
|
display: "flex",
|
10854
10852
|
flexDirection: "column",
|
@@ -11426,7 +11424,7 @@ const timeShiftAlignmentProcessor = (primary, secondary) => {
|
|
11426
11424
|
};
|
11427
11425
|
function SceneTimeRangeCompareRenderer({ model }) {
|
11428
11426
|
var _a;
|
11429
|
-
const styles = ui.useStyles2(getStyles$
|
11427
|
+
const styles = ui.useStyles2(getStyles$4);
|
11430
11428
|
const { compareWith, compareOptions } = model.useState();
|
11431
11429
|
const [previousCompare, setPreviousCompare] = React__default["default"].useState(compareWith);
|
11432
11430
|
const previousValue = (_a = compareOptions.find(({ value: value2 }) => value2 === previousCompare)) != null ? _a : PREVIOUS_PERIOD_COMPARE_OPTION;
|
@@ -11466,7 +11464,7 @@ function SceneTimeRangeCompareRenderer({ model }) {
|
|
11466
11464
|
isOpen: false
|
11467
11465
|
}, previousValue.label));
|
11468
11466
|
}
|
11469
|
-
function getStyles$
|
11467
|
+
function getStyles$4(theme) {
|
11470
11468
|
return {
|
11471
11469
|
previewButton: css.css({
|
11472
11470
|
"&:disabled": {
|
@@ -11559,107 +11557,18 @@ function getMultiVariableValues(variable) {
|
|
11559
11557
|
return [{ value, label: text }];
|
11560
11558
|
}
|
11561
11559
|
|
11562
|
-
|
11560
|
+
class SceneControlsSpacer extends SceneObjectBase {
|
11563
11561
|
constructor() {
|
11564
11562
|
super({});
|
11563
|
+
this._renderBeforeActivation = true;
|
11565
11564
|
}
|
11566
|
-
|
11567
|
-
return _SceneControlsSpacer.Component;
|
11568
|
-
}
|
11569
|
-
};
|
11570
|
-
let SceneControlsSpacer = _SceneControlsSpacer;
|
11565
|
+
}
|
11571
11566
|
SceneControlsSpacer.Component = (_props) => {
|
11572
11567
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
11573
11568
|
style: { flexGrow: 1 }
|
11574
11569
|
});
|
11575
11570
|
};
|
11576
11571
|
|
11577
|
-
const LIMIT_FRAMES_TITLE_ITEM_TRANSFORMATION_KEY = "limit_frames_title_item_transformation";
|
11578
|
-
class LimitFramesTitleItemScene extends SceneObjectBase {
|
11579
|
-
constructor(state) {
|
11580
|
-
super(state);
|
11581
|
-
this.addActivationHandler(this.onActivate.bind(this));
|
11582
|
-
}
|
11583
|
-
onActivate() {
|
11584
|
-
const panel = sceneGraph.getAncestor(this, VizPanel);
|
11585
|
-
const $transformedDataArray = sceneGraph.findAllObjects(panel, (scene) => scene.state.key === LIMIT_FRAMES_TITLE_ITEM_TRANSFORMATION_KEY);
|
11586
|
-
const $transformedData = $transformedDataArray[0];
|
11587
|
-
if ($transformedData) {
|
11588
|
-
const $untransformedDataProviders = sceneGraph.findAllObjects($transformedData, (scene) => scene instanceof SceneDataTransformer || scene instanceof SceneQueryRunner);
|
11589
|
-
const $untransformedDataProvider = $untransformedDataProviders[0];
|
11590
|
-
this._subs.add(
|
11591
|
-
$transformedData.subscribeToState((transformedDataState) => {
|
11592
|
-
var _a, _b, _c;
|
11593
|
-
if ($untransformedDataProvider && ((_a = $untransformedDataProvider.state.data) == null ? void 0 : _a.series.length) !== this.state.currentFrameCount) {
|
11594
|
-
this.setState({
|
11595
|
-
currentFrameCount: (_b = transformedDataState.data) == null ? void 0 : _b.series.length,
|
11596
|
-
totalFrameCount: (_c = $untransformedDataProvider.state.data) == null ? void 0 : _c.series.length
|
11597
|
-
});
|
11598
|
-
}
|
11599
|
-
})
|
11600
|
-
);
|
11601
|
-
}
|
11602
|
-
}
|
11603
|
-
showAllSeries() {
|
11604
|
-
const $data = sceneGraph.getData(this);
|
11605
|
-
if ($data instanceof SceneDataTransformer) {
|
11606
|
-
$data.setState({
|
11607
|
-
transformations: []
|
11608
|
-
});
|
11609
|
-
this.setState({
|
11610
|
-
showAllFrames: true
|
11611
|
-
});
|
11612
|
-
$data.reprocessTransformations();
|
11613
|
-
}
|
11614
|
-
}
|
11615
|
-
}
|
11616
|
-
LimitFramesTitleItemScene.Component = ({ model }) => {
|
11617
|
-
const { showAllFrames, currentFrameCount, frameLimit, totalFrameCount } = model.useState();
|
11618
|
-
const styles = ui.useStyles2(getStyles$4);
|
11619
|
-
if (totalFrameCount === void 0 || showAllFrames || !currentFrameCount || totalFrameCount < frameLimit) {
|
11620
|
-
return null;
|
11621
|
-
}
|
11622
|
-
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
11623
|
-
className: styles.timeSeriesDisclaimer
|
11624
|
-
}, /* @__PURE__ */ React__default["default"].createElement("span", {
|
11625
|
-
className: styles.warningMessage
|
11626
|
-
}, /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(ui.Icon, {
|
11627
|
-
title: `Showing only ${model.state.frameLimit} series`,
|
11628
|
-
name: "exclamation-triangle",
|
11629
|
-
"aria-hidden": "true"
|
11630
|
-
}))), /* @__PURE__ */ React__default["default"].createElement(ui.Tooltip, {
|
11631
|
-
content: "Rendering too many series in a single panel may impact performance and make data harder to read."
|
11632
|
-
}, /* @__PURE__ */ React__default["default"].createElement(ui.Button, {
|
11633
|
-
variant: "secondary",
|
11634
|
-
size: "sm",
|
11635
|
-
onClick: () => model.showAllSeries()
|
11636
|
-
}, /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, "Show all ", totalFrameCount))));
|
11637
|
-
};
|
11638
|
-
function limitFramesTransformation(limit) {
|
11639
|
-
return (source) => {
|
11640
|
-
return source.pipe(
|
11641
|
-
rxjs.map((frames) => {
|
11642
|
-
return frames.slice(0, limit);
|
11643
|
-
})
|
11644
|
-
);
|
11645
|
-
};
|
11646
|
-
}
|
11647
|
-
const getStyles$4 = (theme) => ({
|
11648
|
-
timeSeriesDisclaimer: css.css({
|
11649
|
-
label: "time-series-disclaimer",
|
11650
|
-
display: "flex",
|
11651
|
-
alignItems: "center",
|
11652
|
-
gap: theme.spacing(1)
|
11653
|
-
}),
|
11654
|
-
warningMessage: css.css({
|
11655
|
-
display: "flex",
|
11656
|
-
alignItems: "center",
|
11657
|
-
gap: theme.spacing(0.5),
|
11658
|
-
color: theme.colors.warning.main,
|
11659
|
-
fontSize: theme.typography.bodySmall.fontSize
|
11660
|
-
})
|
11661
|
-
});
|
11662
|
-
|
11663
11572
|
class SceneFlexLayout extends SceneObjectBase {
|
11664
11573
|
toggleDirection() {
|
11665
11574
|
this.setState({
|
@@ -13110,10 +13019,6 @@ class VizPanelBuilder {
|
|
13110
13019
|
this._state.title = title;
|
13111
13020
|
return this;
|
13112
13021
|
}
|
13113
|
-
setTitleItems(titleItems) {
|
13114
|
-
this._state.titleItems = titleItems;
|
13115
|
-
return this;
|
13116
|
-
}
|
13117
13022
|
setDescription(description) {
|
13118
13023
|
this._state.description = description;
|
13119
13024
|
return this;
|
@@ -13126,6 +13031,10 @@ class VizPanelBuilder {
|
|
13126
13031
|
this._state.hoverHeader = hoverHeader;
|
13127
13032
|
return this;
|
13128
13033
|
}
|
13034
|
+
setShowMenuAlways(showMenuAlways) {
|
13035
|
+
this._state.showMenuAlways = showMenuAlways;
|
13036
|
+
return this;
|
13037
|
+
}
|
13129
13038
|
setMenu(menu) {
|
13130
13039
|
this._state.menu = menu;
|
13131
13040
|
return this;
|
@@ -13211,41 +13120,12 @@ class VizPanelBuilder {
|
|
13211
13120
|
return this;
|
13212
13121
|
}
|
13213
13122
|
build() {
|
13214
|
-
if (this._state.$data) {
|
13215
|
-
this.limitFramesIfLimitSceneExists();
|
13216
|
-
}
|
13217
13123
|
const panel = new VizPanel(__spreadProps(__spreadValues({}, this._state), {
|
13218
13124
|
options: this._panelOptionsBuilder.build(),
|
13219
13125
|
fieldConfig: this._fieldConfigBuilder.build()
|
13220
13126
|
}));
|
13221
13127
|
return panel;
|
13222
13128
|
}
|
13223
|
-
limitFramesIfLimitSceneExists() {
|
13224
|
-
if (this._state.$data) {
|
13225
|
-
const limitSeriesTitleItem = this.getLimitSeriesTitleItem();
|
13226
|
-
if (limitSeriesTitleItem && limitSeriesTitleItem.state.frameLimit) {
|
13227
|
-
this.setData(new SceneDataTransformer({
|
13228
|
-
key: LIMIT_FRAMES_TITLE_ITEM_TRANSFORMATION_KEY,
|
13229
|
-
$data: this._state.$data,
|
13230
|
-
transformations: [() => limitFramesTransformation(limitSeriesTitleItem.state.frameLimit)]
|
13231
|
-
}));
|
13232
|
-
}
|
13233
|
-
}
|
13234
|
-
}
|
13235
|
-
getLimitSeriesTitleItem() {
|
13236
|
-
if (this._state.titleItems) {
|
13237
|
-
if (Array.isArray(this._state.titleItems)) {
|
13238
|
-
for (const titleItem of this._state.titleItems) {
|
13239
|
-
if (titleItem instanceof LimitFramesTitleItemScene) {
|
13240
|
-
return titleItem;
|
13241
|
-
}
|
13242
|
-
}
|
13243
|
-
} else if (this._state.titleItems instanceof LimitFramesTitleItemScene) {
|
13244
|
-
return this._state.titleItems;
|
13245
|
-
}
|
13246
|
-
}
|
13247
|
-
return void 0;
|
13248
|
-
}
|
13249
13129
|
}
|
13250
13130
|
|
13251
13131
|
const PanelOptionsBuilders = {
|
@@ -13674,7 +13554,6 @@ exports.FieldConfigBuilders = FieldConfigBuilders;
|
|
13674
13554
|
exports.FieldConfigOverridesBuilder = FieldConfigOverridesBuilder;
|
13675
13555
|
exports.GroupByVariable = GroupByVariable;
|
13676
13556
|
exports.IntervalVariable = IntervalVariable;
|
13677
|
-
exports.LimitFramesTitleItemScene = LimitFramesTitleItemScene;
|
13678
13557
|
exports.LocalValueVariable = LocalValueVariable;
|
13679
13558
|
exports.MultiValueVariable = MultiValueVariable;
|
13680
13559
|
exports.NestedScene = NestedScene;
|