소스 검색

feat: use textContent option in the get text block

Ahmad Kholid 3 년 전
부모
커밋
cb2fe8b718
3개의 변경된 파일18개의 추가작업 그리고 1개의 파일을 삭제
  1. 7 0
      src/components/newtab/workflow/edit/EditGetText.vue
  2. 10 1
      src/content/blocksHandler/handlerGetText.js
  3. 1 0
      src/utils/shared.js

+ 7 - 0
src/components/newtab/workflow/edit/EditGetText.vue

@@ -57,6 +57,13 @@
     >
       {{ t('workflow.blocks.get-text.includeTags') }}
     </ui-checkbox>
+    <ui-checkbox
+      :model-value="data.useTextContent"
+      class="mt-2"
+      @change="updateData({ useTextContent: $event })"
+    >
+      Use <code>textContent</code>
+    </ui-checkbox>
     <hr />
     <insert-workflow-data
       :data="data"

+ 10 - 1
src/content/blocksHandler/handlerGetText.js

@@ -11,6 +11,7 @@ function getText(block) {
       suffixText,
       multiple,
       includeTags,
+      useTextContent,
     } = block.data;
 
     if (regexData) {
@@ -19,7 +20,15 @@ function getText(block) {
 
     handleSelector(block, {
       onSelected(element) {
-        let text = includeTags ? element.outerHTML : element.innerText;
+        let text = '';
+
+        if (includeTags) {
+          text = element.outerHTML;
+        } else if (useTextContent) {
+          text = element.textContent;
+        } else {
+          text = element.innerText;
+        }
 
         if (regex) text = text.match(regex)?.join(' ') ?? text;
 

+ 1 - 0
src/utils/shared.js

@@ -350,6 +350,7 @@ export const tasks = {
       includeTags: false,
       addExtraRow: false,
       assignVariable: false,
+      useTextContent: false,
       variableName: '',
       extraRowValue: '',
       extraRowDataColumn: '',