diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/package-lock.json b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/package-lock.json index a1b4f58..c8d1cd6 100644 --- a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/package-lock.json +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/package-lock.json @@ -1768,6 +1768,7 @@ "version": "25.5.0", "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^1.1.1", @@ -2069,7 +2070,8 @@ "@types/history": { "version": "4.7.6", "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.6.tgz", - "integrity": "sha512-GRTZLeLJ8ia00ZH8mxMO8t0aC9M1N9bN461Z2eaRurJo6Fpa+utgCwLzI4jQHcrdzuzp5WPN9jRwpsCQ1VhJ5w==" + "integrity": "sha512-GRTZLeLJ8ia00ZH8mxMO8t0aC9M1N9bN461Z2eaRurJo6Fpa+utgCwLzI4jQHcrdzuzp5WPN9jRwpsCQ1VhJ5w==", + "dev": true }, "@types/hoist-non-react-statics": { "version": "3.3.1", @@ -2107,6 +2109,7 @@ "version": "25.2.3", "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz", "integrity": "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==", + "dev": true, "requires": { "jest-diff": "^25.2.1", "pretty-format": "^25.2.1" @@ -2120,7 +2123,8 @@ "@types/lodash": { "version": "4.14.155", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.155.tgz", - "integrity": "sha512-vEcX7S7aPhsBCivxMwAANQburHBtfN9RdyXFk84IJmu2Z4Hkg1tOFgaslRiEqqvoLtbCBi6ika1EMspE+NZ9Lg==" + "integrity": "sha512-vEcX7S7aPhsBCivxMwAANQburHBtfN9RdyXFk84IJmu2Z4Hkg1tOFgaslRiEqqvoLtbCBi6ika1EMspE+NZ9Lg==", + "dev": true }, "@types/minimatch": { "version": "3.0.3", @@ -2140,7 +2144,8 @@ "@types/prop-types": { "version": "15.7.3", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==", + "dev": true }, "@types/q": { "version": "1.5.4", @@ -2151,6 +2156,7 @@ "version": "16.9.35", "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.35.tgz", "integrity": "sha512-q0n0SsWcGc8nDqH2GJfWQWUOmZSJhXV64CjVN5SvcNti3TdEaA3AH0D8DwNmMdzjMAC/78tB8nAZIlV8yTz+zQ==", + "dev": true, "requires": { "@types/prop-types": "*", "csstype": "^2.2.0" @@ -2160,6 +2166,7 @@ "version": "16.9.8", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.8.tgz", "integrity": "sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA==", + "dev": true, "requires": { "@types/react": "*" } @@ -2180,6 +2187,7 @@ "version": "5.1.7", "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.7.tgz", "integrity": "sha512-2ouP76VQafKjtuc0ShpwUebhHwJo0G6rhahW9Pb8au3tQTjYXd2jta4wv6U2tGLR/I42yuG00+UXjNYY0dTzbg==", + "dev": true, "requires": { "@types/history": "*", "@types/react": "*" @@ -2189,6 +2197,7 @@ "version": "5.1.5", "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.1.5.tgz", "integrity": "sha512-ArBM4B1g3BWLGbaGvwBGO75GNFbLDUthrDojV2vHLih/Tq8M+tgvY1DSwkuNrPSwdp/GUL93WSEpTZs8nVyJLw==", + "dev": true, "requires": { "@types/history": "*", "@types/react": "*", @@ -2198,7 +2207,8 @@ "@types/redux": { "version": "3.6.31", "resolved": "https://registry.npmjs.org/@types/redux/-/redux-3.6.31.tgz", - "integrity": "sha1-QOr6dXXbNrkSzgBZuF3pjCBbBwg=" + "integrity": "sha1-QOr6dXXbNrkSzgBZuF3pjCBbBwg=", + "dev": true }, "@types/stack-utils": { "version": "1.0.1", @@ -2209,6 +2219,7 @@ "version": "15.0.5", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", + "dev": true, "requires": { "@types/yargs-parser": "*" } @@ -2575,11 +2586,6 @@ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" }, - "adaptivecards": { - "version": "2.0.0-rc.0", - "resolved": "https://registry.npmjs.org/adaptivecards/-/adaptivecards-2.0.0-rc.0.tgz", - "integrity": "sha512-jc6qrzN1lWuNdLFIQD4i6aK49rx7ywqo+bV0qdJwMiqj0GmlXMnxiciMnH6JnY1fmIOmuRuNDxzM4NvCFKu3Ew==" - }, "address": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", @@ -3981,9 +3987,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001079", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001079.tgz", - "integrity": "sha512-2KaYheg0iOY+CMmDuAB3DHehrXhhb4OZU4KBVGDr/YKyYAcpudaiUQ9PJ9rxrPlKEoJ3ATasQ5AN48MqpwS43Q==" + "version": "1.0.30001247", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001247.tgz", + "integrity": "sha512-4rS7co+7+AoOSPRPOPUt5/GdaqZc0EsUpWk66ofE3HJTAajUK2Ss2VwoNzVN69ghg8lYYlh0an0Iy4LIHHo9UQ==" }, "capture-exit": { "version": "2.0.0", @@ -5161,7 +5167,8 @@ "diff-sequences": { "version": "25.2.6", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==" + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true }, "diffie-hellman": { "version": "5.0.3", @@ -8393,6 +8400,7 @@ "version": "25.5.0", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, "requires": { "chalk": "^3.0.0", "diff-sequences": "^25.2.6", @@ -8667,7 +8675,8 @@ "jest-get-type": { "version": "25.2.6", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==" + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true }, "jest-haste-map": { "version": "24.9.0", @@ -12714,6 +12723,7 @@ "version": "25.5.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, "requires": { "@jest/types": "^25.5.0", "ansi-regex": "^5.0.0", diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/package.json b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/package.json index f1c446a..cd56367 100644 --- a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/package.json +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/package.json @@ -10,7 +10,7 @@ "@stardust-ui/react": "0.40.7", "axios": "0.19.2", "browserslist": "4.12.0", - "caniuse-lite": "1.0.30001079", + "caniuse-lite": "^1.0.30001247", "font-awesome": "4.7.0", "i18next": "19.4.5", "i18next-xhr-backend": "3.2.2", diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/public/locales/en-US/translation.json b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/public/locales/en-US/translation.json index 9d21806..f8210d2 100644 --- a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/public/locales/en-US/translation.json +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/public/locales/en-US/translation.json @@ -36,7 +36,7 @@ "noSearchResults": "No results found. Try searching again.", "unauthorizedErrorMessage": "Something went wrong. Try again in a few minutes.", "forbiddenErrorMessage": "Permissions needed. Contact your IT admin to request access.", - "generalErrorMessage": "Something went wrong. Try again in a few minutes. If the problem persists, contact your IT admin.", + "generalErrorMessage": "Something went wrong. Try again in a few minutes. If the problem persists, please contact your IT admin.", "groupChatMessage": "Can we start a smaller group chat?", "groupChatCountMessage": "You selected more than 100 members to chat with. Currently, group chats in Teams are limited to 100 people.", "groupChatRecentMembers": "Would you like us to start a chat now with the 100 members who are currently online?", diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/App.js b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/App.js index 6d12d11..4e36454 100644 --- a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/App.js +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/App.js @@ -41,12 +41,25 @@ var App = /** @class */ (function (_super) { }); }); }; + /* + Bug: 3 - uses can choose dark mode (for night view), but that hides many icons.. need to disable night view option.. + Resolution: Prevent darkContainer CSS from being used. + Future: Change CSS to show icons and text. */ _this.setThemeComponent = function () { + // if (this.state.theme === "dark") { + // return ( + // + //
+ // {this.getAppDom()} + //
+ //
+ // ); + // } if (_this.state.theme === "dark") { - return (React.createElement(react_1.Provider, { theme: react_1.themes.teamsDark }, - React.createElement("div", { className: "darkContainer" }, _this.getAppDom()))); + return (React.createElement(react_1.Provider, { theme: react_1.themes.teams }, + React.createElement("div", { className: "default-container" }, _this.getAppDom()))); } - else if (_this.state.theme === "contrast") { + if (_this.state.theme === "contrast") { return (React.createElement(react_1.Provider, { theme: react_1.themes.teamsHighContrast }, React.createElement("div", { className: "highContrastContainer" }, _this.getAppDom()))); } diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/App.js.map b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/App.js.map index fabe7b2..e257095 100644 --- a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/App.js.map +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/App.js.map @@ -1 +1 @@ -{"version":3,"file":"App.js","sourceRoot":"","sources":["App.tsx"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,gDAAgD;AAChD,eAAe;;;;;;;;;;;;;;;AAEf,6BAA+B;AAC/B,sBAAoB;AACpB,4CAAsD;AACtD,oDAAsD;AACtD,0CAA2C;AAM3C;IAAkB,uBAA8B;IAE5C,aAAY,KAAS;QAArB,YACI,kBAAM,KAAK,CAAC,SAIf;QAEM,uBAAiB,GAAG;YACvB,cAAc,CAAC,UAAU,EAAE,CAAC;YAC5B,cAAc,CAAC,UAAU,CAAC,UAAC,OAAO;gBAC9B,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChC,KAAI,CAAC,QAAQ,CAAC;oBACV,KAAK,EAAE,KAAK;iBACf,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,4BAA4B,CAAC,UAAC,KAAK;gBAC9C,KAAI,CAAC,QAAQ,CAAC;oBACV,KAAK,EAAE,KAAK;iBACf,EAAE;oBACC,KAAI,CAAC,WAAW,EAAE,CAAC;gBACvB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAA;QAEM,uBAAiB,GAAG;YACvB,IAAI,KAAI,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE;gBAC7B,OAAO,CACH,oBAAC,gBAAQ,IAAC,KAAK,EAAE,cAAM,CAAC,SAAS;oBAC7B,6BAAK,SAAS,EAAC,eAAe,IACzB,KAAI,CAAC,SAAS,EAAE,CACf,CACC,CACd,CAAC;aACL;iBACI,IAAI,KAAI,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE;gBACtC,OAAO,CACH,oBAAC,gBAAQ,IAAC,KAAK,EAAE,cAAM,CAAC,iBAAiB;oBACrC,6BAAK,SAAS,EAAC,uBAAuB,IACjC,KAAI,CAAC,SAAS,EAAE,CACf,CACC,CACd,CAAC;aACL;iBAAM;gBACH,OAAO,CACH,oBAAC,gBAAQ,IAAC,KAAK,EAAE,cAAM,CAAC,KAAK;oBACzB,6BAAK,SAAS,EAAC,mBAAmB,IAC7B,KAAI,CAAC,SAAS,EAAE,CACf,CACC,CACd,CAAC;aACL;QACL,CAAC,CAAA;QAEM,eAAS,GAAG;YACf,OAAO,CAEC,6BAAK,SAAS,EAAC,eAAe;gBACzB,oBAAC,iBAAQ,OAAG,CACX,CACb,CAAC;QACN,CAAC,CAAA;QA3DG,KAAI,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,EAAE;SACZ,CAAA;;IACL,CAAC;IA0DM,oBAAM,GAAb;QACI,OAAO,CACH,iCACK,IAAI,CAAC,iBAAiB,EAAE,CACvB,CACT,CAAC;IACN,CAAC;IACL,UAAC;AAAD,CAAC,AAxED,CAAkB,KAAK,CAAC,SAAS,GAwEhC;AAED,kBAAe,GAAG,CAAC"} \ No newline at end of file +{"version":3,"file":"App.js","sourceRoot":"","sources":["App.tsx"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,gDAAgD;AAChD,eAAe;;;;;;;;;;;;;;;AAEf,6BAA+B;AAC/B,sBAAoB;AACpB,4CAAsD;AACtD,oDAAsD;AACtD,0CAA2C;AAM3C;IAAkB,uBAA8B;IAE5C,aAAY,KAAS;QAArB,YACI,kBAAM,KAAK,CAAC,SAIf;QAEM,uBAAiB,GAAG;YACvB,cAAc,CAAC,UAAU,EAAE,CAAC;YAC5B,cAAc,CAAC,UAAU,CAAC,UAAC,OAAO;gBAC9B,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChC,KAAI,CAAC,QAAQ,CAAC;oBACV,KAAK,EAAE,KAAK;iBACf,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,4BAA4B,CAAC,UAAC,KAAK;gBAC9C,KAAI,CAAC,QAAQ,CAAC;oBACV,KAAK,EAAE,KAAK;iBACf,EAAE;oBACC,KAAI,CAAC,WAAW,EAAE,CAAC;gBACvB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAA;QAED;;;yDAGiD;QAE1C,uBAAiB,GAAG;YACvB,qCAAqC;YACrC,eAAe;YACf,8CAA8C;YAC9C,8CAA8C;YAC9C,qCAAqC;YACrC,qBAAqB;YACrB,sBAAsB;YACtB,SAAS;YACT,IAAI;YACJ,IAAI,KAAI,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE;gBAC7B,OAAO,CACH,oBAAC,gBAAQ,IAAC,KAAK,EAAE,cAAM,CAAC,KAAK;oBACzB,6BAAK,SAAS,EAAC,mBAAmB,IAC7B,KAAI,CAAC,SAAS,EAAE,CACf,CACC,CACd,CAAC;aACL;YACD,IAAI,KAAI,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE;gBACjC,OAAO,CACH,oBAAC,gBAAQ,IAAC,KAAK,EAAE,cAAM,CAAC,iBAAiB;oBACrC,6BAAK,SAAS,EAAC,uBAAuB,IACjC,KAAI,CAAC,SAAS,EAAE,CACf,CACC,CACd,CAAC;aACL;iBAAM;gBACH,OAAO,CACH,oBAAC,gBAAQ,IAAC,KAAK,EAAE,cAAM,CAAC,KAAK;oBACzB,6BAAK,SAAS,EAAC,mBAAmB,IAC7B,KAAI,CAAC,SAAS,EAAE,CACf,CACC,CACd,CAAC;aACL;QACL,CAAC,CAAA;QAEM,eAAS,GAAG;YACf,OAAO,CAEC,6BAAK,SAAS,EAAC,eAAe;gBACzB,oBAAC,iBAAQ,OAAG,CACX,CACb,CAAC;QACN,CAAC,CAAA;QAzEG,KAAI,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,EAAE;SACZ,CAAA;;IACL,CAAC;IAwEM,oBAAM,GAAb;QACI,OAAO,CACH,iCACK,IAAI,CAAC,iBAAiB,EAAE,CACvB,CACT,CAAC;IACN,CAAC;IACL,UAAC;AAAD,CAAC,AAtFD,CAAkB,KAAK,CAAC,SAAS,GAsFhC;AAED,kBAAe,GAAG,CAAC"} \ No newline at end of file diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/App.tsx b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/App.tsx index dda30c3..d038baf 100644 --- a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/App.tsx +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/App.tsx @@ -39,17 +39,31 @@ class App extends React.Component<{}, IAppState> { }); } + /* + Bug: 3 - uses can choose dark mode (for night view), but that hides many icons.. need to disable night view option.. + Resolution: Prevent darkContainer CSS from being used. + Future: Change CSS to show icons and text. */ + public setThemeComponent = () => { + // if (this.state.theme === "dark") { + // return ( + // + //
+ // {this.getAppDom()} + //
+ //
+ // ); + // } if (this.state.theme === "dark") { return ( - -
+ +
{this.getAppDom()}
); } - else if (this.state.theme === "contrast") { + if (this.state.theme === "contrast") { return (
diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/apis/api-list.js b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/apis/api-list.js new file mode 100644 index 0000000..098fe95 --- /dev/null +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/apis/api-list.js @@ -0,0 +1,198 @@ +"use strict"; +// +// Copyright (c) Microsoft. All rights reserved. +// +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var axios_jwt_decorator_1 = require("./axios-jwt-decorator"); +var configVariables_1 = require("../configVariables"); +var baseAxiosUrl = configVariables_1.getBaseUrl() + '/api'; +exports.getFavoriteDistributionLists = function () { return __awaiter(void 0, void 0, void 0, function () { + var url; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = baseAxiosUrl + "/distributionlists"; + return [4 /*yield*/, axios_jwt_decorator_1.default.get(url)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); +}); }; +exports.getADDistributionLists = function (query) { return __awaiter(void 0, void 0, void 0, function () { + var url; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = baseAxiosUrl + "/distributionlists/getDistributionList?query=" + encodeURIComponent(query); + return [4 /*yield*/, axios_jwt_decorator_1.default.get(url)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); +}); }; +exports.createFavoriteDistributionList = function (payload) { return __awaiter(void 0, void 0, void 0, function () { + var url; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = baseAxiosUrl + "/distributionlists"; + return [4 /*yield*/, axios_jwt_decorator_1.default.post(url, payload)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); +}); }; +exports.updateFavoriteDistributionList = function (payload) { return __awaiter(void 0, void 0, void 0, function () { + var url; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = baseAxiosUrl + "/distributionlists"; + return [4 /*yield*/, axios_jwt_decorator_1.default.put(url, payload)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); +}); }; +exports.deleteFavoriteDistributionList = function (payload) { return __awaiter(void 0, void 0, void 0, function () { + var url; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = baseAxiosUrl + "/distributionlists"; + return [4 /*yield*/, axios_jwt_decorator_1.default.delete(url, payload)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); +}); }; +exports.getDistributionListsMembers = function (groupId) { return __awaiter(void 0, void 0, void 0, function () { + var url; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = baseAxiosUrl + "/distributionlistmembers?groupId=" + groupId; + return [4 /*yield*/, axios_jwt_decorator_1.default.get(url)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); +}); }; +exports.pinStatusUpdate = function (pinnedUser, status, distributionListId) { return __awaiter(void 0, void 0, void 0, function () { + var payload, url, url; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + payload = { + "pinnedUserId": pinnedUser, + "distributionListId": distributionListId + }; + if (!status) return [3 /*break*/, 2]; + url = baseAxiosUrl + "/distributionlistmembers"; + return [4 /*yield*/, axios_jwt_decorator_1.default.post(url, payload)]; + case 1: return [2 /*return*/, _a.sent()]; + case 2: + url = baseAxiosUrl + "/distributionlistmembers"; + return [4 /*yield*/, axios_jwt_decorator_1.default.delete(url, payload)]; + case 3: return [2 /*return*/, _a.sent()]; + } + }); +}); }; +exports.getDistributionListMembersOnlineCount = function (groupId) { return __awaiter(void 0, void 0, void 0, function () { + var url; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = baseAxiosUrl + "/presence/GetDistributionListMembersOnlineCount?groupId=" + groupId; + return [4 /*yield*/, axios_jwt_decorator_1.default.get(url)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); +}); }; +exports.getUserPresence = function (payload) { return __awaiter(void 0, void 0, void 0, function () { + var url; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = baseAxiosUrl + "/presence/getUserPresence"; + return [4 /*yield*/, axios_jwt_decorator_1.default.post(url, payload)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); +}); }; +exports.getUserPageSizeChoice = function () { return __awaiter(void 0, void 0, void 0, function () { + var url; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = baseAxiosUrl + "/UserPageSize"; + return [4 /*yield*/, axios_jwt_decorator_1.default.get(url)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); +}); }; +exports.createUserPageSizeChoice = function (payload) { return __awaiter(void 0, void 0, void 0, function () { + var url; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = baseAxiosUrl + "/UserPageSize"; + return [4 /*yield*/, axios_jwt_decorator_1.default.post(url, payload)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); +}); }; +exports.getAuthenticationMetadata = function (windowLocationOriginDomain, loginHint) { return __awaiter(void 0, void 0, void 0, function () { + var payload, url; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + payload = { windowLocationOriginDomain: windowLocationOriginDomain, loginhint: loginHint }; + url = baseAxiosUrl + "/authenticationMetadata/GetAuthenticationUrlWithConfiguration"; + return [4 /*yield*/, axios_jwt_decorator_1.default.post(url, payload)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); +}); }; +exports.getClientId = function () { return __awaiter(void 0, void 0, void 0, function () { + var url; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + url = baseAxiosUrl + "/authenticationMetadata/getClientId"; + return [4 /*yield*/, axios_jwt_decorator_1.default.get(url)]; + case 1: return [2 /*return*/, _a.sent()]; + } + }); +}); }; +//# sourceMappingURL=api-list.js.map \ No newline at end of file diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/apis/api-list.js.map b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/apis/api-list.js.map new file mode 100644 index 0000000..2d325b1 --- /dev/null +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/apis/api-list.js.map @@ -0,0 +1 @@ +{"version":3,"file":"api-list.js","sourceRoot":"","sources":["api-list.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-list-members/distribution-list-members.js b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-list-members/distribution-list-members.js new file mode 100644 index 0000000..dbea754 --- /dev/null +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-list-members/distribution-list-members.js @@ -0,0 +1,627 @@ +"use strict"; +// +// Copyright (c) Microsoft. All rights reserved. +// +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var React = require("react"); +var Icons_1 = require("office-ui-fabric-react/lib/Icons"); +var configVariables_1 = require("../../configVariables"); +var microsoftTeams = require("@microsoft/teams-js"); +var react_1 = require("@stardust-ui/react"); +var free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons"); +var Icon_1 = require("office-ui-fabric-react/lib/Icon"); +var react_fontawesome_1 = require("@fortawesome/react-fontawesome"); +var pagination_1 = require("../pagination/pagination"); +require("./distribution-list-members.scss"); +var lodash_1 = require("lodash"); +var lodash_2 = require("lodash"); +var react_i18next_1 = require("react-i18next"); +//Exporting DistributionListMembers component +var DistributionListMembers = /** @class */ (function (_super) { + __extends(DistributionListMembers, _super); + function DistributionListMembers(props) { + var _this = _super.call(this, props) || this; + _this.batchRequestLimit = 40; + _this.groupChatMembersLimit = 100; + _this.defaultPageSize = 400; + _this.notYetFetchedText = "Not yet fetched"; + _this.taskModulePositiveResponseString = "YES"; + _this.availabilityStatusOnline = "Available"; + _this.pageId = 2; //DistributionListMembers.tsx treating as Page id 2 + _this.chatUrl = "https://teams.microsoft.com/l/chat/0/0?users="; + _this.componentDidMount = function () { + var historyJson = localStorage.getItem("localStorageHistory"); + if (historyJson != null) { + _this.historyArray = JSON.parse(historyJson); + _this.historyArray.push(window.location.href); + localStorage.setItem("localStorageHistory", JSON.stringify(_this.historyArray)); + } + else { + _this.historyArray.push(window.location.href); + localStorage.setItem("localStorageHistory", JSON.stringify(_this.historyArray)); + } + _this.getPageSize(); + _this.dataLoad(); + _this.resetSorting(_this.state.distributionListMembers); + }; + //This function is to load data to state using API. + _this.dataLoad = function () { + //API call to get the members of group + _this.props.getDistributionListsMembers(_this.props.parentDlId).then(function (response) { + var members = response.data; + var distributionListMembersTemp = []; + for (var i = 0; i < members.length; i++) { + distributionListMembersTemp.push({ + id: members[i].id, + displayName: members[i].displayName, + jobTitle: members[i].jobTitle === null ? "" : members[i].jobTitle, + userPrincipalName: members[i].userPrincipalName, + mail: members[i].mail, + presence: (members[i].type === "#microsoft.graph.group") ? "" : _this.notYetFetchedText, + isPinned: members[i].isPinned, + isSelected: false, + isGroup: members[i].type === "#microsoft.graph.group", + sortOrder: 10, + type: members[i].type + }); + } + _this.resetSorting(distributionListMembersTemp); + _this.getAllUserPresenceAsync(); + _this.setState({ + loader: false + }); + }); + }; + //To get group members presence information + _this.getAllUserPresenceAsync = function () { return __awaiter(_this, void 0, void 0, function () { + var presenceDataList, batchRequests, i; + var _this = this; + return __generator(this, function (_a) { + presenceDataList = []; + this.state.masterDistributionListMembers.forEach(function (currentDistributionListMember) { + if (currentDistributionListMember.presence === _this.notYetFetchedText) { + presenceDataList.push({ + userPrincipalName: currentDistributionListMember.userPrincipalName, + availability: "", + availabilitySortOrder: 0, + id: currentDistributionListMember.id + }); + } + }); + batchRequests = lodash_1.chunk(presenceDataList, this.batchRequestLimit); + for (i = 0; i < batchRequests.length; i++) { + this.getUserPresenceAsync(batchRequests[i]); + } + return [2 /*return*/]; + }); + }); }; + //To get user presence + _this.getUserPresenceAsync = function (iPresenceDataList) { return __awaiter(_this, void 0, void 0, function () { + var _this = this; + return __generator(this, function (_a) { + this.props.getUserPresence(iPresenceDataList).then(function (response) { + var presenceDataList = response.data; + //Set the state for user presence in master distribution list + var masterDistributionListMembers = _this.state.masterDistributionListMembers.map(function (currentItem) { + if (currentItem.userPrincipalName != null) { + var presenceDetailsOfCurrentItem = presenceDataList.find(function (currentPresenceRecord) { return currentPresenceRecord.userPrincipalName.toLowerCase() === currentItem.userPrincipalName.toLowerCase(); }); + if (presenceDetailsOfCurrentItem !== undefined) { + currentItem.presence = presenceDetailsOfCurrentItem.availability; + currentItem.sortOrder = presenceDetailsOfCurrentItem.availabilitySortOrder; + currentItem.id = presenceDetailsOfCurrentItem.id; + } + } + return currentItem; + }); + //Set the state for user presence in distribution list + var distributionListMembers = _this.state.distributionListMembers.map(function (currentItem) { + if (currentItem.userPrincipalName != null) { + var presenceDetailsOfCurrentItem = presenceDataList.find(function (currentPresenceRecord) { return currentPresenceRecord.userPrincipalName.toLowerCase() === currentItem.userPrincipalName.toLowerCase(); }); + if (presenceDetailsOfCurrentItem !== undefined) { + currentItem.presence = presenceDetailsOfCurrentItem.availability; + currentItem.sortOrder = presenceDetailsOfCurrentItem.availabilitySortOrder; + currentItem.id = presenceDetailsOfCurrentItem.id; + } + } + return currentItem; + }); + _this.setState({ + masterDistributionListMembers: masterDistributionListMembers, + distributionListMembers: distributionListMembers, + }); + _this.sortColumnItems("presence", true); + }); + return [2 /*return*/]; + }); + }); }; + // "Render Corresponding Presence Icon" + _this.renderPresenceInfo = function (presence) { + switch (presence) { + case "None": + return { + "icon": free_solid_svg_icons_1.faCircle, + "color": "#D3D3D3", + "name": _this.localize("presenceNone") + }; + case "Away": + return { + "icon": free_solid_svg_icons_1.faClock, + "color": "#FDB913", + "name": _this.localize("presenceAway") + }; + case "Offline": + return { + "icon": free_solid_svg_icons_1.faCircle, + "color": "#D3D3D3", + "name": _this.localize("presenceOffline") + }; + case "DoNotDisturb": + return { + "icon": free_solid_svg_icons_1.faMinusCircle, + "color": "#C4314B", + "name": _this.localize("presenceDoNotDisturb") + }; + case "BeRightBack": + return { + "icon": free_solid_svg_icons_1.faClock, + "color": "#FDB913", + "name": _this.localize("presenceBeRightBack") + }; + case "Busy": + return { + "icon": free_solid_svg_icons_1.faCircle, + "color": "#C4314B", + "name": _this.localize("presenceBusy") + }; + case "Available": + return { + "icon": free_solid_svg_icons_1.faCheckCircle, + "color": "#92C353", + "name": _this.localize("presenceOnline") + }; + default: + return { + "icon": free_solid_svg_icons_1.faCircle, + "color": "#D3D3D3", + "name": _this.localize("presenceOffline") + }; + } + }; + //#region "Sorting functions" + //Calling appropriate function based on column selected for sorting + _this.sortDataByColumn = function (column) { + var directionBool = false; + if (_this.state.sortedColumn !== column) { + _this.setState({ + sortedColumn: column, + sortDirection: "Down" + }); + directionBool = true; + } + else if (_this.state.sortedColumn === column) { + var direction = _this.state.sortDirection === "Up" ? "Down" : "Up"; + _this.setState({ + sortedColumn: column, + sortDirection: direction + }); + directionBool = _this.state.sortDirection === "Up" ? true : false; + } + _this.sortColumnItems(column, directionBool); + }; + //Setting the sort icons and sorting pinned-unpinned records separately + _this.sortColumnItems = function (sortColumn, sortOrder) { + var pinnedRecords = _this.state.distributionListMembers.filter(function (e) { return e.isPinned === true; }); + var unpinnedRecords = _this.state.distributionListMembers.filter(function (e) { return e.isPinned === false; }); + pinnedRecords = lodash_2.orderBy(pinnedRecords, [sortColumn], sortOrder === true ? ["asc"] : ["desc"]); + unpinnedRecords = lodash_2.orderBy(unpinnedRecords, [sortColumn], sortOrder === true ? ["asc"] : ["desc"]); + var distributionListMembers = pinnedRecords.concat(unpinnedRecords); + _this.setState({ + distributionListMembers: distributionListMembers + }); + }; + //Used to reset the sorting on data load + _this.resetSorting = function (distributionListMembers) { + var pinnedRecords = distributionListMembers.filter(function (e) { return e.isPinned === true; }); + var unpinnedRecords = distributionListMembers.filter(function (e) { return e.isPinned === false; }); + var sortColumn = _this.state.sortedColumn; + ; + pinnedRecords = lodash_2.orderBy(pinnedRecords, sortColumn, ["asc"]); + unpinnedRecords = lodash_2.orderBy(unpinnedRecords, sortColumn, ["asc"]); + distributionListMembers = pinnedRecords.concat(unpinnedRecords); + _this.setState({ + distributionListMembers: distributionListMembers, + masterDistributionListMembers: distributionListMembers + }); + }; + //#endregion "Sorting functions" + //"Search function" + _this.search = function (e) { + var searchQuery = e.target.value; + if (!searchQuery) { + _this.setState({ + distributionListMembers: _this.state.masterDistributionListMembers, + }); + } + else { + _this.setState({ + distributionListMembers: _this.state.masterDistributionListMembers.filter(function (member) { return member.displayName.toLowerCase().includes(searchQuery.toLowerCase()); }), + activePage: 0, + }); + } + }; + // "Individual record checkbox selected" + _this.checkboxChanged = function (e, v) { + var headerCheckValue = true; + var selectedChkId = e.currentTarget.id; + _this.state.distributionListMembers.forEach(function (currentItem) { + if (currentItem.id === selectedChkId) { + currentItem.isSelected = v.checked ? v.checked : false; + if (currentItem.isSelected) { + _this.checkedMembersForChat.push(currentItem); + } + else { + _this.checkedMembersForChat.splice(_this.checkedMembersForChat.findIndex(function (item) { return item.userPrincipalName === currentItem.userPrincipalName; }), 1); + } + } + if (!currentItem.isSelected) { + headerCheckValue = false; + } + }); + _this.setState({ + isAllSelectChecked: headerCheckValue + }); + }; + // "All Select Checkbox selected" + _this.selectAllCheckboxChanged = function (e, v) { + var headerChkValue = v.checked ? v.checked : false; + if (headerChkValue) { + _this.state.distributionListMembers.forEach(function (currentItem) { + if (!currentItem.isGroup) { + currentItem.isSelected = headerChkValue; + _this.checkedMembersForChat.push(currentItem); + } + }); + _this.setState({ + isAllSelectChecked: headerChkValue + }); + } + else { + _this.state.distributionListMembers.forEach(function (currentItem) { + currentItem.isSelected = headerChkValue; + }); + _this.checkedMembersForChat = []; + _this.setState({ + isAllSelectChecked: headerChkValue + }); + } + }; + //To update pin status + _this.pinStatusUpdate = function (e) { + var pinId = e.target.id; + var member = (_this.state.distributionListMembers.filter(function (dlmember) { return dlmember.id === pinId; })); + var pinStatus = !member[0].isPinned; + //API call to update the database depending on whether the user pinned or not + _this.props.pinStatusUpdate(pinId, pinStatus, _this.props.parentDlId).then(function (response) { + _this.state.distributionListMembers.forEach(function (dlmember) { + if (pinId === dlmember.id) { + dlmember.isPinned = pinStatus; + } + }); + _this.state.masterDistributionListMembers.forEach(function (dlmember) { + if (pinId === dlmember.id) { + dlmember.isPinned = pinStatus; + } + }); + _this.setState({ + distributionListMembers: _this.state.distributionListMembers, + masterDistributionListMembers: _this.state.masterDistributionListMembers + }); + _this.resetSorting(_this.state.distributionListMembers); + }); + }; + //#region "Set Current Page for Pagination" + _this.setActivePage = function (newPageNumber) { + _this.setState({ + activePage: newPageNumber, + }); + }; + // "Helper for groupChat" + _this.groupChatLink = function () { + var userList = _this.checkedMembersForChat.map(function (members) { return members.userPrincipalName; }).join(','); + return userList; + }; + // "groupChat from Chat for Nested DL" + _this.groupChatWithMembers = function () { + if (_this.checkedMembersForChat.length > _this.groupChatMembersLimit) { + _this.onOpenTaskModule(); + } + else { + var url = _this.chatUrl + _this.groupChatLink(); + microsoftTeams.executeDeepLink(encodeURI(url)); + } + }; + //"1 on 1 Chat" + _this.oneOnOneChat = function (e) { + var url = _this.chatUrl + encodeURI(e.target.id); + microsoftTeams.executeDeepLink(encodeURI(url)); + }; + //Get Page size from database/local storage + _this.getPageSize = function () { return __awaiter(_this, void 0, void 0, function () { + var _this = this; + return __generator(this, function (_a) { + if (localStorage.getItem('localStorageDLPageSizeValue') === null || localStorage.getItem('localStorageDLPageSizeValue') === undefined) { + this.props.getUserPageSizeChoice().then(function (response) { + if (response.data) { + _this.setState({ + pageSize: response.data.distributionListPageSize === 0 ? _this.defaultPageSize : response.data.distributionListPageSize + }); + localStorage.setItem('localStorageDLPageSizeValue', response.data.distributionListPageSize === 0 ? _this.defaultPageSize.toString() : response.data.distributionListPageSize.toString()); + localStorage.setItem('localStorageDLMembersPageSizeValue', response.data.distributionListMemberPageSize === 0 ? _this.defaultPageSize.toString() : response.data.distributionListMemberPageSize.toString()); + } + else { + localStorage.setItem('localStorageDLPageSizeValue', _this.defaultPageSize.toString()); + localStorage.setItem('localStorageDLMembersPageSizeValue', _this.defaultPageSize.toString()); + } + }); + } + else { + this.setState({ + pageSize: Number(localStorage.getItem('localStorageDLPageSizeValue')) + }); + } + return [2 /*return*/]; + }); + }); }; + //setting page size + _this.setPageSize = function (e, v) { + _this.setState({ + pageSize: Number(v.value), + activePage: 0, + }); + //Update database + _this.props.createUserPageSizeChoice({ + "PageId": _this.pageId, + "PageSize": v.value + }).then(function (response) { + localStorage.setItem('localStorageDLMembersPageSizeValue', (v.value || _this.defaultPageSize).toString()); + }); + }; + //"Group chat task module" + _this.onOpenTaskModule = function () { + if (_this.isOpenTaskModuleAllowed) { + _this.isOpenTaskModuleAllowed = false; + var taskInfo = { + url: configVariables_1.getBaseUrl() + "/groupchatwarning/" + _this.checkedMembersForChat.length, + title: "", + height: 300, + width: 400, + fallbackUrl: configVariables_1.getBaseUrl() + "/groupchatwarning" + _this.checkedMembersForChat.length + }; + var submitHandler = function (err, result) { + _this.isOpenTaskModuleAllowed = true; + if (result.response === _this.taskModulePositiveResponseString) { + _this.checkedMembersForChat = _this.checkedMembersForChat.filter(function (item) { return item.presence === _this.availabilityStatusOnline; }); + if (_this.checkedMembersForChat.length > _this.groupChatMembersLimit) { + _this.checkedMembersForChat.splice(_this.groupChatMembersLimit, _this.checkedMembersForChat.length); + } + _this.groupChatWithMembers(); + } + }; + microsoftTeams.tasks.startTask(taskInfo, submitHandler); + } + }; + _this.localize = _this.props.t; + Icons_1.initializeIcons(); + _this.isOpenTaskModuleAllowed = true; + _this.checkedMembersForChat = []; + _this.historyArray = []; + _this.state = { + distributionListMembers: [], + loader: true, + activePage: 0, + masterDistributionListMembers: [], + isAllSelectChecked: false, + pageSize: _this.defaultPageSize, + isGoBackClicked: false, + sortedColumn: "displayName", + sortDirection: "Down" + }; + _this.checkboxChanged = _this.checkboxChanged.bind(_this); + _this.selectAllCheckboxChanged = _this.selectAllCheckboxChanged.bind(_this); + _this.pinStatusUpdate = _this.pinStatusUpdate.bind(_this); + _this.groupChatWithMembers = _this.groupChatWithMembers.bind(_this); + _this.oneOnOneChat = _this.oneOnOneChat.bind(_this); + return _this; + } + //"Render Method" + DistributionListMembers.prototype.render = function () { + var _this = this; + //Page size drop down values. + var pageSize = [400]; + var pageNumber = this.state.activePage; + var index = pageSize.indexOf(this.state.pageSize); + var items = []; //Populate grid + var _loop_1 = function (j) { + //#region Populate Grid + if (j >= this_1.state.distributionListMembers.length) { + return "break"; + } + var distributionListMember = this_1.state.distributionListMembers[j]; + if (!distributionListMember.isGroup) { + items.push(React.createElement(react_1.Segment, { className: "border-none" }, + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(react_1.FlexItem, null, + React.createElement(react_1.Checkbox, { key: distributionListMember.userPrincipalName, id: distributionListMember.id, label: distributionListMember.displayName, onClick: this_1.checkboxChanged, checked: distributionListMember.isSelected, disabled: distributionListMember.isGroup })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { iconName: "Pinned", hidden: !distributionListMember.isPinned, className: "disable-pin" }))))); + } + else { + items.push(React.createElement(react_1.Segment, { className: "border-none" }, + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(react_1.FlexItem, null, + React.createElement(react_1.Checkbox, { key: distributionListMember.userPrincipalName, id: distributionListMember.id, checked: distributionListMember.isSelected, disabled: distributionListMember.isGroup, className: "group-checkbox dark-theme" })), + React.createElement(react_1.FlexItem, null, + React.createElement(react_1.Text, { onClick: function () { return window.open("/dlmemberlist/" + distributionListMember.id + "/" + (_this.props.parentDLName + " > " + distributionListMember.displayName), "_self"); }, content: distributionListMember.displayName, title: this_1.localize('viewDetails'), className: "title dark-theme" })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { iconName: "Pinned", hidden: !distributionListMember.isPinned, className: "disable-pin" }))))); + } + items.push(React.createElement(react_1.Segment, { className: "border-none", content: distributionListMember.mail })); + if (this_1.state.distributionListMembers[j].presence === this_1.notYetFetchedText) { + items.push(React.createElement(react_1.Segment, { className: "border-none" }, + React.createElement(react_1.Loader, { size: "smallest" }))); + } + else if (this_1.state.distributionListMembers[j].presence === "") { + items.push(React.createElement(react_1.Segment, { className: "border-none" }, + React.createElement(react_1.Flex, { gap: "gap.small" }))); + } + else { + var userPresence = this_1.renderPresenceInfo(this_1.state.distributionListMembers[j].presence); + items.push(React.createElement(react_1.Segment, { className: "border-none" }, + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(react_1.FlexItem, null, + React.createElement(react_fontawesome_1.FontAwesomeIcon, { className: "presence-icon", icon: userPresence.icon, style: { color: userPresence.color } })), + React.createElement(react_1.FlexItem, null, + React.createElement(react_1.Text, { content: this_1.state.distributionListMembers[j].presence }))))); + } + if (distributionListMember.isGroup) { + items.push(React.createElement(react_1.Segment, { className: "border-none" }, + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(Icon_1.Icon, { iconName: distributionListMember.isPinned ? "Unpin" : "Pinned", className: "seperator-spacing margin", id: distributionListMember.id, onClick: this_1.pinStatusUpdate })))); + } + else { + items.push(React.createElement(react_1.Segment, { className: "border-none actions-style" }, + React.createElement(react_1.Flex, { gap: "gap.small", className: "action-section" }, + React.createElement(Icon_1.Icon, { iconName: "Chat", title: "Chat", id: distributionListMember.userPrincipalName, onClick: this_1.oneOnOneChat, className: "title-sort-icon" }), + React.createElement(Icon_1.Icon, { iconName: distributionListMember.isPinned ? "Unpin" : "Pinned", title: distributionListMember.isPinned ? "Unpin" : "Pin", className: "seperator-spacing", id: distributionListMember.id, onClick: this_1.pinStatusUpdate })))); + } + }; + var this_1 = this; + for (var j = pageNumber * this.state.pageSize; j < (pageNumber * this.state.pageSize) + this.state.pageSize; j++) { + var state_1 = _loop_1(j); + if (state_1 === "break") + break; + } + var segmentRows = []; //Populate grid + if (this.state.loader) { + segmentRows.push(React.createElement(react_1.Segment, { styles: { gridColumn: 'span 5', } }, + React.createElement(react_1.Loader, null))); + } + else { + segmentRows.push(items); + } + var navigation = []; + if (this.props.parentDLName) { + var groups = this.props.parentDLName.split('>'); + var historyJson = localStorage.getItem("localStorageHistory"); + if (historyJson != null) { + this.historyArray = JSON.parse(historyJson); + } + navigation.push(React.createElement(react_1.Text, { onClick: function () { return window.open(_this.historyArray[0], "_self"); }, className: "nav-header" }, this.localize("distributionListsTitle"))); + var _loop_2 = function (i) { + navigation.push(React.createElement(react_1.Text, { content: " > ", className: "nav-header-arrow" })); + if (i < groups.length - 1) + navigation.push(React.createElement(react_1.Text, { onClick: function () { return window.open(_this.historyArray[i + 1], "_self"); }, className: "nav-header" }, groups[i])); + else + navigation.push(React.createElement(react_1.Text, { content: groups[i], className: "nav-header-text" })); + }; + for (var i = 0; i < groups.length; i++) { + _loop_2(i); + } + } + return (React.createElement("div", { className: "main-component" }, + React.createElement("div", { className: "form-container" }, + React.createElement(react_1.Flex, { space: "between" }, + React.createElement(react_1.Flex, null, navigation), + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(react_1.FlexItem, null, + React.createElement(react_1.Input, { icon: "search", className: "search-box", placeholder: this.localize("search"), onChange: this.search })), + React.createElement(react_1.FlexItem, null, + React.createElement(react_1.Button, { content: this.localize("startGroupChat"), disabled: !(this.checkedMembersForChat.length > 1), primary: true, onClick: this.groupChatWithMembers })))), + React.createElement("br", null), + React.createElement("div", { className: "form-content-container" }, + React.createElement(react_1.Grid, { columns: "1.5fr 2fr 1.5fr 1fr" }, + React.createElement(react_1.Segment, { color: "brand", className: "header" }, + React.createElement(react_1.Flex, { className: "dark-theme", gap: "gap.small" }, + React.createElement(react_1.FlexItem, null, + React.createElement(react_1.Checkbox, { className: "dark-theme margin-style", key: "contactName", id: "contactName", label: this.localize("headerContactName"), onClick: this.selectAllCheckboxChanged, checked: this.state.isAllSelectChecked })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { className: "dark-theme margin-style", iconName: this.state.sortedColumn == "displayName" ? this.state.sortDirection : "" })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { iconName: "ChevronDown", id: "displayName", key: "displayName", className: "title-sort-icon", onClick: function () { return _this.sortDataByColumn("displayName"); } })))), + React.createElement(react_1.Segment, { color: "brand", className: "header" }, + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(react_1.FlexItem, null, + React.createElement(react_1.Text, { className: "dark-theme margin-style", content: this.localize("headerContactAlias") })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { className: "dark-theme margin-style", iconName: this.state.sortedColumn == "mail" ? this.state.sortDirection : "" })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { iconName: "ChevronDown", id: "mail", key: "mail", className: "title-sort-icon dark-theme", onClick: function () { return _this.sortDataByColumn("mail"); } })))), + React.createElement(react_1.Segment, { color: "brand", className: "header" }, + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(react_1.FlexItem, null, + React.createElement(react_1.Text, { className: "dark-theme margin-style", content: this.localize("headerPresenceStatus") })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { className: "dark-theme margin-style", iconName: this.state.sortedColumn == "presence" ? this.state.sortDirection : "" })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { iconName: "ChevronDown", id: "presence", key: "presence", className: "title-sort-icon dark-theme", onClick: function () { return _this.sortDataByColumn("presence"); } })))), + React.createElement(react_1.Segment, { color: "brand", content: "Name", className: "header" }, + React.createElement(react_1.Flex, { gap: "gap.small" })), + segmentRows))), + React.createElement("div", { className: "footer-container" }, + React.createElement(react_1.Segment, { className: "paging-segment" }, + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(pagination_1.default, { callbackFromParent: this.setActivePage, entitiesLength: this.state.distributionListMembers.length, activePage: this.state.activePage, numberOfContents: this.state.pageSize })))))); + }; + return DistributionListMembers; +}(React.Component)); +exports.default = react_i18next_1.withTranslation()(DistributionListMembers); +//# sourceMappingURL=distribution-list-members.js.map \ No newline at end of file diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-list-members/distribution-list-members.js.map b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-list-members/distribution-list-members.js.map new file mode 100644 index 0000000..2e3828d --- /dev/null +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-list-members/distribution-list-members.js.map @@ -0,0 +1 @@ +{"version":3,"file":"distribution-list-members.js","sourceRoot":"","sources":["distribution-list-members.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-list-members/distribution-list-members.scss b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-list-members/distribution-list-members.scss index a1f1b53..da3e337 100644 --- a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-list-members/distribution-list-members.scss +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-list-members/distribution-list-members.scss @@ -18,8 +18,11 @@ margin-bottom: 0.5rem; margin-top: 0.1rem !important; overflow-y: auto !important; + overflow-x: auto !important; height: 87% !important; width: 100%; + padding-left: 35px; + padding-right: 35px } } diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-list-members/distribution-list-members.tsx b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-list-members/distribution-list-members.tsx index 9da9007..13907f2 100644 --- a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-list-members/distribution-list-members.tsx +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-list-members/distribution-list-members.tsx @@ -82,7 +82,7 @@ class DistributionListMembers extends React.Component -
+ {/*
-
+
*/} diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-lists/distribution-lists.js b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-lists/distribution-lists.js new file mode 100644 index 0000000..83ff8c6 --- /dev/null +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-lists/distribution-lists.js @@ -0,0 +1,538 @@ +"use strict"; +// +// Copyright (c) Microsoft. All rights reserved. +// +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var React = require("react"); +var Icons_1 = require("office-ui-fabric-react/lib/Icons"); +var configVariables_1 = require("../../configVariables"); +var microsoftTeams = require("@microsoft/teams-js"); +var react_1 = require("@stardust-ui/react"); +var Icon_1 = require("office-ui-fabric-react/lib/Icon"); +var api_list_1 = require("../../apis/api-list"); +var pagination_1 = require("../pagination/pagination"); +require("./distribution-lists.scss"); +var lodash_1 = require("lodash"); +var react_i18next_1 = require("react-i18next"); +var DistributionLists = /** @class */ (function (_super) { + __extends(DistributionLists, _super); + function DistributionLists(props) { + var _this = _super.call(this, props) || this; + _this.defaultPageSize = 20; + _this.notYetFetchedText = "Not yet fetched"; + _this.pageId = 1; //DistributionLists.tsx treating as Page id 1 + _this.componentDidMount = function () { + //Save Page URL to local storage to use for Back button in Distribution list members page + var historyJson = localStorage.getItem("localStorageHistory"); + if (historyJson != null) { + _this.historyArray = JSON.parse(historyJson); + if (_this.historyArray.length > 0) { + _this.historyArray = []; + _this.historyArray.push(window.location.href); + localStorage.setItem("localStorageHistory", JSON.stringify(_this.historyArray)); + } + else { + _this.historyArray.push(window.location.href); + localStorage.setItem("localStorageHistory", JSON.stringify(_this.historyArray)); + } + } + else { + _this.historyArray.push(window.location.href); + localStorage.setItem("localStorageHistory", JSON.stringify(_this.historyArray)); + } + document.addEventListener("keydown", _this.escFunction, false); + _this.getPageSize(); + _this.dataLoad(); + }; + _this.componentWillUnmount = function () { + document.removeEventListener("keydown", _this.escFunction, false); + }; + //This function is to load data to state using API or from local storage. + _this.dataLoad = function () { + //To delete local storage copy + if (localStorage.getItem('localStorageMasterDistributionListsTime') !== null) { + var jsonFromLocalStorage = localStorage.getItem('localStorageMasterDistributionListsTime'); + if (jsonFromLocalStorage != null) { + var dateFromLocalStorage = JSON.parse(jsonFromLocalStorage); + var now = new Date().getTime(); + var diffInMinutes = Math.floor(Math.abs(dateFromLocalStorage - now) / 60000); + if (diffInMinutes > 1) { + localStorage.removeItem('localStorageMasterDistributionListsTime'); + localStorage.removeItem('localStorageMasterDistributionLists'); + } + } + } + //To load data from local storage + if (localStorage.getItem('localStorageMasterDistributionLists') !== null) { + var jsonFromLocalStorage = localStorage.getItem('localStorageMasterDistributionLists'); + if (jsonFromLocalStorage != null) { + var distributionLists = JSON.parse(jsonFromLocalStorage); + _this.setState({ + distributionLists: distributionLists, + masterDistributionLists: distributionLists, + loader: false, + }, function () { + _this.getAllDistributionListMembersOnlineCount(); + }); + } + } + else { + //To load data from server + _this.props.getFavoriteDistributionLists().then(function (response) { + var favorites = response.data; + var distributionLists = []; + for (var i = 0; i < favorites.length; i++) { + distributionLists.push({ + id: favorites[i].id, + displayName: favorites[i].displayName, + mail: favorites[i].mail, + contactsCount: favorites[i].contactsCount, + onlineContactsCount: _this.notYetFetchedText, + isPinned: favorites[i].isPinned, + }); + } + distributionLists = _this.resetSorting(distributionLists); + if (favorites.length !== 0) { + //If favorite distribution lists exists + _this.setState({ + distributionLists: distributionLists, + masterDistributionLists: distributionLists, + loader: false, + }); + var now = new Date().getTime(); + localStorage.setItem("localStorageMasterDistributionLists", JSON.stringify(distributionLists)); + localStorage.setItem("localStorageMasterDistributionListsTime", JSON.stringify(now)); + _this.getAllDistributionListMembersOnlineCount(); + } + else { + _this.setState({ + loader: false, + }); + } + }); + } + }; + //Calling respective method, if online count is not fetched yet. + _this.getAllDistributionListMembersOnlineCount = function () { return __awaiter(_this, void 0, void 0, function () { + var _this = this; + return __generator(this, function (_a) { + this.state.masterDistributionLists.forEach(function (currentDistributionList) { + if (currentDistributionList.onlineContactsCount === _this.notYetFetchedText) { + _this.getDistributionListMembersOnlineCountAsync(currentDistributionList); + } + }); + return [2 /*return*/]; + }); + }); }; + //Call API to get online count + _this.getDistributionListMembersOnlineCountAsync = function (distributionList) { return __awaiter(_this, void 0, void 0, function () { + var _this = this; + return __generator(this, function (_a) { + this.props.getDistributionListMembersOnlineCount(distributionList.id).then(function (response) { + //Setting state for master distribution List + _this.setState(function (state) { + var masterDistributionLists = state.masterDistributionLists.map(function (currentItem) { + if (distributionList.id === currentItem.id) { + currentItem.onlineContactsCount = response.data; + } + return currentItem; + }); + return { + masterDistributionLists: masterDistributionLists, + }; + }); + //Setting state for distribution list + _this.setState(function (state) { + var distributionLists = state.distributionLists.map(function (currentItem) { + if (distributionList.id === currentItem.id) { + currentItem.onlineContactsCount = response.data; + } + return currentItem; + }); + return { + distributionLists: distributionLists, + }; + }); + localStorage.setItem("localStorageMasterDistributionLists", JSON.stringify(_this.state.masterDistributionLists)); + }); + return [2 /*return*/]; + }); + }); }; + // To delete/Hide from favorites + _this.deleteFavorites = function (e) { + var distributionListId = e.target.id; + var masterDistributionLists = (_this.state.masterDistributionLists.filter(function (distributionList) { return distributionList.id !== distributionListId; })); + var distributionLists = (_this.state.distributionLists.filter(function (distributionList) { return distributionList.id !== distributionListId; })); + var userHideRecord = { + id: distributionListId, + }; + // Calling api to delete from favorite distribution lists + api_list_1.deleteFavoriteDistributionList(userHideRecord).then(function (response) { + if (response.status === 200) { + _this.setState({ + distributionLists: distributionLists, + masterDistributionLists: masterDistributionLists, + }); + localStorage.setItem("localStorageMasterDistributionLists", JSON.stringify(_this.state.masterDistributionLists)); + } + }); + }; + //To change record Pin/Unpin status + _this.changePinStatus = function (e) { + var distributionListId = e.target.id; + var distributionList = (_this.state.distributionLists.filter(function (list) { return list.id === distributionListId; })); + var pinStatus = !distributionList[0].isPinned; + var userPinChangeRecord = { + id: distributionListId, + isPinned: pinStatus, + }; + //Call api to update Pin status in database + api_list_1.updateFavoriteDistributionList(userPinChangeRecord).then(function (response) { + var favorites = _this.state.distributionLists; + var masterFavorites = _this.state.masterDistributionLists; + //Update pin status to local copy + for (var i = 0; i < favorites.length; i++) { + if (distributionListId === favorites[i].id) + favorites[i].isPinned = pinStatus; + } + //Update pin status to local master copy + for (var i = 0; i < masterFavorites.length; i++) { + if (distributionListId === masterFavorites[i].id) + masterFavorites[i].isPinned = pinStatus; + } + if (response.status === 200) { + _this.setState({ + distributionLists: _this.resetSorting(favorites), + masterDistributionLists: _this.resetSorting(masterFavorites), + }); + localStorage.setItem("localStorageMasterDistributionLists", JSON.stringify(_this.state.masterDistributionLists)); + } + }); + }; + //#region "Sorting functions" + //Calling appropriate function based on column selected for sorting + _this.sortDataByColumn = function (column) { + var directionBool = false; + if (_this.state.sortedColumn !== column) { + _this.setState({ + sortedColumn: column, + sortDirection: "Down" + }); + directionBool = true; + } + else if (_this.state.sortedColumn === column) { + var direction = _this.state.sortDirection === "Up" ? "Down" : "Up"; + _this.setState({ + sortedColumn: column, + sortDirection: direction + }); + directionBool = _this.state.sortDirection === "Up" ? true : false; + } + _this.sortColumnItems(column, directionBool); + }; + //Setting the sort icons and sorting pinned-unpinned records separately + _this.sortColumnItems = function (sortColumn, sortOrder) { + var pinnedRecords = _this.state.distributionLists.filter(function (e) { return e.isPinned === true; }); + var unpinnedRecords = _this.state.distributionLists.filter(function (e) { return e.isPinned === false; }); + pinnedRecords = lodash_1.orderBy(pinnedRecords, [sortColumn], sortOrder === true ? ["asc"] : ["desc"]); + unpinnedRecords = lodash_1.orderBy(unpinnedRecords, [sortColumn], sortOrder === true ? ["asc"] : ["desc"]); + var distributionLists = pinnedRecords.concat(unpinnedRecords); //Concatenate both + _this.setState({ + distributionLists: distributionLists, + }); + }; + //Reset Sorting on data reload + _this.resetSorting = function (favoriteDLs) { + var pinnedRecords = favoriteDLs.filter(function (e) { return e.isPinned === true; }); + var unpinnedRecords = favoriteDLs.filter(function (e) { return e.isPinned === false; }); + var sortColumn = _this.state.sortedColumn; //Default sort Column + pinnedRecords = lodash_1.orderBy(pinnedRecords, [sortColumn], ["asc"]); + unpinnedRecords = lodash_1.orderBy(unpinnedRecords, [sortColumn], ["asc"]); + favoriteDLs = pinnedRecords.concat(unpinnedRecords); + return favoriteDLs; + }; + //#endregion "Sorting functions" + //#region "Search function" + _this.searchFavoriteDLs = function (e) { + var searchQuery = e.target.value; + if (!searchQuery) // If Search text cleared + { + _this.setState({ + distributionLists: _this.state.masterDistributionLists, + }); + } + else { + _this.setState({ + distributionLists: _this.state.masterDistributionLists.filter(function (list) { return list.displayName.toLowerCase().includes(searchQuery.toLowerCase()); }), + activePage: 0, + }); + } + _this.getAllDistributionListMembersOnlineCount(); + }; + //#endregion "Search function" + //This function call back from Paging component + _this.setActivePage = function (newPageNumber) { + _this.setState({ + activePage: newPageNumber, + }); + }; + //Get Page size from database/local storage + _this.getPageSize = function () { return __awaiter(_this, void 0, void 0, function () { + var _this = this; + return __generator(this, function (_a) { + if (localStorage.getItem('localStorageDLPageSizeValue') === null || localStorage.getItem('localStorageDLPageSizeValue') === undefined) { + this.props.getUserPageSizeChoice().then(function (response) { + if (response.data) { + _this.setState({ + pageSize: response.data.distributionListPageSize === 0 ? _this.defaultPageSize : response.data.distributionListPageSize + }); + localStorage.setItem('localStorageDLPageSizeValue', response.data.distributionListPageSize === 0 ? _this.defaultPageSize.toString() : response.data.distributionListPageSize.toString()); + localStorage.setItem('localStorageDLMembersPageSizeValue', response.data.distributionListMemberPageSize === 0 ? _this.defaultPageSize.toString() : response.data.distributionListMemberPageSize.toString()); + } + else { + localStorage.setItem('localStorageDLPageSizeValue', _this.defaultPageSize.toString()); + localStorage.setItem('localStorageDLMembersPageSizeValue', _this.defaultPageSize.toString()); + } + }); + } + else { + this.setState({ + pageSize: Number(localStorage.getItem('localStorageDLPageSizeValue')) + }); + } + return [2 /*return*/]; + }); + }); }; + //setting page size + _this.setPageSize = function (e, pageSizeDropdownProps) { + _this.setState({ + pageSize: Number(pageSizeDropdownProps.value), + activePage: 0 + }); + _this.props.createUserPageSizeChoice({ + "PageId": _this.pageId, + "PageSize": pageSizeDropdownProps.value + }).then(function (response) { + localStorage.setItem('localStorageDLPageSizeValue', (pageSizeDropdownProps.value || _this.defaultPageSize).toString()); + }); + }; + //To open "Add Distribution list" task module + _this.onOpenTaskModule = function () { + if (_this.isOpenTaskModuleAllowed) { + _this.isOpenTaskModuleAllowed = false; + var url = configVariables_1.getBaseUrl() + "/adfavorite"; + var taskInfo = { + url: url, + title: _this.localize('addFavoriteDistributionList'), + height: 650, + width: 700, + fallbackUrl: url, + }; + var submitHandler = function (err, result) { + _this.isOpenTaskModuleAllowed = true; + if (result != null) { + if (result.output === "success") { + localStorage.removeItem('localStorageMasterDistributionListsTime'); + localStorage.removeItem('localStorageMasterDistributionLists'); + _this.dataLoad(); + } + } + else { + _this.setState({ + loader: false, + }); + } + }; + microsoftTeams.tasks.startTask(taskInfo, submitHandler); + } + }; + //Handles escape function + _this.escFunction = function (e) { + if (e.keyCode === 27 || (e.key === "Escape")) { + microsoftTeams.tasks.submitTask(); + } + }; + _this.localize = _this.props.t; + Icons_1.initializeIcons(); + _this.escFunction = _this.escFunction.bind(_this); + _this.isOpenTaskModuleAllowed = true; + _this.historyArray = []; + _this.state = { + distributionLists: [], + masterDistributionLists: [], + loader: true, + activePage: 0, + pageSize: _this.defaultPageSize, + sortedColumn: "displayName", + sortDirection: "Down" + }; + return _this; + } + DistributionLists.prototype.render = function () { + var _this = this; + //Page size drop down values. + var pageSize = [20, 50, 100]; + var index = pageSize.indexOf(this.state.pageSize); + var items = []; //Populate grid items + var _loop_1 = function (j) { + if (j >= this_1.state.distributionLists.length) // If it crosses last record + return "break"; + items.push(React.createElement(react_1.Segment, { className: "border-none" }, + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(react_1.FlexItem, null, + React.createElement(react_1.Text, { onClick: function () { return window.open("/dlmemberlist/" + _this.state.distributionLists[j].id + "/" + _this.state.distributionLists[j].displayName, "_self"); }, content: this_1.state.distributionLists[j].displayName, title: this_1.localize('viewDetails'), className: "title" })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { iconName: "Pinned", hidden: !this_1.state.distributionLists[j].isPinned, className: "disable-pin" }))))); + items.push(React.createElement(react_1.Segment, { content: this_1.state.distributionLists[j].mail, className: "border-none" })); + items.push(React.createElement(react_1.Segment, { content: this_1.state.distributionLists[j].contactsCount, className: "border-none" })); + if (this_1.state.distributionLists[j].onlineContactsCount === this_1.notYetFetchedText) + items.push(React.createElement(react_1.Segment, { className: "border-none" }, + React.createElement(react_1.Loader, { size: "smallest" }), + " ")); + else + items.push(React.createElement(react_1.Segment, { className: "border-none" }, + React.createElement(react_1.Text, { content: this_1.state.distributionLists[j].onlineContactsCount }))); + items.push(React.createElement(react_1.Segment, { className: "border-none actions-style" }, + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(Icon_1.Icon, { iconName: !this_1.state.distributionLists[j].isPinned ? "Pinned" : "Unpin", title: !this_1.state.distributionLists[j].isPinned ? this_1.localize('pin') : this_1.localize('unpin'), className: "seperator-spacing", id: this_1.state.distributionLists[j].id, onClick: this_1.changePinStatus }), + "\u00A0", + React.createElement(Icon_1.Icon, { iconName: "Delete", title: this_1.localize('delete'), className: "seperator-spacing", id: this_1.state.distributionLists[j].id, onClick: this_1.deleteFavorites })))); + }; + var this_1 = this; + for (var j = this.state.activePage * this.state.pageSize; j < (this.state.activePage * this.state.pageSize) + this.state.pageSize; j++) // 20 is records per page + { + var state_1 = _loop_1(j); + if (state_1 === "break") + break; + } + var segmentRows = []; //Populate grid + if (this.state.loader) { + segmentRows.push(React.createElement(react_1.Segment, { styles: { gridColumn: 'span 5', } }, + React.createElement(react_1.Loader, null))); + } + else { + segmentRows.push(items); + } + if (!this.state.loader && this.state.distributionLists.length === 0 && this.state.masterDistributionLists.length === 0) // If there are no favorites saved + { + return (React.createElement("div", { className: "emptydiv" }, + React.createElement(react_1.Text, { content: this.localize('welcomeMessage'), className: "welcome-text" }), + React.createElement("br", null), + React.createElement("br", null), + React.createElement(react_1.Text, { content: this.localize('getStarted'), className: "get-started" }), + React.createElement("br", null), + React.createElement("br", null), + React.createElement(react_1.Button, { content: this.localize('addDistributionList'), onClick: function () { return _this.onOpenTaskModule(); }, primary: true }), + React.createElement("br", null), + React.createElement("br", null))); + } + else { + return (React.createElement("div", { className: "main-component", key: "dlkey" }, + React.createElement("div", { className: "form-container" }, + React.createElement(react_1.Flex, { space: "between" }, + React.createElement(react_1.FlexItem, { grow: true }, + React.createElement(react_1.Text, { content: this.localize('distributionListsTitle'), size: "larger", weight: "semibold", className: "textstyle" }, + this.localize('distributionListsTitle'), + React.createElement(Icon_1.Icon, { title: this.localize('appInfo'), className: "info-icon", iconName: "Info" }))), + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement("div", { className: "div-style" }, + React.createElement(react_1.Dropdown, { className: "bg-color", fluid: true, items: pageSize, placeholder: this.localize('pageSizeGroups'), highlightedIndex: index, onSelectedChange: this.setPageSize, checkable: true })), + React.createElement(react_1.Input, { "aria-label": this.localize('search'), icon: "search", placeholder: this.localize('search'), onChange: this.searchFavoriteDLs, className: "search-box" }), + React.createElement(react_1.Button, { "aria-label": this.localize('addDistributionList'), content: this.localize('addDistributionList'), onClick: function () { return _this.onOpenTaskModule(); }, primary: true }))), + React.createElement("br", null), + React.createElement("div", { className: "form-content-container" }, + React.createElement(react_1.Grid, { columns: "2.3fr 2fr 1.3fr 1.3fr 1.5fr" }, + React.createElement(react_1.Segment, { color: "brand", className: "header" }, + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(react_1.FlexItem, null, + React.createElement(react_1.Text, { content: this.localize('headerName'), className: "text-style" })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { iconName: this.state.sortedColumn == "displayName" ? this.state.sortDirection : "", className: "title-sort-icon" })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { iconName: "ChevronDown", className: "title-sort-icon", onClick: function () { return _this.sortDataByColumn("displayName"); } })))), + React.createElement(react_1.Segment, { color: "brand", className: "header" }, + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(react_1.FlexItem, null, + React.createElement(react_1.Text, { content: this.localize('headerAlias'), className: "text-style" })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { className: "text-style", iconName: this.state.sortedColumn == "mail" ? this.state.sortDirection : "" })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { iconName: "ChevronDown", className: "title-sort-icon", onClick: function () { return _this.sortDataByColumn("mail"); } })))), + React.createElement(react_1.Segment, { color: "brand", className: "header" }, + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(react_1.FlexItem, null, + React.createElement(react_1.Text, { content: this.localize('headerMembersCount'), className: "text-style" })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { iconName: this.state.sortedColumn == "contactsCount" ? this.state.sortDirection : "" })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { iconName: "ChevronDown", className: "title-sort-icon", onClick: function () { return _this.sortDataByColumn("contactsCount"); } })))), + React.createElement(react_1.Segment, { color: "brand", className: "header" }, + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(react_1.FlexItem, null, + React.createElement(react_1.Text, { content: this.localize('headerMembersOnline'), className: "text-style" })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { iconName: this.state.sortedColumn == "onlineContactsCount" ? this.state.sortDirection : "" })), + React.createElement(react_1.FlexItem, null, + React.createElement(Icon_1.Icon, { iconName: "ChevronDown", className: "title-sort-icon", onClick: function () { return _this.sortDataByColumn("onlineContactsCount"); } })))), + React.createElement(react_1.Segment, { color: "brand", className: "header" }, + React.createElement(react_1.Flex, { gap: "gap.small" })), + segmentRows))), + React.createElement("div", { className: "footer-container" }, + React.createElement(react_1.Segment, { className: "paging-segment" }, + React.createElement(react_1.Flex, { gap: "gap.small" }, + React.createElement(pagination_1.default, { callbackFromParent: this.setActivePage, entitiesLength: this.state.distributionLists.length, activePage: this.state.activePage, numberOfContents: this.state.pageSize })))))); + } + }; + return DistributionLists; +}(React.Component)); +exports.default = react_i18next_1.withTranslation()(DistributionLists); +//# sourceMappingURL=distribution-lists.js.map \ No newline at end of file diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-lists/distribution-lists.js.map b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-lists/distribution-lists.js.map new file mode 100644 index 0000000..4ef8f1a --- /dev/null +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-lists/distribution-lists.js.map @@ -0,0 +1 @@ +{"version":3,"file":"distribution-lists.js","sourceRoot":"","sources":["distribution-lists.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-lists/distribution-lists.scss b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-lists/distribution-lists.scss index 70201f6..6b35e1e 100644 --- a/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-lists/distribution-lists.scss +++ b/Source/Microsoft.Teams.Apps.DLLookup/ClientApp/src/components/distribution-lists/distribution-lists.scss @@ -15,14 +15,18 @@ height: 87% !important; .form-content-container { - margin-top: 0.8rem; - margin-bottom: 0.8rem; + margin-bottom: 0.5rem; + margin-top: 0.1rem !important; overflow-y: auto !important; + overflow-x: auto !important; height: 87% !important; - width: 98%; + width: 100%; + padding-left: 35px; + padding-right: 35px; } } + .footer-container { position: relative !important; bottom: 0;