DayJS and antd improvements.
This commit is contained in:
@@ -2,7 +2,7 @@ const { ipcMain } = require("electron");
|
||||
//const { app } = require("electron");
|
||||
const log = require("electron-log");
|
||||
//const Nucleus = require("nucleus-nodejs");
|
||||
const { default: ipcTypes } = require("../src/ipc.types");
|
||||
const { default: ipcTypes } = require("../src/ipc.types.commonjs");
|
||||
|
||||
// Nucleus.init("5f91b569b95bac34eefdb63a", {
|
||||
// disableInDev: true,
|
||||
|
||||
@@ -4,7 +4,7 @@ const _ = require("lodash");
|
||||
const log = require("electron-log");
|
||||
const { store } = require("../electron-store");
|
||||
const { BrowserWindow } = require("electron");
|
||||
const ipcTypes = require("../../src/ipc.types");
|
||||
const ipcTypes = require("../../src/ipc.types.commonjs");
|
||||
const {
|
||||
NewNotification,
|
||||
} = require("../notification-wrapper/notification-wrapper");
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
const { ipcMain } = require("electron");
|
||||
//const Nucleus = require("nucleus-nodejs");
|
||||
const ipcTypes = require("../../src/ipc.types");
|
||||
const ipcTypes = require("../../src/ipc.types.commonjs");
|
||||
const { ImportJob } = require("../decoder/decoder");
|
||||
const { GetListOfEstimates, DeleteAllEms } = require("./file-scan");
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
const { ipcMain, dialog } = require("electron");
|
||||
const { StartWatcher, StopWatcher } = require("./file-watcher");
|
||||
const ipcTypes = require("../../src/ipc.types");
|
||||
const ipcTypes = require("../../src/ipc.types.commonjs");
|
||||
const { mainWindow } = require("../main");
|
||||
const _ = require("lodash");
|
||||
const { store } = require("../electron-store");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const chokidar = require("chokidar");
|
||||
const ipcTypes = require("../../src/ipc.types");
|
||||
const ipcTypes = require("../../src/ipc.types.commonjs");
|
||||
const path = require("path");
|
||||
const { ImportJob } = require("../decoder/decoder");
|
||||
const { BrowserWindow } = require("electron");
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
const { ipcMain, app: electronApp, app } = require("electron");
|
||||
|
||||
const { default: ipcTypes } = require("../src/ipc.types");
|
||||
const { default: ipcTypes } = require("../src/ipc.types.commonjs");
|
||||
const { store } = require("./electron-store");
|
||||
const log = require("electron-log");
|
||||
const { ImportJobWithCloseDate } = require("./decoder/decoder");
|
||||
|
||||
@@ -10,7 +10,7 @@ const {
|
||||
globalShortcut,
|
||||
} = require("electron");
|
||||
const isDev = require("electron-is-dev");
|
||||
const { default: ipcTypes } = require("../src/ipc.types");
|
||||
const { default: ipcTypes } = require("../src/ipc.types.commonjs");
|
||||
const { store } = require("./electron-store");
|
||||
const { autoUpdater } = require("electron-updater");
|
||||
const log = require("electron-log");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { WarningOutlined, CloudUploadOutlined } from "@ant-design/icons";
|
||||
import { List } from "antd";
|
||||
import { Card, List } from "antd";
|
||||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { createStructuredSelector } from "reselect";
|
||||
@@ -9,18 +9,13 @@ import TimeAgoFormatter from "../../atoms/time-ago-formatter/time-ago-formatter.
|
||||
import "./jobs-list-item.styles.scss";
|
||||
|
||||
const mapStateToProps = createStructuredSelector({
|
||||
selectedJobId: selectSelectedJobId,
|
||||
selectedJobId: selectSelectedJobId
|
||||
});
|
||||
const mapDispatchToProps = (dispatch) => ({
|
||||
setSelectedJobId: (jobId) => dispatch(setSelectedJobId(jobId)),
|
||||
setSelectedJobId: (jobId) => dispatch(setSelectedJobId(jobId))
|
||||
});
|
||||
|
||||
export function JobsListItemMolecule({
|
||||
selectedJobId,
|
||||
setSelectedJobId,
|
||||
item,
|
||||
refetch,
|
||||
}) {
|
||||
export function JobsListItemMolecule({ selectedJobId, setSelectedJobId, item, refetch }) {
|
||||
const handleSelect = (jobId) => {
|
||||
setSelectedJobId(jobId);
|
||||
};
|
||||
@@ -38,21 +33,13 @@ export function JobsListItemMolecule({
|
||||
</List.Item>
|
||||
);
|
||||
return (
|
||||
<List.Item
|
||||
className="jobs-list-item"
|
||||
key={item.id}
|
||||
onClick={() => handleSelect(item.id)}
|
||||
>
|
||||
<div
|
||||
className={`jobs-list-item-content ${
|
||||
item.id === selectedJobId ? "jobs-list-item-content-selected" : ""
|
||||
}`}
|
||||
>
|
||||
<List.Item className="jobs-list-item" key={item.id} onClick={() => handleSelect(item.id)}>
|
||||
<Card className={`jobs-list-item-content ${item.id === selectedJobId ? "jobs-list-item-content-selected" : ""}`}>
|
||||
<div
|
||||
style={{
|
||||
display: "flex",
|
||||
|
||||
justifyContent: "space-between",
|
||||
justifyContent: "space-between"
|
||||
}}
|
||||
>
|
||||
<strong>
|
||||
@@ -77,14 +64,9 @@ export function JobsListItemMolecule({
|
||||
|
||||
<div>{item.ins_co_nm || "No Insurance Co."}</div>
|
||||
<div>{`${item.ownr_fn} ${item.ownr_ln}`}</div>
|
||||
<div>
|
||||
{`${item.v_model_yr} ${item.v_makedesc} ${item.v_model} ${item.v_vin}`}
|
||||
</div>
|
||||
</div>
|
||||
<div>{`${item.v_model_yr} ${item.v_makedesc} ${item.v_model} ${item.v_vin}`}</div>
|
||||
</Card>
|
||||
</List.Item>
|
||||
);
|
||||
}
|
||||
export default connect(
|
||||
mapStateToProps,
|
||||
mapDispatchToProps
|
||||
)(JobsListItemMolecule);
|
||||
export default connect(mapStateToProps, mapDispatchToProps)(JobsListItemMolecule);
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
.jobs-list-item {
|
||||
padding: 0.1rem !important;
|
||||
padding: 0rem !important;
|
||||
margin: 0;
|
||||
border-bottom: 0.8rem solid #f0f0f0 !important;
|
||||
|
||||
border: 0.4rem solid #f0f0f0 !important;
|
||||
.jobs-list-item-content {
|
||||
&-selected {
|
||||
border-left: 3px solid #1890ff;
|
||||
}
|
||||
|
||||
border-radius: 8px;
|
||||
display: inline;
|
||||
margin: 0.5rem;
|
||||
padding: 0.5rem;
|
||||
//margin: 0.5rem;
|
||||
//padding: 0.5rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
background-color: #f0f0f0;
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
background-color: #e6f7ff;
|
||||
}
|
||||
// &:hover {
|
||||
// background-color: #e6f7ff;
|
||||
// }
|
||||
}
|
||||
.jobs-list-item-refresh {
|
||||
padding: 0.1rem !important;
|
||||
|
||||
@@ -1,19 +1,16 @@
|
||||
import { Button, DatePicker, Form } from "antd";
|
||||
import { Button, DatePicker, Form, Space } from "antd";
|
||||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { createStructuredSelector } from "reselect";
|
||||
import { queryReportingData } from "../../../redux/reporting/reporting.actions";
|
||||
import dayjs from '../../../util/day.js';
|
||||
import dayjs from "../../../util/day.js";
|
||||
const mapStateToProps = createStructuredSelector({
|
||||
//currentUser: selectCurrentUser
|
||||
});
|
||||
const mapDispatchToProps = (dispatch) => ({
|
||||
queryReportingData: (dates) => dispatch(queryReportingData(dates)),
|
||||
queryReportingData: (dates) => dispatch(queryReportingData(dates))
|
||||
});
|
||||
export default connect(
|
||||
mapStateToProps,
|
||||
mapDispatchToProps
|
||||
)(ReportingDatesMolecule);
|
||||
export default connect(mapStateToProps, mapDispatchToProps)(ReportingDatesMolecule);
|
||||
|
||||
export function ReportingDatesMolecule({ queryReportingData }) {
|
||||
const [form] = Form.useForm();
|
||||
@@ -21,13 +18,13 @@ export function ReportingDatesMolecule({ queryReportingData }) {
|
||||
const handleFinish = (values) => {
|
||||
queryReportingData({
|
||||
startDate: values.dateRange[0],
|
||||
endDate: values.dateRange[1],
|
||||
endDate: values.dateRange[1]
|
||||
});
|
||||
};
|
||||
|
||||
return (
|
||||
<Form form={form} onFinish={handleFinish}>
|
||||
<div style={{ display: "flex" }}>
|
||||
<Space wrap align="middle">
|
||||
<Form.Item
|
||||
label="Ready for Payment Date Between"
|
||||
name="dateRange"
|
||||
@@ -39,17 +36,13 @@ export function ReportingDatesMolecule({ queryReportingData }) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
if (
|
||||
dayjs(value[1]).diff(dayjs(value[0]), "years", true) > 1
|
||||
) {
|
||||
return Promise.reject(
|
||||
"Time period exceeds 1 year. Please select a shorter date range."
|
||||
);
|
||||
if (dayjs(value[1]).diff(dayjs(value[0]), "years", true) > 1) {
|
||||
return Promise.reject("Time period exceeds 1 year. Please select a shorter date range.");
|
||||
} else {
|
||||
return Promise.resolve();
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
]}
|
||||
>
|
||||
<DatePicker.RangePicker
|
||||
@@ -62,39 +55,33 @@ export function ReportingDatesMolecule({ queryReportingData }) {
|
||||
"Next 14 days": [dayjs(), dayjs().add(14, "day")],
|
||||
"Last Month": [
|
||||
dayjs().startOf("month").subtract(1, "month"),
|
||||
dayjs().startOf("month").subtract(1, "month").endOf("month"),
|
||||
dayjs().startOf("month").subtract(1, "month").endOf("month")
|
||||
],
|
||||
|
||||
"This Month": [
|
||||
dayjs().startOf("month"),
|
||||
dayjs().endOf("month"),
|
||||
],
|
||||
"This Month": [dayjs().startOf("month"), dayjs().endOf("month")],
|
||||
"Next Month": [
|
||||
dayjs().startOf("month").add(1, "month"),
|
||||
dayjs().startOf("month").add(1, "month").endOf("month"),
|
||||
dayjs().startOf("month").add(1, "month").endOf("month")
|
||||
],
|
||||
"Last Quarter": [
|
||||
dayjs().startOf("quarter").subtract(1, "quarter"),
|
||||
dayjs().startOf("quarter").subtract(1, "day"),
|
||||
dayjs().startOf("quarter").subtract(1, "day")
|
||||
],
|
||||
"This Quarter": [
|
||||
dayjs().startOf("quarter"),
|
||||
dayjs()
|
||||
.startOf("quarter")
|
||||
.add(1, "quarter")
|
||||
.subtract(1, "day"),
|
||||
dayjs().startOf("quarter").add(1, "quarter").subtract(1, "day")
|
||||
],
|
||||
"Last 3 Months": [
|
||||
dayjs().startOf("month").subtract(3, "month"),
|
||||
dayjs().startOf("month").subtract(1, "month").endOf("month"),
|
||||
],
|
||||
dayjs().startOf("month").subtract(1, "month").endOf("month")
|
||||
]
|
||||
}}
|
||||
/>
|
||||
</Form.Item>
|
||||
<Button type="primary" htmlType="submit">
|
||||
Run Search
|
||||
</Button>
|
||||
</div>
|
||||
</Space>
|
||||
</Form>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ export function ReportingJobsListMolecule({
|
||||
title: "R4P",
|
||||
dataIndex: "close_date",
|
||||
key: "close_date",
|
||||
render: (text, record) => dayjs(record.close_date).format("MM/DD/yyyy"),
|
||||
render: (text, record) => dayjs(record.close_date).format("MM/DD/YYYY"),
|
||||
defaultSortOrder: "ascend",
|
||||
sorter: (a, b) =>
|
||||
dayjs(a.close_date).unix() - dayjs(b.close_date).unix(),
|
||||
|
||||
1
src/ipc.types.commonjs.js
Normal file
1
src/ipc.types.commonjs.js
Normal file
@@ -0,0 +1 @@
|
||||
exports.default = require("./ipc.types.json");
|
||||
@@ -1,76 +1,2 @@
|
||||
exports.default = {
|
||||
webcontent: "webcontent-send",
|
||||
quit: "quit-app",
|
||||
test: {
|
||||
start: "test-start"
|
||||
},
|
||||
app: {
|
||||
toMain: {
|
||||
setAcceptableInsCoNm: "setAcceptableInsCoNm",
|
||||
setUserName: "setUserName",
|
||||
track: "analytics_track",
|
||||
checkForUpdates: "app_checkForUpdates",
|
||||
downloadUpdates: "app_downloadUpdates",
|
||||
installUpdates: "app_installupdates",
|
||||
getReleaseNotes: "app_getReleaseNotes",
|
||||
getAppVersion: "app_getApVersion",
|
||||
importJob: "app_importJob",
|
||||
log: {
|
||||
info: "app_logInfo",
|
||||
debug: "app_logDebug",
|
||||
warn: "app_logWarn",
|
||||
error: "app_logError",
|
||||
silly: "app_logSilly"
|
||||
}
|
||||
},
|
||||
toRenderer: {
|
||||
updateAvailable: "app_updateAvailable",
|
||||
downloadProgress: "app_downloadProgress",
|
||||
signOut: "app_signOut",
|
||||
setReleaseNotes: "app_setReleaseNotes",
|
||||
appVersion: "app_appVersion"
|
||||
}
|
||||
},
|
||||
store: {
|
||||
get: "store__get",
|
||||
getAll: "store_getAll",
|
||||
set: "store_set",
|
||||
response: "store_response"
|
||||
},
|
||||
fileScan: {
|
||||
toMain: {
|
||||
scanFilePaths: "fileScan__scanFilePaths",
|
||||
importJob: "fileScan__importJob",
|
||||
deleteAllEms: "filescan_deleteAllEms"
|
||||
},
|
||||
toRenderer: {
|
||||
scanFilePathsResponse: "fileScan__scanFilePathsResponse"
|
||||
}
|
||||
},
|
||||
fileWatcher: {
|
||||
toMain: {
|
||||
filepathsGet: "filewatcher__filepathsget",
|
||||
start: "filewatcher__start",
|
||||
stop: "filewatcher__stop",
|
||||
addPath: "filewatcher__addPath",
|
||||
removePath: "filewatcher__removePath",
|
||||
setPolling: "filewatcher__setPolling"
|
||||
},
|
||||
toRenderer: {
|
||||
filepathsList: "filewatcher__filepathslist",
|
||||
startSuccess: "filewatcher__start-success",
|
||||
startFailure: "filewatcher__start-failure",
|
||||
stopSuccess: "filewatcher__stop-success",
|
||||
error: "filewatcher__error",
|
||||
getPolling: "filewatcher__getPolling"
|
||||
}
|
||||
},
|
||||
estimate: {
|
||||
toRenderer: {
|
||||
estimateDecodeStart: "estimatedecode__start",
|
||||
estimateDecodeSuccess: "estimatedecode__success",
|
||||
estimateDecodeFailure: "estimatedecode__failure",
|
||||
getCloseDate: "getclosedate"
|
||||
}
|
||||
}
|
||||
};
|
||||
import ipcTypes from "./ipc.types.json";
|
||||
export default ipcTypes;
|
||||
|
||||
76
src/ipc.types.json
Normal file
76
src/ipc.types.json
Normal file
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"webcontent": "webcontent-send",
|
||||
"quit": "quit-app",
|
||||
"test": {
|
||||
"start": "test-start"
|
||||
},
|
||||
"app": {
|
||||
"toMain": {
|
||||
"setAcceptableInsCoNm": "setAcceptableInsCoNm",
|
||||
"setUserName": "setUserName",
|
||||
"track": "analytics_track",
|
||||
"checkForUpdates": "app_checkForUpdates",
|
||||
"downloadUpdates": "app_downloadUpdates",
|
||||
"installUpdates": "app_installupdates",
|
||||
"getReleaseNotes": "app_getReleaseNotes",
|
||||
"getAppVersion": "app_getApVersion",
|
||||
"importJob": "app_importJob",
|
||||
"log": {
|
||||
"info": "app_logInfo",
|
||||
"debug": "app_logDebug",
|
||||
"warn": "app_logWarn",
|
||||
"error": "app_logError",
|
||||
"silly": "app_logSilly"
|
||||
}
|
||||
},
|
||||
"toRenderer": {
|
||||
"updateAvailable": "app_updateAvailable",
|
||||
"downloadProgress": "app_downloadProgress",
|
||||
"signOut": "app_signOut",
|
||||
"setReleaseNotes": "app_setReleaseNotes",
|
||||
"appVersion": "app_appVersion"
|
||||
}
|
||||
},
|
||||
"store": {
|
||||
"get": "store__get",
|
||||
"getAll": "store_getAll",
|
||||
"set": "store_set",
|
||||
"response": "store_response"
|
||||
},
|
||||
"fileScan": {
|
||||
"toMain": {
|
||||
"scanFilePaths": "fileScan__scanFilePaths",
|
||||
"importJob": "fileScan__importJob",
|
||||
"deleteAllEms": "filescan_deleteAllEms"
|
||||
},
|
||||
"toRenderer": {
|
||||
"scanFilePathsResponse": "fileScan__scanFilePathsResponse"
|
||||
}
|
||||
},
|
||||
"fileWatcher": {
|
||||
"toMain": {
|
||||
"filepathsGet": "filewatcher__filepathsget",
|
||||
"start": "filewatcher__start",
|
||||
"stop": "filewatcher__stop",
|
||||
"addPath": "filewatcher__addPath",
|
||||
"removePath": "filewatcher__removePath",
|
||||
"setPolling": "filewatcher__setPolling"
|
||||
},
|
||||
"toRenderer": {
|
||||
"filepathsList": "filewatcher__filepathslist",
|
||||
"startSuccess": "filewatcher__start-success",
|
||||
"startFailure": "filewatcher__start-failure",
|
||||
"stopSuccess": "filewatcher__stop-success",
|
||||
"error": "filewatcher__error",
|
||||
"getPolling": "filewatcher__getPolling"
|
||||
}
|
||||
},
|
||||
"estimate": {
|
||||
"toRenderer": {
|
||||
"estimateDecodeStart": "estimatedecode__start",
|
||||
"estimateDecodeSuccess": "estimatedecode__success",
|
||||
"estimateDecodeFailure": "estimatedecode__failure",
|
||||
"getCloseDate": "getclosedate"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,7 @@ import CargoVanList from "./cargovans.json";
|
||||
import PassengerVanList from "./passengervans.json";
|
||||
import SuvList from "./suvs.json";
|
||||
import ipcTypes from "../ipc.types";
|
||||
import dayjs from '../util/day.js';
|
||||
const { logger } = window;
|
||||
const { ipcRenderer } = window;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import dayjs from './day.js'
|
||||
|
||||
export const DateFormat = "MM/DD/yyyy";
|
||||
export const DateFormat = "MM/DD/YYYY";
|
||||
const RuleSets = [
|
||||
{
|
||||
title: "V1",
|
||||
|
||||
Reference in New Issue
Block a user