Trix에 추가 작업 추가
4180 단어 railswebdevjavascripttrix
현재 작업은 여기에서 찾을 수 있습니다.
https://github.com/basecamp/trix/blob/7940a9a3b7129f8190ef37e086809260d7ccfe32/src/trix/controllers/editor_controller.coffee#L301-L318
그러나 추가 작업을 수행하려면 어떻게 해야 합니까?
액션이 객체인 것 같습니다:
{
test: Boolean,
perform: void
}
그래서
test
는 "이봐 우리가 그 행동을 해야 할까?"그리고
perform
는 if test === true
라고 불리는 것입니다. 합리적인 것 같습니다.이제 어려운 부분으로, 추가 Trix 작업을 추가하는 문서를 찾을 수 없습니다.
그러나 콘솔을 통해 조사한 결과 다음과 같은 사실을 발견했습니다.
document.querySelector("trix-editor").editorController.actions
/*
Object {
attachFiles: Object { test: test(), perform: perform() }
decreaseNestingLevel: Object { test: test(), perform: perform() }
increaseNestingLevel: Object { test: test(), perform: perform() }
link: Object { test: test() }
redo: Object { test: test(), perform: perform() }
undo: Object { test: test(), perform: perform() }
}
*/
따라서 현재 활성화된 "trix-editor"인스턴스에서
editorController.actions
를 탭하여 추가 작업을 추가할 수 있는 것으로 보입니다.따라서 작업을 추가하는 간단한 예는 다음과 같습니다.
document.addEventListener('trix-initialize', updateActions);
function updateActions() {
const editors = document.querySelectorAll("trix-editor")
const myAction = { test: true, perform: console.log("Hi!") }
editors.forEach((editor) => Object.assign(editor.editorController.actions, { myAction })
}
이제 도구 모음에 항목을 추가할 때 다음과 같이 작업을 트리거할 수 있어야 합니다.
<button data-trix-action="myAction"></button>
이것은 내가 테이블 지원을 탐구하기 위한 작은 선구자이지만 추적하는 데 시간이 걸리므로 공유할 것이라고 생각했습니다!
Reference
이 문제에 관하여(Trix에 추가 작업 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/paramagicdev/adding-additional-actions-to-trix-lhg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)