mirror of
				https://git.mirrors.martin98.com/https://github.com/sub-store-org/Sub-Store.git
				synced 2025-10-31 13:41:07 +08:00 
			
		
		
		
	添加四个重命名
This commit is contained in:
		
							parent
							
								
									4873c6bb3c
								
							
						
					
					
						commit
						b2f9eb9989
					
				
							
								
								
									
										75
									
								
								backend/.idea/workspace.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										75
									
								
								backend/.idea/workspace.xml
									
									
									
										generated
									
									
									
								
							| @ -20,9 +20,18 @@ | |||||||
|   </component> |   </component> | ||||||
|   <component name="ChangeListManager"> |   <component name="ChangeListManager"> | ||||||
|     <list default="true" id="8b97a098-48b2-4e64-a9ef-522fe2d30b52" name="Default Changelist" comment=""> |     <list default="true" id="8b97a098-48b2-4e64-a9ef-522fe2d30b52" name="Default Changelist" comment=""> | ||||||
|  |       <change afterPath="$PROJECT_DIR$/../web/src/components/KeywordDeleteOperator.vue" afterDir="false" /> | ||||||
|  |       <change afterPath="$PROJECT_DIR$/../web/src/components/KeywordRenameOperator.vue" afterDir="false" /> | ||||||
|       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> |       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> | ||||||
|       <change beforePath="$PROJECT_DIR$/sub-store.js" beforeDir="false" afterPath="$PROJECT_DIR$/sub-store.js" afterDir="false" /> |       <change beforePath="$PROJECT_DIR$/sub-store.js" beforeDir="false" afterPath="$PROJECT_DIR$/sub-store.js" afterDir="false" /> | ||||||
|       <change beforePath="$PROJECT_DIR$/../web/src/components/KeywordFilter.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/components/KeywordFilter.vue" afterDir="false" /> |       <change beforePath="$PROJECT_DIR$/../web/src/components/KeywordFilter.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/components/KeywordFilter.vue" afterDir="false" /> | ||||||
|  |       <change beforePath="$PROJECT_DIR$/../web/src/components/KeywordRename.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/components/RegexDeleteOperator.vue" afterDir="false" /> | ||||||
|  |       <change beforePath="$PROJECT_DIR$/../web/src/components/KeywordSort.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/components/KeywordSortOperator.vue" afterDir="false" /> | ||||||
|  |       <change beforePath="$PROJECT_DIR$/../web/src/components/RegexFilter.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/components/RegexFilter.vue" afterDir="false" /> | ||||||
|  |       <change beforePath="$PROJECT_DIR$/../web/src/components/RegexRename.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/components/RegexRenameOperator.vue" afterDir="false" /> | ||||||
|  |       <change beforePath="$PROJECT_DIR$/../web/src/components/RegionFilter.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/components/RegionFilter.vue" afterDir="false" /> | ||||||
|  |       <change beforePath="$PROJECT_DIR$/../web/src/components/Sort.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/components/SortOperator.vue" afterDir="false" /> | ||||||
|  |       <change beforePath="$PROJECT_DIR$/../web/src/components/TypeFilter.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/components/TypeFilter.vue" afterDir="false" /> | ||||||
|       <change beforePath="$PROJECT_DIR$/../web/src/config.js" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/config.js" afterDir="false" /> |       <change beforePath="$PROJECT_DIR$/../web/src/config.js" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/config.js" afterDir="false" /> | ||||||
|       <change beforePath="$PROJECT_DIR$/../web/src/views/SubEditor.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/views/SubEditor.vue" afterDir="false" /> |       <change beforePath="$PROJECT_DIR$/../web/src/views/SubEditor.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/views/SubEditor.vue" afterDir="false" /> | ||||||
|     </list> |     </list> | ||||||
| @ -91,7 +100,7 @@ | |||||||
|       <workItem from="1598876594229" duration="1662000" /> |       <workItem from="1598876594229" duration="1662000" /> | ||||||
|       <workItem from="1598887302218" duration="3200000" /> |       <workItem from="1598887302218" duration="3200000" /> | ||||||
|       <workItem from="1598898694400" duration="1336000" /> |       <workItem from="1598898694400" duration="1336000" /> | ||||||
|       <workItem from="1598900239005" duration="2289000" /> |       <workItem from="1598900239005" duration="4051000" /> | ||||||
|     </task> |     </task> | ||||||
|     <servers /> |     <servers /> | ||||||
|   </component> |   </component> | ||||||
| @ -111,7 +120,7 @@ | |||||||
|     <option name="oldMeFiltersMigrated" value="true" /> |     <option name="oldMeFiltersMigrated" value="true" /> | ||||||
|   </component> |   </component> | ||||||
|   <component name="WindowStateProjectService"> |   <component name="WindowStateProjectService"> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.0.bottom" timestamp="1598902052341"> |     <state width="840" height="374" key="GridCell.Tab.0.bottom" timestamp="1598922564717"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.0.bottom/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358068" /> |     <state width="840" height="374" key="GridCell.Tab.0.bottom/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358068" /> | ||||||
| @ -121,8 +130,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.0.bottom/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" /> |     <state width="849" height="374" key="GridCell.Tab.0.bottom/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.0.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992684" /> |     <state width="849" height="374" key="GridCell.Tab.0.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992684" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.0.bottom/67.23.1725.1097@67.23.1725.1097" timestamp="1598900393008" /> |     <state width="849" height="374" key="GridCell.Tab.0.bottom/67.23.1725.1097@67.23.1725.1097" timestamp="1598900393008" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.0.bottom/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052341" /> |     <state width="840" height="374" key="GridCell.Tab.0.bottom/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564717" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.0.center" timestamp="1598902052340"> |     <state width="840" height="374" key="GridCell.Tab.0.center" timestamp="1598922564716"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.0.center/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358067" /> |     <state width="840" height="374" key="GridCell.Tab.0.center/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358067" /> | ||||||
| @ -132,8 +141,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.0.center/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847574" /> |     <state width="849" height="374" key="GridCell.Tab.0.center/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847574" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.0.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992684" /> |     <state width="849" height="374" key="GridCell.Tab.0.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992684" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.0.center/67.23.1725.1097@67.23.1725.1097" timestamp="1598900393007" /> |     <state width="849" height="374" key="GridCell.Tab.0.center/67.23.1725.1097@67.23.1725.1097" timestamp="1598900393007" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.0.center/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052340" /> |     <state width="840" height="374" key="GridCell.Tab.0.center/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564716" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.0.left" timestamp="1598902052334"> |     <state width="840" height="374" key="GridCell.Tab.0.left" timestamp="1598922564716"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.0.left/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358067" /> |     <state width="840" height="374" key="GridCell.Tab.0.left/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358067" /> | ||||||
| @ -143,8 +152,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.0.left/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847574" /> |     <state width="849" height="374" key="GridCell.Tab.0.left/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847574" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.0.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992683" /> |     <state width="849" height="374" key="GridCell.Tab.0.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992683" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.0.left/67.23.1725.1097@67.23.1725.1097" timestamp="1598900393005" /> |     <state width="849" height="374" key="GridCell.Tab.0.left/67.23.1725.1097@67.23.1725.1097" timestamp="1598900393005" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.0.left/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052334" /> |     <state width="840" height="374" key="GridCell.Tab.0.left/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564716" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.0.right" timestamp="1598902052341"> |     <state width="840" height="374" key="GridCell.Tab.0.right" timestamp="1598922564717"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.0.right/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358068" /> |     <state width="840" height="374" key="GridCell.Tab.0.right/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358068" /> | ||||||
| @ -154,8 +163,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.0.right/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" /> |     <state width="849" height="374" key="GridCell.Tab.0.right/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.0.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992684" /> |     <state width="849" height="374" key="GridCell.Tab.0.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992684" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.0.right/67.23.1725.1097@67.23.1725.1097" timestamp="1598900393007" /> |     <state width="849" height="374" key="GridCell.Tab.0.right/67.23.1725.1097@67.23.1725.1097" timestamp="1598900393007" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.0.right/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052341" /> |     <state width="840" height="374" key="GridCell.Tab.0.right/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564717" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.1.bottom" timestamp="1598902052222"> |     <state width="840" height="374" key="GridCell.Tab.1.bottom" timestamp="1598922564621"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.1.bottom/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358069" /> |     <state width="840" height="374" key="GridCell.Tab.1.bottom/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358069" /> | ||||||
| @ -165,8 +174,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.1.bottom/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" /> |     <state width="849" height="374" key="GridCell.Tab.1.bottom/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.1.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992587" /> |     <state width="849" height="374" key="GridCell.Tab.1.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992587" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.1.bottom/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392856" /> |     <state width="849" height="374" key="GridCell.Tab.1.bottom/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392856" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.1.bottom/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052222" /> |     <state width="840" height="374" key="GridCell.Tab.1.bottom/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564621" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.1.center" timestamp="1598902052221"> |     <state width="840" height="374" key="GridCell.Tab.1.center" timestamp="1598922564621"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.1.center/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358069" /> |     <state width="840" height="374" key="GridCell.Tab.1.center/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358069" /> | ||||||
| @ -176,8 +185,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.1.center/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" /> |     <state width="849" height="374" key="GridCell.Tab.1.center/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.1.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992587" /> |     <state width="849" height="374" key="GridCell.Tab.1.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992587" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.1.center/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392855" /> |     <state width="849" height="374" key="GridCell.Tab.1.center/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392855" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.1.center/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052221" /> |     <state width="840" height="374" key="GridCell.Tab.1.center/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564621" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.1.left" timestamp="1598902052221"> |     <state width="840" height="374" key="GridCell.Tab.1.left" timestamp="1598922564621"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.1.left/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358069" /> |     <state width="840" height="374" key="GridCell.Tab.1.left/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358069" /> | ||||||
| @ -187,8 +196,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.1.left/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" /> |     <state width="849" height="374" key="GridCell.Tab.1.left/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.1.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992587" /> |     <state width="849" height="374" key="GridCell.Tab.1.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992587" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.1.left/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392855" /> |     <state width="849" height="374" key="GridCell.Tab.1.left/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392855" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.1.left/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052221" /> |     <state width="840" height="374" key="GridCell.Tab.1.left/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564621" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.1.right" timestamp="1598902052221"> |     <state width="840" height="374" key="GridCell.Tab.1.right" timestamp="1598922564621"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.1.right/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358069" /> |     <state width="840" height="374" key="GridCell.Tab.1.right/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358069" /> | ||||||
| @ -198,8 +207,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.1.right/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" /> |     <state width="849" height="374" key="GridCell.Tab.1.right/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.1.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992587" /> |     <state width="849" height="374" key="GridCell.Tab.1.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992587" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.1.right/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392855" /> |     <state width="849" height="374" key="GridCell.Tab.1.right/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392855" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.1.right/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052221" /> |     <state width="840" height="374" key="GridCell.Tab.1.right/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564621" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.2.bottom" timestamp="1598902052222"> |     <state width="840" height="374" key="GridCell.Tab.2.bottom" timestamp="1598922564622"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.2.bottom/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358071" /> |     <state width="840" height="374" key="GridCell.Tab.2.bottom/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358071" /> | ||||||
| @ -209,8 +218,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.2.bottom/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" /> |     <state width="849" height="374" key="GridCell.Tab.2.bottom/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.2.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992588" /> |     <state width="849" height="374" key="GridCell.Tab.2.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992588" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.2.bottom/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392857" /> |     <state width="849" height="374" key="GridCell.Tab.2.bottom/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392857" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.2.bottom/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052222" /> |     <state width="840" height="374" key="GridCell.Tab.2.bottom/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564622" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.2.center" timestamp="1598902052222"> |     <state width="840" height="374" key="GridCell.Tab.2.center" timestamp="1598922564622"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.2.center/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358070" /> |     <state width="840" height="374" key="GridCell.Tab.2.center/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358070" /> | ||||||
| @ -220,8 +229,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.2.center/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" /> |     <state width="849" height="374" key="GridCell.Tab.2.center/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.2.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992588" /> |     <state width="849" height="374" key="GridCell.Tab.2.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992588" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.2.center/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392856" /> |     <state width="849" height="374" key="GridCell.Tab.2.center/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392856" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.2.center/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052222" /> |     <state width="840" height="374" key="GridCell.Tab.2.center/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564622" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.2.left" timestamp="1598902052222"> |     <state width="840" height="374" key="GridCell.Tab.2.left" timestamp="1598922564622"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.2.left/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358070" /> |     <state width="840" height="374" key="GridCell.Tab.2.left/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358070" /> | ||||||
| @ -231,8 +240,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.2.left/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" /> |     <state width="849" height="374" key="GridCell.Tab.2.left/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.2.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992587" /> |     <state width="849" height="374" key="GridCell.Tab.2.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992587" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.2.left/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392856" /> |     <state width="849" height="374" key="GridCell.Tab.2.left/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392856" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.2.left/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052222" /> |     <state width="840" height="374" key="GridCell.Tab.2.left/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564622" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.2.right" timestamp="1598902052222"> |     <state width="840" height="374" key="GridCell.Tab.2.right" timestamp="1598922564622"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.2.right/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358070" /> |     <state width="840" height="374" key="GridCell.Tab.2.right/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358070" /> | ||||||
| @ -242,8 +251,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.2.right/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" /> |     <state width="849" height="374" key="GridCell.Tab.2.right/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.2.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992588" /> |     <state width="849" height="374" key="GridCell.Tab.2.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992588" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.2.right/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392857" /> |     <state width="849" height="374" key="GridCell.Tab.2.right/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392857" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.2.right/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052222" /> |     <state width="840" height="374" key="GridCell.Tab.2.right/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564622" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.3.bottom" timestamp="1598902052223"> |     <state width="840" height="374" key="GridCell.Tab.3.bottom" timestamp="1598922564623"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.3.bottom/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358072" /> |     <state width="840" height="374" key="GridCell.Tab.3.bottom/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358072" /> | ||||||
| @ -253,8 +262,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.3.bottom/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847577" /> |     <state width="849" height="374" key="GridCell.Tab.3.bottom/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847577" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.3.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992588" /> |     <state width="849" height="374" key="GridCell.Tab.3.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992588" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.3.bottom/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392858" /> |     <state width="849" height="374" key="GridCell.Tab.3.bottom/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392858" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.3.bottom/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052223" /> |     <state width="840" height="374" key="GridCell.Tab.3.bottom/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564623" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.3.center" timestamp="1598902052223"> |     <state width="840" height="374" key="GridCell.Tab.3.center" timestamp="1598922564622"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.3.center/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358071" /> |     <state width="840" height="374" key="GridCell.Tab.3.center/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358071" /> | ||||||
| @ -264,8 +273,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.3.center/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" /> |     <state width="849" height="374" key="GridCell.Tab.3.center/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.3.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992588" /> |     <state width="849" height="374" key="GridCell.Tab.3.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992588" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.3.center/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392857" /> |     <state width="849" height="374" key="GridCell.Tab.3.center/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392857" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.3.center/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052223" /> |     <state width="840" height="374" key="GridCell.Tab.3.center/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564622" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.3.left" timestamp="1598902052222"> |     <state width="840" height="374" key="GridCell.Tab.3.left" timestamp="1598922564622"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.3.left/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358071" /> |     <state width="840" height="374" key="GridCell.Tab.3.left/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358071" /> | ||||||
| @ -275,8 +284,8 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.3.left/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" /> |     <state width="849" height="374" key="GridCell.Tab.3.left/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.3.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992588" /> |     <state width="849" height="374" key="GridCell.Tab.3.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992588" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.3.left/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392857" /> |     <state width="849" height="374" key="GridCell.Tab.3.left/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392857" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.3.left/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052222" /> |     <state width="840" height="374" key="GridCell.Tab.3.left/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564622" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.3.right" timestamp="1598902052223"> |     <state width="840" height="374" key="GridCell.Tab.3.right" timestamp="1598922564622"> | ||||||
|       <screen x="70" y="23" width="1722" height="1097" /> |       <screen x="70" y="23" width="1722" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|     <state width="840" height="374" key="GridCell.Tab.3.right/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358072" /> |     <state width="840" height="374" key="GridCell.Tab.3.right/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358072" /> | ||||||
| @ -286,7 +295,7 @@ | |||||||
|     <state width="849" height="374" key="GridCell.Tab.3.right/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847577" /> |     <state width="849" height="374" key="GridCell.Tab.3.right/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847577" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.3.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992588" /> |     <state width="849" height="374" key="GridCell.Tab.3.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598899992588" /> | ||||||
|     <state width="849" height="374" key="GridCell.Tab.3.right/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392858" /> |     <state width="849" height="374" key="GridCell.Tab.3.right/67.23.1725.1097@67.23.1725.1097" timestamp="1598900392858" /> | ||||||
|     <state width="1284" height="374" key="GridCell.Tab.3.right/70.23.1722.1097@70.23.1722.1097" timestamp="1598902052223" /> |     <state width="840" height="374" key="GridCell.Tab.3.right/70.23.1722.1097@70.23.1722.1097" timestamp="1598922564622" /> | ||||||
|     <state x="161" y="268" width="670" height="676" key="search.everywhere.popup" timestamp="1598787117227"> |     <state x="161" y="268" width="670" height="676" key="search.everywhere.popup" timestamp="1598787117227"> | ||||||
|       <screen x="53" y="23" width="1739" height="1097" /> |       <screen x="53" y="23" width="1739" height="1097" /> | ||||||
|     </state> |     </state> | ||||||
|  | |||||||
| @ -192,7 +192,7 @@ async function parseSub(sub, platform) { | |||||||
|         } else if (item.type.indexOf("Operator") !== -1) { |         } else if (item.type.indexOf("Operator") !== -1) { | ||||||
|             const operator = AVAILABLE_OPERATORS[item.type]; |             const operator = AVAILABLE_OPERATORS[item.type]; | ||||||
|             if (operator) { |             if (operator) { | ||||||
|                 $operator.addOperators(operator(...(item.args || []))); |                 $operator.addOperators(operator(item.args)); | ||||||
|                 proxies = $operator.process(proxies); |                 proxies = $operator.process(proxies); | ||||||
|                 $.log(`Applying operator "${item.type}" with arguments: \n >>> ${item.args || "None"}`); |                 $.log(`Applying operator "${item.type}" with arguments: \n >>> ${item.args || "None"}`); | ||||||
|             } |             } | ||||||
| @ -1587,7 +1587,7 @@ function KeywordRenameOperator(keywords) { | |||||||
|         func: proxies => { |         func: proxies => { | ||||||
|             return proxies.map(proxy => { |             return proxies.map(proxy => { | ||||||
|                 for (const {old, now} of keywords) { |                 for (const {old, now} of keywords) { | ||||||
|                     proxy.name = proxy.name.replace(old, now); |                     proxy.name = proxy.name.replace(old, now).trim(); | ||||||
|                 } |                 } | ||||||
|                 return proxy; |                 return proxy; | ||||||
|             }) |             }) | ||||||
| @ -1603,7 +1603,7 @@ function RegexRenameOperator(regex) { | |||||||
|         func: proxies => { |         func: proxies => { | ||||||
|             return proxies.map(proxy => { |             return proxies.map(proxy => { | ||||||
|                 for (const {expr, now} of regex) { |                 for (const {expr, now} of regex) { | ||||||
|                     proxy.name = proxy.name.replace(new RegExp(expr, "g"), now); |                     proxy.name = proxy.name.replace(new RegExp(expr, "g"), now).trim(); | ||||||
|                 } |                 } | ||||||
|                 return proxy; |                 return proxy; | ||||||
|             }) |             }) | ||||||
|  | |||||||
							
								
								
									
										102
									
								
								web/src/components/KeywordDeleteOperator.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								web/src/components/KeywordDeleteOperator.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,102 @@ | |||||||
|  | <template> | ||||||
|  |   <v-card class="ml-1 mr-1 mb-1 mt-1"> | ||||||
|  |     <v-card-title> | ||||||
|  |       <v-icon left color="primary">filter_list</v-icon> | ||||||
|  |       关键词删除 | ||||||
|  |       <v-spacer></v-spacer> | ||||||
|  |       <v-btn icon @click="$emit('up', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_up</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click="$emit('down', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_down</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click="$emit('deleteProcess', idx)"> | ||||||
|  |         <v-icon color="error">mdi-delete</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-dialog> | ||||||
|  |         <template #activator="{on}"> | ||||||
|  |           <v-btn icon v-on="on"> | ||||||
|  |             <v-icon>help</v-icon> | ||||||
|  |           </v-btn> | ||||||
|  |         </template> | ||||||
|  |         <v-card> | ||||||
|  |           <v-card-title class="headline"> | ||||||
|  |             关键词删除 | ||||||
|  |           </v-card-title> | ||||||
|  |           <v-card-text> | ||||||
|  |             删除节点名中的关键词 | ||||||
|  |           </v-card-text> | ||||||
|  |         </v-card> | ||||||
|  |       </v-dialog> | ||||||
|  |     </v-card-title> | ||||||
|  |     <v-card-text> | ||||||
|  |       关键词 | ||||||
|  |       <v-chip-group> | ||||||
|  |         <v-chip | ||||||
|  |             close | ||||||
|  |             close-icon="mdi-delete" | ||||||
|  |             v-for="(keyword, idx) in keywords" | ||||||
|  |             :key="idx" | ||||||
|  |             @click:close="remove(idx)" | ||||||
|  |         > | ||||||
|  |           {{ keyword }} | ||||||
|  |         </v-chip> | ||||||
|  |       </v-chip-group> | ||||||
|  |       <v-text-field | ||||||
|  |           placeholder="添加新关键词" | ||||||
|  |           solo | ||||||
|  |           v-model="form.keyword" | ||||||
|  |           append-icon="mdi-send" | ||||||
|  |           @click:append="add(form.keyword)" | ||||||
|  |           @keyup.enter="add(form.keyword)" | ||||||
|  |       /> | ||||||
|  |     </v-card-text> | ||||||
|  |   </v-card> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | export default { | ||||||
|  |   props: ['args'], | ||||||
|  |   data: function () { | ||||||
|  |     return { | ||||||
|  |       idx: this.$vnode.key, | ||||||
|  |       mode: "IN", | ||||||
|  |       form: { | ||||||
|  |         keyword: "" | ||||||
|  |       }, | ||||||
|  |       keywords: [] | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     add(keyword) { | ||||||
|  |       if (keyword) { | ||||||
|  |         this.keywords.push(keyword); | ||||||
|  |         this.form.keyword = ""; | ||||||
|  |       } else { | ||||||
|  |         this.$store.commit("SET_ERROR_MESSAGE", "关键词不能为空!"); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     remove(idx) { | ||||||
|  |       this.keywords.splice(idx, 1); | ||||||
|  |     }, | ||||||
|  |     save() { | ||||||
|  |       this.$emit("dataChanged", { | ||||||
|  |         idx: this.idx, | ||||||
|  |         args: this.keywords | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.keywords = this.args || []; | ||||||
|  |   }, | ||||||
|  |   watch: { | ||||||
|  |     keywords() { | ||||||
|  |       this.save(); | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  | } | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | 
 | ||||||
|  | </style> | ||||||
| @ -4,6 +4,12 @@ | |||||||
|       <v-icon left color="primary">filter_list</v-icon> |       <v-icon left color="primary">filter_list</v-icon> | ||||||
|       关键词过滤 |       关键词过滤 | ||||||
|       <v-spacer></v-spacer> |       <v-spacer></v-spacer> | ||||||
|  |       <v-btn icon @click="$emit('up', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_up</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click="$emit('down', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_down</v-icon> | ||||||
|  |       </v-btn> | ||||||
|       <v-btn icon @click="$emit('deleteProcess', idx)"> |       <v-btn icon @click="$emit('deleteProcess', idx)"> | ||||||
|         <v-icon color="error">mdi-delete</v-icon> |         <v-icon color="error">mdi-delete</v-icon> | ||||||
|       </v-btn> |       </v-btn> | ||||||
|  | |||||||
| @ -1,13 +0,0 @@ | |||||||
| <template> |  | ||||||
| 
 |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| export default { |  | ||||||
|   name: "KeywordRename" |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| 
 |  | ||||||
| <style scoped> |  | ||||||
| 
 |  | ||||||
| </style> |  | ||||||
							
								
								
									
										127
									
								
								web/src/components/KeywordRenameOperator.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								web/src/components/KeywordRenameOperator.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,127 @@ | |||||||
|  | <template> | ||||||
|  |   <v-card class="ml-1 mr-1 mb-1 mt-1"> | ||||||
|  |     <v-card-title> | ||||||
|  |       <v-icon left color="primary">filter_list</v-icon> | ||||||
|  |       关键词重命名 | ||||||
|  |       <v-spacer></v-spacer> | ||||||
|  |       <v-btn icon @click="$emit('up', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_up</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click="$emit('down', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_down</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click="$emit('deleteProcess', idx)"> | ||||||
|  |         <v-icon color="error">mdi-delete</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-dialog> | ||||||
|  |         <template #activator="{on}"> | ||||||
|  |           <v-btn icon v-on="on"> | ||||||
|  |             <v-icon>help</v-icon> | ||||||
|  |           </v-btn> | ||||||
|  |         </template> | ||||||
|  |         <v-card> | ||||||
|  |           <v-card-title class="headline"> | ||||||
|  |             关键词重命名 | ||||||
|  |           </v-card-title> | ||||||
|  |           <v-card-text> | ||||||
|  |             替换节点名中的关键词。 | ||||||
|  |           </v-card-text> | ||||||
|  |         </v-card> | ||||||
|  |       </v-dialog> | ||||||
|  |     </v-card-title> | ||||||
|  |     <v-card-text> | ||||||
|  |       关键词 | ||||||
|  |       <v-chip-group> | ||||||
|  |         <v-chip | ||||||
|  |             close | ||||||
|  |             close-icon="mdi-delete" | ||||||
|  |             v-for="(chip, idx) in chips" | ||||||
|  |             :key="idx" | ||||||
|  |             @click:close="remove(idx)" | ||||||
|  |         > | ||||||
|  |           {{ chip }} | ||||||
|  |         </v-chip> | ||||||
|  |       </v-chip-group> | ||||||
|  |       <v-row> | ||||||
|  |         <v-col> | ||||||
|  |           <v-text-field | ||||||
|  |               placeholder="关键词" | ||||||
|  |               solo | ||||||
|  |               v-model="form.keyword" | ||||||
|  |           /> | ||||||
|  |         </v-col> | ||||||
|  |         <v-col> | ||||||
|  |           <v-text-field | ||||||
|  |               placeholder="替换为" | ||||||
|  |               solo | ||||||
|  |               v-model="form.replace" | ||||||
|  |               append-icon="mdi-send" | ||||||
|  |               @click:append="add" | ||||||
|  |               @keyup.enter="add" | ||||||
|  |           /> | ||||||
|  |         </v-col> | ||||||
|  |       </v-row> | ||||||
|  | 
 | ||||||
|  |     </v-card-text> | ||||||
|  |   </v-card> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | export default { | ||||||
|  |   props: ['args'], | ||||||
|  |   data: function () { | ||||||
|  |     return { | ||||||
|  |       idx: this.$vnode.key, | ||||||
|  |       mode: "IN", | ||||||
|  |       form: { | ||||||
|  |         keyword: "", | ||||||
|  |         replace: "" | ||||||
|  |       }, | ||||||
|  |       keywords: [] | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   computed: { | ||||||
|  |     chips() { | ||||||
|  |       return this.keywords.map(k => { | ||||||
|  |         const {old, now} = k; | ||||||
|  |         return `${old} ⇒ ${now}`; | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     add() { | ||||||
|  |       if (this.form.keyword && this.form.replace) { | ||||||
|  |         this.keywords.push({ | ||||||
|  |           old: this.form.keyword, | ||||||
|  |           now: this.form.replace | ||||||
|  |         }); | ||||||
|  |         this.form.keyword = ""; | ||||||
|  |         this.form.replace = ""; | ||||||
|  |       } else { | ||||||
|  |         this.$store.commit("SET_ERROR_MESSAGE", "关键词不能为空!"); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     remove(idx) { | ||||||
|  |       this.keywords.splice(idx, 1); | ||||||
|  |     }, | ||||||
|  |     save() { | ||||||
|  |       this.$emit("dataChanged", { | ||||||
|  |         idx: this.idx, | ||||||
|  |         args: this.keywords | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.keywords = this.args || []; | ||||||
|  |   }, | ||||||
|  |   watch: { | ||||||
|  |     keywords() { | ||||||
|  |       this.save(); | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  | } | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | 
 | ||||||
|  | </style> | ||||||
| @ -18,7 +18,7 @@ | |||||||
|             关键词排序 |             关键词排序 | ||||||
|           </v-card-title> |           </v-card-title> | ||||||
|           <v-card-text> |           <v-card-text> | ||||||
|             根据给出的关键词的顺序对节点进行排序。 |             根据给出的关键词的顺序对节点进行排序,没有出现的关键词将会按照正序排列。 | ||||||
|           </v-card-text> |           </v-card-text> | ||||||
|         </v-card> |         </v-card> | ||||||
|       </v-dialog> |       </v-dialog> | ||||||
							
								
								
									
										105
									
								
								web/src/components/RegexDeleteOperator.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								web/src/components/RegexDeleteOperator.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,105 @@ | |||||||
|  | <template> | ||||||
|  |   <v-card class="ml-1 mr-1 mb-1 mt-1"> | ||||||
|  |     <v-card-title> | ||||||
|  |       <v-icon left color="primary">code</v-icon> | ||||||
|  |       正则删除 | ||||||
|  |       <v-spacer></v-spacer> | ||||||
|  |       <v-btn icon @click="$emit('up', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_up</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click="$emit('down', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_down</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click="$emit('deleteProcess', idx)"> | ||||||
|  |         <v-icon color="error">mdi-delete</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-dialog> | ||||||
|  |         <template #activator="{on}"> | ||||||
|  |           <v-btn icon v-on="on"> | ||||||
|  |             <v-icon>help</v-icon> | ||||||
|  |           </v-btn> | ||||||
|  |         </template> | ||||||
|  |         <v-card> | ||||||
|  |           <v-card-title class="headline"> | ||||||
|  |             正则删除 | ||||||
|  |           </v-card-title> | ||||||
|  |           <v-card-text> | ||||||
|  |             根据正则表达式删除节点名中的字段,注意正则表达式需要注意转义。 | ||||||
|  |             <br/>这里是一个合法的正则表达式: | ||||||
|  |             <br/> | ||||||
|  |             <b>IEPL|IPLC</b> | ||||||
|  |           </v-card-text> | ||||||
|  |         </v-card> | ||||||
|  |       </v-dialog> | ||||||
|  |     </v-card-title> | ||||||
|  |     <v-card-text> | ||||||
|  |       正则表达式 | ||||||
|  |       <v-chip-group> | ||||||
|  |         <v-chip | ||||||
|  |             close | ||||||
|  |             close-icon="mdi-delete" | ||||||
|  |             v-for="(regex, idx) in regexps" | ||||||
|  |             :key="idx" | ||||||
|  |             @click:close="remove(idx)" | ||||||
|  |         > | ||||||
|  |           {{ regex }} | ||||||
|  |         </v-chip> | ||||||
|  |       </v-chip-group> | ||||||
|  |       <v-text-field | ||||||
|  |           placeholder="添加新正则表达式" | ||||||
|  |           solo | ||||||
|  |           v-model="form.regex" | ||||||
|  |           append-icon="mdi-send" | ||||||
|  |           @click:append="add(form.regex)" | ||||||
|  |           @keyup.enter="add(form.regex)" | ||||||
|  |       /> | ||||||
|  |     </v-card-text> | ||||||
|  |   </v-card> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | export default { | ||||||
|  |   props: ['args'], | ||||||
|  |   data: function () { | ||||||
|  |     return { | ||||||
|  |       mode: "IN", | ||||||
|  |       form: { | ||||||
|  |         regex: "" | ||||||
|  |       }, | ||||||
|  |       regexps: [], | ||||||
|  |       idx: this.$vnode.key, | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     add(keyword) { | ||||||
|  |       if (keyword) { | ||||||
|  |         this.regexps.push(keyword); | ||||||
|  |         this.form.regex = ""; | ||||||
|  |       } else { | ||||||
|  |         this.$store.commit("SET_ERROR_MESSAGE", "正则表达式不能为空!"); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     remove(idx) { | ||||||
|  |       this.regexps.splice(idx, 1); | ||||||
|  |     }, | ||||||
|  |     save() { | ||||||
|  |       this.$emit("dataChanged", { | ||||||
|  |         idx: this.idx, | ||||||
|  |         args: this.regexps | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   watch: { | ||||||
|  |     regexps() { | ||||||
|  |       this.save(); | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.regexps = this.args || []; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | 
 | ||||||
|  | </style> | ||||||
| @ -4,6 +4,12 @@ | |||||||
|       <v-icon left color="primary">code</v-icon> |       <v-icon left color="primary">code</v-icon> | ||||||
|       正则过滤 |       正则过滤 | ||||||
|       <v-spacer></v-spacer> |       <v-spacer></v-spacer> | ||||||
|  |       <v-btn icon @click="$emit('up', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_up</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click="$emit('down', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_down</v-icon> | ||||||
|  |       </v-btn> | ||||||
|       <v-btn icon @click="$emit('deleteProcess', idx)"> |       <v-btn icon @click="$emit('deleteProcess', idx)"> | ||||||
|         <v-icon color="error">mdi-delete</v-icon> |         <v-icon color="error">mdi-delete</v-icon> | ||||||
|       </v-btn> |       </v-btn> | ||||||
|  | |||||||
| @ -1,13 +0,0 @@ | |||||||
| <template> |  | ||||||
| 
 |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script> |  | ||||||
| export default { |  | ||||||
| name: "RegexRename" |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| 
 |  | ||||||
| <style scoped> |  | ||||||
| 
 |  | ||||||
| </style> |  | ||||||
							
								
								
									
										127
									
								
								web/src/components/RegexRenameOperator.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								web/src/components/RegexRenameOperator.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,127 @@ | |||||||
|  | <template> | ||||||
|  |   <v-card class="ml-1 mr-1 mb-1 mt-1"> | ||||||
|  |     <v-card-title> | ||||||
|  |       <v-icon left color="primary">filter_list</v-icon> | ||||||
|  |       正则重命名 | ||||||
|  |       <v-spacer></v-spacer> | ||||||
|  |       <v-btn icon @click="$emit('up', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_up</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click="$emit('down', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_down</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click="$emit('deleteProcess', idx)"> | ||||||
|  |         <v-icon color="error">mdi-delete</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-dialog> | ||||||
|  |         <template #activator="{on}"> | ||||||
|  |           <v-btn icon v-on="on"> | ||||||
|  |             <v-icon>help</v-icon> | ||||||
|  |           </v-btn> | ||||||
|  |         </template> | ||||||
|  |         <v-card> | ||||||
|  |           <v-card-title class="headline"> | ||||||
|  |             正则重命名 | ||||||
|  |           </v-card-title> | ||||||
|  |           <v-card-text> | ||||||
|  |             使用替换节点名中的字段。 | ||||||
|  |           </v-card-text> | ||||||
|  |         </v-card> | ||||||
|  |       </v-dialog> | ||||||
|  |     </v-card-title> | ||||||
|  |     <v-card-text> | ||||||
|  |       正则表达式 | ||||||
|  |       <v-chip-group> | ||||||
|  |         <v-chip | ||||||
|  |             close | ||||||
|  |             close-icon="mdi-delete" | ||||||
|  |             v-for="(chip, idx) in chips" | ||||||
|  |             :key="idx" | ||||||
|  |             @click:close="remove(idx)" | ||||||
|  |         > | ||||||
|  |           {{ chip }} | ||||||
|  |         </v-chip> | ||||||
|  |       </v-chip-group> | ||||||
|  |       <v-row> | ||||||
|  |         <v-col> | ||||||
|  |           <v-text-field | ||||||
|  |               placeholder="关键词" | ||||||
|  |               solo | ||||||
|  |               v-model="form.regex" | ||||||
|  |           /> | ||||||
|  |         </v-col> | ||||||
|  |         <v-col> | ||||||
|  |           <v-text-field | ||||||
|  |               placeholder="替换为" | ||||||
|  |               solo | ||||||
|  |               v-model="form.replace" | ||||||
|  |               append-icon="mdi-send" | ||||||
|  |               @click:append="add" | ||||||
|  |               @keyup.enter="add" | ||||||
|  |           /> | ||||||
|  |         </v-col> | ||||||
|  |       </v-row> | ||||||
|  | 
 | ||||||
|  |     </v-card-text> | ||||||
|  |   </v-card> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | export default { | ||||||
|  |   props: ['args'], | ||||||
|  |   data: function () { | ||||||
|  |     return { | ||||||
|  |       idx: this.$vnode.key, | ||||||
|  |       mode: "IN", | ||||||
|  |       form: { | ||||||
|  |         regex: "", | ||||||
|  |         replace: "" | ||||||
|  |       }, | ||||||
|  |       regexps: [] | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   computed: { | ||||||
|  |     chips() { | ||||||
|  |       return this.regexps.map(k => { | ||||||
|  |         const {expr, now} = k; | ||||||
|  |         return `${expr} ⇒ ${now}`; | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     add() { | ||||||
|  |       if (this.form.regex && this.form.replace) { | ||||||
|  |         this.regexps.push({ | ||||||
|  |           expr: this.form.regex, | ||||||
|  |           now: this.form.replace | ||||||
|  |         }); | ||||||
|  |         this.form.regex = ""; | ||||||
|  |         this.form.replace = ""; | ||||||
|  |       } else { | ||||||
|  |         this.$store.commit("SET_ERROR_MESSAGE", "关键词不能为空!"); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     remove(idx) { | ||||||
|  |       this.regexps.splice(idx, 1); | ||||||
|  |     }, | ||||||
|  |     save() { | ||||||
|  |       this.$emit("dataChanged", { | ||||||
|  |         idx: this.idx, | ||||||
|  |         args: this.regexps | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.regexps = this.args || []; | ||||||
|  |   }, | ||||||
|  |   watch: { | ||||||
|  |     regexps() { | ||||||
|  |       this.save(); | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  | } | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | 
 | ||||||
|  | </style> | ||||||
| @ -4,6 +4,12 @@ | |||||||
|       <v-icon left color="primary">flag</v-icon> |       <v-icon left color="primary">flag</v-icon> | ||||||
|       区域过滤 |       区域过滤 | ||||||
|       <v-spacer></v-spacer> |       <v-spacer></v-spacer> | ||||||
|  |       <v-btn icon @click="$emit('up', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_up</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click="$emit('down', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_down</v-icon> | ||||||
|  |       </v-btn> | ||||||
|       <v-btn icon @click="$emit('deleteProcess', idx)"> |       <v-btn icon @click="$emit('deleteProcess', idx)"> | ||||||
|         <v-icon color="error">mdi-delete</v-icon> |         <v-icon color="error">mdi-delete</v-icon> | ||||||
|       </v-btn> |       </v-btn> | ||||||
| @ -82,7 +88,6 @@ export default { | |||||||
|     selection() { |     selection() { | ||||||
|       this.$emit("dataChanged", { |       this.$emit("dataChanged", { | ||||||
|         idx: this.idx, |         idx: this.idx, | ||||||
|         type: "Region Filter", |  | ||||||
|         args: this.selection |         args: this.selection | ||||||
|       }) |       }) | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -4,6 +4,12 @@ | |||||||
|       <v-icon left color="primary">sort_by_alpha</v-icon> |       <v-icon left color="primary">sort_by_alpha</v-icon> | ||||||
|       节点排序 |       节点排序 | ||||||
|       <v-spacer></v-spacer> |       <v-spacer></v-spacer> | ||||||
|  |       <v-btn icon @click="$emit('up', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_up</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click="$emit('down', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_down</v-icon> | ||||||
|  |       </v-btn> | ||||||
|       <v-btn icon> |       <v-btn icon> | ||||||
|         <v-icon color="error">mdi-delete</v-icon> |         <v-icon color="error">mdi-delete</v-icon> | ||||||
|       </v-btn> |       </v-btn> | ||||||
| @ -28,13 +34,13 @@ | |||||||
|       <v-radio-group v-model="mode"> |       <v-radio-group v-model="mode"> | ||||||
|         <v-row> |         <v-row> | ||||||
|           <v-col> |           <v-col> | ||||||
|             <v-radio label="正序" value="ASC"/> |             <v-radio label="正序" value="asc"/> | ||||||
|           </v-col> |           </v-col> | ||||||
|           <v-col> |           <v-col> | ||||||
|             <v-radio label="逆序" value="DESC"/> |             <v-radio label="逆序" value="desc"/> | ||||||
|           </v-col> |           </v-col> | ||||||
|           <v-col> |           <v-col> | ||||||
|             <v-radio label="随机" value="RANDOM"/> |             <v-radio label="随机" value="random"/> | ||||||
|           </v-col> |           </v-col> | ||||||
|         </v-row> |         </v-row> | ||||||
|       </v-radio-group> |       </v-radio-group> | ||||||
| @ -44,11 +50,25 @@ | |||||||
| 
 | 
 | ||||||
| <script> | <script> | ||||||
| export default { | export default { | ||||||
|  |   props: ["args"], | ||||||
|   data: function () { |   data: function () { | ||||||
|     return { |     return { | ||||||
|       mode: "ASC" |       idx: this.$vnode.key, | ||||||
|  |       mode: "asc" | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.mode = this.args; | ||||||
|  |   }, | ||||||
|  |   watch: { | ||||||
|  |     mode() { | ||||||
|  |       this.$emit("dataChanged", { | ||||||
|  |         idx: this.idx, | ||||||
|  |         args: this.mode | ||||||
|  |       }) | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
| } | } | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
| @ -4,6 +4,12 @@ | |||||||
|       <v-icon left color="primary">cloud_circle</v-icon> |       <v-icon left color="primary">cloud_circle</v-icon> | ||||||
|       节点类型过滤 |       节点类型过滤 | ||||||
|       <v-spacer></v-spacer> |       <v-spacer></v-spacer> | ||||||
|  |       <v-btn icon @click="$emit('up', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_up</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click="$emit('down', idx)"> | ||||||
|  |         <v-icon>keyboard_arrow_down</v-icon> | ||||||
|  |       </v-btn> | ||||||
|       <v-btn icon @click="$emit('deleteProcess', idx)"> |       <v-btn icon @click="$emit('deleteProcess', idx)"> | ||||||
|         <v-icon color="error">mdi-delete</v-icon> |         <v-icon color="error">mdi-delete</v-icon> | ||||||
|       </v-btn> |       </v-btn> | ||||||
|  | |||||||
| @ -1,3 +1,3 @@ | |||||||
| const DEBUG = true; | const DEBUG = process.env.NODE_ENV === "development"; | ||||||
| 
 | 
 | ||||||
| export const BACKEND_BASE = DEBUG ? `http://192.168.1.134:3000` : `https://sub.store`; | export const BACKEND_BASE = DEBUG ? `http://192.168.1.134:3000` : `https://sub.store`; | ||||||
| @ -163,6 +163,8 @@ | |||||||
|                  :args="p.args" |                  :args="p.args" | ||||||
|                  @dataChanged="dataChanged" |                  @dataChanged="dataChanged" | ||||||
|                  @deleteProcess="deleteProcess" |                  @deleteProcess="deleteProcess" | ||||||
|  |                  @up="moveUp" | ||||||
|  |                  @down="moveDown" | ||||||
|       > |       > | ||||||
|       </component> |       </component> | ||||||
|     </v-card> |     </v-card> | ||||||
| @ -175,6 +177,11 @@ import TypeFilter from "@/components/TypeFilter"; | |||||||
| import RegionFilter from "@/components/RegionFilter"; | import RegionFilter from "@/components/RegionFilter"; | ||||||
| import KeywordFilter from "@/components/KeywordFilter"; | import KeywordFilter from "@/components/KeywordFilter"; | ||||||
| import RegexFilter from "@/components/RegexFilter"; | import RegexFilter from "@/components/RegexFilter"; | ||||||
|  | import SortOperator from "@/components/SortOperator"; | ||||||
|  | import KeywordRenameOperator from "@/components/KeywordRenameOperator"; | ||||||
|  | import RegexRenameOperator from "@/components/RegexRenameOperator"; | ||||||
|  | import KeywordDeleteOperator from "@/components/KeywordDeleteOperator"; | ||||||
|  | import RegexDeleteOperator from "@/components/RegexDeleteOperator"; | ||||||
| 
 | 
 | ||||||
| const AVAILABLE_PROCESSORS = { | const AVAILABLE_PROCESSORS = { | ||||||
|   "Type Filter": { |   "Type Filter": { | ||||||
| @ -192,11 +199,41 @@ const AVAILABLE_PROCESSORS = { | |||||||
|   "Regex Filter": { |   "Regex Filter": { | ||||||
|     component: "RegexFilter", |     component: "RegexFilter", | ||||||
|     name: "正则过滤器" |     name: "正则过滤器" | ||||||
|   } |   }, | ||||||
|  |   "Sort Operator": { | ||||||
|  |     component: "SortOperator", | ||||||
|  |     name: "节点排序" | ||||||
|  |   }, | ||||||
|  |   "Keyword Rename Operator": { | ||||||
|  |     component: "KeywordRenameOperator", | ||||||
|  |     name: "关键词重命名" | ||||||
|  |   }, | ||||||
|  |   "Regex Rename Operator": { | ||||||
|  |     component: "RegexRenameOperator", | ||||||
|  |     name: "正则重命名" | ||||||
|  |   }, | ||||||
|  |   "Keyword Delete Operator": { | ||||||
|  |     component: "KeywordDeleteOperator", | ||||||
|  |     name: "删除关键词" | ||||||
|  |   }, | ||||||
|  |   "Regex Delete Operator": { | ||||||
|  |     component: "RegexDeleteOperator", | ||||||
|  |     name: "删除正则" | ||||||
|  |   }, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export default { | export default { | ||||||
|   components: {KeywordFilter, RegexFilter, RegionFilter, TypeFilter}, |   components: { | ||||||
|  |     KeywordFilter, | ||||||
|  |     RegexFilter, | ||||||
|  |     RegionFilter, | ||||||
|  |     TypeFilter, | ||||||
|  |     SortOperator, | ||||||
|  |     KeywordRenameOperator, | ||||||
|  |     RegexRenameOperator, | ||||||
|  |     KeywordDeleteOperator, | ||||||
|  |     RegexDeleteOperator | ||||||
|  |   }, | ||||||
|   data: function () { |   data: function () { | ||||||
|     return { |     return { | ||||||
|       selectedProcess: null, |       selectedProcess: null, | ||||||
| @ -274,7 +311,6 @@ export default { | |||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|     dataChanged(content) { |     dataChanged(content) { | ||||||
|       console.log(`${JSON.stringify(content)}`); |  | ||||||
|       this.options.process[content.idx].args = content.args; |       this.options.process[content.idx].args = content.args; | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
| @ -285,6 +321,18 @@ export default { | |||||||
| 
 | 
 | ||||||
|     deleteProcess(key) { |     deleteProcess(key) { | ||||||
|       this.options.process.splice(key, 1); |       this.options.process.splice(key, 1); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     moveUp(index) { | ||||||
|  |       if (index === 0) return; | ||||||
|  |       // otherwise swap with previous one | ||||||
|  |       this.options.process.splice(index - 1, 2, this.options.process[index], this.options.process[index - 1]); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     moveDown(index) { | ||||||
|  |       if (index === this.options.process.length) return; | ||||||
|  |       // otherwise swap with latter one | ||||||
|  |       this.options.process.splice(index, 2, this.options.process[index + 1], this.options.process[index]); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Peng-YM
						Peng-YM