From d47ff271b05d60e6079b0d9a69211f8cbf50673c Mon Sep 17 00:00:00 2001 From: Sagar Tewari Date: Wed, 25 Dec 2019 16:12:39 +0530 Subject: [PATCH 1/4] WIP --- package-lock.json | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index db7dff931..6ddc8be5b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -412,14 +412,15 @@ } }, "appirio-tech-react-components": { - "version": "git+https://github.com/vigneshTheDev/react-components.git#edd4c4bd353b08937b1f59099129b685f9145683", - "from": "git+https://github.com/vigneshTheDev/react-components.git#feature/connectv2", + "version": "git+https://github.com/appirio-tech/react-components.git#f5a256f0d871764d53fa5ec3eb724caeea7f831a", + "from": "git+https://github.com/appirio-tech/react-components.git#feature/connectv2", "requires": { "appirio-tech-api-schemas": "^5.0.69", "appirio-tech-client-app-layer": "^0.1.3", "classnames": "^2.2.3", "coffee-script": "^1.12.7", "coffeescript": "^1.12.7", + "filestack-js": "^1.13.2", "formsy-react": "^0.19.5", "isomorphic-fetch": "^2.2.1", "libphonenumber-js": "^1.4.6", @@ -427,6 +428,7 @@ "material-ui": "^0.20.2", "moment": "^2.11.2", "prop-types": "^15.7.2", + "rc-slider": "8.6.4", "react": "^15.3.1", "react-addons-pure-render-mixin": "^15.3.1", "react-addons-update": "^15.3.1", @@ -435,6 +437,7 @@ "react-dom": "^15.3.1", "react-dropzone": "^3.5.3", "react-popper": "^0.7.5", + "react-portal": "^4.2.0", "react-redux": "^4.4.5", "react-router-dom": "^4.2.2", "react-select": "^0.9.1", @@ -442,7 +445,7 @@ "react-textarea-autosize": "^5.2.1", "react-transition-group": "^2.2.1", "redux-thunk": "^2.1.0", - "tc-ui": "git+https://github.com/appirio-tech/tc-ui.git#feature/connectv2", + "tc-ui": "git+https://github.com/appirio-tech/tc-ui.git#e577a0e704136f1e9ecce92ce4c0626aab932691", "uncontrollable": "^4.0.1" }, "dependencies": { @@ -8755,9 +8758,9 @@ } }, "libphonenumber-js": { - "version": "1.7.25", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.7.25.tgz", - "integrity": "sha512-WlmFl3xSR0oGH0+ZGtEbcNgo6h7JUyYaRmGWlddrkEFmPjAULRur2KZzmNWQSBfD0LhUdnKYhwIi2MnB7gswWw==", + "version": "1.7.29", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.7.29.tgz", + "integrity": "sha512-k0qJpAQ6DZA3b6meri1CZr2Lg1lvC539wqLljFdCWLPK8jAXLFqE433NzGzTdxKfm/EmGE8Zhm5pK8R9N7m1pg==", "requires": { "minimist": "^1.2.0", "xml2js": "^0.4.17" @@ -13967,6 +13970,14 @@ } } }, + "react-portal": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/react-portal/-/react-portal-4.2.0.tgz", + "integrity": "sha512-Zf+vGQ/VEAb5XAy+muKEn48yhdCNYPZaB1BWg1xc8sAZWD8pXTgPtQT4ihBdmWzsfCq8p8/kqf0GWydSBqc+Eg==", + "requires": { + "prop-types": "^15.5.8" + } + }, "react-prop-types": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/react-prop-types/-/react-prop-types-0.4.0.tgz", @@ -17310,7 +17321,7 @@ "Base64": "~0.1.3", "json-fallback": "0.0.1", "jsonp": "~0.0.4", - "qs": "git+https://github.com/jfromaniello/node-querystring.git#fix_ie7_bug_with_arrays", + "qs": "git+https://github.com/jfromaniello/node-querystring.git#5d96513991635e3e22d7aa54a8584d6ce97cace8", "reqwest": "^1.1.4", "trim": "~0.0.1", "winchan": "^0.1.1", From 7e2e631cb01814b116e69eca421c7f49c416f6a2 Mon Sep 17 00:00:00 2001 From: Sagar Tewari Date: Wed, 25 Dec 2019 16:46:13 +0530 Subject: [PATCH 2/4] almost done --- src/components/TeamManagement/MemberItem.jsx | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/components/TeamManagement/MemberItem.jsx b/src/components/TeamManagement/MemberItem.jsx index ac818632d..a5e7f3764 100644 --- a/src/components/TeamManagement/MemberItem.jsx +++ b/src/components/TeamManagement/MemberItem.jsx @@ -1,7 +1,6 @@ import React from 'react' import PropTypes from 'prop-types' import moment from 'moment' -import {timezones} from 'appirio-tech-react-components/constants/timezones' import UserTooltip from '../User/UserTooltip' import SunIcon from '../../assets/icons/daylight.svg' import MoonIcon from '../../assets/icons/moon.svg' @@ -19,16 +18,12 @@ const MemberItem = (props) => { const email = _.get(usr, 'email') let localTime let localTimeOffsetFormat - let timeZoneInfo + let utcOff if(timeZone) { - timeZoneInfo = _.find(timezones, (t) => {return t.zoneName === timeZone}) - // as a quick fix for https://github.com/appirio-tech/connect-app/issues/3457 - // set offset for the "Daylight Saving Time" - if (timeZoneInfo.zoneName === 'America/New_York') { - timeZoneInfo.gmtOffset = -18000 - } - localTime = moment().utcOffset(timeZoneInfo.gmtOffset/3600).format('h:mm a') - localTimeOffsetFormat = 'UTC' + moment().utcOffset(timeZoneInfo.gmtOffset/3600).format('Z') + const tz = moment().tz(timeZone) + localTime = tz.format('h:mm a') + utcOff = Math.round(tz.utcOffset()/60) + localTimeOffsetFormat = 'UTC' + moment().utcOffset(utcOff).format('Z') } let localTimeInfoEl = null @@ -45,7 +40,7 @@ const MemberItem = (props) => { localWhEnd = moment({hour: workingHourEnd.split(':')[0]}).format('h a') if(localTime) { - let localHour = +moment().utcOffset(timeZoneInfo.gmtOffset/3600).format('H') + let localHour = +moment().utcOffset(utcOff).format('H') const localStartHour = +moment({hour: workingHourStart.split(':')[0] }).format('H') let localEndHour = +moment({hour: workingHourEnd.split(':')[0] }).format('H') if(localEndHour <= localStartHour) { From 493389a42291af8b7b1cb863cfb9bfb8073f4b1f Mon Sep 17 00:00:00 2001 From: Sagar Tewari Date: Wed, 25 Dec 2019 16:53:17 +0530 Subject: [PATCH 3/4] require moment-timezone --- package-lock.json | 60 ++++++++------------ package.json | 1 + src/components/TeamManagement/MemberItem.jsx | 1 + 3 files changed, 25 insertions(+), 37 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6ddc8be5b..5d84139a5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6077,8 +6077,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -6099,14 +6098,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6121,20 +6118,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -6251,8 +6245,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -6264,7 +6257,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6279,7 +6271,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6287,14 +6278,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -6313,7 +6302,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -6394,8 +6382,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -6407,7 +6394,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -6493,8 +6479,7 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -6530,7 +6515,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -6550,7 +6534,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -6594,14 +6577,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -9692,6 +9673,14 @@ "es6-symbol": "^3.1.0" } }, + "moment-timezone": { + "version": "0.5.27", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.27.tgz", + "integrity": "sha512-EIKQs7h5sAsjhPCqN6ggx6cEbs94GK050254TIJySD1bzoM5JTYDwAU1IoVOeTOL6Gm27kYJ51/uuvq1kIlrbw==", + "requires": { + "moment": ">= 2.9.0" + } + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -17321,17 +17310,10 @@ "Base64": "~0.1.3", "json-fallback": "0.0.1", "jsonp": "~0.0.4", - "qs": "git+https://github.com/jfromaniello/node-querystring.git#5d96513991635e3e22d7aa54a8584d6ce97cace8", "reqwest": "^1.1.4", "trim": "~0.0.1", "winchan": "^0.1.1", "xtend": "~2.1.1" - }, - "dependencies": { - "qs": { - "version": "git+https://github.com/jfromaniello/node-querystring.git#5d96513991635e3e22d7aa54a8584d6ce97cace8", - "from": "git+https://github.com/jfromaniello/node-querystring.git#fix_ie7_bug_with_arrays" - } } }, "auto-config-fake-server": { @@ -23382,6 +23364,10 @@ "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", "integrity": "sha512-VVMcd+HnuWZalHPycK7CsbVJ+sSrrrnCvHcW38YJVK9Tywnb5DUWJjONi81bLUj7aqDjIXnePxBl5t1r/F/ncg==" }, + "qs": { + "version": "git+https://github.com/jfromaniello/node-querystring.git#5d96513991635e3e22d7aa54a8584d6ce97cace8", + "from": "git+https://github.com/jfromaniello/node-querystring.git#5d96513991635e3e22d7aa54a8584d6ce97cace8" + }, "query-string": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", diff --git a/package.json b/package.json index 4b56cc7ea..f3d7ca668 100644 --- a/package.json +++ b/package.json @@ -109,6 +109,7 @@ "mobile-detect": "^1.4.2", "moment": "^2.14.1", "moment-range": "^4.0.1", + "moment-timezone": "^0.5.27", "prop-types": "^15.6.0", "query-string": "^4.3.4", "rc-slider": "8.6.4", diff --git a/src/components/TeamManagement/MemberItem.jsx b/src/components/TeamManagement/MemberItem.jsx index a5e7f3764..37a08033f 100644 --- a/src/components/TeamManagement/MemberItem.jsx +++ b/src/components/TeamManagement/MemberItem.jsx @@ -1,6 +1,7 @@ import React from 'react' import PropTypes from 'prop-types' import moment from 'moment' +require('moment-timezone') import UserTooltip from '../User/UserTooltip' import SunIcon from '../../assets/icons/daylight.svg' import MoonIcon from '../../assets/icons/moon.svg' From 4ad88bc7ec95bf988a4ec40a785a4c9ec3a24296 Mon Sep 17 00:00:00 2001 From: Sagar Tewari Date: Wed, 25 Dec 2019 17:04:32 +0530 Subject: [PATCH 4/4] don't round hour --- src/components/TeamManagement/MemberItem.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/TeamManagement/MemberItem.jsx b/src/components/TeamManagement/MemberItem.jsx index 37a08033f..8e3c284c2 100644 --- a/src/components/TeamManagement/MemberItem.jsx +++ b/src/components/TeamManagement/MemberItem.jsx @@ -23,7 +23,7 @@ const MemberItem = (props) => { if(timeZone) { const tz = moment().tz(timeZone) localTime = tz.format('h:mm a') - utcOff = Math.round(tz.utcOffset()/60) + utcOff = tz.utcOffset()/60 localTimeOffsetFormat = 'UTC' + moment().utcOffset(utcOff).format('Z') } let localTimeInfoEl = null