whistle.mock-plugins 1.0.6-beta.13 → 1.0.6-beta.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -69,12 +69,16 @@
69
69
 
70
70
  /**![check-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUxMiA2NEMyNjQuNiA2NCA2NCAyNjQuNiA2NCA1MTJzMjAwLjYgNDQ4IDQ0OCA0NDggNDQ4LTIwMC42IDQ0OC00NDhTNzU5LjQgNjQgNTEyIDY0em0xOTMuNSAzMDEuN2wtMjEwLjYgMjkyYTMxLjggMzEuOCAwIDAxLTUxLjcgMEwzMTguNSA0ODQuOWMtMy44LTUuMyAwLTEyLjcgNi41LTEyLjdoNDYuOWMxMC4yIDAgMTkuOSA0LjkgMjUuOSAxMy4zbDcxLjIgOTguOCAxNTcuMi0yMThjNi04LjMgMTUuNi0xMy4zIDI1LjktMTMuM0g2OTljNi41IDAgMTAuMyA3LjQgNi41IDEyLjd6IiAvPjwvc3ZnPg==) */
71
71
 
72
+ /**![check-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTY5OSAzNTNoLTQ2LjljLTEwLjIgMC0xOS45IDQuOS0yNS45IDEzLjNMNDY5IDU4NC4zbC03MS4yLTk4LjhjLTYtOC4zLTE1LjYtMTMuMy0yNS45LTEzLjNIMzI1Yy02LjUgMC0xMC4zIDcuNC02LjUgMTIuN2wxMjQuNiAxNzIuOGEzMS44IDMxLjggMCAwMDUxLjcgMGwyMTAuNi0yOTJjMy45LTUuMy4xLTEyLjctNi40LTEyLjd6IiAvPjxwYXRoIGQ9Ik01MTIgNjRDMjY0LjYgNjQgNjQgMjY0LjYgNjQgNTEyczIwMC42IDQ0OCA0NDggNDQ4IDQ0OC0yMDAuNiA0NDgtNDQ4Uzc1OS40IDY0IDUxMiA2NHptMCA4MjBjLTIwNS40IDAtMzcyLTE2Ni42LTM3Mi0zNzJzMTY2LjYtMzcyIDM3Mi0zNzIgMzcyIDE2Ni42IDM3MiAzNzItMTY2LjYgMzcyLTM3MiAzNzJ6IiAvPjwvc3ZnPg==) */
73
+
72
74
  /**![check](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTkxMiAxOTBoLTY5LjljLTkuOCAwLTE5LjEgNC41LTI1LjEgMTIuMkw0MDQuNyA3MjQuNSAyMDcgNDc0YTMyIDMyIDAgMDAtMjUuMS0xMi4ySDExMmMtNi43IDAtMTAuNCA3LjctNi4zIDEyLjlsMjczLjkgMzQ3YzEyLjggMTYuMiAzNy40IDE2LjIgNTAuMyAwbDQ4OC40LTYxOC45YzQuMS01LjEuNC0xMi44LTYuMy0xMi44eiIgLz48L3N2Zz4=) */
73
75
 
74
76
  /**![close-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdmlld0JveD0iNjQgNjQgODk2IDg5NiIgZm9jdXNhYmxlPSJmYWxzZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNTEyIDY0YzI0Ny40IDAgNDQ4IDIwMC42IDQ0OCA0NDhTNzU5LjQgOTYwIDUxMiA5NjAgNjQgNzU5LjQgNjQgNTEyIDI2NC42IDY0IDUxMiA2NHptMTI3Ljk4IDI3NC44MmgtLjA0bC0uMDguMDZMNTEyIDQ2Ni43NSAzODQuMTQgMzM4Ljg4Yy0uMDQtLjA1LS4wNi0uMDYtLjA4LS4wNmEuMTIuMTIgMCAwMC0uMDcgMGMtLjAzIDAtLjA1LjAxLS4wOS4wNWwtNDUuMDIgNDUuMDJhLjIuMiAwIDAwLS4wNS4wOS4xMi4xMiAwIDAwMCAuMDd2LjAyYS4yNy4yNyAwIDAwLjA2LjA2TDQ2Ni43NSA1MTIgMzM4Ljg4IDYzOS44NmMtLjA1LjA0LS4wNi4wNi0uMDYuMDhhLjEyLjEyIDAgMDAwIC4wN2MwIC4wMy4wMS4wNS4wNS4wOWw0NS4wMiA0NS4wMmEuMi4yIDAgMDAuMDkuMDUuMTIuMTIgMCAwMC4wNyAwYy4wMiAwIC4wNC0uMDEuMDgtLjA1TDUxMiA1NTcuMjVsMTI3Ljg2IDEyNy44N2MuMDQuMDQuMDYuMDUuMDguMDVhLjEyLjEyIDAgMDAuMDcgMGMuMDMgMCAuMDUtLjAxLjA5LS4wNWw0NS4wMi00NS4wMmEuMi4yIDAgMDAuMDUtLjA5LjEyLjEyIDAgMDAwLS4wN3YtLjAyYS4yNy4yNyAwIDAwLS4wNS0uMDZMNTU3LjI1IDUxMmwxMjcuODctMTI3Ljg2Yy4wNC0uMDQuMDUtLjA2LjA1LS4wOGEuMTIuMTIgMCAwMDAtLjA3YzAtLjAzLS4wMS0uMDUtLjA1LS4wOWwtNDUuMDItNDUuMDJhLjIuMiAwIDAwLS4wOS0uMDUuMTIuMTIgMCAwMC0uMDcgMHoiIC8+PC9zdmc+) */
75
77
 
76
78
  /**![close](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdmlld0JveD0iNjQgNjQgODk2IDg5NiIgZm9jdXNhYmxlPSJmYWxzZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNzk5Ljg2IDE2Ni4zMWMuMDIgMCAuMDQuMDIuMDguMDZsNTcuNjkgNTcuN2MuMDQuMDMuMDUuMDUuMDYuMDhhLjEyLjEyIDAgMDEwIC4wNmMwIC4wMy0uMDIuMDUtLjA2LjA5TDU2OS45MyA1MTJsMjg3LjcgMjg3LjdjLjA0LjA0LjA1LjA2LjA2LjA5YS4xMi4xMiAwIDAxMCAuMDdjMCAuMDItLjAyLjA0LS4wNi4wOGwtNTcuNyA1Ny42OWMtLjAzLjA0LS4wNS4wNS0uMDcuMDZhLjEyLjEyIDAgMDEtLjA3IDBjLS4wMyAwLS4wNS0uMDItLjA5LS4wNkw1MTIgNTY5LjkzbC0yODcuNyAyODcuN2MtLjA0LjA0LS4wNi4wNS0uMDkuMDZhLjEyLjEyIDAgMDEtLjA3IDBjLS4wMiAwLS4wNC0uMDItLjA4LS4wNmwtNTcuNjktNTcuN2MtLjA0LS4wMy0uMDUtLjA1LS4wNi0uMDdhLjEyLjEyIDAgMDEwLS4wN2MwLS4wMy4wMi0uMDUuMDYtLjA5TDQ1NC4wNyA1MTJsLTI4Ny43LTI4Ny43Yy0uMDQtLjA0LS4wNS0uMDYtLjA2LS4wOWEuMTIuMTIgMCAwMTAtLjA3YzAtLjAyLjAyLS4wNC4wNi0uMDhsNTcuNy01Ny42OWMuMDMtLjA0LjA1LS4wNS4wNy0uMDZhLjEyLjEyIDAgMDEuMDcgMGMuMDMgMCAuMDUuMDIuMDkuMDZMNTEyIDQ1NC4wN2wyODcuNy0yODcuN2MuMDQtLjA0LjA2LS4wNS4wOS0uMDZhLjEyLjEyIDAgMDEuMDcgMHoiIC8+PC9zdmc+) */
77
79
 
80
+ /**![code](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUxNiA2NzNjMCA0LjQgMy40IDggNy41IDhoMTg1YzQuMSAwIDcuNS0zLjYgNy41LTh2LTQ4YzAtNC40LTMuNC04LTcuNS04aC0xODVjLTQuMSAwLTcuNSAzLjYtNy41IDh2NDh6bS0xOTQuOSA2LjFsMTkyLTE2MWMzLjgtMy4yIDMuOC05LjEgMC0xMi4zbC0xOTItMTYwLjlBNy45NSA3Ljk1IDAgMDAzMDggMzUxdjYyLjdjMCAyLjQgMSA0LjYgMi45IDYuMUw0MjAuNyA1MTJsLTEwOS44IDkyLjJhOC4xIDguMSAwIDAwLTIuOSA2LjFWNjczYzAgNi44IDcuOSAxMC41IDEzLjEgNi4xek04ODAgMTEySDE0NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NzM2YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDczNmMxNy43IDAgMzItMTQuMyAzMi0zMlYxNDRjMC0xNy43LTE0LjMtMzItMzItMzJ6bS00MCA3MjhIMTg0VjE4NGg2NTZ2NjU2eiIgLz48L3N2Zz4=) */
81
+
78
82
  /**![copy](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTgzMiA2NEgyOTZjLTQuNCAwLTggMy42LTggOHY1NmMwIDQuNCAzLjYgOCA4IDhoNDk2djY4OGMwIDQuNCAzLjYgOCA4IDhoNTZjNC40IDAgOC0zLjYgOC04Vjk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyek03MDQgMTkySDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NTMwLjdjMCA4LjUgMy40IDE2LjYgOS40IDIyLjZsMTczLjMgMTczLjNjMi4yIDIuMiA0LjcgNCA3LjQgNS41djEuOWg0LjJjMy41IDEuMyA3LjIgMiAxMSAySDcwNGMxNy43IDAgMzItMTQuMyAzMi0zMlYyMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6TTM1MCA4NTYuMkwyNjMuOSA3NzBIMzUwdjg2LjJ6TTY2NCA4ODhINDE0Vjc0NmMwLTIyLjEtMTcuOS00MC00MC00MEgyMzJWMjY0aDQzMnY2MjR6IiAvPjwvc3ZnPg==) */
79
83
 
80
84
  /**![dashboard](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTkyNC44IDM4NS42YTQ0Ni43IDQ0Ni43IDAgMDAtOTYtMTQyLjQgNDQ2LjcgNDQ2LjcgMCAwMC0xNDIuNC05NkM2MzEuMSAxMjMuOCA1NzIuNSAxMTIgNTEyIDExMnMtMTE5LjEgMTEuOC0xNzQuNCAzNS4yYTQ0Ni43IDQ0Ni43IDAgMDAtMTQyLjQgOTYgNDQ2LjcgNDQ2LjcgMCAwMC05NiAxNDIuNEM3NS44IDQ0MC45IDY0IDQ5OS41IDY0IDU2MGMwIDEzMi43IDU4LjMgMjU3LjcgMTU5LjkgMzQzLjFsMS43IDEuNGM1LjggNC44IDEzLjEgNy41IDIwLjYgNy41aDUzMS43YzcuNSAwIDE0LjgtMi43IDIwLjYtNy41bDEuNy0xLjRDOTAxLjcgODE3LjcgOTYwIDY5Mi43IDk2MCA1NjBjMC02MC41LTExLjktMTE5LjEtMzUuMi0xNzQuNHpNNzYxLjQgODM2SDI2Mi42QTM3MS4xMiAzNzEuMTIgMCAwMTE0MCA1NjBjMC05OS40IDM4LjctMTkyLjggMTA5LTI2MyA3MC4zLTcwLjMgMTYzLjctMTA5IDI2My0xMDkgOTkuNCAwIDE5Mi44IDM4LjcgMjYzIDEwOSA3MC4zIDcwLjMgMTA5IDE2My43IDEwOSAyNjMgMCAxMDUuNi00NC41IDIwNS41LTEyMi42IDI3NnpNNjIzLjUgNDIxLjVhOC4wMyA4LjAzIDAgMDAtMTEuMyAwTDUyNy43IDUwNmMtMTguNy01LTM5LjQtLjItNTQuMSAxNC41YTU1Ljk1IDU1Ljk1IDAgMDAwIDc5LjIgNTUuOTUgNTUuOTUgMCAwMDc5LjIgMCA1NS44NyA1NS44NyAwIDAwMTQuNS01NC4xbDg0LjUtODQuNWMzLjEtMy4xIDMuMS04LjIgMC0xMS4zbC0yOC4zLTI4LjN6TTQ5MCAzMjBoNDRjNC40IDAgOC0zLjYgOC04di04MGMwLTQuNC0zLjYtOC04LThoLTQ0Yy00LjQgMC04IDMuNi04IDh2ODBjMCA0LjQgMy42IDggOCA4em0yNjAgMjE4djQ0YzAgNC40IDMuNiA4IDggOGg4MGM0LjQgMCA4LTMuNiA4LTh2LTQ0YzAtNC40LTMuNi04LTgtOGgtODBjLTQuNCAwLTggMy42LTggOHptMTIuNy0xOTcuMmwtMzEuMS0zMS4xYTguMDMgOC4wMyAwIDAwLTExLjMgMGwtNTYuNiA1Ni42YTguMDMgOC4wMyAwIDAwMCAxMS4zbDMxLjEgMzEuMWMzLjEgMy4xIDguMiAzLjEgMTEuMyAwbDU2LjYtNTYuNmMzLjEtMy4xIDMuMS04LjIgMC0xMS4zem0tNDU4LjYtMzEuMWE4LjAzIDguMDMgMCAwMC0xMS4zIDBsLTMxLjEgMzEuMWE4LjAzIDguMDMgMCAwMDAgMTEuM2w1Ni42IDU2LjZjMy4xIDMuMSA4LjIgMy4xIDExLjMgMGwzMS4xLTMxLjFjMy4xLTMuMSAzLjEtOC4yIDAtMTEuM2wtNTYuNi01Ni42ek0yNjIgNTMwaC04MGMtNC40IDAtOCAzLjYtOCA4djQ0YzAgNC40IDMuNiA4IDggOGg4MGM0LjQgMCA4LTMuNiA4LTh2LTQ0YzAtNC40LTMuNi04LTgtOHoiIC8+PC9zdmc+) */
@@ -105,6 +109,8 @@
105
109
 
106
110
  /**![file-add](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg1NC42IDI4OC42TDYzOS40IDczLjRjLTYtNi0xNC4xLTkuNC0yMi42LTkuNEgxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjgzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg2NDBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzExLjNjMC04LjUtMy40LTE2LjctOS40LTIyLjd6TTc5MC4yIDMyNkg2MDJWMTM3LjhMNzkwLjIgMzI2em0xLjggNTYySDIzMlYxMzZoMzAydjIxNmE0MiA0MiAwIDAwNDIgNDJoMjE2djQ5NHpNNTQ0IDQ3MmMwLTQuNC0zLjYtOC04LThoLTQ4Yy00LjQgMC04IDMuNi04IDh2MTA4SDM3MmMtNC40IDAtOCAzLjYtOCA4djQ4YzAgNC40IDMuNiA4IDggOGgxMDh2MTA4YzAgNC40IDMuNiA4IDggOGg0OGM0LjQgMCA4LTMuNiA4LThWNjQ0aDEwOGM0LjQgMCA4LTMuNiA4LTh2LTQ4YzAtNC40LTMuNi04LTgtOEg1NDRWNDcyeiIgLz48L3N2Zz4=) */
107
111
 
112
+ /**![file-text](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg1NC42IDI4OC42TDYzOS40IDczLjRjLTYtNi0xNC4xLTkuNC0yMi42LTkuNEgxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjgzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg2NDBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzExLjNjMC04LjUtMy40LTE2LjctOS40LTIyLjd6TTc5MC4yIDMyNkg2MDJWMTM3LjhMNzkwLjIgMzI2em0xLjggNTYySDIzMlYxMzZoMzAydjIxNmE0MiA0MiAwIDAwNDIgNDJoMjE2djQ5NHpNNTA0IDYxOEgzMjBjLTQuNCAwLTggMy42LTggOHY0OGMwIDQuNCAzLjYgOCA4IDhoMTg0YzQuNCAwIDgtMy42IDgtOHYtNDhjMC00LjQtMy42LTgtOC04ek0zMTIgNDkwdjQ4YzAgNC40IDMuNiA4IDggOGgzODRjNC40IDAgOC0zLjYgOC04di00OGMwLTQuNC0zLjYtOC04LThIMzIwYy00LjQgMC04IDMuNi04IDh6IiAvPjwvc3ZnPg==) */
113
+
108
114
  /**![file](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg1NC42IDI4OC42TDYzOS40IDczLjRjLTYtNi0xNC4xLTkuNC0yMi42LTkuNEgxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjgzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg2NDBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzExLjNjMC04LjUtMy40LTE2LjctOS40LTIyLjd6TTc5MC4yIDMyNkg2MDJWMTM3LjhMNzkwLjIgMzI2em0xLjggNTYySDIzMlYxMzZoMzAydjIxNmE0MiA0MiAwIDAwNDIgNDJoMjE2djQ5NHoiIC8+PC9zdmc+) */
109
115
 
110
116
  /**![filter](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTM0OSA4MzhjMCAxNy43IDE0LjIgMzIgMzEuOCAzMmgyNjIuNGMxNy42IDAgMzEuOC0xNC4zIDMxLjgtMzJWNjQySDM0OXYxOTZ6bTUzMS4xLTY4NEgxNDMuOWMtMjQuNSAwLTM5LjggMjYuNy0yNy41IDQ4bDIyMS4zIDM3NmgzNDguOGwyMjEuMy0zNzZjMTIuMS0yMS4zLTMuMi00OC0yNy43LTQ4eiIgLz48L3N2Zz4=) */
@@ -113,8 +119,6 @@
113
119
 
114
120
  /**![folder](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg4MCAyOTguNEg1MjFMNDAzLjcgMTg2LjJhOC4xNSA4LjE1IDAgMDAtNS41LTIuMkgxNDRjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjU5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg3MzZjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzMwLjRjMC0xNy43LTE0LjMtMzItMzItMzJ6TTg0MCA3NjhIMTg0VjI1NmgxODguNWwxMTkuNiAxMTQuNEg4NDBWNzY4eiIgLz48L3N2Zz4=) */
115
121
 
116
- /**![format-painter](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHN0eWxlIC8+PC9kZWZzPjxwYXRoIGQ9Ik04NDAgMTkyaC01NnYtNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRIMTY4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHYyNzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRoNTkyYzEzLjMgMCAyNC0xMC43IDI0LTI0VjI1NmgzMnYyMDBINDY1Yy0yMi4xIDAtNDAgMTcuOS00MCA0MHYxMzZoLTQ0Yy00LjQgMC04IDMuNi04IDh2MjI4YzAgLjYuMSAxLjMuMiAxLjlBODMuOTkgODMuOTkgMCAwMDQ1NyA5NjBjNDYuNCAwIDg0LTM3LjYgODQtODQgMC0yLjEtLjEtNC4xLS4yLTYuMS4xLS42LjItMS4yLjItMS45VjY0MGMwLTQuNC0zLjYtOC04LThoLTQ0VjUyMGgzNTFjMjIuMSAwIDQwLTE3LjkgNDAtNDBWMjMyYzAtMjIuMS0xNy45LTQwLTQwLTQwek03MjAgMzUySDIwOFYxNjBoNTEydjE5MnpNNDc3IDg3NmMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBWNjk2aDQwdjE4MHoiIC8+PC9zdmc+) */
117
-
118
122
  /**![holder](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMwMCAyNzYuNWE1NiA1NiAwIDEwNTYtOTcgNTYgNTYgMCAwMC01NiA5N3ptMCAyODRhNTYgNTYgMCAxMDU2LTk3IDU2IDU2IDAgMDAtNTYgOTd6TTY0MCAyMjhhNTYgNTYgMCAxMDExMiAwIDU2IDU2IDAgMDAtMTEyIDB6bTAgMjg0YTU2IDU2IDAgMTAxMTIgMCA1NiA1NiAwIDAwLTExMiAwek0zMDAgODQ0LjVhNTYgNTYgMCAxMDU2LTk3IDU2IDU2IDAgMDAtNTYgOTd6TTY0MCA3OTZhNTYgNTYgMCAxMDExMiAwIDU2IDU2IDAgMDAtMTEyIDB6IiAvPjwvc3ZnPg==) */
119
123
 
120
124
  /**![info-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUxMiA2NEMyNjQuNiA2NCA2NCAyNjQuNiA2NCA1MTJzMjAwLjYgNDQ4IDQ0OCA0NDggNDQ4LTIwMC42IDQ0OC00NDhTNzU5LjQgNjQgNTEyIDY0em0wIDgyMGMtMjA1LjQgMC0zNzItMTY2LjYtMzcyLTM3MnMxNjYuNi0zNzIgMzcyLTM3MiAzNzIgMTY2LjYgMzcyIDM3Mi0xNjYuNiAzNzItMzcyIDM3MnoiIC8+PHBhdGggZD0iTTQ2NCAzMzZhNDggNDggMCAxMDk2IDAgNDggNDggMCAxMC05NiAwem03MiAxMTJoLTQ4Yy00LjQgMC04IDMuNi04IDh2MjcyYzAgNC40IDMuNiA4IDggOGg0OGM0LjQgMCA4LTMuNiA4LThWNDU2YzAtNC40LTMuNi04LTgtOHoiIC8+PC9zdmc+) */
@@ -135,6 +139,8 @@
135
139
 
136
140
  /**![play-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUxMiA2NEMyNjQuNiA2NCA2NCAyNjQuNiA2NCA1MTJzMjAwLjYgNDQ4IDQ0OCA0NDggNDQ4LTIwMC42IDQ0OC00NDhTNzU5LjQgNjQgNTEyIDY0em0wIDgyMGMtMjA1LjQgMC0zNzItMTY2LjYtMzcyLTM3MnMxNjYuNi0zNzIgMzcyLTM3MiAzNzIgMTY2LjYgMzcyIDM3Mi0xNjYuNiAzNzItMzcyIDM3MnoiIC8+PHBhdGggZD0iTTcxOS40IDQ5OS4xbC0yOTYuMS0yMTVBMTUuOSAxNS45IDAgMDAzOTggMjk3djQzMGMwIDEzLjEgMTQuOCAyMC41IDI1LjMgMTIuOWwyOTYuMS0yMTVhMTUuOSAxNS45IDAgMDAwLTI1Ljh6bS0yNTcuNiAxMzRWMzkwLjlMNjI4LjUgNTEyIDQ2MS44IDYzMy4xeiIgLz48L3N2Zz4=) */
137
141
 
142
+ /**![plus-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTY5NiA0ODBINTQ0VjMyOGMwLTQuNC0zLjYtOC04LThoLTQ4Yy00LjQgMC04IDMuNi04IDh2MTUySDMyOGMtNC40IDAtOCAzLjYtOCA4djQ4YzAgNC40IDMuNiA4IDggOGgxNTJ2MTUyYzAgNC40IDMuNiA4IDggOGg0OGM0LjQgMCA4LTMuNiA4LThWNTQ0aDE1MmM0LjQgMCA4LTMuNiA4LTh2LTQ4YzAtNC40LTMuNi04LTgtOHoiIC8+PHBhdGggZD0iTTUxMiA2NEMyNjQuNiA2NCA2NCAyNjQuNiA2NCA1MTJzMjAwLjYgNDQ4IDQ0OCA0NDggNDQ4LTIwMC42IDQ0OC00NDhTNzU5LjQgNjQgNTEyIDY0em0wIDgyMGMtMjA1LjQgMC0zNzItMTY2LjYtMzcyLTM3MnMxNjYuNi0zNzIgMzcyLTM3MiAzNzIgMTY2LjYgMzcyIDM3Mi0xNjYuNiAzNzItMzcyIDM3MnoiIC8+PC9zdmc+) */
143
+
138
144
  /**![plus-square](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMyOCA1NDRoMTUydjE1MmMwIDQuNCAzLjYgOCA4IDhoNDhjNC40IDAgOC0zLjYgOC04VjU0NGgxNTJjNC40IDAgOC0zLjYgOC04di00OGMwLTQuNC0zLjYtOC04LThINTQ0VjMyOGMwLTQuNC0zLjYtOC04LThoLTQ4Yy00LjQgMC04IDMuNi04IDh2MTUySDMyOGMtNC40IDAtOCAzLjYtOCA4djQ4YzAgNC40IDMuNiA4IDggOHoiIC8+PHBhdGggZD0iTTg4MCAxMTJIMTQ0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY3MzZjMCAxNy43IDE0LjMgMzIgMzIgMzJoNzM2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE0NGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTQwIDcyOEgxODRWMTg0aDY1NnY2NTZ6IiAvPjwvc3ZnPg==) */
139
145
 
140
146
  /**![plus](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQ4MiAxNTJoNjBxOCAwIDggOHY3MDRxMCA4LTggOGgtNjBxLTggMC04LThWMTYwcTAtOCA4LTh6IiAvPjxwYXRoIGQ9Ik0xOTIgNDc0aDY3MnE4IDAgOCA4djYwcTAgOC04IDhIMTYwcS04IDAtOC04di02MHEwLTggOC04eiIgLz48L3N2Zz4=) */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whistle.mock-plugins",
3
- "version": "1.0.6-beta.13",
3
+ "version": "1.0.6-beta.15",
4
4
  "description": "Whistle 插件,用于快速创建 API 模拟数据",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -1242,17 +1242,32 @@ const InterfaceManagement = () => {
1242
1242
 
1243
1243
  {/* 响应管理 */}
1244
1244
  <Card
1245
- title="响应管理"
1245
+ title={
1246
+ <Form.Item noStyle shouldUpdate>
1247
+ {({ getFieldValue }) => {
1248
+ const responses = getFieldValue('responses') || [];
1249
+ return (
1250
+ <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>
1251
+ <FileTextOutlined />
1252
+ <span>响应管理</span>
1253
+ <Badge count={Array.isArray(responses) ? responses.length : 0} style={{ backgroundColor: '#52c41a' }} />
1254
+ </div>
1255
+ );
1256
+ }}
1257
+ </Form.Item>
1258
+ }
1246
1259
  extra={
1247
1260
  <Button
1248
1261
  type="primary"
1249
- icon={<FileAddOutlined />}
1262
+ icon={<PlusCircleOutlined />}
1250
1263
  onClick={handleAddResponse}
1264
+ size="small"
1251
1265
  >
1252
1266
  添加响应
1253
1267
  </Button>
1254
1268
  }
1255
1269
  style={{ marginBottom: 16 }}
1270
+ bodyStyle={{ padding: '16px' }}
1256
1271
  >
1257
1272
  <Form.Item
1258
1273
  name="responses"
@@ -1290,187 +1305,217 @@ const InterfaceManagement = () => {
1290
1305
 
1291
1306
  const activeResponseId = getFieldValue('activeResponseId');
1292
1307
 
1308
+ if (responses.length === 0) {
1309
+ return (
1310
+ <div style={{
1311
+ textAlign: 'center',
1312
+ padding: '40px 20px',
1313
+ background: '#fafafa',
1314
+ borderRadius: '6px',
1315
+ border: '1px dashed #d9d9d9'
1316
+ }}>
1317
+ <FileAddOutlined style={{ fontSize: '32px', color: '#d9d9d9', marginBottom: '8px' }} />
1318
+ <div style={{ color: '#999', marginBottom: '16px' }}>暂无响应数据</div>
1319
+ <Button
1320
+ type="primary"
1321
+ icon={<PlusCircleOutlined />}
1322
+ onClick={handleAddResponse}
1323
+ >
1324
+ 创建第一个响应
1325
+ </Button>
1326
+ </div>
1327
+ );
1328
+ }
1329
+
1293
1330
  return (
1294
- <List
1295
- size="small"
1296
- dataSource={responses}
1297
- locale={{ emptyText: '暂无响应数据' }}
1298
- renderItem={(item, index) => (
1299
- <List.Item
1300
- key={item.id || index}
1301
- className={`response-item ${(item.id === activeResponseId) ? 'response-item-active' : ''}`}
1302
- style={{
1303
- padding: '8px 16px',
1304
- marginBottom: 8,
1305
- border: '1px solid #d9d9d9',
1306
- borderRadius: 4,
1307
- backgroundColor: (item.id === activeResponseId) ? '#e6f7ff' : 'transparent',
1308
- borderLeft: (item.id === activeResponseId) ? '3px solid #1890ff' : '1px solid #d9d9d9'
1309
- }}
1310
- actions={[
1311
- <Button
1312
- key="select"
1313
- type={(item.id === activeResponseId) ? "primary" : "default"}
1314
- size="small"
1315
- onClick={() => handleResponseSelect(item.id)}
1331
+ <div>
1332
+ {/* 响应选择器 */}
1333
+ <div style={{ marginBottom: '16px' }}>
1334
+ <Row gutter={12} align="middle">
1335
+ <Col flex="auto">
1336
+ <Select
1337
+ style={{ width: '100%' }}
1338
+ placeholder="选择要编辑的响应"
1339
+ value={activeResponseId}
1340
+ onChange={(value) => handleResponseSelect(value)}
1341
+ optionLabelProp="label"
1316
1342
  >
1317
- {(item.id === activeResponseId) ? "已选择" : "选择"}
1318
- </Button>,
1319
- <Button
1320
- key="delete"
1321
- type="text"
1322
- danger
1323
- icon={<DeleteOutlined />}
1324
- size="small"
1325
- onClick={() => handleResponseDelete(item.id)}
1326
- disabled={responses.length <= 1}
1327
- />
1328
- ]}
1329
- >
1330
- <div style={{ width: '100%' }}>
1331
- <div style={{ marginBottom: 8 }}>
1332
- <Input
1333
- placeholder="响应名称"
1334
- value={item.name || `响应 ${index + 1}`}
1335
- onChange={(e) => {
1336
- console.log(`更新响应 ${item.id} 的名称:`, e.target.value);
1337
- const currentResponses = getFieldValue('responses') || [];
1338
- const newResponses = currentResponses.map(resp =>
1339
- resp.id === item.id
1340
- ? { ...resp, name: e.target.value }
1341
- : resp
1342
- );
1343
- console.log('新的响应列表:', newResponses);
1344
- setFieldsValue({ responses: newResponses });
1345
- }}
1346
- style={{ width: '100%' }}
1343
+ {responses.map((resp, index) => (
1344
+ <Option
1345
+ key={resp.id}
1346
+ value={resp.id}
1347
+ label={
1348
+ <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>
1349
+ <CheckCircleOutlined style={{ color: '#52c41a' }} />
1350
+ <span>{resp.name || `响应 ${index + 1}`}</span>
1351
+ </div>
1352
+ }
1353
+ >
1354
+ <div style={{ padding: '4px 0' }}>
1355
+ <div style={{
1356
+ display: 'flex',
1357
+ alignItems: 'center',
1358
+ justifyContent: 'space-between',
1359
+ marginBottom: '4px'
1360
+ }}>
1361
+ <span style={{ fontWeight: 'bold' }}>
1362
+ {resp.name || `响应 ${index + 1}`}
1363
+ </span>
1364
+ {resp.id === activeResponseId && (
1365
+ <Badge status="processing" text="当前选中" />
1366
+ )}
1367
+ </div>
1368
+ {resp.description && (
1369
+ <div style={{
1370
+ color: '#666',
1371
+ fontSize: '12px',
1372
+ marginBottom: '4px'
1373
+ }}>
1374
+ {resp.description}
1375
+ </div>
1376
+ )}
1377
+ <div style={{
1378
+ color: '#999',
1379
+ fontSize: '11px',
1380
+ fontFamily: 'monospace'
1381
+ }}>
1382
+ {resp.content ? `${resp.content.length} 字符` : '空内容'}
1383
+ </div>
1384
+ </div>
1385
+ </Option>
1386
+ ))}
1387
+ </Select>
1388
+ </Col>
1389
+ <Col>
1390
+ <Tooltip title="删除当前响应">
1391
+ <Button
1392
+ type="text"
1393
+ danger
1394
+ icon={<DeleteOutlined />}
1395
+ onClick={() => activeResponseId && handleResponseDelete(activeResponseId)}
1396
+ disabled={responses.length <= 1}
1347
1397
  />
1398
+ </Tooltip>
1399
+ </Col>
1400
+ </Row>
1401
+ </div>
1402
+
1403
+ {/* 响应配置区域 */}
1404
+ {activeResponseId && (() => {
1405
+ const activeResponse = responses.find(r => r.id === activeResponseId);
1406
+ const activeIndex = responses.findIndex(r => r.id === activeResponseId);
1407
+
1408
+ if (!activeResponse) return null;
1409
+
1410
+ return (
1411
+ <div style={{
1412
+ background: '#fafafa',
1413
+ borderRadius: '6px',
1414
+ padding: '16px',
1415
+ border: '1px solid #e8e8e8',
1416
+ marginBottom: '16px'
1417
+ }}>
1418
+ <div style={{
1419
+ display: 'flex',
1420
+ alignItems: 'center',
1421
+ gap: '8px',
1422
+ marginBottom: '16px',
1423
+ paddingBottom: '12px',
1424
+ borderBottom: '1px solid #e8e8e8'
1425
+ }}>
1426
+ <CodeOutlined style={{ color: '#1890ff' }} />
1427
+ <span style={{ fontWeight: 'bold', color: '#1890ff' }}>
1428
+ 编辑响应:{activeResponse.name || `响应 ${activeIndex + 1}`}
1429
+ </span>
1430
+ </div>
1431
+
1432
+ <Row gutter={12}>
1433
+ <Col span={12}>
1434
+ <div style={{ marginBottom: '8px' }}>
1435
+ <label style={{
1436
+ fontSize: '12px',
1437
+ color: '#666',
1438
+ fontWeight: 'bold'
1439
+ }}>
1440
+ 响应名称 *
1441
+ </label>
1442
+ </div>
1443
+ <Input
1444
+ placeholder="为响应取一个有意义的名称"
1445
+ value={activeResponse.name || ''}
1446
+ onChange={(e) => {
1447
+ const currentResponses = getFieldValue('responses') || [];
1448
+ const newResponses = currentResponses.map(resp =>
1449
+ resp.id === activeResponseId
1450
+ ? { ...resp, name: e.target.value }
1451
+ : resp
1452
+ );
1453
+ setFieldsValue({ responses: newResponses });
1454
+ }}
1455
+ style={{ marginBottom: '12px' }}
1456
+ />
1457
+ </Col>
1458
+ <Col span={12}>
1459
+ <div style={{ marginBottom: '8px' }}>
1460
+ <label style={{
1461
+ fontSize: '12px',
1462
+ color: '#666',
1463
+ fontWeight: 'bold'
1464
+ }}>
1465
+ 内容统计
1466
+ </label>
1467
+ </div>
1468
+ <div style={{
1469
+ padding: '8px 12px',
1470
+ background: '#fff',
1471
+ border: '1px solid #d9d9d9',
1472
+ borderRadius: '4px',
1473
+ fontSize: '12px',
1474
+ color: '#666',
1475
+ marginBottom: '12px'
1476
+ }}>
1477
+ {activeResponse.content ?
1478
+ `${activeResponse.content.length} 字符 | ${new Blob([activeResponse.content]).size} 字节` :
1479
+ '内容为空'
1480
+ }
1481
+ </div>
1482
+ </Col>
1483
+ </Row>
1484
+
1485
+ <div style={{ marginBottom: '8px' }}>
1486
+ <label style={{
1487
+ fontSize: '12px',
1488
+ color: '#666',
1489
+ fontWeight: 'bold'
1490
+ }}>
1491
+ 响应描述
1492
+ </label>
1348
1493
  </div>
1349
1494
  <Input.TextArea
1350
- placeholder="响应描述(可选)"
1351
- value={item.description || ''}
1495
+ placeholder="描述此响应的用途和场景(可选)"
1496
+ value={activeResponse.description || ''}
1352
1497
  onChange={(e) => {
1353
- console.log(`更新响应 ${item.id} 的描述:`, e.target.value);
1354
1498
  const currentResponses = getFieldValue('responses') || [];
1355
1499
  const newResponses = currentResponses.map(resp =>
1356
- resp.id === item.id
1500
+ resp.id === activeResponseId
1357
1501
  ? { ...resp, description: e.target.value }
1358
1502
  : resp
1359
1503
  );
1360
- console.log('新的响应列表:', newResponses);
1361
1504
  setFieldsValue({ responses: newResponses });
1362
1505
  }}
1363
- style={{ marginBottom: 8 }}
1364
1506
  rows={2}
1365
- maxLength={100}
1507
+ maxLength={200}
1508
+ showCount
1509
+ style={{ marginBottom: '12px' }}
1366
1510
  />
1367
1511
  </div>
1368
- </List.Item>
1369
- )}
1370
- />
1512
+ );
1513
+ })()}
1514
+ </div>
1371
1515
  );
1372
1516
  }}
1373
1517
  </Form.Item>
1374
1518
  </Card>
1375
-
1376
- <Form.Item noStyle shouldUpdate>
1377
- {({ getFieldValue, setFieldsValue }) => {
1378
- let responses = getFieldValue('responses') || [];
1379
- const activeResponseId = getFieldValue('activeResponseId');
1380
-
1381
- // 确保是数组
1382
- if (!Array.isArray(responses)) {
1383
- console.warn('内容编辑器 - responses 不是数组类型:', responses);
1384
- try {
1385
- if (typeof responses === 'string') {
1386
- responses = JSON.parse(responses);
1387
- }
1388
- } catch (e) {
1389
- responses = [];
1390
- }
1391
-
1392
- if (!Array.isArray(responses)) {
1393
- responses = [];
1394
- }
1395
- }
1396
-
1397
- if (responses.length === 0) {
1398
- console.warn('没有响应数据');
1399
- }
1400
-
1401
- // 查找激活的响应
1402
- const activeResponseIndex = responses.findIndex(r => r.id === activeResponseId);
1403
- const activeResponse = activeResponseIndex >= 0 ? responses[activeResponseIndex] : null;
1404
-
1405
- console.log('当前激活的响应:', activeResponseId, activeResponse ? activeResponse.name : 'null');
1406
-
1407
- // 更新当前激活的响应内容
1408
- const updateActiveResponseContent = (content) => {
1409
- if (activeResponseIndex >= 0) {
1410
- const newResponses = [...responses];
1411
- newResponses[activeResponseIndex] = {
1412
- ...newResponses[activeResponseIndex],
1413
- content
1414
- };
1415
- setFieldsValue({ responses: newResponses });
1416
- }
1417
- };
1418
-
1419
- return (
1420
- <Form.Item
1421
- label={
1422
- <div style={{ display: 'flex', justifyContent: 'space-between', width: '100%' }}>
1423
- <span>
1424
- 响应内容
1425
- {activeResponse && activeResponse.name && (
1426
- <span style={{ marginLeft: 8, fontWeight: 'normal', fontSize: '12px', color: '#999' }}>
1427
- ({activeResponse.name})
1428
- </span>
1429
- )}
1430
- </span>
1431
- <Space>
1432
- <Button
1433
- type="link"
1434
- icon={<EyeOutlined />}
1435
- onClick={handlePreview}
1436
- style={{ padding: 0 }}
1437
- disabled={!activeResponse}
1438
- >
1439
- 预览
1440
- </Button>
1441
- <Button
1442
- type="link"
1443
- icon={<FormatPainterOutlined />}
1444
- onClick={formatJsonContent}
1445
- style={{ padding: 0 }}
1446
- disabled={!activeResponse}
1447
- >
1448
- 格式化JSON
1449
- </Button>
1450
- </Space>
1451
- </div>
1452
- }
1453
- >
1454
- {activeResponse ? (
1455
- <TextArea
1456
- rows={12}
1457
- placeholder="请输入响应内容"
1458
- style={{ fontFamily: 'monospace' }}
1459
- value={activeResponse.content || ''}
1460
- onChange={(e) => updateActiveResponseContent(e.target.value)}
1461
- />
1462
- ) : (
1463
- <Alert
1464
- message="未选择响应"
1465
- description="请选择或添加一个响应"
1466
- type="warning"
1467
- showIcon
1468
- />
1469
- )}
1470
- </Form.Item>
1471
- );
1472
- }}
1473
- </Form.Item>
1474
1519
  </>
1475
1520
  );
1476
1521
  }