diff --git a/package-lock.json b/package-lock.json index db7dff931..5d84139a5 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": { @@ -6074,8 +6077,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -6096,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" @@ -6118,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", @@ -6248,8 +6245,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -6261,7 +6257,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6276,7 +6271,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6284,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" @@ -6310,7 +6302,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -6391,8 +6382,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -6404,7 +6394,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -6490,8 +6479,7 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -6527,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", @@ -6547,7 +6534,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -6591,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 } } }, @@ -8755,9 +8739,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" @@ -9689,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", @@ -13967,6 +13959,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,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#fix_ie7_bug_with_arrays", "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": { @@ -23371,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 ac818632d..8e3c284c2 100644 --- a/src/components/TeamManagement/MemberItem.jsx +++ b/src/components/TeamManagement/MemberItem.jsx @@ -1,7 +1,7 @@ import React from 'react' import PropTypes from 'prop-types' import moment from 'moment' -import {timezones} from 'appirio-tech-react-components/constants/timezones' +require('moment-timezone') import UserTooltip from '../User/UserTooltip' import SunIcon from '../../assets/icons/daylight.svg' import MoonIcon from '../../assets/icons/moon.svg' @@ -19,16 +19,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 = tz.utcOffset()/60 + localTimeOffsetFormat = 'UTC' + moment().utcOffset(utcOff).format('Z') } let localTimeInfoEl = null @@ -45,7 +41,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) {