graphdb-workbench
Version:
The web application for GraphDB APIs
2 lines • 1.15 kB
JavaScript
export const __webpack_id__=42618;export const __webpack_ids__=[42618];export const __webpack_modules__={42618:()=>{function e(e){return{restrict:"E",scope:{fieldName:"@",source:"=",onSave:"&",onCancel:"&",onClick:"&",onDblclick:"&",isEditing:"="},templateUrl:"js/angular/core/directives/inline-editable-text/templates/inline-editable-text.template.html",link:function(t,n){t.editableModel={};const i=[];let o;t.onKeydown=e=>{"Enter"===e.key?(l(),t.editableModel.text!==t.text&&t.onSave({newText:t.editableModel.text,source:t.source})):"Escape"===e.key&&c()},t.onCancelEditing=()=>{c()},t.onSelect=()=>{o?(l(),t.onDblclick({source:t.source})):o=e(function(){t.onClick({source:t.source}),l()},250)};const c=()=>{l(),t.onCancel()},l=()=>{e.cancel(o),o=void 0};i.push(t.$watch("isEditing",i=>{i&&(t.editableModel.text=t.source[t.fieldName],e(()=>{const e=n.find("input")[0];e.focus(),e.select()},0))})),t.$on("$destroy",()=>{i.forEach(e=>e()),l()})}}}angular.module("graphdb.framework.core.directives.inline-editable-text",[]).directive("inlineEditableText",e),e.$inject=["$timeout"]}};
//# sourceMappingURL=42618.19fe9e74eab6b90e7166.bundle.js.map