You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by ju...@apache.org on 2020/12/10 08:27:59 UTC

[apisix-dashboard] 01/01: feat: added priority

This is an automated email from the ASF dual-hosted git repository.

juzhiyuan pushed a commit to branch juzhiyuan/route-priority
in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git

commit cc48ca2dd67aa1f86de8fa28c7ca1969771f3140
Author: juzhiyuan <ju...@apache.org>
AuthorDate: Thu Dec 10 16:27:40 2020 +0800

    feat: added priority
---
 web/src/components/Plugin/CodeMirrorDrawer.tsx             |  3 ++-
 web/src/components/Plugin/PluginPage.tsx                   |  3 ++-
 web/src/pages/Route/components/Step1/RequestConfigView.tsx | 14 +++++++++++++-
 web/src/pages/Route/locales/en-US.ts                       |  1 +
 web/src/pages/Route/locales/zh-CN.ts                       |  1 +
 web/src/pages/Route/transform.ts                           |  2 ++
 6 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/web/src/components/Plugin/CodeMirrorDrawer.tsx b/web/src/components/Plugin/CodeMirrorDrawer.tsx
index 95ef951..5bf5093 100644
--- a/web/src/components/Plugin/CodeMirrorDrawer.tsx
+++ b/web/src/components/Plugin/CodeMirrorDrawer.tsx
@@ -113,10 +113,11 @@ const CodeMirrorDrawer: React.FC<Props> = ({
               onClick={() => {
                 window.open(`https://github.com/apache/apisix/blob/master/doc/plugins/${name}.md`);
               }}
+              key={1}
             >
               Document
             </Button>,
-            <Button type="primary" onClick={formatCodes}>
+            <Button type="primary" onClick={formatCodes} key={2}>
               Format
             </Button>,
           ]}
diff --git a/web/src/components/Plugin/PluginPage.tsx b/web/src/components/Plugin/PluginPage.tsx
index 8c5ab79..6296e74 100644
--- a/web/src/components/Plugin/PluginPage.tsx
+++ b/web/src/components/Plugin/PluginPage.tsx
@@ -118,6 +118,7 @@ const PluginPage: React.FC<Props> = ({
                     title={[
                       item.avatar && (
                         <Avatar
+                          key={1}
                           icon={item.avatar}
                           className="plugin-avatar"
                           style={{
@@ -125,7 +126,7 @@ const PluginPage: React.FC<Props> = ({
                           }}
                         />
                       ),
-                      <span>{item.name}</span>,
+                      <span key={2}>{item.name}</span>,
                     ]}
                     style={{ height: 66 }}
                     extra={[
diff --git a/web/src/pages/Route/components/Step1/RequestConfigView.tsx b/web/src/pages/Route/components/Step1/RequestConfigView.tsx
index 20d8457..ec25384 100644
--- a/web/src/pages/Route/components/Step1/RequestConfigView.tsx
+++ b/web/src/pages/Route/components/Step1/RequestConfigView.tsx
@@ -16,7 +16,7 @@
  */
 import React from 'react';
 import Form from 'antd/es/form';
-import { Checkbox, Button, Input, Select, Row, Col } from 'antd';
+import { Checkbox, Button, Input, Select, Row, Col, InputNumber } from 'antd';
 import { PlusOutlined, MinusCircleOutlined } from '@ant-design/icons';
 import { useIntl } from 'umi';
 import { PanelSection } from '@api7-dashboard/ui';
@@ -268,6 +268,18 @@ const RequestConfigView: React.FC<RouteModule.Step1PassProps> = ({
         <Checkbox.Group options={HTTP_METHOD_OPTION_LIST} disabled={disabled} />
       </Form.Item>
       <Form.Item
+        label={formatMessage({ id: 'page.route.form.itemLabel.priority' })}
+        name="priority"
+      >
+        <InputNumber
+          placeholder={`Please input ${formatMessage({
+            id: 'page.route.form.itemLabel.priority',
+          })}`}
+          style={{ width: '60%' }}
+          disabled={disabled}
+        />
+      </Form.Item>
+      <Form.Item
         label={formatMessage({ id: 'page.route.form.itemLabel.redirect' })}
         name="redirectOption"
       >
diff --git a/web/src/pages/Route/locales/en-US.ts b/web/src/pages/Route/locales/en-US.ts
index f14f335..92bfe5a 100644
--- a/web/src/pages/Route/locales/en-US.ts
+++ b/web/src/pages/Route/locales/en-US.ts
@@ -46,6 +46,7 @@ export default {
   'page.route.panelSection.title.requestConfigBasicDefine': 'Request Basic Define',
   'page.route.protocol': 'Protocol',
   'page.route.form.itemLabel.httpMethod': 'HTTP Method',
+  'page.route.form.itemLabel.priority': 'Priority',
   'page.route.form.itemLabel.redirect': 'Redirect',
   'page.route.select.option.enableHttps': 'Enable HTTPS',
   'page.route.select.option.configCustom': 'Custom',
diff --git a/web/src/pages/Route/locales/zh-CN.ts b/web/src/pages/Route/locales/zh-CN.ts
index 2e9890e..da087b4 100644
--- a/web/src/pages/Route/locales/zh-CN.ts
+++ b/web/src/pages/Route/locales/zh-CN.ts
@@ -50,6 +50,7 @@ export default {
   'page.route.form.itemRulesPatternMessage.apiNameRule':
     '最大长度100,仅支持字母、数字、- 和 _,且只能以字母开头',
   'page.route.form.itemLabel.httpMethod': 'HTTP 方法',
+  'page.route.form.itemLabel.priority': '优先级',
   'page.route.form.itemLabel.redirect': '重定向',
   'page.route.form.itemLabel.redirectCustom': '自定义重定向',
   'page.route.form.itemLabel.rewriteType': '请求路径',
diff --git a/web/src/pages/Route/transform.ts b/web/src/pages/Route/transform.ts
index bb9687e..d36180c 100644
--- a/web/src/pages/Route/transform.ts
+++ b/web/src/pages/Route/transform.ts
@@ -145,6 +145,7 @@ export const transformRouteData = (data: RouteModule.Body) => {
     status,
     upstream,
     upstream_id,
+    priority = 0,
   } = data;
   const form1Data: Partial<RouteModule.Form1Data> = {
     name,
@@ -154,6 +155,7 @@ export const transformRouteData = (data: RouteModule.Body) => {
     uris: uris || (uri && [uri]) || [],
     remote_addrs: remote_addrs || [''],
     methods,
+    priority,
   };
 
   const redirect = data.plugins?.redirect || {};