/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at . */
import React, { Component } from "react";
import PropTypes from "prop-types";
import Reps from "devtools/client/shared/components/reps/index";
const {
REPS: { Rep },
MODE,
} = Reps;
import { translateNodeFrontToGrip } from "inspector-shared-utils";
import {
deleteDOMMutationBreakpoint,
toggleDOMMutationBreakpointState,
} from "framework-actions";
import actions from "../../actions";
import { connect } from "../../utils/connect";
import { CloseButton } from "../shared/Button";
import "./DOMMutationBreakpoints.css";
const localizationTerms = {
subtree: L10N.getStr("domMutationTypes.subtree"),
attribute: L10N.getStr("domMutationTypes.attribute"),
removal: L10N.getStr("domMutationTypes.removal"),
};
class DOMMutationBreakpointsContents extends Component {
static get propTypes() {
return {
breakpoints: PropTypes.array.isRequired,
deleteBreakpoint: PropTypes.func.isRequired,
highlightDomElement: PropTypes.func.isRequired,
openElementInInspector: PropTypes.func.isRequired,
openInspector: PropTypes.func.isRequired,
setSkipPausing: PropTypes.func.isRequired,
toggleBreakpoint: PropTypes.func.isRequired,
unHighlightDomElement: PropTypes.func.isRequired,
};
}
handleBreakpoint(breakpointId, shouldEnable) {
const { toggleBreakpoint, setSkipPausing } = this.props;
// The user has enabled a mutation breakpoint so we should no
// longer skip pausing
if (shouldEnable) {
setSkipPausing(false);
}
toggleBreakpoint(breakpointId, shouldEnable);
}
renderItem(breakpoint) {
const {
openElementInInspector,
highlightDomElement,
unHighlightDomElement,
deleteBreakpoint,
} = this.props;
const { enabled, id: breakpointId, nodeFront, mutationType } = breakpoint;
return (