瀏覽代碼

feat: use textContent option in the get text block

Ahmad Kholid 2 年之前
父節點
當前提交
cb2fe8b718

+ 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: '',