From e53d3a25886d6e7a6b55d4bc6af23a1d29e0a96f Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 27 Jan 2021 12:05:13 -0800 Subject: [PATCH 1/6] Recycled Glass Updates --- electron/changelog.json | 5 +++++ electron/decoder/decoder.js | 34 +++++++++++++++++++++++----------- package.json | 2 +- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/electron/changelog.json b/electron/changelog.json index db50893..d081fad 100644 --- a/electron/changelog.json +++ b/electron/changelog.json @@ -38,5 +38,10 @@ "title": "Release Notes for 1.0.16", "date": "01/12/2021", "notes": "Bug Fixes: \n- Resolved an issue where vehicle age was calculated using an old date." + }, + "1.0.17": { + "title": "Release Notes for 1.0.17", + "date": "TBD", + "notes": "TBD" } } diff --git a/electron/decoder/decoder.js b/electron/decoder/decoder.js index 652d696..06fa9ca 100644 --- a/electron/decoder/decoder.js +++ b/electron/decoder/decoder.js @@ -375,15 +375,15 @@ async function DecodeLinFile(extensionlessFilePath) { //*****TODO LINE**** //Any PAL, Remanufactured, Recycled, Aftermarket, Used, // If DB Price 0, ignore them. - - //RPS-46 Ignore NA Line Items. - if ( - jobline.part_type === "PAN" && - jobline.price_j === true && - jobline.db_price === 0 - ) { - jobline.ignore = true; - } + // if ( + // (jobline.part_type === "PAL" || + // jobline.part_type === "PAM" || + // jobline.part_type === "PAR" || + // jobline.part_type === "PAA") && + // jobline.db_price === 0 + // ) { + // jobline.ignore = true; + // } //RPS-39 - OEM ON OEM SAVINGS if ( @@ -403,6 +403,20 @@ async function DecodeLinFile(extensionlessFilePath) { // jobline.db_price = jobline.act_price; // } + //RPS-46 Ignore NA Line Items. + if ( + jobline.part_type === "PAN" && + jobline.price_j === true && + jobline.db_price === 0 + ) { + jobline.ignore = true; + } + + //Update as per Norm from Rod & Waldo - Only Recycled Glass should count towards RPS, not A/M or OEM + if (jobline.glass_flag && jobline.part_type !== "PAL") { + jobline.ignore = true; + } + //Logic Based Exclusions. if ( !jobline.part_type || @@ -428,8 +442,6 @@ async function DecodeLinFile(extensionlessFilePath) { jobline.ignore = false; } - console.log("jobline", jobline); - delete jobline.glass_flag; delete jobline.price_j; return jobline; diff --git a/package.json b/package.json index 47e0944..796b39c 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "productName": "ImEX RPS", "author": "ImEX Systems Inc. ", "description": "ImEX RPS", - "version": "1.0.16", + "version": "1.0.17", "main": "electron/main.js", "homepage": "./", "dependencies": { From ddbeb39fe93bb12ce2b896e805d53d6e8415b248 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 17 Feb 2021 14:25:15 -0800 Subject: [PATCH 2/6] Added new vehicle groupings RPS-74 --- WIP Changelog.txt | 5 +- electron/file-watcher/file-watcher.js | 2 +- .../down.yaml | 5 + .../up.yaml | 23 + .../down.yaml | 6 + .../up.yaml | 21 + .../down.yaml | 6 + .../up.yaml | 6 + .../down.yaml | 5 + .../up.yaml | 6 + .../down.yaml | 42 + .../up.yaml | 43 + .../down.yaml | 42 + .../up.yaml | 43 + .../down.yaml | 41 + .../up.yaml | 42 + hasura/migrations/metadata.yaml | 19 + package-lock.json | 851 +++++++++++------- package.json | 20 +- src/graphql/jobs.queries.js | 1 + src/graphql/reporting.queries.js | 1 + src/graphql/veh_group.queries.js | 21 +- src/ipc/cargovans.json | 108 +++ src/ipc/ipc-estimate-utils.js | 42 +- src/ipc/passengervans.json | 18 + src/ipc/suvs.json | 196 ++++ src/ipc/trucks.json | 569 ++++++++++++ 27 files changed, 1844 insertions(+), 340 deletions(-) create mode 100644 hasura/migrations/1613584484158_create_table_public_groupings/down.yaml create mode 100644 hasura/migrations/1613584484158_create_table_public_groupings/up.yaml create mode 100644 hasura/migrations/1613584492542_update_permission_user_public_table_groupings/down.yaml create mode 100644 hasura/migrations/1613584492542_update_permission_user_public_table_groupings/up.yaml create mode 100644 hasura/migrations/1613584625707_alter_table_public_groupings_alter_column_effective_date/down.yaml create mode 100644 hasura/migrations/1613584625707_alter_table_public_groupings_alter_column_effective_date/up.yaml create mode 100644 hasura/migrations/1613600005095_alter_table_public_jobs_add_column_group_verified/down.yaml create mode 100644 hasura/migrations/1613600005095_alter_table_public_jobs_add_column_group_verified/up.yaml create mode 100644 hasura/migrations/1613600015102_update_permission_user_public_table_jobs/down.yaml create mode 100644 hasura/migrations/1613600015102_update_permission_user_public_table_jobs/up.yaml create mode 100644 hasura/migrations/1613600020395_update_permission_user_public_table_jobs/down.yaml create mode 100644 hasura/migrations/1613600020395_update_permission_user_public_table_jobs/up.yaml create mode 100644 hasura/migrations/1613600025071_update_permission_user_public_table_jobs/down.yaml create mode 100644 hasura/migrations/1613600025071_update_permission_user_public_table_jobs/up.yaml create mode 100644 src/ipc/cargovans.json create mode 100644 src/ipc/passengervans.json create mode 100644 src/ipc/suvs.json create mode 100644 src/ipc/trucks.json diff --git a/WIP Changelog.txt b/WIP Changelog.txt index 3709afa..b263fe0 100644 --- a/WIP Changelog.txt +++ b/WIP Changelog.txt @@ -1,6 +1,5 @@ New Features: -- Renamed 'Close Date' to 'Ready for Payment' to better align with MPI terminology. -- Changed vehicle age calculation to use 'Ready for Payment' instead of loss date as per new MPI practices. +- Bug Fixes: -- Updated grouping typo on group lookup popup. \ No newline at end of file +- Updated ignore logic for recycled glass. \ No newline at end of file diff --git a/electron/file-watcher/file-watcher.js b/electron/file-watcher/file-watcher.js index 5f17c14..6964e04 100644 --- a/electron/file-watcher/file-watcher.js +++ b/electron/file-watcher/file-watcher.js @@ -111,6 +111,6 @@ exports.StopWatcher = StopWatcher; exports.watcher = watcher; async function HandleNewFile(path) { - Nucleus.track("IMPORT_JOB_FROM_WATCHER"); +// Nucleus.track("IMPORT_JOB_FROM_WATCHER"); await ImportJob(path); } diff --git a/hasura/migrations/1613584484158_create_table_public_groupings/down.yaml b/hasura/migrations/1613584484158_create_table_public_groupings/down.yaml new file mode 100644 index 0000000..e5e748c --- /dev/null +++ b/hasura/migrations/1613584484158_create_table_public_groupings/down.yaml @@ -0,0 +1,5 @@ +- args: + cascade: false + read_only: false + sql: DROP TABLE "public"."groupings"; + type: run_sql diff --git a/hasura/migrations/1613584484158_create_table_public_groupings/up.yaml b/hasura/migrations/1613584484158_create_table_public_groupings/up.yaml new file mode 100644 index 0000000..94ebad3 --- /dev/null +++ b/hasura/migrations/1613584484158_create_table_public_groupings/up.yaml @@ -0,0 +1,23 @@ +- args: + cascade: false + read_only: false + sql: CREATE EXTENSION IF NOT EXISTS pgcrypto; + type: run_sql +- args: + cascade: false + read_only: false + sql: "CREATE TABLE \"public\".\"groupings\"(\"id\" uuid NOT NULL DEFAULT gen_random_uuid(), + \"created_at\" timestamptz NOT NULL DEFAULT now(), \"updated_at\" timestamptz + NOT NULL DEFAULT now(), \"effective_date\" date NOT NULL, \"end_date\" date, + \"make\" text NOT NULL, \"group\" text NOT NULL, \"type\" jsonb NOT NULL DEFAULT + jsonb_build_array(), PRIMARY KEY (\"id\") );\nCREATE OR REPLACE FUNCTION \"public\".\"set_current_timestamp_updated_at\"()\nRETURNS + TRIGGER AS $$\nDECLARE\n _new record;\nBEGIN\n _new := NEW;\n _new.\"updated_at\" + = NOW();\n RETURN _new;\nEND;\n$$ LANGUAGE plpgsql;\nCREATE TRIGGER \"set_public_groupings_updated_at\"\nBEFORE + UPDATE ON \"public\".\"groupings\"\nFOR EACH ROW\nEXECUTE PROCEDURE \"public\".\"set_current_timestamp_updated_at\"();\nCOMMENT + ON TRIGGER \"set_public_groupings_updated_at\" ON \"public\".\"groupings\" \nIS + 'trigger to set value of column \"updated_at\" to current timestamp on row update';" + type: run_sql +- args: + name: groupings + schema: public + type: add_existing_table_or_view diff --git a/hasura/migrations/1613584492542_update_permission_user_public_table_groupings/down.yaml b/hasura/migrations/1613584492542_update_permission_user_public_table_groupings/down.yaml new file mode 100644 index 0000000..c5229d3 --- /dev/null +++ b/hasura/migrations/1613584492542_update_permission_user_public_table_groupings/down.yaml @@ -0,0 +1,6 @@ +- args: + role: user + table: + name: groupings + schema: public + type: drop_select_permission diff --git a/hasura/migrations/1613584492542_update_permission_user_public_table_groupings/up.yaml b/hasura/migrations/1613584492542_update_permission_user_public_table_groupings/up.yaml new file mode 100644 index 0000000..2fecd07 --- /dev/null +++ b/hasura/migrations/1613584492542_update_permission_user_public_table_groupings/up.yaml @@ -0,0 +1,21 @@ +- args: + permission: + allow_aggregations: false + backend_only: false + columns: + - id + - created_at + - updated_at + - effective_date + - end_date + - make + - group + - type + computed_fields: [] + filter: {} + limit: null + role: user + table: + name: groupings + schema: public + type: create_select_permission diff --git a/hasura/migrations/1613584625707_alter_table_public_groupings_alter_column_effective_date/down.yaml b/hasura/migrations/1613584625707_alter_table_public_groupings_alter_column_effective_date/down.yaml new file mode 100644 index 0000000..03f15a5 --- /dev/null +++ b/hasura/migrations/1613584625707_alter_table_public_groupings_alter_column_effective_date/down.yaml @@ -0,0 +1,6 @@ +- args: + cascade: false + read_only: false + sql: ALTER TABLE ONLY "public"."groupings" ALTER COLUMN "effective_date" DROP + DEFAULT; + type: run_sql diff --git a/hasura/migrations/1613584625707_alter_table_public_groupings_alter_column_effective_date/up.yaml b/hasura/migrations/1613584625707_alter_table_public_groupings_alter_column_effective_date/up.yaml new file mode 100644 index 0000000..ced1639 --- /dev/null +++ b/hasura/migrations/1613584625707_alter_table_public_groupings_alter_column_effective_date/up.yaml @@ -0,0 +1,6 @@ +- args: + cascade: false + read_only: false + sql: ALTER TABLE ONLY "public"."groupings" ALTER COLUMN "effective_date" SET DEFAULT + now(); + type: run_sql diff --git a/hasura/migrations/1613600005095_alter_table_public_jobs_add_column_group_verified/down.yaml b/hasura/migrations/1613600005095_alter_table_public_jobs_add_column_group_verified/down.yaml new file mode 100644 index 0000000..570c415 --- /dev/null +++ b/hasura/migrations/1613600005095_alter_table_public_jobs_add_column_group_verified/down.yaml @@ -0,0 +1,5 @@ +- args: + cascade: false + read_only: false + sql: ALTER TABLE "public"."jobs" DROP COLUMN "group_verified"; + type: run_sql diff --git a/hasura/migrations/1613600005095_alter_table_public_jobs_add_column_group_verified/up.yaml b/hasura/migrations/1613600005095_alter_table_public_jobs_add_column_group_verified/up.yaml new file mode 100644 index 0000000..49c523f --- /dev/null +++ b/hasura/migrations/1613600005095_alter_table_public_jobs_add_column_group_verified/up.yaml @@ -0,0 +1,6 @@ +- args: + cascade: false + read_only: false + sql: ALTER TABLE "public"."jobs" ADD COLUMN "group_verified" boolean NOT NULL + DEFAULT false; + type: run_sql diff --git a/hasura/migrations/1613600015102_update_permission_user_public_table_jobs/down.yaml b/hasura/migrations/1613600015102_update_permission_user_public_table_jobs/down.yaml new file mode 100644 index 0000000..d88cdc2 --- /dev/null +++ b/hasura/migrations/1613600015102_update_permission_user_public_table_jobs/down.yaml @@ -0,0 +1,42 @@ +- args: + role: user + table: + name: jobs + schema: public + type: drop_insert_permission +- args: + permission: + backend_only: false + check: + bodyshop: + associations: + user: + authid: + _eq: X-Hasura-User-Id + columns: + - bodyshopid + - clm_no + - clm_total + - close_date + - created_at + - group + - id + - ins_co_nm + - loss_date + - ownr_fn + - ownr_ln + - ro_number + - updated_at + - v_age + - v_makedesc + - v_mileage + - v_model + - v_model_yr + - v_type + - v_vin + set: {} + role: user + table: + name: jobs + schema: public + type: create_insert_permission diff --git a/hasura/migrations/1613600015102_update_permission_user_public_table_jobs/up.yaml b/hasura/migrations/1613600015102_update_permission_user_public_table_jobs/up.yaml new file mode 100644 index 0000000..15c5462 --- /dev/null +++ b/hasura/migrations/1613600015102_update_permission_user_public_table_jobs/up.yaml @@ -0,0 +1,43 @@ +- args: + role: user + table: + name: jobs + schema: public + type: drop_insert_permission +- args: + permission: + backend_only: false + check: + bodyshop: + associations: + user: + authid: + _eq: X-Hasura-User-Id + columns: + - bodyshopid + - clm_no + - clm_total + - close_date + - created_at + - group + - group_verified + - id + - ins_co_nm + - loss_date + - ownr_fn + - ownr_ln + - ro_number + - updated_at + - v_age + - v_makedesc + - v_mileage + - v_model + - v_model_yr + - v_type + - v_vin + set: {} + role: user + table: + name: jobs + schema: public + type: create_insert_permission diff --git a/hasura/migrations/1613600020395_update_permission_user_public_table_jobs/down.yaml b/hasura/migrations/1613600020395_update_permission_user_public_table_jobs/down.yaml new file mode 100644 index 0000000..aaed297 --- /dev/null +++ b/hasura/migrations/1613600020395_update_permission_user_public_table_jobs/down.yaml @@ -0,0 +1,42 @@ +- args: + role: user + table: + name: jobs + schema: public + type: drop_select_permission +- args: + permission: + allow_aggregations: true + columns: + - bodyshopid + - clm_no + - clm_total + - close_date + - created_at + - group + - id + - ins_co_nm + - loss_date + - ownr_fn + - ownr_ln + - ro_number + - updated_at + - v_age + - v_makedesc + - v_mileage + - v_model + - v_model_yr + - v_type + - v_vin + computed_fields: [] + filter: + bodyshop: + associations: + user: + authid: + _eq: X-Hasura-User-Id + role: user + table: + name: jobs + schema: public + type: create_select_permission diff --git a/hasura/migrations/1613600020395_update_permission_user_public_table_jobs/up.yaml b/hasura/migrations/1613600020395_update_permission_user_public_table_jobs/up.yaml new file mode 100644 index 0000000..d5cc8d3 --- /dev/null +++ b/hasura/migrations/1613600020395_update_permission_user_public_table_jobs/up.yaml @@ -0,0 +1,43 @@ +- args: + role: user + table: + name: jobs + schema: public + type: drop_select_permission +- args: + permission: + allow_aggregations: true + columns: + - bodyshopid + - clm_no + - clm_total + - close_date + - created_at + - group + - group_verified + - id + - ins_co_nm + - loss_date + - ownr_fn + - ownr_ln + - ro_number + - updated_at + - v_age + - v_makedesc + - v_mileage + - v_model + - v_model_yr + - v_type + - v_vin + computed_fields: [] + filter: + bodyshop: + associations: + user: + authid: + _eq: X-Hasura-User-Id + role: user + table: + name: jobs + schema: public + type: create_select_permission diff --git a/hasura/migrations/1613600025071_update_permission_user_public_table_jobs/down.yaml b/hasura/migrations/1613600025071_update_permission_user_public_table_jobs/down.yaml new file mode 100644 index 0000000..619edd7 --- /dev/null +++ b/hasura/migrations/1613600025071_update_permission_user_public_table_jobs/down.yaml @@ -0,0 +1,41 @@ +- args: + role: user + table: + name: jobs + schema: public + type: drop_update_permission +- args: + permission: + columns: + - bodyshopid + - clm_no + - clm_total + - close_date + - created_at + - group + - id + - ins_co_nm + - loss_date + - ownr_fn + - ownr_ln + - ro_number + - updated_at + - v_age + - v_makedesc + - v_mileage + - v_model + - v_model_yr + - v_type + - v_vin + filter: + bodyshop: + associations: + user: + authid: + _eq: X-Hasura-User-Id + set: {} + role: user + table: + name: jobs + schema: public + type: create_update_permission diff --git a/hasura/migrations/1613600025071_update_permission_user_public_table_jobs/up.yaml b/hasura/migrations/1613600025071_update_permission_user_public_table_jobs/up.yaml new file mode 100644 index 0000000..0a23b1c --- /dev/null +++ b/hasura/migrations/1613600025071_update_permission_user_public_table_jobs/up.yaml @@ -0,0 +1,42 @@ +- args: + role: user + table: + name: jobs + schema: public + type: drop_update_permission +- args: + permission: + columns: + - bodyshopid + - clm_no + - clm_total + - close_date + - created_at + - group + - group_verified + - id + - ins_co_nm + - loss_date + - ownr_fn + - ownr_ln + - ro_number + - updated_at + - v_age + - v_makedesc + - v_mileage + - v_model + - v_model_yr + - v_type + - v_vin + filter: + bodyshop: + associations: + user: + authid: + _eq: X-Hasura-User-Id + set: {} + role: user + table: + name: jobs + schema: public + type: create_update_permission diff --git a/hasura/migrations/metadata.yaml b/hasura/migrations/metadata.yaml index 97056b2..17ca7a0 100644 --- a/hasura/migrations/metadata.yaml +++ b/hasura/migrations/metadata.yaml @@ -71,6 +71,22 @@ tables: authid: _eq: X-Hasura-User-Id check: null +- table: + schema: public + name: groupings + select_permissions: + - role: user + permission: + columns: + - id + - created_at + - updated_at + - effective_date + - end_date + - make + - group + - type + filter: {} - table: schema: public name: joblines @@ -205,6 +221,7 @@ tables: - close_date - created_at - group + - group_verified - id - ins_co_nm - loss_date @@ -230,6 +247,7 @@ tables: - close_date - created_at - group + - group_verified - id - ins_co_nm - loss_date @@ -261,6 +279,7 @@ tables: - close_date - created_at - group + - group_verified - id - ins_co_nm - loss_date diff --git a/package-lock.json b/package-lock.json index 1cc2268..38b3258 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "imexrps", - "version": "1.0.13", + "version": "1.0.17", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -11,24 +11,19 @@ "dev": true }, "@ant-design/colors": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-5.0.0.tgz", - "integrity": "sha512-Pe1rYorgVC1v4f+InDXvIlQH715pO1g7BsOhy/ehX/U6ebPKqojmkYJKU3lF+84Zmvyar7ngZ28hesAa1nWjLg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz", + "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==", "requires": { - "@ctrl/tinycolor": "^3.1.6" + "@ctrl/tinycolor": "^3.4.0" } }, - "@ant-design/css-animation": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/@ant-design/css-animation/-/css-animation-1.7.3.tgz", - "integrity": "sha512-LrX0OGZtW+W6iLnTAqnTaoIsRelYeuLZWsrmBJFUXDALQphPsN8cE5DCsmoSlL0QYb94BQxINiuS70Ar/8BNgA==" - }, "@ant-design/icons": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.3.0.tgz", - "integrity": "sha512-UoIbw4oz/L/msbkgqs2nls2KP7XNKScOxVR54wRrWwnXOzJaGNwwSdYjHQz+5ETf8C53YPpzMOnRX99LFCdeIQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.5.0.tgz", + "integrity": "sha512-ZAKJcmr4DBV3NWr8wm2dCxNKN4eFrX+qCaPsuFejP6FRsf+m5OKxvCVi9bSp1lmKWeOI5yECAx5s0uFm4QHuPw==", "requires": { - "@ant-design/colors": "^5.0.0", + "@ant-design/colors": "^6.0.0", "@ant-design/icons-svg": "^4.0.0", "@babel/runtime": "^7.11.2", "classnames": "^2.2.6", @@ -42,9 +37,9 @@ "integrity": "sha512-Fi03PfuUqRs76aI3UWYpP864lkrfPo0hluwGqh7NJdLhvH4iRDc3jbJqZIvRDLHKbXrvAfPPV3+zjUccfFvWOQ==" }, "@ant-design/react-slick": { - "version": "0.27.14", - "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-0.27.14.tgz", - "integrity": "sha512-s6JVexqFmU5rs5Pm828ojtm5rCp8jDXyrc5OxEtCE2z58SIyQlkpnU9BJh98LEeBZyj02WFkGN8CWpSaD+G4PA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-0.28.1.tgz", + "integrity": "sha512-Uk+GNexHOmiK3BMk/xvliNsNt+LYnN49u5o4lqeuMKXJlNqE9kGpEF03KpxDqu/zybO0/0yAJALha8oPtR5iHA==", "requires": { "@babel/runtime": "^7.10.4", "classnames": "^2.2.5", @@ -54,21 +49,21 @@ } }, "@apollo/client": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.2.9.tgz", - "integrity": "sha512-AUvYITKhJNfRNU/Cf8t/N628ADdVah1+l9Qtjd09IwScRfDGvbBTkHMAgcb6hl7vuBVqGwQRq6fPKzHgWRlisg==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.3.11.tgz", + "integrity": "sha512-54+D5FB6RJlQ+g37f432gaexnyvDsG5X6L9VO5kqN54HJlbF8hCf/8CXtAQEHCWodAwZhy6kOLp2RM96829q3A==", "requires": { "@graphql-typed-document-node/core": "^3.0.0", "@types/zen-observable": "^0.8.0", "@wry/context": "^0.5.2", - "@wry/equality": "^0.2.0", + "@wry/equality": "^0.3.0", "fast-json-stable-stringify": "^2.0.0", - "graphql-tag": "^2.11.0", + "graphql-tag": "^2.12.0", "hoist-non-react-statics": "^3.3.2", - "optimism": "^0.13.0", + "optimism": "^0.14.0", "prop-types": "^15.7.2", "symbol-observable": "^2.0.0", - "ts-invariant": "^0.5.0", + "ts-invariant": "^0.6.0", "tslib": "^1.10.0", "zen-observable": "^0.8.14" } @@ -1329,9 +1324,9 @@ "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==" }, "@ctrl/tinycolor": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.2.0.tgz", - "integrity": "sha512-cP1tbXA1qJp/er2CJaO+Pbe38p7RlhV9WytUxUe79xj++Q6s/jKVvzJ9U2dF9f1/lZAdG+j94A38CsNR+uW4gw==" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz", + "integrity": "sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ==" }, "@develar/schema-utils": { "version": "2.6.5", @@ -1344,9 +1339,9 @@ } }, "@electron/get": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz", - "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==", + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.4.tgz", + "integrity": "sha512-6nr9DbJPUR9Xujw6zD3y+rS95TyItEVM0NVjt1EehY2vUWfIgPiIPVHxCvaTS0xr2B+DRxovYVKbuOWqC35kjg==", "dev": true, "requires": { "debug": "^4.1.1", @@ -1356,7 +1351,7 @@ "global-tunnel-ng": "^2.7.1", "got": "^9.6.0", "progress": "^2.0.3", - "sanitize-filename": "^1.6.2", + "semver": "^6.2.0", "sumchecker": "^3.0.1" }, "dependencies": { @@ -1395,6 +1390,12 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -1733,30 +1734,15 @@ "protobufjs": "^6.8.6" } }, - "@hapi/address": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-4.1.0.tgz", - "integrity": "sha512-SkszZf13HVgGmChdHo/PxchnSaCJ6cetVqLzyciudzZRT0jcOouIF/Q93mgjw8cce+D+4F4C1Z/WrfFN+O3VHQ==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, "@hapi/bourne": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==" }, - "@hapi/formula": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-2.0.0.tgz", - "integrity": "sha512-V87P8fv7PI0LH7LiVi8Lkf3x+KCO7pQozXRssAHNXXL9L1K+uyu4XypLXwxqVDKgyQai6qj3/KteNlrqDx4W5A==", - "dev": true - }, "@hapi/hoek": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.1.0.tgz", - "integrity": "sha512-i9YbZPN3QgfighY/1X1Pu118VUz2Fmmhd6b2n0/O8YVgGGfw0FbUYoA97k7FkpGJ+pLCFEDLUmAPPV4D1kpeFw==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.1.1.tgz", + "integrity": "sha512-CAEbWH7OIur6jEOzaai83jq3FmKmv4PmX1JYfs9IrYcGEVI/lyL1EXJGCj7eFVJ0bg5QR8LMxBlEtA+xKiLpFw==", "dev": true }, "@hapi/joi": { @@ -1790,12 +1776,6 @@ } } }, - "@hapi/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-vzXR5MY7n4XeIvLpfl3HtE3coZYO4raKXW766R6DZw/6aLqR26iuZ109K7a0NtF2Db0jxqh7xz2AxkUwpUFybw==", - "dev": true - }, "@hapi/topo": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.0.0.tgz", @@ -2450,6 +2430,27 @@ } } }, + "@sideway/address": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.1.tgz", + "integrity": "sha512-+I5aaQr3m0OAmMr7RQ3fR9zx55sejEYR2BFJaxL+zT3VM2611X0SHvPWIbAUBZVTn/YzYKbV8gJ2oT/QELknfQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", + "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==", + "dev": true + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -2808,6 +2809,11 @@ "source-map": "^0.6.1" } }, + "@types/ungap__global-this": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@types/ungap__global-this/-/ungap__global-this-0.3.1.tgz", + "integrity": "sha512-+/DsiV4CxXl6ZWefwHZDXSe1Slitz21tom38qPCaG0DYCS1NnDPIQDTKcmQ/tvK/edJUKkmuIDBJbmKDiB0r/g==" + }, "@types/webpack": { "version": "4.41.25", "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", @@ -2852,9 +2858,9 @@ "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" }, "@types/zen-observable": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.1.tgz", - "integrity": "sha512-wmk0xQI6Yy7Fs/il4EpOcflG4uonUpYGqvZARESLc2oy4u69fkatFLbJOeW4Q6awO15P4rduAe6xkwHevpXcUQ==" + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.2.tgz", + "integrity": "sha512-HrCIVMLjE1MOozVoD86622S7aunluLb2PJdPfb3nYiEtohm8mIB/vyv0Fd37AdeMFrTUQXEunw78YloMA3Qilg==" }, "@typescript-eslint/eslint-plugin": { "version": "4.8.1", @@ -2977,6 +2983,11 @@ "eslint-visitor-keys": "^2.0.0" } }, + "@ungap/global-this": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@ungap/global-this/-/global-this-0.4.4.tgz", + "integrity": "sha512-mHkm6FvepJECMNthFuIgpAEFmPOk71UyXuIxYfjytvFTnSDBIz7jmViO+LfHI/AjrazWije0PnSP3+/NlwzqtA==" + }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -3135,19 +3146,27 @@ } }, "@wry/context": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.5.2.tgz", - "integrity": "sha512-B/JLuRZ/vbEKHRUiGj6xiMojST1kHhu4WcreLfNN7q9DqQFrb97cWgf/kiYsPSUCAMVN0HzfFc8XjJdzgZzfjw==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.5.4.tgz", + "integrity": "sha512-/pktJKHUXDr4D6TJqWgudOPJW2Z+Nb+bqk40jufA3uTkLbnCRKdJPiYDIa/c7mfcPH8Hr6O8zjCERpg5Sq04Zg==", "requires": { - "tslib": "^1.9.3" + "tslib": "^1.14.1" } }, "@wry/equality": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.2.0.tgz", - "integrity": "sha512-Y4d+WH6hs+KZJUC8YKLYGarjGekBrhslDbf/R20oV+AakHPINSitHfDRQz3EGcEWc1luXYNUvMhawWtZVWNGvQ==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.3.2.tgz", + "integrity": "sha512-yi0VRqw+ygqM/WVZUze5meAhe2evOHBFXqK8onNVdNNB+Tyn8/07FZpeDklECBHeT9KN9DY2JpCVGNQY6RCRDg==", "requires": { - "tslib": "^1.9.3" + "tslib": "^1.14.1" + } + }, + "@wry/trie": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.2.2.tgz", + "integrity": "sha512-OxqBB39x6MfHaa2HpMiRMfhuUnQTddD32Ko020eBeJXq87ivX6xnSSnzKHVbA21p7iqBASz8n/07b6W5wW1BVQ==", + "requires": { + "tslib": "^1.14.1" } }, "@xtuc/ieee754": { @@ -3211,14 +3230,6 @@ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" }, - "add-dom-event-listener": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", - "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", - "requires": { - "object-assign": "4.x" - } - }, "address": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", @@ -3305,6 +3316,35 @@ "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" }, + "ajv-formats": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-1.5.1.tgz", + "integrity": "sha512-s1RBVF4HZd2UjGkb6t6uWoXjf6o7j7dXPQIL7vprcIT/67bTD6+5ocsU0UKShS2qWxueGDWuGfKHfOxHWrlTQg==", + "optional": true, + "requires": { + "ajv": "^7.0.0" + }, + "dependencies": { + "ajv": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.1.1.tgz", + "integrity": "sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ==", + "optional": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "optional": true + } + } + }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", @@ -3408,52 +3448,50 @@ } }, "antd": { - "version": "4.8.6", - "resolved": "https://registry.npmjs.org/antd/-/antd-4.8.6.tgz", - "integrity": "sha512-UhpODlcsUhBKgXulr8OmG9mEdFSSfk3hTq1lfO1HETxaOOEFnd3nSLiGCpELTGAUH9mlQPvoL+ccSXs/Q/9Zbw==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/antd/-/antd-4.12.3.tgz", + "integrity": "sha512-opzbxm6jZB+Pc9M0Kuo6+4WmniB59NJ4i/qBr6ExyMtl9hMgsGNH8GuDXsp2xgTzfq5hyobdLci2DAuPMrf0Zg==", "requires": { - "@ant-design/colors": "^5.0.0", - "@ant-design/css-animation": "^1.7.2", - "@ant-design/icons": "^4.3.0", - "@ant-design/react-slick": "~0.27.0", - "@babel/runtime": "^7.11.2", + "@ant-design/colors": "^6.0.0", + "@ant-design/icons": "^4.5.0", + "@ant-design/react-slick": "~0.28.1", + "@babel/runtime": "^7.12.5", "array-tree-filter": "^2.1.0", "classnames": "^2.2.6", "copy-to-clipboard": "^3.2.0", "lodash": "^4.17.20", "moment": "^2.25.3", - "omit.js": "^2.0.2", - "rc-animate": "~3.1.0", "rc-cascader": "~1.4.0", "rc-checkbox": "~2.3.0", - "rc-collapse": "~2.0.0", - "rc-dialog": "~8.4.0", - "rc-drawer": "~4.1.0", + "rc-collapse": "~3.1.0", + "rc-dialog": "~8.5.1", + "rc-drawer": "~4.2.0", "rc-dropdown": "~3.2.0", - "rc-field-form": "~1.17.0", - "rc-image": "~4.0.0", - "rc-input-number": "~6.1.0", + "rc-field-form": "~1.18.0", + "rc-image": "~5.2.0", + "rc-input-number": "~6.2.0", "rc-mentions": "~1.5.0", "rc-menu": "~8.10.0", "rc-motion": "^2.4.0", "rc-notification": "~4.5.2", - "rc-pagination": "~3.1.0", - "rc-picker": "~2.4.1", + "rc-pagination": "~3.1.2", + "rc-picker": "~2.5.1", "rc-progress": "~3.1.0", "rc-rate": "~2.9.0", - "rc-resize-observer": "^0.2.3", - "rc-select": "~11.4.0", - "rc-slider": "~9.6.1", + "rc-resize-observer": "^1.0.0", + "rc-select": "~12.1.0", + "rc-slider": "~9.7.1", "rc-steps": "~4.1.0", "rc-switch": "~3.2.0", - "rc-table": "~7.11.0", + "rc-table": "~7.13.0", "rc-tabs": "~11.7.0", "rc-textarea": "~0.3.0", "rc-tooltip": "~5.0.0", - "rc-tree": "~3.11.0", - "rc-tree-select": "~4.1.1", - "rc-upload": "~3.3.1", - "rc-util": "^5.1.0", + "rc-tree": "~4.1.0", + "rc-tree-select": "~4.3.0", + "rc-trigger": "^5.2.1", + "rc-upload": "~3.3.4", + "rc-util": "^5.7.0", "scroll-into-view-if-needed": "^2.2.25", "warning": "^4.0.3" } @@ -3913,12 +3951,20 @@ "integrity": "sha512-9atDIOTDLsWL+1GbBec6omflaT5Cxh88J0GtJtGfCVIXpI02rXHkju59W5mMqWa7eiC5OR168v3TK3kUKBW98g==" }, "axios": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "dev": true, "requires": { - "follow-redirects": "1.5.10" + "follow-redirects": "^1.10.0" + }, + "dependencies": { + "follow-redirects": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", + "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==", + "dev": true + } } }, "axobject-query": { @@ -4310,9 +4356,9 @@ "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" }, "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "block-stream": { "version": "0.0.9", @@ -4993,13 +5039,13 @@ } }, "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -5008,9 +5054,9 @@ }, "dependencies": { "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "optional": true } } @@ -6345,11 +6391,6 @@ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.16.1.tgz", "integrity": "sha512-sAJVKx/FqrLYHAQeN7VpJrPhagZc9R4ImZIWYRFZaaohR3KzmuK88touwsSwSVT8Qcbd4zoDsnGfX4GFB4imyQ==" }, - "dayjs": { - "version": "1.9.6", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.9.6.tgz", - "integrity": "sha512-HngNLtPEBWRo8EFVmHFmSXAjtCX8rGNqeXQI0Gh7wCTSqwaKgPIDqu9m07wABVopNwzvOeCb+2711vQhDlcIXw==" - }, "dbffile": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/dbffile/-/dbffile-1.5.0.tgz", @@ -6881,9 +6922,9 @@ } }, "electron": { - "version": "10.1.6", - "resolved": "https://registry.npmjs.org/electron/-/electron-10.1.6.tgz", - "integrity": "sha512-Wyiq5Fy64KAa51i72m+5zayYKSm9O5lnittUdaElAn3PAzGl3yDifYO2QsXR7k/iKxWVSROOPzf43mXYytL67Q==", + "version": "10.3.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-10.3.2.tgz", + "integrity": "sha512-YiLQAAiS0dPCrkjgdACqMFnOp9dVKVSzuI/mQPzmmugJRNiXvJ4WTmR1M1W28y0sjUKF+UJ8xh0oYtvSJLxZMw==", "dev": true, "requires": { "@electron/get": "^1.0.1", @@ -6892,9 +6933,9 @@ }, "dependencies": { "@types/node": { - "version": "12.19.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.5.tgz", - "integrity": "sha512-Wgdl27uw/jUYUFyajUGKSjDNGxmJrZi9sjeG6UJImgUtKbJoO9aldx+1XODN1EpNDX9DirvbvHHmTsNlb8GwMA==", + "version": "12.20.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.1.tgz", + "integrity": "sha512-tCkE96/ZTO+cWbln2xfyvd6ngHLanvVlJ3e5BeirJ3BYI5GbAyubIrmV4JjjugDly5D9fHjOL5MNsqsCnqwW6g==", "dev": true } } @@ -6960,9 +7001,9 @@ "integrity": "sha512-R1oD5gMBPS7PVU8gJwH6CtT0e6VSoD0+SzSnYpNm+dBkcijgA+K7VAMHDfnRq/lkKPZArpzplTW6jfiMYosdzw==" }, "electron-log": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/electron-log/-/electron-log-4.3.0.tgz", - "integrity": "sha512-iuJjH/ZEJkDyCbuAMvvFxAjCMDLMXIQ5NqvppETGrbtf4b/007r5P36BSvexdy0UzwDNzDtIuEXLR34vRXWZrg==" + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/electron-log/-/electron-log-4.3.1.tgz", + "integrity": "sha512-S/0CMjYjgyWUsZ3d27VvErPaI5W4oILp4jfeCuN4DhDqrJW6jKRUD2PxFfTdeZEIjM7+fttGg7A61rPcAcZC1w==" }, "electron-publish": { "version": "22.9.1", @@ -7142,22 +7183,46 @@ } }, "enzyme-adapter-react-16": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.5.tgz", - "integrity": "sha512-33yUJGT1nHFQlbVI5qdo5Pfqvu/h4qPwi1o0a6ZZsjpiqq92a3HjynDhwd1IeED+Su60HDWV8mxJqkTnLYdGkw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.6.tgz", + "integrity": "sha512-yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g==", "dev": true, "requires": { - "enzyme-adapter-utils": "^1.13.1", + "enzyme-adapter-utils": "^1.14.0", "enzyme-shallow-equal": "^1.0.4", "has": "^1.0.3", - "object.assign": "^4.1.0", - "object.values": "^1.1.1", + "object.assign": "^4.1.2", + "object.values": "^1.1.2", "prop-types": "^15.7.2", "react-is": "^16.13.1", "react-test-renderer": "^16.0.0-0", "semver": "^5.7.0" }, "dependencies": { + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.values": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -7167,19 +7232,56 @@ } }, "enzyme-adapter-utils": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.13.1.tgz", - "integrity": "sha512-5A9MXXgmh/Tkvee3bL/9RCAAgleHqFnsurTYCbymecO4ohvtNO5zqIhHxV370t7nJAwaCfkgtffarKpC0GPt0g==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.14.0.tgz", + "integrity": "sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg==", "dev": true, "requires": { "airbnb-prop-types": "^2.16.0", - "function.prototype.name": "^1.1.2", - "object.assign": "^4.1.0", - "object.fromentries": "^2.0.2", + "function.prototype.name": "^1.1.3", + "has": "^1.0.3", + "object.assign": "^4.1.2", + "object.fromentries": "^2.0.3", "prop-types": "^15.7.2", "semver": "^5.7.1" }, "dependencies": { + "function.prototype.name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.3.tgz", + "integrity": "sha512-H51qkbNSp8mtkJt+nyW1gyStBiKZxfRqySNUR99ylq6BPXHKI4SEvIlTKp4odLfjRKJV04DFWMU3G/YRlQOsag==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "functions-have-names": "^1.2.1" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.fromentries": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.3.tgz", + "integrity": "sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -8438,6 +8540,11 @@ "to-regex-range": "^5.0.1" } }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=" + }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -9160,14 +9267,17 @@ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, "graphql": { - "version": "15.4.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.4.0.tgz", - "integrity": "sha512-EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA==" + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", + "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" }, "graphql-tag": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.11.0.tgz", - "integrity": "sha512-VmsD5pJqWJnQZMUeRwrDhfgoyqcfwEkvtpANqcoUG8/tOLkwNgU9mzub/Mc78OJMhHjx7gfAMTxzdG43VGg3bA==" + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.1.tgz", + "integrity": "sha512-LPewEE1vzGkHnCO8zdOGogKsHHBdtpGyihow1UuMwp6RnZa0lAS7NcbvltLOuo4pi5diQCPASAXZkQq44ffixA==", + "requires": { + "tslib": "^1.14.1" + } }, "growly": { "version": "1.3.0", @@ -11727,16 +11837,16 @@ } }, "joi": { - "version": "17.2.1", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.2.1.tgz", - "integrity": "sha512-YT3/4Ln+5YRpacdmfEfrrKh50/kkgX3LgBltjqnlMPIYiZ4hxXZuVJcxmsvxsdeHg9soZfE3qXxHC2tMpCCBOA==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.4.0.tgz", + "integrity": "sha512-F4WiW2xaV6wc1jxete70Rw4V/VuMd6IN+a5ilZsxG4uYtUXWu2kq9W5P2dz30e7Gmw8RCbY/u/uk+dMPma9tAg==", "dev": true, "requires": { - "@hapi/address": "^4.1.0", - "@hapi/formula": "^2.0.0", "@hapi/hoek": "^9.0.0", - "@hapi/pinpoint": "^2.0.0", - "@hapi/topo": "^5.0.0" + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.0", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" } }, "js-base64": { @@ -13061,15 +13171,72 @@ } }, "nucleus-nodejs": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/nucleus-nodejs/-/nucleus-nodejs-3.0.7.tgz", - "integrity": "sha512-nw9oDzRpujrh8R4yBlU5ITLHyg7x/DANXmUlte/IvZm6AtfJbvSMtDn1CUdXBfja1ZtbOQe8BPmI/489agnGjg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/nucleus-nodejs/-/nucleus-nodejs-3.0.8.tgz", + "integrity": "sha512-ZiS/n3lY5dXBlq63R8hBi/k9A3FK62uVWvcLunpLSdPHfqSfFShoBSfQ4qtqW0nErnSNvqYy2zy2fHMLku79eQ==", "requires": { "arch": "^2.2.0", - "conf": "^7.1.2", + "conf": "^9.0.0", "node-machine-id": "^1.1.12", - "os-locale": "^4.0.0", + "os-locale": "^5.0.0", "ws": "^7.1.2" + }, + "dependencies": { + "ajv": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.1.1.tgz", + "integrity": "sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ==", + "optional": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "conf": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/conf/-/conf-9.0.2.tgz", + "integrity": "sha512-rLSiilO85qHgaTBIIHQpsv8z+NnVfZq3cKuYNCXN1AOqPzced0GWZEe/A517VldRLyQYXUMyV+vszavE2jSAqw==", + "optional": true, + "requires": { + "ajv": "^7.0.3", + "ajv-formats": "^1.5.1", + "atomically": "^1.7.0", + "debounce-fn": "^4.0.0", + "dot-prop": "^6.0.1", + "env-paths": "^2.2.0", + "json-schema-typed": "^7.0.3", + "make-dir": "^3.1.0", + "onetime": "^5.1.2", + "pkg-up": "^3.1.0", + "semver": "^7.3.4" + } + }, + "dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "optional": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "optional": true + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "num2fraction": { @@ -13297,11 +13464,6 @@ "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" }, - "omit.js": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-2.0.2.tgz", - "integrity": "sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==" - }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -13363,11 +13525,12 @@ } }, "optimism": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.13.1.tgz", - "integrity": "sha512-16RRVYZe8ODcUqpabpY7Gb91vCAbdhn8FHjlUb2Hqnjjow1j8Z1dlppds+yAsLbreNTVylLC+tNX6DuC2vt3Kw==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.14.0.tgz", + "integrity": "sha512-ygbNt8n4DOCVpkwiLF+IrKKeNHOjtr9aXLWGP9HNJGoblSGsnVbJLstcH6/nE9Xy5ZQtlkSioFQNnthmENW6FQ==", "requires": { - "@wry/context": "^0.5.2" + "@wry/context": "^0.5.2", + "@wry/trie": "^0.2.1" } }, "optimize-css-assets-webpack-plugin": { @@ -13411,14 +13574,92 @@ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-4.0.0.tgz", - "integrity": "sha512-HsSR1+2l6as4Wp2SGZxqLnuFHxVvh1Ir9pvZxyujsC13egZVe7P0YeBLN0ijQzM/twrO5To3ia3jzBXAvpMTEA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-5.0.0.tgz", + "integrity": "sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA==", "optional": true, "requires": { - "execa": "^1.0.0", + "execa": "^4.0.0", "lcid": "^3.0.0", "mem": "^5.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "optional": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "optional": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "optional": true, + "requires": { + "pump": "^3.0.0" + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "optional": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "optional": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "optional": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "optional": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "optional": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "os-tmpdir": { @@ -15050,11 +15291,12 @@ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "query-string": { - "version": "6.13.7", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.13.7.tgz", - "integrity": "sha512-CsGs8ZYb39zu0WLkeOhe0NMePqgYdAuCqxOYKDR5LVCytDZYMGx3Bb+xypvQvPHVPijRXB0HZNFllCzHRe4gEA==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.0.tgz", + "integrity": "sha512-In3o+lUxlgejoVJgwEdYtdxrmlL0cQWJXj0+kkI7RWVo7hg5AhFtybeKlC9Dpgbr8eOC4ydpEh8017WwyfzqVQ==", "requires": { "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", "split-on-first": "^1.0.0", "strict-uri-encode": "^2.0.0" } @@ -15162,36 +15404,12 @@ "resize-observer-polyfill": "^1.5.1" } }, - "rc-animate": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-3.1.1.tgz", - "integrity": "sha512-8wg2Zg3EETy0k/9kYuis30NJNQg1D6/WSQwnCiz6SvyxQXNet/rVraRz3bPngwY6rcU2nlRvoShiYOorXyF7Sg==", - "requires": { - "@ant-design/css-animation": "^1.7.2", - "classnames": "^2.2.6", - "raf": "^3.4.0", - "rc-util": "^4.15.3" - }, - "dependencies": { - "rc-util": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", - "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", - "requires": { - "add-dom-event-listener": "^1.1.0", - "prop-types": "^15.5.10", - "react-is": "^16.12.0", - "react-lifecycles-compat": "^3.0.4", - "shallowequal": "^1.1.0" - } - } - } - }, "rc-cascader": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-1.4.0.tgz", - "integrity": "sha512-6kgQljDQEKjVAVRkZtvvoi+2qv4u42M6oLuvt4ZDBa16r3X9ZN8TAq3atVyC840ivbGKlHT50OcdVx/iwiHc1w==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-1.4.2.tgz", + "integrity": "sha512-JVuLGrSi+3G8DZyPvlKlGVWJjhoi9NTz6REHIgRspa5WnznRkKGm2ejb0jJtz0m2IL8Q9BG4ZA2sXuqAu71ltQ==", "requires": { + "@babel/runtime": "^7.12.5", "array-tree-filter": "^2.1.0", "rc-trigger": "^5.0.4", "rc-util": "^5.0.1", @@ -15199,45 +15417,45 @@ } }, "rc-checkbox": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.3.1.tgz", - "integrity": "sha512-i290/iTqmZ0WtI2UPIryqT9rW6O99+an4KeZIyZDH3r+Jbb6YdddaWNdzq7g5m9zaNhJvgjf//wJtC4fvve2Tg==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.3.2.tgz", + "integrity": "sha512-afVi1FYiGv1U0JlpNH/UaEXdh6WUJjcWokj/nUN2TgG80bfG+MDdbfHKlLcNNba94mbjy2/SXJ1HDgrOkXGAjg==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.1" } }, "rc-collapse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-2.0.1.tgz", - "integrity": "sha512-sRNqwQovzQoptTh7dCwj3kfxrdor2oNXrGSBz+QJxSFS7N3Ujgf8X/KlN2ElCkwBKf7nNv36t9dwH0HEku4wJg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.1.0.tgz", + "integrity": "sha512-EwpNPJcLe7b+5JfyaxM9ZNnkCgqArt3QQO0Cr5p5plwz/C9h8liAmjYY5I4+hl9lAjBqb7ZwLu94+z+rt5g1WQ==", "requires": { - "@ant-design/css-animation": "^1.7.2", + "@babel/runtime": "^7.10.1", "classnames": "2.x", - "rc-animate": "3.x", + "rc-motion": "^2.3.4", "rc-util": "^5.2.1", "shallowequal": "^1.1.0" } }, "rc-dialog": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-8.4.3.tgz", - "integrity": "sha512-LHsWXb+2Cy4vEOeJcPvk9M0WSr80Gi438ov5rXt3E6XB4j+53Z+vMFRr+TagnVuOVQRCLmmzT4qutfm2U1OK6w==", + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-8.5.1.tgz", + "integrity": "sha512-EcLgHHjF3Jp4C+TFceO2j7gIrpx0YIhY6ronki5QJDL/z+qWYozY5RNh4rnv4a6R21SPVhV+SK+gMMlMHZ/YRQ==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.6", "rc-motion": "^2.3.0", - "rc-util": "^5.0.1" + "rc-util": "^5.6.1" } }, "rc-drawer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-4.1.0.tgz", - "integrity": "sha512-kjeQFngPjdzAFahNIV0EvEBoIKMOnvUsAxpkSPELoD/1DuR4nLafom5ryma+TIxGwkFJ92W6yjsMi1U9aiOTeQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-4.2.2.tgz", + "integrity": "sha512-zw48FATkAmJrEnfeRWiMqvKAzqGzUDLN1UXlluB7q7GgbR6mJFvc+QsmNrgxsFuMz86Lh9mKSIi7rXlPINmuzw==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.6", - "rc-util": "^5.0.1" + "rc-util": "^5.7.0" } }, "rc-dropdown": { @@ -15251,9 +15469,9 @@ } }, "rc-field-form": { - "version": "1.17.2", - "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.17.2.tgz", - "integrity": "sha512-+pufRy5x4G5yHxQ3k1nhgQqyqerPVJQ2jaLGojHjNpmZ2Si20o1KniMLsZxe6X8dfq4ePmH6M3IngfDnS+CrMA==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.18.1.tgz", + "integrity": "sha512-/YRnelnHLxygl/ROGhFqfCT+uAZ5xLvu3qjtlETOneb7fXKk7tqp+RGfYqZ4uNViXlsfxox3qqMMTVet6wYfEA==", "requires": { "@babel/runtime": "^7.8.4", "async-validator": "^3.0.3", @@ -15261,21 +15479,20 @@ } }, "rc-image": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-4.0.1.tgz", - "integrity": "sha512-1GxjwgtONtJjlvd7sM9VSLTAlDQhkqHI0wl72YSDpdm24w5zmDsTYLgTNh/vToFa9qAml10Gaidy03qpkTAQ+A==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-5.2.2.tgz", + "integrity": "sha512-Zv8Qyftw5P2nbqaueUOX1Fq1c5XlY/hTEWzUxINQh+qt/K1e5vF5sriTy1KH9B6GY4LVwIk4oHweDJemCWYDcw==", "requires": { - "@ant-design/icons": "^4.2.2", "@babel/runtime": "^7.11.2", "classnames": "^2.2.6", - "rc-dialog": "~8.4.0", + "rc-dialog": "~8.5.0", "rc-util": "^5.0.6" } }, "rc-input-number": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-6.1.1.tgz", - "integrity": "sha512-9t2xf1G0YEism7FAXAvF1huBk7ZNABPBf6NL+3/aDL123WiT/vhhod4cldiDWTM1Yb2EDKR//ZIa546ScdsUaA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-6.2.0.tgz", + "integrity": "sha512-EaDkGvJN1YZdLntY2isYjHejgX6hDCcW8Te7hIGsVp3Egzn179s1PVVLQmSEfT1YC+bf+SE5EZOpw0IH7dq33w==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", @@ -15283,9 +15500,9 @@ } }, "rc-mentions": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.5.2.tgz", - "integrity": "sha512-GqV0tOtHY3pLpOsFCxJ2i6Ad8AVfxFmz0NlD/8rb8IG8pMpthJKcdfnXlNZRx3Fa9O4YEgJpdSY1WEbmlx2DWQ==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.5.3.tgz", + "integrity": "sha512-NG/KB8YiKBCJPHHvr/QapAb4f9YzLJn7kDHtmI1K6t7ZMM5YgrjIxNNhoRKKP9zJvb9PdPts69Hbg4ZMvLVIFQ==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.6", @@ -15296,17 +15513,16 @@ } }, "rc-menu": { - "version": "8.10.1", - "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-8.10.1.tgz", - "integrity": "sha512-HmTOLPkSrz5RcdDopD4+nI95YXR2DzdSq9ek3NX2EVgD1UHknlp1QAEJ5MompYdAqdtOspJUqgM/zNt0iQALOw==", + "version": "8.10.5", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-8.10.5.tgz", + "integrity": "sha512-8Ets93wQFy9IysmgRUm1VGdrEz6XfZTM0jQOqOPLYNXah5HgAmCh4xT0UOygfHB3IWiQeqDgr2uPB4uVhwI2+Q==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "2.x", "mini-store": "^3.0.1", - "omit.js": "^2.0.0", "rc-motion": "^2.0.1", "rc-trigger": "^5.1.2", - "rc-util": "^5.5.0", + "rc-util": "^5.7.0", "resize-observer-polyfill": "^1.5.0", "shallowequal": "^1.1.0" } @@ -15332,24 +15548,34 @@ "rc-util": "^5.0.1" } }, + "rc-overflow": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.0.2.tgz", + "integrity": "sha512-GXj4DAyNxm4f57LvXLwhJaZoJHzSge2l2lQq64MZP7NJAfLpQqOLD+v9JMV9ONTvDPZe8kdzR+UMmkAn7qlzFA==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.5.1" + } + }, "rc-pagination": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.1.2.tgz", - "integrity": "sha512-KbJvkTvRiD51vTIAi0oTARPUHNb0iV6njbDBe8yLkc3PWYDJaszASfuss6YJ98EIxEeGzuEk6xsUAEKWRJgz2g==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.1.3.tgz", + "integrity": "sha512-Z7CdC4xGkedfAwcUHPtfqNhYwVyDgkmhkvfsmoByCOwAd89p42t5O5T3ORar1wRmVWf3jxk/Bf4k0atenNvlFA==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.1" } }, "rc-picker": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.4.3.tgz", - "integrity": "sha512-tOIHslTQKpoGNmbpp6YOBwS39dQSvtAuhOm3bWCkkc4jCqUqeR/velCwqefZX1BX4+t1gUMc1dIia9XvOKrEkg==", + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.5.5.tgz", + "integrity": "sha512-HZDBDDDqCkw7RiFQI9yxuQb1G9/z2KS66+0moJ3jSNVWTGZwTGa8bmdEabds7WtEZEHPDH5EGlWAJU72iimxUg==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.1", "date-fns": "^2.15.0", - "dayjs": "^1.8.30", "moment": "^2.24.0", "rc-trigger": "^5.0.4", "rc-util": "^5.4.0", @@ -15357,9 +15583,9 @@ } }, "rc-progress": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.1.1.tgz", - "integrity": "sha512-1ns3pW7ll9bHfdXtlVLF+vngdvlxiCDtiqwXnZFEdurst11JTiPxVdeqnCNbhWx5hP4kCKkAPqG1N0FVfTSUGA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.1.3.tgz", + "integrity": "sha512-Jl4fzbBExHYMoC6HBPzel0a9VmhcSXx24LVt/mdhDM90MuzoMCJjXZAlhA0V0CJi+SKjMhfBoIQ6Lla1nD4QNw==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.6" @@ -15376,9 +15602,9 @@ } }, "rc-resize-observer": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-0.2.6.tgz", - "integrity": "sha512-YX6nYnd6fk7zbuvT6oSDMKiZjyngjHoy+fz+vL3Tez38d/G5iGdaDJa2yE7345G6sc4Mm1IGRUIwclvltddhmA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.0.0.tgz", + "integrity": "sha512-RgKGukg1mlzyGdvzF7o/LGFC8AeoMH9aGzXTUdp6m+OApvmRdUuOscq/Y2O45cJA+rXt1ApWlpFoOIioXL3AGg==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.1", @@ -15387,23 +15613,23 @@ } }, "rc-select": { - "version": "11.4.2", - "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-11.4.2.tgz", - "integrity": "sha512-DQHYwMcvAajnnlahKkYIW47AVTXgxpGj9CWbe+juXgvxawQRFUdd8T8L2Q05aOkMy02UTG0Qrs7EZfHmn5QHbA==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-12.1.3.tgz", + "integrity": "sha512-pMJ27VQRh5QbyGLSE+by4tORYucNFbZxON+Ywj81qjXAGMjvhMcOOvlv1RZRNdnZxaMwH//3iDPOf80b0AJxZg==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "2.x", "rc-motion": "^2.0.1", + "rc-overflow": "^1.0.0", "rc-trigger": "^5.0.4", "rc-util": "^5.0.1", - "rc-virtual-list": "^3.2.0", - "warning": "^4.0.3" + "rc-virtual-list": "^3.2.0" } }, "rc-slider": { - "version": "9.6.4", - "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-9.6.4.tgz", - "integrity": "sha512-TgmfOh1Jj9fHsW2eDeldFy4mOKwyHn4krl4K6gqbXhGFND7jVRdfA0m7TDUx3gGeX7A17fM1QZymMO/NRJmoLw==", + "version": "9.7.1", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-9.7.1.tgz", + "integrity": "sha512-r9r0dpFA3PEvxBhIfVi1lVzxuSogWxeY+tGvi2AqMM1rPgaOXQ7WbtT+9kVFkJ9K8TntA/vYPgiCCKfN29KTkw==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", @@ -15433,54 +15659,54 @@ } }, "rc-table": { - "version": "7.11.3", - "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.11.3.tgz", - "integrity": "sha512-YyZry1CdqUrcH7MmWtLQZVvVZWbmTEbI5m650AZ+zYw4D5VF701samkMYl5z/H9yQFr+ugvDtXcya+e3vwRkMQ==", + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.13.1.tgz", + "integrity": "sha512-zg2ldSRHj1ENGsSykSKV5axnWkSaaly+wjRcD1Bspx4WHrf3m/I1WYjpVvOeer2e06bfKb6lmkK0HLxQ1cZtsg==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", - "rc-resize-observer": "^0.2.0", + "rc-resize-observer": "^1.0.0", "rc-util": "^5.4.0", "shallowequal": "^1.1.0" } }, "rc-tabs": { - "version": "11.7.2", - "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-11.7.2.tgz", - "integrity": "sha512-2M/XE4TdecnjsDylJSs49OmjJuDuix3VmSiNaPd50PMqFc+dc4fEof3J8/ad12enicVOcsH4BEQEms//Kn4DBw==", + "version": "11.7.3", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-11.7.3.tgz", + "integrity": "sha512-5nd2NVss9TprPRV9r8N05SjQyAE7zDrLejxFLcbJ+BdLxSwnGnk3ws/Iq0smqKZUnPQC0XEvnpF3+zlllUUT2w==", "requires": { "@babel/runtime": "^7.11.2", "classnames": "2.x", "rc-dropdown": "^3.1.3", "rc-menu": "^8.6.1", - "rc-resize-observer": "^0.2.1", + "rc-resize-observer": "^1.0.0", "rc-util": "^5.5.0" } }, "rc-textarea": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.3.1.tgz", - "integrity": "sha512-bO5Ol5uD6A++aWI6BJ0Pa/8OZcGeacP9LxIGkUqkCwPyOG3kaLOsWb8ya4xCfrsC2P4vDTsHsJmmmG5wuXGFRg==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.3.4.tgz", + "integrity": "sha512-ILUYx831ZukQPv3m7R4RGRtVVWmL1LV4ME03L22mvT56US0DGCJJaRTHs4vmpcSjFHItph5OTmhodY4BOwy81A==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.1", - "omit.js": "^2.0.0", - "rc-resize-observer": "^0.2.3" + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.7.0" } }, "rc-tooltip": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.0.1.tgz", - "integrity": "sha512-3AnxhUS0j74xAV3khrKw8o6rg+Ima3nw09DJBezMPnX3ImQUAnayWsPSlN1mEnihjA43rcFkGM1emiKE+CXyMQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.0.2.tgz", + "integrity": "sha512-A4FejSG56PzYtSNUU4H1pVzfhtkV/+qMT2clK0CsSj+9mbc4USEtpWeX6A/jjVL+goBOMKj8qlH7BCZmZWh/Nw==", "requires": { "@babel/runtime": "^7.11.2", "rc-trigger": "^5.0.0" } }, "rc-tree": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-3.11.0.tgz", - "integrity": "sha512-3RxA6fckbzX7WOk7g4gvO6AOad0znc8QW2nsv1IXSiljQaIMiyx1AK0zhzIEtABgWKbIs9QkhnBvIAHS4Rn9LA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-4.1.1.tgz", + "integrity": "sha512-ufq7CkWfvTQa+xMPzEWYfOjTfsEALlPr0/IyujEG4+4d8NdaR3e+0dc8LkkVWoe1VCcXV2FQqAsgr2z/ThFUrQ==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "2.x", @@ -15490,21 +15716,21 @@ } }, "rc-tree-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-4.1.3.tgz", - "integrity": "sha512-vk/T1vHNvuBZyoq8CvOF6iaiyVe6Y8QmQflTYFgabVsTJ1d/obkO9tAXOvJELZgKJ9ljduDVaAZAgcq0Yap+mg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-4.3.0.tgz", + "integrity": "sha512-EEXB9dKBsJNJuKIU5NERZsaJ71GDGIj5uWLl7A4XiYr2jXM4JICfScvvp3O5jHMDfhqmgpqNc0z90mHkgh3hKg==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "2.x", - "rc-select": "^11.1.1", - "rc-tree": "^3.8.0", + "rc-select": "^12.0.0", + "rc-tree": "^4.0.0", "rc-util": "^5.0.5" } }, "rc-trigger": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.1.2.tgz", - "integrity": "sha512-A6UdDy95masAEIaNmazPtqHW1EOFDWi2C2bJGDpr9OYpmObDpWKdxyNijVbFb6l1viTkAU9d3FyStgNPddgFzw==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.2.1.tgz", + "integrity": "sha512-XZilSlSDnb0L/R3Ff2xo9C0Fho2aBDoAn8u3coM60XdLqTCo24nsOh1bfAMm0uIB1qVjh5eqeyFqnBPmXi8pJg==", "requires": { "@babel/runtime": "^7.11.2", "classnames": "^2.2.6", @@ -15514,9 +15740,9 @@ } }, "rc-upload": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-3.3.1.tgz", - "integrity": "sha512-KWkJbVM9BwU8qi/2jZwmZpAcdRzDkuyfn/yAOLu+nm47dyd6//MtxzQD3XZDFkC6jQ6D5FmlKn6DhmOfV3v43w==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-3.3.4.tgz", + "integrity": "sha512-v2sirR4JL31UTHD/f0LGUdd+tpFaOVUTPeIEjAXRP9kRN8TFhqOgcXl5ixtyqj90FmtRUmKmafCv0EmhBQUHqQ==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", @@ -15524,21 +15750,22 @@ } }, "rc-util": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.5.0.tgz", - "integrity": "sha512-YJB+zZGvCll/bhxXRVLAekr7lOvTgqMlRIhgINoINfUek7wQvi5sft46NOi3yYUYhocpuW4k8+5okW46sBsZAQ==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.8.0.tgz", + "integrity": "sha512-x8UGbURS1/9mMyqNMsRdCq+nBLefjcubfS++d/P/oAKZ2b0X2Zo6TPPPS4nKyZIK8Xvo4DFx5zfwJ9hUm9CRYQ==", "requires": { + "@babel/runtime": "^7.12.5", "react-is": "^16.12.0", "shallowequal": "^1.1.0" } }, "rc-virtual-list": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.2.2.tgz", - "integrity": "sha512-OepvZDQGUbQQBFk5m2Ds32rfO/tSj9gZkLbzwaIw/hwGgvatDmW+j97YQvFkUQp/XDgdSGcfFfj/6XTKpz0J4g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.2.6.tgz", + "integrity": "sha512-8FiQLDzm3c/tMX0d62SQtKDhLH7zFlSI6pWBAPt+TUntEqd3Lz9zFAmpvTu8gkvUom/HCsDSZs4wfV4wDPWC0Q==", "requires": { "classnames": "^2.2.6", - "rc-resize-observer": "^0.2.3", + "rc-resize-observer": "^1.0.0", "rc-util": "^5.0.7" } }, @@ -15933,9 +16160,9 @@ } }, "react-test-renderer": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.13.1.tgz", - "integrity": "sha512-Sn2VRyOK2YJJldOqoh8Tn/lWQ+ZiKhyZTPtaO0Q6yNj+QDbmRkVFap6pZPy3YQk8DScRDfyqm/KxKYP9gCMRiQ==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.14.0.tgz", + "integrity": "sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==", "dev": true, "requires": { "object-assign": "^4.1.1", @@ -16401,6 +16628,12 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "optional": true + }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -18848,10 +19081,12 @@ "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" }, "ts-invariant": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.5.1.tgz", - "integrity": "sha512-k3UpDNrBZpqJFnAAkAHNmSHtNuCxcU6xLiziPgalHRKZHme6T6jnKC8CcXDmk1zbHLQM8pc+rNC1Q6FvXMAl+g==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.6.0.tgz", + "integrity": "sha512-caoafsfgb8QxdrKzFfjKt627m4i8KTtfAiji0DYJfWI4A/S9ORNNpzYuD9br64kyKFgxn9UNaLLbSupam84mCA==", "requires": { + "@types/ungap__global-this": "^0.3.1", + "@ungap/global-this": "^0.4.2", "tslib": "^1.9.3" } }, @@ -19386,16 +19621,16 @@ } }, "wait-on": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-5.2.0.tgz", - "integrity": "sha512-U1D9PBgGw2XFc6iZqn45VBubw02VsLwnZWteQ1au4hUVHasTZuFSKRzlTB2dqgLhji16YVI8fgpEpwUdCr8B6g==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-5.2.1.tgz", + "integrity": "sha512-H2F986kNWMU9hKlI9l/ppO6tN8ZSJd35yBljMLa1/vjzWP++Qh6aXyt77/u7ySJFZQqBtQxnvm/xgG48AObXcw==", "dev": true, "requires": { - "axios": "^0.19.2", - "joi": "^17.1.1", - "lodash": "^4.17.19", + "axios": "^0.21.1", + "joi": "^17.3.0", + "lodash": "^4.17.20", "minimist": "^1.2.5", - "rxjs": "^6.5.5" + "rxjs": "^6.6.3" } }, "walker": { diff --git a/package.json b/package.json index 796b39c..6be2e81 100644 --- a/package.json +++ b/package.json @@ -7,26 +7,26 @@ "main": "electron/main.js", "homepage": "./", "dependencies": { - "@apollo/client": "^3.2.9", - "antd": "^4.8.6", + "@apollo/client": "^3.3.11", + "antd": "^4.12.3", "apollo-link-logger": "^2.0.0", - "chokidar": "^3.4.2", + "chokidar": "^3.5.1", "dbffile": "^1.4.3", "dinero.js": "^1.8.1", "dotenv": "^8.2.0", "electron-is-dev": "^1.2.0", - "electron-log": "^4.2.4", + "electron-log": "^4.3.1", "electron-reload": "^1.5.0", "electron-store": "^6.0.1", "electron-updater": "^4.3.5", "firebase": "^7.24.0", - "graphql": "^15.4.0", + "graphql": "^15.5.0", "lodash": "^4.17.20", "logrocket": "^1.0.14", "moment": "^2.29.1", "node-sass": "^4.14.1", - "nucleus-nodejs": "^3.0.7", - "query-string": "^6.13.6", + "nucleus-nodejs": "^3.0.8", + "query-string": "^6.14.0", "react": "^17.0.1", "react-dom": "^17.0.1", "react-infinite-scroller": "^1.2.4", @@ -71,12 +71,12 @@ }, "devDependencies": { "concurrently": "^5.3.0", - "electron": "^10.1.6", + "electron": "^10.3.2", "electron-builder": "^22.9.1", "electron-devtools-installer": "^3.1.1", "enzyme": "^3.11.0", - "enzyme-adapter-react-16": "^1.15.5", - "wait-on": "^5.2.0" + "enzyme-adapter-react-16": "^1.15.6", + "wait-on": "^5.2.1" }, "build": { "extends": null, diff --git a/src/graphql/jobs.queries.js b/src/graphql/jobs.queries.js index a62aab9..b2b0c52 100644 --- a/src/graphql/jobs.queries.js +++ b/src/graphql/jobs.queries.js @@ -91,6 +91,7 @@ export const QUERY_JOB_BY_PK = gql` ro_number updated_at group + group_verified v_age v_type loss_date diff --git a/src/graphql/reporting.queries.js b/src/graphql/reporting.queries.js index 9625ca4..49f7100 100644 --- a/src/graphql/reporting.queries.js +++ b/src/graphql/reporting.queries.js @@ -15,6 +15,7 @@ export const REPORTING_GET_JOBS = gql` ownr_fn ins_co_nm group + group_verified clm_total clm_no close_date diff --git a/src/graphql/veh_group.queries.js b/src/graphql/veh_group.queries.js index c2c517f..3747fe2 100644 --- a/src/graphql/veh_group.queries.js +++ b/src/graphql/veh_group.queries.js @@ -1,15 +1,20 @@ import gql from "graphql-tag"; export const QUERY_GROUPS_BY_MAKE_TYPE = gql` - query QUERY_GROUPS_BY_MAKE_TYPE( - $make: String! - $type: String - $isNull: Boolean - ) { - veh_groups( + query QUERY_GROUPS_BY_MAKE_TYPE($make: String!, $type: jsonb, $date: date) { + groupings( where: { - _and: { make: { _eq: $make } } - type: { _eq: $type, _is_null: $isNull } + _and: [ + { make: { _eq: $make } } + { type: { _contains: $type } } + { effective_date: { _lte: $date } } + { + _or: [ + { end_date: { _is_null: true } } + { end_date: { _gt: $date } } + ] + } + ] } ) { id diff --git a/src/ipc/cargovans.json b/src/ipc/cargovans.json new file mode 100644 index 0000000..08a3b05 --- /dev/null +++ b/src/ipc/cargovans.json @@ -0,0 +1,108 @@ +[ + "PROMASTER 1500", + "PROMASTER 2500", + "PROMASTER 2500", + "PROMASTER CITY", + + "NV 1500", + "NV 200", + "NV 2500", + "NV 3500", + + "SPRINTER", + + "E150 ECONOLINE CARGO VAN", + "E150 ECONOLINE XL", + "E250 ECONOLINE CARGO", + "E250 ECONOLINE CARGO (AMALGAM)", + "E250 ECONOLINE CARGO (INSPECT)", + "E250 ECONOLINE CARGO VAN EXT", + "E250 ECONOLINE SUPER CARGO VAN", + "E350 CUTAWAY VAN", + "E350 ECONO SD CARGO VAN EXT", + "E350 ECONOLINE CARGO VAN", + "E350 ECONOLINE CUTAWAY", + "E350 ECONOLINE SD CARGO VAN", + "E350 ECONOLINE SD XL", + "E350 ECONOLINE SD XL EXT", + "E350 ECONOLINE SD XLT", + "E350 ECONOLINE SD XLT EXT", + "E350 SD CUTAWAY", + "E450", + "E450 ECONOLINE", + "E450 ECONOLINE SD", + "E450 ECONOLINE SD CUTAWAY", + "TRANSIT 150 WB 130 CARGO VAN", + "TRANSIT 150 WB 130 XLT", + "TRANSIT 150 WB 148 CARGO VAN", + "TRANSIT 250 WB 130 CARGO VAN", + "TRANSIT 250 WB 148 CARGO VAN", + "TRANSIT 250 WB 148 EL CARGO", + "TRANSIT 350 WB 148 CARGO VAN", + "TRANSIT 350 WB 148 EL CARGO", + "TRANSIT CONNECT XL CARGO VAN", + "TRANSIT CONNECT XLT CARGO VAN", + + "CITY EXPRESS LS CARGO VAN", + "CITY EXPRESS LT CARGO VAN", + "EXPRESS 1500", + "EXPRESS 1500 CARGO VAN", + "EXPRESS 1500 LS", + "EXPRESS 1500 LT", + "EXPRESS 2500 CARGO VAN", + "EXPRESS 2500 CARGO VAN EXT", + "EXPRESS 2500 LS", + "EXPRESS 2500 LT", + "EXPRESS 3500", + "EXPRESS 3500 CARGO VAN", + "EXPRESS 3500 CARGO VAN EXT", + "EXPRESS 3500 EXT", + "EXPRESS 3500 LS", + "EXPRESS 3500 LS EXT", + "EXPRESS 3500 LT", + "EXPRESS 3500 LT EXT", + "G3500 EXPRESS CUTAWAY", + + "SAVANA 1500 CARGO VAN", + "SAVANA 1500 SL", + "SAVANA 1500 SLE", + "SAVANA 2500", + "SAVANA 2500 CARGO VAN", + "SAVANA 2500 CARGO VAN EXT", + "SAVANA 2500 LT", + "SAVANA 2500 SLE", + "SAVANA 3500", + "SAVANA 3500 CARGO VAN", + "SAVANA 3500 CARGO VAN EXT", + "SAVANA 3500 EXT", + "SAVANA 3500 LT EXT", + "SAVANA 3500 SLE EXT", + "SAVANA G3500 CUTAWAY", + "SAVANA G4500 CUTAWAY", + + "EXPRESS 1500 LS CARGO VAN", + "G20 SPORTVAN", + + "NV 3500 S V8 CARGO VAN", + + "E-150", + "E-250", + "E-350", + "E-450", + "E150", + "E250", + "E350", + "E450", + "TRANSIT", + "CITY", + "CITY EXPRESS", + "EXPRESS", + "EXPRESS 1500", + "EXPRESS 2500", + "EXPRESS 3500", + "G3500", + "SAVANA", + "SAVANA 1500", + "SAVANA 2500", + "SAVANA 3500" +] diff --git a/src/ipc/ipc-estimate-utils.js b/src/ipc/ipc-estimate-utils.js index f3533e9..cc2015a 100644 --- a/src/ipc/ipc-estimate-utils.js +++ b/src/ipc/ipc-estimate-utils.js @@ -10,6 +10,10 @@ import { } from "../graphql/jobs.queries"; import { QUERY_GROUPS_BY_MAKE_TYPE } from "../graphql/veh_group.queries"; import { store } from "../redux/store"; +import TrucksList from "./trucks.json"; +import CargoVanList from "./cargovans.json"; +import PassengerVanList from "./passengervans.json"; +import SuvList from "./suvs.json"; const { logger } = window; export function CalculateVehicleAge(job) { @@ -35,13 +39,14 @@ export async function UpsertEstimate(job) { job = { ...job, - group: await DetermineVehicleGroup(job), + v_type: DetermineVehicleType(job), v_age: CalculateVehicleAge({ ...job, close_date: existingJobs.data.jobs[0] && existingJobs.data.jobs[0].close_date, }), }; + job.group = await DetermineVehicleGroup(job); if (existingJobs.data.jobs.length === 1) { let suppDelta = await GetSupplementDelta( @@ -177,18 +182,15 @@ const DetermineVehicleGroup = async (job) => { query: QUERY_GROUPS_BY_MAKE_TYPE, variables: { make: job.v_makedesc.toUpperCase(), - type: - job.v_type && job.v_type.toUpperCase() !== "PC" - ? job.v_type.toUpperCase() - : null, - isNull: job.v_type && job.v_type.toUpperCase() !== "PC" ? false : true, + type: job.v_type, + date: moment().format("YYYY-MM-DD"), }, }); - if (vehicleGroups.data.veh_groups.length === 1) { - logger.info("Found 1 vehicle group.!", vehicleGroups.data.veh_groups[0]); - return vehicleGroups.data.veh_groups[0].group; - } else if (vehicleGroups.data.veh_groups.length === 0) { + if (vehicleGroups.data.groupings.length === 1) { + logger.info("Found 1 vehicle group.!", vehicleGroups.data.groupings[0]); + return vehicleGroups.data.groupings[0].group; + } else if (vehicleGroups.data.groupings.length === 0) { //Uh-oh, should only be 1. logger.info("No vehicle groups found."); return null; @@ -204,3 +206,23 @@ const DetermineVehicleGroup = async (job) => { return ""; }; + +const DetermineVehicleType = (job) => { + console.log("job.v_type", job.v_type, job.v_model.toUpperCase()); + + const inTrucks = TrucksList.includes(job.v_model.toUpperCase()); + const inPV = PassengerVanList.includes(job.v_model.toUpperCase()); + const inSuv = SuvList.includes(job.v_model.toUpperCase()); + const inCv = CargoVanList.includes(job.v_model.toUpperCase()); + + console.log("inTrucks", inTrucks); + console.log("inPV", inPV); + console.log("inSuv", inSuv); + console.log("inCv", inCv); + + if (inTrucks) return "TK"; + else if (inPV) return "PV"; + else if (inSuv) return "SUV"; + else if (inCv) return "CV"; + else return job.v_type; +}; diff --git a/src/ipc/passengervans.json b/src/ipc/passengervans.json new file mode 100644 index 0000000..7f524b0 --- /dev/null +++ b/src/ipc/passengervans.json @@ -0,0 +1,18 @@ +[ + "GRAND CARAVAN", + "GRANDCARAVAN", + "GRAND CARAVAN CREW", + "GRAND CARAVAN CV", + "GRAND CARAVAN CVP", + "GRAND CARAVAN SE", + "GRAND CARAVAN SXT", + "CARAVAN CV", + + "SIENNA CE V6", + "SIENNA LE V6", + "SIENNA XLE V6", + + "SIENNA", + "ODYSSEY", + "SEDONA" +] diff --git a/src/ipc/suvs.json b/src/ipc/suvs.json new file mode 100644 index 0000000..7201bb9 --- /dev/null +++ b/src/ipc/suvs.json @@ -0,0 +1,196 @@ +[ + "EDGE SEL", + "ESCAPE", + "ESCAPE SE", + "ESCAPE SEL", + "ESCAPE XLT V6", + "EXPEDITION", + "EXPEDITION LIMITED", + "EXPEDITION MAX", + "EXPEDITION MAX LIMITED", + "EXPLORER", + "EXPLORER LIMITED", + "EXPLORER PLATINUM ECOBOOST", + "EXPLORER SPORT TRAC", + "EXPLORER SPORT TRAC ADRENAL V8", + "EXPLORER SPORT TRAC LIMITED", + "EXPLORER SPORT TRAC LIMITED V8", + "EXPLORER SPORT TRAC XLT", + "EXPLORER SPORT TRAC XLT V8", + "EXPLORER XLT", + "FLEX", + "FLEX SE", + + "CHEROKEE", + "CHEROKEE CLASSIC", + "CHEROKEE COUNTRY", + "CHEROKEE LIMITED", + "CHEROKEE NORTH", + "CHEROKEE OVERLAND", + "CHEROKEE SPORT", + "CHEROKEE TRAILHAWK", + "CJ", + "CJ7", + "CJ7 RENEGADE", + "COMMANDER", + "COMMANDER LIMITED", + "COMMANDER SPORT", + "COMPASS", + "COMPASS HIGH ALTITUDE", + "COMPASS LATITUDE", + "COMPASS LIMITED", + "COMPASS NORTH", + "COMPASS SPORT", + "COMPASS TRAILHAWK", + "GLADIATOR OVERLAND", + "GLADIATOR RUBICON", + "GRAND CHEROKEE LAREDO", + "GRAND CHEROKEE LIMITED", + "GRAND CHEROKEE OVERLAND", + "GRAND CHEROKEE SE", + "GRAND CHEROKEE SRT", + "GRAND CHEROKEE SRT8", + "GRAND CHEROKEE SUMMIT", + "GRAND CHEROKEE TRACKHAWK", + "GRAND CHEROKEE TRAILHAWK", + "GRAND CHEROKEE", + "GRANDCHEROKEE", + "LIBERTY LIMITED", + "LIBERTY RENEGADE", + "LIBERTY SPORT", + "LIBERTY", + "PATRIOT", + "PATRIOT HIGH ALTITUDE", + "PATRIOT LATITUDE", + "PATRIOT LIMITED", + "PATRIOT NORTH", + "PATRIOT SPORT", + "RENEGADE LIMITED", + "RENEGADE NORTH", + "RENEGADE SPORT", + "RENEGADE TRAILHAWK", + "TJ", + "TJ RUBICON", + "TJ SAHARA", + "TJ SPORT", + "TJ UNLIMITED", + "WRANGLER", + "WRANGLER RUBICON", + "WRANGLER SAHARA", + "WRANGLER SPORT", + + "WRANGLER UNLIMITED", + "WRANGLER UNLIMITED 70TH ANNIV", + "WRANGLER UNLIMITED RUBICON", + "WRANGLER UNLIMITED SAHARA", + "WRANGLER UNLIMITED SPORT", + "WRANGLER UNLIMITED X", + "WRANGLER X", + "YJ WRANGLER", + + "AVIATOR", + "AVIATOR RESERVE", + "MKC", + "MKC RESERVE", + "MKC SELECT", + "MKT", + "MKT ECOBOOST", + "MKX", + "MKX RESERVE", + "NAUTILUS RESERVE", + "NAUTILUS RESERVE V6", + "NAVIGATOR", + "NAVIGATOR L", + "NAVIGATOR L RESERVE", + "NAVIGATOR L SELECT", + "NAVIGATOR RESERVE", + + "PILOT", + "PILOT BLACK EDITION", + "PILOT ELITE", + "PILOT EX", + "PILOT EX-L", + "PILOT GRANITE", + "PILOT LX", + "PILOT SE", + "PILOT SE-L", + "PILOT TOURING", + + "DURANGO R/T", + "DURANGO SLT PLUS", + "DURANGO SRT", + "DURANGO", + "JOURNEY", + "JOURNEY CROSSROAD", + "JOURNEY CVP", + "JOURNEY LIMITED", + "JOURNEY R/T", + "JOURNEY SXT", + "NITRO SE", + "NITRO", + + "SUBURBAN 1500 LT", + "SUBURBAN 1500 LTZ", + "SUBURBAN 1500 PREMIER", + "SUBURBAN 2500 LS", + "TAHOE LT", + "TRAVERSE LS", + "TRAVERSE LT", + "TRAVERSE PREMIER", + "TRAX LT", + "TRAX PREMIER", + "UPLANDER LT EXT", + "SUBURBAN", + "TAHOE", + "TRAVERSE", + "TRAX", + "UPLANDER", + + "EQUINOX LS", + "EQUINOX LT", + "EQUINOX PREMIER", + "EQUINOX", + + "RAV4 LE", + "RAV4 XLE", + "HIGHLANDER SPORT V6", + "4RUNNER SR5 V6", + "RAV4", + "HIGHLANDER", + "4RUNNER", + + "PATHFINDER SE", + "PATHFINDER SL", + "PATHFINDER", + + "MURANO PLATINUM", + "MURANO SV", + "MURANO", + "TUCSON", + "TERRAIN", + "SORENTO", + + "EDGE", + "KICKS", + "QASHQAI", + "TRAX", + "SANTA FE", + "ARMADA", + "TELLURIDE", + "PALLISADE", + "TORRENT", + "C-HR", + "SPORTAGE", + "VENZA", + "ACADIA", + "CR-V", + "HR-V", + "CX-5", + "CX-7", + "CX-9", + "CX-3", + "Q3", + "Q5", + "Q7", + "Q8" +] diff --git a/src/ipc/trucks.json b/src/ipc/trucks.json new file mode 100644 index 0000000..b0a15cd --- /dev/null +++ b/src/ipc/trucks.json @@ -0,0 +1,569 @@ +[ + "MARK LT", + "MKX", + "F-150", + "F-250", + "F-350", + "F-450", + "F-550", + "F-650", + "F100 PICKUP", + "F150 FX2 SUPERCAB", + "F150 FX4 PICKUP", + "F150 FX4 SUPERCAB", + "F150 FX4 SUPERCREW", + "F150 HARLEY DAVIDSON SUPERCAB", + "F150 HARLEY DAVIDSON SUPERCREW", + "F150 KING RANCH SUPERCREW", + "F150 LARIAT FX4 SUPERCREW", + "F150 LARIAT HARLEY DAVIDSON SC", + "F150 LARIAT KING RANCH SUPCREW", + "F150 LARIAT LIMITED SUPERCREW", + "F150 LARIAT PICKUP", + "F150 LARIAT SUPERCAB", + "F150 LARIAT SUPERCAB (AMALGAM)", + "F150 LARIAT SUPERCREW", + "F150 LARIAT SUPERCREW (AMALGA)", + "F150 LIMITED SUPERCREW", + "F150 PICKUP", + "F150 PLATINUM SUPERCREW", + "F150 RAPTOR SUPERCAB", + "F150 RAPTOR SUPERCREW", + "F150 STX PICKUP", + "F150 STX SUPERCAB", + "F150 SUPERCAB", + "F150 SUPERCREW", + "F150 SUPERCREW (AMALGAMATED)", + "F150 SVT RAPTOR SUPERCAB", + "F150 XL PICKUP", + "F150 XL SUPERCAB", + "F150 XL SUPERCREW", + "F150 XLT LARIAT SUPERCAB", + "F150 XLT PICKUP", + "F150 XLT SUPERCAB", + "F150 XLT SUPERCREW", + "F150 XLT SUPERCREW (AMALGAMAT)", + "F150 XTR SUPERCAB", + "F250 PICKUP", + "F250 SD CREW CAB", + "F250 SD FX4 CREW CAB", + "F250 SD FX4 SUPERCAB", + "F250 SD KING RANCH CREW CAB", + "F250 SD LARIAT CREW CAB", + "F250 SD LARIAT CREW CAB (AMAL)", + "F250 SD LARIAT PICKUP", + "F250 SD LARIAT SUPERCAB", + "F250 SD LIMITED CREW CAB", + "F250 SD PLATINUM CREW CAB", + "F250 SD SUPERCAB", + "F250 SD XL CREW CAB", + "F250 SD XL PICKUP", + "F250 SD XL SUPERCAB", + "F250 SD XLT CREW CAB", + "F250 SD XLT PICKUP", + "F250 SD XLT SUPERCAB", + "F250 SUPERCAB", + "F250 XL CREW CAB", + "F350 CREW CAB", + "F350 PICKUP", + "F350 PICKUP 2WD", + "F350 SD CABELAS CREW CAB", + "F350 SD CREW CAB", + "F350 SD FX4 CREW CAB", + "F350 SD FX4 SUPERCAB", + "F350 SD HARLEY DAVIDSON", + "F350 SD KING RANCH CREW CAB", + "F350 SD LARIAT CREW CAB", + "F350 SD LARIAT CREW CAB (AMAL)", + "F350 SD LARIAT KING RANCH", + "F350 SD LARIAT SUPERCAB", + "F350 SD LIMITED CREW CAB", + "F350 SD PICKUP", + "F350 SD PLATINUM CREW CAB", + "F350 SD SUPERCAB", + "F350 SD XL CREW CAB", + "F350 SD XL PICKUP", + "F350 SD XL SUPERCAB", + "F350 SD XLT CREW CAB", + "F350 SD XLT SUPERCAB", + "F350 SUPER DUTY", + "F350 SUPER DUTY XL", + "F350 XL PICKUP", + "F450", + "F450 Pickup", + "F450 SD KING RANCH CREW CAB", + "F450 SD LARIAT CREW CAB", + "F450 SD PICKUP", + "F450 SD PLATINUM CREW CAB", + "F450 SD XL", + "F450 SD XL CREW CAB", + "F450 SD XL PICKUP", + "F450 SD XLT CREW CAB", + "F450 SUPER DUTY XLT", + "F550", + "F550 SD", + "F550 SD XL", + "F550 SD XL PICKUP", + "F550 SD XLT CREW CAB", + "F550 SD XLT SUPERCAB", + "F550 SUPER DUTY", + "F550 SUPER DUTY XL", + "F550 SUPER DUTY XLT", + "F550 SUPER DUTY XLT CREW CAB", + "F550 XL", + "F650 SD XLT SUPERCAB", + "F68", + "F750 XL", + + "RANGER", + "RANGER EDGE SUPERCAB", + "RANGER FX4 SUPERCAB", + "RANGER LARIAT SUPERCREW", + "RANGER SPORT SUPERCAB", + "RANGER STX SUPERCAB", + "RANGER SUPERCAB", + "RANGER XL", + "RANGER XL SUPERCAB", + "RANGER XLT", + "RANGER XLT SUPERCAB", + "RANGER XLT SUPERCREW", + + "FRONTIER LE CREW CAB V6", + "FRONTIER NISMO CREW CAB V6", + "FRONTIER NISMO KING CAB V6", + "FRONTIER PRO-4X CREW CAB V6", + "FRONTIER PRO-4X KING CAB V6", + "FRONTIER S KING CAB", + "FRONTIER SC CREW CAB V6", + "FRONTIER SC V6", + "FRONTIER SE CREW CAB V6", + "FRONTIER SE KING CAB V6", + "FRONTIER SL CREW CAB V6", + "FRONTIER SV CREW CAB V6", + "FRONTIER SV KING CAB V6", + "FRONTIER XE KING CAB", + "FRONTIER XE KING CAB V6", + "KING CAB", + + "TITAN 5.6 LE CREW CAB", + "TITAN 5.6 LE KING CAB", + "TITAN 5.6 MIDNIGHT CREW CAB", + "TITAN 5.6 PLATINUM RESERVE CC", + "TITAN 5.6 PRO-4X CREW CAB", + "TITAN 5.6 PRO-4X KING CAB", + "TITAN 5.6 S CREW CAB", + "TITAN 5.6 SE CREW CAB", + "TITAN 5.6 SE KING CAB", + "TITAN 5.6 SL CREW CAB", + "TITAN 5.6 SV CREW CAB", + "TITAN 5.6 SV KING CAB", + "TITAN 5.6 XE CREW CAB", + "TITAN 5.6 XE KING CAB", + "TITAN XD PLATINUM CREW CAB", + "TITAN XD PRO-4X CREW CAB", + "TITAN XD S CREW CAB", + "TITAN XD SL CREW CAB", + "TITAN XD SV CREW CAB", + + "PICKUP SR5", + + "TACOMA", + "TACOMA ACCESS CAB", + "TACOMA DOUBLE CAB V6", + "TACOMA LIMITED DOUBLE CAB V6", + "TACOMA PRERUNNER DOUBLE CAB V6", + "TACOMA PRERUNNER V6 ACCESS CAB", + "TACOMA PRERUNNER XTRACAB", + "TACOMA PRERUNNER XTRACAB V6", + "TACOMA SR5 DOUBLE CAB V6", + "TACOMA SR5 V6 ACCESS CAB", + "TACOMA SR5 V6 XTRACAB", + "TACOMA V6 ACCESS CAB", + "TACOMA XTRACAB", + "TACOMA XTRACAB V6", + "TUNDRA ACCESS CAB V8", + "TUNDRA DOUBLE CAB V8", + "TUNDRA LIMITED ACCESS CAB V8", + "TUNDRA LIMITED SR5 DBLCAB V8", + "TUNDRA LIMITED V8", + "TUNDRA LIMITED V8 CREWMAX", + "TUNDRA LIMITED V8 DOUBLE CAB", + "TUNDRA PLATINUM V8 CREWMAX", + "TUNDRA SR DOUBLE CAB V8", + "TUNDRA SR V8", + "TUNDRA SR5 DOUBLE CAB V8", + "TUNDRA SR5 TRD DOUBLE CAB V8", + "TUNDRA SR5 V8 CREWMAX", + "TUNDRA V8", + "TUNDRA V8 CREWMAX", + "XTRACAB LONG BOX", + + "AVALANCHE 1500", + "AVALANCHE 1500 LS", + "AVALANCHE 1500 LS Z71", + "AVALANCHE 1500 LT", + "AVALANCHE 1500 LT Z71", + "AVALANCHE 1500 LTZ", + "C/R 10/1500 4+CAB", + "C/R 10/1500 PICKUP", + "C/R 20/2500 4+CAB", + "C/R 20/2500 PICKUP", + "C3500", + + "COLORADO", + "COLORADO EXT CAB", + "COLORADO LS", + "COLORADO LS CREW CAB", + "COLORADO LS EXT CAB", + "COLORADO LT", + "COLORADO LT CREW CAB", + "COLORADO LT EXT CAB", + "COLORADO WT CREW CAB", + "COLORADO WT EXT CAB", + "COLORADO Z71 CREW CAB", + "COLORADO Z71 EXT CAB", + "COLORADO ZR2 CREW CAB", + "COLORADO ZR2 EXT CAB", + + "HHR LS PANEL", + "K/V 10/1500 4+CAB", + "K/V 10/1500 PICKUP", + "K/V 20/2500 4+CAB", + "K/V 20/2500 PICKUP", + "K/V 30/3500 4+CAB", + "Pickup K3500", + "Pickup Silverado C2500 HD", + "S10 4+CAB", + "S10 LS 4+CAB", + "SILVERADO 1500", + "SILVERADO 1500 CHEYENNE CREW", + "SILVERADO 1500 CREW CAB", + "SILVERADO 1500 CREW CAB (AMAL)", + "SILVERADO 1500 CUST TRAIL DC", + "SILVERADO 1500 CUSTOM CREW CAB", + "SILVERADO 1500 CUSTOM DC", + "SILVERADO 1500 CUSTOM TRAIL CC", + "SILVERADO 1500 DOUBLE (AMALGA)", + "SILVERADO 1500 EXT CAB", + "SILVERADO 1500 HD LS CREW CAB", + "SILVERADO 1500 HD LT CREW CAB", + "SILVERADO 1500 HIGH COUNTRY CC", + "SILVERADO 1500 HYBRID CREW CAB", + "SILVERADO 1500 LS", + "SILVERADO 1500 LS CREW CAB", + "SILVERADO 1500 LS DOUBLE CAB", + "SILVERADO 1500 LS EXT CAB", + "SILVERADO 1500 LT", + "SILVERADO 1500 LT CC (AMALGAM)", + "SILVERADO 1500 LT CREW CAB", + "SILVERADO 1500 LT DOUBLE CAB", + "SILVERADO 1500 LT EXT CAB", + "SILVERADO 1500 LT TRAIL CC", + "SILVERADO 1500 LT TRAIL DC", + "SILVERADO 1500 LTZ CREW CAB", + "SILVERADO 1500 LTZ DOUBLE CAB", + "SILVERADO 1500 LTZ EXT CAB", + "SILVERADO 1500 RST CREW CAB", + "SILVERADO 1500 RST DOUBLE CAB", + "SILVERADO 1500 SS EXT CAB", + "SILVERADO 1500 WT", + "SILVERADO 1500 WT CREW CAB", + "SILVERADO 1500 WT DOUBLE CAB", + "SILVERADO 1500 WT EXT CAB", + "SILVERADO 2500 EXT CAB", + "SILVERADO 2500 HD", + "SILVERADO 2500 HD CREW CAB", + "SILVERADO 2500 HD EXT CAB", + "SILVERADO 2500 HD HC CREW CAB", + "SILVERADO 2500 HD LS CREW CAB", + "SILVERADO 2500 HD LS EXT CAB", + "SILVERADO 2500 HD LT", + "SILVERADO 2500 HD LT CREW CAB", + "SILVERADO 2500 HD LT DBL CAB", + "SILVERADO 2500 HD LT EXT CAB", + "SILVERADO 2500 HD LTZ CREW CAB", + "SILVERADO 2500 HD LTZ DBL CAB", + "SILVERADO 2500 HD LTZ EXT CAB", + "SILVERADO 2500 HD WT", + "SILVERADO 2500 HD WT CREW CAB", + "SILVERADO 2500 HD WT DBL CAB", + "SILVERADO 2500 HD WT EXT CAB", + "SILVERADO 3500", + "SILVERADO 3500 CREW CAB", + "SILVERADO 3500 CREW CAB (AMAL)", + "SILVERADO 3500 EXT CAB", + "SILVERADO 3500 HC CREW CAB", + "SILVERADO 3500 HD (AMALGAMATE)", + "SILVERADO 3500 LS", + "SILVERADO 3500 LS CREW CAB", + "SILVERADO 3500 LS EXT CAB", + "SILVERADO 3500 LT CREW CAB", + "SILVERADO 3500 LT DOUBLE CAB", + "SILVERADO 3500 LT EXT CAB", + "SILVERADO 3500 LTZ CREW CAB", + "SILVERADO 3500 LTZ EXT CAB", + "SILVERADO 3500 WT CREW CAB", + "Silverado 3500HD", + + "B250 SPORTSMAN", + + "DAKOTA CLUB CAB", + "DAKOTA LARAMIE V8 CLUB CAB", + "DAKOTA LARAMIE V8 QUAD CAB", + "DAKOTA QUAD CAB", + "DAKOTA SLT CREW CAB", + "DAKOTA SLT EXT CAB", + "DAKOTA SLT PLUS QUAD CAB", + "DAKOTA SLT PLUS V8 CLUB CAB", + "DAKOTA SLT PLUS V8 QUAD CAB", + "DAKOTA SLT QUAD CAB", + "DAKOTA SLT V8 CLUB CAB", + "DAKOTA SLT V8 CREW CAB", + "DAKOTA SLT V8 EXT CAB", + "DAKOTA SLT V8 QUAD CAB", + "DAKOTA SPORT V8", + "DAKOTA SPORT V8 CLUB CAB", + "DAKOTA SPORT V8 QUAD CAB", + "DAKOTA ST CLUB CAB", + "DAKOTA ST QUAD CAB", + "DAKOTA ST V8 QUAD CAB", + "DAKOTA SXT CREW CAB", + "DAKOTA SXT EXT CAB", + "DAKOTA SXT V8 CREW CAB", + "DAKOTA SXT V8 EXT CAB", + "DAKOTA V8 CLUB CAB", + "DAKOTA V8 QUAD CAB", + + "RAM 1500", + "RAM 1500 BIG HORN CREW CAB", + "RAM 1500 BIG HORN QUAD CAB", + "RAM 1500 CLUB CAB", + "RAM 1500 CREW CAB (AMALGAMATE)", + "RAM 1500 EXPRESS", + "RAM 1500 LARAMIE CREW (AMALGA)", + "RAM 1500 LARAMIE CREW CAB", + "RAM 1500 LARAMIE LONGHORN CREW", + "RAM 1500 LARAMIE MEGA CAB", + "RAM 1500 LARAMIE QUAD CAB", + "RAM 1500 LARAMIE SLT QUAD CAB", + "RAM 1500 LIMITED CREW CAB", + "RAM 1500 LONGHORN CREW CAB", + "RAM 1500 OUTDOORSMAN CREW CAB", + "RAM 1500 OUTDOORSMAN QC (AMAL)", + "RAM 1500 OUTDOORSMAN QUAD CAB", + "RAM 1500 QUAD CAB", + "RAM 1500 R/T", + "RAM 1500 REBEL CREW CAB", + "RAM 1500 REBEL QUAD CAB", + "RAM 1500 SLT", + "RAM 1500 SLT CREW (AMALGAMATE)", + "RAM 1500 SLT CREW CAB", + "RAM 1500 SLT MEGA CAB", + "RAM 1500 SLT QUAD (AMALGAMATE)", + "RAM 1500 SLT QUAD CAB", + "RAM 1500 SPORT", + "RAM 1500 SPORT CLUB CAB", + "RAM 1500 SPORT CREW CAB", + "RAM 1500 SPORT CREW CAB (AMAL)", + "RAM 1500 SPORT QUAD CAB", + "RAM 1500 ST", + "RAM 1500 ST CREW CAB", + "RAM 1500 ST QUAD CAB", + "RAM 1500 SXT CREW CAB", + "RAM 1500 SXT QUAD CAB", + "RAM 1500 TRADESMAN CREW CAB", + "RAM 1500 TRADESMAN QUAD CAB", + "RAM 1500 TRX QUAD CAB", + "RAM 2500", + "RAM 2500 BIG HORN CREW CAB", + "RAM 2500 BIG HORN MEGA CAB", + "RAM 2500 CLUB CAB", + "RAM 2500 LARAMIE CREW CAB", + "RAM 2500 LARAMIE LONGHORN CREW", + "RAM 2500 LARAMIE LONGHORN MEGA", + "RAM 2500 LARAMIE MEGA CAB", + "RAM 2500 LARAMIE QUAD CAB", + "RAM 2500 LARAMIE SLT", + "RAM 2500 LARAMIE SLT QUAD CAB", + "RAM 2500 LIMITED CREW CAB", + "RAM 2500 OUTDOORSMAN CREW CAB", + "RAM 2500 POWER WAGON CREW CAB", + "RAM 2500 QUAD CAB", + "RAM 2500 SLT", + "RAM 2500 SLT CREW CAB", + "RAM 2500 SLT MEGA CAB", + "RAM 2500 SLT QUAD CAB", + "RAM 2500 SLT QUAD CAB (AMALGA)", + "RAM 2500 SPORT QUAD CAB", + "RAM 2500 ST", + "RAM 2500 ST CREW CAB", + "RAM 2500 ST QUAD CAB", + "RAM 2500 SXT QUAD CAB", + "RAM 2500 TRADESMAN", + "RAM 2500 TRADESMAN CREW CAB", + "RAM 2500 TRX CREW CAB", + "RAM 2500 TRX QUAD CAB", + "RAM 3500", + "RAM 3500 4WD", + "RAM 3500 BIG HORN CREW CAB", + "RAM 3500 CREW CAB", + "RAM 3500 CREW CAB (AMALGAMATE)", + "RAM 3500 LARAMIE CREW CAB", + "RAM 3500 LARAMIE LONGHORN CREW", + "RAM 3500 LARAMIE LONGHORN MEGA", + "RAM 3500 LARAMIE MEGA CAB", + "RAM 3500 LARAMIE QUAD CAB", + "RAM 3500 LARAMIE SLT", + "RAM 3500 LARAMIE SLT QUAD CAB", + "RAM 3500 LIMITED MEGA CAB", + "RAM 3500 LONGHORN CREW CAB", + "RAM 3500 QUAD CAB", + "RAM 3500 SLT", + "RAM 3500 SLT CREW CAB", + "RAM 3500 SLT MEGA CAB", + "RAM 3500 SLT QUAD CAB", + "RAM 3500 SPORT QUAD CAB", + "RAM 3500 ST", + "RAM 3500 ST CREW CAB", + "RAM 3500 ST QUAD CAB", + "RAM 3500 TRX QUAD CAB", + "RAM 4500", + "RAM 4500 CREW CAB", + "RAM 5500", + "RAM 5500 CREW CAB", + "W250 TURBO DIESEL", + + "C Series 5500", + "C/R 1500 4+CAB", + "C/R 1500 PICKUP", + "C/R 1500 SIERRA SL EXT CAB", + "C/R 3500", + "C/R 3500 PICKUP", + "CANYON ALL TERRAIN CREW CAB", + "CANYON CREW CAB", + "CANYON DENALI CREW CAB", + "CANYON EXT CAB", + "CANYON SL", + "CANYON SL EXT CAB", + "CANYON SLE", + "CANYON SLE CREW CAB", + "CANYON SLE EXT CAB", + "CANYON SLT CREW CAB", + "CANYON SLT CREW CAB (AMALGAMA)", + "K/V 1500 4+CAB", + "K/V 1500 PICKUP", + "K/V 2500 4+CAB", + "K/V 2500 PICKUP", + "K/V 3500 SIERRA SL CREW CAB", + "K/V 3500 SIERRA SLE CREW CAB", + "SIERRA 1500 AT4 CREW CAB", + "SIERRA 1500 AT4 DOUBLE CAB", + "SIERRA 1500 CREW CAB", + "SIERRA 1500 CREW CAB (AMALGAM)", + "SIERRA 1500 DENALI CREW CAB", + "SIERRA 1500 DENALI EXT CAB", + "SIERRA 1500 DOUBLE CAB", + "SIERRA 1500 ELEVATION CREW CAB", + "SIERRA 1500 ELEVATION DC", + "SIERRA 1500 EXT CAB", + "SIERRA 1500 HD CREW CAB", + "SIERRA 1500 HD SLE CREW CAB", + "SIERRA 1500 HD SLT CREW CAB", + "SIERRA 1500 NEVADA EDITION", + "SIERRA 1500 PICKUP", + "SIERRA 1500 SL CREW CAB", + "SIERRA 1500 SL EXT CAB", + "SIERRA 1500 SL PICKUP", + "SIERRA 1500 SLE CREW CAB", + "SIERRA 1500 SLE DC (AMALGAMAT)", + "SIERRA 1500 SLE DOUBLE CAB", + "SIERRA 1500 SLE EXT CAB", + "SIERRA 1500 SLE EXT CAB (AMAL)", + "SIERRA 1500 SLE PICKUP", + "SIERRA 1500 SLT CREW (AMALGAM)", + "SIERRA 1500 SLT CREW CAB", + "SIERRA 1500 SLT DOUBLE CAB", + "SIERRA 1500 SLT EXT CAB", + "SIERRA 1500 WT CREW CAB", + "SIERRA 1500 WT EXT CAB", + "SIERRA 1500 WT PICKUP", + "SIERRA 2500 EXT CAB", + "SIERRA 2500 HD AT4 CREW CAB", + "SIERRA 2500 HD CREW CAB", + "SIERRA 2500 HD DENALI CREW CAB", + "SIERRA 2500 HD DOUBLE CAB", + "SIERRA 2500 HD EXT CAB", + "SIERRA 2500 HD PICKUP", + "SIERRA 2500 HD SL EXT CAB", + "SIERRA 2500 HD SL PICKUP", + "SIERRA 2500 HD SLE CREW CAB", + "SIERRA 2500 HD SLE DOUBLE CAB", + "SIERRA 2500 HD SLE EXT CAB", + "SIERRA 2500 HD SLE PICKUP", + "SIERRA 2500 HD SLT CREW CAB", + "SIERRA 2500 HD SLT DOUBLE CAB", + "SIERRA 2500 HD SLT EXT CAB", + "SIERRA 2500 HD WT CREW CAB", + "SIERRA 2500 HD WT DOUBLE CAB", + "SIERRA 2500 HD WT EXT CAB", + "SIERRA 2500 HD WT PICKUP", + "SIERRA 2500 SLE EXT CAB", + "SIERRA 3500 AT4 CREW CAB", + "SIERRA 3500 CREW CAB", + "SIERRA 3500 DENALI CREW CAB", + "SIERRA 3500 EXT CAB", + "SIERRA 3500 PICKUP", + "SIERRA 3500 SL CREW CAB", + "SIERRA 3500 SLE", + "SIERRA 3500 SLE CREW CAB", + "SIERRA 3500 SLE EXT CAB", + "SIERRA 3500 SLT CREW CAB", + "SIERRA 3500 WT CREW CAB", + "SONOMA", + "SONOMA CREW CAB", + "SONOMA EXT CAB", + + "YUKON SLT", + + "1500", + "1500 Classic", + "Pickup 1500", + "Pickup 3500", + "ProMaster 1500", + + "RIDGELINE", + "RIDGELINE BLACK EDITION", + "RIDGELINE DX", + "RIDGELINE EX-L", + "RIDGELINE LX", + "RIDGELINE RT", + "RIDGELINE RTL", + "RIDGELINE RTS", + "RIDGELINE RTX", + "RIDGELINE SE", + "RIDGELINE SPORT", + "RIDGELINE TOURING", + "RIDGELINE VP", + + "TITAN", + "TACOMA", + "TUNDRA", + "AVALANCE", + "COLORADO", + "SILVERADO", + "SILVERADO 1500", + "SILVERADO 2500", + "SILVERADO 3500", + "DAKOTA", + "RAM 1500", + "RAM 2500", + "RAM 3500", + "RAM 4500", + "RAM 5500", + "CANYON", + "SIERRA 1500", + "SIERRA 2500", + "SIERRA 3500", + "SONOMA", + "1500" +] From 7ce7fbd79d3b090622dd10732808b75d9591cdb1 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 17 Feb 2021 15:40:10 -0800 Subject: [PATCH 3/6] Added vehicle alert changes and group verification. RPS-74 --- .../vehicle-group-alert.atom.jsx | 3 +- .../job-group/job-group.molecule.jsx | 44 ++++++++++++++++--- .../jobs-detail-description.molecule.jsx | 2 +- .../reporting-jobs-list.molecule.jsx | 15 +++++-- src/graphql/jobs.queries.js | 2 + 5 files changed, 54 insertions(+), 12 deletions(-) diff --git a/src/components/atoms/vehicle-group-alert/vehicle-group-alert.atom.jsx b/src/components/atoms/vehicle-group-alert/vehicle-group-alert.atom.jsx index e652f95..509a337 100644 --- a/src/components/atoms/vehicle-group-alert/vehicle-group-alert.atom.jsx +++ b/src/components/atoms/vehicle-group-alert/vehicle-group-alert.atom.jsx @@ -30,7 +30,8 @@ const models = [ ]; export default function VehicleGroupAlertAtom({ job, showGroup = false }) { - const shouldWarn = models.includes(job.v_model.toLowerCase()); + const shouldWarn = + models.includes(job.v_model.toLowerCase()) && !job.group_verified; const vehicleText = `${job.v_model_yr} ${job.v_makedesc} ${job.v_model} (${ job.v_type diff --git a/src/components/molecules/job-group/job-group.molecule.jsx b/src/components/molecules/job-group/job-group.molecule.jsx index ef5e368..56313f0 100644 --- a/src/components/molecules/job-group/job-group.molecule.jsx +++ b/src/components/molecules/job-group/job-group.molecule.jsx @@ -1,13 +1,18 @@ -import { DownOutlined, LoadingOutlined } from "@ant-design/icons"; +import { + AlertFilled, + DownOutlined, + LoadingOutlined, + CloseOutlined, + CheckOutlined, +} from "@ant-design/icons"; import { useMutation } from "@apollo/client"; -import { Dropdown, Menu, message } from "antd"; +import { Dropdown, Menu, message, Space, Switch } from "antd"; import React, { useState } from "react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { UPDATE_JOB } from "../../../graphql/jobs.queries"; import ipcTypes from "../../../ipc.types"; import { selectBodyshop } from "../../../redux/user/user.selectors"; -import { AlertFilled } from "@ant-design/icons"; import JobsGroupModalMolecule from "../jobs-group-modal/jobs-group-modal.molecule"; const { ipcRenderer } = window; @@ -44,6 +49,20 @@ export function JobGroupMolecule({ bodyshop, jobId, group, job }) { setLoading(false); }; + const handleVerifyGroup = async (val) => { + setLoading(true); + const result = await updateJob({ + variables: { jobId: jobId, job: { group_verified: val } }, + }); + + if (!result.errors) { + message.success("Vehicle group updated."); + } else { + message.error("Error updating job."); + } + setLoading(false); + }; + const menu = ( {bodyshop.groups.map((g, idx) => ( @@ -53,21 +72,32 @@ export function JobGroupMolecule({ bodyshop, jobId, group, job }) { ); return ( - <> + e.preventDefault()}> {group} - {loading && } - {!group && (
No group set.
)} - + {group && ( +
+ } + unCheckedChildren={} + disabled={loading} + defaultChecked={job.group_verified} + onChange={handleVerifyGroup} + /> +
+ )} + + {loading && } +
); } diff --git a/src/components/molecules/jobs-detail-description/jobs-detail-description.molecule.jsx b/src/components/molecules/jobs-detail-description/jobs-detail-description.molecule.jsx index 43601a2..413b611 100644 --- a/src/components/molecules/jobs-detail-description/jobs-detail-description.molecule.jsx +++ b/src/components/molecules/jobs-detail-description/jobs-detail-description.molecule.jsx @@ -43,7 +43,7 @@ export default function JobsDetailDescriptionMolecule({ loading, job }) { - Ready for Payment Date + R4P Date } > diff --git a/src/components/molecules/reporting-jobs-list/reporting-jobs-list.molecule.jsx b/src/components/molecules/reporting-jobs-list/reporting-jobs-list.molecule.jsx index 3733240..77c37d4 100644 --- a/src/components/molecules/reporting-jobs-list/reporting-jobs-list.molecule.jsx +++ b/src/components/molecules/reporting-jobs-list/reporting-jobs-list.molecule.jsx @@ -1,4 +1,4 @@ -import { Input, Table } from "antd"; +import { Input, Table, Checkbox } from "antd"; import moment from "moment"; import React, { useState } from "react"; import { connect } from "react-redux"; @@ -46,7 +46,7 @@ export function ReportingJobsListMolecule({ sorter: (a, b) => alphaSort(a.clm_no, b.clm_no), }, { - title: "Ready for Payment Date", + title: "R4P", dataIndex: "close_date", key: "close_date", render: (text, record) => moment(record.close_date).format("MM/DD/yyyy"), @@ -88,12 +88,21 @@ export function ReportingJobsListMolecule({ render: (text, record) => record.dbPriceSum.toFormat(), }, { - title: "Actual Price Sum ", + title: "Actual Price Sum", dataIndex: "actPriceSum", key: "actPriceSum", sorter: (a, b) => a.actPriceSum.getAmount() - b.actPriceSum.getAmount(), render: (text, record) => record.actPriceSum.toFormat(), }, + { + title: "Group Verified?", + dataIndex: "group_verified", + key: "group_verified", + sorter: (a, b) => a.group_verified - b.group_verified, + render: (text, record) => ( + + ), + }, { title: "$ (Act./Target)", dataIndex: "jobRpsDollars", diff --git a/src/graphql/jobs.queries.js b/src/graphql/jobs.queries.js index b2b0c52..0c2bc0c 100644 --- a/src/graphql/jobs.queries.js +++ b/src/graphql/jobs.queries.js @@ -154,6 +154,8 @@ export const UPDATE_JOB = gql` updated_at close_date v_age + group + group_verified joblines(order_by: { unq_seq: asc }) { id act_price From 546db1883a51b85f2715404936cead694befebf9 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 17 Feb 2021 16:03:26 -0800 Subject: [PATCH 4/6] Updated jobs group modal RPS-74 --- .../jobs-group-modal.molecule.jsx | 372 +++++++++++++----- 1 file changed, 276 insertions(+), 96 deletions(-) diff --git a/src/components/molecules/jobs-group-modal/jobs-group-modal.molecule.jsx b/src/components/molecules/jobs-group-modal/jobs-group-modal.molecule.jsx index e6035ed..c59c1cf 100644 --- a/src/components/molecules/jobs-group-modal/jobs-group-modal.molecule.jsx +++ b/src/components/molecules/jobs-group-modal/jobs-group-modal.molecule.jsx @@ -5,115 +5,277 @@ import { InfoCircleFilled } from "@ant-design/icons"; const data = [ { group: "Group 1", - makes: [ - "GEO", - "ALFA ROMEO", - "TESLA", - "PORSCHE", - "MERCEDES BENZ-Truck", - "LAND ROVER", - "MERCEDES BENZ-Van", - "LINCOLN-Truck", - "BUICK-Truck", - "AM GENERAL", - "VOLKSWAGEN-Truck", - "JAGUAR", - "SMART", - "HUMMER-Truck", - "MERCEDES BENZ", - "RAM-Van", - "GENESIS", - "AUDI", - "BMW-Truck", + list: [ + { + make: "ALFA ROMEO", + type: "Car, SUV, or Passenger Van", + }, + { + make: "AUDI", + type: "Car, SUV, or Passenger Van", + }, + { + make: "GENESIS*", + type: "Car, SUV, or Passenger Van", + }, + { + make: "JAGUAR", + type: "Car, SUV, or Passenger Van", + }, + { + make: "LAND ROVER", + type: "Car, SUV, or Passenger Van", + }, + { + make: "LINCOLN", + type: "Truck", + }, + { + make: "MERCEDES BENZ", + type: "Car, SUV, or Passenger Van", + }, + { + make: "MERCEDES BENZ", + type: "Cargo Van", + }, + { + make: "PORSCHE", + type: "Car, SUV, or Passenger Van", + }, + { + make: "RAM", + type: "Cargo Van", + }, + { + make: "SMART", + type: "Car, SUV, or Passenger Van", + }, + { + make: "TESLA", + type: "Car, SUV, or Passenger Van", + }, ], }, { group: "Group 2", - makes: [ - "NISSAN-Van", - "VOLVO", - "MINI", - "LEXUS", - "LAND ROVER-Truck", - "SAAB", - "SUBARU", - "BMW", + list: [ + { + make: "BMW", + type: "Car, SUV, or Passenger Van", + }, + { + make: "LEXUS", + type: "Car, SUV, or Passenger Van", + }, + { + make: "MINI", + type: "Car, SUV, or Passenger Van", + }, + { + make: "NISSAN", + type: "Cargo Van", + }, + { + make: "SAAB", + type: "Car, SUV, or Passenger Van", + }, + { + make: "SUBARU", + type: "Car, SUV, or Passenger Van", + }, + { + make: "VOLVO", + type: "Car, SUV, or Passenger Van", + }, ], }, { group: "Group 3", - makes: [ - "MAZDA-Truck", - "SCION", - "NISSAN-Truck", - "DODGE-Van", - "INFINITI", - "JEEP-Truck", - "MONACO-Van", - "JEEP", - "LINCOLN", - "KIA", - "VOLKSWAGEN", - "FIAT", - "TOYOTA-Truck", - "HYUNDAI", - "MAZDA", - "SUBARU-Truck", - "HUMMER", - "EAGLE", - "FORD-Truck", - "ISUZU", + list: [ + { + make: "DODGE", + type: "Cargo Van", + }, + { + make: "FIAT", + type: "Car, SUV, or Passenger Van", + }, + { + make: "FORD", + type: "Cargo Van", + }, + { + make: "FORD", + type: "Truck", + }, + { + make: "HUMMER", + type: "Car, SUV, or Passenger Van", + }, + { + make: "HYUNDAI*", + type: "Car, SUV, or Passenger Van", + }, + { + make: "INFINITI", + type: "Car, SUV, or Passenger Van", + }, + { + make: "JEEP", + type: "Car, SUV, or Passenger Van", + }, + { + make: "JEEP", + type: "Truck", + }, + { + make: "KIA", + type: "Car, SUV, or Passenger Van", + }, + { + make: "LINCOLN", + type: "Car, SUV, or Passenger Van", + }, + { + make: "MAZDA", + type: "Car, SUV, or Passenger Van", + }, + { + make: "MAZDA", + type: "Truck", + }, + { + make: "NISSAN", + type: "Truck", + }, + { + make: "SCION", + type: "Car, SUV, or Passenger Van", + }, + { + make: "TOYOTA", + type: "Truck", + }, + { + make: "VOLKSWAGEN", + type: "Car, SUV, or Passenger Van", + }, ], }, { group: "Group 4", - makes: [ - "ACURA", - "HONDA", - "HONDA-Truck", - "FORD", - "DODGE-Truck", - "CADILLAC", - "TOYOTA", - "BUICK", - "CHEVROLET-Truck", - "PLYMOUTH", - "GMC-Truck", - "RAM", - "AUDI-Truck", - "MITSUBISHI", - "NISSAN", + list: [ + { + make: "ACURA", + type: "Car, SUV, or Passenger Van", + }, + { + make: "BUICK", + type: "Car, SUV, or Passenger Van", + }, + { + make: "CADILLAC", + type: "Car, SUV, or Passenger Van", + }, + { + make: "CHEVROLET", + type: "Truck", + }, + { + make: "DODGE", + type: "Truck", + }, + { + make: "FORD", + type: "Car, SUV, or Passenger Van", + }, + { + make: "GMC", + type: "Truck", + }, + { + make: "HONDA", + type: "Car, SUV, or Passenger Van", + }, + { + make: "HONDA", + type: "Truck", + }, + { + make: "MITSUBISHI", + type: "Car, SUV, or Passenger Van", + }, + { + make: "NISSAN", + type: "Car, SUV, or Passenger Van", + }, + { + make: "PLYMOUTH", + type: "Car, SUV, or Passenger Van", + }, + { + make: "RAM", + type: "Truck", + }, + { + make: "TOYOTA", + type: "Car, SUV, or Passenger Van", + }, ], }, { group: "Group 5", - makes: [ - "PONTIAC-Truck", - "CHRYSLER-Truck", - "GMC", - "CHRYSLER", - "SUZUKI", - "DODGE", - "ELDORADO", - "CHEVROLET", + list: [ + { + make: "CHEVROLET", + type: "Car, SUV, or Passenger Van", + }, + { + make: "CHRYSLER", + type: "Car, SUV, or Passenger Van", + }, + { + make: "DODGE", + type: "Car, SUV, or Passenger Van", + }, + { + make: "GMC", + type: "Car, SUV, or Passenger Van", + }, + { + make: "SUZUKI", + type: "Car, SUV, or Passenger Van", + }, ], }, { group: "Group 6", - makes: [ - "CHEVROLET-Van", - "PONTIAC", - "HYUNDAI-Truck", - "CHRYSLER-Van", - "GMC-Van", - "SUZUKI-Truck", - "CADILLAC-Truck", - "MERCURY", - "RAM-Truck", - "OLDSMOBILE", - "KIA-Truck", - "SATURN", - "MITSUBISHI-Truck", + list: [ + { + make: "CHEVROLET", + type: "Cargo Van", + }, + { + make: "GMC", + type: "Cargo Van", + }, + { + make: "MERCURY", + type: "Car, SUV, or Passenger Van", + }, + { + make: "OLDSMOBILE", + type: "Car, SUV, or Passenger Van", + }, + { + make: "PONTIAC", + type: "Car, SUV, or Passenger Van", + }, + + { + make: "SATURN", + type: "Car, SUV, or Passenger Van", + }, ], }, ]; @@ -143,22 +305,40 @@ export default function JobsGroupModalMolecule() { renderItem={(item) => ( -
    - {item.makes.map((make, idx) => ( -
  • + + + + + + + {item.list.map((item, idx) => ( + - {make} -
  • + {item.make} + {item.type} + ))} -
+
)} From 969485ac034c3ecdd3c440d748a3264fc54810c1 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 17 Feb 2021 17:09:29 -0800 Subject: [PATCH 5/6] Added changelog details. --- WIP Changelog.txt | 8 ++++++-- electron/changelog.json | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/WIP Changelog.txt b/WIP Changelog.txt index b263fe0..e96b546 100644 --- a/WIP Changelog.txt +++ b/WIP Changelog.txt @@ -1,5 +1,9 @@ New Features: -- +- Implemented the new vehicle groupings by MPI. +- Implemented new model based group detection to provide more accurate groupings than relying solely on the estimating system. * +- Added group verification to disable alerts and track whether a grouping has already been reviewed and confirmed. Bug Fixes: -- Updated ignore logic for recycled glass. \ No newline at end of file +- Updated ignore logic for recycled glass. + +* Please send feedback on the model groupings if you notice any issues to support@thinkimex.com. \ No newline at end of file diff --git a/electron/changelog.json b/electron/changelog.json index d081fad..3c2e185 100644 --- a/electron/changelog.json +++ b/electron/changelog.json @@ -41,7 +41,7 @@ }, "1.0.17": { "title": "Release Notes for 1.0.17", - "date": "TBD", - "notes": "TBD" + "date": "02/17/2021", + "notes": "New Features: \n- Implemented the new vehicle groupings by MPI.\n- Implemented new model based group detection to provide more accurate groupings than relying solely on the estimating system. *\n- Added group verification to disable alerts and track whether a grouping has already been reviewed and confirmed.\n\nBug Fixes: \n- Updated ignore logic for recycled glass.\n\n* Please send feedback on the model groupings if you notice any issues to support@thinkimex.com. " } } From 321ec92d9186758519d155e20741b9c80a86b109 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 17 Feb 2021 17:40:31 -0800 Subject: [PATCH 6/6] Added group verify to the reporting page RPS-74 --- .../group-verify-switch.component.jsx | 50 +++++++++++++++++++ .../job-group/job-group.molecule.jsx | 35 +++---------- .../reporting-jobs-list.molecule.jsx | 5 +- .../pages/reporting/reporting.page.jsx | 1 - src/redux/reporting/reporting.actions.js | 4 ++ src/redux/reporting/reporting.reducer.js | 11 ++++ src/redux/reporting/reporting.types.js | 1 + 7 files changed, 75 insertions(+), 32 deletions(-) create mode 100644 src/components/molecules/group-verify-switch/group-verify-switch.component.jsx diff --git a/src/components/molecules/group-verify-switch/group-verify-switch.component.jsx b/src/components/molecules/group-verify-switch/group-verify-switch.component.jsx new file mode 100644 index 0000000..130a251 --- /dev/null +++ b/src/components/molecules/group-verify-switch/group-verify-switch.component.jsx @@ -0,0 +1,50 @@ +import { CheckOutlined, CloseOutlined } from "@ant-design/icons"; +import { useMutation } from "@apollo/client"; +import { message, Switch } from "antd"; +import React from "react"; +import { connect } from "react-redux"; +import { createStructuredSelector } from "reselect"; +import { UPDATE_JOB } from "../../../graphql/jobs.queries"; +import { toggleGroupVerified } from "../../../redux/reporting/reporting.actions"; + +const mapStateToProps = createStructuredSelector({}); + +const mapDispatchToProps = (dispatch) => ({ + toggleGroupVerified: (jobId) => dispatch(toggleGroupVerified(jobId)), +}); + +export default connect(mapStateToProps, mapDispatchToProps)(GroupVerifySwitch); + +export function GroupVerifySwitch({ + job, + loading, + loadingCallback, + toggleGroupVerified, +}) { + const [updateJob] = useMutation(UPDATE_JOB); + + const handleVerifyGroup = async (val) => { + if (loadingCallback) loadingCallback(true); + const result = await updateJob({ + variables: { jobId: job.id, job: { group_verified: val } }, + }); + + if (!result.errors) { + message.success("Vehicle group updated."); + toggleGroupVerified(job.id); + } else { + message.error("Error updating job."); + } + if (loadingCallback) loadingCallback(false); + }; + + return ( + } + unCheckedChildren={} + disabled={loading} + checked={job.group_verified} + onChange={handleVerifyGroup} + /> + ); +} diff --git a/src/components/molecules/job-group/job-group.molecule.jsx b/src/components/molecules/job-group/job-group.molecule.jsx index 56313f0..f8a6862 100644 --- a/src/components/molecules/job-group/job-group.molecule.jsx +++ b/src/components/molecules/job-group/job-group.molecule.jsx @@ -1,18 +1,13 @@ -import { - AlertFilled, - DownOutlined, - LoadingOutlined, - CloseOutlined, - CheckOutlined, -} from "@ant-design/icons"; +import { AlertFilled, DownOutlined, LoadingOutlined } from "@ant-design/icons"; import { useMutation } from "@apollo/client"; -import { Dropdown, Menu, message, Space, Switch } from "antd"; +import { Dropdown, Menu, message, Space } from "antd"; import React, { useState } from "react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { UPDATE_JOB } from "../../../graphql/jobs.queries"; import ipcTypes from "../../../ipc.types"; import { selectBodyshop } from "../../../redux/user/user.selectors"; +import GroupVerifySwitch from "../group-verify-switch/group-verify-switch.component"; import JobsGroupModalMolecule from "../jobs-group-modal/jobs-group-modal.molecule"; const { ipcRenderer } = window; @@ -49,20 +44,6 @@ export function JobGroupMolecule({ bodyshop, jobId, group, job }) { setLoading(false); }; - const handleVerifyGroup = async (val) => { - setLoading(true); - const result = await updateJob({ - variables: { jobId: jobId, job: { group_verified: val } }, - }); - - if (!result.errors) { - message.success("Vehicle group updated."); - } else { - message.error("Error updating job."); - } - setLoading(false); - }; - const menu = ( {bodyshop.groups.map((g, idx) => ( @@ -87,12 +68,10 @@ export function JobGroupMolecule({ bodyshop, jobId, group, job }) { )} {group && (
- } - unCheckedChildren={} - disabled={loading} - defaultChecked={job.group_verified} - onChange={handleVerifyGroup} +
)} diff --git a/src/components/molecules/reporting-jobs-list/reporting-jobs-list.molecule.jsx b/src/components/molecules/reporting-jobs-list/reporting-jobs-list.molecule.jsx index 77c37d4..3ad3e41 100644 --- a/src/components/molecules/reporting-jobs-list/reporting-jobs-list.molecule.jsx +++ b/src/components/molecules/reporting-jobs-list/reporting-jobs-list.molecule.jsx @@ -13,6 +13,7 @@ import { } from "../../../redux/reporting/reporting.selectors"; import { alphaSort } from "../../../util/sorters"; import VehicleGroupAlertAtom from "../../atoms/vehicle-group-alert/vehicle-group-alert.atom"; +import GroupVerifySwitch from "../group-verify-switch/group-verify-switch.component"; const { ipcRenderer } = window; @@ -99,9 +100,7 @@ export function ReportingJobsListMolecule({ dataIndex: "group_verified", key: "group_verified", sorter: (a, b) => a.group_verified - b.group_verified, - render: (text, record) => ( - - ), + render: (text, record) => , }, { title: "$ (Act./Target)", diff --git a/src/components/pages/reporting/reporting.page.jsx b/src/components/pages/reporting/reporting.page.jsx index 807ec27..5c6aa85 100644 --- a/src/components/pages/reporting/reporting.page.jsx +++ b/src/components/pages/reporting/reporting.page.jsx @@ -20,7 +20,6 @@ const mapStateToProps = createStructuredSelector({ error: selectReportingError, }); const mapDispatchToProps = (dispatch) => ({ - //setUserLanguage: language => dispatch(setUserLanguage(language)) setSelectedJobId: (id) => dispatch(setSelectedJobId(id)), }); diff --git a/src/redux/reporting/reporting.actions.js b/src/redux/reporting/reporting.actions.js index a7aa440..e42ab79 100644 --- a/src/redux/reporting/reporting.actions.js +++ b/src/redux/reporting/reporting.actions.js @@ -22,3 +22,7 @@ export const setReportingError = (data) => ({ type: ReportingActionTypes.SET_REPORTING_ERROR, payload: data, }); +export const toggleGroupVerified = (jobId) => ({ + type: ReportingActionTypes.TOGGLE_GROUP_VERIFIED, + payload: jobId, +}); diff --git a/src/redux/reporting/reporting.reducer.js b/src/redux/reporting/reporting.reducer.js index 3d36428..d4d24da 100644 --- a/src/redux/reporting/reporting.reducer.js +++ b/src/redux/reporting/reporting.reducer.js @@ -28,6 +28,17 @@ const applicationReducer = (state = INITIAL_STATE, action) => { return { ...state, data: action.payload }; case ReportingActionTypes.SET_SCORE_CARD: return { ...state, loading: false, scoreCard: action.payload }; + case ReportingActionTypes.TOGGLE_GROUP_VERIFIED: + return { + ...state, + data: state.data.map((d) => { + if (d.id === action.payload) { + return { ...d, group_verified: !d.group_verified }; + } else { + return d; + } + }), + }; default: return state; } diff --git a/src/redux/reporting/reporting.types.js b/src/redux/reporting/reporting.types.js index 18c0755..f1fe598 100644 --- a/src/redux/reporting/reporting.types.js +++ b/src/redux/reporting/reporting.types.js @@ -4,5 +4,6 @@ const ReportingActionTypes = { SET_REPORTING_DATA: "SET_REPORTING_DATA", SET_SCORE_CARD: "SET_SCORE_CARD", SET_REPORTING_ERROR: "SET_REPORTING_ERROR", + TOGGLE_GROUP_VERIFIED: "TOGGLE_GROUP_VERIFIED", }; export default ReportingActionTypes;