(window.controls_bundle_jsonpfunction=window.controls_bundle_jsonpfunction||[]).push([[8],{122:function(e,t,o){"use strict";o.r(t),o.d(t,"EditControlAction",(function(){return edit_control_action_EditControlAction}));var n=o(1),i=o.n(n),a=(o(5),o(8)),r=o(40),c=o(20),d=o(44),l=o(17),s=o(2),b=o(48),u=o(62),m=o(74),h=o(4);const p=({embeddable:e,closeFlyout:t,removeControl:o})=>{const{overlays:{openConfirm:n},controls:{getControlFactory:i}}=l.a.getServices(),a=Object(u.useControlGroupContainer)(),r=a.select((e=>e.explicitInput.panels))[e.id];return Object(h.jsx)(m.a,{isCreate:!1,width:r.width,grow:r.grow,embeddable:e,onCancel:e=>{Object(s.isEqual)(r.explicitInput,{...r.explicitInput,...e.input})&&e.grow===r.grow&&e.width===r.width?t():n(b.a.management.discardChanges.getSubtitle(),{confirmButtonText:b.a.management.discardChanges.getConfirm(),cancelButtonText:b.a.management.discardChanges.getCancel(),title:b.a.management.discardChanges.getTitle(),buttonColor:"danger"}).then((e=>{e&&t()}))},setLastUsedDataViewId:e=>a.setLastUsedDataViewId(e),onSave:async(o,n)=>{if(!n)return void t();const d=i(n);if(!d)throw new c.EmbeddableFactoryNotFoundError(n);let l=o.input;d.presaveTransformFunction&&(l=d.presaveTransformFunction(l,e)),o.width&&o.width!==r.width&&a.dispatch.setControlWidth({width:o.width,embeddableId:e.id}),void 0!==o.grow&&o.grow!==r.grow&&a.dispatch.setControlGrow({grow:o.grow,embeddableId:e.id}),t(),await a.replaceEmbeddable(e.id,l,n)},removeControl:()=>{t(),o()}})};var g=o(15),w=o(22);class edit_control_action_EditControlAction{constructor(e){i()(this,"type",g.b),i()(this,"id",g.b),i()(this,"order",2),i()(this,"getEmbeddableFactory",void 0),i()(this,"openFlyout",void 0),i()(this,"theme$",void 0),i()(this,"MenuItem",(({context:e})=>{const{embeddable:t}=e;return Object(h.jsx)(a.EuiToolTip,{content:this.getDisplayName(e)},Object(h.jsx)(a.EuiButtonIcon,{"data-test-subj":`control-action-${t.id}-edit`,"aria-label":this.getDisplayName(e),iconType:this.getIconType(e),onClick:()=>this.execute(e),color:"text"}))})),this.deleteControlAction=e,({embeddable:{getEmbeddableFactory:this.getEmbeddableFactory},overlays:{openFlyout:this.openFlyout},theme:{theme$:this.theme$}}=l.a.getServices())}getDisplayName({embeddable:e}){if(!e.parent||!Object(w.c)(e.parent))throw new d.IncompatibleActionError;return b.a.floatingActions.getEditButtonTitle()}getIconType({embeddable:e}){if(!e.parent||!Object(w.c)(e.parent))throw new d.IncompatibleActionError;return"pencil"}async isCompatible({embeddable:e}){if(Object(c.isErrorEmbeddable)(e))return!1;const t=e.parent,o=this.getEmbeddableFactory(e.type);return Boolean(t&&Object(w.c)(t)&&t.getInput().viewMode===c.ViewMode.EDIT&&o&&await o.isEditable())}async execute({embeddable:e}){if(!e.parent||!Object(w.c)(e.parent))throw new d.IncompatibleActionError;const t=e.parent,o=this.openFlyout(Object(r.toMountPoint)(Object(h.jsx)(u.ControlGroupContainerContext.Provider,{value:t},Object(h.jsx)(p,{embeddable:e,removeControl:()=>this.deleteControlAction.execute({embeddable:e}),closeFlyout:()=>{Object(u.setFlyoutRef)(void 0),o.close()}})),{theme$:this.theme$}),{"aria-label":b.a.manageControl.getFlyoutEditTitle(),outsideClickCloses:!1,onClose:e=>{Object(u.setFlyoutRef)(void 0),e.close()},ownFocus:!0});Object(u.setFlyoutRef)(o)}}}}]);