From d4bd9653655d66bff77adb621871f59e2d68e88f Mon Sep 17 00:00:00 2001 From: Senad Uka Date: Fri, 1 Jun 2018 10:26:45 +0200 Subject: [PATCH] Upstream sync --- .../visit/components/VerticalNonLinear.js | 49 +- .../routes/rides/components/Datatable.js | 980 +++++++++--------- .../routes/visits/components/Datatable.js | 3 +- 3 files changed, 514 insertions(+), 518 deletions(-) diff --git a/src/routes/app/routes/forms/routes/visit/components/VerticalNonLinear.js b/src/routes/app/routes/forms/routes/visit/components/VerticalNonLinear.js index 963969d..4cb2920 100644 --- a/src/routes/app/routes/forms/routes/visit/components/VerticalNonLinear.js +++ b/src/routes/app/routes/forms/routes/visit/components/VerticalNonLinear.js @@ -664,22 +664,7 @@ class VerticalNonLinear extends React.Component { })); const eligibility = { - "provider": { - "provider_npi": self.state.destination.raw.fivePartKeyGroups[0].providerNum, - "provider_name": self.state.destination.raw.providerName - }, - "subscriber": { - "patient_type": self.state.user.type, - "subscriber_id": self.state.user.member, - "name": { - "first": self.state.user.first, - "last": self.state.user.last - }, - "demographic_info": { - "date_of_birth": self.state.user.birthdate, - "gender": self.state.user.gender - } - }, + "raw_provider": self.state.destination.raw, "user": { "name": `${self.state.user.first} ${self.state.user.last}`, "first": self.state.user.first, @@ -694,13 +679,12 @@ class VerticalNonLinear extends React.Component { }, }; - if(self.state.user.phonenumber && self.state.user.phonenumber.length > 0) { - eligibility.user.phonenumber = eligibility.user.phonenumber.replace('(','').replace(')','').replace('-','').replace(' ','').trim() + if (self.state.user.phonenumber && self.state.user.phonenumber.length > 0) { + eligibility.user.phonenumber = eligibility.user.phonenumber.replace('(', '').replace(')', '').replace('-', '').replace(' ', '').trim() } Instance.getRawConn().post('/v1/nemt/eligibility', eligibility).then(function (res) { - res.data.agreedTerms = true; - self.setState(Object.assign(self.state, { stepIndex: stepIndex + 1, user: res.data, message: '', open: false })); + self.setState(Object.assign(self.state, { stepIndex: stepIndex + 1, message: '', open: false })); }).catch(error => { self.setState(Object.assign(self.state, { @@ -727,6 +711,12 @@ class VerticalNonLinear extends React.Component { break; case 2: self.handleTouchTap(); + + self.setState(Object.assign(self.state, { + message: 'Adding Visit', + open: true, + })); + const visit = { "user": { "name": `${self.state.user.first} ${self.state.user.last}`, @@ -746,29 +736,34 @@ class VerticalNonLinear extends React.Component { "raw_provider": self.state.destination.raw }; - if(self.state.user.phonenumber && self.state.user.phonenumber.length > 0) { - visit.user.phonenumber = visit.user.phonenumber.replace('(','').replace(')','').replace('-','').replace(' ','').trim() + if (self.state.user.phonenumber && self.state.user.phonenumber.length > 0) { + visit.user.phonenumber = visit.user.phonenumber.replace('(', '').replace(')', '').replace('-', '').replace(' ', '').trim() } Instance.getRawConn().post('/v1/nemt/visits/', visit).then(function (res) { + self.setState(Object.assign(self.state, { + message: '', + open: false, + })); + const returnMessage = [ { - message: `Member: ${res.data.user.name} (${res.data.user.member})` + message: `Member: ${visit.user.name} (${visit.user.member})` }, { - message: `Gender: ${res.data.user.gender}` + message: `Gender: ${visit.user.gender}` }, { message: `Birth date: ${visit.user.type}` }, { - message: `Member Type: ${res.data.user.birthdate}` + message: `Member Type: ${visit.user.birthdate}` }, { - message: `Provider: ${res.data.provider.name}` + message: `Provider: ${visit.raw_provider.providerName}` }, { - message: `Date: ${res.data.visit_datetime}` + message: `Date: ${visit.visit_datetime}` }] self.setState(Object.assign(self.state, { diff --git a/src/routes/app/routes/tables/routes/rides/components/Datatable.js b/src/routes/app/routes/tables/routes/rides/components/Datatable.js index 706af00..c0b9e02 100644 --- a/src/routes/app/routes/tables/routes/rides/components/Datatable.js +++ b/src/routes/app/routes/tables/routes/rides/components/Datatable.js @@ -8,15 +8,15 @@ import ToolbarSection from '../../../../ui/routes/components/components/Toolbar3 import IconButton from 'material-ui/IconButton'; import FlatButton from 'material-ui/FlatButton'; import { -Row, -Col, -Grid, -Panel, -Table, -PanelBody, -PanelHeader, -FormControl, -PanelContainer, + Row, + Col, + Grid, + Panel, + Table, + PanelBody, + PanelHeader, + FormControl, + PanelContainer, } from '@sketchpixy/rubix'; import moment from 'moment'; import { NEMTLocation } from '../../../../../components/NEMTLocation'; @@ -44,584 +44,584 @@ $.dataTable = dt; const locationModal = () => ( -// - + // + ); const formatTime = function (sec_num) { -var hours = Math.floor(sec_num / 3600); -var minutes = Math.floor((sec_num - (hours * 3600)) / 60); -var seconds = sec_num - (hours * 3600) - (minutes * 60); + var hours = Math.floor(sec_num / 3600); + var minutes = Math.floor((sec_num - (hours * 3600)) / 60); + var seconds = sec_num - (hours * 3600) - (minutes * 60); -if (hours < 10) { hours = "0" + hours; } -if (minutes < 10) { minutes = "0" + minutes; } -if (seconds < 10) { seconds = "0" + seconds; } -return hours + ':' + minutes + ':' + seconds; + if (hours < 10) { hours = "0" + hours; } + if (minutes < 10) { minutes = "0" + minutes; } + if (seconds < 10) { seconds = "0" + seconds; } + return hours + ':' + minutes + ':' + seconds; } const handleProviderChanged = function (destination) { -console.log(destination); + console.log(destination); } const getDTList = function (rides) { -let list = []; -rides.forEach((r, i) => { + let list = []; + rides.forEach((r, i) => { -var driverVehicle; -if (r.plate == null) { } else { driverVehicle = r.vehicle + ' | ' + r.plate }; + var driverVehicle; + if (r.plate == null) { } else { driverVehicle = r.vehicle + ' | ' + r.plate }; -var driverSummary; -if (r.driver_name == null) { driverSummary = "" } else { driverSummary = r.driver_name + ' | ' + r.driver_rating }; + var driverSummary; + if (r.driver_name == null) { driverSummary = "" } else { driverSummary = r.driver_name + ' | ' + r.driver_rating }; -const iconButtonElement = ( - - - -); + const iconButtonElement = ( + + + + ); -const flatButtonElement = ( - - - -); + const flatButtonElement = ( + + + + ); - + -let actionsMenu = []; + let actionsMenu = []; -actionsMenu.push( - -Ride - -); + actionsMenu.push( + + Ride + + ); -actionsMenu.push( - - Ride Details - -); + actionsMenu.push( + + Ride Details + + ); -actionsMenu.push( - -Visit - -); + actionsMenu.push( + + Visit + + ); -actionsMenu.push( - { -e.preventDefault(); -this.handleShare(e); -return false; -}}> - Share Ride -); + actionsMenu.push( + { + e.preventDefault(); + this.handleShare(e); + return false; + }}> + Share Ride + ); -if (r.status.key !== 'canceled') { -actionsMenu.push( - - Cancel -); -}; + if (r.status.key !== 'canceled') { + actionsMenu.push( + + Cancel + ); + }; -if (r.status.key === 'willCall') { -actionsMenu.push( - { -e.preventDefault(); -this.handleReady(e); -return false; -}}> - Ready Now -); -} + if (r.status.key === 'willCall') { + actionsMenu.push( + { + e.preventDefault(); + this.handleReady(e); + return false; + }}> + Ready Now + ); + } - actionsMenu.push( - { -e.preventDefault(); -this.handleArchive(e); - return false; - }}> - Archive -); + actionsMenu.push( + { + e.preventDefault(); + this.handleArchive(e); + return false; + }}> + Archive + ); -list.push( - -{r.time} -{r.status} - -{/* Ride | + list.push( + + {r.time} + {r.status} + + {/* Ride | Details | Visit | */} - + - -{actionsMenu} - - - - -{r.memberName} -{r.trip_type} -{driverSummary} -{r.eta} -{r.duration} -{r.mileage} -{driverVehicle} -{r.member} - {r.scheduler} -{r.visitExternalID} -{moment(r.created).format('MM/DD/YY, h:mm a')} -{moment(r.updated).format('MM/DD/YY, h:mm a')} -{/* {r.created_user.name} */} - -); -}, this); -return list; + + {actionsMenu} + + + + + {r.memberName} + {r.trip_type} + {driverSummary} + {r.eta} + {r.duration} + {r.mileage} + {driverVehicle} + {r.member} + {r.scheduler} + {r.visitExternalID} + {moment(r.created).format('MM/DD/YY, h:mm a')} + {moment(r.updated).format('MM/DD/YY, h:mm a')} + {/* {r.created_user.name} */} + + ); + }, this); + return list; } class DatatableComponent extends React.Component { -state = { -items: [], -data: [], -list: [], -open: false, -archive:false, -confirmCancel: false, -message: "Are you sure you want to cancel this ride?" -} + state = { + items: [], + data: [], + list: [], + open: false, + archive: false, + confirmCancel: false, + message: "Are you sure you want to cancel this ride?" + } -componentDidMount() { -const state = this; -Instance.getRawConn().get('/v1/nemt/rides').then((res) => { -let riders = res.data.map(v => { -var data = { -open: 'false', -message: "Are you sure you want to Cancel this ride?", -id: v.ride_uuid, -user_id: v.user.useruuid, -memberName: v.user.last + ", " + v.user.first, -member: v.user.member, -time: '', -pickup: '', -destination: '', -status: v.status.value, -eta: '', -duration: 0, -mileage: '0 miles', -vehicle: v.vehicle.color + ' ' + v.vehicle.make + ' ' + v.vehicle.model, -plate: v.vehicle.license_plate, -mobile: v.user.phonenumber, -email: v.user.email, -scheduler_email: v.created_user.email, -scheduler_phone: v.created_user.phonenumber, -driver_name: v.driver.first_name, -driver_rating: v.driver.rating, -driver_phone: v.driver.phone_number, -lyftID: v.internal_id, -rideID: v.ride_uuid, -visitID: v.visit.visit_uuid, -visitExternalID: v.visit.visit_external_id, -action: '', -scheduler: v.created_user.last + ", " + v.created_user.first, -created: v.create_at, -updated: v.update_at, -confirmCancel: false, -trip_type: v.trip_type.value.replace(' / Will Call', ''), -}; + componentDidMount() { + const state = this; + Instance.getRawConn().get('/v1/nemt/rides').then((res) => { + let riders = res.data.map(v => { + var data = { + open: 'false', + message: "Are you sure you want to Cancel this ride?", + id: v.ride_uuid, + user_id: v.user.useruuid, + memberName: v.user.last + ", " + v.user.first, + member: v.user.member, + time: '', + pickup: '', + destination: '', + status: v.status.value, + eta: '', + duration: 0, + mileage: '0 miles', + vehicle: v.vehicle.color + ' ' + v.vehicle.make + ' ' + v.vehicle.model, + plate: v.vehicle.license_plate, + mobile: v.user.phonenumber, + email: v.user.email, + scheduler_email: v.created_user.email, + scheduler_phone: v.created_user.phonenumber, + driver_name: v.driver.first_name, + driver_rating: v.driver.rating, + driver_phone: v.driver.phone_number, + lyftID: v.internal_id, + rideID: v.ride_uuid, + visitID: v.visit.visit_uuid, + visitExternalID: v.visit.visit_external_id, + action: '', + scheduler: v.created_user.last + ", " + v.created_user.first, + created: v.create_at, + updated: v.update_at, + confirmCancel: false, + trip_type: v.trip_type.value.replace(' / Will Call', ''), + }; -if (v.pickup_time) data.time = new Date(v.pickup_time); -if (v.route.origin.name && v.route.origin.name !== '') data.pickup = v.route.origin.name; -else data.pickup = v.route.origin.address; + if (v.pickup_time) data.time = new Date(v.pickup_time); + if (v.route.origin.name && v.route.origin.name !== '') data.pickup = v.route.origin.name; + else data.pickup = v.route.origin.address; -if (v.route.destination.name && v.route.destination.name !== '') data.destination = v.route.destination.name; -else data.destination = v.route.destination.address; + if (v.route.destination.name && v.route.destination.name !== '') data.destination = v.route.destination.name; + else data.destination = v.route.destination.address; -if (v.route.distance) data.mileage = v.route.distance + ' miles'; -if (v.route.duration) data.duration = formatTime(v.route.duration); -if (v.route.eta) data.eta = formatTime(v.route.eta); + if (v.route.distance) data.mileage = v.route.distance + ' miles'; + if (v.route.duration) data.duration = formatTime(v.route.duration); + if (v.route.eta) data.eta = formatTime(v.route.eta); -if (v.status.key === 'willCall') { -data.time = '' -} else { -data.time = moment(data.time).format('MM/DD/YY, h:mm a') -} -return data; -}); + if (v.status.key === 'willCall') { + data.time = '' + } else { + data.time = moment(data.time).format('MM/DD/YY, h:mm a') + } + return data; + }); -let list = getDTList(riders); + let list = getDTList(riders); -$.fn.dataTable.moment = function (format, locale) { -var types = $.fn.dataTable.ext.type; + $.fn.dataTable.moment = function (format, locale) { + var types = $.fn.dataTable.ext.type; -// Add type detection -types.detect.unshift(function (d) { -return moment(d, format, locale, true).isValid() ? -'moment-' + format : -null; -}); + // Add type detection + types.detect.unshift(function (d) { + return moment(d, format, locale, true).isValid() ? + 'moment-' + format : + null; + }); -// Add sorting method - use an integer for the sorting -types.order['moment-' + format + '-pre'] = function (d) { -return moment(d, format, locale, true).unix(); -}; -}; + // Add sorting method - use an integer for the sorting + types.order['moment-' + format + '-pre'] = function (d) { + return moment(d, format, locale, true).unix(); + }; + }; -$.fn.dataTable.moment('MM/DD/YYYY h:mm a'); + $.fn.dataTable.moment('MM/DD/YYYY h:mm a'); -state.setState(Object.assign(state.state, { list: list })); + state.setState(Object.assign(state.state, { list: list })); -// Delete a record + // Delete a record -$(ReactDOM.findDOMNode(state.example)).on('click', 'menuitem.a.cancel_ride', function (e) { -e.preventDefault(); + $(ReactDOM.findDOMNode(state.example)).on('click', 'menuitem.a.cancel_ride', function (e) { + e.preventDefault(); -const table = $(ReactDOM.findDOMNode(state.example)).DataTable(); -const obj = table.row($(this).closest('tr')).data(); -state.setState(Object.assign(state.state, { open: true })); -// console.log(obj) -if (state.state.confirmCancel) -// if (true ) -{ -let rideID = obj.lyftID; -let url = '/v1/nemt/rides/' + rideID + '/cancel' -Instance.getRawConn().post(url).then(function (res) { -state.setState(Object.assign(state.state, { message: 'NEMT ride #' + rideID + ' has been cancelled' })); + const table = $(ReactDOM.findDOMNode(state.example)).DataTable(); + const obj = table.row($(this).closest('tr')).data(); + state.setState(Object.assign(state.state, { open: true })); + // console.log(obj) + if (state.state.confirmCancel) + // if (true ) + { + let rideID = obj.lyftID; + let url = '/v1/nemt/rides/' + rideID + '/cancel' + Instance.getRawConn().post(url).then(function (res) { + state.setState(Object.assign(state.state, { message: 'NEMT ride #' + rideID + ' has been cancelled' })); -console.log(res.data); -}).catch(function (err) { -state.setState(Object.assign(state.state, { message: 'Error: ' + JSON.stringify(res) })); + console.log(res.data); + }).catch(function (err) { + state.setState(Object.assign(state.state, { message: 'Error: ' + JSON.stringify(res) })); -// alert('Error: ' + JSON.stringify(res)); -console.error(err); -}); -} -}); + // alert('Error: ' + JSON.stringify(res)); + console.error(err); + }); + } + }); -const dt = $(ReactDOM.findDOMNode(state.example)) -.addClass('nowrap') -.dataTable({ -responsive: true, -dom: 'Bfrtip', -buttons: [ -'copy', 'pdf' -], -// columns: TABLE_COLUMNS_SORT_STYLE, -responsive: true, -"bStateSave": true, -details: { -type: 'inline' -}, -columnDefs: [ -{ targets: [-1, -3], orderable: true, className: 'dt-body-right mdl-data-table__cell--non-numeric' } -], -order: [[0, 'desc']] -}); + const dt = $(ReactDOM.findDOMNode(state.example)) + .addClass('nowrap') + .dataTable({ + responsive: true, + dom: 'Bfrtip', + buttons: [ + 'copy', 'pdf' + ], + // columns: TABLE_COLUMNS_SORT_STYLE, + responsive: true, + "bStateSave": true, + details: { + type: 'inline' + }, + columnDefs: [ + { targets: [-1, -3], orderable: true, className: 'dt-body-right mdl-data-table__cell--non-numeric' } + ], + order: [[0, 'desc']] + }); -dt.on('column-visibility.dt', function (e, settings, column, state) { -console.log( -'Column ' + column + ' has changed to ' + (state ? 'visible' : 'hidden') -); -}); + dt.on('column-visibility.dt', function (e, settings, column, state) { + console.log( + 'Column ' + column + ' has changed to ' + (state ? 'visible' : 'hidden') + ); + }); -dt.on('responsive-display', function (e, datatable, row, showHide, update) { -console.log('Details for row ' + row.index() + ' ' + (showHide ? 'shown' : 'hidden')); -}); + dt.on('responsive-display', function (e, datatable, row, showHide, update) { + console.log('Details for row ' + row.index() + ' ' + (showHide ? 'shown' : 'hidden')); + }); -this.decorateButtons(); -this.decorateSelect(); -this.decorateSearchBar(); -this.decorateColumns(); -}).catch((err) => { -console.error('Error returned by getRides(): ', err); -}); -} + this.decorateButtons(); + this.decorateSelect(); + this.decorateSearchBar(); + this.decorateColumns(); + }).catch((err) => { + console.error('Error returned by getRides(): ', err); + }); + } -decorateColumns() { -let cols = $('td'); -let colStyle = { -'font-family': 'Roboto, sans-serif', -'font-size': '13px', -'font-weight': '300', -'text-align': 'left', -}; -cols.css(colStyle); -cols.removeClass('sorting_1'); + decorateColumns() { + let cols = $('td'); + let colStyle = { + 'font-family': 'Roboto, sans-serif', + 'font-size': '13px', + 'font-weight': '300', + 'text-align': 'left', + }; + cols.css(colStyle); + cols.removeClass('sorting_1'); -let headers = $('th'); -let headerStyle = { -'color': 'rgb(158, 158, 158)', -'text-align': 'left', -'font-weight': '600', -'font-size': '12px' -}; -headers.css(headerStyle); + let headers = $('th'); + let headerStyle = { + 'color': 'rgb(158, 158, 158)', + 'text-align': 'left', + 'font-weight': '600', + 'font-size': '12px' + }; + headers.css(headerStyle); -let oddRows = $('.odd'); -let evenRows = $('.even'); + let oddRows = $('.odd'); + let evenRows = $('.even'); -let oddStyle = { -'background': 'rgba(127, 221, 233, 0.4)', -'text-shadow': 'none', -'border-bottom': '1px solid rgb(224, 224, 224)', -'color': 'rgba(0, 0, 0, 0.87)', -'height': '45px' -}; -oddRows.css(oddStyle); + let oddStyle = { + 'background': 'rgba(127, 221, 233, 0.4)', + 'text-shadow': 'none', + 'border-bottom': '1px solid rgb(224, 224, 224)', + 'color': 'rgba(0, 0, 0, 0.87)', + 'height': '45px' + }; + oddRows.css(oddStyle); -let evenStyle = oddStyle; -evenStyle['background'] = '#fff'; + let evenStyle = oddStyle; + evenStyle['background'] = '#fff'; -evenRows.css(evenStyle); -} + evenRows.css(evenStyle); + } -decorateSelect() { -let instance = this; -let selectElement = $('select[class]'); -selectElement.addClass('mdl'); + decorateSelect() { + let instance = this; + let selectElement = $('select[class]'); + selectElement.addClass('mdl'); -selectElement.click(function () { -instance.decorateButtons(); -}); + selectElement.click(function () { + instance.decorateButtons(); + }); -let selectLabel = $('#DataTables_Table_0_length > label'); -let style = { -'color': 'rgb(158, 158, 158)', -'text-align': 'left', -'font-weight': '500', -'font-size': '11px' -}; -selectLabel.css(style); -} + let selectLabel = $('#DataTables_Table_0_length > label'); + let style = { + 'color': 'rgb(158, 158, 158)', + 'text-align': 'left', + 'font-weight': '500', + 'font-size': '11px' + }; + selectLabel.css(style); + } -decorateSearchBar() { -let instance = this; + decorateSearchBar() { + let instance = this; -let searchbar = $('input[type="search"]'); -searchbar.bind('input', function () { -instance.decorateButtons(); -instance.decorateColumns(); -}); + let searchbar = $('input[type="search"]'); + searchbar.bind('input', function () { + instance.decorateButtons(); + instance.decorateColumns(); + }); -searchbar.addClass('mdl-textfield__input'); -searchbar.attr('placeholder', ''); + searchbar.addClass('mdl-textfield__input'); + searchbar.attr('placeholder', ''); -let searchLabel = $('#DataTables_Table_0_filter > label'); -searchLabel.css({ 'color': '#fff' }); -searchbar.css({ 'color': 'rgb(158, 158, 158)' }) + let searchLabel = $('#DataTables_Table_0_filter > label'); + searchLabel.css({ 'color': '#fff' }); + searchbar.css({ 'color': 'rgb(158, 158, 158)' }) -let searchFilter = $('#DataTables_Table_0_filter'); -searchFilter.append(''); -} + let searchFilter = $('#DataTables_Table_0_filter'); + searchFilter.append(''); + } -decorateButtons() { -let instance = this; -let paginateButtons = $('a.paginate_button'); -paginateButtons.addClass('mdl-button'); + decorateButtons() { + let instance = this; + let paginateButtons = $('a.paginate_button'); + paginateButtons.addClass('mdl-button'); -let selectedButton = $('a.paginate_button.current'); -selectedButton.addClass('mdl-button mdl-button--raised mdl-button--colored'); + let selectedButton = $('a.paginate_button.current'); + selectedButton.addClass('mdl-button mdl-button--raised mdl-button--colored'); -let style = { -'background': 'rgb(0, 188, 212)', -'font-weight': '400', -}; -selectedButton.css(style); + let style = { + 'background': 'rgb(0, 188, 212)', + 'font-weight': '400', + }; + selectedButton.css(style); -paginateButtons.click(function () { -instance.decorateButtons(); -instance.decorateColumns(); -}); + paginateButtons.click(function () { + instance.decorateButtons(); + instance.decorateColumns(); + }); -let sortingButtons = $('th.sorting, th.sorting_asc, th.sorting_desc'); -sortingButtons.click(function () { -instance.decorateButtons(); -instance.decorateColumns(); -}); + let sortingButtons = $('th.sorting, th.sorting_asc, th.sorting_desc'); + sortingButtons.click(function () { + instance.decorateButtons(); + instance.decorateColumns(); + }); -let entriesLabel = $('#DataTables_Table_0_info'); -entriesLabel.css({ -'color': 'rgb(158, 158, 158)', -'text-align': 'left', -'font-weight': '400', -'font-size': '12px' -}); -} + let entriesLabel = $('#DataTables_Table_0_info'); + entriesLabel.css({ + 'color': 'rgb(158, 158, 158)', + 'text-align': 'left', + 'font-weight': '400', + 'font-size': '12px' + }); + } -handleETA = (e) => { -e.preventDefault() -const state = this; -if (state.props.data !== undefined) { -state.setState(Object.assign(state.state, state.props.data)); -} + handleETA = (e) => { + e.preventDefault() + const state = this; + if (state.props.data !== undefined) { + state.setState(Object.assign(state.state, state.props.data)); + } -if (state.state.eta) { -let rideID = state.state.ride.ride_uuid; -let message = 'Estimated Distance : ' + state.state.eta.distance_miles + ' miles\nEstimated Time: ' + state.state.eta.formatted_time + if (state.state.eta) { + let rideID = state.state.ride.ride_uuid; + let message = 'Estimated Distance : ' + state.state.eta.distance_miles + ' miles\nEstimated Time: ' + state.state.eta.formatted_time -let url = '/v1/nemt/rides/' + rideID + '/message'; -url = encodeURI(url); -Instance.getRawConn().post(url, { message: message }).then(function (res) { -alert('ETA Sent'); -}).catch(function (err) { -console.error(err); -}); -} -} + let url = '/v1/nemt/rides/' + rideID + '/message'; + url = encodeURI(url); + Instance.getRawConn().post(url, { message: message }).then(function (res) { + alert('ETA Sent'); + }).catch(function (err) { + console.error(err); + }); + } + } -handleReady(e) { -let self = this; -Instance.getRawConn().post(`/v1/nemt/rides/${self.state.ride.ride_uuid}/ready`).then((res) => { -if (self.props.onRideChange) { -self.props.onRideChange(res.data); -} -self.setState(Object.assign(self.state, { dialogMessage: `You ride has been requested`, dialogTitleMessage: 'Return Ride', dialogOpen: true, dialogType: 'OK' })); -}).catch(console.error); -} + handleReady(e) { + let self = this; + Instance.getRawConn().post(`/v1/nemt/rides/${self.state.ride.ride_uuid}/ready`).then((res) => { + if (self.props.onRideChange) { + self.props.onRideChange(res.data); + } + self.setState(Object.assign(self.state, { dialogMessage: `You ride has been requested`, dialogTitleMessage: 'Return Ride', dialogOpen: true, dialogType: 'OK' })); + }).catch(console.error); + } -handleClose(e) { -let self = this; -self.setState(Object.assign(self.state, { dialogMessage: `Do you want to cancel the this ride?`, dialogTitleMessage: 'Cancel Ride', dialogOpen: false })); -} + handleClose(e) { + let self = this; + self.setState(Object.assign(self.state, { dialogMessage: `Do you want to cancel the this ride?`, dialogTitleMessage: 'Cancel Ride', dialogOpen: false })); + } -handleCancel(e) { -let self = this; -self.setState(Object.assign(self.state, { -dialogMessage: `Do you want to cancel the this ride?`, dialogTitleMessage: 'Cancel Ride', dialogOpen: true, dialogType: 'YesNo' -})); -} + handleCancel(e) { + let self = this; + self.setState(Object.assign(self.state, { + dialogMessage: `Do you want to cancel the this ride?`, dialogTitleMessage: 'Cancel Ride', dialogOpen: true, dialogType: 'YesNo' + })); + } -handleArchive = () => { -this.setState(Object.assign({ archive: true })); -console.log('handleArchive') -}; + handleArchive = () => { + this.setState(Object.assign({ archive: true })); + console.log('handleArchive') + }; -handleOpen = () => { -this.setState(Object.assign({ open: true })); -console.log('handleOpen') -}; + handleOpen = () => { + this.setState(Object.assign({ open: true })); + console.log('handleOpen') + }; -handleCloseYes = () => { -this.setState(Object.assign({ confirmCancel: true, open: false })); -console.log('handleCloseYes') -}; + handleCloseYes = () => { + this.setState(Object.assign({ confirmCancel: true, open: false })); + console.log('handleCloseYes') + }; -handleClose = () => { -this.setState(Object.assign({ confirmCancel: false, open: false })); -// this.setState({ open: false, confirmCancel:false }); -console.log('handleClose') -}; + handleClose = () => { + this.setState(Object.assign({ confirmCancel: false, open: false })); + // this.setState({ open: false, confirmCancel:false }); + console.log('handleClose') + }; -render() { -const actions = [ -, -, -]; + />, + , + ]; -return ( -
- -{this.state.message} - -{/* < FloatingActionButtonExampleSimple /> */} - this.example = c} className='display' cellSpacing='0' width='100%'> - - - - - - - - - + return ( +
+ + {this.state.message} + + {/* < FloatingActionButtonExampleSimple /> */} +
Pickup TimeStatusActionsOriginDestinationMemberRide Type
this.example = c} className='display' cellSpacing='0' width='100%'> + + + + + + + + + -{/* */} - - - - - - - - - - + {/* */} + + + + + + + + + + - - - -{this.state.list} - -
Pickup TimeStatusActionsOriginDestinationMemberRide TypeDestinationDriverETADurationMileageVehicleMember IDSchedulerExternal IDCreatedUpdatedDestinationDriverETADurationMileageVehicleMember IDSchedulerExternal IDCreatedUpdated
-
-); - -} + + + + {this.state.list} + + + + ); + + } } export default class Datatablesjs extends React.Component { -render() { -return ( - - - - - - - - - -
- -
-
-
-
-
- -
-); -} + render() { + return ( + + + + + + + + + +
+ +
+
+
+
+
+ +
+ ); + } } \ No newline at end of file diff --git a/src/routes/app/routes/tables/routes/visits/components/Datatable.js b/src/routes/app/routes/tables/routes/visits/components/Datatable.js index edc66b8..f291efd 100644 --- a/src/routes/app/routes/tables/routes/visits/components/Datatable.js +++ b/src/routes/app/routes/tables/routes/visits/components/Datatable.js @@ -108,7 +108,8 @@ class DatatableComponent extends React.Component { }, columnDefs: [ { targets: [-1, -3], className: 'dt-body-right mdl-data-table__cell--non-numeric' } - ] + ], + order: [[0, 'desc']] }); state.decorateButtons(); state.decorateSelect();